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

lab_gzf 部署微服务应用

上级 7ee7578d
...@@ -2000,6 +2000,83 @@ ...@@ -2000,6 +2000,83 @@
} }
] ]
}, },
{
"srfkey": "Knowledgearticle__StateCode",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "3",
"label": "已发布",
"text": "已发布",
"data":"",
"codename":"Item_3",
"value": "3",
"disabled": false
}
, {
"id": "5",
"label": "已存档",
"text": "已存档",
"data":"",
"codename":"Item_5",
"value": "5",
"disabled": false
}
, {
"id": "1",
"label": "已审批",
"text": "已审批",
"data":"",
"codename":"Item_1",
"value": "1",
"disabled": false
}
, {
"id": "6",
"label": "已放弃",
"text": "已放弃",
"data":"",
"codename":"Item_6",
"value": "6",
"disabled": false
}
, {
"id": "2",
"label": "已计划",
"text": "已计划",
"data":"",
"codename":"Item_2",
"value": "2",
"disabled": false
}
, {
"id": "4",
"label": "已过期",
"text": "已过期",
"data":"",
"codename":"Item_4",
"value": "4",
"disabled": false
}
, {
"id": "0",
"label": "草稿",
"text": "草稿",
"data":"",
"codename":"Item_0",
"value": "0",
"disabled": false
}
]
},
{ {
"srfkey": "Salesliterature__LiteratureTypeCode", "srfkey": "Salesliterature__LiteratureTypeCode",
"emptytext": "未定义", "emptytext": "未定义",
......
...@@ -289,6 +289,16 @@ ...@@ -289,6 +289,16 @@
"viewtag": "0ff3eacd51054572cf899247b1c57018", "viewtag": "0ff3eacd51054572cf899247b1c57018",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"languagelocalepickupview": {
"title": "语言数据选择视图",
"caption": "语言",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Base",
"viewname": "LanguageLocalePickupView",
"viewfilename": "language-locale-pickup-view",
"viewtag": "10a0e06a4f12f69aa5ffbc9c3db8eae0",
"memo": "系统自动添加"
},
"salesliteratureinfoview": { "salesliteratureinfoview": {
"title": "销售宣传资料", "title": "销售宣传资料",
"caption": "销售宣传资料", "caption": "销售宣传资料",
...@@ -2429,6 +2439,16 @@ ...@@ -2429,6 +2439,16 @@
"viewtag": "aaa875342bd9286a39c2d193a150afc4", "viewtag": "aaa875342bd9286a39c2d193a150afc4",
"memo": "" "memo": ""
}, },
"languagelocalepickupgridview": {
"title": "语言选择表格视图",
"caption": "语言",
"viewtype": "DEPICKUPGRIDVIEW",
"viewmodule": "Base",
"viewname": "LanguageLocalePickupGridView",
"viewfilename": "language-locale-pickup-grid-view",
"viewtag": "aae12017a434333b4b16d13b102268d2",
"memo": "系统自动添加"
},
"invoiceinfo": { "invoiceinfo": {
"title": "发票信息", "title": "发票信息",
"caption": "发票", "caption": "发票",
...@@ -2469,6 +2489,16 @@ ...@@ -2469,6 +2489,16 @@
"viewtag": "ad6abf83dc1bc466b988194cd868d98a", "viewtag": "ad6abf83dc1bc466b988194cd868d98a",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"knowledgearticleedit_datapanelview": {
"title": "头部信息编辑",
"caption": "知识文章",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
"viewname": "KnowledgeArticleEdit_DataPanelView",
"viewfilename": "knowledge-article-edit-data-panel-view",
"viewtag": "afb49a61844ef18882a74be9c3728946",
"memo": ""
},
"productquickcreateview": { "productquickcreateview": {
"title": "快速新建", "title": "快速新建",
"caption": "产品", "caption": "产品",
......
...@@ -56,6 +56,7 @@ export class AuthServiceRegister { ...@@ -56,6 +56,7 @@ export class AuthServiceRegister {
this.allAuthService.set('invoice', () => import('@/authservice/invoice/invoice-auth-service')); this.allAuthService.set('invoice', () => import('@/authservice/invoice/invoice-auth-service'));
this.allAuthService.set('campaign', () => import('@/authservice/campaign/campaign-auth-service')); this.allAuthService.set('campaign', () => import('@/authservice/campaign/campaign-auth-service'));
this.allAuthService.set('lead', () => import('@/authservice/lead/lead-auth-service')); this.allAuthService.set('lead', () => import('@/authservice/lead/lead-auth-service'));
this.allAuthService.set('languagelocale', () => import('@/authservice/language-locale/language-locale-auth-service'));
this.allAuthService.set('incident', () => import('@/authservice/incident/incident-auth-service')); this.allAuthService.set('incident', () => import('@/authservice/incident/incident-auth-service'));
this.allAuthService.set('ibizservice', () => import('@/authservice/ibiz-service/ibiz-service-auth-service')); this.allAuthService.set('ibizservice', () => import('@/authservice/ibiz-service/ibiz-service-auth-service'));
this.allAuthService.set('uomschedule', () => import('@/authservice/uom-schedule/uom-schedule-auth-service')); this.allAuthService.set('uomschedule', () => import('@/authservice/uom-schedule/uom-schedule-auth-service'));
......
import AuthService from '../auth-service';
/**
* 语言权限服务对象基类
*
* @export
* @class LanguageLocaleAuthServiceBase
* @extends {AuthService}
*/
export default class LanguageLocaleAuthServiceBase extends AuthService {
/**
* Creates an instance of LanguageLocaleAuthServiceBase.
*
* @param {*} [opts={}]
* @memberof LanguageLocaleAuthServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 根据当前数据获取实体操作标识
*
* @param {*} mainSateOPPrivs 传入数据操作标识
* @returns {any}
* @memberof LanguageLocaleAuthServiceBase
*/
public getOPPrivs(mainSateOPPrivs:any):any{
let curDefaultOPPrivs:any = JSON.parse(JSON.stringify(this.defaultOPPrivs));
if(mainSateOPPrivs){
Object.assign(curDefaultOPPrivs,mainSateOPPrivs);
}
return curDefaultOPPrivs;
}
}
\ No newline at end of file
import LanguageLocaleAuthServiceBase from './language-locale-auth-service-base';
/**
* 语言权限服务对象
*
* @export
* @class LanguageLocaleAuthService
* @extends {LanguageLocaleAuthServiceBase}
*/
export default class LanguageLocaleAuthService extends LanguageLocaleAuthServiceBase {
/**
* Creates an instance of LanguageLocaleAuthService.
*
* @param {*} [opts={}]
* @memberof LanguageLocaleAuthService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
/**
* 语言
*
* @export
* @interface LanguageLocale
*/
export interface LanguageLocale {
/**
* 建立时间
*
* @returns {*}
* @memberof LanguageLocale
*/
createdate?: any;
/**
* LanguageLocaleId
*
* @returns {*}
* @memberof LanguageLocale
*/
languagelocaleid?: any;
/**
* 语言环境名称
*
* @returns {*}
* @memberof LanguageLocale
*/
languagelocalename?: any;
/**
* 区域设置 ID
*
* @returns {*}
* @memberof LanguageLocale
*/
localeid?: any;
/**
* 语言
*
* @returns {*}
* @memberof LanguageLocale
*/
language?: any;
/**
* VersionNumber
*
* @returns {*}
* @memberof LanguageLocale
*/
versionnumber?: any;
/**
* 更新人
*
* @returns {*}
* @memberof LanguageLocale
*/
updateman?: any;
/**
* 更新时间
*
* @returns {*}
* @memberof LanguageLocale
*/
updatedate?: any;
/**
* 建立人
*
* @returns {*}
* @memberof LanguageLocale
*/
createman?: any;
/**
* 代码
*
* @returns {*}
* @memberof LanguageLocale
*/
code?: any;
/**
* 语言状态代码
*
* @returns {*}
* @memberof LanguageLocale
*/
statuscode?: any;
/**
* 状态代码
*
* @returns {*}
* @memberof LanguageLocale
*/
statecode?: any;
/**
* 地区
*
* @returns {*}
* @memberof LanguageLocale
*/
region?: any;
}
\ No newline at end of file
...@@ -15,6 +15,7 @@ import goal_en_US from '@locale/lanres/entities/goal/goal_en_US'; ...@@ -15,6 +15,7 @@ import goal_en_US from '@locale/lanres/entities/goal/goal_en_US';
import invoice_en_US from '@locale/lanres/entities/invoice/invoice_en_US'; import invoice_en_US from '@locale/lanres/entities/invoice/invoice_en_US';
import campaign_en_US from '@locale/lanres/entities/campaign/campaign_en_US'; import campaign_en_US from '@locale/lanres/entities/campaign/campaign_en_US';
import lead_en_US from '@locale/lanres/entities/lead/lead_en_US'; import lead_en_US from '@locale/lanres/entities/lead/lead_en_US';
import languagelocale_en_US from '@locale/lanres/entities/language-locale/language-locale_en_US';
import incident_en_US from '@locale/lanres/entities/incident/incident_en_US'; import incident_en_US from '@locale/lanres/entities/incident/incident_en_US';
import ibizservice_en_US from '@locale/lanres/entities/ibiz-service/ibiz-service_en_US'; import ibizservice_en_US from '@locale/lanres/entities/ibiz-service/ibiz-service_en_US';
import uomschedule_en_US from '@locale/lanres/entities/uom-schedule/uom-schedule_en_US'; import uomschedule_en_US from '@locale/lanres/entities/uom-schedule/uom-schedule_en_US';
...@@ -347,6 +348,7 @@ export default { ...@@ -347,6 +348,7 @@ export default {
invoice: invoice_en_US, invoice: invoice_en_US,
campaign: campaign_en_US, campaign: campaign_en_US,
lead: lead_en_US, lead: lead_en_US,
languagelocale: languagelocale_en_US,
incident: incident_en_US, incident: incident_en_US,
ibizservice: ibizservice_en_US, ibizservice: ibizservice_en_US,
uomschedule: uomschedule_en_US, uomschedule: uomschedule_en_US,
......
...@@ -15,6 +15,7 @@ import goal_zh_CN from '@locale/lanres/entities/goal/goal_zh_CN'; ...@@ -15,6 +15,7 @@ import goal_zh_CN from '@locale/lanres/entities/goal/goal_zh_CN';
import invoice_zh_CN from '@locale/lanres/entities/invoice/invoice_zh_CN'; import invoice_zh_CN from '@locale/lanres/entities/invoice/invoice_zh_CN';
import campaign_zh_CN from '@locale/lanres/entities/campaign/campaign_zh_CN'; import campaign_zh_CN from '@locale/lanres/entities/campaign/campaign_zh_CN';
import lead_zh_CN from '@locale/lanres/entities/lead/lead_zh_CN'; import lead_zh_CN from '@locale/lanres/entities/lead/lead_zh_CN';
import languagelocale_zh_CN from '@locale/lanres/entities/language-locale/language-locale_zh_CN';
import incident_zh_CN from '@locale/lanres/entities/incident/incident_zh_CN'; import incident_zh_CN from '@locale/lanres/entities/incident/incident_zh_CN';
import ibizservice_zh_CN from '@locale/lanres/entities/ibiz-service/ibiz-service_zh_CN'; import ibizservice_zh_CN from '@locale/lanres/entities/ibiz-service/ibiz-service_zh_CN';
import uomschedule_zh_CN from '@locale/lanres/entities/uom-schedule/uom-schedule_zh_CN'; import uomschedule_zh_CN from '@locale/lanres/entities/uom-schedule/uom-schedule_zh_CN';
...@@ -346,6 +347,7 @@ export default { ...@@ -346,6 +347,7 @@ export default {
invoice: invoice_zh_CN, invoice: invoice_zh_CN,
campaign: campaign_zh_CN, campaign: campaign_zh_CN,
lead: lead_zh_CN, lead: lead_zh_CN,
languagelocale: languagelocale_zh_CN,
incident: incident_zh_CN, incident: incident_zh_CN,
ibizservice: ibizservice_zh_CN, ibizservice: ibizservice_zh_CN,
uomschedule: uomschedule_zh_CN, uomschedule: uomschedule_zh_CN,
......
...@@ -245,6 +245,16 @@ export default { ...@@ -245,6 +245,16 @@ export default {
"6": "研讨会", "6": "研讨会",
"empty": "" "empty": ""
}, },
Knowledgearticle__StateCode: {
"3": "已发布",
"5": "已存档",
"1": "已审批",
"6": "已放弃",
"2": "已计划",
"4": "已过期",
"0": "草稿",
"empty": ""
},
Salesliterature__LiteratureTypeCode: { Salesliterature__LiteratureTypeCode: {
"1": "产品表单", "1": "产品表单",
"7": "价格表单", "7": "价格表单",
......
...@@ -245,6 +245,16 @@ export default { ...@@ -245,6 +245,16 @@ export default {
"6": "研讨会", "6": "研讨会",
"empty": "", "empty": "",
}, },
Knowledgearticle__StateCode: {
"3": "已发布",
"5": "已存档",
"1": "已审批",
"6": "已放弃",
"2": "已计划",
"4": "已过期",
"0": "草稿",
"empty": "",
},
Salesliterature__LiteratureTypeCode: { Salesliterature__LiteratureTypeCode: {
"1": "产品表单", "1": "产品表单",
"7": "价格表单", "7": "价格表单",
......
...@@ -85,6 +85,10 @@ export default { ...@@ -85,6 +85,10 @@ export default {
caption: "知识文章", caption: "知识文章",
title: "快速新建", title: "快速新建",
}, },
edit_datapanelview: {
caption: "知识文章",
title: "头部信息编辑",
},
summaryview: { summaryview: {
caption: "知识文章", caption: "知识文章",
title: "知识文章数据看板视图", title: "知识文章数据看板视图",
...@@ -174,6 +178,48 @@ export default { ...@@ -174,6 +178,48 @@ export default {
uiactions: { uiactions: {
}, },
}, },
edit_datapanel_form: {
details: {
group1: "知识文章基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "知识文章",
srfmajortext: "标题",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
languagelocalename: "语言",
statecode: "状态",
knowledgearticleid: "知识文章",
languagelocaleid: "语言",
},
uiactions: {
},
},
datapanel_form: {
details: {
button1: "头信息编辑",
grouppanel1: "分组面板",
group1: "知识文章基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "知识文章",
srfmajortext: "标题",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
languagelocalename: "语言",
statecode: "状态",
knowledgearticleid: "知识文章",
},
uiactions: {
knowledgearticle_openedit_datapanelview: "头信息编辑",
},
},
main_grid: { main_grid: {
columns: { columns: {
title: "标题", title: "标题",
......
...@@ -84,6 +84,10 @@ export default { ...@@ -84,6 +84,10 @@ export default {
caption: "知识文章", caption: "知识文章",
title: "快速新建", title: "快速新建",
}, },
edit_datapanelview: {
caption: "知识文章",
title: "头部信息编辑",
},
summaryview: { summaryview: {
caption: "知识文章", caption: "知识文章",
title: "知识文章数据看板视图", title: "知识文章数据看板视图",
...@@ -173,6 +177,48 @@ export default { ...@@ -173,6 +177,48 @@ export default {
uiactions: { uiactions: {
}, },
}, },
edit_datapanel_form: {
details: {
group1: "知识文章基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "知识文章",
srfmajortext: "标题",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
languagelocalename: "语言",
statecode: "状态",
knowledgearticleid: "知识文章",
languagelocaleid: "语言",
},
uiactions: {
},
},
datapanel_form: {
details: {
button1: "头信息编辑",
grouppanel1: "分组面板",
group1: "知识文章基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "知识文章",
srfmajortext: "标题",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
languagelocalename: "语言",
statecode: "状态",
knowledgearticleid: "知识文章",
},
uiactions: {
knowledgearticle_openedit_datapanelview: "头信息编辑",
},
},
main_grid: { main_grid: {
columns: { columns: {
title: "标题", title: "标题",
......
export default {
fields: {
createdate: "建立时间",
languagelocaleid: "LanguageLocaleId",
languagelocalename: "语言环境名称",
localeid: "区域设置 ID",
language: "语言",
versionnumber: "VersionNumber",
updateman: "更新人",
updatedate: "更新时间",
createman: "建立人",
code: "代码",
statuscode: "语言状态代码",
statecode: "状态代码",
region: "地区",
},
views: {
pickupview: {
caption: "语言",
title: "语言数据选择视图",
},
pickupgridview: {
caption: "语言",
title: "语言选择表格视图",
},
},
main_grid: {
columns: {
languagelocalename: "语言环境名称",
updateman: "更新人",
updatedate: "更新时间",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
};
\ No newline at end of file
export default {
fields: {
createdate: "建立时间",
languagelocaleid: "LanguageLocaleId",
languagelocalename: "语言环境名称",
localeid: "区域设置 ID",
language: "语言",
versionnumber: "VersionNumber",
updateman: "更新人",
updatedate: "更新时间",
createman: "建立人",
code: "代码",
statuscode: "语言状态代码",
statecode: "状态代码",
region: "地区",
},
views: {
pickupview: {
caption: "语言",
title: "语言数据选择视图",
},
pickupgridview: {
caption: "语言",
title: "语言选择表格视图",
},
},
main_grid: {
columns: {
languagelocalename: "语言环境名称",
updateman: "更新人",
updatedate: "更新时间",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
};
\ No newline at end of file
...@@ -2008,6 +2008,83 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => { ...@@ -2008,6 +2008,83 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
}, },
] ]
}, },
{
srfkey: "Knowledgearticle__StateCode",
emptytext: "未定义",
"codelisttype":"static",
items: [
{
id: "3",
label: "已发布",
text: "已发布",
"data":"",
"codename":"Item_3",
value: "3",
disabled: false,
},
{
id: "5",
label: "已存档",
text: "已存档",
"data":"",
"codename":"Item_5",
value: "5",
disabled: false,
},
{
id: "1",
label: "已审批",
text: "已审批",
"data":"",
"codename":"Item_1",
value: "1",
disabled: false,
},
{
id: "6",
label: "已放弃",
text: "已放弃",
"data":"",
"codename":"Item_6",
value: "6",
disabled: false,
},
{
id: "2",
label: "已计划",
text: "已计划",
"data":"",
"codename":"Item_2",
value: "2",
disabled: false,
},
{
id: "4",
label: "已过期",
text: "已过期",
"data":"",
"codename":"Item_4",
value: "4",
disabled: false,
},
{
id: "0",
label: "草稿",
text: "草稿",
"data":"",
"codename":"Item_0",
value: "0",
disabled: false,
},
]
},
{ {
srfkey: "Salesliterature__LiteratureTypeCode", srfkey: "Salesliterature__LiteratureTypeCode",
emptytext: "未定义", emptytext: "未定义",
......
...@@ -24,6 +24,7 @@ import './entity/goals/goals'; ...@@ -24,6 +24,7 @@ import './entity/goals/goals';
import './entity/invoices/invoices'; import './entity/invoices/invoices';
import './entity/campaigns/campaigns'; import './entity/campaigns/campaigns';
import './entity/leads/leads'; import './entity/leads/leads';
import './entity/language-locales/language-locales';
import './entity/incidents/incidents'; import './entity/incidents/incidents';
import './entity/ibiz-services/ibiz-services'; import './entity/ibiz-services/ibiz-services';
import './entity/uom-schedules/uom-schedules'; import './entity/uom-schedules/uom-schedules';
......
...@@ -239,6 +239,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -239,6 +239,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "SalesOrderEditView", "viewname": "SalesOrderEditView",
"viewtag": "0ff3eacd51054572cf899247b1c57018" "viewtag": "0ff3eacd51054572cf899247b1c57018"
}, },
"languagelocalepickupview": {
"title": "语言数据选择视图",
"caption": "语言",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Base",
"viewname": "LanguageLocalePickupView",
"viewtag": "10a0e06a4f12f69aa5ffbc9c3db8eae0"
},
"salesliteratureinfoview": { "salesliteratureinfoview": {
"title": "销售宣传资料", "title": "销售宣传资料",
"caption": "销售宣传资料", "caption": "销售宣传资料",
...@@ -1951,6 +1959,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1951,6 +1959,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ListContactInner", "viewname": "ListContactInner",
"viewtag": "aaa875342bd9286a39c2d193a150afc4" "viewtag": "aaa875342bd9286a39c2d193a150afc4"
}, },
"languagelocalepickupgridview": {
"title": "语言选择表格视图",
"caption": "语言",
"viewtype": "DEPICKUPGRIDVIEW",
"viewmodule": "Base",
"viewname": "LanguageLocalePickupGridView",
"viewtag": "aae12017a434333b4b16d13b102268d2"
},
"invoiceinfo": { "invoiceinfo": {
"title": "发票信息", "title": "发票信息",
"caption": "发票", "caption": "发票",
...@@ -1983,6 +1999,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1983,6 +1999,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "QuoteEditView", "viewname": "QuoteEditView",
"viewtag": "ad6abf83dc1bc466b988194cd868d98a" "viewtag": "ad6abf83dc1bc466b988194cd868d98a"
}, },
"knowledgearticleedit_datapanelview": {
"title": "头部信息编辑",
"caption": "知识文章",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
"viewname": "KnowledgeArticleEdit_DataPanelView",
"viewtag": "afb49a61844ef18882a74be9c3728946"
},
"productquickcreateview": { "productquickcreateview": {
"title": "快速新建", "title": "快速新建",
"caption": "产品", "caption": "产品",
......
...@@ -38,6 +38,7 @@ export const PageComponents = { ...@@ -38,6 +38,7 @@ export const PageComponents = {
Vue.component('quote-win-grid-view', () => import('@pages/sales/quote-win-grid-view/quote-win-grid-view.vue')); Vue.component('quote-win-grid-view', () => import('@pages/sales/quote-win-grid-view/quote-win-grid-view.vue'));
Vue.component('opportunity-edit-date-panel-view', () => import('@pages/sales/opportunity-edit-date-panel-view/opportunity-edit-date-panel-view.vue')); Vue.component('opportunity-edit-date-panel-view', () => import('@pages/sales/opportunity-edit-date-panel-view/opportunity-edit-date-panel-view.vue'));
Vue.component('ibiz-list-info', () => import('@pages/marketing/ibiz-list-info/ibiz-list-info.vue')); Vue.component('ibiz-list-info', () => import('@pages/marketing/ibiz-list-info/ibiz-list-info.vue'));
Vue.component('language-locale-pickup-grid-view', () => import('@pages/base/language-locale-pickup-grid-view/language-locale-pickup-grid-view.vue'));
Vue.component('quote-closed-grid-view', () => import('@pages/sales/quote-closed-grid-view/quote-closed-grid-view.vue')); Vue.component('quote-closed-grid-view', () => import('@pages/sales/quote-closed-grid-view/quote-closed-grid-view.vue'));
Vue.component('knowledge-article-grid-view', () => import('@pages/base/knowledge-article-grid-view/knowledge-article-grid-view.vue')); Vue.component('knowledge-article-grid-view', () => import('@pages/base/knowledge-article-grid-view/knowledge-article-grid-view.vue'));
Vue.component('product-quick-create-view', () => import('@pages/product/product-quick-create-view/product-quick-create-view.vue')); Vue.component('product-quick-create-view', () => import('@pages/product/product-quick-create-view/product-quick-create-view.vue'));
...@@ -164,6 +165,7 @@ export const PageComponents = { ...@@ -164,6 +165,7 @@ export const PageComponents = {
Vue.component('product-info', () => import('@pages/product/product-info/product-info.vue')); Vue.component('product-info', () => import('@pages/product/product-info/product-info.vue'));
Vue.component('competitor-summary', () => import('@pages/sales/competitor-summary/competitor-summary.vue')); Vue.component('competitor-summary', () => import('@pages/sales/competitor-summary/competitor-summary.vue'));
Vue.component('goal-edit-child-goal-view', () => import('@pages/sales/goal-edit-child-goal-view/goal-edit-child-goal-view.vue')); Vue.component('goal-edit-child-goal-view', () => import('@pages/sales/goal-edit-child-goal-view/goal-edit-child-goal-view.vue'));
Vue.component('language-locale-pickup-view', () => import('@pages/base/language-locale-pickup-view/language-locale-pickup-view.vue'));
Vue.component('product-grid-view', () => import('@pages/product/product-grid-view/product-grid-view.vue')); Vue.component('product-grid-view', () => import('@pages/product/product-grid-view/product-grid-view.vue'));
Vue.component('ibiz-list-info-abstract', () => import('@pages/marketing/ibiz-list-info-abstract/ibiz-list-info-abstract.vue')); Vue.component('ibiz-list-info-abstract', () => import('@pages/marketing/ibiz-list-info-abstract/ibiz-list-info-abstract.vue'));
Vue.component('goal-close-grid-view', () => import('@pages/sales/goal-close-grid-view/goal-close-grid-view.vue')); Vue.component('goal-close-grid-view', () => import('@pages/sales/goal-close-grid-view/goal-close-grid-view.vue'));
...@@ -175,6 +177,7 @@ export const PageComponents = { ...@@ -175,6 +177,7 @@ export const PageComponents = {
Vue.component('uom-schedule-edit-view', () => import('@pages/base/uom-schedule-edit-view/uom-schedule-edit-view.vue')); Vue.component('uom-schedule-edit-view', () => import('@pages/base/uom-schedule-edit-view/uom-schedule-edit-view.vue'));
Vue.component('ibiz-list-option-view', () => import('@pages/marketing/ibiz-list-option-view/ibiz-list-option-view.vue')); Vue.component('ibiz-list-option-view', () => import('@pages/marketing/ibiz-list-option-view/ibiz-list-option-view.vue'));
Vue.component('price-level-grid-view', () => import('@pages/product/price-level-grid-view/price-level-grid-view.vue')); Vue.component('price-level-grid-view', () => import('@pages/product/price-level-grid-view/price-level-grid-view.vue'));
Vue.component('knowledge-article-edit-data-panel-view', () => import('@pages/base/knowledge-article-edit-data-panel-view/knowledge-article-edit-data-panel-view.vue'));
Vue.component('contact-info-abstract', () => import('@pages/base/contact-info-abstract/contact-info-abstract.vue')); Vue.component('contact-info-abstract', () => import('@pages/base/contact-info-abstract/contact-info-abstract.vue'));
Vue.component('account-edit-data-panel', () => import('@pages/base/account-edit-data-panel/account-edit-data-panel.vue')); Vue.component('account-edit-data-panel', () => import('@pages/base/account-edit-data-panel/account-edit-data-panel.vue'));
Vue.component('invoice-detail-edit-view', () => import('@pages/finance/invoice-detail-edit-view/invoice-detail-edit-view.vue')); Vue.component('invoice-detail-edit-view', () => import('@pages/finance/invoice-detail-edit-view/invoice-detail-edit-view.vue'));
......
...@@ -1795,6 +1795,20 @@ const router = new Router({ ...@@ -1795,6 +1795,20 @@ const router = new Router({
}, },
component: () => import('@pages/marketing/ibiz-list-info/ibiz-list-info.vue'), component: () => import('@pages/marketing/ibiz-list-info/ibiz-list-info.vue'),
}, },
{
path: 'languagelocales/:languagelocale?/pickupgridview/:pickupgridview?',
meta: {
caption: 'entities.languagelocale.views.pickupgridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'languagelocales', parameterName: 'languagelocale' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/language-locale-pickup-grid-view/language-locale-pickup-grid-view.vue'),
},
{ {
path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/closedgridview/:closedgridview?', path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/closedgridview/:closedgridview?',
meta: { meta: {
...@@ -6850,6 +6864,20 @@ const router = new Router({ ...@@ -6850,6 +6864,20 @@ const router = new Router({
}, },
component: () => import('@pages/sales/goal-edit-child-goal-view/goal-edit-child-goal-view.vue'), component: () => import('@pages/sales/goal-edit-child-goal-view/goal-edit-child-goal-view.vue'),
}, },
{
path: 'languagelocales/:languagelocale?/pickupview/:pickupview?',
meta: {
caption: 'entities.languagelocale.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'languagelocales', parameterName: 'languagelocale' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/base/language-locale-pickup-view/language-locale-pickup-view.vue'),
},
{ {
path: 'products/:product?/gridview/:gridview?', path: 'products/:product?/gridview/:gridview?',
meta: { meta: {
...@@ -7190,6 +7218,20 @@ const router = new Router({ ...@@ -7190,6 +7218,20 @@ const router = new Router({
}, },
component: () => import('@pages/product/price-level-grid-view/price-level-grid-view.vue'), component: () => import('@pages/product/price-level-grid-view/price-level-grid-view.vue'),
}, },
{
path: 'knowledgearticles/:knowledgearticle?/edit_datapanelview/:edit_datapanelview?',
meta: {
caption: 'entities.knowledgearticle.views.edit_datapanelview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'knowledgearticles', parameterName: 'knowledgearticle' },
{ pathName: 'edit_datapanelview', parameterName: 'edit_datapanelview' },
],
requireAuth: true,
},
component: () => import('@pages/base/knowledge-article-edit-data-panel-view/knowledge-article-edit-data-panel-view.vue'),
},
{ {
path: 'accounts/:account?/contacts/:contact?/info_abstract/:info_abstract?', path: 'accounts/:account?/contacts/:contact?/info_abstract/:info_abstract?',
meta: { meta: {
......
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import KnowledgeArticleService from '@/service/knowledge-article/knowledge-article-service';
import KnowledgeArticleAuthService from '@/authservice/knowledge-article/knowledge-article-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import KnowledgeArticleUIService from '@/uiservice/knowledge-article/knowledge-article-ui-service';
/**
* 头部信息编辑视图基类
*
* @export
* @class KnowledgeArticleEdit_DataPanelViewBase
* @extends {EditViewBase}
*/
export class KnowledgeArticleEdit_DataPanelViewBase extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected appDeName: string = 'knowledgearticle';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected appDeKey: string = 'knowledgearticleid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected appDeMajor: string = 'title';
/**
* 实体服务对象
*
* @type {KnowledgeArticleService}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected appEntityService: KnowledgeArticleService = new KnowledgeArticleService;
/**
* 实体权限服务对象
*
* @type KnowledgeArticleUIService
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
public appUIService: KnowledgeArticleUIService = new KnowledgeArticleUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected model: any = {
srfCaption: 'entities.knowledgearticle.views.edit_datapanelview.caption',
srfTitle: 'entities.knowledgearticle.views.edit_datapanelview.title',
srfSubTitle: 'entities.knowledgearticle.views.edit_datapanelview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'afb49a61844ef18882a74be9c3728946';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'knowledgearticle',
majorPSDEField: 'title',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof KnowledgeArticleEdit_DataPanelViewBase
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="knowledgearticleedit_datapanelview" viewTitle="头部信息编辑" class='deeditview knowledge-article-edit-data-panel-view'>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="true"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</studio-view-style2>
\ No newline at end of file
<template src="./knowledge-article-edit-data-panel-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { KnowledgeArticleEdit_DataPanelViewBase } from './knowledge-article-edit-data-panel-view-base';
import view_form from '@widgets/knowledge-article/edit-data-panel-form/edit-data-panel-form.vue';
/**
* 头部信息编辑视图
*
* @export
* @class KnowledgeArticleEdit_DataPanelView
* @extends {KnowledgeArticleEdit_DataPanelViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class KnowledgeArticleEdit_DataPanelView extends KnowledgeArticleEdit_DataPanelViewBase { }
</script>
<studio-view-style2 viewName="knowledgearticleeditview" viewTitle="知识文章编辑视图" class='deeditview knowledge-article-edit-view'> <studio-view-style2 viewName="knowledgearticleeditview" viewTitle="知识文章编辑视图" class='deeditview knowledge-article-edit-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="toolbar"> <template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template> <view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<view_form <view_form
......
...@@ -3,6 +3,7 @@ import { TabExpViewBase } from '@/studio-core'; ...@@ -3,6 +3,7 @@ import { TabExpViewBase } from '@/studio-core';
import KnowledgeArticleService from '@/service/knowledge-article/knowledge-article-service'; import KnowledgeArticleService from '@/service/knowledge-article/knowledge-article-service';
import KnowledgeArticleAuthService from '@/authservice/knowledge-article/knowledge-article-auth-service'; import KnowledgeArticleAuthService from '@/authservice/knowledge-article/knowledge-article-auth-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine'; import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
import DataPanelEngine from '@engine/ctrl/data-panel-engine';
import KnowledgeArticleUIService from '@/uiservice/knowledge-article/knowledge-article-ui-service'; import KnowledgeArticleUIService from '@/uiservice/knowledge-article/knowledge-article-ui-service';
/** /**
...@@ -89,6 +90,7 @@ export class KnowledgeArticleInfoViewBase extends TabExpViewBase { ...@@ -89,6 +90,7 @@ export class KnowledgeArticleInfoViewBase extends TabExpViewBase {
*/ */
protected containerModel: any = { protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' }, view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_datapanel: { name: 'datapanel', type: 'FORM' },
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' }, view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
}; };
...@@ -130,6 +132,15 @@ export class KnowledgeArticleInfoViewBase extends TabExpViewBase { ...@@ -130,6 +132,15 @@ export class KnowledgeArticleInfoViewBase extends TabExpViewBase {
*/ */
public engine: TabExpViewEngine = new TabExpViewEngine(); public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof KnowledgeArticleInfoViewBase
*/
public datapanel: DataPanelEngine = new DataPanelEngine();
/** /**
* 引擎初始化 * 引擎初始化
* *
...@@ -143,6 +154,13 @@ export class KnowledgeArticleInfoViewBase extends TabExpViewBase { ...@@ -143,6 +154,13 @@ export class KnowledgeArticleInfoViewBase extends TabExpViewBase {
majorPSDEField: 'title', majorPSDEField: 'title',
isLoadDefault: true, isLoadDefault: true,
}); });
this.datapanel.init({
view: this,
datapanel: this.$refs.datapanel,
keyPSDEField: 'knowledgearticle',
majorPSDEField: 'title',
isLoadDefault: true,
});
} }
/** /**
......
...@@ -2,6 +2,27 @@ ...@@ -2,6 +2,27 @@
<template slot='title'> <template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span> <span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template> </template>
<template slot="dataPanel">
<view_datapanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="datapanel"
ref='datapanel'
@closeview="closeView($event)">
</view_datapanel>
</template>
<template slot="toolbar"> <template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template> <view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<view_tabexppanel <view_tabexppanel
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import { Component } from 'vue-property-decorator'; import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core'; import { VueLifeCycleProcessing } from '@/studio-core';
import { KnowledgeArticleInfoViewBase } from './knowledge-article-info-view-base'; import { KnowledgeArticleInfoViewBase } from './knowledge-article-info-view-base';
import view_datapanel from '@widgets/knowledge-article/data-panel-form/data-panel-form.vue';
import view_tabexppanel from '@widgets/knowledge-article/info-viewtabexppanel-tabexppanel/info-viewtabexppanel-tabexppanel.vue'; import view_tabexppanel from '@widgets/knowledge-article/info-viewtabexppanel-tabexppanel/info-viewtabexppanel-tabexppanel.vue';
/** /**
...@@ -14,6 +15,7 @@ import view_tabexppanel from '@widgets/knowledge-article/info-viewtabexppanel-ta ...@@ -14,6 +15,7 @@ import view_tabexppanel from '@widgets/knowledge-article/info-viewtabexppanel-ta
*/ */
@Component({ @Component({
components: { components: {
view_datapanel,
view_tabexppanel, view_tabexppanel,
} }
}) })
......
<studio-view-style2 viewName="knowledgearticlesummaryview" viewTitle="知识文章数据看板视图" class='deportalview knowledge-article-summary-view'> <studio-view-style2 viewName="knowledgearticlesummaryview" viewTitle="知识文章数据看板视图" class='deportalview knowledge-article-summary-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<view_dashboard <view_dashboard
:viewState="viewState" :viewState="viewState"
:viewparams="viewparams" :viewparams="viewparams"
......
import { Subject } from 'rxjs';
import { PickupGridViewBase } from '@/studio-core';
import LanguageLocaleService from '@/service/language-locale/language-locale-service';
import LanguageLocaleAuthService from '@/authservice/language-locale/language-locale-auth-service';
import PickupGridViewEngine from '@engine/view/pickup-grid-view-engine';
import LanguageLocaleUIService from '@/uiservice/language-locale/language-locale-ui-service';
/**
* 语言选择表格视图视图基类
*
* @export
* @class LanguageLocalePickupGridViewBase
* @extends {PickupGridViewBase}
*/
export class LanguageLocalePickupGridViewBase extends PickupGridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof LanguageLocalePickupGridViewBase
*/
protected appDeName: string = 'languagelocale';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof LanguageLocalePickupGridViewBase
*/
protected appDeKey: string = 'languagelocaleid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof LanguageLocalePickupGridViewBase
*/
protected appDeMajor: string = 'languagelocalename';
/**
* 实体服务对象
*
* @type {LanguageLocaleService}
* @memberof LanguageLocalePickupGridViewBase
*/
protected appEntityService: LanguageLocaleService = new LanguageLocaleService;
/**
* 实体权限服务对象
*
* @type LanguageLocaleUIService
* @memberof LanguageLocalePickupGridViewBase
*/
public appUIService: LanguageLocaleUIService = new LanguageLocaleUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LanguageLocalePickupGridViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LanguageLocalePickupGridViewBase
*/
protected model: any = {
srfCaption: 'entities.languagelocale.views.pickupgridview.caption',
srfTitle: 'entities.languagelocale.views.pickupgridview.title',
srfSubTitle: 'entities.languagelocale.views.pickupgridview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LanguageLocalePickupGridViewBase
*/
protected containerModel: any = {
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'aae12017a434333b4b16d13b102268d2';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LanguageLocalePickupGridViewBase
*/
public engine: PickupGridViewEngine = new PickupGridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof LanguageLocalePickupGridViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'languagelocale',
majorPSDEField: 'languagelocalename',
isLoadDefault: true,
});
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupGridViewBase
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 是否展开搜索表单
*
* @protected
* @type {boolean}
* @memberof LanguageLocalePickupGridViewBase
*/
protected isExpandSearchForm: boolean = true;
}
\ No newline at end of file
<studio-view-style2 viewName="languagelocalepickupgridview" viewTitle="语言选择表格视图" class='depickupgridview language-locale-pickup-grid-view'>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:selectedData="selectedData"
:showBusyIndicator="true"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchDefault"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./language-locale-pickup-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LanguageLocalePickupGridViewBase } from './language-locale-pickup-grid-view-base';
import view_grid from '@widgets/language-locale/main-grid/main-grid.vue';
import view_searchform from '@widgets/language-locale/default-searchform/default-searchform.vue';
/**
* 语言选择表格视图视图
*
* @export
* @class LanguageLocalePickupGridView
* @extends {LanguageLocalePickupGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class LanguageLocalePickupGridView extends LanguageLocalePickupGridViewBase { }
</script>
import { Subject } from 'rxjs';
import { PickupViewBase } from '@/studio-core';
import LanguageLocaleService from '@/service/language-locale/language-locale-service';
import LanguageLocaleAuthService from '@/authservice/language-locale/language-locale-auth-service';
import PickupViewEngine from '@engine/view/pickup-view-engine';
import LanguageLocaleUIService from '@/uiservice/language-locale/language-locale-ui-service';
/**
* 语言数据选择视图视图基类
*
* @export
* @class LanguageLocalePickupViewBase
* @extends {PickupViewBase}
*/
export class LanguageLocalePickupViewBase extends PickupViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof LanguageLocalePickupViewBase
*/
protected appDeName: string = 'languagelocale';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof LanguageLocalePickupViewBase
*/
protected appDeKey: string = 'languagelocaleid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof LanguageLocalePickupViewBase
*/
protected appDeMajor: string = 'languagelocalename';
/**
* 实体服务对象
*
* @type {LanguageLocaleService}
* @memberof LanguageLocalePickupViewBase
*/
protected appEntityService: LanguageLocaleService = new LanguageLocaleService;
/**
* 实体权限服务对象
*
* @type LanguageLocaleUIService
* @memberof LanguageLocalePickupViewBase
*/
public appUIService: LanguageLocaleUIService = new LanguageLocaleUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LanguageLocalePickupViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LanguageLocalePickupViewBase
*/
protected model: any = {
srfCaption: 'entities.languagelocale.views.pickupview.caption',
srfTitle: 'entities.languagelocale.views.pickupview.title',
srfSubTitle: 'entities.languagelocale.views.pickupview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LanguageLocalePickupViewBase
*/
protected containerModel: any = {
view_pickupviewpanel: { name: 'pickupviewpanel', type: 'PICKUPVIEWPANEL' },
view_okbtn: { name: 'okbtn', type: 'button', text: '确定', disabled: true },
view_cancelbtn: { name: 'cancelbtn', type: 'button', text: '取消', disabled: false },
view_leftbtn: { name: 'leftbtn', type: 'button', text: '左移', disabled: true },
view_rightbtn: { name: 'rightbtn', type: 'button', text: '右移', disabled: true },
view_allleftbtn: { name: 'allleftbtn', type: 'button', text: '全部左移', disabled: true },
view_allrightbtn: { name: 'allrightbtn', type: 'button', text: '全部右移', disabled: true },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '10a0e06a4f12f69aa5ffbc9c3db8eae0';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LanguageLocalePickupViewBase
*/
public engine: PickupViewEngine = new PickupViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof LanguageLocalePickupViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
pickupviewpanel: this.$refs.pickupviewpanel,
keyPSDEField: 'languagelocale',
majorPSDEField: 'languagelocalename',
isLoadDefault: true,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupViewBase
*/
public pickupviewpanel_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'selectionchange', $event);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupViewBase
*/
public pickupviewpanel_activated($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'activated', $event);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LanguageLocalePickupViewBase
*/
public pickupviewpanel_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="languagelocalepickupview" viewTitle="语言数据选择视图" class='depickupview language-locale-pickup-view'>
<div class="content-container pickup-view">
<view_pickupviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
name="pickupviewpanel"
ref='pickupviewpanel'
@selectionchange="pickupviewpanel_selectionchange($event)"
@activated="pickupviewpanel_activated($event)"
@load="pickupviewpanel_load($event)"
@closeview="closeView($event)">
</view_pickupviewpanel>
</div>
<template slot="footer">
<div v-if="isShowButton" :style="{ textAlign: 'right' }">
<i-button type="primary" :disabled="this.viewSelections.length > 0 ? false : true" @click="onClickOk.apply(_self, arguments)">{{this.containerModel.view_okbtn.text}}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel.apply(_self, arguments)">{{this.containerModel.view_cancelbtn.text}}</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
<template src="./language-locale-pickup-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LanguageLocalePickupViewBase } from './language-locale-pickup-view-base';
import view_pickupviewpanel from '@widgets/language-locale/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 语言数据选择视图视图
*
* @export
* @class LanguageLocalePickupView
* @extends {LanguageLocalePickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class LanguageLocalePickupView extends LanguageLocalePickupViewBase { }
</script>
...@@ -56,6 +56,7 @@ export class EntityServiceRegister { ...@@ -56,6 +56,7 @@ export class EntityServiceRegister {
this.allEntityService.set('invoice', () => import('@/service/invoice/invoice-service')); this.allEntityService.set('invoice', () => import('@/service/invoice/invoice-service'));
this.allEntityService.set('campaign', () => import('@/service/campaign/campaign-service')); this.allEntityService.set('campaign', () => import('@/service/campaign/campaign-service'));
this.allEntityService.set('lead', () => import('@/service/lead/lead-service')); this.allEntityService.set('lead', () => import('@/service/lead/lead-service'));
this.allEntityService.set('languagelocale', () => import('@/service/language-locale/language-locale-service'));
this.allEntityService.set('incident', () => import('@/service/incident/incident-service')); this.allEntityService.set('incident', () => import('@/service/incident/incident-service'));
this.allEntityService.set('ibizservice', () => import('@/service/ibiz-service/ibiz-service-service')); this.allEntityService.set('ibizservice', () => import('@/service/ibiz-service/ibiz-service-service'));
this.allEntityService.set('uomschedule', () => import('@/service/uom-schedule/uom-schedule-service')); this.allEntityService.set('uomschedule', () => import('@/service/uom-schedule/uom-schedule-service'));
......
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
/**
* 语言服务对象基类
*
* @export
* @class LanguageLocaleServiceBase
* @extends {EntityServie}
*/
export default class LanguageLocaleServiceBase extends EntityService {
/**
* Creates an instance of LanguageLocaleServiceBase.
*
* @param {*} [opts={}]
* @memberof LanguageLocaleServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof LanguageLocaleServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='languagelocale';
this.APPDEKEY = 'languagelocaleid';
this.APPDENAME = 'languagelocales';
this.APPDETEXT = 'languagelocalename';
this.APPNAME = 'businesscentral';
this.SYSTEMNAME = 'ibizbusinesscentral';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(`/languagelocales/${context.languagelocale}/select`,isloading);
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null;
}
if(data.srffrontuf){
delete data.srffrontuf;
}
let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/languagelocales`,data,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/languagelocales/${context.languagelocale}`,data,isloading);
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().delete(`/languagelocales/${context.languagelocale}`,isloading);
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/languagelocales/${context.languagelocale}`,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/languagelocales/getdraft`,isloading);
res.data.languagelocale = data.languagelocale;
return res;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().post(`/languagelocales/${context.languagelocale}/checkkey`,data,isloading);
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/languagelocales/${context.languagelocale}/save`,data,isloading);
return res;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof LanguageLocaleServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/languagelocales/fetchdefault`,tempData,isloading);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import LanguageLocaleServiceBase from './language-locale-service-base';
/**
* 语言服务对象
*
* @export
* @class LanguageLocaleService
* @extends {LanguageLocaleServiceBase}
*/
export default class LanguageLocaleService extends LanguageLocaleServiceBase {
/**
* Creates an instance of LanguageLocaleService.
*
* @param {*} [opts={}]
* @memberof LanguageLocaleService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
...@@ -300,6 +300,16 @@ export const viewstate: any = { ...@@ -300,6 +300,16 @@ export const viewstate: any = {
'6debde861c6e6f91eeb442cb869e9737', '6debde861c6e6f91eeb442cb869e9737',
], ],
}, },
{
viewtag: '10a0e06a4f12f69aa5ffbc9c3db8eae0',
viewmodule: 'Base',
viewname: 'LanguageLocalePickupView',
viewaction: '',
viewdatachange: false,
refviews: [
'aae12017a434333b4b16d13b102268d2',
],
},
{ {
viewtag: '10a21b9907d91ab1764c82df73571709', viewtag: '10a21b9907d91ab1764c82df73571709',
viewmodule: 'Sales', viewmodule: 'Sales',
...@@ -2046,6 +2056,7 @@ export const viewstate: any = { ...@@ -2046,6 +2056,7 @@ export const viewstate: any = {
'b3c480644c68d29d431273a2ad61423a', 'b3c480644c68d29d431273a2ad61423a',
'6c17740cc21fd25906f3feeec10a454a', '6c17740cc21fd25906f3feeec10a454a',
'143da7859237efb5aeb6807342c2327c', '143da7859237efb5aeb6807342c2327c',
'afb49a61844ef18882a74be9c3728946',
], ],
}, },
{ {
...@@ -2397,6 +2408,15 @@ export const viewstate: any = { ...@@ -2397,6 +2408,15 @@ export const viewstate: any = {
'c7d0ca0f6fa1b27bbd1b5c422d1a108d', 'c7d0ca0f6fa1b27bbd1b5c422d1a108d',
], ],
}, },
{
viewtag: 'aae12017a434333b4b16d13b102268d2',
viewmodule: 'Base',
viewname: 'LanguageLocalePickupGridView',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{ {
viewtag: 'ab653866ca40a1cefde21241ac5ba44c', viewtag: 'ab653866ca40a1cefde21241ac5ba44c',
viewmodule: 'Finance', viewmodule: 'Finance',
...@@ -2447,6 +2467,16 @@ export const viewstate: any = { ...@@ -2447,6 +2467,16 @@ export const viewstate: any = {
'6debde861c6e6f91eeb442cb869e9737', '6debde861c6e6f91eeb442cb869e9737',
], ],
}, },
{
viewtag: 'afb49a61844ef18882a74be9c3728946',
viewmodule: 'Base',
viewname: 'KnowledgeArticleEdit_DataPanelView',
viewaction: '',
viewdatachange: false,
refviews: [
'10a0e06a4f12f69aa5ffbc9c3db8eae0',
],
},
{ {
viewtag: 'afcf2380565ebffe4c3a23035c2e3b6e', viewtag: 'afcf2380565ebffe4c3a23035c2e3b6e',
viewmodule: 'Product', viewmodule: 'Product',
......
...@@ -93,6 +93,7 @@ export default class KnowledgeArticleUIServiceBase extends UIService { ...@@ -93,6 +93,7 @@ export default class KnowledgeArticleUIServiceBase extends UIService {
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'knowledgearticles'}); this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'knowledgearticles'});
this.allViewMap.set(':',{viewname:'infoview',srfappde:'knowledgearticles'}); this.allViewMap.set(':',{viewname:'infoview',srfappde:'knowledgearticles'});
this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'knowledgearticles'}); this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'knowledgearticles'});
this.allViewMap.set(':',{viewname:'edit_datapanelview',srfappde:'knowledgearticles'});
this.allViewMap.set(':',{viewname:'summaryview',srfappde:'knowledgearticles'}); this.allViewMap.set(':',{viewname:'summaryview',srfappde:'knowledgearticles'});
this.allViewMap.set(':',{viewname:'info_klartview',srfappde:'knowledgearticles'}); this.allViewMap.set(':',{viewname:'info_klartview',srfappde:'knowledgearticles'});
} }
...@@ -241,6 +242,54 @@ export default class KnowledgeArticleUIServiceBase extends UIService { ...@@ -241,6 +242,54 @@ export default class KnowledgeArticleUIServiceBase extends UIService {
backend(); backend();
} }
/**
* 头信息编辑
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async KnowledgeArticle_OpenEdit_DataPanelView(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { knowledgearticle: '%knowledgearticle%' });
Object.assign(params, { knowledgearticleid: '%knowledgearticle%' });
Object.assign(params, { title: '%title%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'knowledgearticles', parameterName: 'knowledgearticle' },
{ pathName: 'edit_datapanelview', parameterName: 'edit_datapanelview' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
return null;
}
openIndexViewTab(data);
}
/** /**
* 编辑 * 编辑
* *
......
import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils';
import UIService from '../ui-service';
import { Subject } from 'rxjs';
import LanguageLocaleService from '@/service/language-locale/language-locale-service';
import LanguageLocaleAuthService from '@/authservice/language-locale/language-locale-auth-service';
/**
* 语言UI服务对象基类
*
* @export
* @class LanguageLocaleUIServiceBase
*/
export default class LanguageLocaleUIServiceBase extends UIService {
/**
* 是否支持工作流
*
* @memberof LanguageLocaleUIServiceBase
*/
public isEnableWorkflow:boolean = false;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof LanguageLocaleUIServiceBase
*/
public dataService:LanguageLocaleService = new LanguageLocaleService();
/**
* 所有关联视图
*
* @memberof LanguageLocaleUIServiceBase
*/
public allViewMap: Map<string, Object> = new Map();
/**
* 状态值
*
* @memberof LanguageLocaleUIServiceBase
*/
public stateValue: number = 0;
/**
* 状态属性
*
* @memberof LanguageLocaleUIServiceBase
*/
public stateField: string = "";
/**
* 主状态属性集合
*
* @memberof LanguageLocaleUIServiceBase
*/
public mainStateFields:Array<any> = [];
/**
* 主状态集合Map
*
* @memberof LanguageLocaleUIServiceBase
*/
public allDeMainStateMap:Map<string,string> = new Map();
/**
* 主状态操作标识Map
*
* @memberof LanguageLocaleUIServiceBase
*/
public allDeMainStateOPPrivsMap:Map<string,any> = new Map();
/**
* Creates an instance of LanguageLocaleUIServiceBase.
*
* @param {*} [opts={}]
* @memberof LanguageLocaleUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
this.authService = new LanguageLocaleAuthService(opts);
this.initViewMap();
this.initDeMainStateMap();
this.initDeMainStateOPPrivsMap();
}
/**
* 初始化视图Map
*
* @memberof LanguageLocaleUIServiceBase
*/
public initViewMap(){
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'languagelocales'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'languagelocales'});
}
/**
* 初始化主状态集合
*
* @memberof LanguageLocaleUIServiceBase
*/
public initDeMainStateMap(){
}
/**
* 初始化主状态操作标识
*
* @memberof LanguageLocaleUIServiceBase
*/
public initDeMainStateOPPrivsMap(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof LanguageLocaleUIServiceBase
*/
public async getRDAppView(srfkey:string,isEnableWorkflow:boolean){
this.isEnableWorkflow = isEnableWorkflow;
// 进行数据查询
let result:any = await this.dataService.Get({languagelocale:srfkey});
const curData:any = result.data;
//判断当前数据模式,默认为true,todo
const iRealDEModel:boolean = true;
let bDataInWF:boolean = false;
let bWFMode:any = false;
// 计算数据模式
if (this.isEnableWorkflow) {
bDataInWF = await this.dataService.testDataInWF({stateValue:this.stateValue,stateField:this.stateField},curData);
if (bDataInWF) {
bDataInWF = true;
bWFMode = await this.dataService.testUserExistWorklist(null,curData);
}
}
let strPDTViewParam:string = await this.getDESDDEViewPDTParam(curData, bDataInWF, bWFMode);
//若不是当前数据模式,处理strPDTViewParam,todo
//查找视图
//返回视图
return this.allViewMap.get(strPDTViewParam);
}
/**
* 获取实际的数据类型
*
* @memberof LanguageLocaleUIServiceBase
*/
public getRealDEType(entity:any){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof LanguageLocaleUIServiceBase
*/
public async getDESDDEViewPDTParam(curData:any, bDataInWF:boolean, bWFMode:boolean){
let strPDTParam:string = '';
if (bDataInWF) {
// 判断数据是否在流程中
}
//多表单,todo
const isEnableMultiForm:boolean = false;
const multiFormDEField:string|null =null;
if (isEnableMultiForm && multiFormDEField) {
const objFormValue:string = curData[multiFormDEField];
if(!Environment.isAppMode){
return 'MOBEDITVIEW'+objFormValue;
}
return 'EDITVIEW'+objFormValue;
}
if(!Environment.isAppMode){
if(this.getDEMainStateTag(curData)){
return `MOBEDITVIEW:MSTAG:${ this.getDEMainStateTag(curData)}`;
}
return 'MOBEDITVIEW:';
}
if(this.getDEMainStateTag(curData)){
return `EDITVIEW:MSTAG:${ this.getDEMainStateTag(curData)}`;
}
return 'EDITVIEW:';
}
/**
* 获取数据对象的主状态标识
*
* @param curData 当前数据
* @memberof LanguageLocaleUIServiceBase
*/
public getDEMainStateTag(curData:any){
if(this.mainStateFields.length === 0) return null;
this.mainStateFields.forEach((singleMainField:any) =>{
if(!(singleMainField in curData)){
console.error(`当前数据对象不包含属性singleMainField,可能会发生错误`);
}
})
for (let i = 0; i <= 1; i++) {
let strTag:string = (curData[this.mainStateFields[0]])?(i == 0) ? curData[this.mainStateFields[0]] : "":"";
if (this.mainStateFields.length >= 2) {
for (let j = 0; j <= 1; j++) {
let strTag2:string = (curData[this.mainStateFields[1]])?`${strTag}__${(j == 0) ? curData[this.mainStateFields[1]] : ""}`:strTag;
if (this.mainStateFields.length >= 3) {
for (let k = 0; k <= 1; k++) {
let strTag3:string = (curData[this.mainStateFields[2]])?`${strTag2}__${(k == 0) ? curData[this.mainStateFields[2]] : ""}`:strTag2;
// 判断是否存在
return this.allDeMainStateMap.get(strTag3);
}
}else{
return this.allDeMainStateMap.get(strTag2);
}
}
}else{
return this.allDeMainStateMap.get(strTag);
}
}
return null;
}
/**
* 获取数据对象当前操作标识
*
* @param data 当前数据
* @memberof LanguageLocaleUIServiceBase
*/
public getDEMainStateOPPrivs(data:any){
if(this.getDEMainStateTag(data)){
return this.allDeMainStateOPPrivsMap.get((this.getDEMainStateTag(data) as string));
}else{
return null;
}
}
/**
* 获取数据对象所有的操作标识
*
* @param data 当前数据
* @memberof LanguageLocaleUIServiceBase
*/
public getAllOPPrivs(data:any){
return this.authService.getOPPrivs(this.getDEMainStateOPPrivs(data));
}
}
\ No newline at end of file
import LanguageLocaleUIServiceBase from './language-locale-ui-service-base';
/**
* 语言UI服务对象
*
* @export
* @class LanguageLocaleUIService
*/
export default class LanguageLocaleUIService extends LanguageLocaleUIServiceBase {
/**
* Creates an instance of LanguageLocaleUIService.
*
* @param {*} [opts={}]
* @memberof LanguageLocaleUIService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
...@@ -56,6 +56,7 @@ export class UIServiceRegister { ...@@ -56,6 +56,7 @@ export class UIServiceRegister {
this.allUIService.set('invoice', () => import('@/uiservice/invoice/invoice-ui-service')); this.allUIService.set('invoice', () => import('@/uiservice/invoice/invoice-ui-service'));
this.allUIService.set('campaign', () => import('@/uiservice/campaign/campaign-ui-service')); this.allUIService.set('campaign', () => import('@/uiservice/campaign/campaign-ui-service'));
this.allUIService.set('lead', () => import('@/uiservice/lead/lead-ui-service')); this.allUIService.set('lead', () => import('@/uiservice/lead/lead-ui-service'));
this.allUIService.set('languagelocale', () => import('@/uiservice/language-locale/language-locale-ui-service'));
this.allUIService.set('incident', () => import('@/uiservice/incident/incident-ui-service')); this.allUIService.set('incident', () => import('@/uiservice/incident/incident-ui-service'));
this.allUIService.set('ibizservice', () => import('@/uiservice/ibiz-service/ibiz-service-ui-service')); this.allUIService.set('ibizservice', () => import('@/uiservice/ibiz-service/ibiz-service-ui-service'));
this.allUIService.set('uomschedule', () => import('@/uiservice/uom-schedule/uom-schedule-ui-service')); this.allUIService.set('uomschedule', () => import('@/uiservice/uom-schedule/uom-schedule-ui-service'));
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import KnowledgeArticleService from '@/service/knowledge-article/knowledge-article-service';
import DataPanelService from './data-panel-form-service';
import KnowledgeArticleUIService from '@/uiservice/knowledge-article/knowledge-article-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* datapanel部件基类
*
* @export
* @class EditFormControlBase
* @extends {DataPanelEditFormBase}
*/
export class DataPanelEditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof DataPanelEditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {DataPanelService}
* @memberof DataPanelEditFormBase
*/
public service: DataPanelService = new DataPanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {KnowledgeArticleService}
* @memberof DataPanelEditFormBase
*/
public appEntityService: KnowledgeArticleService = new KnowledgeArticleService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof DataPanelEditFormBase
*/
protected appDeName: string = 'knowledgearticle';
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public datapanel_button1_click(params: any = {}, tag?: any, $event?: any) {
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this;
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:KnowledgeArticleUIService = new KnowledgeArticleUIService();
curUIService.KnowledgeArticle_OpenEdit_DataPanelView(datas,contextJO, paramJO, $event, xData,this,"KnowledgeArticle");
}
/**
* 界面UI服务对象
*
* @type {KnowledgeArticleUIService}
* @memberof DataPanelEditFormBase
*/
public appUIService:KnowledgeArticleUIService = new KnowledgeArticleUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof DataPanelEditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
languagelocalename: null,
statecode: null,
knowledgearticleid: null,
knowledgearticle:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof DataPanelEditFormBase
*/
public rules: any = {
}
/**
* 详情模型集合
*
* @type {*}
* @memberof DataPanelEditFormBase
*/
public detailsModel: any = {
button1: new FormButtonModel({ caption: '头信息编辑', detailType: 'BUTTON', name: 'button1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiaction: { type: 'DEUIACTION', tag: 'OpenEdit_DataPanelView', actiontarget: 'SINGLEKEY' } }),
grouppanel1: new FormGroupPanelModel({ caption: '分组面板', detailType: 'GROUPPANEL', name: 'grouppanel1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.knowledgearticle.datapanel_form', extractMode: 'ITEM', details: [] } }),
group1: new FormGroupPanelModel({ caption: '知识文章基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.knowledgearticle.datapanel_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '知识文章', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '标题', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
languagelocalename: new FormItemModel({ caption: '语言', detailType: 'FORMITEM', name: 'languagelocalename', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
statecode: new FormItemModel({ caption: '状态', detailType: 'FORMITEM', name: 'statecode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
knowledgearticleid: new FormItemModel({ caption: '知识文章', detailType: 'FORMITEM', name: 'knowledgearticleid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
/**
* 表单 头信息编辑 事件
*
* @memberof @memberof DataPanelEditFormBase
*/
public button1_click($event: any): void {
this.datapanel_button1_click(null, null, $event);
}
}
\ No newline at end of file
/**
* DataPanel 部件模型
*
* @export
* @class DataPanelModel
*/
export default class DataPanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof DataPanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'knowledgearticleid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'title',
dataType: 'LONGTEXT_1000',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'languagelocalename',
prop: 'languagelocalename',
dataType: 'PICKUPTEXT',
},
{
name: 'statecode',
prop: 'statecode',
dataType: 'NSCODELIST',
},
{
name: 'knowledgearticleid',
prop: 'knowledgearticleid',
dataType: 'GUID',
},
{
name: 'knowledgearticle',
prop: 'knowledgearticleid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form info-form-mode' ref='datapanel' id='knowledgearticle_datapanel' style="">
<input style="display:none;" />
<row >
<i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="FLEX" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.knowledgearticle.datapanel_form.details.group1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<div style="height: 100%;display: flex;">
<div v-show="detailsModel.languagelocalename.visible" :style="{}">
<app-form-item name='languagelocalename' :itemRules="this.rules.languagelocalename" class='datapanel-style' :caption="$t('entities.knowledgearticle.datapanel_form.details.languagelocalename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.languagelocalename.error" :isEmptyCaption="false" labelPos="BOTTOM">
<app-span name='languagelocalename' :value="data.languagelocalename" :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item>
</div>
<div v-show="detailsModel.statecode.visible" :style="{}">
<app-form-item name='statecode' :itemRules="this.rules.statecode" class='datapanel-style' :caption="$t('entities.knowledgearticle.datapanel_form.details.statecode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.statecode.error" :isEmptyCaption="false" labelPos="BOTTOM">
<app-span name='statecode' :value="data.statecode" tag='Knowledgearticle__StateCode' codelistType='STATIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item>
</div>
<div v-show="detailsModel.grouppanel1.visible" :style="{}">
<app-form-group :model="detailsModel.grouppanel1" layoutType="FLEX" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.knowledgearticle.datapanel_form.details.grouppanel1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="true" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel1" :data="data" :context="context" :viewparams="viewparams"/>
<div style="height: 100%;display: flex;">
<div v-show="detailsModel.button1.visible" :style="{}">
<i-button type="primary" @click="button1_click($event)" class="form-btn-noborder-transparent"
style="">
<i class="fa fa-angle-down" style="margin-right: 2px;"></i>
</i-button>
</div>
</div>
</app-form-group>
</div>
</div>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
.datapanel-style {
font-size:20px;font-weight:bold;text-align:left
}
.datapanel-style {
height: 48px;
margin-top: 2px;
margin-bottom: 0px!important;
margin-right: 5px;
padding-right: 5px;
border-right: 2px solid var(--app-dividing-line-color-bright) ;
}
.label-bottom {
.editor-wrapper {
height: 24px!important;
}
.app-form-item-label {
font-size: 12px;
font-weight: bold;
height: 24px!important;
line-height: 24px!important;
}
}
.form-btn-noborder-transparent {
background-color:rgba(255, 0, 0, 0);border-style:none;margin:0px 10px 0px 0px
}
.form-btn-noborder-transparent.ivu-btn.ivu-btn-primary {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px;
color: var(--view-font-color-bright);
}
<template src="./data-panel-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { DataPanelEditFormBase } from './data-panel-form-base';
/**
* datapanel部件
*
* @export
* @class DataPanelEditForm
* @extends {DataPanelEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class DataPanelEditForm extends DataPanelEditFormBase { }
</script>
<style lang='less'>
@import './data-panel-form.less';
</style>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import KnowledgeArticleService from '@/service/knowledge-article/knowledge-article-service';
import Edit_DataPanelService from './edit-data-panel-form-service';
import KnowledgeArticleUIService from '@/uiservice/knowledge-article/knowledge-article-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {Edit_DataPanelEditFormBase}
*/
export class Edit_DataPanelEditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof Edit_DataPanelEditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {Edit_DataPanelService}
* @memberof Edit_DataPanelEditFormBase
*/
public service: Edit_DataPanelService = new Edit_DataPanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {KnowledgeArticleService}
* @memberof Edit_DataPanelEditFormBase
*/
public appEntityService: KnowledgeArticleService = new KnowledgeArticleService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof Edit_DataPanelEditFormBase
*/
protected appDeName: string = 'knowledgearticle';
/**
* 界面UI服务对象
*
* @type {KnowledgeArticleUIService}
* @memberof Edit_DataPanelEditFormBase
*/
public appUIService:KnowledgeArticleUIService = new KnowledgeArticleUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof Edit_DataPanelEditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
languagelocalename: null,
statecode: null,
knowledgearticleid: null,
languagelocaleid: null,
knowledgearticle:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof Edit_DataPanelEditFormBase
*/
public rules: any = {
statecode: [
{ required: true, type: 'number', message: '状态 值不能为空', trigger: 'change' },
{ required: true, type: 'number', message: '状态 值不能为空', trigger: 'blur' },
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof Edit_DataPanelEditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '知识文章基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.knowledgearticle.edit_datapanel_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '知识文章', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '标题', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
languagelocalename: new FormItemModel({ caption: '语言', detailType: 'FORMITEM', name: 'languagelocalename', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
statecode: new FormItemModel({ caption: '状态', detailType: 'FORMITEM', name: 'statecode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
knowledgearticleid: new FormItemModel({ caption: '知识文章', detailType: 'FORMITEM', name: 'knowledgearticleid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
languagelocaleid: new FormItemModel({ caption: '语言', detailType: 'FORMITEM', name: 'languagelocaleid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
}
\ No newline at end of file
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册