Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
3bd5ec19
提交
3bd5ec19
编写于
7月 09, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
e8e10476
变更
30
展开全部
显示空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
13061 行增加
和
1441 行删除
+13061
-1441
view-config.json
app_CRM/public/assets/json/view-config.json
+1
-1
contact_en_US.ts
app_CRM/src/locale/lanres/entities/contact/contact_en_US.ts
+72
-62
contact_zh_CN.ts
app_CRM/src/locale/lanres/entities/contact/contact_zh_CN.ts
+72
-62
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+1
-1
central-base.tsx
app_CRM/src/pages/base/central/central-base.tsx
+294
-0
central.vue
app_CRM/src/pages/base/central/central.vue
+23
-0
main.ts
app_CRM/src/pages/base/central/main.ts
+63
-0
page-register.ts
app_CRM/src/pages/base/central/page-register.ts
+241
-0
router.ts
app_CRM/src/pages/base/central/router.ts
+9304
-0
contact-edit-view-base.tsx
...c/pages/base/contact-edit-view/contact-edit-view-base.tsx
+227
-0
contact-edit-view.html
...M/src/pages/base/contact-edit-view/contact-edit-view.html
+29
-0
contact-edit-view.vue
...RM/src/pages/base/contact-edit-view/contact-edit-view.vue
+22
-0
contact-info-base.tsx
app_CRM/src/pages/base/contact-info/contact-info-base.tsx
+68
-0
account-service-base.ts
app_CRM/src/service/account/account-service-base.ts
+50
-50
campaign-service-base.ts
app_CRM/src/service/campaign/campaign-service-base.ts
+41
-41
contact-service-base.ts
app_CRM/src/service/contact/contact-service-base.ts
+131
-131
ibiz-list-service-base.ts
app_CRM/src/service/ibiz-list/ibiz-list-service-base.ts
+82
-82
lead-service-base.ts
app_CRM/src/service/lead/lead-service-base.ts
+369
-369
opportunity-service-base.ts
app_CRM/src/service/opportunity/opportunity-service-base.ts
+223
-223
sales-literature-service-base.ts
...service/sales-literature/sales-literature-service-base.ts
+52
-52
sales-order-service-base.ts
app_CRM/src/service/sales-order/sales-order-service-base.ts
+308
-308
state.ts
app_CRM/src/store/modules/view-action/state.ts
+14
-1
contact-ui-service-base.ts
app_CRM/src/uiservice/contact/contact-ui-service-base.ts
+121
-0
edit-abstract-form-base.tsx
...ts/contact/edit-abstract-form/edit-abstract-form-base.tsx
+209
-0
edit-abstract-form-model.ts
...ts/contact/edit-abstract-form/edit-abstract-form-model.ts
+216
-0
edit-abstract-form-service.ts
.../contact/edit-abstract-form/edit-abstract-form-service.ts
+407
-0
edit-abstract-form.html
...idgets/contact/edit-abstract-form/edit-abstract-form.html
+341
-0
edit-abstract-form.vue
...widgets/contact/edit-abstract-form/edit-abstract-form.vue
+22
-0
vue.config.js
app_CRM/vue.config.js
+1
-1
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+57
-57
未找到文件。
app_CRM/public/assets/json/view-config.json
浏览文件 @
3bd5ec19
...
...
@@ -1583,7 +1583,7 @@
"title"
:
"企业中心"
,
"caption"
:
"企业中心"
,
"viewtype"
:
"APPINDEXVIEW"
,
"viewmodule"
:
"
Ungroup
"
,
"viewmodule"
:
"
Base
"
,
"viewname"
:
"Central"
,
"viewfilename"
:
"central"
,
"viewtag"
:
"8b173077897bf865fe035e56073b763d"
,
...
...
app_CRM/src/locale/lanres/entities/contact/contact_en_US.ts
浏览文件 @
3bd5ec19
...
...
@@ -386,6 +386,56 @@ export default {
uiactions
:
{
},
},
edit_abstract_form
:
{
details
:
{
group1
:
"联系人基本信息"
,
grouppanel1
:
"地址信息"
,
grouppanel2
:
"个人信息"
,
grouppanel3
:
"市场营销信息"
,
grouppanel4
:
"记账信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfmajortext
:
"全名"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
jobtitle
:
"职务"
,
customername
:
"客户"
,
emailaddress1
:
"电子邮件"
,
telephone1
:
"商务电话"
,
mobilephone
:
"移动电话"
,
fax
:
"传真"
,
address1_country
:
"国家/地区"
,
address1_stateorprovince
:
"省/市/自治区"
,
address1_city
:
"市/县"
,
address1_line1
:
"街道"
,
address1_postalcode
:
"邮政编码"
,
gendercode
:
"性别"
,
familystatuscode
:
"婚姻状况"
,
spousesname
:
"配偶/伴侣姓名"
,
birthdate
:
"生日"
,
anniversary
:
"纪念日"
,
description
:
"说明"
,
originatingleadname
:
"原始潜在顾客"
,
lastusedincampaign
:
"上次参与市场活动的日期"
,
donotsendmm
:
"发送市场营销资料"
,
shippingmethodcode
:
"送货方式"
,
transactioncurrencyname
:
"货币"
,
creditlimit
:
"信用额度"
,
creditonhold
:
"信用冻结"
,
paymenttermscode
:
"付款方式"
,
customerid
:
"客户"
,
originatingleadid
:
"原始潜在顾客"
,
transactioncurrencyid
:
"货币"
,
contactid
:
"联系人"
,
},
uiactions
:
{
},
},
edit_datapanel_form
:
{
details
:
{
group1
:
"联系人基本信息"
,
...
...
@@ -560,30 +610,6 @@ export default {
uiactions
:
{
},
},
main_form
:
{
details
:
{
group1
:
"contact基本信息"
,
formpage1
:
"基本信息"
,
group2
:
"操作信息"
,
formpage2
:
"其它"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfmajortext
:
"全名"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
createman
:
"建立人"
,
createdate
:
"建立时间"
,
updateman
:
"更新人"
,
updatedate
:
"更新时间"
,
contactid
:
"联系人"
,
},
uiactions
:
{
},
},
bookedit_form
:
{
details
:
{
grouppanel2
:
"记账"
,
...
...
@@ -661,7 +687,29 @@ export default {
uiactions
:
{
},
},
editviewtoolbar_toolbar
:
{
tbitem12
:
{
caption
:
"关闭"
,
tip
:
"关闭"
,
},
},
infotoolbar_toolbar
:
{
tbitem1_openmaineditview
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem1_remove_sep
:
{
caption
:
""
,
tip
:
""
,
},
tbitem1_remove
:
{
caption
:
"删除并关闭"
,
tip
:
"删除并关闭"
,
},
seperator4
:
{
caption
:
""
,
tip
:
""
,
},
tbitem17_inactive
:
{
caption
:
"停用"
,
tip
:
"停用"
,
...
...
@@ -833,42 +881,4 @@ export default {
tip
:
"Filter"
,
},
},
editviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"Save"
,
tip
:
"Save"
,
},
tbitem4
:
{
caption
:
"Save And New"
,
tip
:
"Save And New"
,
},
tbitem5
:
{
caption
:
"Save And Close"
,
tip
:
"Save And Close Window"
,
},
tbitem6
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem7
:
{
caption
:
"Remove And Close"
,
tip
:
"Remove And Close Window"
,
},
tbitem8
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem12
:
{
caption
:
"New"
,
tip
:
"New"
,
},
tbitem13
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
},
};
\ No newline at end of file
app_CRM/src/locale/lanres/entities/contact/contact_zh_CN.ts
浏览文件 @
3bd5ec19
...
...
@@ -385,6 +385,56 @@ export default {
uiactions
:
{
},
},
edit_abstract_form
:
{
details
:
{
group1
:
"联系人基本信息"
,
grouppanel1
:
"地址信息"
,
grouppanel2
:
"个人信息"
,
grouppanel3
:
"市场营销信息"
,
grouppanel4
:
"记账信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfmajortext
:
"全名"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
jobtitle
:
"职务"
,
customername
:
"客户"
,
emailaddress1
:
"电子邮件"
,
telephone1
:
"商务电话"
,
mobilephone
:
"移动电话"
,
fax
:
"传真"
,
address1_country
:
"国家/地区"
,
address1_stateorprovince
:
"省/市/自治区"
,
address1_city
:
"市/县"
,
address1_line1
:
"街道"
,
address1_postalcode
:
"邮政编码"
,
gendercode
:
"性别"
,
familystatuscode
:
"婚姻状况"
,
spousesname
:
"配偶/伴侣姓名"
,
birthdate
:
"生日"
,
anniversary
:
"纪念日"
,
description
:
"说明"
,
originatingleadname
:
"原始潜在顾客"
,
lastusedincampaign
:
"上次参与市场活动的日期"
,
donotsendmm
:
"发送市场营销资料"
,
shippingmethodcode
:
"送货方式"
,
transactioncurrencyname
:
"货币"
,
creditlimit
:
"信用额度"
,
creditonhold
:
"信用冻结"
,
paymenttermscode
:
"付款方式"
,
customerid
:
"客户"
,
originatingleadid
:
"原始潜在顾客"
,
transactioncurrencyid
:
"货币"
,
contactid
:
"联系人"
,
},
uiactions
:
{
},
},
edit_datapanel_form
:
{
details
:
{
group1
:
"联系人基本信息"
,
...
...
@@ -559,30 +609,6 @@ export default {
uiactions
:
{
},
},
main_form
:
{
details
:
{
group1
:
"contact基本信息"
,
formpage1
:
"基本信息"
,
group2
:
"操作信息"
,
formpage2
:
"其它"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfmajortext
:
"全名"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
createman
:
"建立人"
,
createdate
:
"建立时间"
,
updateman
:
"更新人"
,
updatedate
:
"更新时间"
,
contactid
:
"联系人"
,
},
uiactions
:
{
},
},
bookedit_form
:
{
details
:
{
grouppanel2
:
"记账"
,
...
...
@@ -660,7 +686,29 @@ export default {
uiactions
:
{
},
},
editviewtoolbar_toolbar
:
{
tbitem12
:
{
caption
:
"关闭"
,
tip
:
"关闭"
,
},
},
infotoolbar_toolbar
:
{
tbitem1_openmaineditview
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem1_remove_sep
:
{
caption
:
""
,
tip
:
""
,
},
tbitem1_remove
:
{
caption
:
"删除并关闭"
,
tip
:
"删除并关闭"
,
},
seperator4
:
{
caption
:
""
,
tip
:
""
,
},
tbitem17_inactive
:
{
caption
:
"停用"
,
tip
:
"停用"
,
...
...
@@ -832,42 +880,4 @@ export default {
tip
:
"过滤"
,
},
},
editviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"保存"
,
tip
:
"保存"
,
},
tbitem4
:
{
caption
:
"保存并新建"
,
tip
:
"保存并新建"
,
},
tbitem5
:
{
caption
:
"保存并关闭"
,
tip
:
"保存并关闭"
,
},
tbitem6
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem7
:
{
caption
:
"删除并关闭"
,
tip
:
"删除并关闭"
,
},
tbitem8
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem12
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem13
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
},
};
\ No newline at end of file
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
3bd5ec19
...
...
@@ -1275,7 +1275,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"title"
:
"企业中心"
,
"caption"
:
"企业中心"
,
"viewtype"
:
"APPINDEXVIEW"
,
"viewmodule"
:
"
Ungroup
"
,
"viewmodule"
:
"
Base
"
,
"viewname"
:
"Central"
,
"viewtag"
:
"8b173077897bf865fe035e56073b763d"
},
...
...
app_CRM/src/pages/base/central/central-base.tsx
0 → 100644
浏览文件 @
3bd5ec19
import
{
Vue
}
from
'vue-property-decorator'
;
import
{
FooterItemsService
}
from
'@/studio-core/service/FooterItemsService'
;
import
{
AppService
}
from
'@/studio-core/service/app-service/AppService'
;
import
AppMenusModel
from
'@/widgets/app/central-appmenu/central-appmenu-model'
;
/**
* 应用首页基类
*/
export
class
CentralBase
extends
Vue
{
/**
* 计数器服务对象集合
*
* @type {any[]}
* @memberof CentralBase
*/
protected
counterServiceArray
:
any
[]
=
[];
/**
* 应用服务
*
* @protected
* @type {AppService}
* @memberof CentralBase
*/
protected
appService
:
AppService
=
new
AppService
();
/**
* 应用菜单集合
*
* @type {AppMenusModel}
* @memberof CentralBase
*/
protected
appMenuModel
:
AppMenusModel
=
new
AppMenusModel
();
/**
* 左侧导航菜单
*
* @type {*}
* @memberof CentralBase
*/
protected
left_exp
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'left_exp'
)
||
{};
/**
* 底部导航菜单
*
* @type {*}
* @memberof CentralBase
*/
protected
bottom_exp
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'bottom_exp'
)
||
{};
/**
* 标题栏菜单
*
* @type {*}
* @memberof CentralBase
*/
protected
top_menus
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'top_menus'
)
||
{};
/**
* 用户菜单
*
* @type {*}
* @memberof CentralBase
*/
protected
user_menus
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'user_menus'
)
||
{};
/**
* 底部项绘制服务
*
* @type {FooterItemsService}
* @memberof CentralBase
*/
protected
footerItemsService
:
FooterItemsService
=
new
FooterItemsService
();
/**
* 视图标识
*
* @type {string}
* @memberof CentralBase
*/
protected
viewtag
:
string
=
'8b173077897bf865fe035e56073b763d'
;
/**
* 视图模型数据
*
* @type {*}
* @memberof CentralBase
*/
protected
model
:
any
=
{
srfCaption
:
'app.views.central.caption'
,
srfTitle
:
'app.views.central.title'
,
srfSubTitle
:
'app.views.central.subtitle'
,
dataInfo
:
''
}
/**
* 应用上下文
*
* @type {*}
* @memberof CentralBase
*/
protected
context
:
any
=
{};
/**
* 视图参数
*
* @type {*}
* @memberof CentralBase
*/
protected
viewparams
:
any
=
{};
/**
* 注册底部项
*
* @memberof CentralBase
*/
protected
registerFooterItems
():
void
{
const
leftItems
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'footer_left'
);
const
centerItems
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'footer_center'
);
const
rightItems
:
any
=
this
.
appMenuModel
.
getMenuGroup
(
'footer_right'
);
if
(
leftItems
&&
leftItems
.
items
)
{
leftItems
.
items
.
forEach
((
item
:
any
)
=>
{
this
.
footerItemsService
.
registerLeftItem
((
h
:
any
)
=>
{
return
<
div
class=
'action-item'
title=
{
item
.
tooltip
}
on
-
click=
{
()
=>
this
.
click
(
item
)
}
>
<
menu
-
icon
item=
{
item
}
/>
{
item
.
text
}
</
div
>;
});
});
}
if
(
centerItems
&&
centerItems
.
items
)
{
centerItems
.
items
.
forEach
((
item
:
any
)
=>
{
this
.
footerItemsService
.
registerCenterItem
((
h
:
any
)
=>
{
return
<
div
class=
'action-item'
title=
{
item
.
tooltip
}
on
-
click=
{
()
=>
this
.
click
(
item
)
}
>
<
menu
-
icon
item=
{
item
}
/>
{
item
.
text
}
</
div
>;
});
});
}
if
(
rightItems
&&
rightItems
.
items
)
{
rightItems
.
items
.
forEach
((
item
:
any
)
=>
{
this
.
footerItemsService
.
registerRightItem
((
h
:
any
)
=>
{
return
<
div
class=
'action-item'
title=
{
item
.
tooltip
}
on
-
click=
{
()
=>
this
.
click
(
item
)
}
>
<
menu
-
icon
item=
{
item
}
/>
{
item
.
text
}
</
div
>;
});
});
}
}
/**
* 项点击触发界面行为
*
* @protected
* @param {*} item
* @memberof CentralBase
*/
protected
click
(
item
:
any
):
void
{
const
appMenu
:
any
=
this
.
$refs
.
appmenu
;
if
(
appMenu
)
{
appMenu
.
click
(
item
);
}
}
/**
* 组件创建完毕
*
* @memberof CentralBase
*/
protected
created
()
{
const
secondtag
=
this
.
$util
.
createUUID
();
this
.
$store
.
commit
(
"viewaction/createdView"
,
{
viewtag
:
this
.
viewtag
,
secondtag
:
secondtag
});
this
.
viewtag
=
secondtag
;
this
.
parseViewParam
();
this
.
$uiState
.
changeLayoutState
({
styleMode
:
'STYLE2'
});
this
.
registerFooterItems
();
}
/**
* 销毁之前
*
* @memberof CentralBase
*/
protected
beforeDestroy
()
{
this
.
$store
.
commit
(
"viewaction/removeView"
,
this
.
viewtag
);
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof CentralBase
*/
protected
mounted
()
{
this
.
$viewTool
.
setIndexParameters
([
{
pathName
:
'central'
,
parameterName
:
'central'
}
]);
this
.
$viewTool
.
setIndexViewParam
(
this
.
context
);
setTimeout
(()
=>
{
const
el
=
document
.
getElementById
(
'app-loading-x'
);
if
(
el
)
{
el
.
remove
();
}
},
300
);
}
/**
* 解析视图参数
*
* @private
* @memberof CentralBase
*/
private
parseViewParam
():
void
{
const
path
=
this
.
$route
.
matched
[
this
.
$route
.
matched
.
length
-
1
].
path
;
const
keys
:
Array
<
any
>
=
[];
const
curReg
=
this
.
$pathToRegExp
.
pathToRegexp
(
path
,
keys
);
const
matchArray
=
curReg
.
exec
(
this
.
$route
.
path
);
let
tempValue
:
Object
=
{};
keys
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
.
name
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
this
.
$viewTool
.
formatRouteParams
(
tempValue
,
this
.
$route
,
this
.
context
,
this
.
viewparams
);
if
(
this
.
$store
.
getters
.
getAppData
()
&&
this
.
$store
.
getters
.
getAppData
().
context
)
{
Object
.
assign
(
this
.
context
,
this
.
$store
.
getters
.
getAppData
().
context
);
}
}
/**
* 绘制内容
*/
public
render
():
any
{
const
styleMode
=
this
.
$uiState
.
layoutState
.
styleMode
;
let
leftContent
:
any
;
switch
(
styleMode
)
{
case
'DEFAULT'
:
leftContent
=
<
app
-
content
-
left
-
exp
ref=
"leftExp"
menus=
{
this
.
left_exp
.
items
}
/>;
break
;
case
'STYLE2'
:
leftContent
=
<
app
-
content
-
left
-
nav
-
menu
ref=
"leftNavMenu"
menus=
{
this
.
left_exp
.
items
}
on
-
menu
-
click=
{
(
item
:
any
)
=>
this
.
click
(
item
)
}
/>;
}
return
(
<
app
-
layout
ref=
"appLayout"
>
<
template
slot=
"header"
>
<
app
-
header
>
<
template
slot=
"header_left"
>
<
div
class=
"title"
>
企业中心
</
div
>
</
template
>
<
template
slot=
"header_right"
>
<
app
-
header
-
menus
ref=
"headerMenus"
menus=
{
this
.
top_menus
.
items
}
on
-
menu
-
click=
{
(
item
:
any
)
=>
this
.
click
(
item
)
}
/>
<
user
-
info
ref=
"userInfo"
menus=
{
this
.
user_menus
.
items
}
on
-
menu
-
click=
{
(
item
:
any
)
=>
this
.
click
(
item
)
}
/>
</
template
>
</
app
-
header
>
<
view_appmenu
ref=
'appmenu'
/>
</
template
>
<
app
-
content
>
{
this
.
left_exp
.
items
?
<
template
slot=
"content_left"
>
{
leftContent
}
</
template
>
:
null
}
{
styleMode
===
'DEFAULT'
?
<
tab
-
page
-
exp
ref=
"tabExp"
></
tab
-
page
-
exp
>
:
null
}
<
div
class=
"view-warp"
>
<
app
-
keep
-
alive
routerList=
{
this
.
appService
.
navHistory
.
historyList
}
>
<
router
-
view
key=
{
this
.
$route
.
fullPath
}
></
router
-
view
>
</
app
-
keep
-
alive
>
</
div
>
{
this
.
bottom_exp
.
items
?
<
template
slot=
"content_bottom"
>
<
app
-
content
-
bottom
-
exp
ref=
"bootomExp"
menus=
{
this
.
bottom_exp
.
items
}
/>
</
template
>
:
null
}
</
app
-
content
>
<
template
slot=
"footer"
>
<
app
-
footer
ref=
"footer"
/>
</
template
>
</
app
-
layout
>
);
}
}
\ No newline at end of file
app_CRM/src/pages/base/central/central.vue
0 → 100644
浏览文件 @
3bd5ec19
<
script
lang=
'tsx'
>
import
{
Component
}
from
"vue-property-decorator"
;
import
{
VueLifeCycleProcessing
}
from
'@/studio-core/decorators/VueLifeCycleProcessing'
;
import
{
CentralBase
}
from
'./central-base'
;
import
view_appmenu
from
'@widgets/app/central-appmenu/central-appmenu.vue'
;
/**
* 应用首页
*/
@
Component
({
components
:
{
view_appmenu
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
vm
.
$appService
.
navHistory
.
setViewTag
(
vm
.
viewtag
,
to
);
vm
.
$appService
.
navHistory
.
setViewContext
(
vm
.
context
,
to
);
});
},
})
@
VueLifeCycleProcessing
()
export
default
class
Central
extends
CentralBase
{
}
</
script
>
\ No newline at end of file
app_CRM/src/pages/base/central/main.ts
0 → 100644
浏览文件 @
3bd5ec19
import
Vue
from
'vue'
;
import
Vuex
from
'vuex'
;
import
VueRouter
from
'vue-router'
;
import
App
from
'@/App.vue'
;
import
ElementUi
from
'element-ui'
;
import
ViewUI
from
'view-design'
;
// import ibizLab from 'ibiz-vue-lib';
import
{
Interceptors
}
from
'@/utils'
;
import
{
Print
}
from
'@/utils/print'
;
import
i18n
from
'@/locale'
import
'element-ui/lib/theme-chalk/index.css'
;
import
'view-design/dist/styles/iview.css'
;
// import 'ibiz-vue-lib/lib/ibiz-vue-lib.css';
import
'@/styles/default.less'
;
// 模拟数据
// if (process.env.NODE_ENV === 'development') {
// require('@/mock');
// }
const
pathToRegExp
=
require
(
'path-to-regexp'
);
import
{
AppComponents
}
from
'@/app-register'
;
import
{
PageComponents
}
from
'./page-register'
;
import
{
UserComponent
}
from
'@/user-register'
;
import
{
PortletComponent
}
from
'@/portlet-register'
;
import
store
from
'@/store'
;
import
router
from
'./router'
;
Vue
.
config
.
errorHandler
=
function
(
err
:
any
,
vm
:
any
,
info
:
any
)
{
console
.
error
(
err
);
}
Vue
.
config
.
productionTip
=
false
;
Vue
.
use
(
Print
);
// Vue.use(ibizLab);
Vue
.
use
(
Vuex
);
Vue
.
use
(
VueRouter
);;
Vue
.
use
(
ElementUi
,
{
i18n
:
(
key
:
any
,
value
:
any
)
=>
i18n
.
t
(
key
,
value
)
});
Vue
.
use
(
ViewUI
,
{
i18n
:
(
key
:
any
,
value
:
any
)
=>
i18n
.
t
(
key
,
value
)
});
// Vue.use(utils);
Vue
.
prototype
.
$pathToRegExp
=
pathToRegExp
;
Vue
.
use
(
AppComponents
);
Vue
.
use
(
PageComponents
);
Vue
.
use
(
UserComponent
);
Vue
.
use
(
PortletComponent
);
Interceptors
.
getInstance
(
router
,
store
);
const
init
=
async
()
=>
{
new
Vue
({
i18n
,
store
,
router
,
render
:
(
h
:
any
)
=>
h
(
App
),
}).
$mount
(
'#app'
);
};
init
();
\ No newline at end of file
app_CRM/src/pages/base/central/page-register.ts
0 → 100644
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/pages/base/central/router.ts
0 → 100644
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/pages/base/contact-edit-view/contact-edit-view-base.tsx
0 → 100644
浏览文件 @
3bd5ec19
import
{
Subject
}
from
'rxjs'
;
import
{
EditViewBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
EditViewEngine
from
'@engine/view/edit-view-engine'
;
/**
* 联系人编辑视图视图基类
*
* @export
* @class ContactEditViewBase
* @extends {EditViewBase}
*/
export
class
ContactEditViewBase
extends
EditViewBase
{
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof ContactEditViewBase
*/
protected
appDeName
:
string
=
'contact'
;
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof ContactEditViewBase
*/
protected
appDeKey
:
string
=
'contactid'
;
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof ContactEditViewBase
*/
protected
appDeMajor
:
string
=
'fullname'
;
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ContactEditViewBase
*/
protected
appEntityService
:
ContactService
=
new
ContactService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof ContactEditViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof ContactEditViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.contact.views.editview.caption'
,
srfTitle
:
'entities.contact.views.editview.title'
,
srfSubTitle
:
'entities.contact.views.editview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof ContactEditViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_form
:
{
name
:
'form'
,
type
:
'FORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof ContactEditView
*/
public
toolBarModels
:
any
=
{
tbitem12
:
{
name
:
'tbitem12'
,
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
=
'9a96ebf2e57358b3590b9d4479edb77a'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof ContactEditViewBase
*/
public
engine
:
EditViewEngine
=
new
EditViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof ContactEditViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
form
:
this
.
$refs
.
form
,
p2k
:
'0'
,
keyPSDEField
:
'contact'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactEditViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem12'
))
{
this
.
toolbar_tbitem12_click
(
null
,
''
,
$event2
);
}
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactEditViewBase
*/
public
form_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'save'
,
$event
);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactEditViewBase
*/
public
form_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'remove'
,
$event
);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactEditViewBase
*/
public
form_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem12_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Exit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactEditViewBase
*/
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/base/contact-edit-view/contact-edit-view.html
0 → 100644
浏览文件 @
3bd5ec19
<studio-view-style2
viewName=
"contacteditview"
viewTitle=
"联系人编辑视图"
class=
'deeditview contact-edit-view'
>
<template
slot=
'title'
>
<span
class=
'caption-info'
>
{{$t(model.srfTitle)}}
</span>
</template>
<template
slot=
"toolbar"
>
<view-toolbar
mode=
"STYLE2"
:model=
"toolBarModels"
@
item-click=
"toolbar_click($event)"
/>
</template>
<view
_form
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:autosave=
"false"
:viewtag=
"viewtag"
:showBusyIndicator=
"true"
updateAction=
"Update"
removeAction=
"Remove"
loaddraftAction=
"GetDraft"
loadAction=
"Get"
createAction=
"Create"
WFSubmitAction=
""
WFStartAction=
""
style=
''
name=
"form"
ref=
'form'
@
save=
"form_save($event)"
@
remove=
"form_remove($event)"
@
load=
"form_load($event)"
@
closeview=
"closeView($event)"
>
</view
_form
>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/base/contact-edit-view/contact-edit-view.vue
0 → 100644
浏览文件 @
3bd5ec19
<
template
src=
"./contact-edit-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ContactEditViewBase } from './contact-edit-view-base';
import view_form from '@widgets/contact/edit-abstract-form/edit-abstract-form.vue';
/**
* 联系人编辑视图视图
*
* @export
* @class ContactEditView
* @extends {ContactEditViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class ContactEditView extends ContactEditViewBase { }
</script>
app_CRM/src/pages/base/contact-info/contact-info-base.tsx
浏览文件 @
3bd5ec19
...
...
@@ -105,6 +105,12 @@ export class ContactInfoBase extends TabExpViewBase {
* @memberof ContactInfo
*/
public
toolBarModels
:
any
=
{
tbitem1_openmaineditview
:
{
name
:
'tbitem1_openmaineditview'
,
caption
:
'编辑'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'OpenMainEditView'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem1_remove_sep
:
{
name
:
'tbitem1_remove_sep'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem1_remove
:
{
name
:
'tbitem1_remove'
,
caption
:
'删除并关闭'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'删除并关闭'
,
iconcls
:
'fa fa-remove'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'SINGLEKEY'
},
class
:
''
},
seperator4
:
{
name
:
'seperator4'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem17_inactive
:
{
name
:
'tbitem17_inactive'
,
caption
:
'停用'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'停用'
,
iconcls
:
'fa fa-minus-circle'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Inactive'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem17_active_sep
:
{
name
:
'tbitem17_active_sep'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
...
...
@@ -178,6 +184,12 @@ export class ContactInfoBase extends TabExpViewBase {
* @memberof ContactInfoBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1_openmaineditview'
))
{
this
.
toolbar_tbitem1_openmaineditview_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1_remove'
))
{
this
.
toolbar_tbitem1_remove_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem17_inactive'
))
{
this
.
toolbar_tbitem17_inactive_click
(
null
,
''
,
$event2
);
}
...
...
@@ -192,6 +204,62 @@ export class ContactInfoBase extends TabExpViewBase {
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem1_openmaineditview_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
=
{};
if
(
_this
.
getDatas
&&
_this
.
getDatas
instanceof
Function
)
{
datas
=
[...
_this
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
const
curUIService
:
ContactUIService
=
new
ContactUIService
();
curUIService
.
Contact_OpenMainEditView
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem1_remove_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
=
{};
if
(
_this
.
getDatas
&&
_this
.
getDatas
instanceof
Function
)
{
datas
=
[...
_this
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
const
curUIService
:
ContactUIService
=
new
ContactUIService
();
curUIService
.
Contact_Remove
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
...
...
app_CRM/src/service/account/account-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/campaign/campaign-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/contact/contact-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/ibiz-list/ibiz-list-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/lead/lead-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/opportunity/opportunity-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/sales-literature/sales-literature-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/service/sales-order/sales-order-service-base.ts
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
3bd5ec19
...
...
@@ -1446,7 +1446,7 @@ export const viewstate: any = {
},
{
viewtag
:
'8b173077897bf865fe035e56073b763d'
,
viewmodule
:
'
Ungroup
'
,
viewmodule
:
'
Base
'
,
viewname
:
'Central'
,
viewaction
:
''
,
viewdatachange
:
false
,
...
...
@@ -1664,6 +1664,18 @@ export const viewstate: any = {
'6debde861c6e6f91eeb442cb869e9737'
,
],
},
{
viewtag
:
'9a96ebf2e57358b3590b9d4479edb77a'
,
viewmodule
:
'Base'
,
viewname
:
'ContactEditView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'da3f8c1f20f440f3df54d6c13a8de586'
,
'29bfcd628ab25e297248ff0524d12908'
,
'1bc48b15dbe69c5f30dafe489f58aacb'
,
],
},
{
viewtag
:
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4'
,
viewmodule
:
'Ungroup'
,
...
...
@@ -2532,6 +2544,7 @@ export const viewstate: any = {
'6f35f461b53398775ff2f1a563776fa3'
,
'26e0707950d8676b9a9363c6bc46ee89'
,
'bae77557d2f7a7852b634dc5d5a93435'
,
'9a96ebf2e57358b3590b9d4479edb77a'
,
'50138c2b066081ec8b6fe67c88af5371'
,
'6168a7e787ead13b1e0f9a55007bc68c'
,
'791f1cf310878383aaec921c83adb1d5'
,
...
...
app_CRM/src/uiservice/contact/contact-ui-service-base.ts
浏览文件 @
3bd5ec19
...
...
@@ -372,6 +372,59 @@ export default class ContactUIServiceBase extends UIService {
openIndexViewTab
(
data
);
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Contact_OpenMainEditView
(
args
:
any
[],
context
:
any
=
{}
,
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
contact
:
'%contact%'
});
Object
.
assign
(
params
,
{
contactid
:
'%contact%'
});
Object
.
assign
(
params
,
{
fullname
:
'%fullname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
let
deResParameters
:
any
[]
=
[];
if
(
context
.
account
&&
true
){
deResParameters
=
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
];
const
openIndexViewTab
=
(
data
:
any
)
=>
{
const
routePath
=
actionContext
.
$viewTool
.
buildUpRoutePath
(
actionContext
.
$route
,
context
,
deResParameters
,
parameters
,
_args
,
data
);
actionContext
.
$router
.
push
(
routePath
);
return
null
;
}
openIndexViewTab
(
data
);
}
/**
* 停用
*
...
...
@@ -503,6 +556,74 @@ export default class ContactUIServiceBase extends UIService {
backend
();
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Contact_Remove
(
args
:
any
[],
context
:
any
=
{},
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
){
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
contact
:
'%contact%'
});
Object
.
assign
(
params
,
{
contactid
:
'%contact%'
});
Object
.
assign
(
params
,
{
fullname
:
'%fullname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
if
(
context
&&
context
.
srfsessionid
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
delete
context
.
srfsessionid
;
}
actionContext
.
closeView
(
null
);
const
backend
=
()
=>
{
const
curService
:
ContactService
=
new
ContactService
();
curService
.
Remove
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
return
;
}
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'删除并关闭成功!'
});
const
_this
:
any
=
actionContext
;
if
(
xData
&&
xData
.
refresh
&&
xData
.
refresh
instanceof
Function
)
{
xData
.
refresh
(
args
);
}
return
response
;
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
return
;
}
if
(
response
.
status
===
401
)
{
return
;
}
return
response
;
});
};
backend
();
}
/**
* 激活
*
...
...
app_CRM/src/widgets/contact/edit-abstract-form/edit-abstract-form-base.tsx
0 → 100644
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/widgets/contact/edit-abstract-form/edit-abstract-form-model.ts
0 → 100644
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/widgets/contact/edit-abstract-form/edit-abstract-form-service.ts
0 → 100644
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/widgets/contact/edit-abstract-form/edit-abstract-form.html
0 → 100644
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
app_CRM/src/widgets/contact/edit-abstract-form/edit-abstract-form.vue
0 → 100644
浏览文件 @
3bd5ec19
<
template
src=
"./edit-abstract-form.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { Edit_AbstractEditFormBase } from './edit-abstract-form-base';
/**
* form部件
*
* @export
* @class Edit_AbstractEditForm
* @extends {Edit_AbstractEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class Edit_AbstractEditForm extends Edit_AbstractEditFormBase { }
</script>
app_CRM/vue.config.js
浏览文件 @
3bd5ec19
...
...
@@ -20,7 +20,7 @@ module.exports = {
pages
:
{
index
:
{
// page 的入口
entry
:
'src/pages/
ungroup
/central/main.ts'
,
entry
:
'src/pages/
base
/central/main.ts'
,
// 模板来源
template
:
'src/template.html'
,
// 在 dist/index.html 的输出
...
...
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
3bd5ec19
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录