提交 0537b144 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码

上级 f3c31107
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div v-if="showTree" class="ibiz-group-tree"> <div v-if="showTree" class="ibiz-group-tree">
<ibiz-select-tree :NodesData="treeItems" v-model="treeSelectVal" :treeOnly="true" :defaultChecked="true" @select="treeSelect"></ibiz-select-tree> <ibiz-select-tree :NodesData="treeItems" v-model="treeSelectVal" :treeOnly="true" :defaultChecked="true" @select="treeSelect"></ibiz-select-tree>
</div> </div>
<div class="ibiz-group-content" :style="{width:showTree?'calc(100% - 400px)':'100%'}"> <div class="ibiz-group-content">
<ibiz-group-card :data="cardItems" text="label" value="id" groupName="group" :multiple="multiple" :defaultSelect="cardSelctVal" @select="groupSelect"></ibiz-group-card> <ibiz-group-card :data="cardItems" text="label" value="id" groupName="group" :multiple="multiple" :defaultSelect="cardSelctVal" @select="groupSelect"></ibiz-group-card>
</div> </div>
</div> </div>
...@@ -276,28 +276,29 @@ export default class IBizGroupPicker extends Vue { ...@@ -276,28 +276,29 @@ export default class IBizGroupPicker extends Vue {
<style lang="less"> <style lang="less">
.ibiz-group-picker{ .ibiz-group-picker{
height:100%; width: 100%;
.ibiz-group-container { height: 100%;
display: flex; .ibiz-group-container {
height: calc(100% - 65px); display: flex;
.ibiz-group-tree { height: calc(100% - 65px);
width: 400px; .ibiz-group-tree {
border-right: 1px solid #ddd; min-width: 200px;
padding: 0 10px; border-right: 1px solid #ddd;
overflow: auto; padding: 0 34px 0 10px;
height: 100%; overflow: auto;
} height: 100%;
.ibiz-group-content { }
flex-grow: 1; .ibiz-group-content {
padding: 0 10px; flex-grow: 1;
overflow: auto; padding: 0 10px;
height: 100%; overflow: auto;
} height: 100%;
} }
.ibiz-group-footer { }
padding: 16px; .ibiz-group-footer {
text-align: right; padding: 16px;
border-top: 1px solid #ddd; text-align: right;
} border-top: 1px solid #ddd;
}
} }
</style> </style>
\ No newline at end of file
import sysrolepermission_en_US from '@locale/lanres/sys-role-permission/sys-role-permission_en_US'; import sysrolepermission_en_US from '@locale/lanres/entities/sys-role-permission/sys-role-permission_en_US';
import sysuser_en_US from '@locale/lanres/sys-user/sys-user_en_US'; import sysuser_en_US from '@locale/lanres/entities/sys-user/sys-user_en_US';
import sysauthlog_en_US from '@locale/lanres/sys-auth-log/sys-auth-log_en_US'; import sysauthlog_en_US from '@locale/lanres/entities/sys-auth-log/sys-auth-log_en_US';
import wfmember_en_US from '@locale/lanres/wfmember/wfmember_en_US'; import wfmember_en_US from '@locale/lanres/entities/wfmember/wfmember_en_US';
import wfuser_en_US from '@locale/lanres/wfuser/wfuser_en_US'; import wfuser_en_US from '@locale/lanres/entities/wfuser/wfuser_en_US';
import ibzorganization_en_US from '@locale/lanres/ibzorganization/ibzorganization_en_US'; import ibzorganization_en_US from '@locale/lanres/entities/ibzorganization/ibzorganization_en_US';
import wfgroup_en_US from '@locale/lanres/wfgroup/wfgroup_en_US'; import wfgroup_en_US from '@locale/lanres/entities/wfgroup/wfgroup_en_US';
import wfremodel_en_US from '@locale/lanres/wfremodel/wfremodel_en_US'; import wfremodel_en_US from '@locale/lanres/entities/wfremodel/wfremodel_en_US';
import sysuserrole_en_US from '@locale/lanres/sys-user-role/sys-user-role_en_US'; import sysuserrole_en_US from '@locale/lanres/entities/sys-user-role/sys-user-role_en_US';
import wfprocessdefinition_en_US from '@locale/lanres/wfprocess-definition/wfprocess-definition_en_US'; import wfprocessdefinition_en_US from '@locale/lanres/entities/wfprocess-definition/wfprocess-definition_en_US';
import sysrole_en_US from '@locale/lanres/sys-role/sys-role_en_US'; import sysrole_en_US from '@locale/lanres/entities/sys-role/sys-role_en_US';
import ibzdeptmember_en_US from '@locale/lanres/ibzdept-member/ibzdept-member_en_US'; import ibzdeptmember_en_US from '@locale/lanres/entities/ibzdept-member/ibzdept-member_en_US';
import ibzdepartment_en_US from '@locale/lanres/ibzdepartment/ibzdepartment_en_US'; import ibzdepartment_en_US from '@locale/lanres/entities/ibzdepartment/ibzdepartment_en_US';
import syspermission_en_US from '@locale/lanres/sys-permission/sys-permission_en_US'; import syspermission_en_US from '@locale/lanres/entities/sys-permission/sys-permission_en_US';
import ibzemployee_en_US from '@locale/lanres/ibzemployee/ibzemployee_en_US'; import ibzemployee_en_US from '@locale/lanres/entities/ibzemployee/ibzemployee_en_US';
import components_en_US from '@locale/lanres/components/components_en_US'; import components_en_US from '@locale/lanres/components/components_en_US';
import codelist_en_US from '@locale/lanres/codelist/codelist_en_US'; import codelist_en_US from '@locale/lanres/codelist/codelist_en_US';
import userCustom_en_US from '@locale/lanres/userCustom/userCustom_en_US'; import userCustom_en_US from '@locale/lanres/userCustom/userCustom_en_US';
......
import sysrolepermission_zh_CN from '@locale/lanres/sys-role-permission/sys-role-permission_zh_CN'; import sysrolepermission_zh_CN from '@locale/lanres/entities/sys-role-permission/sys-role-permission_zh_CN';
import sysuser_zh_CN from '@locale/lanres/sys-user/sys-user_zh_CN'; import sysuser_zh_CN from '@locale/lanres/entities/sys-user/sys-user_zh_CN';
import sysauthlog_zh_CN from '@locale/lanres/sys-auth-log/sys-auth-log_zh_CN'; import sysauthlog_zh_CN from '@locale/lanres/entities/sys-auth-log/sys-auth-log_zh_CN';
import wfmember_zh_CN from '@locale/lanres/wfmember/wfmember_zh_CN'; import wfmember_zh_CN from '@locale/lanres/entities/wfmember/wfmember_zh_CN';
import wfuser_zh_CN from '@locale/lanres/wfuser/wfuser_zh_CN'; import wfuser_zh_CN from '@locale/lanres/entities/wfuser/wfuser_zh_CN';
import ibzorganization_zh_CN from '@locale/lanres/ibzorganization/ibzorganization_zh_CN'; import ibzorganization_zh_CN from '@locale/lanres/entities/ibzorganization/ibzorganization_zh_CN';
import wfgroup_zh_CN from '@locale/lanres/wfgroup/wfgroup_zh_CN'; import wfgroup_zh_CN from '@locale/lanres/entities/wfgroup/wfgroup_zh_CN';
import wfremodel_zh_CN from '@locale/lanres/wfremodel/wfremodel_zh_CN'; import wfremodel_zh_CN from '@locale/lanres/entities/wfremodel/wfremodel_zh_CN';
import sysuserrole_zh_CN from '@locale/lanres/sys-user-role/sys-user-role_zh_CN'; import sysuserrole_zh_CN from '@locale/lanres/entities/sys-user-role/sys-user-role_zh_CN';
import wfprocessdefinition_zh_CN from '@locale/lanres/wfprocess-definition/wfprocess-definition_zh_CN'; import wfprocessdefinition_zh_CN from '@locale/lanres/entities/wfprocess-definition/wfprocess-definition_zh_CN';
import sysrole_zh_CN from '@locale/lanres/sys-role/sys-role_zh_CN'; import sysrole_zh_CN from '@locale/lanres/entities/sys-role/sys-role_zh_CN';
import ibzdeptmember_zh_CN from '@locale/lanres/ibzdept-member/ibzdept-member_zh_CN'; import ibzdeptmember_zh_CN from '@locale/lanres/entities/ibzdept-member/ibzdept-member_zh_CN';
import ibzdepartment_zh_CN from '@locale/lanres/ibzdepartment/ibzdepartment_zh_CN'; import ibzdepartment_zh_CN from '@locale/lanres/entities/ibzdepartment/ibzdepartment_zh_CN';
import syspermission_zh_CN from '@locale/lanres/sys-permission/sys-permission_zh_CN'; import syspermission_zh_CN from '@locale/lanres/entities/sys-permission/sys-permission_zh_CN';
import ibzemployee_zh_CN from '@locale/lanres/ibzemployee/ibzemployee_zh_CN'; import ibzemployee_zh_CN from '@locale/lanres/entities/ibzemployee/ibzemployee_zh_CN';
import components_zh_CN from '@locale/lanres/components/components_zh_CN'; import components_zh_CN from '@locale/lanres/components/components_zh_CN';
import codelist_zh_CN from '@locale/lanres/codelist/codelist_zh_CN'; import codelist_zh_CN from '@locale/lanres/codelist/codelist_zh_CN';
import userCustom_zh_CN from '@locale/lanres/userCustom/userCustom_zh_CN'; import userCustom_zh_CN from '@locale/lanres/userCustom/userCustom_zh_CN';
......
export default {
fields: {
deptid: 'decimal',
deptcode: 'Cancel',
deptname: '{0}/P',
orgid: '单位',
parentdeptid: '上级部门',
shortname: 'Others',
deptlevel: '部门级别',
showorder: 'Audit',
bcode: 'Condition',
leaderid: '分管领导标识',
leadername: '分管领导',
enable: 'After the [{0}] is executed, no subsequent nodes are specified',
orgname: '单位',
parentdeptname: '上级部门',
createdate: '{0}[{1}] relational data [{2}] cannot be deleted!',
updatedate: 'The [{0}] value is not a character type',
},
views: {
pickupview: {
caption: "Help",
title: 'Upload file.',
},
gridview: {
caption: "Help",
title: '部门',
},
editview: {
caption: "Help",
title: '部门',
},
mpickupview: {
caption: "Help",
title: 'Data save failed,{0}',
},
optionview: {
caption: "Help",
title: '部门',
},
treeexpview: {
caption: "Help",
title: '人员管理',
},
pickupgridview: {
caption: "Help",
title: 'Restart workflow',
},
},
newform_form: {
details: {
group1: "部门基本信息",
formpage1: "基本信息",
srfupdatedate: "The [{0}] value is not a character type",
srforikey: "",
srfkey: "decimal",
srfmajortext: "{0}/P",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
deptcode: "Cancel",
deptname: "{0}/P",
orgid: "单位",
orgname: "单位",
pdeptid: "上级部门",
pdeptname: "上级部门",
enable: "After the [{0}] is executed, no subsequent nodes are specified",
deptid: "decimal",
},
uiactions: {
},
},
main_form: {
details: {
formpage1: "Grid View",
srfupdatedate: "The [{0}] value is not a character type",
srforikey: "",
srfkey: "decimal",
srfmajortext: "{0}/P",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
deptid: "decimal",
deptcode: "Cancel",
deptname: "{0}/P",
orgname: "单位",
pdeptname: "上级部门",
orgid: "单位",
pdeptid: "上级部门",
shortname: "Others",
bcode: "Condition",
deptlevel: "部门级别",
leaderid: "分管领导标识",
leadername: "分管领导",
showorder: "Audit",
createdate: "{0}[{1}] relational data [{2}] cannot be deleted!",
updatedate: "The [{0}] value is not a character type",
},
uiactions: {
},
},
main_grid: {
columns: {
deptcode: "Cancel",
deptname: "{0}/P",
orgname: "单位",
pdeptname: "上级部门",
deptlevel: "部门级别",
shortname: "Others",
bcode: "Condition",
leadername: "分管领导",
showorder: "Audit",
createdate: "{0}[{1}] relational data [{2}] cannot be deleted!",
updatedate: "The [{0}] value is not a character type",
orgid: "单位",
pdeptid: "上级部门",
leaderid: "分管领导标识",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
n_deptcode_like: "Workflow Explore View",
n_deptname_like: "Input error",
n_orgid_eq: "单位(=)",
n_pdeptid_eq: "上级部门(=)",
n_bcode_like: "Please save [{0}] before you manage [{1}]",
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem1_opennewcreateview: {
caption: "快速新建",
tip: "快速新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
depttree_treeview: {
nodes: {
root: '默认根节点',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
deptid: '部门标识',
deptcode: '部门代码',
deptname: '部门名称',
orgid: '单位',
parentdeptid: '上级部门',
shortname: '部门简称',
deptlevel: '部门级别',
showorder: '访问审计',
bcode: '业务编码',
leaderid: '分管领导标识',
leadername: '分管领导',
enable: '逻辑有效',
orgname: '单位',
parentdeptname: '上级部门',
createdate: '创建时间',
updatedate: '最后修改时间',
},
views: {
pickupview: {
caption: '部门',
title: '部门',
},
gridview: {
caption: '部门',
title: '部门',
},
editview: {
caption: '部门',
title: '部门',
},
mpickupview: {
caption: '部门',
title: '部门',
},
optionview: {
caption: '部门',
title: '部门',
},
treeexpview: {
caption: '人员管理',
title: '人员管理',
},
pickupgridview: {
caption: '部门',
title: '部门',
},
},
newform_form: {
details: {
group1: '部门基本信息',
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '部门标识',
srfmajortext: '部门名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
deptcode: '部门代码',
deptname: '部门名称',
orgid: '单位',
orgname: '单位',
pdeptid: '上级部门',
pdeptname: '上级部门',
enable: '逻辑有效',
deptid: '部门标识',
},
uiactions: {
},
},
main_form: {
details: {
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '部门标识',
srfmajortext: '部门名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
deptid: '部门标识',
deptcode: '部门代码',
deptname: '部门名称',
orgname: '单位',
pdeptname: '上级部门',
orgid: '单位',
pdeptid: '上级部门',
shortname: '部门简称',
bcode: '业务编码',
deptlevel: '部门级别',
leaderid: '分管领导标识',
leadername: '分管领导',
showorder: '访问审计',
createdate: '创建时间',
updatedate: '最后修改时间',
},
uiactions: {
},
},
main_grid: {
columns: {
deptcode: '部门代码',
deptname: '部门名称',
orgname: '单位',
pdeptname: '上级部门',
deptlevel: '部门级别',
shortname: '部门简称',
bcode: '业务编码',
leadername: '分管领导',
showorder: '访问审计',
createdate: '创建时间',
updatedate: '最后修改时间',
orgid: '单位',
pdeptid: '上级部门',
leaderid: '分管领导标识',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_deptcode_like: '部门代码(%)',
n_deptname_like: '部门名称(%)',
n_orgid_eq: '单位(=)',
n_pdeptid_eq: '上级部门(=)',
n_bcode_like: '业务编码(%)',
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
gridviewtoolbar_toolbar: {
tbitem1_opennewcreateview: {
caption: '快速新建',
tip: '快速新建',
},
tbitem2: {
caption: '-',
tip: '',
},
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
depttree_treeview: {
nodes: {
root: '默认根节点',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
memberid: '标识',
deptid: '部门标识',
deptname: '部门名称',
userid: '用户标识',
personname: '成员',
},
views: {
gridview: {
caption: "部门成员",
title: '部门成员',
},
editview: {
caption: "部门成员",
title: '部门成员',
},
},
main_form: {
details: {
group1: "部门成员基本信息",
formpage1: "基本信息",
srforikey: "",
srfkey: "标识",
srfmajortext: "成员",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
deptname: "部门名称",
deptid: "部门标识",
personname: "成员",
userid: "用户标识",
memberid: "标识",
},
uiactions: {
},
},
main_grid: {
columns: {
deptname: "部门",
personname: "成员",
deptid: "部门标识",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
};
\ No newline at end of file
export default {
fields: {
memberid: '标识',
deptid: '部门标识',
deptname: '部门名称',
userid: '用户标识',
personname: '成员',
},
views: {
gridview: {
caption: '部门成员',
title: '部门成员',
},
editview: {
caption: '部门成员',
title: '部门成员',
},
},
main_form: {
details: {
group1: '部门成员基本信息',
formpage1: '基本信息',
srforikey: '',
srfkey: '标识',
srfmajortext: '成员',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
deptname: '部门名称',
deptid: '部门标识',
personname: '成员',
userid: '用户标识',
memberid: '标识',
},
uiactions: {
},
},
main_grid: {
columns: {
deptname: '部门',
personname: '成员',
deptid: '部门标识',
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
};
\ No newline at end of file
export default {
fields: {
userid: '用户标识',
username: '用户全局名',
personname: '姓名',
usercode: '用户工号',
loginname: '登录名',
password: '密码',
domains: '区属',
mdeptid: '主部门',
mdeptcode: '主部门代码',
mdeptname: '主部门名称',
bcode: '业务编码',
postid: '岗位',
postcode: '岗位代码',
postname: '岗位名称',
orgid: '单位',
orgcode: '单位代码',
orgname: '单位名称',
nickname: '昵称别名',
sex: '性别',
certcode: '证件号码',
phone: '联系方式',
birthday: '出生日期',
email: '邮件',
avatar: '社交账号',
addr: '地址',
usericon: '照片',
ipaddr: 'ip地址',
theme: '样式',
lang: '语言',
fontsize: '字号',
memo: '备注',
reserver: '保留',
showorder: '排序',
enable: 'the workflow instance current processing step is invalid',
createdate: 'Print',
updatedate: 'Actor',
},
views: {
editview: {
caption: "Save Row",
title: 'Details',
},
gridview: {
caption: "Save Row",
title: 'Data already exists and cannot be created again',
},
changepwdview: {
caption: "Save Row",
title: '人员',
},
optionview: {
caption: "Save Row",
title: '人员',
},
pickupview: {
caption: "Save Row",
title: 'Task',
},
pickupgridview: {
caption: "Save Row",
title: 'Export',
},
mpickupview: {
caption: "Save Row",
title: '{0} minutes ago',
},
},
main_form: {
details: {
grouppanel1: "分组面板",
grouppanel2: "分组面板",
druipart1: "部门",
group1: "Workflow",
formpage1: "<",
srfupdatedate: "Actor",
srforikey: "",
srfkey: "用户标识",
srfmajortext: "姓名",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
usercode: "用户工号",
personname: "姓名",
loginname: "登录名",
orgid: "单位",
orgname: "单位",
mdeptid: "主部门",
mdeptname: "部门",
mdeptcode: "主部门代码",
orgcode: "单位代码",
bcode: "业务编码",
nickname: "昵称别名",
sex: "性别",
birthday: "出生日期",
certcode: "证件号码",
phone: "联系方式",
avatar: "社交账号",
email: "邮件",
ipaddr: "ip地址",
showorder: "排序",
addr: "地址",
memo: "备注",
theme: "样式",
lang: "语言",
fontsize: "字号",
reserver: "保留",
usericon: "照片",
userid: "用户标识",
},
uiactions: {
},
},
newform_form: {
details: {
group1: "人员基本信息",
formpage1: "基本信息",
srfupdatedate: "Actor",
srforikey: "",
srfkey: "用户标识",
srfmajortext: "姓名",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
usercode: "用户工号",
personname: "姓名",
loginname: "登录名",
orgname: "单位",
orgid: "单位",
orgcode: "单位代码",
mdeptname: "部门",
mdeptcode: "主部门代码",
mdeptid: "主部门",
enable: "the workflow instance current processing step is invalid",
bcode: "业务编码",
userid: "用户标识",
},
uiactions: {
},
},
changepw_form: {
details: {
group1: "密码信息",
formpage1: "基本信息",
srfupdatedate: "Actor",
srforikey: "",
srfkey: "用户标识",
srfmajortext: "姓名",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
oldpasswd: "原始密码",
newpasswd: "新密码",
cfmpasswd: "新密码确认",
userid: "用户标识",
},
uiactions: {
},
},
main_grid: {
columns: {
usercode: "用户工号",
personname: "姓名",
loginname: "登录名",
orgcode: "单位代码",
orgname: "单位名称",
mdeptcode: "主部门代码",
mdeptname: "主部门名称",
sex: "性别",
phone: "联系方式",
ipaddr: "ip地址",
showorder: "排序",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "Message View",
n_usercode_like: "工号",
n_personname_like: "姓名",
n_mdeptname_like: "部门",
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem1_opennewcreateview: {
caption: "快速新建",
tip: "快速新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem14_initpwd: {
caption: "初始化密码",
tip: "初始化密码",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
changepwdviewtoolbar_toolbar: {
tbitem1: {
caption: "Save",
tip: "Save",
},
},
};
\ No newline at end of file
export default {
fields: {
userid: '用户标识',
username: '用户全局名',
personname: '姓名',
usercode: '用户工号',
loginname: '登录名',
password: '密码',
domains: '区属',
mdeptid: '主部门',
mdeptcode: '主部门代码',
mdeptname: '主部门名称',
bcode: '业务编码',
postid: '岗位',
postcode: '岗位代码',
postname: '岗位名称',
orgid: '单位',
orgcode: '单位代码',
orgname: '单位名称',
nickname: '昵称别名',
sex: '性别',
certcode: '证件号码',
phone: '联系方式',
birthday: '出生日期',
email: '邮件',
avatar: '社交账号',
addr: '地址',
usericon: '照片',
ipaddr: 'ip地址',
theme: '样式',
lang: '语言',
fontsize: '字号',
memo: '备注',
reserver: '保留',
showorder: '排序',
enable: '逻辑有效',
createdate: '创建时间',
updatedate: '最后修改时间',
},
views: {
editview: {
caption: '人员',
title: '人员',
},
gridview: {
caption: '人员',
title: '人员',
},
changepwdview: {
caption: '人员',
title: '人员',
},
optionview: {
caption: '人员',
title: '人员',
},
pickupview: {
caption: '人员',
title: '人员',
},
pickupgridview: {
caption: '人员',
title: '人员',
},
mpickupview: {
caption: '人员',
title: '人员',
},
},
main_form: {
details: {
grouppanel1: '分组面板',
grouppanel2: '分组面板',
druipart1: '部门',
group1: '人员基本信息',
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '用户标识',
srfmajortext: '姓名',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
usercode: '用户工号',
personname: '姓名',
loginname: '登录名',
orgid: '单位',
orgname: '单位',
mdeptid: '主部门',
mdeptname: '部门',
mdeptcode: '主部门代码',
orgcode: '单位代码',
bcode: '业务编码',
nickname: '昵称别名',
sex: '性别',
birthday: '出生日期',
certcode: '证件号码',
phone: '联系方式',
avatar: '社交账号',
email: '邮件',
ipaddr: 'ip地址',
showorder: '排序',
addr: '地址',
memo: '备注',
theme: '样式',
lang: '语言',
fontsize: '字号',
reserver: '保留',
usericon: '照片',
userid: '用户标识',
},
uiactions: {
},
},
newform_form: {
details: {
group1: '人员基本信息',
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '用户标识',
srfmajortext: '姓名',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
usercode: '用户工号',
personname: '姓名',
loginname: '登录名',
orgname: '单位',
orgid: '单位',
orgcode: '单位代码',
mdeptname: '部门',
mdeptcode: '主部门代码',
mdeptid: '主部门',
enable: '逻辑有效',
bcode: '业务编码',
userid: '用户标识',
},
uiactions: {
},
},
changepw_form: {
details: {
group1: '密码信息',
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '用户标识',
srfmajortext: '姓名',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
oldpasswd: '原始密码',
newpasswd: '新密码',
cfmpasswd: '新密码确认',
userid: '用户标识',
},
uiactions: {
},
},
main_grid: {
columns: {
usercode: '用户工号',
personname: '姓名',
loginname: '登录名',
orgcode: '单位代码',
orgname: '单位名称',
mdeptcode: '主部门代码',
mdeptname: '主部门名称',
sex: '性别',
phone: '联系方式',
ipaddr: 'ip地址',
showorder: '排序',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_usercode_like: '工号',
n_personname_like: '姓名',
n_mdeptname_like: '部门',
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
gridviewtoolbar_toolbar: {
tbitem1_opennewcreateview: {
caption: '快速新建',
tip: '快速新建',
},
tbitem2: {
caption: '-',
tip: '',
},
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem14_initpwd: {
caption: '初始化密码',
tip: '初始化密码',
},
tbitem15: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
changepwdviewtoolbar_toolbar: {
tbitem1: {
caption: '保存',
tip: '保存',
},
},
};
\ No newline at end of file
export default {
fields: {
orgid: 'The workflow start node was not found',
orgcode: 'Updated By',
orgname: '名称',
parentorgid: '上级单位',
shortname: 'Cancel',
orglevel: '单位级别',
showorder: 'Audit',
parentorgname: '上级单位',
enable: 'the workflow instance current processing step is invalid',
createdate: 'Print',
updatedate: 'Actor',
},
views: {
optionview: {
caption: "Input data check failed.",
title: '单位机构',
},
treeexpview: {
caption: "Input data check failed.",
title: '部门管理',
},
editview: {
caption: "Input data check failed.",
title: '单位机构',
},
gridview: {
caption: "Input data check failed.",
title: '单位机构',
},
pickupview: {
caption: "Input data check failed.",
title: 'Upload file.',
},
pickupgridview: {
caption: "Input data check failed.",
title: 'Restart workflow',
},
},
newform_form: {
details: {
group1: "单位机构基本信息",
formpage1: "基本信息",
srfupdatedate: "Actor",
srforikey: "",
srfkey: "The workflow start node was not found",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
orgcode: "Updated By",
orgname: "名称",
porgname: "上级单位",
porgid: "上级单位",
enable: "the workflow instance current processing step is invalid",
orgid: "The workflow start node was not found",
},
uiactions: {
},
},
main_form: {
details: {
formpage1: "基本信息",
srfupdatedate: "Actor",
srforikey: "",
srfkey: "The workflow start node was not found",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
orgid: "The workflow start node was not found",
orgcode: "Updated By",
orgname: "名称",
porgname: "上级单位",
orglevel: "单位级别",
shortname: "Cancel",
showorder: "Audit",
porgid: "上级单位",
createdate: "Print",
updatedate: "Actor",
},
uiactions: {
},
},
main_grid: {
columns: {
orgid: "The workflow start node was not found",
orgcode: "Updated By",
orgname: "名称",
orglevel: "单位级别",
shortname: "Cancel",
porgname: "上级单位",
porgid: "上级单位",
showorder: "Audit",
createdate: "Print",
updatedate: "Actor",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
orgcode: "Actor",
n_orgname_like: "Print",
n_porgid_eq: "上级单位(=)",
porgname: "上级单位(等于(=))",
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem1_opennewcreateview: {
caption: "快速新建",
tip: "快速新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
orgtree_treeview: {
nodes: {
root: '默认根节点',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
orgid: '单位标识',
orgcode: '单位代码',
orgname: '名称',
parentorgid: '上级单位',
shortname: '单位简称',
orglevel: '单位级别',
showorder: '访问审计',
parentorgname: '上级单位',
enable: '逻辑有效',
createdate: '创建时间',
updatedate: '最后修改时间',
},
views: {
optionview: {
caption: '单位机构',
title: '单位机构',
},
treeexpview: {
caption: '部门管理',
title: '部门管理',
},
editview: {
caption: '单位机构',
title: '单位机构',
},
gridview: {
caption: '单位机构',
title: '单位机构',
},
pickupview: {
caption: '单位机构',
title: '单位机构',
},
pickupgridview: {
caption: '单位机构',
title: '单位机构',
},
},
newform_form: {
details: {
group1: '单位机构基本信息',
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '单位标识',
srfmajortext: '名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
orgcode: '单位代码',
orgname: '名称',
porgname: '上级单位',
porgid: '上级单位',
enable: '逻辑有效',
orgid: '单位标识',
},
uiactions: {
},
},
main_form: {
details: {
formpage1: '基本信息',
srfupdatedate: '最后修改时间',
srforikey: '',
srfkey: '单位标识',
srfmajortext: '名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
orgid: '单位标识',
orgcode: '单位代码',
orgname: '名称',
porgname: '上级单位',
orglevel: '单位级别',
shortname: '单位简称',
showorder: '访问审计',
porgid: '上级单位',
createdate: '创建时间',
updatedate: '最后修改时间',
},
uiactions: {
},
},
main_grid: {
columns: {
orgid: '单位标识',
orgcode: '单位代码',
orgname: '名称',
orglevel: '单位级别',
shortname: '单位简称',
porgname: '上级单位',
porgid: '上级单位',
showorder: '访问审计',
createdate: '创建时间',
updatedate: '最后修改时间',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
orgcode: '单位代码(文本左包含(%#))',
n_orgname_like: '名称(%)',
n_porgid_eq: '上级单位(=)',
porgname: '上级单位(等于(=))',
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
gridviewtoolbar_toolbar: {
tbitem1_opennewcreateview: {
caption: '快速新建',
tip: '快速新建',
},
tbitem2: {
caption: '-',
tip: '',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
orgtree_treeview: {
nodes: {
root: '默认根节点',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
logid: '标识',
username: '用户全局名',
personname: '用户名称',
domain: '域',
authtime: '认证时间',
ipaddr: 'IP地址',
macaddr: 'MAC地址',
useragent: '客户端',
authcode: '认证结果',
},
views: {
gridview: {
caption: "认证日志",
title: '认证日志',
},
},
main_grid: {
columns: {
username: "用户全局名",
personname: "用户名称",
authtime: "认证时间",
authcode: "认证结果",
ipaddr: "IP地址",
macaddr: "MAC地址",
useragent: "客户端",
domain: "域",
},
uiactions: {
},
},
default_searchform: {
details: {
rawitem1: "",
formpage1: "常规条件",
n_username_like: "用户全局名",
n_personname_like: "用户名称",
n_authcode_eq: "认证结果",
n_domain_like: "域",
n_authtime_gtandeq: "认证时间",
n_authtime_ltandeq: "",
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
logid: '标识',
username: '用户全局名',
personname: '用户名称',
domain: '域',
authtime: '认证时间',
ipaddr: 'IP地址',
macaddr: 'MAC地址',
useragent: '客户端',
authcode: '认证结果',
},
views: {
gridview: {
caption: '认证日志',
title: '认证日志',
},
},
main_grid: {
columns: {
username: '用户全局名',
personname: '用户名称',
authtime: '认证时间',
authcode: '认证结果',
ipaddr: 'IP地址',
macaddr: 'MAC地址',
useragent: '客户端',
domain: '域',
},
uiactions: {
},
},
default_searchform: {
details: {
rawitem1: '',
formpage1: '常规条件',
n_username_like: '用户全局名',
n_personname_like: '用户名称',
n_authcode_eq: '认证结果',
n_domain_like: '域',
n_authtime_gtandeq: '认证时间',
n_authtime_ltandeq: '',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
permissionid: '资源标识',
permissionname: '资源名称',
permissiontype: '资源类别',
pssystemid: '系统',
enable: '逻辑有效',
createdate: '>',
updatedate: 'Upload',
},
views: {
pickupview: {
caption: "<>",
title: '权限/资源',
},
mpickupview: {
caption: "<>",
title: '权限/资源',
},
pickupgridview: {
caption: "<>",
title: 'Add',
},
},
main_grid: {
columns: {
sys_permissionid: "资源标识",
sys_permissionname: "资源名称",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "Restart",
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
permissionid: '资源标识',
permissionname: '资源名称',
permissiontype: '资源类别',
pssystemid: '系统',
enable: '逻辑有效',
createdate: '建立时间',
updatedate: '更新时间',
},
views: {
pickupview: {
caption: '权限/资源',
title: '权限/资源',
},
mpickupview: {
caption: '权限/资源',
title: '权限/资源',
},
pickupgridview: {
caption: '权限/资源',
title: '权限/资源',
},
},
main_grid: {
columns: {
sys_permissionid: '资源标识',
sys_permissionname: '资源名称',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
rolepermissionid: '角色权限关系表标识',
roleid: '角色表标识',
rolename: '角色名称',
permissionid: '权限表标识',
permissionname: '权限名称',
permissiontype: '权限类型',
permissionenable: '权限类型',
createdate: '>',
updatedate: 'Upload',
},
views: {
customview: {
caption: "[{0}] length no more then {1}",
title: '角色权限关系',
},
},
};
\ No newline at end of file
export default {
fields: {
rolepermissionid: '角色权限关系表标识',
roleid: '角色表标识',
rolename: '角色名称',
permissionid: '权限表标识',
permissionname: '权限名称',
permissiontype: '权限类型',
permissionenable: '权限类型',
createdate: '建立时间',
updatedate: '更新时间',
},
views: {
customview: {
caption: '角色权限关系',
title: '角色权限关系',
},
},
};
\ No newline at end of file
export default {
fields: {
roleid: 'Normal',
rolename: 'Save',
memo: '备注',
createdate: '>',
updatedate: 'Upload',
},
views: {
gridview: {
caption: "Start workflow",
title: '系统角色',
},
pickupview: {
caption: "Start workflow",
title: 'Logic error',
},
editview: {
caption: "Start workflow",
title: 'The workflow instance current processing is the end of processing, and there is no interactive operation',
},
pickupgridview: {
caption: "Start workflow",
title: 'Tables Information',
},
mpickupview: {
caption: "Start workflow",
title: 'Others',
},
},
main_form: {
details: {
group1: "Edit View",
druipart1: "权限",
tabpage1: "权限",
druipart2: "用户",
tabpage2: "用户",
tabpanel1: "",
formpage1: "Message View",
srfupdatedate: "Upload",
srforikey: "",
srfkey: "Normal",
srfmajortext: "Save",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
sys_rolename: "Save",
memo: "备注",
sys_roleid: "Normal",
},
uiactions: {
},
},
main_grid: {
columns: {
sys_rolename: "Save",
memo: "备注",
updatedate: "Upload",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "Enable DataGrid Inline Row Edit Mode",
n_sys_rolename_like: "Save",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
};
\ No newline at end of file
export default {
fields: {
roleid: '角色标识',
rolename: '角色名称',
memo: '备注',
createdate: '建立时间',
updatedate: '更新时间',
},
views: {
gridview: {
caption: '系统角色',
title: '系统角色',
},
pickupview: {
caption: '系统角色',
title: '系统角色',
},
editview: {
caption: '系统角色',
title: '系统角色',
},
pickupgridview: {
caption: '系统角色',
title: '系统角色',
},
mpickupview: {
caption: '系统角色',
title: '系统角色',
},
},
main_form: {
details: {
group1: '角色表基本信息',
druipart1: '权限',
tabpage1: '权限',
druipart2: '用户',
tabpage2: '用户',
tabpanel1: '',
formpage1: '基本信息',
srfupdatedate: '更新时间',
srforikey: '',
srfkey: '角色标识',
srfmajortext: '角色名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
sys_rolename: '角色名称',
memo: '备注',
sys_roleid: '角色标识',
},
uiactions: {
},
},
main_grid: {
columns: {
sys_rolename: '角色名称',
memo: '备注',
updatedate: '更新时间',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_sys_rolename_like: '角色名称(%)',
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
};
\ No newline at end of file
export default {
fields: {
userroleid: 'The major data entity cannot be found',
roleid: '角色标识',
rolename: '角色名称',
userid: '用户标识',
personname: '用户名称',
createdate: '>',
updatedate: 'Upload',
},
views: {
gridview: {
caption: "The workflow instance [{0}] is closed and cannot be submitted for processing",
title: 'datetime',
},
editview: {
caption: "The workflow instance [{0}] is closed and cannot be submitted for processing",
title: 'No interaction was found',
},
},
main_form: {
details: {
group1: "page",
formpage1: "PortalView",
srfupdatedate: "Upload",
srforikey: "",
srfkey: "The major data entity cannot be found",
srfmajortext: "用户标识",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
sys_roleid: "角色标识",
sys_user_roleid: "The major data entity cannot be found",
sys_rolename: "角色名称",
sys_username: "用户名称",
sys_userid: "用户标识",
},
uiactions: {
},
},
main_grid: {
columns: {
sys_username: "用户名称",
sys_rolename: "角色名称",
updatedate: "Upload",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "In",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
};
\ No newline at end of file
export default {
fields: {
userroleid: '用户角色关系标识',
roleid: '角色标识',
rolename: '角色名称',
userid: '用户标识',
personname: '用户名称',
createdate: '建立时间',
updatedate: '更新时间',
},
views: {
gridview: {
caption: '用户角色关系',
title: '用户角色关系',
},
editview: {
caption: '用户角色关系',
title: '用户角色关系',
},
},
main_form: {
details: {
group1: '用户角色关系表基本信息',
formpage1: '基本信息',
srfupdatedate: '更新时间',
srforikey: '',
srfkey: '用户角色关系标识',
srfmajortext: '用户标识',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
sys_roleid: '角色标识',
sys_user_roleid: '用户角色关系标识',
sys_rolename: '角色名称',
sys_username: '用户名称',
sys_userid: '用户标识',
},
uiactions: {
},
},
main_grid: {
columns: {
sys_username: '用户名称',
sys_rolename: '角色名称',
updatedate: '更新时间',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
};
\ No newline at end of file
export default {
fields: {
userid: '用户标识',
username: '用户全局名',
personname: '用户姓名',
password: '密码',
},
views: {
mpickupview: {
caption: "Internal Error",
title: 'Condition',
},
pickupview: {
caption: "Internal Error",
title: 'Workflow',
},
pickupgridview: {
caption: "Internal Error",
title: 'Please save [{0}] before you manage [{1}]',
},
},
main_grid: {
columns: {
userid: "用户标识",
username: "用户全局名",
personname: "用户姓名",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "Pickup View",
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
userid: '用户标识',
username: '用户全局名',
personname: '用户姓名',
password: '密码',
},
views: {
mpickupview: {
caption: '系统用户',
title: '系统用户',
},
pickupview: {
caption: '系统用户',
title: '系统用户',
},
pickupgridview: {
caption: '系统用户',
title: '系统用户',
},
},
main_grid: {
columns: {
userid: '用户标识',
username: '用户全局名',
personname: '用户姓名',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
id: '组标识',
name: '组名称',
groupscope: '范围',
},
views: {
pickupgridview: {
caption: "角色/用户组",
title: '角色/用户组',
},
mpickupview: {
caption: "角色/用户组",
title: '角色/用户组',
},
pickupview: {
caption: "角色/用户组",
title: '角色/用户组',
},
editview: {
caption: "角色/用户组",
title: '角色/用户组',
},
gridview: {
caption: "角色/用户组",
title: '角色/用户组',
},
},
main_form: {
details: {
druipart1: "成员",
group1: "角色/用户组基本信息",
formpage1: "基本信息",
srforikey: "",
srfkey: "组标识",
srfmajortext: "组名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
groupname: "组名称",
groupscope: "范围",
groupid: "组标识",
},
uiactions: {
},
},
main_grid: {
columns: {
groupid: "组标识",
groupname: "组名称",
groupscope: "范围",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
n_groupname_like: "组名称(文本包含(%))",
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
};
\ No newline at end of file
export default {
fields: {
id: '组标识',
name: '组名称',
groupscope: '范围',
},
views: {
pickupgridview: {
caption: '角色/用户组',
title: '角色/用户组',
},
mpickupview: {
caption: '角色/用户组',
title: '角色/用户组',
},
pickupview: {
caption: '角色/用户组',
title: '角色/用户组',
},
editview: {
caption: '角色/用户组',
title: '角色/用户组',
},
gridview: {
caption: '角色/用户组',
title: '角色/用户组',
},
},
main_form: {
details: {
druipart1: '成员',
group1: '角色/用户组基本信息',
formpage1: '基本信息',
srforikey: '',
srfkey: '组标识',
srfmajortext: '组名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
groupname: '组名称',
groupscope: '范围',
groupid: '组标识',
},
uiactions: {
},
},
main_grid: {
columns: {
groupid: '组标识',
groupname: '组名称',
groupscope: '范围',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_groupname_like: '组名称(文本包含(%))',
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
};
\ No newline at end of file
export default {
fields: {
memberid: '组成员标识',
membername: '组成员名称',
groupid: '组标识',
groupname: '用户组',
userid: '用户标识',
personname: '用户',
},
views: {
gridview: {
caption: "成员",
title: '成员',
},
editview: {
caption: "成员",
title: '成员',
},
},
main_form: {
details: {
group1: "成员基本信息",
formpage1: "基本信息",
srforikey: "",
srfkey: "组成员标识",
srfmajortext: "组成员名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
groupid: "组标识",
userid: "用户标识",
personname: "用户",
memberid: "组成员标识",
},
uiactions: {
},
},
main_grid: {
columns: {
personname: "用户",
groupname: "用户组",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
n_personname_like: "用户(文本包含(%))",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
};
\ No newline at end of file
export default {
fields: {
memberid: '组成员标识',
membername: '组成员名称',
groupid: '组标识',
groupname: '用户组',
userid: '用户标识',
personname: '用户',
},
views: {
gridview: {
caption: '成员',
title: '成员',
},
editview: {
caption: '成员',
title: '成员',
},
},
main_form: {
details: {
group1: '成员基本信息',
formpage1: '基本信息',
srforikey: '',
srfkey: '组成员标识',
srfmajortext: '组成员名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
groupid: '组标识',
userid: '用户标识',
personname: '用户',
memberid: '组成员标识',
},
uiactions: {
},
},
main_grid: {
columns: {
personname: '用户',
groupname: '用户组',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_personname_like: '用户(文本包含(%))',
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
};
\ No newline at end of file
export default {
fields: {
definitionkey: 'DefinitionKey',
definitionname: '流程定义名称',
modelversion: '模型版本',
modelenable: '模型是否启用',
pssystemid: '系统标识',
md5check: '校验',
bpmnfile: 'BPMN',
deploykey: 'DeployKey',
},
views: {
editview: {
caption: "流程定义",
title: '流程定义',
},
gridview: {
caption: "流程定义",
title: '流程定义',
},
},
main_form: {
details: {
group1: "模型基本信息",
formpage1: "基本信息",
srforikey: "",
srfkey: "DefinitionKey",
srfmajortext: "流程定义名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
definitionkey: "DefinitionKey",
deploykey: "DefinitionKey",
definitionname: "流程定义名称",
pssystemid: "系统标识",
modelversion: "模型版本",
modelenable: "模型是否启用",
bpmnfile: "BPMN",
md5check: "校验",
},
uiactions: {
},
},
main_grid: {
columns: {
definitionkey: "DefinitionKey",
definitionname: "流程定义名称",
pssystemid: "系统标识",
modelversion: "模型版本",
modelenable: "模型是否启用",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
n_deploykey_like: "DefinitionKey",
n_definitionname_like: "流程定义名称",
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
};
\ No newline at end of file
export default {
fields: {
definitionkey: 'DefinitionKey',
definitionname: '流程定义名称',
modelversion: '模型版本',
modelenable: '模型是否启用',
pssystemid: '系统标识',
md5check: '校验',
bpmnfile: 'BPMN',
deploykey: 'DeployKey',
},
views: {
editview: {
caption: '流程定义',
title: '流程定义',
},
gridview: {
caption: '流程定义',
title: '流程定义',
},
},
main_form: {
details: {
group1: '模型基本信息',
formpage1: '基本信息',
srforikey: '',
srfkey: 'DefinitionKey',
srfmajortext: '流程定义名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
definitionkey: 'DefinitionKey',
deploykey: 'DefinitionKey',
definitionname: '流程定义名称',
pssystemid: '系统标识',
modelversion: '模型版本',
modelenable: '模型是否启用',
bpmnfile: 'BPMN',
md5check: '校验',
},
uiactions: {
},
},
main_grid: {
columns: {
definitionkey: 'DefinitionKey',
definitionname: '流程定义名称',
pssystemid: '系统标识',
modelversion: '模型版本',
modelenable: '模型是否启用',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_deploykey_like: 'DefinitionKey',
n_definitionname_like: '流程定义名称',
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: '新建',
tip: '新建',
},
tbitem4: {
caption: '编辑',
tip: '编辑',
},
tbitem6: {
caption: '拷贝',
tip: '拷贝',
},
tbitem7: {
caption: '-',
tip: '',
},
tbitem8: {
caption: '删除',
tip: '删除',
},
tbitem9: {
caption: '-',
tip: '',
},
tbitem13: {
caption: '导出',
tip: '导出',
},
tbitem10: {
caption: '-',
tip: '',
},
tbitem16: {
caption: '其它',
tip: '其它',
},
tbitem21: {
caption: '导出数据模型',
tip: '导出数据模型',
},
tbitem23: {
caption: '数据导入',
tip: '数据导入',
},
tbitem17: {
caption: '-',
tip: '',
},
tbitem19: {
caption: '过滤',
tip: '过滤',
},
},
};
\ No newline at end of file
export default {
fields: {
id: 'ID',
name: '名称',
bpmnfile: 'BPMN',
},
views: {
editview: {
caption: "流程模型",
title: '流程模型',
},
},
main_form: {
details: {
group1: "流程模型",
formpage1: "基本信息",
srforikey: "",
srfkey: "ID",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
bpmnfile: "BPMN",
modelid: "ID",
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem1: {
caption: "Save",
tip: "Save",
},
},
};
\ No newline at end of file
export default {
fields: {
id: 'ID',
name: '名称',
bpmnfile: 'BPMN',
},
views: {
editview: {
caption: '流程模型',
title: '流程模型',
},
},
main_form: {
details: {
group1: '流程模型',
formpage1: '基本信息',
srforikey: '',
srfkey: 'ID',
srfmajortext: '名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
bpmnfile: 'BPMN',
modelid: 'ID',
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem1: {
caption: '保存',
tip: '保存',
},
},
};
\ No newline at end of file
export default {
fields: {
id: '用户标识',
firstname: '用户全局名',
displayname: '用户名称',
},
views: {
pickupview: {
caption: "用户",
title: '用户',
},
mpickupview: {
caption: "用户",
title: '用户',
},
pickupgridview: {
caption: "用户",
title: '用户',
},
},
main_grid: {
columns: {
userid: "用户标识",
personname: "用户名称",
username: "用户全局名",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
n_personname_like: "用户名称(文本包含(%))",
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
id: '用户标识',
firstname: '用户全局名',
displayname: '用户名称',
},
views: {
pickupview: {
caption: '用户',
title: '用户',
},
mpickupview: {
caption: '用户',
title: '用户',
},
pickupgridview: {
caption: '用户',
title: '用户',
},
},
main_grid: {
columns: {
userid: '用户标识',
personname: '用户名称',
username: '用户全局名',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_personname_like: '用户名称(文本包含(%))',
},
uiactions: {
},
},
};
\ No newline at end of file
...@@ -195,10 +195,12 @@ export default class IBZDepartmentEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class IBZDepartmentEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -282,10 +282,12 @@ export default class IBZDepartmentGridViewBase extends Vue { ...@@ -282,10 +282,12 @@ export default class IBZDepartmentGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class IBZDepartmentMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -174,10 +174,12 @@ export default class IBZDepartmentOptionViewBase extends Vue { ...@@ -174,10 +174,12 @@ export default class IBZDepartmentOptionViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class IBZDepartmentPickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -170,10 +170,12 @@ export default class IBZDepartmentPickupViewBase extends Vue { ...@@ -170,10 +170,12 @@ export default class IBZDepartmentPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -164,10 +164,12 @@ export default class IBZDepartmentTreeExpViewBase extends Vue { ...@@ -164,10 +164,12 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class IBZDeptMemberEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class IBZDeptMemberEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -250,10 +250,12 @@ export default class IBZDeptMemberGridViewBase extends Vue { ...@@ -250,10 +250,12 @@ export default class IBZDeptMemberGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class IBZEmployeeEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class IBZEmployeeEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -289,10 +289,12 @@ export default class IBZEmployeeGridViewBase extends Vue { ...@@ -289,10 +289,12 @@ export default class IBZEmployeeGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class IBZEmployeeMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -174,10 +174,12 @@ export default class IBZEmployeeOptionViewBase extends Vue { ...@@ -174,10 +174,12 @@ export default class IBZEmployeeOptionViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class IBZEmployeePickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -170,10 +170,12 @@ export default class IBZEmployeePickupViewBase extends Vue { ...@@ -170,10 +170,12 @@ export default class IBZEmployeePickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class IBZOrganizationEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class IBZOrganizationEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -278,10 +278,12 @@ export default class IBZOrganizationGridViewBase extends Vue { ...@@ -278,10 +278,12 @@ export default class IBZOrganizationGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -174,10 +174,12 @@ export default class IBZOrganizationOptionViewBase extends Vue { ...@@ -174,10 +174,12 @@ export default class IBZOrganizationOptionViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class IBZOrganizationPickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -170,10 +170,12 @@ export default class IBZOrganizationPickupViewBase extends Vue { ...@@ -170,10 +170,12 @@ export default class IBZOrganizationPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -164,10 +164,12 @@ export default class IBZOrganizationTreeExpViewBase extends Vue { ...@@ -164,10 +164,12 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -176,10 +176,12 @@ export default class IndexBase extends Vue { ...@@ -176,10 +176,12 @@ export default class IndexBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -202,10 +202,12 @@ export default class SysAuthLogGridViewBase extends Vue { ...@@ -202,10 +202,12 @@ export default class SysAuthLogGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class SysPermissionMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class SysPermissionMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class SysPermissionPickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class SysPermissionPickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class SysRoleEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class SysRoleEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -277,10 +277,12 @@ export default class SysRoleGridViewBase extends Vue { ...@@ -277,10 +277,12 @@ export default class SysRoleGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class SysRoleMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class SysRoleMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -149,10 +149,12 @@ export default class SysRolePermissionCustomViewBase extends Vue { ...@@ -149,10 +149,12 @@ export default class SysRolePermissionCustomViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class SysRolePickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class SysRolePickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -170,10 +170,12 @@ export default class SysRolePickupViewBase extends Vue { ...@@ -170,10 +170,12 @@ export default class SysRolePickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class SysUserMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class SysUserMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class SysUserPickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class SysUserPickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -170,10 +170,12 @@ export default class SysUserPickupViewBase extends Vue { ...@@ -170,10 +170,12 @@ export default class SysUserPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class SysUserRoleEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class SysUserRoleEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -274,10 +274,12 @@ export default class SysUserRoleGridViewBase extends Vue { ...@@ -274,10 +274,12 @@ export default class SysUserRoleGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class WFGroupEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class WFGroupEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -277,10 +277,12 @@ export default class WFGroupGridViewBase extends Vue { ...@@ -277,10 +277,12 @@ export default class WFGroupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class WFGroupMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class WFGroupMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class WFGroupPickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class WFGroupPickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class WFMemberEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class WFMemberEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -277,10 +277,12 @@ export default class WFMemberGridViewBase extends Vue { ...@@ -277,10 +277,12 @@ export default class WFMemberGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -195,10 +195,12 @@ export default class WFProcessDefinitionEditViewBase extends Vue { ...@@ -195,10 +195,12 @@ export default class WFProcessDefinitionEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -277,10 +277,12 @@ export default class WFProcessDefinitionGridViewBase extends Vue { ...@@ -277,10 +277,12 @@ export default class WFProcessDefinitionGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -188,10 +188,12 @@ export default class WFREModelEditViewBase extends Vue { ...@@ -188,10 +188,12 @@ export default class WFREModelEditViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -203,10 +203,12 @@ export default class WFUserMPickupViewBase extends Vue { ...@@ -203,10 +203,12 @@ export default class WFUserMPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -182,10 +182,12 @@ export default class WFUserPickupGridViewBase extends Vue { ...@@ -182,10 +182,12 @@ export default class WFUserPickupGridViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -170,10 +170,12 @@ export default class WFUserPickupViewBase extends Vue { ...@@ -170,10 +170,12 @@ export default class WFUserPickupViewBase extends Vue {
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
_this.parseViewParam(); this.$nextTick(()=>{
_this.engine.load(); _this.parseViewParam();
_this.engine.load();
});
} }
} }
/** /**
......
...@@ -37,11 +37,6 @@ ...@@ -37,11 +37,6 @@
git clone -b master $para2 ibzrt/ git clone -b master $para2 ibzrt/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd ibzrt/ cd ibzrt/
mvn clean package -Pweb
cd ibzrt-app/ibzrt-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzrt-app-web.yaml ibzlab-rt --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzrt-app-web.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzrt-app-web.jar
EXPOSE 30000 EXPOSE 8080
ADD ibzrt-app-web.jar /ibzrt-app-web.jar ADD ibzrt-app-web.jar /ibzrt-app-web.jar
...@@ -3,22 +3,15 @@ services: ...@@ -3,22 +3,15 @@ services:
ibzrt-app-web: ibzrt-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzrt-app-web:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzrt-app-web:latest
ports: ports:
- "30000:30000" - "8080:8080"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=30000
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
deploy: deploy:
resources:
limits:
memory: 800M
reservations:
memory: 400M
mode: replicated mode: replicated
replicas: 1 replicas: 1
......
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.9.xsd">
<changeSet author="Think (generated)" id="1591012776347-1">
<createTable remarks="配置" tableName="IBZCFG">
<column name="CFGID" remarks="配置标识" type="VARCHAR(100)">
<constraints primaryKey="true"/>
</column>
<column name="SYSTEMID" remarks="系统标识" type="VARCHAR(100)"/>
<column name="CFGTYPE" remarks="配置类型" type="VARCHAR(100)"/>
<column name="TARGETTYPE" remarks="引用对象" type="VARCHAR(100)"/>
<column name="USERID" remarks="用户标识" type="VARCHAR(100)"/>
<column name="CFG" remarks="配置" type="MEDIUMTEXT"/>
<column name="UPDATEDATE" remarks="更新时间" type="datetime"/>
</createTable>
</changeSet>
</databaseChangeLog>
...@@ -7,6 +7,11 @@ services: ...@@ -7,6 +7,11 @@ services:
networks: networks:
- agent_network - agent_network
deploy: deploy:
resources:
limits:
memory: 800M
reservations:
memory: 400M
mode: replicated mode: replicated
replicas: 1 replicas: 1
......
package cn.ibizlab.util.cache; package cn.ibizlab.util.cache;
import com.github.benmanes.caffeine.cache.CaffeineSpec; import com.github.benmanes.caffeine.cache.CaffeineSpec;
import cn.ibizlab.util.cache.cacheManager.CaffeineCacheManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.cache.CacheProperties; import org.springframework.boot.autoconfigure.cache.CacheProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
...@@ -12,6 +10,7 @@ import org.springframework.context.annotation.Bean; ...@@ -12,6 +10,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import cn.ibizlab.util.cache.cacheManager.CaffeineCacheManager;
/** /**
* Caffeine缓存配置类 * Caffeine缓存配置类
...@@ -22,19 +21,19 @@ import org.springframework.util.StringUtils; ...@@ -22,19 +21,19 @@ import org.springframework.util.StringUtils;
@ConditionalOnExpression("'${ibiz.cacheLevel:None}'.equals('L1')") @ConditionalOnExpression("'${ibiz.cacheLevel:None}'.equals('L1')")
public class CaffeineCacheConfig { public class CaffeineCacheConfig {
@Autowired /**
private CacheProperties cacheProperties; * Caffeine配置:设置过期时间
* @return
@Autowired */
private CaffeineCacheManager caffeineCacheManager;
@Bean @Bean
@Primary @Primary
public CacheManager cacheManager() { public CacheManager cacheManager(CacheProperties cacheProperties) {
String specification = cacheProperties.getCaffeine().getSpec(); CaffeineCacheManager caffeineCacheManager=new CaffeineCacheManager();
if (StringUtils.hasText(specification)) { String strCacheConfig = cacheProperties.getCaffeine().getSpec();
caffeineCacheManager.setCaffeineSpec(CaffeineSpec.parse(specification)); if (StringUtils.hasText(strCacheConfig)) {
caffeineCacheManager.setCaffeineCacheConfig(CaffeineSpec.parse(strCacheConfig));
} }
return caffeineCacheManager; return caffeineCacheManager;
} }
} }
\ No newline at end of file
package cn.ibizlab.util.cache; package cn.ibizlab.util.cache;
import com.alibaba.fastjson.parser.ParserConfig;
import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.benmanes.caffeine.cache.CaffeineSpec; import com.github.benmanes.caffeine.cache.CaffeineSpec;
import cn.ibizlab.util.cache.cacheManager.LayeringCacheManager; import org.springframework.beans.factory.annotation.Value;
import cn.ibizlab.util.cache.redis.KryoRedisSerializer;
import cn.ibizlab.util.cache.redis.StringRedisSerializer;
import cn.ibizlab.util.enums.RedisChannelTopic;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.cache.CacheProperties; import org.springframework.boot.autoconfigure.cache.CacheProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
...@@ -19,14 +14,19 @@ import org.springframework.context.annotation.Bean; ...@@ -19,14 +14,19 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.cache.RedisCacheConfiguration; import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter; import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.time.Duration;
import cn.ibizlab.util.cache.cacheManager.LayeringCacheManager;
import cn.ibizlab.util.cache.listener.RedisMessageListener;
import cn.ibizlab.util.cache.redis.CustomJacksonSerializer;
import cn.ibizlab.util.enums.RedisChannelTopic;
/** /**
* 缓存配置类 * 缓存配置类
...@@ -39,83 +39,91 @@ import org.springframework.util.StringUtils; ...@@ -39,83 +39,91 @@ import org.springframework.util.StringUtils;
@ConditionalOnExpression("'${ibiz.cacheLevel:None}'.equals('L2')") @ConditionalOnExpression("'${ibiz.cacheLevel:None}'.equals('L2')")
public class RedisCacheConfig { public class RedisCacheConfig {
@Autowired @Value("${spring.cache.redis.time-to-live:3600}")
private RedisCacheWriter redisCacheWriter; private long timeToLive;
@Autowired
private RedisCacheConfiguration configuration;
@Autowired
LayeringCacheManager layeringCacheManager;
@Autowired
private CacheProperties cacheProperties;
@Bean
public RedisCacheManager redisCacheManager(RedisConnectionFactory connectionFactory) {
return RedisCacheManager.create(connectionFactory);
}
/**
* 分层缓存管理器
* @param redisConnectionFactory
* @param cacheProperties
* @return
*/
@Bean @Bean
public RedisCacheWriter redisCacheWriter(RedisConnectionFactory connectionFactory){ @Primary
RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory); public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory ,CacheProperties cacheProperties){
return redisCacheWriter; LayeringCacheManager layeringCacheManager=new LayeringCacheManager(redisCacheWriter(redisConnectionFactory),redisCacheConfiguration(),redisTemplate(redisConnectionFactory));
String strCacheConfig = cacheProperties.getCaffeine().getSpec();
if (StringUtils.hasText(strCacheConfig)) {
layeringCacheManager.setCaffeineCacheConfig(CaffeineSpec.parse(strCacheConfig));
}
return layeringCacheManager;
} }
/** /**
* 重写Redis序列化方式,使用Json方式: * redis配置:设置过期时间及序列化方式
* 当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer。
* Spring Data JPA为我们提供了下面的Serializer:
* GenericToStringSerializer、Jackson2JsonRedisSerializer、JacksonJsonRedisSerializer、JdkSerializationRedisSerializer、OxmSerializer、StringRedisSerializer。
* 在此我们将自己配置RedisTemplate并定义Serializer。
*
* @param redisConnectionFactory
* @return * @return
*/ */
@Bean @Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { public RedisCacheConfiguration redisCacheConfiguration(){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); CustomJacksonSerializer jackson2JsonRedisSerializer = new CustomJacksonSerializer(Object.class);
redisTemplate.setConnectionFactory(redisConnectionFactory);
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
ObjectMapper om = new ObjectMapper(); ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om); jackson2JsonRedisSerializer.setObjectMapper(om);
ParserConfig.getGlobalInstance().setAutoTypeSupport(true); RedisCacheConfiguration configuration = RedisCacheConfiguration.defaultCacheConfig()
KryoRedisSerializer<Object> kryoRedisSerializer = new KryoRedisSerializer<>(Object.class); .entryTtl(Duration.ofSeconds(timeToLive))
redisTemplate.setValueSerializer(kryoRedisSerializer);// 设置值(value)的序列化采用KryoRedisSerializer。 .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
redisTemplate.setHashValueSerializer(kryoRedisSerializer); .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer))
redisTemplate.setKeySerializer(new StringRedisSerializer());// 设置键(key)的序列化采用StringRedisSerializer。 .disableCachingNullValues();
redisTemplate.setHashKeySerializer(new StringRedisSerializer()); return configuration;
redisTemplate.afterPropertiesSet();
return redisTemplate;
} }
/**
* 创建redis缓存
* @param connectionFactory
* @return
*/
@Bean @Bean
@Primary public RedisCacheWriter redisCacheWriter(RedisConnectionFactory connectionFactory){
public CacheManager cacheManager() { RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory);
setCaffeineCacheConfig(layeringCacheManager);//Caffeine缓存设置 return redisCacheWriter;
layeringCacheManager.setRedisCacheWriter(redisCacheWriter);
layeringCacheManager.setRedisConfiguration(configuration);
return layeringCacheManager;
} }
private void setCaffeineCacheConfig(LayeringCacheManager layeringCacheManager) { /**
String specification = cacheProperties.getCaffeine().getSpec(); * 发送redis广播
if (StringUtils.hasText(specification)) { * @param factory
layeringCacheManager.setCaffeineSpec(CaffeineSpec.parse(specification)); * @return
} */
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
CustomJacksonSerializer jacksonSerial = new CustomJacksonSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
jacksonSerial.setObjectMapper(om);
template.setValueSerializer(jacksonSerial);
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(jacksonSerial);
template.afterPropertiesSet();
return template;
} }
/** /**
* 监听redis指定频道 * 监听redis指定频道
* @param redisConnectionFactory * @param redisConnectionFactory
* @param messageListener * @param cacheManager
* @param redisTemplate
* @return * @return
*/ */
@Bean @Bean
RedisMessageListenerContainer redisContainer(RedisConnectionFactory redisConnectionFactory, MessageListenerAdapter messageListener) { RedisMessageListenerContainer redisContainer(RedisConnectionFactory redisConnectionFactory, CacheManager cacheManager , RedisTemplate redisTemplate) {
final RedisMessageListenerContainer container = new RedisMessageListenerContainer(); RedisMessageListenerContainer container = new RedisMessageListenerContainer();
MessageListenerAdapter messageListener=new RedisMessageListener(cacheManager,redisTemplate);
container.setConnectionFactory(redisConnectionFactory); container.setConnectionFactory(redisConnectionFactory);
container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_DELETE_TOPIC.getChannelTopic()); container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_DELETE_TOPIC.getChannelTopic());
container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_CLEAR_TOPIC.getChannelTopic()); container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_CLEAR_TOPIC.getChannelTopic());
return container; return container;
} }
} }
\ No newline at end of file
...@@ -12,5 +12,4 @@ public class CusRedisCache extends RedisCache { ...@@ -12,5 +12,4 @@ public class CusRedisCache extends RedisCache {
public CusRedisCache(String name, RedisCacheWriter redisCacheWriter, RedisCacheConfiguration configuration) { public CusRedisCache(String name, RedisCacheWriter redisCacheWriter, RedisCacheConfiguration configuration) {
super(name, redisCacheWriter, configuration); super(name, redisCacheWriter, configuration);
} }
} }
package cn.ibizlab.util.cache.cache; package cn.ibizlab.util.cache.cache;
import cn.ibizlab.util.cache.listener.RedisPublisher; import lombok.extern.slf4j.Slf4j;
import cn.ibizlab.util.enums.RedisChannelTopic;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.caffeine.CaffeineCache; import org.springframework.cache.caffeine.CaffeineCache;
import org.springframework.cache.support.AbstractValueAdaptingCache; import org.springframework.cache.support.AbstractValueAdaptingCache;
import org.springframework.cache.support.NullValue; import org.springframework.cache.support.NullValue;
import org.springframework.data.redis.cache.RedisCache; import org.springframework.data.redis.cache.RedisCache;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.core.RedisOperations; import org.springframework.data.redis.core.RedisOperations;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import cn.ibizlab.util.cache.listener.RedisPublisher;
import cn.ibizlab.util.enums.RedisChannelTopic;
/** /**
* 缓存分层类 * 缓存分层类
* 1级缓存为caffeine * 1级缓存为caffeine
* 2级缓存为redis * 2级缓存为redis
*/ */
@Slf4j
public class LayeringCache extends AbstractValueAdaptingCache { public class LayeringCache extends AbstractValueAdaptingCache {
Logger logger = LoggerFactory.getLogger(LayeringCache.class);
/** /**
* 缓存的名称 * 缓存的名称
*/ */
private final String name; private String cacheName;
/** /**
* redis缓存 * Caffeine缓存
*/ */
private RedisCache redisCache; private CaffeineCache caffeineCache;
/** /**
* Caffeine缓存 * redis缓存
*/ */
private final CaffeineCache caffeineCache; private RedisCache redisCache;
/** /**
* redis消息发布 * redis消息发布
*/ */
RedisOperations<? extends Object, ? extends Object> redisOperations; RedisOperations<? extends Object, ? extends Object> redisOperations;
public LayeringCache(String name ,RedisOperations redisOperations, com.github.benmanes.caffeine.cache.Cache<Object, Object> caffeineCache, public LayeringCache(String cacheName , CaffeineCache caffeineCache, RedisCache redisCache, RedisOperations redisOperations) {
RedisCacheWriter redisCacheWriter, RedisCacheConfiguration configuration) {
super(true); super(true);
this.name = name; this.cacheName = cacheName;
this.redisCache = new CusRedisCache(name, redisCacheWriter, configuration); this.caffeineCache = caffeineCache;
this.caffeineCache = new CaffeineCache(name, caffeineCache, true); this.redisCache = redisCache;
this.redisOperations=redisOperations; this.redisOperations=redisOperations;
} }
@Override @Override
public String getName() { public String getName() {
return this.name; return this.cacheName;
} }
@Override @Override
...@@ -61,40 +57,34 @@ public class LayeringCache extends AbstractValueAdaptingCache { ...@@ -61,40 +57,34 @@ public class LayeringCache extends AbstractValueAdaptingCache {
@Override @Override
public ValueWrapper get(Object key) { public ValueWrapper get(Object key) {
// 查询一级缓存
ValueWrapper wrapper = caffeineCache.get(key); ValueWrapper wrapper = caffeineCache.get(key);
logger.debug("查询一级缓存 key:{},value:{}", key,wrapper); log.debug("查询一级缓存 key:{},value:{}", key,wrapper);
if (wrapper == null) { if (wrapper == null) {
// 查询二级缓存
wrapper = redisCache.get(key); wrapper = redisCache.get(key);
caffeineCache.put(key, wrapper == null ? null : wrapper.get()); caffeineCache.put(key, wrapper == null ? null : wrapper.get());
logger.debug("查询二级缓存,并将数据放到一级缓存。 key:{}", key); log.debug("查询二级缓存,并将数据放到一级缓存。 key:{}", key);
} }
return wrapper; return wrapper;
} }
@Override @Override
public <T> T get(Object key, Class<T> type) { public <T> T get(Object key, Class<T> type) {
// 查询一级缓存
T value = caffeineCache.get(key, type); T value = caffeineCache.get(key, type);
logger.debug("查询一级缓存 key:{}", key); log.debug("查询一级缓存 key:{}", key);
if (value == null) { if (value == null) {
// 查询二级缓存
value = redisCache.get(key, type); value = redisCache.get(key, type);
caffeineCache.put(key, value); caffeineCache.put(key, value);
logger.debug("查询二级缓存,并将数据放到一级缓存。 key:{}", key); log.debug("查询二级缓存,并将数据放到一级缓存。 key:{}", key);
} }
return value; return value;
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public <T> T get(Object key, Callable<T> valueLoader) { public <T> T get(Object key, Callable<T> valueLoader) {
// 查询一级缓存,如果一级缓存没有值则调用getForSecondaryCache(k, valueLoader)查询二级缓存 T value = (T) caffeineCache.getNativeCache().get(key, k -> getSecondCacheValue(k, valueLoader));
T value = (T) caffeineCache.getNativeCache().get(key, k -> getSecondCache(k, valueLoader));
if(value==null) { if(value==null) {
// 直接查询二级缓存 value = (T) getSecondCacheValue(key, valueLoader);
value = (T) getSecondCache(key, valueLoader);
} }
if (value instanceof NullValue) { if (value instanceof NullValue) {
return null; return null;
...@@ -119,11 +109,11 @@ public class LayeringCache extends AbstractValueAdaptingCache { ...@@ -119,11 +109,11 @@ public class LayeringCache extends AbstractValueAdaptingCache {
redisCache.evict(key); //清除redis中的二级缓存 redisCache.evict(key); //清除redis中的二级缓存
caffeineCache.evict(key);//清除本机一级缓存 caffeineCache.evict(key);//清除本机一级缓存
Map<String, Object> message = new HashMap<>(); Map<String, Object> message = new HashMap<>();
message.put("cacheName", name); message.put("cacheName", cacheName);
message.put("key", key); message.put("key", key);
RedisPublisher redisPublisher = new RedisPublisher(redisOperations, RedisChannelTopic.REDIS_CACHE_DELETE_TOPIC.getChannelTopic());// 创建redis发布者 RedisPublisher redisPublisher = new RedisPublisher(redisOperations, RedisChannelTopic.REDIS_CACHE_DELETE_TOPIC.getChannelTopic());// 创建redis发布者
redisPublisher.publisher(message);//发布消息,清除其它集群机器中的一级缓存 redisPublisher.publisher(message);//发布消息,清除其它集群机器中的一级缓存
logger.debug(String.format("清除二级缓存数据[%s]", key)); log.debug(String.format("清除二级缓存数据[%s]", key));
} }
@Override @Override
...@@ -131,7 +121,7 @@ public class LayeringCache extends AbstractValueAdaptingCache { ...@@ -131,7 +121,7 @@ public class LayeringCache extends AbstractValueAdaptingCache {
redisCache.clear(); //清除redis中的二级缓存 redisCache.clear(); //清除redis中的二级缓存
caffeineCache.clear();//清除本机一级缓存 caffeineCache.clear();//清除本机一级缓存
Map<String, Object> message = new HashMap<>(); Map<String, Object> message = new HashMap<>();
message.put("cacheName", name); message.put("cacheName", cacheName);
RedisPublisher redisPublisher = new RedisPublisher(redisOperations, RedisChannelTopic.REDIS_CACHE_CLEAR_TOPIC.getChannelTopic());// 创建redis发布者 RedisPublisher redisPublisher = new RedisPublisher(redisOperations, RedisChannelTopic.REDIS_CACHE_CLEAR_TOPIC.getChannelTopic());// 创建redis发布者
redisPublisher.publisher(message);//发布消息,清除其它集群机器中的一级缓存 redisPublisher.publisher(message);//发布消息,清除其它集群机器中的一级缓存
} }
...@@ -139,31 +129,39 @@ public class LayeringCache extends AbstractValueAdaptingCache { ...@@ -139,31 +129,39 @@ public class LayeringCache extends AbstractValueAdaptingCache {
@Override @Override
protected Object lookup(Object key) { protected Object lookup(Object key) {
Object value = caffeineCache.get(key); Object value = caffeineCache.get(key);
logger.debug("查询一级缓存 key:{}", key); log.debug("查询一级缓存 key:{}", key);
if (value == null) { if (value == null) {
value = redisCache.get(key); value = redisCache.get(key);
logger.debug("查询二级缓存 key:{}", key); log.debug("查询二级缓存 key:{}", key);
} }
return value; return value;
} }
/** /**
* 查询二级缓存 * 获取caffeine缓存
* @param key
* @param valueLoader
* @return * @return
*/ */
private <T> Object getSecondCache(Object key, Callable<T> valueLoader) { public CaffeineCache getFirstCache() {
T value = redisCache.get(key, valueLoader); return this.caffeineCache;
logger.debug("查询二级缓存 key:{}", key);
return toStoreValue(value);
} }
/** /**
* 获取caffeine缓存 * 获取redis缓存
* @return * @return
*/ */
public CaffeineCache getFirstCache() { public RedisCache getSecondCache() {
return this.caffeineCache; return this.redisCache;
}
/**
* 查询二级缓存
* @param key
* @param valueLoader
* @return
*/
private <T> Object getSecondCacheValue(Object key, Callable<T> valueLoader) {
T value = redisCache.get(key, valueLoader);
log.debug("查询二级缓存 key:{}", key);
return toStoreValue(value);
} }
} }
package cn.ibizlab.util.cache.cacheManager; package cn.ibizlab.util.cache.cacheManager;
import lombok.Data;
import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.CaffeineSpec; import com.github.benmanes.caffeine.cache.CaffeineSpec;
import lombok.Data;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.cache.Cache; import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.caffeine.CaffeineCache; import org.springframework.cache.caffeine.CaffeineCache;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -21,37 +17,31 @@ import java.util.concurrent.TimeUnit; ...@@ -21,37 +17,31 @@ import java.util.concurrent.TimeUnit;
* Caffeine本地缓存 * Caffeine本地缓存
*/ */
@Data @Data
@Component
@ConditionalOnExpression("'${ibiz.cacheLevel:None}'.equals('L1')")
public class CaffeineCacheManager implements CacheManager { public class CaffeineCacheManager implements CacheManager {
private static final int DEFAULT_EXPIRE_AFTER_WRITE = 1;
private static final int DEFAULT_INITIAL_CAPACITY = 5;
private static final int DEFAULT_MAXIMUM_SIZE = 1_000;
private final ConcurrentMap<String, Cache> cacheMap = new ConcurrentHashMap<String, Cache>(16); private final ConcurrentMap<String, Cache> cacheMap = new ConcurrentHashMap<String, Cache>(16);
private static final int default_expire_after_write = 1;
/** private static final int default_initial_capacity = 5;
* 缓存默认设置 private static final int default_maximum_size = 1_000;
*/
private Caffeine<Object, Object> cacheBuilder = Caffeine.newBuilder() private Caffeine<Object, Object> cacheBuilder = Caffeine.newBuilder()
.expireAfterAccess(DEFAULT_EXPIRE_AFTER_WRITE, TimeUnit.HOURS) .expireAfterAccess(default_expire_after_write, TimeUnit.HOURS)
.initialCapacity(DEFAULT_INITIAL_CAPACITY) .initialCapacity(default_initial_capacity)
.maximumSize(DEFAULT_MAXIMUM_SIZE); .maximumSize(default_maximum_size);
/** /**
* 获取缓存对象 * 获取缓存对象
* @param name * @param cacheName
* @return * @return
*/ */
@Override @Override
public Cache getCache(String name) { public Cache getCache(String cacheName) {
Cache cache = this.cacheMap.get(name); Cache cache = this.cacheMap.get(cacheName);
if (cache == null) { if (cache == null) {
synchronized (this.cacheMap) { synchronized (this.cacheMap) {
cache = this.cacheMap.get(name); cache = this.cacheMap.get(cacheName);
if (cache == null) { if (cache == null) {
cache = createCache(name); cache = createCache(cacheName);
this.cacheMap.put(name, cache); this.cacheMap.put(cacheName, cache);
} }
} }
} }
...@@ -59,41 +49,32 @@ public class CaffeineCacheManager implements CacheManager { ...@@ -59,41 +49,32 @@ public class CaffeineCacheManager implements CacheManager {
} }
/** /**
* 获取缓存名 * 创建缓存
* @param cacheName
* @return * @return
*/ */
@Override protected Cache createCache(String cacheName) {
public Collection<String> getCacheNames() { return new CaffeineCache(cacheName, this.cacheBuilder.build(), true);
return Collections.unmodifiableSet(this.cacheMap.keySet());
} }
/** /**
* 创建缓存 * 获取缓存名
* @param name
* @return * @return
*/ */
protected Cache createCache(String name) { @Override
return new CaffeineCache(name, this.cacheBuilder.build(), true); public Collection<String> getCacheNames() {
return Collections.unmodifiableSet(this.cacheMap.keySet());
} }
/** /**
* 缓存配置[缓存容量大小、时长等] * 缓存配置[缓存容量大小、时长等]
* @param caffeineSpec * @param caffeineCacheConfig
*/ */
public void setCaffeineSpec(CaffeineSpec caffeineSpec) { public void setCaffeineCacheConfig(CaffeineSpec caffeineCacheConfig) {
Caffeine<Object, Object> cacheBuilder = Caffeine.from(caffeineSpec); Caffeine<Object, Object> cacheBuilder = Caffeine.from(caffeineCacheConfig);
if (!ObjectUtils.nullSafeEquals(this.cacheBuilder, cacheBuilder)) { if (!ObjectUtils.nullSafeEquals(this.cacheBuilder, cacheBuilder)) {
this.cacheBuilder = cacheBuilder; this.cacheBuilder = cacheBuilder;
refreshKnownCaches();
}
}
/**
* 使用该CacheManager的当前状态重新创建已知的缓存。
*/
private void refreshKnownCaches() {
for (Map.Entry<String, Cache> entry : this.cacheMap.entrySet()) {
entry.setValue(createCache(entry.getKey()));
} }
} }
} }
package cn.ibizlab.util.cache.cacheManager; package cn.ibizlab.util.cache.cacheManager;
import lombok.Data;
import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.CaffeineSpec; import com.github.benmanes.caffeine.cache.CaffeineSpec;
import lombok.Data;
import cn.ibizlab.util.cache.cache.LayeringCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.cache.Cache; import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.caffeine.CaffeineCache;
import org.springframework.data.redis.cache.RedisCacheConfiguration; import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheWriter; import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import cn.ibizlab.util.cache.cache.CusRedisCache;
import cn.ibizlab.util.cache.cache.LayeringCache;
/** /**
* 缓存分层 * 缓存分层
* 1级缓存为caffeine * 1级缓存为caffeine
* 2级缓存为redis * 2级缓存为redis
*/ */
@Data @Data
@Component
@ConditionalOnExpression("'${ibiz.cacheLevel:None}'.equals('L2')")
public class LayeringCacheManager implements CacheManager { public class LayeringCacheManager implements CacheManager {
private static final int DEFAULT_EXPIRE_AFTER_WRITE = 1;
private static final int DEFAULT_INITIAL_CAPACITY = 5;
private static final int DEFAULT_MAXIMUM_SIZE = 1_000;
private final ConcurrentMap<String, Cache> cacheMap = new ConcurrentHashMap<String, Cache>(16); private final ConcurrentMap<String, Cache> cacheMap = new ConcurrentHashMap<String, Cache>(16);
public RedisCacheWriter redisCacheWriter; private static final int default_expire_after_write = 1;
public RedisCacheConfiguration redisConfiguration; private static final int default_initial_capacity = 5;
@Autowired private static final int default_maximum_size = 1_000;
public RedisTemplate<String, Object> redisTemplate;
/**
* 缓存默认设置
*/
private Caffeine<Object, Object> cacheBuilder = Caffeine.newBuilder() private Caffeine<Object, Object> cacheBuilder = Caffeine.newBuilder()
.expireAfterAccess(DEFAULT_EXPIRE_AFTER_WRITE, TimeUnit.HOURS) .expireAfterAccess(default_expire_after_write, TimeUnit.HOURS)
.initialCapacity(DEFAULT_INITIAL_CAPACITY) .initialCapacity(default_initial_capacity)
.maximumSize(DEFAULT_MAXIMUM_SIZE); .maximumSize(default_maximum_size);
private RedisCacheWriter redisCacheWriter;
private RedisCacheConfiguration redisConfiguration;
private RedisTemplate<String, Object> redisTemplate;
public LayeringCacheManager(RedisCacheWriter redisCacheWriter , RedisCacheConfiguration redisConfiguration , RedisTemplate<String, Object> redisTemplate ){
this.redisCacheWriter=redisCacheWriter;
this.redisConfiguration=redisConfiguration;
this.redisTemplate= redisTemplate;
}
/** /**
* 获取缓存对象 * 获取缓存对象
* @param name * @param cacheName
* @return * @return
*/ */
@Override @Override
public Cache getCache(String name) { public Cache getCache(String cacheName) {
Cache cache = this.cacheMap.get(name); Cache cache = this.cacheMap.get(cacheName);
if (cache == null) { if (cache == null) {
synchronized (this.cacheMap) { synchronized (this.cacheMap) {
cache = this.cacheMap.get(name); cache = this.cacheMap.get(cacheName);
if (cache == null) { if (cache == null) {
cache = createCache(name); cache = createCache(cacheName);
this.cacheMap.put(name, cache); this.cacheMap.put(cacheName, cache);
} }
} }
} }
return cache; return cache;
} }
/**
* 获取集合中的缓存
* @return
*/
@Override @Override
public Collection<String> getCacheNames() { public Collection<String> getCacheNames() {
return Collections.unmodifiableSet(this.cacheMap.keySet()); return Collections.unmodifiableSet(this.cacheMap.keySet());
} }
protected Cache createCache(String name) {
return new LayeringCache(name,redisTemplate,this.cacheBuilder.build(),redisCacheWriter,redisConfiguration);
}
/** /**
* 使用该CacheManager的当前状态重新创建已知的缓存 * 创建缓存
* @param cacheName
* @return
*/ */
private void refreshKnownCaches() { protected Cache createCache(String cacheName) {
for (Map.Entry<String, Cache> entry : this.cacheMap.entrySet()) { return new LayeringCache(cacheName,new CaffeineCache(cacheName, this.cacheBuilder.build(), true),new CusRedisCache(cacheName, redisCacheWriter, redisConfiguration),redisTemplate);
entry.setValue(createCache(entry.getKey()));
}
} }
public void setCaffeineSpec(CaffeineSpec caffeineSpec) { /**
Caffeine<Object, Object> cacheBuilder = Caffeine.from(caffeineSpec); * 缓存配置[缓存容量大小、时长等]
* @param caffeineCacheConfig
*/
public void setCaffeineCacheConfig(CaffeineSpec caffeineCacheConfig) {
Caffeine<Object, Object> cacheBuilder = Caffeine.from(caffeineCacheConfig);
if (!ObjectUtils.nullSafeEquals(this.cacheBuilder, cacheBuilder)) { if (!ObjectUtils.nullSafeEquals(this.cacheBuilder, cacheBuilder)) {
this.cacheBuilder = cacheBuilder; this.cacheBuilder = cacheBuilder;
refreshKnownCaches();
} }
} }
} }
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册