admin_transfer_118
This commit is contained in:
@@ -364,24 +364,7 @@ class Transfer extends HD_Controller
|
||||
'feesTypeAry' => $this->mdTransfer->feesTypeAry(), 'feesBizList' => [], 'uidTypeAry' => $this->mdTransfer->uidTypeAry()];
|
||||
$info = ['id' => 0, 'status' => 0, 'item_id' => 0, 'arti_id' => [], 'out_bak' => 0, 'in_bak' => 0, 'trailer_fees' => '', 'fees_city' => '', 'trailer_fees' => 0,
|
||||
'fees_type' => 1, 'fees_biz_id' => '', 'transport' => ['name' => '', 'mobile' => '', 'cardid' => ''], 'reason' => ''];
|
||||
//常用运输人
|
||||
$transports = [];
|
||||
$cache = &load_cache('redis');
|
||||
$cache_transports = $cache->get($this->cacheKeyTransports);
|
||||
if ($cache_transports) {
|
||||
$time = date('Y-m-d', strtotime("-1 month"));
|
||||
foreach ($cache_transports as $key => $value) {
|
||||
if ($value['name'] && $value['time'] >= $time) {//小于1个月过期不显示
|
||||
$transports[] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
$cache->save($this->cacheKeyTransports, $transports);
|
||||
if ($transports) {//按最近日期排序
|
||||
$timeKey = array_column($transports, 'time');
|
||||
array_multisort($timeKey, SORT_DESC, $transports);
|
||||
}
|
||||
$this->data['transports'] = $transports;//常用运输人员
|
||||
$this->data['transports'] = $this->transports(['type' => 'get']);//运输人员
|
||||
$this->data['showInfo'] = $showInfo;
|
||||
}
|
||||
$this->data['info'] = $info;
|
||||
@@ -442,24 +425,7 @@ class Transfer extends HD_Controller
|
||||
}
|
||||
}
|
||||
$showInfo['takeCar'] = $takeCar;
|
||||
//常用运输人
|
||||
$transports = [];
|
||||
$cache = &load_cache('redis');
|
||||
$cache_transports = $cache->get($this->cacheKeyTransports);
|
||||
if ($cache_transports) {//按最近日期排序
|
||||
$time = date('Y-m-d', strtotime("-1 month"));
|
||||
foreach ($cache_transports as $key => $value) {
|
||||
if ($value['name'] && $value['time'] >= $time) {//小于1个月过期不显示
|
||||
$transports[] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
$cache->save($this->cacheKeyTransports, $transports);
|
||||
if ($transports) {//按最近日期排序
|
||||
$timeKey = array_column($transports, 'time');
|
||||
array_multisort($timeKey, SORT_DESC, $transports);
|
||||
}
|
||||
$this->data['transports'] = $transports;//常用运输人员
|
||||
$this->data['transports'] = $this->transports(['type' => 'get']);//运输人员
|
||||
$this->data['showInfo'] = $showInfo;
|
||||
$this->data['info'] = $info;
|
||||
$this->data['edit_url'] = '/items/transfer/edit_info';
|
||||
@@ -590,22 +556,8 @@ class Transfer extends HD_Controller
|
||||
//常用运输人员
|
||||
$transport_name = $info['transport']['name'] ? trim($info['transport']['name']) : '';
|
||||
$transport_mobile = $info['transport']['mobile'] ? trim($info['transport']['mobile']) : '';
|
||||
if ($transport_name && $transport_mobile) {
|
||||
$cache = &load_cache('redis');
|
||||
$cache_transports = $cache->get($this->cacheKeyTransports);
|
||||
$addTransports = true;
|
||||
foreach ($cache_transports as $key => $value) {
|
||||
if ($value['mobile'] == $transport_mobile) {
|
||||
$value['time'] = date('Y-m-d');
|
||||
$addTransports = false;
|
||||
}
|
||||
}
|
||||
if ($addTransports) {
|
||||
$info['transport']['time'] = date('Y-m-d');
|
||||
$cache_transports[] = $info['transport'];
|
||||
}
|
||||
$cache->save($this->cacheKeyTransports, $cache_transports);
|
||||
}
|
||||
$transport_cardid = $info['transport']['cardid'] ? trim($info['transport']['cardid']) : '';
|
||||
$this->transports(['name' => $transport_name, 'mobile' => $transport_mobile, 'cardid' => $transport_cardid]);
|
||||
if ($info['status'] == -1) {
|
||||
return $this->show_json(SYS_CODE_SUCCESS, '保存成功', "/items/transfer");
|
||||
}
|
||||
@@ -775,6 +727,19 @@ class Transfer extends HD_Controller
|
||||
return $this->show_json(SYS_CODE_SUCCESS, '删除成功!');
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes:运输人员操作
|
||||
* Created on: 2022/1/18 11:24
|
||||
* Created by: dengbw
|
||||
*/
|
||||
public function get_transport()
|
||||
{
|
||||
$params = $this->input->get();
|
||||
$data = $this->transports($params);
|
||||
print_r($data);
|
||||
exit;
|
||||
}
|
||||
|
||||
public function batch()
|
||||
{
|
||||
// TODO: Implement batch() method.
|
||||
@@ -824,6 +789,68 @@ class Transfer extends HD_Controller
|
||||
$this->excel->out_csv($data, $indexs, $fileName . "_" . date('YmdHis'));
|
||||
}
|
||||
|
||||
private function transports($params)
|
||||
{
|
||||
$transports = [];
|
||||
$cache = &load_cache('redis');
|
||||
$cache_transports = $cache->get($this->cacheKeyTransports);
|
||||
if ($params['type'] == 'all') {//所有运输人员
|
||||
return $cache_transports;
|
||||
} else if ($params['type'] == 'get') {//排序后的运输人员
|
||||
$saveTransports = false;
|
||||
if ($cache_transports) {//按最近日期排序
|
||||
foreach ($cache_transports as $key => $value) {
|
||||
if ($value['name']) {
|
||||
$transports[] = $value;
|
||||
} else {
|
||||
$saveTransports = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
$saveTransports && $cache->save($this->cacheKeyTransports, $transports);//名字有空重新更新
|
||||
if ($transports) {//按最近日期排序
|
||||
$timeKey = array_column($transports, 'time');
|
||||
array_multisort($timeKey, SORT_DESC, $transports);
|
||||
}
|
||||
return $transports;
|
||||
} else if ($params['type'] == 'del') {
|
||||
if ($cache_transports) {
|
||||
if (strlen($params['id'])) {//删除指定id
|
||||
unset($cache_transports[$params['id']]);
|
||||
$transports = $cache_transports;
|
||||
} else {//删除指定的名字
|
||||
foreach ($cache_transports as $key => $value) {
|
||||
if ($value['name'] == $params['name']) {
|
||||
} else {
|
||||
$transports[] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
$cache->save($this->cacheKeyTransports, $transports);
|
||||
}
|
||||
return $transports;
|
||||
} else {//新增/更新运输人员
|
||||
if (!$params['name'] || !$params['mobile'] || !$params['cardid']) {
|
||||
return 0;
|
||||
}
|
||||
$addTransports = true;
|
||||
foreach ($cache_transports as $key => $value) {
|
||||
if ($value['cardid'] == $params['cardid']) {//身份证一样更新数据
|
||||
$cache_transports[$key]['name'] = $params['name'];
|
||||
$cache_transports[$key]['mobile'] = $params['mobile'];
|
||||
$cache_transports[$key]['time'] = date('Y-m-d');
|
||||
$addTransports = false;
|
||||
}
|
||||
}
|
||||
if ($addTransports) {//新增
|
||||
$cache_transports[] = ['name' => $params['name'], 'mobile' => $params['mobile']
|
||||
, 'cardid' => $params['cardid'], 'time' => date('Y-m-d')];
|
||||
}
|
||||
$cache->save($this->cacheKeyTransports, $cache_transports);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes:获取商品信息
|
||||
* Created on: 2021/12/9 10:47
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group" v-if="showInfo.items_info.vin">
|
||||
<div class="am-form-group" v-show="showInfo.items_info.vin">
|
||||
<div class="coms-table-bd">
|
||||
<table class="am-table am-table-bordered">
|
||||
<thead>
|
||||
@@ -37,7 +37,8 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default" v-if="info.item_id">
|
||||
|
||||
<div class="am-panel am-panel-default" v-show="info.item_id">
|
||||
<div class="am-panel-hd"><span style="font-size: 20px">调拨信息</span></div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-group">
|
||||
@@ -312,10 +313,24 @@
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-para-label w100">运输人员:</label>
|
||||
<div class="am-para-inline w120">
|
||||
<input type="text" v-model="info.transport.name" placeholder="姓名">
|
||||
<div class="sc-con relative">
|
||||
<input id="keyword" type="text" v-model="info.transport.name" autocomplete="off"
|
||||
placeholder="姓名" title="姓名"/>
|
||||
<select id="transport_id" style="display: none">
|
||||
<template v-for="(v,i) in transports">
|
||||
<option :value="i">{{v.name}}</option>
|
||||
</template>
|
||||
</select>
|
||||
<div class="scshopcon">
|
||||
<template v-for="(v,i) in transports">
|
||||
<a class="scshop-item" :data-id="i" href="javascript:">{{v.name}}</a>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-para-inline w150">
|
||||
<input type="text" v-model="info.transport.mobile" placeholder="电话">
|
||||
@@ -324,13 +339,6 @@
|
||||
<input type="text" v-model="info.transport.cardid" placeholder="身份证号码">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group" style="width: 80%;padding-left: 100px;">
|
||||
常用运输人员:
|
||||
<button v-for="(v,i) in transports" type="button" class="am-btn am-btn-default am-btn-sm"
|
||||
style="margin-bottom: 3px;margin-right: 5px;" @click='chooseTransports(i);'>
|
||||
{{v.name}}
|
||||
</button>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-para-label w100">调拨理由:</label>
|
||||
<div class="am-para-inline" style="width: 50%"><textarea rows="5" placeholder="请输入调拨理由"
|
||||
@@ -352,7 +360,7 @@
|
||||
vue_obj = new Vue({
|
||||
el: '#vue-edit',
|
||||
data: {
|
||||
info: {'item_id': 0},
|
||||
info: {'item_id': 0, 'transport': {}},
|
||||
showInfo: {items_info: {'vin': ""}},
|
||||
auto_article: {},
|
||||
transports: [],
|
||||
@@ -1057,5 +1065,66 @@
|
||||
},
|
||||
}
|
||||
});
|
||||
jQuery("body").on("click", function (e) {
|
||||
if (jQuery(e.target).parents(".sc-con").length == 0) {
|
||||
jQuery(".scshopcon").removeClass("active");
|
||||
}
|
||||
});
|
||||
jQuery("input#keyword").focus(function () {
|
||||
jQuery(this).siblings(".scshopcon").addClass("active");
|
||||
});
|
||||
jQuery("input#keyword").on("input propertychange", function () {
|
||||
var sctx = jQuery("#keyword").val();
|
||||
$(".scshopcon").html('');
|
||||
jQuery(this).siblings(".scshopcon").addClass("active");
|
||||
$('#transport_id option').each(function (i) {
|
||||
text = $(this).text();
|
||||
if (sctx.length < 0 || -1 != text.indexOf(sctx)) {
|
||||
$(".scshopcon").append('<a class="scshop-item" data-id="' + $(this).val() + '" href="javascript:">' + text + '</a>');
|
||||
}
|
||||
});
|
||||
});
|
||||
jQuery(".scshopcon").on("click", ".scshop-item", function (e) {
|
||||
jQuery(".scshopcon").removeClass("active");
|
||||
var id = $(this).attr('data-id');
|
||||
if (id) {
|
||||
vue_obj.$data.info.transport.name = vue_obj.$data.transports[id].name;
|
||||
vue_obj.$data.info.transport.mobile = vue_obj.$data.transports[id].mobile;
|
||||
vue_obj.$data.info.transport.cardid = vue_obj.$data.transports[id].cardid;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.scshopcon {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 37px;
|
||||
width: 120px;
|
||||
max-height: 235px;
|
||||
background-color: #fff;
|
||||
border: #ccc 1px solid;
|
||||
border-top: none;
|
||||
overflow-y: auto;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.scshopcon.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.scshopcon .scshop-item {
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
border-bottom: #fafafa 1px solid;
|
||||
font-size: 16px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.scshopcon .scshop-item.active,
|
||||
.scshopcon .scshop-item:hover {
|
||||
background-color: #388aff;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user