首页+关于我们

master
yin5th 2022-10-11 10:23:21 +08:00
parent 198397f325
commit 75f9dac254
193 changed files with 6140 additions and 1360 deletions

View File

@ -38,11 +38,12 @@ class Article extends Base
$this->data['images'] = json_decode($article['imgs'], true); $this->data['images'] = json_decode($article['imgs'], true);
$this->setSeo($title, $keywords, $description); $this->setSeo($title, $keywords, $description);
$this->data['firstBg'] = $this->firstBanner($category);
$this->data['item'] = MArticle::parseInfo($article); $this->data['item'] = MArticle::parseInfo($article);
$this->data['category'] = $category; $this->data['category'] = $category;
$this->data['secondInfo'] = $secondCategory; $this->data['secondInfo'] = $secondCategory;
$this->data['categoryId'] = $category['id']; $this->data['categoryId'] = $category['id'];
$this->data['topCategoryId'] = Category::firstGradeById($category['id']) ; $this->data['topCategoryId'] = Category::firstGradeId($category['path'], $category['id']);
$this->detailPrevAndNext($article); $this->detailPrevAndNext($article);
$this->detailRecommendList($article, $category['recommend_num']); $this->detailRecommendList($article, $category['recommend_num']);
return $this->view($category['template_detail'] ?? 'news_detail'); return $this->view($category['template_detail'] ?? 'news_detail');
@ -118,11 +119,14 @@ class Article extends Base
app('think\App')->bind(Paginator::class, DxtcPageA::class); app('think\App')->bind(Paginator::class, DxtcPageA::class);
$this->data['items'] = MArticle::getList($categoryId,$category['number']??10); $this->data['categoryPath'] = Category::categoryPath($category['path']);
$this->data['topCategoryId'] = Category::firstGradeId($category['path'], $categoryId);
$this->data['items'] = MArticle::getList($categoryId, $category['number'] ?? 10);
$this->data['category'] = $category; $this->data['category'] = $category;
$this->data['categoryId'] = $categoryId; $this->data['categoryId'] = $categoryId;
$this->data['topCategoryId'] = Category::firstGradeById($category['id']) ; $this->data['topCategoryId'] = Category::firstGradeId($category['path'], $categoryId);
$this->data['bodyClass'] = 'main'; $this->data['bodyClass'] = 'main';
return $this->view($category['template_list'] ?? '/news_list'); return $this->view($category['template_list'] ?? '/news_list');
@ -143,7 +147,7 @@ class Article extends Base
return $this->json(2, '栏目不存在'); return $this->json(2, '栏目不存在');
} }
$items = MArticle::findListByWhere(["category_id"=>$categoryId],$page, $category['number']); $items = MArticle::findListByWhere(["category_id" => $categoryId], $page, $category['number']);
foreach ($items as $item) { foreach ($items as $item) {
$item['uri'] = archiveGetUri($item); $item['uri'] = archiveGetUri($item);

View File

@ -19,6 +19,8 @@ class Base extends BaseController
//系统配置信息 //系统配置信息
protected $system = []; protected $system = [];
protected $isMobile = false;
// 初始化 // 初始化
protected function initialize() protected function initialize()
{ {
@ -31,7 +33,10 @@ class Base extends BaseController
$this->data['_token'] = $this->request->buildToken(); $this->data['_token'] = $this->request->buildToken();
} }
$this->isMobile = request()->isMobile();
$this->data['config'] = ConfigSetting::getConfigContentsByName('extraBase'); $this->data['config'] = ConfigSetting::getConfigContentsByName('extraBase');
$this->data['isMobile'] = $this->isMobile;
$this->nav(); $this->nav();
$this->logVisit(); $this->logVisit();
@ -119,4 +124,23 @@ class Base extends BaseController
} }
return $list; return $list;
} }
// 获取所在一级栏目背景图
protected function firstBanner($category): array
{
// 一级栏目的banner
$firstCategoryId = Category::firstGradeId($category['path'], $category['id']);
$bgImg = [];
if ($firstCategoryId == $category['id']) {
$bgImg['pc'] = ['src' => $category['src'] ?? '', 'title' => $category['title'] ?? ''];
$bgImg['mobile'] = ['src' => $category['src_mobile'] ?? '', 'title' => $category['title'] ?? ''];
} else {
$firstCategory = Category::where('id', $firstCategoryId)->field('id,title,src,src_mobile')->find();
$bgImg['pc'] = ['src' => $firstCategory['src'] ?? '', 'title' => $firstCategory['title'] ?? ''];
$bgImg['mobile'] = ['src' => $firstCategory['src_mobile'] ?? '', 'title' => $firstCategory['title'] ?? ''];
}
return $bgImg;
}
} }

View File

@ -17,6 +17,8 @@ class Index extends Base
$blocks = Block::getByCategoryId($categoryId); $blocks = Block::getByCategoryId($categoryId);
$this->news(5); $this->news(5);
$this->companyHistory($blocks['company_history_list']['value']);
$this->data['categoryId'] = $categoryId; $this->data['categoryId'] = $categoryId;
$this->data['blocks'] = Block::convertValue($blocks); $this->data['blocks'] = Block::convertValue($blocks);
$this->data['category'] = $category; $this->data['category'] = $category;
@ -35,6 +37,21 @@ class Index extends Base
$this->data['topNews'] = $topNews; $this->data['topNews'] = $topNews;
} }
private function companyHistory(string $companyHistory)
{
$companyHistory = nl2br($companyHistory);
$companyHistory = explode('<br />', $companyHistory);
$companyHistoryList = [];
foreach ($companyHistory as $v) {
$arr = explode(';', $v);
$companyHistoryList[] = [
'year' => $arr[0] ?? '',
'desc' => $arr[1] ?? ''
];
}
$this->data['companyHistoryList'] = $companyHistoryList;
}
/** /**
* 留言 * 留言
* *

View File

@ -10,7 +10,7 @@ class Page extends Base
/** /**
* @return View|void * @return View|void
*/ */
public function index($categoryId=0) public function index($categoryId = 0)
{ {
$category = Category::getById($categoryId); $category = Category::getById($categoryId);
if (!empty($category)) { if (!empty($category)) {
@ -21,6 +21,7 @@ class Page extends Base
} else { } else {
$this->redirect('/404.html'); $this->redirect('/404.html');
} }
$childCategory = Category::getChildrenByParentId($category['id']); $childCategory = Category::getChildrenByParentId($category['id']);
$parentCategory = Category::getById($category['parent_id']); $parentCategory = Category::getById($category['parent_id']);
$brotherCategory = Category::getChildrenByParentId($category['parent_id']); $brotherCategory = Category::getChildrenByParentId($category['parent_id']);
@ -34,8 +35,8 @@ class Page extends Base
$parentBlocks = Block::convertValue($parentBlocks); $parentBlocks = Block::convertValue($parentBlocks);
} }
$this->data['topCategoryId'] = Category::firstGradeById($category['id']) ; $this->data['categoryPath'] = Category::categoryPath($category['path']);
$this->data['topCategoryId'] = Category::firstGradeId($category['path'], $categoryId);
$this->data['categoryId'] = $category['id']; $this->data['categoryId'] = $category['id'];
$this->data['category'] = $category; $this->data['category'] = $category;
$this->data['childCategory'] = $childCategory; $this->data['childCategory'] = $childCategory;
@ -48,7 +49,4 @@ class Page extends Base
return $this->view($category['template_detail']); return $this->view($category['template_detail']);
} }
} }

View File

@ -69,7 +69,7 @@ class Article extends Base
} }
MArticle::destroy($delIds); MArticle::destroy($delIds);
SpecialRoute::deleteByTypeIds($delIds ,SpecialRoute::type_archives); SpecialRoute::deleteByTypeIds($delIds, SpecialRoute::type_archives);
Log::write('article', 'betchDel', '批量删除了文章涉及到的文章ID为'.implode(',', $delIds)); Log::write('article', 'betchDel', '批量删除了文章涉及到的文章ID为'.implode(',', $delIds));
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {
@ -97,7 +97,7 @@ class Article extends Base
try { try {
MArticle::destroy($id); MArticle::destroy($id);
Log::write('article', 'del', '删除文章ID'.$id.',标题:'.$item['title']); Log::write('article', 'del', '删除文章ID'.$id.',标题:'.$item['title']);
SpecialRoute::deleteByTypeIds([$id] ,SpecialRoute::type_archives); SpecialRoute::deleteByTypeIds([$id], SpecialRoute::type_archives);
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
@ -194,6 +194,7 @@ class Article extends Base
if ($this->request->isPost()) { if ($this->request->isPost()) {
$item = input('post.item/a'); $item = input('post.item/a');
$img = input('post.img', ''); $img = input('post.img', '');
$imgMobile = input('post.img_mobile', '');
$logo = input('post.img_logo', ''); $logo = input('post.img_logo', '');
$banner = input('post.img_banner', ''); $banner = input('post.img_banner', '');
$video = input('post.video', ''); $video = input('post.video', '');
@ -203,6 +204,7 @@ class Article extends Base
return $this->json(1, '该文章不存在!'); return $this->json(1, '该文章不存在!');
} }
$item['src'] = $img; $item['src'] = $img;
$item['src_mobile'] = $imgMobile;
if (!empty($logo)) { if (!empty($logo)) {
$item['logo'] = $logo; $item['logo'] = $logo;
} }
@ -310,29 +312,28 @@ class Article extends Base
//处理特殊路由 //处理特殊路由
if (array_key_exists("route", $item) && !empty($item['route'])) { if (array_key_exists("route", $item) && !empty($item['route'])) {
$specialRoute = SpecialRoute::findByTypeRelaTioneId($id,SpecialRoute::type_archives); $specialRoute = SpecialRoute::findByTypeRelaTioneId($id, SpecialRoute::type_archives);
if(empty($specialRoute)){ if (empty($specialRoute)) {
$specialRouteData = [ $specialRouteData = [
"route" =>$item["route"]??'', "route" => $item["route"] ?? '',
"type" =>SpecialRoute::type_archives, "type" => SpecialRoute::type_archives,
"relation_id" =>$id, "relation_id" => $id,
]; ];
SpecialRoute::create($specialRouteData); SpecialRoute::create($specialRouteData);
}else{ } else {
$specialRoute->save(["route"=>$item["route"]??'']); $specialRoute->save(["route" => $item["route"] ?? '']);
} }
}else{ } else {
SpecialRoute::deleteByTypeIds([$id],SpecialRoute::type_archives); SpecialRoute::deleteByTypeIds([$id], SpecialRoute::type_archives);
} }
Db::commit(); Db::commit();
Log::write('article', 'edit', "文章编辑ID{$id} ,标题:{$item['title']}"); Log::write('article', 'edit', "文章编辑ID{$id} ,标题:{$item['title']}");
return $this->json(); return $this->json();
} } catch (ValidateException $e) {
catch (ValidateException $e) {
Db::rollback(); Db::rollback();
return $this->json(2, $e->getError()); return $this->json(2, $e->getError());
}catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
return $this->json(3, $e->getMessage()); return $this->json(3, $e->getMessage());
} }
@ -374,11 +375,13 @@ class Article extends Base
if ($this->request->isPost()) { if ($this->request->isPost()) {
$item = input('post.item/a'); $item = input('post.item/a');
$img = input('post.img', ''); $img = input('post.img', '');
$imgMobile = input('post.img_mobile', '');
$logo = input('post.img_logo', ''); $logo = input('post.img_logo', '');
$banner = input('post.img_banner', ''); $banner = input('post.img_banner', '');
$video = input('post.video', ''); $video = input('post.video', '');
$item['src'] = $img; $item['src'] = $img;
$item['src_mobile'] = $imgMobile;
if (!empty($logo)) { if (!empty($logo)) {
$item['logo'] = $logo; $item['logo'] = $logo;
} }
@ -468,9 +471,9 @@ class Article extends Base
//处理特殊路由 //处理特殊路由
if (array_key_exists("route", $item) && !empty($item['route'])) { if (array_key_exists("route", $item) && !empty($item['route'])) {
$specialRouteData = [ $specialRouteData = [
"route" =>$item["route"]??'', "route" => $item["route"] ?? '',
"type" =>SpecialRoute::type_archives, "type" => SpecialRoute::type_archives,
"relation_id" =>$article->id, "relation_id" => $article->id,
]; ];
SpecialRoute::create($specialRouteData); SpecialRoute::create($specialRouteData);
} }

View File

@ -529,11 +529,26 @@ class Article extends Base
public static function getTeam() public static function getTeam()
{ {
return self::with(["archivesCategory"]) $categoryIds = Category::where('parent_id', Category::CATEGORY_INFO)->order('sort', 'asc')->column('title', 'id');
->where("category_id",Category::CATEGORY_TEAM) $list = self::with(["archivesCategory"])
->whereIn("category_id", array_keys($categoryIds))
->order(["sort"=>"desc","id"=>"desc"]) ->order(["sort"=>"desc","id"=>"desc"])
->select(); ->select();
$data = [];
foreach ($categoryIds as $categoryId => $title) {
if (!isset($data[$categoryId])) {
$data[$categoryId]['title'] = $title;
$data[$categoryId]['list'] = [];
} }
foreach ($list as $item) {
if ($item['category_id'] == $categoryId) {
$data[$categoryId]['list'][] = $item;
}
}
}
return $data;
}
public static function getIndexTop($categoryId) public static function getIndexTop($categoryId)
{ {
return self::with(["archivesCategory"]) return self::with(["archivesCategory"])

View File

@ -12,9 +12,15 @@ class Category extends Base
// 文章类 // 文章类
// 新闻动态 // 新闻动态
public const CATEGORY_NEWS = 7; public const CATEGORY_NEWS = 7;
//企业简介
public const CATEGORY_INFO = 3;
//团队管理 //团队管理
public const CATEGORY_TEAM = 6; public const CATEGORY_TEAM = 6;
//企业介绍 //大事记列表
public const CATEGORY_COMPANY_EVENT = 37;
// 企业荣誉
public const CATEGORY_COMPANY_HONOR = 38;
//关于我们
public const CATEGORY_COMPANY = 2; public const CATEGORY_COMPANY = 2;
//物业服务 //物业服务
public const CATEGORY_SERVICE = 8; public const CATEGORY_SERVICE = 8;
@ -54,8 +60,6 @@ class Category extends Base
*/ */
//获取首页栏目ID //获取首页栏目ID
public static function getIndex() public static function getIndex()
{ {
@ -219,6 +223,17 @@ class Category extends Base
return $data; return $data;
} }
// 根据栏目路径获取所属的一级栏目ID 0则表示当前栏目是就是一级
public static function firstGradeId($categoryPath, $categoryId)
{
$categoryPath = explode(',', $categoryPath);
$firstCategoryId = $categoryId;
if (isset($categoryPath[2]) && !empty($categoryPath[2])) {
$firstCategoryId = $categoryPath[2];
}
return $firstCategoryId;
}
//当前分类的最高级分类Id //当前分类的最高级分类Id
public static function firstGradeById($id) public static function firstGradeById($id)
{ {
@ -438,7 +453,7 @@ class Category extends Base
$position = ""; $position = "";
$item = self::getById($id); $item = self::getById($id);
if ($item) { if ($item) {
$position= "<a href=\"".getUri($item)."\">{$item['title']}</a>"; $position = "<a href=\"".getUri($item)."\">{$item['title']}</a>";
if ($item['parent_id'] > 0) { if ($item['parent_id'] > 0) {
$items = self::select()->toArray(); $items = self::select()->toArray();
$first = self::getPositionGrade($items, $item['parent_id']); $first = self::getPositionGrade($items, $item['parent_id']);
@ -453,7 +468,7 @@ class Category extends Base
public static function getPositionGrade($items, $parentId) public static function getPositionGrade($items, $parentId)
{ {
$data=""; $data = "";
foreach ($items as $key => $item) { foreach ($items as $key => $item) {
if ($item['id'] == $parentId) { if ($item['id'] == $parentId) {
$data = "<a href=\"".getUri($item)."\">{$item['title']}</a>"; $data = "<a href=\"".getUri($item)."\">{$item['title']}</a>";
@ -468,4 +483,17 @@ class Category extends Base
} }
return $data; return $data;
} }
// 根据栏目路径获取所有上级
public static function categoryPath($categoryPath): array
{
$ids = explode(',', $categoryPath);
$arr = [];
foreach ($ids as $id) {
if ($id > 0) {
$arr[] = $id;
}
}
return Category::whereIn('id', $arr)->field('id,title,src,src_mobile,path,route')->select()->toArray();
}
} }

View File

@ -8,7 +8,7 @@ class Article extends Validate
protected $rule = [ protected $rule = [
'category_id|栏目' => 'require|>:0', 'category_id|栏目' => 'require|>:0',
'title|标题' => 'require|max:255', 'title|标题' => 'require|max:255',
'summary|摘要' => 'max:255', // 'summary|摘要' => '',
'route|路由' => "routeValidate" 'route|路由' => "routeValidate"
]; ];

View File

@ -24,11 +24,11 @@ return [
// 服务器地址 // 服务器地址
'hostname' => Env::get('database.hostname', '183.221.101.89'), 'hostname' => Env::get('database.hostname', '183.221.101.89'),
// 数据库名 // 数据库名
'database' => Env::get('database.database', 'zhongzhengwuye'), 'database' => Env::get('database.database', 'zzwy2'),
// 用户名 // 用户名
'username' => Env::get('database.username', 'zhongzhengwuye'), 'username' => Env::get('database.username', 'zzwy2'),
// 密码 // 密码
'password' => Env::get('database.password', 'GLfFKFsAa3xZwhMT'), 'password' => Env::get('database.password', 'bMx284K8b5jp2bfX'),
// 端口 // 端口
'hostport' => Env::get('database.hostport', '3306'), 'hostport' => Env::get('database.hostport', '3306'),
// 数据库连接参数 // 数据库连接参数

View File

@ -2,8 +2,8 @@
return array ( return array (
'company_name' => '鄂尔多斯市中正物业管理有限公司', 'company_name' => '鄂尔多斯市中正物业管理有限公司',
'image' => '', 'image' => '',
'img_logo' => '/storage/20220711/62cb8851e0185.png', 'img_logo' => '/storage/20221009/63423cf817221.png',
'img_logo_m' => '/storage/20220711/62cb885585670.png', 'img_logo_m' => '/storage/20221009/63423cf817221.png',
'tel' => '400-000-00001', 'tel' => '400-000-00001',
'landline' => '400-000-0000', 'landline' => '400-000-0000',
'email' => 'dsdfdd@163.net', 'email' => 'dsdfdd@163.net',

View File

@ -1,8 +0,0 @@
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

0
public/static/web/css/animate.min.css vendored Executable file → Normal file
View File

View File

@ -0,0 +1,259 @@
/* -moz-:firefox()
-ms-:ie
-webkit-:safarichrome
-o-:Opera
*/
* {
/* 清除内边距 */
padding: 0;
/* 清除外边距 */
margin: 0;
/* css3盒子模型 */
box-sizing: border-box;
/* 取消轮廓 */
outline: none;
/* 去掉默认外观 */
-webkit-appearance: none;
/* 去掉点击时的默认外观 */
outline-style: none;
/* 去除点击出现背景 */
-webkit-tap-highlight-color:transparent;
}
body {
/* 设置字体 */
font: 16px/1.5 Microsoft YaHei, Heiti SC, PingFang SC, Arial, SimHei, Hiragino Sans GB, Helvetica, "\5B8B\4F53", serif, sans-serif;
/* 设置行高 */
line-height: 1.5;
/* 设置颜色 */
color: #333333;
/* 抗锯齿性-让文字显示的更加清晰 */
-webkit-font-smoothing: antialiased;
}
em,i{
/* 取消文字倾斜 */
font-style: normal;
}
ul,ol,li {
/* 去掉小圆点 */
list-style: none;
}
button {
/* 当我们鼠标经过button按钮的时候鼠标变成小手 */
cursor: pointer;
}
img {
/* 照顾低版本浏览器 如果图片外面包含了链接会有边框的问题 */
border: 0;
/* 取消图片底侧有空白缝隙的问题 ① */
vertical-align: middle;
/* 取消图片底侧有空白缝隙的问题 ② */
object-fit: cover;
user-select: none;
}
a,ins {
/* 去掉a标签的下划线 */
text-decoration: none;
/* 手机端去除a标签点击时的背景样式 */
-webkit-tap-highlight-color: transparent;
}
a {
/* 修改颜色 */
color: #333333;
}
img,a {
/* 禁用长按时弹出的菜单 */
-webkit-touch-callout: none;
}
button,input,textarea {
/* 设置字体 */
font-family: Microsoft YaHei, Heiti SC, PingFang SC, Arial, SimHei, Hiragino Sans GB, Helvetica, "\5B8B\4F53", serif, sans-serif;
/* 取消轮廓 */
outline: none;
/* 去掉默认外观 */
-webkit-appearance: none;
/* 去掉点击时的默认外观 */
outline-style: none;
}
textarea {
/* 禁止自定义拉伸 */
resize: none;
}
/* 清楚浮动 */
.clearfix:after {
visibility: hidden;
clear: both;
display: block;
content: ".";
height: 0
}
.clearfix {
*zoom: 1
}
/* 字体颜色 */
.color-99{
color: #999999;
}
.color-66{
color: #666666;
}
.color-33{
color: #333333;
}
.color-coffee{
color: #6e4e1f
}
.color-white{
color: #ffffff;
}
.color-orange{
color: #fe8917;
}
.color-blue{
color: #0e357f;
}
/* 背景颜色 */
.bg-col-orange{
background-color: #fe8917;
}
.bg-col-blue{
background-color: #0e357f;
}
.bg-col-white{
background-color: #ffffff;
}
.bg-col-f5{
background-color: #f5f5f5;
}
/* 控制显示文字行数 */
.clips1 {
display: -webkit-box;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
.clips2 {
display: -webkit-box;
-webkit-line-clamp: 2;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
.clips3 {
display: -webkit-box;
-webkit-line-clamp: 3;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
.clips4 {
display: -webkit-box;
-webkit-line-clamp: 4;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
.clips5 {
display: -webkit-box;
-webkit-line-clamp: 5;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
.clips6 {
display: -webkit-box;
-webkit-line-clamp: 6;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
.clips7 {
display: -webkit-box;
-webkit-line-clamp: 7;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
}
/* 页面宽度 */
.w100 {
width: 100%;
}
.w1360 {
width: 1360px;
margin: auto;
}
/* flex布局 */
.flex{
display: flex;
}
/* 英文大小写 */
.uppercase{
text-transform: uppercase; /* 大写 */
}
.lowercase{
text-transform: lowercase; /* 小写 */
}
.capitalize{
text-transform: capitalize; /* 首字母大写 */
}
/* 顶部距离 */
.pull-margin{
margin-top: 88px;
}
/* 加载字体 */
@font-face{
font-family: 'helvetica';
src:url("../fonts/Helvetica.ttf");
}
.font-helvetica{
font-family: 'helvetica';
}

View File

@ -1,272 +0,0 @@
.searceboxone .img{
display: block;
}
.searceboxone .img.imgphone{
display: none;
}
@media (min-width: 1925px){
.indexbanner .indexbox .img{ height: calc((100vw / 2560) * 809);}
.newsdatabox .left .text img{ width: 100%; height: auto;}
}
@media (min-width: 950px){
.joinboxer,.joinbox{ min-height:calc(100vh - 433px);}
}
@media (max-width: 950px){
.hearCell,.hearCell2{
background: #0E357F;
}
.bannerdata,.indexbanner{
margin-top: 50px;
}
.indexbanner .indexbox .img{ position: relative;}
.indexbanner .indexbox .img img{ position: absolute;top: 0;left: 50%;transform: translateX(-50%);}
.indexbanner .indexbox .img{ height: 400px;}
.footer .cont .left .li2 .m{ display: block;}
html,body{ font-size: calc(100vw/7.5);}
.header{ display: none;}
.abstractone, .abstractwo, .addedbox, .advicebox, .itembox{ padding: 65px 0.35rem;}
.abstractone .cont{ display: block;}
.abstractone .cont .left, .abstractone .cont .right, .w1360{ width: auto;}
.abstractone .cont .right .p{ font-size: 1.2rem; line-height: 1.2rem;}
.abstractone .cont .right{ padding-top: 40px;}
.bannerdata .img{ width: 100%; height: 120px; position: relative; overflow: hidden;}
.bannerdata .img img{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: auto; height: 100%;}
.title .p{ font-size: 22px; line-height: 30px; font-weight: bold;}
.title .h1{ font-size: 18px; line-height: 22px;}
.abstractwo .list .li{ width: 3.25rem; margin-top: 15px;}
.abstractwo .list .li a{ display: block;}
.abstractwo .list .li .img{ width: 100%; height: 4rem;}
.abstractwo .list .li .text{ width: auto; padding: 10px;}
.abstractwo .list .li .text .h1{ font-size: 17px;}
.abstractwo .list .li .text .p{ margin-top: 10px; word-bread: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.abstractwo .list{ padding-top: 20px;}
.navminbox{ display: none;}
.searceboxtop .right a{ line-height: 50px; margin: 0 0.3rem;}
.searceboxtop .cont{ justify-content: center;}
.footer{ padding: 0.8rem 0.35rem 0.3rem 0.35rem;}
.footer .cont{ display: block;}
.footer .cont .right .bot{ position: relative; right: auto; bottom: auto; top: auto; left: auto; transform: none; margin: auto; margin: 20px 0 0 0;}
.footer .cont .left{ display: block;}
.footer .cont .left .h1 a{ font-weight: bold;}
.footer .cont .left .li{ margin: 30px 0 0 0;}
.footer .cont .left .li:first-child{ margin: 0;}
.footer .cont .left .m{ display: flex; justify-content: flex-start; flex-wrap: wrap;}
.footer .cont .left .m a{ margin-right: 15px; line-height: 20px;}
.footer .cont .left .li2 .m a{ margin: 0 0 10px 0;}
.footer .cont .right .img{ margin: 30px auto 0;}
.footer .cont .right .bot a{ font-size: 12px; text-align: center;}
.addedbox .title{ text-align: center;}
.addedbox .list .li .img{ float: none; width: 100%; height: auto;}
.addedbox .list .li .text{ width: auto; height: auto; display: block; float: none;min-height: inherit;}
.addedbox .list .li .text>div{ padding: 20px 20px 40px 20px;}
.addedbox .list .li .text .h1{ font-size: 18px;}
.addedbox .list .li:nth-child(2n) .img{ float: none;}
.advicebox{ display: block;}
.advicebox .left{ width: auto; padding: 0;}
.advicebox .left .m img{ width: 150px; margin: auto;}
.advicebox .right{ width: auto;}
.searceboxone .cont{ margin: 0 0.35rem;}
.searceboxone .text .h1{ font-size: 12px; line-height: 16px; text-align: left;}
.searceboxone .text .h2{ font-size: 16px; line-height: 18px; text-align: left;}
.searceboxone .text .em{ width: 40px; margin: 10px 0 0 0;}
.searceboxone .text{ left: 15px; right: 15px;}
.business .text .add, .itembox .title{ text-align: center;}
.business .text .weah{ justify-content: center;}
.business .text .weah .l:last-child img{ margin-right: 0;}
.enterprise{ padding: 65px 0.35rem 0 0.35rem;}
.enterprise .cont .li .em{ width: 50px; height: 50px; line-height: 50px; font-size: 14px; left: 0; margin: 0;}
.enterprise .cont .li .em i{ width: 60px; height: 60px;}
.enterprise .cont::after{ left: 26px; margin: 0;}
.enterprise .cont .li .text,
.enterprise .cont .li:nth-child(2n) .text{ width: auto; text-align: left; float: none; margin-left: 70px; padding-top: 5px;}
.enterprise .cont .li:nth-child(2n) .text .m::after{ left: 0; right: auto;}
.itembox .itemimg{ display: block;}
.itembox .itemimg .img{ width: 100%; margin-top: 30px;}
.itembox .itemimg .img img{ width: 100%;}
.itembox .itemimg .left .h1{ font-size: 30px; font-weight: bold; line-height: 30px; padding-top: 0;}
.itembox .itemimg .left{ width: auto;}
.itembox .mySwiper{ margin: 0px 0 0 0;}
.itembox .em{ width: 30px; height: 30px;}
.itembox .em{ top: 24px; background-size: 8px auto;}
.searceboxtop2{ display: none;}
.joinboxer, .joinbox{ padding: 90px 0.35rem 65px 0.35rem;}
.joinboxer .top{ display: block;}
.joinboxer .top .h1{ font-size: 18px; text-align: center;}
.joinboxer .top .h2{ text-align: center; font-size: 22px; font-weight: bold;}
.joinboxer .top .p{ width: auto; text-align: center;}
.joinboxer .top .right{ justify-content: center;}
.joinboxer .top .right .m:first-child img{ margin-left: 0;}
.joinboxer .list a{ width: 100%; margin-right: 0;}
.joinboxer .list .li{ width: 100%;}
.joinboxer .list .li .h1{ font-size: 18px; font-weight: bold;}
.joinbox .cont{ display: block;}
.joinbox .cont .left .h1{ font-size: 20px; font-weight: bold; text-align: center;}
.joinbox .cont .left .text{ text-align: center;}
.joinbox .cont .left .img{ justify-content: center;}
.joinbox .cont .left .img .m:last-child img{ margin-right: 0;}
.joinbox .cont .right{ margin-top: 40px; padding-top: 40px; border-top: 1px solid #eee; width: auto;}
.joinbox .cont .right .li .h2{ font-size: 18px;}
.newsboxone{ padding: 40px 0.35rem;}
.newsboxone .cont{ display: block;}
.newsboxone .cont .img{ width: 100%; height: auto;}
.newsboxone .cont .text{ width: auto; margin-top: 20px;}
.newsboxone .cont .text .e{ font-size: 18px;}
.newsboxone .cont .text .h1{ font-size: 18px; font-weight: bold; line-height: 28px;}
.newsboxone .cont .text .p{ margin-top: 15px;}
.newsboxone .cont .text a{ margin-top: 20px;}
.newslist{ padding: 45px 0.35rem;}
.newslist .cont .left .li a{ display: block; padding: 20px 0.35rem;}
.newslist .cont .left .li .time{ width: auto; height: auto; border-right: none; display: block; text-align: left;}
.newslist .cont .left .li .time>div{ display: flex; justify-content: flex-start; align-items: center;}
.newslist .cont .left .li .time .m{ font-size: 14px; line-height: 20px; font-weight: normal;}
.newslist .cont .left .li .time .f{ margin: 0; margin-left: 5px; line-height: 20px;}
.newslist .cont .left .li .text .h1{ font-size: 17px; font-weight: bold; margin-top: 10px;}
.newslist .cont .left .li .text{ width: auto; margin: 0;}
.newslist .cont{ display: block;}
.newslist .cont .left, .newsdatabox .left{ width: auto;}
.newslist .cont .right, .newsdatabox .right{ width: 100%; margin-top: 25px;}
.newsdatabox{ padding: 45px 0.35rem; display: block;}
.newsdatabox .left .h1{ font-size: 18px; font-weight: bold; line-height: 28px; text-align: center;}
.newsdatabox .left .cion{ justify-content: center; flex-wrap: wrap;}
.newsdatabox .left .cion .p{ margin: 0 8px;}
.newsdatabox .left .page .m{ display: none;}
.newsdatabox .left .page .more a{ white-space: nowrap; width: 100%;}
.newsdatabox .left .page{ display: block;}
.searceboxone.searceproperty .img{
height: 300px;
display: none;
}
.searceboxone .img{
display: none;
}
.searceboxone.searceproperty .img.imgphone,.searceboxone .img.imgphone{
display: block;
}
.searceboxone .text .p{ font-size: 12px; font-weight: bold; text-align: left;line-height: 18px;margin-top: 5px;}
.searceboxone .text .p p{
font-size: 12px !important;
}
.searceboxone .text .e{ font-size: 12px; text-align: left;}
.searceboxone .text .e p{font-size: 12px;}
.searceboxtwo .cont{ display: block;}
.searceboxtwo{ padding: 45px 0.35rem;}
.searceboxtwo .cont .left{ width: auto;}
.searceboxtwo .cont .left .h1{ font-size: 18px;}
.searceboxtwo .cont .right{ width: 100%;}
.indexbanner .indexbox .textbox .text{ text-align: left; padding: 0rem 0.25rem 0;}
.indexbanner .indexbox .textbox .h1{ font-size: 12px; line-height: 18px;}
.indexbanner .indexbox .textbox .e{ font-size: 10px;letter-spacing: 0; line-height: 16px; line-height: inherit;margin-top:0px;position: relative;-webkit-transform: scale(0.83)}
.indexbanner .indexbox .textbox .h2{ font-size: 12px;line-height: inherit;margin-top: 0px;}
.indexbanner .indexbox .textbox .p{ font-size: 10px;line-height: inherit;margin-top: 0px;-webkit-transform: scale(0.83);}
.indexboxcer{ padding: 45px 0.35rem;}
.indexboxcer .cont .left{ width: auto;}
.indexboxcer .cont .left a, .indexboxcer .cont{ display: block;}
.indexboxcer .cont .left .img{ width: 100%;}
.indexboxcer .cont .left .text{ width: auto; margin-top: 20px;}
.indexboxcer .cont .right{ margin-top: 35px; width: auto;}
.indexboxcer .cont .right .li a .p{ width: 5.2rem;}
.indexboxcer .cont .right .top .h1{ font-size: 18px;}
.indexfrom{ padding: 40px 0.35rem;}
.indexfrom .cont{ display: block;}
.indexfrom .cont .two .img{ width: 100%;}
.indexfrom .cont .one, .indexfrom .cont .two{ overflow: hidden;}
.indexfrom .cont .two{ margin-top: 25px;}
.indexfrom .cont .one .text{ display: block;}
.indexfrom .cont .one .text .p{ margin: 0; padding: 0;}
.indexfrom .cont .one .text .r{ padding: 10px 0;}
.navCell{ display: block;}
.businessmap{ margin-top: 30px; height: 400px;}
.newslist .cont .right, .newsdatabox .right{ display: none;}
.indexbanner .indexbox .mer{ justify-content: center; flex-wrap: wrap;}
.indexbanner .indexbox .mer img{ height: 40px;}
.indexbanner .indexbox .mer .u{ font-size: 18px; margin: 15px 0 0 0; width: 100%;}
}
@media (max-width: 1460px) and (min-width: 1280px) {
.w1360{ width: 1200px;}
.abstractone .cont .left{ width: 660px;}
.abstractwo .list .li{ width: 590px;}
.abstractwo .list .li .text{ width: 300px;}
.addedbox .list .li .img{ width: 600px; height: 350px;}
.addedbox .list .li .text{ min-height: 350px;}
.addedbox .list .li .text{ width: calc(100% - 600px);}
.advicebox .right{ width: 825px;}
.enterprise .cont .li .text{ width: 535px;}
.indexboxcer .cont .right, .indexboxcer .cont .left{ width: 590px;}
.indexboxcer .cont .left .text{ width: 275px;}
.indexfrom .cont .one .img{ width: 510px;}
.indexfrom .cont .one .img img{ height: 100%; width: auto;}
.itembox .itemimg .left{ width: 530px;}
.joinboxer .list a{ width: 385px;}
.joinbox .cont .right{ width: 790px;}
.newsboxone .cont .text{ width: 610px;}
.newslist .cont .left, .newsdatabox .left{ width: 805px;}
.newslist .cont .left .li .text{ width: 650px;}
.newsdatabox .left .page .more a{ width: 570px;}
.searceboxtwo .cont .left{ width: 690px;}
.businessmap{ margin-top: 30px; height: 400px;}
}
@media (max-width: 1280px) and (min-width: 950px) {
.footer .cont{ align-items: flex-start;}
.footer .cont .left{ display: block;}
.footer .cont .left .m{ display: flex; justify-content: flex-start; margin-top: 3px;}
.footer .cont .left .m a{ margin-right: 15px;}
.footer .cont .left .li{ margin-bottom: 10px;}
.w1360{ width: 900px;}
.header .cont .logo img{ height: 40px;}
.header .nav .li{ margin-left: 20px;}
.abstractone .cont .left{ width: 500px;}
.abstractone .cont .right{ width: 380px;}
.abstractone .cont .right .p{ font-size: 66px;}
.abstractwo .list .li .img{ width: 160px; height: 200px;}
.abstractwo .list .li{ width: 440px;}
.abstractwo .list .li .text{ width: 230px;}
.abstractwo .list .li .text .p{ word-bread: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
.addedbox .list .li .img, .addedbox .list .li .text{ width: 50%; min-height: 260px;}
.addedbox .list .li .text .p{ word-bread: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: auto;}
.advicebox .right{ width: 535px;}
.enterprise .cont .li .text{ width: 380px;}
.indexboxcer .cont .left, .indexboxcer .cont .right{ width: 440px;}
.indexboxcer .cont .right .li a .p{ width: 310px;}
.indexboxcer .cont .left .text{ width: 210px;}
.indexboxcer .cont .left .img{ width: 220px;}
.indexfrom .cont .one .img, .indexfrom .cont .two .img{ width: 290px;}
.indexfrom .cont .one .img img, .indexfrom .cont .two .img img{ width: auto; height: 100%;}
.indexfrom .cont .one .text{ display: block;}
.indexfrom .cont .one .text .p{ margin: 10px 0 0 0; padding: 0;}
.itembox .itemimg .img{ width: 400px;}
.itembox .itemimg .left{ width: 450px;}
.joinboxer .top .p{ width: 610px;}
.joinboxer .list{ justify-content: space-between;}
.joinboxer .list a{ width: 440px; margin-right: 0;}
.joinbox .cont .right{ width: 530px;}
.newsboxone .cont .img{ width: 380px;}
.newsboxone .cont .text{ width: 490px;}
.newsboxone .cont .text .p{ word-bread: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.newsboxone .cont .text .h1{ overflow: hidden; white-space: nowrap; text-overflow : ellipsis;}
.newslist .cont .left, .newsdatabox .left{ width: 640px;}
.newslist .cont .left .li .text{ width: 480px;}
.newslist .cont .right, .newsdatabox .right{ width: 240px;}
.newsdatabox .left .page .more a{ width: 420px;}
.searceboxtwo .cont .left, .searceboxtwo .cont .right{ width: 430px;}
.businessmap{ margin-top: 30px; height: 400px;}
}
.newslist .cont .left .li .text .h1, .newsdatabox .left .page .more a i, .indexboxcer .cont .right .li a .p, .indexboxcer .cont .left .text .h1{ overflow: hidden; white-space: nowrap; text-overflow : ellipsis;}
.newslist .cont .left .li .text .p{ word-bread: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
@media (max-width: 750px){
.indexbanner .indexbox .img img.img2{ display: block;width: 100%;height: inherit;}
.indexbanner .indexbox .img img.img1{ display: none;}
.indexbanner .indexbox .img{ height: calc((100vw / 750) * 500);}
.indexbanner .indexbox .img img{
left: 0%;
transform: inherit;
}
.indexbanner .swiper-container-horizontal > .swiper-pagination-bullets{
display: none;
}
}

4791
public/static/web/css/style.css Executable file → Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

0
public/static/web/fonts/Helvetica.ttf Executable file → Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 706 KiB

After

Width:  |  Height:  |  Size: 706 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More