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

jackwang 部署微服务应用

上级 4ac18702
......@@ -221,4 +221,12 @@ export interface HRContract {
* @memberof HRContract
*/
employeecode?: any;
/**
* 工作内容
*
* @returns {*}
* @memberof HRContract
*/
workcontent?: any;
}
\ No newline at end of file
......@@ -159,6 +159,9 @@ export default {
menuitem5: "基础",
menuitem15: "员工",
menuitem8: "合同",
menuitem16: "档案",
menuitem17: "职称",
menuitem18: "证书",
menuitem2: "组织",
menuitem4: "法人",
menuitem6: "运营单位",
......
......@@ -159,6 +159,9 @@ export default {
menuitem5: "基础",
menuitem15: "员工",
menuitem8: "合同",
menuitem16: "档案",
menuitem17: "职称",
menuitem18: "证书",
menuitem2: "组织",
menuitem4: "法人",
menuitem6: "运营单位",
......
......@@ -28,6 +28,7 @@ export default {
empstate: "员工状态",
startorgtime: "到本单位时间",
employeecode: "员工编号",
workcontent: "工作内容",
},
views: {
gridview: {
......@@ -86,8 +87,9 @@ export default {
contractsigntype: "签订类型",
contractstate: "合同状态",
probationtime: "试用期",
attachment: "附件",
workcontent: "工作内容",
memo: "备注",
attachment: "附件",
signorganizationid: "合同签约单位ID",
hremployeeid: "员工标识",
mgrorganizationid: "合同管理单位ID",
......
......@@ -27,6 +27,7 @@ export default {
empstate: "员工状态",
startorgtime: "到本单位时间",
employeecode: "员工编号",
workcontent: "工作内容",
},
views: {
gridview: {
......@@ -85,8 +86,9 @@ export default {
contractsigntype: "签订类型",
contractstate: "合同状态",
probationtime: "试用期",
attachment: "附件",
workcontent: "工作内容",
memo: "备注",
attachment: "附件",
signorganizationid: "合同签约单位ID",
hremployeeid: "员工标识",
mgrorganizationid: "合同管理单位ID",
......
......@@ -155,6 +155,60 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-th-large',
icon: '',
textcls: '',
appfunctag: '_10',
resourcetag: '',
},
{
id: '7A36C06F-4B6F-4479-8D8C-7CA6FCF0FB70',
name: 'menuitem16',
text: '档案',
type: 'MENUITEM',
counterid: '',
tooltip: '档案',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-newspaper-o',
icon: '',
textcls: '',
appfunctag: '_11',
resourcetag: '',
},
{
id: '2839792B-0F2D-44D7-ADEB-6A30C89445DE',
name: 'menuitem17',
text: '职称',
type: 'MENUITEM',
counterid: '',
tooltip: '职称',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-shirtsinbulk',
icon: '',
textcls: '',
appfunctag: '_6',
resourcetag: '',
},
{
id: '05C5F292-8A81-448B-81EF-53527DFCA207',
name: 'menuitem18',
text: '证书',
type: 'MENUITEM',
counterid: '',
tooltip: '证书',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-certificate',
icon: '',
textcls: '',
appfunctag: '_8',
resourcetag: '',
},
......@@ -229,7 +283,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-signal',
icon: '',
textcls: '',
appfunctag: '_10',
appfunctag: '_13',
resourcetag: '',
},
{
......@@ -247,7 +301,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-sitemap',
icon: '',
textcls: '',
appfunctag: '_9',
appfunctag: '_12',
resourcetag: '',
},
],
......@@ -285,7 +339,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-delicious',
icon: '',
textcls: '',
appfunctag: '_6',
appfunctag: '_7',
resourcetag: '',
},
{
......@@ -341,7 +395,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-cube',
icon: '',
textcls: '',
appfunctag: '_11',
appfunctag: '_14',
resourcetag: '',
},
],
......
<studio-view-style2 viewName="hrcontractv_005" viewTitle="合同信息" class='deoptview hrcontract-v-005'>
<template slot='title'>
<span class='caption-info'>{{viewCaption}}</span>
</template>
<view_form
:viewState="viewState"
:viewparams="viewparams"
......
export const PageComponents = {
install(Vue: any, opt: any) {
Vue.component('hrreward-grid-view', () => import('@pages/human-resource/hrreward-grid-view/hrreward-grid-view.vue'));
Vue.component('hrcertificate-edit-view', () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'));
Vue.component('hrcertificate-edit-view', () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'));
Vue.component('hrreward-grid-view', () => import('@pages/human-resource/hrreward-grid-view/hrreward-grid-view.vue'));
Vue.component('hrpost-v-004', () => import('@pages/human-resource/hrpost-v-004/hrpost-v-004.vue'));
Vue.component('hrduty-v-001', () => import('@pages/human-resource/hrduty-v-001/hrduty-v-001.vue'));
Vue.component('hrcontract-v-001', () => import('@pages/human-resource/hrcontract-v-001/hrcontract-v-001.vue'));
......@@ -15,8 +15,8 @@ export const PageComponents = {
Vue.component('hremployee-pickup-grid-view', () => import('@pages/human-resource/hremployee-pickup-grid-view/hremployee-pickup-grid-view.vue'));
Vue.component('hrcontract-grid-view', () => import('@pages/human-resource/hrcontract-grid-view/hrcontract-grid-view.vue'));
Vue.component('hromhierarchy-tree-exp-view', () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'));
Vue.component('hrpost-v-006', () => import('@pages/human-resource/hrpost-v-006/hrpost-v-006.vue'));
Vue.component('hrlegal-grid-view', () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'));
Vue.component('hrpost-v-006', () => import('@pages/human-resource/hrpost-v-006/hrpost-v-006.vue'));
Vue.component('hrlegal-v-002', () => import('@pages/base/hrlegal-v-002/hrlegal-v-002.vue'));
Vue.component('hrcontract-tab-exp-view', () => import('@pages/human-resource/hrcontract-tab-exp-view/hrcontract-tab-exp-view.vue'));
Vue.component('hremployee-v-003', () => import('@pages/human-resource/hremployee-v-003/hremployee-v-003.vue'));
......
......@@ -44,62 +44,62 @@ const router = new Router({
component: () => import('@pages/ungroup/pim/pim.vue'),
children: [
{
path: 'hremployees/:hremployee?/hrrewards/:hrreward?/gridview/:gridview?',
path: 'hremployees/:hremployee?/hrcertificates/:hrcertificate?/editview/:editview?',
meta: {
caption: 'entities.hrreward.views.gridview.title',
caption: 'entities.hrcertificate.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrrewards', parameterName: 'hrreward' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrreward-grid-view/hrreward-grid-view.vue'),
component: () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'),
},
{
path: 'hrrewards/:hrreward?/gridview/:gridview?',
path: 'hrcertificates/:hrcertificate?/editview/:editview?',
meta: {
caption: 'entities.hrreward.views.gridview.title',
caption: 'entities.hrcertificate.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrrewards', parameterName: 'hrreward' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrreward-grid-view/hrreward-grid-view.vue'),
component: () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'),
},
{
path: 'hremployees/:hremployee?/hrcertificates/:hrcertificate?/editview/:editview?',
path: 'hremployees/:hremployee?/hrrewards/:hrreward?/gridview/:gridview?',
meta: {
caption: 'entities.hrcertificate.views.editview.title',
caption: 'entities.hrreward.views.gridview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hremployees', parameterName: 'hremployee' },
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'hrrewards', parameterName: 'hrreward' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'),
component: () => import('@pages/human-resource/hrreward-grid-view/hrreward-grid-view.vue'),
},
{
path: 'hrcertificates/:hrcertificate?/editview/:editview?',
path: 'hrrewards/:hrreward?/gridview/:gridview?',
meta: {
caption: 'entities.hrcertificate.views.editview.title',
caption: 'entities.hrreward.views.gridview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'hrrewards', parameterName: 'hrreward' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrcertificate-edit-view/hrcertificate-edit-view.vue'),
component: () => import('@pages/human-resource/hrreward-grid-view/hrreward-grid-view.vue'),
},
{
path: 'hrposts/:hrpost?/v_004/:v_004?',
......@@ -374,32 +374,32 @@ const router = new Router({
component: () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'),
},
{
path: 'hrposts/:hrpost?/v_006/:v_006?',
path: 'hrlegals/:hrlegal?/gridview/:gridview?',
meta: {
caption: 'entities.hrpost.views.v_006.title',
caption: 'entities.hrlegal.views.gridview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrposts', parameterName: 'hrpost' },
{ pathName: 'v_006', parameterName: 'v_006' },
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/human-resource/hrpost-v-006/hrpost-v-006.vue'),
component: () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'),
},
{
path: 'hrlegals/:hrlegal?/gridview/:gridview?',
path: 'hrposts/:hrpost?/v_006/:v_006?',
meta: {
caption: 'entities.hrlegal.views.gridview.title',
caption: 'entities.hrpost.views.v_006.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'hrposts', parameterName: 'hrpost' },
{ pathName: 'v_006', parameterName: 'v_006' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'),
component: () => import('@pages/human-resource/hrpost-v-006/hrpost-v-006.vue'),
},
{
path: 'hrlegals/:hrlegal?/v_002/:v_002?',
......
......@@ -362,11 +362,14 @@ export const viewstate: any = {
refviews: [
'286e8ac9eca7b6eb8058fde93995db10',
'8e90bfab442fc1c89453722dfe094408',
'685cd7da1331d604d0382b8d64d90664',
'd6a51bb0caa43fb475fceed816e6a5aa',
'997c27311a28f6ed4e41153c43a5f723',
'bae1de77dc5bd2584e2dcf7201a06495',
'0d8ac739134947cc5f6545d4041024de',
'b9130f18de0b66cd31ecaddb5a841aae',
'41036146909ab3f28ff59b80370514b2',
'c01c4604589a2c171c4f41f2ac11f4e2',
'114f056047eddd92374e982356e59852',
'71c5da4234a5c4d3e46c572556dd52d9',
],
......
......@@ -15,24 +15,30 @@ export class PIMBase extends Vue {
if (item) {
let judge = true;
switch (item.appfunctag) {
case '_9':
this.click_9(item); break;
case '_12':
this.click_12(item); break;
case '_3':
this.click_3(item); break;
case '_2':
this.click_2(item); break;
case '_4':
this.click_4(item); break;
case '_6':
this.click_6(item); break;
case '_10':
this.click_10(item); break;
case '_7':
this.click_7(item); break;
case '_8':
this.click_8(item); break;
case '_5':
this.click_5(item); break;
case '_11':
this.click_11(item); break;
case '_13':
this.click_13(item); break;
case '_10':
this.click_10(item); break;
case '_5':
this.click_5(item); break;
case '_6':
this.click_6(item); break;
case '_14':
this.click_14(item); break;
default:
judge = false;
console.warn('未指定应用功能');
......@@ -49,7 +55,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}]
* @memberof PIM
*/
public click_9(item: any = {}) {
public click_12(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......@@ -141,7 +147,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}]
* @memberof PIM
*/
public click_6(item: any = {}) {
public click_7(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......@@ -158,13 +164,59 @@ export class PIMBase extends Vue {
})
}
/**
* 证书信息
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_8(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 档案信息
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_11(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 层次结构类别
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_10(item: any = {}) {
public click_13(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......@@ -187,7 +239,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}]
* @memberof PIM
*/
public click_8(item: any = {}) {
public click_10(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......@@ -227,13 +279,36 @@ export class PIMBase extends Vue {
})
}
/**
* 职称信息
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_6(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hrtechnicaltitles', parameterName: 'hrtechnicaltitle' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 调动申请
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_11(item: any = {}) {
public click_14(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......
......@@ -168,11 +168,74 @@ export default class PIMModel {
iconcls: 'fa fa-th-large',
icon: '',
textcls: '',
appfunctag: '_8',
appfunctag: '_10',
appfuncyype: 'APPVIEW',
viewname: 'hrcontract-tab-exp-view',
resourcetag: '',
}
,
{
id: '7A36C06F-4B6F-4479-8D8C-7CA6FCF0FB70',
name: 'menuitem16',
text: '档案',
type: 'MENUITEM',
counterid: '',
tooltip: '档案',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-newspaper-o',
icon: '',
textcls: '',
appfunctag: '_11',
appfuncyype: 'APPVIEW',
viewname: 'hrarchives-grid-view',
resourcetag: '',
}
,
{
id: '2839792B-0F2D-44D7-ADEB-6A30C89445DE',
name: 'menuitem17',
text: '职称',
type: 'MENUITEM',
counterid: '',
tooltip: '职称',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-shirtsinbulk',
icon: '',
textcls: '',
appfunctag: '_6',
appfuncyype: 'APPVIEW',
viewname: 'hrtechnical-title-grid-view',
resourcetag: '',
}
,
{
id: '05C5F292-8A81-448B-81EF-53527DFCA207',
name: 'menuitem18',
text: '证书',
type: 'MENUITEM',
counterid: '',
tooltip: '证书',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-certificate',
icon: '',
textcls: '',
appfunctag: '_8',
appfuncyype: 'APPVIEW',
viewname: 'hrcertificate-grid-view',
resourcetag: '',
}
,
],
}
......@@ -252,7 +315,7 @@ export default class PIMModel {
iconcls: 'fa fa-signal',
icon: '',
textcls: '',
appfunctag: '_10',
appfunctag: '_13',
appfuncyype: 'APPVIEW',
viewname: 'hromhierarchy-cat-grid-view',
resourcetag: '',
......@@ -273,7 +336,7 @@ export default class PIMModel {
iconcls: 'fa fa-sitemap',
icon: '',
textcls: '',
appfunctag: '_9',
appfunctag: '_12',
appfuncyype: 'APPVIEW',
viewname: 'hrorganization-grid-view',
resourcetag: '',
......@@ -315,7 +378,7 @@ export default class PIMModel {
iconcls: 'fa fa-delicious',
icon: '',
textcls: '',
appfunctag: '_6',
appfunctag: '_7',
appfuncyype: 'APPVIEW',
viewname: 'hrpost-tab-exp-view',
resourcetag: '',
......@@ -378,7 +441,7 @@ export default class PIMModel {
iconcls: 'fa fa-cube',
icon: '',
textcls: '',
appfunctag: '_11',
appfunctag: '_14',
appfuncyype: 'APPVIEW',
viewname: 'hrtransfer-apply-tab-exp-view',
resourcetag: '',
......@@ -477,7 +540,7 @@ export default class PIMModel {
*/
private funcs: any[] = [
{
appfunctag: '_9',
appfunctag: '_12',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrorganizationgridview',
......@@ -525,7 +588,7 @@ export default class PIMModel {
],
},
{
appfunctag: '_6',
appfunctag: '_7',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrposttabexpview',
......@@ -537,7 +600,31 @@ export default class PIMModel {
],
},
{
appfunctag: '_10',
appfunctag: '_8',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrcertificategridview',
deResParameters: [],
routepath: '/pim/:pim?/hrcertificates/:hrcertificate?/gridview/:gridview?',
parameters: [
{ pathName: 'hrcertificates', parameterName: 'hrcertificate' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: '_11',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrarchivesgridview',
deResParameters: [],
routepath: '/pim/:pim?/hrarchives/:hrarchives?/gridview/:gridview?',
parameters: [
{ pathName: 'hrarchives', parameterName: 'hrarchives' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: '_13',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hromhierarchycatgridview',
......@@ -549,7 +636,7 @@ export default class PIMModel {
],
},
{
appfunctag: '_8',
appfunctag: '_10',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrcontracttabexpview',
......@@ -573,7 +660,19 @@ export default class PIMModel {
],
},
{
appfunctag: '_11',
appfunctag: '_6',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrtechnicaltitlegridview',
deResParameters: [],
routepath: '/pim/:pim?/hrtechnicaltitles/:hrtechnicaltitle?/gridview/:gridview?',
parameters: [
{ pathName: 'hrtechnicaltitles', parameterName: 'hrtechnicaltitle' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: '_14',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrtransferapplytabexpview',
......
......@@ -93,8 +93,9 @@ export class MainEditFormBase extends EditFormControlBase {
contractsigntype: null,
contractstate: null,
probationtime: null,
attachment: null,
workcontent: null,
memo: null,
attachment: null,
signorganizationid: null,
hremployeeid: null,
mgrorganizationid: null,
......@@ -129,6 +130,10 @@ export class MainEditFormBase extends EditFormControlBase {
{ required: true, type: 'string', message: '开始日期 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '开始日期 值不能为空', trigger: 'blur' },
],
endtime: [
{ required: true, type: 'string', message: '结束日期 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '结束日期 值不能为空', trigger: 'blur' },
],
mgrorganizationname: [
{ required: true, type: 'string', message: '合同管理单位 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '合同管理单位 值不能为空', trigger: 'blur' },
......@@ -159,7 +164,7 @@ 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.hrcontract.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.hrcontract.main_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
......@@ -201,10 +206,12 @@ export class MainEditFormBase extends EditFormControlBase {
probationtime: new FormItemModel({ caption: '试用期', detailType: 'FORMITEM', name: 'probationtime', 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 }),
workcontent: new FormItemModel({ caption: '工作内容', detailType: 'FORMITEM', name: 'workcontent', visible: false, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
memo: new FormItemModel({ caption: '备注', detailType: 'FORMITEM', name: 'memo', 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 }),
signorganizationid: new FormItemModel({ caption: '合同签约单位ID', detailType: 'FORMITEM', name: 'signorganizationid', 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 }),
......@@ -214,4 +221,64 @@ export class MainEditFormBase extends EditFormControlBase {
hrcontractid: new FormItemModel({ caption: '合同信息标识', detailType: 'FORMITEM', name: 'hrcontractid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
/**
* 表单项逻辑
*
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @returns {Promise<void>}
* @memberof MainEditFormBase
*/
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): Promise<void> {
if (Object.is(name, '') || Object.is(name, 'contracttype')) {
let ret = true;
const _contracttype = this.data.contracttype;
if (this.$verify.testCond(_contracttype, 'EQ', '10')) {
ret = false;
}
this.rules.endtime.some((rule: any) => {
if (rule.hasOwnProperty('required')) {
rule.required = ret;
}
return false;
});
}
if (Object.is(name, '') || Object.is(name, 'contracttype')) {
let ret = false;
const _contracttype = this.data.contracttype;
if (this.$verify.testCond(_contracttype, 'EQ', '30')) {
ret = true;
}
this.detailsModel.workcontent.setVisible(ret);
}
}
}
\ No newline at end of file
......@@ -111,15 +111,20 @@ export default class MainModel {
dataType: 'DATE',
},
{
name: 'attachment',
prop: 'attachment',
dataType: 'TEXT',
name: 'workcontent',
prop: 'workcontent',
dataType: 'LONGTEXT_1000',
},
{
name: 'memo',
prop: 'memo',
dataType: 'LONGTEXT_1000',
},
{
name: 'attachment',
prop: 'attachment',
dataType: 'TEXT',
},
{
name: 'signorganizationid',
prop: 'signorganizationid',
......
......@@ -3,7 +3,7 @@
<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.hrcontract.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.hrcontract.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.hremployeename.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
......@@ -199,9 +199,10 @@
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.attachment.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='attachment' :itemRules="this.rules.attachment" class='' :caption="$t('entities.hrcontract.main_form.details.attachment')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.attachment.error" :isEmptyCaption="false" labelPos="LEFT">
<app-file-upload :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-file-upload>
<i-col class="form-layout-container" v-show="detailsModel.workcontent.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='workcontent' :itemRules="this.rules.workcontent" class='' :caption="$t('entities.hrcontract.main_form.details.workcontent')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.workcontent.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.workcontent" :textareaId="this.$util.createUUID()" :disabled="detailsModel.workcontent.disabled" type='textarea' textareaStyle="height:200px;" ></input-box>
</app-form-item>
</i-col>
......@@ -211,6 +212,12 @@
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.attachment.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='attachment' :itemRules="this.rules.attachment" class='' :caption="$t('entities.hrcontract.main_form.details.attachment')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.attachment.error" :isEmptyCaption="false" labelPos="LEFT">
<app-file-upload :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-file-upload>
</app-form-item>
</i-col>
</row>
......
......@@ -96,6 +96,9 @@ export default class TabExpViewtabexppanelModel {
{
name: 'employeecode',
},
{
name: 'workcontent',
},
]
}
......
......@@ -96,6 +96,9 @@ export default class TabExpViewtabviewpanelModel {
{
name: 'employeecode',
},
{
name: 'workcontent',
},
]
}
......
......@@ -96,6 +96,9 @@ export default class TabExpViewtabviewpanel2Model {
{
name: 'employeecode',
},
{
name: 'workcontent',
},
]
}
......
......@@ -96,6 +96,9 @@ export default class TabExpViewtabviewpanel3Model {
{
name: 'employeecode',
},
{
name: 'workcontent',
},
]
}
......
......@@ -96,6 +96,9 @@ export default class TabExpViewtabviewpanel4Model {
{
name: 'employeecode',
},
{
name: 'workcontent',
},
]
}
......
......@@ -96,6 +96,9 @@ export default class TabExpViewtabviewpanel5Model {
{
name: 'employeecode',
},
{
name: 'workcontent',
},
]
}
......
......@@ -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:
......
......@@ -265,7 +265,7 @@
{
"appid":"PIM",
"appname":"基础管理",
"appmenu":[{"menuid":"PIM", "menuname":"PIM", "menuitem":[{ "id":"user_menus" , "name":"用户菜单" , "items":[{ "id":"menuitem3" , "name":"设置" }]},{ "id":"top_menus" , "name":"顶部菜单" , "items":[{ "id":"menuitem1" , "name":"-" }]},{ "id":"left_exp" , "name":"左侧菜单" , "items":[{ "id":"menuitem5" , "name":"基础" , "items":[{ "id":"menuitem15" , "name":"员工" },{ "id":"menuitem8" , "name":"合同" }]},{ "id":"menuitem2" , "name":"组织" , "items":[{ "id":"menuitem4" , "name":"法人" },{ "id":"menuitem6" , "name":"运营单位" },{ "id":"menuitem7" , "name":"组织层次结构" },{ "id":"menuitem9" , "name":"所有组织" }]},{ "id":"menuitem10" , "name":"职位" , "items":[{ "id":"menuitem11" , "name":"职位" },{ "id":"menuitem12" , "name":"职务" }]},{ "id":"menuitem13" , "name":"调动" , "items":[{ "id":"menuitem14" , "name":"调动申请" }]}]},{ "id":"bottom_exp" , "name":"底部内容" },{ "id":"footer_left" , "name":"底部左侧" },{ "id":"footer_center" , "name":"底部中间" },{ "id":"footer_right" , "name":"底部右侧" }] }]
"appmenu":[{"menuid":"PIM", "menuname":"PIM", "menuitem":[{ "id":"user_menus" , "name":"用户菜单" , "items":[{ "id":"menuitem3" , "name":"设置" }]},{ "id":"top_menus" , "name":"顶部菜单" , "items":[{ "id":"menuitem1" , "name":"-" }]},{ "id":"left_exp" , "name":"左侧菜单" , "items":[{ "id":"menuitem5" , "name":"基础" , "items":[{ "id":"menuitem15" , "name":"员工" },{ "id":"menuitem8" , "name":"合同" },{ "id":"menuitem16" , "name":"档案" },{ "id":"menuitem17" , "name":"职称" },{ "id":"menuitem18" , "name":"证书" }]},{ "id":"menuitem2" , "name":"组织" , "items":[{ "id":"menuitem4" , "name":"法人" },{ "id":"menuitem6" , "name":"运营单位" },{ "id":"menuitem7" , "name":"组织层次结构" },{ "id":"menuitem9" , "name":"所有组织" }]},{ "id":"menuitem10" , "name":"职位" , "items":[{ "id":"menuitem11" , "name":"职位" },{ "id":"menuitem12" , "name":"职务" }]},{ "id":"menuitem13" , "name":"调动" , "items":[{ "id":"menuitem14" , "name":"调动申请" }]}]},{ "id":"bottom_exp" , "name":"底部内容" },{ "id":"footer_left" , "name":"底部左侧" },{ "id":"footer_center" , "name":"底部中间" },{ "id":"footer_right" , "name":"底部右侧" }] }]
}
]
}
......@@ -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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册