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

ibiz4j 发布系统代码 [ibiz-uaa,UAA鉴权]

上级 bba70dd0
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"vue-amap": "^0.5.10", "vue-amap": "^0.5.10",
"vue-class-component": "^7.0.2", "vue-class-component": "^7.0.2",
"vue-grid-layout": "^2.3.7", "vue-grid-layout": "^2.3.7",
"vue-i18n": "^8.15.3", "vue-i18n": "^8.23.0",
"vue-property-decorator": "^9.1.2", "vue-property-decorator": "^9.1.2",
"vue-router": "^3.1.3", "vue-router": "^3.1.3",
"vuex": "^3.1.2", "vuex": "^3.1.2",
......
...@@ -159,7 +159,7 @@ export default class AppMpicker extends Vue { ...@@ -159,7 +159,7 @@ export default class AppMpicker extends Vue {
} }
}); });
} catch (error) { } catch (error) {
if(error.name === 'SyntaxError'){ if((error as any).name === 'SyntaxError'){
let srfkeys:any = newVal.split(','); let srfkeys:any = newVal.split(',');
let srfmajortexts:any = null; let srfmajortexts:any = null;
if(this.valueitem && this.activeData[this.valueitem]){ if(this.valueitem && this.activeData[this.valueitem]){
......
...@@ -229,9 +229,9 @@ export default class AppSpan extends Vue { ...@@ -229,9 +229,9 @@ export default class AppSpan extends Vue {
public dateFormat(){ public dateFormat(){
if(this.valueFormat){ if(this.valueFormat){
if(this.valueFormat.indexOf('%1$t') !== -1){ if(this.valueFormat.indexOf('%1$t') !== -1){
this.text= moment(this.data).format("YYYY-MM-DD HH:mm:ss"); this.text= moment(this.value).format("YYYY-MM-DD HH:mm:ss");
}else if(this.valueFormat.indexOf('%1$s') == -1){ }else if(this.valueFormat.indexOf('%1$s') == -1){
this.text= moment(this.data).format(this.valueFormat); this.text= moment(this.value).format(this.valueFormat);
}else{ }else{
this.text= this.value; this.text= this.value;
} }
......
...@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine { ...@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine {
if (!Object.is(_item.type, 'TABEXPPANEL')) { if (!Object.is(_item.type, 'TABEXPPANEL')) {
return; return;
} }
if(this.view.context && this.view.context[(this.keyPSDEField as string)]){ if(this.view.context && !this.view.context[(this.keyPSDEField as string)]){
return; return;
} }
this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context }); this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context });
......
...@@ -7,6 +7,7 @@ function getLocaleResourceBase(){ ...@@ -7,6 +7,7 @@ function getLocaleResourceBase(){
username: commonLogic.appcommonhandle("用户全局名",null), username: commonLogic.appcommonhandle("用户全局名",null),
personname: commonLogic.appcommonhandle("用户名称",null), personname: commonLogic.appcommonhandle("用户名称",null),
domain: commonLogic.appcommonhandle("域",null), domain: commonLogic.appcommonhandle("域",null),
domains: commonLogic.appcommonhandle("域",null),
authtime: commonLogic.appcommonhandle("认证时间",null), authtime: commonLogic.appcommonhandle("认证时间",null),
ipaddr: commonLogic.appcommonhandle("IP地址",null), ipaddr: commonLogic.appcommonhandle("IP地址",null),
macaddr: commonLogic.appcommonhandle("MAC地址",null), macaddr: commonLogic.appcommonhandle("MAC地址",null),
...@@ -28,7 +29,7 @@ function getLocaleResourceBase(){ ...@@ -28,7 +29,7 @@ function getLocaleResourceBase(){
ipaddr: commonLogic.appcommonhandle("IP地址",null), ipaddr: commonLogic.appcommonhandle("IP地址",null),
macaddr: commonLogic.appcommonhandle("MAC地址",null), macaddr: commonLogic.appcommonhandle("MAC地址",null),
useragent: commonLogic.appcommonhandle("客户端",null), useragent: commonLogic.appcommonhandle("客户端",null),
domain: commonLogic.appcommonhandle("域",null), domains: commonLogic.appcommonhandle("域",null),
}, },
nodata:commonLogic.appcommonhandle("",null), nodata:commonLogic.appcommonhandle("",null),
uiactions: { uiactions: {
...@@ -42,7 +43,7 @@ function getLocaleResourceBase(){ ...@@ -42,7 +43,7 @@ function getLocaleResourceBase(){
n_authcode_eq: commonLogic.appcommonhandle("认证结果(等于(=))",null), n_authcode_eq: commonLogic.appcommonhandle("认证结果(等于(=))",null),
n_authtime_gtandeq: commonLogic.appcommonhandle("认证时间(大于等于(>=))",null), n_authtime_gtandeq: commonLogic.appcommonhandle("认证时间(大于等于(>=))",null),
n_authtime_ltandeq: commonLogic.appcommonhandle("认证时间(小于等于(<=))",null), n_authtime_ltandeq: commonLogic.appcommonhandle("认证时间(小于等于(<=))",null),
n_domain_like: commonLogic.appcommonhandle("域(文本包含(%))",null), n_domains_like: commonLogic.appcommonhandle("域(%)",null),
}, },
uiactions: { uiactions: {
}, },
......
...@@ -7,6 +7,7 @@ function getLocaleResourceBase(){ ...@@ -7,6 +7,7 @@ function getLocaleResourceBase(){
username: commonLogic.appcommonhandle("用户全局名",null), username: commonLogic.appcommonhandle("用户全局名",null),
personname: commonLogic.appcommonhandle("用户名称",null), personname: commonLogic.appcommonhandle("用户名称",null),
domain: commonLogic.appcommonhandle("域",null), domain: commonLogic.appcommonhandle("域",null),
domains: commonLogic.appcommonhandle("域",null),
authtime: commonLogic.appcommonhandle("认证时间",null), authtime: commonLogic.appcommonhandle("认证时间",null),
ipaddr: commonLogic.appcommonhandle("IP地址",null), ipaddr: commonLogic.appcommonhandle("IP地址",null),
macaddr: commonLogic.appcommonhandle("MAC地址",null), macaddr: commonLogic.appcommonhandle("MAC地址",null),
...@@ -28,7 +29,7 @@ function getLocaleResourceBase(){ ...@@ -28,7 +29,7 @@ function getLocaleResourceBase(){
ipaddr: commonLogic.appcommonhandle("IP地址",null), ipaddr: commonLogic.appcommonhandle("IP地址",null),
macaddr: commonLogic.appcommonhandle("MAC地址",null), macaddr: commonLogic.appcommonhandle("MAC地址",null),
useragent: commonLogic.appcommonhandle("客户端",null), useragent: commonLogic.appcommonhandle("客户端",null),
domain: commonLogic.appcommonhandle("域",null), domains: commonLogic.appcommonhandle("域",null),
}, },
nodata:commonLogic.appcommonhandle("",null), nodata:commonLogic.appcommonhandle("",null),
uiactions: { uiactions: {
...@@ -42,7 +43,7 @@ function getLocaleResourceBase(){ ...@@ -42,7 +43,7 @@ function getLocaleResourceBase(){
n_authcode_eq: commonLogic.appcommonhandle("认证结果(等于(=))",null), n_authcode_eq: commonLogic.appcommonhandle("认证结果(等于(=))",null),
n_authtime_gtandeq: commonLogic.appcommonhandle("认证时间(大于等于(>=))",null), n_authtime_gtandeq: commonLogic.appcommonhandle("认证时间(大于等于(>=))",null),
n_authtime_ltandeq: commonLogic.appcommonhandle("认证时间(小于等于(<=))",null), n_authtime_ltandeq: commonLogic.appcommonhandle("认证时间(小于等于(<=))",null),
n_domain_like: commonLogic.appcommonhandle("域(文本包含(%))",null), n_domains_like: commonLogic.appcommonhandle("域(%)",null),
}, },
uiactions: { uiactions: {
}, },
......
...@@ -7,6 +7,7 @@ function getLocaleResourceBase(){ ...@@ -7,6 +7,7 @@ function getLocaleResourceBase(){
username: commonLogic.appcommonhandle("用户全局名",null), username: commonLogic.appcommonhandle("用户全局名",null),
personname: commonLogic.appcommonhandle("用户名称",null), personname: commonLogic.appcommonhandle("用户名称",null),
domain: commonLogic.appcommonhandle("域",null), domain: commonLogic.appcommonhandle("域",null),
domains: commonLogic.appcommonhandle("域",null),
authtime: commonLogic.appcommonhandle("认证时间",null), authtime: commonLogic.appcommonhandle("认证时间",null),
ipaddr: commonLogic.appcommonhandle("IP地址",null), ipaddr: commonLogic.appcommonhandle("IP地址",null),
macaddr: commonLogic.appcommonhandle("MAC地址",null), macaddr: commonLogic.appcommonhandle("MAC地址",null),
...@@ -28,7 +29,7 @@ function getLocaleResourceBase(){ ...@@ -28,7 +29,7 @@ function getLocaleResourceBase(){
ipaddr: commonLogic.appcommonhandle("IP地址",null), ipaddr: commonLogic.appcommonhandle("IP地址",null),
macaddr: commonLogic.appcommonhandle("MAC地址",null), macaddr: commonLogic.appcommonhandle("MAC地址",null),
useragent: commonLogic.appcommonhandle("客户端",null), useragent: commonLogic.appcommonhandle("客户端",null),
domain: commonLogic.appcommonhandle("域",null), domains: commonLogic.appcommonhandle("域",null),
}, },
nodata:commonLogic.appcommonhandle("",null), nodata:commonLogic.appcommonhandle("",null),
uiactions: { uiactions: {
...@@ -42,7 +43,7 @@ function getLocaleResourceBase(){ ...@@ -42,7 +43,7 @@ function getLocaleResourceBase(){
n_authcode_eq: commonLogic.appcommonhandle("认证结果(等于(=))",null), n_authcode_eq: commonLogic.appcommonhandle("认证结果(等于(=))",null),
n_authtime_gtandeq: commonLogic.appcommonhandle("认证时间(大于等于(>=))",null), n_authtime_gtandeq: commonLogic.appcommonhandle("认证时间(大于等于(>=))",null),
n_authtime_ltandeq: commonLogic.appcommonhandle("认证时间(小于等于(<=))",null), n_authtime_ltandeq: commonLogic.appcommonhandle("认证时间(小于等于(<=))",null),
n_domain_like: commonLogic.appcommonhandle("域(文本包含(%))",null), n_domains_like: commonLogic.appcommonhandle("域(%)",null),
}, },
uiactions: { uiactions: {
}, },
......
...@@ -957,25 +957,122 @@ export default class SysAppEditViewBase extends Vue { ...@@ -957,25 +957,122 @@ export default class SysAppEditViewBase extends Vue {
* @memberof SysAppEditViewBase * @memberof SysAppEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -957,25 +957,122 @@ export default class SysOpenAccessEditViewBase extends Vue { ...@@ -957,25 +957,122 @@ export default class SysOpenAccessEditViewBase extends Vue {
* @memberof SysOpenAccessEditViewBase * @memberof SysOpenAccessEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -957,25 +957,122 @@ export default class SYS_PERMISSIONEditViewBase extends Vue { ...@@ -957,25 +957,122 @@ export default class SYS_PERMISSIONEditViewBase extends Vue {
* @memberof SYS_PERMISSIONEditViewBase * @memberof SYS_PERMISSIONEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -994,25 +994,122 @@ export default class SYS_PERMISSIONEditView2Base extends Vue { ...@@ -994,25 +994,122 @@ export default class SYS_PERMISSIONEditView2Base extends Vue {
* @memberof SYS_PERMISSIONEditView2Base * @memberof SYS_PERMISSIONEditView2Base
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -1203,6 +1203,18 @@ export default class SYS_PERMISSIONGridViewBase extends Vue { ...@@ -1203,6 +1203,18 @@ export default class SYS_PERMISSIONGridViewBase extends Vue {
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'editview', parameterName: 'editview' },
]; ];
const _this: any = this; const _this: any = this;
if (fullargs && fullargs.length > 0) {
const _args = fullargs[0];
if (_args['srfprocessdefinitionkey'] && _args['srftaskdefinitionkey']) {
Object.assign(data, {
processDefinitionKey: _args['srfprocessdefinitionkey'],
taskDefinitionKey: _args['srftaskdefinitionkey']
});
if (_args['srftaskid']) {
Object.assign(data, { 'srftaskid': _args['srftaskid'] });
}
}
}
if(fullargs && fullargs.copymode){ if(fullargs && fullargs.copymode){
Object.assign(data,{copymode:true}); Object.assign(data,{copymode:true});
} }
......
...@@ -994,25 +994,122 @@ export default class SysRoleEditView2Base extends Vue { ...@@ -994,25 +994,122 @@ export default class SysRoleEditView2Base extends Vue {
* @memberof SysRoleEditView2Base * @memberof SysRoleEditView2Base
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -1203,6 +1203,18 @@ export default class SysRoleGridViewBase extends Vue { ...@@ -1203,6 +1203,18 @@ export default class SysRoleGridViewBase extends Vue {
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'editview', parameterName: 'editview' },
]; ];
const _this: any = this; const _this: any = this;
if (fullargs && fullargs.length > 0) {
const _args = fullargs[0];
if (_args['srfprocessdefinitionkey'] && _args['srftaskdefinitionkey']) {
Object.assign(data, {
processDefinitionKey: _args['srfprocessdefinitionkey'],
taskDefinitionKey: _args['srftaskdefinitionkey']
});
if (_args['srftaskid']) {
Object.assign(data, { 'srftaskid': _args['srftaskid'] });
}
}
}
if(fullargs && fullargs.copymode){ if(fullargs && fullargs.copymode){
Object.assign(data,{copymode:true}); Object.assign(data,{copymode:true});
} }
......
...@@ -1230,6 +1230,18 @@ export default class SysRolePermissionGridViewBase extends Vue { ...@@ -1230,6 +1230,18 @@ export default class SysRolePermissionGridViewBase extends Vue {
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'editview', parameterName: 'editview' },
]; ];
const _this: any = this; const _this: any = this;
if (fullargs && fullargs.length > 0) {
const _args = fullargs[0];
if (_args['srfprocessdefinitionkey'] && _args['srftaskdefinitionkey']) {
Object.assign(data, {
processDefinitionKey: _args['srfprocessdefinitionkey'],
taskDefinitionKey: _args['srftaskdefinitionkey']
});
if (_args['srftaskid']) {
Object.assign(data, { 'srftaskid': _args['srftaskid'] });
}
}
}
if(fullargs && fullargs.copymode){ if(fullargs && fullargs.copymode){
Object.assign(data,{copymode:true}); Object.assign(data,{copymode:true});
} }
......
...@@ -957,25 +957,122 @@ export default class SYS_ROLE_PERMISSIONEditViewBase extends Vue { ...@@ -957,25 +957,122 @@ export default class SYS_ROLE_PERMISSIONEditViewBase extends Vue {
* @memberof SYS_ROLE_PERMISSIONEditViewBase * @memberof SYS_ROLE_PERMISSIONEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -994,25 +994,122 @@ export default class SYS_ROLE_PERMISSIONEditView2Base extends Vue { ...@@ -994,25 +994,122 @@ export default class SYS_ROLE_PERMISSIONEditView2Base extends Vue {
* @memberof SYS_ROLE_PERMISSIONEditView2Base * @memberof SYS_ROLE_PERMISSIONEditView2Base
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -957,25 +957,122 @@ export default class SysUserEditViewBase extends Vue { ...@@ -957,25 +957,122 @@ export default class SysUserEditViewBase extends Vue {
* @memberof SysUserEditViewBase * @memberof SysUserEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -1203,6 +1203,18 @@ export default class SysUserGridViewBase extends Vue { ...@@ -1203,6 +1203,18 @@ export default class SysUserGridViewBase extends Vue {
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'editview', parameterName: 'editview' },
]; ];
const _this: any = this; const _this: any = this;
if (fullargs && fullargs.length > 0) {
const _args = fullargs[0];
if (_args['srfprocessdefinitionkey'] && _args['srftaskdefinitionkey']) {
Object.assign(data, {
processDefinitionKey: _args['srfprocessdefinitionkey'],
taskDefinitionKey: _args['srftaskdefinitionkey']
});
if (_args['srftaskid']) {
Object.assign(data, { 'srftaskid': _args['srftaskid'] });
}
}
}
if(fullargs && fullargs.copymode){ if(fullargs && fullargs.copymode){
Object.assign(data,{copymode:true}); Object.assign(data,{copymode:true});
} }
......
...@@ -957,25 +957,122 @@ export default class SysUserRoleEditViewBase extends Vue { ...@@ -957,25 +957,122 @@ export default class SysUserRoleEditViewBase extends Vue {
* @memberof SysUserRoleEditViewBase * @memberof SysUserRoleEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -994,25 +994,122 @@ export default class SysUserRoleEditView2Base extends Vue { ...@@ -994,25 +994,122 @@ export default class SysUserRoleEditView2Base extends Vue {
* @memberof SysUserRoleEditView2Base * @memberof SysUserRoleEditView2Base
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -994,25 +994,122 @@ export default class SYS_USEREditView2Base extends Vue { ...@@ -994,25 +994,122 @@ export default class SYS_USEREditView2Base extends Vue {
* @memberof SYS_USEREditView2Base * @memberof SYS_USEREditView2Base
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -902,6 +902,23 @@ export default class EntityService { ...@@ -902,6 +902,23 @@ export default class EntityService {
} }
} }
/**
* 获取标准工作流版本信息
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof EntityService
*/
public async getStandWorkflow(context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(
`/wfcore/${this.SYSTEMNAME}-app-${this.APPNAME}/${this.APPDENAME}/process-definitions`,
isloading,
);
}
/** /**
* WFGetProxyData接口方法 * WFGetProxyData接口方法
* *
......
...@@ -274,6 +274,11 @@ ...@@ -274,6 +274,11 @@
} }
} }
// 工作流流程版本选择
.start-workflow-select-wraper {
z-index: 3000 !important;
}
/*** END:多数据视图属性布局 ***/ /*** END:多数据视图属性布局 ***/
// 看板视图,卡片模式 // 看板视图,卡片模式
......
...@@ -17,7 +17,7 @@ export declare interface Http { ...@@ -17,7 +17,7 @@ export declare interface Http {
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof Http * @memberof Http
*/ */
post(url: string, params: any, isloading?: boolean, serialnumber?: number): Promise<any>; post(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/** /**
* 获取 * 获取
* *
...@@ -27,7 +27,7 @@ export declare interface Http { ...@@ -27,7 +27,7 @@ export declare interface Http {
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof Http * @memberof Http
*/ */
get(url: string, isloading?: boolean, serialnumber?: number): Promise<any>; get(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/** /**
* 删除 * 删除
* *
......
...@@ -76,7 +76,7 @@ export class ViewTool { ...@@ -76,7 +76,7 @@ export class ViewTool {
* @memberof ViewTool * @memberof ViewTool
*/ */
public static getIndexRoutePath(route: Route): string { public static getIndexRoutePath(route: Route): string {
const { parameters: _parameters }: { parameters: any[] } = route.meta; const { parameters: _parameters }: { parameters: any[] } = route.meta as any;
const { pathName: _pathName, parameterName: _parameterName }: { pathName: string, parameterName: string } = _parameters[0]; const { pathName: _pathName, parameterName: _parameterName }: { pathName: string, parameterName: string } = _parameters[0];
const param = route.params[_parameterName]; const param = route.params[_parameterName];
if (param && !Object.is(param, '')) { if (param && !Object.is(param, '')) {
......
...@@ -147,6 +147,22 @@ export default class MainModel { ...@@ -147,6 +147,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -67,13 +67,13 @@ ...@@ -67,13 +67,13 @@
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.n_domain_like.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }"> <i-col v-show="detailsModel.n_domains_like.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='n_domain_like' :itemRules="this.rules.n_domain_like" class='' :caption="$t('entities.sysauthlog.default_searchform.details.n_domain_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_domain_like.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_domains_like' :itemRules="this.rules.n_domains_like" class='' :caption="$t('entities.sysauthlog.default_searchform.details.n_domains_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_domains_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box <input-box
v-model="data.n_domain_like" v-model="data.n_domains_like"
@enter="onEnter($event)" @enter="onEnter($event)"
:disabled="detailsModel.n_domain_like.disabled" :disabled="detailsModel.n_domains_like.disabled"
type='text' type='text'
style=""> style="">
</input-box> </input-box>
...@@ -343,7 +343,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -343,7 +343,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_authcode_eq: null, n_authcode_eq: null,
n_authtime_gtandeq: null, n_authtime_gtandeq: null,
n_authtime_ltandeq: null, n_authtime_ltandeq: null,
n_domain_like: null, n_domains_like: null,
}; };
/** /**
...@@ -365,7 +365,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -365,7 +365,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
, ,
n_authtime_ltandeq: new FormItemModel({ caption: '认证时间(小于等于(<=))', detailType: 'FORMITEM', name: 'n_authtime_ltandeq', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 }) n_authtime_ltandeq: new FormItemModel({ caption: '认证时间(小于等于(<=))', detailType: 'FORMITEM', name: 'n_authtime_ltandeq', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 })
, ,
n_domain_like: new FormItemModel({ caption: '域(文本包含(%))', detailType: 'FORMITEM', name: 'n_domain_like', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 }) n_domains_like: new FormItemModel({ caption: '域(%)', detailType: 'FORMITEM', name: 'n_domains_like', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 })
, ,
}; };
...@@ -406,11 +406,11 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -406,11 +406,11 @@ export default class DefaultBase extends Vue implements ControlInterface {
{ required: this.detailsModel.n_authtime_ltandeq.required, type: 'string', message: '认证时间(小于等于(<=)) 值不能为空', trigger: 'change' }, { required: this.detailsModel.n_authtime_ltandeq.required, type: 'string', message: '认证时间(小于等于(<=)) 值不能为空', trigger: 'change' },
{ required: this.detailsModel.n_authtime_ltandeq.required, type: 'string', message: '认证时间(小于等于(<=)) 值不能为空', trigger: 'blur' }, { required: this.detailsModel.n_authtime_ltandeq.required, type: 'string', message: '认证时间(小于等于(<=)) 值不能为空', trigger: 'blur' },
], ],
n_domain_like: [ n_domains_like: [
{ type: 'string', message: '域(文本包含(%)) 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '域(%) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '域(文本包含(%)) 值必须为字符串类型', trigger: 'blur' }, { type: 'string', message: '域(%) 值必须为字符串类型', trigger: 'blur' },
{ required: this.detailsModel.n_domain_like.required, type: 'string', message: '域(文本包含(%)) 值不能为空', trigger: 'change' }, { required: this.detailsModel.n_domains_like.required, type: 'string', message: '域(%) 值不能为空', trigger: 'change' },
{ required: this.detailsModel.n_domain_like.required, type: 'string', message: '域(文本包含(%)) 值不能为空', trigger: 'blur' }, { required: this.detailsModel.n_domains_like.required, type: 'string', message: '域(%) 值不能为空', trigger: 'blur' },
], ],
} }
...@@ -475,15 +475,15 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -475,15 +475,15 @@ export default class DefaultBase extends Vue implements ControlInterface {
} }
/** /**
* 监控表单属性 n_domain_like 值 * 监控表单属性 n_domains_like 值
* *
* @param {*} newVal * @param {*} newVal
* @param {*} oldVal * @param {*} oldVal
* @memberof DefaultBase * @memberof DefaultBase
*/ */
@Watch('data.n_domain_like') @Watch('data.n_domains_like')
onN_domain_likeChange(newVal: any, oldVal: any) { onN_domains_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_domain_like', newVal: newVal, oldVal: oldVal }); this.formDataChange({ name: 'n_domains_like', newVal: newVal, oldVal: oldVal });
} }
......
...@@ -51,8 +51,8 @@ export default class DefaultModel { ...@@ -51,8 +51,8 @@ export default class DefaultModel {
dataType: 'DATETIME', dataType: 'DATETIME',
}, },
{ {
name: 'n_domain_like', name: 'n_domains_like',
prop: 'domain', prop: 'domains',
dataType: 'TEXT', dataType: 'TEXT',
}, },
] ]
......
...@@ -108,15 +108,15 @@ ...@@ -108,15 +108,15 @@
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
<template v-if="getColumnState('domain')"> <template v-if="getColumnState('domains')">
<el-table-column show-overflow-tooltip :prop="'domain'" :label="$t('entities.sysauthlog.main_grid.columns.domain')" :width="100" :align="'left'" :sortable="'custom'"> <el-table-column show-overflow-tooltip :prop="'domains'" :label="$t('entities.sysauthlog.main_grid.columns.domains')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}"> <template v-slot:header="{column}">
<span class="column-header "> <span class="column-header ">
{{$t('entities.sysauthlog.main_grid.columns.domain')}} {{$t('entities.sysauthlog.main_grid.columns.domains')}}
</span> </span>
</template> </template>
<template v-slot="{row,column,$index}"> <template v-slot="{row,column,$index}">
<span>{{row.domain}}</span> <span>{{row.domains}}</span>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
...@@ -741,9 +741,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -741,9 +741,9 @@ export default class MainBase extends Vue implements ControlInterface {
enableCond: 3 , enableCond: 3 ,
}, },
{ {
name: 'domain', name: 'domains',
label: '域', label: '域',
langtag: 'entities.sysauthlog.main_grid.columns.domain', langtag: 'entities.sysauthlog.main_grid.columns.domains',
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
...@@ -1456,7 +1456,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1456,7 +1456,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public arraySpanMethod({row, column, rowIndex, columnIndex} : any) { public arraySpanMethod({row, column, rowIndex, columnIndex} : any) {
let allColumns:Array<any> = ['username','personname','authtime','authcode','ipaddr','macaddr','useragent','domain']; let allColumns:Array<any> = ['username','personname','authtime','authcode','ipaddr','macaddr','useragent','domains'];
if(row && row.children) { if(row && row.children) {
if(columnIndex == (this.isSingleSelect ? 0:1)) { if(columnIndex == (this.isSingleSelect ? 0:1)) {
return [1, allColumns.length+1]; return [1, allColumns.length+1];
...@@ -1543,7 +1543,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1543,7 +1543,7 @@ export default class MainBase extends Vue implements ControlInterface {
ipaddr:'', ipaddr:'',
macaddr:'', macaddr:'',
useragent:'', useragent:'',
domain:'', domains:'',
children: children children: children
} }
groupTree.push(tree); groupTree.push(tree);
...@@ -1577,7 +1577,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1577,7 +1577,7 @@ export default class MainBase extends Vue implements ControlInterface {
ipaddr:'', ipaddr:'',
macaddr:'', macaddr:'',
useragent:'', useragent:'',
domain:'', domains:'',
children: child children: child
} }
if(child && child.length > 0){ if(child && child.length > 0){
...@@ -1631,7 +1631,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1631,7 +1631,7 @@ export default class MainBase extends Vue implements ControlInterface {
ipaddr:'', ipaddr:'',
macaddr:'', macaddr:'',
useragent:'', useragent:'',
domain:'', domains:'',
children: children, children: children,
} }
groupTree.push(tree); groupTree.push(tree);
......
...@@ -57,8 +57,8 @@ export default class MainModel { ...@@ -57,8 +57,8 @@ export default class MainModel {
dataType: 'SSCODELIST', dataType: 'SSCODELIST',
}, },
{ {
name: 'domain', name: 'domains',
prop: 'domain', prop: 'domains',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{ {
...@@ -112,8 +112,8 @@ export default class MainModel { ...@@ -112,8 +112,8 @@ export default class MainModel {
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
{ {
name: 'n_domain_like', name: 'n_domains_like',
prop: 'n_domain_like', prop: 'n_domains_like',
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
...@@ -153,6 +153,22 @@ export default class MainModel { ...@@ -153,6 +153,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -128,6 +128,22 @@ export default class MainModel { ...@@ -128,6 +128,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -93,6 +93,22 @@ export default class MainModel { ...@@ -93,6 +93,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -108,6 +108,22 @@ export default class MainModel { ...@@ -108,6 +108,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -118,6 +118,22 @@ export default class MainModel { ...@@ -118,6 +118,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -123,6 +123,22 @@ export default class MainModel { ...@@ -123,6 +123,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -133,6 +133,22 @@ export default class MainModel { ...@@ -133,6 +133,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
"esModuleInterop": true, "esModuleInterop": true,
"experimentalDecorators": true, "experimentalDecorators": true,
"allowSyntheticDefaultImports": true, "allowSyntheticDefaultImports": true,
"skipLibCheck": true,
"sourceMap": true, "sourceMap": true,
"baseUrl": ".", "baseUrl": ".",
"types": [ "types": [
......
...@@ -79,6 +79,14 @@ public class SysAuthLog extends EntityMP implements Serializable { ...@@ -79,6 +79,14 @@ public class SysAuthLog extends EntityMP implements Serializable {
@JsonProperty("domain") @JsonProperty("domain")
@ApiModelProperty("域") @ApiModelProperty("域")
private String domain; private String domain;
/**
* 域
*/
@TableField(value = "domains")
@JSONField(name = "domains")
@JsonProperty("domains")
@ApiModelProperty("域")
private String domains;
/** /**
* 认证时间 * 认证时间
*/ */
...@@ -148,6 +156,14 @@ public class SysAuthLog extends EntityMP implements Serializable { ...@@ -148,6 +156,14 @@ public class SysAuthLog extends EntityMP implements Serializable {
this.modify("domain", domain); this.modify("domain", domain);
} }
/**
* 设置 [域]
*/
public void setDomains(String domains) {
this.domains = domains;
this.modify("domains", domains);
}
/** /**
* 设置 [IP地址] * 设置 [IP地址]
*/ */
......
...@@ -41,11 +41,11 @@ public class SysAuthLogSearchContext extends QueryWrapperContext<SysAuthLog> { ...@@ -41,11 +41,11 @@ public class SysAuthLogSearchContext extends QueryWrapperContext<SysAuthLog> {
this.getSearchCond().like("personname", n_personname_like); this.getSearchCond().like("personname", n_personname_like);
} }
} }
private String n_domain_like;//[域] private String n_domains_like;//[域]
public void setN_domain_like(String n_domain_like) { public void setN_domains_like(String n_domains_like) {
this.n_domain_like = n_domain_like; this.n_domains_like = n_domains_like;
if(!ObjectUtils.isEmpty(this.n_domain_like)){ if(!ObjectUtils.isEmpty(this.n_domains_like)){
this.getSearchCond().like("domain", n_domain_like); this.getSearchCond().like("domains", n_domains_like);
} }
} }
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysAppService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysAppService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
/** /**
...@@ -121,6 +122,8 @@ public class SysAppServiceImpl implements ISysAppService { ...@@ -121,6 +122,8 @@ public class SysAppServiceImpl implements ISysAppService {
return new PageImpl<SysApp>(new ArrayList(),context.getPageable(),0); return new PageImpl<SysApp>(new ArrayList(),context.getPageable(),0);
} }
} }
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysAuthLogService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysAuthLogService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysAuthLogMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysAuthLogMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -220,6 +220,8 @@ public class SysAuthLogServiceImpl extends ServiceImpl<SysAuthLogMapper, SysAuth ...@@ -220,6 +220,8 @@ public class SysAuthLogServiceImpl extends ServiceImpl<SysAuthLogMapper, SysAuth
public ISysAuthLogService getProxyService() { public ISysAuthLogService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysOpenAccessService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysOpenAccessService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysOpenAccessMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysOpenAccessMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -220,6 +220,8 @@ public class SysOpenAccessServiceImpl extends ServiceImpl<SysOpenAccessMapper, S ...@@ -220,6 +220,8 @@ public class SysOpenAccessServiceImpl extends ServiceImpl<SysOpenAccessMapper, S
public ISysOpenAccessService getProxyService() { public ISysOpenAccessService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysPSSystemService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysPSSystemService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysPSSystemMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysPSSystemMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -261,6 +261,8 @@ public class SysPSSystemServiceImpl extends ServiceImpl<SysPSSystemMapper, SysPS ...@@ -261,6 +261,8 @@ public class SysPSSystemServiceImpl extends ServiceImpl<SysPSSystemMapper, SysPS
public ISysPSSystemService getProxyService() { public ISysPSSystemService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysPermissionService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysPermissionService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysPermissionMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysPermissionMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -225,6 +225,8 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S ...@@ -225,6 +225,8 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S
public ISysPermissionService getProxyService() { public ISysPermissionService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysRolePermissionService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysRolePermissionService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysRolePermissionMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysRolePermissionMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -289,6 +289,8 @@ public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionM ...@@ -289,6 +289,8 @@ public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionM
public ISysRolePermissionService getProxyService() { public ISysRolePermissionService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysRoleService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysRoleService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysRoleMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysRoleMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -310,6 +310,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl ...@@ -310,6 +310,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
} }
public ISysRoleService getProxyService() { public ISysRoleService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysUserAuthService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysUserAuthService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysUserAuthMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysUserAuthMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -255,6 +255,8 @@ public class SysUserAuthServiceImpl extends ServiceImpl<SysUserAuthMapper, SysUs ...@@ -255,6 +255,8 @@ public class SysUserAuthServiceImpl extends ServiceImpl<SysUserAuthMapper, SysUs
public ISysUserAuthService getProxyService() { public ISysUserAuthService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysUserRoleService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysUserRoleService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysUserRoleMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysUserRoleMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -285,6 +285,8 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs ...@@ -285,6 +285,8 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
public ISysUserRoleService getProxyService() { public ISysUserRoleService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysUserService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.uaa.service.ISysUserService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysUserMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.uaa.mapper.SysUserMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -277,6 +277,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl ...@@ -277,6 +277,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
} }
public ISysUserService getProxyService() { public ISysUserService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<!--输出实体[SYS_AUTHLOG]数据结构 --> <!--输出实体[SYS_AUTHLOG]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_authlog-6-1"> <changeSet author="root" id="tab-sys_authlog-13-1">
<createTable tableName="IBZAUTHLOG"> <createTable tableName="IBZAUTHLOG">
<column name="LOGID" remarks="" type="VARCHAR(100)"> <column name="LOGID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_AUTHLOG_LOGID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_AUTHLOG_LOGID"/>
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
</column> </column>
<column name="DOMAIN" remarks="" type="VARCHAR(100)"> <column name="DOMAIN" remarks="" type="VARCHAR(100)">
</column> </column>
<column name="DOMAINS" remarks="" type="VARCHAR(100)">
</column>
<column name="AUTHTIME" remarks="" type="DATETIME"> <column name="AUTHTIME" remarks="" type="DATETIME">
</column> </column>
<column name="IPADDR" remarks="" type="VARCHAR(100)"> <column name="IPADDR" remarks="" type="VARCHAR(100)">
...@@ -32,7 +34,7 @@ ...@@ -32,7 +34,7 @@
<!--输出实体[SYS_OPEN_ACCESS]数据结构 --> <!--输出实体[SYS_OPEN_ACCESS]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_open_access-37-2"> <changeSet author="root" id="tab-sys_open_access-37-2">
<createTable tableName="IBZOPENACCESS"> <createTable tableName="IBZOPENACCESS">
<column name="ACCESSID" remarks="" type="VARCHAR(100)"> <column name="ACCESSID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_OPEN_ACCESS_ACCESSID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_OPEN_ACCESS_ACCESSID"/>
...@@ -64,7 +66,7 @@ ...@@ -64,7 +66,7 @@
<!--输出实体[SYS_PSSYSTEM]数据结构 --> <!--输出实体[SYS_PSSYSTEM]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_pssystem-1-3"> <changeSet author="root" id="tab-sys_pssystem-1-3">
<createTable tableName="IBZPSSYSTEM"> <createTable tableName="IBZPSSYSTEM">
<column name="PSSYSTEMID" remarks="" type="VARCHAR(100)"> <column name="PSSYSTEMID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_PSSYSTEM_PSSYSTEMID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_PSSYSTEM_PSSYSTEMID"/>
...@@ -84,7 +86,7 @@ ...@@ -84,7 +86,7 @@
<!--输出实体[SYS_PERMISSION]数据结构 --> <!--输出实体[SYS_PERMISSION]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_permission-9-4"> <changeSet author="root" id="tab-sys_permission-9-4">
<createTable tableName="IBZPERMISSION"> <createTable tableName="IBZPERMISSION">
<column name="SYS_PERMISSIONID" remarks="" type="VARCHAR(200)"> <column name="SYS_PERMISSIONID" remarks="" type="VARCHAR(200)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_PERMISSION_SYS_PERMISSI"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_PERMISSION_SYS_PERMISSI"/>
...@@ -106,7 +108,7 @@ ...@@ -106,7 +108,7 @@
<!--输出实体[SYS_ROLE]数据结构 --> <!--输出实体[SYS_ROLE]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_role-50-5"> <changeSet author="root" id="tab-sys_role-50-5">
<createTable tableName="IBZROLE"> <createTable tableName="IBZROLE">
<column name="SYS_ROLEID" remarks="" type="VARCHAR(100)"> <column name="SYS_ROLEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_ROLE_SYS_ROLEID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_ROLE_SYS_ROLEID"/>
...@@ -130,7 +132,7 @@ ...@@ -130,7 +132,7 @@
<!--输出实体[SYS_ROLE_PERMISSION]数据结构 --> <!--输出实体[SYS_ROLE_PERMISSION]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_role_permission-25-6"> <changeSet author="root" id="tab-sys_role_permission-25-6">
<createTable tableName="IBZROLE_PERMISSION"> <createTable tableName="IBZROLE_PERMISSION">
<column name="SYS_ROLE_PERMISSIONID" remarks="" type="VARCHAR(100)"> <column name="SYS_ROLE_PERMISSIONID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_ROLE_PERMISSION_SYS_ROL"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_ROLE_PERMISSION_SYS_ROL"/>
...@@ -150,7 +152,7 @@ ...@@ -150,7 +152,7 @@
<!--输出实体[SYS_USER_AUTH]数据结构 --> <!--输出实体[SYS_USER_AUTH]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_user_auth-25-7"> <changeSet author="root" id="tab-sys_user_auth-25-7">
<createTable tableName="IBZUSERAUTH"> <createTable tableName="IBZUSERAUTH">
<column name="AUTHID" remarks="" type="VARCHAR(100)"> <column name="AUTHID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_USER_AUTH_AUTHID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_USER_AUTH_AUTHID"/>
...@@ -168,7 +170,7 @@ ...@@ -168,7 +170,7 @@
<!--输出实体[SYS_USER_ROLE]数据结构 --> <!--输出实体[SYS_USER_ROLE]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_user_role-15-8"> <changeSet author="root" id="tab-sys_user_role-15-8">
<createTable tableName="IBZUSER_ROLE"> <createTable tableName="IBZUSER_ROLE">
<column name="SYS_USER_ROLEID" remarks="" type="VARCHAR(100)"> <column name="SYS_USER_ROLEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_USER_ROLE_SYS_USER_ROLE"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_USER_ROLE_SYS_USER_ROLE"/>
...@@ -189,13 +191,13 @@ ...@@ -189,13 +191,13 @@
<!--输出实体[SYS_PSSYSTEM]外键关系 --> <!--输出实体[SYS_PSSYSTEM]外键关系 -->
<!--输出实体[SYS_PERMISSION]外键关系 --> <!--输出实体[SYS_PERMISSION]外键关系 -->
<!--输出实体[SYS_ROLE]外键关系 --> <!--输出实体[SYS_ROLE]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_role-50-9"> <changeSet author="root" id="fk-sys_role-50-9">
<addForeignKeyConstraint baseColumnNames="PROLEID" baseTableName="IBZROLE" constraintName="DER1N_SYS_ROLE_SYS_ROLE_PROLEI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_ROLEID" referencedTableName="IBZROLE" validate="true"/> <addForeignKeyConstraint baseColumnNames="PROLEID" baseTableName="IBZROLE" constraintName="DER1N_SYS_ROLE_SYS_ROLE_PROLEI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_ROLEID" referencedTableName="IBZROLE" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[SYS_ROLE_PERMISSION]外键关系 --> <!--输出实体[SYS_ROLE_PERMISSION]外键关系 -->
<!--输出实体[SYS_USER_AUTH]外键关系 --> <!--输出实体[SYS_USER_AUTH]外键关系 -->
<!--输出实体[SYS_USER_ROLE]外键关系 --> <!--输出实体[SYS_USER_ROLE]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_user_role-15-10"> <changeSet author="root" id="fk-sys_user_role-15-10">
<addForeignKeyConstraint baseColumnNames="SYS_ROLEID" baseTableName="IBZUSER_ROLE" constraintName="DER1N_SYS_USER_ROLE_SYS_ROLE_S" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_ROLEID" referencedTableName="IBZROLE" validate="true"/> <addForeignKeyConstraint baseColumnNames="SYS_ROLEID" baseTableName="IBZUSER_ROLE" constraintName="DER1N_SYS_USER_ROLE_SYS_ROLE_S" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_ROLEID" referencedTableName="IBZROLE" validate="true"/>
</changeSet> </changeSet>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<![CDATA[select t1.* from (SELECT t1.`AUTHCODE`, t1.`AUTHTIME`, t1.`DOMAIN`, t1.`IPADDR`, t1.`LOGID`, t1.`MACADDR`, t1.`PERSONNAME`, t1.`USERAGENT`, t1.`USERNAME` FROM `IBZAUTHLOG` t1 ) t1 where logid=#{id}]]> <![CDATA[select t1.* from (SELECT t1.`AUTHCODE`, t1.`AUTHTIME`, t1.`DOMAIN`, t1.`IPADDR`, t1.`LOGID`, t1.`MACADDR`, t1.`PERSONNAME`, t1.`USERAGENT`, t1.`USERNAME` FROM `IBZAUTHLOG` t1 ) t1 where logid=#{id}]]>
</select> </select>
<select id="selectById" resultMap="SysAuthLogResultMap" databaseId="oracle"> <select id="selectById" resultMap="SysAuthLogResultMap" databaseId="oracle">
<![CDATA[select t1.* from (SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1 ) t1 where logid=#{id}]]> <![CDATA[select t1.* from (SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.DOMAINS, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1 ) t1 where logid=#{id}]]>
</select> </select>
<select id="selectById" resultMap="SysAuthLogResultMap" databaseId="postgresql"> <select id="selectById" resultMap="SysAuthLogResultMap" databaseId="postgresql">
<![CDATA[select t1.* from (SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1 ) t1 where logid=#{id}]]> <![CDATA[select t1.* from (SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1 ) t1 where logid=#{id}]]>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</sql> </sql>
<!--数据查询[Default]--> <!--数据查询[Default]-->
<sql id="Default" databaseId="oracle"> <sql id="Default" databaseId="oracle">
<![CDATA[ SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1 <![CDATA[ SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.DOMAINS, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1
]]> ]]>
</sql> </sql>
<!--数据查询[Default]--> <!--数据查询[Default]-->
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</sql> </sql>
<!--数据查询[View]--> <!--数据查询[View]-->
<sql id="View" databaseId="oracle"> <sql id="View" databaseId="oracle">
<![CDATA[ SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1 <![CDATA[ SELECT t1.AUTHCODE, t1.AUTHTIME, t1.DOMAIN, t1.DOMAINS, t1.IPADDR, t1.LOGID, t1.MACADDR, t1.PERSONNAME, t1.USERAGENT, t1.USERNAME FROM IBZAUTHLOG t1
]]> ]]>
</sql> </sql>
<!--数据查询[View]--> <!--数据查询[View]-->
......
...@@ -223,6 +223,20 @@ ...@@ -223,6 +223,20 @@
"major_field":0 "major_field":0
}, },
{ {
"fieldname":"DOMAINS" ,
"codename":"Domains",
"field_logic_name":"域",
"entity_name":"SYS_AUTHLOG",
"field_type":"TEXT",
"nullable":1,
"physical_field":1,
"data_type":"VARCHAR",
"data_length":100,
"key_field":0,
"show_order":4,
"major_field":0
},
{
"fieldname":"AUTHTIME" , "fieldname":"AUTHTIME" ,
"codename":"AuthTime", "codename":"AuthTime",
"field_logic_name":"认证时间", "field_logic_name":"认证时间",
......
...@@ -72,6 +72,16 @@ public class SysAuthLogDTO extends DTOBase implements Serializable { ...@@ -72,6 +72,16 @@ public class SysAuthLogDTO extends DTOBase implements Serializable {
@ApiModelProperty("域") @ApiModelProperty("域")
private String domain; private String domain;
/**
* 属性 [DOMAINS]
*
*/
@JSONField(name = "domains")
@JsonProperty("domains")
@Size(min = 0, max = 100, message = "内容长度必须小于等于[100]")
@ApiModelProperty("域")
private String domains;
/** /**
* 属性 [AUTHTIME] * 属性 [AUTHTIME]
* *
...@@ -147,6 +157,14 @@ public class SysAuthLogDTO extends DTOBase implements Serializable { ...@@ -147,6 +157,14 @@ public class SysAuthLogDTO extends DTOBase implements Serializable {
this.modify("domain",domain); this.modify("domain",domain);
} }
/**
* 设置 [DOMAINS]
*/
public void setDomains(String domains){
this.domains = domains ;
this.modify("domains",domains);
}
/** /**
* 设置 [IPADDR] * 设置 [IPADDR]
*/ */
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册