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

jackwang 部署微服务应用

上级 15e20b21
...@@ -530,7 +530,7 @@ ...@@ -530,7 +530,7 @@
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"hremployeegridview": { "hremployeegridview": {
"title": "员工表格视图", "title": "员工",
"caption": "员工", "caption": "员工",
"viewtype": "DEGRIDVIEW", "viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource", "viewmodule": "HumanResource",
......
...@@ -60,7 +60,7 @@ export default { ...@@ -60,7 +60,7 @@ export default {
}, },
gridview: { gridview: {
caption: "员工", caption: "员工",
title: "员工表格视图", title: "员工",
}, },
editview: { editview: {
caption: "员工信息", caption: "员工信息",
......
...@@ -59,7 +59,7 @@ export default { ...@@ -59,7 +59,7 @@ export default {
}, },
gridview: { gridview: {
caption: "员工", caption: "员工",
title: "员工表格视图", title: "员工",
}, },
editview: { editview: {
caption: "员工信息", caption: "员工信息",
......
...@@ -432,7 +432,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -432,7 +432,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "9420eeffff765c2a6e4ac27dfae7fb2d" "viewtag": "9420eeffff765c2a6e4ac27dfae7fb2d"
}, },
"hremployeegridview": { "hremployeegridview": {
"title": "员工表格视图", "title": "员工",
"caption": "员工", "caption": "员工",
"viewtype": "DEGRIDVIEW", "viewtype": "DEGRIDVIEW",
"viewmodule": "HumanResource", "viewmodule": "HumanResource",
......
...@@ -9,7 +9,7 @@ import CodeListService from "@service/app/codelist-service"; ...@@ -9,7 +9,7 @@ import CodeListService from "@service/app/codelist-service";
/** /**
* 员工表格视图视图基类 * 员工视图基类
* *
* @export * @export
* @class HREmployeeGridViewBase * @class HREmployeeGridViewBase
......
<studio-view-style2 viewName="hremployeegridview" viewTitle="员工表格视图" class='degridview hremployee-grid-view'> <studio-view-style2 viewName="hremployeegridview" viewTitle="员工" class='degridview hremployee-grid-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名" search @on-search="onSearch($event)"/> <i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名" search @on-search="onSearch($event)"/>
<template slot="toolbar"> <template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template> <view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
......
...@@ -7,7 +7,7 @@ import view_grid from '@widgets/hremployee/main-grid/main-grid.vue'; ...@@ -7,7 +7,7 @@ import view_grid from '@widgets/hremployee/main-grid/main-grid.vue';
import view_searchform from '@widgets/hremployee/default-searchform/default-searchform.vue'; import view_searchform from '@widgets/hremployee/default-searchform/default-searchform.vue';
/** /**
* 员工表格视图视图 * 员工视图
* *
* @export * @export
* @class HREmployeeGridView * @class HREmployeeGridView
......
import { Subject } from 'rxjs';
import { OptionViewBase } from '@/studio-core';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import HREmployeeAuthService from '@/authservice/hremployee/hremployee-auth-service';
import OptionViewEngine from '@engine/view/option-view-engine';
import HREmployeeUIService from '@/uiservice/hremployee/hremployee-ui-service';
/**
* 快速新建视图基类
*
* @export
* @class HREmployeeV_001Base
* @extends {OptionViewBase}
*/
export class HREmployeeV_001Base extends OptionViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HREmployeeV_001Base
*/
protected appDeName: string = 'hremployee';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HREmployeeV_001Base
*/
protected appDeKey: string = 'employeeid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HREmployeeV_001Base
*/
protected appDeMajor: string = 'employeename';
/**
* 实体服务对象
*
* @type {HREmployeeService}
* @memberof HREmployeeV_001Base
*/
protected appEntityService: HREmployeeService = new HREmployeeService;
/**
* 实体权限服务对象
*
* @type HREmployeeUIService
* @memberof HREmployeeV_001Base
*/
public appUIService: HREmployeeUIService = new HREmployeeUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HREmployeeV_001Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HREmployeeV_001Base
*/
protected model: any = {
srfCaption: 'entities.hremployee.views.v_001.caption',
srfTitle: 'entities.hremployee.views.v_001.title',
srfSubTitle: 'entities.hremployee.views.v_001.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HREmployeeV_001Base
*/
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 = '1fda62030d6149cb5ee6f088bc4f0aa7';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HREmployeeV_001Base
*/
public engine: OptionViewEngine = new OptionViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HREmployeeV_001Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hremployee',
majorPSDEField: 'employeename',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_001Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_001Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_001Base
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="hremployeev_001" viewTitle="快速新建" class='deoptview hremployee-v-001'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</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="./hremployee-v-001.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HREmployeeV_001Base } from './hremployee-v-001-base';
import view_form from '@widgets/hremployee/ef-001-form/ef-001-form.vue';
/**
* 快速新建视图
*
* @export
* @class HREmployeeV_001
* @extends {HREmployeeV_001Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HREmployeeV_001 extends HREmployeeV_001Base { }
</script>
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import HREmployeeAuthService from '@/authservice/hremployee/hremployee-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import HREmployeeUIService from '@/uiservice/hremployee/hremployee-ui-service';
/**
* 员工信息视图基类
*
* @export
* @class HREmployeeV_002Base
* @extends {EditViewBase}
*/
export class HREmployeeV_002Base extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HREmployeeV_002Base
*/
protected appDeName: string = 'hremployee';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HREmployeeV_002Base
*/
protected appDeKey: string = 'employeeid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HREmployeeV_002Base
*/
protected appDeMajor: string = 'employeename';
/**
* 实体服务对象
*
* @type {HREmployeeService}
* @memberof HREmployeeV_002Base
*/
protected appEntityService: HREmployeeService = new HREmployeeService;
/**
* 实体权限服务对象
*
* @type HREmployeeUIService
* @memberof HREmployeeV_002Base
*/
public appUIService: HREmployeeUIService = new HREmployeeUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HREmployeeV_002Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HREmployeeV_002Base
*/
protected model: any = {
srfCaption: 'entities.hremployee.views.v_002.caption',
srfTitle: 'entities.hremployee.views.v_002.title',
srfSubTitle: 'entities.hremployee.views.v_002.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HREmployeeV_002Base
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '621c665c0d1c18948c754c33f0bd86e8';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HREmployeeV_002Base
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HREmployeeV_002Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hremployee',
majorPSDEField: 'employeename',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_002Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_002Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HREmployeeV_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="hremployeev_002" viewTitle="员工信息" class='deeditview hremployee-v-002 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="./hremployee-v-002.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HREmployeeV_002Base } from './hremployee-v-002-base';
import view_form from '@widgets/hremployee/if-001-form/if-001-form.vue';
/**
* 员工信息视图
*
* @export
* @class HREmployeeV_002
* @extends {HREmployeeV_002Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HREmployeeV_002 extends HREmployeeV_002Base { }
</script>
...@@ -144,6 +144,16 @@ export const viewstate: any = { ...@@ -144,6 +144,16 @@ export const viewstate: any = {
'4a61d63445d504cab11cf5f45536b314', '4a61d63445d504cab11cf5f45536b314',
], ],
}, },
{
viewtag: '1fda62030d6149cb5ee6f088bc4f0aa7',
viewmodule: 'HumanResource',
viewname: 'HREmployeeV_001',
viewaction: '',
viewdatachange: false,
refviews: [
'e7ba37699bd458dc8dd5c02abac8dadd',
],
},
{ {
viewtag: '26838780ace211d1714a2887e9039888', viewtag: '26838780ace211d1714a2887e9039888',
viewmodule: 'Base', viewmodule: 'Base',
...@@ -347,6 +357,15 @@ export const viewstate: any = { ...@@ -347,6 +357,15 @@ export const viewstate: any = {
'4f567c340cbb4271d44543b278d29d0f', '4f567c340cbb4271d44543b278d29d0f',
], ],
}, },
{
viewtag: '621c665c0d1c18948c754c33f0bd86e8',
viewmodule: 'HumanResource',
viewname: 'HREmployeeV_002',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{ {
viewtag: '6395cba44e6d6151f19e543b55d88845', viewtag: '6395cba44e6d6151f19e543b55d88845',
viewmodule: 'HumanResource', viewmodule: 'HumanResource',
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import EF_001Service from './ef-001-form-service';
import HREmployeeUIService from '@/uiservice/hremployee/hremployee-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 {HREmployeeService}
* @memberof EF_001EditFormBase
*/
public appEntityService: HREmployeeService = new HREmployeeService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected appDeName: string = 'hremployee';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected appDeLogicName: string = '员工';
/**
* 界面UI服务对象
*
* @type {HREmployeeUIService}
* @memberof EF_001EditFormBase
*/
public appUIService:HREmployeeUIService = new HREmployeeUIService(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,
employeename: null,
employeecode: null,
empstate: null,
certtype: null,
certnum: null,
organizationname: null,
organizationid: null,
employeeid: null,
hremployee:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public rules: any = {
employeename: [
{ required: true, type: 'string', message: '员工姓名 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '员工姓名 值不能为空', trigger: 'blur' },
],
employeecode: [
{ required: true, type: 'string', message: '员工编号 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '员工编号 值不能为空', trigger: 'blur' },
],
empstate: [
{ required: true, type: 'string', message: '员工状态 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '员工状态 值不能为空', trigger: 'blur' },
],
certtype: [
{ required: true, type: 'string', message: '证件类型 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '证件类型 值不能为空', trigger: 'blur' },
],
certnum: [
{ required: true, type: 'string', message: '证件号码 值不能为空', trigger: 'change' },
{ required: true, type: 'string', 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: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.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 }),
employeename: new FormItemModel({ caption: '员工姓名', detailType: 'FORMITEM', name: 'employeename', 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 }),
empstate: new FormItemModel({ caption: '员工状态', detailType: 'FORMITEM', name: 'empstate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
certtype: new FormItemModel({ caption: '证件类型', detailType: 'FORMITEM', name: 'certtype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
certnum: new FormItemModel({ caption: '证件号码', detailType: 'FORMITEM', name: 'certnum', 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 }),
organizationid: new FormItemModel({ caption: '组织ID', detailType: 'FORMITEM', name: 'organizationid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
employeeid: new FormItemModel({ caption: '员工标识', detailType: 'FORMITEM', name: 'employeeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
}
\ 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: 'employeeid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'employeename',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'employeename',
prop: 'employeename',
dataType: 'TEXT',
},
{
name: 'employeecode',
prop: 'employeecode',
dataType: 'TEXT',
},
{
name: 'empstate',
prop: 'empstate',
dataType: 'PICKUP',
},
{
name: 'certtype',
prop: 'certtype',
dataType: 'SSCODELIST',
},
{
name: 'certnum',
prop: 'certnum',
dataType: 'TEXT',
},
{
name: 'organizationname',
prop: 'organizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'organizationid',
prop: 'organizationid',
dataType: 'PICKUP',
},
{
name: 'employeeid',
prop: 'employeeid',
dataType: 'GUID',
},
{
name: 'hremployee',
prop: 'employeeid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import EF_001Model from './ef-001-form-model';
import HROrganizationService from '@/service/hrorganization/hrorganization-service';
/**
* EF_001 部件服务对象
*
* @export
* @class EF_001Service
*/
export default class EF_001Service extends ControlService {
/**
* 员工服务对象
*
* @type {HREmployeeService}
* @memberof EF_001Service
*/
public appEntityService: HREmployeeService = new HREmployeeService({ $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 {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, '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.employeeid = PrimaryKey;
Data.hremployee = 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.employeeid = 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='hremployee_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.hremployee.ef_001_form.details.group1')" :isShowCaption="false" 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.employeename.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='employeename' :itemRules="this.rules.employeename" class='' :caption="$t('entities.hremployee.ef_001_form.details.employeename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.employeename.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.employeename"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.employeename.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.employeecode.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='employeecode' :itemRules="this.rules.employeecode" class='' :caption="$t('entities.hremployee.ef_001_form.details.employeecode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.employeecode.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.employeecode"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.employeecode.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.empstate.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='empstate' :itemRules="this.rules.empstate" class='' :caption="$t('entities.hremployee.ef_001_form.details.empstate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.empstate.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.empstate"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.empstate.disabled"
valueType="string"
tag='CL_HR_0016'
codelistType='DYNAMIC'
placeholder='请选择...'
/>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.certtype.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='certtype' :itemRules="this.rules.certtype" class='' :caption="$t('entities.hremployee.ef_001_form.details.certtype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.certtype.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.certtype"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.certtype.disabled"
valueType="string"
tag='CL_HR_0009'
codelistType='STATIC'
placeholder='请选择...'
/>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.certnum.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='certnum' :itemRules="this.rules.certnum" class='' :caption="$t('entities.hremployee.ef_001_form.details.certnum')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.certnum.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.certnum"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.certnum.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.organizationname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='organizationname' :itemRules="this.rules.organizationname" class='' :caption="$t('entities.hremployee.ef_001_form.details.organizationname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.organizationname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.organizationname.disabled"
name='organizationname'
deMajorField='organizationname'
deKeyField='hrorganization'
:service="service"
:acParams="{ serviceName: 'HROrganizationService', interfaceName: 'FetchDefault'}"
valueitem='organizationid'
:value="data.organizationname"
: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>
</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 HREmployeeService from '@/service/hremployee/hremployee-service';
import IF_001Service from './if-001-form-service';
import HREmployeeUIService from '@/uiservice/hremployee/hremployee-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 {HREmployeeService}
* @memberof IF_001EditFormBase
*/
public appEntityService: HREmployeeService = new HREmployeeService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected appDeName: string = 'hremployee';
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected appDeLogicName: string = '员工';
/**
* 界面UI服务对象
*
* @type {HREmployeeUIService}
* @memberof IF_001EditFormBase
*/
public appUIService:HREmployeeUIService = new HREmployeeUIService(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,
employeename: null,
employeecode: null,
empstate: null,
certtype: null,
certnum: null,
sex: null,
birthday: null,
age: null,
nation: null,
organizationname: null,
photo: null,
mobile: null,
telephone: null,
email: null,
postaladdress: null,
nativetype: null,
nativeplace: null,
marriage: null,
bloodtype: null,
nativeaddress: null,
birthaddress: null,
hobby: null,
health: null,
political: null,
politicaltime: null,
entrytype: null,
startworktime: null,
startorgtime: null,
employeeid: null,
hremployee:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public rules: any = {
empstate: [
{ required: true, type: 'string', message: '员工状态 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '员工状态 值不能为空', trigger: 'blur' },
],
}
/**
* 属性值规则
*
* @type {*}
* @memberof IF_001Base
*/
public deRules:any = {
};
/**
* 详情模型集合
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public detailsModel: any = {
grouppanel1: new FormGroupPanelModel({ caption: '分组面板', detailType: 'GROUPPANEL', name: 'grouppanel1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.if_001_form', extractMode: 'ITEM', details: [] } }),
grouppanel2: new FormGroupPanelModel({ caption: 'first', detailType: 'GROUPPANEL', name: 'grouppanel2', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.if_001_form', extractMode: 'ITEM', details: [] } }),
grouppanel4: new FormGroupPanelModel({ caption: '联系信息', detailType: 'GROUPPANEL', name: 'grouppanel4', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.if_001_form', extractMode: 'ITEM', details: [] } }),
grouppanel3: new FormGroupPanelModel({ caption: '补充信息', detailType: 'GROUPPANEL', name: 'grouppanel3', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.if_001_form', extractMode: 'ITEM', details: [] } }),
grouppanel5: new FormGroupPanelModel({ caption: '工作相关', detailType: 'GROUPPANEL', name: 'grouppanel5', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.if_001_form', extractMode: 'ITEM', details: [] } }),
group1: new FormGroupPanelModel({ caption: '基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hremployee.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 }),
employeename: new FormItemModel({ caption: '员工姓名', detailType: 'FORMITEM', name: 'employeename', 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 }),
empstate: new FormItemModel({ caption: '员工状态', detailType: 'FORMITEM', name: 'empstate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
certtype: new FormItemModel({ caption: '证件类型', detailType: 'FORMITEM', name: 'certtype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
certnum: new FormItemModel({ caption: '证件号码', detailType: 'FORMITEM', name: 'certnum', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
sex: new FormItemModel({ caption: '性别', detailType: 'FORMITEM', name: 'sex', 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 }),
age: new FormItemModel({ caption: '年龄', detailType: 'FORMITEM', name: 'age', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
nation: new FormItemModel({ caption: '民族', detailType: 'FORMITEM', name: 'nation', 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 }),
photo: new FormItemModel({ caption: '照片', detailType: 'FORMITEM', name: 'photo', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
mobile: new FormItemModel({ caption: '移动电话', detailType: 'FORMITEM', name: 'mobile', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
telephone: new FormItemModel({ caption: '固定电话', detailType: 'FORMITEM', name: 'telephone', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
email: new FormItemModel({ caption: '电子邮箱', detailType: 'FORMITEM', name: 'email', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
postaladdress: new FormItemModel({ caption: '通讯地址', detailType: 'FORMITEM', name: 'postaladdress', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
nativetype: new FormItemModel({ caption: '户口类型', detailType: 'FORMITEM', name: 'nativetype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
nativeplace: new FormItemModel({ caption: '籍贯', detailType: 'FORMITEM', name: 'nativeplace', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
marriage: new FormItemModel({ caption: '婚姻状况', detailType: 'FORMITEM', name: 'marriage', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
bloodtype: new FormItemModel({ caption: '血型', detailType: 'FORMITEM', name: 'bloodtype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
nativeaddress: new FormItemModel({ caption: '户籍地址', detailType: 'FORMITEM', name: 'nativeaddress', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
birthaddress: new FormItemModel({ caption: '出生地', detailType: 'FORMITEM', name: 'birthaddress', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hobby: new FormItemModel({ caption: '爱好特长', detailType: 'FORMITEM', name: 'hobby', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
health: new FormItemModel({ caption: '健康状况', detailType: 'FORMITEM', name: 'health', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
political: new FormItemModel({ caption: '政治面貌', detailType: 'FORMITEM', name: 'political', 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 }),
entrytype: new FormItemModel({ caption: '入职渠道', detailType: 'FORMITEM', name: 'entrytype', 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 }),
startorgtime: new FormItemModel({ caption: '到本单位时间', detailType: 'FORMITEM', name: 'startorgtime', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
employeeid: new FormItemModel({ caption: '员工标识', detailType: 'FORMITEM', name: 'employeeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
}
\ 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: 'employeeid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'employeename',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'employeename',
prop: 'employeename',
dataType: 'TEXT',
},
{
name: 'employeecode',
prop: 'employeecode',
dataType: 'TEXT',
},
{
name: 'empstate',
prop: 'empstate',
dataType: 'PICKUP',
},
{
name: 'certtype',
prop: 'certtype',
dataType: 'SSCODELIST',
},
{
name: 'certnum',
prop: 'certnum',
dataType: 'TEXT',
},
{
name: 'sex',
prop: 'sex',
dataType: 'SSCODELIST',
},
{
name: 'birthday',
prop: 'birthday',
dataType: 'DATE',
},
{
name: 'age',
prop: 'age',
dataType: 'TEXT',
},
{
name: 'nation',
prop: 'nation',
dataType: 'SSCODELIST',
},
{
name: 'organizationname',
prop: 'organizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'photo',
prop: 'photo',
dataType: 'TEXT',
},
{
name: 'mobile',
prop: 'mobile',
dataType: 'TEXT',
},
{
name: 'telephone',
prop: 'telephone',
dataType: 'TEXT',
},
{
name: 'email',
prop: 'email',
dataType: 'TEXT',
},
{
name: 'postaladdress',
prop: 'postaladdress',
dataType: 'TEXT',
},
{
name: 'nativetype',
prop: 'nativetype',
dataType: 'SSCODELIST',
},
{
name: 'nativeplace',
prop: 'nativeplace',
dataType: 'TEXT',
},
{
name: 'marriage',
prop: 'marriage',
dataType: 'SSCODELIST',
},
{
name: 'bloodtype',
prop: 'bloodtype',
dataType: 'SSCODELIST',
},
{
name: 'nativeaddress',
prop: 'nativeaddress',
dataType: 'TEXT',
},
{
name: 'birthaddress',
prop: 'birthaddress',
dataType: 'TEXT',
},
{
name: 'hobby',
prop: 'hobby',
dataType: 'TEXT',
},
{
name: 'health',
prop: 'health',
dataType: 'TEXT',
},
{
name: 'political',
prop: 'political',
dataType: 'SSCODELIST',
},
{
name: 'politicaltime',
prop: 'politicaltime',
dataType: 'DATE',
},
{
name: 'entrytype',
prop: 'entrytype',
dataType: 'SSCODELIST',
},
{
name: 'startworktime',
prop: 'startworktime',
dataType: 'DATE',
},
{
name: 'startorgtime',
prop: 'startorgtime',
dataType: 'DATE',
},
{
name: 'employeeid',
prop: 'employeeid',
dataType: 'GUID',
},
{
name: 'hremployee',
prop: 'employeeid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HREmployeeService from '@/service/hremployee/hremployee-service';
import IF_001Model from './if-001-form-model';
/**
* IF_001 部件服务对象
*
* @export
* @class IF_001Service
*/
export default class IF_001Service extends ControlService {
/**
* 员工服务对象
*
* @type {HREmployeeService}
* @memberof IF_001Service
*/
public appEntityService: HREmployeeService = new HREmployeeService({ $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.employeeid = PrimaryKey;
Data.hremployee = 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.employeeid = 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='hremployee_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.hremployee.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.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.hremployee.if_001_form.details.grouppanel2')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel2" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.grouppanel1.visible" :style="{}" :sm="{ span: 18, offset: 0 }" :md="{ span: 18, offset: 0 }" :lg="{ span: 18, offset: 0 }" :xl="{ span: 18, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hremployee.if_001_form.details.grouppanel1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.employeename.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='employeename' :itemRules="this.rules.employeename" class='' :caption="$t('entities.hremployee.if_001_form.details.employeename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.employeename.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='employeename' :value="data.employeename" 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.employeecode.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='employeecode' :itemRules="this.rules.employeecode" class='' :caption="$t('entities.hremployee.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="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.empstate.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='empstate' :itemRules="this.rules.empstate" class='' :caption="$t('entities.hremployee.if_001_form.details.empstate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.empstate.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.empstate"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.empstate.disabled"
valueType="string"
tag='CL_HR_0016'
codelistType='DYNAMIC'
placeholder='请选择...'
/>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.certtype.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='certtype' :itemRules="this.rules.certtype" class='' :caption="$t('entities.hremployee.if_001_form.details.certtype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.certtype.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='certtype' :value="data.certtype" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0009' 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.certnum.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='certnum' :itemRules="this.rules.certnum" class='' :caption="$t('entities.hremployee.if_001_form.details.certnum')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.certnum.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='certnum' :value="data.certnum" 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.sex.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='sex' :itemRules="this.rules.sex" class='' :caption="$t('entities.hremployee.if_001_form.details.sex')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.sex.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='sex' :value="data.sex" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0010' 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="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='birthday' :itemRules="this.rules.birthday" class='' :caption="$t('entities.hremployee.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.age.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='age' :itemRules="this.rules.age" class='' :caption="$t('entities.hremployee.if_001_form.details.age')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.age.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='age' :value="data.age" 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.nation.visible" :style="{}" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='nation' :itemRules="this.rules.nation" class='' :caption="$t('entities.hremployee.if_001_form.details.nation')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.nation.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='nation' :value="data.nation" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0008' 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.organizationname.visible" :style="{}" :lg="{ span: 16, offset: 0 }" :xl="{ span: 16, offset: 0 }">
<app-form-item name='organizationname' :itemRules="this.rules.organizationname" class='' :caption="$t('entities.hremployee.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="PICKUPTEXT" :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.photo.visible" :style="{}" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='photo' :itemRules="this.rules.photo" class='' :caption="$t('entities.hremployee.if_001_form.details.photo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.photo.error" :isEmptyCaption="false" labelPos="LEFT">
<app-image-upload :multiple="false" :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange($event)" :data="JSON.stringify(this.data)" name='photo' :value="data.photo" :disabled="detailsModel.photo.disabled" :uploadparams='{}' :exportparams='{}' ></app-image-upload>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.grouppanel4.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel4" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel4.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hremployee.if_001_form.details.grouppanel4')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel4" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.mobile.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='mobile' :itemRules="this.rules.mobile" class='' :caption="$t('entities.hremployee.if_001_form.details.mobile')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.mobile.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='mobile' :value="data.mobile" 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.telephone.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='telephone' :itemRules="this.rules.telephone" class='' :caption="$t('entities.hremployee.if_001_form.details.telephone')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.telephone.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='telephone' :value="data.telephone" 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.email.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='email' :itemRules="this.rules.email" class='' :caption="$t('entities.hremployee.if_001_form.details.email')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.email.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='email' :value="data.email" 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.postaladdress.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='postaladdress' :itemRules="this.rules.postaladdress" class='' :caption="$t('entities.hremployee.if_001_form.details.postaladdress')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.postaladdress.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='postaladdress' :value="data.postaladdress" dataType="TEXT" :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.grouppanel3.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel3" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel3.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hremployee.if_001_form.details.grouppanel3')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel3" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.nativetype.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='nativetype' :itemRules="this.rules.nativetype" class='' :caption="$t('entities.hremployee.if_001_form.details.nativetype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.nativetype.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='nativetype' :value="data.nativetype" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0012' 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.nativeplace.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='nativeplace' :itemRules="this.rules.nativeplace" class='' :caption="$t('entities.hremployee.if_001_form.details.nativeplace')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.nativeplace.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='nativeplace' :value="data.nativeplace" 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.marriage.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='marriage' :itemRules="this.rules.marriage" class='' :caption="$t('entities.hremployee.if_001_form.details.marriage')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.marriage.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='marriage' :value="data.marriage" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0011' 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.bloodtype.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='bloodtype' :itemRules="this.rules.bloodtype" class='' :caption="$t('entities.hremployee.if_001_form.details.bloodtype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.bloodtype.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='bloodtype' :value="data.bloodtype" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0007' 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.nativeaddress.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='nativeaddress' :itemRules="this.rules.nativeaddress" class='' :caption="$t('entities.hremployee.if_001_form.details.nativeaddress')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.nativeaddress.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='nativeaddress' :value="data.nativeaddress" 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.birthaddress.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='birthaddress' :itemRules="this.rules.birthaddress" class='' :caption="$t('entities.hremployee.if_001_form.details.birthaddress')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.birthaddress.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='birthaddress' :value="data.birthaddress" 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.hobby.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='hobby' :itemRules="this.rules.hobby" class='' :caption="$t('entities.hremployee.if_001_form.details.hobby')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hobby.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='hobby' :value="data.hobby" 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.health.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='health' :itemRules="this.rules.health" class='' :caption="$t('entities.hremployee.if_001_form.details.health')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.health.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='health' :value="data.health" 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.political.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='political' :itemRules="this.rules.political" class='' :caption="$t('entities.hremployee.if_001_form.details.political')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.political.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='political' :value="data.political" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0013' 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.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.hremployee.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.grouppanel5.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel5" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel5.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hremployee.if_001_form.details.grouppanel5')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel5" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.entrytype.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='entrytype' :itemRules="this.rules.entrytype" class='' :caption="$t('entities.hremployee.if_001_form.details.entrytype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.entrytype.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='entrytype' :value="data.entrytype" dataType="SSCODELIST" :precision="0"
tag='CL_HR_0015' 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.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.hremployee.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.startorgtime.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='startorgtime' :itemRules="this.rules.startorgtime" class='' :caption="$t('entities.hremployee.if_001_form.details.startorgtime')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.startorgtime.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='startorgtime' :value="data.startorgtime" 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>
</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>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册