parent
208268d159
commit
32ddd11a67
@ -0,0 +1,55 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace common\models; |
||||||
|
|
||||||
|
use Yii; |
||||||
|
|
||||||
|
/** |
||||||
|
* This is the model class for table "network_phone_assign_t". |
||||||
|
* |
||||||
|
* @property int $id |
||||||
|
* @property int $user_id |
||||||
|
* @property string $created_at |
||||||
|
* @property string $updated_at |
||||||
|
* @property int $phone |
||||||
|
*/ |
||||||
|
class NetworkPhoneAssignT extends \yii\db\ActiveRecord |
||||||
|
{ |
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public static function tableName() |
||||||
|
{ |
||||||
|
return 'network_phone_assign_t'; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public function rules() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
[['user_id', 'phone'], 'integer'], |
||||||
|
[['created_at', 'updated_at'], 'safe'], |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public function attributeLabels() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
'id' => 'ID', |
||||||
|
'user_id' => 'User ID', |
||||||
|
'created_at' => 'Created At', |
||||||
|
'updated_at' => 'Updated At', |
||||||
|
'phone' => 'Phone', |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
public function getUser() |
||||||
|
{ |
||||||
|
return $this->hasOne(UserT::className(),['id'=>'user_id']); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,55 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace common\models; |
||||||
|
|
||||||
|
use Yii; |
||||||
|
|
||||||
|
/** |
||||||
|
* This is the model class for table "network_phone_assign_t". |
||||||
|
* |
||||||
|
* @property int $id |
||||||
|
* @property int $user_id |
||||||
|
* @property string $created_at |
||||||
|
* @property string $updated_at |
||||||
|
* @property int $phone |
||||||
|
*/ |
||||||
|
class NetworkPhoneSubT extends \yii\db\ActiveRecord |
||||||
|
{ |
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public static function tableName() |
||||||
|
{ |
||||||
|
return 'network_phone_sub_t'; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public function rules() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
[['assign_id', 'phone'], 'integer'], |
||||||
|
[['created_at', 'updated_at'], 'safe'], |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public function attributeLabels() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
'id' => 'ID', |
||||||
|
'user_id' => 'User ID', |
||||||
|
'created_at' => 'Created At', |
||||||
|
'updated_at' => 'Updated At', |
||||||
|
'phone' => 'Phone', |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
public function getUser() |
||||||
|
{ |
||||||
|
return $this->hasOne(UserT::className(),['id'=>'user_id']); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,93 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace common\models; |
||||||
|
|
||||||
|
use Yii; |
||||||
|
|
||||||
|
/** |
||||||
|
* This is the model class for table "network_phone_t". |
||||||
|
* |
||||||
|
* @property int $id |
||||||
|
* @property string $corp_key |
||||||
|
* @property int $ts |
||||||
|
* @property string $sign |
||||||
|
* @property string $recorder_id |
||||||
|
* @property string $caller |
||||||
|
* @property string $called |
||||||
|
* @property string $caller_show |
||||||
|
* @property string $called_show |
||||||
|
* @property string $begin_time |
||||||
|
* @property string $connect_time |
||||||
|
* @property string $alerting_time |
||||||
|
* @property string $release_time |
||||||
|
* @property int $call_duration |
||||||
|
* @property int $bill_duration |
||||||
|
* @property string $call_result |
||||||
|
* @property string $record_file_url |
||||||
|
* @property string $call_cost |
||||||
|
* @property string $caller_area |
||||||
|
* @property string $called_area |
||||||
|
* @property string $extend |
||||||
|
*/ |
||||||
|
class NetworkPhoneT extends \yii\db\ActiveRecord |
||||||
|
{ |
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public static function tableName() |
||||||
|
{ |
||||||
|
return 'network_phone_t'; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public function rules() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
[['id'], 'required'], |
||||||
|
[['id', 'ts', 'call_duration', 'bill_duration'], 'integer'], |
||||||
|
[['corp_key'], 'string', 'max' => 225], |
||||||
|
[['sign', 'begin_time', 'connect_time', 'alerting_time', 'release_time', 'call_result', 'record_file_url'], 'string', 'max' => 255], |
||||||
|
[['recorder_id'], 'string', 'max' => 128], |
||||||
|
[['caller', 'called', 'caller_show', 'called_show', 'caller_area', 'called_area'], 'string', 'max' => 32], |
||||||
|
[['call_cost', 'extend'], 'string', 'max' => 10], |
||||||
|
[['id'], 'unique'], |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* {@inheritdoc} |
||||||
|
*/ |
||||||
|
public function attributeLabels() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
'id' => 'ID', |
||||||
|
'corp_key' => 'Corp Key', |
||||||
|
'ts' => 'Ts', |
||||||
|
'sign' => 'Sign', |
||||||
|
'recorder_id' => 'Recorder ID', |
||||||
|
'caller' => 'Caller', |
||||||
|
'called' => 'Called', |
||||||
|
'caller_show' => 'Caller Show', |
||||||
|
'called_show' => 'Called Show', |
||||||
|
'begin_time' => 'Begin Time', |
||||||
|
'connect_time' => 'Connect Time', |
||||||
|
'alerting_time' => 'Alerting Time', |
||||||
|
'release_time' => 'Release Time', |
||||||
|
'call_duration' => 'Call Duration', |
||||||
|
'bill_duration' => 'Bill Duration', |
||||||
|
'call_result' => 'Call Result', |
||||||
|
'record_file_url' => 'Record File Url', |
||||||
|
'call_cost' => 'Call Cost', |
||||||
|
'caller_area' => 'Caller Area', |
||||||
|
'called_area' => 'Called Area', |
||||||
|
'extend' => 'Extend', |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
public function getUser() |
||||||
|
{ |
||||||
|
return $this->hasOne(UserT::className(),['id'=>'user_id']); |
||||||
|
} |
||||||
|
} |
@ -1,164 +1,139 @@ |
|||||||
<?php |
<?php |
||||||
use \common\libs\MyLib; |
use \common\libs\MyLib; |
||||||
?> |
?> |
||||||
<script type="text/javascript" language="javascript" src="/js/jquery-1.8.3.js"></script> |
<?php $this->beginBlock('header_css'); ?> |
||||||
<script type="text/javascript" language="javascript" src="/js/datepicker/WdatePicker.js"></script> |
<link href="/assets/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet"> |
||||||
<script type="text/javascript" language="javascript" src="/js/ajax.js"></script> |
<?php $this->endBlock(); ?> |
||||||
<script type="text/javascript" language="javascript" src="/js/func.js"></script> |
|
||||||
<script type="text/javascript" language="javascript"> |
|
||||||
//编辑 |
|
||||||
function edit(id) { |
|
||||||
var params = $('#searchForm').serialize(); |
|
||||||
window.location.href = '/personnel/pay-info?id=' + id + '&pay_date=<?=$pay_date?>' + '&back_params=' + encodeURIComponent(params);
|
|
||||||
} |
|
||||||
|
|
||||||
$(function(){ |
|
||||||
$("#search-btn").click(function(){ |
|
||||||
$('#page').val(0); |
|
||||||
var params = $('#searchForm').serialize(); |
|
||||||
window.location.href = "/personnel/pay-list?" + params; |
|
||||||
}); |
|
||||||
$("#searchForm").submit(function(){ |
|
||||||
$("#search-btn").click(); |
|
||||||
return false; |
|
||||||
}); |
|
||||||
}); |
|
||||||
|
|
||||||
|
<div class="wrapper wrapper-content animated fadeInRight"> |
||||||
</script> |
<div class="ibox float-e-margins"> |
||||||
<!--<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" class="table">--> |
<div class="ibox-title"> |
||||||
<!-- <form id="theFrm">--> |
<h5>工资管理</h5> |
||||||
<!-- <tr>--> |
<div class="ibox-tools"> |
||||||
<!-- <td align="center" width="100" height="25" class="bg_tr">日期</td>--> |
<a class="btn btn-primary btn-xs edit-btn" data-id="0" href="javascript:void(0);" onclick="$('#listTable').bootstrapTable('refresh');"> |
||||||
<!-- <td class="td_bg">--> |
<i class="fa fa-refresh"></i> 刷新 |
||||||
<!-- <input type="text" name="time" onclick="WdatePicker({dateFmt:'yyyy-MM'})" />--> |
</a> |
||||||
<!-- </td>--> |
</div> |
||||||
<!-- <td height="25" class="td_bg">--> |
</div> |
||||||
<!-- <input type="text" name="urlfile" id="urlfile" style="width: 300px;">--> |
<div class="ibox-content"> |
||||||
<!-- <input id="fileupload" type="file" name="file">--> |
<form role="form" class="form-horizontal" onsubmit="return search();"> |
||||||
<!-- </td>--> |
<div class="form-group"> |
||||||
<!-- </tr>--> |
<label class="col-sm-1 control-label">工号</label> |
||||||
<!-- <tr>--> |
<div class="col-sm-2"> |
||||||
<!-- <td height="22" colspan="3" align="center" class="td_bg">--> |
<input type="text" name="username" id="username" class="form-control"> |
||||||
<!-- <input id="submit-btn" type=button class="ACT_btn" name=Submit1 value=" 提交 "/>--> |
</div> |
||||||
<!-- --> |
<label class="col-sm-1 control-label">真实姓名</label> |
||||||
<!-- <input type="button" class="ACT_btn" name="Submit3" value=" 刷新 " onclick="window.location.reload();">--> |
<div class="col-sm-2"> |
||||||
<!-- </td>--> |
<input type="text" name="name" id="name" class="form-control"> |
||||||
<!-- </tr>--> |
</div> |
||||||
<!-- </form>--> |
<label class="col-sm-1 control-label">工资月份</label> |
||||||
<!--</table>--> |
<div class="col-sm-2"> |
||||||
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" class="table"> |
<div class="input-group date"> |
||||||
<form id="searchForm"> |
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
||||||
<input type="hidden" id="page" name="page" value="<?=$page?>">
|
<input type="text" name="pay_date" id="pay_date" class="form-control" autocomplete="off" value="<?=$pay_date?>">
|
||||||
<tr> |
</div> |
||||||
<td class="td_bg"> |
</div> |
||||||
工号:<input name="username" type="text" value="<?=$username?>">
|
<div class="col-sm-2"> |
||||||
真实姓名:<input name="name" type="text" value="<?=$name?>">
|
<div class="checkbox checkbox-inline"> |
||||||
工资月份:<input name="pay_date" id="pay_date" class="Wdate" type="text" value="<?=$pay_date?>" onClick="WdatePicker({dateFmt:'yyyy-MM'})">
|
<input type="checkbox" id="is_leave" name="is_leave" value="1"> |
||||||
是否离职:<select name="is_leave"> |
<label for="is_leave"> 是否离职 </label> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="form-group"> |
||||||
|
<label class="col-sm-1 control-label">分组</label> |
||||||
|
<div class="col-sm-2"> |
||||||
|
<select name="group_id" id="group_id" class="form-control"> |
||||||
<option value="">全部</option> |
<option value="">全部</option> |
||||||
<option value="1" <?= $is_leave == '1' ? 'selected' : ''?>>是</option>
|
|
||||||
<option value="0" <?= $is_leave == '0' ? 'selected' : ''?>>否</option>
|
|
||||||
</select> |
|
||||||
分组:<select name="group_id"> |
|
||||||
<option value="0">全部</option> |
|
||||||
<?php |
<?php |
||||||
foreach($group_items as $group) { |
foreach($group_items as $item) { |
||||||
echo '<option value="'.$group->id.'"'; |
echo '<option value="'.$item->id.'">'.$item->name.'</option>'; |
||||||
if($group->id == $group_id) |
|
||||||
echo ' selected '; |
|
||||||
echo '>'.$group->name.'</option>'; |
|
||||||
} |
} |
||||||
?> |
?> |
||||||
</select> |
</select> |
||||||
<input type="submit" class="act_btn" id="search-btn" name="search-btn" value="搜索"> |
</div> |
||||||
</td> |
<div class="col-sm-3"> |
||||||
</tr> |
<button type="submit" class="btn btn-primary">搜索</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
</form> |
</form> |
||||||
</table> |
<div class="row"> |
||||||
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" class="table"> |
<div class="col-md-12"> |
||||||
|
<table id="listTable"> |
||||||
|
<thead> |
||||||
<tr> |
<tr> |
||||||
<td width="100" align="center" align="center" class="bg_tr">工号</td> |
<th data-field="state" data-checkbox="true"></th> |
||||||
<td align="center" class="bg_tr">真实姓名</td> |
<th width="50" data-field="id">ID</th> |
||||||
<td width="100" align="center" class="bg_tr">工资月份</td> |
<th data-field="username">工号</th> |
||||||
<td align="center" class="bg_tr">所属岗位</td> |
<th data-field="name">真实姓名</th> |
||||||
<td width="60" align="center" class="bg_tr">角色</td> |
<th data-field="pay_date">工资月份</th> |
||||||
<td align="left" class="bg_tr">提成公式</td> |
<th data-field="group_path">所属岗位</th> |
||||||
<td width="60" align="center" class="bg_tr">工资</td> |
<th data-field="real_pay">工资</th> |
||||||
<td width="60" align="center" class="bg_tr">是否离职</td> |
<th data-field="is_leave">是否离职</th> |
||||||
<td width="30" align="center" class="bg_tr">操作</td> |
<th data-formatter="opFormatter">操作</th> |
||||||
</tr> |
|
||||||
<form id="delFrm"> |
|
||||||
<?php |
|
||||||
foreach($items as $index => $item) { |
|
||||||
$pay_info = $item->getPay($pay_date); |
|
||||||
$real_pay = 0; |
|
||||||
if($pay_info) |
|
||||||
$real_pay = $pay_info->real_pay; |
|
||||||
?> |
|
||||||
<tr onMouseOver=overColor(this) onMouseOut=outColor(this)> |
|
||||||
<td align="left" class="td_bg" nowrap ><?=$item->username?></td>
|
|
||||||
<td class="td_bg" nowrap><?=$item->name?></td>
|
|
||||||
<td class="td_bg" nowrap><?=$pay_date?></td>
|
|
||||||
<td align="left" class="td_bg" nowrap><?=$item->group?$item->group->getPath():''?></td>
|
|
||||||
<td class="td_bg" nowrap><?=$item->role?$item->role->name:''?></td>
|
|
||||||
<td align="left" class="td_bg" nowrap><?=$pay_info?$pay_info->formulae:''?></td>
|
|
||||||
<td align="center" class="td_bg" nowrap data="<?=$item->id?>">
|
|
||||||
<?=number_format($real_pay,2)?>元
|
|
||||||
</td> |
|
||||||
<td align="center" class="td_bg" nowrap><?=$item->is_leave?'是':''?></td>
|
|
||||||
<td align="center" class="td_bg" nowrap> |
|
||||||
[<a href="javascript:void(0);" onclick="edit(<?=$item->id?>)">维护</a>]
|
|
||||||
</td> |
|
||||||
</tr> |
</tr> |
||||||
<?php |
</thead> |
||||||
} |
</table> |
||||||
?> |
</div> |
||||||
</form> |
</div> |
||||||
<tr > |
</div> |
||||||
<td height="25" colspan="11" align="center" class="td_bg"><?=$page_info?></td>
|
</div> |
||||||
</tr> |
</div> |
||||||
</table> |
|
||||||
<script type="text/javascript" language="javascript" src="/js/common2.js"></script> |
|
||||||
<script type="text/javascript" language="javascript" src="/js/fileupload/js/vendor/jquery.ui.widget.js"></script> |
|
||||||
<script type="text/javascript" language="javascript" src="/js/fileupload/js/jquery.iframe-transport.js"></script> |
|
||||||
<script type="text/javascript" language="javascript" src="/js/fileupload/js/jquery.fileupload.js"></script> |
|
||||||
<script type="text/javascript"> |
|
||||||
//上传文件 |
|
||||||
$('#fileupload').fileupload({ |
|
||||||
url: '/personnel/upload', |
|
||||||
dataType: 'json', |
|
||||||
done: function (e, data) { |
|
||||||
var file_info = data.result.files[0]; |
|
||||||
$('#urlfile').val(file_info.url); |
|
||||||
$('#submit-btn').removeAttr('disabled'); |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
//提交 |
|
||||||
$('#submit-btn').click(function(){ |
|
||||||
if(confirm('是否确认提交?')){ |
|
||||||
var file_path = $('#urlfile').val(); |
|
||||||
var time = $("input[name='time']").val(); |
|
||||||
|
|
||||||
if(file_path == ''){ |
<?php $this->beginBlock('footer_js'); ?> |
||||||
alert('请先选择文件!'); |
<script src="/assets/js/plugins/bootstrap-table/bootstrap-table.min.js"></script> |
||||||
return; |
<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 opFormatter(value, row, index) { |
||||||
|
var opStr = []; |
||||||
|
opStr.push('<a href="javascript:void(0);" onclick="edit(' + row.id + ')">'); |
||||||
|
opStr.push('<i class="fa fa-edit" title="维护"></i>'); |
||||||
|
opStr.push('</a>'); |
||||||
|
return opStr.join(' '); |
||||||
} |
} |
||||||
if(time == ''){ |
function edit(id) { |
||||||
alert('请选择时间!'); |
var title = '编辑工资'; |
||||||
return; |
layer_show(title, '/personnel/pay-info?id=' + id); |
||||||
} |
} |
||||||
|
|
||||||
var params = $('#theFrm').serialize(); |
function refreshList() { |
||||||
|
$('#listTable').bootstrapTable('refresh'); |
||||||
|
} |
||||||
|
|
||||||
$.post('/personnel/import', params, function(obj){ |
function search() { |
||||||
alert(obj.msg); |
$('.input-group.date').datepicker({ |
||||||
|
minViewMode: 1, |
||||||
|
keyboardNavigation: false, |
||||||
|
forceParse: false, |
||||||
|
autoclose: true, |
||||||
|
todayHighlight: true, |
||||||
|
format: "yyyy-mm" |
||||||
}); |
}); |
||||||
|
$('#listTable').bootstrapTable('destroy'); |
||||||
|
$('#listTable').bootstrapTable({ |
||||||
|
url: "/personnel/pay-list-json", |
||||||
|
pagination: true, |
||||||
|
sidePagination: 'server', |
||||||
|
multipleSelectRow: true, |
||||||
|
queryParams: function(params) { |
||||||
|
o['username'] = $('#username').val(); |
||||||
|
o['name'] = $('#name').val(); |
||||||
|
o['pay_date'] = $('#pay_date').val(); |
||||||
|
o['is_leave'] = $('#is_leave').prop("checked"); |
||||||
|
o['group_id'] = $('#group_id').val(); |
||||||
|
o['limit'] = params['limit']; |
||||||
|
o['offset'] = params['offset']; |
||||||
|
return o; |
||||||
} |
} |
||||||
}); |
}); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
$(function() { |
||||||
mySearch('username', 'search-btn'); |
search(); |
||||||
mySearch('name', 'search-btn'); |
}); |
||||||
</script> |
</script> |
||||||
|
<?php $this->endBlock(); ?> |
||||||
|
Loading…
Reference in new issue