提交 1ad56d76 编写于 作者: ibizdev's avatar ibizdev

xignzi006 发布系统代码

上级 997392ef
...@@ -269,6 +269,16 @@ ...@@ -269,6 +269,16 @@
"viewtag": "45fdc8ee4d1401d2d625e80177395ddc", "viewtag": "45fdc8ee4d1401d2d625e80177395ddc",
"memo": "" "memo": ""
}, },
"leadquickcreate": {
"title": "快速新建",
"caption": "快速新建",
"viewtype": "DEOPTVIEW",
"viewmodule": "Sales",
"viewname": "LeadQuickCreate",
"viewfilename": "lead-quick-create",
"viewtag": "4745ca10fe4421ea043cb9ace1840224",
"memo": ""
},
"campaignsummary_head": { "campaignsummary_head": {
"title": "市场活动概览", "title": "市场活动概览",
"caption": "市场活动概览", "caption": "市场活动概览",
......
...@@ -169,12 +169,40 @@ export default { ...@@ -169,12 +169,40 @@ export default {
editview: { editview: {
caption: "潜在顾客", caption: "潜在顾客",
title: 'lead编辑视图', title: 'lead编辑视图',
},
quickcreate: {
caption: "快速新建",
title: '快速新建',
}, },
pickupgridview: { pickupgridview: {
caption: "潜在顾客", caption: "潜在顾客",
title: 'lead选择表格视图', title: 'lead选择表格视图',
}, },
}, },
quickcreate_form: {
details: {
group1: "lead基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "潜在顾客",
srfmajortext: "姓名",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
fullname: "姓名",
createman: "建立人",
createdate: "建立时间",
updateman: "更新人",
updatedate: "更新时间",
leadid: "潜在顾客",
},
uiactions: {
},
},
main_form: { main_form: {
details: { details: {
group1: "lead基本信息", group1: "lead基本信息",
......
...@@ -168,12 +168,40 @@ export default { ...@@ -168,12 +168,40 @@ export default {
editview: { editview: {
caption: '潜在顾客', caption: '潜在顾客',
title: 'lead编辑视图', title: 'lead编辑视图',
},
quickcreate: {
caption: '快速新建',
title: '快速新建',
}, },
pickupgridview: { pickupgridview: {
caption: '潜在顾客', caption: '潜在顾客',
title: 'lead选择表格视图', title: 'lead选择表格视图',
}, },
}, },
quickcreate_form: {
details: {
group1: 'lead基本信息',
formpage1: '基本信息',
group2: '操作信息',
formpage2: '其它',
srfupdatedate: '更新时间',
srforikey: '',
srfkey: '潜在顾客',
srfmajortext: '姓名',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
fullname: '姓名',
createman: '建立人',
createdate: '建立时间',
updateman: '更新人',
updatedate: '更新时间',
leadid: '潜在顾客',
},
uiactions: {
},
},
main_form: { main_form: {
details: { details: {
group1: 'lead基本信息', group1: 'lead基本信息',
......
...@@ -223,6 +223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -223,6 +223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ActivityPointerGridView", "viewname": "ActivityPointerGridView",
"viewtag": "45fdc8ee4d1401d2d625e80177395ddc" "viewtag": "45fdc8ee4d1401d2d625e80177395ddc"
}, },
"leadquickcreate": {
"title": "快速新建",
"caption": "快速新建",
"viewtype": "DEOPTVIEW",
"viewmodule": "Sales",
"viewname": "LeadQuickCreate",
"viewtag": "4745ca10fe4421ea043cb9ace1840224"
},
"campaignsummary_head": { "campaignsummary_head": {
"title": "市场活动概览", "title": "市场活动概览",
"caption": "市场活动概览", "caption": "市场活动概览",
......
...@@ -938,16 +938,28 @@ export default class LeadGridViewBase extends Vue { ...@@ -938,16 +938,28 @@ export default class LeadGridViewBase extends Vue {
} }
const parameters: any[] = [ const parameters: any[] = [
{ pathName: 'leads', parameterName: 'lead' }, { pathName: 'leads', parameterName: 'lead' },
{ pathName: 'editview', parameterName: 'editview' },
]; ];
const _this: any = this; const _this: any = this;
const openIndexViewTab = (data: any) => { const openDrawer = (view: any, data: any) => {
const _data: any = { w: (new Date().getTime()) }; let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
Object.assign(_data, data); container.subscribe((result: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, _data); if (!result || !Object.is(result.ret, 'OK')) {
this.$router.push(routePath); return;
}
if (!xData || !(xData.refresh instanceof Function)) {
return;
}
xData.refresh(result.datas);
});
} }
openIndexViewTab(data); const view: any = {
viewname: 'lead-quick-create',
height: 0,
width: 450,
title: this.$t('entities.lead.views.quickcreate.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
} }
......
.option-view {
--option-view: 0;
}
// 避免空文件,后台不让空文件过
.lead-quick-create {
--lead-quick-create: 0;
}
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import LeadQuickCreateBase from './lead-quick-create-base.vue';
import view_form from '@widgets/lead/quick-create-form/quick-create-form.vue';
@Component({
components: {
view_form,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { route: to, viewtag: vm.viewtag });
});
},
})
export default class LeadQuickCreate extends LeadQuickCreateBase {
}
</script>
\ No newline at end of file
...@@ -61,13 +61,14 @@ export const PageComponents = { ...@@ -61,13 +61,14 @@ export const PageComponents = {
Vue.component('lead-edit-view', () => import('@pages/sales/lead-edit-view/lead-edit-view.vue')); Vue.component('lead-edit-view', () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'));
Vue.component('phone-call-edit-view', () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue')); Vue.component('phone-call-edit-view', () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'));
Vue.component('task-edit-view', () => import('@pages/base/task-edit-view/task-edit-view.vue')); Vue.component('task-edit-view', () => import('@pages/base/task-edit-view/task-edit-view.vue'));
Vue.component('lead-quick-create', () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'));
Vue.component('price-level-pickup-view', () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue')); Vue.component('price-level-pickup-view', () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'));
Vue.component('opportunity-edit-view', () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue')); Vue.component('opportunity-edit-view', () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'));
Vue.component('competitor-grid-view', () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue')); Vue.component('competitor-grid-view', () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'));
Vue.component('ibiz-list-edit-view', () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue')); Vue.component('ibiz-list-edit-view', () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'));
Vue.component('quote-edit-view', () => import('@pages/sales/quote-edit-view/quote-edit-view.vue')); Vue.component('quote-edit-view', () => import('@pages/sales/quote-edit-view/quote-edit-view.vue'));
Vue.component('incident-grid-view', () => import('@pages/service/incident-grid-view/incident-grid-view.vue'));
Vue.component('account-summary', () => import('@pages/base/account-summary/account-summary.vue')); Vue.component('account-summary', () => import('@pages/base/account-summary/account-summary.vue'));
Vue.component('incident-grid-view', () => import('@pages/service/incident-grid-view/incident-grid-view.vue'));
Vue.component('campaign-summary-head', () => import('@pages/marketing/campaign-summary-head/campaign-summary-head.vue')); Vue.component('campaign-summary-head', () => import('@pages/marketing/campaign-summary-head/campaign-summary-head.vue'));
Vue.component('contact-info-detail', () => import('@pages/base/contact-info-detail/contact-info-detail.vue')); Vue.component('contact-info-detail', () => import('@pages/base/contact-info-detail/contact-info-detail.vue'));
Vue.component('account-edit-account-info', () => import('@pages/base/account-edit-account-info/account-edit-account-info.vue')); Vue.component('account-edit-account-info', () => import('@pages/base/account-edit-account-info/account-edit-account-info.vue'));
......
...@@ -988,6 +988,35 @@ const router = new Router({ ...@@ -988,6 +988,35 @@ const router = new Router({
}, },
component: () => import('@pages/base/task-edit-view/task-edit-view.vue'), component: () => import('@pages/base/task-edit-view/task-edit-view.vue'),
}, },
{
path: 'campaigns/:campaign?/leads/:lead?/quickcreate/:quickcreate?',
meta: {
caption: 'entities.lead.views.quickcreate.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'quickcreate', parameterName: 'quickcreate' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
},
{
path: 'leads/:lead?/quickcreate/:quickcreate?',
meta: {
caption: 'entities.lead.views.quickcreate.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'quickcreate', parameterName: 'quickcreate' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
},
{ {
path: 'pricelevels/:pricelevel?/pickupview/:pickupview?', path: 'pricelevels/:pricelevel?/pickupview/:pickupview?',
meta: { meta: {
...@@ -1073,32 +1102,32 @@ const router = new Router({ ...@@ -1073,32 +1102,32 @@ const router = new Router({
component: () => import('@pages/base/account-edit-account-info/account-edit-account-info.vue'), component: () => import('@pages/base/account-edit-account-info/account-edit-account-info.vue'),
}, },
{ {
path: 'incidents/:incident?/gridview/:gridview?', path: 'accounts/:account?/summary/:summary?',
meta: { meta: {
caption: 'entities.incident.views.gridview.title', caption: 'entities.account.views.summary.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'central', parameterName: 'central' }, { pathName: 'central', parameterName: 'central' },
{ pathName: 'incidents', parameterName: 'incident' }, { pathName: 'accounts', parameterName: 'account' },
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'summary', parameterName: 'summary' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/service/incident-grid-view/incident-grid-view.vue'), component: () => import('@pages/base/account-summary/account-summary.vue'),
}, },
{ {
path: 'accounts/:account?/summary/:summary?', path: 'incidents/:incident?/gridview/:gridview?',
meta: { meta: {
caption: 'entities.account.views.summary.title', caption: 'entities.incident.views.gridview.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'central', parameterName: 'central' }, { pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' }, { pathName: 'incidents', parameterName: 'incident' },
{ pathName: 'summary', parameterName: 'summary' }, { pathName: 'gridview', parameterName: 'gridview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/base/account-summary/account-summary.vue'), component: () => import('@pages/service/incident-grid-view/incident-grid-view.vue'),
}, },
...indexRoutes, ...indexRoutes,
], ],
...@@ -1443,6 +1472,33 @@ const router = new Router({ ...@@ -1443,6 +1472,33 @@ const router = new Router({
}, },
component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'), component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
}, },
{
path: '/campaigns/:campaign?/leads/:lead?/quickcreate/:quickcreate?',
meta: {
caption: 'entities.lead.views.quickcreate.title',
info:'',
parameters: [
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'quickcreate', parameterName: 'quickcreate' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
},
{
path: '/leads/:lead?/quickcreate/:quickcreate?',
meta: {
caption: 'entities.lead.views.quickcreate.title',
info:'',
parameters: [
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'quickcreate', parameterName: 'quickcreate' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
},
{ {
path: '/campaigns/:campaign?/summary_head/:summary_head?', path: '/campaigns/:campaign?/summary_head/:summary_head?',
meta: { meta: {
......
...@@ -119,6 +119,7 @@ export const viewstate: any = { ...@@ -119,6 +119,7 @@ export const viewstate: any = {
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'2e17cb1d009dd49ac529319ac15319cd', '2e17cb1d009dd49ac529319ac15319cd',
'4745ca10fe4421ea043cb9ace1840224',
], ],
}, },
{ {
...@@ -254,6 +255,15 @@ export const viewstate: any = { ...@@ -254,6 +255,15 @@ export const viewstate: any = {
'a5213905238dbc5d8e1a505029105cc9', 'a5213905238dbc5d8e1a505029105cc9',
], ],
}, },
{
viewtag: '4745ca10fe4421ea043cb9ace1840224',
viewmodule: 'Sales',
viewname: 'LeadQuickCreate',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{ {
viewtag: '51785f69973d8e6b0b1e002a03626fc7', viewtag: '51785f69973d8e6b0b1e002a03626fc7',
viewmodule: 'Marketing', viewmodule: 'Marketing',
......
...@@ -82,6 +82,7 @@ export default class LeadUIServiceBase extends UIService { ...@@ -82,6 +82,7 @@ export default class LeadUIServiceBase extends UIService {
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'leads'}); this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'leads'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'leads'}); this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'leads'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'leads'}); this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'quickcreate',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'leads'}); this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'leads'});
} }
......
...@@ -538,7 +538,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -538,7 +538,7 @@ export default class MainBase extends Vue implements ControlInterface {
, ,
srfkey: new FormItemModel({ caption: '潜在顾客', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 1 }) srfkey: new FormItemModel({ caption: '潜在顾客', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 1 })
, ,
srfmajortext: new FormItemModel({ caption: '姓名', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 0 }) srfmajortext: new FormItemModel({ caption: '姓名', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
, ,
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }) srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
, ,
...@@ -548,7 +548,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -548,7 +548,7 @@ export default class MainBase extends Vue implements ControlInterface {
, ,
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }) srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
, ,
fullname: new FormItemModel({ caption: '姓名', detailType: 'FORMITEM', name: 'fullname', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 0 }) fullname: new FormItemModel({ caption: '姓名', detailType: 'FORMITEM', name: 'fullname', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
, ,
createman: new FormItemModel({ caption: '建立人', detailType: 'FORMITEM', name: 'createman', 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 })
, ,
......
/**
* QuickCreate 部件模型
*
* @export
* @class QuickCreateModel
*/
export default class QuickCreateModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof QuickCreateModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'leadid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'fullname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'fullname',
prop: 'fullname',
dataType: 'TEXT',
},
{
name: 'createman',
prop: 'createman',
dataType: 'TEXT',
},
{
name: 'createdate',
prop: 'createdate',
dataType: 'DATETIME',
},
{
name: 'updateman',
prop: 'updateman',
dataType: 'TEXT',
},
{
name: 'updatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'leadid',
prop: 'leadid',
dataType: 'GUID',
},
{
name: 'lead',
prop: 'leadid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import QuickCreateBase from './quick-create-form-base.vue';
@Component({
components: {
}
})
export default class QuickCreate extends QuickCreateBase {
}
</script>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册