zzb пре 1 година
родитељ
комит
5cf4e6c36b

+ 8 - 2
app/admin/controller/Webconfig.php

@@ -28,7 +28,7 @@ class Webconfig extends Permissions
 
     public function index()
     {
-        $this->assign('web_config', Db::name('webconfig')->where('id', 1)->find());
+        $this->assign('web_config', \app\common\model\Webconfig::get(1));
         $this->assign('is_close_site_key', (new Urlconfig())->getCloseSiteKey());
         $this->assign('admin_log_num', (new AdminLog())->count());
         $this->assign('backend_pass', (new Urlconfig())->getBackendPass());
@@ -65,7 +65,13 @@ class Webconfig extends Permissions
 
     public function appointmentConfig()
     {
-        $this->assign('web_config', Db::name('webconfig')->where('id', 1)->find());
+        $this->assign('web_config', \app\common\model\Webconfig::get(1));
+        return $this->fetch();
+    }
+
+    public function noticeConfig()
+    {
+        $this->assign('web_config', \app\common\model\Webconfig::get(1));
         return $this->fetch();
     }
 }

+ 8 - 0
app/admin/view/config/publish.html

@@ -104,6 +104,14 @@
                 <div class="layui-form-mid layui-word-aux">默认为“配图”</div>
             </div>
 
+            <div class="layui-form-item">
+                <label class="layui-form-label" style="width: 90px">图片注释</label>
+                <div class="layui-input-inline">
+                    <input name="image_aux" lay-verify="" placeholder="自定义说明文字,请输入" autocomplete="off" class="layui-input"
+                           type="text" {if condition="isset($cate) && $cate->getData('image_aux')" }value="{$cate.image_aux}" {/if}>
+                </div>
+            </div>
+
             <div class="layui-form-item">
                 <label class="layui-form-label" style="width: 90px">颜色label</label>
                 <div class="layui-input-inline">

+ 3 - 2
app/admin/view/config_option/publish.html

@@ -62,12 +62,13 @@
 
       <div class="layui-col-md5">
       {if condition="$config->image_open"}
-        <div class="layui-upload">
+        <div class="layui-form-item">
           <label class="layui-form-label">{$config.image_label}</label>
-          <div class="layui-upload-list">
+          <div class="layui-input-inline" style="width: 152px">
             <img class="layui-upload-img" id="upload_img" {notempty name="$link.image"}src="{$link.image|geturl}"{/notempty}>
             <input type="hidden" id="upload_value" name="image" value='{notempty name="$link.image"}{$link.image}{/notempty}'>
           </div>
+          <div class="layui-form-mid layui-word-aux" style="padding-top:124px !important;">{$config.image_aux}</div>
         </div>
       {/if}
 

+ 1 - 1
app/admin/view/emailconfig/index.html

@@ -74,7 +74,7 @@
         </div>
 
 
-        {include file="emailconfig/publish_tinymce"}
+        {include file="emailconfig/publish_tinymce" item="data" field="content" use="emailconfig" label="邮件模板"}
 
         <div class="layui-form-item">
             <div class="layui-input-block">

+ 3 - 3
app/admin/view/emailconfig/publish_tinymce.html

@@ -1,7 +1,7 @@
 <div class="layui-form-item layui-form-text">
-    <label class="layui-form-label">邮件模板</label>
+    <label class="layui-form-label">[label]</label>
     <div class="layui-input-block">
-        <textarea name="content" id="container">{notempty name="$data.content"}{$data.content}{/notempty}</textarea>
+        <textarea name="[field]" id="container">{notempty name="$[item].[field]"}{$[item]->getData('[field]')}{/notempty}</textarea>
     </div>
 </div>
 
@@ -46,7 +46,7 @@
             };
             formData = new FormData();
             formData.append('file', file, file.name);//此处与源文档不一样
-            formData.append('use', 'emailconfig');
+            formData.append('use', '[use]');
             xhr.send(formData);
         },
         //传统点击submit提交按钮会自动同步内容,但ajax之类的用事件提交会导致内容没有同步,暂时的解决办法是在初始化参数中setup参数里加入事件监听,让他自动同步。

+ 71 - 0
app/admin/view/webconfig/notice_config.html

@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>layui</title>
+    <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="__PUBLIC__/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="__PUBLIC__/font-awesome/css/font-awesome.min.css" media="all"/>
+    <link rel="stylesheet" href="__CSS__/admin.css" media="all">
+</head>
+<body style="padding:10px;">
+<div class="tplay-body-div">
+
+    {include file="webconfig/tab"}
+
+    <div style="margin-top: 20px;">
+    </div>
+    <form class="layui-form" id="admin">
+
+        <div class="layui-form-item">
+            <label class="layui-form-label">标题</label>
+            <div class="layui-input-block">
+                <input name="notice_title" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input"
+                       type="text" {notempty name="$web_config.notice_title" }value="{$web_config.notice_title}" {/notempty}>
+            </div>
+        </div>
+
+        {include file="emailconfig/publish_tinymce" item="web_config" field="notice_content" use="webconfig" label="内容"}
+
+        <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>
+    </form>
+
+    {include file="public/foot"}
+
+    <script>
+        layui.use(['layer', 'form'], function () {
+            var layer = layui.layer,
+                $ = layui.jquery,
+                form = layui.form;
+            $(window).on('load', function () {
+                form.on('submit(admin)', function (data) {
+                    $.ajax({
+                        url: "{:url('admin/webconfig/publish')}",
+                        data: $('#admin').serialize(),
+                        type: 'post',
+                        dataType: 'json',
+                        async: false,
+                        success: function (res) {
+                            layer.msg(res.msg);
+                            if (res.code == 1) {
+                                setTimeout(function () {
+                                    location.reload();
+                                }, 1500)
+                            }
+                        }
+                    })
+                    return false;
+                });
+            });
+        });
+    </script>
+</div>
+</body>
+</html>

+ 1 - 0
app/admin/view/webconfig/tab.html

@@ -2,6 +2,7 @@
     <ul class="layui-tab-title">
         <li {eq name="$Request.baseUrl" value=":url('admin/webconfig/index')"}class="layui-this"{/eq}><a href="{:url('admin/webconfig/index')}" class="a_menu">系统设置</a></li>
         <li {eq name="$Request.baseUrl" value=":url('admin/webconfig/appointmentConfig')"}class="layui-this"{/eq}><a href="{:url('admin/webconfig/appointmentConfig')}" class="a_menu">爽约限制</a></li>
+        <li {eq name="$Request.baseUrl" value=":url('admin/webconfig/noticeConfig')"}class="layui-this"{/eq}><a href="{:url('admin/webconfig/noticeConfig')}" class="a_menu">来访须知</a></li>
         <!--扩展配置-->
         {foreach $tabs as $tab}
         <li {if condition="$Request.baseUrl==url('admin/config/indexWebconfig') && $Request.param.tab_id==$tab->id"}class="layui-this"{/if}><a href="{:url('admin/config/indexWebconfig')}?tab_id={$tab.id}" class="a_menu">{$tab.name}</a></li>

+ 4 - 2
app/api/controller/Index.php

@@ -12,6 +12,7 @@ namespace app\api\controller;
 use app\api\controller\base\Base;
 use app\common\model\Announcement;
 use app\common\model\ConfigOption;
+use app\common\model\Webconfig;
 
 class Index extends Base
 {
@@ -39,13 +40,14 @@ class Index extends Base
             $announcements[$key] = $item;
         }
         $this->json_success('success', [
+            "sitename" => systemName(),
             "banners" => $banners,//轮播图
             "boxs" => $boxs,//模块
             "contact_us" => "0595-88052395",//联系电话
             "announcements" => $announcements,//公告
             "notice" => [
-                "title" => "家庭教育咨询来访须知",
-                "content" => "<p>一、遵守保密原则,家庭教育指导师不会泄露来访者的电话、信息和咨询内容。<br/>二、每次咨询时长为45分钟,来访者需准时到达。<br/>三、中心仅对平台预约的服务负责,若有后续咨询意向,由家庭教育指导师和来访者个人负责,中心对此不承担任何责任。<br/>四、本中心家庭教育服务咨询为公益免费项目,为保证公共资源不被浪费,取消预约需提前24小时。<br/>五、最终解释权归晋江市家庭教育指导中心所有。<br/>点击确认即表示完全知晓并同意以上规则。<br/></p>",
+                "title" => Webconfig::getValue('notice_title'),
+                "content" => Webconfig::getValue('notice_content'),
             ]
         ]);
     }

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

@@ -3,7 +3,7 @@
 
 接口地址: /api/index/siteinfo
 
-更新时间: 2023-05-03
+更新时间: 2023-05-10
 
 请求方式:get / post
 
@@ -100,7 +100,8 @@
         "notice": {   //家庭教育咨询来访须知
             "title": "家庭教育咨询来访须知",  //标题
             "content": "<p>一、遵守保密原则,家庭教育指导师不会泄露来访者的电话、信息和咨询内容。<br\/>二、每次咨询时长为45分钟,来访者需准时到达。<br\/>三、中心仅对平台预约的服务负责,若有后续咨询意向,由家庭教育指导师和来访者个人负责,中心对此不承担任何责任。<br\/>四、本中心家庭教育服务咨询为公益免费项目,为保证公共资源不被浪费,取消预约需提前24小时。<br\/>五、最终解释权归晋江市家庭教育指导中心所有。<br\/>点击确认即表示完全知晓并同意以上规则。<br\/><\/p>"
-        }
+        },
+        "siteinfo":"网站名"
     }
 }
 ```

+ 7 - 0
app/install/data/db.sql

@@ -807,3 +807,10 @@ ALTER TABLE `tplay_appointment`
 
 ALTER TABLE `tplay_specialist`
 	ADD COLUMN `module` INT(11) NOT NULL COMMENT '模块' AFTER `address_id`;
+
+ALTER TABLE `tplay_webconfig`
+	ADD COLUMN `notice_title` VARCHAR(50) NOT NULL DEFAULT '' AFTER `stop_appointment_day`,
+	ADD COLUMN `notice_content` VARCHAR(2000) NOT NULL DEFAULT '' AFTER `notice_title`;
+
+ALTER TABLE `tplay_config`
+	ADD COLUMN `image_aux` VARCHAR(50) NOT NULL DEFAULT '' AFTER `image_label`;