From 7d2668700b46c961346ad3f6d02cf24ca51eb567 Mon Sep 17 00:00:00 2001 From: cloud Date: Mon, 7 Dec 2020 02:16:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=80=E4=BB=A3=E7=A0=81=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=A0=BC=E5=BC=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/ajax.class.php | 8 +- admin/backups.class.php | 108 ++- admin/config.class.php | 2 +- admin/dzadsod.class.php | 40 +- admin/info_on.class.php | 291 +++--- admin/install.class.php | 83 +- admin/select.class.php | 281 +++--- admin/table_ajax.class.php | 89 +- admin/table_off.class.php | 250 ++--- admin/table_on.class.php | 88 +- admin/templates/contract.php | 118 +-- admin/templates/css/metinfo.css | 373 ++++---- admin/templates/customer.php | 51 +- admin/templates/dzadsod.php | 207 +++-- admin/templates/elevator.php | 59 +- admin/templates/index.php | 10 +- admin/templates/js/app.js | 20 +- admin/templates/js/applan.js | 254 ++--- admin/templates/js/elevator.js | 18 - admin/templates/js/own.js | 26 +- admin/templates/keylist.php | 39 +- admin/templates/launch.php | 131 +-- admin/templates/table.php | 15 +- admin/templates/uplaunch.php | 6 +- admin/templates/village.php | 8 +- admin/templates/workers.php | 18 +- admin/uninstall.class.php | 139 +-- include/class/appadmin.class.php | 458 ++++----- include/class/appweb.class.php | 364 ++++---- include/class/cloud.class.php | 141 +-- include/class/table_theme.class.php | 4 +- include/class/tabledata.class.php | 86 +- include/class/tsql.class.php | 301 +++--- include/function/appcmp.func.php | 71 +- include/traits/tdata.class.php | 266 +++--- include/traits/tlist.class.php | 476 +++++----- src/admin/index.class.php | 1331 ++++++++++++++------------- src/admin/templates/js/bmaps.ts | 14 +- src/admin/templates/js/index.d.ts | 34 +- src/include/traits/appcmp.class.php | 146 +-- src/update/update.class.php | 240 ++--- web/index.class.php | 41 +- web/select.class.php | 297 +++--- web/table_ajax.class.php | 93 +- web/templates/met/css/metinfo.css | 41 +- web/templates/met/foot.php | 76 +- web/templates/met/head.php | 14 +- web/templates/met/index.php | 3 +- web/templates/met/js/own.js | 111 +-- web/templates/met/table.php | 39 +- web/timing.class.php | 78 +- 51 files changed, 3925 insertions(+), 3532 deletions(-) delete mode 100644 admin/templates/js/elevator.js diff --git a/admin/ajax.class.php b/admin/ajax.class.php index 969c023..834d306 100644 --- a/admin/ajax.class.php +++ b/admin/ajax.class.php @@ -134,10 +134,10 @@ class ajax extends appadmin // 不可通过唯一索引新增和更新数据,因为他会先触发新增的触发器 // 先查询是否存在相应的广告位排期,存在则修改,相反为新增 - $enum = $this->tsql->table('schedule') - ->qfield('id') - ->where(['s_lid' => $slid, 's_enumber' => $ap_enumber]) - ->one(); + $enum = $this->tsql->table('schedule') + ->qfield('id') + ->where(['s_lid' => $slid, 's_enumber' => $ap_enumber]) + ->one(); if ($enum == false) { //判断广告位是否停用 if ($elevator['e_enable']) { diff --git a/admin/backups.class.php b/admin/backups.class.php index ecc14c2..1e88a3c 100644 --- a/admin/backups.class.php +++ b/admin/backups.class.php @@ -7,7 +7,8 @@ load::own_class('../traits/tlist'); load::own_class('../traits/tfield'); //表格 -class backups extends appadmin { +class backups extends appadmin +{ //备份字段 private $bsign = true; @@ -18,30 +19,31 @@ class backups extends appadmin { private $sqlk; //form数组 private $form = []; - + //info_on 快速URL private $own_name_info; private $bacname = ''; //默认开头 private $csvname = ''; //文件名 - private $title = []; //表格标头 - private $keys = []; //表格标头对应的键值 + private $title = []; //表格标头 + private $keys = []; //表格标头对应的键值 private $bactable = ''; //数据库名 private $bacconds = ''; //查询项以及排序 private $bacfield = ''; //查询字段 private $bacpages = 500; //每页查询条数 - - public function __construct() { - global $_M,$_YW; + + public function __construct() + { + global $_M, $_YW; parent::__construct(); $this->form = $_M['form']; - if($this->form['tname']){ - $this->tname = $this->form['tname']; - $this->sqlk = $_YW['k'][$this->tname]; + if ($this->form['tname']) { + $this->tname = $this->form['tname']; + $this->sqlk = $_YW['k'][ $this->tname ]; } - $this->own_name_info = $_M['url']['own_name'].'c=info_on&a=do'; + $this->own_name_info = $_M['url']['own_name'] . 'c=info_on&a=do'; } use tdata; @@ -49,10 +51,11 @@ class backups extends appadmin { use tlist; //表格数据 - public function doindex() { + public function doindex() + { global $_M; self::csvtitle(); - $this->bacname = '广告位'; + $this->bacname = '广告位'; self::csvname(); //输出头部 @@ -75,11 +78,11 @@ class backups extends appadmin { # 初始化mysql需要的参数 self::bactable(); # 获取数据总条数 - $total = self::tabletotal(); - $pages = ceil($total/$this->bacpages); - for ($i = 0; $i < $pages; $i++){ - $data = self::tabledata($i); - $y = 0; + $total = self::tabletotal(); + $pages = ceil($total / $this->bacpages); + for ($i = 0; $i < $pages; $i++) { + $data = self::tabledata($i); + $y = 0; $listnum = 1000; foreach ($data as $val) { //返回数据 @@ -92,7 +95,7 @@ class backups extends appadmin { flush(); $y = 0; } - $arr = self::arrzbm($val,'utf-8' , 'GBK'); + $arr = self::arrzbm($val, 'utf-8', 'GBK'); fputcsv($file, $arr); } } @@ -100,50 +103,53 @@ class backups extends appadmin { } //判断语句组合 - protected function bactable() { + protected function bactable() + { global $_M; - $this->bactable = self::td_sqlk(); - $this->bacfield = self::td_field(); + $this->bactable = self::td_sqlk(); + $this->bacfield = self::td_field(); - $where = self::td_where(); + $where = self::td_where(); parent::where_id($where); - if($where){ + if ($where) { $where = trim($where); if (strtolower(substr($where, 0, 5)) != 'where' && $where) $this->bacconds = " WHERE {$where} "; } //排序 - if($this->bacconds){ - $order = self::td_order(); + if ($this->bacconds) { + $order = self::td_order(); $this->bacconds .= " ORDER BY {$order} "; } return $this; } //计算总数 - protected function tabletotal() { + protected function tabletotal() + { global $_M; - $countsql = " SELECT COUNT(*) FROM {$this->bactable} {$this->bacconds} "; - if($this->multi_table) $countsql = " SELECT count(*) FROM (SELECT {$this->bacfield} FROM {$this->bactable} {$this->bacconds}) num "; - $result = DB::query($countsql); + $countsql = " SELECT COUNT(*) FROM {$this->bactable} {$this->bacconds} "; + if ($this->multi_table) $countsql = " SELECT count(*) FROM (SELECT {$this->bacfield} FROM {$this->bactable} {$this->bacconds}) num "; + $result = DB::query($countsql); $fetch_row = DB::fetch_row($result); return $fetch_row[0]; } //获取获取 - protected function tabledata($pages) { + protected function tabledata($pages) + { global $_M; - $cursize = $pages* $this->bacpages; + $cursize = $pages * $this->bacpages; //SQL查询 $result = DB::query("SELECT {$this->bacfield} FROM {$this->bactable} {$this->bacconds} LIMIT {$cursize},{$this->bacpages}"); - while($val = DB::fetch_array($result)){ - $data[] = $val; + while ($val = DB::fetch_array($result)) { + $data[] = $val; } //处理数组结果 foreach ($data as $val) { - $lists = self::{$this->tname}($val); - $baclist[] = array_intersect_key(self::striptags($lists),$this->title); + $lists = self::{$this->tname}($val); + $baclist[] = array_intersect_key(self::striptags($lists), $this->title); } return $baclist; } @@ -153,40 +159,44 @@ class backups extends appadmin { * 导入导出公用函数 * * ****************************************************************************** */ - - + + # 导入导出数组(保持和导入格式一样) - protected function csvtitle() { + protected function csvtitle() + { global $_M, $_YW; - $this->title = self::{'tf_'.$this->tname}(); - $this->keys = array_keys($this->title); + $this->title = self::{'tf_' . $this->tname}(); + $this->keys = array_keys($this->title); return $this; } //生成文件名 - public function csvname() { + public function csvname() + { global $_M, $_YW; - $date = date('Ymd', time()); - $filename = iconv("utf-8", "GBK", $this->bacname . $_M['lang'] . $date); + $date = date('Ymd', time()); + $filename = iconv("utf-8", "GBK", $this->bacname . $_M['lang'] . $date); $this->csvname = $filename . '.csv'; return $this; } //对数组的值进行转码并返回(一维数组) - public function arrzbm($arr, $u, $g) { + public function arrzbm($arr, $u, $g) + { global $_M, $_YW; foreach ($arr as $k => $v) { - $newarr[$k] = iconv($u, $g, $v); + $newarr[ $k ] = iconv($u, $g, $v); } return $newarr; } //删除html元素 - public function striptags($array = []) { + public function striptags($array = []) + { global $_M, $_YW; - $ret = []; + $ret = []; foreach ($array as $key => $str) { - $ret[$key] = strip_tags($str); + $ret[ $key ] = strip_tags($str); } return $ret; } diff --git a/admin/config.class.php b/admin/config.class.php index cbfb4ff..743b19f 100644 --- a/admin/config.class.php +++ b/admin/config.class.php @@ -59,7 +59,7 @@ class config extends appadmin if (empty($lang)) $lang = $_M['lang']; //程序运行必备 $para_a = ['tem_ida', 'tem_idb', 'tem_idc', 'openid']; - $para_b = ['mapkey','mapprov','mapcity','mapdist','maplng','maplat']; + $para_b = ['mapkey', 'mapprov', 'mapcity', 'mapdist', 'maplng', 'maplat']; $para = array_merge($para_a, $para_b); $arrs = array_intersect_key($form, array_combine($para, $para)); //对比数组 foreach ($arrs as $k => $v) { diff --git a/admin/dzadsod.class.php b/admin/dzadsod.class.php index 280bb18..ab62a6b 100644 --- a/admin/dzadsod.class.php +++ b/admin/dzadsod.class.php @@ -1,38 +1,44 @@ destruct){ - if(empty($this->appshow)) $this->appshow = 'app/'.$this->tname; - require $this->show($this->appshow,$this->input); + public function __destruct() + { + global $_M, $_YW; + if ($this->destruct) { + if (empty($this->appshow)) $this->appshow = 'app/' . $this->tname; + require $this->show($this->appshow, $this->input); } } - + /** * 综合设置 */ - public function dodzadsod() { + public function dodzadsod() + { global $_M; //统计总数 - $this->input['num'] = $this->cloud->summary(); + $this->input['num'] = $this->cloud->summary(); //到期数据 - parent::point('table_off','doindex','table'); + parent::point('table_off', 'doindex', 'table'); parent::appurl('noticeday');//endcontract - $this->input['table'] = load::own_class('table_theme','new')->start($this->tname)->send_all(1); - $this->appshow = 'app/dzadsod'; + $this->input['table'] = load::own_class('table_theme', 'new')->start($this->tname)->send_all(1); + $this->appshow = 'app/dzadsod'; } - + } + ?> \ No newline at end of file diff --git a/admin/info_on.class.php b/admin/info_on.class.php index d6b3218..49d4864 100644 --- a/admin/info_on.class.php +++ b/admin/info_on.class.php @@ -3,69 +3,69 @@ defined('IN_MET') or exit ('No permission'); load::own_class('appadmin'); -class info_on extends appadmin +class info_on extends appadmin { - + //设置参数 - protected $addparaurl = ''; - - public function __construct() + protected $addparaurl = ''; + + public function __construct() { - global $_M,$_YW; + global $_M, $_YW; parent::__construct(); - parent::point('info_off','doindex'); + parent::point('info_off', 'doindex'); } - public function __destruct() + public function __destruct() { - global $_M,$_YW; - if($this->destruct){ - if(empty($this->appshow)) $this->appshow = 'app/'.$this->tname; - require $this->show($this->appshow,$this->input); + global $_M, $_YW; + if ($this->destruct) { + if (empty($this->appshow)) $this->appshow = 'app/' . $this->tname; + require $this->show($this->appshow, $this->input); } } //场所 - public function dovillage() + public function dovillage() { - global $_M,$_YW; - parent::appnav(['table_on__dovillage','场所资料']); - parent::appurl(parent::tname(),['id'=>$_M['form']['id']]); - if($_M['form']['id']){ + global $_M, $_YW; + parent::appnav(['table_on__dovillage', '场所资料']); + parent::appurl(parent::tname(), ['id' => $_M['form']['id']]); + if ($_M['form']['id']) { $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id'=>$_M['form']['id']]) - ->one(); - }else{ + ->where(['id' => $_M['form']['id']]) + ->one(); + } else { //默认值 - $this->input['data']['v_province'] = '山东省'; - $this->input['data']['v_city'] = '泰安市'; - $this->input['data']['v_district'] = '泰山区'; + $this->input['data']['v_province'] = '山东省'; + $this->input['data']['v_city'] = '泰安市'; + $this->input['data']['v_district'] = '泰山区'; } //场所分类 - $para = $this->tsql->table('para')->where(['p_type' => 6])->all(); - parent::para_radio($para,'v_type',$this->input['data']['v_type'],$this->input['para']['v_type_radio']) - ->setparahtml(6,$this->input['para']['v_type_radio']); + $para = $this->tsql->table('para')->where(['p_type' => 6])->all(); + parent::para_radio($para, 'v_type', $this->input['data']['v_type'], $this->input['para']['v_type_radio']) + ->setparahtml(6, $this->input['para']['v_type_radio']); // 百度地图 - $this->input['mapkey'] = $_YW['c']['mapkey']; + $this->input['mapkey'] = $_YW['c']['mapkey']; //城市json $this->input['url']['city'] = $this->cloud->city_url(); } //企业 - public function docustomer() + public function docustomer() { - global $_M,$_YW; - parent::appnav(['table_on__docustomer','企业资料']); - parent::appurl(parent::tname(),['id'=>$_M['form']['id']]); - if($_M['form']['id']){ + global $_M, $_YW; + parent::appnav(['table_on__docustomer', '企业资料']); + parent::appurl(parent::tname(), ['id' => $_M['form']['id']]); + if ($_M['form']['id']) { $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id'=>$_M['form']['id']]) - ->one(); - }else{ + ->where(['id' => $_M['form']['id']]) + ->one(); + } else { //默认值 - $this->input['data']['c_province'] = '山东省'; - $this->input['data']['c_city'] = '泰安市'; - $this->input['data']['c_district'] = '泰山区'; + $this->input['data']['c_province'] = '山东省'; + $this->input['data']['c_city'] = '泰安市'; + $this->input['data']['c_district'] = '泰山区'; } //城市json @@ -73,176 +73,176 @@ class info_on extends appadmin } //企业 - public function doworkers() + public function doworkers() { - global $_M,$_YW; - parent::appnav(['table_on__doworkers','企业资料']); - parent::appurl(parent::tname(),['id'=>$_M['form']['id']]); - if($_M['form']['id']){ + global $_M, $_YW; + parent::appnav(['table_on__doworkers', '企业资料']); + parent::appurl(parent::tname(), ['id' => $_M['form']['id']]); + if ($_M['form']['id']) { $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id'=>$_M['form']['id']]) - ->one(); + ->where(['id' => $_M['form']['id']]) + ->one(); } //职务选择 - $para = $this->tsql->table('para')->where(['p_type' => 1])->all(); - parent::para_radio($para,'w_jid',$this->input['data']['w_jid'],$this->input['para']['radio']) - ->setparahtml(1,$this->input['para']['radio']); + $para = $this->tsql->table('para')->where(['p_type' => 1])->all(); + parent::para_radio($para, 'w_jid', $this->input['data']['w_jid'], $this->input['para']['radio']) + ->setparahtml(1, $this->input['para']['radio']); } //广告位 - public function doelevator() + public function doelevator() { - global $_M,$_YW; - parent::appnav(['table_on__doelevator','广告位']); - parent::appurl(parent::tname(),['id'=>$_M['form']['id']]); - if($_M['form']['id']){ - $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id'=>$_M['form']['id']]) - ->one(); - $this->input['data']['e_number_readonly'] = 'readonly'; + global $_M, $_YW; + parent::appnav(['table_on__doelevator', '广告位']); + parent::appurl(parent::tname(), ['id' => $_M['form']['id']]); + if ($_M['form']['id']) { + $this->input['data'] = $this->tsql->table($this->tname) + ->where(['id' => $_M['form']['id']]) + ->one(); + $this->input['data']['e_number_readonly'] = 'readonly'; // 二次编辑时采用单选 //门口方位 - $para = $this->tsql->table('para')->where(['p_type' => 3])->all(); - parent::para_radio($para,'e_bno',$this->input['data']['e_bno'],$this->input['para']['e_bno_radio']) - ->setparahtml(3,$this->input['para']['e_bno_radio']); + $para = $this->tsql->table('para')->where(['p_type' => 3])->all(); + parent::para_radio($para, 'e_bno', $this->input['data']['e_bno'], $this->input['para']['e_bno_radio']) + ->setparahtml(3, $this->input['para']['e_bno_radio']); //广告位置 - $para = $this->tsql->table('para')->where(['p_type' => 0])->all(); - parent::para_radio($para,'e_aps',$this->input['data']['e_aps'],$this->input['para']['e_aps_radio']) - ->setparahtml(0,$this->input['para']['e_aps_radio']); + $para = $this->tsql->table('para')->where(['p_type' => 0])->all(); + parent::para_radio($para, 'e_aps', $this->input['data']['e_aps'], $this->input['para']['e_aps_radio']) + ->setparahtml(0, $this->input['para']['e_aps_radio']); - }else{ + } else { //默认值 - $this->input['data']['e_vid'] = $_M['form']['e_vid']; - $this->input['data']['e_enable'] = 1; + $this->input['data']['e_vid'] = $_M['form']['e_vid']; + $this->input['data']['e_enable'] = 1; // 新增编辑时采用多选 //门口方位 - $para = $this->tsql->table('para')->where(['p_type' => 3])->all(); - parent::para_checkbox($para,'e_bno',$this->input['data']['e_bno'],$this->input['para']['e_bno_radio']) - ->setparahtml(3,$this->input['para']['e_bno_radio']); + $para = $this->tsql->table('para')->where(['p_type' => 3])->all(); + parent::para_checkbox($para, 'e_bno', $this->input['data']['e_bno'], $this->input['para']['e_bno_radio']) + ->setparahtml(3, $this->input['para']['e_bno_radio']); //广告位置 - $para = $this->tsql->table('para')->where(['p_type' => 0])->all(); - parent::para_checkbox($para,'e_aps',$this->input['data']['e_aps'],$this->input['para']['e_aps_radio']) - ->setparahtml(0,$this->input['para']['e_aps_radio']); + $para = $this->tsql->table('para')->where(['p_type' => 0])->all(); + parent::para_checkbox($para, 'e_aps', $this->input['data']['e_aps'], $this->input['para']['e_aps_radio']) + ->setparahtml(0, $this->input['para']['e_aps_radio']); } - + //场所名称URL - $this->input['remote_url'] = $_M['url']['own_name'].'c=ajax&a=doenumber&id='.$_M['form']['id']; - + $this->input['remote_url'] = $_M['url']['own_name'] . 'c=ajax&a=doenumber&id=' . $_M['form']['id']; + } //录入合同 - public function docontract() + public function docontract() { - global $_M,$_YW; - parent::appnav(['table_on__docontract','合同详情']); - parent::appurl(parent::tname(),['id'=>$_M['form']['id']]); - if($_M['form']['id']){ - $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id'=>$_M['form']['id']]) - ->one(); - $this->input['data']['h_number_readonly'] = 'readonly'; - }else{ + global $_M, $_YW; + parent::appnav(['table_on__docontract', '合同详情']); + parent::appurl(parent::tname(), ['id' => $_M['form']['id']]); + if ($_M['form']['id']) { + $this->input['data'] = $this->tsql->table($this->tname) + ->where(['id' => $_M['form']['id']]) + ->one(); + $this->input['data']['h_number_readonly'] = 'readonly'; + } else { //默认值 - $this->input['data']['e_vid'] = $_M['form']['e_vid']; - $this->input['data']['h_noticeday'] = 7; + $this->input['data']['e_vid'] = $_M['form']['e_vid']; + $this->input['data']['h_noticeday'] = 7; } - $para = $this->tsql->table('para')->where(['p_type' => 4])->all(); - parent::para_checkbox($para,'h_medium',$this->input['data']['h_medium'],$this->input['para']['h_medium_radio']) - ->setparahtml(4,$this->input['para']['h_medium_radio']); - - $this->input['remote_url'] = $_M['url']['own_name'].'c=ajax&a=dohnumber&id='.$_M['form']['id']; + $para = $this->tsql->table('para')->where(['p_type' => 4])->all(); + parent::para_checkbox($para, 'h_medium', $this->input['data']['h_medium'], $this->input['para']['h_medium_radio']) + ->setparahtml(4, $this->input['para']['h_medium_radio']); + + $this->input['remote_url'] = $_M['url']['own_name'] . 'c=ajax&a=dohnumber&id=' . $_M['form']['id']; } //广告投放 - public function dolaunch() + public function dolaunch() { - global $_M,$_YW; - $slid = $_M['form']['slid']; - parent::appnav(['table_on__dolaunch','广告投放']); - parent::appurl(parent::tname(),['slid'=>$slid]); + global $_M, $_YW; + $slid = $_M['form']['slid']; + parent::appnav(['table_on__dolaunch', '广告投放']); + parent::appurl(parent::tname(), ['slid' => $slid]); - $fzid = $_M['form']['fzid']; + $fzid = $_M['form']['fzid']; - if($slid){ + if ($slid) { // 编辑 $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id' => $slid]) - ->one(); - $contract = $this->tsql->table('contract') - ->where(['h_number' => $this->input['data']['l_hnumber']]) - ->one(); - }elseif($fzid){ + ->where(['id' => $slid]) + ->one(); + $contract = $this->tsql->table('contract') + ->where(['h_number' => $this->input['data']['l_hnumber']]) + ->one(); + } elseif ($fzid) { // 复制功能 $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id' => $fzid]) - ->one(); - $contract = $this->tsql->table('contract') - ->where(['h_number' => $this->input['data']['l_hnumber']]) - ->one(); + ->where(['id' => $fzid]) + ->one(); + $contract = $this->tsql->table('contract') + ->where(['h_number' => $this->input['data']['l_hnumber']]) + ->one(); // 注销掉不需要的属性 - unset($this->input['data']['id'],$this->input['data']['l_enumber'],$this->input['data']['l_schedule'],$this->input['data']['l_enable'],$this->input['data']['l_updatetime'],$this->input['data']['l_addtime']); - }else{ + unset($this->input['data']['id'], $this->input['data']['l_enumber'], $this->input['data']['l_schedule'], $this->input['data']['l_enable'], $this->input['data']['l_updatetime'], $this->input['data']['l_addtime']); + } else { //获取合同的值 $contract = $this->tsql->table('contract') - ->where(['id' => $_M['form']['cid']]) - ->one(); + ->where(['id' => $_M['form']['cid']]) + ->one(); //默认值 - $this->input['data']['l_hnumber'] = $contract['h_number']; - $this->input['data']['l_starttime'] = $contract['h_starttime']; - $this->input['data']['l_endtime'] = $contract['h_endtime']; + $this->input['data']['l_hnumber'] = $contract['h_number']; + $this->input['data']['l_starttime'] = $contract['h_starttime']; + $this->input['data']['l_endtime'] = $contract['h_endtime']; } //合同订单的时间 - $this->input['data']['h_starttime'] = $contract['h_starttime']; - $this->input['data']['h_endtime'] = $contract['h_endtime']; + $this->input['data']['h_starttime'] = $contract['h_starttime']; + $this->input['data']['h_endtime'] = $contract['h_endtime']; //获取公司名称 - $this->input['data']['h_cid'] = parent::customerlist($contract['h_cid']); - + $this->input['data']['h_cid'] = parent::customerlist($contract['h_cid']); + //合同状态 - $para = parent::paralist(2); - parent::para_radio($para,'l_schedule',$this->input['data']['l_schedule'],$this->input['para']['l_schedule_radio']) - ->setparahtml(2,$this->input['para']['l_schedule_radio']); + $para = parent::paralist(2); + parent::para_radio($para, 'l_schedule', $this->input['data']['l_schedule'], $this->input['para']['l_schedule_radio']) + ->setparahtml(2, $this->input['para']['l_schedule_radio']); //广告分类 - $para = parent::paralist(7); - parent::para_radio($para,'l_type',$this->input['data']['l_type'],$this->input['para']['l_type_radio']) - ->setparahtml(7,$this->input['para']['l_type_radio']); + $para = parent::paralist(7); + parent::para_radio($para, 'l_type', $this->input['data']['l_type'], $this->input['para']['l_type_radio']) + ->setparahtml(7, $this->input['para']['l_type_radio']); //表格数据 // ap_plan - $this->input['table'] = load::own_class('table_theme','new')->start('applan')->send_all(); - $this->input['table']['ajaxurl'] = $_M['url']['own_name']."c=table_ajax&a=doindex&tname=applan&slid=".$slid; - + $this->input['table'] = load::own_class('table_theme', 'new')->start('applan')->send_all(); + $this->input['table']['ajaxurl'] = $_M['url']['own_name'] . "c=table_ajax&a=doindex&tname=applan&slid=" . $slid; + } //新增巡查人员 - public function dokeylist() + public function dokeylist() { - global $_M,$_YW; - parent::appnav(['table_on__dokeylist','巡查人员']); - parent::appurl(parent::tname(),['id'=>$_M['form']['id']]); - if($_M['form']['id']){ + global $_M, $_YW; + parent::appnav(['table_on__dokeylist', '巡查人员']); + parent::appurl(parent::tname(), ['id' => $_M['form']['id']]); + if ($_M['form']['id']) { $this->input['data'] = $this->tsql->table($this->tname) - ->where(['id'=>$_M['form']['id']]) - ->one(); + ->where(['id' => $_M['form']['id']]) + ->one(); - $this->input['data']['k_passkey'] = base64_decode($this->input['data']['k_basekey']); - }else{ - $this->input['data']['k_state'] = 1; + $this->input['data']['k_passkey'] = base64_decode($this->input['data']['k_basekey']); + } else { + $this->input['data']['k_state'] = 1; } } // 调整广告位投放计划 - public function douplaunch() + public function douplaunch() { - global $_M,$_YW; - parent::appnav(['info_on__douplaunch','调整投放计划']); -// parent::appnav(['info_on__doelevators','调整投放计划']); - parent::appurl(parent::tname(),['e_number'=>$_M['form']['e_number']]); + global $_M, $_YW; + parent::appnav(['info_on__douplaunch', '调整投放计划']); + // parent::appnav(['info_on__doelevators','调整投放计划']); + parent::appurl(parent::tname(), ['e_number' => $_M['form']['e_number']]); // 先获取广告位编号,获取对应的位置信息 // 再获取 前 中 后排期 // 过期的只要最后一期,当前排期的,按照当天计算,然后罗列出预排的排期 @@ -258,4 +258,5 @@ class info_on extends appadmin } } + ?> \ No newline at end of file diff --git a/admin/install.class.php b/admin/install.class.php index fb9ad07..33ffc48 100644 --- a/admin/install.class.php +++ b/admin/install.class.php @@ -1,5 +1,6 @@ appno = mt_rand(2001,9999); //应用编号 + do { + $this->appno = mt_rand(2001, 9999); //应用编号 } while (self::sqlone('applist') != false); - $this->appver = '1.0'; //应用版本号 - $this->m_name = 'dzadsod'; - $this->m_class = 'index'; - $this->m_action = 'doindex'; - $this->appname = '道闸广告位管理'; //应用名称 - $this->info = '场所门口道闸广告位运营管理'; //应用描述 - $this->depend = ''; //应用依赖 - $this->target = 1; //是否支新窗口打开 - $this->display = 1; //是否显示应用图标 - $this->mlangok = 1; //是否支持多语言 + $this->appver = '1.0'; //应用版本号 + $this->m_name = 'dzadsod'; + $this->m_class = 'index'; + $this->m_action = 'doindex'; + $this->appname = '道闸广告位管理'; //应用名称 + $this->info = '场所门口道闸广告位运营管理'; //应用描述 + $this->depend = ''; //应用依赖 + $this->target = 1; //是否支新窗口打开 + $this->display = 1; //是否显示应用图标 + $this->mlangok = 1; //是否支持多语言 } - + //安装主方法 - public function dosql() { + public function dosql() + { global $_M; - $stall = self::sqlone('applist'," m_name='{$this->m_name}' "); - if(!$stall){ + $stall = self::sqlone('applist', " m_name='{$this->m_name}' "); + if (!$stall) { //系统表 self::appsql(); - }else{ + } else { } - return 'complete'; + return 'complete'; } //执行APP相关的表数据插入 - private function appsql() { + private function appsql() + { global $_M; - $time = time(); + $time = time(); //注册应用 - $field = " + $field = " `no`='{$this->appno}', `ver` = {$this->appver}, `m_name` = '{$this->m_name}', @@ -65,15 +69,15 @@ class install `display`='{$this->display}', `depend`='{$this->depend}', `mlangok`='{$this->mlangok}' "; - self::addsql('applist',$field); + self::addsql('applist', $field); /** - * 1、增加新表 - * name 配置名称 - * id 添加信息自动增加, - * value 配置名称值 - * lang 语言[后台] - **/ + * 1、增加新表 + * name 配置名称 + * id 添加信息自动增加, + * value 配置名称值 + * lang 语言[后台] + **/ $field = " `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(150) NOT NULL, `m_name` varchar(100) NOT NULL, @@ -81,26 +85,29 @@ class install `lang` varchar(50) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name_lang` (`name`,`m_name`,`lang`)"; - DB::query("CREATE TABLE `".$_M['config']['tablepre']."cloud_config` ( {$field} ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"); + DB::query("CREATE TABLE `" . $_M['config']['tablepre'] . "cloud_config` ( {$field} ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"); add_table('cloud_config'); } - + //公共查询方法 - private function sqlone($tname,$where = '') { + private function sqlone($tname, $where = '') + { global $_M; - $table = $_M['table'][$tname]; - if(!$where){ - $where = "no='{$this->appno}'"; + $table = $_M['table'][ $tname ]; + if (!$where) { + $where = "no='{$this->appno}'"; } return DB::get_one("select * from {$table} where {$where}"); } - + //公共写入方法 - private function addsql($tname,$field = '') { + private function addsql($tname, $field = '') + { global $_M; - $table = $_M['table'][$tname]; + $table = $_M['table'][ $tname ]; DB::query("INSERT INTO {$table} SET {$field}"); } } + ?> \ No newline at end of file diff --git a/admin/select.class.php b/admin/select.class.php index fbfa611..a075ee3 100644 --- a/admin/select.class.php +++ b/admin/select.class.php @@ -9,7 +9,9 @@ load::own_func('appcmp'); * 配置 * 包含其他功能初始化 */ -class select extends appadmin { + +class select extends appadmin +{ /* * @$querys string 搜索内容 @@ -25,7 +27,7 @@ class select extends appadmin { */ //搜索内容 - private $querys = ''; + private $querys = ''; //指定字段为值 private $fiend; //来源页面标记 @@ -40,250 +42,259 @@ class select extends appadmin { private $division; //sql判断条件 - private $where = ''; + private $where = ''; //返回的数组 - private $data = []; - - public function __construct() { - global $_M,$_YW; + private $data = []; + + public function __construct() + { + global $_M, $_YW; parent::__construct(); //指定表 - $this->tname = $_M['form']['tname']; + $this->tname = $_M['form']['tname']; //搜索内容 - $this->querys = $_M['form']['querys']; + $this->querys = $_M['form']['querys']; //以指定字段为值 - $this->fiend = $_M['form']['fiend']?:'id'; + $this->fiend = $_M['form']['fiend'] ?: 'id'; //来源 - $this->source = $_M['form']['source']; + $this->source = $_M['form']['source']; //是否显示全部 - $this->allnone = $_M['form']['allnone']; + $this->allnone = $_M['form']['allnone']; //判断条件 - $this->condition = $_M['form']['condition']; + $this->condition = $_M['form']['condition']; //默认值 - $this->default = $_M['form']['default']; + $this->default = $_M['form']['default']; //默认值分隔符 $this->division = $_M['form']['division']; } # select2 选项字段处理 - private function select_fiend($val) { - global $_M,$_YW; - $strarr = stringto_array($this->fiend,'|'); + private function select_fiend($val) + { + global $_M, $_YW; + $strarr = stringto_array($this->fiend, '|'); foreach ($strarr as $value) { - $arrstr[] = $val[$value]; + $arrstr[] = $val[ $value ]; } - return arrayto_string($arrstr,'|'); + return arrayto_string($arrstr, '|'); } - + # allnone 默认选项全部处理 - private function allnone() { - global $_M,$_YW; + private function allnone() + { + global $_M, $_YW; // 若不需要显示‘全部’值,则直接返回空 // 0 为不显示‘全部’,同时也在未搜索到结果的情况下 不 设置为可选值 // 1 为显示 显示‘全部’,同时也在未搜索结果的情况下 设置可选值 // 2 只显示‘全部’ // 3 只将未搜索到结果的情况下设置为可选值 - if(empty($this->allnone) || $this->allnone == '3') return false; + if (empty($this->allnone) || $this->allnone == '3') return false; //然后可根据来源标记进行处理 switch ($this->source) { -// case 'githooks': -// $initial[] = ['id' => 'newver','text'=>'自动部署至最新版本']; -// break; + // case 'githooks': + // $initial[] = ['id' => 'newver','text'=>'自动部署至最新版本']; + // break; default: - $initial[] = [ 'id' => '','text' => '全部' ]; + $initial[] = ['id' => '', 'text' => '全部']; break; } - $this->data[] = ["text" => '',"children" => $initial ]; + $this->data[] = ["text" => '', "children" => $initial]; } # 当未搜索到值是否将搜索结果设置为可选值 - private function children() { - global $_M,$_YW; + private function children() + { + global $_M, $_YW; // 判断是否要将搜索内容设置为可选值 - if(empty($this->allnone) || $this->allnone == '2' || strlen($this->querys) == 0) return false; + if (empty($this->allnone) || $this->allnone == '2' || strlen($this->querys) == 0) return false; // 要注意id的是否为可写入数据库 误区,若有些字段为数字 则会导致无法录入成功 // 后期可增加一个判断方式来处理这个误区 $this->data[] = [ - "text" => '', + "text" => '', "children" => [ - ['id'=> $this->querys,'text' => $this->querys] - ] + ['id' => $this->querys, 'text' => $this->querys] + ] ]; } - + # querys 处理 - private function querys() { - global $_M,$_YW; - if(strlen($this->querys) == 0) return false; + private function querys() + { + global $_M, $_YW; + if (strlen($this->querys) == 0) return false; switch ($this->tname) { - case 'village': - $this->where = " v_name LIKE '%{$this->querys}%' "; - break; - case 'customer': - $this->where = " c_allname LIKE '%{$this->querys}%' "; - break; - case 'workers': - $this->where = " w_name LIKE '%{$this->querys}%' OR w_tel LIKE '%{$this->querys}%' "; - break; - case 'contract': - $this->where = " h_number LIKE '%{$this->querys}%' "; - break; - case 'launch': - $this->where = " l_title LIKE '%{$this->querys}%' "; - break; - case 'weuser': - $nickname = urlencode($this->querys); - $this->where = " nickname LIKE '%{$nickname}%' "; - break; - case 'para': - $this->where = " p_name LIKE '%{$this->querys}%' OR p_value LIKE '%{$this->querys}%' "; - break; - default: - break; + case 'village': + $this->where = " v_name LIKE '%{$this->querys}%' "; + break; + case 'customer': + $this->where = " c_allname LIKE '%{$this->querys}%' "; + break; + case 'workers': + $this->where = " w_name LIKE '%{$this->querys}%' OR w_tel LIKE '%{$this->querys}%' "; + break; + case 'contract': + $this->where = " h_number LIKE '%{$this->querys}%' "; + break; + case 'launch': + $this->where = " l_title LIKE '%{$this->querys}%' "; + break; + case 'weuser': + $nickname = urlencode($this->querys); + $this->where = " nickname LIKE '%{$nickname}%' "; + break; + case 'para': + $this->where = " p_name LIKE '%{$this->querys}%' OR p_value LIKE '%{$this->querys}%' "; + break; + default: + break; } } # condition 处理 - private function condition() { - global $_M,$_YW; - if(empty($this->condition)) return false; + private function condition() + { + global $_M, $_YW; + if (empty($this->condition)) return false; // 进行处理 - $condition = stringto_array($this->condition,'|||','$$$'); + $condition = stringto_array($this->condition, '|||', '$$$'); foreach ($condition as $value) { - list($key,$val) = $value; + list($key, $val) = $value; $valstr[] = " {$key} = '{$val}' "; } - $valstr = arrayto_string($valstr,' AND '); - if(strlen($valstr) > 0){ - if(!empty($this->where)) $this->where = " ({$this->where}) AND "; - $this->where .= $valstr; + $valstr = arrayto_string($valstr, ' AND '); + if (strlen($valstr) > 0) { + if (!empty($this->where)) $this->where = " ({$this->where}) AND "; + $this->where .= $valstr; } } # 选项值的组成样式 - private function valuet($val) { - global $_M,$_YW; + private function valuet($val) + { + global $_M, $_YW; switch ($this->tname) { - case 'village': - $fiend = [$val['v_name'],$val['v_province'].$val['v_city'].$val['v_district'].$val['v_address']]; - break; - case 'customer': - $fiend = [$val['c_name'],$val['c_allname'],$val['c_province'].$val['c_city'].$val['c_district'].$val['c_address']]; - break; - case 'workers': - $fiend = [$val['w_name'],$val['w_tel']]; - break; - case 'contract': - $fiend = [$val['h_number']]; - break; - case 'launch': - $fiend = [$val['l_title'],$val['l_hnumber']]; - break; - case 'weuser': - $sex = ['未知','男','女']; - $fiend = [$val['nickname'],$sex[$val['sex']] ]; - break; - case 'para': - $fiend = [$val['p_name']]; -// $fiend = [$val['p_value']]; - break; - default: - break; + case 'village': + $fiend = [$val['v_name'], $val['v_province'] . $val['v_city'] . $val['v_district'] . $val['v_address']]; + break; + case 'customer': + $fiend = [$val['c_name'], $val['c_allname'], $val['c_province'] . $val['c_city'] . $val['c_district'] . $val['c_address']]; + break; + case 'workers': + $fiend = [$val['w_name'], $val['w_tel']]; + break; + case 'contract': + $fiend = [$val['h_number']]; + break; + case 'launch': + $fiend = [$val['l_title'], $val['l_hnumber']]; + break; + case 'weuser': + $sex = ['未知', '男', '女']; + $fiend = [$val['nickname'], $sex[ $val['sex'] ]]; + break; + case 'para': + $fiend = [$val['p_name']]; + // $fiend = [$val['p_value']]; + break; + default: + break; } - $text = arrayto_string($fiend,' / '); + $text = arrayto_string($fiend, ' / '); return $text; } //编号字段,根据此字段进行编号处理 - private function charter() { - global $_M,$_YW; + private function charter() + { + global $_M, $_YW; switch ($this->tname) { case 'village': - $fiend = 'v_name'; + $fiend = 'v_name'; break; case 'customer': - $fiend = 'c_name'; + $fiend = 'c_name'; break; case 'workers': - $fiend = 'w_name'; + $fiend = 'w_name'; break; case 'contract': - $fiend = 'h_number'; + $fiend = 'h_number'; break; case 'launch': - $fiend = 'l_title'; + $fiend = 'l_title'; break; case 'weuser': - $fiend = 'nickname'; + $fiend = 'nickname'; break; case 'para': - $fiend = 'p_name'; + $fiend = 'p_name'; break; - + default: break; } return $fiend; } - - + + // 查看场所名称列表 - public function doselect() { - global $_M,$_YW; + public function doselect() + { + global $_M, $_YW; //判断条件 self::querys(); //带入的判断条件 self::condition(); //编号的字段 - $fiend = self::charter(); - + $fiend = self::charter(); + //查询 - $array = $this->tsql->table($this->tname)->where($this->where)->order('id DESC')->all('id'); -// $sqltsr = $this->tsql->query(); + $array = $this->tsql->table($this->tname)->where($this->where)->order('id DESC')->all('id'); + // $sqltsr = $this->tsql->query(); foreach ($array as $val) { - if($this->tname == 'weuser'){ - $val['nickname'] = urldecode($val['nickname']); + if ($this->tname == 'weuser') { + $val['nickname'] = urldecode($val['nickname']); } - $letter = getstrcharter($val[$fiend]); - $selectlist[$letter][] = $val; + $letter = getstrcharter($val[ $fiend ]); + $selectlist[ $letter ][] = $val; } - + //是否显示全部 self::allnone(); //是否将搜索内容作为结果 self::children(); //处理结果 - foreach ($selectlist as $key => $val){ + foreach ($selectlist as $key => $val) { $arr = []; foreach ($val as $v) { - $valid = self::select_fiend($v); + $valid = self::select_fiend($v); //判断是否只输出默认值 - if(strlen($this->default) > 0){ + if (strlen($this->default) > 0) { $default = stringto_array($this->default, $this->division); - if(!in_array($valid, $default,true)) continue; + if (!in_array($valid, $default, true)) continue; } //组成选项 - $arr[] = ['id' => $valid, 'text' => self::valuet($v)]; + $arr[] = ['id' => $valid, 'text' => self::valuet($v)]; } - $this->data[] = ["text" => $key,"children" => $arr]; + $this->data[] = ["text" => $key, "children" => $arr]; } //当值不存在时 - if(!count($this->data)){ + if (!count($this->data)) { //输出没有搜索到结果 - $this->data = [["text" => $this->querys == ''?'检索不到相关信息':"检索不到 {$this->querys} 相关信息","children" => [] ]]; - }else{ + $this->data = [["text" => $this->querys == '' ? '检索不到相关信息' : "检索不到 {$this->querys} 相关信息", "children" => []]]; + } else { //对数组排序A-ZZ - $text = array_column($this->data, 'text'); - array_multisort($text,SORT_ASC,$this->data); + $text = array_column($this->data, 'text'); + array_multisort($text, SORT_ASC, $this->data); } echo jsoncallback(['results' => $this->data]); } - - + + } ?> \ No newline at end of file diff --git a/admin/table_ajax.class.php b/admin/table_ajax.class.php index d7c000e..e7519b8 100644 --- a/admin/table_ajax.class.php +++ b/admin/table_ajax.class.php @@ -7,7 +7,8 @@ load::own_class('../traits/tlist'); load::own_class('../traits/tfield'); //表格 -class table_ajax extends appadmin { +class table_ajax extends appadmin +{ //非备份,正常字段即可 private $bsign = false; @@ -18,47 +19,49 @@ class table_ajax extends appadmin { private $sqlk; //form数组 private $form = []; - + //info_on 快速URL private $own_name_info; private $own_name_table; - - public function __construct() { - global $_M,$_YW; + + public function __construct() + { + global $_M, $_YW; parent::__construct(); $this->form = $_M['form']; - if($this->form['tname']){ - $this->tname = $this->form['tname']; - $this->sqlk = $_YW['k'][$this->tname]; + if ($this->form['tname']) { + $this->tname = $this->form['tname']; + $this->sqlk = $_YW['k'][ $this->tname ]; } - $this->own_name_info = $_M['url']['own_name'].'c=info_on&a=do'; - $this->own_name_table = $_M['url']['own_name'].'c=table_on&a=do'; + $this->own_name_info = $_M['url']['own_name'] . 'c=info_on&a=do'; + $this->own_name_table = $_M['url']['own_name'] . 'c=table_on&a=do'; } //表格数据 - public function doindex() { + public function doindex() + { global $_M; //加载表格数据获取类 $table = load::own_class('tabledata', 'new'); - $field = self::td_field(); - $sqlk = self::td_sqlk(); - $where = self::td_where(); - $order = self::td_order(); + $field = self::td_field(); + $sqlk = self::td_sqlk(); + $where = self::td_where(); + $order = self::td_order(); /*查询表*/ - if($where){ + if ($where) { $conds .= " WHERE {$where} "; } - if($order){ + if ($order) { $conds .= " ORDER BY {$order} "; } //整理查询条件 $query = "SELECT {$field} FROM {$sqlk} {$conds} "; - + //获取数据 - $data = $table->getdata($sqlk, $field, $where, $order,$query,$this->multi_table); + $data = $table->getdata($sqlk, $field, $where, $order, $query, $this->multi_table); //数据整理 - $array = self::sqlarr($data); + $array = self::sqlarr($data); //返回数据 $table->rdata($array); } @@ -69,28 +72,30 @@ class table_ajax extends appadmin { * 【列出】 * 返回数据数组 */ - private function sqlarr($data = []) { + private function sqlarr($data = []) + { global $_M; -// if(in_array($this->tname,$this->k_name)){ - foreach ($data as $val) { - self::output($val); - $array[] = $this->list; - } - return $array; -// }else{ -// return false; -// } + // if(in_array($this->tname,$this->k_name)){ + foreach ($data as $val) { + self::output($val); + $array[] = $this->list; + } + return $array; + // }else{ + // return false; + // } } /* * 【新行】 * 新增行分发 */ - public function do_table_add_list(){ + public function do_table_add_list() + { global $_M; - $val = ['id' => 'new-'.$this->form['new_id'], 'p_type' => $this->form['p_type']]; - if(in_array($this->tname,$this->k_name)){ - self::output($val,'checked=""'); + $val = ['id' => 'new-' . $this->form['new_id'], 'p_type' => $this->form['p_type']]; + if (in_array($this->tname, $this->k_name)) { + self::output($val, 'checked=""'); } self::addlist($val); } @@ -99,11 +104,12 @@ class table_ajax extends appadmin { * 【新行】 * 生成文件新增行 */ - private function addlist($val) { + private function addlist($val) + { global $_M; $metinfo = ''; - foreach ($this->list as $v){ - $metinfo .= ''.$v.''; + foreach ($this->list as $v) { + $metinfo .= '' . $v . ''; } echo "{$metinfo}"; } @@ -112,10 +118,11 @@ class table_ajax extends appadmin { use tlist; //公用的输出 - protected function output($val,$checked = '') { - global $_M,$_YW; - $array = self::{$this->tname}($val,$checked); - $this->list = array(); + protected function output($val, $checked = '') + { + global $_M, $_YW; + $array = self::{$this->tname}($val, $checked); + $this->list = array(); foreach ($array as $value) { $this->list[] = $value; } diff --git a/admin/table_off.class.php b/admin/table_off.class.php index 145ab73..41aa8a3 100644 --- a/admin/table_off.class.php +++ b/admin/table_off.class.php @@ -4,11 +4,12 @@ defined('IN_MET') or exit ('No permission'); load::own_class('appadmin'); //表格 -class table_off extends appadmin { +class table_off extends appadmin +{ //获取的ID private $allid; - + //表名 private $sqlk; @@ -17,39 +18,40 @@ class table_off extends appadmin { //跳转URL private $returl = ''; //参数 - private $para = []; - - public function __construct() + private $para = []; + + public function __construct() { - global $_M,$_YW; + global $_M, $_YW; parent::__construct(); - $this->tname = $_M['form']['tname']; - $this->sqlk = $_YW['k'][$this->tname]; + $this->tname = $_M['form']['tname']; + $this->sqlk = $_YW['k'][ $this->tname ]; } - public function __destruct() + public function __destruct() { - global $_M,$_YW; - if($this->destruct){ + global $_M, $_YW; + if ($this->destruct) { switch ($this->tname) { case 'para': $this->para = [ 'p_type' => $_M['form']['p_type'] ]; break; - + default: break; } - if(count($this->para)) $para = '&'.http_build_query($this->para); - turnover($this->returl?:$_M['url']['own_name'] . 'c=table_on&a=do'.$this->tname.$para, $this->tips); + if (count($this->para)) $para = '&' . http_build_query($this->para); + turnover($this->returl ?: $_M['url']['own_name'] . 'c=table_on&a=do' . $this->tname . $para, $this->tips); } } - + //主方法 - public function doindex(){ - global $_M,$_YW; - $this->allid = array_filter(explode(',', $_M['form']['all_id'])); + public function doindex() + { + global $_M, $_YW; + $this->allid = array_filter(explode(',', $_M['form']['all_id'])); switch ($_M['form']['submit_type']) { case 'delet': self::delet(); @@ -71,97 +73,102 @@ class table_off extends appadmin { default: break; } - - if($_M['form']['method'] == 'ajax') { + + if ($_M['form']['method'] == 'ajax') { $this->destruct = false; - echo jsoncallback(['code' => $this->tsql->error()?1:0 ]); + echo jsoncallback(['code' => $this->tsql->error() ? 1 : 0]); } } //保存 - private function save() { - global $_M,$_YW; + private function save() + { + global $_M, $_YW; foreach ($this->allid as $id) { - if($id){ - $field = self::info($id); - if(is_number($id)){ + if ($id) { + $field = self::info($id); + if (is_number($id)) { $this->tsql->table($this->tname) - ->field($field) - ->where(" id = '{$id}' ") - ->upd(); - } else { + ->field($field) + ->where(" id = '{$id}' ") + ->upd(); + } else { $this->tsql->table($this->tname) - ->field($field) - ->add(); + ->field($field) + ->add(); } } } } //删除 - private function delet() { - global $_M,$_YW; + private function delet() + { + global $_M, $_YW; foreach ($this->allid as $id) { - if($id){ + if ($id) { //删除关联表 - $ret = self::todel($id); - if($ret == false) continue; + $ret = self::todel($id); + if ($ret == false) continue; //删除本表 - $where = " id = '{$id}' "; + $where = " id = '{$id}' "; $this->tsql->table($this->tname) - ->where($where) - ->del(); + ->where($where) + ->del(); } } } //调整广告位状态 - private function enable($type = true) { - global $_M,$_YW; - $enable = $_M['form']['submit_type'] == 'enableon' || $_M['form']['submit_type'] == 'enable_on'?1:0; - $fid = $type?'e_vid':'id'; + private function enable($type = true) + { + global $_M, $_YW; + $enable = $_M['form']['submit_type'] == 'enableon' || $_M['form']['submit_type'] == 'enable_on' ? 1 : 0; + $fid = $type ? 'e_vid' : 'id'; foreach ($this->allid as $id) { - if($id){ + if ($id) { $this->tsql->table('elevator') - ->field(['e_enable' => $enable]) - ->where([$fid => $id]) - ->upd(); + ->field(['e_enable' => $enable]) + ->where([$fid => $id]) + ->upd(); } } } //ajax单独调整 - private function typeonoff() { - global $_M,$_YW; - $field = $_M['form']['field']; - $special = "ABS({$field}-1)"; + private function typeonoff() + { + global $_M, $_YW; + $field = $_M['form']['field']; + $special = "ABS({$field}-1)"; - $array = [$field => $special]; - $field_id = 'id'; + $array = [$field => $special]; + $field_id = 'id'; foreach ($this->allid as $id) { - if($id){ + if ($id) { $this->tsql->table($this->tname) - ->special($special) - ->field($array) - ->where([$field_id => $id]) - ->upd(); + ->special($special) + ->field($array) + ->where([$field_id => $id]) + ->upd(); } } } - + //保存信息 - private function info($id) { - global $_M,$_YW; + private function info($id) + { + global $_M, $_YW; $lang = ''; switch ($this->tname) { case 'para': - $info = [ - 'p_type' => $_M['form']['p_type-'.$id], - 'p_order' => $_M['form']['p_order-'.$id], - 'p_name' => $_M['form']['p_name-'.$id], - 'p_value' => $_M['form']['p_value-'.$id], - 'p_text' => $_M['form']['p_text-'.$id] + $info = [ + 'p_type' => $_M['form'][ 'p_type-' . $id ], + 'p_order' => $_M['form'][ 'p_order-' . $id ], + 'p_name' => $_M['form'][ 'p_name-' . $id ], + 'p_value' => $_M['form'][ 'p_value-' . $id ], + 'p_text' => $_M['form'][ 'p_text-' . $id ] ]; break; default: @@ -171,51 +178,52 @@ class table_off extends appadmin { } //删除其他的关联表 - private function todel($id) { - global $_M,$_YW; - $ret = true; + private function todel($id) + { + global $_M, $_YW; + $ret = true; switch ($this->tname) { case 'contract': //获取合同编号 - $contract = $this->tsql->table('contract') - ->where(['id' => $id]) - ->one(); + $contract = $this->tsql->table('contract') + ->where(['id' => $id]) + ->one(); //删除相关计划 $this->tsql->table('launch') - ->where(['l_hnumber' => $contract['h_number'] ]) - ->del(); + ->where(['l_hnumber' => $contract['h_number']]) + ->del(); //删除相关排期 $this->tsql->table('schedule') - ->where(['s_hnumber' => $contract['h_number'] ]) - ->del(); + ->where(['s_hnumber' => $contract['h_number']]) + ->del(); break; case 'launch': //删除相关排期 $this->tsql->table('schedule') - ->where(['s_lid' => $id ]) - ->del(); + ->where(['s_lid' => $id]) + ->del(); break; case 'para': //删除相关的光广告位 - if($_M['form']['p_num-'.$id] > 0) $ret = false; + if ($_M['form'][ 'p_num-' . $id ] > 0) $ret = false; break; case 'village': //查询需要删除的广告位编号 - $elevator = $this->tsql->table('elevator') - ->where(['e_vid' => $id]) - ->all(); + $elevator = $this->tsql->table('elevator') + ->where(['e_vid' => $id]) + ->all(); - $e_number = array_column($elevator, 'e_number'); + $e_number = array_column($elevator, 'e_number'); self::del_elevator($e_number); break; case 'elevator': - $elevator = $this->tsql->table('elevator') - ->where(['id' => $id]) - ->one(); + $elevator = $this->tsql->table('elevator') + ->where(['id' => $id]) + ->one(); //删除相关排期广告位编号 - self::del_elevator($elevator['e_number']); + self::del_elevator($elevator['e_number']); break; - + default: break; } @@ -223,64 +231,66 @@ class table_off extends appadmin { } // 删除排期广告位编号 - private function del_elevator($num) { - $dellist = []; - if(!is_array($num)) $num = [$num]; - $num = array_unique($num); - if(count($num) == 0) return false; + private function del_elevator($num) + { + $dellist = []; + if (!is_array($num)) $num = [$num]; + $num = array_unique($num); + if (count($num) == 0) return false; // 广告位数组 - - foreach ($num as $e_number){ + + foreach ($num as $e_number) { // 删除广告位 $this->tsql->table('elevator') - ->where(['e_number' => $e_number ]) - ->del(); + ->where(['e_number' => $e_number]) + ->del(); //删除相关排期缓存 $this->tsql->table('schedule') - ->where(['s_enumber' => $e_number ]) - ->del(); + ->where(['s_enumber' => $e_number]) + ->del(); // 整理数据 $launch = false; // 选择的广告位 $launch = $this->tsql->table('launch') - ->where(" find_in_set( '{$e_number}', l_selectenum ) ") - ->all(); - + ->where(" find_in_set( '{$e_number}', l_selectenum ) ") + ->all(); + // 处理的核心函数 - $col = function($launch,$field) use(&$dellist,$e_number){ - foreach ($launch as $val){ - $dellist[$val['id']]['info'] = $val; - $dellist[$val['id']][$field][] = $e_number; + $col = function ($launch, $field) use (&$dellist, $e_number) { + foreach ($launch as $val) { + $dellist[ $val['id'] ]['info'] = $val; + $dellist[ $val['id'] ][ $field ][] = $e_number; } }; - if($launch != false) $col($launch,'l_selectenum'); + if ($launch != false) $col($launch, 'l_selectenum'); // 排期成功的广告位 $launch = $this->tsql->table('launch') - ->where(" find_in_set( '{$e_number}', l_enumber ) ") - ->all(); - if($launch != false) $col($launch,'l_enumber'); + ->where(" find_in_set( '{$e_number}', l_enumber ) ") + ->all(); + if ($launch != false) $col($launch, 'l_enumber'); } - - if(count($dellist) == 0) return false; + + if (count($dellist) == 0) return false; // 对值进行统计并修改 - foreach ($dellist as $id => $la){ + foreach ($dellist as $id => $la) { // 处理的核心函数 - $enum = function($field) use($la){ + $enum = function ($field) use ($la) { // 拿到la内需要去掉的值 数组 // 再通过对比获得差异值,并去重,再转成字符串 - return is_array($la[$field])?arrayto_string(array_unique(array_diff(stringto_array($la['info'][$field],','),$la[$field])),','):$la['info'][$field]; + return is_array($la[ $field ]) ? arrayto_string(array_unique(array_diff(stringto_array($la['info'][ $field ], ','), $la[ $field ])), ',') : $la['info'][ $field ]; }; //mysql $this->tsql->table('launch') - ->field(['l_selectenum' => $enum('l_selectenum'), 'l_enumber' => $enum('l_enumber')]) - ->where(['id' => $id]) - ->upd(); + ->field(['l_selectenum' => $enum('l_selectenum'), 'l_enumber' => $enum('l_enumber')]) + ->where(['id' => $id]) + ->upd(); } } } + ?> \ No newline at end of file diff --git a/admin/table_on.class.php b/admin/table_on.class.php index 615f8c4..4e67816 100644 --- a/admin/table_on.class.php +++ b/admin/table_on.class.php @@ -3,133 +3,133 @@ defined('IN_MET') or exit ('No permission'); load::own_class('appadmin'); -class table_on extends appadmin { +class table_on extends appadmin +{ // 表格标题 private $table_theme; // 等待完善 - - public function __construct() + + public function __construct() { - global $_M,$_YW; + global $_M, $_YW; parent::__construct(); parent::appnav(); - parent::point('table_off','doindex','table'); - $this->table_theme = load::own_class('table_theme','new'); + parent::point('table_off', 'doindex', 'table'); + $this->table_theme = load::own_class('table_theme', 'new'); } - - + + //输出模板内容 - public function __destruct() + public function __destruct() { - global $_M,$_YW; - if($this->destruct){ - if(empty($this->appshow)) $this->appshow = 'app/'.$this->tname; - require $this->show($this->appshow,$this->input); + global $_M, $_YW; + if ($this->destruct) { + if (empty($this->appshow)) $this->appshow = 'app/' . $this->tname; + require $this->show($this->appshow, $this->input); } } //广告位统计 - public function doelevator() + public function doelevator() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } - + //场所统计 - public function dovillage() + public function dovillage() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } //广告合同关联表 - public function doschedule() + public function doschedule() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(); } //合同统计 - public function docontract() + public function docontract() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(); } //企业资料 - public function docustomer() + public function docustomer() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } //企业联系人 - public function doworkers() + public function doworkers() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } //投放计划单 - public function dolaunch() + public function dolaunch() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } //参数配置 - public function dopara() + public function dopara() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(); } // 场所统计 - public function dovillages() + public function dovillages() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); - $vs_daytime = date('Y-m-d',time()); + $vs_daytime = date('Y-m-d', time()); $this->input['top']['tips'] = '

闲置个数、排期中的个数、到期个数、预排的个数计算说明

    -
  1. 若选择时间区段,若两者缺少其中一个则自动补全为当天时间('.$vs_daytime.'
  2. -
  3. 闲置:默认计算当天('.$vs_daytime.')的广告位闲置个数,选择时间区段后,计算的可以满足时间区段的广告位个数。(仅计算启用的广告位)
  4. -
  5. 排期中:默认计算当天('.$vs_daytime.')排期中的个数,选择时间区段后,计算的在时间区段内有排期的广告位个数。
  6. -
  7. 到期:默认以当天('.$vs_daytime.')为准,计算7天后到期的个数,选择时间区段后,计算的在时间区段内到期的广告位个数。
  8. -
  9. 预排:默认计算当天('.$vs_daytime.')以后才开始的排期广告位个数,选择时间区段后,计算的是时间区段内排期状态为预排的广告位个数。
  10. +
  11. 若选择时间区段,若两者缺少其中一个则自动补全为当天时间(' . $vs_daytime . '
  12. +
  13. 闲置:默认计算当天(' . $vs_daytime . ')的广告位闲置个数,选择时间区段后,计算的可以满足时间区段的广告位个数。(仅计算启用的广告位)
  14. +
  15. 排期中:默认计算当天(' . $vs_daytime . ')排期中的个数,选择时间区段后,计算的在时间区段内有排期的广告位个数。
  16. +
  17. 到期:默认以当天(' . $vs_daytime . ')为准,计算7天后到期的个数,选择时间区段后,计算的在时间区段内到期的广告位个数。
  18. +
  19. 预排:默认计算当天(' . $vs_daytime . ')以后才开始的排期广告位个数,选择时间区段后,计算的是时间区段内排期状态为预排的广告位个数。
'; - $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); + $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } // 场所统计 - public function doelevators() + public function doelevators() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(1); } // 巡查密钥列表 - public function dokeylist() + public function dokeylist() { - global $_M,$_YW; + global $_M, $_YW; parent::appurl(parent::tname()); $this->input['table'] = $this->table_theme->start($this->tname)->send_all(); } - } ?> \ No newline at end of file diff --git a/admin/templates/contract.php b/admin/templates/contract.php index bbdc46e..e9ee33f 100644 --- a/admin/templates/contract.php +++ b/admin/templates/contract.php @@ -5,44 +5,44 @@ $met_title = $data['met_title'];
- - {$data.nav_sub} + + {$data.nav_sub}

{$data.met_title}

- + > 保存后不可二次修改,合同唯一编号,方便后期查询处理
-
- @@ -51,15 +51,15 @@ $met_title = $data['met_title'];
- @@ -70,15 +70,15 @@ $met_title = $data['met_title'];
周期 - + -- - +
@@ -89,21 +89,21 @@ $met_title = $data['met_title'];
开始时间 - + 结束时间 - +
影响后期的投放计划时间区间
@@ -117,7 +117,8 @@ $met_title = $data['met_title'];
- + 可设置多个通知天数,输入完成一个回车后再输入下一个
@@ -125,11 +126,11 @@ $met_title = $data['met_title'];
- +
合同总额方便后期统计 @@ -138,7 +139,8 @@ $met_title = $data['met_title'];
- + 简短文字描述备注。
diff --git a/admin/templates/css/metinfo.css b/admin/templates/css/metinfo.css index 67da87b..5ad6e10 100644 --- a/admin/templates/css/metinfo.css +++ b/admin/templates/css/metinfo.css @@ -7,16 +7,16 @@ background-color: #fff; border: 0 solid transparent; border-radius: .286rem; - -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05); - box-shadow: 0 1px 1px rgba(0,0,0,.05) + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05) } -.panel-content>.row { +.panel-content > .row { padding-left: 30px; padding-right: 30px } -.panel-content>.row>[class*=col-] { +.panel-content > .row > [class*=col-] { padding-left: 30px; padding-right: 30px } @@ -29,11 +29,11 @@ border-top-left-radius: .214rem } -.panel-heading+.alert { +.panel-heading + .alert { border-radius: 0 } -.panel-heading>.nav-tabs { +.panel-heading > .nav-tabs { border-bottom: none } @@ -42,24 +42,24 @@ background-color: #62a8ea } -.panel-heading-tab>.nav-tabs .nav-link { +.panel-heading-tab > .nav-tabs .nav-link { color: #fff } -.panel-heading-tab>.nav-tabs .nav-link.hover,.panel-heading-tab>.nav-tabs .nav-link:hover { +.panel-heading-tab > .nav-tabs .nav-link.hover, .panel-heading-tab > .nav-tabs .nav-link:hover { color: #76838f } -.panel-heading-tab>.nav-tabs .nav-link.active,.panel-heading-tab>.nav-tabs .nav-link:active { +.panel-heading-tab > .nav-tabs .nav-link.active, .panel-heading-tab > .nav-tabs .nav-link:active { color: #76838f; background-color: #fff } -.panel-heading+.nav-tabs { +.panel-heading + .nav-tabs { margin-top: -.715rem } -.panel-heading>.dropdown .dropdown-toggle { +.panel-heading > .dropdown .dropdown-toggle { color: inherit } @@ -74,19 +74,19 @@ clear: both } -.panel-heading+.panel-body { +.panel-heading + .panel-body { padding-top: 0 } -.panel-body .h1:first-child,.panel-body .h2:first-child,.panel-body .h3:first-child,.panel-body .h4:first-child,.panel-body .h5:first-child,.panel-body .h6:first-child,.panel-body h1:first-child,.panel-body h2:first-child,.panel-body h3:first-child,.panel-body h4:first-child,.panel-body h5:first-child,.panel-body h6:first-child { +.panel-body .h1:first-child, .panel-body .h2:first-child, .panel-body .h3:first-child, .panel-body .h4:first-child, .panel-body .h5:first-child, .panel-body .h6:first-child, .panel-body h1:first-child, .panel-body h2:first-child, .panel-body h3:first-child, .panel-body h4:first-child, .panel-body h5:first-child, .panel-body h6:first-child { margin-top: 0 } -.panel-body>:last-child { +.panel-body > :last-child { margin-bottom: 0 } -.panel-body>.list-group-dividered:only-child>.list-group-item:last-child { +.panel-body > .list-group-dividered:only-child > .list-group-item:last-child { border-bottom-color: transparent } @@ -98,7 +98,7 @@ border-bottom-left-radius: .214rem } -.table+.panel-footer { +.table + .panel-footer { padding-top: 15px; border-color: #e4eaec } @@ -112,19 +112,19 @@ color: #37474f } -.panel-title>.icon { +.panel-title > .icon { margin-right: 10px } -.panel-title>.tag { +.panel-title > .tag { margin-left: 10px } -.panel-title .small,.panel-title small { +.panel-title .small, .panel-title small { color: #76838f } -.panel-title>.small>a,.panel-title>a,.panel-title>small>a { +.panel-title > .small > a, .panel-title > a, .panel-title > small > a { color: inherit } @@ -140,17 +140,17 @@ position: absolute; right: 30px; top: 50%; - -webkit-transform: translate(0,-50%); - -ms-transform: translate(0,-50%); - -o-transform: translate(0,-50%); - transform: translate(0,-50%); + -webkit-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + transform: translate(0, -50%); margin: auto; z-index: 1 } @media (max-width: 479px) { .panel-actions { - right:20px + right: 20px } } @@ -158,12 +158,12 @@ ul .panel-actions { list-style: none } -ul .panel-actions>li { +ul .panel-actions > li { display: inline-block; margin-left: 8px } -ul .panel-actions>li:first-child { +ul .panel-actions > li:first-child { margin-left: 0 } @@ -209,12 +209,12 @@ ul.panel-actions { list-style: none } -ul.panel-actions>li { +ul.panel-actions > li { display: inline-block; margin-left: 8px } -ul.panel-actions>li:first-child { +ul.panel-actions > li:first-child { margin-left: 0 } @@ -240,7 +240,7 @@ ul.panel-actions>li:first-child { text-align: center } -.panel-toolbar .btn.active,.panel-toolbar .btn:active,.panel-toolbar .btn:hover { +.panel-toolbar .btn.active, .panel-toolbar .btn:active, .panel-toolbar .btn:hover { color: #76838f } @@ -260,19 +260,19 @@ ul.panel-actions>li:first-child { position: absolute; top: 50%; left: 50%; - -webkit-transform: translate(-50%,-50%); - -ms-transform: translate(-50%,-50%); - -o-transform: translate(-50%,-50%); - transform: translate(-50%,-50%) + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%) } -.panel>:not(.panel-loading):not(.collapsing) { +.panel > :not(.panel-loading):not(.collapsing) { -webkit-transition: opacity .3s; -o-transition: opacity .3s; transition: opacity .3s } -.panel.is-loading>:not(.panel-loading) { +.panel.is-loading > :not(.panel-loading) { opacity: .3 } @@ -294,23 +294,23 @@ ul.panel-actions>li:first-child { } .panel-body.scrollable-vertical { - padding-left: 0!important; - padding-right: 0!important + padding-left: 0 !important; + padding-right: 0 !important } -.panel-body.scrollable-vertical>.scrollable-container>.scrollable-content { +.panel-body.scrollable-vertical > .scrollable-container > .scrollable-content { padding-left: 30px; padding-right: 30px } @media (max-width: 479px) { - .panel-body.scrollable-vertical>.scrollable-container>.scrollable-content { - padding-left:20px; + .panel-body.scrollable-vertical > .scrollable-container > .scrollable-content { + padding-left: 20px; padding-right: 20px } } -.panel-body.scrollable-vertical>.scrollable-bar { +.panel-body.scrollable-vertical > .scrollable-bar { margin-top: 0; margin-bottom: 30px; height: -webkit-calc(100% - 30px); @@ -321,28 +321,28 @@ ul.panel-actions>li:first-child { transform: translateX(-26px) } -.panel-bordered>.panel-body.scrollable-vertical>.scrollable-bar { +.panel-bordered > .panel-body.scrollable-vertical > .scrollable-bar { margin-bottom: 30px; height: -webkit-calc(100% - 60px); height: calc(100% - 60px) } .panel-body.scrollable-horizontal { - padding-top: 0!important; - padding-bottom: 0!important + padding-top: 0 !important; + padding-bottom: 0 !important } -.panel-body.scrollable-horizontal>.scrollable-container>.scrollable-content { +.panel-body.scrollable-horizontal > .scrollable-container > .scrollable-content { padding-top: 0; padding-bottom: 30px } -.panel-bordered>.panel-body.scrollable-horizontal>.scrollable-container>.scrollable-content { +.panel-bordered > .panel-body.scrollable-horizontal > .scrollable-container > .scrollable-content { padding-top: 30px; padding-bottom: 30px } -.panel-body.scrollable-horizontal>.scrollable-bar { +.panel-body.scrollable-horizontal > .scrollable-bar { margin-left: 0; margin-right: 30px; width: -webkit-calc(100% - 60px); @@ -354,38 +354,38 @@ ul.panel-actions>li:first-child { } @media (max-width: 479px) { - .panel-body.scrollable-horizontal>.scrollable-bar { - margin-right:20px; + .panel-body.scrollable-horizontal > .scrollable-bar { + margin-right: 20px; width: -webkit-calc(100% - 40px); width: calc(100% - 40px) } } -.panel-bordered>.panel-body.scrollable-horizontal>.scrollable-bar { +.panel-bordered > .panel-body.scrollable-horizontal > .scrollable-bar { -webkit-transform: translateY(-26px); -ms-transform: translateY(-26px); -o-transform: translateY(-26px); transform: translateY(-26px) } -.panel-bordered>.panel-heading { +.panel-bordered > .panel-heading { border-bottom: 1px solid #e4eaec } -.panel-bordered>.panel-heading>.panel-title { +.panel-bordered > .panel-heading > .panel-title { padding-bottom: 20px } -.panel-bordered>.panel-footer { +.panel-bordered > .panel-footer { border-top: 1px solid #e4eaec; padding-top: 15px } -.panel-bordered>.panel-body { +.panel-bordered > .panel-body { padding-top: 30px } -.panel-bordered>.table>tbody:first-child>tr:first-child td,.panel-bordered>.table>tbody:first-child>tr:first-child th { +.panel-bordered > .table > tbody:first-child > tr:first-child td, .panel-bordered > .table > tbody:first-child > tr:first-child th { border-top: 0 } @@ -397,20 +397,20 @@ ul.panel-actions>li:first-child { cursor: move } -.panel>.nav-tabs-vertical .nav-tabs { +.panel > .nav-tabs-vertical .nav-tabs { margin-left: -1px } -.panel>.nav-tabs-vertical .nav-tabs>li>a { +.panel > .nav-tabs-vertical .nav-tabs > li > a { border-left: none; border-radius: 0 } -.panel>.nav-tabs-vertical .nav-tabs.nav-tabs-reverse { +.panel > .nav-tabs-vertical .nav-tabs.nav-tabs-reverse { margin-right: -1px } -.panel>.nav-tabs-vertical .nav-tabs.nav-tabs-reverse>li>a { +.panel > .nav-tabs-vertical .nav-tabs.nav-tabs-reverse > li > a { border-right: none; border-radius: 0 } @@ -450,170 +450,171 @@ ul.panel-actions>li:first-child { height: 0 } -.panel>.alert { +.panel > .alert { padding-left: 30px; padding-right: 30px } -.panel>.alert-dismissible { +.panel > .alert-dismissible { padding-right: 50px } @media (max-width: 479px) { - .panel>.alert { - padding-left:20px; + .panel > .alert { + padding-left: 20px; padding-right: 20px } - .panel>.alert-dismissible { + .panel > .alert-dismissible { padding-right: 40px } } -.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table { +.panel > .panel-collapse > .table, .panel > .table, .panel > .table-responsive > .table { margin-bottom: 0 } -.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption { +.panel > .panel-collapse > .table caption, .panel > .table caption, .panel > .table-responsive > .table caption { padding-left: 30px 30px; padding-right: 30px 30px } -.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child { +.panel > .table-responsive:first-child > .table:first-child, .panel > .table:first-child { border-top-right-radius: .214rem; border-top-left-radius: .214rem } -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child { +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table:first-child > thead:first-child > tr:first-child { border-top-left-radius: .214rem; border-top-right-radius: .214rem } -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child { +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child { border-top-left-radius: .214rem } -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child { +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child { border-top-right-radius: .214rem } -.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child { +.panel > .table-responsive:last-child > .table:last-child, .panel > .table:last-child { border-bottom-right-radius: .214rem; border-bottom-left-radius: .214rem } -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child { +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-left-radius: .214rem; border-bottom-right-radius: .214rem } -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child { +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: .214rem } -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child { +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: .214rem } -.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body { +.panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #e4eaec } -.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th { +.panel > .table > tbody:first-child > tr:first-child td, .panel > .table > tbody:first-child > tr:first-child th { border-top: 0 } -.panel>.table-bordered,.panel>.table-responsive>.table-bordered { +.panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0 } -.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child { +.panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child { border-left: 0 } -.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child { +.panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child { border-right: 0 } -.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th { +.panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th { border-bottom: 0 } -.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th { +.panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0 } -.panel>.table-responsive { +.panel > .table-responsive { border: 0; margin-bottom: 0 } -.panel>.table-responsive .table>tbody>tr>td:first-child,.panel>.table-responsive .table>tbody>tr>th:first-child,.panel>.table-responsive .table>tfoot>tr>td:first-child,.panel>.table-responsive .table>tfoot>tr>th:first-child,.panel>.table-responsive .table>thead>tr>td:first-child,.panel>.table-responsive .table>thead>tr>th:first-child,.panel>.table-responsive .table>tr>td:first-child,.panel>.table-responsive .table>tr>th:first-child,.panel>.table>tbody>tr>td:first-child,.panel>.table>tbody>tr>th:first-child,.panel>.table>tfoot>tr>td:first-child,.panel>.table>tfoot>tr>th:first-child,.panel>.table>thead>tr>td:first-child,.panel>.table>thead>tr>th:first-child,.panel>.table>tr>td:first-child,.panel>.table>tr>th:first-child { +.panel > .table-responsive .table > tbody > tr > td:first-child, .panel > .table-responsive .table > tbody > tr > th:first-child, .panel > .table-responsive .table > tfoot > tr > td:first-child, .panel > .table-responsive .table > tfoot > tr > th:first-child, .panel > .table-responsive .table > thead > tr > td:first-child, .panel > .table-responsive .table > thead > tr > th:first-child, .panel > .table-responsive .table > tr > td:first-child, .panel > .table-responsive .table > tr > th:first-child, .panel > .table > tbody > tr > td:first-child, .panel > .table > tbody > tr > th:first-child, .panel > .table > tfoot > tr > td:first-child, .panel > .table > tfoot > tr > th:first-child, .panel > .table > thead > tr > td:first-child, .panel > .table > thead > tr > th:first-child, .panel > .table > tr > td:first-child, .panel > .table > tr > th:first-child { padding-left: 30px } @media (max-width: 479px) { - .panel>.table-responsive .table>tbody>tr>td:first-child,.panel>.table-responsive .table>tbody>tr>th:first-child,.panel>.table-responsive .table>tfoot>tr>td:first-child,.panel>.table-responsive .table>tfoot>tr>th:first-child,.panel>.table-responsive .table>thead>tr>td:first-child,.panel>.table-responsive .table>thead>tr>th:first-child,.panel>.table-responsive .table>tr>td:first-child,.panel>.table-responsive .table>tr>th:first-child,.panel>.table>tbody>tr>td:first-child,.panel>.table>tbody>tr>th:first-child,.panel>.table>tfoot>tr>td:first-child,.panel>.table>tfoot>tr>th:first-child,.panel>.table>thead>tr>td:first-child,.panel>.table>thead>tr>th:first-child,.panel>.table>tr>td:first-child,.panel>.table>tr>th:first-child { - padding-left:20px + .panel > .table-responsive .table > tbody > tr > td:first-child, .panel > .table-responsive .table > tbody > tr > th:first-child, .panel > .table-responsive .table > tfoot > tr > td:first-child, .panel > .table-responsive .table > tfoot > tr > th:first-child, .panel > .table-responsive .table > thead > tr > td:first-child, .panel > .table-responsive .table > thead > tr > th:first-child, .panel > .table-responsive .table > tr > td:first-child, .panel > .table-responsive .table > tr > th:first-child, .panel > .table > tbody > tr > td:first-child, .panel > .table > tbody > tr > th:first-child, .panel > .table > tfoot > tr > td:first-child, .panel > .table > tfoot > tr > th:first-child, .panel > .table > thead > tr > td:first-child, .panel > .table > thead > tr > th:first-child, .panel > .table > tr > td:first-child, .panel > .table > tr > th:first-child { + padding-left: 20px } } -.panel>.table-responsive .table>tbody>tr>td:last-child,.panel>.table-responsive .table>tbody>tr>th:last-child,.panel>.table-responsive .table>tfoot>tr>td:last-child,.panel>.table-responsive .table>tfoot>tr>th:last-child,.panel>.table-responsive .table>thead>tr>td:last-child,.panel>.table-responsive .table>thead>tr>th:last-child,.panel>.table-responsive .table>tr>td:last-child,.panel>.table-responsive .table>tr>th:last-child,.panel>.table>tbody>tr>td:last-child,.panel>.table>tbody>tr>th:last-child,.panel>.table>tfoot>tr>td:last-child,.panel>.table>tfoot>tr>th:last-child,.panel>.table>thead>tr>td:last-child,.panel>.table>thead>tr>th:last-child,.panel>.table>tr>td:last-child,.panel>.table>tr>th:last-child { +.panel > .table-responsive .table > tbody > tr > td:last-child, .panel > .table-responsive .table > tbody > tr > th:last-child, .panel > .table-responsive .table > tfoot > tr > td:last-child, .panel > .table-responsive .table > tfoot > tr > th:last-child, .panel > .table-responsive .table > thead > tr > td:last-child, .panel > .table-responsive .table > thead > tr > th:last-child, .panel > .table-responsive .table > tr > td:last-child, .panel > .table-responsive .table > tr > th:last-child, .panel > .table > tbody > tr > td:last-child, .panel > .table > tbody > tr > th:last-child, .panel > .table > tfoot > tr > td:last-child, .panel > .table > tfoot > tr > th:last-child, .panel > .table > thead > tr > td:last-child, .panel > .table > thead > tr > th:last-child, .panel > .table > tr > td:last-child, .panel > .table > tr > th:last-child { padding-right: 30px } @media (max-width: 479px) { - .panel>.table-responsive .table>tbody>tr>td:last-child,.panel>.table-responsive .table>tbody>tr>th:last-child,.panel>.table-responsive .table>tfoot>tr>td:last-child,.panel>.table-responsive .table>tfoot>tr>th:last-child,.panel>.table-responsive .table>thead>tr>td:last-child,.panel>.table-responsive .table>thead>tr>th:last-child,.panel>.table-responsive .table>tr>td:last-child,.panel>.table-responsive .table>tr>th:last-child,.panel>.table>tbody>tr>td:last-child,.panel>.table>tbody>tr>th:last-child,.panel>.table>tfoot>tr>td:last-child,.panel>.table>tfoot>tr>th:last-child,.panel>.table>thead>tr>td:last-child,.panel>.table>thead>tr>th:last-child,.panel>.table>tr>td:last-child,.panel>.table>tr>th:last-child { - padding-right:20px + .panel > .table-responsive .table > tbody > tr > td:last-child, .panel > .table-responsive .table > tbody > tr > th:last-child, .panel > .table-responsive .table > tfoot > tr > td:last-child, .panel > .table-responsive .table > tfoot > tr > th:last-child, .panel > .table-responsive .table > thead > tr > td:last-child, .panel > .table-responsive .table > thead > tr > th:last-child, .panel > .table-responsive .table > tr > td:last-child, .panel > .table-responsive .table > tr > th:last-child, .panel > .table > tbody > tr > td:last-child, .panel > .table > tbody > tr > th:last-child, .panel > .table > tfoot > tr > td:last-child, .panel > .table > tfoot > tr > th:last-child, .panel > .table > thead > tr > td:last-child, .panel > .table > thead > tr > th:last-child, .panel > .table > tr > td:last-child, .panel > .table > tr > th:last-child { + padding-right: 20px } } -.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th { +.panel > .table > tbody:first-child > tr:first-child td, .panel > .table > tbody:first-child > tr:first-child th { border-top: 1px solid #e4eaec } -.panel>.list-group,.panel>.panel-collapse>.list-group { +.panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0 } -.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item,.panel>.panel-body>.list-group .list-group-item{ + +.panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item, .panel > .panel-body > .list-group .list-group-item { border-width: 1px 0; border-radius: 0 } -.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child { +.panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-right-radius: .214rem; border-top-left-radius: .214rem } -.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child { +.panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: .214rem; border-bottom-left-radius: .214rem } -.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child { +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-right-radius: 0; border-top-left-radius: 0 } -.panel>.list-group .list-group-item { +.panel > .list-group .list-group-item { padding-right: 30px; padding-left: 30px } @media (max-width: 479px) { - .panel>.list-group .list-group-item { - padding-left:20px; + .panel > .list-group .list-group-item { + padding-left: 20px; padding-right: 20px } } -.panel-heading+.list-group .list-group-item:first-child { +.panel-heading + .list-group .list-group-item:first-child { border-top-width: 0 } -.list-group+.panel-footer { +.list-group + .panel-footer { border-top-width: 0 } @@ -624,7 +625,7 @@ ul.panel-actions>li:first-child { box-shadow: none } -.panel.panel-transparent>.panel-footer,.panel.panel-transparent>.panel-heading { +.panel.panel-transparent > .panel-footer, .panel.panel-transparent > .panel-heading { border-color: transparent } @@ -634,7 +635,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-default .panel-heading+.panel-collapse>.panel-body { +.panel-default .panel-heading + .panel-collapse > .panel-body { border-top-color: #e4eaec } @@ -651,7 +652,7 @@ ul.panel-actions>li:first-child { color: #76838f } -.panel-default .panel-footer+.panel-collapse>.panel-body { +.panel-default .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #e4eaec } @@ -665,7 +666,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-primary .panel-heading+.panel-collapse>.panel-body { +.panel-primary .panel-heading + .panel-collapse > .panel-body { border-top-color: #62a8ea } @@ -682,7 +683,7 @@ ul.panel-actions>li:first-child { color: #fff } -.panel-primary .panel-footer+.panel-collapse>.panel-body { +.panel-primary .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #62a8ea } @@ -692,7 +693,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-success .panel-heading+.panel-collapse>.panel-body { +.panel-success .panel-heading + .panel-collapse > .panel-body { border-top-color: #3dae6a } @@ -709,7 +710,7 @@ ul.panel-actions>li:first-child { color: #fff } -.panel-success .panel-footer+.panel-collapse>.panel-body { +.panel-success .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #3dae6a } @@ -719,7 +720,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-info .panel-heading+.panel-collapse>.panel-body { +.panel-info .panel-heading + .panel-collapse > .panel-body { border-top-color: #3bcdc4 } @@ -736,7 +737,7 @@ ul.panel-actions>li:first-child { color: #fff } -.panel-info .panel-footer+.panel-collapse>.panel-body { +.panel-info .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #3bcdc4 } @@ -746,7 +747,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-warning .panel-heading+.panel-collapse>.panel-body { +.panel-warning .panel-heading + .panel-collapse > .panel-body { border-top-color: #f18246 } @@ -763,7 +764,7 @@ ul.panel-actions>li:first-child { color: #fff } -.panel-warning .panel-footer+.panel-collapse>.panel-body { +.panel-warning .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #f18246 } @@ -773,7 +774,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-danger .panel-heading+.panel-collapse>.panel-body { +.panel-danger .panel-heading + .panel-collapse > .panel-body { border-top-color: #f85974 } @@ -790,7 +791,7 @@ ul.panel-actions>li:first-child { color: #fff } -.panel-danger .panel-footer+.panel-collapse>.panel-body { +.panel-danger .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #f85974 } @@ -800,7 +801,7 @@ ul.panel-actions>li:first-child { border: none } -.panel-dark .panel-heading+.panel-collapse>.panel-body { +.panel-dark .panel-heading + .panel-collapse > .panel-body { border-top-color: #526069 } @@ -817,7 +818,7 @@ ul.panel-actions>li:first-child { color: #fff } -.panel-dark .panel-footer+.panel-collapse>.panel-body { +.panel-dark .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #526069 } @@ -935,7 +936,7 @@ ul.panel-actions>li:first-child { @media (max-width: 767px) { .panel-actions { - position:relative; + position: relative; top: auto; right: auto; display: block; @@ -952,16 +953,16 @@ ul.panel-actions>li:first-child { top: 50%; right: 30px; padding: 0; - -webkit-transform: translate(0,-50%); - -ms-transform: translate(0,-50%); - -o-transform: translate(0,-50%); - transform: translate(0,-50%) + -webkit-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + transform: translate(0, -50%) } } @media (max-width: 479px) { .panel-actions { - padding-left:20px + padding-left: 20px } .panel-actions-keep { @@ -976,7 +977,7 @@ ul.panel-actions>li:first-child { display: none } - .panel-body,.panel-footer,.panel-title { + .panel-body, .panel-footer, .panel-title { padding-left: 20px; padding-right: 20px } @@ -993,7 +994,7 @@ ul.panel-actions>li:first-child { box-shadow: none } -.panel-group .panel+.panel { +.panel-group .panel + .panel { margin-top: 10px } @@ -1003,7 +1004,7 @@ ul.panel-actions>li:first-child { font-size: 1rem } -.panel-group .panel-title:after,.panel-group .panel-title:before { +.panel-group .panel-title:after, .panel-group .panel-title:before { position: absolute; top: 15px; right: 30px; @@ -1045,7 +1046,7 @@ ul.panel-actions>li:first-child { opacity: 1 } -.panel-group .panel-title:focus,.panel-group .panel-title:hover { +.panel-group .panel-title:focus, .panel-group .panel-title:hover { color: #76838f; text-decoration: none } @@ -1058,11 +1059,11 @@ ul.panel-actions>li:first-child { border-bottom: 0 } -.panel-group .panel-heading+.panel-collapse { +.panel-group .panel-heading + .panel-collapse { margin: 0 } -.panel-group .panel-heading+.panel-collapse>.list-group { +.panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #e4eaec } @@ -1074,7 +1075,7 @@ ul.panel-actions>li:first-child { border-top: 0 } -.panel-group .panel-footer+.panel-collapse .panel-body { +.panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #e4eaec } @@ -1090,7 +1091,7 @@ ul.panel-actions>li:first-child { border-radius: 0 0 .286rem .286rem } -.panel-group-continuous .panel+.panel { +.panel-group-continuous .panel + .panel { margin-top: 0; border-top: 1px solid #e4eaec } @@ -1104,7 +1105,7 @@ ul.panel-actions>li:first-child { padding-bottom: 10px } -.panel-group-simple .panel-title:after,.panel-group-simple .panel-title:before { +.panel-group-simple .panel-title:after, .panel-group-simple .panel-title:before { right: 5px } @@ -1114,21 +1115,30 @@ ul.panel-actions>li:first-child { padding-top: 10px } -.panel-group-simple .panel+.panel { +.panel-group-simple .panel + .panel { margin-top: 0 } - /*自定义样式*/ -html, body{height: 100%;} -.app-sub-nav .nav-tabs{border-bottom:none;} -.btn-cursor-pointer{cursor:pointer;} +html, body { + height: 100%; +} + +.app-sub-nav .nav-tabs { + border-bottom: none; +} + +.btn-cursor-pointer { + cursor: pointer; +} + /*把脑残替换的恢复过来*/ .form-inline .form-group { margin-right: 20px; } -@media (min-width: 480px){ + +@media (min-width: 480px) { .form-inline .form-group, .form-inline .form-control { display: inline-block; margin-bottom: 0; @@ -1136,28 +1146,34 @@ html, body{height: 100%;} vertical-align: middle; } } + /*在帮脑残修复一下*/ table .form-inline .form-group { margin-right: 0px; } -@media (min-width: 480px){ + +@media (min-width: 480px) { table .form-inline .form-group, table .form-inline .form-control { display: block; width: 100%; } } -.modal-open .select2-container{ - z-index:auto!important; + +.modal-open .select2-container { + z-index: auto !important; } + /*CSS*/ -@media (min-width: 767px){ - .metadmin-fmbx dl .city-css .form-control{ +@media (min-width: 767px) { + .metadmin-fmbx dl .city-css .form-control { width: auto; } - .metadmin-fmbx dl .city-css .form-control{ + + .metadmin-fmbx dl .city-css .form-control { width: auto; } - .appmain #showmap{ + + .appmain #showmap { width: 60%; } } @@ -1169,31 +1185,32 @@ table .form-inline .form-group { height: 60px; margin-left: -15px; width: 100%; - margin-bottom:0; + margin-bottom: 0; } -.line_through{ +.line_through { text-decoration: line-through; } .float-left { - float: left!important + float: left !important } .float-right { - float: right!important + float: right !important } .float-none { - float: none!important + float: none !important } /*统计总页面*/ .page-profile .card-shadow { - -webkit-box-shadow:none; - box-shadow:none; + -webkit-box-shadow: none; + box-shadow: none; } + .page-profile .card-footer { padding: 0px; border-radius: .215rem; @@ -1201,7 +1218,7 @@ table .form-inline .form-group { border-top: none; } -.page-profile .card-footer>div>div{ +.page-profile .card-footer > div > div { padding: 10px 0px; } @@ -1218,47 +1235,63 @@ table .form-inline .form-group { } /*表格头部排序样式*/ -.orderby-arrow.desc:before{ content: '\2193'; font-weight: bold; margin-left: 5px;} -.orderby-arrow.asc:before{ content: '\2191'; font-weight: bold; margin-left: 5px;} +.orderby-arrow.desc:before { + content: '\2193'; + font-weight: bold; + margin-left: 5px; +} -.metadmin-main table td .loader-ellipsis{ +.orderby-arrow.asc:before { + content: '\2191'; + font-weight: bold; + margin-left: 5px; +} + +.metadmin-main table td .loader-ellipsis { width: 0.45em; height: 0.45em; font-size: 15px; } -.h-700{ +.h-700 { height: 700px; } -li.village-list-item > button.close{ - position: static!important; +li.village-list-item > button.close { + position: static !important; font-size: 1.2rem; outline: none; } -.filterList li.village-list-item > button.close{ + +.filterList li.village-list-item > button.close { margin-top: 10px; } -li.village-list-item > button.close:hover{ + +li.village-list-item > button.close:hover { color: #f2353c; } -li.village-list-item>h5{ - font-weight: 600!important; - display: inline-block!important; + +li.village-list-item > h5 { + font-weight: 600 !important; + display: inline-block !important; margin-bottom: .5rem; } -li.village-list-item>p{ - margin-bottom: 0!important; + +li.village-list-item > p { + margin-bottom: 0 !important; } -.villageList li.village-list-item>h5{ - cursor:pointer + +.villageList li.village-list-item > h5 { + cursor: pointer } -.btn-group-toggle-menu{ - left: -49px!important; + +.btn-group-toggle-menu { + left: -49px !important; padding: 5px; min-width: 120px; } -.btn-group-toggle-menu a, .btn-group-toggle-menu button{ + +.btn-group-toggle-menu a, .btn-group-toggle-menu button { display: inherit; - border-radius:0; + border-radius: 0; } \ No newline at end of file diff --git a/admin/templates/customer.php b/admin/templates/customer.php index c48f22e..f825ff7 100644 --- a/admin/templates/customer.php +++ b/admin/templates/customer.php @@ -5,21 +5,21 @@ $met_title = $data['met_title'];
- - {$data.nav_sub} + + {$data.nav_sub}

{$data.met_title}

- @@ -28,10 +28,10 @@ $met_title = $data['met_title'];
- + 企业简短名称
@@ -39,15 +39,16 @@ $met_title = $data['met_title'];
- - -
-
@@ -55,23 +56,25 @@ $met_title = $data['met_title'];
- +
- + 可备注多个联系电话,输入完成一个回车后再输入下一个
- + 简短文字描述备注。
diff --git a/admin/templates/dzadsod.php b/admin/templates/dzadsod.php index 6a3a27e..dbbff31 100644 --- a/admin/templates/dzadsod.php +++ b/admin/templates/dzadsod.php @@ -3,117 +3,124 @@ defined('IN_MET') or exit('No permission'); $met_title = $data['met_title']; ?> - - {$data.nav_sub} -
-
-