Files
PropertyDeployment/resources/Web/MicroCommunityWeb/html/components/property/chooseInspectionRoutePoint/chooseInspectionRoutePoint.js
2025-12-09 20:22:03 +08:00

163 lines
7.2 KiB
JavaScript

(function (vc) {
var DEFAULT_ROWS = 10;
vc.extends({
propTypes: {
emitListener: vc.propTypes.string,
emitFunction: vc.propTypes.string
},
data: {
chooseInspectionRoutePointInfo: {
points: [],
inspectionName: '',
inspectionRouteId: '',
routeName: '',
selectPoints: []
}
},
watch: { // 监视双向绑定的数据数组
checkData: {
handler() { // 数据数组有变化将触发此函数
if ($that.chooseInspectionRoutePointInfo.selectPoints.length == $that.chooseInspectionRoutePointInfo.points.length) {
document.querySelector('#quan').checked = true;
} else {
document.querySelector('#quan').checked = false;
}
},
deep: true // 深度监视
}
},
_initMethod: function () {
},
_initEvent: function () {
vc.on('chooseInspectionRoutePoint', 'openchooseInspectionRoutePointModal', function (_param) {
$that._refreshChooseInspectionRoutePointInfo();
$('#chooseInspectionRoutePointModel').modal('show');
vc.copyObject(_param, $that.chooseInspectionRoutePointInfo);
$that._loadAllPointsInfo(1, 10, '');
});
vc.on('chooseInspectionRoutePoint', 'paginationPlus', 'page_event', function (_currentPage) {
$that._loadAllPointsInfo(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_loadAllPointsInfo: function (_page, _row, _name) {
var param = {
params: {
page: _page,
row: _row,
inspectionName: _name,
relationship: '0',
inspectionRouteId: $that.chooseInspectionRoutePointInfo.inspectionRouteId,
communityId: vc.getCurrentCommunity().communityId
}
};
//发送get请求
vc.http.apiGet('inspectionPoint.listInspectionPoints',
param,
function (json) {
var _pointInfo = JSON.parse(json);
$that.chooseInspectionRoutePointInfo.points = _pointInfo.inspectionPoints;
vc.emit('chooseInspectionRoutePoint', 'paginationPlus', 'init', {
total: _pointInfo.records,
dataCount: _pointInfo.total,
currentPage: _page
});
}, function () {
console.log('请求失败处理');
}
);
},
_chooseInspectionRoutePoint: function (_org) {
var _selectPoints = $that.chooseInspectionRoutePointInfo.selectPoints;
var _tmpPoints = $that.chooseInspectionRoutePointInfo.points;
if (_selectPoints.length < 1) {
vc.toast("请选择巡检点");
return;
}
var _points = [];
for (var _selectIndex = 0; _selectIndex < _selectPoints.length; _selectIndex++) {
for (var _pointIndex = 0; _pointIndex < _tmpPoints.length; _pointIndex++) {
if (_selectPoints[_selectIndex] == _tmpPoints[_pointIndex].inspectionId) {
_points.push({
inspectionId: _tmpPoints[_pointIndex].inspectionId,
inspectionName: _tmpPoints[_pointIndex].inspectionName
});
}
}
}
var _objData = {
communityId: vc.getCurrentCommunity().communityId,
inspectionRouteId: $that.chooseInspectionRoutePointInfo.inspectionRouteId,
points: _points
}
vc.http.apiPost('inspectionRoute.saveInspectionRoutePoint',
JSON.stringify(_objData),
{
emulateJSON: true
},
function (json, res) {
$('#chooseInspectionRoutePointModel').modal('hide');
let _json = JSON.parse(json);
if (_json.code == 0) {
vc.emit($props.emitListener, $props.emitFunction, {
inspectionRouteId: $that.chooseInspectionRoutePointInfo.inspectionRouteId
});
vc.toast("添加成功");
return;
} else {
vc.toast(_json.msg);
}
}, function () {
console.log('请求失败处理');
}
);
$('#chooseInspectionRoutePointModel').modal('hide');
},
//查询
queryPoints: function () {
$that._loadAllPointsInfo(1, 10, $that.chooseInspectionRoutePointInfo.inspectionName);
},
//重置
resetPoints: function () {
$that.chooseInspectionRoutePointInfo.inspectionName = "";
$that._loadAllPointsInfo(1, 10, $that.chooseInspectionRoutePointInfo.inspectionName);
},
_refreshChooseInspectionRoutePointInfo: function () {
$that.chooseInspectionRoutePointInfo = {
points: [],
inspectionName: '',
inspectionRouteId: '',
routeName: '',
selectPoints: []
};
},
checkAll: function (e) {
var checkObj = document.querySelectorAll('.checkItem'); // 获取所有checkbox项
if (e.target.checked) { // 判定全选checkbox的勾选状态
for (var i = 0; i < checkObj.length; i++) {
if (!checkObj[i].checked) { // 将未勾选的checkbox选项push到绑定数组中
$that.chooseInspectionRoutePointInfo.selectPoints.push(checkObj[i].value);
}
}
} else { // 如果是去掉全选则清空checkbox选项绑定数组
$that.chooseInspectionRoutePointInfo.selectPoints = [];
}
},
isCheckAll: function (e) {
let checkObj = document.querySelectorAll('.checkItem');
var count = 0;
for (var i = 0; i < checkObj.length; i++) {
if (checkObj[i].checked) {
count++;
}
}
if (checkObj.length == count) {
document.getElementById("quan").checked = true;
} else {
document.getElementById("quan").checked = false;
}
}
}
});
})(window.vc);