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

tony001 发布系统代码 [后台服务,演示应用]

上级 63d59492
......@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCustomView_layout' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCustomView_layout' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -1344,7 +1344,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
*/
public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -1395,7 +1395,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
*/
public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return;
}
const arg: any = { ...opt } ;
......@@ -1465,7 +1465,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg,{viewparams:this.viewparams});
......@@ -1573,7 +1573,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg, { viewparams: this.viewparams });
......@@ -1765,7 +1765,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return;
}
const arg: any = opt[0];
......
......@@ -1447,7 +1447,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
*/
public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -1499,7 +1499,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return;
}
const arg: any = { ...opt } ;
......@@ -1569,7 +1569,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg,{viewparams:this.viewparams});
......@@ -1677,7 +1677,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg, { viewparams: this.viewparams });
......@@ -1869,7 +1869,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrWizardView_plugin' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return;
}
const arg: any = opt[0];
......
......@@ -26,7 +26,7 @@
<span class="quick-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)">
<i-button v-show="listviewlist_quicktoolbarModels.deuiaction1.visabled" :disabled="listviewlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-file-text-o'></i>
<span class='caption'>{{$t('TBB.TEXT.*.NEW', '新建')}}</span>
</i-button>
......@@ -41,14 +41,14 @@
<span class="batch-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i-button v-show="listviewlist_batchtoolbarModels.deuiaction1.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i>
<span class='caption'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</span>
</i-button>
<div slot='content'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i-button v-show="listviewlist_batchtoolbarModels.deuiaction2.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('TBB.TEXT.*.REMOVE', '删除')}}</span>
</i-button>
......@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr4ListView_layoutBase
* @memberof IBIZBOOKListViewBase
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr4ListView_layoutBase
* @memberof IBIZBOOKListViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr4ListView_layoutBase
* @memberof IBIZBOOKListViewBase
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsr4ListView_layout
* @memberof IBIZBOOKListView
*/
public usr4listview_layoutlist_quicktoolbarModels: any = {
public listviewlist_quicktoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
};
......@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsr4ListView_layout
* @memberof IBIZBOOKListView
*/
public usr4listview_layoutlist_batchtoolbarModels: any = {
public listviewlist_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
......@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
public async load(opt: any = {}): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.removeAction') as string) });
return;
}
if (datas.length === 0) {
......@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
......
......@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -426,9 +426,8 @@
"dataType" : 25,
"name" : "srfmstag"
} ],
"getPSSysPFPlugin" : {
"pluginType" : "LIST_RENDER",
"pluginCode" : "listEvenYellowPlugin"
"getPSSysCss" : {
"cssName" : "test-ctrl-style"
},
"pagingSize" : 1000,
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr7ListView_listPlugin/psappviewctrls/list",
......
......@@ -5628,19 +5628,6 @@
"refMode" : "CONTROL",
"refTag" : "TREEVIEW",
"templCode" : "<div>树插件</div>"
}, {
"name" : "列表偶项背景变黄",
"getPSSysPFPlugin" : {
"pluginType" : "LIST_RENDER",
"pluginCode" : "listEvenYellowPlugin"
},
"pluginCode" : "listEvenYellowPlugin",
"pluginType" : "LIST_RENDER",
"refMode" : "CONTROL",
"refTag" : "LIST",
"templCode" : "<AppList\n :id=\"controlID\"\n :class=\"classNames\"\n :items=\"store.data\"\n :selections=\"store.selections\"\n :totalRecord=\"store.totalRecord\"\n @item-click=\"handleItemClick\"\n @item-db-click=\"handleItemDbClick\"\n @selection-change=\"handleSelectionChange\"\n @load-more=\"handleLoadMore\"\n @item-action-click=\"(logic: any, data: IParam, event: MouseEvent) => handleActionClick(controller, logic, data, event)\">\n <template #default=\"{ item }\">\n <List_itempanelPanel\n :actions=\"{\n loadDraftAction: 'GetDraft',\n createAction: 'Create',\n fetchAction: 'FetchDefault',\n removeAction: 'Remove',\n updateAction: 'Update'\n }\"\n :openView=\"store.openView\"\n :newView=\"store.newView\" \n :isLoadDefault='true'\n :data='item'\n name=\"\"\n :context=\"store.context\"\n :viewParams=\"store.viewParams\"\n :closeView=\"store.closeView\"\n :pLoadingHelper=\"store.loadingHelper\"\n :pViewCtx=\"store.viewCtx\"\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\n </template>\n </AppList>",
"templCode2" : "import { AppList } from '@components/widgets/list';\nimport { ICtrlDataAction, IContext, IParam, ListActionType, IListAbility, IListControllerParams, IListStore, ListController, createUUID, ILoadingHelper, IViewCtx, IListController, IViewLogicInput } from '@/core';\nimport List_itempanelPanel from '@widgets/ibizbook/list-itempanel-panel/list-itempanel-panel.vue';\nimport { useNavParamsBind, getCtrlClassNames, useEventBind, handleActionClick, handleCtrlInit, handleCtrlAction, handleCtrlDestroy, } from '@/hooks/use-ctrl';\nimport { ListControlVO } from './lnternal-func-list-list-vo';\nimport { model } from \"./lnternal-func-list-list-model\";\nimport ListService from \"@/core/modules/ctrl-service/list-service\";\ninterface Props {\n name?: string;\n context: IContext;\n viewParams: IParam;\n localContext?: IParam,\n localViewParams?: IParam,\n closeView?: Function;\n pLoadingHelper?: ILoadingHelper;\n pViewCtx?: IViewCtx;\n openView?: Function;\n newView?: Function;\n actions: ICtrlDataAction;\n singleSelect?: boolean;\n rowActiveMode?: 0 | 1 | 2;\n selectFirstDefault?: boolean;\n \n}\n\nconst props = withDefaults(defineProps<Props>(), {\n singleSelect: false,\n rowActiveMode: 2\n \n});\nconst emit = defineEmits<{\n (event: 'ctrl-action', name: string, action: ListActionType, data: IParam[]): void;\n (event: 'ctrl-init', name: string, data: IListAbility): void;\n (event: 'ctrl-destroy', name: string, data: IParam): void;\n}>();\n\nconst evt = useEventBind<ListActionType, IListAbility>(emit);\n// 部件样式名\nconst classNames = computed(() => {\n const names = getCtrlClassNames(model, props);\n Object.assign(names,{\n \"list-even-yellow-bg\":true\n })\n return names;\n});\n\nconst controlID = createUUID();\nconst params: IListControllerParams<ListActionType, IListAbility> = {\n name: props.name,\n model,\n evt,\n controlID,\n pLoadingHelper: props.pLoadingHelper,\n rowActiveMode: props.rowActiveMode,\n actions: props.actions,\n singleSelect: props.singleSelect,\n selectFirstDefault: props.selectFirstDefault,\n ctrlService: new ListService<ListControlVO>(ListControlVO, model.entityCodeName),\n openView: props.openView,\n newView: props.newView,\n closeView: props.closeView,\n pViewCtx: props.pViewCtx,\n handler: (data: IListStore) => { return reactive(data) }\n};\n\nconst controller: IListController<IListStore, IListAbility> = new ListController(params);\n\nuseNavParamsBind(controller, props);\n\nconst store: IListStore = controller.getStore();\n\nonMounted(() => {\n controller.ctrlMounted();\n})\n\nonUnmounted(() => {\n controller.ctrlDestroy();\n})\n\nconst handleItemClick = (row: IParam, event: MouseEvent) => {\n controller.handleItemClick(row, event);\n}\n\nconst handleItemDbClick = (row: IParam, event: MouseEvent) => {\n controller.handleItemDbClick(row, event);\n}\n\nconst handleSelectionChange = (selections: IParam[]) => {\n controller.handleSelectionChange(selections);\n}\n\nconst handleLoadMore = () => {\n controller.loadMore();\n}",
"templCode3" : ".list-even-yellow-bg .ant-list-item:nth-child(even) {\n background-color: yellow;\n}"
}, {
"name" : "列表视图斑马纹",
"getPSSysPFPlugin" : {
......@@ -12,19 +12,6 @@
"refMode" : "CONTROL",
"refTag" : "TREEVIEW",
"templCode" : "<div>树插件</div>"
}, {
"name" : "列表偶项背景变黄",
"getPSSysPFPlugin" : {
"pluginType" : "LIST_RENDER",
"pluginCode" : "listEvenYellowPlugin"
},
"pluginCode" : "listEvenYellowPlugin",
"pluginType" : "LIST_RENDER",
"refMode" : "CONTROL",
"refTag" : "LIST",
"templCode" : "<AppList\n :id=\"controlID\"\n :class=\"classNames\"\n :items=\"store.data\"\n :selections=\"store.selections\"\n :totalRecord=\"store.totalRecord\"\n @item-click=\"handleItemClick\"\n @item-db-click=\"handleItemDbClick\"\n @selection-change=\"handleSelectionChange\"\n @load-more=\"handleLoadMore\"\n @item-action-click=\"(logic: any, data: IParam, event: MouseEvent) => handleActionClick(controller, logic, data, event)\">\n <template #default=\"{ item }\">\n <List_itempanelPanel\n :actions=\"{\n loadDraftAction: 'GetDraft',\n createAction: 'Create',\n fetchAction: 'FetchDefault',\n removeAction: 'Remove',\n updateAction: 'Update'\n }\"\n :openView=\"store.openView\"\n :newView=\"store.newView\" \n :isLoadDefault='true'\n :data='item'\n name=\"\"\n :context=\"store.context\"\n :viewParams=\"store.viewParams\"\n :closeView=\"store.closeView\"\n :pLoadingHelper=\"store.loadingHelper\"\n :pViewCtx=\"store.viewCtx\"\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\n </template>\n </AppList>",
"templCode2" : "import { AppList } from '@components/widgets/list';\nimport { ICtrlDataAction, IContext, IParam, ListActionType, IListAbility, IListControllerParams, IListStore, ListController, createUUID, ILoadingHelper, IViewCtx, IListController, IViewLogicInput } from '@/core';\nimport List_itempanelPanel from '@widgets/ibizbook/list-itempanel-panel/list-itempanel-panel.vue';\nimport { useNavParamsBind, getCtrlClassNames, useEventBind, handleActionClick, handleCtrlInit, handleCtrlAction, handleCtrlDestroy, } from '@/hooks/use-ctrl';\nimport { ListControlVO } from './lnternal-func-list-list-vo';\nimport { model } from \"./lnternal-func-list-list-model\";\nimport ListService from \"@/core/modules/ctrl-service/list-service\";\ninterface Props {\n name?: string;\n context: IContext;\n viewParams: IParam;\n localContext?: IParam,\n localViewParams?: IParam,\n closeView?: Function;\n pLoadingHelper?: ILoadingHelper;\n pViewCtx?: IViewCtx;\n openView?: Function;\n newView?: Function;\n actions: ICtrlDataAction;\n singleSelect?: boolean;\n rowActiveMode?: 0 | 1 | 2;\n selectFirstDefault?: boolean;\n \n}\n\nconst props = withDefaults(defineProps<Props>(), {\n singleSelect: false,\n rowActiveMode: 2\n \n});\nconst emit = defineEmits<{\n (event: 'ctrl-action', name: string, action: ListActionType, data: IParam[]): void;\n (event: 'ctrl-init', name: string, data: IListAbility): void;\n (event: 'ctrl-destroy', name: string, data: IParam): void;\n}>();\n\nconst evt = useEventBind<ListActionType, IListAbility>(emit);\n// 部件样式名\nconst classNames = computed(() => {\n const names = getCtrlClassNames(model, props);\n Object.assign(names,{\n \"list-even-yellow-bg\":true\n })\n return names;\n});\n\nconst controlID = createUUID();\nconst params: IListControllerParams<ListActionType, IListAbility> = {\n name: props.name,\n model,\n evt,\n controlID,\n pLoadingHelper: props.pLoadingHelper,\n rowActiveMode: props.rowActiveMode,\n actions: props.actions,\n singleSelect: props.singleSelect,\n selectFirstDefault: props.selectFirstDefault,\n ctrlService: new ListService<ListControlVO>(ListControlVO, model.entityCodeName),\n openView: props.openView,\n newView: props.newView,\n closeView: props.closeView,\n pViewCtx: props.pViewCtx,\n handler: (data: IListStore) => { return reactive(data) }\n};\n\nconst controller: IListController<IListStore, IListAbility> = new ListController(params);\n\nuseNavParamsBind(controller, props);\n\nconst store: IListStore = controller.getStore();\n\nonMounted(() => {\n controller.ctrlMounted();\n})\n\nonUnmounted(() => {\n controller.ctrlDestroy();\n})\n\nconst handleItemClick = (row: IParam, event: MouseEvent) => {\n controller.handleItemClick(row, event);\n}\n\nconst handleItemDbClick = (row: IParam, event: MouseEvent) => {\n controller.handleItemDbClick(row, event);\n}\n\nconst handleSelectionChange = (selections: IParam[]) => {\n controller.handleSelectionChange(selections);\n}\n\nconst handleLoadMore = () => {\n controller.loadMore();\n}",
"templCode3" : ".list-even-yellow-bg .ant-list-item:nth-child(even) {\n background-color: yellow;\n}"
}, {
"name" : "列表视图斑马纹",
"getPSSysPFPlugin" : {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册