From ccfd5dc264d07471d831d2287ff03f293c295981 Mon Sep 17 00:00:00 2001 From: Goldennfish <1981343953@qq.com> Date: 星期二, 25 七月 2023 14:22:44 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/yuanchu_code/lims-front-end --- src/views/rawMaterials/reportForInspection/index.vue | 79 ++++--- src/views/standardLibrary/index.vue | 37 --- src/views/laboratory/ledger/index.vue | 282 +++++++++++++++++++++++-- src/api/laboratory/ledger.js | 55 +++++ src/styles/element-ui.scss | 5 src/views/rawMaterials/reportForInspection/forInspectionDetail.vue | 174 +++++++++++++++ src/api/rawMaterials/reportForInspection.js | 18 + 7 files changed, 553 insertions(+), 97 deletions(-) diff --git a/src/api/laboratory/ledger.js b/src/api/laboratory/ledger.js new file mode 100644 index 0000000..2f620c9 --- /dev/null +++ b/src/api/laboratory/ledger.js @@ -0,0 +1,55 @@ +import request from '@/utils/request' + +// 鏌ヨ璁惧浠櫒鍒嗙被 +export function getClassifyList(params) { + return request({ + url: '/classify/list', + method: 'get', + params + }) +} + +// 娣诲姞璁惧浠櫒鍒嗙被 +export function addClassify(data) { + return request({ + url: '/classify/add', + method: 'post', + data + }) +} + +// 鏇存柊璁惧浠櫒鍒嗙被 +export function changeClassify(data) { + return request({ + url: '/classify/update', + method: 'put', + data + }) +} + +// 鍒犻櫎璁惧浠櫒鍒嗙被 +export function delClassify(data) { + return request({ + url: '/classify/delete', + method: 'put', + data + }) +} + +// 鏌ヨ璁惧浠櫒鍒楄〃 +export function getInstrumentList(params) { + return request({ + url: '/instrument/list', + method: 'get', + params + }) +} + +// 娣诲姞璁惧浠櫒鍒嗙被 +export function addInstrument(data) { + return request({ + url: '/instrument/add', + method: 'post', + data + }) +} diff --git a/src/api/rawMaterials/reportForInspection.js b/src/api/rawMaterials/reportForInspection.js new file mode 100644 index 0000000..0b4d1b2 --- /dev/null +++ b/src/api/rawMaterials/reportForInspection.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +// 鏌ヨ鎵�鏈夌敵璇峰崟鍒楄〃 +export function getInspectionList(params) { + return request({ + url: '/inspection/selectAllInspection', + method: 'get', + params + }) +} + +// 娣诲姞妫�楠岀敵璇峰崟 +export function addInspection() { + return request({ + url: '/inspection/addInspection', + method: 'post' + }) +} diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index cf79dc7..9596ee1 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -122,3 +122,8 @@ // .is-active{ // background: red !important; // } + +// 淇敼鎶藉眽澶撮儴鐨勫簳閮ㄨ竟璺濇牱寮� +.el-drawer__header{ + margin-bottom: 0px !important; +} diff --git a/src/views/laboratory/ledger/index.vue b/src/views/laboratory/ledger/index.vue index 4f8a8ce..242feea 100644 --- a/src/views/laboratory/ledger/index.vue +++ b/src/views/laboratory/ledger/index.vue @@ -2,7 +2,7 @@ <div class="ledger-main"> <div class="page-header-search"> <div class="search-bar"> - <el-form ref="form" inline="true" :model="searchData"> + <el-form ref="form" :inline="true" :model="searchData"> <el-form-item> <el-input v-model="searchData.keyword" @@ -38,12 +38,12 @@ </el-row> </div> <el-tree - ref="tree" - class="filter-tree" - :data="data" + ref="classTree" + :data="classTree" :props="defaultProps" default-expand-all :filter-node-method="filterNode" + @node-click="nodeClickHandler" /> </div> <div class="library-table"> @@ -65,15 +65,15 @@ </div> <div class="table-box"> <el-table - ref="personnerlTable" - :max-height="800" + ref="equipmentTable" + node-key="father_name" :cell-style="{textAlign: 'center'}" :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" - :data="personnerlTable" + :data="equipmentTable" style="width: 100%" > <el-table-column - prop="id" + type="index" label="搴忓彿" min-width="90" /> @@ -85,30 +85,27 @@ <el-table-column prop="equipment_name" label="浠櫒璁惧鍚嶇О" - min-width="200" + min-width="150" /> <el-table-column - prop="specification_models" - label="鍨嬪彿瑙勬牸" - min-width="200" + prop="specifications_models" + label="瑙勬牸鍨嬪彿" + min-width="150" /> <el-table-column - prop="keeper" + prop="name" label="淇濈浜�" min-width="200" /> <el-table-column - prop="term_validity" + prop="termValidity" label="璁¢噺鎴鏈夋晥鏈�" min-width="200" /> <el-table-column prop="conditions" label="璁惧鐘舵��" - min-width="200" - :filters="[{ text: 0, value: 0 }, { text: 1, value: 1 }]" - :filter-method="filterTag" - filter-placement="bottom-end" + min-width="120" > <template slot-scope="scope"> <el-tag @@ -123,12 +120,17 @@ min-width="200" /> <el-table-column - label="鎿嶄綔" + prop="storage_place" + label="瀛樻斁鍦�" min-width="200" + /> + <el-table-column + label="鎿嶄綔" + min-width="120" fixed="right" > <template slot-scope="scope"> - <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button> + <el-button type="text" size="small" @click="openDetail(scope.row)">缂栬緫</el-button> <el-button type="text" size="small">鍒犻櫎</el-button> </template> </el-table-column> @@ -157,10 +159,10 @@ <div> <el-pagination :current-page="currentPage" - :page-sizes="[100, 200, 300, 400]" - :page-size="100" + :page-sizes="[10, 15, 20, 25]" + :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="400" + :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -341,15 +343,100 @@ </div> </div> </el-drawer> + <!-- --> + <el-drawer + title="浠櫒璁惧璇︽儏" + :visible.sync="detailDrawer" + size="80%" + class="detailDrawer" + > + <div> + <div class="detail-info"> + <div class="tips-main"> + <div class="tips"> + <span /> + <div>鍩烘湰淇℃伅</div> + </div> + <div class="tips-btn"> + <span><i class="el-icon-edit" />鎿嶄綔锛�</span> + <el-button type="text" @click="dialogFormVisible = true">缂栬緫</el-button> + </div> + </div> + <div class="message"> + <div class="message-item"><span><i class="el-icon-edit" />鎵�灞炲垎绫伙細</span></div> + <div class="message-item"> + <span><i class="el-icon-edit" />鍒涘缓浜猴細</span> + <el-tag type="primary"><i class="el-icon-info" :style="{marginRight:'4px', color:'#409EFF'}" /></el-tag> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />寤烘。鏃ユ湡锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />璁惧缂栧彿锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />鍨嬪彿瑙勬牸锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />娴嬮噺鑼冨洿锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />涓嶇‘瀹氬害/璇樊锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />鐢熶骇鍘傚锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />瀛樻斁鍦扮偣锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />鍒拌揣鏃ユ湡锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />楠屾敹鏃ユ湡锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />淇濈浜猴細</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />鏄惁鏀寔鏁伴噰锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />浠櫒璁惧璁¢噺锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />璁¢噺鍛ㄦ湡锛�</span> + </div> + <div class="message-item"> + <span><i class="el-icon-edit" />鎻忚堪锛�</span> + </div> + </div> + </div> + <el-tabs> + <el-tab-pane label="鐢ㄦ埛绠$悊" name="first">鐢ㄦ埛绠$悊</el-tab-pane> + <el-tab-pane label="閰嶇疆绠$悊" name="second">閰嶇疆绠$悊</el-tab-pane> + <el-tab-pane label="瑙掕壊绠$悊" name="third">瑙掕壊绠$悊</el-tab-pane> + <el-tab-pane label="瀹氭椂浠诲姟琛ュ伩" name="fourth">瀹氭椂浠诲姟琛ュ伩</el-tab-pane> + </el-tabs> + <el-drawer + title="缂栬緫" + :append-to-body="true" + :visible.sync="editDrawer" + > + <p>_(:蟹銈濃垹)_</p> + </el-drawer> + </div> + </el-drawer> </div> </template> <script> +import { getClassifyList, getInstrumentList } from '@/api/laboratory/ledger' export default { data() { return { // 琛ㄦ牸鏁版嵁 - data: [{ + classTree: [{ id: 1, label: '涓�绾� 1', children: [{ @@ -412,18 +499,64 @@ whetherDataAcquisition: '' // 鏄惁鏀寔鏁伴噰 }, timer: null, - formLabelWidth: '80' + formLabelWidth: '80', + detailDrawer: false, + editDrawer: false, + equipmentTable: [], + currentPage: 1, + pageSize: 10, + total: 0 } }, watch: { filterText(val) { - this.$refs.tree.filter(val) + this.$refs.classTree.filter(val) } }, + created() { + this.getThreeData() + }, methods: { + openDetail(row) { + console.log(row) + this.detailDrawer = true + }, + nodeClickHandler(data, node, element) { + console.log(data) + // 鍙湁鏁版嵁涓惡甯d鎵嶈兘鍙戦�佹煡璇㈣姹� + if (data.id) { + this.getEquipmentTable({ classifyId: data.id, pageSize: this.pageSize, pageNo: this.currentPage }) + } + }, + async getEquipmentTable(ages) { + console.log('鏉′欢瀵硅薄', ages) + const { data } = await getInstrumentList(ages) + console.log(data) + this.equipmentTable = data.row + this.total = data.total + }, filterNode(value, data) { if (!value) return true return data.label.indexOf(value) !== -1 + }, + async getThreeData() { + const { data } = await getClassifyList() + console.log(data) + this.classTree = data.map(item => { + if (item.children) { + item.children = item.children.map(childrenItem => { + return { ...childrenItem, label: childrenItem.son_name } + }) + } + return { ...item, label: item.father_name } + }) + console.log(this.classTree) + }, + handleSizeChange() { + // 褰撳墠椤靛ぇ灏� + }, + handleCurrentChange() { + // 褰撳墠椤垫洿鏀� } }, handleClose(done) { @@ -599,5 +732,102 @@ } } } + + .detailDrawer{ + ::v-deep .el-drawer__body{ + padding: 24px !important; + } + .detail-info{ + background: #fff; + box-shadow: rgba(100, 100, 111, 0.2) 0px 5px 15px; + + // padding: 10px 20px 10px 20px; + margin: 0; + margin-bottom: 12px; + border-radius: 6px; + overflow: hidden; + .tips-main{ + // margin: ; + padding: 10px 20px 0 20px; + display: flex; + justify-content: space-between; + align-items: center; + height: 50px; + // height: ; + &:hover{ + background: #85bff810; + .tips-btn{ + display: block; + left: 0; + opacity:1; + } + } + .tips-btn{ + height: 100%; + // display: none; + position: relative; + opacity:0; + left: 100px; + transition: all 0.3s ease-in-out; + } + .tips{ + height: 100%; + display: flex; + height: 24px; + align-items: center; + font-size: 16px; + // margin-bottom: 12px; + >span{ + display: inline-block; + margin-right: 10px; + width: 4px; + height: 16px; + background: #0077DB; + } + >div{ + height: 100%; + line-height: 26px; + } + .el-button{ + padding: 0; + } + } + } + + // 鍩烘湰淇℃伅鍜屼紒涓氫俊鎭殑姣忎竴涓俊鎭」鏍峰紡 + .message{ + padding: 0px 20px 8px 20px; + + display: flex; + flex-wrap: wrap; + border-top: 1px solid #F2F6FC; + // border-top: 1px solid #F2F6FC; + >div{ + flex: 30%; + max-width: 30%; + padding: 8px; + color: #606266; + align-items: center; + // height: 65px; + font-size: 12px; + height: 40px; + display: flex; + align-items: center; + >span{ + color: #303133; + font-size: 14px; + // + >i{ + margin-right: 8px; + } + } + } + // >div:nth-child(5){ + // flex: 60%; + // max-width: 60%; + // } + } + } + } } </style> diff --git a/src/views/rawMaterials/reportForInspection/forInspectionDetail.vue b/src/views/rawMaterials/reportForInspection/forInspectionDetail.vue index e369155..6e833d1 100644 --- a/src/views/rawMaterials/reportForInspection/forInspectionDetail.vue +++ b/src/views/rawMaterials/reportForInspection/forInspectionDetail.vue @@ -127,13 +127,114 @@ size="50%" > <div class="demo-drawer__content"> - <el-form :model="addSampleFrom"> + <el-form label-position="top" label-width="120px" :model="addSampleFrom"> <el-form-item> - <el-button>閫夋嫨鐗╂枡</el-button> + <el-button type="primary">閫夋嫨鐗╂枡</el-button> </el-form-item> - <el-row> - <el-col /> + <div class="materialParams-card"> + <el-row class="materialParams-top"> + <el-col :span="12"> + <el-form-item> + <el-input placeholder="--"> + <template slot="prepend">鐗╂枡缂栧彿</template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item> + <el-input placeholder="--"> + <template slot="prepend">鐗╂枡鍚嶇О</template> + </el-input> + </el-form-item> + </el-col> + </el-row> + <el-row class="materialParams-bottom"> + <el-col :span="12"> + <el-form-item> + <el-input placeholder="--"> + <template slot="prepend">鐗╂枡瑙勬牸</template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item> + <el-input placeholder="--"> + <template slot="prepend">渚涘簲鍟� </template> + </el-input> + </el-form-item> + </el-col> + </el-row> + </div> + <el-row gutter="100" :style="{marginTop:'24px'}"> + <el-col :span="12"> + <el-form-item label="鎵规"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鏁伴噺"> + <el-input placeholder="" /> + </el-form-item> + </el-col> </el-row> + <el-row gutter="100"> + <el-col :span="12"> + <el-form-item label="鐩樺彿"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="瀛樻斁鍦�"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + </el-row> + <el-row gutter="100"> + <el-col :span="12"> + <el-form-item label="瑙勬牸/鍨嬪彿鍚嶇О"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="涓荤嚎蹇冩埅闈�"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + </el-row> + <el-row gutter="100"> + <el-col :span="12"> + <el-form-item label="鐢熶骇鎸囦护鍙�"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="涓荤嚎鑺姱鏁�"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + </el-row> + <el-row gutter="100"> + <el-col :span="12"> + <el-form-item label="鐢靛帇绛夌骇"> + <el-input placeholder="" /> + </el-form-item> + </el-col> + </el-row> + <el-row gutter="100" :style="{flex:'1'}"> + <el-col :span="24"> + <el-form-item label="澶囨敞"> + <el-input + type="textarea" + rows="2" + placeholder="璇疯緭鍏ュ唴瀹�" + /> + </el-form-item> + </el-col> + </el-row> + <el-form-item> + <el-button type="primary" @click="onSubmit">绔嬪嵆鍒涘缓</el-button> + <el-button>鍙栨秷</el-button> + </el-form-item> </el-form> </div> </el-drawer> @@ -307,7 +408,70 @@ } .demo-drawer__content{ - padding: 20px; + padding: 24px; + height: 100%; + .el-form{ + height: 100%; + display: flex; + flex-direction: column; + } + ::v-deep .el-textarea__inner{ + max-height: 100px !important; + } + ::v-deep .el-form--label-top .el-form-item__label{ + padding: 0px !important; + } + .materialParams-card{ + box-shadow: rgba(100, 100, 111, 0.2) 0px 5px 15px; + // box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; + // box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; + ::v-deep .el-form-item{ + .el-form-item__content{ + margin-left:0px !important; + } + } + ::v-deep .el-input{ + >div{ + width: 120px; + text-align: center; + } + } + } + .materialParams-bottom{ + .el-form-item{ + margin-bottom: 0px !important; + ::v-deep .el-input{ + >div,>input{ + border-bottom: 0px !important; + border-left: 0px !important; + border-right: 0px !important; + // border-top: 1px solid #DCDFE6; + border-radius: 0px !important; + } + } + } + } + .materialParams-top{ + .el-form-item{ + margin-bottom: 0px !important; + ::v-deep .el-input{ + >div,>input{ + border: 0px !important; + border-radius: 0px !important; + } + } + } + .el-col:nth-child(1){ + // + ::v-deep .el-input{ + >div,>input{ + border-bottom: 0px !important; + border-right: 0px !important; + border-radius: 0px !important; + } + } + } + } } </style> diff --git a/src/views/rawMaterials/reportForInspection/index.vue b/src/views/rawMaterials/reportForInspection/index.vue index 62ec587..720e8d5 100644 --- a/src/views/rawMaterials/reportForInspection/index.vue +++ b/src/views/rawMaterials/reportForInspection/index.vue @@ -60,43 +60,43 @@ style="width: 100%" > <el-table-column - prop="applicationOrdernumber" - label="鐢宠鍗曞彿" - min-width="200" - /> - <el-table-column - prop="typeofInspection" + prop="type" label="妫�楠岀被鍨�" min-width="200" /> <el-table-column - prop="objectofInspection" - label="妫�楠屽璞�" + prop="createTime" + label="鍒涘缓鏃堕棿" min-width="200" /> <el-table-column - prop="palceofObject" - label="瀵硅薄浣嶇疆" - min-width="200" - /> - <el-table-column - prop="name" - label="瀵硅薄鍚嶇О" - min-width="200" - /> - <el-table-column - prop="date" - label="鐧昏鏃ユ湡" + prop="userName" + label="鐢宠浜�" min-width="200" /> <el-table-column prop="registrant" - label="鐧昏浜�" + label="妫�楠屼汉" min-width="200" /> <el-table-column - prop="applicationTime" - label="鐢宠鏃堕棿" + prop="inspectionStatus" + label="妫�楠岀姸鎬�" + min-width="200" + /> + <el-table-column + prop="qualifiedState" + label="鍚堟牸鐘舵��" + min-width="200" + /> + <el-table-column + prop="inspectStartTime" + label="妫�楠屽紑濮嬫椂闂�" + min-width="200" + /> + <el-table-column + prop="inspectEndTime" + label="妫�楠岀粨鏉熸椂闂�" min-width="200" /> <el-table-column @@ -117,7 +117,7 @@ :page-sizes="[100, 200, 300, 400]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="this.inspectionTable.length" + :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -152,6 +152,7 @@ </template> <script> +import { getInspectionList } from '@/api/rawMaterials/reportForInspection' export default { data() { return { @@ -160,18 +161,22 @@ keyword: '' }, inspectionTable: [{ - applicationOrdernumber: 'QC22-09155', - typeofInspection: '閲囪喘鍏ュ簱', - objectofInspection: 'MI202207032-1', - palceofObject: '---', - name: '杩欐槸涓�鏉℃祴璇曟暟鎹�', - date: '2022-09-23', - registrant: '绠$悊鍛�', - applicationTime: '111' + 'id': '1681215775833042945', + 'type': 0, + 'inspectionStatus': 0, + 'qualifiedState': null, + 'state': 1, + 'createTime': '2023-07-18 16:14:11', + 'updateTime': null, + 'version': null, + 'userName': '娴嬭瘯浜哄憳', + 'inspectUserId': null, + 'inspectStartTime': null, + 'inspectEndTime': null }], currentPage: 1, total: 20, // 鎬绘潯鏁� - pageSize: 100, // 姣忛〉鐨勬暟鎹潯鏁� + pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁� radioValue: '鍏ㄩ儴', checkTypeVisible: false, type: 0 @@ -207,10 +212,18 @@ // // 鐢变簬浼氭覆鏌撳悓鏍风殑 Foo 缁勪欢锛屽洜姝ょ粍浠跺疄渚嬩細琚鐢ㄣ�傝�岃繖涓挬瀛愬氨浼氬湪杩欎釜鎯呭喌涓嬭璋冪敤銆� // // 鍙互璁块棶缁勪欢瀹炰緥 `this` // }, + created() { + this.getInspectionTableData() + }, updated() { if (this.$route.name === 'ForInspectionDetail') this.showDetail = true }, methods: { + async getInspectionTableData() { + const res = await getInspectionList({ pageSize: this.currentPage, countSize: this.pageSize }) + // this.inspectionTable = data + console.log(res) + }, goToForInspectionDetail() { this.$router.push('/rawMaterials/reportForInspection/forInspectionDetail') }, diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue index b5876fb..2d03597 100644 --- a/src/views/standardLibrary/index.vue +++ b/src/views/standardLibrary/index.vue @@ -72,7 +72,7 @@ <el-tag :type="scope.row.spe_state === 0 ? 'primary' : 'success'" disable-transitions - >{{ scope.row.spe_state === 0 ? '鏈悓鎰�' : '宸插悓鎰�' }}</el-tag> + >{{ scope.row.spe_state === 0 ? '宸插仠鐢�' : '宸插惎鐢�' }}</el-tag> </template> </el-table-column> <el-table-column @@ -248,7 +248,7 @@ <!-- 鍒嗛〉鍣� --> <el-pagination :current-page="pageParams.pageNo" - :page-sizes="[1, 2, 3, 4]" + :page-sizes="[10, 15, 20, 25]" :page-size="pageParams.pageNo" layout="total, sizes, prev, pager, next, jumper" :total="pageParams.total" @@ -286,42 +286,13 @@ keyword: '' }, tableData: [ - { - id: 2, - name: 'AB', - updateTime: '2023-07-12 00:00:12', - username: '灏忓皬', - vel: 'V1.0', - spe_state: 1, - visible: false - }, - { - id: 3, - name: 'AB', - updateTime: '2023-07-12 00:00:12', - username: '灏忓皬', - vel: 'V1.0', - spe_state: 1, - visible: false - - }, - { - id: 4, - name: 'AB', - updateTime: '2023-07-12 00:00:12', - username: '灏忓皬', - vel: 'V1.0', - spe_state: 1, - visible: false - - } ], oldtableData: [], // 鍒嗛〉鍙傛暟 pageParams: { pageNo: 1, - pageSize: 1, - total: 3 + pageSize: 10, + total: 0 }, tablespecifications: [ ], -- Gitblit v1.9.3