Files
PropertyDeployment/resources/Web/MicroCommunityWeb/html/pages/fee/ttsOweFeeCallable/ttsOweFeeCallable.js
2025-12-09 20:22:03 +08:00

194 lines
6.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(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);