Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
1264699d
提交
1264699d
编写于
7月 09, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lab_gzf 发布系统代码
上级
4bb63aab
变更
48
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
48 个修改的文件
包含
6001 行增加
和
42 行删除
+6001
-42
view-config.json
app_CRM/public/assets/json/view-config.json
+20
-0
quote_en_US.ts
app_CRM/src/locale/lanres/entities/quote/quote_en_US.ts
+100
-0
quote_zh_CN.ts
app_CRM/src/locale/lanres/entities/quote/quote_zh_CN.ts
+100
-0
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+16
-0
quote-closed-grid-view-base.tsx
...es/quote-closed-grid-view/quote-closed-grid-view-base.tsx
+697
-0
quote-closed-grid-view.html
.../sales/quote-closed-grid-view/quote-closed-grid-view.html
+49
-0
quote-closed-grid-view.vue
...s/sales/quote-closed-grid-view/quote-closed-grid-view.vue
+24
-0
quote-effective-grid-view-base.tsx
...te-effective-grid-view/quote-effective-grid-view-base.tsx
+767
-0
quote-effective-grid-view.html
.../quote-effective-grid-view/quote-effective-grid-view.html
+49
-0
quote-effective-grid-view.vue
...s/quote-effective-grid-view/quote-effective-grid-view.vue
+24
-0
quote-state-tab-view-base.tsx
.../sales/quote-state-tab-view/quote-state-tab-view-base.tsx
+120
-0
quote-state-tab-view.html
...ages/sales/quote-state-tab-view/quote-state-tab-view.html
+10
-0
quote-state-tab-view.vue
...pages/sales/quote-state-tab-view/quote-state-tab-view.vue
+22
-0
quote-win-grid-view-base.tsx
...es/sales/quote-win-grid-view/quote-win-grid-view-base.tsx
+732
-0
quote-win-grid-view.html
.../pages/sales/quote-win-grid-view/quote-win-grid-view.html
+49
-0
quote-win-grid-view.vue
...c/pages/sales/quote-win-grid-view/quote-win-grid-view.vue
+24
-0
page-register.ts
app_CRM/src/pages/ungroup/central/page-register.ts
+6
-2
router.ts
app_CRM/src/pages/ungroup/central/router.ts
+340
-28
state.ts
app_CRM/src/store/modules/view-action/state.ts
+47
-1
quote-ui-service-base.ts
app_CRM/src/uiservice/quote/quote-ui-service-base.ts
+2
-0
central-appmenu-base.tsx
.../src/widgets/app/central-appmenu/central-appmenu-base.tsx
+1
-1
central-appmenu-model.ts
.../src/widgets/app/central-appmenu/central-appmenu-model.ts
+4
-4
state-tab-viewtabexppanel-tabexppanel-base.tsx
...abexppanel/state-tab-viewtabexppanel-tabexppanel-base.tsx
+86
-0
state-tab-viewtabexppanel-tabexppanel-model.ts
...abexppanel/state-tab-viewtabexppanel-tabexppanel-model.ts
+307
-0
state-tab-viewtabexppanel-tabexppanel-service.ts
...exppanel/state-tab-viewtabexppanel-tabexppanel-service.ts
+45
-0
state-tab-viewtabexppanel-tabexppanel.html
...el-tabexppanel/state-tab-viewtabexppanel-tabexppanel.html
+100
-0
state-tab-viewtabexppanel-tabexppanel.vue
...nel-tabexppanel/state-tab-viewtabexppanel-tabexppanel.vue
+30
-0
state-tab-viewtabviewpanel-tabviewpanel-base.tsx
...iewpanel/state-tab-viewtabviewpanel-tabviewpanel-base.tsx
+205
-0
state-tab-viewtabviewpanel-tabviewpanel-model.ts
...iewpanel/state-tab-viewtabviewpanel-tabviewpanel-model.ts
+307
-0
state-tab-viewtabviewpanel-tabviewpanel-service.ts
...wpanel/state-tab-viewtabviewpanel-tabviewpanel-service.ts
+11
-0
state-tab-viewtabviewpanel-tabviewpanel.html
...tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel.html
+11
-0
state-tab-viewtabviewpanel-tabviewpanel.vue
...-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel.vue
+22
-0
state-tab-viewtabviewpanel2-tabviewpanel-base.tsx
...ewpanel/state-tab-viewtabviewpanel2-tabviewpanel-base.tsx
+205
-0
state-tab-viewtabviewpanel2-tabviewpanel-model.ts
...ewpanel/state-tab-viewtabviewpanel2-tabviewpanel-model.ts
+307
-0
state-tab-viewtabviewpanel2-tabviewpanel-service.ts
...panel/state-tab-viewtabviewpanel2-tabviewpanel-service.ts
+11
-0
state-tab-viewtabviewpanel2-tabviewpanel.html
...abviewpanel/state-tab-viewtabviewpanel2-tabviewpanel.html
+11
-0
state-tab-viewtabviewpanel2-tabviewpanel.vue
...tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel.vue
+22
-0
state-tab-viewtabviewpanel3-tabviewpanel-base.tsx
...ewpanel/state-tab-viewtabviewpanel3-tabviewpanel-base.tsx
+205
-0
state-tab-viewtabviewpanel3-tabviewpanel-model.ts
...ewpanel/state-tab-viewtabviewpanel3-tabviewpanel-model.ts
+307
-0
state-tab-viewtabviewpanel3-tabviewpanel-service.ts
...panel/state-tab-viewtabviewpanel3-tabviewpanel-service.ts
+11
-0
state-tab-viewtabviewpanel3-tabviewpanel.html
...abviewpanel/state-tab-viewtabviewpanel3-tabviewpanel.html
+11
-0
state-tab-viewtabviewpanel3-tabviewpanel.vue
...tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel.vue
+22
-0
state-tab-viewtabviewpanel4-tabviewpanel-base.tsx
...ewpanel/state-tab-viewtabviewpanel4-tabviewpanel-base.tsx
+205
-0
state-tab-viewtabviewpanel4-tabviewpanel-model.ts
...ewpanel/state-tab-viewtabviewpanel4-tabviewpanel-model.ts
+307
-0
state-tab-viewtabviewpanel4-tabviewpanel-service.ts
...panel/state-tab-viewtabviewpanel4-tabviewpanel-service.ts
+11
-0
state-tab-viewtabviewpanel4-tabviewpanel.html
...abviewpanel/state-tab-viewtabviewpanel4-tabviewpanel.html
+11
-0
state-tab-viewtabviewpanel4-tabviewpanel.vue
...tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel.vue
+22
-0
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+6
-6
未找到文件。
app_CRM/public/assets/json/view-config.json
浏览文件 @
1264699d
...
...
@@ -959,6 +959,16 @@
"viewtag"
:
"51785f69973d8e6b0b1e002a03626fc7"
,
"memo"
:
"系统自动添加"
},
"quotewingridview"
:
{
"title"
:
"报价单信息"
,
"caption"
:
"报价单"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"QuoteWinGridView"
,
"viewfilename"
:
"quote-win-grid-view"
,
"viewtag"
:
"518ac41fb3973a5f49f73e4a2c3f6681"
,
"memo"
:
"系统自动添加"
},
"goalinfoview"
:
{
"title"
:
"目标信息"
,
"caption"
:
"目标"
,
...
...
@@ -2319,6 +2329,16 @@
"viewtag"
:
"d138851bb39f6334938bb634467dc3cc"
,
"memo"
:
""
},
"quoteclosedgridview"
:
{
"title"
:
"报价单信息"
,
"caption"
:
"报价单"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"QuoteClosedGridView"
,
"viewfilename"
:
"quote-closed-grid-view"
,
"viewtag"
:
"d163d3257bed7fbd8e2fa99bcc2abf32"
,
"memo"
:
"系统自动添加"
},
"competitorgridview"
:
{
"title"
:
"竞争对手信息"
,
"caption"
:
"竞争对手"
,
...
...
app_CRM/src/locale/lanres/entities/quote/quote_en_US.ts
浏览文件 @
1264699d
...
...
@@ -114,6 +114,10 @@ export default {
caption
:
"报价单"
,
title
:
"报价单编辑视图"
,
},
wingridview
:
{
caption
:
"报价单"
,
title
:
"报价单信息"
,
},
oppquagridview
:
{
caption
:
"报价单"
,
title
:
"报价单表格视图"
,
...
...
@@ -134,6 +138,10 @@ export default {
caption
:
"报价单信息"
,
title
:
"报价单信息"
,
},
closedgridview
:
{
caption
:
"报价单"
,
title
:
"报价单信息"
,
},
statetabview
:
{
caption
:
"报价单"
,
title
:
"报价单状态分页视图"
,
...
...
@@ -495,4 +503,96 @@ export default {
tip
:
"Filter"
,
},
},
wingridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export {0} Data To Excel"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14_close
:
{
caption
:
"结束报价单"
,
tip
:
"结束报价单"
,
},
tbitem15
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"Filter"
,
tip
:
"Filter"
,
},
},
closedgridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export {0} Data To Excel"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"Filter"
,
tip
:
"Filter"
,
},
},
};
\ No newline at end of file
app_CRM/src/locale/lanres/entities/quote/quote_zh_CN.ts
浏览文件 @
1264699d
...
...
@@ -113,6 +113,10 @@ export default {
caption
:
"报价单"
,
title
:
"报价单编辑视图"
,
},
wingridview
:
{
caption
:
"报价单"
,
title
:
"报价单信息"
,
},
oppquagridview
:
{
caption
:
"报价单"
,
title
:
"报价单表格视图"
,
...
...
@@ -133,6 +137,10 @@ export default {
caption
:
"报价单信息"
,
title
:
"报价单信息"
,
},
closedgridview
:
{
caption
:
"报价单"
,
title
:
"报价单信息"
,
},
statetabview
:
{
caption
:
"报价单"
,
title
:
"报价单状态分页视图"
,
...
...
@@ -494,4 +502,96 @@ export default {
tip
:
"过滤"
,
},
},
wingridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem6
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"导出"
,
tip
:
"导出"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14_close
:
{
caption
:
"结束报价单"
,
tip
:
"结束报价单"
,
},
tbitem15
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"过滤"
,
tip
:
"过滤"
,
},
},
closedgridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem6
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"导出"
,
tip
:
"导出"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"过滤"
,
tip
:
"过滤"
,
},
},
};
\ No newline at end of file
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
1264699d
...
...
@@ -775,6 +775,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"CampaignSummary_Head"
,
"viewtag"
:
"51785f69973d8e6b0b1e002a03626fc7"
},
"quotewingridview"
:
{
"title"
:
"报价单信息"
,
"caption"
:
"报价单"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"QuoteWinGridView"
,
"viewtag"
:
"518ac41fb3973a5f49f73e4a2c3f6681"
},
"goalinfoview"
:
{
"title"
:
"目标信息"
,
"caption"
:
"目标"
,
...
...
@@ -1863,6 +1871,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"IncidentInfo_IncidentView"
,
"viewtag"
:
"d138851bb39f6334938bb634467dc3cc"
},
"quoteclosedgridview"
:
{
"title"
:
"报价单信息"
,
"caption"
:
"报价单"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"QuoteClosedGridView"
,
"viewtag"
:
"d163d3257bed7fbd8e2fa99bcc2abf32"
},
"competitorgridview"
:
{
"title"
:
"竞争对手信息"
,
"caption"
:
"竞争对手"
,
...
...
app_CRM/src/pages/sales/quote-closed-grid-view/quote-closed-grid-view-base.tsx
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/pages/sales/quote-closed-grid-view/quote-closed-grid-view.html
0 → 100644
浏览文件 @
1264699d
<studio-view-style2
viewName=
"quoteclosedgridview"
viewTitle=
"报价单信息"
class=
'degridview quote-closed-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=
"isGridSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchClosed"
: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/quote-closed-grid-view/quote-closed-grid-view.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./quote-closed-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { QuoteClosedGridViewBase } from './quote-closed-grid-view-base';
import view_grid from '@widgets/quote/main-grid/main-grid.vue';
import view_searchform from '@widgets/quote/default-searchform/default-searchform.vue';
/**
* 报价单信息视图
*
* @export
* @class QuoteClosedGridView
* @extends {QuoteClosedGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class QuoteClosedGridView extends QuoteClosedGridViewBase { }
</script>
app_CRM/src/pages/sales/quote-effective-grid-view/quote-effective-grid-view-base.tsx
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/pages/sales/quote-effective-grid-view/quote-effective-grid-view.html
0 → 100644
浏览文件 @
1264699d
<studio-view-style2
viewName=
"quoteeffectivegridview"
viewTitle=
"报价单信息"
class=
'degridview quote-effective-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=
"isGridSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchEffective"
: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/quote-effective-grid-view/quote-effective-grid-view.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./quote-effective-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { QuoteEffectiveGridViewBase } from './quote-effective-grid-view-base';
import view_grid from '@widgets/quote/main-grid/main-grid.vue';
import view_searchform from '@widgets/quote/default-searchform/default-searchform.vue';
/**
* 报价单信息视图
*
* @export
* @class QuoteEffectiveGridView
* @extends {QuoteEffectiveGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class QuoteEffectiveGridView extends QuoteEffectiveGridViewBase { }
</script>
app_CRM/src/pages/sales/quote-state-tab-view/quote-state-tab-view-base.tsx
0 → 100644
浏览文件 @
1264699d
import
{
Subject
}
from
'rxjs'
;
import
{
TabExpViewBase
}
from
'@/studio-core'
;
import
QuoteService
from
'@/service/quote/quote-service'
;
import
TabExpViewEngine
from
'@engine/view/tab-exp-view-engine'
;
/**
* 报价单状态分页视图视图基类
*
* @export
* @class QuoteStateTabViewBase
* @extends {TabExpViewBase}
*/
export
class
QuoteStateTabViewBase
extends
TabExpViewBase
{
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof QuoteStateTabViewBase
*/
protected
appDeName
:
string
=
'quote'
;
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof QuoteStateTabViewBase
*/
protected
appDeKey
:
string
=
'quoteid'
;
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof QuoteStateTabViewBase
*/
protected
appDeMajor
:
string
=
'quotename'
;
/**
* 实体服务对象
*
* @type {QuoteService}
* @memberof QuoteStateTabViewBase
*/
protected
appEntityService
:
QuoteService
=
new
QuoteService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof QuoteStateTabViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof QuoteStateTabViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.quote.views.statetabview.caption'
,
srfTitle
:
'entities.quote.views.statetabview.title'
,
srfSubTitle
:
'entities.quote.views.statetabview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof QuoteStateTabViewBase
*/
protected
containerModel
:
any
=
{
view_tabexppanel
:
{
name
:
'tabexppanel'
,
type
:
'TABEXPPANEL'
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'efe82dc0a6991dd88da8c33cee6bf451'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof QuoteStateTabViewBase
*/
public
engine
:
TabExpViewEngine
=
new
TabExpViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof QuoteStateTabViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
keyPSDEField
:
'quote'
,
majorPSDEField
:
'quotename'
,
isLoadDefault
:
true
,
});
}
}
\ No newline at end of file
app_CRM/src/pages/sales/quote-state-tab-view/quote-state-tab-view.html
0 → 100644
浏览文件 @
1264699d
<studio-view-style2
viewName=
"quotestatetabview"
viewTitle=
"报价单状态分页视图"
class=
'detabexpview quote-state-tab-view'
>
<view
_tabexppanel
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
name=
"tabexppanel"
ref=
'tabexppanel'
@
closeview=
"closeView($event)"
>
</view
_tabexppanel
>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/quote-state-tab-view/quote-state-tab-view.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./quote-state-tab-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { QuoteStateTabViewBase } from './quote-state-tab-view-base';
import view_tabexppanel from '@widgets/quote/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel.vue';
/**
* 报价单状态分页视图视图
*
* @export
* @class QuoteStateTabView
* @extends {QuoteStateTabViewBase}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class QuoteStateTabView extends QuoteStateTabViewBase { }
</script>
app_CRM/src/pages/sales/quote-win-grid-view/quote-win-grid-view-base.tsx
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/pages/sales/quote-win-grid-view/quote-win-grid-view.html
0 → 100644
浏览文件 @
1264699d
<studio-view-style2
viewName=
"quotewingridview"
viewTitle=
"报价单信息"
class=
'degridview quote-win-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=
"isGridSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchWin"
: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/quote-win-grid-view/quote-win-grid-view.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./quote-win-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { QuoteWinGridViewBase } from './quote-win-grid-view-base';
import view_grid from '@widgets/quote/main-grid/main-grid.vue';
import view_searchform from '@widgets/quote/default-searchform/default-searchform.vue';
/**
* 报价单信息视图
*
* @export
* @class QuoteWinGridView
* @extends {QuoteWinGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class QuoteWinGridView extends QuoteWinGridViewBase { }
</script>
app_CRM/src/pages/ungroup/central/page-register.ts
浏览文件 @
1264699d
export
const
PageComponents
=
{
install
(
Vue
:
any
,
opt
:
any
)
{
Vue
.
component
(
'goal-child-goal-grid-view'
,
()
=>
import
(
'@pages/sales/goal-child-goal-grid-view/goal-child-goal-grid-view.vue'
));
Vue
.
component
(
'quote-effective-grid-view'
,
()
=>
import
(
'@pages/sales/quote-effective-grid-view/quote-effective-grid-view.vue'
));
Vue
.
component
(
'goal-child-goal-grid-view'
,
()
=>
import
(
'@pages/sales/goal-child-goal-grid-view/goal-child-goal-grid-view.vue'
));
Vue
.
component
(
'invoice-info-invoice-view'
,
()
=>
import
(
'@pages/finance/invoice-info-invoice-view/invoice-info-invoice-view.vue'
));
Vue
.
component
(
'competitor-option-view'
,
()
=>
import
(
'@pages/sales/competitor-option-view/competitor-option-view.vue'
));
Vue
.
component
(
'account-edit-view'
,
()
=>
import
(
'@pages/base/account-edit-view/account-edit-view.vue'
));
Vue
.
component
(
'product-sales-literature-sal-lit-pro-grid-view'
,
()
=>
import
(
'@pages/sales/product-sales-literature-sal-lit-pro-grid-view/product-sales-literature-sal-lit-pro-grid-view.vue'
));
Vue
.
component
(
'incident-child-incident-grid-view'
,
()
=>
import
(
'@pages/service/incident-child-incident-grid-view/incident-child-incident-grid-view.vue'
));
Vue
.
component
(
'product-pickup-view'
,
()
=>
import
(
'@pages/product/product-pickup-view/product-pickup-view.vue'
));
Vue
.
component
(
'quote-info-abstract'
,
()
=>
import
(
'@pages/sales/quote-info-abstract/quote-info-abstract.vue'
));
Vue
.
component
(
'product-pickup-view'
,
()
=>
import
(
'@pages/product/product-pickup-view/product-pickup-view.vue'
));
Vue
.
component
(
'centeral-portal'
,
()
=>
import
(
'@pages/ungroup/centeral-portal/centeral-portal.vue'
));
Vue
.
component
(
'task-quick-create'
,
()
=>
import
(
'@pages/base/task-quick-create/task-quick-create.vue'
));
Vue
.
component
(
'opportunity-quick-create'
,
()
=>
import
(
'@pages/sales/opportunity-quick-create/opportunity-quick-create.vue'
));
...
...
@@ -27,8 +28,10 @@ export const PageComponents = {
Vue
.
component
(
'ibiz-list-grid-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'
));
Vue
.
component
(
'opportunity-win-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-win-grid-view/opportunity-win-grid-view.vue'
));
Vue
.
component
(
'discount-type-pickup-view'
,
()
=>
import
(
'@pages/sales/discount-type-pickup-view/discount-type-pickup-view.vue'
));
Vue
.
component
(
'quote-win-grid-view'
,
()
=>
import
(
'@pages/sales/quote-win-grid-view/quote-win-grid-view.vue'
));
Vue
.
component
(
'opportunity-edit-date-panel-view'
,
()
=>
import
(
'@pages/sales/opportunity-edit-date-panel-view/opportunity-edit-date-panel-view.vue'
));
Vue
.
component
(
'ibiz-list-info'
,
()
=>
import
(
'@pages/marketing/ibiz-list-info/ibiz-list-info.vue'
));
Vue
.
component
(
'quote-closed-grid-view'
,
()
=>
import
(
'@pages/sales/quote-closed-grid-view/quote-closed-grid-view.vue'
));
Vue
.
component
(
'knowledge-article-grid-view'
,
()
=>
import
(
'@pages/base/knowledge-article-grid-view/knowledge-article-grid-view.vue'
));
Vue
.
component
(
'product-quick-create-view'
,
()
=>
import
(
'@pages/product/product-quick-create-view/product-quick-create-view.vue'
));
Vue
.
component
(
'campaign-info-manager'
,
()
=>
import
(
'@pages/marketing/campaign-info-manager/campaign-info-manager.vue'
));
...
...
@@ -97,6 +100,7 @@ export const PageComponents = {
Vue
.
component
(
'incident-info-incident-view'
,
()
=>
import
(
'@pages/service/incident-info-incident-view/incident-info-incident-view.vue'
));
Vue
.
component
(
'account-usable-grid-view'
,
()
=>
import
(
'@pages/base/account-usable-grid-view/account-usable-grid-view.vue'
));
Vue
.
component
(
'sales-order-info-soview'
,
()
=>
import
(
'@pages/sales/sales-order-info-soview/sales-order-info-soview.vue'
));
Vue
.
component
(
'quote-state-tab-view'
,
()
=>
import
(
'@pages/sales/quote-state-tab-view/quote-state-tab-view.vue'
));
Vue
.
component
(
'sales-order-summary-view'
,
()
=>
import
(
'@pages/sales/sales-order-summary-view/sales-order-summary-view.vue'
));
Vue
.
component
(
'quote-detail-edit-view'
,
()
=>
import
(
'@pages/sales/quote-detail-edit-view/quote-detail-edit-view.vue'
));
Vue
.
component
(
'quote-edit-view'
,
()
=>
import
(
'@pages/sales/quote-edit-view/quote-edit-view.vue'
));
...
...
app_CRM/src/pages/ungroup/central/router.ts
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
1264699d
...
...
@@ -607,6 +607,17 @@ export const viewstate: any = {
'44f1244c0a9e78981a151dc7f247e867'
,
],
},
{
viewtag
:
'37891b1dd5782b30f30e3253298ba0f2'
,
viewmodule
:
'Sales'
,
viewname
:
'QuoteEffectiveGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'bf670ca93d5a63c4feba5a3cc3de7a9c'
,
'9a8f1a5129b4191c2dfb20b23aeb4c7a'
,
],
},
{
viewtag
:
'3a665de6a3970b95fde436c0fea4b1df'
,
viewmodule
:
'Service'
,
...
...
@@ -876,6 +887,17 @@ export const viewstate: any = {
'd8b664607bd727900320b23da3fafaf2'
,
],
},
{
viewtag
:
'518ac41fb3973a5f49f73e4a2c3f6681'
,
viewmodule
:
'Sales'
,
viewname
:
'QuoteWinGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'bf670ca93d5a63c4feba5a3cc3de7a9c'
,
'9a8f1a5129b4191c2dfb20b23aeb4c7a'
,
],
},
{
viewtag
:
'521acee07c15c72e914d3ca538cb26fc'
,
viewmodule
:
'Sales'
,
...
...
@@ -1366,6 +1388,7 @@ export const viewstate: any = {
'25bf5f8c2ebd1ce2be6d06717ed08a96'
,
'dfc0051ae4813115e03f3d095f8cd7d3'
,
'3202f3f503424c7a2c549b2c5186dc36'
,
'efe82dc0a6991dd88da8c33cee6bf451'
,
'8895fef7ce4f5bdd1cd8f950bd1f8bcc'
,
'631a4276161c551802f3aaf4bd7e607c'
,
'90b48a107932f432e0dde42791a51887'
,
...
...
@@ -1376,7 +1399,6 @@ export const viewstate: any = {
'7FCD2E75-E34A-493C-922E-8AE47BCE08CA'
,
'd1c35f3c52010e1428d7dc1a6bc82f63'
,
'e0aef8c0d1f1ae28f628a0541b118961'
,
'14110058a29397ea9ac7d4e86a3994ca'
,
'3a665de6a3970b95fde436c0fea4b1df'
,
'00367e275947880480763049e5c495be'
,
],
...
...
@@ -2103,6 +2125,17 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'd163d3257bed7fbd8e2fa99bcc2abf32'
,
viewmodule
:
'Sales'
,
viewname
:
'QuoteClosedGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'bf670ca93d5a63c4feba5a3cc3de7a9c'
,
'9a8f1a5129b4191c2dfb20b23aeb4c7a'
,
],
},
{
viewtag
:
'd1c35f3c52010e1428d7dc1a6bc82f63'
,
viewmodule
:
'Sales'
,
...
...
@@ -2326,6 +2359,19 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'efe82dc0a6991dd88da8c33cee6bf451'
,
viewmodule
:
'Sales'
,
viewname
:
'QuoteStateTabView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'37891b1dd5782b30f30e3253298ba0f2'
,
'518ac41fb3973a5f49f73e4a2c3f6681'
,
'14110058a29397ea9ac7d4e86a3994ca'
,
'd163d3257bed7fbd8e2fa99bcc2abf32'
,
],
},
{
viewtag
:
'f440f1d3b950a89e6cb72cadea120b74'
,
viewmodule
:
'Service'
,
...
...
app_CRM/src/uiservice/quote/quote-ui-service-base.ts
浏览文件 @
1264699d
...
...
@@ -83,11 +83,13 @@ export default class QuoteUIServiceBase extends UIService {
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'summary'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'effectivegridview'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'infoabstract'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'wingridview'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'oppquagridview'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'byparentkey'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'optionview'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'closedgridview'
,
srfappde
:
'quotes'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'statetabview'
,
srfappde
:
'quotes'
});
}
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-base.tsx
浏览文件 @
1264699d
...
...
@@ -513,7 +513,7 @@ export class CentralBase extends Vue {
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'quotes'
,
parameterName
:
'quote'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
statetabview'
,
parameterName
:
'statetab
view'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-model.ts
浏览文件 @
1264699d
...
...
@@ -456,7 +456,7 @@ export default class CentralModel {
textcls
:
''
,
appfunctag
:
'Auto5'
,
appfuncyype
:
'APPVIEW'
,
viewname
:
'quote-
grid
-view'
,
viewname
:
'quote-
state-tab
-view'
,
resourcetag
:
''
,
}
,
...
...
@@ -1055,12 +1055,12 @@ export default class CentralModel {
appfunctag
:
'Auto5'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'quote
grid
view'
,
codename
:
'quote
statetab
view'
,
deResParameters
:
[],
routepath
:
'/central/:central?/quotes/:quote?/
gridview/:grid
view?'
,
routepath
:
'/central/:central?/quotes/:quote?/
statetabview/:statetab
view?'
,
parameters
:
[
{
pathName
:
'quotes'
,
parameterName
:
'quote'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
statetabview'
,
parameterName
:
'statetab
view'
},
],
},
];
...
...
app_CRM/src/widgets/quote/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel-base.tsx
0 → 100644
浏览文件 @
1264699d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
TabExpPanelControlBase
}
from
'@/studio-core'
;
import
QuoteService
from
'@/service/quote/quote-service'
;
import
StateTabViewtabexppanelService
from
'./state-tab-viewtabexppanel-tabexppanel-service'
;
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {StateTabViewtabexppanelTabexppanelBase}
*/
export
class
StateTabViewtabexppanelTabexppanelBase
extends
TabExpPanelControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
protected
controlType
:
string
=
'TABEXPPANEL'
;
/**
* 建构部件服务对象
*
* @type {StateTabViewtabexppanelService}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
public
service
:
StateTabViewtabexppanelService
=
new
StateTabViewtabexppanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {QuoteService}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
public
appEntityService
:
QuoteService
=
new
QuoteService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
protected
appDeName
:
string
=
'quote'
;
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof StateTabViewtabexppanel
*/
protected
isInit
:
any
=
{
tabviewpanel
:
true
,
tabviewpanel2
:
false
,
tabviewpanel3
:
false
,
tabviewpanel4
:
false
,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof StateTabViewtabexppanel
*/
protected
activatedTabViewPanel
:
string
=
'tabviewpanel'
;
/**
* 组件创建完毕
*
* @protected
* @memberof StateTabViewtabexppanel
*/
protected
ctrlCreated
():
void
{
//设置分页导航srfparentdename和srfparentkey
if
(
this
.
context
.
quote
)
{
Object
.
assign
(
this
.
context
,
{
srfparentdename
:
'Quote'
,
srfparentkey
:
this
.
context
.
quote
});
}
super
.
ctrlCreated
();
}
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel-model.ts
0 → 100644
浏览文件 @
1264699d
/**
* StateTabViewtabexppanel 部件模型
*
* @export
* @class StateTabViewtabexppanelModel
*/
export
default
class
StateTabViewtabexppanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StateTabViewtabexppanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'billto_country'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'willcall'
,
},
{
name
:
'shipto_line1'
,
},
{
name
:
'freighttermscode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'effectivefrom'
,
},
{
name
:
'totalamountlessfreight_base'
,
},
{
name
:
'quotename'
,
},
{
name
:
'totaldiscountamount_base'
,
},
{
name
:
'shipto_postalcode'
,
},
{
name
:
'totalamount'
,
},
{
name
:
'billto_addressid'
,
},
{
name
:
'updateman'
,
},
{
name
:
'createman'
,
},
{
name
:
'totalamount_base'
,
},
{
name
:
'shipto_line2'
,
},
{
name
:
'totallineitemdiscountamount'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'totallineitemamount_base'
,
},
{
name
:
'shipto_contactname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'shipto_addressid'
,
},
{
name
:
'shipto_name'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'quotenumber'
,
},
{
name
:
'billto_telephone'
,
},
{
name
:
'closedon'
,
},
{
name
:
'freightamount_base'
,
},
{
name
:
'shipto_line3'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customeridtype'
,
},
{
name
:
'customerid'
,
},
{
name
:
'effectiveto'
,
},
{
name
:
'shipto_freighttermscode'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'totallineitemamount'
,
},
{
name
:
'shipto_fax'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'emailaddress'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'pricingerrorcode'
,
},
{
name
:
'uniquedscid'
,
},
{
name
:
'contactidyominame'
,
},
{
name
:
'billto_line3'
,
},
{
name
:
'description'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'billto_composite'
,
},
{
name
:
'requestdeliveryby'
,
},
{
name
:
'totaltax'
,
},
{
name
:
'quote'
,
prop
:
'quoteid'
,
},
{
name
:
'processid'
,
},
{
name
:
'stageid'
,
},
{
name
:
'createdate'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'shipto_country'
,
},
{
name
:
'expireson'
,
},
{
name
:
'billto_postalcode'
,
},
{
name
:
'billto_line2'
,
},
{
name
:
'billto_name'
,
},
{
name
:
'billto_line1'
,
},
{
name
:
'revisionnumber'
,
},
{
name
:
'billto_contactname'
,
},
{
name
:
'shipto_stateorprovince'
,
},
{
name
:
'billto_city'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'discountpercentage'
,
},
{
name
:
'shipto_city'
,
},
{
name
:
'discountamount'
,
},
{
name
:
'shipto_composite'
,
},
{
name
:
'shipto_telephone'
,
},
{
name
:
'billto_stateorprovince'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'totalamountlessfreight'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'customeridyominame'
,
},
{
name
:
'billto_fax'
,
},
{
name
:
'totaldiscountamount'
,
},
{
name
:
'totaltax_base'
,
},
{
name
:
'discountamount_base'
,
},
{
name
:
'freightamount'
,
},
{
name
:
'slaname'
,
},
{
name
:
'pricelevelid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'opportunityid'
,
},
{
name
:
'campaignid'
,
},
{
name
:
'pricelevelname'
,
},
{
name
:
'opportunityname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'campaignname'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel-service.ts
0 → 100644
浏览文件 @
1264699d
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
QuoteService
from
'@/service/quote/quote-service'
;
import
StateTabViewtabexppanelModel
from
'./state-tab-viewtabexppanel-tabexppanel-model'
;
/**
* StateTabViewtabexppanel 部件服务对象
*
* @export
* @class StateTabViewtabexppanelService
*/
export
default
class
StateTabViewtabexppanelService
extends
ControlService
{
/**
* 报价单服务对象
*
* @type {QuoteService}
* @memberof StateTabViewtabexppanelService
*/
public
appEntityService
:
QuoteService
=
new
QuoteService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof StateTabViewtabexppanelService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of StateTabViewtabexppanelService.
*
* @param {*} [opts={}]
* @memberof StateTabViewtabexppanelService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
StateTabViewtabexppanelModel
();
}
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel.html
0 → 100644
浏览文件 @
1264699d
<div
class=
'tabviewpanel'
>
<tabs
:value=
"activatedTabViewPanel"
:animated=
"false"
class=
'tabexppanel'
name=
'statetabviewtabexppanel'
@
on-click=
"tabPanelClick($event)"
>
<tab-pane
:index=
"0"
name=
'tabviewpanel'
tab=
'statetabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '全部报价单'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel"
name=
"tabviewpanel"
ref=
'tabviewpanel'
:expActive=
"activatedTabViewPanel === 'tabviewpanel'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel
>
</tab-pane>
<tab-pane
:index=
"1"
name=
'tabviewpanel2'
tab=
'statetabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '可用报价单'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel2
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel2"
name=
"tabviewpanel2"
ref=
'tabviewpanel2'
:expActive=
"activatedTabViewPanel === 'tabviewpanel2'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel2
>
</tab-pane>
<tab-pane
:index=
"2"
name=
'tabviewpanel3'
tab=
'statetabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '赢单'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel3
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel3"
name=
"tabviewpanel3"
ref=
'tabviewpanel3'
:expActive=
"activatedTabViewPanel === 'tabviewpanel3'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel3
>
</tab-pane>
<tab-pane
:index=
"3"
name=
'tabviewpanel4'
tab=
'statetabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '已关闭'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel4
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel4"
name=
"tabviewpanel4"
ref=
'tabviewpanel4'
:expActive=
"activatedTabViewPanel === 'tabviewpanel4'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel4
>
</tab-pane>
</tabs>
</div>
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./state-tab-viewtabexppanel-tabexppanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabexppanelTabexppanelBase } from './state-tab-viewtabexppanel-tabexppanel-base';
import view_tabviewpanel from '@widgets/quote/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/quote/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/quote/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel.vue';
import view_tabviewpanel4 from '@widgets/quote/state-tab-viewtabviewpanel4-tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class StateTabViewtabexppanelTabexppanel
* @extends {StateTabViewtabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel2,
view_tabviewpanel3,
view_tabviewpanel4,
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabexppanelTabexppanel extends StateTabViewtabexppanelTabexppanelBase { }
</script>
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
1264699d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
QuoteService
from
'@/service/quote/quote-service'
;
import
StateTabViewtabviewpanelService
from
'./state-tab-viewtabviewpanel-tabviewpanel-service'
;
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {StateTabViewtabviewpanelTabviewpanelBase}
*/
export
class
StateTabViewtabviewpanelTabviewpanelBase
extends
MainControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
protected
controlType
:
string
=
'TABVIEWPANEL'
;
/**
* 建构部件服务对象
*
* @type {StateTabViewtabviewpanelService}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
public
service
:
StateTabViewtabviewpanelService
=
new
StateTabViewtabviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {QuoteService}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
public
appEntityService
:
QuoteService
=
new
QuoteService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
protected
appDeName
:
string
=
'quote'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StateTabViewtabviewpanel
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StateTabViewtabviewpanel
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StateTabViewtabviewpanel
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof StateTabViewtabviewpanel
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof StateTabViewtabviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StateTabViewtabviewpanel
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof StateTabViewtabviewpanel
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof StateTabViewtabviewpanel
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof StateTabViewtabviewpanel
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof StateTabViewtabviewpanel
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof StateTabViewtabviewpanel
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StateTabViewtabviewpanel
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel-model.ts
0 → 100644
浏览文件 @
1264699d
/**
* StateTabViewtabviewpanel 部件模型
*
* @export
* @class StateTabViewtabviewpanelModel
*/
export
default
class
StateTabViewtabviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'billto_country'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'willcall'
,
},
{
name
:
'shipto_line1'
,
},
{
name
:
'freighttermscode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'effectivefrom'
,
},
{
name
:
'totalamountlessfreight_base'
,
},
{
name
:
'quotename'
,
},
{
name
:
'totaldiscountamount_base'
,
},
{
name
:
'shipto_postalcode'
,
},
{
name
:
'totalamount'
,
},
{
name
:
'billto_addressid'
,
},
{
name
:
'updateman'
,
},
{
name
:
'createman'
,
},
{
name
:
'totalamount_base'
,
},
{
name
:
'shipto_line2'
,
},
{
name
:
'totallineitemdiscountamount'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'totallineitemamount_base'
,
},
{
name
:
'shipto_contactname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'shipto_addressid'
,
},
{
name
:
'shipto_name'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'quotenumber'
,
},
{
name
:
'billto_telephone'
,
},
{
name
:
'closedon'
,
},
{
name
:
'freightamount_base'
,
},
{
name
:
'shipto_line3'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customeridtype'
,
},
{
name
:
'customerid'
,
},
{
name
:
'effectiveto'
,
},
{
name
:
'shipto_freighttermscode'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'totallineitemamount'
,
},
{
name
:
'shipto_fax'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'emailaddress'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'pricingerrorcode'
,
},
{
name
:
'uniquedscid'
,
},
{
name
:
'contactidyominame'
,
},
{
name
:
'billto_line3'
,
},
{
name
:
'description'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'billto_composite'
,
},
{
name
:
'requestdeliveryby'
,
},
{
name
:
'totaltax'
,
},
{
name
:
'quote'
,
prop
:
'quoteid'
,
},
{
name
:
'processid'
,
},
{
name
:
'stageid'
,
},
{
name
:
'createdate'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'shipto_country'
,
},
{
name
:
'expireson'
,
},
{
name
:
'billto_postalcode'
,
},
{
name
:
'billto_line2'
,
},
{
name
:
'billto_name'
,
},
{
name
:
'billto_line1'
,
},
{
name
:
'revisionnumber'
,
},
{
name
:
'billto_contactname'
,
},
{
name
:
'shipto_stateorprovince'
,
},
{
name
:
'billto_city'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'discountpercentage'
,
},
{
name
:
'shipto_city'
,
},
{
name
:
'discountamount'
,
},
{
name
:
'shipto_composite'
,
},
{
name
:
'shipto_telephone'
,
},
{
name
:
'billto_stateorprovince'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'totalamountlessfreight'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'customeridyominame'
,
},
{
name
:
'billto_fax'
,
},
{
name
:
'totaldiscountamount'
,
},
{
name
:
'totaltax_base'
,
},
{
name
:
'discountamount_base'
,
},
{
name
:
'freightamount'
,
},
{
name
:
'slaname'
,
},
{
name
:
'pricelevelid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'opportunityid'
,
},
{
name
:
'campaignid'
,
},
{
name
:
'pricelevelname'
,
},
{
name
:
'opportunityname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'campaignname'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel-service.ts
0 → 100644
浏览文件 @
1264699d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StateTabViewtabviewpanel 部件服务对象
*
* @export
* @class StateTabViewtabviewpanelService
*/
export
default
class
StateTabViewtabviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel.html
0 → 100644
浏览文件 @
1264699d
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<quote-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./state-tab-viewtabviewpanel-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabviewpanelTabviewpanelBase } from './state-tab-viewtabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class StateTabViewtabviewpanelTabviewpanel
* @extends {StateTabViewtabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabviewpanelTabviewpanel extends StateTabViewtabviewpanelTabviewpanelBase { }
</script>
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
1264699d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
QuoteService
from
'@/service/quote/quote-service'
;
import
StateTabViewtabviewpanel2Service
from
'./state-tab-viewtabviewpanel2-tabviewpanel-service'
;
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {StateTabViewtabviewpanel2TabviewpanelBase}
*/
export
class
StateTabViewtabviewpanel2TabviewpanelBase
extends
MainControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
protected
controlType
:
string
=
'TABVIEWPANEL'
;
/**
* 建构部件服务对象
*
* @type {StateTabViewtabviewpanel2Service}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
public
service
:
StateTabViewtabviewpanel2Service
=
new
StateTabViewtabviewpanel2Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {QuoteService}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
public
appEntityService
:
QuoteService
=
new
QuoteService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
protected
appDeName
:
string
=
'quote'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StateTabViewtabviewpanel2
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel2
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StateTabViewtabviewpanel2
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StateTabViewtabviewpanel2
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof StateTabViewtabviewpanel2
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof StateTabViewtabviewpanel2
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StateTabViewtabviewpanel2
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof StateTabViewtabviewpanel2
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof StateTabViewtabviewpanel2
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof StateTabViewtabviewpanel2
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof StateTabViewtabviewpanel2
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof StateTabViewtabviewpanel2
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StateTabViewtabviewpanel2
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel-model.ts
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel-service.ts
0 → 100644
浏览文件 @
1264699d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StateTabViewtabviewpanel2 部件服务对象
*
* @export
* @class StateTabViewtabviewpanel2Service
*/
export
default
class
StateTabViewtabviewpanel2Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel.html
0 → 100644
浏览文件 @
1264699d
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<quote-effective-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./state-tab-viewtabviewpanel2-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabviewpanel2TabviewpanelBase } from './state-tab-viewtabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class StateTabViewtabviewpanel2Tabviewpanel
* @extends {StateTabViewtabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabviewpanel2Tabviewpanel extends StateTabViewtabviewpanel2TabviewpanelBase { }
</script>
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel-model.ts
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel-service.ts
0 → 100644
浏览文件 @
1264699d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StateTabViewtabviewpanel3 部件服务对象
*
* @export
* @class StateTabViewtabviewpanel3Service
*/
export
default
class
StateTabViewtabviewpanel3Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel.html
0 → 100644
浏览文件 @
1264699d
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<quote-win-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./state-tab-viewtabviewpanel3-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabviewpanel3TabviewpanelBase } from './state-tab-viewtabviewpanel3-tabviewpanel-base';
/**
* tabviewpanel3部件
*
* @export
* @class StateTabViewtabviewpanel3Tabviewpanel
* @extends {StateTabViewtabviewpanel3TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabviewpanel3Tabviewpanel extends StateTabViewtabviewpanel3TabviewpanelBase { }
</script>
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel4-tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel4-tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel-model.ts
0 → 100644
浏览文件 @
1264699d
此差异已折叠。
点击以展开。
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel4-tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel-service.ts
0 → 100644
浏览文件 @
1264699d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StateTabViewtabviewpanel4 部件服务对象
*
* @export
* @class StateTabViewtabviewpanel4Service
*/
export
default
class
StateTabViewtabviewpanel4Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel4-tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel.html
0 → 100644
浏览文件 @
1264699d
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<quote-closed-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/quote/state-tab-viewtabviewpanel4-tabviewpanel/state-tab-viewtabviewpanel4-tabviewpanel.vue
0 → 100644
浏览文件 @
1264699d
<
template
src=
"./state-tab-viewtabviewpanel4-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabviewpanel4TabviewpanelBase } from './state-tab-viewtabviewpanel4-tabviewpanel-base';
/**
* tabviewpanel4部件
*
* @export
* @class StateTabViewtabviewpanel4Tabviewpanel
* @extends {StateTabViewtabviewpanel4TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabviewpanel4Tabviewpanel extends StateTabViewtabviewpanel4TabviewpanelBase { }
</script>
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
1264699d
...
...
@@ -8527,7 +8527,7 @@
<!--输出实体[QUOTE]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-quote-1
08
-98"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-quote-1
12
-98"
>
<createTable
tableName=
"QUOTE"
>
<column
name=
"BILLTO_COUNTRY"
remarks=
""
type=
"VARCHAR(80)"
>
</column>
...
...
@@ -11735,19 +11735,19 @@
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"QUEUEITEM"
constraintName=
"DER1N_QUEUEITEM__TRANSACTIONCU"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[QUOTE]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
08
-369"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
12
-369"
>
<addForeignKeyConstraint
baseColumnNames=
"CAMPAIGNID"
baseTableName=
"QUOTE"
constraintName=
"DER1N_QUOTE__CAMPAIGN__CAMPAIG"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CAMPAIGNID"
referencedTableName=
"CAMPAIGN"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
08
-370"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
12
-370"
>
<addForeignKeyConstraint
baseColumnNames=
"OPPORTUNITYID"
baseTableName=
"QUOTE"
constraintName=
"DER1N_QUOTE__OPPORTUNITY__OPPO"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"OPPORTUNITYID"
referencedTableName=
"OPPORTUNITY"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
08
-371"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
12
-371"
>
<addForeignKeyConstraint
baseColumnNames=
"PRICELEVELID"
baseTableName=
"QUOTE"
constraintName=
"DER1N_QUOTE__PRICELEVEL__PRICE"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
08
-372"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
12
-372"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"QUOTE"
constraintName=
"DER1N_QUOTE__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
08
-373"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-quote-1
12
-373"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"QUOTE"
constraintName=
"DER1N_QUOTE__TRANSACTIONCURREN"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[QUOTECLOSE]外键关系 -->
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录