194 lines
6.7 KiB
JavaScript
194 lines
6.7 KiB
JavaScript
(function (vc) {
|
||
vc.extends({
|
||
data: {
|
||
ttsOweFeeCallableInfo: {
|
||
oweFees: [],
|
||
curOweFee: {},
|
||
tts: [],
|
||
ttsPath: '',
|
||
sendFlag: '',
|
||
sendMsg: '',
|
||
tmpOweFees: [],
|
||
callState: ''
|
||
}
|
||
},
|
||
_initMethod: function () {
|
||
let _oweFee = vc.getData('TTS_OWE_FEE_DATA').oweFee;
|
||
if (!_oweFee || _oweFee.length < 1) {
|
||
vc.toast('未选择欠费房屋');
|
||
return;
|
||
}
|
||
$that.ttsOweFeeCallableInfo.oweFees = _oweFee;
|
||
},
|
||
_initEvent: function () {
|
||
vc.on('ttsOweFeeCallable', 'TalkingStart', function () {
|
||
$that.ttsOweFeeCallableInfo.callState = 'TalkingStart';
|
||
|
||
let _tel = $that.ttsOweFeeCallableInfo.ownerTel;
|
||
|
||
setTimeout(function () {
|
||
vc.emit('searchCommunityDataModel', 'playTts', {
|
||
url: $that.ttsOweFeeCallableInfo.ttsPath
|
||
})
|
||
}, 2 * 1000);
|
||
|
||
setTimeout(function () {
|
||
if (_tel != $that.ttsOweFeeCallableInfo.ownerTel) {
|
||
return;
|
||
}
|
||
vc.emit('searchCommunityDataModel', 'hangup', {
|
||
})
|
||
}, 60 * 1000);
|
||
|
||
});
|
||
vc.on('ttsOweFeeCallable', 'TalkingEnd', function () {
|
||
$that.ttsOweFeeCallableInfo.callState = 'TalkingEnd';
|
||
$that._changeOweFeeState($that.ttsOweFeeCallableInfo.curOweFee.payerObjId, "C");
|
||
let _curOwe = $that.ttsOweFeeCallableInfo.curOweFee;
|
||
let _sendMsg = $that.ttsOweFeeCallableInfo.sendMsg;
|
||
|
||
_sendMsg = _sendMsg.replace('${house}', _curOwe.payerObjName).replace('${date}', vc.dateFormat(_curOwe.endTime))
|
||
.replace('${date2}', vc.dateFormat(_curOwe.deadlineTime));
|
||
_sendMsg = _sendMsg.replace('${mount}', _curOwe.amountOwed);
|
||
|
||
setTimeout(function () {
|
||
vc.emit('searchCommunityDataModel', 'sendTelMsg', {
|
||
tel: _curOwe.ownerTel,
|
||
msgText: _sendMsg
|
||
})
|
||
$that._doTtsOweFee();
|
||
}, 5000)
|
||
});
|
||
|
||
|
||
},
|
||
methods: {
|
||
_openChooseTtsAndStart: function () {
|
||
$('#chooseTelTtsModel').modal('show');
|
||
|
||
$that._loadTelTts();
|
||
|
||
},
|
||
_startTtsOweFeeModal: function () {
|
||
|
||
let msg = "";
|
||
if (!$that.ttsOweFeeCallableInfo.ttsPath) {
|
||
msg = "未选择语音";
|
||
}
|
||
|
||
if (!$that.ttsOweFeeCallableInfo.sendFlag) {
|
||
msg = "未选择是否发送短信";
|
||
}
|
||
|
||
if ($that.ttsOweFeeCallableInfo.sendFlag == 'Y') {
|
||
if (!$that.ttsOweFeeCallableInfo.sendMsg) {
|
||
msg = "未填写短信内容";
|
||
}
|
||
}
|
||
|
||
if (msg) {
|
||
vc.toast(msg);
|
||
return;
|
||
}
|
||
$('#chooseTelTtsModel').modal('hide');
|
||
let _oweFees = $that.ttsOweFeeCallableInfo.oweFees;
|
||
let _tmpOweFees = [];
|
||
|
||
_oweFees.forEach(_of => {
|
||
if (_of.state == 'W') {
|
||
_tmpOweFees.push(_of);
|
||
}
|
||
});
|
||
|
||
if (_tmpOweFees.length < 1) {
|
||
vc.toast("没有需要催缴的数据");
|
||
return;
|
||
}
|
||
|
||
$that.ttsOweFeeCallableInfo.tmpOweFees = _tmpOweFees;
|
||
|
||
setTimeout(function () {
|
||
$('#ttsOweFeeCallableModel').modal('show');
|
||
$that._doTtsOweFee();
|
||
}, 1000)
|
||
|
||
|
||
},
|
||
|
||
_doTtsOweFee: async function () {
|
||
let _oweFees = $that.ttsOweFeeCallableInfo.tmpOweFees;
|
||
let _curOweFee = _oweFees.shift();
|
||
|
||
if (!_curOweFee) {
|
||
$('#ttsOweFeeCallableModel').modal('hide');
|
||
return;
|
||
}
|
||
|
||
$that.ttsOweFeeCallableInfo.callState = 'callWait';
|
||
_curOweFee.stateName = '即将开始催缴(等待10秒)';
|
||
$that.ttsOweFeeCallableInfo.curOweFee = _curOweFee;
|
||
await $that.sleep(10);
|
||
$that._changeOweFeeState($that.ttsOweFeeCallableInfo.curOweFee.payerObjId, "D")
|
||
|
||
vc.emit('searchCommunityDataModel', 'callTel', {
|
||
tel: _curOweFee.ownerTel,
|
||
componentName: 'ttsOweFeeCallable'
|
||
});
|
||
|
||
$that.ttsOweFeeCallableInfo.callState = 'callTel';
|
||
|
||
},
|
||
|
||
_backTtsOweFee: function () {
|
||
vc.removeData('TTS_OWE_FEE_DATA');
|
||
vc.goBack();
|
||
},
|
||
sleep: function (seconds) {
|
||
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
|
||
},
|
||
_loadTelTts: function (_page, _row) {
|
||
let param = {
|
||
params: {
|
||
page: 1,
|
||
row: 1,
|
||
communityId: vc.getCurrentCommunity().communityId,
|
||
iotApiCode: 'queryTelTtsBmoImpl'
|
||
}
|
||
};
|
||
vc.http.apiGet('/iot.getOpenApi',
|
||
param,
|
||
function (json, res) {
|
||
let _json = JSON.parse(json);
|
||
if (_json.code != 0) {
|
||
return;
|
||
}
|
||
$that.ttsOweFeeCallableInfo.tts = _json.data;
|
||
|
||
}, function () {
|
||
console.log('请求失败处理');
|
||
}
|
||
);
|
||
},
|
||
_changeOweFeeState: function (_payerObjId, _state) {
|
||
let _oweFees = $that.ttsOweFeeCallableInfo.oweFees;
|
||
|
||
_oweFees.forEach(_of => {
|
||
if (_of.payerObjId == _payerObjId) {
|
||
_of.state = _state;
|
||
}
|
||
});
|
||
},
|
||
_removeOweFee: function (_oweFee) {
|
||
let _tempOweFees = [];
|
||
let _oweFees = $that.ttsOweFeeCallableInfo.oweFees;
|
||
|
||
_oweFees.forEach(_of => {
|
||
if (_oweFee.payerObjId != _of.payerObjId) {
|
||
_tempOweFees.push(_of);
|
||
}
|
||
});
|
||
$that.ttsOweFeeCallableInfo.oweFees = _tempOweFees;
|
||
}
|
||
}
|
||
});
|
||
})(window.vc); |