From 5e88a21821a531a7776a16f658fefca9610c094f Mon Sep 17 00:00:00 2001 From: linyaostalker <602604991@qq.com> Date: Thu, 21 Nov 2019 17:23:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E4=B8=8A=E4=BC=A0=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=88=A0=E9=99=A4=E6=9F=90=E5=BC=A0=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=90=8C=E6=97=B6=E5=88=A0=E9=99=A4=E8=AF=A5?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E7=9A=84id=EF=BC=8C=E5=B9=B6=E4=B8=94?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=A1=AB=E5=85=A5=E5=9B=BE=E7=89=87id?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=A1=86=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/src/controllers/GoodsController.php | 18 +++++++++++++ .../antgoods/goods/src/models/ars/Goods.php | 1 + .../antgoods/goods/src/views/goods/_form.php | 26 +++++++++++++++++-- vendor/iron/widgets/Upload.php | 12 +++++++++ 4 files changed, 55 insertions(+), 2 deletions(-) diff --git a/vendor/antgoods/goods/src/controllers/GoodsController.php b/vendor/antgoods/goods/src/controllers/GoodsController.php index 39e69a2..33a5ff7 100644 --- a/vendor/antgoods/goods/src/controllers/GoodsController.php +++ b/vendor/antgoods/goods/src/controllers/GoodsController.php @@ -180,6 +180,24 @@ class GoodsController extends Controller $model->alias = $data['alias']; $model->path = $data['path']; $model->save(); + return $model->id; } } + + /** + * @return string + * 点击删除按钮时同时删除字符串中的id + */ + public function actionImgIdDel() + { + $alias = Yii::$app->request->get('data')['alias']; + $imgid = Yii::$app->request->get('imgid'); + $imgidarr = explode(',', $imgid); + $temfile = TemFile::findOne(['alias' => $alias]); + if ($temfile) { + $imgidarr = array_diff($imgidarr, [$temfile->id]); + } + $imgidstr = implode(',', $imgidarr); + return $imgidstr; + } } diff --git a/vendor/antgoods/goods/src/models/ars/Goods.php b/vendor/antgoods/goods/src/models/ars/Goods.php index 85c68dc..ab00598 100644 --- a/vendor/antgoods/goods/src/models/ars/Goods.php +++ b/vendor/antgoods/goods/src/models/ars/Goods.php @@ -44,6 +44,7 @@ use yii\behaviors\TimestampBehavior; */ class Goods extends \yii\db\ActiveRecord { + public $imagePath; //是否删除is_delete const IS_DELETE_NO = 0;//未删除 const IS_DELETE_YES = 1;//已删除 diff --git a/vendor/antgoods/goods/src/views/goods/_form.php b/vendor/antgoods/goods/src/views/goods/_form.php index 07366ef..0d262c0 100644 --- a/vendor/antgoods/goods/src/views/goods/_form.php +++ b/vendor/antgoods/goods/src/views/goods/_form.php @@ -68,11 +68,33 @@ use antgoods\goods\models\ars\Supplier; field($model, 'express_template')->textInput() ?> - field($model, 'image')->widget(\iron\widgets\Upload::className(), [ + field($model, 'image')->textInput() ?> + field($model, 'imagePath')->widget(\iron\widgets\Upload::className(), [ 'url' => 'upload', 'deleteUrl' => 'imageDel', 'dragdropWidth'=> 800, - 'afterSave' => 'savefile' + 'afterSave' => 'savefile', + 'successScript' => " + success: function(data) + { + var imageval = $('#goods-image').val(); + if(imageval == ''){ + $('#goods-image').val(data); + }else{ + $('#goods-image').val($('#goods-image').val()+','+data); + } + } + ", + 'deleteScript' => " + $.ajax({ + url: 'img-id-del', + data: {data: data, imgid: $('#goods-image').val()}, + success: function(data) + { + $('#goods-image').val(data); + }, + }); + ", ]) ?>
diff --git a/vendor/iron/widgets/Upload.php b/vendor/iron/widgets/Upload.php index 5c8f546..3486a4b 100644 --- a/vendor/iron/widgets/Upload.php +++ b/vendor/iron/widgets/Upload.php @@ -96,6 +96,16 @@ class Upload extends InputWidget * 拉拽框大小 */ public $dragdropWidth; + /** + * @var javascript + * 图片上传成功回调方法 + */ + public $successScript; + /** + * @var + * 删除图片触发方法 + */ + public $deleteScript; /** * @throws NotFoundHttpException @@ -164,6 +174,7 @@ class Upload extends InputWidget url: "{$this->afterSave}", dataType: "json", data: {data: data, fileName: files}, + {$this->successScript}, }); }, onLoad:function(obj) @@ -182,6 +193,7 @@ class Upload extends InputWidget }); }, deleteCallback: function (data, pd) { + {$this->deleteScript} for (var i = 0; i < data.length; i++) { $.post("{$this->deleteUrl}", {op: "delete",name: data[i]}, function (resp,textStatus, jqXHR) {