You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simple-yewu/frontend/views/car/info.php

560 lines
25 KiB

5 years ago
<?php
use \common\libs\MyLib;
?>
<?php $this->beginBlock('header_css'); ?>
<link href="/assets/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<?php $this->endBlock(); ?>
<input id="serverInfo" type="hidden" value="ws://127.0.0.1:8800/" size="40"/>
<br>
<div id="txt-e" style=" color: red; font-size: 18px; display: none;"></div>
<div id="txt-ok" style=" color: green; font-size: 18px; display: none;"></div>
<input id="sendMsg" type="hidden" value='{"cmd":"LINK"}' style="width: 500px;">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>车辆信息</h5>
<div class="ibox-tools">
<!-- <a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="searchDlg()">-->
<!-- <i class="fa fa-list"></i> 历史记录-->
<!-- </a>-->
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="opDlg()">
<i class="fa fa-history"></i> 操作记录
</a>
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="history.go(-1)">
<i class="fa fa-backward"></i> 返回
</a>
</div>
</div>
<div class="ibox-content">
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-1 control-label">车牌号</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->car_no?></label>
</div>
<label class="col-sm-1 control-label">车架号</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->car_frame_no?></label>
</div>
<label class="col-sm-1 control-label">发动机号</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->engine_no?></label>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">车主</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->car_man?></label>
</div>
<label class="col-sm-1 control-label">联系电话</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->phone?></label>
<a class="btn btn-primary btn-bitbucket" onclick="sendMsg('ATD','<?=$car_info->phone?>')">
<i class="fa fa-phone"></i>
</a>
<a class="btn btn-danger btn-bitbucket" onclick="sendMsg('ATH')">
<i class="fa fa-close"></i>
</a>
</div>
<label class="col-sm-1 control-label">证件号码</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->car_man_number?></label>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">厂牌型号</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->factory_model?></label>
</div>
<label class="col-sm-1 control-label">初登日期</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->register_date?></label>
</div>
<label class="col-sm-1 control-label">座位数</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->seats?></label>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">新车购置价</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->purchase_price?></label>
</div>
<label class="col-sm-1 control-label">运营性质</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->carUse?$car_info->carUse->name:''?></label>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">备注</label>
<div class="col-sm-11">
<label class="form-control-static"><?=$car_info->remark?></label>
</div>
</div>
</form>
</div>
</div>
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>联系人</h5>
<div class="ibox-tools">
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="linkmanDlg()">
<i class="fa fa-user"></i> 添加新联系人
</a>
</div>
</div>
<div class="ibox-content">
<form class="form-horizontal">
<?php foreach($link_men as $link) { ?>
<div class="form-group">
<label class="col-sm-1 control-label">姓名</label>
<div class="col-sm-2">
<label class="form-control-static"><?=$link->name?></label>
</div>
<label class="col-sm-1 control-label">联系电话</label>
<div class="col-sm-2">
<label class="form-control-static"><?=$link->phone?></label>
<a class="btn btn-primary btn-bitbucket" onclick="sendMsg('ATD','<?=$link->phone?>')">
<i class="fa fa-phone"></i>
</a>
<a class="btn btn-danger btn-bitbucket" onclick="sendMsg('ATH')">
<i class="fa fa-close"></i>
</a>
</div>
<label class="col-sm-1 control-label"><?=$link->id_type?></label>
<div class="col-sm-2">
<label class="form-control-static"><?=$link->id_number?></label>
</div>
<label class="col-sm-1 control-label">关系</label>
<div class="col-sm-2">
<label class="form-control-static"><?=$link->type?></label>
</div>
</div>
<?php } ?>
</form>
</div>
</div>
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>保险业务</h5>
<div class="ibox-tools">
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="insurerDlg()">
<i class="fa fa-plus"></i> 投保
</a>
</div>
</div>
<div class="ibox-content">
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-1 control-label">商业止保</label>
<div class="col-sm-3">
<label class="form-control-static text-danger"><?=$car_info->insurer1_date?></label>
</div>
<label class="col-sm-1 control-label">交强止保</label>
<div class="col-sm-3">
<label class="form-control-static text-danger"><?=$car_info->insurer2_date?></label>
</div>
<label class="col-sm-1 control-label">保险公司</label>
<div class="col-sm-3">
<label class="form-control-static text-danger"><?=$car_info->company?></label>
</div>
</div>
</form>
</div>
</div>
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>历史保单信息</h5>
<div class="ibox-tools">
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="$('#orderTable').bootstrapTable('refresh');">
<i class="fa fa-refresh"></i> 刷新
</a>
</div>
</div>
<div class="ibox-content">
<table id="orderTable">
<thead>
<tr>
<th data-field="id">ID</th>
<th data-field="id_man">被保险人</th>
<th data-field="insurer1_begin_date">商业起保日期</th>
<th data-field="insurer2_begin_date">交强起保日期</th>
<th data-field="print_date">出单日期</th>
<th data-field="total_all">共计签单</th>
<th data-field="username">业务员</th>
<th data-field="status">状态</th>
<th data-formatter="orderFormatter">操作</th>
</tr>
</thead>
</table>
</div>
</div>
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>预约记录</h5>
<div class="ibox-tools">
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="appointmentDlg()">
<i class="fa fa-calendar"></i> 预约
</a>
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="refreshList()">
<i class="fa fa-refresh"></i> 刷新
</a>
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-md-12">
<table id="listTable">
<thead>
5 years ago
<tr>
<th data-field="pdate">预约日期</th>
<th data-field="ptime">预约时间</th>
<th data-field="remark">预约备注</th>
<th data-field="user">业务员</th>
<th data-field="updated_at">操作时间</th>
5 years ago
</tr>
</thead>
5 years ago
</table>
</div>
</div>
</div>
</div>
</div>
<?php $this->beginBlock('footer_js'); ?>
<script src="/assets/js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="/assets/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
<script src="/assets/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script>
var o = {};
function searchOrders() {
$('#orderTable').bootstrapTable('destroy');
$('#orderTable').bootstrapTable({
url: "/car/order-history-json",
pagination: true,
sidePagination: 'server',
multipleSelectRow: true,
queryParams: function(params) {
o['car_id'] = '<?=$car_info->id?>';
o['limit'] = params['limit'];
o['offset'] = params['offset'];
return o;
}
});
} function insurerDlg() {
title = '投保';
layer_show(title, '/car/order-add?car_id=<?=$car_info->id?>');
5 years ago
}
function appointmentDlg() {
title = '添加预约';
layer_show(title, '/appointment/add?car_id=<?=$car_info->id?>');
5 years ago
}
function linkmanDlg() {
title = '添加联系人';
layer_show(title, '/car/linkman-add?car_id=<?=$car_info->id?>');
5 years ago
}
function opDlg() {
title = '操作记录';
layer_show(title, '/car/history?car_id=<?=$car_info->id?>');
5 years ago
}
function refreshList() {
$('#listTable').bootstrapTable('refresh');
5 years ago
}
function search() {
$('#listTable').bootstrapTable('destroy');
$('#listTable').bootstrapTable({
url: "/appointment/history-json",
pagination: true,
sidePagination: 'server',
multipleSelectRow: true,
queryParams: function(params) {
o['car_id'] = '<?=$car_info->id?>';
o['limit'] = params['limit'];
o['offset'] = params['offset'];
return o;
5 years ago
}
});
5 years ago
}
$(function() {
search();
searchOrders();
wsInit();
5 years ago
});
</script>
<script>
var ws;
function wsInit(val){
//重连先关闭
if(val=='reConn'){
ws.close();
}
document.getElementById("txt-ok").innerText="";
document.getElementById("txt-e").innerText="";
if("WebSocket" in window) {
var serverInfo = document.getElementById("serverInfo").value;
// 打开一个 web socket,全局共用一个
ws = new WebSocket(serverInfo);
console.log("已连接"+serverInfo);
ws.onopen = function() {
setTimeout(function(){
sendMsg('link')
},100);
showResult('ok');
};
ws.onmessage = function(evt) {
document.getElementById("recMsg").value=evt.data;
var data = JSON.parse(evt.data);
//console.log(data);
switch(data['cmd']) {
// 服务端ping客户端
case 'USB':
ws.send('{"cmd":"USB","connected":"true","success":"true","message":"成功"}');
break;
case 'CORG':
ws.send('{"cmd":"CORG","number":"10010","success":"true","message":"成功"}');
break;
case 'CALLING':
ws.send('{"cmd":"CALLING","number":"10010","success":"true","message":"成功"}');
break;
case 'CBEGIN':
ws.send('{"cmd":"CBEGIN","success":"true","message":"成功"}');
break;
case 'ALERT':
ws.send('{"cmd":"ALERT","success":"true","message":"成功"}');
break;
case 'CEND':
ws.send('{"cmd":"CEND","success":"true","message":"成功"}');
break;
}
};
//出现错误
ws.onerror = function(evt){
//console.log(evt);
}
//连接断开
ws.onclose = function(evt){
//console.log(evt)
showResult('error');
}
} else {
// 浏览器不支持 WebSocket
alert("您的浏览器不支持 WebSocket!");
}
}
function showResult(val){
var serverInfo = document.getElementById("serverInfo").value;
var okText = serverInfo + "连接成功";
var errText = serverInfo + "连接失败,请检查window服务、IP和端口安装并配置正确";
if(val=='ok'){
document.getElementById("txt-ok").innerText = okText;
document.getElementById("txt-ok").style.display="none";
document.getElementById("txt-e").style.display="none";
}else{
//console.log(errText)
document.getElementById("txt-e").innerText = errText;
document.getElementById("txt-ok").style.display="none";
document.getElementById("txt-e").style.display="none";
}
}
function reConn(){
ws = new WebSocket(serverInfo);
}
function sendMsg(val,phone){
// Web Socket 已连接上,使用 send() 方法发送数据
var state=ws.readyState;
console.log("readyState:"+state);
if(state!=1){
document.getElementById("txt-e").style.display="block";
//location.reload();
return;
}else{
document.getElementById("txt-e").style.display="none";
}
if(val=="link"){
val = '{"cmd":"LINK"}';
}
/*if(val=="USB"){
val = '{"cmd":"USB","connected":"true","success":"true","message":"成功"}';
}*/
if(val=="ATD"){
function getRadioLValue(haoma){
var obj = document.getElementsByName(haoma);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
// var sendhaoma = getRadioLValue("sendhaoma");
var sendhaoma = 0;
var number_one = phone;
$.get('/phone/ax-out',{'phone':number_one,'user_id':'<?=$my->id?>'},function(obj){
if(obj.success) {
var number = obj.msg;
val = '{"cmd":"ATD","number":"'+number+'","hidden":"'+sendhaoma+'"}';
document.getElementById("sendMsg").value=val;
ws.send(val);
console.log("数据已发送");
} else {
alert(obj.msg);
}
},'json');
}
if(val=="ATH"){
val = '{"cmd":"ATH"}';
}
if(val=="ATA"){
val = '{"cmd":"ATA"}';
}
if(val=="READIMEI"){
val = '{"cmd":"READIMEI"}';
}
if(val=="READVER"){
val = '{"cmd":"READVER"}';
}
if(val=="READSTATUS"){
val = '{"cmd":"READSTATUS"}';
}
if(val=="startrecord"){
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).Format("yyyyMMddhhmmss");
}
Date.prototype.Format = function(fmt) {//author: meizz
var o = {
"M+" : this.getMonth() + 1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth() + 3) / 3), //季度
"S" : this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
//E:\\qtproject\\PhoneService\\kaerHjSDK\\recordfile\\20180514.mp3
var time= Math.round(new Date() / 1000) ;
var times =(getLocalTime(time));
console.log(time);
var filename= "E:/qtproject/PhoneService/kaerHjSDK/recordfile/"+times+".mp3";
val = '{"cmd":"startrecord","filename":"'+filename+'"}';
//alert(filename);
}
if(val=="stoprecord"){
val = '{"cmd":"stoprecord"}';
}
if(val=="HIDENUMBER"){
function getRadioValue(laidian){
var obj = document.getElementsByName(laidian);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
function getRadioLValue(haoma){
var obj = document.getElementsByName(haoma);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var type=getRadioValue('laidian');
var hidden=getRadioLValue('haoma');
//console.log(type);
//console.log('号码'+hidden);
val = '{"cmd":"HIDENUMBER","type":"'+type+'","hidden":"'+hidden+'"}';
}
if(val=="GETNUMBERHIDEN"){
function getRadioDqValue(duqvhj){
var obj = document.getElementsByName(duqvhj);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var type=getRadioDqValue('duqvhj');
val = '{"cmd":"GETNUMBERHIDEN","type":"'+type+'"}';
}
if(val=="SETRECORDVOICE"){
var voice= document.getElementById("voice").value;
val = '{"cmd":"SETRECORDVOICE","voice":"'+voice+'"}';
}
if(val=="SETMODE"){
function getRadioHpValue(headsetProfile){
var obj = document.getElementsByName(headsetProfile);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var mode=getRadioHpValue('headsetProfile');
val = '{"cmd":"SETMODE","mode":"'+mode+'"}';
}
if(val=="GETMODE"){
val = '{"cmd":"GETMODE"}';
}
if(val=="SETUOC"){
function getRadioHpValue(headsetProfileRadio){
var obj = document.getElementsByName(headsetProfileRadio);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var mode=getRadioHpValue('headsetProfileRadio');
val = '{"cmd":"SETUOC","UOC":"'+mode+'"}';
}
if(val=="GETUOC"){
val = '{"cmd":"GETUOC"}';
}
if(val=="UPPARAM"){//设置通话记录传平台的参数
var upparamurl = document.getElementById("upparamurl").value;//坐席工号
var agent = document.getElementById("agent").value;//坐席工号
var company =document.getElementById("company").value;//计费账号
var thismobile =document.getElementById("thismobile").value;//本机号码
val = '{"cmd":"UPPARAM","url":"'+upparamurl+'","agent":"'+agent+'","company":"'+company+'","thismobile":"'+thismobile+'"}';
}
document.getElementById("sendMsg").value=val;
ws.send(val);
console.log("数据已发送");
}
</script>
<?php $this->endBlock(); ?>