|
|
@@ -581,7 +581,10 @@
|
|
581
|
581
|
<div class="loading-spinner"></div>
|
|
582
|
582
|
</div>
|
|
583
|
583
|
|
|
584
|
|
- <div v-if="queryResults && queryResults.length > 0" class="table-container">
|
|
|
584
|
+ <div v-if="queryExecuted && allResults && allResults.length > 0" class="table-container">
|
|
|
585
|
+ <div style="margin-bottom: 10px; color: #666;">
|
|
|
586
|
+ 显示 {{ queryResults.length }} 条记录,共 {{ allResults.length }} 条
|
|
|
587
|
+ </div>
|
|
585
|
588
|
<table class="data-table">
|
|
586
|
589
|
<thead>
|
|
587
|
590
|
<tr>
|
|
|
@@ -589,16 +592,25 @@
|
|
589
|
592
|
</tr>
|
|
590
|
593
|
</thead>
|
|
591
|
594
|
<tbody>
|
|
592
|
|
- <tr v-for="(row, rowIndex) in queryResults" :key="rowIndex">
|
|
593
|
|
- <td v-for="(column, colIndex) in tableColumns" :key="colIndex">
|
|
594
|
|
- {{ row[column] }}
|
|
595
|
|
- </td>
|
|
596
|
|
- </tr>
|
|
|
595
|
+ <template v-if="queryResults.length > 0">
|
|
|
596
|
+ <tr v-for="(row, rowIndex) in queryResults" :key="rowIndex">
|
|
|
597
|
+ <td v-for="(column, colIndex) in tableColumns" :key="colIndex">
|
|
|
598
|
+ {{ row[column] || '' }}
|
|
|
599
|
+ </td>
|
|
|
600
|
+ </tr>
|
|
|
601
|
+ </template>
|
|
|
602
|
+ <template v-else>
|
|
|
603
|
+ <tr>
|
|
|
604
|
+ <td :colspan="tableColumns.length" style="text-align: center; color: #999;">
|
|
|
605
|
+ 数据加载中...
|
|
|
606
|
+ </td>
|
|
|
607
|
+ </tr>
|
|
|
608
|
+ </template>
|
|
597
|
609
|
</tbody>
|
|
598
|
610
|
</table>
|
|
599
|
611
|
|
|
600
|
612
|
<!-- 分页控件 -->
|
|
601
|
|
- <div class="pagination" v-if="totalPages > 1">
|
|
|
613
|
+ <div class="pagination" v-if="totalPages > 1 && allResults.length > pageSize">
|
|
602
|
614
|
<button class="pagination-btn"
|
|
603
|
615
|
:class="{ disabled: currentPage === 1 }"
|
|
604
|
616
|
@click="changePage(1)">
|
|
|
@@ -802,27 +814,6 @@
|
|
802
|
814
|
this.showToastMessage(`获取表格列表失败: ${error.message}`, 'error');
|
|
803
|
815
|
this.isTablesLoading = false;
|
|
804
|
816
|
|
|
805
|
|
- // 检查是否在本地环境
|
|
806
|
|
- if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
|
|
807
|
|
- //console.log('在本地环境中使用模拟数据');
|
|
808
|
|
- // 模拟数据用于开发测试
|
|
809
|
|
- this.tables = [
|
|
810
|
|
- 'users', 'products', 'orders', 'categories',
|
|
811
|
|
- 'customers', 'suppliers', 'inventory', 'payments',
|
|
812
|
|
- 'shipping', 'reviews', 'logs', 'settings'
|
|
813
|
|
- ];
|
|
814
|
|
-
|
|
815
|
|
- // 模拟表格注释
|
|
816
|
|
- this.tableComments = {
|
|
817
|
|
- 'users': '用户信息表',
|
|
818
|
|
- 'products': '产品信息表',
|
|
819
|
|
- 'orders': '订单信息表',
|
|
820
|
|
- 'categories': '分类信息表',
|
|
821
|
|
- 'customers': '客户信息表'
|
|
822
|
|
- };
|
|
823
|
|
-
|
|
824
|
|
- this.filteredTables = [...this.tables];
|
|
825
|
|
- }
|
|
826
|
817
|
});
|
|
827
|
818
|
},
|
|
828
|
819
|
|
|
|
@@ -878,11 +869,11 @@
|
|
878
|
869
|
fetch(`/api/GetKylx365TableColumnByTable?table=${encodeURIComponent(tableName)}`)
|
|
879
|
870
|
.then(response => response.json())
|
|
880
|
871
|
.then(data => {
|
|
881
|
|
- console.log('收到的原始数据:', data);
|
|
|
872
|
+ //console.log('收到的原始数据:', data);
|
|
882
|
873
|
|
|
883
|
874
|
// 验证数据格式
|
|
884
|
875
|
if (!data) {
|
|
885
|
|
- console.error('接收到空数据');
|
|
|
876
|
+ //console.error('接收到空数据');
|
|
886
|
877
|
throw new Error('接收到空数据');
|
|
887
|
878
|
}
|
|
888
|
879
|
|
|
|
@@ -890,17 +881,17 @@
|
|
890
|
881
|
let columnsData = null;
|
|
891
|
882
|
|
|
892
|
883
|
if (data && data.result && Array.isArray(data.result)) {
|
|
893
|
|
- console.log('标准格式: data.result 是数组');
|
|
|
884
|
+ //console.log('标准格式: data.result 是数组');
|
|
894
|
885
|
columnsData = data.result;
|
|
895
|
886
|
} else if (data && Array.isArray(data)) {
|
|
896
|
|
- console.log('替代格式: data 本身是数组');
|
|
|
887
|
+ //console.log('替代格式: data 本身是数组');
|
|
897
|
888
|
columnsData = data;
|
|
898
|
889
|
} else if (data && typeof data === 'object') {
|
|
899
|
|
- console.log('检查对象中的数组属性');
|
|
|
890
|
+ //console.log('检查对象中的数组属性');
|
|
900
|
891
|
// 尝试在对象中找到数组属性
|
|
901
|
892
|
for (const key in data) {
|
|
902
|
893
|
if (Array.isArray(data[key])) {
|
|
903
|
|
- console.log(`找到数组属性: ${key}`);
|
|
|
894
|
+ //console.log(`找到数组属性: ${key}`);
|
|
904
|
895
|
columnsData = data[key];
|
|
905
|
896
|
break;
|
|
906
|
897
|
}
|
|
|
@@ -908,13 +899,13 @@
|
|
908
|
899
|
}
|
|
909
|
900
|
|
|
910
|
901
|
if (columnsData && Array.isArray(columnsData)) {
|
|
911
|
|
- console.log('数据验证通过,开始处理数据');
|
|
912
|
|
- console.log('字段数据长度:', columnsData.length);
|
|
|
902
|
+ //console.log('数据验证通过,开始处理数据');
|
|
|
903
|
+ //console.log('字段数据长度:', columnsData.length);
|
|
913
|
904
|
|
|
914
|
905
|
if (columnsData.length > 0) {
|
|
915
|
906
|
// 检查第一个元素的格式
|
|
916
|
907
|
const firstItem = columnsData[0];
|
|
917
|
|
- console.log('第一个字段项:', firstItem);
|
|
|
908
|
+ //console.log('第一个字段项:', firstItem);
|
|
918
|
909
|
|
|
919
|
910
|
if (typeof firstItem === 'object' && !Array.isArray(firstItem)) {
|
|
920
|
911
|
// 检查并适应不同的属性名称
|
|
|
@@ -950,7 +941,7 @@
|
|
950
|
941
|
return comment.join(', ');
|
|
951
|
942
|
};
|
|
952
|
943
|
|
|
953
|
|
- console.log('使用的属性名:', { nameKey, typeKey, commentKey });
|
|
|
944
|
+ //console.log('使用的属性名:', { nameKey, typeKey, commentKey });
|
|
954
|
945
|
|
|
955
|
946
|
if (nameKey) {
|
|
956
|
947
|
// 转换为标准格式
|
|
|
@@ -965,7 +956,7 @@
|
|
965
|
956
|
};
|
|
966
|
957
|
}).filter(col => col.name); // 过滤掉没有名称的列
|
|
967
|
958
|
|
|
968
|
|
- console.log('处理后的字段列表:', this.tableColumnsList);
|
|
|
959
|
+ //console.log('处理后的字段列表:', this.tableColumnsList);
|
|
969
|
960
|
} else {
|
|
970
|
961
|
console.error('无法找到字段名属性');
|
|
971
|
962
|
this.showToastMessage('数据格式错误:无法找到字段名属性', 'error');
|
|
|
@@ -980,18 +971,18 @@
|
|
980
|
971
|
comment: ''
|
|
981
|
972
|
};
|
|
982
|
973
|
});
|
|
983
|
|
- console.log('处理后的字段列表(仅名称):', this.tableColumnsList);
|
|
|
974
|
+ //console.log('处理后的字段列表(仅名称):', this.tableColumnsList);
|
|
984
|
975
|
} else {
|
|
985
|
976
|
console.error('未知的字段数据格式');
|
|
986
|
977
|
this.showToastMessage('未知的字段数据格式', 'error');
|
|
987
|
978
|
this.tableColumnsList = [];
|
|
988
|
979
|
}
|
|
989
|
980
|
} else {
|
|
990
|
|
- console.log('字段列表为空');
|
|
|
981
|
+ //console.log('字段列表为空');
|
|
991
|
982
|
this.tableColumnsList = [];
|
|
992
|
983
|
}
|
|
993
|
984
|
} else {
|
|
994
|
|
- console.error('无法找到有效的字段数据');
|
|
|
985
|
+ //console.error('无法找到有效的字段数据');
|
|
995
|
986
|
this.tableColumnsList = [];
|
|
996
|
987
|
this.showToastMessage('获取字段列表失败', 'error');
|
|
997
|
988
|
}
|
|
|
@@ -1001,33 +992,6 @@
|
|
1001
|
992
|
this.showToastMessage('获取字段列表失败,请稍后重试', 'error');
|
|
1002
|
993
|
this.isColumnsLoading = false;
|
|
1003
|
994
|
|
|
1004
|
|
- // 模拟数据用于开发测试
|
|
1005
|
|
- if (tableName === 'users') {
|
|
1006
|
|
- this.tableColumnsList = [
|
|
1007
|
|
- { name: 'id', type: 'int(11)', comment: '用户ID' },
|
|
1008
|
|
- { name: 'username', type: 'varchar(50)', comment: '用户名' },
|
|
1009
|
|
- { name: 'email', type: 'varchar(100)', comment: '电子邮箱' },
|
|
1010
|
|
- { name: 'password', type: 'varchar(255)', comment: '密码' },
|
|
1011
|
|
- { name: 'created_at', type: 'datetime', comment: '创建时间' },
|
|
1012
|
|
- { name: 'status', type: 'tinyint(1)', comment: '状态' }
|
|
1013
|
|
- ];
|
|
1014
|
|
- } else if (tableName === 'products') {
|
|
1015
|
|
- this.tableColumnsList = [
|
|
1016
|
|
- { name: 'id', type: 'int(11)', comment: '产品ID' },
|
|
1017
|
|
- { name: 'name', type: 'varchar(100)', comment: '产品名称' },
|
|
1018
|
|
- { name: 'price', type: 'decimal(10,2)', comment: '价格' },
|
|
1019
|
|
- { name: 'category_id', type: 'int(11)', comment: '分类ID' },
|
|
1020
|
|
- { name: 'stock', type: 'int(11)', comment: '库存' },
|
|
1021
|
|
- { name: 'description', type: 'text', comment: '产品描述' }
|
|
1022
|
|
- ];
|
|
1023
|
|
- } else {
|
|
1024
|
|
- this.tableColumnsList = [
|
|
1025
|
|
- { name: 'id', type: 'int(11)', comment: '主键ID' },
|
|
1026
|
|
- { name: 'name', type: 'varchar(100)', comment: '名称' },
|
|
1027
|
|
- { name: 'description', type: 'text', comment: '描述' },
|
|
1028
|
|
- { name: 'created_at', type: 'datetime', comment: '创建时间' }
|
|
1029
|
|
- ];
|
|
1030
|
|
- }
|
|
1031
|
995
|
});
|
|
1032
|
996
|
},
|
|
1033
|
997
|
|
|
|
@@ -1142,21 +1106,78 @@
|
|
1142
|
1106
|
this.queryExecuted = true;
|
|
1143
|
1107
|
this.currentPage = 1;
|
|
1144
|
1108
|
|
|
1145
|
|
- // 这里应该调用后端API执行SQL查询
|
|
1146
|
|
- fetch('/api/ExecuteSqlQuery', {
|
|
1147
|
|
- method: 'POST',
|
|
|
1109
|
+ // 重置查询结果
|
|
|
1110
|
+ this.queryResults = [];
|
|
|
1111
|
+ this.tableColumns = [];
|
|
|
1112
|
+ this.allResults = [];
|
|
|
1113
|
+ this.totalPages = 1;
|
|
|
1114
|
+
|
|
|
1115
|
+ console.log('执行SQL查询:', this.sqlQuery.trim());
|
|
|
1116
|
+
|
|
|
1117
|
+ // 调用后端API执行SQL查询,使用RunKylx365DBSql接口
|
|
|
1118
|
+ // 使用encodeURIComponent确保中文字符被正确编码
|
|
|
1119
|
+ const encodedSql = encodeURIComponent(this.sqlQuery.trim());
|
|
|
1120
|
+ const apiUrl = `/api/RunKylx365DBSql?sql=${encodedSql}`;
|
|
|
1121
|
+ console.log('API URL:', apiUrl);
|
|
|
1122
|
+
|
|
|
1123
|
+ fetch(apiUrl, {
|
|
|
1124
|
+ method: 'GET',
|
|
1148
|
1125
|
headers: {
|
|
1149
|
|
- 'Content-Type': 'application/json'
|
|
1150
|
|
- },
|
|
1151
|
|
- body: JSON.stringify({
|
|
1152
|
|
- query: this.sqlQuery
|
|
1153
|
|
- })
|
|
|
1126
|
+ 'Accept': 'application/json'
|
|
|
1127
|
+ }
|
|
|
1128
|
+ })
|
|
|
1129
|
+ .then(response => {
|
|
|
1130
|
+ console.log('API响应状态:', response.status);
|
|
|
1131
|
+ if (!response.ok) {
|
|
|
1132
|
+ throw new Error(`HTTP error! status: ${response.status}`);
|
|
|
1133
|
+ }
|
|
|
1134
|
+ return response.json();
|
|
1154
|
1135
|
})
|
|
1155
|
|
- .then(response => response.json())
|
|
1156
|
1136
|
.then(data => {
|
|
1157
|
|
- if (data && data.result) {
|
|
1158
|
|
- this.processQueryResults(data.result);
|
|
|
1137
|
+ console.log('查询返回原始数据:', data); // 添加日志
|
|
|
1138
|
+
|
|
|
1139
|
+ // 检查数据格式
|
|
|
1140
|
+ let resultData = null;
|
|
|
1141
|
+ let errorMessage = null;
|
|
|
1142
|
+
|
|
|
1143
|
+ // 检查标准格式 {"errcode": 10000, result: [...]}
|
|
|
1144
|
+ if (data && typeof data === 'object' && 'errcode' in data) {
|
|
|
1145
|
+ console.log('检测到标准响应格式,errcode:', data.errcode);
|
|
|
1146
|
+
|
|
|
1147
|
+ if (data.errcode !== 10000) {
|
|
|
1148
|
+ errorMessage = data.errmsg || '查询返回错误';
|
|
|
1149
|
+ console.error('查询返回错误:', errorMessage);
|
|
|
1150
|
+ } else if (data.result && Array.isArray(data.result)) {
|
|
|
1151
|
+ console.log('标准格式: data.result 是数组');
|
|
|
1152
|
+ resultData = data.result;
|
|
|
1153
|
+ }
|
|
|
1154
|
+ }
|
|
|
1155
|
+ // 检查其他可能的格式
|
|
|
1156
|
+ else if (data && Array.isArray(data)) {
|
|
|
1157
|
+ console.log('替代格式: data 本身是数组');
|
|
|
1158
|
+ resultData = data;
|
|
|
1159
|
+ } else if (data && typeof data === 'object') {
|
|
|
1160
|
+ console.log('检查对象中的数组属性');
|
|
|
1161
|
+ // 尝试在对象中找到数组属性
|
|
|
1162
|
+ for (const key in data) {
|
|
|
1163
|
+ if (Array.isArray(data[key])) {
|
|
|
1164
|
+ console.log(`找到数组属性: ${key}`);
|
|
|
1165
|
+ resultData = data[key];
|
|
|
1166
|
+ break;
|
|
|
1167
|
+ }
|
|
|
1168
|
+ }
|
|
|
1169
|
+ }
|
|
|
1170
|
+
|
|
|
1171
|
+ if (errorMessage) {
|
|
|
1172
|
+ this.showToastMessage(errorMessage, 'error');
|
|
|
1173
|
+ this.queryResults = [];
|
|
|
1174
|
+ this.tableColumns = [];
|
|
|
1175
|
+ } else if (resultData && Array.isArray(resultData)) {
|
|
|
1176
|
+ console.log('处理查询结果,数据长度:', resultData.length);
|
|
|
1177
|
+ console.log('第一条记录:', JSON.stringify(resultData[0]));
|
|
|
1178
|
+ this.processQueryResults(resultData);
|
|
1159
|
1179
|
} else {
|
|
|
1180
|
+ console.log('未找到有效的查询结果数据');
|
|
1160
|
1181
|
this.queryResults = [];
|
|
1161
|
1182
|
this.tableColumns = [];
|
|
1162
|
1183
|
this.showToastMessage('查询未返回数据', 'info');
|
|
|
@@ -1205,42 +1226,103 @@
|
|
1205
|
1226
|
|
|
1206
|
1227
|
// 处理查询结果
|
|
1207
|
1228
|
processQueryResults(results) {
|
|
|
1229
|
+ console.log('进入processQueryResults方法,结果类型:', typeof results);
|
|
|
1230
|
+ console.log('结果是否为数组:', Array.isArray(results));
|
|
|
1231
|
+ console.log('结果长度:', results ? results.length : 0);
|
|
|
1232
|
+
|
|
1208
|
1233
|
if (!results || !Array.isArray(results) || results.length === 0) {
|
|
|
1234
|
+ console.log('结果为空或非数组');
|
|
1209
|
1235
|
this.queryResults = [];
|
|
1210
|
1236
|
this.tableColumns = [];
|
|
1211
|
1237
|
this.allResults = [];
|
|
1212
|
1238
|
this.totalPages = 1;
|
|
|
1239
|
+ this.showToastMessage('查询未返回数据', 'info');
|
|
1213
|
1240
|
return;
|
|
1214
|
1241
|
}
|
|
1215
|
1242
|
|
|
1216
|
|
- // 存储所有结果
|
|
1217
|
|
- this.allResults = [...results];
|
|
1218
|
|
-
|
|
1219
|
|
- // 提取表格列
|
|
1220
|
|
- this.tableColumns = Object.keys(results[0]);
|
|
|
1243
|
+ console.log('第一条记录:', JSON.stringify(results[0]));
|
|
1221
|
1244
|
|
|
1222
|
|
- // 计算总页数
|
|
1223
|
|
- this.totalPages = Math.ceil(results.length / this.pageSize);
|
|
1224
|
|
-
|
|
1225
|
|
- // 显示第一页数据
|
|
1226
|
|
- this.changePage(1);
|
|
1227
|
|
-
|
|
1228
|
|
- this.showToastMessage(`查询成功,返回 ${results.length} 条记录`, 'success');
|
|
|
1245
|
+ try {
|
|
|
1246
|
+ // 存储所有结果
|
|
|
1247
|
+ this.allResults = [...results];
|
|
|
1248
|
+
|
|
|
1249
|
+ // 提取表格列
|
|
|
1250
|
+ this.tableColumns = Object.keys(results[0]);
|
|
|
1251
|
+ console.log('提取的表格列:', this.tableColumns);
|
|
|
1252
|
+
|
|
|
1253
|
+ // 计算总页数
|
|
|
1254
|
+ this.totalPages = Math.ceil(results.length / this.pageSize);
|
|
|
1255
|
+ console.log('计算的总页数:', this.totalPages);
|
|
|
1256
|
+
|
|
|
1257
|
+ // 显示第一页数据
|
|
|
1258
|
+ this.changePage(1);
|
|
|
1259
|
+
|
|
|
1260
|
+ this.showToastMessage(`查询成功,返回 ${results.length} 条记录`, 'success');
|
|
|
1261
|
+ } catch (error) {
|
|
|
1262
|
+ console.error('处理查询结果时出错:', error);
|
|
|
1263
|
+ this.showToastMessage('处理查询结果时出错: ' + error.message, 'error');
|
|
|
1264
|
+ this.queryResults = [];
|
|
|
1265
|
+ this.tableColumns = [];
|
|
|
1266
|
+ this.allResults = [];
|
|
|
1267
|
+ this.totalPages = 1;
|
|
|
1268
|
+ }
|
|
1229
|
1269
|
},
|
|
1230
|
1270
|
|
|
1231
|
1271
|
// 切换页面
|
|
1232
|
1272
|
changePage(page) {
|
|
1233
|
|
- if (page < 1 || page > this.totalPages || page === this.currentPage) {
|
|
1234
|
|
- return;
|
|
|
1273
|
+ console.log('切换页面,目标页码:', page);
|
|
|
1274
|
+ console.log('当前页码:', this.currentPage);
|
|
|
1275
|
+ console.log('总页数:', this.totalPages);
|
|
|
1276
|
+ console.log('所有结果数量:', this.allResults.length);
|
|
|
1277
|
+ console.log('每页显示数量:', this.pageSize);
|
|
|
1278
|
+
|
|
|
1279
|
+ try {
|
|
|
1280
|
+ // 验证页码
|
|
|
1281
|
+ if (page < 1 || page > this.totalPages) {
|
|
|
1282
|
+ console.log('页码超出范围');
|
|
|
1283
|
+ return;
|
|
|
1284
|
+ }
|
|
|
1285
|
+
|
|
|
1286
|
+ if (page === this.currentPage) {
|
|
|
1287
|
+ console.log('已经在当前页面');
|
|
|
1288
|
+ return;
|
|
|
1289
|
+ }
|
|
|
1290
|
+
|
|
|
1291
|
+ this.currentPage = page;
|
|
|
1292
|
+
|
|
|
1293
|
+ // 计算当前页的数据
|
|
|
1294
|
+ const startIndex = (page - 1) * this.pageSize;
|
|
|
1295
|
+ const endIndex = Math.min(startIndex + this.pageSize, this.allResults.length);
|
|
|
1296
|
+
|
|
|
1297
|
+ console.log('计算的起始索引:', startIndex);
|
|
|
1298
|
+ console.log('计算的结束索引:', endIndex);
|
|
|
1299
|
+
|
|
|
1300
|
+ // 确保数据是普通对象数组
|
|
|
1301
|
+ const slicedData = this.allResults.slice(startIndex, endIndex);
|
|
|
1302
|
+ this.queryResults = slicedData.map(item => {
|
|
|
1303
|
+ // 确保每个属性都是基本类型
|
|
|
1304
|
+ const plainItem = {};
|
|
|
1305
|
+ Object.keys(item).forEach(key => {
|
|
|
1306
|
+ plainItem[key] = item[key] !== null && item[key] !== undefined
|
|
|
1307
|
+ ? String(item[key])
|
|
|
1308
|
+ : '';
|
|
|
1309
|
+ });
|
|
|
1310
|
+ return plainItem;
|
|
|
1311
|
+ });
|
|
|
1312
|
+
|
|
|
1313
|
+ console.log('当前页数据数量:', this.queryResults.length);
|
|
|
1314
|
+ console.log('第一条记录:', JSON.stringify(this.queryResults[0]));
|
|
|
1315
|
+
|
|
|
1316
|
+ // 强制Vue更新视图
|
|
|
1317
|
+ this.$forceUpdate();
|
|
|
1318
|
+ } catch (error) {
|
|
|
1319
|
+ console.error('切换页面时出错:', error);
|
|
|
1320
|
+ this.showToastMessage('切换页面时出错: ' + error.message, 'error');
|
|
|
1321
|
+ // 重置为第一页
|
|
|
1322
|
+ this.currentPage = 1;
|
|
|
1323
|
+ this.queryResults = this.allResults.slice(0, this.pageSize);
|
|
|
1324
|
+ this.$forceUpdate();
|
|
1235
|
1325
|
}
|
|
1236
|
|
-
|
|
1237
|
|
- this.currentPage = page;
|
|
1238
|
|
-
|
|
1239
|
|
- // 计算当前页的数据
|
|
1240
|
|
- const startIndex = (page - 1) * this.pageSize;
|
|
1241
|
|
- const endIndex = Math.min(startIndex + this.pageSize, this.allResults.length);
|
|
1242
|
|
-
|
|
1243
|
|
- this.queryResults = this.allResults.slice(startIndex, endIndex);
|
|
1244
|
1326
|
},
|
|
1245
|
1327
|
|
|
1246
|
1328
|
// 显示提示消息
|