Forráskód Böngészése

增加流调数据查重功能

sandm 3 éve
szülő
commit
b2f63fef8d

+ 13 - 0
app/Http/Controllers/Web/Auth/LoginController.php

@@ -10,6 +10,7 @@ use App\Services\Common\SmsService;
 use App\Validators\AuthValidatorRequest;
 use Closure;
 use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Cache;
 
 class LoginController extends WebBaseController
 {
@@ -89,6 +90,18 @@ class LoginController extends WebBaseController
                 config('aix.system.site_safety.site_vo_code.members_login')
             );
 
+            $redis = Cache::getRedis();
+            $value = $redis->get('user_'.$request->account);
+            //dd($value);
+            if(!$value){
+                $value = 0;
+            }
+            if($value >= 5){
+                $redis->expire('user_'.$request->account,900);
+                return $this->sendErrorResponse("连续登录失败5次,请15分钟后再尝试!", $data);
+            }
+            $redis->set('user_'.$request->account,++$value);
+
             return $this->sendErrorResponse("账号或密码错误或密码过期,请使用找回密码功能", $data);
         }
 //        if(!$this->authService->checkPwdLog($member)){

+ 18 - 0
app/Http/Controllers/Web/Talent/JjhcController.php

@@ -8,6 +8,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
 use PhpOffice\PhpSpreadsheet\IOFactory;
 use Illuminate\Support\Facades\DB;
 use App\Exceptions\ResponseException;
+use Illuminate\Http\Request;
 
 class JjhcController extends WebBaseController
 {
@@ -17,6 +18,23 @@ class JjhcController extends WebBaseController
         $this->smsService = $smsService;
     }
 
+    public function yqfk()
+    {
+        return view("app.talent.jjhc.yqfk");
+    }
+
+    public function chaxun(Request $request)
+    {
+        $info = DB::connection('fangyi')->table('fillinfo')
+            ->where(['lxdh'=>$request->tel])->first();
+        if($info){
+            $data = array('status'=>1,'msg'=>'查到已存在数据!','info'=>$info);
+        }else{
+            $data = array('msg'=>'查无此用户!','status' => 0);
+        }
+        return response()->json($data);
+    }
+
     public function test()
     {
 

+ 14 - 0
app/Models/Yqfk/Fillinfo.php

@@ -0,0 +1,14 @@
+<?php
+namespace App\Models\Yqfk;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Fillinfo extends Model
+{
+    public $timestamps = false;
+    protected $table = 'fillinfo';
+    protected $connection = 'fangyi';
+
+    protected $guarded = [];
+
+}

+ 17 - 0
config/database.php

@@ -71,6 +71,23 @@ return [
             'engine' => null,
         ],
 
+        'fangyi' => [
+            'driver' => 'mysql',
+            'host' => '127.0.0.1',
+            'port' => 3306,
+            'database' => 'fangyi',
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            /*'username' => 'root',
+            'password' => 'root',*/
+            'unix_socket' => '',
+            'charset' => 'utf8mb4',
+            'collation' => 'utf8mb4_unicode_ci',
+            'prefix' => '',
+            'strict' => false,
+            'engine' => null,
+        ],
+
         'transfer_center' => [
             'driver' => 'mysql',
             'host' => env('DB_HOST_CENTER', 'localhost'),

+ 1 - 1
config/session.php

@@ -29,7 +29,7 @@ return [
     |
     */
 
-    'lifetime' => env('SESSION_LIFETIME', 120),
+    'lifetime' => env('SESSION_LIFETIME', 15),
 
     'expire_on_close' => false,
 

+ 598 - 0
public/themes/default/views/app/talent/jjhc/yqfk.blade.php

@@ -0,0 +1,598 @@
+@extends('module.layouts.content')
+
+@push('meta')
+
+@endpush
+
+@push('css')
+    <link href="{{ theme_asset('app/css/common.css') }}" rel="stylesheet">
+    <link rel="stylesheet" type="text/css" href="{{ theme_asset('app/css/suggest/suggest.css') }}"/>
+    <style type="text/css">
+        .errinfo{
+            margin-left:85px;
+            width: 650px;
+            line-height: 26px;
+            color: #CC3300;
+            background-color: #FFD8CE;
+            border: 1px #FF9E86 solid;
+            font-size: 12px;
+            padding-left: 10px;
+            margin-bottom: 15px;
+            border-radius: 3px;
+        }
+        .display_none{display:none;    border: 0px #FF9E86 solid;}
+        .define-table{
+            border-collapse:collapse;
+            border-spacing:0;
+            border-left:1px solid #888;
+            border-top:1px solid #888;
+        }
+        .define-table th,.define-table td{
+            border-right:1px solid #888;
+            border-bottom:1px solid #888;
+            padding:5px 15px;
+        }
+        .define-table th{
+            font-weight:bold;background:#ccc;
+        }
+        ————————————————
+        版权声明:本文为CSDN博主「NFA_YY」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
+                                             原文链接:https://blog.csdn.net/NFA_YY/article/details/75089564
+    </style>
+@endpush
+
+@push('js')
+    <script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>
+    <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>
+@endpush
+
+@section('content')
+    <div class="all_body">
+        <div class="suggest_main">
+            <form id="form_suggest" action="{{route('suggest.add')}}" method="post">
+                <div class="suggest_head">疫情流调数据查重系统</div>
+                <div class="top_tips">根据手机号码进行查重判定</div>
+                <div class="suggest_list_group">
+
+                    <div class="errinfo display_none" id="sugget_tel_div"></div>
+                    <div class="suggest_list_cell">
+                        <div class="list_cell_left">手机号码</div>
+                        <div class="list_cell_right"><input type="text" class="suggest_input" name="tel" placeholder="请输入手机号码!"></div>
+                        <div class="clear"></div>
+                    </div>
+
+
+                    <div class="suggest_list_cell">
+                        <div class="list_cell_left"></div>
+                        <div class="list_cell_right">
+
+                            <input type="button" class="btn_yellow suggest_btn" id="J_suggest_submit" value="提 交">
+                        </div>
+                        <div class="clear"></div>
+                    </div>
+                </div>
+            </form>
+            <div id="result" style="display: none">
+                <table  class="define-table">
+                    <tbody>
+                        <tr>
+                            <td>
+                                姓名
+                            </td>
+                            <td id="xm">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                性别
+                            </td>
+                            <td id="xb">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                证件类型
+                            </td>
+                            <td id="zjlx">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                证件号码
+                            </td>
+                            <td id="zjhm">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                人员类型
+                            </td>
+                            <td id="personTypeCName">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                出生日期
+                            </td>
+                            <td id="csrq">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                联系电话
+                            </td>
+                            <td id="lxdh">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                联系电话2
+                            </td>
+                            <td id="lxdh2">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                联系电话3
+                            </td>
+                            <td id="lxdh3">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                职业
+                            </td>
+                            <td id="zy">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                户籍地址
+                            </td>
+                            <td id="hjdz">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                居住地址(补充)
+                            </td>
+                            <td id="jzdz">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                身份证地址
+                            </td>
+                            <td id="sfzdz">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                来源地/漫出地
+                            </td>
+                            <td id="lydmcd">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                所在城市
+                            </td>
+                            <td id="mrszcs">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                所在区县
+                            </td>
+                            <td id="mrszqx">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                所在乡镇/街道
+                            </td>
+                            <td id="mrszxzjd">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                所在村居
+                            </td>
+                            <td id="mrszcj">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                线索来源
+                            </td>
+                            <td id="xsly">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                线索接收时间
+                            </td>
+                            <td id="xsjssj">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                派发时间
+                            </td>
+                            <td id="pfsj">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                派发时间
+                            </td>
+                            <td id="pczt">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                何时去中高风险地(格式2022/1/1)
+                            </td>
+                            <td id="hszgfx">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                中高风险地
+                            </td>
+                            <td id="zgfxd">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                排查方式
+                            </td>
+                            <td id="pcfs">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                排查结果
+                            </td>
+                            <td id="pcjg">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                其他排查结果
+                            </td>
+                            <td id="qtpcjg">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                高中风险地1
+                            </td>
+                            <td id="gzfxd1">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                高中风险地2
+                            </td>
+                            <td id="gzfxd2">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                高中风险地3
+                            </td>
+                            <td id="gzfxd3">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                平推目的地
+                            </td>
+                            <td id="samePushAreaCode">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                入闽方式
+                            </td>
+                            <td id="rmfs">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                入返闽时间
+                            </td>
+                            <td id="rfmsj">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                排查时间
+                            </td>
+                            <td id="pcsj">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                排查执行人
+                            </td>
+                            <td id="pczxr">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                隔离方式
+                            </td>
+                            <td id="glfs">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                填报人
+                            </td>
+                            <td id="tbr">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                线索备注
+                            </td>
+                            <td id="xsbz">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                备注
+                            </td>
+                            <td id="touchNote">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                填报时间
+                            </td>
+                            <td id="dataFillTime">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                核酸检测时间
+                            </td>
+                            <td id="hsjccysj1">
+
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>
+                                核酸检测结果
+                            </td>
+                            <td id="hsjcjg1">
+
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            </div>
+
+        </div>
+    </div>
+
+@endsection
+
+
+
+@section('script')
+    <script>
+
+
+        // 提交验证
+        $('#J_suggest_submit').on('click', function(event) {
+            $("#result").css("display","none");
+            var telValue = $.trim($('input[name="tel"]').val());
+            if (telValue == "") {
+                disapperTooltip("remind", "请输入手机号码");
+                return false;
+            }
+            if (!eval($('#J_suggest_verify').val())) {
+                $('#J_suggest_submit').val('提 交 中...').addClass('btn_disabled').prop('disabled', !0);
+                doSuggestFun();
+            }
+        });
+        // 配置极验
+        var gt_call_back=function(captchaObj) {
+            captchaObj.onReady(function () {
+                //极验加载完成
+            });
+            captchaObj.onSuccess(function () {
+                $('#J_suggest_submit').val('提 交 中...').addClass('btn_disabled').prop('disabled', !0);
+                doSuggestFun();
+
+            });
+            captchaObj.onError(function () {
+                show_error(login_type,"请先进行验证");
+            });
+            captchaObj.onClose(function () {
+                show_error(login_type,"请先进行验证");
+            });
+            $('#J_suggest_submit').on('click', function () {
+
+                $('#J_suggest_submit').val('提 交 中...').addClass('btn_disabled').prop('disabled', !0);
+                doSuggestFun();
+
+
+            });
+        };
+
+        if (eval($('#J_suggest_verify').val())) {
+            gt_init(gt_call_back);//初始化极验
+        }
+
+
+        // 提交
+        function doSuggestFun() {
+            var telValue = $.trim($('input[name="tel"]').val());
+            // 提交表单
+            $.post("{{route('talent.jjhc.chaxun')}}", {tel: telValue, '_token': '{{ csrf_token() }}'}, function (data) {
+                disapperTooltip("success", data.msg);
+                if(data.status == 1){
+                    $("#result").css("display","block");
+                    $("#xm").text(data.info.xm)
+                    switch (data.info.xb) {
+                        case '1':
+                            $("#xb").text("男")
+                            break;
+                        case '2':
+                            $("#xb").text("女");
+                            break;
+                        default:
+                            $("#xb").text("未知");
+                            break;
+                    }
+                    switch (data.info.zjlx) {
+                        case '1':
+                            $("#zjlx").text("居民身份证")
+                            break;
+                        case '2':
+                            $("#zjlx").text("中国护照");
+                            break;
+                        case '3':
+                            $("#zjlx").text("港澳通行证");
+                            break;
+                        case '4':
+                            $("#zjlx").text("台湾通行证");
+                            break;
+                        case '5':
+                            $("#zjlx").text("外国护照");
+                            break;
+                        default:
+                            $("#zjlx").text("其他");
+                            break;
+                    }
+                    $("#zjhm").text(data.info.zjhm);
+                    $("#personTypeCName").text(data.info.personTypeCName);
+                    $("#csrq").text(data.info.csrq);
+                    $("#lxdh").text(data.info.lxdh);
+                    $("#lxdh2").text(data.info.lxdh2);
+                    $("#lxdh3").text(data.info.lxdh3);
+                    $("#zy").text(data.info.zy);
+                    $("#hjdz").text(data.info.hjdz);
+                    $("#jzdz").text(data.info.jzdz);
+                    $("#sfzdz").text(data.info.sfzdz);
+                    $("#lydmcd").text(data.info.lydmcd);
+                    $("#mrszcs").text(data.info.mrszcs);
+                    $("#mrszqx").text(data.info.mrszqx);
+                    $("#mrszxzjd").text(data.info.mrszxzjd);
+                    $("#mrszcj").text(data.info.mrszcj);
+                    switch (data.info.xsly) {
+                        case '1':
+                            $("#xsly").text("省交通检疫组");
+                            break;
+                        case '2':
+                            $("#xsly").text("省通信管理局");
+                            break;
+                        case '3':
+                            $("#xsly").text("省公安厅");
+                            break;
+                        case '4':
+                            $("#xsly").text("国家卫健局");
+                            break;
+                        case '5':
+                            $("#xsly").text("主动排查");
+                            break;
+                        default:
+                            $("#xsly").text("其他");
+                    }
+                    $("#xsjssj").text(data.info.xsjssj);
+                    $("#pfsj").text(data.info.pfsj);
+                    if(data.info.pczj == "3"){
+                        $("#pczt").text("已落实");
+                    }else{
+                        $("#pczt").text("落实中");
+                    }
+                    $("#hszgfx").text(data.info.hszgfx);
+                    $("#zgfxd").text(data.info.zgfxd);
+                    $("#pcfs").text(data.info.pcfs);
+                    $("#pcjg").text(data.info.pcjg);
+                    $("#qtpcjg").text(data.info.qtpcjg);
+                    $("#gzfxd1").text(data.info.gzfxd1);
+                    $("#gzfxd2").text(data.info.gzfxd2);
+                    $("#gzfxd3").text(data.info.gzfxd3);
+                    $("#samePushAreaCode").text(data.info.samePushAreaCode);
+                    $("#rfmsj").text(data.info.rfmsj);
+                    $("#rmfs").text(data.info.rmfs);
+                    $("#pcsj").text(data.info.pcsj);
+                    $("#pczxr").text(data.info.pczxr);
+                    $("#glfs").text(data.info.glfs);
+                    $("#tbr").text(data.info.tbr);
+                    $("#xsbz").text(data.info.xsbz);
+                    $("#touchNote").text(data.info.touchNote);
+                    $("#dataFillTime").text(data.info.dataFillTime);
+                    $("#hsjccysj1").text(data.info.hsjccysj1);
+                    $("#hsjcjg1").text(data.info.hsjcjg1);
+                }
+
+                $('#J_suggest_submit').val('提 交').removeClass('btn_disabled').prop('disabled', 0);
+            }).fail(function(result) {
+                if(result.status == 422){ //显示验证错误信息
+                    var errors = result.responseJSON.errors;
+                    $.each(errors,function(key,val){
+                        var error_html =val.join(",");
+                        $('#sugget_'+key+'_div').text(error_html);
+                        $('#sugget_'+key+'_div').removeClass('display_none');
+                    });
+                }else{
+                    disapperTooltip("remind", "提交失败,请稍后重试");
+                }
+                $('#J_suggest_submit').val('提 交').removeClass('btn_disabled').prop('disabled', 0);
+            });
+        }
+    </script>
+@endsection
+<script>
+    import Tab
+        from "../../../../../../../../xjl/admin-dist-67bc71e24b22a500e506caf6d9263fc10bf5fed6/src/views/tab/index";
+    export default {
+        components: {Tab}
+    }
+</script>

+ 2 - 0
routes/web.php

@@ -889,6 +889,8 @@ Route::group([
 Route::group([
     'prefix' =>  '/jjhc',
 ], function (Router $router){
+    $router->get('/yqfk', 'Web\Talent\JjhcController@yqfk')->name('talent.jjhc.yqfk');
+    $router->post('/yqfk/chaxun', 'Web\Talent\JjhcController@chaxun')->name('talent.jjhc.chaxun');
     $router->get('/test', 'Web\Talent\JjhcController@test')->name('talent.jjhc.test');
 });