提交 73b3b454 编写于 作者: D devil_gong

应用

上级 07bf01d6
......@@ -52,7 +52,6 @@ class Pets extends Controller
public function index($params = [])
{
// 参数
$params = input();
$params['user'] = $this->user;
// 分页
......@@ -82,8 +81,9 @@ class Pets extends Controller
'where' => $where,
);
$data = Service::PetsList($data_params);
unset($params['user']);
$this->assign('params', $params);
$this->assign('data_list', $data['data']);
$this->assign('pets_attribute_status_list', Service::$pets_attribute_status_list);
$this->assign('pets_attribute_is_text_list', Service::$pets_attribute_is_text_list);
$this->assign('pets_attribute_gender_list', Service::$pets_attribute_gender_list);
......@@ -173,7 +173,7 @@ class Pets extends Controller
}
// 用户
$params['user'] = $this->user;
$params['user_id'] = $this->user['id'];
return Service::PestSave($params);
}
......@@ -194,7 +194,7 @@ class Pets extends Controller
}
// 用户
$params['user'] = $this->user;
$params['user_id'] = $this->user['id'];
return Service::HelpSave($params);
}
......
......@@ -13,6 +13,7 @@ namespace app\plugins\petscms;
use think\Controller;
use app\plugins\petscms\Service;
use app\service\PluginsService;
use app\service\UserService;
/**
* 宠物管理系统 - 宠物管理
......@@ -31,8 +32,41 @@ class PetsAdmin extends Controller
* @datetime 2019-03-15T23:51:50+0800
* @param [array] $params [输入参数]
*/
public function Index($params = [])
public function index($params = [])
{
// 分页
$number = 10;
// 条件
$where = Service::PetsListWhere($params);
// 获取总数
$total = Service::PetsTotal($where);
// 分页
$page_params = array(
'number' => $number,
'total' => $total,
'where' => $params,
'page' => isset($params['page']) ? intval($params['page']) : 1,
'url' => PluginsHomeUrl('petscms', 'pets', 'index'),
);
$page = new \base\Page($page_params);
$this->assign('page_html', $page->GetPageHtml());
// 获取列表
$data_params = array(
'm' => $page->GetPageStarNumber(),
'n' => $number,
'where' => $where,
);
$data = Service::PetsList($data_params);
$this->assign('data_list', $data['data']);
$this->assign('params', $params);
$this->assign('pets_attribute_status_list', Service::$pets_attribute_status_list);
$this->assign('pets_attribute_is_text_list', Service::$pets_attribute_is_text_list);
$this->assign('pets_attribute_gender_list', Service::$pets_attribute_gender_list);
$this->assign('pets_attribute_type_list', Service::$pets_attribute_type_list);
return $this->fetch('../../../plugins/view/petscms/petsadmin/index');
}
......@@ -44,9 +78,158 @@ class PetsAdmin extends Controller
* @datetime 2019-03-15T23:51:50+0800
* @param [array] $params [输入参数]
*/
public function SaveInfo($params = [])
public function saveinfo($params = [])
{
// 获取数据
$data = [];
if(!empty($params['id']))
{
$data_params = array(
'm' => 0,
'n' => 1,
'where' => ['id' => intval($params['id'])],
);
$ret = Service::PetsList($data_params);
if(!empty($ret['data'][0]))
{
$ret['data'][0]['lose_features'] = str_replace('<br />', "\n", $ret['data'][0]['lose_features']);
$data = $ret['data'][0];
}
unset($params['id']);
}
$this->assign('params', $params);
$this->assign('data', $data);
$this->assign('pets_attribute_status_list', Service::$pets_attribute_status_list);
$this->assign('pets_attribute_is_text_list', Service::$pets_attribute_is_text_list);
$this->assign('pets_attribute_gender_list', Service::$pets_attribute_gender_list);
$this->assign('pets_attribute_type_list', Service::$pets_attribute_type_list);
return $this->fetch('../../../plugins/view/petscms/petsadmin/saveinfo');
}
/**
* 宠物详情
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-03-15T23:51:50+0800
* @param [array] $params [输入参数]
*/
public function detail($params = [])
{
// 获取数据
$data = [];
if(empty($params['id']))
{
return '宠物id有误';
}
$data_params = array(
'm' => 0,
'n' => 1,
'where' => ['id' => intval($params['id']), 'status'=>[0,1,2]],
);
$ret = Service::PetsList($data_params);
$data = empty($ret['data'][0]) ? [] : $ret['data'][0];
$this->assign('data', $data);
$this->assign('params', $params);
return $this->fetch('../../../plugins/view/petscms/petsadmin/detail');
}
/**
* 宠物添加/编辑
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-03-15T23:51:50+0800
* @param [array] $params [输入参数]
*/
public function save($params = [])
{
// 是否ajax请求
if(!IS_AJAX)
{
return $this->error('非法访问');
}
// 用户
return Service::PestSave($params);
}
/**
* 宠物帮助数据列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-03-15T23:51:50+0800
* @param [array] $params [输入参数]
*/
public function help($params = [])
{
// 参数
if(empty($params['pets_id']))
{
return '参数有误';
}
// 分页
$number = 10;
// 条件
$where = [
'pets_id' => intval($params['pets_id']),
];
// 获取总数
$total = Service::HelpTotal($where);
// 分页
$page_params = array(
'number' => $number,
'total' => $total,
'where' => $params,
'page' => isset($params['page']) ? intval($params['page']) : 1,
'url' => PluginsHomeUrl('petscms', 'pets', 'index'),
);
$page = new \base\Page($page_params);
$this->assign('page_html', $page->GetPageHtml());
// 获取列表
$data_params = array(
'm' => $page->GetPageStarNumber(),
'n' => $number,
'where' => $where,
);
$data = Service::HelpList($data_params);
$this->assign('data_list', $data['data']);
return $this->fetch('../../../plugins/view/petscms/petsadmin/help');
}
/**
* 宠物帮助数据地图展示
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-03-15T23:51:50+0800
* @param [array] $params [输入参数]
*/
public function helpmap($params = [])
{
// 隐藏头尾
$this->assign('is_header', 0);
$this->assign('is_footer', 0);
// 参数
$params = input();
if(!empty($params['lng']))
{
$params['lng'] = base64_decode($params['lng']);
}
if(!empty($params['lat']))
{
$params['lat'] = base64_decode($params['lat']);
}
$this->assign('params', $params);
return $this->fetch('../../../plugins/view/petscms/petsadmin/helpmap');
}
}
?>
\ No newline at end of file
......@@ -353,7 +353,7 @@ class Service
// 宠物数据
$data = [
'user_id' => isset($params['user']['id']) ? intval($params['user']['id']) : 0,
'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0,
'title' => isset($params['title']) ? $params['title'] : '',
'name' => isset($params['name']) ? $params['name'] : '',
'birthday' => empty($params['birthday']) ? 0 : strtotime($params['birthday']),
......@@ -504,7 +504,7 @@ class Service
// 宠物数据
$data = [
'user_id' => isset($params['user']['id']) ? intval($params['user']['id']) : 0,
'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0,
'pets_id' => intval($params['pets_id']),
'contacts_name' => $params['contacts_name'],
'contacts_tel' => isset($params['contacts_tel']) ? $params['contacts_tel'] : '',
......
{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<legend>
<span class="fs-16">宠物管理系统</span>
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
</legend>
<div class="petscms-content pets-help" data-url="{{:PluginsAdminUrl('petscms', 'petsadmin', 'helpmap')}}">
<!-- 列表 -->
<div class="data-list">
<table class="am-table">
<thead>
<tr>
<th>联系人信息</th>
<th>省市区/县</th>
<th>详细地址</th>
<th class="am-hide-sm-only">操作时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr>
<td>
姓名:{{if empty($v['contacts_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.contacts_name}}{{/if}}<br />
电话:{{if empty($v['contacts_tel'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.contacts_tel}}{{/if}}<br />
微信:{{if empty($v['contacts_weixin'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.contacts_weixin}}{{/if}}
</td>
<td>
所在省:{{if empty($v['province_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.province_name}}{{/if}}<br />
所在市:{{if empty($v['city_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.city_name}}{{/if}}<br />
所在区/县:{{if empty($v['county_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.county_name}}{{/if}}<br />
</td>
<td>{{$v.address}}</td>
<td class="am-hide-sm-only">
添加:{{$v.add_time_time}}
{{if !empty($v['upd_time_time'])}}
<br />更新:{{$v.upd_time_time}}
{{/if}}
</td>
<td>
{{if !empty($v['lng']) and !empty($v['lat']) and $v['lng'] gt 0 and $v['lat'] gt 0}}
<button class="am-btn am-btn-secondary am-btn-xs am-radius am-icon-map-marker am-btn-block map-submit" data-lng="{{$v.lng}}" data-lat="{{$v.lat}}"> 查看地图</button>
{{/if}}
</td>
</tr>
{{/foreach}}
{{/if}}
{{if empty($data_list)}}
<tr>
<td colspan="5">
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
</td>
</tr>
{{/if}}
</tbody>
</table>
</div>
<!-- 分页 -->
{{if !empty($data_list)}}
{{$page_html|raw}}
{{/if}}
</div>
</div>
</div>
<!-- right content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
\ No newline at end of file
{{include file="public/header" /}}
{{if !empty($params['lng']) and !empty($params['lat']) and $params['lng'] gt 0 and $params['lat'] gt 0}}
<div id="help-map"></div>
{{else /}}
<div class="table-no"><i class="am-icon-warning"></i> 参数有误</div>
{{/if}}
{{include file="public/footer" /}}
{{if !empty($params['lng']) and !empty($params['lat']) and $params['lng'] gt 0 and $params['lat'] gt 0}}
<!-- map -->
<script type="text/javascript" src="{{$Think.__MY_HTTP__}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script>
<script type="text/javascript">
$(function()
{
// 丢失地址-地图展示
var map = new BMap.Map("help-map", {enableMapClick:false});
var level = 17;
var point = new BMap.Point({{$params['lng']}}, {{$params['lat']}});
map.centerAndZoom(point, level);
// 添加控件
var navigationControl = new BMap.NavigationControl({
// 靠左上角位置
anchor: BMAP_ANCHOR_TOP_LEFT,
// LARGE类型
type: BMAP_NAVIGATION_CONTROL_LARGE,
});
map.addControl(navigationControl);
// 创建标注
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
});
</script>
{{/if}}
\ No newline at end of file
petsadmin - index
{{include file="public/header" /}}
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'saveinfo')}}">新增</a>
\ No newline at end of file
<!-- right content start -->
<div class="content-right">
<div class="content">
<legend>
<span class="fs-16">宠物管理系统</span>
<a href="{{:PluginsAdminUrl('petscms', 'admin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
</legend>
<div class="petscms-content">
<form class="am-form form-validation" method="post" action="{{:PluginsAdminUrl('petscms', 'petsadmin', 'index')}}" request-type="form">
<div class="thin">
<div class="am-input-group am-input-group-sm am-fl so">
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="其实搜索很简单 ^_^!" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
<span class="am-input-group-btn">
<button class="am-btn am-btn-default am-radius" type="submit" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
</span>
</div>
<label class="am-fl thin_sub more-submit">
更多筛选条件
<input type="checkbox" name="is_more" value="1" class="none am-field-valid" {{if isset($params['is_more'])}}checked{{/if}} />
<i class="am-icon-angle-up"></i>
</label>
</div>
<table class="so-list more-where {{if !isset($params['is_more'])}}none{{/if}}">
<tbody>
<tr>
<td>
<span>类型:</span>
<select name="type" class="chosen-select" data-placeholder="宠物类型...">
<option value="">宠物类型...</option>
{{if !empty($pets_attribute_type_list)}}
{{foreach $pets_attribute_type_list as $v}}
<option value="{{$v.value}}" {{if isset($params['type']) and $params['type'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
{{/if}}
</select>
</td>
<td>
<span>状态:</span>
<select name="status" class="chosen-select" data-placeholder="宠物状态...">
<option value="-1">宠物状态...</option>
{{if !empty($pets_attribute_status_list)}}
{{foreach $pets_attribute_status_list as $v}}
<option value="{{$v.value}}" {{if isset($params['status']) and $params['status'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
{{/if}}
</select>
</td>
</tr>
<tr>
<td>
<span>绝育:</span>
<select name="sterilization" class="chosen-select" data-placeholder="是否绝育...">
<option value="-1">是否绝育...</option>
{{if !empty($pets_attribute_is_text_list)}}
{{foreach $pets_attribute_is_text_list as $v}}
<option value="{{$v.value}}" {{if isset($params['sterilization']) and $params['sterilization'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
{{/if}}
</select>
</td>
<td>
<span>性别:</span>
<select name="gender" class="chosen-select" data-placeholder="宠物性别...">
<option value="-1">宠物性别...</option>
{{if !empty($pets_attribute_gender_list)}}
{{foreach $pets_attribute_gender_list as $v}}
<option value="{{$v.value}}" {{if isset($params['gender']) and $params['gender'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
{{/if}}
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'index')}}" class="am-btn am-btn-warning am-radius am-btn-sm reset-submit">清除条件</a>
</td>
</tr>
</tbody>
</table>
</form>
<!-- operation start -->
<div class="am-g operation-nav">
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs am-icon-plus"> 新增 / 绑定</a>
</div>
<!-- operation end -->
<!-- 列表 -->
<div class="data-list">
<table class="am-table">
<thead>
<tr>
<th class="am-hide-sm-only">标题/相册</th>
<th>宠物信息</th>
<th class="am-hide-sm-only">主人信息</th>
<th>二维码</th>
<th>状态</th>
<th class="am-hide-sm-only">操作时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr>
<td class="am-hide-sm-only row-first">
<p class="ellipsis">{{$v.title}}</p>
{{if !empty($v['photo'])}}
<div data-am-widget="slider" class="am-slider am-slider-a1" data-am-slider='{"directionNav":false, "slideshow":false}' >
<ul class="am-slides">
{{foreach $v.photo as $photo}}
<li>
<img src="{{$photo.images}}" alt="{{$v.title}}" />
</li>
{{/foreach}}
</ul>
</div>
{{/if}}
</td>
<td>
编号:{{if empty($v['pest_no'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.pest_no}}{{/if}}<br />
名字:{{if empty($v['name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.name}}{{/if}}<br />
类型:{{if empty($v['type_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.type_name}}{{/if}}<br />
性别:{{if empty($v['gender_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.gender_name}}{{/if}}<br />
生日:{{if empty($v['birthday_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.birthday_name}}{{/if}}<br />
年龄:{{if empty($v['age'])}}<span class="items-value-empty">未填写</span>{{else /}}<span class="am-badge am-radius">{{$v.age}}</span>{{/if}}<br />
品种:{{if empty($v['varieties'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.varieties}}{{/if}}<br />
绝育:{{$v.sterilization_name}}<br />
疫苗:{{$v.vaccine_name}}<br />
</td>
<td class="am-hide-sm-only">
姓名:{{if empty($v['person_name'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.person_name}}{{/if}}<br />
电话:{{if empty($v['person_tel'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.person_tel}}{{/if}}<br />
微信:{{if empty($v['person_weixin'])}}<span class="items-value-empty">未填写</span>{{else /}}{{$v.person_weixin}}{{/if}}<br />
</td>
<td class="row-qucode">
<img src="{{$v.qrcode_url}}" alt="{{$v.title}}" />
<a href="{{$v.qrcode_download}}" target="_blank" title="下载二维码">
<p><i class="am-icon-cloud-download"></i> 下载二维码</p>
</a>
</td>
<td>{{$v.status_name}}</td>
<td class="am-hide-sm-only">
添加:{{$v.add_time_time}}
{{if !empty($v['upd_time_time'])}}
<br />更新:{{$v.upd_time_time}}
{{/if}}
</td>
<td>
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'saveinfo',array_merge($params, ['id'=>$v['id']]))}}" class="am-btn am-btn-secondary am-btn-xs am-radius am-icon-edit am-btn-block"> 编辑</a>
{{if $v['status'] neq 3}}
<a href="{{:PluginsHomeUrl('petscms', 'pets', 'detail',array_merge($params, ['id'=>$v['id']]))}}" class="am-btn am-btn-success am-btn-xs am-radius am-icon-newspaper-o am-btn-block" target="_blank"> 详情</a>
{{/if}}
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'help',array_merge($params, ['pets_id'=>$v['id']]))}}" class="am-btn am-btn-default am-btn-xs am-radius am-icon-gg am-btn-block" target="_blank"> 帮助</a>
</td>
</tr>
{{/foreach}}
{{/if}}
{{if empty($data_list)}}
<tr>
<td colspan="7">
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
</td>
</tr>
{{/if}}
</tbody>
</table>
</div>
<!-- 分页 -->
{{if !empty($data_list)}}
{{$page_html|raw}}
{{/if}}
</div>
</div>
</div>
<!-- right content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
\ No newline at end of file
saveinfo
\ No newline at end of file
{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<legend>
<span class="fs-16">宠物管理系统</span>
<a href="{{:PluginsAdminUrl('petscms', 'petsadmin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
</legend>
<div class="petscms-content">
<form class="am-form form-validation view-save" action="{{:PluginsAdminUrl('petscms', 'petsadmin', 'save')}}" method="POST" request-type="ajax-url" request-value="{{:PluginsAdminUrl('petscms', 'petsadmin', 'index', $params)}}" enctype="multipart/form-data">
<!-- 基础 -->
<div class="base-view">
{{if empty($data['id'])}}
<div class="am-form-group">
<label>编号<span class="am-form-group-label-tips-must">请输入二维码上的编号(无二维码留空即可)</span></label>
<input type="text" name="pest_no" placeholder="编号" maxlength="60" data-validation-message="编号格式 1~60 个字符之间" class="am-radius" value="" />
</div>
{{/if}}
<div class="am-form-group">
<label>标题<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="title" placeholder="标题" minlength="1" maxlength="60" data-validation-message="标题格式 1~60 个字符之间" class="am-radius" value="{{if !empty($data['title'])}}{{$data.title}}{{/if}}" required />
</div>
<div class="am-form-group">
<label>宠物名字<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="name" placeholder="宠物名字" minlength="1" maxlength="30" data-validation-message="宠物名字格式 1~30 个字符之间" class="am-radius" value="{{if !empty($data['name'])}}{{$data.name}}{{/if}}" required />
</div>
<div class="am-form-group">
<label>出生日期<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="birthday" class="am-form-field am-radius Wdate" placeholder="出生日期" data-validation-message="出生日期格式有误" {{if !empty($data['birthday_name'])}} value="{{$data.birthday_name}}"{{/if}} onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" required />
</div>
<div class="am-form-group">
<label>类型<span class="am-form-group-label-tips-must">必选</span></label>
<select name="type" class="am-radius chosen-select" data-placeholder="可选择..." data-validation-message="请选择类型" required>
<option value="">可选择...</option>
{{foreach $pets_attribute_type_list as $v}}
<option value="{{$v.value}}" {{if isset($data['type']) and $data['type'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>品种<span class="am-form-group-label-tips">必填</span></label>
<input type="text" name="varieties" placeholder="品种" maxlength="30" data-validation-message="品种格式最多 30 个字符" class="am-radius" value="{{if !empty($data['varieties'])}}{{$data.varieties}}{{/if}}" required />
</div>
<div class="am-form-group">
<label>性别<span class="am-form-group-label-tips-must">必选</span></label>
<select name="gender" class="am-radius chosen-select" data-placeholder="可选择..." data-validation-message="请选择性别" required>
<option value="">可选择...</option>
{{foreach $pets_attribute_gender_list as $v}}
<option value="{{$v.value}}" {{if isset($data['gender']) and $data['gender'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>是否绝育<span class="am-form-group-label-tips-must">必选</span></label>
<select name="sterilization" class="am-radius chosen-select" data-placeholder="可选择..." data-validation-message="请选择是否绝育" required>
<option value="">可选择...</option>
{{foreach $pets_attribute_is_text_list as $v}}
<option value="{{$v.value}}" {{if isset($data['sterilization']) and $data['sterilization'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>是否疫苗<span class="am-form-group-label-tips-must">必选</span></label>
<select name="vaccine" class="am-radius chosen-select" data-placeholder="可选择..." data-validation-message="请选择是否疫苗" required>
<option value="">可选择...</option>
{{foreach $pets_attribute_is_text_list as $v}}
<option value="{{$v.value}}" {{if isset($data['vaccine']) and $data['vaccine'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<!-- 相册 -->
<div class="am-form-group">
<label>宠物相册<span class="am-form-group-label-tips">选填,可拖拽图片进行排序,建议图片尺寸一致</span></label>
<ul class="plug-file-upload-view goods-photo-view" data-form-name="photo[]" data-max-number="6" data-dialog-type="images">
{{if !empty($data['photo'])}}
{{foreach $data.photo as $v}}
<li>
<input type="text" name="photo[]" value="{{$v.images_old}}" />
<img src="{{$v.images}}" />
<i>×</i>
</li>
{{/foreach}}
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.goods-photo-view">+上传相册</div>
</div>
<!-- 宠物简介 -->
<div class="am-form-group">
<label>宠物简介<span class="am-form-group-label-tips">选填</span></label>
<textarea class="am-radius am-validate" name="content" maxlength="105000" id="editor-tag" data-validation-message="宠物简介内容最多 105000 个字符">{{if !empty($data['content'])}}{{$data.content}}{{/if}}</textarea>
</div>
</div>
<!-- 主人信息 -->
<div class="am-alert am-alert-secondary person-view" data-am-alert>
<h2>主人信息</h2>
<hr data-am-widget="divider" style="" class="am-divider am-divider-default" />
<div class="am-form-group">
<label>主人姓名<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="person_name" placeholder="主人姓名" minlength="1" maxlength="30" data-validation-message="主人姓名格式 1~30 个字符之间" class="am-radius" value="{{if !empty($data['person_name'])}}{{$data.person_name}}{{/if}}" required />
</div>
<div class="am-form-group">
<label>主人电话<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="person_tel" placeholder="主人电话" minlength="1" maxlength="30" data-validation-message="主人电话格式 1~30 个字符之间" class="am-radius" value="{{if !empty($data['person_tel'])}}{{$data.person_tel}}{{/if}}" required />
</div>
<div class="am-form-group">
<label>主人微信<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="person_weixin" placeholder="主人微信" minlength="1" maxlength="30" data-validation-message="主人微信格式 1~30 个字符之间" class="am-radius" value="{{if !empty($data['person_weixin'])}}{{$data.person_weixin}}{{/if}}" required />
</div>
</div>
<!-- 丢失信息 -->
<div class="am-alert am-alert-warning lose-view" data-am-alert>
<h2>丢失信息(丢失状态下有效)</h2>
<hr data-am-widget="divider" style="" class="am-divider am-divider-default" />
<div class="am-form-group">
<label>丢失时间<span class="am-form-group-label-tips">选填</span></label>
<input type="text" name="lose_time" class="am-form-field am-radius Wdate" placeholder="丢失时间" data-validation-message="丢失时间格式有误" {{if !empty($data['lose_time_name'])}} value="{{$data.lose_time_name}}"{{/if}} onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" />
</div>
<div class="am-form-group">
<label>悬赏金额<span class="am-form-group-label-tips">选填(空则无赏金)</span></label>
<input type="text" name="lose_reward_amount" placeholder="悬赏金额" data-validation-message="请填写有效的悬赏金额" class="am-radius" pattern="^([0-9]{1}\d{0,6})(\.\d{1,2})?$" value="{{if !empty($data['lose_reward_amount']) and $data['lose_reward_amount'] gt 0}}{{$data.lose_reward_amount}}{{/if}}" />
</div>
<div class="am-form-group">
<label>宠物特征<span class="am-form-group-label-tips">选填</span></label>
<textarea class="am-radius am-validate" name="lose_features" rows="5" maxlength="230" placeholder="内容最多230个字" data-validation-message="宠物特征最多 230 个字符">{{if !empty($data['lose_features'])}}{{$data.lose_features}}{{/if}}</textarea>
</div>
<div class="am-form-group region-linkage" data-url="{{:MyUrl('index/region/index')}}">
<label class="block">省市区<span class="am-form-group-label-tips">选填</span></label>
<select name="province" data-next="city" class="am-radius chosen-select" data-placeholder="省份" data-validation-message="请选择省份" data-value="{{if isset($data['lose_province'])}}{{$data.lose_province}}{{else /}}0{{/if}}" />
<option value="">省份</option>
</select>
<select name="city" data-next="county" class="am-radius chosen-select" data-placeholder="城市" data-validation-message="请选择城市" data-value="{{if isset($data['lose_city'])}}{{$data.lose_city}}{{else /}}0{{/if}}" />
<option value="">城市</option>
</select>
<select name="county" class="am-radius chosen-select" data-placeholder="区/县" data-validation-message="请选择区/县" data-value="{{if isset($data['lose_county'])}}{{$data.lose_county}}{{else /}}0{{/if}}" />
<option value="">区/县</option>
</select>
</div>
<div class="am-form-group map-address">
<label>详细地址<span class="am-form-group-label-tips">选填</span></label>
<div class="am-input-group am-input-group-sm">
<input type="hidden" name="lng" id="form-lng" value="{{if !empty($data['lose_lng'])}}{{$data.lose_lng}}{{/if}}" />
<input type="hidden" name="lat" id="form-lat" value="{{if !empty($data['lose_lat'])}}{{$data.lose_lat}}{{/if}}" />
<input type="text" name="address" id="form-address" placeholder="详细地址" maxlength="80" data-validation-message="详细地址格式 1~80 个字符之间" class="am-radius" value="{{if !empty($data['lose_address'])}}{{$data.lose_address}}{{/if}}" />
<span class="am-input-group-btn">
<button class="am-btn am-btn-default am-radius" type="button" id="map-location-submit"><span class="am-icon-map-marker"></span> 定位</button>
</span>
</div>
</div>
<div id="map" data-level="17" class="am-form-group"></div>
</div>
<div class="am-form-group">
<label>状态<span class="am-form-group-label-tips-must">必选</span></label>
<select name="status" class="am-radius chosen-select" data-placeholder="可选择..." data-validation-message="请选择状态" required>
<option value="">可选择...</option>
{{foreach $pets_attribute_status_list as $v}}
<option value="{{$v.value}}" {{if isset($data['status']) and $data['status'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="id" value="{{if !empty($data['id'])}}{{$data.id}}{{/if}}" />
<input type="hidden" name="user_id" value="{{if !empty($data['user_id'])}}{{$data.user_id}}{{/if}}" />
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">提交</button>
</div>
</form>
</div>
</div>
</div>
<!-- right content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
<!-- map -->
<script type="text/javascript" src="{{$Think.__MY_HTTP__}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script>
<script type="text/javascript">
$(function()
{
// 百度地图API功能
var map = new BMap.Map("map", {enableMapClick:false});
var level = $('#map').data('level') || 16;
var point = new BMap.Point({{if !empty($data['lose_lng'])}}{{$data['lose_lng']}}{{else /}}116.400244{{/if}},{{if !empty($data['lose_lat'])}}{{$data['lose_lat']}}{{else /}}39.92556{{/if}});
map.centerAndZoom(point, level);
// 添加控件
var navigationControl = new BMap.NavigationControl({
// 靠左上角位置
anchor: BMAP_ANCHOR_TOP_LEFT,
// LARGE类型
type: BMAP_NAVIGATION_CONTROL_LARGE,
});
map.addControl(navigationControl);
// 创建标注
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.enableDragging(); // 可拖拽
marker.addEventListener("dragend", function(e) {
map.panTo(e.point);
$('#form-lng').val(e.point.lng);
$('#form-lat').val(e.point.lat);
});
// 设置版权控件位置
var cr = new BMap.CopyrightControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
map.addControl(cr); //添加版权控件
var bs = map.getBounds(); //返回地图可视区域
cr.addCopyright({id: 1, content: "<div class='map-copy'><span>拖动红色图标直接定位</span></div>", bounds:bs});
});
</script>
\ No newline at end of file
......@@ -19,7 +19,7 @@ return [
// 应用地址
'app_host' => '',
// 应用调试模式
'app_debug' => false,
'app_debug' => true,
// 应用Trace
'app_trace' => false,
// 是否支持多模块
......
/* 筛选 */
.thin, .pay-list { overflow:hidden; }
.thin .so { width:66%; }
.thin_sub { font-weight:100; margin:10px 0px 0px 10px; cursor: pointer; }
.so-list { width:100%; margin-top: 20px; }
.so-list * { font-size:1.2rem !important; }
.so-list input { height:28px; display:inline !important; }
.time input, .so-list .chosen-container { background:#FFF !important; }
.time input { width:100px !important; }
.time i { position:absolute; margin:4px 0px 0px -15px; }
.price input { width:101px !important; }
.time, .time { width:50%; }
.so-list tr+tr>td { padding-top:10px; }
.so-list .chosen-container { border-radius:2px; }
.text-grey { color: #999; }
.chosen-container-single .chosen-single, .so-list select { height: 28px; line-height: 28px; width: 100%; }
.reset-submit { margin-left: 20px; }
.so-list select { padding: 0 0 0 8px; }
.operation-nav { margin: 15px 0 10px 0; }
.row-qucode img { max-width: 100px; }
.row-qucode p { margin-top: 5px; }
.row-qucode a:hover, .row-qucode a:focus { text-decoration: none; }
.row-first { width: 20%; }
.row-first p { font-weight: 500; max-width: 240px; }
.row-first .am-slider { max-height: 130px; }
.row-first .am-slider .am-slides img { width: auto; max-height: 100%; margin: 0 auto; }
@media only screen and (min-width: 641px){
.so-list .chosen-container, .so-list select { width:217px !important; display: -webkit-inline-box; }
.thin_sub:hover { color:#F60; }
}
@media only screen and (max-width: 641px){
.so-list input { width:40% !important; }
.so-list td { width:100%; display:block; }
.so-list tr td:last-child { margin-top:10px; }
.so-list .chosen-container { width:85%; }
.so-list .chosen-container { width:100%; }
.so-list tr td:last-child { padding-top:0px !important; }
.chosen-container-single .chosen-search input[type="text"] { width: 100% !important; }
.so-list select { width: calc(100% - 44px); display: -webkit-inline-box; }
}
/**
* 添加/编辑页面
*/
.base-view .am-form-group:last-child, .person-view .am-form-group:last-child, .lose-view .am-form-group:last-child {border-bottom: 0; }
form.form-validation h2 { font-weight: 700; font-size: 14px; }
form.form-validation .am-divider { margin: 10px auto; }
.lose-view { margin-top: 30px; }
form.form-validation .am-alert-secondary { background-color: #f8f8f8; }
form.form-validation .am-alert-warning { background-color: #fffbf7; }
/**
* 地图、联动地址
*/
form.form-validation .map-address {
border-bottom: 0;
padding-bottom: 0;
margin-bottom: 10px;
}
form.form-validation .region-linkage .chosen-select {
display: -webkit-inline-box;
width: calc(33.3% - 3px) !important;
}
form.form-validation .region-linkage .chosen-select .chosen-single {
width: 100%;
}
form.form-validation #map {
width: 100%;
height: 350px;
}
/**
* 帮助页面
*/
#help-map {
width: 100%;
height: 100vh;
}
/**
* 公共
*/
.am-slider-a1 {
-webkit-box-shadow: none;
box-shadow: none;
}
$(function()
{
// 帮助-地图查看
$('.pets-help .map-submit').on('click', function()
{
var lng = parseFloat($(this).data('lng'));
var lat = parseFloat($(this).data('lat'));
if(lng > 0 && lat > 0)
{
// 数据base64避免特殊字符
var url = UrlFieldReplace('lat', window.btoa(lat), UrlFieldReplace('lng', window.btoa(lng), $('.pets-help').data('url')));
ModalLoad(url, '地图', 'plugins-petscms-popup-modal-help');
}
});
});
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册