|
@@ -237,6 +237,13 @@ export default {
|
|
|
type: Object,
|
|
type: Object,
|
|
|
default: null,
|
|
default: null,
|
|
|
},
|
|
},
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 是否多选
|
|
|
|
|
+ */
|
|
|
|
|
+ 'multiple': {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: false,
|
|
|
|
|
+ },
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
emits: ['dataSelected'],
|
|
emits: ['dataSelected'],
|
|
@@ -247,7 +254,6 @@ export default {
|
|
|
infoWindowDto: {},
|
|
infoWindowDto: {},
|
|
|
queryResult: {},
|
|
queryResult: {},
|
|
|
infoWindowData: {},
|
|
infoWindowData: {},
|
|
|
- selectedModelDatas: [], // 当前界面的选择项 (multiple)
|
|
|
|
|
pagination: {
|
|
pagination: {
|
|
|
total: 0,
|
|
total: 0,
|
|
|
per_page: Common.pageSize, // required
|
|
per_page: Common.pageSize, // required
|
|
@@ -297,49 +303,36 @@ export default {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
if (_self.multipleSelect) {
|
|
if (_self.multipleSelect) {
|
|
|
if (_self.isSelectAll) {
|
|
if (_self.isSelectAll) {
|
|
|
- _self.selectedModelDatas.splice(0, _self.selectedModelDatas.length);
|
|
|
|
|
if (val) {
|
|
if (val) {
|
|
|
_self.infoWindowData.dataList.forEach(function (item) {
|
|
_self.infoWindowData.dataList.forEach(function (item) {
|
|
|
item.select = true;
|
|
item.select = true;
|
|
|
- _self.selectedModelDatas.push(item);
|
|
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
_self.infoWindowData.dataList.forEach(function (item) {
|
|
_self.infoWindowData.dataList.forEach(function (item) {
|
|
|
item.select = false;
|
|
item.select = false;
|
|
|
});
|
|
});
|
|
|
- _self.selectedModelDatas = [];
|
|
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
_self.isSelectAll = false;
|
|
_self.isSelectAll = false;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 路由发生改变
|
|
|
|
|
- */
|
|
|
|
|
- $route: function (to, from) {
|
|
|
|
|
- var _self = this;
|
|
|
|
|
- _self.infoWindowData = {};
|
|
|
|
|
- },
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 选择的数据发生改变
|
|
|
|
|
- */
|
|
|
|
|
- // selectedModelDatas: function(to, from){
|
|
|
|
|
- // var _self = this;
|
|
|
|
|
- // if(!_self.multipleSelect){
|
|
|
|
|
- // if(to.length > 1){
|
|
|
|
|
- // _self.selectedModelDatas.splice(0, to.length - 1);
|
|
|
|
|
- // }
|
|
|
|
|
- // }
|
|
|
|
|
|
|
+ // /**
|
|
|
|
|
+ // * 路由发生改变
|
|
|
|
|
+ // */
|
|
|
|
|
+ // $route: function (to, from) {
|
|
|
|
|
+ // var _self = this;
|
|
|
|
|
+ // _self.infoWindowData = {};
|
|
|
// },
|
|
// },
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * fieldValue发生改变
|
|
|
|
|
- */
|
|
|
|
|
- fieldValue: function (to, from) {
|
|
|
|
|
- this.reSelectedNode(to);
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ multiple: {
|
|
|
|
|
+ handler: function(newValue, oldValue){
|
|
|
|
|
+ this.multipleSelect = newValue;
|
|
|
|
|
+ },
|
|
|
|
|
+ immediate: true,
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -478,13 +471,10 @@ export default {
|
|
|
data: JSON.stringify(_self.infoQueryParam),
|
|
data: JSON.stringify(_self.infoQueryParam),
|
|
|
success: function (data) {
|
|
success: function (data) {
|
|
|
_self.loading=false;
|
|
_self.loading=false;
|
|
|
- data.dataList.forEach(function (item) {
|
|
|
|
|
- item.select = false;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+
|
|
|
|
|
+ _self.setSelectedFlag(data);
|
|
|
_self.infoWindowData = data;
|
|
_self.infoWindowData = data;
|
|
|
- _self.selectedModelDatas.splice(0, _self.selectedModelDatas.length);
|
|
|
|
|
|
|
|
|
|
- _self.reSelectedNode(_self.fieldValue);
|
|
|
|
|
_self.pagination.total = data.totalSize;
|
|
_self.pagination.total = data.totalSize;
|
|
|
_self.pagination.last_page = Math.ceil(data.totalSize / data.range.length);
|
|
_self.pagination.last_page = Math.ceil(data.totalSize / data.range.length);
|
|
|
|
|
|
|
@@ -497,6 +487,25 @@ export default {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 设置数据是否被已经被选中。
|
|
|
|
|
+ */
|
|
|
|
|
+ setSelectedFlag: function(data){
|
|
|
|
|
+ let _self = this;
|
|
|
|
|
+ let selectedIds = _self.fieldValue.ids;
|
|
|
|
|
+ let selectedId = _self.fieldValue.id;
|
|
|
|
|
+
|
|
|
|
|
+ data.dataList.forEach(function (item) {
|
|
|
|
|
+ if(selectedIds !== undefined && selectedIds.indexOf(item.id) >= 0){
|
|
|
|
|
+ item.select = true;
|
|
|
|
|
+ }else if(selectedId !== undefined && selectedId == item.id){
|
|
|
|
|
+ item.select = true;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ item.select = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
queryInfoWindowDataSimple: function () {
|
|
queryInfoWindowDataSimple: function () {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
if (_self.$refs.loading) {
|
|
if (_self.$refs.loading) {
|
|
@@ -517,14 +526,9 @@ export default {
|
|
|
if (_self.$refs.loading) {
|
|
if (_self.$refs.loading) {
|
|
|
_self.loading=false;
|
|
_self.loading=false;
|
|
|
}
|
|
}
|
|
|
- data.dataList.forEach(function (item) {
|
|
|
|
|
- item.select = false;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ _self.setSelectedFlag(data);
|
|
|
_self.infoWindowData = data;
|
|
_self.infoWindowData = data;
|
|
|
|
|
|
|
|
- _self.selectedModelDatas.splice(0, _self.selectedModelDatas.length);
|
|
|
|
|
-
|
|
|
|
|
- _self.reSelectedNode(_self.fieldValue);
|
|
|
|
|
_self.pagination.total = data.totalSize;
|
|
_self.pagination.total = data.totalSize;
|
|
|
_self.pagination.last_page = Math.ceil(data.totalSize / data.range.length);
|
|
_self.pagination.last_page = Math.ceil(data.totalSize / data.range.length);
|
|
|
|
|
|
|
@@ -547,25 +551,13 @@ export default {
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 选择/取消选择表格行中的复选框事件
|
|
|
|
|
- */
|
|
|
|
|
|
|
+ * 选择/取消选择表格行中的复选框事件
|
|
|
|
|
+ */
|
|
|
selectNodeForSearch: function (modelData) {
|
|
selectNodeForSearch: function (modelData) {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
- if ((_self.fieldValue != undefined) && (_self.fieldValue.fieldType == 'ManyToManyKey')) {
|
|
|
|
|
- // CRUD-ManyToManySetBoxEditor多选搜索框-多选
|
|
|
|
|
-
|
|
|
|
|
- } else if ((_self.fieldValue != undefined) && (_self.fieldValue.displayType == 'MultiSearchBoxEditor')) {
|
|
|
|
|
- // 多选
|
|
|
|
|
-
|
|
|
|
|
- } else if ((_self.fieldValue != undefined) && (_self.fieldValue.fieldType == 'Key')) {
|
|
|
|
|
- // 单选
|
|
|
|
|
- // 清空选择项
|
|
|
|
|
- _self.selectedModelDatas.splice(0, _self.selectedModelDatas.length);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
var currentStatus = modelData.select;
|
|
var currentStatus = modelData.select;
|
|
|
- var index = _self.selectedModelDatas.indexOf(modelData);
|
|
|
|
|
if (!_self.multipleSelect) {
|
|
if (!_self.multipleSelect) {
|
|
|
- _self.selectedModelDatas = [];
|
|
|
|
|
_self.infoWindowData.dataList.forEach(function (item) {
|
|
_self.infoWindowData.dataList.forEach(function (item) {
|
|
|
item.select = false;
|
|
item.select = false;
|
|
|
});
|
|
});
|
|
@@ -573,21 +565,29 @@ export default {
|
|
|
|
|
|
|
|
modelData.select = !currentStatus;
|
|
modelData.select = !currentStatus;
|
|
|
|
|
|
|
|
- if (index < 0) {
|
|
|
|
|
- _self.selectedModelDatas.push(modelData);
|
|
|
|
|
|
|
+ if (modelData.select === true) {
|
|
|
_self.$emit('dataSelected', modelData);
|
|
_self.$emit('dataSelected', modelData);
|
|
|
} else {
|
|
} else {
|
|
|
- _self.selectedModelDatas.splice(index, 1);
|
|
|
|
|
_self.$emit('deleteSelected', modelData);
|
|
_self.$emit('deleteSelected', modelData);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取选择的数据
|
|
|
|
|
- */
|
|
|
|
|
|
|
+ * 获取选择的数据
|
|
|
|
|
+ */
|
|
|
getSelectedModelDatas: function (data) {
|
|
getSelectedModelDatas: function (data) {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
- return _self.selectedModelDatas;
|
|
|
|
|
|
|
+ var tempSelectedModelDatas = [];
|
|
|
|
|
+
|
|
|
|
|
+ if(_self.infoWindowData != null && _self.infoWindowData.dataList != null){
|
|
|
|
|
+ _self.infoWindowData.dataList.forEach(function (item) {
|
|
|
|
|
+ if(item.select == true){
|
|
|
|
|
+ tempSelectedModelDatas.push(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return tempSelectedModelDatas;
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -626,6 +626,7 @@ export default {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ let tempSelectedModelDatas = _self.getSelectedModelDatas();
|
|
|
if (infoButton.htmlWindowNo != null && infoButton.htmlWindowNo.length > 0) {
|
|
if (infoButton.htmlWindowNo != null && infoButton.htmlWindowNo.length > 0) {
|
|
|
HtmlWindowResource.uniqueByNo(infoButton.htmlWindowNo).then(htmlWindowDto => {
|
|
HtmlWindowResource.uniqueByNo(infoButton.htmlWindowNo).then(htmlWindowDto => {
|
|
|
if (htmlWindowDto != undefined) {
|
|
if (htmlWindowDto != undefined) {
|
|
@@ -641,13 +642,13 @@ export default {
|
|
|
htmlWindowUrl = htmlWindowUrl.replace('{URL}', Common.getRedirectUrl(''));
|
|
htmlWindowUrl = htmlWindowUrl.replace('{URL}', Common.getRedirectUrl(''));
|
|
|
console.log('{' + htmlWindowUrl + '}地址');
|
|
console.log('{' + htmlWindowUrl + '}地址');
|
|
|
} else if (tempResult == '{RecordId}') {
|
|
} else if (tempResult == '{RecordId}') {
|
|
|
- if (_self.selectedModelDatas.length == 0) {
|
|
|
|
|
|
|
+ if (tempSelectedModelDatas.length == 0) {
|
|
|
Notify.error('错误', '未选择可操作的数据', true);
|
|
Notify.error('错误', '未选择可操作的数据', true);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
htmlWindowUrl = htmlWindowUrl.replace('{RecordId}', _self.getFirstSelectRecordId());
|
|
htmlWindowUrl = htmlWindowUrl.replace('{RecordId}', _self.getFirstSelectRecordId());
|
|
|
} else if (tempResult == '{RecordIds}') {
|
|
} else if (tempResult == '{RecordIds}') {
|
|
|
- if (_self.selectedModelDatas.length == 0) {
|
|
|
|
|
|
|
+ if (tempSelectedModelDatas.length == 0) {
|
|
|
Notify.error('错误', '未选择可操作的数据', true);
|
|
Notify.error('错误', '未选择可操作的数据', true);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -657,10 +658,10 @@ export default {
|
|
|
} else if (tempResult == '{infoWindowNo}') {
|
|
} else if (tempResult == '{infoWindowNo}') {
|
|
|
htmlWindowUrl = htmlWindowUrl.replace('{infoWindowNo}', _self.infoWindowDto.no);
|
|
htmlWindowUrl = htmlWindowUrl.replace('{infoWindowNo}', _self.infoWindowDto.no);
|
|
|
} else {
|
|
} else {
|
|
|
- if (_self.selectedModelDatas.length == 0) {
|
|
|
|
|
|
|
+ if (tempSelectedModelDatas.length == 0) {
|
|
|
Notify.error('错误', '未选择可操作的数据', true);
|
|
Notify.error('错误', '未选择可操作的数据', true);
|
|
|
return;
|
|
return;
|
|
|
- } else if (_self.selectedModelDatas.length > 1) {
|
|
|
|
|
|
|
+ } else if (tempSelectedModelDatas.length > 1) {
|
|
|
Notify.error('错误', '请选择一条数据', true);
|
|
Notify.error('错误', '请选择一条数据', true);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -693,19 +694,33 @@ export default {
|
|
|
+ '&token=' + Common.getToken();
|
|
+ '&token=' + Common.getToken();
|
|
|
window.open(downloadUrl);
|
|
window.open(downloadUrl);
|
|
|
} else {
|
|
} else {
|
|
|
- // if (_self.selectedModelDatas.length == 0) {
|
|
|
|
|
- // Notify.error("错误", "未选择可操作的数据", true);
|
|
|
|
|
- // return;
|
|
|
|
|
- // }
|
|
|
|
|
- localStorage.setItem(_self.uuid, JSON.stringify(_self.selectedModelDatas));
|
|
|
|
|
-
|
|
|
|
|
- var routeDate = {
|
|
|
|
|
- path: customerWindowRouteUrl,
|
|
|
|
|
- query: {
|
|
|
|
|
- 'uuid': _self.uuid,
|
|
|
|
|
- },
|
|
|
|
|
- };
|
|
|
|
|
- _self.$router.push(routeDate);
|
|
|
|
|
|
|
+ if (tempSelectedModelDatas.length > 0) {
|
|
|
|
|
+ let userStorageDtos = [
|
|
|
|
|
+ {
|
|
|
|
|
+ key: _self.uuid,
|
|
|
|
|
+ value: JSON.stringify(tempSelectedModelDatas),
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+
|
|
|
|
|
+ // 组装查询条件,然后放到后台数据库当中
|
|
|
|
|
+ UserStorageResource.uploadUserStorage(userStorageDtos).then(successData => {
|
|
|
|
|
+ _self.$router.push({
|
|
|
|
|
+ path: customerWindowRouteUrl,
|
|
|
|
|
+ query: {
|
|
|
|
|
+ 'uuid': _self.uuid,
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ }, errorData => {
|
|
|
|
|
+ Common.processException(errorData);
|
|
|
|
|
+ });
|
|
|
|
|
+ }else{
|
|
|
|
|
+ _self.$router.push({
|
|
|
|
|
+ path: customerWindowRouteUrl,
|
|
|
|
|
+ query: {
|
|
|
|
|
+ 'uuid': _self.uuid,
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}, errorData => {
|
|
}, errorData => {
|
|
@@ -789,24 +804,31 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取选择数据的Id集合
|
|
|
|
|
- */
|
|
|
|
|
|
|
+ * 获取选择数据的Id集合
|
|
|
|
|
+ */
|
|
|
getSelectedRecordIds: function () {
|
|
getSelectedRecordIds: function () {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
var recordIds = [];
|
|
var recordIds = [];
|
|
|
- _self.selectedModelDatas.forEach(function (selectedModelData) {
|
|
|
|
|
- recordIds.push(selectedModelData.id);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if(_self.infoWindowData != null && _self.infoWindowData.dataList != null){
|
|
|
|
|
+ _self.infoWindowData.dataList.forEach(function (item) {
|
|
|
|
|
+ if(item.select == true){
|
|
|
|
|
+ recordIds.push(item.id);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return recordIds;
|
|
return recordIds;
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取选中的第一个数据的Id
|
|
|
|
|
- */
|
|
|
|
|
|
|
+ * 获取选中的第一个数据的Id
|
|
|
|
|
+ */
|
|
|
getFirstSelectRecordId: function () {
|
|
getFirstSelectRecordId: function () {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
- if (_self.selectedModelDatas.length > 0) {
|
|
|
|
|
- return _self.selectedModelDatas[0].id;
|
|
|
|
|
|
|
+ let recordIds = _self.getSelectedRecordIds();
|
|
|
|
|
+ if (recordIds.length > 0) {
|
|
|
|
|
+ return recordIds[0];
|
|
|
}
|
|
}
|
|
|
return undefined;
|
|
return undefined;
|
|
|
},
|
|
},
|
|
@@ -816,11 +838,16 @@ export default {
|
|
|
*/
|
|
*/
|
|
|
getFirstSelectModelDataFieldValue: function (name) {
|
|
getFirstSelectModelDataFieldValue: function (name) {
|
|
|
var _self = this;
|
|
var _self = this;
|
|
|
- if (_self.selectedModelDatas.length > 0) {
|
|
|
|
|
- if (_self.selectedModelDatas[0].data[name] != undefined) {
|
|
|
|
|
- return _self.selectedModelDatas[0].data[name].displayValue[0];
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if(_self.infoWindowData != null && _self.infoWindowData.dataList != null){
|
|
|
|
|
+ for(let i = 0; i < _self.infoWindowData.dataList.length; i ++){
|
|
|
|
|
+ let item = _self.infoWindowData.dataList[i];
|
|
|
|
|
+ if(item.select == true){
|
|
|
|
|
+ return item.data[name].displayValue[0];
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return undefined;
|
|
return undefined;
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -854,34 +881,6 @@ export default {
|
|
|
_self.sortStyle = _self.sortStyle == ' ASC' ? ' DESC' : ' ASC';
|
|
_self.sortStyle = _self.sortStyle == ' ASC' ? ' DESC' : ' ASC';
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 重新加载数据以后,重新计算当前界面的选择项
|
|
|
|
|
- */
|
|
|
|
|
- reSelectedNode: function (fieldValue) {
|
|
|
|
|
- if (!fieldValue) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- var _self = this;
|
|
|
|
|
- var ids = [];
|
|
|
|
|
- if (fieldValue.displayType == 'MultiSearchBoxEditor') {
|
|
|
|
|
- ids = fieldValue.ids;
|
|
|
|
|
- } else if (fieldValue.fieldType == 'ManyToManyKey') {
|
|
|
|
|
- ids = fieldValue.ids;
|
|
|
|
|
- } else if (fieldValue.fieldType == 'Key') {
|
|
|
|
|
- ids.push(fieldValue.id);
|
|
|
|
|
- } else {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- _self.selectedModelDatas.splice(0, _self.selectedModelDatas.length);
|
|
|
|
|
- if (this.infoWindowData && this.infoWindowData.dataList) {
|
|
|
|
|
- this.infoWindowData.dataList.forEach(function (node) {
|
|
|
|
|
- if (ids.indexOf(node.id) > -1) {
|
|
|
|
|
- _self.selectedModelDatas.push(node);
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|