浏览代码

fix:
- 首页接口修改
- 预约申请接口修改

zhengzhibin 2 年之前
父节点
当前提交
021f57b4d8

+ 4 - 0
app/admin/controller/AppointmentApplication.php

@@ -55,8 +55,12 @@ class AppointmentApplication extends Permissions
             $count = $model->where($where)->count();
             $data = $model->where($where)->page($post['page']??0, $post['limit']??15)->order('id desc')->select();
             foreach ($data as $key => $value) {
+                $value['childs_text'] = $value->childs_text;
                 $value['sex_text'] = $value->sex_text;
                 $value['status_text'] = $value->status_text;
+                $value['problem_type_text'] = $value->problem_type_text;
+                $value['marriage_text'] = $value->marriage_text;
+                $value['education_level_text'] = $value->education_level_text;
                 $data[$key] = $value;
             }
             return array('code' => 0, 'count' => $count, 'data' => $data);

+ 1 - 1
app/admin/controller/Specialist.php

@@ -74,7 +74,7 @@ class Specialist extends Permissions
                 ['sex|性别', 'number'],
                 ['desc|简介', 'max:500'],
                 ['consultation_direction|咨询方向', 'max:500'],
-                ['address_id|地址', 'require|number'],
+                ['address_id|地址', 'number'],
                 ['phone|联系电话', 'max:50'],
             ]);
             if (!$validate->check($post)) {

+ 19 - 13
app/admin/view/appointment_application/index.html

@@ -247,20 +247,26 @@
                 else if (obj.event == 'view') {
 
                     var fromdata = {
-                        "姓名":obj.data.name,
-                        "性别":obj.data.sex_text,
-                        "年龄":obj.data.age,
-                        "出生年月":obj.data.birthday,
-                        "电话":obj.data.phone,
-                        "身份证":obj.data.id_card,
-                        "子女数量":obj.data.childs_num,
-                        "问题描述":obj.data.problem_desc,
-                        "需求描述":obj.data.requirement_desc,
+                        "姓名": obj.data.name,
+                        "性别": obj.data.sex_text,
+                        "年龄": obj.data.age,
+                        "出生年月": obj.data.birthday,
+                        "电话": obj.data.phone,
+                        "身份证": obj.data.id_card,
+                        "来自城市": obj.data.city,
+                        "职业": obj.data.job,
+                        "受教育程度": obj.data.education_level_text,
+                        "家庭住址": obj.data.home_address,
+                        "婚姻情况": obj.data.marriage_text,
+                        "子女数量": obj.data.childs_text,
+                        "咨询问题类别": obj.data.problem_type_text,
+                        "问题描述": obj.data.problem_desc,
+                        "需求描述": obj.data.requirement_desc,
                         "预约时间段": obj.data.appointment_time,
-                        "订单状态" : obj.data.status_text,
-                        "备注" :obj.data.remark,
-                        "下单时间":obj.data.create_time,
-                        "完成时间":obj.data.finish_time,
+                        "订单状态": obj.data.status_text,
+                        "备注": obj.data.remark,
+                        "下单时间": obj.data.create_time,
+                        "完成时间": obj.data.finish_time,
                     };
 
                     var html = "";

+ 1 - 1
app/admin/view/specialist/publish.html

@@ -83,7 +83,7 @@
         <div class="layui-form-item">
             <label class="layui-form-label">地址</label>
             <div class="layui-input-inline" style="max-width:300px;">
-                <select name="address_id" lay-filter="" lay-search="" lay-verify="required">
+                <select name="address_id" lay-filter="" lay-search="" lay-verify="">
                     <option value="">请选择</option>
                     {volist name="$addresslist" id="vo"}
                     <option value="{$vo.id}"

+ 3 - 0
app/api/controller/Common.php

@@ -12,6 +12,7 @@ namespace app\api\controller;
 use app\api\controller\base\Base;
 use app\api\controller\base\Permissions;
 use app\common\model\User;
+use app\common\service\WebService;
 
 class Common extends Base
 {
@@ -37,6 +38,8 @@ class Common extends Base
             $this->json_error('登入失败,请重新登入');
         }
 
+        (new WebService())->record('登入信息');
+
         $post = $this->request->param();
         $validate = new \think\Validate([
             ['openid', 'max:50'],

+ 22 - 6
app/api/controller/Index.php

@@ -20,17 +20,33 @@ class Index extends Base
         $this->json_success('success', ['ip' => $this->request->ip()]);
     }
 
-    //首页接口
-    public function site()
+    //站点信息接口
+    public function siteinfo()
     {
         $banners = (new ConfigOption())->where(['pid' => 1, 'status' => ConfigOption::STATUS_OPEN])->order('sort desc')->select();
+        foreach ($banners as $key => $item) {
+            $item['image'] = geturl($item->image, '', true);
+            $banners[$key] = $item;
+        }
         $boxs = (new ConfigOption())->where(['pid' => 2, 'status' => ConfigOption::STATUS_OPEN])->order('sort desc')->select();
-        $announcements = (new Announcement())->order('id desc')->limit(3)->select();
-        return [
+        foreach ($boxs as $key => $item) {
+            $item['image'] = geturl($item->image, '', true);
+            $boxs[$key] = $item;
+        }
+        $announcements = (new Announcement())->order('id desc')->limit(6)->select();
+        foreach ($announcements as $key => $item) {
+            $item['thumb_url'] = $item->getThumb();
+            $announcements[$key] = $item;
+        }
+        $this->json_success('success', [
             "banners" => $banners,//轮播图
             "boxs" => $boxs,//模块
-//            "contact_us" => "",
+            "contact_us" => "0595-88052395",//联系电话
             "announcements" => $announcements,//公告
-        ];
+            "notice" => [
+                "title" => "家庭教育咨询来访须知",
+                "content" => "<p>一、遵守保密原则,家庭教育指导师不会泄露来访者的电话、信息和咨询内容。<br/>二、每次咨询时长为45分钟,来访者需准时到达。<br/>三、中心仅对平台预约的服务负责,若有后续咨询意向,由家庭教育指导师和来访者个人负责,中心对此不承担任何责任。<br/>四、本中心家庭教育服务咨询为公益免费项目,为保证公共资源不被浪费,取消预约需提前24小时。<br/>五、最终解释权归晋江市家庭教育指导中心所有。<br/>点击确认即表示完全知晓并同意以上规则。<br/></p>",
+            ]
+        ]);
     }
 }

+ 15 - 3
app/api/controller/User.php

@@ -26,9 +26,9 @@ class User extends Permissions
             "nickname" => $user->nickname,
             "head_pic" => $user->head_pic,
             "sex" => $user->sex,
-            "country" =>$user->country,
+            "country" => $user->country,
             "province" => $user->province,
-            "city" =>$user->city
+            "city" => $user->city
         ];
         $this->json_success('success', $info);
     }
@@ -44,12 +44,24 @@ class User extends Permissions
             ['sex|性别', 'number|in:1,2'],
             ['phone|电话', 'require|max:50'],
             ['id_card|身份证', 'max:50'],
-            ['childs_num|子女数量', 'number'],
+            ['childs_num|子女数量', 'number|in:1,2,3'],
             ['problem_desc|问题描述', 'max:200'],
             ['requirement_desc|需求描述', 'max:200'],
             ['appointment_ticket_id', 'require|number'],
             ['appointment_period', 'require|number|in:1,2,3'],
             ['appointment_time|预约时间段', 'require|dateFormat:H:i:s - H:i:s'],
+            ['city|来自城市', 'max:50'],
+            ['job|职业', 'max:50'],
+            ['education_level|受教育程度', 'number|in:0,1,2,3,4'],
+            ['home_address|家庭住址', 'max:255'],
+            ['marriage|婚姻情况', 'number|in:0,1,2'],
+            ['problem_type|咨询问题类别', 'number|in:0,1,2,3,4,5'],
+            ['childs_age1|一孩年龄', 'number'],
+            ['childs_age2|二孩年龄', 'number'],
+            ['childs_age3|三孩年龄', 'number'],
+            ['childs_sex1|一孩性别', 'number'],
+            ['childs_sex2|二孩性别', 'number'],
+            ['childs_sex3|三孩性别', 'number'],
         ]);
         if (!$validate->check($post)) {
             $this->json_error('提交失败:' . $validate->getError());

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

@@ -1,3 +1,106 @@
+
+# 站点信息接口
+
+接口地址: /api/index/siteinfo
+
+请求方式:get / post
+
+请求数据:无
+
+响应数据:
+```
+{
+    "code": 1,
+    "err_code": 0,
+    "msg": "success",
+    "time": "1682828132",
+    "data": {
+        "banners": [    //轮播图
+            {
+                "id": 1,
+                "name": "图片1", //轮播图标题
+                "pid": 1,
+                "value": "http:\/\/local.appointment.com\/admin\/index\/index.html",  //跳转地址
+                "description": "",
+                "image":"https:\/\/iph.href.lu\/400x200\/?text=%E8%BD%AE%E6%92%AD%E5%9B%BE%E7%89%872&fg=666666&bg=cccccc", //轮播图地址
+                "status": 1,
+                "single_status": 0,
+                "sort": 0
+            },
+            {
+                "id": 2,
+                "name": "图片2",
+                "pid": 1,
+                "value": "http:\/\/local.appointment.com\/admin\/index\/index.html",
+                "description": "",
+                "image":"https:\/\/iph.href.lu\/400x200\/?text=%E8%BD%AE%E6%92%AD%E5%9B%BE%E7%89%872&fg=666666&bg=cccccc",
+                "status": 1,
+                "single_status": 0,
+                "sort": 0
+            }
+        ],
+        "boxs": [   //模块
+            {
+                "id": 4,
+                "name": "心里咨询", //模块标题
+                "pid": 2,
+                "value": "http:\/\/local.appointment.com\/admin\/index\/index.html",  //跳转地址
+                "description": "",
+                "image":"https:\/\/iph.href.lu\/400x200\/?text=%E8%BD%AE%E6%92%AD%E5%9B%BE%E7%89%872&fg=666666&bg=cccccc", //封面图地址
+                "status": 1,
+                "single_status": 0,
+                "sort": 0
+            },
+            {
+                "id": 5,
+                "name": "法律咨询",
+                "pid": 2,
+                "value": "",
+                "description": "",
+                "image": 7,
+                "status": 1,
+                "single_status": 0,
+                "sort": 0
+            }
+        ],
+        "contact_us": "0595-88052395",  //联系电话
+        "announcements": [         //公告
+            {
+                "id": 4,
+                "title": "国际新闻",
+                "thumb": 8,
+                "thumb_url": "http://local.appointment.com/uploads/admin/article_content/20230421/ee2a2b125a3c174e11683530a931a69e.jpg"
+                "content": "<p>士大夫撒地方水电费asd<\/p><p>士大夫撒地方水电费地方<\/p>",
+                "admin_id": 1,
+                "create_time": "2023-04-23 18:00:47"
+            },
+            {
+                "id": 2,
+                "title": "测试",
+                "thumb": 4,
+                "thumb_url": "http://local.appointment.com/uploads/admin/article_content/20230421/ee2a2b125a3c174e11683530a931a69e.jpg"
+                "content": "<p>测试<img src=\"\/uploads\/admin\/article_content\/20230421\/ee2a2b125a3c174e11683530a931a69e.jpg\" style=\"max-width: 100%;\"\/>的范德萨发生的<\/p><p>士大夫撒地方  水电费水电费水电费水电费sdf<\/p><p>是的发生的是的<\/p>",
+                "admin_id": 1,
+                "create_time": "2023-04-21 18:58:00"
+            },
+            {
+                "id": 1,
+                "title": "联系我们",
+                "thumb": 0,
+                "thumb_url": "http://local.appointment.com/uploads/admin/article_content/20230421/ee2a2b125a3c174e11683530a931a69e.jpg"
+                "content": "<p>我们的地址是 xxx 市区 xxx 街道 xxx 号<\/p><p><br\/><\/p><p><img src=\"http:\/\/local.appointment.com\/static\/public\/images\/tx.jpg\" style=\"max-width:100%;\"\/><br\/><\/p>",
+                "admin_id": 1,
+                "create_time": "2023-04-20 23:48:32"
+            }
+        ],
+        "notice": {   //家庭教育咨询来访须知
+            "title": "家庭教育咨询来访须知",  //标题
+            "content": "<p>一、遵守保密原则,家庭教育指导师不会泄露来访者的电话、信息和咨询内容。<br\/>二、每次咨询时长为45分钟,来访者需准时到达。<br\/>三、中心仅对平台预约的服务负责,若有后续咨询意向,由家庭教育指导师和来访者个人负责,中心对此不承担任何责任。<br\/>四、本中心家庭教育服务咨询为公益免费项目,为保证公共资源不被浪费,取消预约需提前24小时。<br\/>五、最终解释权归晋江市家庭教育指导中心所有。<br\/>点击确认即表示完全知晓并同意以上规则。<br\/><\/p>"
+        }
+    }
+}
+```
+
 # 登入接口
 
 接口地址:/api/common/login
@@ -385,12 +488,25 @@
 | sex   | 性别:1男 2女 |  int |
 | phone   | 电话 |  require,max:50 |
 | id_card   | 身份证 |  max:50 |
-| childs_num   | 子女数量 |  int |
 | problem_desc   | 问题描述 |  max:200 |
 | requirement_desc   | 需求描述 |  max:200 |
 | appointment_ticket_id   | 号源id |  require, int |
 | appointment_period   | 时段:1上午,2下午,3晚上 |  require, int |
 | appointment_time   | 预约时间段 |  require, dateFormat: H:i:s - H:i:s |
+| childs_num   | 子女数量:0无,1一孩、2二孩、3三孩 |  int, in:1,2,3 |
+| city | 来自城市 | max:50 |
+| job | 职业 |  max:50 |
+| education_level | 受教育程度:1小学,2初中,3高中,4大学及以上 | number, in:0,1,2,3,4 |
+| home_address|家庭住址 | max:255 |
+| marriage| 婚姻情况:0未婚,1己婚,2离异 | number, in:0,1,2 |
+| problem_type| 咨询问题类别:0其他,1自我意识,2人际关系,3亲子关系,4情绪问题,5学习问题 | number, in:0,1,2,3,4,5 |
+| childs_age1| 一孩年龄 | number |
+| childs_age2| 二孩年龄 | number |
+| childs_age3| 三孩年龄 | number |
+| childs_sex1 | 一孩性别 | number |
+| childs_sex2 | 二孩性别 | number |
+| childs_sex3 | 三孩性别 | number |
+
 
 响应数据:
 ```json

+ 62 - 0
app/common/model/AppointmentApplication.php

@@ -28,12 +28,74 @@ class AppointmentApplication extends Model
         self::SEX_WOMAN => '女'
     ];
 
+    const EDUCATION_LEVELS = [
+        1 => "小学", 2 => "初中", 3 => "高中", 4 => "大学及以上"
+    ];
+
+    const MARRIAGE_STATUS = [
+        0 => "未婚", 1 => "己婚", 2 => "离异"
+    ];
+
+    const PROBLEM_TYPES = [
+        0 => "其他", 1 => "自我意识", 2 => "人际关系", 3 => "亲子关系", 4 => "情绪问题", 5 => "学习问题"
+    ];
+
+    //problem_type_text
+    public function getProblemTypeTextAttr($value, $data)
+    {
+        return self::PROBLEM_TYPES[$data['problem_type']]??'';
+    }
+
+    //marriage_text
+    public function getMarriageTextAttr($value, $data)
+    {
+        return self::MARRIAGE_STATUS[$data['marriage']]??'';
+    }
+
+    //education_level_text
+    public function getEducationLevelTextAttr($value, $data)
+    {
+        return self::EDUCATION_LEVELS[$data['education_level']]??'';
+    }
+
+    //childs_text
+    public function getChildsTextAttr($value, $data)
+    {
+        if ($data['childs_num'] == 0) {
+            return 0;
+        } elseif ($data['childs_num'] == 1) {
+            return "一孩: {$data['childs_age1']}岁 性别{$this->childs_sex1_text}";
+        } elseif ($data['childs_num'] == 2) {
+            return "二孩: {$data['childs_age1']}岁 性别{$this->childs_sex1_text}、{$data['childs_age2']}岁 性别{$this->childs_sex2_text}";
+        } elseif ($data['childs_num'] == 3) {
+            return "三孩: {$data['childs_age1']}岁 性别{$this->childs_sex1_text}、{$data['childs_age2']}岁 性别{$this->childs_sex2_text}、{$data['childs_age3']}岁 性别{$this->childs_sex3_text}";
+        }
+    }
+
     //sex_text
     public function getSexTextAttr($value, $data)
     {
         return self::SEXS[$data['sex']]??'';
     }
 
+    //childs_sex1_text
+    public function getChildsSex1TextAttr($value, $data)
+    {
+        return self::SEXS[$data['childs_sex1']]??'';
+    }
+
+    //childs_sex2_text
+    public function getChildsSex2TextAttr($value, $data)
+    {
+        return self::SEXS[$data['childs_sex2']]??'';
+    }
+
+    //childs_sex3_text
+    public function getChildsSex3TextAttr($value, $data)
+    {
+        return self::SEXS[$data['childs_sex3']]??'';
+    }
+
     //finish_time
     public function getFinishTimeAttr($value, $data)
     {

+ 24 - 2
app/install/data/db.sql

@@ -858,7 +858,6 @@ ALTER TABLE `tplay_appointment`
 	ADD COLUMN `afternoon_use` INT(11) NOT NULL DEFAULT '20' COMMENT '下午报名个数' AFTER `afternoon_num`,
 	ADD COLUMN `night_use` INT(11) NOT NULL DEFAULT '10' COMMENT '晚上报名个数' AFTER `night_num`;
 
-DROP TABLE `tplay_appointment_ticket`;
 
 ALTER TABLE `tplay_appointment`
 	DROP COLUMN `ticket_status`;
@@ -871,4 +870,27 @@ ALTER TABLE `tplay_appointment`
 ALTER TABLE `tplay_appointment`
 	CHANGE COLUMN `morning_use` `morning_use` INT(11) NOT NULL DEFAULT '0' COMMENT '上午报名个数' AFTER `morning_num`,
 	CHANGE COLUMN `afternoon_use` `afternoon_use` INT(11) NOT NULL DEFAULT '0' COMMENT '下午报名个数' AFTER `afternoon_num`,
-	CHANGE COLUMN `night_use` `night_use` INT(11) NOT NULL DEFAULT '0' COMMENT '晚上报名个数' AFTER `night_num`;
+	CHANGE COLUMN `night_use` `night_use` INT(11) NOT NULL DEFAULT '0' COMMENT '晚上报名个数' AFTER `night_num`;
+
+
+ALTER TABLE `tplay_specialist`
+	CHANGE COLUMN `address_id` `address_id` INT(11) NOT NULL DEFAULT '0' COMMENT '地址' AFTER `consultation_direction`;
+
+
+ALTER TABLE `tplay_appointment_application`
+	ADD COLUMN `city` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '来自城市' AFTER `id_card`,
+	ADD COLUMN `job` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '职业' AFTER `city`,
+	ADD COLUMN `education_level` TINYINT NOT NULL DEFAULT 0 COMMENT '受教育程度:1小学,2初中,3高中,4大学及以上' AFTER `job`,
+	CHANGE COLUMN `childs_num` `childs_num` TINYINT NOT NULL DEFAULT '0' COMMENT '子女数量' AFTER `education_level`,
+	ADD COLUMN `home_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '家庭住址' AFTER `childs_num`,
+	ADD COLUMN `marriage` TINYINT NOT NULL DEFAULT '0' COMMENT '婚姻情况:0未婚,1己婚,2离异' AFTER `home_address`,
+	ADD COLUMN `problem_type` TINYINT NOT NULL DEFAULT '0' COMMENT '咨询问题类别:0其他,1自我意识,2人际关系,3亲子关系,4情绪问题,5学习问题' AFTER `marriage`;
+
+ALTER TABLE `tplay_appointment_application`
+	CHANGE COLUMN `childs_num` `childs_num` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '子女数量:无,一孩、二孩、三孩' AFTER `education_level`,
+	ADD COLUMN `childs_age1` TINYINT(4) NOT NULL DEFAULT '0' AFTER `childs_num`,
+	ADD COLUMN `childs_age2` TINYINT(4) NOT NULL DEFAULT '0' AFTER `childs_age1`,
+	ADD COLUMN `childs_age3` TINYINT(4) NOT NULL DEFAULT '0' AFTER `childs_age2`,
+	ADD COLUMN `childs_sex1` TINYINT(4) NOT NULL DEFAULT '0' AFTER `childs_age3`,
+	ADD COLUMN `childs_sex2` TINYINT(4) NOT NULL DEFAULT '0' AFTER `childs_sex1`,
+	ADD COLUMN `childs_sex3` TINYINT(4) NOT NULL DEFAULT '0' AFTER `childs_sex2`;