Commit aafde1d8 authored by ZhuChunYang's avatar ZhuChunYang

update

parent 5ca64ea3
......@@ -10,6 +10,7 @@ use backend\models\coin\CoinApplicationForm;
use common\models\psources\CoinAppCate;
use common\models\psources\CoinApplication;
use common\models\psources\CoinApplicationCategory;
use common\models\psources\CoinImage;
use Yii;
class ApplicationController extends BaseController
{
......@@ -55,7 +56,6 @@ class ApplicationController extends BaseController
if(Yii::$app->request->isPost){
Yii::$app->response->format = 'json';
$category_id = Yii::$app->request->get('category_id');
Yii::$app->response->format = 'json';
$fields = ['category_id','name','sort','icon','type','native_url','h5_url','android_url','ios_url','app_store_url','advertise','description','redirect_type'];
$params = array_merge(Yii::$app->request->post(),['category_id' => $category_id]);
$params = $this->initParams($params, $fields);
......@@ -72,5 +72,49 @@ class ApplicationController extends BaseController
return $this->render('add');
}
public function actionEdit()
{
if (Yii::$app->request->isPost) {
Yii::$app->response->format = 'json';
$fields = ['id','name','sort','icon','type','native_url','h5_url','android_url','ios_url','app_store_url','advertise','description','redirect_type'];
$params = $this->initParams(Yii::$app->request->post(), $fields);
$coin_applicateion_form = new CoinApplicationForm();
$coin_applicateion_form->setScenario(CoinApplicationForm::SCENARIO_EDIT);
$coin_applicateion_form->load($params,'');
return $coin_applicateion_form->edit();
} elseif (Yii::$app->request->isGet) {
$id = Yii::$app->request->get('id', null);
if ($id) {
$applicate = CoinApplication::getApplicateById($id);
if($applicate['icon']){
$icon_info = CoinImage::getItemById($applicate['icon']);
$applicate['icon_url'] =$icon_info['base_url'].$icon_info['file_url'];
}else{
$applicate['icon_url'] ="";
}
$this->layout = false;
return $this->render('edit', ['item' => $applicate]);
}
}
}
/**
* @return array
* @throws \Throwable
* @throws \yii\db\StaleObjectException
*/
public function actionDelete()
{
Yii::$app->response->format = 'json';
$id = Yii::$app->request->get('id');
$category_id = Yii::$app->request->get('category_id');
if ($id && $category_id) {
$coin_applicateion_form = new CoinApplicationForm();
return $coin_applicateion_form->del($id,$category_id);
}
return ['code' => 1, 'msg' => 'failed'];
}
}
\ No newline at end of file
......@@ -121,5 +121,52 @@ class CoinApplicationForm extends BaseForm
}
}
/**
* 编辑应用
*/
public function edit()
{
if($this->validate()){
$coin_applicate = CoinApplication::getApplicate($this->id);
if($coin_applicate){
$coin_applicate->setAttributes($this->attributes,false);
$coin_applicate->save();
return ['code' => 0,'msg' => '应用修改成功!'];
}else{
return ['code' => 1,'msg' => '应用不存在'];
}
}else{
$error = self::getModelError($this);
return ['code' => 1,'msg' => $error];
}
}
/**
* @param $id
* 删除应用
*/
public function del($id,$category_id)
{
$coin_app_cate = CoinAppCate::getAppCate($category_id,$id);
if($coin_app_cate){
$tr = CoinApplication::getDb()->beginTransaction();
try{
$cate_count = CoinAppCate::getCateCountByAppId($id);
if($cate_count == 1){
$applicate = CoinApplication::getApplicate($id);
$applicate->delete();
}
$coin_app_cate->delete();
$tr->commit();
return ['code' => 0,'msg' => '应用分类删除成功'];
}catch (\Exception $e){
return ['code' => 1,'msg' => $e->getMessage()];
}
}else{
return ['code' => 1,'msg' => '应用分类不存在'];
}
}
}
\ No newline at end of file
......@@ -110,4 +110,23 @@
//form render
var form = layui.form;
form.render();
//图片上传
var uploader = layui.upload;
$_csrf = $("input[name='_csrf']").val();
uploader.render({
elem: "#upload1",
url: '/admin/image/upload',
data: {_csrf: $_csrf},
done: function (res) {
if(res.code == 0){
$("input[name='icon']").val(res.data.image_id);
$("#icon1").attr('src', res.data.image_src);
}
},
error: function (res) {
}
});
</script>
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: ZCY
* Date: 2018/10/16
* Time: 16:01
*/
?>
<div class="layui-row" style="padding: 5px;">
<div class="layui-col-md12">
<form class="layui-form" method="post" action="" id="applicateEdit">
<input name="_csrf" type="hidden" value="<?= Yii::$app->request->getCsrfToken() ?>">
<input name="id" type="hidden" value="<?= $item['id'] ?>">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">图标</label>
<div class="layui-input-block">
<img src="<?= $item['icon_url'] ?>" style="margin-top: 11px; max-width: 32px; max-height: 32px"
id="icon1">
</div>
<input type="hidden" name="icon" value="<?= $item['icon'] ?>">
</div>
<div class="layui-inline" style="margin-left: 50px;">
<button type="button" class="layui-btn" id="upload1" style="">
<i class="layui-icon">&#xe67c;</i>上传新图片
</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">应用名称</label>
<div class="layui-input-block">
<input class="layui-input" name="name" value="<?= $item['name'] ?>" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">应用排序</label>
<div class="layui-input-block">
<input class="layui-input" name="sort" value="<?= $item['sort'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<select name="type" >
<option value="1" <?php if($item['type'] ==1) echo "selected"?>>非原生页面</option>
<option value="2" <?php if($item['type'] ==2) echo "selected"?>>原生页面</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">原生链接</label>
<div class="layui-input-block">
<input class="layui-input" name="native_url" value="<?= $item['native_url'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">h5链接</label>
<div class="layui-input-block">
<input class="layui-input" name="h5_url" value="<?= $item['h5_url'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">安卓链接</label>
<div class="layui-input-block">
<input class="layui-input" name="android_url" value="<?= $item['android_url'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">ios企业版链接</label>
<div class="layui-input-block">
<input class="layui-input" name="ios_url" value="<?= $item['ios_url'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">ios商业版链接</label>
<div class="layui-input-block">
<input class="layui-input" name="app_store_url" value="<?= $item['app_store_url'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">宣传语</label>
<div class="layui-input-block">
<input type="text" class="layui-input" name="advertise" value="<?= $item['advertise'] ?>">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">应用介绍</label>
<div class="layui-input-block">
<textarea class="layui-textarea" name="description" ><?= $item['description'] ?></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">跳转方式</label>
<div class="layui-input-block">
<select name="redirect_type" >
<option value="1" <?php if($item['redirect_type'] ==1) echo "selected"?>>跳转应用详情</option>
<option value="2" <?php if($item['redirect_type'] ==2) echo "selected"?>>直接跳转h5</option>
</select>
</div>
</div>
</form>
</div>
</div>
<script>
//form render
var form = layui.form;
form.render();
//图片上传
var uploader = layui.upload;
$_csrf = $("input[name='_csrf']").val();
uploader.render({
elem: "#upload1",
url: '/admin/image/upload',
data: {_csrf: $_csrf},
done: function (res) {
if(res.code == 0){
$("input[name='icon']").val(res.data.image_id);
$("#icon1").attr('src', res.data.image_src);
}
},
error: function (res) {
}
});
</script>
\ No newline at end of file
......@@ -56,16 +56,41 @@
title: '排序'
},
{
field: 'h5_url',
title: 'h5'
field: 'has_h5',
title: 'h5',
templet: function(d){
if(d.has_h5){
return "有";
}else{
return "无";
}
}
},
{
field: '安卓',
title: 'android_url'
field: 'has_android',
title: '安卓',
templet: function(d){
if(d.has_android){
return "有";
}else{
return "无";
}
}
},
{
field: 'ios',
title: 'ios_url'
field: 'has_ios',
title: 'ios',
templet: function(d){
if(d.has_ios === 3){
return "企业版/商店版";
}else if(d.has_ios === 2){
return "商店版";
}else if(d.has_ios === 1){
return "企业版";
}else{
return "无";
}
}
},
{
title: '操作',
......@@ -83,52 +108,36 @@
var form = layui.form;
form.render();
table.on('tool(table1)', function(obj) {
var event = obj.event;
var data = obj.data;
var event = obj.event;
if (event === 'edit') {
var index = layer.open({
title: '编辑应用分类',
area: '500px',
type: 1,
content: $("#_form"),
btn: ['保存', '取消'],
success: function() {
form.val("form1", {
id: data.id,
name: data.name,
icon: data.icon,
sort: data.sort,
});
$("#icon1").attr('src', data.icon_url);
},
btn1: function() {
$.post('/admin/application-category/add-and-edit', $("#form1").serialize(), function(rev) {
layer.msg(rev.msg);
if (0 == rev.code) {
layer.close(index);
$("#_form").css('display', 'none');
table.reload('table1', {
page: {
curr: 1
}
});
}
});
},
btn2: function() {
layer.close(index);
$("#_form").css('display', 'none');
},
cancel: function() {
layer.close(index);
$("#_form").css('display', 'none');
}
$.get('/admin/application/edit', {id: data.id}, function (str) {
var editIndex = layer.open({
type: 1,
title: '编辑: ' + data.name,
area: ['625px','800px'],
content: str,
btn: ['保存', '取消'],
btn1: function () {
// console.log();
$.post('/admin/application/edit', $("#applicateEdit").serialize(), function (rev) {
layer.msg(rev.msg);
if (rev.code == 0) {
table.reload("table1", {
page: {
curr: 1
}
});
layer.close(editIndex);
}
});
}
});
});
} else if ('del' === event) {
var index = layer.confirm("确认删除?", {icon: 3, title: '删除'}, function () {
$.get('/admin/application-category/delete', {id: data.id}, function (rev) {
$.get('/admin/application/delete', {id: data.id,category_id:category_id}, function (rev) {
layer.msg(rev.msg);
if (0==rev.code) {
table.reload('table1',{
......@@ -141,22 +150,5 @@
});
//图片上传
var uploader = layui.upload;
$_csrf = $("input[name='_csrf']").val();
uploader.render({
elem: "#upload1",
url: '/admin/image/upload',
data: {_csrf: $_csrf},
done: function (res) {
if(res.code == 0){
$("input[name='icon']").val(res.data.image_id);
$("#icon1").attr('src', res.data.image_src);
}
},
error: function (res) {
}
});
</script>
\ No newline at end of file
......@@ -38,4 +38,16 @@ class CoinAppCate extends BaseActiveRecord
$data = self::find()->select('cate_id,count(*) as num')->where(['in','cate_id',$cate_ids])->groupBy('cate_id')->asArray()->all();
return array_column($data,'num','cate_id');
}
public static function getAppCate($category_id,$app_id)
{
return self::find()->where(['cate_id' => $category_id,'app_id' => $app_id])->one();
}
public static function getCateCountByAppId($app_id)
{
return self::find()->where(['app_id' => $app_id])->count();
}
}
\ No newline at end of file
......@@ -53,7 +53,38 @@ class CoinApplication extends BaseActiveRecord
}else{
$value['icon_url'] = '';
}
if($value['h5_url']){
$value['has_h5'] = 1;
}else{
$value['has_h5'] = 0;
}
if($value['android_url']){
$value['has_android'] = 1;
}else{
$value['has_android'] = 0;
}
$has_ios_url = $value['ios_url']?1:0;
$has_app_store = $value['app_store_url']?1:0;
if($has_ios_url && $has_app_store){
$value['has_ios'] = 3;
}else if($has_ios_url){
$value['has_ios'] = 1;
}else if($has_app_store){
$value['has_ios'] = 2;
}else{
$value['has_ios'] = 0;
}
}
return ['count' => $count, 'data' => $data, 'code' => 0];
}
public static function getApplicateById($id)
{
return self::find()->where(['id' => $id])->asArray()->one();
}
public static function getApplicate($id)
{
return self::find()->where(['id' => $id])->one();
}
}
\ No newline at end of file
......@@ -33,4 +33,9 @@ class CoinImage extends BaseActiveRecord
return array_column($data,null,'id');
}
public static function getItemById($id)
{
return self::find()->where(['id' => $id])->asArray()->one();
}
}
\ No newline at end of file
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