|
@@ -14,16 +14,49 @@ export default function () {
|
|
|
},
|
|
|
buildRequest: function (operation) {
|
|
|
// 参考源码 ext-all-debug.js:71468 method:buildRequest
|
|
|
- debugger
|
|
|
const me = this
|
|
|
- const params = operation.params = Ext.apply({}, {params: operation.getParams()}, me.extraParams)
|
|
|
|
|
|
- Ext.applyIf(params, me.getParams(operation));
|
|
|
+ const gridParam = me.getParams(operation)
|
|
|
+ const customParam = {}
|
|
|
|
|
|
- if (operation.id !== undefined && params[me.idParam] === undefined) {
|
|
|
- params[me.idParam] = operation.id;
|
|
|
+ // 提取 srot 元素
|
|
|
+ if (gridParam.sort) {
|
|
|
+ const sort = JSON.parse(gridParam.sort)
|
|
|
+ // 字符串 [{"property":"BRANCHID","direction":"ASC"}]
|
|
|
+ // 转换为对象 [{colId: "BRANCHID", sort: "asc"}]
|
|
|
+ customParam.sortModel = []
|
|
|
+ _.forEach(sort, s => {
|
|
|
+ customParam.sortModel.push({
|
|
|
+ colId: s.property,
|
|
|
+ sort: _.toLower(s.direction)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ delete gridParam.sort
|
|
|
}
|
|
|
|
|
|
+ // 提取筛选元素
|
|
|
+ if (gridParam.filter) {
|
|
|
+ const filter = JSON.parse(gridParam.filter)
|
|
|
+ // "[{"operator":"like","value":"1","property":"id"}]"
|
|
|
+ // 转换为 filterModel: {BRANCHID: {filterType: "text", type: "contains", filter: "12"}}
|
|
|
+ customParam.filterModel = {}
|
|
|
+ _.forEach(filter, s => {
|
|
|
+ const newFilterItem = {}
|
|
|
+ if (s.operator === 'like') {
|
|
|
+ newFilterItem.filterType = 'text';
|
|
|
+ newFilterItem.type = 'contains';
|
|
|
+ newFilterItem.filter = s.value;
|
|
|
+ } else {
|
|
|
+ // 无法识别的筛选类型
|
|
|
+ debugger
|
|
|
+ }
|
|
|
+ customParam.filterModel[s.property] = newFilterItem
|
|
|
+ })
|
|
|
+ delete gridParam.filter
|
|
|
+ }
|
|
|
+
|
|
|
+ const params = _.defaultsDeep(gridParam, me.extraParams)
|
|
|
+
|
|
|
// var request = this.superclass.buildRequest.apply(this, arguments);
|
|
|
let request = new Ext.data.Request({
|
|
|
params: {},
|
|
@@ -33,21 +66,12 @@ export default function () {
|
|
|
jsonData: {
|
|
|
args: [
|
|
|
params
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ ...customParam
|
|
|
},
|
|
|
- // callback: function (options, success, response) {
|
|
|
- // console.log('callback', me, arguments)
|
|
|
- // },
|
|
|
proxy: me
|
|
|
});
|
|
|
|
|
|
- // request.setUrl(me.buildUrl(request));
|
|
|
- // request.setMethod("post")
|
|
|
- // request.setJsonData({
|
|
|
- // args: [
|
|
|
- // params
|
|
|
- // ]
|
|
|
- // })
|
|
|
operation.setRequest(request);
|
|
|
return request;
|
|
|
},
|