瀏覽代碼

人才挂钩

linwu 9 月之前
父節點
當前提交
475d68ced2
共有 4 個文件被更改,包括 198 次插入0 次删除
  1. 80 0
      app/admin/controller/Couple.php
  2. 82 0
      app/admin/view/couple/import.html
  3. 36 0
      app/admin/view/couple/index.html
  4. 二進制
      public/static/common/exl/rc_couple.xls

+ 80 - 0
app/admin/controller/Couple.php

@@ -0,0 +1,80 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\admin\AdminBaseController;
+
+class Couple extends AdminBaseController
+{
+
+    public function index()
+    {
+        return view();
+    }
+
+    public function import()
+    {
+        return view();
+    }
+
+    public function match()
+    {
+        $old_file = input('old_file/s', "");
+        if (!file_exists($old_file)) {
+            return '旧名单文件不存在';
+        }
+        $new_file = input('new_file/s', "");
+        if (!file_exists($new_file)) {
+            return '新名单文件不存在';
+        }
+
+        //初始化数据
+        $data     = ['id', 'name','company','level','street','mobile','people'];
+        $old_list = import_exl($old_file, $data, 1);
+        $new_list = import_exl($new_file, $data, 1);
+        if (empty($old_list)) {
+            return '旧名单文件无数据';
+        }
+        if (empty($new_list)) {
+            return '新名单文件无数据';
+        }
+
+        $old_idcard = array_column($old_list, 'mobile');
+        $new_idcard = array_column($new_list, 'mobile');
+        $delete     = array_diff($old_idcard, $new_idcard);
+        $add        = array_diff($new_idcard, $old_idcard);
+        $list       = array_intersect($new_idcard,$old_idcard);
+
+        $res = [];
+        foreach ($delete as $k => $v) {
+            $item = $old_list[$k];
+            $item['status'] = '过期';
+            $res[] = $item;
+        }
+
+        foreach ($add as $k => $v) {
+            $item = $new_list[$k];
+            $item['status'] = '新增';
+            $res[] = $item;
+        }
+
+        foreach ($list as $k => $v) {
+            $item = $new_list[$k];
+            $item['status'] = '续期';
+            $res[] = $item;
+        }
+
+        $xlsCell = [
+            ['id', '序号'],
+            ['name', '姓名'],
+            ['company', '单位名称'],
+            ['level', '人才层次'],
+            ['street', '所属镇街'],
+            ['mobile', '联系方式'],
+            ['people', '挂钩人员'],
+            ['status', '状态'],
+        ];
+        export_exl("人才挂钩名单匹配记录", $xlsCell, $res);
+    }
+
+}

+ 82 - 0
app/admin/view/couple/import.html

@@ -0,0 +1,82 @@
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-header">导入</div>
+                <div class="layui-card-body" pad15>
+                    <div class="layui-form layui-form-pane" lay-filter="{$lay_table}">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">旧名单</label>
+                            <div class="layui-input-block">
+                                <input type="text" id="old_file_name" autocomplete="off" readonly placeholder="请点击上传文件按钮" class="layui-input">
+                            </div>
+                        </div>
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">新名单</label>
+                            <div class="layui-input-block">
+                                <input type="text" id="new_file_name" autocomplete="off" readonly placeholder="请点击上传文件按钮" class="layui-input">
+                            </div>
+                        </div>
+                        <input type="hidden" name="file_url" value="" id="old_file">
+                        <input type="hidden" name="file_url" value="" id="new_file">
+                        <div class="layui-form-item">
+                            <div class="layui-input-block">
+                                <a href="/static/common/exl/soldier_user.xls" target="_blank">
+                                    <button type="button" class="layui-btn layui-btn-normal" id="test3">下载模板</button>
+                                </a>
+                                <button type="button" class="layui-btn layui-btn-normal" id="upload1"><i class="layui-icon"></i>上传旧名单</button>
+                                <button type="button" class="layui-btn layui-btn-normal" id="upload2"><i class="layui-icon"></i>上传新名单</button>
+                                <input type="button" lay-submit lay-filter="{$lay_btn}" value="开始匹配" class="layui-btn">
+                            </div>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+<script>
+    layui.use(['index', 'form', 'upload'], function() {
+        const $ = layui.$;
+        const admin = layui.admin;
+        const upload = layui.upload;
+        const form = layui.form;
+        form.render();
+
+        form.on('submit({$lay_btn})', function(obj) {
+            let old_file = $('#old_file').val();
+            let new_file = $('#new_file').val();
+            if (old_file === '') {
+                layer.msg("请上传旧名单");
+            }
+            if (new_file === '') {
+                layer.msg("请上传新名单");
+            }
+            let url = "{:url('couple/match')}?old_file=" + encodeURIComponent(old_file) + '&new_file=' + encodeURIComponent(new_file);
+            window.open(url);
+        });
+
+        upload.render({
+            elem: '#upload1'
+            ,url: "{:url('upload/file')}" //此处配置你自己的上传接口即可
+            ,accept: 'file' //普通文件
+            ,done: function(res){
+                $('#old_file').val(res.data.path);
+                $('#old_file_name').val(res.data.title);
+            }
+        });
+
+        upload.render({
+            elem: '#upload2'
+            ,url: "{:url('upload/file')}" //此处配置你自己的上传接口即可
+            ,accept: 'file' //普通文件
+            ,done: function(res){
+                $('#new_file').val(res.data.path);
+                $('#new_file_name').val(res.data.title);
+            }
+        });
+    });
+</script>

+ 36 - 0
app/admin/view/couple/index.html

@@ -0,0 +1,36 @@
+<style>
+
+</style>
+<div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+            <button class="layui-btn layuiadmin-btn" data-type="import">批量导入</button>
+        </div>
+    </div>
+</div>
+
+<script>
+    layui.use(['index', 'admin', 'form', 'table'], function () {
+        const $ = layui.$;
+        const form = layui.form;
+        form.render();
+
+        //事件
+        const active = {
+            import: function() {
+                layer.open({
+                    type: 2,
+                    title: '匹配',
+                    content: "{:url('couple/import')}",
+                    maxmin: true,
+                    area: ['750px', '320px']
+                });
+            },
+        };
+
+        $('.layui-btn.layuiadmin-btn').on('click', function () {
+            const type = $(this).data('type');
+            active[type] ? active[type].call(this) : '';
+        });
+    });
+</script>

二進制
public/static/common/exl/rc_couple.xls