瀏覽代碼

fix:
- 放号设置
- 预约记录修改

zhengzhibin 2 年之前
父節點
當前提交
c4e971de67

+ 65 - 98
app/admin/controller/AppointmentApplication.php

@@ -17,63 +17,48 @@ class AppointmentApplication extends Permissions
         if ($this->request->isAjax()) {
             $post = $this->request->param();
             $where = [];
-                                if (isset($post['ids']) and !empty($post['ids'])) {
-                        $where['id'] = ['in', $post['ids']];
-                    }
-                                        if (!empty($post["name"])) {
-                        $where["name"] = ['like', '%' . $post["name"] . '%'];
-                    }
-                                        if (isset($post["user_id"]) and ""!=$post["user_id"]) {
-                        $where["user_id"] = $post["user_id"];
-                    }
-                                        if (!empty($post["phone"])) {
-                        $where["phone"] = ['like', '%' . $post["phone"] . '%'];
-                    }
-                                        if (isset($post["age"]) and ""!=$post["age"]) {
-                        $where["age"] = $post["age"];
-                    }
-                                        if (isset($post["childs_num"]) and ""!=$post["childs_num"]) {
-                        $where["childs_num"] = $post["childs_num"];
-                    }
-                                        if (!empty($post["desc"])) {
-                        $where["desc"] = ['like', '%' . $post["desc"] . '%'];
-                    }
-                                        if (isset($post["appointment_id"]) and ""!=$post["appointment_id"]) {
-                        $where["appointment_id"] = $post["appointment_id"];
-                    }
-                                        if (isset($post["time_period"]) and !empty($post["time_period"])) {
-                        $timerang = explode(' - ', $post["time_period"]);
-                        $min_time = strtotime($timerang[0]);
-                        $max_time = $timerang[0] == $timerang[1] ? $min_time + 24 * 3600 - 1 : strtotime($timerang[1]??'');
-                        $where["time_period"] = [['>=', $min_time], ['<=', $max_time]];
-                    }
-                                        if (isset($post["appointment_num"]) and ""!=$post["appointment_num"]) {
-                        $where["appointment_num"] = $post["appointment_num"];
-                    }
-                                        if (isset($post["status"]) and ""!=$post["status"]) {
-                        $where["status"] = $post["status"];
-                    }
-                                        if (!empty($post["remark"])) {
-                        $where["remark"] = ['like', '%' . $post["remark"] . '%'];
-                    }
-                                        if (isset($post["create_time"]) and !empty($post["create_time"])) {
-                        $timerang = explode(' - ', $post["create_time"]);
-                        $min_time = strtotime($timerang[0]);
-                        $max_time = $timerang[0] == $timerang[1] ? $min_time + 24 * 3600 - 1 : strtotime($timerang[1]??'');
-                        $where["create_time"] = [['>=', $min_time], ['<=', $max_time]];
-                    }
-                                        if (isset($post["finish_time"]) and !empty($post["finish_time"])) {
-                        $timerang = explode(' - ', $post["finish_time"]);
-                        $min_time = strtotime($timerang[0]);
-                        $max_time = $timerang[0] == $timerang[1] ? $min_time + 24 * 3600 - 1 : strtotime($timerang[1]??'');
-                        $where["finish_time"] = [['>=', $min_time], ['<=', $max_time]];
-                    }
-                    
+            if (isset($post['ids']) and !empty($post['ids'])) {
+                $where['id'] = ['in', $post['ids']];
+            }
+            if (!empty($post["name"])) {
+                $where["name"] = ['like', '%' . $post["name"] . '%'];
+            }
+            if (isset($post["sex"]) and "" != $post["sex"]) {
+                $where["sex"] = $post["sex"];
+            }
+            if (!empty($post["phone"])) {
+                $where["phone"] = ['like', '%' . $post["phone"] . '%'];
+            }
+            if (!empty($post["id_card"])) {
+                $where["id_card"] = ['like', '%' . $post["id_card"] . '%'];
+            }
+            if (isset($post["appointment_id"]) and "" != $post["appointment_id"]) {
+                $where["appointment_id"] = $post["appointment_id"];
+            }
+            if (isset($post["appointment_ticket"]) and "" != $post["appointment_ticket"]) {
+                $where["appointment_ticket"] = $post["appointment_ticket"];
+            }
+            if (isset($post["status"]) and "" != $post["status"]) {
+                $where["status"] = $post["status"];
+            }
+            if (isset($post["create_time"]) and !empty($post["create_time"])) {
+                $timerang = explode(' - ', $post["create_time"]);
+                $min_time = strtotime($timerang[0]);
+                $max_time = $timerang[0] == $timerang[1] ? $min_time + 24 * 3600 - 1 : strtotime($timerang[1]??'');
+                $where["create_time"] = [['>=', $min_time], ['<=', $max_time]];
+            }
+            if (isset($post["finish_time"]) and !empty($post["finish_time"])) {
+                $timerang = explode(' - ', $post["finish_time"]);
+                $min_time = strtotime($timerang[0]);
+                $max_time = $timerang[0] == $timerang[1] ? $min_time + 24 * 3600 - 1 : strtotime($timerang[1]??'');
+                $where["finish_time"] = [['>=', $min_time], ['<=', $max_time]];
+            }
+
             $model = $this->getModel();
             $count = $model->where($where)->count();
             $data = $model->where($where)->page($post['page']??0, $post['limit']??15)->order('id desc')->select();
 
-                        return array('code' => 0, 'count' => $count, 'data' => $data);
+            return array('code' => 0, 'count' => $count, 'data' => $data);
         } else {
             return $this->fetch();
         }
@@ -87,62 +72,44 @@ class AppointmentApplication extends Permissions
         $post = $this->request->post();
         if ($this->request->isPost()) {
 
-                                if (isset($post['time_period']) && !empty($post['time_period'])) {
-                        $post['time_period'] = strtotime($post['time_period']);
-                    }
-                                    if (isset($post['finish_time']) && !empty($post['finish_time'])) {
-                        $post['finish_time'] = strtotime($post['finish_time']);
-                    }
-                
+
             //验证
             $validate = new \think\Validate([
-                                    ['name|姓名', 'require|max:50'],
-                                        ['user_id', 'require|number'],
-                                        ['phone|电话', 'require|max:50'],
-                                        ['age|年龄', 'number'],
-                                        ['childs_num|子女数量', 'number'],
-                                        ['desc|问题描述', 'require|max:200'],
-                                        ['appointment_id|预约放号ID', 'require|number'],
-                                        ['time_period|1上午2下午3晚上', 'require|number'],
-                                        ['appointment_num|预约号码', 'require|number'],
-                                        ['status|订单状态', 'number'],
-                                        ['remark|备注', 'max:200'],
-                                        ['finish_time|完成时间', 'number'],
-                                ]);
+                ['name|姓名', 'require|max:50'],
+                ['age|年龄', 'number'],
+                ['birthday|出生年月', 'max:50'],
+                ['sex|性别', 'number'],
+                ['id_card|身份证', 'require|max:50'],
+                ['childs_num|子女数量', 'number'],
+                ['problem_desc|问题描述', 'require|max:200'],
+                ['requirement_desc|需求描述', 'require|max:200'],
+                ['remark|备注', 'max:200'],
+            ]);
             if (!$validate->check($post)) {
                 $this->error('提交失败:' . $validate->getError());
             }
         }
 
         if ($id > 0) {
-                            //修改
-                $data = $model->where('id', $id)->find();
-                if (empty($data)) {
-                    $this->error('id不正确');
-                }
-                if ($this->request->isPost()) {
-                    if (false == $model->allowField(true)->save($post, ['id' => $id])) {
-                        $this->error('修改失败');
-                    } else {
-                        $this->success('修改成功');
-                    }
-                } else {
-                    $this->assign('data', $data);
-                    return $this->fetch();
-                }
-                    } else {
-                            //新增
-                if ($this->request->isPost()) {
-                    if (false == $model->allowField(true)->save($post)) {
-                        $this->error('添加失败');
-                    } else {
-                        $this->success('添加成功', 'index');
-                    }
+            //修改
+            $data = $model->where('id', $id)->find();
+            if (empty($data)) {
+                $this->error('id不正确');
+            }
+            if ($this->request->isPost()) {
+                if (false == $model->allowField(true)->save($post, ['id' => $id])) {
+                    $this->error('修改失败');
                 } else {
-                    return $this->fetch();
+                    $this->success('修改成功');
                 }
-                    }
+            } else {
+                $this->assign('data', $data);
+                return $this->fetch();
+            }
+        } else {
+        }
     }
+
     public function delete()
     {
         if ($this->request->isAjax()) {

+ 115 - 117
app/admin/view/appointment_application/index.html

@@ -19,7 +19,8 @@
             display: none;
             color: #fff;
         }
-        .tooltip > img{
+
+        .tooltip > img {
             width: 20px;
             height: 20px;
         }
@@ -28,67 +29,80 @@
 <body style="padding:10px;">
 <div class="tplay-body-div">
 
-        <div class="layui-tab">
-        <ul class="layui-tab-title">
-            <li class="layui-this">列表</li>
-            <li><a href="{:url('publish')}" class="a_menu">新增</a></li>
-        </ul>
-    </div>
-    
+
     <script type="text/html" id="toolbarDemo">
         <div class="layui-btn-container">
-                        <button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="deletes">批量删除</button>
-                    </div>
+            <button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="deletes">批量删除</button>
+        </div>
     </script>
 
     <form class="layui-form serch" action="index" method="post">
         <div class="layui-form-item" style="float: left;">
 
             <div class="layui-input-inline">
-                                <input type="text" name="ids" autocomplete="off" placeholder="请输入ID,多个id逗号分隔" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline">
-                            <input type="text" name="name" autocomplete="off" placeholder="姓名(模糊搜索)" class="layui-input layui-btn-sm">
-                        </div><div class="layui-input-inline" style="width:100px">
-                                <input type="number" name="user_id" autocomplete="off" placeholder="user_id" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline">
-                            <input type="text" name="phone" autocomplete="off" placeholder="电话(模糊搜索)" class="layui-input layui-btn-sm">
-                        </div><div class="layui-input-inline" style="width:100px">
-                                <input type="number" name="age" autocomplete="off" placeholder="年龄" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline" style="width:100px">
-                                <input type="number" name="childs_num" autocomplete="off" placeholder="子女数量" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline">
-                            <input type="text" name="desc" autocomplete="off" placeholder="问题描述(模糊搜索)" class="layui-input layui-btn-sm">
-                        </div><div class="layui-input-inline" style="width:100px">
-                                <input type="number" name="appointment_id" autocomplete="off" placeholder="预约放号ID" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline">
-                                <input type="text" class="layui-input time_range" id="time_range_time_period" autocomplete="off" placeholder="1上午2下午3晚上" name="time_period">
-                            </div><div class="layui-input-inline" style="width:100px">
-                                <input type="number" name="appointment_num" autocomplete="off" placeholder="预约号码" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline" style="width:100px">
-                                <input type="number" name="status" autocomplete="off" placeholder="订单状态" class="layui-input layui-btn-sm">
-                            </div><div class="layui-input-inline">
-                            <input type="text" name="remark" autocomplete="off" placeholder="备注(模糊搜索)" class="layui-input layui-btn-sm">
-                        </div><div class="layui-input-inline">
-                                <input type="text" class="layui-input time_range" id="time_range_create_time" autocomplete="off" placeholder="下单时间" name="create_time">
-                            </div><div class="layui-input-inline">
-                                <input type="text" class="layui-input time_range" id="time_range_finish_time" autocomplete="off" placeholder="完成时间" name="finish_time">
-                            </div>
+                <input type="text" name="ids" autocomplete="off" placeholder="请输入ID,多个id逗号分隔"
+                       class="layui-input layui-btn-sm">
+            </div>
+            <div class="layui-input-inline">
+                <input type="text" name="name" autocomplete="off" placeholder="姓名(模糊搜索)"
+                       class="layui-input layui-btn-sm">
+            </div>
+            <div class="layui-input-inline" style="width: 100px">
+                <select name="sex" lay-search="">
+                    <option value="">性别</option>
+                    <option value="1">男2女</option>
+                </select>
+            </div>
+            <div class="layui-input-inline">
+                <input type="text" name="phone" autocomplete="off" placeholder="电话(模糊搜索)"
+                       class="layui-input layui-btn-sm">
+            </div>
+            <div class="layui-input-inline">
+                <input type="text" name="id_card" autocomplete="off" placeholder="身份证(模糊搜索)"
+                       class="layui-input layui-btn-sm">
+            </div>
+            <div class="layui-input-inline" style="width:100px">
+                <input type="number" name="appointment_id" autocomplete="off" placeholder="放号配置id"
+                       class="layui-input layui-btn-sm">
+            </div>
+            <div class="layui-input-inline" style="width:100px">
+                <input type="number" name="appointment_ticket" autocomplete="off" placeholder="预约号"
+                       class="layui-input layui-btn-sm">
+            </div>
+            <div class="layui-input-inline" style="width: 100px">
+                <select name="status" lay-search="">
+                    <option value="">订单状态</option>
+                    <option value="0">未签到</option>
+                    <option value="1">已签到</option>
+                    <option value="2">爽约</option>
+                </select>
+            </div>
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input time_range" id="time_range_create_time" autocomplete="off"
+                       placeholder="下单时间" name="create_time">
+            </div>
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input time_range" id="time_range_finish_time" autocomplete="off"
+                       placeholder="服务完成时间" name="finish_time">
+            </div>
             <button class="layui-btn layui-btn-sm" lay-submit="" lay-filter="serch">立即提交</button>
         </div>
     </form>
 
-        <script type="text/html" id="barDemo">
+    <script type="text/html" id="barDemo">
         <div class="layui-btn-group">
-                        <button class="layui-btn layui-btn-xs a_menu" lay-event="edit"><i class="layui-icon" style="margin-right: 0;"></i></button>
-                        <button class="layui-btn layui-btn-xs delete" lay-event="del"><i class="layui-icon" style="margin-right: 0;"></i></button>
-                    </div>
+            <button class="layui-btn layui-btn-xs a_menu" lay-event="edit"><i class="layui-icon"
+                                                                              style="margin-right: 0;"></i></button>
+            <button class="layui-btn layui-btn-xs delete" lay-event="del"><i class="layui-icon"
+                                                                             style="margin-right: 0;"></i></button>
+        </div>
     </script>
-    
+
     <table class="layui-table" id="table" lay-filter="table"></table>
     {include file="public/foot"}
 
     <script type="text/javascript">
-        layui.use(['table', 'layer', 'form','laydate'], function () {
+        layui.use(['table', 'layer', 'form', 'laydate'], function () {
             var table = layui.table,
                 form = layui.form,
                 layer = layui.layer;
@@ -98,83 +112,67 @@
                 id: 'table'
                 , elem: '#table'
                 , size: 'sm' //小尺寸的表格
-                                , toolbar: '#toolbarDemo'
-                                , limit: 15
+                , toolbar: '#toolbarDemo'
+                , limit: 15
                 , limits: [15, 20, 30, 40, 50, 100]
                 , url: "{:url('index')}" //数据接口
                 , page: true //开启分页
                 , cols: [[ //表头
                     {type: 'checkbox'},
 
-                                                {field: 'id', title: 'ID', width: 60},
-                                                        {field: "name", title: '姓名'},
-                                                        {field: "user_id", title: 'user_id'},
-                                                        {field: "phone", title: '电话'},
-                                                        {field: "age", title: '年龄'},
-                                                        {field: "childs_num", title: '子女数量'},
-                                                        {field: "desc", title: '问题描述'},
-                                                        {field: "appointment_id", title: '预约放号ID'},
-                                                        {field: "time_period", title: '1上午2下午3晚上'},
-                                                        {field: "appointment_num", title: '预约号码'},
-                                                        {field: "status", title: '订单状态'},
-                                                        {field: "remark", title: '备注'},
-                                                        {field: "create_time", title: '下单时间'},
-                                                        {field: "finish_time", title: '完成时间'},
-                                                    {field: 'action', title: '操作', toolbar: '#barDemo', fixed: 'right'}
-                                    ]],
+                    {field: 'id', title: 'ID', width: 60},
+                    {field: "name", title: '姓名'},
+                    {field: "sex", title: '性别'},
+                    {field: "phone", title: '电话'},
+                    {field: "id_card", title: '身份证'},
+                    {field: "problem_desc", title: '问题描述'},
+                    {field: "requirement_desc", title: '需求描述'},
+                    {field: "appointment_id", title: '放号配置id'},
+                    {field: "appointment_ticket", title: '预约号'},
+                    {field: "status", title: '订单状态'},
+                    {field: "remark", title: '备注'},
+                    {field: "create_time", title: '下单时间'},
+                    {field: "finish_time", title: '服务完成时间'},
+                    {field: 'action', title: '操作', toolbar: '#barDemo', fixed: 'right'}
+                ]],
                 done: function () {
                     if (isExitsFunction('showThumb')) {
                         showThumb()
                     }
-                                    }
+                }
+            });
+
+            laydate.render({
+                elem: '#time_range_create_time'
+                , type: 'datetime'
+                , range: true
+                , max: 0 //最大值0天后
+                , theme: 'molv'
+                , calendar: true
+                , done: function (value, date, endDate) {
+                    if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
+                        setTimeout(function () {
+                            $('#time_range_create_time').val(value.replace(/00:00:00$/, '23:59:59'))
+                        }, 100)
+                    }
+                }
+            });
+            laydate.render({
+                elem: '#time_range_finish_time'
+                , type: 'datetime'
+                , range: true
+                , max: 0 //最大值0天后
+                , theme: 'molv'
+                , calendar: true
+                , done: function (value, date, endDate) {
+                    if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
+                        setTimeout(function () {
+                            $('#time_range_finish_time').val(value.replace(/00:00:00$/, '23:59:59'))
+                        }, 100)
+                    }
+                }
             });
 
-                                laydate.render({
-                        elem: '#time_range_time_period'
-                        , type: 'datetime'
-                        , range: true
-                        , max: 0 //最大值0天后
-                        , theme: 'molv'
-                        , calendar: true
-                        , done: function (value, date, endDate) {
-                            if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
-                                setTimeout(function () {
-                                    $('#time_range_time_period').val(value.replace(/00:00:00$/, '23:59:59'))
-                                }, 100)
-                            }
-                        }
-                    });
-                                    laydate.render({
-                        elem: '#time_range_create_time'
-                        , type: 'datetime'
-                        , range: true
-                        , max: 0 //最大值0天后
-                        , theme: 'molv'
-                        , calendar: true
-                        , done: function (value, date, endDate) {
-                            if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
-                                setTimeout(function () {
-                                    $('#time_range_create_time').val(value.replace(/00:00:00$/, '23:59:59'))
-                                }, 100)
-                            }
-                        }
-                    });
-                                    laydate.render({
-                        elem: '#time_range_finish_time'
-                        , type: 'datetime'
-                        , range: true
-                        , max: 0 //最大值0天后
-                        , theme: 'molv'
-                        , calendar: true
-                        , done: function (value, date, endDate) {
-                            if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
-                                setTimeout(function () {
-                                    $('#time_range_finish_time').val(value.replace(/00:00:00$/, '23:59:59'))
-                                }, 100)
-                            }
-                        }
-                    });
-                
             form.on('submit(serch)', function (data) {
                 table.reload('table', {
                     where: data.field
@@ -185,16 +183,16 @@
                 return false;
             });
 
-                        table.on('tool(table)', function (obj) {
+            table.on('tool(table)', function (obj) {
                 if (obj.event == 'edit') {
-                                     window.parent.tab.tabAdd({
+                    window.parent.tab.tabAdd({
                         icon: "fa-bookmark",
                         id: "tplay_appointment_application" + obj.data.id,
                         title: obj.data.title == null ? "预约记录" + obj.data.id : obj.data.title,
                         url: "/admin/appointment_application/publish?id=" + obj.data.id
                     });
-                                  }
-                                else if (obj.event == 'del') {
+                }
+                else if (obj.event == 'del') {
                     layer.confirm('确定要删除?', function (index) {
                         $.ajax({
                             url: "{:url('delete')}",
@@ -209,8 +207,8 @@
                         })
                     })
                 }
-                            });
-                        //监听事件
+            });
+            //监听事件
             table.on('toolbar(table)', function (obj) {
                 if (obj.event == 'deletes') {
                     var checkStatus = table.checkStatus(obj.config.id);//获取选中的数据
@@ -240,10 +238,10 @@
                     }
                 }
             });
-                    });
+        });
     </script>
 
-    
+
 </div>
 </body>
 </html>

+ 105 - 131
app/admin/view/appointment_application/publish.html

@@ -6,148 +6,130 @@
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <link rel="stylesheet" href="/static/public/layui/css/layui.css"  media="all">
-    <link rel="stylesheet" href="/static/public/font-awesome/css/font-awesome.min.css" media="all" />
-    <link rel="stylesheet" href="/static/admin/css/admin.css"  media="all">
+    <link rel="stylesheet" href="/static/public/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/static/public/font-awesome/css/font-awesome.min.css" media="all"/>
+    <link rel="stylesheet" href="/static/admin/css/admin.css" media="all">
     <script src="/static/public/layui/layui.js"></script>
     <script src="/static/public/jquery/jquery.min.js"></script>
 </head>
 <style>
-  .layui-upload-img{
-    cursor: pointer;
-    width:150px;
-    height:150px;
-    background: url('/static/public/images/uploadimg.jpg');
-    background-size:contain;
-    border-radius: 2px;
-    border-width: 1px;
-    border-style: solid;
-    border-color: #e6e6e6;
-  }
+    .layui-upload-img {
+        cursor: pointer;
+        width: 150px;
+        height: 150px;
+        background: url('/static/public/images/uploadimg.jpg');
+        background-size: contain;
+        border-radius: 2px;
+        border-width: 1px;
+        border-style: solid;
+        border-color: #e6e6e6;
+    }
 </style>
 <body style="padding:10px;">
-  <div class="tplay-body-div">
+<div class="tplay-body-div">
 
     {empty name="$data"}
     <div class="layui-tab">
-      <ul class="layui-tab-title">
-        <li><a href="index" class="a_menu">列表</a></li>
-        <li class="layui-this">新增</li>
-      </ul>
+        <ul class="layui-tab-title">
+            <li><a href="index" class="a_menu">列表</a></li>
+            <li class="layui-this">新增</li>
+        </ul>
     </div>
     {/empty}
 
     <div style="margin-top: 20px;"></div>
     <form class="layui-form" id="publish" method="post">
 
-                      <!-- 输入框 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">姓名</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="name" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty name="$data"}value="{$data.name}"{/notempty}>
-                </div>
-                                      <div class="layui-form-mid layui-word-aux">必填</div>
-                                </div>
-                            <!-- 数字 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">user_id</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="user_id" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty name="$data"}value="{$data.user_id}"{/notempty}>
-                </div>
-                                      <div class="layui-form-mid layui-word-aux">必填</div>
-                                </div>
-                          <!-- 输入框 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">电话</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="phone" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty name="$data"}value="{$data.phone}"{/notempty}>
-                </div>
-                                      <div class="layui-form-mid layui-word-aux">必填</div>
-                                </div>
-                            <!-- 数字 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">年龄</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="age"  autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty name="$data"}value="{$data.age}"{/notempty}>
-                </div>
-                                </div>
-                            <!-- 数字 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">子女数量</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="childs_num"  autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty name="$data"}value="{$data.childs_num}"{/notempty}>
-                </div>
-                                </div>
-                          <!-- 输入框 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">问题描述</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="desc" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty name="$data"}value="{$data.desc}"{/notempty}>
-                </div>
-                                      <div class="layui-form-mid layui-word-aux">必填</div>
-                                </div>
-                            <!-- 数字 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">预约放号ID</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="appointment_id" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty name="$data"}value="{$data.appointment_id}"{/notempty}>
-                </div>
-                                      <div class="layui-form-mid layui-word-aux">必填</div>
-                                </div>
-                            <!-- 时间 -->
-                <div class="layui-form-item">
-                    <label class="layui-form-label">1上午2下午3晚上</label>
-                    <div class="layui-input-inline" style="max-width:300px;">
-                        <input name="time_period" id="time_period" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty name="$data"}value="{$data.time_period}"{/notempty}>
-                    </div>
-                                            <div class="layui-form-mid layui-word-aux">必填</div>
-                                    </div>
-                            <!-- 数字 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">预约号码</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="appointment_num" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty name="$data"}value="{$data.appointment_num}"{/notempty}>
-                </div>
-                                      <div class="layui-form-mid layui-word-aux">必填</div>
-                                </div>
-                            <!-- 数字 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">订单状态</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="status"  autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty name="$data"}value="{$data.status}"{/notempty}>
-                </div>
-                                </div>
-                          <!-- 输入框 -->
-              <div class="layui-form-item">
-                <label class="layui-form-label">备注</label>
-                <div class="layui-input-inline" style="max-width:300px;">
-                  <input name="remark"  autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty name="$data"}value="{$data.remark}"{/notempty}>
-                </div>
-                                </div>
-                            <!-- 时间 -->
-                <div class="layui-form-item">
-                    <label class="layui-form-label">完成时间</label>
-                    <div class="layui-input-inline" style="max-width:300px;">
-                        <input name="finish_time" id="finish_time"  autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty name="$data"}value="{$data.finish_time}"{/notempty}>
-                    </div>
-                                    </div>
-            
+        <!-- 输入框 -->
+        <div class="layui-form-item">
+            <label class="layui-form-label">姓名</label>
+            <div class="layui-input-inline" style="max-width:300px;">
+                <input name="name" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input"
+                       type="text" {notempty name="$data" }value="{$data.name}" {/notempty}>
+            </div>
+            <div class="layui-form-mid layui-word-aux">必填</div>
+        </div>
+        <!-- 数字 -->
+        <div class="layui-form-item">
+            <label class="layui-form-label">年龄</label>
+            <div class="layui-input-inline" style="max-width:300px;">
+                <input name="age" autocomplete="off" placeholder="请输入" class="layui-input" type="number" {notempty
+                       name="$data" }value="{$data.age}" {/notempty}>
+            </div>
+        </div>
+        <!-- 输入框 -->
+        <div class="layui-form-item">
+            <label class="layui-form-label">出生年月</label>
+            <div class="layui-input-inline" style="max-width:300px;">
+                <input name="birthday" autocomplete="off" placeholder="请输入" class="layui-input" type="text" {notempty
+                       name="$data" }value="{$data.birthday}" {/notempty}>
+            </div>
+        </div>
+        <!-- 单选框 -->
+        <div class="layui-form-item">
+            <label class="layui-form-label">性别</label>
+            <div class="layui-input-block">
+                <input type="radio" name="sex" value="1" title="男2女" {notempty name="$data" }{eq name="$data.sex"
+                       value="1" } checked {/eq}{/notempty}>
+            </div>
+        </div>
+        <!-- 输入框 -->
+        <div class="layui-form-item">
+            <label class="layui-form-label">身份证</label>
+            <div class="layui-input-inline" style="max-width:300px;">
+                <input name="id_card" lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input"
+                       type="text" {notempty name="$data" }value="{$data.id_card}" {/notempty}>
+            </div>
+            <div class="layui-form-mid layui-word-aux">必填</div>
+        </div>
+        <!-- 数字 -->
+        <div class="layui-form-item">
+            <label class="layui-form-label">子女数量</label>
+            <div class="layui-input-inline" style="max-width:300px;">
+                <input name="childs_num" autocomplete="off" placeholder="请输入" class="layui-input" type="number"
+                       {notempty name="$data" }value="{$data.childs_num}" {/notempty}>
+            </div>
+        </div>
+        <!-- 纯文本段落 -->
+        <div class="layui-form-item layui-form-text">
+            <label class="layui-form-label">问题描述</label>
+            <div class="layui-input-inline" style="width:80%;">
+                <textarea name="problem_desc" lay-verify="required" class="layui-textarea">{notempty name="$data"}{$data.problem_desc}{/notempty}</textarea>
+            </div>
+            <div class="layui-form-mid layui-word-aux">必填</div>
+        </div>
+        <!-- 纯文本段落 -->
+        <div class="layui-form-item layui-form-text">
+            <label class="layui-form-label">需求描述</label>
+            <div class="layui-input-inline" style="width:80%;">
+                <textarea name="requirement_desc" lay-verify="required" class="layui-textarea">{notempty name="$data"}{$data.requirement_desc}{/notempty}</textarea>
+            </div>
+            <div class="layui-form-mid layui-word-aux">必填</div>
+        </div>
+        <!-- 纯文本段落 -->
+        <div class="layui-form-item layui-form-text">
+            <label class="layui-form-label">备注</label>
+            <div class="layui-input-inline" style="width:80%;">
+                <textarea name="remark"
+                          class="layui-textarea">{notempty name="$data"}{$data.remark}{/notempty}</textarea>
+            </div>
+        </div>
+
 
-        
         {notempty name="$data"}
-          <input type="hidden" name="id" value="{$data.id}">
+        <input type="hidden" name="id" value="{$data.id}">
         {/notempty}
-       
-      <div class="layui-form-item">
-        <div class="layui-input-block">
-          <button class="layui-btn" lay-submit lay-filter="admin">立即提交</button>
-          <button type="reset" class="layui-btn layui-btn-primary">重置</button>
+
+        <div class="layui-form-item">
+            <div class="layui-input-block">
+                <button class="layui-btn" lay-submit lay-filter="admin">立即提交</button>
+                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
+            </div>
         </div>
-      </div>
     </form>
 
     <script>
-        layui.use(['layer', 'form' ,'laydate'], function () {
+        layui.use(['layer', 'form', 'laydate'], function () {
             var layer = layui.layer,
                 $ = layui.jquery,
                 form = layui.form;
@@ -167,7 +149,7 @@
                                     layer.alert(res.msg, function (index) {
                                         location.href = res.url;
                                     })
-                                }else{
+                                } else {
                                     layer.confirm(res.msg, {
                                         btn: ['关闭', '继续编辑']
                                     }, function (index) {
@@ -184,18 +166,10 @@
                     return false;
                 });
 
-                                    laydate.render({
-                        elem: '#time_period', //指定元素
-                        type: 'datetime',
-                    });
-                                        laydate.render({
-                        elem: '#finish_time', //指定元素
-                        type: 'datetime',
-                    });
-                    
+
             });
         });
     </script>
-  </div>
+</div>
 </body>
 </html>

+ 1 - 1
app/api/controller/接口文档.md

@@ -25,7 +25,7 @@
 
 | 参数名 | 说明  | 备注  |
 | ---   | ---   | ---  |
-| jwt   | 登入令牌 |  必填 |
+| x-token   | 登入令牌jwt |  必填 |
 | content | 内容 |  max:500 |
 
 

+ 7 - 9
app/common/model/AppointmentApplication.php

@@ -6,13 +6,11 @@ use think\Model;
 
 class AppointmentApplication extends Model
 {
-    protected $updateTime = false;            public function getTimePeriodAttr($value, $data)
-            {
-                return $value ? date('Y-m-d H:i:s', $value) : '';
-            }
-                    public function getFinishTimeAttr($value, $data)
-            {
-                return $value ? date('Y-m-d H:i:s', $value) : '';
-            }
-        
+    protected $updateTime = false;
+
+    public function getFinishTimeAttr($value, $data)
+    {
+        return $value ? date('Y-m-d H:i:s', $value) : '';
+    }
+
 }

文件差異過大導致無法顯示
+ 34 - 220
app/install/data/db.sql


部分文件因文件數量過多而無法顯示