Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
c7b38aa1
提交
c7b38aa1
编写于
7月 08, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chitanda 发布系统代码
上级
d9eeebc5
变更
17
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
2776 行增加
和
87 行删除
+2776
-87
data-dictionary.json
app_CRM/public/assets/json/data-dictionary.json
+1147
-0
en-US.ts
app_CRM/src/locale/lang/en-US.ts
+0
-1
zh-CN.ts
app_CRM/src/locale/lang/zh-CN.ts
+0
-1
codelist_en_US.ts
app_CRM/src/locale/lanres/codelist/codelist_en_US.ts
+117
-0
codelist_zh_CN.ts
app_CRM/src/locale/lanres/codelist/codelist_zh_CN.ts
+117
-0
connection_en_US.ts
...src/locale/lanres/entities/connection/connection_en_US.ts
+12
-0
connection_zh_CN.ts
...src/locale/lanres/entities/connection/connection_zh_CN.ts
+12
-0
central-appmenu.ts
app_CRM/src/mock/app/central-appmenu/central-appmenu.ts
+0
-20
codelist.ts
app_CRM/src/mock/codelist/codelist.ts
+1147
-0
contact-info.vue
app_CRM/src/pages/base/contact-info/contact-info.vue
+2
-2
state.ts
app_CRM/src/store/modules/view-action/state.ts
+0
-1
central-appmenu-base.tsx
.../src/widgets/app/central-appmenu/central-appmenu-base.tsx
+0
-25
central-appmenu-model.ts
.../src/widgets/app/central-appmenu/central-appmenu-model.ts
+0
-35
main-form-base.tsx
app_CRM/src/widgets/connection/main-form/main-form-base.tsx
+52
-0
main-form-model.ts
app_CRM/src/widgets/connection/main-form/main-form-model.ts
+60
-0
main-form.html
app_CRM/src/widgets/connection/main-form/main-form.html
+109
-1
systemResource.json
...al-core/src/main/resources/permission/systemResource.json
+1
-1
未找到文件。
app_CRM/public/assets/json/data-dictionary.json
浏览文件 @
c7b38aa1
此差异已折叠。
点击以展开。
app_CRM/src/locale/lang/en-US.ts
浏览文件 @
c7b38aa1
...
...
@@ -125,7 +125,6 @@ export default {
user_menus
:
"用户菜单"
,
top_menus
:
"顶部菜单"
,
menuitem3
:
"设置"
,
menuitem4
:
"链接角色"
,
menuitem34
:
"消息通知"
,
menuitem35
:
"帮助"
,
left_exp
:
"左侧菜单"
,
...
...
app_CRM/src/locale/lang/zh-CN.ts
浏览文件 @
c7b38aa1
...
...
@@ -125,7 +125,6 @@ export default {
user_menus
:
"用户菜单"
,
top_menus
:
"顶部菜单"
,
menuitem3
:
"设置"
,
menuitem4
:
"链接角色"
,
menuitem34
:
"消息通知"
,
menuitem35
:
"帮助"
,
left_exp
:
"左侧菜单"
,
...
...
app_CRM/src/locale/lanres/codelist/codelist_en_US.ts
浏览文件 @
c7b38aa1
...
...
@@ -47,6 +47,123 @@ export default {
"4"
:
"N60"
,
"empty"
:
""
},
Connection__Record2ObjectTypeCode
:
{
"1"
:
"Account"
,
"4200"
:
"Activity"
,
"10156"
:
"Agreement"
,
"10157"
:
"Agreement Booking Date"
,
"10158"
:
"Agreement Booking Incident"
,
"10159"
:
"Agreement Booking Product"
,
"10160"
:
"Agreement Booking Service"
,
"10161"
:
"Agreement Booking Service Task"
,
"10162"
:
"Agreement Booking Setup"
,
"10163"
:
"Agreement Invoice Date"
,
"10164"
:
"Agreement Invoice Product"
,
"10165"
:
"Agreement Invoice Setup"
,
"4201"
:
"Appointment"
,
"10042"
:
"Booking Alert"
,
"10043"
:
"Booking Alert Status"
,
"10045"
:
"Booking Rule"
,
"10168"
:
"Booking Timestamp"
,
"4400"
:
"Campaign"
,
"4402"
:
"Campaign Activity"
,
"112"
:
"Case"
,
"9400"
:
"Channel Access Profile Rule"
,
"123"
:
"Competitor"
,
"2"
:
"Contact"
,
"1010"
:
"Contract"
,
"10173"
:
"Customer Asset"
,
"4202"
:
"Email"
,
"9700"
:
"Entitlement"
,
"9701"
:
"Entitlement Channel"
,
"9703"
:
"Entitlement Template Channel"
,
"4000"
:
"Facility/Equipment"
,
"4204"
:
"Fax"
,
"10065"
:
"Fulfillment Preference"
,
"9600"
:
"Goal"
,
"10181"
:
"Incident Type Characteristic"
,
"10182"
:
"Incident Type Product"
,
"10183"
:
"Incident Type Service"
,
"10187"
:
"Inventory Adjustment"
,
"10188"
:
"Inventory Adjustment Product"
,
"10189"
:
"Inventory Journal"
,
"10190"
:
"Inventory Transfer"
,
"1090"
:
"Invoice"
,
"10241"
:
"IoT Alert"
,
"10242"
:
"IoT Device"
,
"10243"
:
"IoT Device Category"
,
"10244"
:
"IoT Device Command"
,
"10248"
:
"IoT Device Registration History"
,
"9953"
:
"Knowledge Article"
,
"9930"
:
"Knowledge Base Record"
,
"4"
:
"Lead"
,
"4207"
:
"Letter"
,
"4300"
:
"Marketing List"
,
"3"
:
"Opportunity"
,
"1088"
:
"Order"
,
"10195"
:
"Payment"
,
"10196"
:
"Payment Detail"
,
"10197"
:
"Payment Method"
,
"10198"
:
"Payment Term"
,
"4210"
:
"Phone Call"
,
"50"
:
"Position"
,
"10199"
:
"Postal Code"
,
"1022"
:
"Price List"
,
"10108"
:
"Process Notes"
,
"4710"
:
"Process Session"
,
"1024"
:
"Product"
,
"10200"
:
"Product Inventory"
,
"10027"
:
"Profile Album"
,
"10109"
:
"Project"
,
"10070"
:
"Project Service Approval"
,
"10117"
:
"Project Team Member"
,
"10201"
:
"Purchase Order"
,
"10202"
:
"Purchase Order Bill"
,
"10203"
:
"Purchase Order Product"
,
"10204"
:
"Purchase Order Receipt"
,
"10205"
:
"Purchase Order Receipt Product"
,
"10206"
:
"Purchase Order SubStatus"
,
"1084"
:
"Quote"
,
"10207"
:
"Quote Booking Incident"
,
"10208"
:
"Quote Booking Product"
,
"10209"
:
"Quote Booking Service"
,
"10210"
:
"Quote Booking Service Task"
,
"4251"
:
"Recurring Appointment"
,
"4007"
:
"Resource Group"
,
"10235"
:
"Resource Restriction (Deprecated)"
,
"10061"
:
"Resource Territory"
,
"10215"
:
"RMA"
,
"10216"
:
"RMA Product"
,
"10217"
:
"RMA Receipt"
,
"10218"
:
"RMA Receipt Product"
,
"10219"
:
"RMA SubStatus"
,
"10220"
:
"RTV"
,
"10221"
:
"RTV Product"
,
"10222"
:
"RTV Substatus"
,
"4005"
:
"Scheduling Group"
,
"4214"
:
"Service Activity"
,
"10224"
:
"Ship Via"
,
"4216"
:
"Social Activity"
,
"99"
:
"Social Profile"
,
"10036"
:
"Survey invite"
,
"10037"
:
"Survey response"
,
"10064"
:
"System User Scheduler Setting"
,
"4212"
:
"Task"
,
"10225"
:
"Tax Code"
,
"9"
:
"Team"
,
"2013"
:
"Territory"
,
"10066"
:
"Time Group Detail"
,
"10227"
:
"Time Off Request"
,
"8"
:
"User"
,
"10229"
:
"Warehouse"
,
"10230"
:
"Work Order"
,
"10231"
:
"Work Order Characteristic (Deprecated)"
,
"10233"
:
"Work Order Incident"
,
"10234"
:
"Work Order Product"
,
"10236"
:
"Work Order Service"
,
"10237"
:
"Work Order Service Task"
,
"empty"
:
""
},
ActivityTypeCode
:
{
"TASK"
:
"任务"
,
"EMAIL"
:
"电子邮件"
,
...
...
app_CRM/src/locale/lanres/codelist/codelist_zh_CN.ts
浏览文件 @
c7b38aa1
...
...
@@ -47,6 +47,123 @@ export default {
"4"
:
"N60"
,
"empty"
:
""
,
},
Connection__Record2ObjectTypeCode
:
{
"1"
:
"Account"
,
"4200"
:
"Activity"
,
"10156"
:
"Agreement"
,
"10157"
:
"Agreement Booking Date"
,
"10158"
:
"Agreement Booking Incident"
,
"10159"
:
"Agreement Booking Product"
,
"10160"
:
"Agreement Booking Service"
,
"10161"
:
"Agreement Booking Service Task"
,
"10162"
:
"Agreement Booking Setup"
,
"10163"
:
"Agreement Invoice Date"
,
"10164"
:
"Agreement Invoice Product"
,
"10165"
:
"Agreement Invoice Setup"
,
"4201"
:
"Appointment"
,
"10042"
:
"Booking Alert"
,
"10043"
:
"Booking Alert Status"
,
"10045"
:
"Booking Rule"
,
"10168"
:
"Booking Timestamp"
,
"4400"
:
"Campaign"
,
"4402"
:
"Campaign Activity"
,
"112"
:
"Case"
,
"9400"
:
"Channel Access Profile Rule"
,
"123"
:
"Competitor"
,
"2"
:
"Contact"
,
"1010"
:
"Contract"
,
"10173"
:
"Customer Asset"
,
"4202"
:
"Email"
,
"9700"
:
"Entitlement"
,
"9701"
:
"Entitlement Channel"
,
"9703"
:
"Entitlement Template Channel"
,
"4000"
:
"Facility/Equipment"
,
"4204"
:
"Fax"
,
"10065"
:
"Fulfillment Preference"
,
"9600"
:
"Goal"
,
"10181"
:
"Incident Type Characteristic"
,
"10182"
:
"Incident Type Product"
,
"10183"
:
"Incident Type Service"
,
"10187"
:
"Inventory Adjustment"
,
"10188"
:
"Inventory Adjustment Product"
,
"10189"
:
"Inventory Journal"
,
"10190"
:
"Inventory Transfer"
,
"1090"
:
"Invoice"
,
"10241"
:
"IoT Alert"
,
"10242"
:
"IoT Device"
,
"10243"
:
"IoT Device Category"
,
"10244"
:
"IoT Device Command"
,
"10248"
:
"IoT Device Registration History"
,
"9953"
:
"Knowledge Article"
,
"9930"
:
"Knowledge Base Record"
,
"4"
:
"Lead"
,
"4207"
:
"Letter"
,
"4300"
:
"Marketing List"
,
"3"
:
"Opportunity"
,
"1088"
:
"Order"
,
"10195"
:
"Payment"
,
"10196"
:
"Payment Detail"
,
"10197"
:
"Payment Method"
,
"10198"
:
"Payment Term"
,
"4210"
:
"Phone Call"
,
"50"
:
"Position"
,
"10199"
:
"Postal Code"
,
"1022"
:
"Price List"
,
"10108"
:
"Process Notes"
,
"4710"
:
"Process Session"
,
"1024"
:
"Product"
,
"10200"
:
"Product Inventory"
,
"10027"
:
"Profile Album"
,
"10109"
:
"Project"
,
"10070"
:
"Project Service Approval"
,
"10117"
:
"Project Team Member"
,
"10201"
:
"Purchase Order"
,
"10202"
:
"Purchase Order Bill"
,
"10203"
:
"Purchase Order Product"
,
"10204"
:
"Purchase Order Receipt"
,
"10205"
:
"Purchase Order Receipt Product"
,
"10206"
:
"Purchase Order SubStatus"
,
"1084"
:
"Quote"
,
"10207"
:
"Quote Booking Incident"
,
"10208"
:
"Quote Booking Product"
,
"10209"
:
"Quote Booking Service"
,
"10210"
:
"Quote Booking Service Task"
,
"4251"
:
"Recurring Appointment"
,
"4007"
:
"Resource Group"
,
"10235"
:
"Resource Restriction (Deprecated)"
,
"10061"
:
"Resource Territory"
,
"10215"
:
"RMA"
,
"10216"
:
"RMA Product"
,
"10217"
:
"RMA Receipt"
,
"10218"
:
"RMA Receipt Product"
,
"10219"
:
"RMA SubStatus"
,
"10220"
:
"RTV"
,
"10221"
:
"RTV Product"
,
"10222"
:
"RTV Substatus"
,
"4005"
:
"Scheduling Group"
,
"4214"
:
"Service Activity"
,
"10224"
:
"Ship Via"
,
"4216"
:
"Social Activity"
,
"99"
:
"Social Profile"
,
"10036"
:
"Survey invite"
,
"10037"
:
"Survey response"
,
"10064"
:
"System User Scheduler Setting"
,
"4212"
:
"Task"
,
"10225"
:
"Tax Code"
,
"9"
:
"Team"
,
"2013"
:
"Territory"
,
"10066"
:
"Time Group Detail"
,
"10227"
:
"Time Off Request"
,
"8"
:
"User"
,
"10229"
:
"Warehouse"
,
"10230"
:
"Work Order"
,
"10231"
:
"Work Order Characteristic (Deprecated)"
,
"10233"
:
"Work Order Incident"
,
"10234"
:
"Work Order Product"
,
"10236"
:
"Work Order Service"
,
"10237"
:
"Work Order Service Task"
,
"empty"
:
""
,
},
ActivityTypeCode
:
{
"TASK"
:
"任务"
,
"EMAIL"
:
"电子邮件"
,
...
...
app_CRM/src/locale/lanres/entities/connection/connection_en_US.ts
浏览文件 @
c7b38aa1
...
...
@@ -59,6 +59,18 @@ export default {
srfdeid
:
""
,
srfsourcekey
:
""
,
connectionname
:
"关联名称"
,
record1id
:
"连接自"
,
record2id
:
"已连接到"
,
record2idobjecttypecode
:
"Record2IdObjectTypeCode"
,
record2objecttypecode
:
"类型(目标)"
,
statecode
:
"状态"
,
statuscode
:
"状态描述"
,
effectiveend
:
"正在结束"
,
effectivestart
:
"正在启动"
,
description
:
"说明"
,
ownerid
:
"负责人"
,
owneridtype
:
"负责人类型"
,
owneridyominame
:
"负责人"
,
createman
:
"建立人"
,
createdate
:
"建立时间"
,
updateman
:
"更新人"
,
...
...
app_CRM/src/locale/lanres/entities/connection/connection_zh_CN.ts
浏览文件 @
c7b38aa1
...
...
@@ -58,6 +58,18 @@ export default {
srfdeid
:
""
,
srfsourcekey
:
""
,
connectionname
:
"关联名称"
,
record1id
:
"连接自"
,
record2id
:
"已连接到"
,
record2idobjecttypecode
:
"Record2IdObjectTypeCode"
,
record2objecttypecode
:
"类型(目标)"
,
statecode
:
"状态"
,
statuscode
:
"状态描述"
,
effectiveend
:
"正在结束"
,
effectivestart
:
"正在启动"
,
description
:
"说明"
,
ownerid
:
"负责人"
,
owneridtype
:
"负责人类型"
,
owneridyominame
:
"负责人"
,
createman
:
"建立人"
,
createdate
:
"建立时间"
,
updateman
:
"更新人"
,
...
...
app_CRM/src/mock/app/central-appmenu/central-appmenu.ts
浏览文件 @
c7b38aa1
...
...
@@ -63,26 +63,6 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
textcls
:
''
,
appfunctag
:
'_4'
,
resourcetag
:
''
,
items
:
[
{
id
:
'4935CE28-DCC3-4BF9-A0F9-8761DF54578C'
,
name
:
'menuitem4'
,
text
:
'链接角色'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'链接角色'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
'fa fa-mars-stroke-v'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'_5'
,
resourcetag
:
''
,
},
],
},
{
id
:
'5EC4881D-09C3-4536-A609-333F7A6A6012'
,
...
...
app_CRM/src/mock/codelist/codelist.ts
浏览文件 @
c7b38aa1
此差异已折叠。
点击以展开。
app_CRM/src/pages/base/contact-info/contact-info.vue
浏览文件 @
c7b38aa1
...
...
@@ -3,7 +3,7 @@
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ContactInfoBase } from './contact-info-base';
import
view
_datapanel from '@widgets/contact/data-panel-panel/data-panel-panel.vue';
import
layout
_datapanel from '@widgets/contact/data-panel-panel/data-panel-panel.vue';
import view_tabexppanel from '@widgets/contact/infotabexppanel-tabexppanel/infotabexppanel-tabexppanel.vue';
/**
...
...
@@ -15,7 +15,7 @@ import view_tabexppanel from '@widgets/contact/infotabexppanel-tabexppanel/infot
*/
@Component({
components: {
view
_datapanel,
layout
_datapanel,
view_tabexppanel,
}
})
...
...
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
c7b38aa1
...
...
@@ -1282,7 +1282,6 @@ export const viewstate: any = {
'9af073dea1ea05903d52e8bdc5a03dd5'
,
'45fdc8ee4d1401d2d625e80177395ddc'
,
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4'
,
'3cac572b3a6905293a0e22e3f3fa3c04'
,
'7FCD2E75-E34A-493C-922E-8AE47BCE08CA'
,
'd1c35f3c52010e1428d7dc1a6bc82f63'
,
'e0aef8c0d1f1ae28f628a0541b118961'
,
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-base.tsx
浏览文件 @
c7b38aa1
...
...
@@ -36,8 +36,6 @@ export class CentralBase extends Vue {
this
.
clickAuto15
(
item
);
break
;
case
'Auto11'
:
this
.
clickAuto11
(
item
);
break
;
case
'_5'
:
this
.
click_5
(
item
);
break
;
case
'Auto14'
:
this
.
clickAuto14
(
item
);
break
;
case
'_4'
:
...
...
@@ -296,29 +294,6 @@ export class CentralBase extends Vue {
})
}
/**
* 链接角色
*
* @param {*} [item={}]
* @memberof Central
*/
public
click_5
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'connectionroles'
,
parameterName
:
'connectionrole'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
return
;
}
this
.
$nextTick
(
function
(){
this
.
$router
.
push
(
path
);
})
}
/**
* 潜在客户管理
*
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-model.ts
浏览文件 @
c7b38aa1
...
...
@@ -70,29 +70,6 @@ export default class CentralModel {
appfuncyype
:
'APPVIEW'
,
viewname
:
'setting'
,
resourcetag
:
''
,
items
:
[
{
id
:
'4935CE28-DCC3-4BF9-A0F9-8761DF54578C'
,
name
:
'menuitem4'
,
text
:
'链接角色'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'链接角色'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
'fa fa-mars-stroke-v'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'_5'
,
appfuncyype
:
'APPVIEW'
,
viewname
:
'connection-role-grid-view'
,
resourcetag
:
''
,
}
,
],
}
,
{
...
...
@@ -964,18 +941,6 @@ export default class CentralModel {
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
},
{
appfunctag
:
'_5'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'connectionrolegridview'
,
deResParameters
:
[],
routepath
:
'/central/:central?/connectionroles/:connectionrole?/gridview/:gridview?'
,
parameters
:
[
{
pathName
:
'connectionroles'
,
parameterName
:
'connectionrole'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
},
{
appfunctag
:
'Auto14'
,
appfuncyype
:
'APPVIEW'
,
...
...
app_CRM/src/widgets/connection/main-form/main-form-base.tsx
浏览文件 @
c7b38aa1
...
...
@@ -65,6 +65,18 @@ export class MainEditFormBase extends EditFormControlBase {
srfdeid
:
null
,
srfsourcekey
:
null
,
connectionname
:
null
,
record1id
:
null
,
record2id
:
null
,
record2idobjecttypecode
:
null
,
record2objecttypecode
:
null
,
statecode
:
null
,
statuscode
:
null
,
effectiveend
:
null
,
effectivestart
:
null
,
description
:
null
,
ownerid
:
null
,
owneridtype
:
null
,
owneridyominame
:
null
,
createman
:
null
,
createdate
:
null
,
updateman
:
null
,
...
...
@@ -84,6 +96,22 @@ export class MainEditFormBase extends EditFormControlBase {
{
required
:
true
,
type
:
'string'
,
message
:
'关联名称 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'关联名称 值不能为空'
,
trigger
:
'blur'
},
],
statecode
:
[
{
required
:
true
,
type
:
'number'
,
message
:
'状态 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'number'
,
message
:
'状态 值不能为空'
,
trigger
:
'blur'
},
],
ownerid
:
[
{
required
:
true
,
type
:
'string'
,
message
:
'负责人 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'负责人 值不能为空'
,
trigger
:
'blur'
},
],
owneridtype
:
[
{
required
:
true
,
type
:
'string'
,
message
:
'负责人类型 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'负责人类型 值不能为空'
,
trigger
:
'blur'
},
],
owneridyominame
:
[
{
required
:
true
,
type
:
'string'
,
message
:
'负责人 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'负责人 值不能为空'
,
trigger
:
'blur'
},
],
}
/**
...
...
@@ -119,6 +147,30 @@ export class MainEditFormBase extends EditFormControlBase {
connectionname
:
new
FormItemModel
({
caption
:
'关联名称'
,
detailType
:
'FORMITEM'
,
name
:
'connectionname'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
record1id
:
new
FormItemModel
({
caption
:
'连接自'
,
detailType
:
'FORMITEM'
,
name
:
'record1id'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
record2id
:
new
FormItemModel
({
caption
:
'已连接到'
,
detailType
:
'FORMITEM'
,
name
:
'record2id'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
record2idobjecttypecode
:
new
FormItemModel
({
caption
:
'Record2IdObjectTypeCode'
,
detailType
:
'FORMITEM'
,
name
:
'record2idobjecttypecode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
record2objecttypecode
:
new
FormItemModel
({
caption
:
'类型(目标)'
,
detailType
:
'FORMITEM'
,
name
:
'record2objecttypecode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
0
}),
statecode
:
new
FormItemModel
({
caption
:
'状态'
,
detailType
:
'FORMITEM'
,
name
:
'statecode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
2
}),
statuscode
:
new
FormItemModel
({
caption
:
'状态描述'
,
detailType
:
'FORMITEM'
,
name
:
'statuscode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
effectiveend
:
new
FormItemModel
({
caption
:
'正在结束'
,
detailType
:
'FORMITEM'
,
name
:
'effectiveend'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
effectivestart
:
new
FormItemModel
({
caption
:
'正在启动'
,
detailType
:
'FORMITEM'
,
name
:
'effectivestart'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
description
:
new
FormItemModel
({
caption
:
'说明'
,
detailType
:
'FORMITEM'
,
name
:
'description'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
ownerid
:
new
FormItemModel
({
caption
:
'负责人'
,
detailType
:
'FORMITEM'
,
name
:
'ownerid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
owneridtype
:
new
FormItemModel
({
caption
:
'负责人类型'
,
detailType
:
'FORMITEM'
,
name
:
'owneridtype'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
}),
owneridyominame
:
new
FormItemModel
({
caption
:
'负责人'
,
detailType
:
'FORMITEM'
,
name
:
'owneridyominame'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
0
}),
createman
:
new
FormItemModel
({
caption
:
'建立人'
,
detailType
:
'FORMITEM'
,
name
:
'createman'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
0
}),
createdate
:
new
FormItemModel
({
caption
:
'建立时间'
,
detailType
:
'FORMITEM'
,
name
:
'createdate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
0
}),
...
...
app_CRM/src/widgets/connection/main-form/main-form-model.ts
浏览文件 @
c7b38aa1
...
...
@@ -60,6 +60,66 @@ export default class MainModel {
prop
:
'connectionname'
,
dataType
:
'TEXT'
,
},
{
name
:
'record1id'
,
prop
:
'record1id'
,
dataType
:
'TEXT'
,
},
{
name
:
'record2id'
,
prop
:
'record2id'
,
dataType
:
'TEXT'
,
},
{
name
:
'record2idobjecttypecode'
,
prop
:
'record2idobjecttypecode'
,
dataType
:
'TEXT'
,
},
{
name
:
'record2objecttypecode'
,
prop
:
'record2objecttypecode'
,
dataType
:
'SSCODELIST'
,
},
{
name
:
'statecode'
,
prop
:
'statecode'
,
dataType
:
'NSCODELIST'
,
},
{
name
:
'statuscode'
,
prop
:
'statuscode'
,
dataType
:
'NSCODELIST'
,
},
{
name
:
'effectiveend'
,
prop
:
'effectiveend'
,
dataType
:
'DATETIME'
,
},
{
name
:
'effectivestart'
,
prop
:
'effectivestart'
,
dataType
:
'DATETIME'
,
},
{
name
:
'description'
,
prop
:
'description'
,
dataType
:
'TEXT'
,
},
{
name
:
'ownerid'
,
prop
:
'ownerid'
,
dataType
:
'TEXT'
,
},
{
name
:
'owneridtype'
,
prop
:
'owneridtype'
,
dataType
:
'TEXT'
,
},
{
name
:
'owneridyominame'
,
prop
:
'owneridyominame'
,
dataType
:
'TEXT'
,
},
{
name
:
'createman'
,
prop
:
'createman'
,
...
...
app_CRM/src/widgets/connection/main-form/main-form.html
浏览文件 @
c7b38aa1
...
...
@@ -15,11 +15,119 @@
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.connection.main_form.details.group1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<row>
<i-col
v-show=
"detailsModel.connectionname.visible"
:style=
"{}"
:
lg=
"{ span: 24
, offset: 0 }"
>
<i-col
v-show=
"detailsModel.connectionname.visible"
:style=
"{}"
:
md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6
, offset: 0 }"
>
<app-form-item
name=
'connectionname'
:itemRules=
"this.rules.connectionname"
class=
''
:caption=
"$t('entities.connection.main_form.details.connectionname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.connectionname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.connectionname"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.connectionname.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.record1id.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'record1id'
:itemRules=
"this.rules.record1id"
class=
''
:caption=
"$t('entities.connection.main_form.details.record1id')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.record1id.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.record1id"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.record1id.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.record2id.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'record2id'
:itemRules=
"this.rules.record2id"
class=
''
:caption=
"$t('entities.connection.main_form.details.record2id')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.record2id.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.record2id"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.record2id.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.record2idobjecttypecode.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'record2idobjecttypecode'
:itemRules=
"this.rules.record2idobjecttypecode"
class=
''
:caption=
"$t('entities.connection.main_form.details.record2idobjecttypecode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.record2idobjecttypecode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.record2idobjecttypecode"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.record2idobjecttypecode.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.record2objecttypecode.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'record2objecttypecode'
:itemRules=
"this.rules.record2objecttypecode"
class=
''
:caption=
"$t('entities.connection.main_form.details.record2objecttypecode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.record2objecttypecode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.record2objecttypecode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'{ }'
:localParam =
'{ }'
:disabled=
"detailsModel.record2objecttypecode.disabled"
tag=
'Connection__Record2ObjectTypeCode'
codelistType=
'STATIC'
placeholder=
'请选择...'
style=
""
>
</dropdown-list>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.statecode.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'statecode'
:itemRules=
"this.rules.statecode"
class=
''
:caption=
"$t('entities.connection.main_form.details.statecode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.statecode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.statecode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'{ }'
:localParam =
'{ }'
:disabled=
"detailsModel.statecode.disabled"
tag=
'Connection__StateCode'
codelistType=
'STATIC'
placeholder=
'请选择...'
style=
""
>
</dropdown-list>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.statuscode.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'statuscode'
:itemRules=
"this.rules.statuscode"
class=
''
:caption=
"$t('entities.connection.main_form.details.statuscode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.statuscode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.statuscode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'{ }'
:localParam =
'{ }'
:disabled=
"detailsModel.statuscode.disabled"
tag=
'Connection__StatusCode'
codelistType=
'STATIC'
placeholder=
'请选择...'
style=
""
>
</dropdown-list>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.effectiveend.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'effectiveend'
:itemRules=
"this.rules.effectiveend"
class=
''
:caption=
"$t('entities.connection.main_form.details.effectiveend')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.effectiveend.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.effectiveend"
:disabled=
"detailsModel.effectiveend.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) => { this.data.effectiveend = val1 }"
></date-picker>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.effectivestart.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'effectivestart'
:itemRules=
"this.rules.effectivestart"
class=
''
:caption=
"$t('entities.connection.main_form.details.effectivestart')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.effectivestart.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.effectivestart"
:disabled=
"detailsModel.effectivestart.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) => { this.data.effectivestart = val1 }"
></date-picker>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.description.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'description'
:itemRules=
"this.rules.description"
class=
''
:caption=
"$t('entities.connection.main_form.details.description')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.description.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.description"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.description.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.ownerid.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'ownerid'
:itemRules=
"this.rules.ownerid"
class=
''
:caption=
"$t('entities.connection.main_form.details.ownerid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ownerid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.ownerid"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.ownerid.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.owneridtype.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'owneridtype'
:itemRules=
"this.rules.owneridtype"
class=
''
:caption=
"$t('entities.connection.main_form.details.owneridtype')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.owneridtype.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.owneridtype"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.owneridtype.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.owneridyominame.visible"
:style=
"{}"
:md=
"{ span: 12, offset: 0 }"
:lg=
"{ span: 8, offset: 0 }"
:xl=
"{ span: 6, offset: 0 }"
>
<app-form-item
name=
'owneridyominame'
:itemRules=
"this.rules.owneridyominame"
class=
''
:caption=
"$t('entities.connection.main_form.details.owneridyominame')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.owneridyominame.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.owneridyominame"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.owneridyominame.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
</row>
...
...
businesscentral-core/src/main/resources/permission/systemResource.json
浏览文件 @
c7b38aa1
...
...
@@ -481,7 +481,7 @@
{
"appid"
:
"CRM"
,
"appname"
:
"客户管理"
,
"appmenu"
:[{
"menuid"
:
"Central"
,
"menuname"
:
"Central"
,
"menuitem"
:[{
"id"
:
"user_menus"
,
"name"
:
"用户菜单"
},{
"id"
:
"top_menus"
,
"name"
:
"顶部菜单"
,
"items"
:[{
"id"
:
"menuitem3"
,
"name"
:
"设置"
,
"items"
:[{
"id"
:
"menuitem4"
,
"name"
:
"链接角色"
}]
},{
"id"
:
"menuitem34"
,
"name"
:
"消息通知"
},{
"id"
:
"menuitem35"
,
"name"
:
"帮助"
}]},{
"id"
:
"left_exp"
,
"name"
:
"左侧菜单"
,
"items"
:[{
"id"
:
"menuitem17"
,
"name"
:
"主页"
},{
"id"
:
"menuitem18"
,
"name"
:
"最近"
},{
"id"
:
"menuitem19"
,
"name"
:
"固定"
},{
"id"
:
"menuitem16"
,
"name"
:
"我的工作"
,
"items"
:[{
"id"
:
"menuitem1"
,
"name"
:
"仪表盘"
},{
"id"
:
"menuitem2"
,
"name"
:
"活动"
}]},{
"id"
:
"menuitem20"
,
"name"
:
"客户"
,
"items"
:[{
"id"
:
"menuitem5"
,
"name"
:
"客户"
},{
"id"
:
"menuitem7"
,
"name"
:
"联系人"
}]},{
"id"
:
"menuitem21"
,
"name"
:
"销售"
,
"items"
:[{
"id"
:
"menuitem8"
,
"name"
:
"潜在客户"
},{
"id"
:
"menuitem9"
,
"name"
:
"商机"
},{
"id"
:
"menuitem10"
,
"name"
:
"竞争对手"
}]},{
"id"
:
"menuitem22"
,
"name"
:
"宣传资料"
,
"items"
:[{
"id"
:
"menuitem11"
,
"name"
:
"报价单"
},{
"id"
:
"menuitem12"
,
"name"
:
"订单"
},{
"id"
:
"menuitem13"
,
"name"
:
"发票"
},{
"id"
:
"menuitem6"
,
"name"
:
"产品"
},{
"id"
:
"menuitem14"
,
"name"
:
"销售宣传资料"
}]},{
"id"
:
"menuitem23"
,
"name"
:
"市场营销"
,
"items"
:[{
"id"
:
"menuitem30"
,
"name"
:
"市场活动"
},{
"id"
:
"menuitem15"
,
"name"
:
"市场营销列表"
},{
"id"
:
"menuitem29"
,
"name"
:
"快速市场活动"
}]},{
"id"
:
"menuitem24"
,
"name"
:
"绩效"
,
"items"
:[{
"id"
:
"menuitem25"
,
"name"
:
"目标"
},{
"id"
:
"menuitem31"
,
"name"
:
"目标度量"
}]},{
"id"
:
"menuitem27"
,
"name"
:
"服务"
,
"items"
:[{
"id"
:
"menuitem28"
,
"name"
:
"服务案例"
},{
"id"
:
"menuitem32"
,
"name"
:
"知识文章"
}]}]},{
"id"
:
"bottom_exp"
,
"name"
:
"底部内容"
},{
"id"
:
"footer_left"
,
"name"
:
"底部左侧"
},{
"id"
:
"footer_center"
,
"name"
:
"底部中间"
},{
"id"
:
"footer_right"
,
"name"
:
"底部右侧"
}]
},{
"menuid"
:
"Setting"
,
"menuname"
:
"Setting"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"链接角色"
}]
}]
"appmenu"
:[{
"menuid"
:
"Central"
,
"menuname"
:
"Central"
,
"menuitem"
:[{
"id"
:
"user_menus"
,
"name"
:
"用户菜单"
},{
"id"
:
"top_menus"
,
"name"
:
"顶部菜单"
,
"items"
:[{
"id"
:
"menuitem3"
,
"name"
:
"设置"
},{
"id"
:
"menuitem34"
,
"name"
:
"消息通知"
},{
"id"
:
"menuitem35"
,
"name"
:
"帮助"
}]},{
"id"
:
"left_exp"
,
"name"
:
"左侧菜单"
,
"items"
:[{
"id"
:
"menuitem17"
,
"name"
:
"主页"
},{
"id"
:
"menuitem18"
,
"name"
:
"最近"
},{
"id"
:
"menuitem19"
,
"name"
:
"固定"
},{
"id"
:
"menuitem16"
,
"name"
:
"我的工作"
,
"items"
:[{
"id"
:
"menuitem1"
,
"name"
:
"仪表盘"
},{
"id"
:
"menuitem2"
,
"name"
:
"活动"
}]},{
"id"
:
"menuitem20"
,
"name"
:
"客户"
,
"items"
:[{
"id"
:
"menuitem5"
,
"name"
:
"客户"
},{
"id"
:
"menuitem7"
,
"name"
:
"联系人"
}]},{
"id"
:
"menuitem21"
,
"name"
:
"销售"
,
"items"
:[{
"id"
:
"menuitem8"
,
"name"
:
"潜在客户"
},{
"id"
:
"menuitem9"
,
"name"
:
"商机"
},{
"id"
:
"menuitem10"
,
"name"
:
"竞争对手"
}]},{
"id"
:
"menuitem22"
,
"name"
:
"宣传资料"
,
"items"
:[{
"id"
:
"menuitem11"
,
"name"
:
"报价单"
},{
"id"
:
"menuitem12"
,
"name"
:
"订单"
},{
"id"
:
"menuitem13"
,
"name"
:
"发票"
},{
"id"
:
"menuitem6"
,
"name"
:
"产品"
},{
"id"
:
"menuitem14"
,
"name"
:
"销售宣传资料"
}]},{
"id"
:
"menuitem23"
,
"name"
:
"市场营销"
,
"items"
:[{
"id"
:
"menuitem30"
,
"name"
:
"市场活动"
},{
"id"
:
"menuitem15"
,
"name"
:
"市场营销列表"
},{
"id"
:
"menuitem29"
,
"name"
:
"快速市场活动"
}]},{
"id"
:
"menuitem24"
,
"name"
:
"绩效"
,
"items"
:[{
"id"
:
"menuitem25"
,
"name"
:
"目标"
},{
"id"
:
"menuitem31"
,
"name"
:
"目标度量"
}]},{
"id"
:
"menuitem27"
,
"name"
:
"服务"
,
"items"
:[{
"id"
:
"menuitem28"
,
"name"
:
"服务案例"
},{
"id"
:
"menuitem32"
,
"name"
:
"知识文章"
}]}]},{
"id"
:
"bottom_exp"
,
"name"
:
"底部内容"
},{
"id"
:
"footer_left"
,
"name"
:
"底部左侧"
},{
"id"
:
"footer_center"
,
"name"
:
"底部中间"
},{
"id"
:
"footer_right"
,
"name"
:
"底部右侧"
}]
},{
"menuid"
:
"Setting"
,
"menuname"
:
"Setting"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"链接角色"
}]
}]
}
,
{
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录