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

chitanda 发布系统代码,表单受控内容支持

上级 c11b070b
.app-form-group {
.show-more {
margin-top: 5px;
}
>.ivu-card-head {
>p {
>i {
......@@ -16,6 +20,10 @@
.item {
margin-left: 12px;
.caption {
padding-left: 5px;
}
}
}
}
......
import { Vue, Component, Prop } from 'vue-property-decorator';
import './app-form-group.less'
/**
* 表单分组
*
* @export
* @class AppFormGroup
* @extends {Vue}
*/
@Component({})
export default class AppFormGroup extends Vue {
/**
* 表单分组模型
*
* @type {*}
* @memberof AppFormGroup
*/
@Prop({ default: () => { } })
public model: any;
/**
* 标题
*
* @type {string}
* @memberof AppFormGroup
*/
@Prop() public caption?: string;
/**
* 内置界面样式
*
* @type {string}
* @memberof AppFormGroup
*/
@Prop({ default: 'DEFAULT' }) public uiStyle!: string;
/**
* 布局模式
*
* @type {string}
* @memberof AppFormGroup
*/
@Prop() public layoutType?: string;
/**
* 标题样式
*
* @type {string}
* @memberof AppFormGroup
*/
@Prop() public titleStyle?: string;
/**
* 分组图标
*
* @type {string}
* @memberof AppFormGroup
*/
@Prop() public iconInfo?: any;
/**
* 是否显示标题
*
* @type {boolean}
* @memberof AppFormGroup
*/
@Prop({ default: true }) public isShowCaption!: boolean;
/**
* 信息面板模式
*
* @type {boolean}
* @memberof AppFormGroup
*/
@Prop({ default: false }) public isInfoGroupMode!: boolean;
/**
* 界面行为组
*
* @type {*}
* @memberof AppFormGroup
*/
@Prop() public uiActionGroup?: any;
/**
* 标题栏关闭模式
* 0: 不支持关闭
* 1: 默认打开
* 2: 默认关闭
*
* @type {(number | 0 | 1 | 2)}
* @memberof AppFormGroup
*/
@Prop({ default: 0 }) public titleBarCloseMode!: number | 0 | 1 | 2;
/**
* 收缩内容
*
* @type {boolean}
* @memberof AppFormGroup
*/
public collapseContant: boolean = false;
/**
* 计算样式
*
* @readonly
* @type {string[]}
* @memberof AppFormGroup
*/
get classes(): string[] {
return [
'app-form-group',
this.isShowCaption && this.collapseContant ? 'app-group-collapse-contant' : '',
this.isInfoGroupMode ? 'app-info-group-mode' : '',
Object.is(this.layoutType, 'FLEX') ? 'app-group-flex' : '',
this.uiStyle.toLowerCase()
];
}
/**
* 标题样式
*
* @readonly
* @type {string}
* @memberof AppFormGroup
*/
get titleClass(): string {
return this.titleStyle ? this.titleStyle : '';
}
/**
* vue 生命周期
*
* @memberof AppFormGroup
*/
public created() {
this.collapseContant = this.titleBarCloseMode === 2 ? true : false;
}
/**
* 触发收缩
*
* @memberof AppFormGroup
*/
public clickCollapse(): void {
this.collapseContant = !this.collapseContant;
}
/**
* 执行界面行
*
* @param {*} $event
* @memberof AppFormGroup
*/
public doUIAction($event: any, item: any): void {
this.$emit('groupuiactionclick', { event: $event, item: item });
}
/**
* 计算行为项图标
*
* @protected
* @param {*} detail
* @returns {*}
* @memberof AppFormGroup
*/
protected getIcon(detail: any): any {
if (detail.isShowIcon) {
if (isExistAndNotEmpty(detail.icon)) {
return <i class={detail.icon} />;
} else if (isExistAndNotEmpty(detail.img)) {
return <img src="detail.img" />;
}
}
}
/**
* 计算行为项标题
*
* @protected
* @param {*} detail
* @returns {*}
* @memberof AppFormGroup
*/
protected getCaption(detail: any): any {
if (detail.isShowCaption) {
if (isExistAndNotEmpty(detail.uiactiontag) && isExistAndNotEmpty(this.uiActionGroup.langbase)) {
return this.$t(`${this.uiActionGroup.langbase}.uiactions.${detail.uiactiontag}`);
}
return detail.caption;
}
}
/**
* 绘制样式4模式分组
*
* @protected
* @returns {*}
* @memberof AppFormGroup
*/
protected renderStyle4(): any {
return <app-form-group4 caption={this.caption} uiStyle={this.uiStyle} layoutType={this.layoutType} isShowCaption={this.isShowCaption} isInfoGroupMode={this.isInfoGroupMode} uiActionGroup={this.uiActionGroup} titleBarCloseMode={this.titleBarCloseMode}>
{this.$slots.default}
</app-form-group4>;
}
/**
* 绘制样式2模式分组
*
* @protected
* @returns {*}
* @memberof AppFormGroup
*/
protected renderStyle2(): any {
return <app-form-group2 caption={this.caption} uiStyle={this.uiStyle} layoutType={this.layoutType} isShowCaption={this.isShowCaption} isInfoGroupMode={this.isInfoGroupMode} uiActionGroup={this.uiActionGroup} titleBarCloseMode={this.titleBarCloseMode}>
{this.$slots.default}
</app-form-group2>;
}
/**
* 绘制行为组
*
* @protected
* @returns {*}
* @memberof AppFormGroup
*/
protected renderActionGroup(): any {
if (this.uiActionGroup) {
let content: any;
if (this.uiActionGroup.extractMode && Object.is(this.uiActionGroup.extractMode, 'ITEMS')) {
content = <dropdown transfer={true} trigger='click'>
<a href='javascript:void(0)'>
{this.uiActionGroup.caption}
</a>
<dropdown-menu slot='list'>
{this.uiActionGroup.details.map((detail: any, i: number) => {
return <dropdown-item key={i} name={detail.name}>
<span class='item' on-click={(e: any) => this.doUIAction(e, detail)}>
{this.getIcon(detail)}
<span class="caption">{this.getCaption(detail)}</span>
</span>;
</dropdown-item>;
})}
</dropdown-menu>
</dropdown >;
} else {
content = <span class='item-extract-mode'>
{this.uiActionGroup.details.map((detail: any, i: number) => {
return <span key={i} class='item' on-click={(e: any) => this.doUIAction(e, detail)}>
{this.getIcon(detail)}
<span class="caption">{this.getCaption(detail)}</span>
</span>;
})}
</span >;
}
return <a slot='extra'>{content}</a>;
}
}
/**
* 绘制默认内容
*
* @protected
* @returns {*}
* @memberof AppFormGroup
*/
protected renderContent(): any {
if (this.isShowCaption === false) {
return this.$slots.default;
}
return <card bordered={false} dis-hover={true} class={this.classes}>
<p slot='title'>
{this.titleBarCloseMode !== 0 ? <icon type={this.collapseContant ? 'ios-arrow-dropright-circle' : 'ios-arrow-dropdown-circle'} on-click={() => this.clickCollapse()}></icon> : null}
<span class={this.titleClass}>{this.caption}</span>
</p>
{this.renderActionGroup()}
{Object.is(this.layoutType, 'FLEX') ? this.$slots.default : <row gutter={10}>{this.$slots.default}</row>}
<div class="show-more" v-show={this.model.showMoreMode === 2}>
<i-button on-click={() => this.model.changeShowMore()} size="small">
{this.model?.showMore ? '隐藏更多' : '显示更多'}
</i-button>
</div>
</card>;
}
/**
* 绘制内容
*
* @returns {*}
* @memberof AppFormGroup
*/
public render(): any {
let content: any;
if (this.uiStyle === 'STYLE4') {
content = this.renderStyle4();
} else if (this.uiStyle === 'STYLE2') {
content = this.renderStyle2();
} else {
content = this.renderContent();
}
return <div class={this.classes}>{content}</div>;
}
}
\ No newline at end of file
......@@ -72,13 +72,13 @@ export default class FilterMode extends Vue {
// { name: 'AND', value: '$and' },
// { name: 'OR', value: '$or' },
{ 'zh-CN': '等于(=)', 'en-US': 'EQ', value: '$eq' },
{ 'zh-CN': '不等于(<>)', 'en-US': 'NE', value: '$ne' },
{ 'zh-CN': '不等于(<>)', 'en-US': 'NOTEQ', value: '$ne' },
{ 'zh-CN': '大于(>)', 'en-US': 'GT', value: '$gt' },
{ 'zh-CN': '大于等于(>=)', 'en-US': 'GE', value: '$gte' },
{ 'zh-CN': '大于等于(>=)', 'en-US': 'GTANDEQ', value: '$gte' },
{ 'zh-CN': '小于(<)', 'en-US': 'LT', value: '$lt' },
{ 'zh-CN': '小于(<=)', 'en-US': 'LE', value: '$lte' },
{ 'zh-CN': '值为空(Nil)', 'en-US': 'IS_NULL', value: '$null' },
{ 'zh-CN': '值不为空(NotNil)', 'en-US': 'IS_NOT_NULL', value: '$notNull' },
{ 'zh-CN': '小于等于(<=)', 'en-US': 'LTANDEQ', value: '$lte' },
{ 'zh-CN': '值为空(Nil)', 'en-US': 'ISNULL', value: '$null' },
{ 'zh-CN': '值不为空(NotNil)', 'en-US': 'ISNOTNULL', value: '$notNull' },
{ 'zh-CN': '值在范围中(In)', 'en-US': 'IN', value: '$in' },
{ 'zh-CN': '值不在范围中(NotIn)', 'en-US': 'NOTIN', value: '$notIn' },
{ 'zh-CN': '文本包含(%)', 'en-US': 'LIKE', value: '$like' },
......
......@@ -6,6 +6,22 @@
*/
export class FormDetailModel {
/**
* 参数
*
* @type {*}
* @memberof FormDetailModel
*/
public opts: any = {};
/**
* 父
*
* @type {*}
* @memberof FormDetailModel
*/
public parent: any = null;
/**
* 成员标题
*
......@@ -44,7 +60,18 @@ export class FormDetailModel {
* @type {boolean}
* @memberof FormDetailModel
*/
public visible: boolean = true;
protected $visible: boolean;
/**
* 成员是否隐藏
*
* @readonly
* @type {boolean}
* @memberof FormDetailModel
*/
public get visible(): boolean {
return (this.isShowMore && this.$visible);
}
/**
* 成员是否显示标题
......@@ -52,7 +79,23 @@ export class FormDetailModel {
* @type {boolean}
* @memberof FormDetailModel
*/
public isShowCaption: boolean = true;
public isShowCaption: boolean;
/**
* 表单项受控模式,
*
* @type {(0 | 1 | 2)}
* @memberof FormDetailModel
*/
public showMoreMode: 0 | 1 | 2 = 0;
/**
* 受控项是否显示
*
* @type {boolean}
* @memberof FormGroupPanelModel
*/
public isShowMore: boolean;
/**
* Creates an instance of FormDetailModel.
......@@ -62,12 +105,19 @@ export class FormDetailModel {
* @memberof FormDetailModel
*/
constructor(opts: any = {}) {
this.opts = opts;
this.caption = !Object.is(opts.caption, '') ? opts.caption : '';
this.detailType = !Object.is(opts.detailType, '') ? opts.detailType : '';
this.form = opts.form ? opts.form : {};
this.name = !Object.is(opts.name, '') ? opts.name : '';
this.visible = opts.visible ? true : false;
this.$visible = opts.visible ? true : false;
this.isShowCaption = opts.isShowCaption ? true : false;
this.showMoreMode = opts.showMoreMode;
if (this.showMoreMode === 1) {
this.isShowMore = false;
} else {
this.isShowMore = true;
}
}
/**
......@@ -77,7 +127,21 @@ export class FormDetailModel {
* @memberof FormDetailModel
*/
public setVisible(state: boolean): void {
this.visible = state;
this.$visible = state;
}
/**
* 改变显示更多受控项状态
*
* @param {boolean} bol
* @memberof FormDetailModel
*/
public setShowMore(bol: boolean): void {
if (isExist(bol)) {
this.isShowMore = bol;
} else {
this.isShowMore = !this.isShowMore;
}
}
/**
......
......@@ -17,6 +17,30 @@ export class FormGroupPanelModel extends FormDetailModel {
*/
public uiActionGroup: any = {};
/**
* 所有锚点项
*
* @type {any[]}
* @memberof FormGroupPanelModel
*/
public anchorPoints: any = {};
/**
* 所有受控项
*
* @type {*}
* @memberof FormGroupPanelModel
*/
public controlledItems: any = {};
/**
* 表单分组控制子是否显示更多
*
* @type {boolean}
* @memberof FormGroupPanelModel
*/
public showMore: boolean = false;
/**
* Creates an instance of FormGroupPanelModel.
* 创建 FormGroupPanelModel 实例
......@@ -28,4 +52,25 @@ export class FormGroupPanelModel extends FormDetailModel {
super(opts);
Object.assign(this.uiActionGroup, opts.uiActionGroup);
}
/**
* 改变显示更多受控项状态
*
* @param {boolean} bol
* @memberof FormDetailModel
*/
public changeShowMore(bol: boolean): void {
if (isExist(bol)) {
this.isShowMore = bol;
} else {
this.showMore = !this.showMore;
}
for (const key in this.controlledItems) {
if (this.controlledItems.hasOwnProperty(key)) {
const item = this.controlledItems[key];
item.setShowMore(this.showMore);
}
}
}
}
\ No newline at end of file
......@@ -29,7 +29,7 @@ export class FormTabPageModel extends FormDetailModel {
* @memberof FormTabPageModel
*/
public setVisible(state: boolean): void {
this.visible = state;
super.setVisible(state);
const tabPanel = this.getTabPanelModel();
if (tabPanel) {
tabPanel.setActiviePage();
......
......@@ -139,6 +139,38 @@ export class EditFormControlBase extends FormControlBase {
}
}
}, 'update', this.appDeName.toUpperCase()));
this.fillDetailModels();
}
/**
* 填充表单模型
*
* @protected
* @memberof EditFormControlBase
*/
protected fillDetailModels(): void {
for (const key in this.detailsModel) {
if (this.detailsModel.hasOwnProperty(key)) {
const item = this.detailsModel[key];
if (item.detailType === 'GROUPPANEL') {
if (item.opts.anchorPoints) {
item.opts.anchorPoints.forEach((str: string) => {
if (this.detailsModel[str]) {
item.anchorPoints[str] = this.detailsModel[str];
}
});
}
if (item.opts.controlledItems) {
console.log(item.opts.name, '2');
item.opts.controlledItems.forEach((str: string) => {
if (this.detailsModel[str]) {
item.controlledItems[str] = this.detailsModel[str];
}
});
}
}
}
}
}
/**
......
......@@ -211,8 +211,12 @@ export class Info_AllEditFormBase extends EditFormControlBase {
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '账户信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 2, anchorPoints: ['sic', 'tickersymbol', 'ownershipcode', ], controlledItems: [
'sic',
'fax',
'websiteurl',
'parentaccountname',
'tickersymbol',
'ownershipcode',
'defaultpricelevelname',
], uiActionGroup: { caption: '编辑_账户信息', langbase: 'entities.account.info_all_form', extractMode: 'ITEM', details: [{ name: 'group1_uc040f39', caption: '编辑', uiactiontag: 'account_edit_accountinfo', icon: 'fa fa-pencil',isShowCaption:false,isShowIcon:true }] } }),
grouppanel1: new FormGroupPanelModel({ caption: '地址信息', detailType: 'GROUPPANEL', name: 'grouppanel1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '编辑_地址信息', langbase: 'entities.account.info_all_form', extractMode: 'ITEM', details: [{ name: 'grouppanel1_u2ccbfc9', caption: '编辑', uiactiontag: 'account_edit_address', icon: 'fa fa-pencil',isShowCaption:false,isShowIcon:true }] } }),
......@@ -251,17 +255,17 @@ export class Info_AllEditFormBase extends EditFormControlBase {
sic: new FormItemModel({ caption: '行业编码', detailType: 'FORMITEM', name: 'sic', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
fax: new FormItemModel({ caption: '传真', detailType: 'FORMITEM', name: 'fax', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
fax: new FormItemModel({ caption: '传真', detailType: 'FORMITEM', name: 'fax', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
websiteurl: new FormItemModel({ caption: '网站', detailType: 'FORMITEM', name: 'websiteurl', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
websiteurl: new FormItemModel({ caption: '网站', detailType: 'FORMITEM', name: 'websiteurl', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
parentaccountname: new FormItemModel({ caption: '上级客户', detailType: 'FORMITEM', name: 'parentaccountname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
parentaccountname: new FormItemModel({ caption: '上级客户', detailType: 'FORMITEM', name: 'parentaccountname', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
tickersymbol: new FormItemModel({ caption: '股票代号', detailType: 'FORMITEM', name: 'tickersymbol', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
ownershipcode: new FormItemModel({ caption: '所有权', detailType: 'FORMITEM', name: 'ownershipcode', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
defaultpricelevelname: new FormItemModel({ caption: '价目表', detailType: 'FORMITEM', name: 'defaultpricelevelname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
defaultpricelevelname: new FormItemModel({ caption: '价目表', detailType: 'FORMITEM', name: 'defaultpricelevelname', visible: true, isShowCaption: true, form: this, showMoreMode: 1, disabled: false, enableCond: 3 }),
description: new FormItemModel({ caption: '说明', detailType: 'FORMITEM', name: 'description', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
......
......@@ -108,6 +108,10 @@ export default class InnerPickipModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -154,6 +154,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -109,6 +109,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -64,6 +64,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -79,6 +79,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -109,6 +109,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -79,6 +79,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class SalLitCompGridModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -69,6 +69,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -89,6 +89,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -94,6 +94,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -108,6 +108,10 @@ export default class ByAccountModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -124,6 +124,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -84,6 +84,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -129,6 +129,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -84,6 +84,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -154,6 +154,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -109,6 +109,10 @@ export default class InvoiceProductGridModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -99,6 +99,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -79,6 +79,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -99,6 +99,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -124,6 +124,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -84,6 +84,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -88,6 +88,10 @@ export default class InnerModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -89,6 +89,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -83,6 +83,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -69,6 +69,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -84,6 +84,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -94,6 +94,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -94,6 +94,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -124,6 +124,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -89,6 +89,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -104,6 +104,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class SalLitProGridModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -84,6 +84,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -104,6 +104,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -99,6 +99,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -99,6 +99,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -79,6 +79,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -109,6 +109,10 @@ export default class SOProductModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -104,6 +104,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -74,6 +74,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -69,6 +69,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
......@@ -79,6 +79,10 @@ export default class MainModel {
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册