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

jackwang 部署微服务应用

上级 ef0829be
...@@ -47,6 +47,57 @@ ...@@ -47,6 +47,57 @@
} }
] ]
}, },
{
"srfkey": "CL_HR_0021",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "CONTRACT",
"label": "劳动合同",
"text": "劳动合同",
"data":"",
"codename":"Contract",
"value": "CONTRACT",
"disabled": false,
"default": false
}
, {
"id": "LABOR",
"label": "劳务派遣合同",
"text": "劳务派遣合同",
"data":"",
"codename":"Labor",
"value": "LABOR",
"disabled": false,
"default": false
}
, {
"id": "AGREEMENT",
"label": "协议",
"text": "协议",
"data":"",
"codename":"Agreement",
"value": "AGREEMENT",
"disabled": false,
"default": false
}
, {
"id": "OTHER",
"label": "其他",
"text": "其他",
"data":"",
"codename":"Other",
"value": "OTHER",
"disabled": false,
"default": false
}
]
},
{ {
"srfkey": "CL_HR_0012", "srfkey": "CL_HR_0012",
"emptytext": "未定义", "emptytext": "未定义",
...@@ -87,6 +138,72 @@ ...@@ -87,6 +138,72 @@
} }
] ]
}, },
{
"srfkey": "CL_HR_0019",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "ACTIVE",
"label": "执行中",
"text": "执行中",
"data":"",
"codename":"Active",
"value": "ACTIVE",
"disabled": false,
"default": false
}
, {
"id": "WAITSIGN",
"label": "待续签",
"text": "待续签",
"data":"",
"codename":"Waitsign",
"color": "rgba(255, 0, 0, 1)",
"value": "WAITSIGN",
"disabled": false,
"default": false
}
, {
"id": "HAVESIGN",
"label": "已续签",
"text": "已续签",
"data":"",
"codename":"Havesign",
"color": "rgba(49, 27, 146, 1)",
"value": "HAVESIGN",
"disabled": false,
"default": false
}
, {
"id": "WAITSTOP",
"label": "待终止",
"text": "待终止",
"data":"",
"codename":"Waitstop",
"color": "rgba(255, 0, 0, 1)",
"value": "WAITSTOP",
"disabled": false,
"default": false
}
, {
"id": "HAVESTOP",
"label": "已终止",
"text": "已终止",
"data":"",
"codename":"Havestop",
"color": "rgba(49, 27, 146, 1)",
"value": "HAVESTOP",
"disabled": false,
"default": false
}
]
},
{ {
"srfkey": "YesNo", "srfkey": "YesNo",
"emptytext": "未定义", "emptytext": "未定义",
...@@ -349,6 +466,68 @@ ...@@ -349,6 +466,68 @@
} }
] ]
}, },
{
"srfkey": "CL_HR_0022",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "10",
"label": "有固定期限劳动合同",
"text": "有固定期限劳动合同",
"data":"",
"codename":"Item_10",
"value": "10",
"disabled": false,
"default": false
}
, {
"id": "20",
"label": "无固定期限劳动合同",
"text": "无固定期限劳动合同",
"data":"",
"codename":"Item_20",
"value": "20",
"disabled": false,
"default": false
}
, {
"id": "30",
"label": "完成一定工作任务期限劳动合同",
"text": "完成一定工作任务期限劳动合同",
"data":"",
"codename":"Item_30",
"value": "30",
"disabled": false,
"default": false
}
, {
"id": "40",
"label": "非全日制劳动合同",
"text": "非全日制劳动合同",
"data":"",
"codename":"Item_40",
"value": "40",
"disabled": false,
"default": false
}
, {
"id": "50",
"label": "事实劳动合同",
"text": "事实劳动合同",
"data":"",
"codename":"Item_50",
"value": "50",
"disabled": false,
"default": false
}
]
},
{ {
"srfkey": "CL_HR_0010", "srfkey": "CL_HR_0010",
"emptytext": "未定义", "emptytext": "未定义",
......
{ {
"hremployeev_007": {
"title": "员工",
"caption": "员工",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HREmployeeV_007",
"viewfilename": "hremployee-v-007",
"viewtag": "015fb4ef7eeccdff1c16a30744372a8f",
"memo": "系统自动添加"
},
"hrdutyv_001": { "hrdutyv_001": {
"title": "快速新建", "title": "快速新建",
"caption": "快速新建", "caption": "快速新建",
...@@ -50,7 +60,7 @@ ...@@ -50,7 +60,7 @@
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"hrcontractgridview": { "hrcontractgridview": {
"title": "合同信息表格视图", "title": "合同表格(全部合同)",
"caption": "合同信息", "caption": "合同信息",
"viewtype": "DEGRIDVIEW", "viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource", "viewmodule": "HumanResource",
...@@ -539,6 +549,16 @@ ...@@ -539,6 +549,16 @@
"viewtag": "6fed66b17754f0251f020b82b375c009", "viewtag": "6fed66b17754f0251f020b82b375c009",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"hrcontracttabexpview": {
"title": "合同",
"caption": "合同",
"viewtype": "DETABEXPVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractTabExpView",
"viewfilename": "hrcontract-tab-exp-view",
"viewtag": "71c5da4234a5c4d3e46c572556dd52d9",
"memo": ""
},
"hreducationeditview": { "hreducationeditview": {
"title": "教育信息编辑视图", "title": "教育信息编辑视图",
"caption": "教育信息", "caption": "教育信息",
...@@ -679,6 +699,16 @@ ...@@ -679,6 +699,16 @@
"viewtag": "9559258a9c3ac118e15ead941b780682", "viewtag": "9559258a9c3ac118e15ead941b780682",
"memo": "" "memo": ""
}, },
"hrcontractv_004": {
"title": "合同表格(全部合同)",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_004",
"viewfilename": "hrcontract-v-004",
"viewtag": "9974f3026a0417dd6dd09a03b3303503",
"memo": "系统自动添加"
},
"hremployeetabexpview": { "hremployeetabexpview": {
"title": "员工分页表格", "title": "员工分页表格",
"caption": "员工", "caption": "员工",
...@@ -749,6 +779,16 @@ ...@@ -749,6 +779,16 @@
"viewtag": "aa2c4d945f9d880dd836ebe74ca9f547", "viewtag": "aa2c4d945f9d880dd836ebe74ca9f547",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"hrcontractv_002": {
"title": "合同表格(全部合同)",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_002",
"viewfilename": "hrcontract-v-002",
"viewtag": "abd55a0a17441c2023ae3166816e2d20",
"memo": "系统自动添加"
},
"hrdutycertgridview": { "hrdutycertgridview": {
"title": "职务证书表格", "title": "职务证书表格",
"caption": "职务证书", "caption": "职务证书",
...@@ -919,6 +959,16 @@ ...@@ -919,6 +959,16 @@
"viewtag": "cb0f52a25a9ed151848e5f134307696c", "viewtag": "cb0f52a25a9ed151848e5f134307696c",
"memo": "" "memo": ""
}, },
"hrcontractv_003": {
"title": "合同表格(全部合同)",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_003",
"viewfilename": "hrcontract-v-003",
"viewtag": "cb76a18e2c82d318acd00a4ae7c63e8f",
"memo": "系统自动添加"
},
"hreducationgridview": { "hreducationgridview": {
"title": "教育信息表格视图", "title": "教育信息表格视图",
"caption": "教育信息", "caption": "教育信息",
...@@ -1109,6 +1159,16 @@ ...@@ -1109,6 +1159,16 @@
"viewtag": "ec9d9fe37bbfc3fcb623e2dc34b48dbc", "viewtag": "ec9d9fe37bbfc3fcb623e2dc34b48dbc",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"hrcontractv_001": {
"title": "合同信息表格视图",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_001",
"viewfilename": "hrcontract-v-001",
"viewtag": "ef663fe283b58da63cd423f8506fa726",
"memo": "系统自动添加"
},
"hrpostdashboardview": { "hrpostdashboardview": {
"title": "职位看板", "title": "职位看板",
"caption": "职位看板", "caption": "职位看板",
......
...@@ -158,6 +158,7 @@ export default { ...@@ -158,6 +158,7 @@ export default {
left_exp: "左侧菜单", left_exp: "左侧菜单",
menuitem5: "人员", menuitem5: "人员",
menuitem15: "员工信息", menuitem15: "员工信息",
menuitem8: "合同信息",
menuitem2: "组织", menuitem2: "组织",
menuitem4: "法人", menuitem4: "法人",
menuitem6: "运营单位", menuitem6: "运营单位",
......
...@@ -158,6 +158,7 @@ export default { ...@@ -158,6 +158,7 @@ export default {
left_exp: "左侧菜单", left_exp: "左侧菜单",
menuitem5: "人员", menuitem5: "人员",
menuitem15: "员工信息", menuitem15: "员工信息",
menuitem8: "合同信息",
menuitem2: "组织", menuitem2: "组织",
menuitem4: "法人", menuitem4: "法人",
menuitem6: "运营单位", menuitem6: "运营单位",
......
...@@ -8,12 +8,27 @@ export default { ...@@ -8,12 +8,27 @@ export default {
"OTHER": "其他", "OTHER": "其他",
"empty": "" "empty": ""
}, },
CL_HR_0021: {
"CONTRACT": "劳动合同",
"LABOR": "劳务派遣合同",
"AGREEMENT": "协议",
"OTHER": "其他",
"empty": ""
},
CL_HR_0012: { CL_HR_0012: {
"FARM": "农业户口", "FARM": "农业户口",
"NONFARM": "非农业户口", "NONFARM": "非农业户口",
"OTHER": "其他", "OTHER": "其他",
"empty": "" "empty": ""
}, },
CL_HR_0019: {
"ACTIVE": "执行中",
"WAITSIGN": "待续签",
"HAVESIGN": "已续签",
"WAITSTOP": "待终止",
"HAVESTOP": "已终止",
"empty": ""
},
YesNo: { YesNo: {
"1": "是", "1": "是",
"0": "否", "0": "否",
...@@ -52,6 +67,14 @@ export default { ...@@ -52,6 +67,14 @@ export default {
"OPERATIONUNIT": "运营单位", "OPERATIONUNIT": "运营单位",
"empty": "" "empty": ""
}, },
CL_HR_0022: {
"10": "有固定期限劳动合同",
"20": "无固定期限劳动合同",
"30": "完成一定工作任务期限劳动合同",
"40": "非全日制劳动合同",
"50": "事实劳动合同",
"empty": ""
},
CL_HR_0010: { CL_HR_0010: {
"MALE": "男", "MALE": "男",
"FEMALE": "女", "FEMALE": "女",
......
...@@ -8,12 +8,27 @@ export default { ...@@ -8,12 +8,27 @@ export default {
"OTHER": "其他", "OTHER": "其他",
"empty": "", "empty": "",
}, },
CL_HR_0021: {
"CONTRACT": "劳动合同",
"LABOR": "劳务派遣合同",
"AGREEMENT": "协议",
"OTHER": "其他",
"empty": "",
},
CL_HR_0012: { CL_HR_0012: {
"FARM": "农业户口", "FARM": "农业户口",
"NONFARM": "非农业户口", "NONFARM": "非农业户口",
"OTHER": "其他", "OTHER": "其他",
"empty": "", "empty": "",
}, },
CL_HR_0019: {
"ACTIVE": "执行中",
"WAITSIGN": "待续签",
"HAVESIGN": "已续签",
"WAITSTOP": "待终止",
"HAVESTOP": "已终止",
"empty": "",
},
YesNo: { YesNo: {
"1": "是", "1": "是",
"0": "否", "0": "否",
...@@ -52,6 +67,14 @@ export default { ...@@ -52,6 +67,14 @@ export default {
"OPERATIONUNIT": "运营单位", "OPERATIONUNIT": "运营单位",
"empty": "", "empty": "",
}, },
CL_HR_0022: {
"10": "有固定期限劳动合同",
"20": "无固定期限劳动合同",
"30": "完成一定工作任务期限劳动合同",
"40": "非全日制劳动合同",
"50": "事实劳动合同",
"empty": "",
},
CL_HR_0010: { CL_HR_0010: {
"MALE": "男", "MALE": "男",
"FEMALE": "女", "FEMALE": "女",
......
...@@ -27,12 +27,32 @@ export default { ...@@ -27,12 +27,32 @@ export default {
views: { views: {
gridview: { gridview: {
caption: "合同信息", caption: "合同信息",
title: "合同信息表格视图", title: "合同表格(全部合同)",
},
tabexpview: {
caption: "合同",
title: "合同",
},
v_004: {
caption: "合同信息",
title: "合同表格(全部合同)",
}, },
editview: { editview: {
caption: "合同信息", caption: "合同信息",
title: "合同信息编辑视图", title: "合同信息编辑视图",
}, },
v_002: {
caption: "合同信息",
title: "合同表格(全部合同)",
},
v_003: {
caption: "合同信息",
title: "合同表格(全部合同)",
},
v_001: {
caption: "合同信息",
title: "合同信息表格视图",
},
}, },
main_form: { main_form: {
details: { details: {
...@@ -58,6 +78,20 @@ export default { ...@@ -58,6 +78,20 @@ export default {
uiactions: { uiactions: {
}, },
}, },
grid_001_grid: {
columns: {
contractcode: "合同编号",
contractmode: "合同类别",
contracttype: "合同类型",
begintime: "开始日期",
endtime: "结束日期",
mgrorganizationname: "合同管理单位",
signorganizationname: "合同签约单位",
contractstate: "合同状态",
},
uiactions: {
},
},
main_grid: { main_grid: {
columns: { columns: {
contractcode: "合同编号", contractcode: "合同编号",
...@@ -79,7 +113,7 @@ export default { ...@@ -79,7 +113,7 @@ export default {
uiactions: { uiactions: {
}, },
}, },
gridviewtoolbar_toolbar: { v_001toolbar_toolbar: {
tbitem3: { tbitem3: {
caption: "New", caption: "New",
tip: "New", tip: "New",
...@@ -159,4 +193,140 @@ export default { ...@@ -159,4 +193,140 @@ export default {
tip: "Help", tip: "Help",
}, },
}, },
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {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: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
v_003toolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {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: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
v_004toolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {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: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
v_002toolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {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: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
}; };
\ No newline at end of file
...@@ -26,12 +26,32 @@ export default { ...@@ -26,12 +26,32 @@ export default {
views: { views: {
gridview: { gridview: {
caption: "合同信息", caption: "合同信息",
title: "合同信息表格视图", title: "合同表格(全部合同)",
},
tabexpview: {
caption: "合同",
title: "合同",
},
v_004: {
caption: "合同信息",
title: "合同表格(全部合同)",
}, },
editview: { editview: {
caption: "合同信息", caption: "合同信息",
title: "合同信息编辑视图", title: "合同信息编辑视图",
}, },
v_002: {
caption: "合同信息",
title: "合同表格(全部合同)",
},
v_003: {
caption: "合同信息",
title: "合同表格(全部合同)",
},
v_001: {
caption: "合同信息",
title: "合同信息表格视图",
},
}, },
main_form: { main_form: {
details: { details: {
...@@ -57,6 +77,20 @@ export default { ...@@ -57,6 +77,20 @@ export default {
uiactions: { uiactions: {
}, },
}, },
grid_001_grid: {
columns: {
contractcode: "合同编号",
contractmode: "合同类别",
contracttype: "合同类型",
begintime: "开始日期",
endtime: "结束日期",
mgrorganizationname: "合同管理单位",
signorganizationname: "合同签约单位",
contractstate: "合同状态",
},
uiactions: {
},
},
main_grid: { main_grid: {
columns: { columns: {
contractcode: "合同编号", contractcode: "合同编号",
...@@ -78,7 +112,7 @@ export default { ...@@ -78,7 +112,7 @@ export default {
uiactions: { uiactions: {
}, },
}, },
gridviewtoolbar_toolbar: { v_001toolbar_toolbar: {
tbitem3: { tbitem3: {
caption: "新建", caption: "新建",
tip: "新建", tip: "新建",
...@@ -158,4 +192,140 @@ export default { ...@@ -158,4 +192,140 @@ export default {
tip: "帮助", tip: "帮助",
}, },
}, },
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
v_003toolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
v_004toolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
v_002toolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
}; };
\ No newline at end of file
...@@ -46,6 +46,10 @@ export default { ...@@ -46,6 +46,10 @@ export default {
probationtime: "试用期", probationtime: "试用期",
}, },
views: { views: {
v_007: {
caption: "员工",
title: "员工",
},
v_006: { v_006: {
caption: "员工", caption: "员工",
title: "员工", title: "员工",
...@@ -290,6 +294,48 @@ export default { ...@@ -290,6 +294,48 @@ export default {
tip: "关闭", tip: "关闭",
}, },
}, },
v_007toolbar_toolbar: {
tbitem1_ff_002: {
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: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
v_006toolbar_toolbar: { v_006toolbar_toolbar: {
tbitem1_ff_002: { tbitem1_ff_002: {
caption: "新建", caption: "新建",
......
...@@ -45,6 +45,10 @@ export default { ...@@ -45,6 +45,10 @@ export default {
probationtime: "试用期", probationtime: "试用期",
}, },
views: { views: {
v_007: {
caption: "员工",
title: "员工",
},
v_006: { v_006: {
caption: "员工", caption: "员工",
title: "员工", title: "员工",
...@@ -289,6 +293,48 @@ export default { ...@@ -289,6 +293,48 @@ export default {
tip: "关闭", tip: "关闭",
}, },
}, },
v_007toolbar_toolbar: {
tbitem1_ff_002: {
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: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
v_006toolbar_toolbar: { v_006toolbar_toolbar: {
tbitem1_ff_002: { tbitem1_ff_002: {
caption: "新建", caption: "新建",
......
...@@ -139,6 +139,24 @@ mock.onGet('v7/pimappmenu').reply((config: any) => { ...@@ -139,6 +139,24 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
textcls: '', textcls: '',
appfunctag: '_4', appfunctag: '_4',
resourcetag: '', resourcetag: '',
},
{
id: '9EAF638F-4BD3-41E5-95D9-D0BB5A0F8375',
name: 'menuitem8',
text: '合同信息',
type: 'MENUITEM',
counterid: '',
tooltip: '合同信息',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-th-large',
icon: '',
textcls: '',
appfunctag: '_8',
resourcetag: '',
}, },
], ],
}, },
...@@ -211,7 +229,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => { ...@@ -211,7 +229,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-signal', iconcls: 'fa fa-signal',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_9', appfunctag: '_10',
resourcetag: '', resourcetag: '',
}, },
{ {
...@@ -229,7 +247,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => { ...@@ -229,7 +247,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-sitemap', iconcls: 'fa fa-sitemap',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_8', appfunctag: '_9',
resourcetag: '', resourcetag: '',
}, },
], ],
......
...@@ -52,6 +52,53 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => { ...@@ -52,6 +52,53 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
}, },
] ]
}, },
{
srfkey: "CL_HR_0021",
emptytext: "未定义",
"codelisttype":"static",
items: [
{
id: "CONTRACT",
label: "劳动合同",
text: "劳动合同",
"data":"",
"codename":"Contract",
value: "CONTRACT",
disabled: false,
},
{
id: "LABOR",
label: "劳务派遣合同",
text: "劳务派遣合同",
"data":"",
"codename":"Labor",
value: "LABOR",
disabled: false,
},
{
id: "AGREEMENT",
label: "协议",
text: "协议",
"data":"",
"codename":"Agreement",
value: "AGREEMENT",
disabled: false,
},
{
id: "OTHER",
label: "其他",
text: "其他",
"data":"",
"codename":"Other",
value: "OTHER",
disabled: false,
},
]
},
{ {
srfkey: "CL_HR_0012", srfkey: "CL_HR_0012",
emptytext: "未定义", emptytext: "未定义",
...@@ -89,6 +136,67 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => { ...@@ -89,6 +136,67 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
}, },
] ]
}, },
{
srfkey: "CL_HR_0019",
emptytext: "未定义",
"codelisttype":"static",
items: [
{
id: "ACTIVE",
label: "执行中",
text: "执行中",
"data":"",
"codename":"Active",
value: "ACTIVE",
disabled: false,
},
{
id: "WAITSIGN",
label: "待续签",
text: "待续签",
"data":"",
"codename":"Waitsign",
"color": "rgba(255, 0, 0, 1)",
value: "WAITSIGN",
disabled: false,
},
{
id: "HAVESIGN",
label: "已续签",
text: "已续签",
"data":"",
"codename":"Havesign",
"color": "rgba(49, 27, 146, 1)",
value: "HAVESIGN",
disabled: false,
},
{
id: "WAITSTOP",
label: "待终止",
text: "待终止",
"data":"",
"codename":"Waitstop",
"color": "rgba(255, 0, 0, 1)",
value: "WAITSTOP",
disabled: false,
},
{
id: "HAVESTOP",
label: "已终止",
text: "已终止",
"data":"",
"codename":"Havestop",
"color": "rgba(49, 27, 146, 1)",
value: "HAVESTOP",
disabled: false,
},
]
},
{ {
srfkey: "YesNo", srfkey: "YesNo",
emptytext: "未定义", emptytext: "未定义",
...@@ -331,6 +439,63 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => { ...@@ -331,6 +439,63 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
}, },
] ]
}, },
{
srfkey: "CL_HR_0022",
emptytext: "未定义",
"codelisttype":"static",
items: [
{
id: "10",
label: "有固定期限劳动合同",
text: "有固定期限劳动合同",
"data":"",
"codename":"Item_10",
value: "10",
disabled: false,
},
{
id: "20",
label: "无固定期限劳动合同",
text: "无固定期限劳动合同",
"data":"",
"codename":"Item_20",
value: "20",
disabled: false,
},
{
id: "30",
label: "完成一定工作任务期限劳动合同",
text: "完成一定工作任务期限劳动合同",
"data":"",
"codename":"Item_30",
value: "30",
disabled: false,
},
{
id: "40",
label: "非全日制劳动合同",
text: "非全日制劳动合同",
"data":"",
"codename":"Item_40",
value: "40",
disabled: false,
},
{
id: "50",
label: "事实劳动合同",
text: "事实劳动合同",
"data":"",
"codename":"Item_50",
value: "50",
disabled: false,
},
]
},
{ {
srfkey: "CL_HR_0010", srfkey: "CL_HR_0010",
emptytext: "未定义", emptytext: "未定义",
......
...@@ -428,6 +428,95 @@ mock.onPost(new RegExp(/^\/hrcontracts\/?([a-zA-Z0-9\-\;]{0,35})\/save$/)).reply ...@@ -428,6 +428,95 @@ mock.onPost(new RegExp(/^\/hrcontracts\/?([a-zA-Z0-9\-\;]{0,35})\/save$/)).reply
}); });
// FetchActive
mock.onGet(new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchactive$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchActive");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['employeeid'];
let tempValue: any = {};
const matchArray:any = new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchactive$/).exec(config.url);
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
if (items.length > 0 && paramArray.length > 0) {
paramArray.forEach((paramkey: any) => {
if (tempValue[paramkey] && tempValue[paramkey].indexOf(";") > 0) {
let keysGrounp: Array<any> = tempValue[paramkey].split(new RegExp(/[\;]/));
let tempArray: Array<any> = [];
keysGrounp.forEach((singlekey: any) => {
let _items = items.filter((item: any) => { return item[paramkey] == singlekey });
if(_items.length >0){
tempArray.push(..._items);
}
})
items = tempArray;
} else {
items = items.filter((item: any) => { return item[paramkey] == tempValue[paramkey] });
}
})
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(items);
console.groupEnd();
console.groupEnd();
return [status, items];
});
// FetchActive
mock.onGet(new RegExp(/^\/hrcontracts\/fetchactive$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchActive");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchActive
mock.onGet(new RegExp(/^\/hrcontracts\/fetchactive(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchActive");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// FetchDefault // FetchDefault
mock.onGet(new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchdefault$/)).reply((config: any) => { mock.onGet(new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchdefault$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchDefault"); console.groupCollapsed("实体:hrcontract 方法: FetchDefault");
...@@ -516,6 +605,184 @@ mock.onGet(new RegExp(/^\/hrcontracts\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply( ...@@ -516,6 +605,184 @@ mock.onGet(new RegExp(/^\/hrcontracts\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply(
return [status, records ? records : []]; return [status, records ? records : []];
}); });
// FetchWaitSign
mock.onGet(new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchwaitsign$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchWaitSign");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['employeeid'];
let tempValue: any = {};
const matchArray:any = new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchwaitsign$/).exec(config.url);
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
if (items.length > 0 && paramArray.length > 0) {
paramArray.forEach((paramkey: any) => {
if (tempValue[paramkey] && tempValue[paramkey].indexOf(";") > 0) {
let keysGrounp: Array<any> = tempValue[paramkey].split(new RegExp(/[\;]/));
let tempArray: Array<any> = [];
keysGrounp.forEach((singlekey: any) => {
let _items = items.filter((item: any) => { return item[paramkey] == singlekey });
if(_items.length >0){
tempArray.push(..._items);
}
})
items = tempArray;
} else {
items = items.filter((item: any) => { return item[paramkey] == tempValue[paramkey] });
}
})
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(items);
console.groupEnd();
console.groupEnd();
return [status, items];
});
// FetchWaitSign
mock.onGet(new RegExp(/^\/hrcontracts\/fetchwaitsign$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchWaitSign");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchWaitSign
mock.onGet(new RegExp(/^\/hrcontracts\/fetchwaitsign(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchWaitSign");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// FetchWaitStop
mock.onGet(new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchwaitstop$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchWaitStop");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['employeeid'];
let tempValue: any = {};
const matchArray:any = new RegExp(/^\/hremployees\/([a-zA-Z0-9\-\;]{1,35})\/hrcontracts\/fetchwaitstop$/).exec(config.url);
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
if (items.length > 0 && paramArray.length > 0) {
paramArray.forEach((paramkey: any) => {
if (tempValue[paramkey] && tempValue[paramkey].indexOf(";") > 0) {
let keysGrounp: Array<any> = tempValue[paramkey].split(new RegExp(/[\;]/));
let tempArray: Array<any> = [];
keysGrounp.forEach((singlekey: any) => {
let _items = items.filter((item: any) => { return item[paramkey] == singlekey });
if(_items.length >0){
tempArray.push(..._items);
}
})
items = tempArray;
} else {
items = items.filter((item: any) => { return item[paramkey] == tempValue[paramkey] });
}
})
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(items);
console.groupEnd();
console.groupEnd();
return [status, items];
});
// FetchWaitStop
mock.onGet(new RegExp(/^\/hrcontracts\/fetchwaitstop$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchWaitStop");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchWaitStop
mock.onGet(new RegExp(/^\/hrcontracts\/fetchwaitstop(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:hrcontract 方法: FetchWaitStop");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// URI参数传递情况未实现 // URI参数传递情况未实现
// URI参数传递情况未实现 // URI参数传递情况未实现
......
...@@ -403,6 +403,50 @@ mock.onGet(new RegExp(/^\/hremployees\/fetchleaveduty(\?[\w-./?%&=,]*)*$/)).repl ...@@ -403,6 +403,50 @@ mock.onGet(new RegExp(/^\/hremployees\/fetchleaveduty(\?[\w-./?%&=,]*)*$/)).repl
return [status, records ? records : []]; return [status, records ? records : []];
}); });
// FetchNoContract
mock.onGet(new RegExp(/^\/hremployees\/fetchnocontract$/)).reply((config: any) => {
console.groupCollapsed("实体:hremployee 方法: FetchNoContract");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchNoContract
mock.onGet(new RegExp(/^\/hremployees\/fetchnocontract(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:hremployee 方法: FetchNoContract");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// FetchOnDuty // FetchOnDuty
mock.onGet(new RegExp(/^\/hremployees\/fetchonduty$/)).reply((config: any) => { mock.onGet(new RegExp(/^\/hremployees\/fetchonduty$/)).reply((config: any) => {
console.groupCollapsed("实体:hremployee 方法: FetchOnDuty"); console.groupCollapsed("实体:hremployee 方法: FetchOnDuty");
......
...@@ -7,6 +7,14 @@ import Mock from 'mockjs' ...@@ -7,6 +7,14 @@ import Mock from 'mockjs'
mock.onGet('./assets/json/view-config.json').reply((config: any) => { mock.onGet('./assets/json/view-config.json').reply((config: any) => {
let status = MockAdapter.mockStatus(config); let status = MockAdapter.mockStatus(config);
return [status,{ return [status,{
"hremployeev_007": {
"title": "员工",
"caption": "员工",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HREmployeeV_007",
"viewtag": "015fb4ef7eeccdff1c16a30744372a8f"
},
"hrdutyv_001": { "hrdutyv_001": {
"title": "快速新建", "title": "快速新建",
"caption": "快速新建", "caption": "快速新建",
...@@ -48,7 +56,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -48,7 +56,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "0515a652f1ba4326ef610f1d98be95c8" "viewtag": "0515a652f1ba4326ef610f1d98be95c8"
}, },
"hrcontractgridview": { "hrcontractgridview": {
"title": "合同信息表格视图", "title": "合同表格(全部合同)",
"caption": "合同信息", "caption": "合同信息",
"viewtype": "DEGRIDVIEW", "viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource", "viewmodule": "HumanResource",
...@@ -439,6 +447,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -439,6 +447,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HRFamilyGridView", "viewname": "HRFamilyGridView",
"viewtag": "6fed66b17754f0251f020b82b375c009" "viewtag": "6fed66b17754f0251f020b82b375c009"
}, },
"hrcontracttabexpview": {
"title": "合同",
"caption": "合同",
"viewtype": "DETABEXPVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractTabExpView",
"viewtag": "71c5da4234a5c4d3e46c572556dd52d9"
},
"hreducationeditview": { "hreducationeditview": {
"title": "教育信息编辑视图", "title": "教育信息编辑视图",
"caption": "教育信息", "caption": "教育信息",
...@@ -551,6 +567,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -551,6 +567,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HREmployeeGridView", "viewname": "HREmployeeGridView",
"viewtag": "9559258a9c3ac118e15ead941b780682" "viewtag": "9559258a9c3ac118e15ead941b780682"
}, },
"hrcontractv_004": {
"title": "合同表格(全部合同)",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_004",
"viewtag": "9974f3026a0417dd6dd09a03b3303503"
},
"hremployeetabexpview": { "hremployeetabexpview": {
"title": "员工分页表格", "title": "员工分页表格",
"caption": "员工", "caption": "员工",
...@@ -607,6 +631,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -607,6 +631,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HROMHierarchyCatEditView", "viewname": "HROMHierarchyCatEditView",
"viewtag": "aa2c4d945f9d880dd836ebe74ca9f547" "viewtag": "aa2c4d945f9d880dd836ebe74ca9f547"
}, },
"hrcontractv_002": {
"title": "合同表格(全部合同)",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_002",
"viewtag": "abd55a0a17441c2023ae3166816e2d20"
},
"hrdutycertgridview": { "hrdutycertgridview": {
"title": "职务证书表格", "title": "职务证书表格",
"caption": "职务证书", "caption": "职务证书",
...@@ -743,6 +775,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -743,6 +775,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HREmployeeDashboardView", "viewname": "HREmployeeDashboardView",
"viewtag": "cb0f52a25a9ed151848e5f134307696c" "viewtag": "cb0f52a25a9ed151848e5f134307696c"
}, },
"hrcontractv_003": {
"title": "合同表格(全部合同)",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_003",
"viewtag": "cb76a18e2c82d318acd00a4ae7c63e8f"
},
"hreducationgridview": { "hreducationgridview": {
"title": "教育信息表格视图", "title": "教育信息表格视图",
"caption": "教育信息", "caption": "教育信息",
...@@ -895,6 +935,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -895,6 +935,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HREmployeePickupView", "viewname": "HREmployeePickupView",
"viewtag": "ec9d9fe37bbfc3fcb623e2dc34b48dbc" "viewtag": "ec9d9fe37bbfc3fcb623e2dc34b48dbc"
}, },
"hrcontractv_001": {
"title": "合同信息表格视图",
"caption": "合同信息",
"viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource",
"viewname": "HRContractV_001",
"viewtag": "ef663fe283b58da63cd423f8506fa726"
},
"hrpostdashboardview": { "hrpostdashboardview": {
"title": "职位看板", "title": "职位看板",
"caption": "职位看板", "caption": "职位看板",
......
...@@ -9,7 +9,7 @@ import CodeListService from "@service/app/codelist-service"; ...@@ -9,7 +9,7 @@ import CodeListService from "@service/app/codelist-service";
/** /**
* 合同信息表格视图视图基类 * 合同表格(全部合同)视图基类
* *
* @export * @export
* @class HRContractGridViewBase * @class HRContractGridViewBase
......
<studio-view-style2 viewName="hrcontractgridview" viewTitle="合同信息表格视图" class='degridview hrcontract-grid-view'> <studio-view-style2 viewName="hrcontractgridview" viewTitle="合同表格(全部合同)" class='degridview hrcontract-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/> <i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<template slot="toolbar"> <template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template> <view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
......
...@@ -7,7 +7,7 @@ import view_grid from '@widgets/hrcontract/main-grid/main-grid.vue'; ...@@ -7,7 +7,7 @@ import view_grid from '@widgets/hrcontract/main-grid/main-grid.vue';
import view_searchform from '@widgets/hrcontract/default-searchform/default-searchform.vue'; import view_searchform from '@widgets/hrcontract/default-searchform/default-searchform.vue';
/** /**
* 合同信息表格视图视图 * 合同表格(全部合同)视图
* *
* @export * @export
* @class HRContractGridView * @class HRContractGridView
......
import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import HRContractAuthService from '@/authservice/hrcontract/hrcontract-auth-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* 合同视图基类
*
* @export
* @class HRContractTabExpViewBase
* @extends {TabExpViewBase}
*/
export class HRContractTabExpViewBase extends TabExpViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRContractTabExpViewBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRContractTabExpViewBase
*/
protected appDeKey: string = 'hrcontractid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRContractTabExpViewBase
*/
protected appDeMajor: string = 'hrcontractname';
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof HRContractTabExpViewBase
*/
protected appEntityService: HRContractService = new HRContractService;
/**
* 实体权限服务对象
*
* @type HRContractUIService
* @memberof HRContractTabExpViewBase
*/
public appUIService: HRContractUIService = new HRContractUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRContractTabExpViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRContractTabExpViewBase
*/
protected model: any = {
srfCaption: 'entities.hrcontract.views.tabexpview.caption',
srfTitle: 'entities.hrcontract.views.tabexpview.title',
srfSubTitle: 'entities.hrcontract.views.tabexpview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRContractTabExpViewBase
*/
protected containerModel: any = {
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '71c5da4234a5c4d3e46c572556dd52d9';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRContractTabExpViewBase
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRContractTabExpViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
keyPSDEField: 'hrcontract',
majorPSDEField: 'hrcontractname',
isLoadDefault: true,
});
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrcontracttabexpview" viewTitle="合同" class='detabexpview hrcontract-tab-exp-view'>
<view_tabexppanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
name="tabexppanel"
ref='tabexppanel'
@closeview="closeView($event)">
</view_tabexppanel>
</studio-view-style2>
\ No newline at end of file
<template src="./hrcontract-tab-exp-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRContractTabExpViewBase } from './hrcontract-tab-exp-view-base';
import view_tabexppanel from '@widgets/hrcontract/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.vue';
/**
* 合同视图
*
* @export
* @class HRContractTabExpView
* @extends {HRContractTabExpViewBase}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class HRContractTabExpView extends HRContractTabExpViewBase { }
</script>
import { Subject } from 'rxjs';
import { GridViewBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import HRContractAuthService from '@/authservice/hrcontract/hrcontract-auth-service';
import GridViewEngine from '@engine/view/grid-view-engine';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
import CodeListService from "@service/app/codelist-service";
/**
* 合同信息表格视图视图基类
*
* @export
* @class HRContractV_001Base
* @extends {GridViewBase}
*/
export class HRContractV_001Base extends GridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRContractV_001Base
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRContractV_001Base
*/
protected appDeKey: string = 'hrcontractid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRContractV_001Base
*/
protected appDeMajor: string = 'hrcontractname';
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof HRContractV_001Base
*/
protected appEntityService: HRContractService = new HRContractService;
/**
* 实体权限服务对象
*
* @type HRContractUIService
* @memberof HRContractV_001Base
*/
public appUIService: HRContractUIService = new HRContractUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRContractV_001Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRContractV_001Base
*/
protected model: any = {
srfCaption: 'entities.hrcontract.views.v_001.caption',
srfTitle: 'entities.hrcontract.views.v_001.title',
srfSubTitle: 'entities.hrcontract.views.v_001.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRContractV_001Base
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HRContractV_001
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem7: { name: 'tbitem7', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem8: { name: 'tbitem8', caption: '删除', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY', class: '' } },
tbitem9: { name: 'tbitem9', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'ef663fe283b58da63cd423f8506fa726';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRContractV_001Base
*/
public engine: GridViewEngine = new GridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRContractV_001Base
*/
public engineInit(): void {
this.engine.init({
view: this,
opendata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.opendata(args,fullargs, params, $event, xData);
},
newdata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.newdata(args,fullargs, params, $event, xData);
},
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'hrcontract',
majorPSDEField: 'hrcontractname',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem24')) {
this.toolbar_tbitem24_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem25')) {
this.toolbar_tbitem25_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem13')) {
this.toolbar_tbitem13_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public grid_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_001Base
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem24_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleRowEdit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem25_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.NewRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem8_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem13_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem11_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem19_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_001
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
const data: any = {};
if(args[0].srfsourcekey){
data.srfsourcekey = args[0].srfsourcekey;
}
let tempContext = JSON.parse(JSON.stringify(this.context));
delete tempContext.hrcontract;
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const _data: any = { w: (new Date().getTime()) };
Object.assign(_data, data);
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, _data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_001
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) {
const localContext: any = null;
const localViewParam: any =null;
const data: any = {};
let tempContext = JSON.parse(JSON.stringify(this.context));
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hrcontract: args[0].hrcontract })
}
_this.opendata([{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public ToggleRowEdit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
xData.actualIsOpenEdit = !xData.actualIsOpenEdit;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public NewRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
const data: any = {};
if (_this.hasOwnProperty('newRow') && _this.newRow instanceof Function) {
_this.newRow([{ ...data }], params, $event, xData);
} else if(xData.newRow && xData.newRow instanceof Function) {
xData.newRow([{ ...data }], params, $event, xData);
}else{
_this.$Notice.error({ title: '错误', desc: 'newRow 视图处理逻辑不存在,请添加!' });
}
}
/**
* 保存行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public SaveRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
// 界面行为容器对象 _this
const _this: any = this;
if (xData && xData.save instanceof Function) {
xData.save();
} else if (_this.save && _this.save instanceof Function) {
_this.save();
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.remove instanceof Function)) {
return ;
}
xData.remove(args);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.exportExcel instanceof Function) || !$event) {
return ;
}
xData.exportExcel($event.exportparms);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_001Base
*/
public ToggleFilter(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.hasOwnProperty('isExpandSearchForm')) {
_this.isExpandSearchForm = !_this.isExpandSearchForm;
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrcontractv_001" viewTitle="合同信息表格视图" class='degridview hrcontract-v-001'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchDefault"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./hrcontract-v-001.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRContractV_001Base } from './hrcontract-v-001-base';
import view_grid from '@widgets/hrcontract/grid-001-grid/grid-001-grid.vue';
import view_searchform from '@widgets/hrcontract/default-searchform/default-searchform.vue';
/**
* 合同信息表格视图视图
*
* @export
* @class HRContractV_001
* @extends {HRContractV_001Base}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class HRContractV_001 extends HRContractV_001Base { }
</script>
import { Subject } from 'rxjs';
import { GridViewBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import HRContractAuthService from '@/authservice/hrcontract/hrcontract-auth-service';
import GridViewEngine from '@engine/view/grid-view-engine';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
import CodeListService from "@service/app/codelist-service";
/**
* 合同表格(全部合同)视图基类
*
* @export
* @class HRContractV_002Base
* @extends {GridViewBase}
*/
export class HRContractV_002Base extends GridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRContractV_002Base
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRContractV_002Base
*/
protected appDeKey: string = 'hrcontractid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRContractV_002Base
*/
protected appDeMajor: string = 'hrcontractname';
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof HRContractV_002Base
*/
protected appEntityService: HRContractService = new HRContractService;
/**
* 实体权限服务对象
*
* @type HRContractUIService
* @memberof HRContractV_002Base
*/
public appUIService: HRContractUIService = new HRContractUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRContractV_002Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRContractV_002Base
*/
protected model: any = {
srfCaption: 'entities.hrcontract.views.v_002.caption',
srfTitle: 'entities.hrcontract.views.v_002.title',
srfSubTitle: 'entities.hrcontract.views.v_002.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRContractV_002Base
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HRContractV_002
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem7: { name: 'tbitem7', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem8: { name: 'tbitem8', caption: '删除', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY', class: '' } },
tbitem9: { name: 'tbitem9', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'abd55a0a17441c2023ae3166816e2d20';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRContractV_002Base
*/
public engine: GridViewEngine = new GridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRContractV_002Base
*/
public engineInit(): void {
this.engine.init({
view: this,
opendata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.opendata(args,fullargs, params, $event, xData);
},
newdata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.newdata(args,fullargs, params, $event, xData);
},
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'hrcontract',
majorPSDEField: 'hrcontractname',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem24')) {
this.toolbar_tbitem24_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem25')) {
this.toolbar_tbitem25_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem13')) {
this.toolbar_tbitem13_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public grid_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_002Base
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem24_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleRowEdit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem25_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.NewRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem8_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem13_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem11_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem19_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_002
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
const data: any = {};
if(args[0].srfsourcekey){
data.srfsourcekey = args[0].srfsourcekey;
}
let tempContext = JSON.parse(JSON.stringify(this.context));
delete tempContext.hrcontract;
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const _data: any = { w: (new Date().getTime()) };
Object.assign(_data, data);
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, _data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_002
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) {
const localContext: any = null;
const localViewParam: any =null;
const data: any = {};
let tempContext = JSON.parse(JSON.stringify(this.context));
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hrcontract: args[0].hrcontract })
}
_this.opendata([{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public ToggleRowEdit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
xData.actualIsOpenEdit = !xData.actualIsOpenEdit;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public NewRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
const data: any = {};
if (_this.hasOwnProperty('newRow') && _this.newRow instanceof Function) {
_this.newRow([{ ...data }], params, $event, xData);
} else if(xData.newRow && xData.newRow instanceof Function) {
xData.newRow([{ ...data }], params, $event, xData);
}else{
_this.$Notice.error({ title: '错误', desc: 'newRow 视图处理逻辑不存在,请添加!' });
}
}
/**
* 保存行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public SaveRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
// 界面行为容器对象 _this
const _this: any = this;
if (xData && xData.save instanceof Function) {
xData.save();
} else if (_this.save && _this.save instanceof Function) {
_this.save();
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.remove instanceof Function)) {
return ;
}
xData.remove(args);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.exportExcel instanceof Function) || !$event) {
return ;
}
xData.exportExcel($event.exportparms);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_002Base
*/
public ToggleFilter(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.hasOwnProperty('isExpandSearchForm')) {
_this.isExpandSearchForm = !_this.isExpandSearchForm;
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrcontractv_002" viewTitle="合同表格(全部合同)" class='degridview hrcontract-v-002'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchWaitSign"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./hrcontract-v-002.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRContractV_002Base } from './hrcontract-v-002-base';
import view_grid from '@widgets/hrcontract/main-grid/main-grid.vue';
import view_searchform from '@widgets/hrcontract/default-searchform/default-searchform.vue';
/**
* 合同表格(全部合同)视图
*
* @export
* @class HRContractV_002
* @extends {HRContractV_002Base}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class HRContractV_002 extends HRContractV_002Base { }
</script>
import { Subject } from 'rxjs';
import { GridViewBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import HRContractAuthService from '@/authservice/hrcontract/hrcontract-auth-service';
import GridViewEngine from '@engine/view/grid-view-engine';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
import CodeListService from "@service/app/codelist-service";
/**
* 合同表格(全部合同)视图基类
*
* @export
* @class HRContractV_003Base
* @extends {GridViewBase}
*/
export class HRContractV_003Base extends GridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRContractV_003Base
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRContractV_003Base
*/
protected appDeKey: string = 'hrcontractid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRContractV_003Base
*/
protected appDeMajor: string = 'hrcontractname';
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof HRContractV_003Base
*/
protected appEntityService: HRContractService = new HRContractService;
/**
* 实体权限服务对象
*
* @type HRContractUIService
* @memberof HRContractV_003Base
*/
public appUIService: HRContractUIService = new HRContractUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRContractV_003Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRContractV_003Base
*/
protected model: any = {
srfCaption: 'entities.hrcontract.views.v_003.caption',
srfTitle: 'entities.hrcontract.views.v_003.title',
srfSubTitle: 'entities.hrcontract.views.v_003.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRContractV_003Base
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HRContractV_003
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem7: { name: 'tbitem7', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem8: { name: 'tbitem8', caption: '删除', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY', class: '' } },
tbitem9: { name: 'tbitem9', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'cb76a18e2c82d318acd00a4ae7c63e8f';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRContractV_003Base
*/
public engine: GridViewEngine = new GridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRContractV_003Base
*/
public engineInit(): void {
this.engine.init({
view: this,
opendata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.opendata(args,fullargs, params, $event, xData);
},
newdata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.newdata(args,fullargs, params, $event, xData);
},
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'hrcontract',
majorPSDEField: 'hrcontractname',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem24')) {
this.toolbar_tbitem24_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem25')) {
this.toolbar_tbitem25_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem13')) {
this.toolbar_tbitem13_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public grid_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_003Base
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem24_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleRowEdit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem25_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.NewRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem8_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem13_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem11_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem19_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_003
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
const data: any = {};
if(args[0].srfsourcekey){
data.srfsourcekey = args[0].srfsourcekey;
}
let tempContext = JSON.parse(JSON.stringify(this.context));
delete tempContext.hrcontract;
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const _data: any = { w: (new Date().getTime()) };
Object.assign(_data, data);
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, _data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_003
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) {
const localContext: any = null;
const localViewParam: any =null;
const data: any = {};
let tempContext = JSON.parse(JSON.stringify(this.context));
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hrcontract: args[0].hrcontract })
}
_this.opendata([{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public ToggleRowEdit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
xData.actualIsOpenEdit = !xData.actualIsOpenEdit;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public NewRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
const data: any = {};
if (_this.hasOwnProperty('newRow') && _this.newRow instanceof Function) {
_this.newRow([{ ...data }], params, $event, xData);
} else if(xData.newRow && xData.newRow instanceof Function) {
xData.newRow([{ ...data }], params, $event, xData);
}else{
_this.$Notice.error({ title: '错误', desc: 'newRow 视图处理逻辑不存在,请添加!' });
}
}
/**
* 保存行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public SaveRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
// 界面行为容器对象 _this
const _this: any = this;
if (xData && xData.save instanceof Function) {
xData.save();
} else if (_this.save && _this.save instanceof Function) {
_this.save();
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.remove instanceof Function)) {
return ;
}
xData.remove(args);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.exportExcel instanceof Function) || !$event) {
return ;
}
xData.exportExcel($event.exportparms);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_003Base
*/
public ToggleFilter(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.hasOwnProperty('isExpandSearchForm')) {
_this.isExpandSearchForm = !_this.isExpandSearchForm;
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrcontractv_003" viewTitle="合同表格(全部合同)" class='degridview hrcontract-v-003'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchWaitStop"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./hrcontract-v-003.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRContractV_003Base } from './hrcontract-v-003-base';
import view_grid from '@widgets/hrcontract/main-grid/main-grid.vue';
import view_searchform from '@widgets/hrcontract/default-searchform/default-searchform.vue';
/**
* 合同表格(全部合同)视图
*
* @export
* @class HRContractV_003
* @extends {HRContractV_003Base}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class HRContractV_003 extends HRContractV_003Base { }
</script>
import { Subject } from 'rxjs';
import { GridViewBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import HRContractAuthService from '@/authservice/hrcontract/hrcontract-auth-service';
import GridViewEngine from '@engine/view/grid-view-engine';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
import CodeListService from "@service/app/codelist-service";
/**
* 合同表格(全部合同)视图基类
*
* @export
* @class HRContractV_004Base
* @extends {GridViewBase}
*/
export class HRContractV_004Base extends GridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRContractV_004Base
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRContractV_004Base
*/
protected appDeKey: string = 'hrcontractid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRContractV_004Base
*/
protected appDeMajor: string = 'hrcontractname';
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof HRContractV_004Base
*/
protected appEntityService: HRContractService = new HRContractService;
/**
* 实体权限服务对象
*
* @type HRContractUIService
* @memberof HRContractV_004Base
*/
public appUIService: HRContractUIService = new HRContractUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRContractV_004Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRContractV_004Base
*/
protected model: any = {
srfCaption: 'entities.hrcontract.views.v_004.caption',
srfTitle: 'entities.hrcontract.views.v_004.title',
srfSubTitle: 'entities.hrcontract.views.v_004.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRContractV_004Base
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HRContractV_004
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem7: { name: 'tbitem7', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem8: { name: 'tbitem8', caption: '删除', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY', class: '' } },
tbitem9: { name: 'tbitem9', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '9974f3026a0417dd6dd09a03b3303503';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRContractV_004Base
*/
public engine: GridViewEngine = new GridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRContractV_004Base
*/
public engineInit(): void {
this.engine.init({
view: this,
opendata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.opendata(args,fullargs, params, $event, xData);
},
newdata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.newdata(args,fullargs, params, $event, xData);
},
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'hrcontract',
majorPSDEField: 'hrcontractname',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem24')) {
this.toolbar_tbitem24_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem25')) {
this.toolbar_tbitem25_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem13')) {
this.toolbar_tbitem13_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public grid_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRContractV_004Base
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem24_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleRowEdit(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem25_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.NewRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveRow(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem8_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem13_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem11_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem19_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"HRContract");
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_004
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
const data: any = {};
if(args[0].srfsourcekey){
data.srfsourcekey = args[0].srfsourcekey;
}
let tempContext = JSON.parse(JSON.stringify(this.context));
delete tempContext.hrcontract;
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const _data: any = { w: (new Date().getTime()) };
Object.assign(_data, data);
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, _data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HRContractV_004
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) {
const localContext: any = null;
const localViewParam: any =null;
const data: any = {};
let tempContext = JSON.parse(JSON.stringify(this.context));
if(args.length >0){
Object.assign(tempContext,args[0]);
}
let deResParameters: any[] = [];
if(tempContext.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hrcontract: args[0].hrcontract })
}
_this.opendata([{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public ToggleRowEdit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
xData.actualIsOpenEdit = !xData.actualIsOpenEdit;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public NewRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
const data: any = {};
if (_this.hasOwnProperty('newRow') && _this.newRow instanceof Function) {
_this.newRow([{ ...data }], params, $event, xData);
} else if(xData.newRow && xData.newRow instanceof Function) {
xData.newRow([{ ...data }], params, $event, xData);
}else{
_this.$Notice.error({ title: '错误', desc: 'newRow 视图处理逻辑不存在,请添加!' });
}
}
/**
* 保存行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public SaveRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
// 界面行为容器对象 _this
const _this: any = this;
if (xData && xData.save instanceof Function) {
xData.save();
} else if (_this.save && _this.save instanceof Function) {
_this.save();
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.remove instanceof Function)) {
return ;
}
xData.remove(args);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.exportExcel instanceof Function) || !$event) {
return ;
}
xData.exportExcel($event.exportparms);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRContractV_004Base
*/
public ToggleFilter(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.hasOwnProperty('isExpandSearchForm')) {
_this.isExpandSearchForm = !_this.isExpandSearchForm;
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrcontractv_004" viewTitle="合同表格(全部合同)" class='degridview hrcontract-v-004'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchActive"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./hrcontract-v-004.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRContractV_004Base } from './hrcontract-v-004-base';
import view_grid from '@widgets/hrcontract/main-grid/main-grid.vue';
import view_searchform from '@widgets/hrcontract/default-searchform/default-searchform.vue';
/**
* 合同表格(全部合同)视图
*
* @export
* @class HRContractV_004
* @extends {HRContractV_004Base}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class HRContractV_004 extends HRContractV_004Base { }
</script>
import { Subject } from 'rxjs';
import { GridViewBase } from '@/studio-core';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import HREmployeeAuthService from '@/authservice/hremployee/hremployee-auth-service';
import GridViewEngine from '@engine/view/grid-view-engine';
import HREmployeeUIService from '@/uiservice/hremployee/hremployee-ui-service';
import CodeListService from "@service/app/codelist-service";
/**
* 员工视图基类
*
* @export
* @class HREmployeeV_007Base
* @extends {GridViewBase}
*/
export class HREmployeeV_007Base extends GridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HREmployeeV_007Base
*/
protected appDeName: string = 'hremployee';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HREmployeeV_007Base
*/
protected appDeKey: string = 'employeeid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HREmployeeV_007Base
*/
protected appDeMajor: string = 'employeename';
/**
* 实体服务对象
*
* @type {HREmployeeService}
* @memberof HREmployeeV_007Base
*/
protected appEntityService: HREmployeeService = new HREmployeeService;
/**
* 实体权限服务对象
*
* @type HREmployeeUIService
* @memberof HREmployeeV_007Base
*/
public appUIService: HREmployeeUIService = new HREmployeeUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HREmployeeV_007Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HREmployeeV_007Base
*/
protected model: any = {
srfCaption: 'entities.hremployee.views.v_007.caption',
srfTitle: 'entities.hremployee.views.v_007.title',
srfSubTitle: 'entities.hremployee.views.v_007.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HREmployeeV_007Base
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HREmployeeV_007
*/
public toolBarModels: any = {
tbitem1_ff_002: { name: 'tbitem1_ff_002', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-user-plus', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'FF_002', target: 'NONE', class: '' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem6: { name: 'tbitem6', caption: '拷贝', 'isShowCaption': true, 'isShowIcon': true, tooltip: '拷贝', iconcls: 'fa fa-copy', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Copy', target: 'SINGLEKEY', class: '' } },
tbitem7: { name: 'tbitem7', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem8: { name: 'tbitem8', caption: '删除', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY', class: '' } },
tbitem9: { name: 'tbitem9', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '015fb4ef7eeccdff1c16a30744372a8f';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HREmployeeV_007Base
*/
public engine: GridViewEngine = new GridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HREmployeeV_007Base
*/
public engineInit(): void {
this.engine.init({
view: this,
opendata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.opendata(args,fullargs, params, $event, xData);
},
newdata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.newdata(args,fullargs, params, $event, xData);
},
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'hremployee',
majorPSDEField: 'employeename',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem1_ff_002')) {
this.toolbar_tbitem1_ff_002_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem6')) {
this.toolbar_tbitem6_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem13')) {
this.toolbar_tbitem13_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public grid_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_007Base
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_ff_002_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:HREmployeeUIService = new HREmployeeUIService();
curUIService.HREmployee_FF_002(datas,contextJO, paramJO, $event, xData,this,"HREmployee");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"HREmployee");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem6_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Copy(datas, contextJO,paramJO, $event, xData,this,"HREmployee");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem8_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"HREmployee");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem13_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"HREmployee");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem11_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"HREmployee");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem19_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"HREmployee");
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HREmployeeV_007
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
const data: any = {};
if(args[0].srfsourcekey){
data.srfsourcekey = args[0].srfsourcekey;
}
let tempContext = JSON.parse(JSON.stringify(this.context));
delete tempContext.hremployee;
if(args.length >0){
Object.assign(tempContext,args[0]);
}
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
];
const _this: any = this;
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
if (!xData || !(xData.refresh instanceof Function)) {
return;
}
xData.refresh(result.datas);
});
}
const view: any = {
viewname: 'hremployee-v-001',
height: 0,
width: 600,
title: this.$t('entities.hremployee.views.v_001.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof HREmployeeV_007
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) {
const localContext: any = null;
const localViewParam: any =null;
const data: any = {};
let tempContext = JSON.parse(JSON.stringify(this.context));
if(args.length >0){
Object.assign(tempContext,args[0]);
}
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'treeexpview', parameterName: 'treeexpview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HREmployeeV_007Base
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hremployee: args[0].hremployee })
}
_this.opendata([{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HREmployeeV_007Base
*/
public Copy(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hremployee: args[0].hremployee });
}
if(!params) params = {};
Object.assign(params,{copymode:true});
_this.opendata([{ ...data }], params, $event, xData);
} else {
Object.assign(this.viewparams,{copymode:true});
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HREmployeeV_007Base
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.remove instanceof Function)) {
return ;
}
xData.remove(args);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HREmployeeV_007Base
*/
public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.exportExcel instanceof Function) || !$event) {
return ;
}
xData.exportExcel($event.exportparms);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HREmployeeV_007Base
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HREmployeeV_007Base
*/
public ToggleFilter(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.hasOwnProperty('isExpandSearchForm')) {
_this.isExpandSearchForm = !_this.isExpandSearchForm;
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="hremployeev_007" viewTitle="员工" class='degridview hremployee-v-007'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchNoContract"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./hremployee-v-007.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HREmployeeV_007Base } from './hremployee-v-007-base';
import view_grid from '@widgets/hremployee/main-grid/main-grid.vue';
import view_searchform from '@widgets/hremployee/default-searchform/default-searchform.vue';
/**
* 员工视图
*
* @export
* @class HREmployeeV_007
* @extends {HREmployeeV_007Base}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class HREmployeeV_007 extends HREmployeeV_007Base { }
</script>
...@@ -4,10 +4,12 @@ export const PageComponents = { ...@@ -4,10 +4,12 @@ export const PageComponents = {
Vue.component('hrcertificate-edit-view', () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue')); Vue.component('hrcertificate-edit-view', () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'));
Vue.component('hrpost-v-004', () => import('@pages/human-resource/hrpost-v-004/hrpost-v-004.vue')); Vue.component('hrpost-v-004', () => import('@pages/human-resource/hrpost-v-004/hrpost-v-004.vue'));
Vue.component('hrduty-v-001', () => import('@pages/human-resource/hrduty-v-001/hrduty-v-001.vue')); Vue.component('hrduty-v-001', () => import('@pages/human-resource/hrduty-v-001/hrduty-v-001.vue'));
Vue.component('hrcontract-v-001', () => import('@pages/human-resource/hrcontract-v-001/hrcontract-v-001.vue'));
Vue.component('hromhierarchy-cat-tab-exp-view', () => import('@pages/base/hromhierarchy-cat-tab-exp-view/hromhierarchy-cat-tab-exp-view.vue')); Vue.component('hromhierarchy-cat-tab-exp-view', () => import('@pages/base/hromhierarchy-cat-tab-exp-view/hromhierarchy-cat-tab-exp-view.vue'));
Vue.component('hrlanguage-ability-edit-view', () => import('@pages/human-resource/hrlanguage-ability-edit-view/hrlanguage-ability-edit-view.vue')); Vue.component('hrlanguage-ability-edit-view', () => import('@pages/human-resource/hrlanguage-ability-edit-view/hrlanguage-ability-edit-view.vue'));
Vue.component('hroperation-unit-v-001', () => import('@pages/base/hroperation-unit-v-001/hroperation-unit-v-001.vue')); Vue.component('hroperation-unit-v-001', () => import('@pages/base/hroperation-unit-v-001/hroperation-unit-v-001.vue'));
Vue.component('hrduty-pickup-grid-view', () => import('@pages/human-resource/hrduty-pickup-grid-view/hrduty-pickup-grid-view.vue')); Vue.component('hrduty-pickup-grid-view', () => import('@pages/human-resource/hrduty-pickup-grid-view/hrduty-pickup-grid-view.vue'));
Vue.component('hrcontract-v-003', () => import('@pages/human-resource/hrcontract-v-003/hrcontract-v-003.vue'));
Vue.component('hroperation-unit-v-002', () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue')); Vue.component('hroperation-unit-v-002', () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue'));
Vue.component('hrpost-rel-v-002', () => import('@pages/human-resource/hrpost-rel-v-002/hrpost-rel-v-002.vue')); Vue.component('hrpost-rel-v-002', () => import('@pages/human-resource/hrpost-rel-v-002/hrpost-rel-v-002.vue'));
Vue.component('hremployee-pickup-grid-view', () => import('@pages/human-resource/hremployee-pickup-grid-view/hremployee-pickup-grid-view.vue')); Vue.component('hremployee-pickup-grid-view', () => import('@pages/human-resource/hremployee-pickup-grid-view/hremployee-pickup-grid-view.vue'));
...@@ -16,23 +18,27 @@ export const PageComponents = { ...@@ -16,23 +18,27 @@ export const PageComponents = {
Vue.component('hrlegal-grid-view', () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue')); Vue.component('hrlegal-grid-view', () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'));
Vue.component('hromhierarchy-tree-exp-view', () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue')); Vue.component('hromhierarchy-tree-exp-view', () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'));
Vue.component('hrlegal-v-002', () => import('@pages/base/hrlegal-v-002/hrlegal-v-002.vue')); Vue.component('hrlegal-v-002', () => import('@pages/base/hrlegal-v-002/hrlegal-v-002.vue'));
Vue.component('hrcontract-tab-exp-view', () => import('@pages/human-resource/hrcontract-tab-exp-view/hrcontract-tab-exp-view.vue'));
Vue.component('hremployee-v-003', () => import('@pages/human-resource/hremployee-v-003/hremployee-v-003.vue')); Vue.component('hremployee-v-003', () => import('@pages/human-resource/hremployee-v-003/hremployee-v-003.vue'));
Vue.component('hrpost-pickup-view', () => import('@pages/human-resource/hrpost-pickup-view/hrpost-pickup-view.vue'));
Vue.component('hrduty-tab-exp-view', () => import('@pages/human-resource/hrduty-tab-exp-view/hrduty-tab-exp-view.vue')); Vue.component('hrduty-tab-exp-view', () => import('@pages/human-resource/hrduty-tab-exp-view/hrduty-tab-exp-view.vue'));
Vue.component('hrpost-pickup-view', () => import('@pages/human-resource/hrpost-pickup-view/hrpost-pickup-view.vue'));
Vue.component('hrorganization-pickup-grid-view', () => import('@pages/base/hrorganization-pickup-grid-view/hrorganization-pickup-grid-view.vue')); Vue.component('hrorganization-pickup-grid-view', () => import('@pages/base/hrorganization-pickup-grid-view/hrorganization-pickup-grid-view.vue'));
Vue.component('hrpost-pickup-grid-view', () => import('@pages/human-resource/hrpost-pickup-grid-view/hrpost-pickup-grid-view.vue')); Vue.component('hrpost-pickup-grid-view', () => import('@pages/human-resource/hrpost-pickup-grid-view/hrpost-pickup-grid-view.vue'));
Vue.component('hrcontract-v-002', () => import('@pages/human-resource/hrcontract-v-002/hrcontract-v-002.vue'));
Vue.component('hrduty-edu-v-001', () => import('@pages/human-resource/hrduty-edu-v-001/hrduty-edu-v-001.vue')); Vue.component('hrduty-edu-v-001', () => import('@pages/human-resource/hrduty-edu-v-001/hrduty-edu-v-001.vue'));
Vue.component('hrarchives-grid-view', () => import('@pages/human-resource/hrarchives-grid-view/hrarchives-grid-view.vue')); Vue.component('hrarchives-grid-view', () => import('@pages/human-resource/hrarchives-grid-view/hrarchives-grid-view.vue'));
Vue.component('hremployee-v-001', () => import('@pages/human-resource/hremployee-v-001/hremployee-v-001.vue')); Vue.component('hremployee-v-001', () => import('@pages/human-resource/hremployee-v-001/hremployee-v-001.vue'));
Vue.component('hromhierarchy-cat-grid-view', () => import('@pages/base/hromhierarchy-cat-grid-view/hromhierarchy-cat-grid-view.vue'));
Vue.component('hrorganization-edit-view', () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue')); Vue.component('hrorganization-edit-view', () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue'));
Vue.component('hromhierarchy-cat-grid-view', () => import('@pages/base/hromhierarchy-cat-grid-view/hromhierarchy-cat-grid-view.vue'));
Vue.component('hrpost-rel-v-001', () => import('@pages/human-resource/hrpost-rel-v-001/hrpost-rel-v-001.vue')); Vue.component('hrpost-rel-v-001', () => import('@pages/human-resource/hrpost-rel-v-001/hrpost-rel-v-001.vue'));
Vue.component('hrresearch-grid-view', () => import('@pages/human-resource/hrresearch-grid-view/hrresearch-grid-view.vue')); Vue.component('hrresearch-grid-view', () => import('@pages/human-resource/hrresearch-grid-view/hrresearch-grid-view.vue'));
Vue.component('hrpost-v-003', () => import('@pages/human-resource/hrpost-v-003/hrpost-v-003.vue')); Vue.component('hrpost-v-003', () => import('@pages/human-resource/hrpost-v-003/hrpost-v-003.vue'));
Vue.component('hremployee-grid-view', () => import('@pages/human-resource/hremployee-grid-view/hremployee-grid-view.vue')); Vue.component('hremployee-grid-view', () => import('@pages/human-resource/hremployee-grid-view/hremployee-grid-view.vue'));
Vue.component('hrduty-v-002', () => import('@pages/human-resource/hrduty-v-002/hrduty-v-002.vue')); Vue.component('hrduty-v-002', () => import('@pages/human-resource/hrduty-v-002/hrduty-v-002.vue'));
Vue.component('hromhierarchy-cat-pickup-grid-view', () => import('@pages/base/hromhierarchy-cat-pickup-grid-view/hromhierarchy-cat-pickup-grid-view.vue')); Vue.component('hromhierarchy-cat-pickup-grid-view', () => import('@pages/base/hromhierarchy-cat-pickup-grid-view/hromhierarchy-cat-pickup-grid-view.vue'));
Vue.component('hrcontract-v-004', () => import('@pages/human-resource/hrcontract-v-004/hrcontract-v-004.vue'));
Vue.component('hromhierarchy-cat-pickup-view', () => import('@pages/base/hromhierarchy-cat-pickup-view/hromhierarchy-cat-pickup-view.vue')); Vue.component('hromhierarchy-cat-pickup-view', () => import('@pages/base/hromhierarchy-cat-pickup-view/hromhierarchy-cat-pickup-view.vue'));
Vue.component('hremployee-v-007', () => import('@pages/human-resource/hremployee-v-007/hremployee-v-007.vue'));
Vue.component('hrpost-v-005', () => import('@pages/human-resource/hrpost-v-005/hrpost-v-005.vue')); Vue.component('hrpost-v-005', () => import('@pages/human-resource/hrpost-v-005/hrpost-v-005.vue'));
Vue.component('hrlegal-edit-view', () => import('@pages/base/hrlegal-edit-view/hrlegal-edit-view.vue')); Vue.component('hrlegal-edit-view', () => import('@pages/base/hrlegal-edit-view/hrlegal-edit-view.vue'));
Vue.component('hrorganization-grid-view', () => import('@pages/base/hrorganization-grid-view/hrorganization-grid-view.vue')); Vue.component('hrorganization-grid-view', () => import('@pages/base/hrorganization-grid-view/hrorganization-grid-view.vue'));
...@@ -66,9 +72,9 @@ export const PageComponents = { ...@@ -66,9 +72,9 @@ export const PageComponents = {
Vue.component('hremployee-tree-exp-view', () => import('@pages/human-resource/hremployee-tree-exp-view/hremployee-tree-exp-view.vue')); Vue.component('hremployee-tree-exp-view', () => import('@pages/human-resource/hremployee-tree-exp-view/hremployee-tree-exp-view.vue'));
Vue.component('hremployee-tab-exp-view', () => import('@pages/human-resource/hremployee-tab-exp-view/hremployee-tab-exp-view.vue')); Vue.component('hremployee-tab-exp-view', () => import('@pages/human-resource/hremployee-tab-exp-view/hremployee-tab-exp-view.vue'));
Vue.component('hrcontract-edit-view', () => import('@pages/human-resource/hrcontract-edit-view/hrcontract-edit-view.vue')); Vue.component('hrcontract-edit-view', () => import('@pages/human-resource/hrcontract-edit-view/hrcontract-edit-view.vue'));
Vue.component('hrorganization-pickup-view', () => import('@pages/base/hrorganization-pickup-view/hrorganization-pickup-view.vue'));
Vue.component('hrduty-edu-grid-view', () => import('@pages/human-resource/hrduty-edu-grid-view/hrduty-edu-grid-view.vue')); Vue.component('hrduty-edu-grid-view', () => import('@pages/human-resource/hrduty-edu-grid-view/hrduty-edu-grid-view.vue'));
Vue.component('hromhierarchy-cat-dashboard-view', () => import('@pages/base/hromhierarchy-cat-dashboard-view/hromhierarchy-cat-dashboard-view.vue')); Vue.component('hromhierarchy-cat-dashboard-view', () => import('@pages/base/hromhierarchy-cat-dashboard-view/hromhierarchy-cat-dashboard-view.vue'));
Vue.component('hrorganization-pickup-view', () => import('@pages/base/hrorganization-pickup-view/hrorganization-pickup-view.vue'));
Vue.component('hroperation-unit-tab-exp-view', () => import('@pages/base/hroperation-unit-tab-exp-view/hroperation-unit-tab-exp-view.vue')); Vue.component('hroperation-unit-tab-exp-view', () => import('@pages/base/hroperation-unit-tab-exp-view/hroperation-unit-tab-exp-view.vue'));
Vue.component('hrlanguage-ability-grid-view', () => import('@pages/human-resource/hrlanguage-ability-grid-view/hrlanguage-ability-grid-view.vue')); Vue.component('hrlanguage-ability-grid-view', () => import('@pages/human-resource/hrlanguage-ability-grid-view/hrlanguage-ability-grid-view.vue'));
Vue.component('hrorg-address-grid-view', () => import('@pages/base/hrorg-address-grid-view/hrorg-address-grid-view.vue')); Vue.component('hrorg-address-grid-view', () => import('@pages/base/hrorg-address-grid-view/hrorg-address-grid-view.vue'));
......
...@@ -129,6 +129,35 @@ const router = new Router({ ...@@ -129,6 +129,35 @@ const router = new Router({
}, },
component: () => import('@pages/human-resource/hrduty-v-001/hrduty-v-001.vue'), component: () => import('@pages/human-resource/hrduty-v-001/hrduty-v-001.vue'),
}, },
{
path: 'hremployees/:hremployee?/hrcontracts/:hrcontract?/v_001/:v_001?',
meta: {
caption: 'entities.hrcontract.views.v_001.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_001', parameterName: 'v_001' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-001/hrcontract-v-001.vue'),
},
{
path: 'hrcontracts/:hrcontract?/v_001/:v_001?',
meta: {
caption: 'entities.hrcontract.views.v_001.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_001', parameterName: 'v_001' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-001/hrcontract-v-001.vue'),
},
{ {
path: 'hromhierarchycats/:hromhierarchycat?/tabexpview/:tabexpview?', path: 'hromhierarchycats/:hromhierarchycat?/tabexpview/:tabexpview?',
meta: { meta: {
...@@ -200,6 +229,35 @@ const router = new Router({ ...@@ -200,6 +229,35 @@ const router = new Router({
}, },
component: () => import('@pages/human-resource/hrduty-pickup-grid-view/hrduty-pickup-grid-view.vue'), component: () => import('@pages/human-resource/hrduty-pickup-grid-view/hrduty-pickup-grid-view.vue'),
}, },
{
path: 'hremployees/:hremployee?/hrcontracts/:hrcontract?/v_003/:v_003?',
meta: {
caption: 'entities.hrcontract.views.v_003.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_003', parameterName: 'v_003' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-003/hrcontract-v-003.vue'),
},
{
path: 'hrcontracts/:hrcontract?/v_003/:v_003?',
meta: {
caption: 'entities.hrcontract.views.v_003.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_003', parameterName: 'v_003' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-003/hrcontract-v-003.vue'),
},
{ {
path: 'hroperationunits/:hroperationunit?/v_002/:v_002?', path: 'hroperationunits/:hroperationunit?/v_002/:v_002?',
meta: { meta: {
...@@ -358,32 +416,47 @@ const router = new Router({ ...@@ -358,32 +416,47 @@ const router = new Router({
component: () => import('@pages/base/hrlegal-v-002/hrlegal-v-002.vue'), component: () => import('@pages/base/hrlegal-v-002/hrlegal-v-002.vue'),
}, },
{ {
path: 'hremployees/:hremployee?/v_003/:v_003?', path: 'hremployees/:hremployee?/hrcontracts/:hrcontract?/tabexpview/:tabexpview?',
meta: { meta: {
caption: 'entities.hremployee.views.v_003.title', caption: 'entities.hrcontract.views.tabexpview.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'pim', parameterName: 'pim' }, { pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' }, { pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'v_003', parameterName: 'v_003' }, { pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/human-resource/hremployee-v-003/hremployee-v-003.vue'), component: () => import('@pages/human-resource/hrcontract-tab-exp-view/hrcontract-tab-exp-view.vue'),
}, },
{ {
path: 'hrposts/:hrpost?/pickupview/:pickupview?', path: 'hrcontracts/:hrcontract?/tabexpview/:tabexpview?',
meta: { meta: {
caption: 'entities.hrpost.views.pickupview.title', caption: 'entities.hrcontract.views.tabexpview.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'pim', parameterName: 'pim' }, { pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrposts', parameterName: 'hrpost' }, { pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'pickupview', parameterName: 'pickupview' }, { pathName: 'tabexpview', parameterName: 'tabexpview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/human-resource/hrpost-pickup-view/hrpost-pickup-view.vue'), component: () => import('@pages/human-resource/hrcontract-tab-exp-view/hrcontract-tab-exp-view.vue'),
},
{
path: 'hremployees/:hremployee?/v_003/:v_003?',
meta: {
caption: 'entities.hremployee.views.v_003.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'v_003', parameterName: 'v_003' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hremployee-v-003/hremployee-v-003.vue'),
}, },
{ {
path: 'hrduties/:hrduty?/tabexpview/:tabexpview?', path: 'hrduties/:hrduty?/tabexpview/:tabexpview?',
...@@ -399,6 +472,20 @@ const router = new Router({ ...@@ -399,6 +472,20 @@ const router = new Router({
}, },
component: () => import('@pages/human-resource/hrduty-tab-exp-view/hrduty-tab-exp-view.vue'), component: () => import('@pages/human-resource/hrduty-tab-exp-view/hrduty-tab-exp-view.vue'),
}, },
{
path: 'hrposts/:hrpost?/pickupview/:pickupview?',
meta: {
caption: 'entities.hrpost.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrposts', parameterName: 'hrpost' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrpost-pickup-view/hrpost-pickup-view.vue'),
},
{ {
path: 'hrorganizations/:hrorganization?/pickupgridview/:pickupgridview?', path: 'hrorganizations/:hrorganization?/pickupgridview/:pickupgridview?',
meta: { meta: {
...@@ -427,6 +514,35 @@ const router = new Router({ ...@@ -427,6 +514,35 @@ const router = new Router({
}, },
component: () => import('@pages/human-resource/hrpost-pickup-grid-view/hrpost-pickup-grid-view.vue'), component: () => import('@pages/human-resource/hrpost-pickup-grid-view/hrpost-pickup-grid-view.vue'),
}, },
{
path: 'hremployees/:hremployee?/hrcontracts/:hrcontract?/v_002/:v_002?',
meta: {
caption: 'entities.hrcontract.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-002/hrcontract-v-002.vue'),
},
{
path: 'hrcontracts/:hrcontract?/v_002/:v_002?',
meta: {
caption: 'entities.hrcontract.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-002/hrcontract-v-002.vue'),
},
{ {
path: 'hrduties/:hrduty?/hrdutyedus/:hrdutyedu?/v_001/:v_001?', path: 'hrduties/:hrduty?/hrdutyedus/:hrdutyedu?/v_001/:v_001?',
meta: { meta: {
...@@ -500,32 +616,32 @@ const router = new Router({ ...@@ -500,32 +616,32 @@ const router = new Router({
component: () => import('@pages/human-resource/hremployee-v-001/hremployee-v-001.vue'), component: () => import('@pages/human-resource/hremployee-v-001/hremployee-v-001.vue'),
}, },
{ {
path: 'hromhierarchycats/:hromhierarchycat?/gridview/:gridview?', path: 'hrorganizations/:hrorganization?/editview/:editview?',
meta: { meta: {
caption: 'entities.hromhierarchycat.views.gridview.title', caption: 'entities.hrorganization.views.editview.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'pim', parameterName: 'pim' }, { pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' }, { pathName: 'hrorganizations', parameterName: 'hrorganization' },
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'editview', parameterName: 'editview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/base/hromhierarchy-cat-grid-view/hromhierarchy-cat-grid-view.vue'), component: () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue'),
}, },
{ {
path: 'hrorganizations/:hrorganization?/editview/:editview?', path: 'hromhierarchycats/:hromhierarchycat?/gridview/:gridview?',
meta: { meta: {
caption: 'entities.hrorganization.views.editview.title', caption: 'entities.hromhierarchycat.views.gridview.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'pim', parameterName: 'pim' }, { pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrorganizations', parameterName: 'hrorganization' }, { pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' },
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'gridview', parameterName: 'gridview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue'), component: () => import('@pages/base/hromhierarchy-cat-grid-view/hromhierarchy-cat-grid-view.vue'),
}, },
{ {
path: 'hrposts/:hrpost?/hrpostrels/:hrpostrel?/v_001/:v_001?', path: 'hrposts/:hrpost?/hrpostrels/:hrpostrel?/v_001/:v_001?',
...@@ -641,6 +757,35 @@ const router = new Router({ ...@@ -641,6 +757,35 @@ const router = new Router({
}, },
component: () => import('@pages/base/hromhierarchy-cat-pickup-grid-view/hromhierarchy-cat-pickup-grid-view.vue'), component: () => import('@pages/base/hromhierarchy-cat-pickup-grid-view/hromhierarchy-cat-pickup-grid-view.vue'),
}, },
{
path: 'hremployees/:hremployee?/hrcontracts/:hrcontract?/v_004/:v_004?',
meta: {
caption: 'entities.hrcontract.views.v_004.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_004', parameterName: 'v_004' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-004/hrcontract-v-004.vue'),
},
{
path: 'hrcontracts/:hrcontract?/v_004/:v_004?',
meta: {
caption: 'entities.hrcontract.views.v_004.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'v_004', parameterName: 'v_004' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcontract-v-004/hrcontract-v-004.vue'),
},
{ {
path: 'hromhierarchycats/:hromhierarchycat?/pickupview/:pickupview?', path: 'hromhierarchycats/:hromhierarchycat?/pickupview/:pickupview?',
meta: { meta: {
...@@ -655,6 +800,20 @@ const router = new Router({ ...@@ -655,6 +800,20 @@ const router = new Router({
}, },
component: () => import('@pages/base/hromhierarchy-cat-pickup-view/hromhierarchy-cat-pickup-view.vue'), component: () => import('@pages/base/hromhierarchy-cat-pickup-view/hromhierarchy-cat-pickup-view.vue'),
}, },
{
path: 'hremployees/:hremployee?/v_007/:v_007?',
meta: {
caption: 'entities.hremployee.views.v_007.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'v_007', parameterName: 'v_007' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hremployee-v-007/hremployee-v-007.vue'),
},
{ {
path: 'hrposts/:hrpost?/v_005/:v_005?', path: 'hrposts/:hrpost?/v_005/:v_005?',
meta: { meta: {
...@@ -1387,20 +1546,6 @@ const router = new Router({ ...@@ -1387,20 +1546,6 @@ const router = new Router({
}, },
component: () => import('@pages/human-resource/hrcontract-edit-view/hrcontract-edit-view.vue'), component: () => import('@pages/human-resource/hrcontract-edit-view/hrcontract-edit-view.vue'),
}, },
{
path: 'hrorganizations/:hrorganization?/pickupview/:pickupview?',
meta: {
caption: 'entities.hrorganization.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrorganizations', parameterName: 'hrorganization' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrorganization-pickup-view/hrorganization-pickup-view.vue'),
},
{ {
path: 'hrduties/:hrduty?/hrdutyedus/:hrdutyedu?/gridview/:gridview?', path: 'hrduties/:hrduty?/hrdutyedus/:hrdutyedu?/gridview/:gridview?',
meta: { meta: {
...@@ -1444,6 +1589,20 @@ const router = new Router({ ...@@ -1444,6 +1589,20 @@ const router = new Router({
}, },
component: () => import('@pages/base/hromhierarchy-cat-dashboard-view/hromhierarchy-cat-dashboard-view.vue'), component: () => import('@pages/base/hromhierarchy-cat-dashboard-view/hromhierarchy-cat-dashboard-view.vue'),
}, },
{
path: 'hrorganizations/:hrorganization?/pickupview/:pickupview?',
meta: {
caption: 'entities.hrorganization.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrorganizations', parameterName: 'hrorganization' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrorganization-pickup-view/hrorganization-pickup-view.vue'),
},
{ {
path: 'hroperationunits/:hroperationunit?/tabexpview/:tabexpview?', path: 'hroperationunits/:hroperationunit?/tabexpview/:tabexpview?',
meta: { meta: {
......
...@@ -225,6 +225,26 @@ export default class HRContractServiceBase extends EntityService { ...@@ -225,6 +225,26 @@ export default class HRContractServiceBase extends EntityService {
return res; return res;
} }
/**
* FetchActive接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof HRContractServiceBase
*/
public async FetchActive(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.hremployee && true){
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hremployees/${context.hremployee}/hrcontracts/fetchactive`,tempData,isloading);
return res;
}
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hrcontracts/fetchactive`,tempData,isloading);
return res;
}
/** /**
* FetchDefault接口方法 * FetchDefault接口方法
* *
...@@ -244,4 +264,44 @@ export default class HRContractServiceBase extends EntityService { ...@@ -244,4 +264,44 @@ export default class HRContractServiceBase extends EntityService {
let res:any = Http.getInstance().get(`/hrcontracts/fetchdefault`,tempData,isloading); let res:any = Http.getInstance().get(`/hrcontracts/fetchdefault`,tempData,isloading);
return res; return res;
} }
/**
* FetchWaitSign接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof HRContractServiceBase
*/
public async FetchWaitSign(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.hremployee && true){
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hremployees/${context.hremployee}/hrcontracts/fetchwaitsign`,tempData,isloading);
return res;
}
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hrcontracts/fetchwaitsign`,tempData,isloading);
return res;
}
/**
* FetchWaitStop接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof HRContractServiceBase
*/
public async FetchWaitStop(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.hremployee && true){
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hremployees/${context.hremployee}/hrcontracts/fetchwaitstop`,tempData,isloading);
return res;
}
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hrcontracts/fetchwaitstop`,tempData,isloading);
return res;
}
} }
\ No newline at end of file
...@@ -229,6 +229,21 @@ export default class HREmployeeServiceBase extends EntityService { ...@@ -229,6 +229,21 @@ export default class HREmployeeServiceBase extends EntityService {
return res; return res;
} }
/**
* FetchNoContract接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof HREmployeeServiceBase
*/
public async FetchNoContract(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/hremployees/fetchnocontract`,tempData,isloading);
return res;
}
/** /**
* FetchOnDuty接口方法 * FetchOnDuty接口方法
* *
......
...@@ -3,6 +3,17 @@ ...@@ -3,6 +3,17 @@
*/ */
export const viewstate: any = { export const viewstate: any = {
appviews: [ appviews: [
{
viewtag: '015fb4ef7eeccdff1c16a30744372a8f',
viewmodule: 'HumanResource',
viewname: 'HREmployeeV_007',
viewaction: '',
viewdatachange: false,
refviews: [
'ba512ad6a392dc170b1959cebd038fb8',
'1fda62030d6149cb5ee6f088bc4f0aa7',
],
},
{ {
viewtag: '02571ad88a921ccc490d7b727b4f767d', viewtag: '02571ad88a921ccc490d7b727b4f767d',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
...@@ -333,6 +344,7 @@ export const viewstate: any = { ...@@ -333,6 +344,7 @@ export const viewstate: any = {
'b9130f18de0b66cd31ecaddb5a841aae', 'b9130f18de0b66cd31ecaddb5a841aae',
'41036146909ab3f28ff59b80370514b2', '41036146909ab3f28ff59b80370514b2',
'114f056047eddd92374e982356e59852', '114f056047eddd92374e982356e59852',
'71c5da4234a5c4d3e46c572556dd52d9',
], ],
}, },
{ {
...@@ -525,6 +537,20 @@ export const viewstate: any = { ...@@ -525,6 +537,20 @@ export const viewstate: any = {
'e09349c39faf8e8dbe63ac7be3aaa781', 'e09349c39faf8e8dbe63ac7be3aaa781',
], ],
}, },
{
viewtag: '71c5da4234a5c4d3e46c572556dd52d9',
viewmodule: 'HumanResource',
viewname: 'HRContractTabExpView',
viewaction: '',
viewdatachange: false,
refviews: [
'cb76a18e2c82d318acd00a4ae7c63e8f',
'0522eb326bd99a810463e71877f11c44',
'9974f3026a0417dd6dd09a03b3303503',
'015fb4ef7eeccdff1c16a30744372a8f',
'abd55a0a17441c2023ae3166816e2d20',
],
},
{ {
viewtag: '73f27ddcf2a626455aa88f4a052db014', viewtag: '73f27ddcf2a626455aa88f4a052db014',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
...@@ -635,6 +661,16 @@ export const viewstate: any = { ...@@ -635,6 +661,16 @@ export const viewstate: any = {
'1fda62030d6149cb5ee6f088bc4f0aa7', '1fda62030d6149cb5ee6f088bc4f0aa7',
], ],
}, },
{
viewtag: '9974f3026a0417dd6dd09a03b3303503',
viewmodule: 'HumanResource',
viewname: 'HRContractV_004',
viewaction: '',
viewdatachange: false,
refviews: [
'a03a955d89ac96b26f80ca2caf2cc023',
],
},
{ {
viewtag: '997c27311a28f6ed4e41153c43a5f723', viewtag: '997c27311a28f6ed4e41153c43a5f723',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
...@@ -698,6 +734,16 @@ export const viewstate: any = { ...@@ -698,6 +734,16 @@ export const viewstate: any = {
refviews: [ refviews: [
], ],
}, },
{
viewtag: 'abd55a0a17441c2023ae3166816e2d20',
viewmodule: 'HumanResource',
viewname: 'HRContractV_002',
viewaction: '',
viewdatachange: false,
refviews: [
'a03a955d89ac96b26f80ca2caf2cc023',
],
},
{ {
viewtag: 'aeb8d0367c4a34ad420ba08085acc8ce', viewtag: 'aeb8d0367c4a34ad420ba08085acc8ce',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
...@@ -790,7 +836,7 @@ export const viewstate: any = { ...@@ -790,7 +836,7 @@ export const viewstate: any = {
refviews: [ refviews: [
'0ca6b2b05e01dfdc50fcc397b55de86a', '0ca6b2b05e01dfdc50fcc397b55de86a',
'd6a51bb0caa43fb475fceed816e6a5aa', 'd6a51bb0caa43fb475fceed816e6a5aa',
'0522eb326bd99a810463e71877f11c44', 'ef663fe283b58da63cd423f8506fa726',
'7bef45fc4e0ec53b6a6925262c3ea133', '7bef45fc4e0ec53b6a6925262c3ea133',
'c01c4604589a2c171c4f41f2ac11f4e2', 'c01c4604589a2c171c4f41f2ac11f4e2',
'6fed66b17754f0251f020b82b375c009', '6fed66b17754f0251f020b82b375c009',
...@@ -880,6 +926,16 @@ export const viewstate: any = { ...@@ -880,6 +926,16 @@ export const viewstate: any = {
'1316a3add8f01af03edf978ef21af6b1', '1316a3add8f01af03edf978ef21af6b1',
], ],
}, },
{
viewtag: 'cb76a18e2c82d318acd00a4ae7c63e8f',
viewmodule: 'HumanResource',
viewname: 'HRContractV_003',
viewaction: '',
viewdatachange: false,
refviews: [
'a03a955d89ac96b26f80ca2caf2cc023',
],
},
{ {
viewtag: 'cc825f424baa276e6a286963d999e03a', viewtag: 'cc825f424baa276e6a286963d999e03a',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
...@@ -1060,6 +1116,16 @@ export const viewstate: any = { ...@@ -1060,6 +1116,16 @@ export const viewstate: any = {
'73f27ddcf2a626455aa88f4a052db014', '73f27ddcf2a626455aa88f4a052db014',
], ],
}, },
{
viewtag: 'ef663fe283b58da63cd423f8506fa726',
viewmodule: 'HumanResource',
viewname: 'HRContractV_001',
viewaction: '',
viewdatachange: false,
refviews: [
'a03a955d89ac96b26f80ca2caf2cc023',
],
},
{ {
viewtag: 'f03c9544f1a1107bb34a97542dde1a3e', viewtag: 'f03c9544f1a1107bb34a97542dde1a3e',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
......
...@@ -90,7 +90,12 @@ export default class HRContractUIServiceBase extends UIService { ...@@ -90,7 +90,12 @@ export default class HRContractUIServiceBase extends UIService {
*/ */
public initViewMap(){ public initViewMap(){
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'hrcontracts'}); this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'hrcontracts'});
this.allViewMap.set(':',{viewname:'tabexpview',srfappde:'hrcontracts'});
this.allViewMap.set(':',{viewname:'v_004',srfappde:'hrcontracts'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'hrcontracts'}); this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'hrcontracts'});
this.allViewMap.set(':',{viewname:'v_002',srfappde:'hrcontracts'});
this.allViewMap.set(':',{viewname:'v_003',srfappde:'hrcontracts'});
this.allViewMap.set(':',{viewname:'v_001',srfappde:'hrcontracts'});
} }
/** /**
......
...@@ -89,6 +89,7 @@ export default class HREmployeeUIServiceBase extends UIService { ...@@ -89,6 +89,7 @@ export default class HREmployeeUIServiceBase extends UIService {
* @memberof HREmployeeUIServiceBase * @memberof HREmployeeUIServiceBase
*/ */
public initViewMap(){ public initViewMap(){
this.allViewMap.set(':',{viewname:'v_007',srfappde:'hremployees'});
this.allViewMap.set(':',{viewname:'v_006',srfappde:'hremployees'}); this.allViewMap.set(':',{viewname:'v_006',srfappde:'hremployees'});
this.allViewMap.set(':',{viewname:'v_001',srfappde:'hremployees'}); this.allViewMap.set(':',{viewname:'v_001',srfappde:'hremployees'});
this.allViewMap.set(':',{viewname:'v_004',srfappde:'hremployees'}); this.allViewMap.set(':',{viewname:'v_004',srfappde:'hremployees'});
......
...@@ -15,8 +15,8 @@ export class PIMBase extends Vue { ...@@ -15,8 +15,8 @@ export class PIMBase extends Vue {
if (item) { if (item) {
let judge = true; let judge = true;
switch (item.appfunctag) { switch (item.appfunctag) {
case '_8': case '_9':
this.click_8(item); break; this.click_9(item); break;
case '_3': case '_3':
this.click_3(item); break; this.click_3(item); break;
case '_2': case '_2':
...@@ -25,8 +25,10 @@ export class PIMBase extends Vue { ...@@ -25,8 +25,10 @@ export class PIMBase extends Vue {
this.click_4(item); break; this.click_4(item); break;
case '_6': case '_6':
this.click_6(item); break; this.click_6(item); break;
case '_9': case '_10':
this.click_9(item); break; this.click_10(item); break;
case '_8':
this.click_8(item); break;
case '_5': case '_5':
this.click_5(item); break; this.click_5(item); break;
default: default:
...@@ -45,7 +47,7 @@ export class PIMBase extends Vue { ...@@ -45,7 +47,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof PIM * @memberof PIM
*/ */
public click_8(item: any = {}) { public click_9(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
...@@ -160,7 +162,7 @@ export class PIMBase extends Vue { ...@@ -160,7 +162,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof PIM * @memberof PIM
*/ */
public click_9(item: any = {}) { public click_10(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
...@@ -177,6 +179,29 @@ export class PIMBase extends Vue { ...@@ -177,6 +179,29 @@ export class PIMBase extends Vue {
}) })
} }
/**
* 合同信息
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_8(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/** /**
* 职务 * 职务
* *
......
...@@ -152,6 +152,27 @@ export default class PIMModel { ...@@ -152,6 +152,27 @@ export default class PIMModel {
viewname: 'hremployee-tab-exp-view', viewname: 'hremployee-tab-exp-view',
resourcetag: '', resourcetag: '',
} }
,
{
id: '9EAF638F-4BD3-41E5-95D9-D0BB5A0F8375',
name: 'menuitem8',
text: '合同信息',
type: 'MENUITEM',
counterid: '',
tooltip: '合同信息',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-th-large',
icon: '',
textcls: '',
appfunctag: '_8',
appfuncyype: 'APPVIEW',
viewname: 'hrcontract-tab-exp-view',
resourcetag: '',
}
, ,
], ],
} }
...@@ -231,7 +252,7 @@ export default class PIMModel { ...@@ -231,7 +252,7 @@ export default class PIMModel {
iconcls: 'fa fa-signal', iconcls: 'fa fa-signal',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_9', appfunctag: '_10',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'hromhierarchy-cat-grid-view', viewname: 'hromhierarchy-cat-grid-view',
resourcetag: '', resourcetag: '',
...@@ -252,7 +273,7 @@ export default class PIMModel { ...@@ -252,7 +273,7 @@ export default class PIMModel {
iconcls: 'fa fa-sitemap', iconcls: 'fa fa-sitemap',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_8', appfunctag: '_9',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'hrorganization-grid-view', viewname: 'hrorganization-grid-view',
resourcetag: '', resourcetag: '',
...@@ -414,7 +435,7 @@ export default class PIMModel { ...@@ -414,7 +435,7 @@ export default class PIMModel {
*/ */
private funcs: any[] = [ private funcs: any[] = [
{ {
appfunctag: '_8', appfunctag: '_9',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'hrorganizationgridview', codename: 'hrorganizationgridview',
...@@ -474,7 +495,7 @@ export default class PIMModel { ...@@ -474,7 +495,7 @@ export default class PIMModel {
], ],
}, },
{ {
appfunctag: '_9', appfunctag: '_10',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'hromhierarchycatgridview', codename: 'hromhierarchycatgridview',
...@@ -485,6 +506,18 @@ export default class PIMModel { ...@@ -485,6 +506,18 @@ export default class PIMModel {
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'gridview', parameterName: 'gridview' },
], ],
}, },
{
appfunctag: '_8',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrcontracttabexpview',
deResParameters: [],
routepath: '/pim/:pim?/hrcontracts/:hrcontract?/tabexpview/:tabexpview?',
parameters: [
{ pathName: 'hrcontracts', parameterName: 'hrcontract' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
],
},
{ {
appfunctag: '_5', appfunctag: '_5',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, GridControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import GRID_001Service from './grid-001-grid-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
import { FormItemModel } from '@/model/form-detail';
/**
* grid部件基类
*
* @export
* @class GridControlBase
* @extends {GRID_001GridBase}
*/
export class GRID_001GridBase extends GridControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof GRID_001GridBase
*/
protected controlType: string = 'GRID';
/**
* 建构部件服务对象
*
* @type {GRID_001Service}
* @memberof GRID_001GridBase
*/
public service: GRID_001Service = new GRID_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof GRID_001GridBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof GRID_001GridBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof GRID_001GridBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 界面UI服务对象
*
* @type {HRContractUIService}
* @memberof GRID_001Base
*/
public appUIService:HRContractUIService = new HRContractUIService(this.$store);
/**
* 界面行为模型
*
* @type {*}
* @memberof GRID_001Base
*/
public ActionModel: any = {
};
/**
* 本地缓存标识
*
* @protected
* @type {string}
* @memberof GRID_001Base
*/
protected localStorageTag: string = 'hrcontract_grid_001_grid';
/**
* 所有列成员
*
* @type {any[]}
* @memberof GRID_001GridBase
*/
public allColumns: any[] = [
{
name: 'contractcode',
label: '合同编号',
langtag: 'entities.hrcontract.grid_001_grid.columns.contractcode',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'contractmode',
label: '合同类别',
langtag: 'entities.hrcontract.grid_001_grid.columns.contractmode',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'contracttype',
label: '合同类型',
langtag: 'entities.hrcontract.grid_001_grid.columns.contracttype',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'begintime',
label: '开始日期',
langtag: 'entities.hrcontract.grid_001_grid.columns.begintime',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'endtime',
label: '结束日期',
langtag: 'entities.hrcontract.grid_001_grid.columns.endtime',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'mgrorganizationname',
label: '合同管理单位',
langtag: 'entities.hrcontract.grid_001_grid.columns.mgrorganizationname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'signorganizationname',
label: '合同签约单位',
langtag: 'entities.hrcontract.grid_001_grid.columns.signorganizationname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'contractstate',
label: '合同状态',
langtag: 'entities.hrcontract.grid_001_grid.columns.contractstate',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
]
/**
* 获取表格行模型
*
* @type {*}
* @memberof GRID_001GridBase
*/
public getGridRowModel(){
return {
srfkey: new FormItemModel(),
}
}
/**
* 属性值规则
*
* @type {*}
* @memberof GRID_001GridBase
*/
public rules: any = {
srfkey: [
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '合同信息标识 值不能为空', trigger: 'change' },
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '合同信息标识 值不能为空', trigger: 'blur' },
],
}
/**
* 获取对应列class
*
* @type {*}
* @memberof GRID_001Base
*/
public hasRowEdit: any = {
'contractcode':false,
'contractmode':false,
'contracttype':false,
'begintime':false,
'endtime':false,
'mgrorganizationname':false,
'signorganizationname':false,
'contractstate':false,
};
/**
* 获取对应列class
*
* @param {*} $args row 行数据,column 列数据,rowIndex 行索引,列索引
* @returns {void}
* @memberof GRID_001Base
*/
public getCellClassName(args: {row: any, column: any, rowIndex: number, columnIndex: number}): any {
return ( this.hasRowEdit[args.column.property] && this.actualIsOpenEdit ) ? "edit-cell" : "info-cell";
}
/**
* 导出数据格式化
*
* @param {*} filterVal
* @param {*} jsonData
* @param {any[]} [codelistColumns=[]]
* @returns {Promise<any>}
* @memberof GRID_001GridBase
*/
public async formatExcelData(filterVal: any, jsonData: any, codelistColumns?: any[]): Promise<any> {
return super.formatExcelData(filterVal, jsonData, [
{
name: 'contractmode',
srfkey: 'CL_HR_0021',
codelistType : 'STATIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
{
name: 'contracttype',
srfkey: 'CL_HR_0022',
codelistType : 'STATIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
{
name: 'contractstate',
srfkey: 'CL_HR_0019',
codelistType : 'STATIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
]);
}
}
\ No newline at end of file
/**
* GRID_001 部件模型
*
* @export
* @class GRID_001Model
*/
export default class GRID_001Model {
/**
* 是否是实体数据导出
*
* @returns {any[]}
* @memberof GRID_001GridMode
*/
public isDEExport: boolean = false;
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof GRID_001GridMode
*/
public getDataItems(): any[] {
if(this.isDEExport){
return [
]
}else{
return [
{
name: 'endtime',
prop: 'endtime',
dataType: 'DATE',
},
{
name: 'mgrorganizationname',
prop: 'mgrorganizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'contractcode',
prop: 'contractcode',
dataType: 'TEXT',
},
{
name: 'begintime',
prop: 'begintime',
dataType: 'DATE',
},
{
name: 'mgrorganizationid',
prop: 'mgrorganizationid',
dataType: 'PICKUP',
},
{
name: 'srfmajortext',
prop: 'hrcontractname',
dataType: 'TEXT',
},
{
name: 'srfkey',
prop: 'hrcontractid',
dataType: 'GUID',
isEditable:true
},
{
name: 'srfdataaccaction',
prop: 'hrcontractid',
dataType: 'GUID',
},
{
name: 'signorganizationid',
prop: 'signorganizationid',
dataType: 'PICKUP',
},
{
name: 'hremployeeid',
prop: 'hremployeeid',
dataType: 'PICKUP',
},
{
name: 'contracttype',
prop: 'contracttype',
dataType: 'SSCODELIST',
},
{
name: 'contractstate',
prop: 'contractstate',
dataType: 'SSCODELIST',
},
{
name: 'signorganizationname',
prop: 'signorganizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'contractmode',
prop: 'contractmode',
dataType: 'SSCODELIST',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name:'size',
prop:'size'
},
{
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
},
{
name:'sort',
prop:'sort'
},
{
name:'srfparentdata',
prop:'srfparentdata'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
]
}
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import GRID_001Model from './grid-001-grid-model';
/**
* GRID_001 部件服务对象
*
* @export
* @class GRID_001Service
*/
export default class GRID_001Service extends ControlService {
/**
* 合同信息服务对象
*
* @type {HRContractService}
* @memberof GRID_001Service
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof GRID_001Service
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of GRID_001Service.
*
* @param {*} [opts={}]
* @memberof GRID_001Service
*/
constructor(opts: any = {}) {
super(opts);
this.model = new GRID_001Model();
}
/**
* 处理数据
*
* @public
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
public doItems(promise: Promise<any>, deKeyField: string, deName: string): Promise<any> {
return new Promise((resolve, reject) => {
promise.then((response: any) => {
if (response && response.status === 200) {
const data = response.data;
data.forEach((item:any,index:number) =>{
item[deName] = item[deKeyField];
data[index] = item;
});
resolve(data);
} else {
reject([])
}
}).catch((response: any) => {
reject([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof GRID_001Service
*/
@Errorlog
public getItems(serviceName: string, interfaceName: string, context: any = {}, data: any, isloading?: boolean): Promise<any[]> {
data.page = data.page ? data.page : 0;
data.size = data.size ? data.size : 1000;
return Promise.reject([])
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestDataWithUpdate(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.Create(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.Remove(Context,Data, isloading);
}
result.then((response) => {
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestDataWithUpdate(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data,isloading);
}else{
result =_appEntityService.Update(Context,Data,isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 获取数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public get(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.Get(Context,Data, isloading);
}
result.then((response) => {
//处理返回数据,补充判断标识
if(response.data){
Object.assign(response.data,{srfuf:0});
}
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public search(action: string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.FetchDefault(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public loadDraft(action: string, context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.GetDraft(Context,Data, isloading);
}
result.then((response) => {
//处理返回数据,补充判断标识
if(response.data){
Object.assign(response.data,{srfuf:'0'});
//仿真主键数据
response.data.hrcontractid = Util.createUUID();
}
this.handleResponse(action, response, true);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public frontLogic(action:string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any)=>{
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
return Promise.reject({ status: 500, data: { title: '失败', message: '系统异常' } });
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
})
}
/**
* 处理请求数据(修改或增加数据)
*
* @param action 行为
* @param data 数据
* @memberof GRID_001Service
*/
public handleRequestDataWithUpdate(action: string,context:any ={},data: any = {},isMerge:boolean = false){
let model: any = this.getMode();
if (!model && model.getDataItems instanceof Function) {
return data;
}
let dataItems: any[] = model.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
dataItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop && item.name ){
requestData[item.prop] = context[item.name];
}
}else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0)) ){
requestData[item.prop] = data[item.name];
}
}
});
let tempContext:any = JSON.parse(JSON.stringify(context));
if(tempContext && tempContext.srfsessionid){
tempContext.srfsessionkey = tempContext.srfsessionid;
delete tempContext.srfsessionid;
}
return {context:tempContext,data:requestData};
}
}
\ No newline at end of file
<div :class="{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }">
<i-form>
<el-table v-if="isDisplay === true"
:default-sort="{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
:highlight-current-row ="isSingleSelect"
:row-class-name="getRowClassName.bind(_self)"
:cell-class-name="getCellClassName.bind(_self)"
size="mini"
stripe
@row-click="rowClick($event)"
@select-all="selectAll($event)"
@select="select($event)"
@row-class-name="onRowClassName($event)"
@row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty">
无数据
<span class="quick-toolbar">
</span>
</template>
<template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
</template>
<template v-if="getColumnState('contractcode')">
<el-table-column show-overflow-tooltip :prop="'contractcode'" :label="$t('entities.hrcontract.grid_001_grid.columns.contractcode')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.contractcode')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.contractcode}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('contractmode')">
<el-table-column show-overflow-tooltip :prop="'contractmode'" :label="$t('entities.hrcontract.grid_001_grid.columns.contractmode')" :width="150" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.contractmode')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<template >
<codelist :value="row.contractmode" tag='CL_HR_0021' codelistType='STATIC' ></codelist>
</template>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('contracttype')">
<el-table-column show-overflow-tooltip :prop="'contracttype'" :label="$t('entities.hrcontract.grid_001_grid.columns.contracttype')" :width="150" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.contracttype')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<template >
<codelist :value="row.contracttype" tag='CL_HR_0022' codelistType='STATIC' ></codelist>
</template>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('begintime')">
<el-table-column show-overflow-tooltip :prop="'begintime'" :label="$t('entities.hrcontract.grid_001_grid.columns.begintime')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.begintime')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<app-format-data format="YYYY-MM-DD" :data="row.begintime"></app-format-data>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('endtime')">
<el-table-column show-overflow-tooltip :prop="'endtime'" :label="$t('entities.hrcontract.grid_001_grid.columns.endtime')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.endtime')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<app-format-data format="YYYY-MM-DD" :data="row.endtime"></app-format-data>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('mgrorganizationname')">
<el-table-column show-overflow-tooltip :prop="'mgrorganizationname'" :label="$t('entities.hrcontract.grid_001_grid.columns.mgrorganizationname')" :width="200" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.mgrorganizationname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.mgrorganizationname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('signorganizationname')">
<el-table-column show-overflow-tooltip :prop="'signorganizationname'" :label="$t('entities.hrcontract.grid_001_grid.columns.signorganizationname')" :width="200" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.signorganizationname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.signorganizationname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('contractstate')">
<el-table-column show-overflow-tooltip :prop="'contractstate'" :label="$t('entities.hrcontract.grid_001_grid.columns.contractstate')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrcontract.grid_001_grid.columns.contractstate')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<template >
<codelist :value="row.contractstate" tag='CL_HR_0019' codelistType='STATIC' ></codelist>
</template>
</template>
</el-table-column>
</template>
<template v-if="adaptiveState">
<el-table-column></el-table-column>
</template>
</el-table>
<row class='grid-pagination' v-show="items.length > 0">
<page class='pull-right' @on-change="pageOnChange($event)"
@on-page-size-change="onPageSizeChange($event)"
:transfer="true" :total="totalRecord"
show-sizer :current="curPage" :page-size="limit"
:page-size-opts="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]" show-elevator show-total>
<span>
<span class="page-column">
<poptip transfer placement="top-start">
<i-button icon="md-menu">{{$t('app.gridpage.choicecolumns')}}</i-button>
<div slot="content">
<template v-for="col in allColumns">
<div :key="col.name"><el-checkbox v-model="col.show" @change="onColChange()">{{$t(col.langtag)}}</el-checkbox></div>
</template>
</div>
</poptip>
</span>
<span v-if="selections.length > 0" class="batch-toolbar">
</span>
<span class="page-button"><i-button icon="md-refresh" :title="$t('app.gridpage.refresh')" @click="pageRefresh()"></i-button></span>&nbsp;
<span>
{{$t('app.gridpage.show')}}&nbsp;
<span>
<template v-if="items.length === 1">
1
</template>
<template v-else>
<span>{{(curPage - 1) * limit + 1}}&nbsp;-&nbsp;{{totalRecord > curPage * limit ? curPage * limit : totalRecord}}</span>
</template>
</span>&nbsp;
{{$t('app.gridpage.records')}},{{$t('app.gridpage.totle')}}&nbsp;{{totalRecord}}&nbsp;{{$t('app.gridpage.records')}}
</span>
</span>
</page>
</row>
</i-form>
</div>
\ No newline at end of file
<template src="./grid-001-grid.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { GRID_001GridBase } from './grid-001-grid-base';
/**
* grid部件
*
* @export
* @class GRID_001Grid
* @extends {GRID_001GridBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class GRID_001Grid extends GRID_001GridBase { }
</script>
...@@ -223,6 +223,30 @@ export class MainGridBase extends GridControlBase { ...@@ -223,6 +223,30 @@ export class MainGridBase extends GridControlBase {
*/ */
public async formatExcelData(filterVal: any, jsonData: any, codelistColumns?: any[]): Promise<any> { public async formatExcelData(filterVal: any, jsonData: any, codelistColumns?: any[]): Promise<any> {
return super.formatExcelData(filterVal, jsonData, [ return super.formatExcelData(filterVal, jsonData, [
{
name: 'contractmode',
srfkey: 'CL_HR_0021',
codelistType : 'STATIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
{
name: 'contracttype',
srfkey: 'CL_HR_0022',
codelistType : 'STATIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
{
name: 'contractstate',
srfkey: 'CL_HR_0019',
codelistType : 'STATIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
]); ]);
} }
......
...@@ -43,7 +43,9 @@ ...@@ -43,7 +43,9 @@
</span> </span>
</template> </template>
<template v-slot="{row,column,$index}"> <template v-slot="{row,column,$index}">
<span>{{row.contractmode}}</span> <template >
<codelist :value="row.contractmode" tag='CL_HR_0021' codelistType='STATIC' ></codelist>
</template>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
...@@ -55,7 +57,9 @@ ...@@ -55,7 +57,9 @@
</span> </span>
</template> </template>
<template v-slot="{row,column,$index}"> <template v-slot="{row,column,$index}">
<span>{{row.contracttype}}</span> <template >
<codelist :value="row.contracttype" tag='CL_HR_0022' codelistType='STATIC' ></codelist>
</template>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
...@@ -115,7 +119,9 @@ ...@@ -115,7 +119,9 @@
</span> </span>
</template> </template>
<template v-slot="{row,column,$index}"> <template v-slot="{row,column,$index}">
<span>{{row.contractstate}}</span> <template >
<codelist :value="row.contractstate" tag='CL_HR_0019' codelistType='STATIC' ></codelist>
</template>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, TabExpPanelControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabexppanelService from './tab-exp-viewtabexppanel-tabexppanel-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {TabExpViewtabexppanelTabexppanelBase}
*/
export class TabExpViewtabexppanelTabexppanelBase extends TabExpPanelControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
protected controlType: string = 'TABEXPPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabexppanelService}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
public service: TabExpViewtabexppanelService = new TabExpViewtabexppanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof TabExpViewtabexppanel
*/
protected isInit: any = {
tabviewpanel5: true ,
tabviewpanel4: false ,
tabviewpanel3: false ,
tabviewpanel: false ,
tabviewpanel2: false ,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanel
*/
protected activatedTabViewPanel: string = 'tabviewpanel5';
/**
* 组件创建完毕
*
* @protected
* @memberof TabExpViewtabexppanel
*/
protected ctrlCreated(): void {
//设置分页导航srfparentdename和srfparentkey
if (this.context.hrcontract) {
Object.assign(this.context, { srfparentdename: 'HRContract', srfparentkey: this.context.hrcontract });
}
super.ctrlCreated();
}
}
\ No newline at end of file
/**
* TabExpViewtabexppanel 部件模型
*
* @export
* @class TabExpViewtabexppanelModel
*/
export default class TabExpViewtabexppanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabexppanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'createman',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name: 'hrcontractname',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'updateman',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'contractcode',
},
{
name: 'contractmode',
},
{
name: 'contracttype',
},
{
name: 'begintime',
},
{
name: 'endtime',
},
{
name: 'contractstate',
},
{
name: 'mgrorganizationid',
},
{
name: 'mgrorganizationname',
},
{
name: 'signorganizationid',
},
{
name: 'signorganizationname',
},
{
name: 'probationtime',
},
{
name: 'contractsigntype',
},
{
name: 'memo',
},
{
name: 'contractsignnum',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabexppanelModel from './tab-exp-viewtabexppanel-tabexppanel-model';
/**
* TabExpViewtabexppanel 部件服务对象
*
* @export
* @class TabExpViewtabexppanelService
*/
export default class TabExpViewtabexppanelService extends ControlService {
/**
* 合同信息服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabexppanelService
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof TabExpViewtabexppanelService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of TabExpViewtabexppanelService.
*
* @param {*} [opts={}]
* @memberof TabExpViewtabexppanelService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new TabExpViewtabexppanelModel();
}
}
\ No newline at end of file
<div class='tabviewpanel'>
<tabs :value="activatedTabViewPanel" :animated="false" class='tabexppanel' name='tabexpviewtabexppanel' @on-click="tabPanelClick($event)">
<tab-pane :index="0" name='tabviewpanel5' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-list',
style:{
'margin-right' : '2px'
}
}),
h('span', '全部合同'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel5
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel5"
name="tabviewpanel5"
ref='tabviewpanel5'
:expActive="activatedTabViewPanel === 'tabviewpanel5'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel5>
</tab-pane>
<tab-pane :index="1" name='tabviewpanel4' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-check-square-o',
style:{
'margin-right' : '2px'
}
}),
h('span', '执行中'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel4
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel4"
name="tabviewpanel4"
ref='tabviewpanel4'
:expActive="activatedTabViewPanel === 'tabviewpanel4'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel4>
</tab-pane>
<tab-pane :index="2" name='tabviewpanel3' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-stop',
style:{
'margin-right' : '2px'
}
}),
h('span', '待终止'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel3
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel3"
name="tabviewpanel3"
ref='tabviewpanel3'
:expActive="activatedTabViewPanel === 'tabviewpanel3'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel3>
</tab-pane>
<tab-pane :index="3" name='tabviewpanel' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-edit',
style:{
'margin-right' : '2px'
}
}),
h('span', '待新签'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel"
name="tabviewpanel"
ref='tabviewpanel'
:expActive="activatedTabViewPanel === 'tabviewpanel'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel>
</tab-pane>
<tab-pane :index="4" name='tabviewpanel2' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-pencil',
style:{
'margin-right' : '2px'
}
}),
h('span', '待续签'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel2
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel2"
name="tabviewpanel2"
ref='tabviewpanel2'
:expActive="activatedTabViewPanel === 'tabviewpanel2'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel2>
</tab-pane>
</tabs>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabexppanel-tabexppanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabexppanelTabexppanelBase } from './tab-exp-viewtabexppanel-tabexppanel-base';
import view_tabviewpanel5 from '@widgets/hrcontract/tab-exp-viewtabviewpanel5-tabviewpanel/tab-exp-viewtabviewpanel5-tabviewpanel.vue';
import view_tabviewpanel4 from '@widgets/hrcontract/tab-exp-viewtabviewpanel4-tabviewpanel/tab-exp-viewtabviewpanel4-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/hrcontract/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.vue';
import view_tabviewpanel from '@widgets/hrcontract/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/hrcontract/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class TabExpViewtabexppanelTabexppanel
* @extends {TabExpViewtabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel5,
view_tabviewpanel4,
view_tabviewpanel3,
view_tabviewpanel,
view_tabviewpanel2,
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabexppanelTabexppanel extends TabExpViewtabexppanelTabexppanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabviewpanelService from './tab-exp-viewtabviewpanel-tabviewpanel-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanelTabviewpanelBase}
*/
export class TabExpViewtabviewpanelTabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanelService}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
public service: TabExpViewtabviewpanelService = new TabExpViewtabviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel 部件模型
*
* @export
* @class TabExpViewtabviewpanelModel
*/
export default class TabExpViewtabviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'createman',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name: 'hrcontractname',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'updateman',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'contractcode',
},
{
name: 'contractmode',
},
{
name: 'contracttype',
},
{
name: 'begintime',
},
{
name: 'endtime',
},
{
name: 'contractstate',
},
{
name: 'mgrorganizationid',
},
{
name: 'mgrorganizationname',
},
{
name: 'signorganizationid',
},
{
name: 'signorganizationname',
},
{
name: 'probationtime',
},
{
name: 'contractsigntype',
},
{
name: 'memo',
},
{
name: 'contractsignnum',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel 部件服务对象
*
* @export
* @class TabExpViewtabviewpanelService
*/
export default class TabExpViewtabviewpanelService extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hremployee-v-007
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanelTabviewpanelBase } from './tab-exp-viewtabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class TabExpViewtabviewpanelTabviewpanel
* @extends {TabExpViewtabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanelTabviewpanel extends TabExpViewtabviewpanelTabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabviewpanel2Service from './tab-exp-viewtabviewpanel2-tabviewpanel-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel2TabviewpanelBase}
*/
export class TabExpViewtabviewpanel2TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel2Service}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
public service: TabExpViewtabviewpanel2Service = new TabExpViewtabviewpanel2Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel2
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel2
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel2
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel2
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel2
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel2
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel2
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel2
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel2
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel2
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel2 部件模型
*
* @export
* @class TabExpViewtabviewpanel2Model
*/
export default class TabExpViewtabviewpanel2Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel2Model
*/
public getDataItems(): any[] {
return [
{
name: 'createman',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name: 'hrcontractname',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'updateman',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'contractcode',
},
{
name: 'contractmode',
},
{
name: 'contracttype',
},
{
name: 'begintime',
},
{
name: 'endtime',
},
{
name: 'contractstate',
},
{
name: 'mgrorganizationid',
},
{
name: 'mgrorganizationname',
},
{
name: 'signorganizationid',
},
{
name: 'signorganizationname',
},
{
name: 'probationtime',
},
{
name: 'contractsigntype',
},
{
name: 'memo',
},
{
name: 'contractsignnum',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel2 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel2Service
*/
export default class TabExpViewtabviewpanel2Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrcontract-v-002
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel2-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel2TabviewpanelBase } from './tab-exp-viewtabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class TabExpViewtabviewpanel2Tabviewpanel
* @extends {TabExpViewtabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel2Tabviewpanel extends TabExpViewtabviewpanel2TabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabviewpanel3Service from './tab-exp-viewtabviewpanel3-tabviewpanel-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* tabviewpanel3部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel3TabviewpanelBase}
*/
export class TabExpViewtabviewpanel3TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel3Service}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
public service: TabExpViewtabviewpanel3Service = new TabExpViewtabviewpanel3Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel3
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel3
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel3
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel3
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel3
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel3
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel3
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel3
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel3
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel3
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel3 部件模型
*
* @export
* @class TabExpViewtabviewpanel3Model
*/
export default class TabExpViewtabviewpanel3Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel3Model
*/
public getDataItems(): any[] {
return [
{
name: 'createman',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name: 'hrcontractname',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'updateman',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'contractcode',
},
{
name: 'contractmode',
},
{
name: 'contracttype',
},
{
name: 'begintime',
},
{
name: 'endtime',
},
{
name: 'contractstate',
},
{
name: 'mgrorganizationid',
},
{
name: 'mgrorganizationname',
},
{
name: 'signorganizationid',
},
{
name: 'signorganizationname',
},
{
name: 'probationtime',
},
{
name: 'contractsigntype',
},
{
name: 'memo',
},
{
name: 'contractsignnum',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel3 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel3Service
*/
export default class TabExpViewtabviewpanel3Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrcontract-v-003
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel3-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel3TabviewpanelBase } from './tab-exp-viewtabviewpanel3-tabviewpanel-base';
/**
* tabviewpanel3部件
*
* @export
* @class TabExpViewtabviewpanel3Tabviewpanel
* @extends {TabExpViewtabviewpanel3TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel3Tabviewpanel extends TabExpViewtabviewpanel3TabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabviewpanel4Service from './tab-exp-viewtabviewpanel4-tabviewpanel-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* tabviewpanel4部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel4TabviewpanelBase}
*/
export class TabExpViewtabviewpanel4TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel4TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel4Service}
* @memberof TabExpViewtabviewpanel4TabviewpanelBase
*/
public service: TabExpViewtabviewpanel4Service = new TabExpViewtabviewpanel4Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabviewpanel4TabviewpanelBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel4TabviewpanelBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel4TabviewpanelBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel4
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel4
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel4
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel4
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel4
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel4
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel4
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel4
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel4
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel4
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel4
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel4
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel4
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel4 部件模型
*
* @export
* @class TabExpViewtabviewpanel4Model
*/
export default class TabExpViewtabviewpanel4Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel4Model
*/
public getDataItems(): any[] {
return [
{
name: 'createman',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name: 'hrcontractname',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'updateman',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'contractcode',
},
{
name: 'contractmode',
},
{
name: 'contracttype',
},
{
name: 'begintime',
},
{
name: 'endtime',
},
{
name: 'contractstate',
},
{
name: 'mgrorganizationid',
},
{
name: 'mgrorganizationname',
},
{
name: 'signorganizationid',
},
{
name: 'signorganizationname',
},
{
name: 'probationtime',
},
{
name: 'contractsigntype',
},
{
name: 'memo',
},
{
name: 'contractsignnum',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel4 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel4Service
*/
export default class TabExpViewtabviewpanel4Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrcontract-v-004
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel4-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel4TabviewpanelBase } from './tab-exp-viewtabviewpanel4-tabviewpanel-base';
/**
* tabviewpanel4部件
*
* @export
* @class TabExpViewtabviewpanel4Tabviewpanel
* @extends {TabExpViewtabviewpanel4TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel4Tabviewpanel extends TabExpViewtabviewpanel4TabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRContractService from '@/service/hrcontract/hrcontract-service';
import TabExpViewtabviewpanel5Service from './tab-exp-viewtabviewpanel5-tabviewpanel-service';
import HRContractUIService from '@/uiservice/hrcontract/hrcontract-ui-service';
/**
* tabviewpanel5部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel5TabviewpanelBase}
*/
export class TabExpViewtabviewpanel5TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel5TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel5Service}
* @memberof TabExpViewtabviewpanel5TabviewpanelBase
*/
public service: TabExpViewtabviewpanel5Service = new TabExpViewtabviewpanel5Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRContractService}
* @memberof TabExpViewtabviewpanel5TabviewpanelBase
*/
public appEntityService: HRContractService = new HRContractService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel5TabviewpanelBase
*/
protected appDeName: string = 'hrcontract';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel5TabviewpanelBase
*/
protected appDeLogicName: string = '合同信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel5
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel5
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel5
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel5
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel5
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel5
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel5
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel5
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel5
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel5
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel5
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel5
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel5
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel5 部件模型
*
* @export
* @class TabExpViewtabviewpanel5Model
*/
export default class TabExpViewtabviewpanel5Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel5Model
*/
public getDataItems(): any[] {
return [
{
name: 'createman',
},
{
name: 'hrcontract',
prop: 'hrcontractid',
},
{
name: 'hrcontractname',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'updateman',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'contractcode',
},
{
name: 'contractmode',
},
{
name: 'contracttype',
},
{
name: 'begintime',
},
{
name: 'endtime',
},
{
name: 'contractstate',
},
{
name: 'mgrorganizationid',
},
{
name: 'mgrorganizationname',
},
{
name: 'signorganizationid',
},
{
name: 'signorganizationname',
},
{
name: 'probationtime',
},
{
name: 'contractsigntype',
},
{
name: 'memo',
},
{
name: 'contractsignnum',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel5 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel5Service
*/
export default class TabExpViewtabviewpanel5Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrcontract-grid-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel5-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel5TabviewpanelBase } from './tab-exp-viewtabviewpanel5-tabviewpanel-base';
/**
* tabviewpanel5部件
*
* @export
* @class TabExpViewtabviewpanel5Tabviewpanel
* @extends {TabExpViewtabviewpanel5TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel5Tabviewpanel extends TabExpViewtabviewpanel5TabviewpanelBase { }
</script>
...@@ -212,7 +212,7 @@ export class TreeExpViewtreeexpbarTreeExpBarBase extends MainControlBase { ...@@ -212,7 +212,7 @@ export class TreeExpViewtreeexpbarTreeExpBarBase extends MainControlBase {
} }
if (Object.is(expmode, 'TR10')) { if (Object.is(expmode, 'TR10')) {
return { return {
viewname: 'hrcontract-grid-view', viewname: 'hrcontract-v-001',
parentdata: {"srfparentdefname":"HREMPLOYEEID","srfparentdename":"HREMPLOYEE","srfparentmode":"DER1N_HRCONTRACT_HREMPLOYEE_HREMPLOYEEID_327A4D"}, parentdata: {"srfparentdefname":"HREMPLOYEEID","srfparentdename":"HREMPLOYEE","srfparentmode":"DER1N_HRCONTRACT_HREMPLOYEE_HREMPLOYEEID_327A4D"},
deKeyField:'hrcontract' deKeyField:'hrcontract'
}; };
......
...@@ -37,11 +37,11 @@ ...@@ -37,11 +37,11 @@
git clone -b master $para2 ibizhumanresources/ git clone -b master $para2 ibizhumanresources/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd ibizhumanresources/ cd ibizhumanresources/
mvn clean package -Phrapi mvn clean package -Ppim
cd humanresource-provider/humanresource-provider-hrapi cd humanresource-app/humanresource-app-pim
mvn -Phrapi docker:build mvn -Ppim docker:build
mvn -Phrapi docker:push mvn -Ppim docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/humanresource-provider-hrapi.yaml iBizEE --with-registry-auth docker -H $para1 stack deploy --compose-file=src/main/docker/humanresource-app-pim.yaml iBizEE --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -12,6 +12,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 /humanresource-app-pim.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /humanresource-app-pim.jar
EXPOSE 8080 EXPOSE 10327
ADD humanresource-app-pim.jar /humanresource-app-pim.jar ADD humanresource-app-pim.jar /humanresource-app-pim.jar
...@@ -3,9 +3,25 @@ services: ...@@ -3,9 +3,25 @@ services:
humanresource-app-pim: humanresource-app-pim:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-app-pim:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-app-pim:latest
ports: ports:
- "8080:8080" - "10327:10327"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=10327
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_REDIS_HOST=172.16.240.110
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_LAB01_e85d8801c
- SPRING_DATASOURCE_PASSWORD=b1@@@772
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.186.185:3306/a_LAB01_e85d8801c?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_LAB01_e85d8801c
- CAS=https://passport.ibizlab.cn
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy: deploy:
resources: resources:
limits: limits:
......
...@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -12,6 +12,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 /humanresource-provider-hrapi.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /humanresource-provider-hrapi.jar
EXPOSE 10317 EXPOSE 8081
ADD humanresource-provider-hrapi.jar /humanresource-provider-hrapi.jar ADD humanresource-provider-hrapi.jar /humanresource-provider-hrapi.jar
...@@ -3,25 +3,9 @@ services: ...@@ -3,25 +3,9 @@ services:
humanresource-provider-hrapi: humanresource-provider-hrapi:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-provider-hrapi:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-provider-hrapi:latest
ports: ports:
- "10317:10317" - "8081:8081"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=10317
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_REDIS_HOST=172.16.240.110
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_LAB01_e85d8801c
- SPRING_DATASOURCE_PASSWORD=b1@@@772
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.186.185:3306/a_LAB01_e85d8801c?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_LAB01_e85d8801c
- CAS=https://passport.ibizlab.cn
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy: deploy:
resources: resources:
limits: limits:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册