会员级别添加关联权益及图片

This commit is contained in:
2026-04-24 17:47:36 +08:00
parent 507894c8b4
commit c557c76071
5 changed files with 46 additions and 30 deletions

View File

@@ -35,11 +35,13 @@ class Level extends Backend
protected $model = null; protected $model = null;
protected $modelValidate = true; protected $modelValidate = true;
protected $pay_method = null; protected $pay_method = null;
protected $member_benefit_model = null;
public function _initialize() public function _initialize()
{ {
parent::_initialize(); parent::_initialize();
$this->model = new \app\admin\model\wdsxh\member\Level; $this->model = new \app\admin\model\wdsxh\member\Level;
$this->member_benefit_model = new \app\admin\model\wdsxh\member\MemberBenefits;
$this->view->assign("statusList", $this->model->getStatusList()); $this->view->assign("statusList", $this->model->getStatusList());
$pay_method = (new FeesConfig())->where('id',1)->value('pay_method'); $pay_method = (new FeesConfig())->where('id',1)->value('pay_method');
$this->pay_method = $pay_method; $this->pay_method = $pay_method;
@@ -112,6 +114,8 @@ class Level extends Backend
public function add() public function add()
{ {
if (false === $this->request->isPost()) { if (false === $this->request->isPost()) {
$benefits = $this->member_benefit_model->getSimpleByStatus(0);
$this->view->assign('benefits', $benefits);
return $this->view->fetch(); return $this->view->fetch();
} }
$params = $this->request->post('row/a'); $params = $this->request->post('row/a');
@@ -166,6 +170,11 @@ class Level extends Backend
$this->error(__('You have no permission')); $this->error(__('You have no permission'));
} }
if (false === $this->request->isPost()) { if (false === $this->request->isPost()) {
$benefits = $this->member_benefit_model->getSimpleByStatus(0);
$this->view->assign('benefits', $benefits);
if (is_null($row['benefits_id'])) {
$row['benefits_id'] = [];
}
$this->view->assign('row', $row); $this->view->assign('row', $row);
return $this->view->fetch(); return $this->view->fetch();
} }

View File

@@ -32,6 +32,10 @@ class Level extends Model
protected $updateTime = 'updatetime'; protected $updateTime = 'updatetime';
protected $deleteTime = false; protected $deleteTime = false;
protected $type = [
'benefits_id' => 'json',
];
// 追加属性 // 追加属性
protected $append = [ protected $append = [
'status_text' 'status_text'

View File

@@ -53,4 +53,13 @@ class MemberBenefits extends Model
$list = $this->getDisabledList(); $list = $this->getDisabledList();
return isset($list[$value]) ? $list[$value] : ''; return isset($list[$value]) ? $list[$value] : '';
} }
public function getSimpleByStatus($disabled = 0)
{
return Self::field(['id', 'title'])->where(function($query) use ($disabled) {
if (null !== $disabled) {
$query->where('disabled', '=', $disabled);
}
})->order('sort', 'asc')->select();
}
} }

View File

@@ -16,13 +16,10 @@
<div class="form-group"> <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">会员权益:</label> <label class="control-label col-xs-12 col-sm-2">会员权益:</label>
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">
<select id="input-group" name="row[benefits_id][]" class="selectpicker form-control" multiple title="请选择权益" placeholder="请选择权益" >
<select id="input-group" name="" class="selectpicker form-control" multiple title="请选择权益" placeholder="请选择权益" > {foreach $benefits as $benefit}
<option value="1">专属客服</option> <option value="{$benefit.id}">{$benefit.title}</option>
<option value="2">优先发货</option> {/foreach}
<option value="3">折扣优惠</option>
<option value="4">积分加倍</option>
<option value="5">免邮特权</option>
</select> </select>
</div> </div>
</div> </div>

View File

@@ -16,13 +16,10 @@
<div class="form-group"> <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">会员权益:</label> <label class="control-label col-xs-12 col-sm-2">会员权益:</label>
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">
<select id="input-group" name="row[benefits_id][]" class="selectpicker form-control" multiple title="请选择权益" placeholder="请选择权益" >
<select id="input-group" name="" class="selectpicker form-control" multiple title="请选择权益" placeholder="请选择权益" > {foreach $benefits as $benefit}
<option value="1">专属客服</option> <option value="{$benefit.id}" {if condition="in_array($benefit.id, $row.benefits_id)"}selected{/if}>{$benefit.title}</option>
<option value="2">优先发货</option> {/foreach}
<option value="3">折扣优惠</option>
<option value="4">积分加倍</option>
<option value="5">免邮特权</option>
</select> </select>
</div> </div>
</div> </div>
@@ -31,7 +28,7 @@
<label class="control-label col-xs-12 col-sm-2">会员卡片:</label> <label class="control-label col-xs-12 col-sm-2">会员卡片:</label>
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">
<div class="input-group"> <div class="input-group">
<input id="c-image" data-rule="required" class="form-control" size="50" name="row[image]" type="text" placeholder="请选择或上传图片"> <input id="c-image" data-rule="required" class="form-control" size="50" name="row[image]" value="{$row.image|htmlentities}" type="text" placeholder="请选择或上传图片">
<div class="input-group-addon no-border no-padding"> <div class="input-group-addon no-border no-padding">
<span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> Upload</button></span> <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> Upload</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> Choose</button></span> <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> Choose</button></span>