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

jackwang 部署微服务应用

上级 671edc57
......@@ -389,8 +389,18 @@
"viewtag": "41036146909ab3f28ff59b80370514b2",
"memo": ""
},
"hrarchivesv_003": {
"title": "档案信息",
"caption": "档案信息",
"viewtype": "DEEDITVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_003",
"viewfilename": "hrarchives-v-003",
"viewtag": "4577fe920c1f8dc9da44a0cab28ca33b",
"memo": ""
},
"hrarchiveseditview": {
"title": "档案信息编辑视图",
"title": "档案编辑",
"caption": "档案信息",
"viewtype": "DEEDITVIEW",
"viewmodule": "HumanResource",
......@@ -489,6 +499,16 @@
"viewtag": "54e70bcf034bf3715d121537bc8d1d77",
"memo": "系统自动添加"
},
"hrarchivesv_005": {
"title": "档案",
"caption": "档案",
"viewtype": "DETABEXPVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_005",
"viewfilename": "hrarchives-v-005",
"viewtag": "5748c15cb24deb3f3fb24d68668711dd",
"memo": ""
},
"hrcertificatev_002": {
"title": "证书信息",
"caption": "证书信息",
......@@ -769,6 +789,16 @@
"viewtag": "8b1d8f8e62fead1d3bdc2ce1c3b76c65",
"memo": ""
},
"hrarchivesv_002": {
"title": "档案信息",
"caption": "档案信息",
"viewtype": "DEOPTVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_002",
"viewfilename": "hrarchives-v-002",
"viewtag": "8bd2a4a14135c358985d4ff9b7ffb88e",
"memo": ""
},
"hreducationoptionview": {
"title": "教育信息",
"caption": "教育信息",
......@@ -1249,6 +1279,16 @@
"viewtag": "d32b549b3c49b790b092eca97d1de2c1",
"memo": ""
},
"hrarchivesv_004": {
"title": "档案看板",
"caption": "档案信息",
"viewtype": "DEPORTALVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_004",
"viewfilename": "hrarchives-v-004",
"viewtag": "d33bb4278ea65f691909636c691a0666",
"memo": ""
},
"hrpostrelv_002": {
"title": "快速新建",
"caption": "快速新建",
......
......@@ -33,14 +33,30 @@ export default {
caption: "档案信息",
title: "档案",
},
v_003: {
caption: "档案信息",
title: "档案信息",
},
editview: {
caption: "档案信息",
title: "档案信息编辑视图",
title: "档案编辑",
},
v_005: {
caption: "档案",
title: "档案",
},
v_002: {
caption: "档案信息",
title: "档案信息",
},
gridview: {
caption: "档案信息",
title: "档案",
},
v_004: {
caption: "档案信息",
title: "档案看板",
},
},
main_form: {
details: {
......@@ -74,6 +90,62 @@ export default {
uiactions: {
},
},
if_001_form: {
details: {
group1: "档案信息",
grouppanel1: "借阅记录",
grouppanel2: "调档记录",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "档案信息标识",
srfmajortext: "档案信息名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
archivescode: "档案编号",
hrorganizationname: "档案管理单位",
archivesplace: "档案保管地",
archivesroom: "档案室",
hremployeename: "员工姓名",
employeecode: "员工编号",
organizationname: "单位",
activeflag: "是否有效",
degree: "档案学历",
birthday: "档案出生日期",
startworktime: "档案参加工作时间",
politicaltime: "档案入党时间",
hrarchivesid: "档案信息标识",
},
uiactions: {
},
},
ef_001_form: {
details: {
group1: "档案信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "档案信息标识",
srfmajortext: "档案信息名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
hremployeename: "员工姓名",
archivescode: "档案编号",
hrorganizationname: "档案管理单位",
archivesplace: "档案保管地",
archivesroom: "档案室",
activeflag: "是否有效",
hremployeeid: "员工标识",
hrorganizationid: "档案管理单位ID",
hrarchivesid: "档案信息标识",
},
uiactions: {
},
},
grid_001_grid: {
columns: {
archivescode: "档案编号",
......@@ -189,15 +261,45 @@ export default {
tip: "Help",
},
},
v_005toolbar_toolbar: {
tbitem1_ff_003: {
caption: "编辑",
tip: "编辑",
},
tbitem1_remove_sep: {
caption: "",
tip: "",
},
tbitem1_remove: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem22: {
caption: "关闭",
tip: "关闭",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
tbitem1_ff_002: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
......
......@@ -32,14 +32,30 @@ export default {
caption: "档案信息",
title: "档案",
},
v_003: {
caption: "档案信息",
title: "档案信息",
},
editview: {
caption: "档案信息",
title: "档案信息编辑视图",
title: "档案编辑",
},
v_005: {
caption: "档案",
title: "档案",
},
v_002: {
caption: "档案信息",
title: "档案信息",
},
gridview: {
caption: "档案信息",
title: "档案",
},
v_004: {
caption: "档案信息",
title: "档案看板",
},
},
main_form: {
details: {
......@@ -73,6 +89,62 @@ export default {
uiactions: {
},
},
if_001_form: {
details: {
group1: "档案信息",
grouppanel1: "借阅记录",
grouppanel2: "调档记录",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "档案信息标识",
srfmajortext: "档案信息名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
archivescode: "档案编号",
hrorganizationname: "档案管理单位",
archivesplace: "档案保管地",
archivesroom: "档案室",
hremployeename: "员工姓名",
employeecode: "员工编号",
organizationname: "单位",
activeflag: "是否有效",
degree: "档案学历",
birthday: "档案出生日期",
startworktime: "档案参加工作时间",
politicaltime: "档案入党时间",
hrarchivesid: "档案信息标识",
},
uiactions: {
},
},
ef_001_form: {
details: {
group1: "档案信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "档案信息标识",
srfmajortext: "档案信息名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
hremployeename: "员工姓名",
archivescode: "档案编号",
hrorganizationname: "档案管理单位",
archivesplace: "档案保管地",
archivesroom: "档案室",
activeflag: "是否有效",
hremployeeid: "员工标识",
hrorganizationid: "档案管理单位ID",
hrarchivesid: "档案信息标识",
},
uiactions: {
},
},
grid_001_grid: {
columns: {
archivescode: "档案编号",
......@@ -188,15 +260,45 @@ export default {
tip: "帮助",
},
},
v_005toolbar_toolbar: {
tbitem1_ff_003: {
caption: "编辑",
tip: "编辑",
},
tbitem1_remove_sep: {
caption: "",
tip: "",
},
tbitem1_remove: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem22: {
caption: "关闭",
tip: "关闭",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
tbitem1_ff_002: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
......
......@@ -469,11 +469,7 @@ export default {
caption: "Start workflow",
tip: "Start workflow",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem22: {
deuiaction1: {
caption: "关闭",
tip: "关闭",
},
......
......@@ -468,11 +468,7 @@ export default {
caption: "开始流程",
tip: "开始流程",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem22: {
deuiaction1: {
caption: "关闭",
tip: "关闭",
},
......
......@@ -319,8 +319,16 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HRLegalGridView",
"viewtag": "41036146909ab3f28ff59b80370514b2"
},
"hrarchivesv_003": {
"title": "档案信息",
"caption": "档案信息",
"viewtype": "DEEDITVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_003",
"viewtag": "4577fe920c1f8dc9da44a0cab28ca33b"
},
"hrarchiveseditview": {
"title": "档案信息编辑视图",
"title": "档案编辑",
"caption": "档案信息",
"viewtype": "DEEDITVIEW",
"viewmodule": "HumanResource",
......@@ -399,6 +407,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HRDutyV_002",
"viewtag": "54e70bcf034bf3715d121537bc8d1d77"
},
"hrarchivesv_005": {
"title": "档案",
"caption": "档案",
"viewtype": "DETABEXPVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_005",
"viewtag": "5748c15cb24deb3f3fb24d68668711dd"
},
"hrcertificatev_002": {
"title": "证书信息",
"caption": "证书信息",
......@@ -623,6 +639,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HRTransferApplyV_004",
"viewtag": "8b1d8f8e62fead1d3bdc2ce1c3b76c65"
},
"hrarchivesv_002": {
"title": "档案信息",
"caption": "档案信息",
"viewtype": "DEOPTVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_002",
"viewtag": "8bd2a4a14135c358985d4ff9b7ffb88e"
},
"hreducationoptionview": {
"title": "教育信息",
"caption": "教育信息",
......@@ -1007,6 +1031,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HROperationUnitV_001",
"viewtag": "d32b549b3c49b790b092eca97d1de2c1"
},
"hrarchivesv_004": {
"title": "档案看板",
"caption": "档案信息",
"viewtype": "DEPORTALVIEW",
"viewmodule": "HumanResource",
"viewname": "HRArchivesV_004",
"viewtag": "d33bb4278ea65f691909636c691a0666"
},
"hrpostrelv_002": {
"title": "快速新建",
"caption": "快速新建",
......
......@@ -6,7 +6,7 @@ import EditViewEngine from '@engine/view/edit-view-engine';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* 档案信息编辑视图视图基类
* 档案编辑视图基类
*
* @export
* @class HRArchivesEditViewBase
......
<studio-view-style2 viewName="hrarchiveseditview" viewTitle="档案信息编辑视图" class='deeditview hrarchives-edit-view'>
<template slot='title'>
<span class='caption-info'>{{viewCaption}}</span>
</template>
<studio-view-style2 viewName="hrarchiveseditview" viewTitle="档案编辑" class='deeditview hrarchives-edit-view'>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<view_form
......
......@@ -6,7 +6,7 @@ import { HRArchivesEditViewBase } from './hrarchives-edit-view-base';
import view_form from '@widgets/hrarchives/main-form/main-form.vue';
/**
* 档案信息编辑视图视图
* 档案编辑视图
*
* @export
* @class HRArchivesEditView
......
......@@ -103,10 +103,13 @@ export class HRArchivesGridViewBase extends GridViewBase {
* @memberof HRArchivesGridView
*/
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: '' } },
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: '' } },
......@@ -170,20 +173,14 @@ export class HRArchivesGridViewBase extends GridViewBase {
* @memberof HRArchivesGridViewBase
*/
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, '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, '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, 'tbitem6')) {
this.toolbar_tbitem6_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
......@@ -295,7 +292,7 @@ export class HRArchivesGridViewBase extends GridViewBase {
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem1_ff_002_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -312,7 +309,8 @@ export class HRArchivesGridViewBase extends GridViewBase {
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"HRArchives");
const curUIService:HRArchivesUIService = new HRArchivesUIService();
curUIService.HRArchives_FF_002(datas,contextJO, paramJO, $event, xData,this,"HRArchives");
}
/**
......@@ -351,63 +349,7 @@ export class HRArchivesGridViewBase extends GridViewBase {
* @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,"HRArchives");
}
/**
* 逻辑事件
*
* @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,"HRArchives");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem6_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -424,7 +366,7 @@ export class HRArchivesGridViewBase extends GridViewBase {
datas = [params];
}
// 界面行为
this.SaveRow(datas, contextJO,paramJO, $event, xData,this,"HRArchives");
this.Copy(datas, contextJO,paramJO, $event, xData,this,"HRArchives");
}
/**
......@@ -569,16 +511,28 @@ export class HRArchivesGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ 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);
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);
});
}
openIndexViewTab(data);
const view: any = {
viewname: 'hrarchives-v-002',
height: 0,
width: 600,
title: this.$t('entities.hrarchives.views.v_002.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......@@ -608,7 +562,7 @@ export class HRArchivesGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'v_005', parameterName: 'v_005' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
......@@ -619,26 +573,6 @@ export class HRArchivesGridViewBase extends GridViewBase {
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRArchivesGridViewBase
*/
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 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
......@@ -666,21 +600,7 @@ export class HRArchivesGridViewBase extends GridViewBase {
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRArchivesGridViewBase
*/
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 行为附加上下文
......@@ -690,35 +610,21 @@ export class HRArchivesGridViewBase extends GridViewBase {
* @param {*} [actionContext] 执行行为上下文
* @memberof HRArchivesGridViewBase
*/
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 视图处理逻辑不存在,请添加!' });
public Copy(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
}
/**
* 保存行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRArchivesGridViewBase
*/
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();
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { hrarchives: args[0].hrarchives });
}
if(!params) params = {};
Object.assign(params,{copymode:true});
_this.opendata([{ ...data }], params, $event, xData);
} else {
Object.assign(this.viewparams,{copymode:true});
}
}
/**
......
import { Subject } from 'rxjs';
import { OptionViewBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import HRArchivesAuthService from '@/authservice/hrarchives/hrarchives-auth-service';
import OptionViewEngine from '@engine/view/option-view-engine';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* 档案信息视图基类
*
* @export
* @class HRArchivesV_002Base
* @extends {OptionViewBase}
*/
export class HRArchivesV_002Base extends OptionViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRArchivesV_002Base
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRArchivesV_002Base
*/
protected appDeKey: string = 'hrarchivesid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRArchivesV_002Base
*/
protected appDeMajor: string = 'hrarchivesname';
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof HRArchivesV_002Base
*/
protected appEntityService: HRArchivesService = new HRArchivesService;
/**
* 实体权限服务对象
*
* @type HRArchivesUIService
* @memberof HRArchivesV_002Base
*/
public appUIService: HRArchivesUIService = new HRArchivesUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRArchivesV_002Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRArchivesV_002Base
*/
protected model: any = {
srfCaption: 'entities.hrarchives.views.v_002.caption',
srfTitle: 'entities.hrarchives.views.v_002.title',
srfSubTitle: 'entities.hrarchives.views.v_002.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRArchivesV_002Base
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
view_okbtn: { name: 'okbtn', type: 'button', text: '确定', disabled: true },
view_cancelbtn: { name: 'cancelbtn', type: 'button', text: '取消', disabled: false },
view_leftbtn: { name: 'leftbtn', type: 'button', text: '左移', disabled: true },
view_rightbtn: { name: 'rightbtn', type: 'button', text: '右移', disabled: true },
view_allleftbtn: { name: 'allleftbtn', type: 'button', text: '全部左移', disabled: true },
view_allrightbtn: { name: 'allrightbtn', type: 'button', text: '全部右移', disabled: true },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '8bd2a4a14135c358985d4ff9b7ffb88e';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRArchivesV_002Base
*/
public engine: OptionViewEngine = new OptionViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRArchivesV_002Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hrarchives',
majorPSDEField: 'hrarchivesname',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_002Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_002Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_002Base
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrarchivesv_002" viewTitle="档案信息" class='deoptview hrarchives-v-002'>
<template slot='title'>
<span class='caption-info'>{{viewCaption}}</span>
</template>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
<template slot="footer">
<div class="option-view-footer-actions">
<i-button type='primary' @click="onClickOk.apply(_self, arguments)">{{ containerModel.view_okbtn.text }}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel.apply(_self, arguments)">{{ containerModel.view_cancelbtn.text }}</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
<template src="./hrarchives-v-002.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRArchivesV_002Base } from './hrarchives-v-002-base';
import view_form from '@widgets/hrarchives/ef-001-form/ef-001-form.vue';
/**
* 档案信息视图
*
* @export
* @class HRArchivesV_002
* @extends {HRArchivesV_002Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HRArchivesV_002 extends HRArchivesV_002Base { }
</script>
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import HRArchivesAuthService from '@/authservice/hrarchives/hrarchives-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* 档案信息视图基类
*
* @export
* @class HRArchivesV_003Base
* @extends {EditViewBase}
*/
export class HRArchivesV_003Base extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRArchivesV_003Base
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRArchivesV_003Base
*/
protected appDeKey: string = 'hrarchivesid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRArchivesV_003Base
*/
protected appDeMajor: string = 'hrarchivesname';
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof HRArchivesV_003Base
*/
protected appEntityService: HRArchivesService = new HRArchivesService;
/**
* 实体权限服务对象
*
* @type HRArchivesUIService
* @memberof HRArchivesV_003Base
*/
public appUIService: HRArchivesUIService = new HRArchivesUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRArchivesV_003Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRArchivesV_003Base
*/
protected model: any = {
srfCaption: 'entities.hrarchives.views.v_003.caption',
srfTitle: 'entities.hrarchives.views.v_003.title',
srfSubTitle: 'entities.hrarchives.views.v_003.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRArchivesV_003Base
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '4577fe920c1f8dc9da44a0cab28ca33b';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRArchivesV_003Base
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRArchivesV_003Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hrarchives',
majorPSDEField: 'hrarchivesname',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_003Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_003Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_003Base
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrarchivesv_003" viewTitle="档案信息" class='deeditview hrarchives-v-003 from-dashboard-style'>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</studio-view-style2>
\ No newline at end of file
<template src="./hrarchives-v-003.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRArchivesV_003Base } from './hrarchives-v-003-base';
import view_form from '@widgets/hrarchives/if-001-form/if-001-form.vue';
/**
* 档案信息视图
*
* @export
* @class HRArchivesV_003
* @extends {HRArchivesV_003Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HRArchivesV_003 extends HRArchivesV_003Base { }
</script>
import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import HRArchivesAuthService from '@/authservice/hrarchives/hrarchives-auth-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* 档案视图基类
*
* @export
* @class HRArchivesV_005Base
* @extends {TabExpViewBase}
*/
export class HRArchivesV_005Base extends TabExpViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRArchivesV_005Base
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRArchivesV_005Base
*/
protected appDeKey: string = 'hrarchivesid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRArchivesV_005Base
*/
protected appDeMajor: string = 'hrarchivesname';
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof HRArchivesV_005Base
*/
protected appEntityService: HRArchivesService = new HRArchivesService;
/**
* 实体权限服务对象
*
* @type HRArchivesUIService
* @memberof HRArchivesV_005Base
*/
public appUIService: HRArchivesUIService = new HRArchivesUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRArchivesV_005Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRArchivesV_005Base
*/
protected model: any = {
srfCaption: 'entities.hrarchives.views.v_005.caption',
srfTitle: 'entities.hrarchives.views.v_005.title',
srfSubTitle: 'entities.hrarchives.views.v_005.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRArchivesV_005Base
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HRArchivesV_005
*/
public toolBarModels: any = {
tbitem1_ff_003: { name: 'tbitem1_ff_003', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'FF_003', target: 'SINGLEKEY', class: '' } },
tbitem1_remove_sep: { name: 'tbitem1_remove_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem1_remove: { name: 'tbitem1_remove', caption: '删除并关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'SINGLEKEY', class: '' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem22: { name: 'tbitem22', caption: '关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Exit', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '5748c15cb24deb3f3fb24d68668711dd';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRArchivesV_005Base
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRArchivesV_005Base
*/
public engineInit(): void {
this.engine.init({
view: this,
keyPSDEField: 'hrarchives',
majorPSDEField: 'hrarchivesname',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRArchivesV_005Base
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem1_ff_003')) {
this.toolbar_tbitem1_ff_003_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem1_remove')) {
this.toolbar_tbitem1_remove_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem22')) {
this.toolbar_tbitem22_click(null, '', $event2);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_ff_003_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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:HRArchivesUIService = new HRArchivesUIService();
curUIService.HRArchives_FF_003(datas,contextJO, paramJO, $event, xData,this,"HRArchives");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_remove_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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:HRArchivesUIService = new HRArchivesUIService();
curUIService.HRArchives_Remove(datas,contextJO, paramJO, $event, xData,this,"HRArchives");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem22_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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Exit(datas, contextJO,paramJO, $event, xData,this,"HRArchives");
}
/**
* 关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRArchivesV_005Base
*/
public Exit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
this.closeView(args);
if(window.parent){
window.parent.postMessage([{ ...args }],'*');
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="hrarchivesv_005" viewTitle="档案" class='detabexpview hrarchives-v-005'>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<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="./hrarchives-v-005.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRArchivesV_005Base } from './hrarchives-v-005-base';
import view_tabexppanel from '@widgets/hrarchives/v-005tabexppanel-tabexppanel/v-005tabexppanel-tabexppanel.vue';
/**
* 档案视图
*
* @export
* @class HRArchivesV_005
* @extends {HRArchivesV_005Base}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class HRArchivesV_005 extends HRArchivesV_005Base { }
</script>
......@@ -106,8 +106,7 @@ export class HRTransferApplyV_005Base extends TabExpViewBase {
tbitem1_saveandstart: { name: 'tbitem1_saveandstart', caption: '开始流程', 'isShowCaption': true, 'isShowIcon': true, tooltip: '开始流程', iconcls: 'fa fa-play', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'SaveAndStart', target: '', class: '' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem22: { name: 'tbitem22', caption: '关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Exit', target: '', class: '' } },
deuiaction1: { name: 'deuiaction1', caption: '关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Exit', target: '', class: '' } },
};
......@@ -161,8 +160,11 @@ export class HRTransferApplyV_005Base extends TabExpViewBase {
if (Object.is($event.tag, 'tbitem1_remove')) {
this.toolbar_tbitem1_remove_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem22')) {
this.toolbar_tbitem22_click(null, '', $event2);
if (Object.is($event.tag, 'tbitem10')) {
this.toolbar_tbitem10_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
}
......@@ -230,7 +232,34 @@ export class HRTransferApplyV_005Base extends TabExpViewBase {
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem22_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem10_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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ViewWFStep(datas, contextJO,paramJO, $event, xData,this,"HRTransferApply");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -249,6 +278,36 @@ export class HRTransferApplyV_005Base extends TabExpViewBase {
this.Exit(datas, contextJO,paramJO, $event, xData,this,"HRTransferApply");
}
/**
* 当前流程步骤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HRTransferApplyV_005Base
*/
public ViewWFStep(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.wfsubmit instanceof Function)) {
return;
}
xData.wfsubmit(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
if (_this.viewdata) {
_this.$emit('viewdataschange', [{ ..._data }]);
_this.$emit('close');
} else if (_this.$tabPageExp) {
_this.$tabPageExp.onClose(_this.$route.fullPath);
}
});
}
/**
* 关闭
*
......
......@@ -2,73 +2,52 @@
<template slot='title'>
<span class='caption-info'>{{viewCaption}}</span>
</template>
<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>
<split id="hrtransferapplywfdynaexpgridview" v-model="split" mode="horizontal">
<div slot='left'>
<el-tree ref="tree" :data="wfStepModel" node-key="userTaskId" :highlight-current="true" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</div>
<div slot="right">
<div class="content-container">
<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>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
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>
</div>
</div>
</split>
<split id="hrtransferapplywfdynaexpgridview" v-model="split" mode="horizontal">
<div slot='left'>
<el-tree ref="tree" :data="wfStepModel" node-key="userTaskId" :highlight-current="true" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</div>
<div slot="right">
<div class="content-container">
<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>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
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>
</div>
</div>
</split>
</studio-view-style2>
\ No newline at end of file
......@@ -17,6 +17,7 @@ export const PageComponents = {
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('hrcontract-grid-view', () => import('@pages/human-resource/hrcontract-grid-view/hrcontract-grid-view.vue'));
Vue.component('hrarchives-v-002', () => import('@pages/human-resource/hrarchives-v-002/hrarchives-v-002.vue'));
Vue.component('hromhierarchy-tree-exp-view', () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'));
Vue.component('hrlegal-grid-view', () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'));
Vue.component('hrpost-v-006', () => import('@pages/human-resource/hrpost-v-006/hrpost-v-006.vue'));
......@@ -86,6 +87,7 @@ export const PageComponents = {
Vue.component('hromhierarchy-grid-view', () => import('@pages/base/hromhierarchy-grid-view/hromhierarchy-grid-view.vue'));
Vue.component('hrduty-cert-grid-view', () => import('@pages/human-resource/hrduty-cert-grid-view/hrduty-cert-grid-view.vue'));
Vue.component('hrduty-skill-v-002', () => import('@pages/human-resource/hrduty-skill-v-002/hrduty-skill-v-002.vue'));
Vue.component('hrarchives-v-005', () => import('@pages/human-resource/hrarchives-v-005/hrarchives-v-005.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('hrcontract-edit-view', () => import('@pages/human-resource/hrcontract-edit-view/hrcontract-edit-view.vue'));
......@@ -132,6 +134,7 @@ export const PageComponents = {
Vue.component('hrarchives-edit-view', () => import('@pages/human-resource/hrarchives-edit-view/hrarchives-edit-view.vue'));
Vue.component('hrarchives-v-001', () => import('@pages/human-resource/hrarchives-v-001/hrarchives-v-001.vue'));
Vue.component('hromhierarchy-pickup-grid-view', () => import('@pages/base/hromhierarchy-pickup-grid-view/hromhierarchy-pickup-grid-view.vue'));
Vue.component('hrarchives-v-003', () => import('@pages/human-resource/hrarchives-v-003/hrarchives-v-003.vue'));
Vue.component('hrcertificate-tab-exp-view', () => import('@pages/human-resource/hrcertificate-tab-exp-view/hrcertificate-tab-exp-view.vue'));
Vue.component('hrdistribution-v-001', () => import('@pages/human-resource/hrdistribution-v-001/hrdistribution-v-001.vue'));
Vue.component('hrtransfer-apply-v-004', () => import('@pages/pcm/hrtransfer-apply-v-004/hrtransfer-apply-v-004.vue'));
......
......@@ -431,6 +431,35 @@ const router = new Router({
},
component: () => import('@pages/human-resource/hrcontract-grid-view/hrcontract-grid-view.vue'),
},
{
path: 'hremployees/:hremployee?/hrarchives/:hrarchives?/v_002/:v_002?',
meta: {
caption: 'entities.hrarchives.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrarchives-v-002/hrarchives-v-002.vue'),
},
{
path: 'hrarchives/:hrarchives?/v_002/:v_002?',
meta: {
caption: 'entities.hrarchives.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrarchives-v-002/hrarchives-v-002.vue'),
},
{
path: 'hromhierarchycats/:hromhierarchycat?/hromhierarchies/:hromhierarchy?/treeexpview/:treeexpview?',
meta: {
......@@ -2192,6 +2221,35 @@ const router = new Router({
},
component: () => import('@pages/human-resource/hrduty-skill-v-002/hrduty-skill-v-002.vue'),
},
{
path: 'hremployees/:hremployee?/hrarchives/:hrarchives?/v_005/:v_005?',
meta: {
caption: 'entities.hrarchives.views.v_005.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_005', parameterName: 'v_005' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrarchives-v-005/hrarchives-v-005.vue'),
},
{
path: 'hrarchives/:hrarchives?/v_005/:v_005?',
meta: {
caption: 'entities.hrarchives.views.v_005.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_005', parameterName: 'v_005' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrarchives-v-005/hrarchives-v-005.vue'),
},
{
path: 'hremployees/:hremployee?/treeexpview/:treeexpview?',
meta: {
......@@ -3511,6 +3569,35 @@ const router = new Router({
},
component: () => import('@pages/base/hromhierarchy-pickup-grid-view/hromhierarchy-pickup-grid-view.vue'),
},
{
path: 'hremployees/:hremployee?/hrarchives/:hrarchives?/v_003/:v_003?',
meta: {
caption: 'entities.hrarchives.views.v_003.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_003', parameterName: 'v_003' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrarchives-v-003/hrarchives-v-003.vue'),
},
{
path: 'hrarchives/:hrarchives?/v_003/:v_003?',
meta: {
caption: 'entities.hrarchives.views.v_003.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_003', parameterName: 'v_003' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrarchives-v-003/hrarchives-v-003.vue'),
},
{
path: 'hremployees/:hremployee?/hrcertificates/:hrcertificate?/tabexpview/:tabexpview?',
meta: {
......
......@@ -388,6 +388,15 @@ export const viewstate: any = {
'af1a0e288eecf89cd99ed798594e1753',
],
},
{
viewtag: '4577fe920c1f8dc9da44a0cab28ca33b',
viewmodule: 'HumanResource',
viewname: 'HRArchivesV_003',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '4726bc4ee402aed771ecabe7a6ecdaae',
viewmodule: 'HumanResource',
......@@ -503,6 +512,18 @@ export const viewstate: any = {
'069985244f19f8c6f8e74e39ef573e9a',
],
},
{
viewtag: '5748c15cb24deb3f3fb24d68668711dd',
viewmodule: 'HumanResource',
viewname: 'HRArchivesV_005',
viewaction: '',
viewdatachange: false,
refviews: [
'4726bc4ee402aed771ecabe7a6ecdaae',
'4577fe920c1f8dc9da44a0cab28ca33b',
'c01c4604589a2c171c4f41f2ac11f4e2',
],
},
{
viewtag: '57dbe1035c2366090a02ceb7c8269ebb',
viewmodule: 'HumanResource',
......@@ -759,6 +780,17 @@ export const viewstate: any = {
'e7ba37699bd458dc8dd5c02abac8dadd',
],
},
{
viewtag: '8bd2a4a14135c358985d4ff9b7ffb88e',
viewmodule: 'HumanResource',
viewname: 'HRArchivesV_002',
viewaction: '',
viewdatachange: false,
refviews: [
'ec9d9fe37bbfc3fcb623e2dc34b48dbc',
'e7ba37699bd458dc8dd5c02abac8dadd',
],
},
{
viewtag: '8db1cc9344908f2f9e2fb21f3849a539',
viewmodule: 'HumanResource',
......@@ -1131,7 +1163,8 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'4726bc4ee402aed771ecabe7a6ecdaae',
'5748c15cb24deb3f3fb24d68668711dd',
'8bd2a4a14135c358985d4ff9b7ffb88e',
],
},
{
......
......@@ -90,8 +90,12 @@ export default class HRArchivesUIServiceBase extends UIService {
*/
public initViewMap(){
this.allViewMap.set(':',{viewname:'v_001',srfappde:'hrarchives'});
this.allViewMap.set(':',{viewname:'v_003',srfappde:'hrarchives'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'hrarchives'});
this.allViewMap.set(':',{viewname:'v_005',srfappde:'hrarchives'});
this.allViewMap.set(':',{viewname:'v_002',srfappde:'hrarchives'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'hrarchives'});
this.allViewMap.set(':',{viewname:'v_004',srfappde:'hrarchives'});
}
/**
......@@ -110,6 +114,250 @@ export default class HRArchivesUIServiceBase extends UIService {
public initDeMainStateOPPrivsMap(){
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HRArchives_FF_003(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { hrarchives: '%hrarchives%' });
Object.assign(params, { hrarchivesid: '%hrarchives%' });
Object.assign(params, { hrarchivesname: '%hrarchivesname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
if(context.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'editview', parameterName: 'editview' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
return null;
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HRArchives_FF_002(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'NONE';
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
if(context.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
];
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = actionContext.$appdrawer.openDrawer(view, context,data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const _this: any = actionContext;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
if (this.HRArchives_FF_001 && this.HRArchives_FF_001 instanceof Function) {
this.HRArchives_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
}
const view: any = {
viewname: 'hrarchives-v-002',
height: 0,
width: 600,
title: actionContext.$t('entities.hrarchives.views.v_002.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HRArchives_Remove(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { hrarchives: '%hrarchives%' });
Object.assign(params, { hrarchivesid: '%hrarchives%' });
Object.assign(params, { hrarchivesname: '%hrarchivesname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
}
actionContext.closeView(null);
const backend = () => {
const curService:HRArchivesService = new HRArchivesService();
curService.Remove(context,data, true).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
actionContext.$Notice.success({ title: '成功', desc: '删除并关闭成功!' });
const _this: any = actionContext;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
return response;
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
return response;
});
};
backend();
}
/**
* 打开主信息
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HRArchives_FF_001(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { hrarchives: '%hrarchives%' });
Object.assign(params, { hrarchivesid: '%hrarchives%' });
Object.assign(params, { hrarchivesname: '%hrarchivesname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
if(context.hremployee && true){
deResParameters = [
{ pathName: 'hremployees', parameterName: 'hremployee' },
]
}
const parameters: any[] = [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'v_005', parameterName: 'v_005' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
return null;
}
openIndexViewTab(data);
}
/**
* 获取指定数据的重定向页面
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import EF_001Service from './ef-001-form-service';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {EF_001EditFormBase}
*/
export class EF_001EditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {EF_001Service}
* @memberof EF_001EditFormBase
*/
public service: EF_001Service = new EF_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof EF_001EditFormBase
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected appDeLogicName: string = '档案信息';
/**
* 界面UI服务对象
*
* @type {HRArchivesUIService}
* @memberof EF_001EditFormBase
*/
public appUIService:HRArchivesUIService = new HRArchivesUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
hremployeename: null,
archivescode: null,
hrorganizationname: null,
archivesplace: null,
archivesroom: null,
activeflag: null,
hremployeeid: null,
hrorganizationid: null,
hrarchivesid: null,
hrarchives:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public rules: any = {
hremployeename: [
{ required: true, type: 'string', message: '员工姓名 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '员工姓名 值不能为空', trigger: 'blur' },
],
archivescode: [
{ required: true, type: 'string', message: '档案编号 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '档案编号 值不能为空', trigger: 'blur' },
],
hrorganizationname: [
{ required: true, type: 'string', message: '档案管理单位 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '档案管理单位 值不能为空', trigger: 'blur' },
],
activeflag: [
{ required: true, type: 'number', message: '是否有效 值不能为空', trigger: 'change' },
{ required: true, type: 'number', message: '是否有效 值不能为空', trigger: 'blur' },
],
}
/**
* 属性值规则
*
* @type {*}
* @memberof EF_001Base
*/
public deRules:any = {
};
/**
* 详情模型集合
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '档案信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrarchives.ef_001_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '档案信息标识', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '档案信息名称', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hremployeename: new FormItemModel({ caption: '员工姓名', detailType: 'FORMITEM', name: 'hremployeename', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
archivescode: new FormItemModel({ caption: '档案编号', detailType: 'FORMITEM', name: 'archivescode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hrorganizationname: new FormItemModel({ caption: '档案管理单位', detailType: 'FORMITEM', name: 'hrorganizationname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
archivesplace: new FormItemModel({ caption: '档案保管地', detailType: 'FORMITEM', name: 'archivesplace', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
archivesroom: new FormItemModel({ caption: '档案室', detailType: 'FORMITEM', name: 'archivesroom', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
activeflag: new FormItemModel({ caption: '是否有效', detailType: 'FORMITEM', name: 'activeflag', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hremployeeid: new FormItemModel({ caption: '员工标识', detailType: 'FORMITEM', name: 'hremployeeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hrorganizationid: new FormItemModel({ caption: '档案管理单位ID', detailType: 'FORMITEM', name: 'hrorganizationid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hrarchivesid: new FormItemModel({ caption: '档案信息标识', detailType: 'FORMITEM', name: 'hrarchivesid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
/**
* 新建默认值
* @memberof EF_001EditFormBase
*/
public createDefault(){
if (this.data.hasOwnProperty('activeflag')) {
this.data['activeflag'] = 1;
}
}
/**
* 更新默认值
* @memberof EF_001EditFormBase
*/
public updateDefault(){
if (this.data.hasOwnProperty('activeflag') && !this.data.activeflag) {
this.data['activeflag'] = 1;
}
}
}
\ No newline at end of file
/**
* EF_001 部件模型
*
* @export
* @class EF_001Model
*/
export default class EF_001Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof EF_001Model
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'hrarchivesid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'hrarchivesname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'hremployeename',
prop: 'hremployeename',
dataType: 'PICKUPTEXT',
},
{
name: 'archivescode',
prop: 'archivescode',
dataType: 'TEXT',
},
{
name: 'hrorganizationname',
prop: 'hrorganizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'archivesplace',
prop: 'archivesplace',
dataType: 'TEXT',
},
{
name: 'archivesroom',
prop: 'archivesroom',
dataType: 'TEXT',
},
{
name: 'activeflag',
prop: 'activeflag',
dataType: 'YESNO',
},
{
name: 'hremployeeid',
prop: 'hremployeeid',
dataType: 'PICKUP',
},
{
name: 'hrorganizationid',
prop: 'hrorganizationid',
dataType: 'PICKUP',
},
{
name: 'hrarchivesid',
prop: 'hrarchivesid',
dataType: 'GUID',
},
{
name: 'hrarchives',
prop: 'hrarchivesid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import EF_001Model from './ef-001-form-model';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import HROrganizationService from '@/service/hrorganization/hrorganization-service';
/**
* EF_001 部件服务对象
*
* @export
* @class EF_001Service
*/
export default class EF_001Service extends ControlService {
/**
* 档案信息服务对象
*
* @type {HRArchivesService}
* @memberof EF_001Service
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof EF_001Service
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of EF_001Service.
*
* @param {*} [opts={}]
* @memberof EF_001Service
*/
constructor(opts: any = {}) {
super(opts);
this.model = new EF_001Model();
}
/**
* 员工服务对象
*
* @type {HREmployeeService}
* @memberof EF_001Service
*/
public hremployeeService: HREmployeeService = new HREmployeeService();
/**
* 组织服务对象
*
* @type {HROrganizationService}
* @memberof EF_001Service
*/
public hrorganizationService: HROrganizationService = new HROrganizationService();
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof EF_001Service
*/
private 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 EF_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;
if (Object.is(serviceName, 'HREmployeeService') && Object.is(interfaceName, 'FetchDefault')) {
return this.doItems(this.hremployeeService.FetchDefault(JSON.parse(JSON.stringify(context)),data, isloading), 'employeeid', 'hremployee');
}
if (Object.is(serviceName, 'HROrganizationService') && Object.is(interfaceName, 'FetchDefault')) {
return this.doItems(this.hrorganizationService.FetchDefault(JSON.parse(JSON.stringify(context)),data, isloading), 'organizationid', 'hrorganization');
}
return Promise.reject([])
}
/**
* 启动工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof EF_001Service
*/
@Errorlog
public wfstart(action: string,context: any = {},data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data);
context = this.handleRequestData(action,context,data).context;
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,localdata);
} else {
result = this.appEntityService.WFStart(context,data, isloading,localdata);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof EF_001Service
*/
@Errorlog
public wfsubmit(action: string,context: any = {}, data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data,true);
context = this.handleRequestData(action,context,data,true).context;
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,localdata);
} else {
result = this.appEntityService.WFSubmit(context,data, isloading,localdata);
}
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 EF_001Service
*/
@Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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.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 EF_001Service
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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.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 EF_001Service
*/
@Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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.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 EF_001Service
*/
@Errorlog
public get(action: string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EF_001Service
*/
@Errorlog
public loadDraft(action: string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
//仿真主键数据
const PrimaryKey = Util.createUUID();
Data.hrarchivesid = PrimaryKey;
Data.hrarchives = PrimaryKey;
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) => {
response.data.hrarchivesid = PrimaryKey;
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 EF_001Service
*/
@Errorlog
public frontLogic(action:string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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,true);
resolve(response);
}).catch(response => {
reject(response);
});
})
}
/**
* 处理请求数据
*
* @param action 行为
* @param data 数据
* @memberof EF_001Service
*/
public handleRequestData(action: string,context:any, data: any = {},isMerge:boolean = false){
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return data;
}
let formItemItems: any[] = mode.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
formItemItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop){
requestData[item.prop] = context[item.name];
}
}else{
if(item && item.prop){
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};
}
/**
* 通过属性名称获取表单项名称
*
* @param name 实体属性名称
* @memberof EF_001Service
*/
public getItemNameByDeName(name:string) :string{
let itemName = name;
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return name;
}
let formItemItems: any[] = mode.getDataItems();
formItemItems.forEach((item:any)=>{
if(item.prop === name){
itemName = item.name;
}
});
return itemName.trim();
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form' ref='form' id='hrarchives_ef_001' style="">
<input style="display:none;" />
<row >
<i-col class="form-layout-container" v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hrarchives.ef_001_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.hremployeename.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='hremployeename' :itemRules="this.rules.hremployeename" class='' :caption="$t('entities.hrarchives.ef_001_form.details.hremployeename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hremployeename.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.hremployeename.disabled"
name='hremployeename'
deMajorField='employeename'
deKeyField='hremployee'
:service="service"
:acParams="{ serviceName: 'HREmployeeService', interfaceName: 'FetchDefault'}"
valueitem='hremployeeid'
:value="data.hremployeename"
:pickupView="{ viewname: 'hremployee-pickup-view', title: $t('entities.hremployee.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'hremployees', parameterName: 'hremployee' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange($event)">
</app-picker>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.archivescode.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='archivescode' :itemRules="this.rules.archivescode" class='' :caption="$t('entities.hrarchives.ef_001_form.details.archivescode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.archivescode.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.archivescode"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.archivescode.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.hrorganizationname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='hrorganizationname' :itemRules="this.rules.hrorganizationname" class='' :caption="$t('entities.hrarchives.ef_001_form.details.hrorganizationname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hrorganizationname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.hrorganizationname.disabled"
name='hrorganizationname'
deMajorField='organizationname'
deKeyField='hrorganization'
:service="service"
:acParams="{ serviceName: 'HROrganizationService', interfaceName: 'FetchDefault'}"
valueitem='hrorganizationid'
:value="data.hrorganizationname"
:pickupView="{ viewname: 'hrorganization-pickup-view', title: $t('entities.hrorganization.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'hrorganizations', parameterName: 'hrorganization' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange($event)">
</app-picker>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.archivesplace.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='archivesplace' :itemRules="this.rules.archivesplace" class='' :caption="$t('entities.hrarchives.ef_001_form.details.archivesplace')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.archivesplace.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.archivesplace"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.archivesplace.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.archivesroom.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='archivesroom' :itemRules="this.rules.archivesroom" class='' :caption="$t('entities.hrarchives.ef_001_form.details.archivesroom')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.archivesroom.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.archivesroom"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.archivesroom.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.activeflag.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='activeflag' :itemRules="this.rules.activeflag" class='' :caption="$t('entities.hrarchives.ef_001_form.details.activeflag')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.activeflag.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.activeflag"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.activeflag.disabled"
style="width:100px;width: 100px;"
valueType="number"
tag='YesNo'
codelistType='STATIC'
placeholder='请选择...'
/>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
<template src="./ef-001-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EF_001EditFormBase } from './ef-001-form-base';
/**
* form部件
*
* @export
* @class EF_001EditForm
* @extends {EF_001EditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class EF_001EditForm extends EF_001EditFormBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import IF_001Service from './if-001-form-service';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {IF_001EditFormBase}
*/
export class IF_001EditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {IF_001Service}
* @memberof IF_001EditFormBase
*/
public service: IF_001Service = new IF_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof IF_001EditFormBase
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected appDeLogicName: string = '档案信息';
/**
* 界面UI服务对象
*
* @type {HRArchivesUIService}
* @memberof IF_001EditFormBase
*/
public appUIService:HRArchivesUIService = new HRArchivesUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
archivescode: null,
hrorganizationname: null,
archivesplace: null,
archivesroom: null,
hremployeename: null,
employeecode: null,
organizationname: null,
activeflag: null,
degree: null,
birthday: null,
startworktime: null,
politicaltime: null,
hrarchivesid: null,
hrarchives:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public rules: any = {
}
/**
* 属性值规则
*
* @type {*}
* @memberof IF_001Base
*/
public deRules:any = {
};
/**
* 详情模型集合
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '档案信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrarchives.if_001_form', extractMode: 'ITEM', details: [] } }),
grouppanel1: new FormGroupPanelModel({ caption: '借阅记录', detailType: 'GROUPPANEL', name: 'grouppanel1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrarchives.if_001_form', extractMode: 'ITEM', details: [] } }),
grouppanel2: new FormGroupPanelModel({ caption: '调档记录', detailType: 'GROUPPANEL', name: 'grouppanel2', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrarchives.if_001_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '档案信息标识', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '档案信息名称', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
archivescode: new FormItemModel({ caption: '档案编号', detailType: 'FORMITEM', name: 'archivescode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hrorganizationname: new FormItemModel({ caption: '档案管理单位', detailType: 'FORMITEM', name: 'hrorganizationname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
archivesplace: new FormItemModel({ caption: '档案保管地', detailType: 'FORMITEM', name: 'archivesplace', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
archivesroom: new FormItemModel({ caption: '档案室', detailType: 'FORMITEM', name: 'archivesroom', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hremployeename: new FormItemModel({ caption: '员工姓名', detailType: 'FORMITEM', name: 'hremployeename', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
employeecode: new FormItemModel({ caption: '员工编号', detailType: 'FORMITEM', name: 'employeecode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
organizationname: new FormItemModel({ caption: '单位', detailType: 'FORMITEM', name: 'organizationname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
activeflag: new FormItemModel({ caption: '是否有效', detailType: 'FORMITEM', name: 'activeflag', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
degree: new FormItemModel({ caption: '档案学历', detailType: 'FORMITEM', name: 'degree', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
birthday: new FormItemModel({ caption: '档案出生日期', detailType: 'FORMITEM', name: 'birthday', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
startworktime: new FormItemModel({ caption: '档案参加工作时间', detailType: 'FORMITEM', name: 'startworktime', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
politicaltime: new FormItemModel({ caption: '档案入党时间', detailType: 'FORMITEM', name: 'politicaltime', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hrarchivesid: new FormItemModel({ caption: '档案信息标识', detailType: 'FORMITEM', name: 'hrarchivesid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
/**
* 新建默认值
* @memberof IF_001EditFormBase
*/
public createDefault(){
if (this.data.hasOwnProperty('activeflag')) {
this.data['activeflag'] = '1';
}
}
/**
* 更新默认值
* @memberof IF_001EditFormBase
*/
public updateDefault(){
if (this.data.hasOwnProperty('activeflag') && !this.data.activeflag) {
this.data['activeflag'] = '1';
}
}
}
\ No newline at end of file
/**
* IF_001 部件模型
*
* @export
* @class IF_001Model
*/
export default class IF_001Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof IF_001Model
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'hrarchivesid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'hrarchivesname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'archivescode',
prop: 'archivescode',
dataType: 'TEXT',
},
{
name: 'hrorganizationname',
prop: 'hrorganizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'archivesplace',
prop: 'archivesplace',
dataType: 'TEXT',
},
{
name: 'archivesroom',
prop: 'archivesroom',
dataType: 'TEXT',
},
{
name: 'hremployeename',
prop: 'hremployeename',
dataType: 'PICKUPTEXT',
},
{
name: 'employeecode',
prop: 'employeecode',
dataType: 'PICKUPDATA',
},
{
name: 'organizationname',
prop: 'organizationname',
dataType: 'PICKUPDATA',
},
{
name: 'activeflag',
prop: 'activeflag',
dataType: 'YESNO',
},
{
name: 'degree',
prop: 'degree',
dataType: 'SSCODELIST',
},
{
name: 'birthday',
prop: 'birthday',
dataType: 'DATE',
},
{
name: 'startworktime',
prop: 'startworktime',
dataType: 'DATE',
},
{
name: 'politicaltime',
prop: 'politicaltime',
dataType: 'DATE',
},
{
name: 'hrarchivesid',
prop: 'hrarchivesid',
dataType: 'GUID',
},
{
name: 'hrarchives',
prop: 'hrarchivesid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import IF_001Model from './if-001-form-model';
/**
* IF_001 部件服务对象
*
* @export
* @class IF_001Service
*/
export default class IF_001Service extends ControlService {
/**
* 档案信息服务对象
*
* @type {HRArchivesService}
* @memberof IF_001Service
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof IF_001Service
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of IF_001Service.
*
* @param {*} [opts={}]
* @memberof IF_001Service
*/
constructor(opts: any = {}) {
super(opts);
this.model = new IF_001Model();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof IF_001Service
*/
private 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 IF_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]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof IF_001Service
*/
@Errorlog
public wfstart(action: string,context: any = {},data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data);
context = this.handleRequestData(action,context,data).context;
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,localdata);
} else {
result = this.appEntityService.WFStart(context,data, isloading,localdata);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof IF_001Service
*/
@Errorlog
public wfsubmit(action: string,context: any = {}, data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data,true);
context = this.handleRequestData(action,context,data,true).context;
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,localdata);
} else {
result = this.appEntityService.WFSubmit(context,data, isloading,localdata);
}
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 IF_001Service
*/
@Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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.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 IF_001Service
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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.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 IF_001Service
*/
@Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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.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 IF_001Service
*/
@Errorlog
public get(action: string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof IF_001Service
*/
@Errorlog
public loadDraft(action: string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
//仿真主键数据
const PrimaryKey = Util.createUUID();
Data.hrarchivesid = PrimaryKey;
Data.hrarchives = PrimaryKey;
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) => {
response.data.hrarchivesid = PrimaryKey;
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 IF_001Service
*/
@Errorlog
public frontLogic(action:string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
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,true);
resolve(response);
}).catch(response => {
reject(response);
});
})
}
/**
* 处理请求数据
*
* @param action 行为
* @param data 数据
* @memberof IF_001Service
*/
public handleRequestData(action: string,context:any, data: any = {},isMerge:boolean = false){
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return data;
}
let formItemItems: any[] = mode.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
formItemItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop){
requestData[item.prop] = context[item.name];
}
}else{
if(item && item.prop){
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};
}
/**
* 通过属性名称获取表单项名称
*
* @param name 实体属性名称
* @memberof IF_001Service
*/
public getItemNameByDeName(name:string) :string{
let itemName = name;
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return name;
}
let formItemItems: any[] = mode.getDataItems();
formItemItems.forEach((item:any)=>{
if(item.prop === name){
itemName = item.name;
}
});
return itemName.trim();
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form info-form-mode' ref='form' id='hrarchives_if_001' style="">
<input style="display:none;" />
<row >
<i-col class="form-layout-container" v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hrarchives.if_001_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.archivescode.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='archivescode' :itemRules="this.rules.archivescode" class='' :caption="$t('entities.hrarchives.if_001_form.details.archivescode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.archivescode.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='archivescode' :value="data.archivescode" dataType="TEXT" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.hrorganizationname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='hrorganizationname' :itemRules="this.rules.hrorganizationname" class='' :caption="$t('entities.hrarchives.if_001_form.details.hrorganizationname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hrorganizationname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='hrorganizationname' :value="data.hrorganizationname" dataType="PICKUPTEXT" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.archivesplace.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='archivesplace' :itemRules="this.rules.archivesplace" class='' :caption="$t('entities.hrarchives.if_001_form.details.archivesplace')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.archivesplace.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='archivesplace' :value="data.archivesplace" dataType="TEXT" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.archivesroom.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='archivesroom' :itemRules="this.rules.archivesroom" class='' :caption="$t('entities.hrarchives.if_001_form.details.archivesroom')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.archivesroom.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='archivesroom' :value="data.archivesroom" dataType="TEXT" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.hremployeename.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='hremployeename' :itemRules="this.rules.hremployeename" class='' :caption="$t('entities.hrarchives.if_001_form.details.hremployeename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hremployeename.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='hremployeename' :value="data.hremployeename" dataType="PICKUPTEXT" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.employeecode.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='employeecode' :itemRules="this.rules.employeecode" class='' :caption="$t('entities.hrarchives.if_001_form.details.employeecode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.employeecode.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='employeecode' :value="data.employeecode" dataType="PICKUPDATA" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.organizationname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='organizationname' :itemRules="this.rules.organizationname" class='' :caption="$t('entities.hrarchives.if_001_form.details.organizationname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.organizationname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='organizationname' :value="data.organizationname" dataType="PICKUPDATA" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.activeflag.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='activeflag' :itemRules="this.rules.activeflag" class='' :caption="$t('entities.hrarchives.if_001_form.details.activeflag')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.activeflag.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='activeflag' :value="data.activeflag" dataType="YESNO" :precision="0"
tag='YesNo' codelistType='STATIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.degree.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='degree' :itemRules="this.rules.degree" class='' :caption="$t('entities.hrarchives.if_001_form.details.degree')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.degree.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='degree' :value="data.degree" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0014' codelistType='STATIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.birthday.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='birthday' :itemRules="this.rules.birthday" class='' :caption="$t('entities.hrarchives.if_001_form.details.birthday')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.birthday.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='birthday' :value="data.birthday" dataType="DATE" valueFormat="%1$tY-%1$tm-%1$td" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.startworktime.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='startworktime' :itemRules="this.rules.startworktime" class='' :caption="$t('entities.hrarchives.if_001_form.details.startworktime')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.startworktime.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='startworktime' :value="data.startworktime" dataType="DATE" valueFormat="%1$tY-%1$tm-%1$td" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.politicaltime.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='politicaltime' :itemRules="this.rules.politicaltime" class='' :caption="$t('entities.hrarchives.if_001_form.details.politicaltime')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.politicaltime.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='politicaltime' :value="data.politicaltime" dataType="DATE" valueFormat="%1$tY-%1$tm-%1$td" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.grouppanel1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hrarchives.if_001_form.details.grouppanel1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
</row>
</app-form-group>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.grouppanel2.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel2" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel2.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hrarchives.if_001_form.details.grouppanel2')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel2" :data="data" :context="context" :viewparams="viewparams"/>
<row>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
<template src="./if-001-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IF_001EditFormBase } from './if-001-form-base';
/**
* form部件
*
* @export
* @class IF_001EditForm
* @extends {IF_001EditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class IF_001EditForm extends IF_001EditFormBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, TabExpPanelControlBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import V_005tabexppanelService from './v-005tabexppanel-tabexppanel-service';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {V_005tabexppanelTabexppanelBase}
*/
export class V_005tabexppanelTabexppanelBase extends TabExpPanelControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof V_005tabexppanelTabexppanelBase
*/
protected controlType: string = 'TABEXPPANEL';
/**
* 建构部件服务对象
*
* @type {V_005tabexppanelService}
* @memberof V_005tabexppanelTabexppanelBase
*/
public service: V_005tabexppanelService = new V_005tabexppanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof V_005tabexppanelTabexppanelBase
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof V_005tabexppanelTabexppanelBase
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof V_005tabexppanelTabexppanelBase
*/
protected appDeLogicName: string = '档案信息';
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof V_005tabexppanel
*/
protected isInit: any = {
tabviewpanel: true ,
tabviewpanel2: false ,
tabviewpanel3: false ,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof V_005tabexppanel
*/
protected activatedTabViewPanel: string = 'tabviewpanel';
/**
* 组件创建完毕
*
* @protected
* @memberof V_005tabexppanel
*/
protected ctrlCreated(): void {
//设置分页导航srfparentdename和srfparentkey
if (this.context.hrarchives) {
Object.assign(this.context, { srfparentdename: 'HRArchives', srfparentkey: this.context.hrarchives });
}
super.ctrlCreated();
}
}
\ No newline at end of file
/**
* V_005tabexppanel 部件模型
*
* @export
* @class V_005tabexppanelModel
*/
export default class V_005tabexppanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof V_005tabexppanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'hrarchives',
prop: 'hrarchivesid',
},
{
name: 'hrarchivesname',
},
{
name: 'createman',
},
{
name: 'createdate',
},
{
name: 'updateman',
},
{
name: 'updatedate',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'employeecode',
},
{
name: 'organizationname',
},
{
name: 'organizationid',
},
{
name: 'empstate',
},
{
name: 'archivescode',
},
{
name: 'archivesroom',
},
{
name: 'archivesplacetype',
},
{
name: 'archivesplace',
},
{
name: 'degree',
},
{
name: 'birthday',
},
{
name: 'politicaltime',
},
{
name: 'startworktime',
},
{
name: 'activeflag',
},
{
name: 'attachment',
},
{
name: 'memo',
},
{
name: 'borrowstate',
},
{
name: 'hrorganizationid',
},
{
name: 'hrorganizationname',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import V_005tabexppanelModel from './v-005tabexppanel-tabexppanel-model';
/**
* V_005tabexppanel 部件服务对象
*
* @export
* @class V_005tabexppanelService
*/
export default class V_005tabexppanelService extends ControlService {
/**
* 档案信息服务对象
*
* @type {HRArchivesService}
* @memberof V_005tabexppanelService
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof V_005tabexppanelService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of V_005tabexppanelService.
*
* @param {*} [opts={}]
* @memberof V_005tabexppanelService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new V_005tabexppanelModel();
}
}
\ No newline at end of file
<div class='tabviewpanel'>
<tabs :value="activatedTabViewPanel" :animated="false" class='tabexppanel' name='v_005tabexppanel' @on-click="tabPanelClick($event)">
<tab-pane :index="0" name='tabviewpanel' tab='v_005tabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-info-circle',
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="1" name='tabviewpanel2' tab='v_005tabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-reorder',
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>
<tab-pane :index="2" name='tabviewpanel3' tab='v_005tabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-th-list',
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>
</tabs>
</div>
\ No newline at end of file
<template src="./v-005tabexppanel-tabexppanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { V_005tabexppanelTabexppanelBase } from './v-005tabexppanel-tabexppanel-base';
import view_tabviewpanel from '@widgets/hrarchives/v-005tabviewpanel-tabviewpanel/v-005tabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/hrarchives/v-005tabviewpanel2-tabviewpanel/v-005tabviewpanel2-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/hrarchives/v-005tabviewpanel3-tabviewpanel/v-005tabviewpanel3-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class V_005tabexppanelTabexppanel
* @extends {V_005tabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel2,
view_tabviewpanel3,
}
})
@VueLifeCycleProcessing()
export default class V_005tabexppanelTabexppanel extends V_005tabexppanelTabexppanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import V_005tabviewpanelService from './v-005tabviewpanel-tabviewpanel-service';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {V_005tabviewpanelTabviewpanelBase}
*/
export class V_005tabviewpanelTabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof V_005tabviewpanelTabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {V_005tabviewpanelService}
* @memberof V_005tabviewpanelTabviewpanelBase
*/
public service: V_005tabviewpanelService = new V_005tabviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof V_005tabviewpanelTabviewpanelBase
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof V_005tabviewpanelTabviewpanelBase
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof V_005tabviewpanelTabviewpanelBase
*/
protected appDeLogicName: string = '档案信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof V_005tabviewpanel
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof V_005tabviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof V_005tabviewpanel
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof V_005tabviewpanel
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof V_005tabviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof V_005tabviewpanel
*/
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 V_005tabviewpanel
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof V_005tabviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof V_005tabviewpanel
*/
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 V_005tabviewpanel
*/
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 V_005tabviewpanel
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof V_005tabviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof V_005tabviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* V_005tabviewpanel 部件模型
*
* @export
* @class V_005tabviewpanelModel
*/
export default class V_005tabviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof V_005tabviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'hrarchives',
prop: 'hrarchivesid',
},
{
name: 'hrarchivesname',
},
{
name: 'createman',
},
{
name: 'createdate',
},
{
name: 'updateman',
},
{
name: 'updatedate',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'employeecode',
},
{
name: 'organizationname',
},
{
name: 'organizationid',
},
{
name: 'empstate',
},
{
name: 'archivescode',
},
{
name: 'archivesroom',
},
{
name: 'archivesplacetype',
},
{
name: 'archivesplace',
},
{
name: 'degree',
},
{
name: 'birthday',
},
{
name: 'politicaltime',
},
{
name: 'startworktime',
},
{
name: 'activeflag',
},
{
name: 'attachment',
},
{
name: 'memo',
},
{
name: 'borrowstate',
},
{
name: 'hrorganizationid',
},
{
name: 'hrorganizationname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* V_005tabviewpanel 部件服务对象
*
* @export
* @class V_005tabviewpanelService
*/
export default class V_005tabviewpanelService extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrarchives-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="./v-005tabviewpanel-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { V_005tabviewpanelTabviewpanelBase } from './v-005tabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class V_005tabviewpanelTabviewpanel
* @extends {V_005tabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class V_005tabviewpanelTabviewpanel extends V_005tabviewpanelTabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import V_005tabviewpanel2Service from './v-005tabviewpanel2-tabviewpanel-service';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {V_005tabviewpanel2TabviewpanelBase}
*/
export class V_005tabviewpanel2TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof V_005tabviewpanel2TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {V_005tabviewpanel2Service}
* @memberof V_005tabviewpanel2TabviewpanelBase
*/
public service: V_005tabviewpanel2Service = new V_005tabviewpanel2Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof V_005tabviewpanel2TabviewpanelBase
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof V_005tabviewpanel2TabviewpanelBase
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof V_005tabviewpanel2TabviewpanelBase
*/
protected appDeLogicName: string = '档案信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof V_005tabviewpanel2
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof V_005tabviewpanel2
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof V_005tabviewpanel2
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof V_005tabviewpanel2
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof V_005tabviewpanel2
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof V_005tabviewpanel2
*/
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 V_005tabviewpanel2
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof V_005tabviewpanel2
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof V_005tabviewpanel2
*/
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 V_005tabviewpanel2
*/
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 V_005tabviewpanel2
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof V_005tabviewpanel2
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof V_005tabviewpanel2
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* V_005tabviewpanel2 部件模型
*
* @export
* @class V_005tabviewpanel2Model
*/
export default class V_005tabviewpanel2Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof V_005tabviewpanel2Model
*/
public getDataItems(): any[] {
return [
{
name: 'hrarchives',
prop: 'hrarchivesid',
},
{
name: 'hrarchivesname',
},
{
name: 'createman',
},
{
name: 'createdate',
},
{
name: 'updateman',
},
{
name: 'updatedate',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'employeecode',
},
{
name: 'organizationname',
},
{
name: 'organizationid',
},
{
name: 'empstate',
},
{
name: 'archivescode',
},
{
name: 'archivesroom',
},
{
name: 'archivesplacetype',
},
{
name: 'archivesplace',
},
{
name: 'degree',
},
{
name: 'birthday',
},
{
name: 'politicaltime',
},
{
name: 'startworktime',
},
{
name: 'activeflag',
},
{
name: 'attachment',
},
{
name: 'memo',
},
{
name: 'borrowstate',
},
{
name: 'hrorganizationid',
},
{
name: 'hrorganizationname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* V_005tabviewpanel2 部件服务对象
*
* @export
* @class V_005tabviewpanel2Service
*/
export default class V_005tabviewpanel2Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrarchives-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="./v-005tabviewpanel2-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { V_005tabviewpanel2TabviewpanelBase } from './v-005tabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class V_005tabviewpanel2Tabviewpanel
* @extends {V_005tabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class V_005tabviewpanel2Tabviewpanel extends V_005tabviewpanel2TabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HRArchivesService from '@/service/hrarchives/hrarchives-service';
import V_005tabviewpanel3Service from './v-005tabviewpanel3-tabviewpanel-service';
import HRArchivesUIService from '@/uiservice/hrarchives/hrarchives-ui-service';
/**
* tabviewpanel3部件基类
*
* @export
* @class MainControlBase
* @extends {V_005tabviewpanel3TabviewpanelBase}
*/
export class V_005tabviewpanel3TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof V_005tabviewpanel3TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {V_005tabviewpanel3Service}
* @memberof V_005tabviewpanel3TabviewpanelBase
*/
public service: V_005tabviewpanel3Service = new V_005tabviewpanel3Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HRArchivesService}
* @memberof V_005tabviewpanel3TabviewpanelBase
*/
public appEntityService: HRArchivesService = new HRArchivesService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof V_005tabviewpanel3TabviewpanelBase
*/
protected appDeName: string = 'hrarchives';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof V_005tabviewpanel3TabviewpanelBase
*/
protected appDeLogicName: string = '档案信息';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof V_005tabviewpanel3
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof V_005tabviewpanel3
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof V_005tabviewpanel3
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof V_005tabviewpanel3
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof V_005tabviewpanel3
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof V_005tabviewpanel3
*/
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 V_005tabviewpanel3
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof V_005tabviewpanel3
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof V_005tabviewpanel3
*/
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 V_005tabviewpanel3
*/
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 V_005tabviewpanel3
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof V_005tabviewpanel3
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof V_005tabviewpanel3
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* V_005tabviewpanel3 部件模型
*
* @export
* @class V_005tabviewpanel3Model
*/
export default class V_005tabviewpanel3Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof V_005tabviewpanel3Model
*/
public getDataItems(): any[] {
return [
{
name: 'hrarchives',
prop: 'hrarchivesid',
},
{
name: 'hrarchivesname',
},
{
name: 'createman',
},
{
name: 'createdate',
},
{
name: 'updateman',
},
{
name: 'updatedate',
},
{
name: 'hremployeeid',
},
{
name: 'hremployeename',
},
{
name: 'employeecode',
},
{
name: 'organizationname',
},
{
name: 'organizationid',
},
{
name: 'empstate',
},
{
name: 'archivescode',
},
{
name: 'archivesroom',
},
{
name: 'archivesplacetype',
},
{
name: 'archivesplace',
},
{
name: 'degree',
},
{
name: 'birthday',
},
{
name: 'politicaltime',
},
{
name: 'startworktime',
},
{
name: 'activeflag',
},
{
name: 'attachment',
},
{
name: 'memo',
},
{
name: 'borrowstate',
},
{
name: 'hrorganizationid',
},
{
name: 'hrorganizationname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* V_005tabviewpanel3 部件服务对象
*
* @export
* @class V_005tabviewpanel3Service
*/
export default class V_005tabviewpanel3Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrarchives-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="./v-005tabviewpanel3-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { V_005tabviewpanel3TabviewpanelBase } from './v-005tabviewpanel3-tabviewpanel-base';
/**
* tabviewpanel3部件
*
* @export
* @class V_005tabviewpanel3Tabviewpanel
* @extends {V_005tabviewpanel3TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class V_005tabviewpanel3Tabviewpanel extends V_005tabviewpanel3TabviewpanelBase { }
</script>
......@@ -37,11 +37,11 @@
git clone -b master $para2 ibizhumanresources/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibizhumanresources/
mvn clean package -Phrapi
cd humanresource-provider/humanresource-provider-hrapi
mvn -Phrapi docker:build
mvn -Phrapi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/humanresource-provider-hrapi.yaml iBizEE --with-registry-auth
mvn clean package -Ppim
cd humanresource-app/humanresource-app-pim
mvn -Ppim docker:build
mvn -Ppim docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/humanresource-app-pim.yaml iBizEE --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
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
......@@ -3,9 +3,25 @@ services:
humanresource-app-pim:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-app-pim:latest
ports:
- "8080:8080"
- "10327:10327"
networks:
- 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:
resources:
limits:
......
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
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
......@@ -3,25 +3,9 @@ services:
humanresource-provider-hrapi:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-provider-hrapi:latest
ports:
- "10317:10317"
- "8081:8081"
networks:
- 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:
resources:
limits:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册