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

jackwang 部署微服务应用

上级 f727aa20
......@@ -1249,6 +1249,16 @@
"viewtag": "df641376a477230f2dac638fe717516a",
"memo": "系统自动添加"
},
"hrtechnicaltitlev_002": {
"title": "职称信息",
"caption": "职称信息",
"viewtype": "DEOPTVIEW",
"viewmodule": "HumanResource",
"viewname": "HRTechnicalTitleV_002",
"viewfilename": "hrtechnical-title-v-002",
"viewtag": "df7e84808e509a1e80f47ab303d5f059",
"memo": ""
},
"hrfamilyeditview": {
"title": "家庭情况编辑视图",
"caption": "家庭情况",
......
......@@ -36,13 +36,15 @@ export default {
caption: "职称信息",
title: "职称信息表格视图",
},
v_002: {
caption: "职称信息",
title: "职称信息",
},
},
main_form: {
details: {
group1: "职称信息基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "职称信息标识",
......@@ -51,11 +53,18 @@ export default {
srfuf: "",
srfdeid: "",
srfsourcekey: "",
hremployeename: "员工姓名",
hrtechnicaltitlename: "职称名称",
createman: "建立人",
createdate: "建立时间",
updateman: "更新人",
updatedate: "更新时间",
titletime: "获取时间",
certificatecode: "证书编号",
titlelevel: "职称等级",
majortype: "专业类别",
major: "专业名称",
authorganization: "签发机构",
validorganization: "评审机构",
hightitle: "最高职称",
attachment: "附件",
hremployeeid: "员工标识",
hrtechnicaltitleid: "职称信息标识",
},
uiactions: {
......@@ -76,6 +85,10 @@ export default {
},
main_grid: {
columns: {
employeecode: "员工编号",
hremployeename: "员工姓名",
organizationname: "单位",
empstate: "员工状态",
hrtechnicaltitlename: "职称名称",
titlelevel: "职称等级",
majortype: "专业类别",
......
......@@ -35,13 +35,15 @@ export default {
caption: "职称信息",
title: "职称信息表格视图",
},
v_002: {
caption: "职称信息",
title: "职称信息",
},
},
main_form: {
details: {
group1: "职称信息基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "职称信息标识",
......@@ -50,11 +52,18 @@ export default {
srfuf: "",
srfdeid: "",
srfsourcekey: "",
hremployeename: "员工姓名",
hrtechnicaltitlename: "职称名称",
createman: "建立人",
createdate: "建立时间",
updateman: "更新人",
updatedate: "更新时间",
titletime: "获取时间",
certificatecode: "证书编号",
titlelevel: "职称等级",
majortype: "专业类别",
major: "专业名称",
authorganization: "签发机构",
validorganization: "评审机构",
hightitle: "最高职称",
attachment: "附件",
hremployeeid: "员工标识",
hrtechnicaltitleid: "职称信息标识",
},
uiactions: {
......@@ -75,6 +84,10 @@ export default {
},
main_grid: {
columns: {
employeecode: "员工编号",
hremployeename: "员工姓名",
organizationname: "单位",
empstate: "员工状态",
hrtechnicaltitlename: "职称名称",
titlelevel: "职称等级",
majortype: "专业类别",
......
......@@ -1007,6 +1007,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HREmployeeV_005",
"viewtag": "df641376a477230f2dac638fe717516a"
},
"hrtechnicaltitlev_002": {
"title": "职称信息",
"caption": "职称信息",
"viewtype": "DEOPTVIEW",
"viewmodule": "HumanResource",
"viewname": "HRTechnicalTitleV_002",
"viewtag": "df7e84808e509a1e80f47ab303d5f059"
},
"hrfamilyeditview": {
"title": "家庭情况编辑视图",
"caption": "家庭情况",
......
......@@ -569,16 +569,28 @@ export class HRCertificateGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ 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: 'hrcertificate-v-002',
height: 0,
width: 800,
title: this.$t('entities.hrcertificate.views.v_002.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......@@ -608,14 +620,28 @@ export class HRCertificateGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
if (!xData || !(xData.refresh instanceof Function)) {
return;
}
xData.refresh(result.datas);
});
}
const view: any = {
viewname: 'hrcertificate-v-002',
height: 0,
width: 800,
title: this.$t('entities.hrcertificate.views.v_002.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......
import { Subject } from 'rxjs';
import { OptionViewBase } from '@/studio-core';
import HRCertificateService from '@/service/hrcertificate/hrcertificate-service';
import HRCertificateAuthService from '@/authservice/hrcertificate/hrcertificate-auth-service';
import OptionViewEngine from '@engine/view/option-view-engine';
import HRCertificateUIService from '@/uiservice/hrcertificate/hrcertificate-ui-service';
/**
* 证书信息视图基类
*
* @export
* @class HRCertificateV_002Base
* @extends {OptionViewBase}
*/
export class HRCertificateV_002Base extends OptionViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRCertificateV_002Base
*/
protected appDeName: string = 'hrcertificate';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRCertificateV_002Base
*/
protected appDeKey: string = 'hrcertificateid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRCertificateV_002Base
*/
protected appDeMajor: string = 'hrcertificatename';
/**
* 实体服务对象
*
* @type {HRCertificateService}
* @memberof HRCertificateV_002Base
*/
protected appEntityService: HRCertificateService = new HRCertificateService;
/**
* 实体权限服务对象
*
* @type HRCertificateUIService
* @memberof HRCertificateV_002Base
*/
public appUIService: HRCertificateUIService = new HRCertificateUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRCertificateV_002Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRCertificateV_002Base
*/
protected model: any = {
srfCaption: 'entities.hrcertificate.views.v_002.caption',
srfTitle: 'entities.hrcertificate.views.v_002.title',
srfSubTitle: 'entities.hrcertificate.views.v_002.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRCertificateV_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 = '57dbe1035c2366090a02ceb7c8269ebb';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRCertificateV_002Base
*/
public engine: OptionViewEngine = new OptionViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRCertificateV_002Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hrcertificate',
majorPSDEField: 'hrcertificatename',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRCertificateV_002Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRCertificateV_002Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRCertificateV_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="hrcertificatev_002" viewTitle="证书信息" class='deoptview hrcertificate-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="./hrcertificate-v-002.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRCertificateV_002Base } from './hrcertificate-v-002-base';
import view_form from '@widgets/hrcertificate/main-form/main-form.vue';
/**
* 证书信息视图
*
* @export
* @class HRCertificateV_002
* @extends {HRCertificateV_002Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HRCertificateV_002 extends HRCertificateV_002Base { }
</script>
......@@ -569,16 +569,28 @@ export class HRTechnicalTitleGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'hrtechnicaltitles', parameterName: 'hrtechnicaltitle' },
{ 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: 'hrtechnical-title-v-002',
height: 0,
width: 600,
title: this.$t('entities.hrtechnicaltitle.views.v_002.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......@@ -608,14 +620,28 @@ export class HRTechnicalTitleGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'hrtechnicaltitles', parameterName: 'hrtechnicaltitle' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
if (!xData || !(xData.refresh instanceof Function)) {
return;
}
xData.refresh(result.datas);
});
}
const view: any = {
viewname: 'hrtechnical-title-v-002',
height: 0,
width: 600,
title: this.$t('entities.hrtechnicaltitle.views.v_002.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......
import { Subject } from 'rxjs';
import { OptionViewBase } from '@/studio-core';
import HRTechnicalTitleService from '@/service/hrtechnical-title/hrtechnical-title-service';
import HRTechnicalTitleAuthService from '@/authservice/hrtechnical-title/hrtechnical-title-auth-service';
import OptionViewEngine from '@engine/view/option-view-engine';
import HRTechnicalTitleUIService from '@/uiservice/hrtechnical-title/hrtechnical-title-ui-service';
/**
* 职称信息视图基类
*
* @export
* @class HRTechnicalTitleV_002Base
* @extends {OptionViewBase}
*/
export class HRTechnicalTitleV_002Base extends OptionViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HRTechnicalTitleV_002Base
*/
protected appDeName: string = 'hrtechnicaltitle';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HRTechnicalTitleV_002Base
*/
protected appDeKey: string = 'hrtechnicaltitleid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HRTechnicalTitleV_002Base
*/
protected appDeMajor: string = 'hrtechnicaltitlename';
/**
* 实体服务对象
*
* @type {HRTechnicalTitleService}
* @memberof HRTechnicalTitleV_002Base
*/
protected appEntityService: HRTechnicalTitleService = new HRTechnicalTitleService;
/**
* 实体权限服务对象
*
* @type HRTechnicalTitleUIService
* @memberof HRTechnicalTitleV_002Base
*/
public appUIService: HRTechnicalTitleUIService = new HRTechnicalTitleUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HRTechnicalTitleV_002Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HRTechnicalTitleV_002Base
*/
protected model: any = {
srfCaption: 'entities.hrtechnicaltitle.views.v_002.caption',
srfTitle: 'entities.hrtechnicaltitle.views.v_002.title',
srfSubTitle: 'entities.hrtechnicaltitle.views.v_002.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HRTechnicalTitleV_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 = 'df7e84808e509a1e80f47ab303d5f059';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HRTechnicalTitleV_002Base
*/
public engine: OptionViewEngine = new OptionViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HRTechnicalTitleV_002Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hrtechnicaltitle',
majorPSDEField: 'hrtechnicaltitlename',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRTechnicalTitleV_002Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRTechnicalTitleV_002Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HRTechnicalTitleV_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="hrtechnicaltitlev_002" viewTitle="职称信息" class='deoptview hrtechnical-title-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="./hrtechnical-title-v-002.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRTechnicalTitleV_002Base } from './hrtechnical-title-v-002-base';
import view_form from '@widgets/hrtechnical-title/main-form/main-form.vue';
/**
* 职称信息视图
*
* @export
* @class HRTechnicalTitleV_002
* @extends {HRTechnicalTitleV_002Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HRTechnicalTitleV_002 extends HRTechnicalTitleV_002Base { }
</script>
......@@ -9,9 +9,11 @@ export const PageComponents = {
Vue.component('hrlanguage-ability-edit-view', () => import('@pages/human-resource/hrlanguage-ability-edit-view/hrlanguage-ability-edit-view.vue'));
Vue.component('hrtechnical-title-v-001', () => import('@pages/human-resource/hrtechnical-title-v-001/hrtechnical-title-v-001.vue'));
Vue.component('hroperation-unit-v-001', () => import('@pages/base/hroperation-unit-v-001/hroperation-unit-v-001.vue'));
Vue.component('hrcertificate-v-002', () => import('@pages/human-resource/hrcertificate-v-002/hrcertificate-v-002.vue'));
Vue.component('hrduty-pickup-grid-view', () => import('@pages/human-resource/hrduty-pickup-grid-view/hrduty-pickup-grid-view.vue'));
Vue.component('hrcontract-v-003', () => import('@pages/human-resource/hrcontract-v-003/hrcontract-v-003.vue'));
Vue.component('hroperation-unit-v-002', () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue'));
Vue.component('hrtechnical-title-v-002', () => import('@pages/human-resource/hrtechnical-title-v-002/hrtechnical-title-v-002.vue'));
Vue.component('hrpost-rel-v-002', () => import('@pages/human-resource/hrpost-rel-v-002/hrpost-rel-v-002.vue'));
Vue.component('hremployee-pickup-grid-view', () => import('@pages/human-resource/hremployee-pickup-grid-view/hremployee-pickup-grid-view.vue'));
Vue.component('hrcontract-grid-view', () => import('@pages/human-resource/hrcontract-grid-view/hrcontract-grid-view.vue'));
......
......@@ -244,6 +244,35 @@ const router = new Router({
},
component: () => import('@pages/base/hroperation-unit-v-001/hroperation-unit-v-001.vue'),
},
{
path: 'hremployees/:hremployee?/hrcertificates/:hrcertificate?/v_002/:v_002?',
meta: {
caption: 'entities.hrcertificate.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcertificate-v-002/hrcertificate-v-002.vue'),
},
{
path: 'hrcertificates/:hrcertificate?/v_002/:v_002?',
meta: {
caption: 'entities.hrcertificate.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcertificate-v-002/hrcertificate-v-002.vue'),
},
{
path: 'hrduties/:hrduty?/pickupgridview/:pickupgridview?',
meta: {
......@@ -301,6 +330,35 @@ const router = new Router({
},
component: () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue'),
},
{
path: 'hremployees/:hremployee?/hrtechnicaltitles/:hrtechnicaltitle?/v_002/:v_002?',
meta: {
caption: 'entities.hrtechnicaltitle.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrtechnicaltitles', parameterName: 'hrtechnicaltitle' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrtechnical-title-v-002/hrtechnical-title-v-002.vue'),
},
{
path: 'hrtechnicaltitles/:hrtechnicaltitle?/v_002/:v_002?',
meta: {
caption: 'entities.hrtechnicaltitle.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrtechnicaltitles', parameterName: 'hrtechnicaltitle' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrtechnical-title-v-002/hrtechnical-title-v-002.vue'),
},
{
path: 'hrposts/:hrpost?/hrpostrels/:hrpostrel?/v_002/:v_002?',
meta: {
......
......@@ -415,6 +415,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'ec9d9fe37bbfc3fcb623e2dc34b48dbc',
],
},
{
......@@ -477,6 +478,17 @@ export const viewstate: any = {
'069985244f19f8c6f8e74e39ef573e9a',
],
},
{
viewtag: '57dbe1035c2366090a02ceb7c8269ebb',
viewmodule: 'HumanResource',
viewname: 'HRCertificateV_002',
viewaction: '',
viewdatachange: false,
refviews: [
'ec9d9fe37bbfc3fcb623e2dc34b48dbc',
'e7ba37699bd458dc8dd5c02abac8dadd',
],
},
{
viewtag: '5a233f63f736e87b700460e378650f45',
viewmodule: 'Pcm',
......@@ -534,7 +546,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'ea230b5b872ed3d5cba7daa284278299',
'57dbe1035c2366090a02ceb7c8269ebb',
],
},
{
......@@ -1186,7 +1198,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'4b8327f8aa5091583a16b09a241c8866',
'df7e84808e509a1e80f47ab303d5f059',
],
},
{
......@@ -1219,6 +1231,16 @@ export const viewstate: any = {
'1fda62030d6149cb5ee6f088bc4f0aa7',
],
},
{
viewtag: 'df7e84808e509a1e80f47ab303d5f059',
viewmodule: 'HumanResource',
viewname: 'HRTechnicalTitleV_002',
viewaction: '',
viewdatachange: false,
refviews: [
'ec9d9fe37bbfc3fcb623e2dc34b48dbc',
],
},
{
viewtag: 'e09349c39faf8e8dbe63ac7be3aaa781',
viewmodule: 'HumanResource',
......
......@@ -92,6 +92,7 @@ export default class HRTechnicalTitleUIServiceBase extends UIService {
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'hrtechnicaltitles'});
this.allViewMap.set(':',{viewname:'v_001',srfappde:'hrtechnicaltitles'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'hrtechnicaltitles'});
this.allViewMap.set(':',{viewname:'v_002',srfappde:'hrtechnicaltitles'});
}
/**
......
......@@ -259,6 +259,14 @@ export class MainGridBase extends GridControlBase {
*/
public async formatExcelData(filterVal: any, jsonData: any, codelistColumns?: any[]): Promise<any> {
return super.formatExcelData(filterVal, jsonData, [
{
name: 'empstate',
srfkey: 'CL_HR_0016',
codelistType : 'DYNAMIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
]);
}
......
......@@ -39,7 +39,7 @@ export default class MainModel {
{
name: 'empstate',
prop: 'empstate',
dataType: 'TEXT',
dataType: 'PICKUPDATA',
},
{
name: 'registertime',
......
......@@ -67,7 +67,9 @@
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.empstate}}</span>
<template >
<codelist :value="row.empstate" tag='CL_HR_0016' codelistType='DYNAMIC' ></codelist>
</template>
</template>
</el-table-column>
</template>
......
......@@ -82,11 +82,18 @@ export class MainEditFormBase extends EditFormControlBase {
srfuf: null,
srfdeid: null,
srfsourcekey: null,
hremployeename: null,
hrtechnicaltitlename: null,
createman: null,
createdate: null,
updateman: null,
updatedate: null,
titletime: null,
certificatecode: null,
titlelevel: null,
majortype: null,
major: null,
authorganization: null,
validorganization: null,
hightitle: null,
attachment: null,
hremployeeid: null,
hrtechnicaltitleid: null,
hrtechnicaltitle:null,
};
......@@ -116,14 +123,10 @@ export class MainEditFormBase extends EditFormControlBase {
* @memberof MainEditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '职称信息基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrtechnicaltitle.main_form', extractMode: 'ITEM', details: [] } }),
group1: new FormGroupPanelModel({ caption: '职称信息基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrtechnicaltitle.main_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
group2: new FormGroupPanelModel({ caption: '操作信息', detailType: 'GROUPPANEL', name: 'group2', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hrtechnicaltitle.main_form', extractMode: 'ITEM', details: [] } }),
formpage2: new FormPageModel({ caption: '其它', detailType: 'FORMPAGE', name: 'formpage2', 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 }),
......@@ -140,18 +143,31 @@ export class MainEditFormBase extends EditFormControlBase {
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 }),
hrtechnicaltitlename: new FormItemModel({ caption: '职称名称', detailType: 'FORMITEM', name: 'hrtechnicaltitlename', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
createman: new FormItemModel({ caption: '建立人', detailType: 'FORMITEM', name: 'createman', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
titletime: new FormItemModel({ caption: '获取时间', detailType: 'FORMITEM', name: 'titletime', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
certificatecode: new FormItemModel({ caption: '证书编号', detailType: 'FORMITEM', name: 'certificatecode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
titlelevel: new FormItemModel({ caption: '职称等级', detailType: 'FORMITEM', name: 'titlelevel', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
majortype: new FormItemModel({ caption: '专业类别', detailType: 'FORMITEM', name: 'majortype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
major: new FormItemModel({ caption: '专业名称', detailType: 'FORMITEM', name: 'major', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
authorganization: new FormItemModel({ caption: '签发机构', detailType: 'FORMITEM', name: 'authorganization', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
validorganization: new FormItemModel({ caption: '评审机构', detailType: 'FORMITEM', name: 'validorganization', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
createdate: new FormItemModel({ caption: '建立时间', detailType: 'FORMITEM', name: 'createdate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
hightitle: new FormItemModel({ caption: '最高职称', detailType: 'FORMITEM', name: 'hightitle', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
updateman: new FormItemModel({ caption: '更新人', detailType: 'FORMITEM', name: 'updateman', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
attachment: new FormItemModel({ caption: '附件', detailType: 'FORMITEM', name: 'attachment', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
updatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'updatedate', 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 }),
hrtechnicaltitleid: new FormItemModel({ caption: '职称信息标识', detailType: 'FORMITEM', name: 'hrtechnicaltitleid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
form: new FormTabPanelModel({ caption: 'form', detailType: 'TABPANEL', name: 'form', visible: true, isShowCaption: true, form: this, tabPages: [{ name: 'formpage1', index: 0, visible: true }, { name: 'formpage2', index: 1, visible: true }] }),
};
}
\ No newline at end of file
......@@ -55,30 +55,65 @@ export default class MainModel {
{
name: 'srfsourcekey',
},
{
name: 'hremployeename',
prop: 'hremployeename',
dataType: 'PICKUPTEXT',
},
{
name: 'hrtechnicaltitlename',
prop: 'hrtechnicaltitlename',
dataType: 'TEXT',
},
{
name: 'createman',
prop: 'createman',
name: 'titletime',
prop: 'titletime',
dataType: 'DATE',
},
{
name: 'certificatecode',
prop: 'certificatecode',
dataType: 'TEXT',
},
{
name: 'createdate',
prop: 'createdate',
dataType: 'DATETIME',
name: 'titlelevel',
prop: 'titlelevel',
dataType: 'SSCODELIST',
},
{
name: 'updateman',
prop: 'updateman',
name: 'majortype',
prop: 'majortype',
dataType: 'TEXT',
},
{
name: 'updatedate',
prop: 'updatedate',
dataType: 'DATETIME',
name: 'major',
prop: 'major',
dataType: 'TEXT',
},
{
name: 'authorganization',
prop: 'authorganization',
dataType: 'TEXT',
},
{
name: 'validorganization',
prop: 'validorganization',
dataType: 'TEXT',
},
{
name: 'hightitle',
prop: 'hightitle',
dataType: 'YESNO',
},
{
name: 'attachment',
prop: 'attachment',
dataType: 'TEXT',
},
{
name: 'hremployeeid',
prop: 'hremployeeid',
dataType: 'PICKUP',
},
{
name: 'hrtechnicaltitleid',
......
......@@ -2,6 +2,7 @@ import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HRTechnicalTitleService from '@/service/hrtechnical-title/hrtechnical-title-service';
import MainModel from './main-form-model';
import HREmployeeService from '@/service/hremployee/hremployee-service';
/**
......@@ -41,6 +42,14 @@ export default class MainService extends ControlService {
this.model = new MainModel();
}
/**
* 员工服务对象
*
* @type {HREmployeeService}
* @memberof MainService
*/
public hremployeeService: HREmployeeService = new HREmployeeService();
/**
* 处理数据
*
......@@ -82,6 +91,9 @@ export default class MainService extends ControlService {
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');
}
return Promise.reject([])
}
......
<i-form :model="this.data" class='app-form' ref='form' id='hrtechnicaltitle_main' style="">
<input style="display:none;" />
<row >
<tabs :animated="false" size="small" name='main' :value="detailsModel.form.activiedPage"
@on-click="detailsModel.form.clickPage($event)">
<tab-pane v-show="detailsModel.formpage1.visible" name='formpage1' :index="0" tab='main' class=''
:label="(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.hrtechnicaltitle.main_form.details.formpage1')
])
}">
<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.hrtechnicaltitle.main_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hrtechnicaltitle.main_form.details.group1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :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.hrtechnicaltitlename.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<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.hrtechnicaltitle.main_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.hrtechnicaltitlename.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='hrtechnicaltitlename' :itemRules="this.rules.hrtechnicaltitlename" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.hrtechnicaltitlename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hrtechnicaltitlename.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.hrtechnicaltitlename"
......@@ -30,66 +46,113 @@
</app-form-item>
</i-col>
</row>
</app-form-group>
<i-col class="form-layout-container" v-show="detailsModel.titletime.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='titletime' :itemRules="this.rules.titletime" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.titletime')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.titletime.error" :isEmptyCaption="false" labelPos="LEFT">
<date-picker type="date" :transfer="true" format="yyyy-MM-dd" placeholder="请选择时间..." :value="data.titletime" :disabled="detailsModel.titletime.disabled" style="min-width: 150px; width:100px;" @on-change="(val1, val2) => { this.data.titletime = val1 }"></date-picker>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.certificatecode.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='certificatecode' :itemRules="this.rules.certificatecode" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.certificatecode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.certificatecode.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.certificatecode"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.certificatecode.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</tab-pane>
<tab-pane v-show="detailsModel.formpage2.visible" name='formpage2' :index="1" tab='main' class=''
:label="(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.hrtechnicaltitle.main_form.details.formpage2')
])
}">
<i-col class="form-layout-container" v-show="detailsModel.group2.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group2" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group2.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hrtechnicaltitle.main_form.details.group2')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group2" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.createman.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='createman' :itemRules="this.rules.createman" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.createman')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.createman.error" :isEmptyCaption="false" labelPos="LEFT">
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.titlelevel.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='titlelevel' :itemRules="this.rules.titlelevel" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.titlelevel')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.titlelevel.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='createman' :value="data.createman" dataType="TEXT" :precision="0"
tag='SysOperator' codelistType='DYNAMIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
<dropdown-list
v-model="data.titlelevel"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.titlelevel.disabled"
valueType="string"
placeholder='请选择...'
/>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.majortype.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='majortype' :itemRules="this.rules.majortype" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.majortype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.majortype.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.majortype"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.majortype.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.createdate.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='createdate' :itemRules="this.rules.createdate" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.createdate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.createdate.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='createdate' :value="data.createdate" dataType="DATETIME" valueFormat="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
<i-col class="form-layout-container" v-show="detailsModel.major.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='major' :itemRules="this.rules.major" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.major')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.major.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.major"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.major.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.updateman.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='updateman' :itemRules="this.rules.updateman" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.updateman')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.updateman.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='updateman' :value="data.updateman" dataType="TEXT" :precision="0"
tag='SysOperator' codelistType='DYNAMIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
<i-col class="form-layout-container" v-show="detailsModel.authorganization.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='authorganization' :itemRules="this.rules.authorganization" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.authorganization')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.authorganization.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.authorganization"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.authorganization.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.updatedate.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='updatedate' :itemRules="this.rules.updatedate" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.updatedate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.updatedate.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='updatedate' :value="data.updatedate" dataType="DATETIME" valueFormat="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
<i-col class="form-layout-container" v-show="detailsModel.validorganization.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='validorganization' :itemRules="this.rules.validorganization" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.validorganization')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.validorganization.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.validorganization"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.validorganization.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.hightitle.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='hightitle' :itemRules="this.rules.hightitle" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.hightitle')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.hightitle.error" :isEmptyCaption="false" labelPos="LEFT">
<app-switch name='hightitle' :value="this.data.hightitle" @change="($event)=>{this.data.hightitle = $event} " :disabled="detailsModel.hightitle.disabled" style=""></app-switch>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.attachment.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='attachment' :itemRules="this.rules.attachment" class='' :caption="$t('entities.hrtechnicaltitle.main_form.details.attachment')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.attachment.error" :isEmptyCaption="false" labelPos="LEFT">
<app-image-upload :multiple="true" :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange($event)" :data="JSON.stringify(this.data)" name='attachment' :value="data.attachment" :disabled="detailsModel.attachment.disabled" :uploadparams='{}' :exportparams='{}' style="overflow: auto;"></app-image-upload>
</app-form-item>
</i-col>
</row>
......@@ -98,7 +161,5 @@ tag='SysOperator' codelistType='DYNAMIC' :data="data" :context="context" :viewpa
</i-col>
</tab-pane>
</tabs>
</row>
</i-form>
\ No newline at end of file
......@@ -92,6 +92,38 @@ export class MainGridBase extends GridControlBase {
* @memberof MainGridBase
*/
public allColumns: any[] = [
{
name: 'employeecode',
label: '员工编号',
langtag: 'entities.hrtechnicaltitle.main_grid.columns.employeecode',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'hremployeename',
label: '员工姓名',
langtag: 'entities.hrtechnicaltitle.main_grid.columns.hremployeename',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'organizationname',
label: '单位',
langtag: 'entities.hrtechnicaltitle.main_grid.columns.organizationname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'empstate',
label: '员工状态',
langtag: 'entities.hrtechnicaltitle.main_grid.columns.empstate',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'hrtechnicaltitlename',
label: '职称名称',
......@@ -182,6 +214,10 @@ export class MainGridBase extends GridControlBase {
* @memberof MainBase
*/
public hasRowEdit: any = {
'employeecode':false,
'hremployeename':false,
'organizationname':false,
'empstate':false,
'hrtechnicaltitlename':false,
'titlelevel':false,
'majortype':false,
......@@ -214,6 +250,14 @@ export class MainGridBase extends GridControlBase {
*/
public async formatExcelData(filterVal: any, jsonData: any, codelistColumns?: any[]): Promise<any> {
return super.formatExcelData(filterVal, jsonData, [
{
name: 'empstate',
srfkey: 'CL_HR_0016',
codelistType : 'DYNAMIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
{
name: 'hightitle',
srfkey: 'YesNo',
......
......@@ -26,31 +26,67 @@ export default class MainModel {
]
}else{
return [
{
name: 'organizationname',
prop: 'organizationname',
dataType: 'PICKUPDATA',
},
{
name: 'hightitle',
prop: 'hightitle',
dataType: 'YESNO',
},
{
name: 'empstate',
prop: 'empstate',
dataType: 'PICKUPDATA',
},
{
name: 'employeecode',
prop: 'employeecode',
dataType: 'PICKUPDATA',
},
{
name: 'srfmajortext',
prop: 'hrtechnicaltitlename',
dataType: 'TEXT',
},
{
name: 'srfdataaccaction',
prop: 'hrtechnicaltitleid',
dataType: 'GUID',
},
{
name: 'srfkey',
prop: 'hrtechnicaltitleid',
dataType: 'GUID',
isEditable:true
},
{
name: 'hremployeeid',
prop: 'hremployeeid',
dataType: 'PICKUP',
},
{
name: 'hremployeename',
prop: 'hremployeename',
dataType: 'PICKUPTEXT',
},
{
name: 'titlelevel',
prop: 'titlelevel',
dataType: 'SSCODELIST',
},
{
name: 'titletime',
prop: 'titletime',
dataType: 'DATE',
},
{
name: 'majortype',
prop: 'majortype',
dataType: 'TEXT',
},
{
name: 'titletime',
prop: 'titletime',
dataType: 'DATE',
},
{
name: 'hrtechnicaltitlename',
prop: 'hrtechnicaltitlename',
......@@ -61,22 +97,6 @@ export default class MainModel {
prop: 'authorganization',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
prop: 'hrtechnicaltitlename',
dataType: 'TEXT',
},
{
name: 'srfdataaccaction',
prop: 'hrtechnicaltitleid',
dataType: 'GUID',
},
{
name: 'srfkey',
prop: 'hrtechnicaltitleid',
dataType: 'GUID',
isEditable:true
},
{
name: 'major',
prop: 'major',
......
......@@ -23,6 +23,56 @@
<template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
</template>
<template v-if="getColumnState('employeecode')">
<el-table-column show-overflow-tooltip :prop="'employeecode'" :label="$t('entities.hrtechnicaltitle.main_grid.columns.employeecode')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrtechnicaltitle.main_grid.columns.employeecode')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.employeecode}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('hremployeename')">
<el-table-column show-overflow-tooltip :prop="'hremployeename'" :label="$t('entities.hrtechnicaltitle.main_grid.columns.hremployeename')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrtechnicaltitle.main_grid.columns.hremployeename')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.hremployeename}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('organizationname')">
<el-table-column show-overflow-tooltip :prop="'organizationname'" :label="$t('entities.hrtechnicaltitle.main_grid.columns.organizationname')" :width="200" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrtechnicaltitle.main_grid.columns.organizationname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.organizationname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('empstate')">
<el-table-column show-overflow-tooltip :prop="'empstate'" :label="$t('entities.hrtechnicaltitle.main_grid.columns.empstate')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hrtechnicaltitle.main_grid.columns.empstate')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<template >
<codelist :value="row.empstate" tag='CL_HR_0016' codelistType='DYNAMIC' ></codelist>
</template>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('hrtechnicaltitlename')">
<el-table-column show-overflow-tooltip :prop="'hrtechnicaltitlename'" :label="$t('entities.hrtechnicaltitle.main_grid.columns.hrtechnicaltitlename')" :width="150" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
......
......@@ -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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册