285 lines
12 KiB
JavaScript
285 lines
12 KiB
JavaScript
(function (vc) {
|
|
|
|
vc.extends({
|
|
data: {
|
|
searchCommunityDataInfo: {
|
|
searchValue: '',
|
|
rooms: [],
|
|
owners: [],
|
|
ownerMembers: [],
|
|
cars: [],
|
|
carMembers: [],
|
|
contracts: [],
|
|
repairs: [],
|
|
visits: [],
|
|
staffs: [],
|
|
noData: true,
|
|
machine: {},
|
|
ws: {},
|
|
componentName:''
|
|
},
|
|
},
|
|
_initMethod: function () {
|
|
$that._initTelMachine();
|
|
},
|
|
_initEvent: function () {
|
|
vc.on('searchCommunityDataModel', '_loadData', function (_param) {
|
|
$that._clearSearchCommunityData();
|
|
//$('#searchCommunityDataModel').modal('show');
|
|
});
|
|
vc.on('searchCommunityDataModel', 'playTts', function (_data) {
|
|
$that.searchCommunityDataInfo.ws.send(
|
|
JSON.stringify({
|
|
action: 'PlayMusic',
|
|
url: _data.url,
|
|
file_name:vc.uuid()+'.wav',
|
|
volume:100,
|
|
loop:true
|
|
})
|
|
);
|
|
|
|
});
|
|
vc.on('searchCommunityDataModel', 'hangup', function () {
|
|
$that.searchCommunityDataInfo.ws.send(
|
|
JSON.stringify({
|
|
action: 'Hangup'
|
|
})
|
|
);
|
|
});
|
|
vc.on('searchCommunityDataModel', 'callTel', function (_data) {
|
|
$that.searchCommunityDataInfo.ws.send(
|
|
JSON.stringify({
|
|
action: 'CallOut',
|
|
number: _data.tel,
|
|
cb:'callout_cb'
|
|
})
|
|
);
|
|
$that.searchCommunityDataInfo.componentName = _data.componentName;
|
|
|
|
});
|
|
vc.on('searchCommunityDataModel', 'sendTelMsg', function (_data) {
|
|
$that.searchCommunityDataInfo.ws.send(
|
|
JSON.stringify({
|
|
action: 'SmsSend',
|
|
number: _data.tel,
|
|
content: _data.msgText
|
|
})
|
|
);
|
|
});
|
|
},
|
|
methods: {
|
|
_doSearchCommunityData: function () {
|
|
if (!vc.isNotEmpty($that.searchCommunityDataInfo.searchValue)) {
|
|
vc.toast('请输入查询条件');
|
|
return;
|
|
}
|
|
// 清理信息
|
|
let _param = {
|
|
params: {
|
|
searchValue: $that.searchCommunityDataInfo.searchValue,
|
|
communityId: vc.getCurrentCommunity().communityId
|
|
}
|
|
}
|
|
vc.http.apiGet('/search.searchCommunityData',
|
|
_param,
|
|
function (json, res) {
|
|
let _ownerJson = JSON.parse(json);
|
|
if (_ownerJson.code != 0) {
|
|
vc.toast(_ownerJson.msg);
|
|
return;
|
|
}
|
|
$that.searchCommunityDataInfo.noData = false;
|
|
_ownerJson = _ownerJson.data;
|
|
$that.searchCommunityDataInfo.rooms = _ownerJson.rooms;
|
|
$that.searchCommunityDataInfo.owners = _ownerJson.owners;
|
|
$that.searchCommunityDataInfo.ownerMembers = _ownerJson.ownerMembers;
|
|
$that.searchCommunityDataInfo.cars = _ownerJson.cars;
|
|
$that.searchCommunityDataInfo.carMembers = _ownerJson.carMembers;
|
|
$that.searchCommunityDataInfo.contracts = _ownerJson.contracts;
|
|
$that.searchCommunityDataInfo.repairs = _ownerJson.repairs;
|
|
$that.searchCommunityDataInfo.visits = _ownerJson.visitDtos;
|
|
$that.searchCommunityDataInfo.staffs = _ownerJson.staffs;
|
|
if (_ownerJson.rooms.length < 1 && _ownerJson.owners.length < 1 && _ownerJson.ownerMembers.length < 1
|
|
&& _ownerJson.cars.length < 1 && _ownerJson.carMembers.length < 1 && _ownerJson.contracts.length < 1
|
|
&& _ownerJson.repairs.length < 1 && _ownerJson.visitDtos.length < 1 && _ownerJson.staffs.length < 1
|
|
) {
|
|
$that.searchCommunityDataInfo.noData = true;
|
|
}
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
}
|
|
);
|
|
},
|
|
_toSimplifyAcceptance: function (_room) {
|
|
let _date = new Date();
|
|
vc.saveData("JAVA110_IS_BACK", _date.getTime());
|
|
vc.saveData('simplifyAcceptanceSearch', {
|
|
searchType: '1',
|
|
searchValue: _room.floorNum + "-" + _room.unitNum + "-" + _room.roomNum,
|
|
searchPlaceholder: '请输入房屋编号 楼栋-单元-房屋 如1-1-1',
|
|
})
|
|
window.open('/#/pages/property/simplifyAcceptance?tab=业务受理');
|
|
},
|
|
_clearSearchCommunityData: function () {
|
|
let _ws = $that.searchCommunityDataInfo.ws;
|
|
let _machine = $that.searchCommunityDataInfo.machine;
|
|
|
|
$that.searchCommunityDataInfo = {
|
|
searchValue: '',
|
|
noData: true,
|
|
rooms: [],
|
|
owners: [],
|
|
ownerMembers: [],
|
|
cars: [],
|
|
carMembers: [],
|
|
contracts: [],
|
|
repairs: [],
|
|
visits: [],
|
|
staffs: [],
|
|
machine: _machine,
|
|
ws: _ws
|
|
};
|
|
},
|
|
_initTelMachine: function (_page, _row) {
|
|
let _communityId = vc.getCurrentCommunity().communityId;
|
|
if(!_communityId || _communityId == '-1'){
|
|
return;
|
|
}
|
|
let param = {
|
|
params: {
|
|
page: 1,
|
|
row: 1,
|
|
communityId: vc.getCurrentCommunity().communityId,
|
|
iotApiCode: 'queryTelMachineBmoImpl'
|
|
}
|
|
};
|
|
vc.http.apiGet('/iot.getOpenApi',
|
|
param,
|
|
function (json, res) {
|
|
let _json = JSON.parse(json);
|
|
if (_json.code != 0 || _json.data.length < 1) {
|
|
return;
|
|
}
|
|
let _data = _json.data[0];
|
|
$that.searchCommunityDataInfo.machine = _data;
|
|
$that._connectTelMachine(_data);
|
|
|
|
}, function () {
|
|
console.log('请求失败处理');
|
|
}
|
|
);
|
|
},
|
|
_queryCallInTel: function () {
|
|
let _ws = $that.searchCommunityDataInfo.ws;
|
|
if (!_ws) {
|
|
vc.toast('未连接固定电话');
|
|
return;
|
|
}
|
|
$that.searchCommunityDataInfo.ws.send(
|
|
JSON.stringify({
|
|
action: 'Query',
|
|
type: 'Device',
|
|
cb: 'cb_data'
|
|
})
|
|
);
|
|
|
|
},
|
|
_connectTelMachine: function (_machine) {
|
|
let _protocol = window.location.protocol;
|
|
let url = "ws://";
|
|
if (_protocol.startsWith('https')) {
|
|
url = "wss://";
|
|
}
|
|
url = url + _machine.machineIp + ":" + _machine.machinePort + "/APP_2AD85C71-BEF8-463C-9B4B-B672F603542A_fast";
|
|
let ws = new WebSocket(url);
|
|
ws.onerror = function (event) {
|
|
return;
|
|
console.log('消息', event.data);
|
|
setTimeout(function () {
|
|
$that._connectTelMachine(_machine);
|
|
}, 2)
|
|
};
|
|
ws.onclose = function (event) { //断开连接函数
|
|
};
|
|
//与WebSocket建立连接
|
|
ws.onopen = function (event) { //连接成功函数
|
|
};
|
|
ws.onmessage = function (data) {
|
|
console.log(data.data);
|
|
data = JSON.parse(data.data);
|
|
if (data.message == 'query') { //主动查询时的返回
|
|
if (data.name == 'Device' && data.param.CallerId) {
|
|
$that._clearSearchCommunityData();
|
|
$that.searchCommunityDataInfo.searchValue = data.param.CallerId;
|
|
$that._doSearchCommunityData();
|
|
return;
|
|
}
|
|
if (data.name == 'Device' && data.param.hasOwnProperty('CallerId')) {
|
|
vc.toast('座机未返回通话中号码');
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
let param = data.param;
|
|
|
|
if (param && param.status == 'CallIn') {
|
|
$that._clearSearchCommunityData();
|
|
$that.searchCommunityDataInfo.searchValue = param.number;
|
|
$('#searchCommunityDataModel').modal('show');
|
|
$that._doSearchCommunityData();
|
|
return;
|
|
}
|
|
if (param && param.status == 'TalkingStart') {
|
|
vc.emit($that.searchCommunityDataInfo.componentName,'TalkingStart',param);
|
|
return;
|
|
}
|
|
if (param && param.status == 'TalkingEnd') {
|
|
vc.emit($that.searchCommunityDataInfo.componentName,'TalkingEnd',param);
|
|
return;
|
|
}
|
|
|
|
$that._saveTelMachineMsg(data);
|
|
|
|
}
|
|
$that.searchCommunityDataInfo.ws = ws;
|
|
},
|
|
_saveTelMachineMsg: function (_data) {
|
|
_data.iotApiCode = 'telMachineMsgBmoImpl';
|
|
_data.communityId = vc.getCurrentCommunity().communityId;
|
|
_data.machineId = $that.searchCommunityDataInfo.machine.machineId;
|
|
vc.http.apiPost('/iot.postOpenApi',
|
|
JSON.stringify(_data),
|
|
{
|
|
emulateJSON: true
|
|
},
|
|
function (json, res) {
|
|
|
|
let _json = JSON.parse(json);
|
|
if (_json.code != 0) {
|
|
console.log('同步座机信息失败', _data.msg)
|
|
return;
|
|
}
|
|
console.log(_json, _json.data)
|
|
|
|
let _param = _json.data || {};
|
|
|
|
if (_param.action == 'sms') {
|
|
|
|
vc.emit('searchCommunityDataModel', 'sendTelMsg', {
|
|
tel: _param.tel,
|
|
msgText: _param.msgText
|
|
});
|
|
|
|
}
|
|
|
|
}, function () {
|
|
console.log('请求失败处理');
|
|
}
|
|
);
|
|
},
|
|
}
|
|
});
|
|
|
|
})(window.vc);
|