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

xignzi006 发布系统代码

上级 00d5ec04
......@@ -219,6 +219,16 @@
"viewtag": "091b2e4e1948bc0270ea92ef414b5107",
"memo": "系统自动添加"
},
"incidentcustomereditview": {
"title": "案例客户编辑视图",
"caption": "案例客户",
"viewtype": "DEEDITVIEW",
"viewmodule": "Service",
"viewname": "IncidentCustomerEditView",
"viewfilename": "incident-customer-edit-view",
"viewtag": "0a46285598cda63074349563918d7ac5",
"memo": "系统自动添加"
},
"ibizlistedit_datapanelview": {
"title": "头部信息编辑",
"caption": "市场营销列表",
......@@ -1969,6 +1979,16 @@
"viewtag": "922d0c8c2262ba83063f6cb3557a450b",
"memo": "系统自动添加"
},
"incidentcustomergridview": {
"title": "案例客户表格视图",
"caption": "案例客户",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Service",
"viewname": "IncidentCustomerGridView",
"viewfilename": "incident-customer-grid-view",
"viewtag": "92ca46ad4e3db8239701e2a136642d98",
"memo": ""
},
"accountstopgridview": {
"title": "客户表格视图",
"caption": "客户信息",
......
......@@ -226,6 +226,7 @@ export default {
menuitem27: "服务",
menuitem28: "服务案例",
menuitem32: "知识文章",
menuitem17: "案例客户",
bottom_exp: "底部内容",
footer_left: "底部左侧",
footer_center: "底部中间",
......
......@@ -226,6 +226,7 @@ export default {
menuitem27: "服务",
menuitem28: "服务案例",
menuitem32: "知识文章",
menuitem17: "案例客户",
bottom_exp: "底部内容",
footer_left: "底部左侧",
footer_center: "底部中间",
......
......@@ -11,6 +11,10 @@ export default {
caption: "客户",
title: "客户",
},
editview: {
caption: "案例客户",
title: "案例客户编辑视图",
},
mpickupview: {
caption: "案例客户",
title: "案例客户数据多项选择视图",
......@@ -19,11 +23,37 @@ export default {
caption: "案例客户",
title: "案例客户选择表格视图",
},
gridview: {
caption: "案例客户",
title: "案例客户表格视图",
},
},
main_form: {
details: {
group1: "案例客户基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srforikey: "",
srfkey: "客户",
srfmajortext: "客户",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
businesstypecode: "商业类型",
customerid: "客户",
customername: "客户",
customertype: "客户类型",
},
uiactions: {
},
},
main_grid: {
columns: {
customername: "客户",
customertype: "客户类型",
businesstypecode: "商业类型",
},
uiactions: {
},
......@@ -37,4 +67,80 @@ export default {
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem4: {
caption: "Save And New",
tip: "Save And New",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
};
\ No newline at end of file
......@@ -10,6 +10,10 @@ export default {
caption: "客户",
title: "客户",
},
editview: {
caption: "案例客户",
title: "案例客户编辑视图",
},
mpickupview: {
caption: "案例客户",
title: "案例客户数据多项选择视图",
......@@ -18,11 +22,37 @@ export default {
caption: "案例客户",
title: "案例客户选择表格视图",
},
gridview: {
caption: "案例客户",
title: "案例客户表格视图",
},
},
main_form: {
details: {
group1: "案例客户基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srforikey: "",
srfkey: "客户",
srfmajortext: "客户",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
businesstypecode: "商业类型",
customerid: "客户",
customername: "客户",
customertype: "客户类型",
},
uiactions: {
},
},
main_grid: {
columns: {
customername: "客户",
customertype: "客户类型",
businesstypecode: "商业类型",
},
uiactions: {
},
......@@ -36,4 +66,80 @@ export default {
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
tip: "保存",
},
tbitem4: {
caption: "保存并新建",
tip: "保存并新建",
},
tbitem5: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "新建",
tip: "新建",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "拷贝",
tip: "拷贝",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
};
\ No newline at end of file
......@@ -745,6 +745,24 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
textcls: '',
appfunctag: 'Auto17',
resourcetag: '',
},
{
id: '2D4A2378-B18F-4CA3-A2C4-B5444C7A590B',
name: 'menuitem17',
text: '案例客户',
type: 'MENUITEM',
counterid: '',
tooltip: '案例客户',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: '_2',
resourcetag: '',
},
],
},
......
......@@ -183,6 +183,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "IncidentEffectiveGridView",
"viewtag": "091b2e4e1948bc0270ea92ef414b5107"
},
"incidentcustomereditview": {
"title": "案例客户编辑视图",
"caption": "案例客户",
"viewtype": "DEEDITVIEW",
"viewmodule": "Service",
"viewname": "IncidentCustomerEditView",
"viewtag": "0a46285598cda63074349563918d7ac5"
},
"ibizlistedit_datapanelview": {
"title": "头部信息编辑",
"caption": "市场营销列表",
......@@ -1583,6 +1591,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "IncidentPickupView",
"viewtag": "922d0c8c2262ba83063f6cb3557a450b"
},
"incidentcustomergridview": {
"title": "案例客户表格视图",
"caption": "案例客户",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Service",
"viewname": "IncidentCustomerGridView",
"viewtag": "92ca46ad4e3db8239701e2a136642d98"
},
"accountstopgridview": {
"title": "客户表格视图",
"caption": "客户信息",
......
......@@ -125,6 +125,7 @@ export const PageComponents = {
Vue.component('sales-order-summary-view', () => import('@pages/sales/sales-order-summary-view/sales-order-summary-view.vue'));
Vue.component('quote-detail-edit-view', () => import('@pages/sales/quote-detail-edit-view/quote-detail-edit-view.vue'));
Vue.component('product-stop-grid-view', () => import('@pages/product/product-stop-grid-view/product-stop-grid-view.vue'));
Vue.component('incident-customer-grid-view', () => import('@pages/service/incident-customer-grid-view/incident-customer-grid-view.vue'));
Vue.component('quote-edit-view', () => import('@pages/sales/quote-edit-view/quote-edit-view.vue'));
Vue.component('incident-grid-view', () => import('@pages/service/incident-grid-view/incident-grid-view.vue'));
Vue.component('account-quick-create', () => import('@pages/base/account-quick-create/account-quick-create.vue'));
......@@ -215,6 +216,7 @@ export const PageComponents = {
Vue.component('list-contact-inner', () => import('@pages/marketing/list-contact-inner/list-contact-inner.vue'));
Vue.component('campaign-info-campagin', () => import('@pages/marketing/campaign-info-campagin/campaign-info-campagin.vue'));
Vue.component('contact-edit-view', () => import('@pages/base/contact-edit-view/contact-edit-view.vue'));
Vue.component('incident-customer-edit-view', () => import('@pages/service/incident-customer-edit-view/incident-customer-edit-view.vue'));
Vue.component('appointment-edit-view', () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'));
Vue.component('list-account-edit-view', () => import('@pages/marketing/list-account-edit-view/list-account-edit-view.vue'));
Vue.component('incident-edit-data-panel-view', () => import('@pages/service/incident-edit-data-panel-view/incident-edit-data-panel-view.vue'));
......
......@@ -5385,6 +5385,20 @@ const router = new Router({
},
component: () => import('@pages/product/product-stop-grid-view/product-stop-grid-view.vue'),
},
{
path: 'incidentcustomers/:incidentcustomer?/gridview/:gridview?',
meta: {
caption: 'entities.incidentcustomer.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/service/incident-customer-grid-view/incident-customer-grid-view.vue'),
},
{
path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/editview/:editview?',
meta: {
......@@ -8797,6 +8811,20 @@ const router = new Router({
},
component: () => import('@pages/base/contact-edit-view/contact-edit-view.vue'),
},
{
path: 'incidentcustomers/:incidentcustomer?/editview/:editview?',
meta: {
caption: 'entities.incidentcustomer.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/service/incident-customer-edit-view/incident-customer-edit-view.vue'),
},
{
path: 'appointments/:appointment?/editview/:editview?',
meta: {
......
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import IncidentCustomerService from '@/service/incident-customer/incident-customer-service';
import IncidentCustomerAuthService from '@/authservice/incident-customer/incident-customer-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import IncidentCustomerUIService from '@/uiservice/incident-customer/incident-customer-ui-service';
/**
* 案例客户编辑视图视图基类
*
* @export
* @class IncidentCustomerEditViewBase
* @extends {EditViewBase}
*/
export class IncidentCustomerEditViewBase extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof IncidentCustomerEditViewBase
*/
protected appDeName: string = 'incidentcustomer';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof IncidentCustomerEditViewBase
*/
protected appDeKey: string = 'customerid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof IncidentCustomerEditViewBase
*/
protected appDeMajor: string = 'customername';
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof IncidentCustomerEditViewBase
*/
protected appEntityService: IncidentCustomerService = new IncidentCustomerService;
/**
* 实体权限服务对象
*
* @type IncidentCustomerUIService
* @memberof IncidentCustomerEditViewBase
*/
public appUIService: IncidentCustomerUIService = new IncidentCustomerUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof IncidentCustomerEditViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof IncidentCustomerEditViewBase
*/
protected model: any = {
srfCaption: 'entities.incidentcustomer.views.editview.caption',
srfTitle: 'entities.incidentcustomer.views.editview.title',
srfSubTitle: 'entities.incidentcustomer.views.editview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof IncidentCustomerEditViewBase
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_form: { name: 'form', type: 'FORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof IncidentCustomerEditView
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '保存', 'isShowCaption': true, 'isShowIcon': true, tooltip: '保存', iconcls: 'fa fa-save', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Save', target: '', class: '' } },
tbitem4: { name: 'tbitem4', caption: '保存并新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '保存并新建', iconcls: 'sx-tb-saveandnew', icon: '../sasrfex/images/default/icon_saveandnew.png', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'SaveAndNew', target: '', class: '' } },
tbitem5: { name: 'tbitem5', caption: '保存并关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '', class: '' } },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem7: { name: 'tbitem7', caption: '删除并关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY', class: '' } },
tbitem8: { name: 'tbitem8', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem13: { name: 'tbitem13', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14: { name: 'tbitem14', caption: '拷贝', 'isShowCaption': true, 'isShowIcon': true, tooltip: '拷贝', iconcls: 'fa fa-copy', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Copy', target: 'SINGLEKEY', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '0a46285598cda63074349563918d7ac5';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof IncidentCustomerEditViewBase
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof IncidentCustomerEditViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'incidentcustomer',
majorPSDEField: 'customername',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem7')) {
this.toolbar_tbitem7_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem9')) {
this.toolbar_tbitem9_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem10')) {
this.toolbar_tbitem10_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem14')) {
this.toolbar_tbitem14_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem15')) {
this.toolbar_tbitem15_click(null, '', $event2);
}
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Save(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveAndNew(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem5_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem7_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem9_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveAndStart(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem10_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ViewWFStep(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem12_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem14_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Copy(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem15_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.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 保存
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public Save(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
// 界面行为容器对象 _this
const _this: any = this;
if (xData && xData.save instanceof Function) {
xData.save().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
_this.$emit('viewdataschange', [{ ...response.data }]);
});
} else if (_this.save && _this.save instanceof Function) {
_this.save();
}
}
/**
* 保存并新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public SaveAndNew(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.saveAndNew instanceof Function)) {
return;
}
xData.saveAndNew().then((response: any) => {
if (!response || response.status !== 200) {
_this.$emit('viewdataschange', JSON.stringify({status:'error',action:'saveAndNew'}));
return;
}
_this.$emit('viewdataschange', JSON.stringify({status:'success',action:'saveAndNew',data:response.data}));
if (xData.autoLoad instanceof Function) {
xData.autoLoad();
}
});
}
/**
* 保存并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public SaveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.saveAndExit instanceof Function) {
xData.saveAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.saveAndExit && _this.saveAndExit instanceof Function) {
_this.saveAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 开始流程
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.wfstart instanceof Function)) {
return;
}
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
if(window.parent){
window.parent.postMessage({ ..._data },'*');
}
if (_this.viewdata) {
_this.$emit('viewdataschange', [{ ..._data }]);
_this.$emit('close');
}else if (this.$tabPageExp) {
this.$tabPageExp.onClose(this.$route.fullPath);
}
});
}
/**
* 当前流程步骤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public ViewWFStep(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.wfsubmit instanceof Function)) {
return;
}
xData.wfsubmit(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
if (_this.viewdata) {
_this.$emit('viewdataschange', [{ ..._data }]);
_this.$emit('close');
} else if (_this.$tabPageExp) {
_this.$tabPageExp.onClose(_this.$route.fullPath);
}
});
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public Copy(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
if (args.length > 0) {
Object.assign(data, { srfsourcekey: args[0].srfkey })
actionContext.$store.commit('addCopyData', { srfkey: args[0].srfkey, copyData: args[0] });
}
_this.newdata([{ ...data }],[{ ...data }],params, $event, xData);
} else if (xData && xData.copy instanceof Function) {
if (args.length > 0) {
actionContext.$store.commit('addCopyData', { srfkey: args[0].srfkey, copyData: args[0] });
}
xData.copy(args[0].srfkey);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
}
\ No newline at end of file
<studio-view-style2 viewName="incidentcustomereditview" viewTitle="案例客户编辑视图" class='deeditview incident-customer-edit-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</studio-view-style2>
\ No newline at end of file
<template src="./incident-customer-edit-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IncidentCustomerEditViewBase } from './incident-customer-edit-view-base';
import view_form from '@widgets/incident-customer/main-form/main-form.vue';
/**
* 案例客户编辑视图视图
*
* @export
* @class IncidentCustomerEditView
* @extends {IncidentCustomerEditViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class IncidentCustomerEditView extends IncidentCustomerEditViewBase { }
</script>
import { Subject } from 'rxjs';
import { GridViewBase } from '@/studio-core';
import IncidentCustomerService from '@/service/incident-customer/incident-customer-service';
import IncidentCustomerAuthService from '@/authservice/incident-customer/incident-customer-auth-service';
import GridViewEngine from '@engine/view/grid-view-engine';
import IncidentCustomerUIService from '@/uiservice/incident-customer/incident-customer-ui-service';
import CodeListService from "@service/app/codelist-service";
/**
* 案例客户表格视图视图基类
*
* @export
* @class IncidentCustomerGridViewBase
* @extends {GridViewBase}
*/
export class IncidentCustomerGridViewBase extends GridViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof IncidentCustomerGridViewBase
*/
protected appDeName: string = 'incidentcustomer';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof IncidentCustomerGridViewBase
*/
protected appDeKey: string = 'customerid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof IncidentCustomerGridViewBase
*/
protected appDeMajor: string = 'customername';
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof IncidentCustomerGridViewBase
*/
protected appEntityService: IncidentCustomerService = new IncidentCustomerService;
/**
* 实体权限服务对象
*
* @type IncidentCustomerUIService
* @memberof IncidentCustomerGridViewBase
*/
public appUIService: IncidentCustomerUIService = new IncidentCustomerUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof IncidentCustomerGridViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof IncidentCustomerGridViewBase
*/
protected model: any = {
srfCaption: 'entities.incidentcustomer.views.gridview.caption',
srfTitle: 'entities.incidentcustomer.views.gridview.title',
srfSubTitle: 'entities.incidentcustomer.views.gridview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof IncidentCustomerGridViewBase
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof IncidentCustomerGridView
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem6: { name: 'tbitem6', caption: '拷贝', 'isShowCaption': true, 'isShowIcon': true, tooltip: '拷贝', iconcls: 'fa fa-copy', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Copy', target: 'SINGLEKEY', class: '' } },
tbitem7: { name: 'tbitem7', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem8: { name: 'tbitem8', caption: '删除', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY', class: '' } },
tbitem9: { name: 'tbitem9', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '92ca46ad4e3db8239701e2a136642d98';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof IncidentCustomerGridViewBase
*/
public engine: GridViewEngine = new GridViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof IncidentCustomerGridViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
opendata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.opendata(args,fullargs, params, $event, xData);
},
newdata: (args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) => {
this.newdata(args,fullargs, params, $event, xData);
},
grid: this.$refs.grid,
searchform: this.$refs.searchform,
keyPSDEField: 'incidentcustomer',
majorPSDEField: 'customername',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem6')) {
this.toolbar_tbitem6_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem24')) {
this.toolbar_tbitem24_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem25')) {
this.toolbar_tbitem25_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem13')) {
this.toolbar_tbitem13_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public grid_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public grid_beforeload($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public grid_rowdblclick($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public grid_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public grid_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public searchform_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public searchform_search($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public searchform_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem6_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Copy(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem24_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleRowEdit(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem25_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.NewRow(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem8_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem13_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem11_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem19_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.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"IncidentCustomer");
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof IncidentCustomerGridView
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
this.$Notice.warning({ title: '错误', desc: '向导添加未实现' });
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof IncidentCustomerGridView
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) {
const localContext: any = null;
const localViewParam: any =null;
const data: any = {};
let tempContext = JSON.parse(JSON.stringify(this.context));
if(args.length >0){
Object.assign(tempContext,args[0]);
}
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.opendata && _this.opendata instanceof Function) {
const data: any = { };
if (args.length > 0) {
Object.assign(data, { incidentcustomer: args[0].incidentcustomer })
}
_this.opendata([{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public Copy(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
if (args.length > 0) {
Object.assign(data, { srfsourcekey: args[0].srfkey })
actionContext.$store.commit('addCopyData', { srfkey: args[0].srfkey, copyData: args[0] });
}
_this.newdata([{ ...data }],[{ ...data }],params, $event, xData);
} else if (xData && xData.copy instanceof Function) {
if (args.length > 0) {
actionContext.$store.commit('addCopyData', { srfkey: args[0].srfkey, copyData: args[0] });
}
xData.copy(args[0].srfkey);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public ToggleRowEdit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
xData.actualIsOpenEdit = !xData.actualIsOpenEdit;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public NewRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
const data: any = {};
if (_this.hasOwnProperty('newRow') && _this.newRow instanceof Function) {
_this.newRow([{ ...data }], params, $event, xData);
} else if(xData.newRow && xData.newRow instanceof Function) {
xData.newRow([{ ...data }], params, $event, xData);
}else{
_this.$Notice.error({ title: '错误', desc: 'newRow 视图处理逻辑不存在,请添加!' });
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.remove instanceof Function)) {
return ;
}
xData.remove(args);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.exportExcel instanceof Function) || !$event) {
return ;
}
xData.exportExcel($event.exportparms);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public ToggleFilter(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.hasOwnProperty('isExpandSearchForm')) {
_this.isExpandSearchForm = !_this.isExpandSearchForm;
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="incidentcustomergridview" viewTitle="案例客户表格视图" class='degridview incident-customer-grid-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<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"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchDefault"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./incident-customer-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IncidentCustomerGridViewBase } from './incident-customer-grid-view-base';
import view_grid from '@widgets/incident-customer/main-grid/main-grid.vue';
import view_searchform from '@widgets/incident-customer/default-searchform/default-searchform.vue';
/**
* 案例客户表格视图视图
*
* @export
* @class IncidentCustomerGridView
* @extends {IncidentCustomerGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class IncidentCustomerGridView extends IncidentCustomerGridViewBase { }
</script>
......@@ -209,6 +209,15 @@ export const viewstate: any = {
'f440f1d3b950a89e6cb72cadea120b74',
],
},
{
viewtag: '0a46285598cda63074349563918d7ac5',
viewmodule: 'Service',
viewname: 'IncidentCustomerEditView',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '0ab0bd0aaadd588905a82de62c80ff07',
viewmodule: 'Marketing',
......@@ -1767,31 +1776,32 @@ export const viewstate: any = {
viewdatachange: false,
refviews: [
'0e4d8b949764a2c40c2b93261aed6fd8',
'00e8e9d547a2367a0e13e232ea85b920',
'ef8908af79e7631a6292209fa498a899',
'bd2a4adb1377cac6ebbbc883699f28d9',
'25bf5f8c2ebd1ce2be6d06717ed08a96',
'72a6c4ef002175090488d6f819020395',
'98a1ae9b4e6bf9282450b169a0c3ad9a',
'3202f3f503424c7a2c549b2c5186dc36',
'd6dde8e6dd703de9b544d3e5d9f07579',
'efe82dc0a6991dd88da8c33cee6bf451',
'8895fef7ce4f5bdd1cd8f950bd1f8bcc',
'2f0540af5db76052cee0e8e91f0204c4',
'02131b45343ed8c70e500cd8ac520361',
'90b48a107932f432e0dde42791a51887',
'02a20de31897da1246080987e9491e06',
'c67b638daa17df2f9ecf99fc1c396e2f',
'90b48a107932f432e0dde42791a51887',
'224e212f2d5e9c0a6a07b3c650f9b30c',
'9af073dea1ea05903d52e8bdc5a03dd5',
'c67b638daa17df2f9ecf99fc1c396e2f',
'02653a27f371622ac0a726752936646c',
'45fdc8ee4d1401d2d625e80177395ddc',
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4',
'3cac572b3a6905293a0e22e3f3fa3c04',
'9af073dea1ea05903d52e8bdc5a03dd5',
'7FCD2E75-E34A-493C-922E-8AE47BCE08CA',
'3cac572b3a6905293a0e22e3f3fa3c04',
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4',
'00367e275947880480763049e5c495be',
'00e8e9d547a2367a0e13e232ea85b920',
'bd2a4adb1377cac6ebbbc883699f28d9',
'3202f3f503424c7a2c549b2c5186dc36',
'd6dde8e6dd703de9b544d3e5d9f07579',
'efe82dc0a6991dd88da8c33cee6bf451',
'2f0540af5db76052cee0e8e91f0204c4',
'45fdc8ee4d1401d2d625e80177395ddc',
'92ca46ad4e3db8239701e2a136642d98',
'd1c35f3c52010e1428d7dc1a6bc82f63',
'4c14fc25c4155348b60b75f4763c0bec',
'00367e275947880480763049e5c495be',
],
},
{
......@@ -1910,6 +1920,18 @@ export const viewstate: any = {
'7cd4753a46e288fc3bac3a4d6b08c8d1',
],
},
{
viewtag: '92ca46ad4e3db8239701e2a136642d98',
viewmodule: 'Service',
viewname: 'IncidentCustomerGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'0a46285598cda63074349563918d7ac5',
'9a96ebf2e57358b3590b9d4479edb77a',
'6e18ac74e5685439110f9b4e534ee005',
],
},
{
viewtag: '9433b49c4e43a15dfc8bbd91bdd4c27f',
viewmodule: 'Base',
......
......@@ -90,8 +90,10 @@ export default class IncidentCustomerUIServiceBase extends UIService {
*/
public initViewMap(){
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'incidentcustomers'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'incidentcustomers'});
this.allViewMap.set('MPICKUPVIEW:',{viewname:'mpickupview',srfappde:'incidentcustomers'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'incidentcustomers'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'incidentcustomers'});
}
/**
......
......@@ -61,6 +61,8 @@ export class CentralBase extends Vue {
this.clickAuto1(item); break;
case 'Auto29':
this.clickAuto29(item); break;
case '_2':
this.click_2(item); break;
case 'Auto17':
this.clickAuto17(item); break;
case 'Auto7':
......@@ -604,6 +606,29 @@ export class CentralBase extends Vue {
})
}
/**
* 案例客户
*
* @param {*} [item={}]
* @memberof Central
*/
public click_2(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 知识文章
*
......
......@@ -839,6 +839,27 @@ export default class CentralModel {
viewname: 'knowledge-article-grid-view',
resourcetag: '',
}
,
{
id: '2D4A2378-B18F-4CA3-A2C4-B5444C7A590B',
name: 'menuitem17',
text: '案例客户',
type: 'MENUITEM',
counterid: '',
tooltip: '案例客户',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: '_2',
appfuncyype: 'APPVIEW',
viewname: 'incident-customer-grid-view',
resourcetag: '',
}
,
],
}
......@@ -1206,6 +1227,18 @@ export default class CentralModel {
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: '_2',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'incidentcustomergridview',
deResParameters: [],
routepath: '/central/:central?/incidentcustomers/:incidentcustomer?/gridview/:gridview?',
parameters: [
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: 'Auto17',
appfuncyype: 'APPVIEW',
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import IncidentCustomerService from '@/service/incident-customer/incident-customer-service';
import MainService from './main-form-service';
import IncidentCustomerUIService from '@/uiservice/incident-customer/incident-customer-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {MainEditFormBase}
*/
export class MainEditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof MainEditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {MainService}
* @memberof MainEditFormBase
*/
public service: MainService = new MainService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof MainEditFormBase
*/
public appEntityService: IncidentCustomerService = new IncidentCustomerService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MainEditFormBase
*/
protected appDeName: string = 'incidentcustomer';
/**
* 界面UI服务对象
*
* @type {IncidentCustomerUIService}
* @memberof MainEditFormBase
*/
public appUIService:IncidentCustomerUIService = new IncidentCustomerUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof MainEditFormBase
*/
public data: any = {
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
businesstypecode: null,
customerid: null,
customername: null,
customertype: null,
incidentcustomer:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof MainEditFormBase
*/
public rules: any = {
customername: [
{ required: true, type: 'string', message: '客户 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '客户 值不能为空', trigger: 'blur' },
],
customertype: [
{ required: true, type: 'string', message: '客户类型 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '客户类型 值不能为空', trigger: 'blur' },
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof MainEditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '案例客户基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.incidentcustomer.main_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
group2: new FormGroupPanelModel({ caption: '操作信息', detailType: 'GROUPPANEL', name: 'group2', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.incidentcustomer.main_form', extractMode: 'ITEM', details: [] } }),
formpage2: new FormPageModel({ caption: '其它', detailType: 'FORMPAGE', name: 'formpage2', visible: true, isShowCaption: true, form: this, showMoreMode: 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 }),
businesstypecode: new FormItemModel({ caption: '商业类型', detailType: 'FORMITEM', name: 'businesstypecode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
customerid: new FormItemModel({ caption: '客户', detailType: 'FORMITEM', name: 'customerid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
customername: new FormItemModel({ caption: '客户', detailType: 'FORMITEM', name: 'customername', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
customertype: new FormItemModel({ caption: '客户类型', detailType: 'FORMITEM', name: 'customertype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
form: new FormTabPanelModel({ caption: 'form', detailType: 'TABPANEL', name: 'form', visible: true, isShowCaption: true, form: this, tabPages: [{ name: 'formpage1', index: 0, visible: true }, { name: 'formpage2', index: 1, visible: true }] }),
};
}
\ No newline at end of file
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export default class MainModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'customerid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'customername',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'businesstypecode',
prop: 'businesstypecode',
dataType: 'SSCODELIST',
},
{
name: 'customerid',
prop: 'customerid',
dataType: 'GUID',
},
{
name: 'customername',
prop: 'customername',
dataType: 'TEXT',
},
{
name: 'customertype',
prop: 'customertype',
dataType: 'SSCODELIST',
},
{
name: 'incidentcustomer',
prop: 'customerid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import IncidentCustomerService from '@/service/incident-customer/incident-customer-service';
import MainModel from './main-form-model';
/**
* Main 部件服务对象
*
* @export
* @class MainService
*/
export default class MainService extends ControlService {
/**
* 案例客户服务对象
*
* @type {IncidentCustomerService}
* @memberof MainService
*/
public appEntityService: IncidentCustomerService = new IncidentCustomerService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof MainService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of MainService.
*
* @param {*} [opts={}]
* @memberof MainService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new MainModel();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof MainService
*/
private doItems(promise: Promise<any>, deKeyField: string, deName: string): Promise<any> {
return new Promise((resolve, reject) => {
promise.then((response: any) => {
if (response && response.status === 200) {
const data = response.data;
data.forEach((item:any,index:number) =>{
item[deName] = item[deKeyField];
data[index] = item;
});
resolve(data);
} else {
reject([])
}
}).catch((response: any) => {
reject([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof MainService
*/
@Errorlog
public getItems(serviceName: string, interfaceName: string, context: any = {}, data: any, isloading?: boolean): Promise<any[]> {
return Promise.reject([])
}
/**
* 启动工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public wfstart(action: string,context: any = {},data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data);
context = this.handleRequestData(action,context,data).context;
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](context,data, isloading,localdata);
} else {
result = this.appEntityService.WFStart(context,data, isloading,localdata);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public wfsubmit(action: string,context: any = {}, data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data,true);
context = this.handleRequestData(action,context,data,true).context;
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](context,data, isloading,localdata);
} else {
result = this.appEntityService.WFSubmit(context,data, isloading,localdata);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
Object.assign(Data,{customerid: data.customerid, srffrontuf: '1'});
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.Create(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.Remove(Context,Data, isloading);
}
result.then((response) => {
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.Update(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public get(action: string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.Get(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public loadDraft(action: string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
//仿真主键数据
const PrimaryKey = Util.createUUID();
Data.customerid = PrimaryKey;
Data.incidentcustomer = PrimaryKey;
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.GetDraft(Context,Data, isloading);
}
result.then((response) => {
response.data.customerid = PrimaryKey;
this.handleResponse(action, response, true);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@Errorlog
public frontLogic(action:string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data);
return new Promise((resolve: any, reject: any)=>{
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
return Promise.reject({ status: 500, data: { title: '失败', message: '系统异常' } });
}
result.then((response) => {
this.handleResponse(action, response,true);
resolve(response);
}).catch(response => {
reject(response);
});
})
}
/**
* 处理请求数据
*
* @param action 行为
* @param data 数据
* @memberof MainService
*/
public handleRequestData(action: string,context:any, data: any = {},isMerge:boolean = false){
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return data;
}
let formItemItems: any[] = mode.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
formItemItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop){
requestData[item.prop] = context[item.name];
}
}else{
if(item && item.prop){
requestData[item.prop] = data[item.name];
}
}
});
let tempContext:any = JSON.parse(JSON.stringify(context));
if(tempContext && tempContext.srfsessionid){
tempContext.srfsessionkey = tempContext.srfsessionid;
delete tempContext.srfsessionid;
}
return {context:tempContext,data:requestData};
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form' ref='form' id='incidentcustomer_main' style="">
<input style="display:none;" />
<row >
<tabs :animated="false" size="small" name='main' :value="detailsModel.form.activiedPage"
@on-click="detailsModel.form.clickPage($event)">
<tab-pane v-show="detailsModel.formpage1.visible" name='formpage1' :index="0" tab='main' class=''
:label="(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.incidentcustomer.main_form.details.formpage1')
])
}">
<i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.incidentcustomer.main_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col v-show="detailsModel.businesstypecode.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='businesstypecode' :itemRules="this.rules.businesstypecode" class='' :caption="$t('entities.incidentcustomer.main_form.details.businesstypecode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.businesstypecode.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.businesstypecode" @enter="onEnter($event)" unit="" :disabled="detailsModel.businesstypecode.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.customerid.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='customerid' :itemRules="this.rules.customerid" class='' :caption="$t('entities.incidentcustomer.main_form.details.customerid')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.customerid.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.customerid" @enter="onEnter($event)" unit="" :disabled="detailsModel.customerid.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.customername.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='customername' :itemRules="this.rules.customername" class='' :caption="$t('entities.incidentcustomer.main_form.details.customername')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.customername.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.customername" @enter="onEnter($event)" unit="" :disabled="detailsModel.customername.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.customertype.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='customertype' :itemRules="this.rules.customertype" class='' :caption="$t('entities.incidentcustomer.main_form.details.customertype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.customertype.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.customertype" @enter="onEnter($event)" unit="" :disabled="detailsModel.customertype.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</tab-pane>
<tab-pane v-show="detailsModel.formpage2.visible" name='formpage2' :index="1" tab='main' class=''
:label="(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.incidentcustomer.main_form.details.formpage2')
])
}">
<i-col v-show="detailsModel.group2.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group2" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group2.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.incidentcustomer.main_form.details.group2')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group2" :data="data" :context="context" :viewparams="viewparams"/>
<row>
</row>
</app-form-group>
</i-col>
</tab-pane>
</tabs>
</row>
</i-form>
\ No newline at end of file
<template src="./main-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MainEditFormBase } from './main-form-base';
/**
* form部件
*
* @export
* @class MainEditForm
* @extends {MainEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MainEditForm extends MainEditFormBase { }
</script>
......@@ -99,6 +99,14 @@ export class MainGridBase extends GridControllerBase {
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'businesstypecode',
label: '商业类型',
langtag: 'entities.incidentcustomer.main_grid.columns.businesstypecode',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
]
/**
......@@ -135,6 +143,7 @@ export class MainGridBase extends GridControllerBase {
public hasRowEdit: any = {
'customername':false,
'customertype':false,
'businesstypecode':false,
};
/**
......
......@@ -26,6 +26,11 @@ export default class MainModel {
]
}else{
return [
{
name: 'businesstypecode',
prop: 'businesstypecode',
dataType: 'SSCODELIST',
},
{
name: 'customertype',
prop: 'customertype',
......
......@@ -24,7 +24,7 @@
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
</template>
<template v-if="getColumnState('customername')">
<el-table-column show-overflow-tooltip :prop="'customername'" :label="$t('entities.incidentcustomer.main_grid.columns.customername')" :width="250" :align="'left'" :sortable="'custom'">
<el-table-column show-overflow-tooltip :prop="'customername'" :label="$t('entities.incidentcustomer.main_grid.columns.customername')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.incidentcustomer.main_grid.columns.customername')}}
......@@ -49,6 +49,18 @@
</template>
</el-table-column>
</template>
<template v-if="getColumnState('businesstypecode')">
<el-table-column show-overflow-tooltip :prop="'businesstypecode'" :label="$t('entities.incidentcustomer.main_grid.columns.businesstypecode')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.incidentcustomer.main_grid.columns.businesstypecode')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.businesstypecode}}</span>
</template>
</el-table-column>
</template>
<template v-if="adaptiveState">
<el-table-column></el-table-column>
</template>
......
......@@ -4,7 +4,7 @@
<!--输出实体[ACCOUNT]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-account-617-1">
<changeSet author="a_LAB01_e85d8801c" id="tab-account-618-1">
<createTable tableName="ACCOUNT">
<column name="ADDRESS1_PRIMARYCONTACTNAME" remarks="" type="VARCHAR(100)">
</column>
......@@ -4769,7 +4769,7 @@
<!--输出实体[INCIDENT]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-incident-180-59">
<changeSet author="a_LAB01_e85d8801c" id="tab-incident-191-59">
<createTable tableName="INCIDENT">
<column name="LASTONHOLDTIME" remarks="" type="DATETIME">
</column>
......@@ -4969,7 +4969,7 @@
<!--输出实体[INCIDENTCUSTOMER]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-incidentcustomer-50-60">
<changeSet author="a_LAB01_e85d8801c" id="tab-incidentcustomer-63-60">
<createTable tableName="INCIDENTCUSTOMER">
</createTable>
</changeSet>
......@@ -10980,31 +10980,31 @@
</changeSet>
<!--输出实体[ACCOUNT]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-135">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-135">
<addForeignKeyConstraint baseColumnNames="PARENTACCOUNTID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__ACCOUNT__PARENT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ACCOUNTID" referencedTableName="ACCOUNT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-136">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-136">
<addForeignKeyConstraint baseColumnNames="PRIMARYCONTACTID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__CONTACT__PRIMAR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-137">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-137">
<addForeignKeyConstraint baseColumnNames="PREFERREDEQUIPMENTID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__EQUIPMENT__PREF" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="EQUIPMENTID" referencedTableName="EQUIPMENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-138">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-138">
<addForeignKeyConstraint baseColumnNames="ORIGINATINGLEADID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__LEAD__ORIGINATI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="LEADID" referencedTableName="LEAD" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-139">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-139">
<addForeignKeyConstraint baseColumnNames="DEFAULTPRICELEVELID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__PRICELEVEL__DEF" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRICELEVELID" referencedTableName="PRICELEVEL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-140">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-140">
<addForeignKeyConstraint baseColumnNames="PREFERREDSERVICEID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__SERVICE__PREFER" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SERVICEID" referencedTableName="SERVICE" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-141">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-141">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-142">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-142">
<addForeignKeyConstraint baseColumnNames="TERRITORYID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__TERRITORY__TERR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TERRITORYID" referencedTableName="TERRITORY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-617-143">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-618-143">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__TRANSACTIONCURR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[ACTIVITYMIMEATTACHMENT]外键关系 -->
......@@ -11350,46 +11350,46 @@
<addForeignKeyConstraint baseColumnNames="RESOURCESPECID" baseTableName="SERVICE" constraintName="DER1N_SERVICE__RESOURCESPEC__R" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="RESOURCESPECID" referencedTableName="RESOURCESPEC" validate="true"/>
</changeSet>
<!--输出实体[INCIDENT]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-260">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-260">
<addForeignKeyConstraint baseColumnNames="CUSTOMERID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT_INCIDENTCUSTOME" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CUSTOMERID" referencedTableName="INCIDENTCUSTOMER" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-261">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-261">
<addForeignKeyConstraint baseColumnNames="PRIMARYCONTACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTACT__PRIMA" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-262">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-262">
<addForeignKeyConstraint baseColumnNames="RESPONSIBLECONTACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTACT__RESPO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-263">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-263">
<addForeignKeyConstraint baseColumnNames="CONTRACTDETAILID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTRACTDETAIL" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTRACTDETAILID" referencedTableName="CONTRACTDETAIL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-264">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-264">
<addForeignKeyConstraint baseColumnNames="CONTRACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTRACT__CONT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTRACTID" referencedTableName="CONTRACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-265">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-265">
<addForeignKeyConstraint baseColumnNames="ENTITLEMENTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__ENTITLEMENT__E" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ENTITLEMENTID" referencedTableName="ENTITLEMENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-266">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-266">
<addForeignKeyConstraint baseColumnNames="EXISTINGCASE" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__EXIS" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-267">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-267">
<addForeignKeyConstraint baseColumnNames="MASTERID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__MAST" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-268">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-268">
<addForeignKeyConstraint baseColumnNames="PARENTCASEID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__PARE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-269">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-269">
<addForeignKeyConstraint baseColumnNames="PRODUCTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__PRODUCT__PRODU" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRODUCTID" referencedTableName="PRODUCT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-270">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-270">
<addForeignKeyConstraint baseColumnNames="FIRSTRESPONSEBYKPIID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SLAKPIINSTANCE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAKPIINSTANCEID" referencedTableName="SLAKPIINSTANCE" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-272">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-272">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-273">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-273">
<addForeignKeyConstraint baseColumnNames="SUBJECTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SUBJECT__SUBJE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SUBJECTID" referencedTableName="SUBJECT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-180-274">
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-191-274">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__TRANSACTIONCUR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[INCIDENTCUSTOMER]外键关系 -->
......
......@@ -489,7 +489,7 @@
{
"appid":"CRM",
"appname":"客户管理",
"appmenu":[{"menuid":"Central", "menuname":"Central", "menuitem":[{ "id":"user_menus" , "name":"用户菜单" },{ "id":"top_menus" , "name":"顶部菜单" , "items":[{ "id":"menuitem3" , "name":"系统设置" , "items":[{ "id":"menuitem39" , "name":"区域" },{ "id":"menuitem26" , "name":"货币" },{ "id":"menuitem4" , "name":"链接角色" },{ "id":"menuitem33" , "name":"计价单位" },{ "id":"menuitem36" , "name":"计价单位组" },{ "id":"menuitem37" , "name":"价目表" },{ "id":"menuitem38" , "name":"折扣表" }]},{ "id":"menuitem34" , "name":"消息通知" },{ "id":"menuitem35" , "name":"帮助" }]},{ "id":"left_exp" , "name":"左侧菜单" , "items":[{ "id":"menuitem18" , "name":"最近" },{ "id":"menuitem19" , "name":"固定" },{ "id":"menuitem16" , "name":"我的工作" , "items":[{ "id":"menuitem1" , "name":"仪表盘" },{ "id":"menuitem2" , "name":"活动" }]},{ "id":"menuitem20" , "name":"客户" , "items":[{ "id":"menuitem5" , "name":"客户" },{ "id":"menuitem7" , "name":"联系人" }]},{ "id":"menuitem21" , "name":"销售" , "items":[{ "id":"menuitem8" , "name":"潜在客户" },{ "id":"menuitem9" , "name":"商机" },{ "id":"menuitem10" , "name":"竞争对手" }]},{ "id":"menuitem22" , "name":"宣传资料" , "items":[{ "id":"menuitem11" , "name":"报价单" },{ "id":"menuitem12" , "name":"订单" },{ "id":"menuitem13" , "name":"发票" },{ "id":"menuitem6" , "name":"产品" },{ "id":"menuitem14" , "name":"销售宣传资料" }]},{ "id":"menuitem23" , "name":"市场营销" , "items":[{ "id":"menuitem30" , "name":"市场活动" },{ "id":"menuitem15" , "name":"市场营销列表" }]},{ "id":"menuitem24" , "name":"绩效" , "items":[{ "id":"menuitem25" , "name":"目标" },{ "id":"menuitem31" , "name":"目标度量" }]},{ "id":"menuitem27" , "name":"服务" , "items":[{ "id":"menuitem28" , "name":"服务案例" },{ "id":"menuitem32" , "name":"知识文章" }]}]},{ "id":"bottom_exp" , "name":"底部内容" },{ "id":"footer_left" , "name":"底部左侧" },{ "id":"footer_center" , "name":"底部中间" },{ "id":"footer_right" , "name":"底部右侧" }] },{"menuid":"Setting", "menuname":"Setting", "menuitem":[{ "id":"menuitem1" , "name":"链接角色" }] }]
"appmenu":[{"menuid":"Central", "menuname":"Central", "menuitem":[{ "id":"user_menus" , "name":"用户菜单" },{ "id":"top_menus" , "name":"顶部菜单" , "items":[{ "id":"menuitem3" , "name":"系统设置" , "items":[{ "id":"menuitem39" , "name":"区域" },{ "id":"menuitem26" , "name":"货币" },{ "id":"menuitem4" , "name":"链接角色" },{ "id":"menuitem33" , "name":"计价单位" },{ "id":"menuitem36" , "name":"计价单位组" },{ "id":"menuitem37" , "name":"价目表" },{ "id":"menuitem38" , "name":"折扣表" }]},{ "id":"menuitem34" , "name":"消息通知" },{ "id":"menuitem35" , "name":"帮助" }]},{ "id":"left_exp" , "name":"左侧菜单" , "items":[{ "id":"menuitem18" , "name":"最近" },{ "id":"menuitem19" , "name":"固定" },{ "id":"menuitem16" , "name":"我的工作" , "items":[{ "id":"menuitem1" , "name":"仪表盘" },{ "id":"menuitem2" , "name":"活动" }]},{ "id":"menuitem20" , "name":"客户" , "items":[{ "id":"menuitem5" , "name":"客户" },{ "id":"menuitem7" , "name":"联系人" }]},{ "id":"menuitem21" , "name":"销售" , "items":[{ "id":"menuitem8" , "name":"潜在客户" },{ "id":"menuitem9" , "name":"商机" },{ "id":"menuitem10" , "name":"竞争对手" }]},{ "id":"menuitem22" , "name":"宣传资料" , "items":[{ "id":"menuitem11" , "name":"报价单" },{ "id":"menuitem12" , "name":"订单" },{ "id":"menuitem13" , "name":"发票" },{ "id":"menuitem6" , "name":"产品" },{ "id":"menuitem14" , "name":"销售宣传资料" }]},{ "id":"menuitem23" , "name":"市场营销" , "items":[{ "id":"menuitem30" , "name":"市场活动" },{ "id":"menuitem15" , "name":"市场营销列表" }]},{ "id":"menuitem24" , "name":"绩效" , "items":[{ "id":"menuitem25" , "name":"目标" },{ "id":"menuitem31" , "name":"目标度量" }]},{ "id":"menuitem27" , "name":"服务" , "items":[{ "id":"menuitem28" , "name":"服务案例" },{ "id":"menuitem32" , "name":"知识文章" },{ "id":"menuitem17" , "name":"案例客户" }]}]},{ "id":"bottom_exp" , "name":"底部内容" },{ "id":"footer_left" , "name":"底部左侧" },{ "id":"footer_center" , "name":"底部中间" },{ "id":"footer_right" , "name":"底部右侧" }] },{"menuid":"Setting", "menuname":"Setting", "menuitem":[{ "id":"menuitem1" , "name":"链接角色" }] }]
}
]
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册