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

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

上级 d7944c84
......@@ -147,6 +147,7 @@ import AppAddressCascader from './components/app-address-cascader/app-address-ca
import AppInputIcon from './components/app-input-icon/app-input-icon.vue';
import AppTreeSelect from './components/app-tree-select/app-tree-select.vue'
import AppFormMdCtrl from './components/app-form-mdctrl/app-form-mdctrl.vue';
import AppFormMdctrlRepeater from './components/app-form-mdctrl-repeater/app-form-mdctrl-repeater.vue';
// 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister;
// 全局挂载实体权限服务注册中心
......@@ -308,5 +309,6 @@ export const AppComponents = {
v.component('app-array-box', AppArrayBox);
v.component('app-tree-select', AppTreeSelect);
v.component('app-form-mdctrl', AppFormMdCtrl);
v.component('app-form-mdctrl-repeater', AppFormMdctrlRepeater);
},
};
\ No newline at end of file
.app-form-mdctrl-repeater__row {
position: relative;
padding: 6px 0;
border-top: 1px dashed #eee;
&:first-child {
border-top: none;
}
}
.repeater-remove-default,
.repeater-remove-style2 {
display: none;
}
.el-table__row:hover {
.repeater-remove-style2 {
display: inline-block;
}
}
.repeater-remove-default {
position: absolute;
right: 0;
top: 2px;
z-index: 3;
}
.app-form-mdctrl-repeater__row:hover {
> .repeater-remove-default {
display: inline-block;
}
}
.app-form-mdctrl-repeater--style2 {
.repeater-add {
padding: 7px;
}
.app-form-mdctrl-repeater__header {
padding-bottom: 6px;
}
}
.repeater-caption {
padding-right: 20px;
font-weight: 600;
}
@index: 1, 2, 3, 4, 5;
each(@index, {
.app-form-mdctrl-repeater__level-@{value} > .app-form-mdctrl-repeater__header {
padding-left: @value * 20px;
}
})
.grid-column__localaction__remove {
display: none;
}
// 解决表格样式hover变化
.grid-column__localaction__content {
height: 28px;
}
.el-table__row:hover {
.grid-column__localaction__remove {
display: inline-block;
}
.grid-column__localaction__index {
display: none;
}
}
// .app-form-mdctrl-repeater--default {
// display: flex;
// flex-direction: column;
// }
<template>
<div :class="classNames">
<template v-if="mode === 'STYLE2'">
<div class="app-form-mdctrl-repeater__content">
<el-table :show-header="true" border :data="data">
<el-table-column
align="center"
class-name="grid-column__localaction"
width="64"
>
<template #header>
<el-button
type="primary"
class="repeater-add"
icon="el-icon-plus"
size="mini"
circle
@click="handleAdd"
></el-button>
</template>
<template #default="{ row, column, $index }">
<div class="repeater-grid-column">
<span class="grid-column__localaction__index">{{
$index + 1
}}</span>
<el-button
class="repeater-remove-style2"
type="danger"
size="mini"
icon="el-icon-delete"
circle
@click="handleRemove(row, $index)"
></el-button>
</div>
</template>
</el-table-column>
<el-table-column
:prop="key"
:align="columnAlign"
v-for="key of Object.keys(children)"
:key="key"
>
<template #header>
{{ children[key].caption }}
</template>
<template #default="{ row, column, $index }">
<slot
:name="key"
:data="row"
:context="context"
:viewparams="viewparams"
:onFormItemValueChange="
($event) => onFormItemValueChange($index, $event)
"
></slot>
</template>
</el-table-column>
</el-table>
</div>
</template>
<template v-else>
<div
class="app-form-mdctrl-repeater__header"
v-show="!(mode === 'STYLE3' && data.length >= 1)"
>
<span class="repeater-caption" v-if="showCaption && caption">{{
caption
}}</span>
<el-button
type="primary"
class="repeater-add"
icon="el-icon-plus"
size="mini"
circle
@click="handleAdd"
></el-button>
</div>
<div class="app-form-mdctrl-repeater__content">
<template v-for="(item, vIndex) of data">
<row class="app-form-mdctrl-repeater__row">
<el-button
class="repeater-remove-default"
type="danger"
size="mini"
circle
icon="el-icon-delete"
@click="handleRemove(item, vIndex)"
>
</el-button>
<slot
:context="context"
:viewparams="viewparams"
:data="item"
:onFormItemValueChange="
($event) => onFormItemValueChange(vIndex, $event)
"
></slot>
</row>
</template>
</div>
</template>
</div>
</template>
<script lang="ts">
import { Subject } from "rxjs";
import { Vue, Component, Prop, Model } from "vue-property-decorator";
@Component({})
export default class AppFormMdCtrlRepeater extends Vue {
/**
* 应用上下文
*
* @type {*}
* @memberof AppFormMdCtrlRepeater
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof AppFormMdCtrlRepeater
*/
@Prop() public viewparams: any;
/**
* 表单通讯状态
*
* @type {Subject<any>}
* @memberof AppFormMdCtrlRepeater
*/
@Prop() public formState!: Subject<any>;
/**
* 项名称
*
* @type {string}
* @memberof AppFormMdCtrlRepeater
*/
@Prop() public name!: string;
/**
* 层级
*
* @type {number}
* @memberof AppFormMdCtrlRepeater
*/
@Prop({ default: 0 }) public level?: number;
/**
* 数据
*
* @type {any[]}
* @memberof AppFormMdCtrlRepeater
*/
@Model() public data!: any[];
/**
* 模式
*
* @type {string}
* @memberof AppFormMdCtrlRepeater
*/
@Prop({ default: "DEFAULT" }) public mode?:
| "DEFAULT"
| "STYLE2"
| "STYLE3"
| string;
/**
* 是否显示标题
*
* @type {boolean}
* @memberof AppFormMdCtrlRepeater
*/
@Prop({ default: true }) public showCaption?: boolean;
/**
* 标题
*
* @type {string}
* @memberof AppFormMdCtrlRepeater
*/
@Prop() public caption!: string;
/**
* 子集合
*
* @type {*}
* @memberof AppFormMdCtrlRepeater
*/
@Prop({
default: () => {
return {};
},
})
public children: any;
/**
* 应用上下文
*
* @type {"center" | "left" | "right"}
* @memberof AppFormMdCtrlRepeater
*/
@Prop({ default: "center" }) public columnAlign?: "center" | "left" | "right";
/**
* 样式表
*
* @type {*}
* @memberof AppFormMdCtrlRepeater
*/
get classNames() {
return {
"app-form-mdctrl-repeater": true,
[`app-form-mdctrl-repeater--${this.name.toLowerCase()}`]: true,
[`app-form-mdctrl-repeater--${(this.mode || "DEFAULT").toLowerCase()}`]:
true,
[`app-form-mdctrl-repeater__level-${this.level}`]: true,
};
}
/**
* 处理数据增加
*
* @memberof AppFormMdCtrlRepeater
*/
public handleAdd() {
const item = {};
Object.keys(this.children).forEach((key: string) => {
Object.assign(item, {
[key]: this.children[key].type === "MDCTRL" ? [] : null,
});
});
if (!this.data) {
this.data = [];
}
if (this.mode === "STYLE2") {
this.data.unshift(item);
} else {
this.data.push(item);
}
}
/**
* 处理数据删除
*
* @memberof AppFormMdCtrlRepeater
*/
public handleRemove(data: any, index: number) {
this.data.splice(index, 1);
}
/**
* 处理数据项变化
*
* @memberof AppFormMdCtrlRepeater
*/
public onFormItemValueChange(
index: number,
{ name, value }: { name: string; value: any }
) {
if (!name) {
return;
}
this.data[index][name] = value;
}
}
</script>
<style lang="less">
@import "./app-form-mdctrl-repeater.less";
</style>
......@@ -719,7 +719,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: 'IBIZBOOKUsr8GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCustomView_layout' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -755,7 +755,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: 'IBIZBOOKUsr8GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCustomView_layout' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -1772,7 +1772,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -1819,7 +1819,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return;
}
const arg: any = { ...opt } ;
......@@ -1890,7 +1890,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg,{viewparams:this.viewparams});
......@@ -2000,7 +2000,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg, { viewparams: this.viewparams });
......@@ -2095,7 +2095,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return;
}
const arg: any = opt[0];
......
......@@ -1011,7 +1011,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) {
this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderDetailSGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
desc: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
});
return;
}
......@@ -1140,7 +1140,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) {
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
});
return;
}
......@@ -1254,7 +1254,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(!arg){
......@@ -2151,7 +2151,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2160,7 +2160,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2236,7 +2236,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
});
return;
}
......
......@@ -351,7 +351,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrderSF1GridViewBase
* @memberof IBIZOrderPickupGridViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -494,20 +494,6 @@ export default class MainBase extends Vue implements ControlInterface {
return this.selections[0];
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public newdata: any;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public opendata: any;
/**
* 是否嵌入关系界面
......@@ -1058,7 +1044,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) {
this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderSF1GridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
desc: "IBIZOrderPickupGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
});
return;
}
......@@ -1187,7 +1173,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) {
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
});
return;
}
......@@ -1301,7 +1287,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(!arg){
......@@ -2235,7 +2221,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2244,7 +2230,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2320,7 +2306,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
});
return;
}
......
......@@ -100,6 +100,27 @@ export default class MainModel {
name: 'ibizorder',
prop: 'ibizorderid',
},
{
name: 'n_ibizcustomername_like',
prop: 'n_ibizcustomername_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_ibizordername_like',
prop: 'n_ibizordername_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertime_gtandeq',
prop: 'n_ordertime_gtandeq',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertype_eq',
prop: 'n_ordertype_eq',
dataType: 'QUERYPARAM'
},
{
name:'size',
prop:'size',
......
......@@ -12,30 +12,6 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
......@@ -47,6 +23,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
......@@ -71,6 +59,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -20,18 +20,6 @@
}
} ],
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
......@@ -55,6 +43,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -46,30 +46,6 @@
"id" : "GANTT"
},
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
......@@ -81,6 +57,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
......@@ -105,6 +93,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -100,18 +100,6 @@
"id" : "TREEGRIDEX"
},
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
......@@ -135,6 +123,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册