Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
3ef3a75d
提交
3ef3a75d
编写于
6月 30, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lab_gzf 发布系统代码
上级
659c01b2
变更
42
隐藏空白字符变更
内嵌
并排
正在显示
42 个修改的文件
包含
3810 行增加
和
21 行删除
+3810
-21
view-config.json
app_CRM/public/assets/json/view-config.json
+3
-3
competitor-sales-literature_en_US.ts
...tor-sales-literature/competitor-sales-literature_en_US.ts
+2
-2
competitor-sales-literature_zh_CN.ts
...tor-sales-literature/competitor-sales-literature_zh_CN.ts
+2
-2
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+2
-2
competitor-pickup-grid-view-base.tsx
...tor-pickup-grid-view/competitor-pickup-grid-view-base.tsx
+185
-0
competitor-pickup-grid-view.html
...petitor-pickup-grid-view/competitor-pickup-grid-view.html
+41
-0
competitor-pickup-grid-view.vue
...mpetitor-pickup-grid-view/competitor-pickup-grid-view.vue
+29
-0
competitor-pickup-view-base.tsx
...es/competitor-pickup-view/competitor-pickup-view-base.tsx
+134
-0
competitor-pickup-view.html
.../sales/competitor-pickup-view/competitor-pickup-view.html
+25
-0
competitor-pickup-view.vue
...s/sales/competitor-pickup-view/competitor-pickup-view.vue
+27
-0
competitor-sales-literature-sal-lit-comp-edit-view-base.tsx
...mpetitor-sales-literature-sal-lit-comp-edit-view-base.tsx
+267
-0
competitor-sales-literature-sal-lit-comp-edit-view.html
...w/competitor-sales-literature-sal-lit-comp-edit-view.html
+26
-0
competitor-sales-literature-sal-lit-comp-edit-view.vue
...ew/competitor-sales-literature-sal-lit-comp-edit-view.vue
+27
-0
competitor-sales-literature-sal-lit-comp-grid-view-base.tsx
...mpetitor-sales-literature-sal-lit-comp-grid-view-base.tsx
+558
-0
competitor-sales-literature-sal-lit-comp-grid-view.html
...w/competitor-sales-literature-sal-lit-comp-grid-view.html
+49
-0
competitor-sales-literature-sal-lit-comp-grid-view.vue
...ew/competitor-sales-literature-sal-lit-comp-grid-view.vue
+29
-0
page-register.ts
app_CRM/src/pages/ungroup/central/page-register.ts
+1
-1
router.ts
app_CRM/src/pages/ungroup/central/router.ts
+8
-8
state.ts
app_CRM/src/store/modules/view-action/state.ts
+39
-0
competitor-sales-literature-ui-service-base.ts
...literature/competitor-sales-literature-ui-service-base.ts
+1
-1
default-searchform-base.tsx
...literature/default-searchform/default-searchform-base.tsx
+63
-0
default-searchform-model.ts
...literature/default-searchform/default-searchform-model.ts
+31
-0
default-searchform-service.ts
...terature/default-searchform/default-searchform-service.ts
+366
-0
default-searchform.html
...les-literature/default-searchform/default-searchform.html
+9
-0
default-searchform.vue
...ales-literature/default-searchform/default-searchform.vue
+22
-0
sal-lit-comp-form-base.tsx
...s-literature/sal-lit-comp-form/sal-lit-comp-form-base.tsx
+110
-0
sal-lit-comp-form-model.ts
...s-literature/sal-lit-comp-form/sal-lit-comp-form-model.ts
+86
-0
sal-lit-comp-form-service.ts
...literature/sal-lit-comp-form/sal-lit-comp-form-service.ts
+383
-0
sal-lit-comp-form.html
...sales-literature/sal-lit-comp-form/sal-lit-comp-form.html
+43
-0
sal-lit-comp-form.vue
...-sales-literature/sal-lit-comp-form/sal-lit-comp-form.vue
+22
-0
sal-lit-comp-grid-grid-base.tsx
...re/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid-base.tsx
+137
-0
sal-lit-comp-grid-grid-model.ts
...re/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid-model.ts
+99
-0
sal-lit-comp-grid-grid-service.ts
.../sal-lit-comp-grid-grid/sal-lit-comp-grid-grid-service.ts
+307
-0
sal-lit-comp-grid-grid.html
...rature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid.html
+90
-0
sal-lit-comp-grid-grid.vue
...erature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid.vue
+22
-0
pickup-viewpickupviewpanel-pickupviewpanel-base.tsx
...panel/pickup-viewpickupviewpanel-pickupviewpanel-base.tsx
+246
-0
pickup-viewpickupviewpanel-pickupviewpanel-model.ts
...panel/pickup-viewpickupviewpanel-pickupviewpanel-model.ts
+265
-0
pickup-viewpickupviewpanel-pickupviewpanel-service.ts
...nel/pickup-viewpickupviewpanel-pickupviewpanel-service.ts
+11
-0
pickup-viewpickupviewpanel-pickupviewpanel.html
...viewpanel/pickup-viewpickupviewpanel-pickupviewpanel.html
+16
-0
pickup-viewpickupviewpanel-pickupviewpanel.less
...viewpanel/pickup-viewpickupviewpanel-pickupviewpanel.less
+3
-0
pickup-viewpickupviewpanel-pickupviewpanel.vue
...pviewpanel/pickup-viewpickupviewpanel-pickupviewpanel.vue
+22
-0
info-viewtabviewpanel3-tabviewpanel.html
...el3-tabviewpanel/info-viewtabviewpanel3-tabviewpanel.html
+2
-2
未找到文件。
app_CRM/public/assets/json/view-config.json
浏览文件 @
3ef3a75d
...
...
@@ -459,13 +459,13 @@
"viewtag"
:
"3cf1d1097fdbdea6d7fb32cf7ff09d04"
,
"memo"
:
""
},
"competitorsalesliteraturesallit
pro
gridview"
:
{
"competitorsalesliteraturesallit
comp
gridview"
:
{
"title"
:
"宣传资料竞争对手明细"
,
"caption"
:
"竞争对手宣传资料"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"CompetitorSalesLiteratureSalLit
Pro
GridView"
,
"viewfilename"
:
"competitor-sales-literature-sal-lit-
pro
-grid-view"
,
"viewname"
:
"CompetitorSalesLiteratureSalLit
Comp
GridView"
,
"viewfilename"
:
"competitor-sales-literature-sal-lit-
comp
-grid-view"
,
"viewtag"
:
"3d0f1bced23c2757ff4de58b146c2e6e"
,
"memo"
:
""
},
...
...
app_CRM/src/locale/lanres/entities/competitor-sales-literature/competitor-sales-literature_en_US.ts
浏览文件 @
3ef3a75d
...
...
@@ -14,7 +14,7 @@ export default {
entity2name
:
"销售宣传资料"
,
},
views
:
{
sallit
pro
gridview
:
{
sallit
comp
gridview
:
{
caption
:
"竞争对手宣传资料"
,
title
:
"宣传资料竞争对手明细"
,
},
...
...
@@ -58,7 +58,7 @@ export default {
uiactions
:
{
},
},
sallit
pro
gridviewtoolbar_toolbar
:
{
sallit
comp
gridviewtoolbar_toolbar
:
{
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
...
...
app_CRM/src/locale/lanres/entities/competitor-sales-literature/competitor-sales-literature_zh_CN.ts
浏览文件 @
3ef3a75d
...
...
@@ -13,7 +13,7 @@ export default {
entity2name
:
"销售宣传资料"
,
},
views
:
{
sallit
pro
gridview
:
{
sallit
comp
gridview
:
{
caption
:
"竞争对手宣传资料"
,
title
:
"宣传资料竞争对手明细"
,
},
...
...
@@ -57,7 +57,7 @@ export default {
uiactions
:
{
},
},
sallit
pro
gridviewtoolbar_toolbar
:
{
sallit
comp
gridviewtoolbar_toolbar
:
{
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
...
...
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
3ef3a75d
...
...
@@ -375,12 +375,12 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"ContactInfo_Abstract"
,
"viewtag"
:
"3cf1d1097fdbdea6d7fb32cf7ff09d04"
},
"competitorsalesliteraturesallit
pro
gridview"
:
{
"competitorsalesliteraturesallit
comp
gridview"
:
{
"title"
:
"宣传资料竞争对手明细"
,
"caption"
:
"竞争对手宣传资料"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"CompetitorSalesLiteratureSalLit
Pro
GridView"
,
"viewname"
:
"CompetitorSalesLiteratureSalLit
Comp
GridView"
,
"viewtag"
:
"3d0f1bced23c2757ff4de58b146c2e6e"
},
"lettereditview"
:
{
...
...
app_CRM/src/pages/sales/competitor-pickup-grid-view/competitor-pickup-grid-view-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Subject
}
from
'rxjs'
;
import
{
PickupGridViewBase
}
from
'@/studio-core'
;
import
CompetitorService
from
'@/service/competitor/competitor-service'
;
import
PickupGridViewEngine
from
'@engine/view/pickup-grid-view-engine'
;
/**
* 竞争对手选择表格视图视图基类
*
* @export
* @class CompetitorPickupGridViewBase
* @extends {PickupGridViewBase}
*/
export
class
CompetitorPickupGridViewBase
extends
PickupGridViewBase
{
/**
* 实体服务对象
*
* @type {CompetitorService}
* @memberof CompetitorPickupGridViewBase
*/
protected
appEntityService
:
CompetitorService
=
new
CompetitorService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CompetitorPickupGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CompetitorPickupGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.competitor.views.pickupgridview.caption'
,
srfTitle
:
'entities.competitor.views.pickupgridview.title'
,
srfSubTitle
:
'entities.competitor.views.pickupgridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CompetitorPickupGridViewBase
*/
protected
containerModel
:
any
=
{
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'3de13dd6914e2465d23dab68ccea5cae'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CompetitorPickupGridViewBase
*/
public
engine
:
PickupGridViewEngine
=
new
PickupGridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof CompetitorPickupGridViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
grid
:
this
.
$refs
.
grid
,
searchform
:
this
.
$refs
.
searchform
,
keyPSDEField
:
'competitor'
,
majorPSDEField
:
'competitorname'
,
isLoadDefault
:
true
,
});
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 是否展开搜索表单
*
* @protected
* @type {boolean}
* @memberof CompetitorPickupGridViewBase
*/
protected
isExpandSearchForm
:
boolean
=
true
;
}
\ No newline at end of file
app_CRM/src/pages/sales/competitor-pickup-grid-view/competitor-pickup-grid-view.html
0 → 100644
浏览文件 @
3ef3a75d
<studio-view-style2
viewName=
"competitorpickupgridview"
viewTitle=
"竞争对手选择表格视图"
class=
'depickupgridview competitor-pickup-grid-view'
>
<template
slot=
"searchForm"
>
<view
_searchform
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
v-show=
"isExpandSearchForm"
loaddraftAction=
"FilterGetDraft"
loadAction=
"FilterGet"
name=
"searchform"
ref=
'searchform'
@
save=
"searchform_save($event)"
@
search=
"searchform_search($event)"
@
load=
"searchform_load($event)"
@
closeview=
"closeView($event)"
>
</view
_searchform
>
</template>
<view
_grid
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:showBusyIndicator=
"true"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchDefault"
name=
"grid"
ref=
'grid'
@
selectionchange=
"grid_selectionchange($event)"
@
beforeload=
"grid_beforeload($event)"
@
rowdblclick=
"grid_rowdblclick($event)"
@
load=
"grid_load($event)"
@
closeview=
"closeView($event)"
>
</view
_grid
>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/competitor-pickup-grid-view/competitor-pickup-grid-view.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./competitor-pickup-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CompetitorPickupGridViewBase } from './competitor-pickup-grid-view-base';
import view_grid from '@widgets/competitor/main-grid/main-grid.vue';
import view_searchform from '@widgets/competitor/default-searchform/default-searchform.vue';
/**
* 竞争对手选择表格视图视图
*
* @export
* @class CompetitorPickupGridView
* @extends {CompetitorPickupGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { route: to, viewtag: vm.viewtag });
});
}
})
@VueLifeCycleProcessing()
export default class CompetitorPickupGridView extends CompetitorPickupGridViewBase { }
</script>
app_CRM/src/pages/sales/competitor-pickup-view/competitor-pickup-view-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Subject
}
from
'rxjs'
;
import
{
PickupViewBase
}
from
'@/studio-core'
;
import
CompetitorService
from
'@/service/competitor/competitor-service'
;
import
PickupViewEngine
from
'@engine/view/pickup-view-engine'
;
/**
* 竞争对手数据选择视图视图基类
*
* @export
* @class CompetitorPickupViewBase
* @extends {PickupViewBase}
*/
export
class
CompetitorPickupViewBase
extends
PickupViewBase
{
/**
* 实体服务对象
*
* @type {CompetitorService}
* @memberof CompetitorPickupViewBase
*/
protected
appEntityService
:
CompetitorService
=
new
CompetitorService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CompetitorPickupViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CompetitorPickupViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.competitor.views.pickupview.caption'
,
srfTitle
:
'entities.competitor.views.pickupview.title'
,
srfSubTitle
:
'entities.competitor.views.pickupview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CompetitorPickupViewBase
*/
protected
containerModel
:
any
=
{
view_pickupviewpanel
:
{
name
:
'pickupviewpanel'
,
type
:
'PICKUPVIEWPANEL'
},
view_okbtn
:
{
name
:
'okbtn'
,
type
:
'button'
,
text
:
'确定'
,
disabled
:
true
},
view_cancelbtn
:
{
name
:
'cancelbtn'
,
type
:
'button'
,
text
:
'取消'
,
disabled
:
false
},
view_leftbtn
:
{
name
:
'leftbtn'
,
type
:
'button'
,
text
:
'左移'
,
disabled
:
true
},
view_rightbtn
:
{
name
:
'rightbtn'
,
type
:
'button'
,
text
:
'右移'
,
disabled
:
true
},
view_allleftbtn
:
{
name
:
'allleftbtn'
,
type
:
'button'
,
text
:
'全部左移'
,
disabled
:
true
},
view_allrightbtn
:
{
name
:
'allrightbtn'
,
type
:
'button'
,
text
:
'全部右移'
,
disabled
:
true
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'b153b539b40b2ff7a9d81b6c0329cf25'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CompetitorPickupViewBase
*/
public
engine
:
PickupViewEngine
=
new
PickupViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof CompetitorPickupViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
pickupviewpanel
:
this
.
$refs
.
pickupviewpanel
,
keyPSDEField
:
'competitor'
,
majorPSDEField
:
'competitorname'
,
isLoadDefault
:
true
,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupViewBase
*/
public
pickupviewpanel_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
$event
);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupViewBase
*/
public
pickupviewpanel_activated
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'activated'
,
$event
);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorPickupViewBase
*/
public
pickupviewpanel_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'load'
,
$event
);
}
}
\ No newline at end of file
app_CRM/src/pages/sales/competitor-pickup-view/competitor-pickup-view.html
0 → 100644
浏览文件 @
3ef3a75d
<studio-view-style2
viewName=
"competitorpickupview"
viewTitle=
"竞争对手数据选择视图"
class=
'depickupview competitor-pickup-view'
>
<div
class=
"content-container pickup-view"
>
<view
_pickupviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
name=
"pickupviewpanel"
ref=
'pickupviewpanel'
@
selectionchange=
"pickupviewpanel_selectionchange($event)"
@
activated=
"pickupviewpanel_activated($event)"
@
load=
"pickupviewpanel_load($event)"
@
closeview=
"closeView($event)"
>
</view
_pickupviewpanel
>
</div>
<template
slot=
"footer"
>
<div
v-if=
"isShowButton"
:style=
"{ textAlign: 'right' }"
>
<i-button
type=
"primary"
:disabled=
"this.viewSelections.length > 0 ? false : true"
@
click=
"onClickOk.apply(_self, arguments)"
>
{{this.containerModel.view_okbtn.text}}
</i-button>
<i-button
@
click=
"onClickCancel.apply(_self, arguments)"
>
{{this.containerModel.view_cancelbtn.text}}
</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/competitor-pickup-view/competitor-pickup-view.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./competitor-pickup-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CompetitorPickupViewBase } from './competitor-pickup-view-base';
import view_pickupviewpanel from '@widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 竞争对手数据选择视图视图
*
* @export
* @class CompetitorPickupView
* @extends {CompetitorPickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { route: to, viewtag: vm.viewtag });
});
}
})
@VueLifeCycleProcessing()
export default class CompetitorPickupView extends CompetitorPickupViewBase { }
</script>
app_CRM/src/pages/sales/competitor-sales-literature-sal-lit-comp-edit-view/competitor-sales-literature-sal-lit-comp-edit-view-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Subject
}
from
'rxjs'
;
import
{
EditViewBase
}
from
'@/studio-core'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
EditViewEngine
from
'@engine/view/edit-view-engine'
;
/**
* 宣传资料竞争对手明细视图基类
*
* @export
* @class CompetitorSalesLiteratureSalLitCompEditViewBase
* @extends {EditViewBase}
*/
export
class
CompetitorSalesLiteratureSalLitCompEditViewBase
extends
EditViewBase
{
/**
* 实体服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
protected
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.competitorsalesliterature.views.sallitcompeditview.caption'
,
srfTitle
:
'entities.competitorsalesliterature.views.sallitcompeditview.title'
,
srfSubTitle
:
'entities.competitorsalesliterature.views.sallitcompeditview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_form
:
{
name
:
'form'
,
type
:
'FORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof CompetitorSalesLiteratureSalLitCompEditView
*/
public
toolBarModels
:
any
=
{
tbitem1
:
{
name
:
'tbitem1'
,
caption
:
'保存并关闭'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'保存并关闭'
,
iconcls
:
'fa fa-power-off'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'SaveAndExit'
,
target
:
''
},
class
:
''
},
tbitem2
:
{
name
:
'tbitem2'
,
caption
:
'关闭'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'关闭'
,
iconcls
:
'fa fa-sign-out'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Exit'
,
target
:
''
},
class
:
''
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'ff4a84c8d487ea42d8f57d04f39ae023'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
engine
:
EditViewEngine
=
new
EditViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
form
:
this
.
$refs
.
form
,
p2k
:
'0'
,
keyPSDEField
:
'competitorsalesliterature'
,
majorPSDEField
:
'relationshipsname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1'
))
{
this
.
toolbar_tbitem1_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem2'
))
{
this
.
toolbar_tbitem2_click
(
null
,
''
,
$event2
);
}
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
form_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'save'
,
$event
);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
form_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'remove'
,
$event
);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
form_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem1_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
,
"CompetitorSalesLiterature"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem2_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
.
Exit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"CompetitorSalesLiterature"
);
}
/**
* 保存并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CompetitorSalesLiteratureSalLitCompEditViewBase
*/
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 CompetitorSalesLiteratureSalLitCompEditViewBase
*/
public
Exit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
this
.
closeView
(
args
);
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
args
}],
'*'
);
}
}
}
\ No newline at end of file
app_CRM/src/pages/sales/competitor-sales-literature-sal-lit-comp-edit-view/competitor-sales-literature-sal-lit-comp-edit-view.html
0 → 100644
浏览文件 @
3ef3a75d
<studio-view-style2
viewName=
"competitorsalesliteraturesallitcompeditview"
viewTitle=
"宣传资料竞争对手明细"
class=
'deeditview competitor-sales-literature-sal-lit-comp-edit-view'
>
<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
app_CRM/src/pages/sales/competitor-sales-literature-sal-lit-comp-edit-view/competitor-sales-literature-sal-lit-comp-edit-view.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./competitor-sales-literature-sal-lit-comp-edit-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CompetitorSalesLiteratureSalLitCompEditViewBase } from './competitor-sales-literature-sal-lit-comp-edit-view-base';
import view_form from '@widgets/competitor-sales-literature/sal-lit-comp-form/sal-lit-comp-form.vue';
/**
* 宣传资料竞争对手明细视图
*
* @export
* @class CompetitorSalesLiteratureSalLitCompEditView
* @extends {CompetitorSalesLiteratureSalLitCompEditViewBase}
*/
@Component({
components: {
view_form,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { route: to, viewtag: vm.viewtag });
});
}
})
@VueLifeCycleProcessing()
export default class CompetitorSalesLiteratureSalLitCompEditView extends CompetitorSalesLiteratureSalLitCompEditViewBase { }
</script>
app_CRM/src/pages/sales/competitor-sales-literature-sal-lit-comp-grid-view/competitor-sales-literature-sal-lit-comp-grid-view-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Subject
}
from
'rxjs'
;
import
{
GridViewBase
}
from
'@/studio-core'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
CodeListService
from
"@service/app/codelist-service"
;
/**
* 宣传资料竞争对手明细视图基类
*
* @export
* @class CompetitorSalesLiteratureSalLitCompGridViewBase
* @extends {GridViewBase}
*/
export
class
CompetitorSalesLiteratureSalLitCompGridViewBase
extends
GridViewBase
{
/**
* 实体服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
protected
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.competitorsalesliterature.views.sallitcompgridview.caption'
,
srfTitle
:
'entities.competitorsalesliterature.views.sallitcompgridview.title'
,
srfSubTitle
:
'entities.competitorsalesliterature.views.sallitcompgridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof CompetitorSalesLiteratureSalLitCompGridView
*/
public
toolBarModels
:
any
=
{
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'编辑'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'编辑'
,
iconcls
:
'fa fa-edit'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
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
,
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
,
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
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
},
class
:
''
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'3d0f1bced23c2757ff4de58b146c2e6e'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
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
:
'competitorsalesliterature'
,
majorPSDEField
:
'relationshipsname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_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 CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorSalesLiteratureSalLitCompGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @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
,
"CompetitorSalesLiterature"
);
}
/**
* 逻辑事件
*
* @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
,
"CompetitorSalesLiterature"
);
}
/**
* 逻辑事件
*
* @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
,
"CompetitorSalesLiterature"
);
}
/**
* 逻辑事件
*
* @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
,
"CompetitorSalesLiterature"
);
}
/**
* 逻辑事件
*
* @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
,
"CompetitorSalesLiterature"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof CompetitorSalesLiteratureSalLitCompGridView
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
if
(
args
[
0
].
srfsourcekey
){
data
.
srfsourcekey
=
args
[
0
].
srfsourcekey
;
}
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
delete
tempContext
.
competitorsalesliterature
;
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
salesliterature
&&
true
){
deResParameters
=
[
{
pathName
:
'salesliteratures'
,
parameterName
:
'salesliterature'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'competitorsalesliteratures'
,
parameterName
:
'competitorsalesliterature'
},
{
pathName
:
'sallitcompeditview'
,
parameterName
:
'sallitcompeditview'
},
];
const
_this
:
any
=
this
;
const
openIndexViewTab
=
(
data
:
any
)
=>
{
const
_data
:
any
=
{
w
:
(
new
Date
().
getTime
())
};
Object
.
assign
(
_data
,
data
);
const
routePath
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
tempContext
,
deResParameters
,
parameters
,
args
,
_data
);
this
.
$router
.
push
(
routePath
);
}
openIndexViewTab
(
data
);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof CompetitorSalesLiteratureSalLitCompGridView
*/
public
opendata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
salesliterature
&&
true
){
deResParameters
=
[
{
pathName
:
'salesliteratures'
,
parameterName
:
'salesliterature'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'competitorsalesliteratures'
,
parameterName
:
'competitorsalesliterature'
},
{
pathName
:
'sallitcompeditview'
,
parameterName
:
'sallitcompeditview'
},
];
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 CompetitorSalesLiteratureSalLitCompGridViewBase
*/
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
,
{
competitorsalesliterature
:
args
[
0
].
competitorsalesliterature
})
}
_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 CompetitorSalesLiteratureSalLitCompGridViewBase
*/
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 CompetitorSalesLiteratureSalLitCompGridViewBase
*/
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 CompetitorSalesLiteratureSalLitCompGridViewBase
*/
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 CompetitorSalesLiteratureSalLitCompGridViewBase
*/
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
app_CRM/src/pages/sales/competitor-sales-literature-sal-lit-comp-grid-view/competitor-sales-literature-sal-lit-comp-grid-view.html
0 → 100644
浏览文件 @
3ef3a75d
<studio-view-style2
viewName=
"competitorsalesliteraturesallitcompgridview"
viewTitle=
"宣传资料竞争对手明细"
class=
'degridview competitor-sales-literature-sal-lit-comp-grid-view'
>
<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=
"isSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchDefault"
:newdata=
"newdata"
:opendata=
"opendata"
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
app_CRM/src/pages/sales/competitor-sales-literature-sal-lit-comp-grid-view/competitor-sales-literature-sal-lit-comp-grid-view.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./competitor-sales-literature-sal-lit-comp-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CompetitorSalesLiteratureSalLitCompGridViewBase } from './competitor-sales-literature-sal-lit-comp-grid-view-base';
import view_grid from '@widgets/competitor-sales-literature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid.vue';
import view_searchform from '@widgets/competitor-sales-literature/default-searchform/default-searchform.vue';
/**
* 宣传资料竞争对手明细视图
*
* @export
* @class CompetitorSalesLiteratureSalLitCompGridView
* @extends {CompetitorSalesLiteratureSalLitCompGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { route: to, viewtag: vm.viewtag });
});
}
})
@VueLifeCycleProcessing()
export default class CompetitorSalesLiteratureSalLitCompGridView extends CompetitorSalesLiteratureSalLitCompGridViewBase { }
</script>
app_CRM/src/pages/ungroup/central/page-register.ts
浏览文件 @
3ef3a75d
...
...
@@ -114,7 +114,6 @@ export const PageComponents = {
Vue
.
component
(
'invoice-info-view'
,
()
=>
import
(
'@pages/finance/invoice-info-view/invoice-info-view.vue'
));
Vue
.
component
(
'contact-by-account'
,
()
=>
import
(
'@pages/base/contact-by-account/contact-by-account.vue'
));
Vue
.
component
(
'opportunity-opp-pro-dashboard-view'
,
()
=>
import
(
'@pages/sales/opportunity-opp-pro-dashboard-view/opportunity-opp-pro-dashboard-view.vue'
));
Vue
.
component
(
'competitor-sales-literature-sal-lit-pro-grid-view'
,
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-pro-grid-view/competitor-sales-literature-sal-lit-pro-grid-view.vue'
));
Vue
.
component
(
'ibiz-list-summary'
,
()
=>
import
(
'@pages/marketing/ibiz-list-summary/ibiz-list-summary.vue'
));
Vue
.
component
(
'sales-literature-item-grid-view'
,
()
=>
import
(
'@pages/sales/sales-literature-item-grid-view/sales-literature-item-grid-view.vue'
));
Vue
.
component
(
'lead-dashboard-view'
,
()
=>
import
(
'@pages/sales/lead-dashboard-view/lead-dashboard-view.vue'
));
...
...
@@ -149,6 +148,7 @@ export const PageComponents = {
Vue
.
component
(
'incident-grid-view'
,
()
=>
import
(
'@pages/service/incident-grid-view/incident-grid-view.vue'
));
Vue
.
component
(
'account-inner-pickup-view'
,
()
=>
import
(
'@pages/base/account-inner-pickup-view/account-inner-pickup-view.vue'
));
Vue
.
component
(
'contact-edit-market'
,
()
=>
import
(
'@pages/base/contact-edit-market/contact-edit-market.vue'
));
Vue
.
component
(
'competitor-sales-literature-sal-lit-comp-grid-view'
,
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-comp-grid-view/competitor-sales-literature-sal-lit-comp-grid-view.vue'
));
Vue
.
component
(
'opportunity-con-opp-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
));
Vue
.
component
(
'campaign-summary-head'
,
()
=>
import
(
'@pages/marketing/campaign-summary-head/campaign-summary-head.vue'
));
Vue
.
component
(
'account-edit-account-info'
,
()
=>
import
(
'@pages/base/account-edit-account-info/account-edit-account-info.vue'
));
...
...
app_CRM/src/pages/ungroup/central/router.ts
浏览文件 @
3ef3a75d
...
...
@@ -3409,33 +3409,33 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/sales/opportunity-opp-pro-dashboard-view/opportunity-opp-pro-dashboard-view.vue'
),
},
{
path
:
'salesliteratures/:salesliterature?/competitorsalesliteratures/:competitorsalesliterature?/sallit
progridview/:sallitpro
gridview?'
,
path
:
'salesliteratures/:salesliterature?/competitorsalesliteratures/:competitorsalesliterature?/sallit
compgridview/:sallitcomp
gridview?'
,
meta
:
{
caption
:
'entities.competitorsalesliterature.views.sallit
pro
gridview.title'
,
caption
:
'entities.competitorsalesliterature.views.sallit
comp
gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'salesliteratures'
,
parameterName
:
'salesliterature'
},
{
pathName
:
'competitorsalesliteratures'
,
parameterName
:
'competitorsalesliterature'
},
{
pathName
:
'sallit
progridview'
,
parameterName
:
'sallitpro
gridview'
},
{
pathName
:
'sallit
compgridview'
,
parameterName
:
'sallitcomp
gridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-
pro-grid-view/competitor-sales-literature-sal-lit-pro
-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-
comp-grid-view/competitor-sales-literature-sal-lit-comp
-grid-view.vue'
),
},
{
path
:
'competitorsalesliteratures/:competitorsalesliterature?/sallit
progridview/:sallitpro
gridview?'
,
path
:
'competitorsalesliteratures/:competitorsalesliterature?/sallit
compgridview/:sallitcomp
gridview?'
,
meta
:
{
caption
:
'entities.competitorsalesliterature.views.sallit
pro
gridview.title'
,
caption
:
'entities.competitorsalesliterature.views.sallit
comp
gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'competitorsalesliteratures'
,
parameterName
:
'competitorsalesliterature'
},
{
pathName
:
'sallit
progridview'
,
parameterName
:
'sallitpro
gridview'
},
{
pathName
:
'sallit
compgridview'
,
parameterName
:
'sallitcomp
gridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-
pro-grid-view/competitor-sales-literature-sal-lit-pro
-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-
comp-grid-view/competitor-sales-literature-sal-lit-comp
-grid-view.vue'
),
},
{
path
:
'ibizlists/:ibizlist?/summary/:summary?'
,
...
...
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
3ef3a75d
...
...
@@ -423,6 +423,16 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'3d0f1bced23c2757ff4de58b146c2e6e'
,
viewmodule
:
'Sales'
,
viewname
:
'CompetitorSalesLiteratureSalLitCompGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'ff4a84c8d487ea42d8f57d04f39ae023'
,
],
},
{
viewtag
:
'3d538df4ca389d372347f7b53d67269f'
,
viewmodule
:
'Base'
,
...
...
@@ -432,6 +442,15 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'3de13dd6914e2465d23dab68ccea5cae'
,
viewmodule
:
'Sales'
,
viewname
:
'CompetitorPickupGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'3f78dcc732a7a8ba6d959dcf6007b225'
,
viewmodule
:
'Base'
,
...
...
@@ -1330,6 +1349,16 @@ export const viewstate: any = {
'3124753ba4abff3aaf49355a5197c4ab'
,
],
},
{
viewtag
:
'b153b539b40b2ff7a9d81b6c0329cf25'
,
viewmodule
:
'Sales'
,
viewname
:
'CompetitorPickupView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'3de13dd6914e2465d23dab68ccea5cae'
,
],
},
{
viewtag
:
'b38bc0256ecd5be1a58a3c2210a98d05'
,
viewmodule
:
'Product'
,
...
...
@@ -1727,6 +1756,16 @@ export const viewstate: any = {
'a95d8cd3d6ee3c209df519c556ef3942'
,
],
},
{
viewtag
:
'ff4a84c8d487ea42d8f57d04f39ae023'
,
viewmodule
:
'Sales'
,
viewname
:
'CompetitorSalesLiteratureSalLitCompEditView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'b153b539b40b2ff7a9d81b6c0329cf25'
,
],
},
],
createdviews
:
[],
}
\ No newline at end of file
app_CRM/src/uiservice/competitor-sales-literature/competitor-sales-literature-ui-service-base.ts
浏览文件 @
3ef3a75d
...
...
@@ -79,7 +79,7 @@ export default class CompetitorSalesLiteratureUIServiceBase extends UIService {
* @memberof CompetitorSalesLiteratureUIServiceBase
*/
public
initViewMap
(){
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'sallit
pro
gridview'
,
srfappde
:
'competitorsalesliteratures'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'sallit
comp
gridview'
,
srfappde
:
'competitorsalesliteratures'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'sallitcompeditview'
,
srfappde
:
'competitorsalesliteratures'
});
}
...
...
app_CRM/src/widgets/competitor-sales-literature/default-searchform/default-searchform-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
SearchFormControlBase
}
from
'@/studio-core'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
DefaultService
from
'./default-searchform-service'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@/model/form-detail'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
/**
* searchform部件基类
*
* @export
* @class SearchFormControlBase
* @extends {DefaultSearchFormBase}
*/
export
class
DefaultSearchFormBase
extends
SearchFormControlBase
{
/**
* 建构部件服务对象
*
* @type {DefaultService}
* @memberof DefaultSearchFormBase
*/
public
service
:
DefaultService
=
new
DefaultService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof DefaultSearchFormBase
*/
public
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof DefaultSearchFormBase
*/
protected
appDeName
:
string
=
'competitorsalesliterature'
;
/**
* 表单数据对象
*
* @type {*}
* @memberof DefaultSearchFormBase
*/
public
data
:
any
=
{
};
/**
* 详情模型集合
*
* @type {*}
* @memberof DefaultSearchFormBase
*/
public
detailsModel
:
any
=
{
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
};
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/default-searchform/default-searchform-model.ts
0 → 100644
浏览文件 @
3ef3a75d
/**
* Default 部件模型
*
* @export
* @class DefaultModel
*/
export
default
class
DefaultModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof DefaultModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/default-searchform/default-searchform-service.ts
0 → 100644
浏览文件 @
3ef3a75d
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
DefaultModel
from
'./default-searchform-model'
;
/**
* Default 部件服务对象
*
* @export
* @class DefaultService
*/
export
default
class
DefaultService
extends
ControlService
{
/**
* 竞争对手宣传资料服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof DefaultService
*/
public
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof DefaultService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of DefaultService.
*
* @param {*} [opts={}]
* @memberof DefaultService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
DefaultModel
();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof DefaultService
*/
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 DefaultService
*/
@
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 DefaultService
*/
@
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 DefaultService
*/
@
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 DefaultService
*/
@
Errorlog
public
add
(
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
.
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 DefaultService
*/
@
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 DefaultService
*/
@
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 DefaultService
*/
@
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 DefaultService
*/
@
Errorlog
public
loadDraft
(
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
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
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 DefaultService
*/
@
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 DefaultService
*/
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
app_CRM/src/widgets/competitor-sales-literature/default-searchform/default-searchform.html
0 → 100644
浏览文件 @
3ef3a75d
<i-form
:model=
"this.data"
class=
'app-search-form'
ref=
'searchform'
style=
""
>
<input
style=
"display:none;"
/>
<div
class=
"search-button"
>
<i-button
size=
"small"
type=
"primary"
ghost
@
click=
"onSearch.apply(_self, arguments)"
>
{{$t('app.searchButton.search')}}
</i-button>
<i-button
size=
"small"
type=
"default"
ghost
@
click=
"onReset.apply(_self, arguments)"
>
{{this.$t('app.searchButton.reset')}}
</i-button>
</div>
<div
class=
"form-content"
>
</div>
</i-form>
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/default-searchform/default-searchform.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./default-searchform.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { DefaultSearchFormBase } from './default-searchform-base';
/**
* searchform部件
*
* @export
* @class DefaultSearchForm
* @extends {DefaultSearchFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class DefaultSearchForm extends DefaultSearchFormBase { }
</script>
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-form/sal-lit-comp-form-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
EditFormControlBase
}
from
'@/studio-core'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
SalLitCompService
from
'./sal-lit-comp-form-service'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@/model/form-detail'
;
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {SalLitCompEditFormBase}
*/
export
class
SalLitCompEditFormBase
extends
EditFormControlBase
{
/**
* 建构部件服务对象
*
* @type {SalLitCompService}
* @memberof SalLitCompEditFormBase
*/
public
service
:
SalLitCompService
=
new
SalLitCompService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof SalLitCompEditFormBase
*/
public
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof SalLitCompEditFormBase
*/
protected
appDeName
:
string
=
'competitorsalesliterature'
;
/**
* 表单数据对象
*
* @type {*}
* @memberof SalLitCompEditFormBase
*/
public
data
:
any
=
{
srfupdatedate
:
null
,
srforikey
:
null
,
srfkey
:
null
,
srfmajortext
:
null
,
srftempmode
:
null
,
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
entity2id
:
null
,
entityname
:
null
,
relationshipsid
:
null
,
entityid
:
null
,
competitorsalesliterature
:
null
,
};
/**
* 属性值规则
*
* @type {*}
* @memberof SalLitCompEditFormBase
*/
public
rules
:
any
=
{
}
/**
* 详情模型集合
*
* @type {*}
* @memberof SalLitCompEditFormBase
*/
public
detailsModel
:
any
=
{
group1
:
new
FormGroupPanelModel
({
caption
:
'竞争对手宣传资料基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'entities.competitorsalesliterature.sallitcomp_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
}),
formpage1
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
}),
srfupdatedate
:
new
FormItemModel
({
caption
:
'更新时间'
,
detailType
:
'FORMITEM'
,
name
:
'srfupdatedate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srfkey
:
new
FormItemModel
({
caption
:
'关系标识'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srfmajortext
:
new
FormItemModel
({
caption
:
'关系名称'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
entity2id
:
new
FormItemModel
({
caption
:
'销售宣传资料'
,
detailType
:
'FORMITEM'
,
name
:
'entity2id'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
entityname
:
new
FormItemModel
({
caption
:
'竞争对手'
,
detailType
:
'FORMITEM'
,
name
:
'entityname'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
relationshipsid
:
new
FormItemModel
({
caption
:
'关系标识'
,
detailType
:
'FORMITEM'
,
name
:
'relationshipsid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
entityid
:
new
FormItemModel
({
caption
:
'竞争对手'
,
detailType
:
'FORMITEM'
,
name
:
'entityid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
};
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-form/sal-lit-comp-form-model.ts
0 → 100644
浏览文件 @
3ef3a75d
/**
* SalLitComp 部件模型
*
* @export
* @class SalLitCompModel
*/
export
default
class
SalLitCompModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof SalLitCompModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfupdatedate'
,
prop
:
'updatedate'
,
dataType
:
'DATETIME'
,
},
{
name
:
'srforikey'
,
},
{
name
:
'srfkey'
,
prop
:
'relationshipsid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfmajortext'
,
prop
:
'relationshipsname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srftempmode'
,
},
{
name
:
'srfuf'
,
},
{
name
:
'srfdeid'
,
},
{
name
:
'srfsourcekey'
,
},
{
name
:
'entity2id'
,
prop
:
'entity2id'
,
dataType
:
'PICKUP'
,
},
{
name
:
'entityname'
,
prop
:
'entityname'
,
dataType
:
'PICKUPTEXT'
,
},
{
name
:
'relationshipsid'
,
prop
:
'relationshipsid'
,
dataType
:
'GUID'
,
},
{
name
:
'entityid'
,
prop
:
'entityid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'competitorsalesliterature'
,
prop
:
'relationshipsid'
,
dataType
:
'FONTKEY'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-form/sal-lit-comp-form-service.ts
0 → 100644
浏览文件 @
3ef3a75d
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
SalLitCompModel
from
'./sal-lit-comp-form-model'
;
import
CompetitorService
from
'@/service/competitor/competitor-service'
;
/**
* SalLitComp 部件服务对象
*
* @export
* @class SalLitCompService
*/
export
default
class
SalLitCompService
extends
ControlService
{
/**
* 竞争对手宣传资料服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof SalLitCompService
*/
public
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof SalLitCompService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of SalLitCompService.
*
* @param {*} [opts={}]
* @memberof SalLitCompService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
SalLitCompModel
();
}
/**
* 竞争对手服务对象
*
* @type {CompetitorService}
* @memberof SalLitCompService
*/
public
competitorService
:
CompetitorService
=
new
CompetitorService
();
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof SalLitCompService
*/
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 SalLitCompService
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
if
(
Object
.
is
(
serviceName
,
'CompetitorService'
)
&&
Object
.
is
(
interfaceName
,
'FetchDefault'
))
{
return
this
.
doItems
(
this
.
competitorService
.
FetchDefault
(
JSON
.
parse
(
JSON
.
stringify
(
context
)),
data
,
isloading
),
'competitorid'
,
'competitor'
);
}
return
Promise
.
reject
([])
}
/**
* 启动工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof SalLitCompService
*/
@
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 SalLitCompService
*/
@
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 SalLitCompService
*/
@
Errorlog
public
add
(
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
.
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 SalLitCompService
*/
@
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 SalLitCompService
*/
@
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 SalLitCompService
*/
@
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 SalLitCompService
*/
@
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
.
relationshipsid
=
PrimaryKey
;
Data
.
competitorsalesliterature
=
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
.
relationshipsid
=
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 SalLitCompService
*/
@
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 SalLitCompService
*/
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
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-form/sal-lit-comp-form.html
0 → 100644
浏览文件 @
3ef3a75d
<i-form
:model=
"this.data"
class=
'app-form'
ref=
'form'
id=
'competitorsalesliterature_sallitcomp'
style=
""
>
<input
style=
"display:none;"
/>
<row
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.competitorsalesliterature.sallitcomp_form.details.group1')"
:isShowCaption=
"false"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<row>
<i-col
v-show=
"detailsModel.entityname.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-item
name=
'entityname'
:itemRules=
"this.rules.entityname"
class=
''
:caption=
"$t('entities.competitorsalesliterature.sallitcomp_form.details.entityname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.entityname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-picker
:formState=
"formState"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'{ }'
:localParam =
'{ }'
:disabled=
"detailsModel.entityname.disabled"
name=
'entityname'
deMajorField=
'competitorname'
deKeyField=
'competitor'
:service=
"service"
:acParams=
"{ serviceName: 'CompetitorService', interfaceName: 'FetchDefault'}"
valueitem=
'entityid'
:value=
"data.entityname"
editortype=
""
:pickupView=
"{ viewname: 'competitor-pickup-view', title: $t('entities.competitor.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'competitors', parameterName: 'competitor' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=
""
@
formitemvaluechange=
"onFormItemValueChange($event)"
>
</app-picker>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-form/sal-lit-comp-form.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./sal-lit-comp-form.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { SalLitCompEditFormBase } from './sal-lit-comp-form-base';
/**
* form部件
*
* @export
* @class SalLitCompEditForm
* @extends {SalLitCompEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class SalLitCompEditForm extends SalLitCompEditFormBase { }
</script>
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
GridControllerBase
}
from
'@/studio-core'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
SalLitCompGridService
from
'./sal-lit-comp-grid-grid-service'
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
/**
* grid部件基类
*
* @export
* @class GridControllerBase
* @extends {SalLitCompGridGridBase}
*/
export
class
SalLitCompGridGridBase
extends
GridControllerBase
{
/**
* 建构部件服务对象
*
* @type {SalLitCompGridService}
* @memberof SalLitCompGridGridBase
*/
public
service
:
SalLitCompGridService
=
new
SalLitCompGridService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof SalLitCompGridGridBase
*/
public
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof SalLitCompGridGridBase
*/
protected
appDeName
:
string
=
'competitorsalesliterature'
;
/**
* 本地缓存标识
*
* @protected
* @type {string}
* @memberof GridControllerBase
*/
protected
localStorageTag
:
string
=
'competitorsalesliterature_sallitcompgrid_grid'
;
/**
* 所有列成员
*
* @type {any[]}
* @memberof SalLitCompGridGridBase
*/
public
allColumns
:
any
[]
=
[
{
name
:
'entity2name'
,
label
:
'销售宣传资料'
,
langtag
:
'entities.competitorsalesliterature.sallitcompgrid_grid.columns.entity2name'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'entityname'
,
label
:
'竞争对手'
,
langtag
:
'entities.competitorsalesliterature.sallitcompgrid_grid.columns.entityname'
,
show
:
true
,
util
:
'PX'
},
]
/**
* 获取表格行模型
*
* @type {*}
* @memberof SalLitCompGridGridBase
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
* @type {*}
* @memberof SalLitCompGridGridBase
*/
public
rules
:
any
=
{
srfkey
:
[
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
'关系标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
'关系标识 值不能为空'
,
trigger
:
'blur'
},
],
}
/**
* 获取对应列class
*
* @type {*}
* @memberof SalLitCompGridBase
*/
public
hasRowEdit
:
any
=
{
'entity2name'
:
false
,
'entityname'
:
false
,
};
/**
* 获取对应列class
*
* @param {*} $args row 行数据,column 列数据,rowIndex 行索引,列索引
* @returns {void}
* @memberof SalLitCompGridBase
*/
public
getCellClassName
(
args
:
{
row
:
any
,
column
:
any
,
rowIndex
:
number
,
columnIndex
:
number
}):
any
{
return
(
this
.
hasRowEdit
[
args
.
column
.
property
]
&&
this
.
actualIsOpenEdit
)
?
"edit-cell"
:
"info-cell"
;
}
/**
* 导出数据格式化
*
* @param {*} filterVal
* @param {*} jsonData
* @param {any[]} [codelistColumns=[]]
* @returns {Promise<any>}
* @memberof SalLitCompGridGridBase
*/
public
async
formatExcelData
(
filterVal
:
any
,
jsonData
:
any
,
codelistColumns
?:
any
[]):
Promise
<
any
>
{
return
super
.
formatExcelData
(
filterVal
,
jsonData
,
[
]);
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid-model.ts
0 → 100644
浏览文件 @
3ef3a75d
/**
* SalLitCompGrid 部件模型
*
* @export
* @class SalLitCompGridModel
*/
export
default
class
SalLitCompGridModel
{
/**
* 是否是实体数据导出
*
* @returns {any[]}
* @memberof SalLitCompGridGridMode
*/
public
isDEExport
:
boolean
=
false
;
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof SalLitCompGridGridMode
*/
public
getDataItems
():
any
[]
{
if
(
this
.
isDEExport
){
return
[
]
}
else
{
return
[
{
name
:
'entity2id'
,
prop
:
'entity2id'
,
dataType
:
'PICKUP'
,
},
{
name
:
'entityid'
,
prop
:
'entityid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'entityname'
,
prop
:
'entityname'
,
dataType
:
'PICKUPTEXT'
,
},
{
name
:
'srfmajortext'
,
prop
:
'relationshipsname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfdataaccaction'
,
prop
:
'relationshipsid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfkey'
,
prop
:
'relationshipsid'
,
dataType
:
'GUID'
,
},
{
name
:
'entity2name'
,
prop
:
'entity2name'
,
dataType
:
'PICKUPTEXT'
,
},
{
name
:
'competitorsalesliterature'
,
prop
:
'relationshipsid'
,
},
{
name
:
'size'
,
prop
:
'size'
},
{
name
:
'query'
,
prop
:
'query'
},
{
name
:
'page'
,
prop
:
'page'
},
{
name
:
'sort'
,
prop
:
'sort'
},
{
name
:
'srfparentdata'
,
prop
:
'srfparentdata'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
]
}
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid-service.ts
0 → 100644
浏览文件 @
3ef3a75d
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
CompetitorSalesLiteratureService
from
'@/service/competitor-sales-literature/competitor-sales-literature-service'
;
import
SalLitCompGridModel
from
'./sal-lit-comp-grid-grid-model'
;
/**
* SalLitCompGrid 部件服务对象
*
* @export
* @class SalLitCompGridService
*/
export
default
class
SalLitCompGridService
extends
ControlService
{
/**
* 竞争对手宣传资料服务对象
*
* @type {CompetitorSalesLiteratureService}
* @memberof SalLitCompGridService
*/
public
appEntityService
:
CompetitorSalesLiteratureService
=
new
CompetitorSalesLiteratureService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof SalLitCompGridService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of SalLitCompGridService.
*
* @param {*} [opts={}]
* @memberof SalLitCompGridService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
SalLitCompGridModel
();
}
/**
* 处理数据
*
* @public
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof SalLitCompGridService
*/
public
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 SalLitCompGridService
*/
@
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]
* @returns {Promise<any>}
* @memberof SalLitCompGridService
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_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 SalLitCompGridService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_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 SalLitCompGridService
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Data
,
Context
,
isloading
);
}
else
{
result
=
_appEntityService
.
Update
(
Data
,
Context
,
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 SalLitCompGridService
*/
@
Errorlog
public
get
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
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
)
=>
{
//处理返回数据,补充判断标识
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
0
});
}
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalLitCompGridService
*/
@
Errorlog
public
search
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
FetchDefault
(
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 SalLitCompGridService
*/
@
Errorlog
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
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
)
=>
{
//处理返回数据,补充判断标识
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
relationshipsid
=
Util
.
createUUID
();
}
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
,
true
);
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
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
})
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid.html
0 → 100644
浏览文件 @
3ef3a75d
<div
:class=
"{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }"
>
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@
sort-change=
"onSortChange($event)"
:border=
"isDragendCol"
:highlight-current-row =
"isSingleSelect"
:row-class-name=
"getRowClassName.bind(_self)"
:cell-class-name=
"getCellClassName.bind(_self)"
size=
"mini"
stripe
@
row-click=
"rowClick($event)"
@
select-all=
"selectAll($event)"
@
select=
"select($event)"
@
row-class-name=
"onRowClassName($event)"
@
row-dblclick=
"rowDBLClick($event)"
ref=
'multipleTable'
:data=
"items"
:show-header=
"!isHideHeader"
>
<template
slot=
"empty"
>
无数据
<span
class=
"quick-toolbar"
>
</span>
</template>
<template
v-if=
"!isSingleSelect"
>
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</template>
<template
v-if=
"getColumnState('entity2name')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'entity2name'"
:label=
"$t('entities.competitorsalesliterature.sallitcompgrid_grid.columns.entity2name')"
:width=
"160"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"{column}"
>
<span
class=
"column-header "
>
{{$t('entities.competitorsalesliterature.sallitcompgrid_grid.columns.entity2name')}}
</span>
</template>
<template
v-slot=
"{row,column,$index}"
>
<span>
{{row.entity2name}}
</span>
</template>
</el-table-column>
</template>
<template
v-if=
"getColumnState('entityname')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'entityname'"
:label=
"$t('entities.competitorsalesliterature.sallitcompgrid_grid.columns.entityname')"
:width=
"160"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"{column}"
>
<span
class=
"column-header "
>
{{$t('entities.competitorsalesliterature.sallitcompgrid_grid.columns.entityname')}}
</span>
</template>
<template
v-slot=
"{row,column,$index}"
>
<span>
{{row.entityname}}
</span>
</template>
</el-table-column>
</template>
<template
v-if=
"adaptiveState"
>
<el-table-column></el-table-column>
</template>
</el-table>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
:transfer=
"true"
:total=
"totalRecord"
show-sizer
:current=
"curPage"
:page-size=
"limit"
:page-size-opts=
"[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]"
show-elevator
show-total
>
<span>
<span
class=
"page-column"
>
<poptip
transfer
placement=
"top-start"
>
<i-button
icon=
"md-menu"
>
{{$t('app.gridpage.choicecolumns')}}
</i-button>
<div
slot=
"content"
>
<template
v-for=
"col in allColumns"
>
<div
:key=
"col.name"
><el-checkbox
v-model=
"col.show"
@
change=
"onColChange()"
>
{{$t(col.langtag)}}
</el-checkbox></div>
</template>
</div>
</poptip>
</span>
<span
v-if=
"selections.length > 0"
class=
"batch-toolbar"
>
</span>
<span
class=
"page-button"
><i-button
icon=
"md-refresh"
:title=
"$t('app.gridpage.refresh')"
@
click=
"pageRefresh()"
></i-button></span>
<span>
{{$t('app.gridpage.show')}}
<span>
<template
v-if=
"items.length === 1"
>
1
</template>
<template
v-else
>
<span>
{{(curPage - 1) * limit + 1}}
-
{{totalRecord > curPage * limit ? curPage * limit : totalRecord}}
</span>
</template>
</span>
{{$t('app.gridpage.records')}},{{$t('app.gridpage.totle')}}
{{totalRecord}}
{{$t('app.gridpage.records')}}
</span>
</span>
</page>
</row>
</i-form>
</div>
\ No newline at end of file
app_CRM/src/widgets/competitor-sales-literature/sal-lit-comp-grid-grid/sal-lit-comp-grid-grid.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./sal-lit-comp-grid-grid.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { SalLitCompGridGridBase } from './sal-lit-comp-grid-grid-base';
/**
* grid部件
*
* @export
* @class SalLitCompGridGrid
* @extends {SalLitCompGridGridBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class SalLitCompGridGrid extends SalLitCompGridGridBase { }
</script>
app_CRM/src/widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel-base.tsx
0 → 100644
浏览文件 @
3ef3a75d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
CompetitorService
from
'@/service/competitor/competitor-service'
;
import
PickupViewpickupviewpanelService
from
'./pickup-viewpickupviewpanel-pickupviewpanel-service'
;
import
PickupViewpickupviewpanelModel
from
'./pickup-viewpickupviewpanel-pickupviewpanel-model'
;
/**
* pickupviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {PickupViewpickupviewpanelPickupviewpanelBase}
*/
export
class
PickupViewpickupviewpanelPickupviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {PickupViewpickupviewpanelService}
* @memberof PickupViewpickupviewpanelPickupviewpanelBase
*/
public
service
:
PickupViewpickupviewpanelService
=
new
PickupViewpickupviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {CompetitorService}
* @memberof PickupViewpickupviewpanelPickupviewpanelBase
*/
public
appEntityService
:
CompetitorService
=
new
CompetitorService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof PickupViewpickupviewpanelPickupviewpanelBase
*/
protected
appDeName
:
string
=
'competitor'
;
/**
* 选中数据字符串
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof PickupViewpickupviewpanel
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof PickupViewpickupviewpanel
*/
public
getData
():
any
{
return
{};
}
/**
* 视图名称
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
view
:
any
=
{
viewname
:
'competitor-pickup-grid-view'
,
data
:
{},
}
/**
* 局部上下文
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 视图数据
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof PickupViewpickupviewpanel
*/
@
Prop
({
default
:
true
})
public
isShowButton
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof PickupViewpickupviewpanel
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 初始化完成
*
* @type {boolean}
* @memberof PickupViewpickupviewpanel
*/
public
inited
:
boolean
=
false
;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof PickupViewpickupviewpanel
*/
public
onViewDatasChange
(
$event
:
any
):
void
{
if
(
$event
.
length
>
0
){
$event
.
forEach
((
item
:
any
,
index
:
any
)
=>
{
let
srfmajortext
=
item
[
'competitorname'
];
if
(
srfmajortext
){
Object
.
assign
(
$event
[
index
],{
srfmajortext
:
srfmajortext
});
}
});
}
this
.
$emit
(
'selectionchange'
,
$event
);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof PickupViewpickupviewpanel
*/
public
viewDatasActivated
(
$event
:
any
):
void
{
this
.
$emit
(
'activated'
,
$event
);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof PickupViewpickupviewpanel
*/
public
onViewLoad
(
$event
:
any
):
void
{
this
.
$emit
(
'load'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof PickupViewpickupviewpanel
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof PickupViewpickupviewpanel
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
Object
.
assign
(
data
,
this
.
viewparams
));
this
.
inited
=
true
;
}
});
}
}
/**
* 初始化导航参数
*
* @memberof PickupViewpickupviewpanel
*/
public
initNavParam
(){
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
){
let
_context
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localContext
);
Object
.
assign
(
this
.
context
,
_context
);
}
if
(
this
.
localViewParam
&&
Object
.
keys
(
this
.
localViewParam
).
length
>
0
){
let
_param
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localViewParam
);
Object
.
assign
(
this
.
viewparams
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
this
.
viewparams
);
}
/**
* vue 生命周期
*
* @memberof PickupViewpickupviewpanel
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof PickupViewpickupviewpanel
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel-model.ts
0 → 100644
浏览文件 @
3ef3a75d
/**
* PickupViewpickupviewpanel 部件模型
*
* @export
* @class PickupViewpickupviewpanelModel
*/
export
default
class
PickupViewpickupviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof PickupViewpickupviewpanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'entityimage'
,
},
{
name
:
'createdate'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'winpercentage'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'referenceinfourl'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'reportedrevenue_base'
,
},
{
name
:
'competitor'
,
prop
:
'competitorid'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'overview'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'stageid'
,
},
{
name
:
'reportingyear'
,
},
{
name
:
'reportingquarter'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'opportunities'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'processid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'createman'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'strengths'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'weaknesses'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'threats'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'reportedrevenue'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'keyproduct'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'competitorname'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel-service.ts
0 → 100644
浏览文件 @
3ef3a75d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* PickupViewpickupviewpanel 部件服务对象
*
* @export
* @class PickupViewpickupviewpanelService
*/
export
default
class
PickupViewpickupviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel.html
0 → 100644
浏览文件 @
3ef3a75d
<div
class=
'pickupviewpanel'
>
<component
v-if=
"inited && view.viewname && !Object.is(view.viewname, '')"
:is=
"view.viewname"
class=
"viewcontainer3"
:viewdata=
"viewdata"
:viewparam=
"viewparam"
:viewDefaultUsage=
"false"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
@
viewdataschange=
"onViewDatasChange.apply(_self, arguments)"
@
viewdatasactivated=
"viewDatasActivated.apply(_self, arguments)"
@
viewload=
"onViewLoad.apply(_self, arguments)"
>
</component>
</div>
\ No newline at end of file
app_CRM/src/widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel.less
0 → 100644
浏览文件 @
3ef3a75d
.pickupviewpanel{
width: 100%;
}
\ No newline at end of file
app_CRM/src/widgets/competitor/pickup-viewpickupviewpanel-pickupviewpanel/pickup-viewpickupviewpanel-pickupviewpanel.vue
0 → 100644
浏览文件 @
3ef3a75d
<
template
src=
"./pickup-viewpickupviewpanel-pickupviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { PickupViewpickupviewpanelPickupviewpanelBase } from './pickup-viewpickupviewpanel-pickupviewpanel-base';
/**
* pickupviewpanel部件
*
* @export
* @class PickupViewpickupviewpanelPickupviewpanel
* @extends {PickupViewpickupviewpanelPickupviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class PickupViewpickupviewpanelPickupviewpanel extends PickupViewpickupviewpanelPickupviewpanelBase { }
</script>
app_CRM/src/widgets/sales-literature/info-viewtabviewpanel3-tabviewpanel/info-viewtabviewpanel3-tabviewpanel.html
浏览文件 @
3ef3a75d
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<competitor-sales-literature-sal-lit-
pro
-grid-view
<competitor-sales-literature-sal-lit-
comp
-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
>
</competitor-sales-literature-sal-lit-
pro
-grid-view>
</competitor-sales-literature-sal-lit-
comp
-grid-view>
</div>
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录