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

Miracle 部署微服务应用

上级 ff7aa40e
......@@ -139,6 +139,16 @@
"viewtag": "0dbdd98c4946bd6e79feb18e32dd387b",
"memo": ""
},
"hrtransferapplywfdynaexpgridview": {
"title": "调动申请工作流导航表格视图",
"caption": "调动申请",
"viewtype": "DEWFDYNAEXPGRIDVIEW",
"viewmodule": "Pcm",
"viewname": "HRTransferApplyWFDynaExpGridView",
"viewfilename": "hrtransfer-apply-wfdyna-exp-grid-view",
"viewtag": "10c50502a4eebb3c2f6373326db96fc5",
"memo": ""
},
"hromhierarchycatgridview": {
"title": "组织层次结构",
"caption": "结构层次类别",
......@@ -1059,6 +1069,16 @@
"viewtag": "c62ff001669cca98c0a2a7bc3383c775",
"memo": ""
},
"hrtransferapplywfdynaeditview": {
"title": "调动申请",
"caption": "调动申请",
"viewtype": "DEWFDYNAEDITVIEW",
"viewmodule": "Pcm",
"viewname": "HRTransferApplyWFDynaEditView",
"viewfilename": "hrtransfer-apply-wfdyna-edit-view",
"viewtag": "c8310acd7e65d023051725aac59122d9",
"memo": ""
},
"hremployeedashboardview": {
"title": "员工看板",
"caption": "员工看板",
......
......@@ -301,7 +301,7 @@ export default class AppRichTextEditor extends Vue {
@Watch('value', { immediate: true, deep: true })
oncurrentContent(newval: any, val: any) {
const content: any = this.editor ? this.editor.getContent() : undefined;
const url = this.downloadUrl.substring(3);
const url = this.downloadUrl.indexOf('../') === 0 ? this.downloadUrl.substring(3) : this.downloadUrl;
if(newval) {
newval = newval.replace(/\{(\d+)\.(bmp|jpg|jpeg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp)\}/g, `${url}/$1`);
}
......@@ -364,7 +364,7 @@ export default class AppRichTextEditor extends Vue {
richtexteditor.editor = editor;
editor.on('blur', () => {
let content = editor.getContent();
const url = richtexteditor.downloadUrl.substring(3);
const url = richtexteditor.downloadUrl.indexOf('../') === 0 ? richtexteditor.downloadUrl.substring(3) : richtexteditor.downloadUrl;
let newContent: string = "";
const imgsrc = richtexteditor.imgsrc;
if(imgsrc && imgsrc.length > 0){
......
......@@ -69,4 +69,124 @@ export interface HRArchives {
* @memberof HRArchives
*/
hremployeename?: any;
/**
* 员工编号
*
* @returns {*}
* @memberof HRArchives
*/
employeecode?: any;
/**
* 单位
*
* @returns {*}
* @memberof HRArchives
*/
organizationname?: any;
/**
* 单位ID
*
* @returns {*}
* @memberof HRArchives
*/
organizationid?: any;
/**
* 员工状态
*
* @returns {*}
* @memberof HRArchives
*/
empstate?: any;
/**
* 档案编号
*
* @returns {*}
* @memberof HRArchives
*/
archivescode?: any;
/**
* 档案室
*
* @returns {*}
* @memberof HRArchives
*/
archivesroom?: any;
/**
* 档案保管地
*
* @returns {*}
* @memberof HRArchives
*/
archivesplacetype?: any;
/**
* 档案保管地
*
* @returns {*}
* @memberof HRArchives
*/
archivesplace?: any;
/**
* 档案学历
*
* @returns {*}
* @memberof HRArchives
*/
degree?: any;
/**
* 档案出生日期
*
* @returns {*}
* @memberof HRArchives
*/
birthday?: any;
/**
* 档案入党时间
*
* @returns {*}
* @memberof HRArchives
*/
politicaltime?: any;
/**
* 档案参加工作时间
*
* @returns {*}
* @memberof HRArchives
*/
startworktime?: any;
/**
* 是否有效
*
* @returns {*}
* @memberof HRArchives
*/
activeflag?: any;
/**
* 人事档案目录
*
* @returns {*}
* @memberof HRArchives
*/
attachment?: any;
/**
* 备注
*
* @returns {*}
* @memberof HRArchives
*/
memo?: any;
}
\ No newline at end of file
......@@ -149,4 +149,36 @@ export interface HRCertificate {
* @memberof HRCertificate
*/
registerorganizationname?: any;
/**
* 员工编号
*
* @returns {*}
* @memberof HRCertificate
*/
employeecode?: any;
/**
* 单位
*
* @returns {*}
* @memberof HRCertificate
*/
organizationname?: any;
/**
* 单位ID
*
* @returns {*}
* @memberof HRCertificate
*/
organizationid?: any;
/**
* 员工状态
*
* @returns {*}
* @memberof HRCertificate
*/
empstate?: any;
}
\ No newline at end of file
......@@ -141,4 +141,36 @@ export interface HRTechnicalTitle {
* @memberof HRTechnicalTitle
*/
certificatecode?: any;
/**
* 员工编号
*
* @returns {*}
* @memberof HRTechnicalTitle
*/
employeecode?: any;
/**
* 单位
*
* @returns {*}
* @memberof HRTechnicalTitle
*/
organizationname?: any;
/**
* 单位ID
*
* @returns {*}
* @memberof HRTechnicalTitle
*/
organizationid?: any;
/**
* 员工状态
*
* @returns {*}
* @memberof HRTechnicalTitle
*/
empstate?: any;
}
\ No newline at end of file
......@@ -156,6 +156,7 @@ export default {
top_menus: "顶部菜单",
menuitem1: "-",
left_exp: "左侧菜单",
menuitem19: "首页",
menuitem5: "基础",
menuitem15: "员工",
menuitem8: "合同",
......@@ -172,6 +173,7 @@ export default {
menuitem12: "职务",
menuitem13: "调动",
menuitem14: "调动申请",
menuitem20: "调动管理",
bottom_exp: "底部内容",
footer_left: "底部左侧",
footer_center: "底部中间",
......@@ -247,6 +249,7 @@ export default {
back: "Back",
next: "Next",
complete: "Complete",
preactionmessage:"The calculation of the previous behavior is not configured"
},
viewLayoutPanel: {
appLogoutView: {
......
......@@ -156,6 +156,7 @@ export default {
top_menus: "顶部菜单",
menuitem1: "-",
left_exp: "左侧菜单",
menuitem19: "首页",
menuitem5: "基础",
menuitem15: "员工",
menuitem8: "合同",
......@@ -172,6 +173,7 @@ export default {
menuitem12: "职务",
menuitem13: "调动",
menuitem14: "调动申请",
menuitem20: "调动管理",
bottom_exp: "底部内容",
footer_left: "底部左侧",
footer_center: "底部中间",
......@@ -246,6 +248,7 @@ export default {
back: "上一步",
next: "下一步",
complete: "完成",
preactionmessage:"未配置计算上一步行为"
},
viewLayoutPanel: {
appLogoutView: {
......
......@@ -9,6 +9,21 @@ export default {
updatedate: "更新时间",
hremployeeid: "员工标识",
hremployeename: "员工姓名",
employeecode: "员工编号",
organizationname: "单位",
organizationid: "单位ID",
empstate: "员工状态",
archivescode: "档案编号",
archivesroom: "档案室",
archivesplacetype: "档案保管地",
archivesplace: "档案保管地",
degree: "档案学历",
birthday: "档案出生日期",
politicaltime: "档案入党时间",
startworktime: "档案参加工作时间",
activeflag: "是否有效",
attachment: "人事档案目录",
memo: "备注",
},
views: {
editview: {
......
......@@ -8,6 +8,21 @@ export default {
updatedate: "更新时间",
hremployeeid: "员工标识",
hremployeename: "员工姓名",
employeecode: "员工编号",
organizationname: "单位",
organizationid: "单位ID",
empstate: "员工状态",
archivescode: "档案编号",
archivesroom: "档案室",
archivesplacetype: "档案保管地",
archivesplace: "档案保管地",
degree: "档案学历",
birthday: "档案出生日期",
politicaltime: "档案入党时间",
startworktime: "档案参加工作时间",
activeflag: "是否有效",
attachment: "人事档案目录",
memo: "备注",
},
views: {
editview: {
......
......@@ -19,6 +19,10 @@ export default {
memo: "备注",
registerorganizationid: "注册单位ID",
registerorganizationname: "注册单位",
employeecode: "员工编号",
organizationname: "单位",
organizationid: "单位ID",
empstate: "员工状态",
},
views: {
gridview: {
......
......@@ -18,6 +18,10 @@ export default {
memo: "备注",
registerorganizationid: "注册单位ID",
registerorganizationname: "注册单位",
employeecode: "员工编号",
organizationname: "单位",
organizationid: "单位ID",
empstate: "员工状态",
},
views: {
gridview: {
......
......@@ -18,6 +18,10 @@ export default {
hightitle: "最高职称",
attachment: "附件",
certificatecode: "证书编号",
employeecode: "员工编号",
organizationname: "单位",
organizationid: "单位ID",
empstate: "员工状态",
},
views: {
editview: {
......
......@@ -17,6 +17,10 @@ export default {
hightitle: "最高职称",
attachment: "附件",
certificatecode: "证书编号",
employeecode: "员工编号",
organizationname: "单位",
organizationid: "单位ID",
empstate: "员工状态",
},
views: {
editview: {
......
......@@ -35,6 +35,10 @@ export default {
caption: "调动申请",
title: "调动编辑",
},
wfdynaexpgridview: {
caption: "调动申请",
title: "调动申请工作流导航表格视图",
},
v_001: {
caption: "调动申请",
title: "拟稿",
......@@ -67,6 +71,10 @@ export default {
caption: "调动申请",
title: "调动申请数据选择视图",
},
wfdynaeditview: {
caption: "调动申请",
title: "调动申请",
},
dashboardview: {
caption: "调动看板",
title: "调动看板",
......@@ -286,6 +294,142 @@ export default {
tip: "关闭",
},
},
wfdynaexpgridviewtoolbar_toolbar: {
tbitem1: {
caption: "New",
tip: "New",
},
tbitem21: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem2: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem24: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem11: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem12: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem14: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "其它",
tip: "其它",
},
tbitem30: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem31: {
caption: "数据导入",
tip: "数据导入",
},
tbitem4: {
caption: "-",
tip: "",
},
tbitem5: {
caption: "Filter",
tip: "Filter",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "Help",
tip: "Help",
},
},
wfdynaeditviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem4: {
caption: "Save And New",
tip: "Save And New",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem9_saveandstart: {
caption: "开始",
tip: "开始",
},
tbitem10: {
caption: "Workflow step",
tip: "当前流程步骤",
},
tbitem11: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem21: {
caption: "数据导航",
tip: "数据导航",
},
tbitem22: {
caption: "-",
tip: "",
},
tbitem23: {
caption: "Help",
tip: "Help",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
......
......@@ -34,6 +34,10 @@ export default {
caption: "调动申请",
title: "调动编辑",
},
wfdynaexpgridview: {
caption: "调动申请",
title: "调动申请工作流导航表格视图",
},
v_001: {
caption: "调动申请",
title: "拟稿",
......@@ -66,6 +70,10 @@ export default {
caption: "调动申请",
title: "调动申请数据选择视图",
},
wfdynaeditview: {
caption: "调动申请",
title: "调动申请",
},
dashboardview: {
caption: "调动看板",
title: "调动看板",
......@@ -285,6 +293,142 @@ export default {
tip: "关闭",
},
},
wfdynaexpgridviewtoolbar_toolbar: {
tbitem1: {
caption: "新建",
tip: "新建",
},
tbitem21: {
caption: "编辑",
tip: "编辑",
},
tbitem2: {
caption: "拷贝",
tip: "拷贝",
},
tbitem24: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "拷贝",
tip: "拷贝",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem11: {
caption: "删除",
tip: "删除",
},
tbitem12: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem14: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "其它",
tip: "其它",
},
tbitem30: {
caption: "导出数据模型",
tip: "导出数据模型",
},
tbitem31: {
caption: "数据导入",
tip: "数据导入",
},
tbitem4: {
caption: "-",
tip: "",
},
tbitem5: {
caption: "过滤",
tip: "过滤",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "帮助",
tip: "帮助",
},
},
wfdynaeditviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
tip: "保存",
},
tbitem4: {
caption: "保存并新建",
tip: "保存并新建",
},
tbitem5: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem9_saveandstart: {
caption: "开始",
tip: "开始",
},
tbitem10: {
caption: "当前流程步骤",
tip: "当前流程步骤",
},
tbitem11: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "新建",
tip: "新建",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "拷贝",
tip: "拷贝",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem21: {
caption: "数据导航",
tip: "数据导航",
},
tbitem22: {
caption: "-",
tip: "",
},
tbitem23: {
caption: "帮助",
tip: "帮助",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
......
......@@ -105,6 +105,24 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
resourcetag: '',
items: [
{
id: 'F174B1DB-8E40-44BD-A1F9-4C58915A8375',
name: 'menuitem19',
text: '首页',
type: 'MENUITEM',
counterid: '',
tooltip: '首页',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-university',
icon: '',
textcls: '',
appfunctag: '',
resourcetag: '',
},
{
id: '1F73FB8E-0E2A-4B7A-B800-004B01AB2301',
name: 'menuitem5',
text: '基础',
......@@ -137,7 +155,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-user',
icon: '',
textcls: '',
appfunctag: '_4',
appfunctag: '_5',
resourcetag: '',
},
{
......@@ -155,7 +173,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-th-large',
icon: '',
textcls: '',
appfunctag: '_10',
appfunctag: '_11',
resourcetag: '',
},
{
......@@ -173,7 +191,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-newspaper-o',
icon: '',
textcls: '',
appfunctag: '_11',
appfunctag: '_12',
resourcetag: '',
},
{
......@@ -191,7 +209,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-shirtsinbulk',
icon: '',
textcls: '',
appfunctag: '_6',
appfunctag: '_7',
resourcetag: '',
},
{
......@@ -209,7 +227,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-certificate',
icon: '',
textcls: '',
appfunctag: '_8',
appfunctag: '_9',
resourcetag: '',
},
],
......@@ -247,7 +265,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-shirtsinbulk',
icon: '',
textcls: '',
appfunctag: '_2',
appfunctag: '_3',
resourcetag: '',
},
{
......@@ -265,7 +283,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-building-o',
icon: '',
textcls: '',
appfunctag: '_3',
appfunctag: '_4',
resourcetag: '',
},
{
......@@ -283,7 +301,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-signal',
icon: '',
textcls: '',
appfunctag: '_13',
appfunctag: '_14',
resourcetag: '',
},
{
......@@ -301,7 +319,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-sitemap',
icon: '',
textcls: '',
appfunctag: '_12',
appfunctag: '_13',
resourcetag: '',
},
],
......@@ -339,7 +357,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-delicious',
icon: '',
textcls: '',
appfunctag: '_7',
appfunctag: '_8',
resourcetag: '',
},
{
......@@ -357,7 +375,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-bars',
icon: '',
textcls: '',
appfunctag: '_5',
appfunctag: '_6',
resourcetag: '',
},
],
......@@ -395,7 +413,25 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-cube',
icon: '',
textcls: '',
appfunctag: '_14',
appfunctag: '_15',
resourcetag: '',
},
{
id: '5840477A-566C-4CB5-9109-51ACC293DFBE',
name: 'menuitem20',
text: '调动管理',
type: 'MENUITEM',
counterid: '',
tooltip: '调动管理',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-male',
icon: '',
textcls: '',
appfunctag: '_2',
resourcetag: '',
},
],
......
......@@ -119,6 +119,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HRTransferApplyEditView",
"viewtag": "0dbdd98c4946bd6e79feb18e32dd387b"
},
"hrtransferapplywfdynaexpgridview": {
"title": "调动申请工作流导航表格视图",
"caption": "调动申请",
"viewtype": "DEWFDYNAEXPGRIDVIEW",
"viewmodule": "Pcm",
"viewname": "HRTransferApplyWFDynaExpGridView",
"viewtag": "10c50502a4eebb3c2f6373326db96fc5"
},
"hromhierarchycatgridview": {
"title": "组织层次结构",
"caption": "结构层次类别",
......@@ -855,6 +863,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HROMHierarchyCatDashboardView",
"viewtag": "c62ff001669cca98c0a2a7bc3383c775"
},
"hrtransferapplywfdynaeditview": {
"title": "调动申请",
"caption": "调动申请",
"viewtype": "DEWFDYNAEDITVIEW",
"viewmodule": "Pcm",
"viewname": "HRTransferApplyWFDynaEditView",
"viewtag": "c8310acd7e65d023051725aac59122d9"
},
"hremployeedashboardview": {
"title": "员工看板",
"caption": "员工看板",
......
<studio-view-style2 viewName="hrcontractgridview" viewTitle="合同表格(全部合同)" class='degridview hrcontract-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名,合同编号,员工编号" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
......
<studio-view-style2 viewName="hrcontractv_001" viewTitle="合同信息表格视图" class='degridview hrcontract-v-001'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名,合同编号,员工编号" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
......
<studio-view-style2 viewName="hrcontractv_002" viewTitle="合同表格(全部合同)" class='degridview hrcontract-v-002'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名,合同编号,员工编号" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
......
<studio-view-style2 viewName="hrcontractv_003" viewTitle="合同表格(全部合同)" class='degridview hrcontract-v-003'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名,合同编号,员工编号" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
......
<studio-view-style2 viewName="hrcontractv_004" viewTitle="合同表格(全部合同)" class='degridview hrcontract-v-004'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="合同信息名称" search @on-search="onSearch($event)"/>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="员工姓名,合同编号,员工编号" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click.apply(_self, arguments)"/> </template>
<template slot="searchForm">
......
!!!!模版产生代码错误:----
FTL stack trace ("~" means nesting-related):
- Failed at: ${P.getLogicCode(uiAction, "LOGIC.vue... [in template "TEMPLCODE_en_US" at line 573, column 1]
----
无法获取指定逻辑[UIACTION][SYS#编辑界面_数据导航功能][LOGIC.vue]代码模板
\ No newline at end of file
!!!!模版产生代码错误:----
FTL stack trace ("~" means nesting-related):
- Failed at: ${P.getLayoutCode("VIEW.vue").code} [in template "TEMPLCODE_en_US" at line 1, column 1]
----
无法获取指定部件[VIEWLAYOUTPANEL#APPDEWFDYNAEDITVIEW_STYLE2]发布代码[VIEW.vue]
\ No newline at end of file
!!!!模版产生代码错误:----
FTL stack trace ("~" means nesting-related):
- Failed at: ${P.getLayoutCode().code} [in template "TEMPLCODE_en_US" at line 1, column 1]
----
无法获取指定部件[VIEWLAYOUTPANEL#APPDEWFDYNAEDITVIEW_STYLE2]发布代码[VIEW.less]
\ No newline at end of file
<template src="./hrtransfer-apply-wfdyna-edit-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRTransferApplyWFDynaEditViewBase } from './hrtransfer-apply-wfdyna-edit-view-base';
import view_form from '@widgets/hrtransfer-apply/main-form/main-form.vue';
/**
* 调动申请视图
*
* @export
* @class HRTransferApplyWFDynaEditView
* @extends {HRTransferApplyWFDynaEditViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HRTransferApplyWFDynaEditView extends HRTransferApplyWFDynaEditViewBase { }
</script>
!!!!模版产生代码错误:----
FTL stack trace ("~" means nesting-related):
- Failed at: ${P.getLayoutCode("VIEW.vue").code} [in template "TEMPLCODE_en_US" at line 1, column 1]
----
无法获取指定部件[VIEWLAYOUTPANEL#APPDEWFDYNAEXPGRIDVIEW_STYLE2]发布代码[VIEW.vue]
\ No newline at end of file
!!!!模版产生代码错误:----
FTL stack trace ("~" means nesting-related):
- Failed at: ${P.getLayoutCode().code} [in template "TEMPLCODE_en_US" at line 1, column 1]
----
无法获取指定部件[VIEWLAYOUTPANEL#APPDEWFDYNAEXPGRIDVIEW_STYLE2]发布代码[VIEW.less]
\ No newline at end of file
<template src="./hrtransfer-apply-wfdyna-exp-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HRTransferApplyWFDynaExpGridViewBase } from './hrtransfer-apply-wfdyna-exp-grid-view-base';
import view_grid from '@widgets/hrtransfer-apply/main-grid/main-grid.vue';
import view_searchform from '@widgets/hrtransfer-apply/default-searchform/default-searchform.vue';
/**
* 调动申请工作流导航表格视图视图
*
* @export
* @class HRTransferApplyWFDynaExpGridView
* @extends {HRTransferApplyWFDynaExpGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class HRTransferApplyWFDynaExpGridView extends HRTransferApplyWFDynaExpGridViewBase { }
</script>
......@@ -31,6 +31,7 @@ export const PageComponents = {
Vue.component('hrorganization-edit-view', () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue'));
Vue.component('hromhierarchy-cat-grid-view', () => import('@pages/base/hromhierarchy-cat-grid-view/hromhierarchy-cat-grid-view.vue'));
Vue.component('hrpost-rel-v-001', () => import('@pages/human-resource/hrpost-rel-v-001/hrpost-rel-v-001.vue'));
Vue.component('hrtransfer-apply-wfdyna-edit-view', () => import('@pages/pcm/hrtransfer-apply-wfdyna-edit-view/hrtransfer-apply-wfdyna-edit-view.vue'));
Vue.component('hrtransfer-apply-v-002', () => import('@pages/pcm/hrtransfer-apply-v-002/hrtransfer-apply-v-002.vue'));
Vue.component('hrresearch-grid-view', () => import('@pages/human-resource/hrresearch-grid-view/hrresearch-grid-view.vue'));
Vue.component('hrpost-v-003', () => import('@pages/human-resource/hrpost-v-003/hrpost-v-003.vue'));
......@@ -46,6 +47,7 @@ export const PageComponents = {
Vue.component('hrlegal-edit-view', () => import('@pages/base/hrlegal-edit-view/hrlegal-edit-view.vue'));
Vue.component('hrorganization-grid-view', () => import('@pages/base/hrorganization-grid-view/hrorganization-grid-view.vue'));
Vue.component('hrduty-pickup-view', () => import('@pages/human-resource/hrduty-pickup-view/hrduty-pickup-view.vue'));
Vue.component('hrtransfer-apply-wfdyna-exp-grid-view', () => import('@pages/pcm/hrtransfer-apply-wfdyna-exp-grid-view/hrtransfer-apply-wfdyna-exp-grid-view.vue'));
Vue.component('hremployee-v-006', () => import('@pages/human-resource/hremployee-v-006/hremployee-v-006.vue'));
Vue.component('hremployee-v-002', () => import('@pages/human-resource/hremployee-v-002/hremployee-v-002.vue'));
Vue.component('hremployee-edit-view', () => import('@pages/human-resource/hremployee-edit-view/hremployee-edit-view.vue'));
......@@ -57,8 +59,8 @@ export const PageComponents = {
Vue.component('hremployee-pickup-view', () => import('@pages/human-resource/hremployee-pickup-view/hremployee-pickup-view.vue'));
Vue.component('hrtransfer-apply-v-005', () => import('@pages/pcm/hrtransfer-apply-v-005/hrtransfer-apply-v-005.vue'));
Vue.component('hroperation-unit-edit-view', () => import('@pages/base/hroperation-unit-edit-view/hroperation-unit-edit-view.vue'));
Vue.component('hrpost-grid-view', () => import('@pages/human-resource/hrpost-grid-view/hrpost-grid-view.vue'));
Vue.component('hrwork-record-edit-view', () => import('@pages/human-resource/hrwork-record-edit-view/hrwork-record-edit-view.vue'));
Vue.component('hrpost-grid-view', () => import('@pages/human-resource/hrpost-grid-view/hrpost-grid-view.vue'));
Vue.component('hremployee-v-004', () => import('@pages/human-resource/hremployee-v-004/hremployee-v-004.vue'));
Vue.component('hrcontract-v-005', () => import('@pages/human-resource/hrcontract-v-005/hrcontract-v-005.vue'));
Vue.component('hrpost-v-002', () => import('@pages/human-resource/hrpost-v-002/hrpost-v-002.vue'));
......@@ -84,8 +86,8 @@ export const PageComponents = {
Vue.component('hroperation-unit-tab-exp-view', () => import('@pages/base/hroperation-unit-tab-exp-view/hroperation-unit-tab-exp-view.vue'));
Vue.component('hrlanguage-ability-grid-view', () => import('@pages/human-resource/hrlanguage-ability-grid-view/hrlanguage-ability-grid-view.vue'));
Vue.component('hrorg-address-grid-view', () => import('@pages/base/hrorg-address-grid-view/hrorg-address-grid-view.vue'));
Vue.component('hrduty-cert-v-001', () => import('@pages/human-resource/hrduty-cert-v-001/hrduty-cert-v-001.vue'));
Vue.component('hrreward-edit-view', () => import('@pages/human-resource/hrreward-edit-view/hrreward-edit-view.vue'));
Vue.component('hrduty-cert-v-001', () => import('@pages/human-resource/hrduty-cert-v-001/hrduty-cert-v-001.vue'));
Vue.component('hrlegal-dashboard-view', () => import('@pages/base/hrlegal-dashboard-view/hrlegal-dashboard-view.vue'));
Vue.component('hrlegal-v-001', () => import('@pages/base/hrlegal-v-001/hrlegal-v-001.vue'));
Vue.component('hrwork-record-grid-view', () => import('@pages/human-resource/hrwork-record-grid-view/hrwork-record-grid-view.vue'));
......
......@@ -2,6 +2,7 @@ import { Vue } from 'vue-property-decorator';
import { FooterItemsService } from '@/studio-core/service/FooterItemsService';
import { AppService } from '@/studio-core/service/app-service/AppService';
import AppMenusModel from '@/widgets/app/pim-appmenu/pim-appmenu-model';
import { Environment } from '@/environments/environment';
/**
* 应用首页基类
......@@ -170,6 +171,10 @@ export class PIMBase extends Vue {
* @memberof PIMBase
*/
protected created() {
this.left_exp = this.handleMenusResource(this.left_exp);
this.bottom_exp = this.handleMenusResource(this.bottom_exp);
this.top_menus = this.handleMenusResource(this.top_menus);
this.user_menus = this.handleMenusResource(this.user_menus);
const secondtag = this.$util.createUUID();
this.$store.commit("viewaction/createdView", {
viewtag: this.viewtag,
......@@ -229,6 +234,61 @@ export class PIMBase extends Vue {
}
}
/**
* 通过统一资源标识计算菜单
*
* @param {*} data
* @memberof PIMBase
*/
public handleMenusResource(inputMenus: Array<any>) {
if (Environment.enablePermissionValid) {
this.computedEffectiveMenus(inputMenus);
this.computeParentMenus(inputMenus);
}
return inputMenus;
}
/**
* 计算父项菜单项是否隐藏
*
* @param {*} inputMenus
* @memberof PIMBase
*/
public computeParentMenus(inputMenus: Array<any>) {
if (inputMenus && inputMenus.length > 0) {
inputMenus.forEach((item: any) => {
if (item.hidden && item.items && item.items.length > 0) {
item.items.map((singleItem: any) => {
if (!singleItem.hidden) {
item.hidden = false;
}
if (singleItem.items && singleItem.items.length > 0) {
this.computeParentMenus(singleItem.items);
}
})
}
})
}
}
/**
* 计算有效菜单项
*
* @param {*} inputMenus
* @memberof PIMBase
*/
public computedEffectiveMenus(inputMenus: Array<any>) {
inputMenus.forEach((_item: any) => {
if (!this.$store.getters['authresource/getAuthMenu'](_item)) {
_item.hidden = true;
if (_item.items && _item.items.length > 0) {
this.computedEffectiveMenus(_item.items);
}
}
})
}
/**
* 绘制内容
*/
......
......@@ -145,6 +145,17 @@ export const viewstate: any = {
'e7ba37699bd458dc8dd5c02abac8dadd',
],
},
{
viewtag: '10c50502a4eebb3c2f6373326db96fc5',
viewmodule: 'Pcm',
viewname: 'HRTransferApplyWFDynaExpGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'c8310acd7e65d023051725aac59122d9',
'0dbdd98c4946bd6e79feb18e32dd387b',
],
},
{
viewtag: '114f056047eddd92374e982356e59852',
viewmodule: 'Base',
......@@ -360,18 +371,19 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'286e8ac9eca7b6eb8058fde93995db10',
'8e90bfab442fc1c89453722dfe094408',
'685cd7da1331d604d0382b8d64d90664',
'd6a51bb0caa43fb475fceed816e6a5aa',
'8e90bfab442fc1c89453722dfe094408',
'997c27311a28f6ed4e41153c43a5f723',
'bae1de77dc5bd2584e2dcf7201a06495',
'0d8ac739134947cc5f6545d4041024de',
'b9130f18de0b66cd31ecaddb5a841aae',
'10c50502a4eebb3c2f6373326db96fc5',
'41036146909ab3f28ff59b80370514b2',
'c01c4604589a2c171c4f41f2ac11f4e2',
'114f056047eddd92374e982356e59852',
'71c5da4234a5c4d3e46c572556dd52d9',
'114f056047eddd92374e982356e59852',
'286e8ac9eca7b6eb8058fde93995db10',
'685cd7da1331d604d0382b8d64d90664',
'bae1de77dc5bd2584e2dcf7201a06495',
'b9130f18de0b66cd31ecaddb5a841aae',
],
},
{
......@@ -1042,6 +1054,18 @@ export const viewstate: any = {
'1316a3add8f01af03edf978ef21af6b1',
],
},
{
viewtag: 'c8310acd7e65d023051725aac59122d9',
viewmodule: 'Pcm',
viewname: 'HRTransferApplyWFDynaEditView',
viewaction: '',
viewdatachange: false,
refviews: [
'04c02737ae62a4f4c014607441ee0401',
'ec9d9fe37bbfc3fcb623e2dc34b48dbc',
'e7ba37699bd458dc8dd5c02abac8dadd',
],
},
{
viewtag: 'cb76a18e2c82d318acd00a4ae7c63e8f',
viewmodule: 'HumanResource',
......
......@@ -139,6 +139,9 @@ export class AppHeaderMenus extends Vue {
* @memberof AppHeaderMenus
*/
protected renderMenuItem(item: any): any {
if(item.hidden) {
return;
}
return <menuItem title={item.tooltip} name={item.name}>
<menu-icon item={item} />
{item.text}
......@@ -154,6 +157,9 @@ export class AppHeaderMenus extends Vue {
* @memberof AppHeaderMenus
*/
protected renderSubMenu(item: any): any {
if(item.hidden) {
return;
}
return <submenu name={item.name}>
<template slot="title">
<menu-icon item={item} />
......
......@@ -120,7 +120,7 @@ export class AppContentBottomExp extends Vue {
return <div class="app-content-bottom-exp">
<tabs size="small" animated={false} value={this.activeIndex.toString()} on-on-click={(name: string) => this.activeTab(name)}>
{this.menus.map((item: any, i: number) => {
if (!Object.is(item.appfuncyype, 'APPVIEW')) {
if (!Object.is(item.appfuncyype, 'APPVIEW') || item.hidden) {
return;
}
return <tabPane label={(h: any) => this.renderTitle(h, item)} name={i.toString()}>
......
......@@ -108,6 +108,9 @@ export class AppContentLeftExp extends Vue {
return <div class="app-content-left-exp">
<div class="exp-actions">
{this.menus.map((item: any, index: number) => {
if(item.hidden) {
return;
}
return <div title={item.tooltip} on-click={() => this.itemClick(item, index)} class={{ 'action-item': true, 'active': this.activeIndex === index }}>
<div class="active-item-indicator" />
<menu-icon item={item} />
......@@ -116,7 +119,7 @@ export class AppContentLeftExp extends Vue {
</div>
<div class="exp-content">
{this.menus.map((item: any, index: number) => {
if (!Object.is(item.appfuncyype, 'APPVIEW') || !item.isActivated) {
if (!Object.is(item.appfuncyype, 'APPVIEW') || !item.isActivated || item.hidden) {
return;
}
return <div v-show={this.activeIndex === index} key={index} class="exp-item">
......
......@@ -140,6 +140,9 @@ export class UserInfo extends Vue {
* @memberof UserInfo
*/
protected renderMenuItem(item: any): any {
if(item.hidden) {
return;
}
return <dropdownItem name={item.name} title={item.tooltip}>
<menu-icon item={item} />
{item.text}
......@@ -155,6 +158,9 @@ export class UserInfo extends Vue {
* @memberof UserInfo
*/
protected renderMenuGroup(item: any): any {
if(item.hidden) {
return;
}
return <dropdown class="user-menu-child" placement="left-start">
<dropdownItem name={item.name} title={item.tooltip}>
<icon type="ios-arrow-back"></icon>
......
......@@ -110,6 +110,9 @@ export class EditFormControlBase extends FormControlBase {
if (Object.is('removeandexit', action)) {
this.removeAndExit(data);
}
if (Object.is('panelaction', action)) {
this.panelAction(data.action,data.emitAction,data);
}
});
}
this.dataChang
......@@ -610,6 +613,50 @@ export class EditFormControlBase extends FormControlBase {
*/
public resetFormData({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { }
/**
* 面板行为
*
* @param {string} [action] 调用的实体行为
* @param {string} [emitAction] 抛出行为
* @param {*} [data={}] 传入数据
* @param {boolean} [showloading] 是否显示加载状态
*
* @memberof EditFormControlBase
*/
public panelAction(action:string,emitAction:string,data:any ={},showloading?:boolean):void{
if (!action || (action && Object.is(action, ''))) {
return;
}
const arg: any = { ...data };
const formdata = this.getValues();
Object.assign(arg, formdata);
Object.assign(arg,this.viewparams);
const post: Promise<any> = this.service.frontLogic(action,JSON.parse(JSON.stringify(this.context)),arg, showloading);
post.then((response: any) => {
if (!response.status || response.status !== 200) {
if (response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
}
return;
}
const data = response.data;
this.onFormLoad(data,emitAction);
this.$emit(emitAction, data);
this.$nextTick(() => {
this.formState.next({ type: emitAction, data: data });
});
}).catch((response: any) => {
if (response && response.status && response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
return;
}
});
}
/**
* 保存并退出
*
......
......@@ -292,7 +292,7 @@ export default class HRDutyUIServiceBase extends UIService {
xData.refresh(args);
}
if (this.HRDuty_FF_001 && this.HRDuty_FF_001 instanceof Function) {
this.HRDuty_FF_001(result.datas[0],context,params, $event, xData,actionContext);
this.HRDuty_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
......
......@@ -352,7 +352,7 @@ export default class HREmployeeUIServiceBase extends UIService {
xData.refresh(args);
}
if (this.HREmployee_FF_001 && this.HREmployee_FF_001 instanceof Function) {
this.HREmployee_FF_001(result.datas[0],context,params, $event, xData,actionContext);
this.HREmployee_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
......
......@@ -276,7 +276,7 @@ export default class HRLegalUIServiceBase extends UIService {
xData.refresh(args);
}
if (this.HRLegal_FF_001 && this.HRLegal_FF_001 instanceof Function) {
this.HRLegal_FF_001(result.datas[0],context,params, $event, xData,actionContext);
this.HRLegal_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
......
......@@ -259,7 +259,7 @@ export default class HROperationUnitUIServiceBase extends UIService {
xData.refresh(args);
}
if (this.HROperationUnit_FF_001 && this.HROperationUnit_FF_001 instanceof Function) {
this.HROperationUnit_FF_001(result.datas[0],context,params, $event, xData,actionContext);
this.HROperationUnit_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
......
......@@ -217,7 +217,7 @@ export default class HRPostUIServiceBase extends UIService {
xData.refresh(args);
}
if (this.HRPost_FF_001 && this.HRPost_FF_001 instanceof Function) {
this.HRPost_FF_001(result.datas[0],context,params, $event, xData,actionContext);
this.HRPost_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
......
......@@ -91,6 +91,7 @@ export default class HRTransferApplyUIServiceBase extends UIService {
public initViewMap(){
this.allViewMap.set(':',{viewname:'v_002',srfappde:'hrtransferapplies'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'wfdynaexpgridview',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'v_001',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'v_004',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'tabexpview',srfappde:'hrtransferapplies'});
......@@ -99,6 +100,7 @@ export default class HRTransferApplyUIServiceBase extends UIService {
this.allViewMap.set(':',{viewname:'v_006',srfappde:'hrtransferapplies'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'hrtransferapplies'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'wfdynaeditview',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'dashboardview',srfappde:'hrtransferapplies'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'hrtransferapplies'});
}
......@@ -224,7 +226,7 @@ export default class HRTransferApplyUIServiceBase extends UIService {
xData.refresh(args);
}
if (this.HRTransferApply_FF_001 && this.HRTransferApply_FF_001 instanceof Function) {
this.HRTransferApply_FF_001(result.datas[0],context,params, $event, xData,actionContext);
this.HRTransferApply_FF_001(result.datas,context,params, $event, xData,actionContext);
}
return result.datas;
});
......
......@@ -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":"menuitem19" , "name":"首页" },{ "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":"底部右侧" }] }]
"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":"menuitem19" , "name":"首页" },{ "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":"menuitem20" , "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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册