Commit c972fa23 authored by 吴贤德's avatar 吴贤德

Merge branch 'develop' of ssh://code.dev.soooner.com:50022/wuxiande/SooonerHotel into develop

# Conflicts: # SooonerHotel/App/Conf/config.php
parents cb152f84 6a098c7b
......@@ -21,7 +21,7 @@ return array(
'APP_STATUS' => 'release',
//分组
'APP_GROUP_LIST'=>'System,Hotel,Sp,Media,Api', //项目分组列表(配置即表示开启分组)
'APP_GROUP_LIST'=>'System,Hotel,Sp,Media,Inject,Api', //项目分组列表(配置即表示开启分组)
'DEFAULT_GROUP'=>'',
//多语言
......
<?php
class InjectAction extends CommonAction{
//管理
public function index(){
$op = I('op');
if($op=="getjson"){
$model = D("Inject");
$userInfo = $_SESSION["_USER_INFO"];
$inputs = I();
$list = $model->getList("list",$userInfo,$inputs);
$count = $model->getList("count",$userInfo,$inputs);
$total = $count[0]["count"];
echo "{\"total\":\"".$total."\",\"rows\":".json_encode($list)."}";
}else{
$hotelModel = D("Hotel");
$hotel_lists = $hotelModel->where("`status`=0")->select();
$this->hotel_lists = $hotel_lists;
$this->display();
}
}
//添加
public function add(){
$userInfo = $_SESSION["_USER_INFO"];
$id = I('id','',int)?I('id','',int):0;
$model = D("Inject");
$spModel = D("Sp");
$mediaModel = D("Media");
$hotelModel = D("Hotel");
$spPlaylistModel = D("SpPlaylist");
if($id){
$info =$model->where("id = $id")->find();
$this->info = $info;
}
$hotel_lists = $hotelModel->where("`status`=0")->select();
$sp_lists = $spModel->field("id,`name`")->select();
$media_lists = $mediaModel->field("id,title")->select();
$play_lists = $spPlaylistModel->join(" A join sh_sp_playlist_media_map B on A.id = B.playlist_id ")->field("A.id,A.`name`,A.sp_id,group_concat(B.media_id) media_ids")->group("A.id")->select();
$this->hotel_lists = $hotel_lists;
$this->sp_lists = $sp_lists;
$this->media_lists = json_encode($media_lists);
$this->play_lists = $play_lists;
$this->display();
}
//添加处理
public function addHandle(){
//sh_hotel_media_map_1、sh_task_inject、sh_task_inject_log
$model = D("Inject");
$hotelMediaMapModel = D("HotelMediaMap");
$injectLogModel = D("InjectLog");
$id = I('id','',int);
$hotel_lists = I("post.hotel_lists");
$media_lists = I("post.media_lists");
if($id){
$data['id'] = $id;
$data["updatetime"]=date('Y-m-d H:i:s');
$r = $model->save($data);
if($r){
echo 'true';
}else{
echo 'false';
}
}else{
$taskData['name'] = I("name");
$taskData['addtime'] = date('Y-m-d H:i:s');
$taskData['remark'] = I("remark");
$task_id = $model->add($taskData);
if($task_id){
foreach($hotel_lists as $key => $value){
list($hotel_id,$sp_id) = explode("-",$value);
$logDataLists = array();
foreach($media_lists as $k => $v){
$logData = array();
$mapData = array();
$isExists = M("Map_1","sh_hotel_media_")->field("id")->where("media_id = $v and hotel_id= $hotel_id")->find();
if($isExists){
continue;
}
$logData['task_id'] = $task_id;
$logData['media_id'] = $v;
$logData['hotel_id'] = $hotel_id;
$logData['sp_id'] = $sp_id;
$mapData['media_id'] = $v;
$mapData['hotel_id'] = $hotel_id;
$mapData['addtime'] = date('Y-m-d H:i:s');
M("Map_1","sh_hotel_media_")->add($mapData);
if($logData){
$logDataLists[] = $logData;
}
}
if($logDataLists){
$log_r = $injectLogModel->addAll($logDataLists);
}
}
}
if($task_id){
echo 'true';
}else{
echo 'false';
}
}
}
//删除处理
public function deleteHandle(){
if(D("Inject")->where("id=".I("id","",int))->delete()){
echo 'true';
}else{
echo 'false';
}
}
//ajax修改状态
public function updateStatusAjaxHandle(){
$model = D("Inject");
$data = $_POST;
$data['updatetime'] = date('Y-m-d H:i:s');
if($model->save($data)){
echo 'true';
}else{
echo 'false';
}
}
}
......@@ -5,7 +5,7 @@ class HotelAction extends CommonAction{
public function index(){
$op = I('op');
if($op=="getjson"){
$model = D("Hotel");
$model = D("HotelMediaMap");
$userInfo = $_SESSION["_USER_INFO"];
$inputs = I();
$list = $model->getList("list",$userInfo,$inputs);
......@@ -14,8 +14,11 @@ class HotelAction extends CommonAction{
echo "{\"total\":\"".$total."\",\"rows\":".json_encode($list)."}";
}else{
$spModel = D("Sp");
$sp_lists = $spModel->where("`status`=0")->select();
$hotelModel = D("Hotel");
$sp_lists = $spModel->field("id,`name`")->where("`status`=0")->select();
$hotel_lists = $hotelModel->field("id,`name`,sp_id")->where("`status`=0")->select();
$this->sp_lists = $sp_lists;
$this->hotel_lists = $hotel_lists;
$this->display();
}
}
......@@ -25,7 +28,7 @@ class HotelAction extends CommonAction{
$userInfo = $_SESSION["_USER_INFO"];
$id = I('id','',int)?I('id','',int):0;
$model = D("Hotel");
$model = D("HotelMediaMap");
$spModel = D("Sp");
$regionModel = D("Region");
......@@ -43,7 +46,7 @@ class HotelAction extends CommonAction{
}
//添加处理
public function addHandle(){
$model = D("Hotel");
$model = D("HotelMediaMap");
$id = I('id','',int);
$data['sp_id'] = I("sp_id");
......@@ -76,7 +79,7 @@ class HotelAction extends CommonAction{
//删除处理
public function deleteHandle(){
if(D("Hotel")->where("id=".I("id","",int))->delete()){
if(D("HotelMediaMap")->where("id=".I("id","",int))->delete()){
echo 'true';
}else{
echo 'false';
......@@ -85,7 +88,7 @@ class HotelAction extends CommonAction{
//ajax修改状态
public function updateStatusAjaxHandle(){
$model = D("Hotel");
$model = D("HotelMediaMap");
$data = $_POST;
$data['updatetime'] = date('Y-m-d H:i:s');
if($model->save($data)){
......
......@@ -5,7 +5,7 @@ class PlaylistAction extends CommonAction{
public function index(){
$op = I('op');
if($op=="getjson"){
$model = D("Hotel");
$model = D("SpPlaylist");
$userInfo = $_SESSION["_USER_INFO"];
$inputs = I();
$list = $model->getList("list",$userInfo,$inputs);
......@@ -14,7 +14,7 @@ class PlaylistAction extends CommonAction{
echo "{\"total\":\"".$total."\",\"rows\":".json_encode($list)."}";
}else{
$spModel = D("Sp");
$sp_lists = $spModel->where("`status`=0")->select();
$sp_lists = $spModel->field("id,`name`")->where("`status`=0")->select();
$this->sp_lists = $sp_lists;
$this->display();
}
......@@ -25,38 +25,41 @@ class PlaylistAction extends CommonAction{
$userInfo = $_SESSION["_USER_INFO"];
$id = I('id','',int)?I('id','',int):0;
$model = D("Hotel");
$model = D("SpPlaylist");
$spModel = D("Sp");
$regionModel = D("Region");
$mediaModel = D("Media");
if($id){
$info =$model->where("id = $id")->find();
$this->info = $info;
}
$sp_lists = $spModel->where("`status`=0")->select();
$region_lists = $regionModel->where("pid = 1 and level = 2 and `status`=0")->select();
$region_city_lists = $regionModel->where("pid > 1 and level = 3 and `status`=0")->select();
$sp_lists = $spModel->field("id,`name`")->select();
$media_lists = $mediaModel->field("id,title")->select();
$play_lists = $model->join(" A join sh_sp_playlist_media_map B on A.id = B.playlist_id ")->field("A.id,A.`name`,A.sp_id,group_concat(B.media_id) media_ids")->group("A.id")->select();
$this->sp_lists = $sp_lists;
$this->region_lists = $region_lists;
$this->region_city_lists = $region_city_lists;
$this->media_lists = json_encode($media_lists);
$this->play_lists = $play_lists;
$this->display();
}
//添加处理
public function addHandle(){
$model = D("Hotel");
$model = D("SpPlaylist");
$mapModel = D("SpPlaylistMediaMap");
$id = I('id','',int);
$data['sp_id'] = I("sp_id");
$data['region_id'] = I("region_id");
$data['name'] = I("name");
$data['code'] = I("code");
$data['remark'] = I("remark");
$data['status'] = I("status");
$media_lists = I("post.media_lists");
if($id){
$data['id'] = $id;
$data["updatetime"]=date('Y-m-d H:i:s');
$r = $model->save($data);
if($r){
echo 'true';
}else{
......@@ -66,7 +69,14 @@ class PlaylistAction extends CommonAction{
$data["addtime"]=date('Y-m-d H:i:s');
$id = $model->add($data);
if($id){
if($id){
$mapData = array();
foreach($media_lists as $key => $value){
$mapData[] = array("media_id"=>$value,"playlist_id"=>$id,"addtime"=>date('Y-m-d H:i:s'));
}
$r = $mapModel->addAll($mapData);
}
if($r){
echo 'true';
}else{
echo 'false';
......@@ -76,16 +86,20 @@ class PlaylistAction extends CommonAction{
//删除处理
public function deleteHandle(){
if(D("Hotel")->where("id=".I("id","",int))->delete()){
echo 'true';
}else{
echo 'false';
}
$model = D("SpPlaylist");
$data = $_POST;
$data['status'] = 2;
$data['updatetime'] = date('Y-m-d H:i:s');
if($model->save($data)){
echo 'true';
}else{
echo 'false';
}
}
//ajax修改状态
public function updateStatusAjaxHandle(){
$model = D("Hotel");
$model = D("SpPlaylist");
$data = $_POST;
$data['updatetime'] = date('Y-m-d H:i:s');
if($model->save($data)){
......
......@@ -73,18 +73,20 @@ class SpAction extends CommonAction{
}
}
//sh_hotel_media_map 生成表 格式 sh_hotel_media_map_合作方ID
$create_table_sql = <<<EOF
CREATE TABLE IF NOT EXISTS `sh_hotel_media_map_$id` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`media_id` int(11) NOT NULL DEFAULT '0' COMMENT '媒资id',
`hotel_id` int(11) NOT NULL DEFAULT '0' COMMENT '酒店id',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '播控状态:0删除,1上线,2下线',
`status_inject` tinyint(4) NOT NULL DEFAULT '0' COMMENT '注入状态:0未注入,1已注入,2注入失败',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='酒店片库映射表';
EOF;
//$create_table_sql = <<<EOF
// CREATE TABLE IF NOT EXISTS `sh_hotel_media_map_$id` (
//`id` int(11) NOT NULL AUTO_INCREMENT,
//`media_id` int(11) NOT NULL DEFAULT '0' COMMENT '媒资id',
//`hotel_id` int(11) NOT NULL DEFAULT '0' COMMENT '酒店id',
//`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '播控状态:0删除,1上线,2下线',
//`status_inject` tinyint(4) NOT NULL DEFAULT '0' COMMENT '注入状态:0未注入,1已注入,2注入失败',
//`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
//`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
//PRIMARY KEY (`id`)
//) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='酒店片库映射表';
//EOF;
$create_table_sql = "create table sh_hotel_media_map_$id like sh_hotel_media_map;";
$model->query($create_table_sql);
}
......
......@@ -28,7 +28,7 @@ class ConfModel extends RelationModel{
$fields = "count(A.id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort;
$where .= $sort." ".$limit;
$fields = " A.*,B.`name` sp_name,case A.`status` when 1 then '<font color=red>禁用</font>' when 0 then '<font color=green>启用</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_sp_config A join sh_sp B on A.sp_id = B.id where 1=1 ".$where.";";
......
......@@ -24,7 +24,7 @@ class ConfTypeModel extends RelationModel{
$fields = "count(id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort;
$where .= $sort." ".$limit;
$fields = " *,case `status` when 1 then '<font color=red>禁用</font>' when 0 then '<font color=green>启用</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_sp_config_type where 1=1 ".$where.";";
......
......@@ -28,7 +28,7 @@ class FrontModel extends RelationModel{
$fields = "count(A.id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort;
$where .= $sort." ".$limit;
$fields = " A.*,B.`name` hotel_name,case A.`status` when 1 then '<font color=red>禁用</font>' when 0 then '<font color=green>启用</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_hotel_device A join sh_hotel B on A.hotel_id = B.id where 1=1 ".$where.";";
......
<?php
class HotelMediaMapModel extends RelationModel{
protected $tableName = 'sh_hotel_media_map'; //重新定义表名
public function getList($queryType,$userInfo,$inputs){
$p=$inputs["page"]?$inputs["page"]:1;
$n=$inputs["rows"]?$inputs["rows"]:10;
$limit = "limit ".($p-1)*$n.",".$n;
$sort="";
if($inputs["sort"])
$sort = "order by A.".$inputs["sort"]." ".$inputs["order"];
//=============
$searchField = $inputs["searchField"]?$inputs["searchField"]:'B.title';
$searchValue = $inputs["searchValue"]?$inputs["searchValue"]:'';
$searchSp = $inputs["searchSp"]?$inputs["searchSp"]:0;
$searchHotel = $inputs["searchHotel"]?$inputs["searchHotel"]:0;
if($searchValue){
$where = " and (B.`title` like '%".$searchValue."%') ";
}
if($searchSp){
$this->tableName = 'sh_hotel_media_map_'.$searchSp;
}
if($searchHotel){
$where .= " and A.hotel_id = $searchHotel ";
}
$model = new Model();
//======================
$fields = "count(A.id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort." ".$limit;
$fields = " *,B.title media_name,C.`name` hotel_name,case A.`status` when 1 then '<font color=green>上线</font>' when 2 then '<font color=red>下线</font>' when 0 then '<font>删除</font>' end as `status` ";
}
$sql = "select ".$fields." from ".$this->tableName." A join sh_media_wasu B on A.media_id = B.id join sh_hotel C on A.hotel_id = C.id and C.sp_id = $searchSp where 1=1 ".$where.";";
// echo $sql;
return $model->query($sql);
}
}
\ No newline at end of file
<?php
class MediaHotelModel extends RelationModel{
protected $tableName = 'sh_hotel_media_map_1'; //重新定义表名
class InjectLogModel extends RelationModel{
protected $tableName = 'sh_task_inject_log'; //重新定义表名
public function getList($queryType,$userInfo,$inputs){
$p=$inputs["page"]?$inputs["page"]:1;
......@@ -24,10 +24,11 @@ class MediaHotelModel extends RelationModel{
$fields = "count(id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort;
$fields = " *,case `_status` when 1 then '<font color=green>上线</font>' when 2 then '<font color=red>下线</font>' when 0 then '<font>未知</font>' end as `status` ";
$where .= $sort." ".$limit;
$fields = " *,case `status` when 1 then '<font color=green>上线</font>' when 2 then '<font color=red>下线</font>' when 0 then '<font>未知</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_media_wasu where 1=1 ".$where.";";
// echo $sql;
return $model->query($sql);
}
}
\ No newline at end of file
<?php
class InjectModel extends RelationModel{
protected $tableName = 'sh_task_inject'; //重新定义表名
public function getList($queryType,$userInfo,$inputs){
$p=$inputs["page"]?$inputs["page"]:1;
$n=$inputs["rows"]?$inputs["rows"]:10;
$limit = "limit ".($p-1)*$n.",".$n;
$sort="";
if($inputs["sort"])
$sort = "order by ".$inputs["sort"]." ".$inputs["order"];
//=============
$searchField = $inputs["searchField"]?$inputs["searchField"]:'name';
$searchValue = $inputs["searchValue"]?$inputs["searchValue"]:'';
$searchSp = $inputs["searchSp"]?$inputs["searchSp"]:0;
if($searchValue){
$where = " and (`name` like '%".$searchValue."%') ";
}
$model = new Model();
//======================
$fields = "count(id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort." ".$limit;
$fields = " *,case `status` when 0 then '未注入' when 1 then '<font color=green>注入成功</font>' when 2 then '<font color=red>注入失败</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_task_inject where 1=1 ".$where.";";
// echo $sql;
return $model->query($sql);
}
}
\ No newline at end of file
......@@ -24,10 +24,11 @@ class MediaModel extends RelationModel{
$fields = "count(id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort;
$fields = " *,case `_status` when 1 then '<font color=green>上线</font>' when 2 then '<font color=red>下线</font>' when 0 then '<font>未知</font>' end as `status` ";
$where .= $sort." ".$limit;
$fields = " *,case `status` when 1 then '<font color=green>上线</font>' when 2 then '<font color=red>下线</font>' when 0 then '<font>未知</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_media_wasu where 1=1 ".$where.";";
// echo $sql;
return $model->query($sql);
}
}
\ No newline at end of file
......@@ -23,7 +23,7 @@ class RegionModel extends RelationModel{
$fields = "count(id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort;
$where .= $sort." ".$limit;
$fields = " *,`name` title,case `status` when 1 then '<font color=red>禁用</font>' when 0 then '<font color=green>启用</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_region where 1=1 and `level`<3 ".$where.";";
......
<?php
class SpPlaylistMediaMapModel extends RelationModel{
protected $tableName = 'sh_sp_playlist_media_map'; //重新定义表名
public function getList($queryType,$userInfo,$inputs){
$p=$inputs["page"]?$inputs["page"]:1;
$n=$inputs["rows"]?$inputs["rows"]:10;
$limit = "limit ".($p-1)*$n.",".$n;
$sort="";
if($inputs["sort"])
$sort = "order by ".$inputs["sort"]." ".$inputs["order"];
//=============
$searchField = $inputs["searchField"]?$inputs["searchField"]:'name';
$searchValue = $inputs["searchValue"]?$inputs["searchValue"]:'';
$searchSp = $inputs["searchSp"]?$inputs["searchSp"]:0;
if($searchValue){
$where = " and (A.`name` like '%".$searchValue."%') ";
}
if($searchSp){
$where = " and A.sp_id = $searchSp ";
}
$model = new Model();
//======================
$fields = "count(A.id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort." ".$limit;
$fields = " *,B.`name` sp_name,case A.`status` when 0 then '<font color=green>正常</font>' when 1 then '<font color=red>禁用</font>' when 2 then '<font color=red>删除</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_sp_playlist A join sh_sp B on A.sp_id = B.id where 1=1 ".$where.";";
// echo $sql;
return $model->query($sql);
}
}
\ No newline at end of file
<?php
class SpPlaylistModel extends RelationModel{
protected $tableName = 'sh_sp_playlist'; //重新定义表名
public function getList($queryType,$userInfo,$inputs){
$p=$inputs["page"]?$inputs["page"]:1;
$n=$inputs["rows"]?$inputs["rows"]:10;
$limit = "limit ".($p-1)*$n.",".$n;
$sort="";
if($inputs["sort"])
$sort = "order by A.".$inputs["sort"]." ".$inputs["order"];
//=============
$searchField = $inputs["searchField"]?$inputs["searchField"]:'name';
$searchValue = $inputs["searchValue"]?$inputs["searchValue"]:'';
$searchSp = $inputs["searchSp"]?$inputs["searchSp"]:0;
if($searchValue){
$where = " and (A.`name` like '%".$searchValue."%') ";
}
if($searchSp){
$where = " and A.sp_id = $searchSp ";
}
$model = new Model();
//======================
$fields = "count(A.id) count";
//返回列表(limit分页)
if($queryType=="list"){
$where .= $sort." ".$limit;
$fields = " A.`name`,A.addtime,A.updatetime,B.`name` sp_name,case A.`status` when 0 then '<font color=green>正常</font>' when 1 then '<font color=red>禁用</font>' when 2 then '<font color=red>删除</font>' end as `status` ";
}
$sql = "select ".$fields." from sh_sp_playlist A join sh_sp B on A.sp_id = B.id where 1=1 ".$where.";";
// echo $sql;
return $model->query($sql);
}
}
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>媒资注入添加/修改</title>
<script type="text/javascript" src="__PUBLIC__/js/bootstrap3.3.7/jquery.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/bootstrap3.3.7/bootstrap.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/jquery-easyui-1.3.4/jquery.easyui.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/jquery-easyui-1.3.4/plugins/jquery.validatebox.extend.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/jquery-easyui-1.3.4/locale/easyui-lang-{$language}.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/multiselect.min.js"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/js/jquery-easyui-1.3.4/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/js/jquery-easyui-1.3.4/themes/icon.css">
<link rel="stylesheet" href="__PUBLIC__/js/bootstrap3.3.7/css/bootstrap.min.css">
<style>
body{padding:20px}
</style>
</head>
<body>
<form class="form-horizontal" role="form" id="ff" action="{:U('/Inject/Inject/addHandle')}" method="POST">
<input name="id" type="hidden" value="{$info.id}"/>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">任务名称</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="inputEmail3" placeholder="请输入任务名称" value="{$info.name}" name="name">
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">合作方</label>
<div class="col-sm-3">
<select class="form-control" name="sp">
<option value="0">请选择合作方</option>
<volist name="sp_lists" id="item">
<option value="{$item.id}">{$item.name}</option>
</volist>
</select>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label"></label>
<div class="col-sm-4">
<label class="control-label col-sm-3" for="multiselect">未选择</label>
<select id="multiselect" class="form-control" size="8" multiple="multiple" style="height:160px">
<volist name="hotel_lists" id="item">
<option value="{$item.id}-{$item.sp_id}" sp_id="{$item.sp_id}" title="{$item.name}">{$item.name}</option>
</volist>
</select>
</div>
<div class="col-sm-1">
<br/>
<br/>
<button type="button" id="multiselect_rightAll" class="btn btn-block"><i class="glyphicon glyphicon-forward"></i></button>
<button type="button" id="multiselect_rightSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-right"></i></button>
<button type="button" id="multiselect_leftSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-left"></i></button>
<button type="button" id="multiselect_leftAll" class="btn btn-block"><i class="glyphicon glyphicon-backward"></i></button>
</div>
<div class="col-sm-4">
<label class="control-label col-sm-4" for="multiselect">已选择酒店</label>
<select id="multiselect_to" class="form-control" size="8" multiple="multiple" name="hotel_lists[]" style="height:160px"></select>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">媒资来源</label>
<div class="col-sm-3">
<select class="form-control" id="laiyuan">
<option value="0">请选择媒资来源</option>
<option value="cloud">云端片库</option>
<option value="playlist">播单</option>
</select>
</div>
<div class="col-sm-3">
<select class="form-control hidden" id="playlist">
<option value="0">请选择播单</option>
<volist name="play_lists" id="item">
<option value="{$item.id}" ids="{$item.media_ids}" sp_id="{$item.sp_id}">{$item.name}</option>
</volist>
</select>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label"></label>
<div class="col-sm-4">
<label class="control-label col-sm-3" for="multiselectMedia">未选择</label>
<select id="multiselectMedia" class="form-control" size="8" multiple="multiple" style="height:160px">
</select>
</div>
<div class="col-sm-1">
<br/>
<br/>
<button type="button" id="multiselectMedia_rightAll" class="btn btn-block"><i class="glyphicon glyphicon-forward"></i></button>
<button type="button" id="multiselectMedia_rightSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-right"></i></button>
<button type="button" id="multiselectMedia_leftSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-left"></i></button>
<button type="button" id="multiselectMedia_leftAll" class="btn btn-block"><i class="glyphicon glyphicon-backward"></i></button>
</div>
<div class="col-sm-4">
<label class="control-label col-sm-4" for="multiselectMedia">已选择媒资</label>
<select id="multiselectMedia_to" class="form-control" size="8" multiple="multiple" name="media_lists[]" style="height:160px"></select>
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">备注</label>
<div class="col-sm-9">
<textarea class="form-control" rows="3" name="remark">{$info.remark}</textarea>
</div>
</div>
<div class="btnInject col-sm-5 control-label">
<input name="" type="button" class="btn btn-success" value="确定" onclick="submitForm()" {:buttonAuth('Inject','Inject','addhandle')}/>  
<input name="" type="reset" class="btn btn-warning" value="取消" onclick="parentDialog.close();"/>  
</div>
</form>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#multiselect').multiselect({
//keepRenderingSort:true,
});
});
jQuery(document).ready(function($) {
$('#multiselectMedia').multiselect({
//keepRenderingSort:true,
});
});
</script>
<script type="text/javascript">
function submitForm(){
var name_v = $("input[name='name']").val();
if(!name_v){
alert("请输入任务名称");return;
}
$("select[name='hotel_lists[]'] option").prop("selected",true);
$("select[name='media_lists[]'] option").prop("selected",true);
$('#ff').form('submit', {
url:'/Inject/Inject/addHandle/',
onSubmit: function(){
var isValid = $(this).form('validate');//触发form内的所有validatebox验证,并返回true/false
if(!isValid)
$('#tab').tabs('select',0);
return isValid;
},
success:function(data){
if(data=='true'){
$.messager.confirm('友情提示', '操作成功! 是否关闭窗口?', function(r){
if (r){
parentDialog.CancelEvent();
}
});
}else
$.messager.alert('友情提示','操作失败','info');
}
});
}
$().ready(function(){
var media_json = '{$media_lists}';
$("select[name='sp']").bind("change",function(){
var spid = $(this).val();
if(spid>0){
// $("#playlist option").addClass("hidden");
// $("#playlist option[value='0']").removeClass("hidden");
// $("#playlist option[sp_id='"+spid+"']").removeClass("hidden");
$("#multiselect option").addClass("hidden");
$("#multiselect option[sp_id='"+spid+"']").removeClass("hidden");
return;
}
$("#multiselect option").removeClass("hidden");
});
$("#laiyuan").bind("change",function(){
var tmp_val = $(this).val();
if(tmp_val=='playlist'){
$("#playlist").removeClass("hidden");
// $("#playlist option").addClass("hidden");
// $("#playlist option[value='0']").removeClass("hidden");
// $("#playlist option[sp_id='"+sp_id+"']").removeClass("hidden");
$("#multiselectMedia").empty();
}else if(tmp_val=='cloud'){
$("#playlist").addClass("hidden");
$("#multiselectMedia").empty();
$.each(eval(media_json),function(i,item){
if($("select[name='media_lists[]'] option[value='"+item.id+"']").length==0){
$("#multiselectMedia").append("<option value='"+item.id+"'>"+item.title+"</option>");
}
});
}else{
$("#playlist").addClass("hidden");
$("#multiselectMedia").empty();
}
});
$("#playlist").bind("change",function(){
var tmp_val = $(this).val();
var tmp_ids = $(this).find("option:selected").attr("ids");
$("#multiselectMedia").empty();
if(tmp_val>0){
var tmp_ids_arr = tmp_ids.split(",");
$.each(eval(media_json),function(i,item){
//console.log(tmp_ids_arr.indexOf(item.id));
if(tmp_ids_arr.indexOf(item.id)>=0){
if($("select[name='media_lists[]'] option[value='"+item.id+"']").length==0){
$("#multiselectMedia").append("<option value='"+item.id+"'>"+item.title+"</option>");
}
}
});
}
});
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>媒资注入管理</title>
<link href="__PUBLIC__/css/style_frame.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="__PUBLIC__/js/jquery-easyui-1.3.4/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/js/jquery-easyui-1.3.4/themes/icon.css">
<script type="text/javascript" src="__PUBLIC__/js/jquery.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/jquery-easyui-1.3.4/jquery.easyui.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/jquery-easyui-1.3.4/locale/easyui-lang-{$language}.js"></script>
<script type="text/javascript" src="__PUBLIC__/newVsdn/js/zDialog/zDrag.js"></script>
<script type="text/javascript" src="__PUBLIC__/newVsdn/js/zDialog/zDialog.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/common/functions.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/common/md5.js"></script>
<link href="__PUBLIC__/newVsdn/css/style_frame.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!--搜索和按钮 开始 -->
<div class="searchInject clearfix">
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div class="hyperchanne clearfix">
<form name="searchform" method="post" action="" id ="searchform">
<input type="hidden" name="op" value="getjson">
<div class="inputBox">
<input class="input" type="text" placeholder="任务名称" name="searchValue">
</div>
<input id="submit_search" name="" type="button" value="查询" class="btn_go_s btn_orange" />
</form>
</div><!--hyperchanne end-->
<div class="">
<ul class="operationBox">
<li class="add">
<a href="javascript:;" onclick="add()" class="on"><span></span>新增</a>
</li>
</ul>
</div><!--mainBox end-->
</div>
</div>
</div>
<!--搜索和按钮 结束-->
<table id="dg" title=""
data-options="
iconCls: 'icon-edit',
singleSelect: true,
url: '/Inject/Inject/index/',
method: 'post',
pagination: true,
pageList:[15,30,45,60],
rownumbers: true,
sortName:'id',
sortOrder:'asc',
queryParams: form2Json('searchform'),
fitColumns: true,
height:'auto',
onRowContextMenu : onRowContextMenu
">
<thead>
<tr>
<th data-options="field:'name',width:100" sortable="true">任务名称</th>
<th data-options="field:'addtime',width:30" sortable="true">创建时间</th>
<th data-options="field:'updatetime',width:30" sortable="true">更新时间</th>
<th data-options="field:'status'" sortable="true" align="center">状态</th>
<th field="action" align="center" formatter="InputAction">操作</th>
</tr>
</thead>
</table>
<div id="mm1" class="easyui-menu" style="width:120px;display: none">
<div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Inject','Inject','add')}>编辑</div>
<div iconCls="icon-cancel" id="menuDel" onclick="del()" {:buttonAuth('Inject','Inject','deletehandle')}>删除</div>
<!-- <div class="menu-sep"></div>
<div iconCls="icon-stop" id="menuStop" onclick="enable(1)" {:buttonAuth('Inject','Inject','updateStatusAjaxHandle')}>禁用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Inject','Inject','updateStatusAjaxHandle')}>启用</div>-->
</div>
<div id="mm2" class="easyui-menu" style="width:120px;display: none">
<div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Inject','Inject','add')}>编辑</div>
<div iconCls="icon-cancel" id="menuDel" onclick="del()" {:buttonAuth('Inject','Inject','deletehandle')}>删除</div>
<!-- <div class="menu-sep"></div>
<div iconCls="icon-stop" id="menuStop" onclick="enable(1)" {:buttonAuth('Inject','Inject','updateStatusAjaxHandle')}>禁用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Inject','Inject','updateStatusAjaxHandle')}>启用</div>-->
</div>
<script type="text/javascript">
function onRowContextMenu(e, rowIndex, rowData){
e.preventDefault();
$('#dg').datagrid('unselectAll');
$('#dg').datagrid('selectRow', rowIndex);
$('#mm2').menu('show', {
left:e.pageX,
top:e.pageY
});
}
function InputAction(value, row, index) {
return'<a href="javascript:void(0)" id="mb' + index + '" class="easyui-menubutton" menu="#mm1" iconCls="icon-list" onmouseover="setSelectRow(' + index + ')">'+this.title+'</a>';
}
function TypeAction(value, row, index){
if(value==0){
return '主(Master)';
}else{
return '从(Slave)';
}
}
function setSelectRow(index) {
$('#dg').datagrid('unselectAll');
$('#dg').datagrid('selectRow', index);
}
//初始化菜单按钮
$(function(){
$('#dg').datagrid({
onLoadSuccess: function (data) {
for (i = 0; i < $('#dg').datagrid('getRows').length; i++) {
$('#mb' + i).menubutton();
}
}
})
});
//禁用启用
function enable(status){
var row = $('#dg').datagrid('getSelected');
if (row){
var msg='启用';
if(status==1)
msg='禁用'
$.messager.confirm('操作确认', '确认['+msg+']该记录?', function(r){
if (r){
$.post("/Inject/Inject/updateStatusAjaxHandle/", {id:row.id,status:status},
function(data){
$('#dg').datagrid('reload');
});
}
});
}else{
$.messager.alert('提示', '请选择要操作的记录!','info');
}
}
function add(){
pop('80%',700,true,'dg','datagrid','/Inject/Inject/add/')
}
function edit(){
var row = $('#dg').datagrid('getSelected');
if (row){
pop('80%',700,true,'dg','datagrid','/Inject/Inject/add/id/'+row.id);
}else{
$.messager.alert('提示', '请选择要操作的记录!','info');
}
}
function del(){
var row = $('#dg').datagrid('getSelected');
if (row){
$.messager.confirm('操作确认', '确认[删除]该记录?', function(r){
if (r){
$.post("/Inject/Inject/deleteHandle/", {id:row.id},
function(data){
$('#dg').datagrid('reload');
});
}
});
}else{
$.messager.alert('提示', '请选择要操作的记录!','info');
}
}
$("#submit_search").click(function () {
$('#dg').datagrid({ queryParams: form2Json("searchform") }); //点击搜索
});
/**
* JQuery扩展方法,用户对JQuery EasyUI的DataGrid控件进行操作。
*/
$.fn.extend({
/**
* 修改DataGrid对象的默认大小,以适应页面宽度。
*
* @param heightMargin
* 高度对页内边距的距离。
* @param widthMargin
* 宽度对页内边距的距离。
* @param minHeight
* 最小高度。
* @param minWidth
* 最小宽度。
*
*/
resizeDataGrid : function(heightMargin, widthMargin, minHeight, minWidth) {
var height = $(document.body).height() - heightMargin;
var width = $(document.body).width() - widthMargin;
height = height < minHeight ? minHeight : height;
width = width < minWidth ? minWidth : width;
$(this).datagrid('resize', {
//height : height,
width : width
});
}
});
$(function() {
// datagrid数据表格ID
var datagridId = 'dg';
// 第一次加载时自动变化大小
$('#' + datagridId).resizeDataGrid(0, 10, 0, 0);
// 当窗口大小发生变化时,调整DataGrid的大小
$(window).resize(function() {
$('#' + datagridId).resizeDataGrid(0, 10, 0, 0);
});
});
</script>
</body>
</html>
\ No newline at end of file
......@@ -59,14 +59,14 @@ onRowContextMenu : onRowContextMenu
">
<thead>
<tr>
<th data-options="field:'title',width:40" sortable="true">媒资名称</th>
<th data-options="field:'code',width:20">媒资唯一标识</th>
<th data-options="field:'type',width:20">类型</th>
<th data-options="field:'region',width:20">国家/地区</th>
<th data-options="field:'year',width:30">年份</th>
<th data-options="field:'director',width:30">导演</th>
<th data-options="field:'actor',width:30">演员</th>
<th data-options="field:'score',width:20">评分</th>
<th data-options="field:'title',width:60" sortable="true">媒资名称</th>
<th data-options="field:'code',width:15">媒资唯一标识</th>
<th data-options="field:'type',width:10">类型</th>
<th data-options="field:'region',width:15">国家/地区</th>
<th data-options="field:'year',width:10">年份</th>
<th data-options="field:'director',width:20">导演</th>
<th data-options="field:'actor',width:60">演员</th>
<th data-options="field:'score',width:10">评分</th>
<th data-options="field:'addtime',width:30" sortable="true">创建时间</th>
<th data-options="field:'updatetime',width:30" sortable="true">更新时间</th>
<th data-options="field:'status'" sortable="true" align="center">状态</th>
......
......@@ -24,24 +24,30 @@
<form name="searchform" method="post" action="" id ="searchform">
<input type="hidden" name="op" value="getjson">
<div class="inputBox">
<select class="select" name="searchType">
<option value="0">合作方</option>
<select class="select" name="searchSp">
<option value="0">请选择合作方</option>
<volist name="sp_lists" id="item">
<option value="{$item.id}">{$item.name}</option>
</volist>
</select>
<input class="input" type="text" placeholder="酒店名称/媒资名称" name="searchValue">
<select class="select" name="searchHotel">
<option value="0">请选择酒店</option>
<volist name="hotel_lists" id="item">
<option value="{$item.id}" sp_id="{$item.sp_id}" style="display:none" >{$item.name}</option>
</volist>
</select>
<input class="input" type="text" placeholder="媒资名称" name="searchValue">
</div>
<input id="submit_search" name="" type="button" value="查询" class="btn_go_s btn_orange" />
</form>
</div><!--hyperchanne end-->
<div class="">
<ul class="operationBox">
<!-- <ul class="operationBox">
<li class="add">
<a href="javascript:;" onclick="add()" class="on"><span></span>新增</a>
</li>
</ul>
</ul>-->
</div><!--mainBox end-->
</div>
</div>
......@@ -76,20 +82,39 @@ onRowContextMenu : onRowContextMenu
</table>
<div id="mm1" class="easyui-menu" style="width:120px;display: none">
<div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Media','Hotel','add')}>编辑</div>
<!-- <div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Media','Hotel','add')}>编辑</div>-->
<div iconCls="icon-cancel" id="menuDel" onclick="del()" {:buttonAuth('Media','Hotel','deletehandle')}>删除</div>
<div class="menu-sep"></div>
<!-- <div class="menu-sep"></div>
<div iconCls="icon-stop" id="menuStop" onclick="enable(1)" {:buttonAuth('Media','Hotel','updateStatusAjaxHandle')}>禁用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Media','Hotel','updateStatusAjaxHandle')}>启用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Media','Hotel','updateStatusAjaxHandle')}>启用</div>-->
</div>
<div id="mm2" class="easyui-menu" style="width:120px;display: none">
<div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Media','Hotel','add')}>编辑</div>
<!-- <div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Media','Hotel','add')}>编辑</div>-->
<div iconCls="icon-cancel" id="menuDel" onclick="del()" {:buttonAuth('Media','Hotel','deletehandle')}>删除</div>
<div class="menu-sep"></div>
<!-- <div class="menu-sep"></div>
<div iconCls="icon-stop" id="menuStop" onclick="enable(1)" {:buttonAuth('Media','Hotel','updateStatusAjaxHandle')}>禁用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Media','Hotel','updateStatusAjaxHandle')}>启用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Media','Hotel','updateStatusAjaxHandle')}>启用</div>-->
</div>
<script>
$().ready(function(){
$("select[name='searchSp']").bind("change",function(){
var sp_id = $(this).val();
if(sp_id){
$("select[name='searchHotel'] option").hide();
$("select[name='searchHotel'] option[value='0']").show();
$("select[name='searchHotel'] option[sp_id='"+sp_id+"']").show();
$('#dg').datagrid({ queryParams: form2Json("searchform") }); //点击搜索
return;
}
$("select[name='searchHotel'] option[value='0']").show();
$("select[name='searchHotel'] option").hide();
});
$("select[name='searchHotel']").bind("change",function(){
$('#dg').datagrid({ queryParams: form2Json("searchform") }); //点击搜索
});
});
</script>
<script type="text/javascript">
function onRowContextMenu(e, rowIndex, rowData){
e.preventDefault();
......
......@@ -24,16 +24,13 @@
<form name="searchform" method="post" action="" id ="searchform">
<input type="hidden" name="op" value="getjson">
<div class="inputBox">
<select class="select" name="searchType">
<select class="select" name="searchSp">
<option value="0">合作方</option>
<volist name="sp_lists" id="item">
<option value="{$item.id}">{$item.name}</option>
</volist>
</select>
<select class="select" name="searchRegion">
<option value="0">区域</option>
</select>
<input class="input" type="text" placeholder="酒店名称/合作方酒店标识" name="searchValue">
<input class="input" type="text" placeholder="播单名称" name="searchValue">
</div>
<input id="submit_search" name="" type="button" value="查询" class="btn_go_s btn_orange" />
</form>
......@@ -68,11 +65,8 @@ onRowContextMenu : onRowContextMenu
">
<thead>
<tr>
<th data-options="field:'name',width:30">酒店名称</th>
<th data-options="field:'name',width:30">播单名称</th>
<th data-options="field:'sp_name',width:20" sortable="true">合作方</th>
<th data-options="field:'region_name',width:30" sortable="true">区域</th>
<th data-options="field:'code',width:20">合作方酒店标识</th>
<th data-options="field:'remark',width:40">备注</th>
<th data-options="field:'addtime',width:30" sortable="true">创建时间</th>
<th data-options="field:'updatetime',width:30" sortable="true">更新时间</th>
<th data-options="field:'status'" sortable="true" align="center">状态</th>
......@@ -83,14 +77,14 @@ onRowContextMenu : onRowContextMenu
<div id="mm1" class="easyui-menu" style="width:120px;display: none">
<div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Media','Playlist','add')}>编辑</div>
<div iconCls="icon-cancel" id="menuDel" onclick="del()" {:buttonAuth('Media','Playlist','deletehandle')}>删除</div>
<div iconCls="icon-cancel" id="menuDel" onclick="enable(2)" {:buttonAuth('Media','Playlist','deletehandle')}>删除</div>
<div class="menu-sep"></div>
<div iconCls="icon-stop" id="menuStop" onclick="enable(1)" {:buttonAuth('Media','Playlist','updateStatusAjaxHandle')}>禁用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Media','Playlist','updateStatusAjaxHandle')}>启用</div>
</div>
<div id="mm2" class="easyui-menu" style="width:120px;display: none">
<div iconCls="icon-edit" id="menuEdit" onclick="edit()" {:buttonAuth('Media','Playlist','add')}>编辑</div>
<div iconCls="icon-cancel" id="menuDel" onclick="del()" {:buttonAuth('Media','Playlist','deletehandle')}>删除</div>
<div iconCls="icon-cancel" id="menuDel" onclick="enable(2)" {:buttonAuth('Media','Playlist','deletehandle')}>删除</div>
<div class="menu-sep"></div>
<div iconCls="icon-stop" id="menuStop" onclick="enable(1)" {:buttonAuth('Media','Playlist','updateStatusAjaxHandle')}>禁用</div>
<div iconCls="icon-start" id="menuStart" onclick="enable(0)" {:buttonAuth('Media','Playlist','updateStatusAjaxHandle')}>启用</div>
......@@ -131,6 +125,8 @@ function enable(status){
var msg='启用';
if(status==1)
msg='禁用'
else if(status==2)
msg='删除'
$.messager.confirm('操作确认', '确认['+msg+']该记录?', function(r){
if (r){
$.post("/Media/Playlist/updateStatusAjaxHandle/", {id:row.id,status:status},
......@@ -144,12 +140,12 @@ function enable(status){
}
}
function add(){
pop(800,450,true,'dg','datagrid','/Media/Playlist/add/')
pop('80%',600,true,'dg','datagrid','/Media/Playlist/add/')
}
function edit(){
var row = $('#dg').datagrid('getSelected');
if (row){
pop(800,450,true,'dg','datagrid','/Media/Playlist/add/id/'+row.id);
pop('80%',600,true,'dg','datagrid','/Media/Playlist/add/id/'+row.id);
}else{
$.messager.alert('提示', '请选择要操作的记录!','info');
}
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment