zm
2021-04-01 802c31297a1ae5b8c2e8fb5c62e9790dfc5d7583
修改文字
27 files modified
162 ■■■■ changed files
plugins/exchange/Plugin.php 8 ●●●● patch | view | raw | blame | history
plugins/exchange/forms/api/EOrderSubmitForm.php 4 ●●●● patch | view | raw | blame | history
plugins/exchange/forms/common/CommonSetting.php 4 ●●●● patch | view | raw | blame | history
plugins/exchange/forms/common/CreateCode.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/ExchangeFactory.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/basic/Balance.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/basic/Card.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/basic/Coupon.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/basic/Integral.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/basic/Svip.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/exchange/validate/Validate.php 18 ●●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/CodeEditForm.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/RecordForm.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/export/CardOrderExport.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/export/CodeExport.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/export/ExchangeExport.php 4 ●●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/export/GoodsExport.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/forms/mall/export/RecordLogExport.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/handlers/OrderPayedHandler.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/views/card-goods/edit.php 4 ●●●● patch | view | raw | blame | history
plugins/exchange/views/card-goods/index.php 2 ●●● patch | view | raw | blame | history
plugins/exchange/views/card-goods/order-log.php 6 ●●●● patch | view | raw | blame | history
plugins/exchange/views/code/index.php 4 ●●●● patch | view | raw | blame | history
plugins/exchange/views/library/edit.php 54 ●●●● patch | view | raw | blame | history
plugins/exchange/views/library/list.php 16 ●●●● patch | view | raw | blame | history
plugins/exchange/views/order/index.php 6 ●●●● patch | view | raw | blame | history
plugins/exchange/views/setting/index.php 4 ●●●● patch | view | raw | blame | history
plugins/exchange/Plugin.php
@@ -50,16 +50,16 @@
                'icon' => 'el-icon-star-on'
            ],
            [
                'name' => '兑换码管理',
                'name' => '提货卡管理',
                'route' => 'plugin/exchange/mall/library/list',
                'icon' => 'el-icon-star-on',
                'action' => [
                    [
                        'name' => '兑换码详情',
                        'name' => '提货卡详情',
                        'route' => 'plugin/exchange/mall/library/edit',
                    ],
                    [
                        'name' => '兑换码回收',
                        'name' => '提货卡回收',
                        'route' => 'plugin/exchange/mall/library/recycle',
                    ],
                    [
@@ -288,7 +288,7 @@
            ) {
                continue;
            }
            throw new \Exception('兑换码库不存在,请重新选择');
            throw new \Exception('提货卡不存在,请重新选择');
        }
        return false;
    }
plugins/exchange/forms/api/EOrderSubmitForm.php
@@ -85,12 +85,12 @@
        $f->validate->libraryModel = $exchangeGoods->library;
        $f->validate->hasLibrary();
        $f->validate->hasDisableLibrary();
        //兑换码有效期判断
        //提货卡有效期判断
        if (
            $f->validate->libraryModel->expire_type === 'fixed'
            && $f->validate->libraryModel->expire_end_time < date('Y-m-d H:i:s')
        ) {
            throw new OrderException('无法生成有效兑换码');
            throw new OrderException('无法生成有效提货卡');
        }
        return true;
    }
plugins/exchange/forms/common/CommonSetting.php
@@ -20,9 +20,9 @@
    {
        $plugin = isset(\Yii::$app->request->hostInfo) ? PluginHelper::getPluginBaseAssetsUrl('exchange') . '/img/' : '';
        $rules = <<<HTML
<p>1、兑换方式:输入兑换码或者扫码兑换。<br/></p>
<p>1、兑换方式:输入提货卡或者扫码兑换。<br/></p>
<p>2、兑换次数:无限制。</p>
<p>3、兑换码有效期:永久有效,随时可兑换。</p>
<p>3、提货卡有效期:永久有效,随时可兑换。</p>
<p>4、礼包内实物奖励需手动领取,虚拟奖励将自动发放到账户,请注意查收。</p>
<p>
    <img src="{$plugin}rules.png"/>
plugins/exchange/forms/common/CreateCode.php
@@ -30,7 +30,7 @@
        $code = [];
        $this->testDatabase(1, $code);
        //兑换码
        //提货卡
        $codeModel = new ExchangeCode();
        $codeModel->mall_id = $this->mall_id;
        $codeModel->library_id = $libraryModel->id;
plugins/exchange/forms/exchange/ExchangeFactory.php
@@ -127,7 +127,7 @@
                $log->save();
            }
            //未加词典处理
            if ($e->getMessage() === '该兑换码未到使用时间!') {
            if ($e->getMessage() === '该提货卡未到使用时间!') {
                $data['valid_start_time'] = (new \DateTime($model->codeModel->valid_start_time))->format('Y.m.d H:i:s');
                $data['valid_end_time'] = (new \DateTime($model->codeModel->valid_end_time))->format('Y.m.d H:i:s');
            }
plugins/exchange/forms/exchange/basic/Balance.php
@@ -14,7 +14,7 @@
    {
        try {
            $balance = floatval($this->config['balance']);
            $desc = sprintf('兑换码%s兑换%s余额', $this->codeModel->code, $balance);
            $desc = sprintf('提货卡%s兑换%s余额', $this->codeModel->code, $balance);
            return \Yii::$app->currency->setUser($this->user)->balance->add($balance, $desc) === true;
        } catch (\Exception $e) {
            $message = $e->getMessage();
plugins/exchange/forms/exchange/basic/Card.php
@@ -24,7 +24,7 @@
                throw new \Exception('卡劵不存在');
            }
            $card_num = $this->config['card_num'];
            $remark = sprintf('兑换码%s兑换', $this->codeModel->code);
            $remark = sprintf('提货卡%s兑换', $this->codeModel->code);
            $card = new CommonCard();
            $card->user = $this->user;
plugins/exchange/forms/exchange/basic/Coupon.php
@@ -29,7 +29,7 @@
            }
            $send_num = $this->config['coupon_num'];
            $class = new CouponRelation($coupon, $this->codeModel);
            $desc = sprintf('兑换码%s获得', $this->codeModel->code);
            $desc = sprintf('提货卡%s获得', $this->codeModel->code);
            $result = $commonCoupon->receive($coupon, $class, $desc, $send_num) === true;
            if (!$result) {
                throw new \Exception('优惠券领取失败');
plugins/exchange/forms/exchange/basic/Integral.php
@@ -13,7 +13,7 @@
    {
        try {
            $integral_num = intval($this->config['integral_num']);
            $desc = sprintf('兑换码%s兑换%s积分', $this->codeModel->code, $integral_num);
            $desc = sprintf('提货卡%s兑换%s积分', $this->codeModel->code, $integral_num);
            return \Yii::$app->currency->setUser($this->user)->integral->add($integral_num, $desc) === true;
        } catch (\Exception $e) {
            $message = $e->getMessage();
plugins/exchange/forms/exchange/basic/Svip.php
@@ -16,7 +16,7 @@
    public function exchange(&$message, &$reward)
    {
        try {
            //$remark = sprintf('使用兑换码%s', $this->codeModel->code);
            //$remark = sprintf('使用提货卡%s', $this->codeModel->code);
            $return = CommonVipSend::getInstance()->becomeOrRenew($this->config['child_id'], $this->user->id, 'exchange');
            if ($return['code'] === 0) {
                $order_id = $return['data']['order_id'];
plugins/exchange/forms/exchange/validate/Validate.php
@@ -72,12 +72,12 @@
            //|| $this->libraryModel->expire_start_time > $date
            if ($this->libraryModel->expire_end_time < $date) {
                throw new \Exception('兑换码失效');
                throw new \Exception('提货卡失效');
            }
        }
        if ($this->libraryModel->expire_type === 'relatively') {
            if ($this->libraryModel->expire_start_day < 1) {
                throw new \Exception('兑换码失效');
                throw new \Exception('提货卡失效');
            }
        }
    }
@@ -92,14 +92,14 @@
    public function hasDisable()
    {
        if ($this->codeModel->status == 0) {
            throw new ExchangeException('该兑换码已禁用');
            throw new ExchangeException('该提货卡已禁用');
        }
    }
    public function hasExchange()
    {
        if (in_array($this->codeModel->status, [2, 3])) {
            throw new ExchangeException('该兑换码已兑换');
            throw new ExchangeException('该提货卡已兑换');
        }
    }
@@ -107,10 +107,10 @@
    {
        //参数补充
        if ($this->codeModel->status === 3) {
            throw new ExchangeException('该兑换码已兑换');
            throw new ExchangeException('该提货卡已兑换');
        }
        if ($this->codeModel->status !== 2) {
            throw new ExchangeException('该兑换码无法兑换');
            throw new ExchangeException('该提货卡无法兑换');
        }
        if ($this->codeModel->r_user_id != $this->user->id) {
            throw new ExchangeException('非法用户');
@@ -124,7 +124,7 @@
            $this->libraryModel->expire_type !== 'all'
            && $this->codeModel->valid_start_time > date('Y-m-d H:i:s')
        ) {
            throw new ExchangeException('该兑换码未到使用时间!');
            throw new ExchangeException('该提货卡未到使用时间!');
        }
    }
@@ -134,7 +134,7 @@
            $this->libraryModel->expire_type !== 'all'
            && $this->codeModel->valid_end_time < date('Y-m-d H:i:s')
        ) {
            throw new ExchangeException('该兑换码已过期');
            throw new ExchangeException('该提货卡已过期');
        }
    }
@@ -169,7 +169,7 @@
    public function hasNullLibrary($code)
    {
        if (empty($code)) {
            throw new \Exception('暂无可用兑换码');
            throw new \Exception('暂无可用提货卡');
        }
    }
plugins/exchange/forms/mall/CodeEditForm.php
@@ -36,7 +36,7 @@
        return [
            'library_id' => '库',
            'num' => '生成数量',
            'id' => '兑换码',
            'id' => '提货卡',
        ];
    }
plugins/exchange/forms/mall/RecordForm.php
@@ -37,7 +37,7 @@
    public function attributeLabels()
    {
        return [
            'code' => '兑换码',
            'code' => '提货卡',
            'card_no' => '卡号',
        ];
    }
plugins/exchange/forms/mall/export/CardOrderExport.php
@@ -48,7 +48,7 @@
            ],
            [
                'key' => 'code',
                'value' => '兑换码',
                'value' => '提货卡',
            ],
            [
                'key' => 'created_at',
plugins/exchange/forms/mall/export/CodeExport.php
@@ -51,7 +51,7 @@
        foreach ($list as $item) {
            (new CommonModel())->getStatus($library, $item, $msg);
            $arr = [];
            $arr['兑换码'] = $item->code . "\t";
            $arr['提货卡'] = $item->code . "\t";
            $arr['生成方式'] = $item['type'] != 1 ? $item['type'] == 0 ? '手动' : '未知' : '礼品卡';
            $arr['有效期'] = $library['expire_type'] === 'all' ? '永久' : $item['valid_start_time'] . ',' . $item['valid_end_time'];
            $arr['状态'] = $msg;
plugins/exchange/forms/mall/export/ExchangeExport.php
@@ -24,7 +24,7 @@
        return [
            [
                'key' => 'code',
                'value' => '兑换码',
                'value' => '提货卡',
            ],
            [
                'key' => 'type',
@@ -101,7 +101,7 @@
    public function getFileName()
    {
        $data = (new CommonModel())->getLibrary($this->library_id);
        return sprintf('%s-兑换码列表导出', $data->name);
        return sprintf('%s-提货卡列表导出', $data->name);
    }
    protected function transform($list)
plugins/exchange/forms/mall/export/GoodsExport.php
@@ -32,7 +32,7 @@
            ],
            [
                'key' => 'library_name',
                'value' => '兑换码库',
                'value' => '提货卡',
            ],
            [
                'key' => 'goods_stock',
plugins/exchange/forms/mall/export/RecordLogExport.php
@@ -23,7 +23,7 @@
        return [
            [
                'key' => 'code',
                'value' => '兑换码',
                'value' => '提货卡',
            ],
            [
                'key' => 'platform',
plugins/exchange/handlers/OrderPayedHandler.php
@@ -53,7 +53,7 @@
                    throw new \Exception('订单重复触发');
                }
                //兑换码
                //提货卡
                $create = new CreateCode($libraryModel, $event->order->mall_id);
                $code = $create->createOne();
plugins/exchange/views/card-goods/edit.php
@@ -48,8 +48,8 @@
                   :is_min_number="0"
                   ref="appGoods">
            <template slot="before_price" slot-scope="item">
                <el-form-item v-loading="library_loading" label="兑换码库" required>
                    <el-select style="width: 100%" v-model="library_id" @change="selectLibrary" placeholder="请选择兑换码库">
                <el-form-item v-loading="library_loading" label="提货卡" required>
                    <el-select style="width: 100%" v-model="library_id" @change="selectLibrary" placeholder="请选择提货卡">
                        <el-option
                                v-for="(item, index) in library"
                                :key="item.id"
plugins/exchange/views/card-goods/index.php
@@ -24,7 +24,7 @@
            :action-witch="actionWitch"
            sign="exchange">
        <template slot="column-col-sec">
            <el-table-column prop="cardGoods.library_name" label="兑换码库"></el-table-column>
            <el-table-column prop="cardGoods.library_name" label="提货卡"></el-table-column>
        </template>
        <template slot="action-sec" slot-scope="item">
            <el-button v-if="item.item.status" @click="edit(item.item)" type="text" circle size="mini">
plugins/exchange/views/card-goods/order-log.php
@@ -135,8 +135,8 @@
                    </template>
                </el-table-column>
                <el-table-column prop="goods_name" label="礼品卡名称"></el-table-column>
                <el-table-column prop="library_name" label="兑换码库"></el-table-column>
                <el-table-column prop="code" label="兑换码"></el-table-column>
                <el-table-column prop="library_name" label="提货卡"></el-table-column>
                <el-table-column prop="code" label="提货卡"></el-table-column>
                <el-table-column prop="created_at" label="购买时间" width="180"></el-table-column>
                <el-table-column prop="msg" label="状态" width="120">
                    <template slot-scope="scope">
@@ -184,7 +184,7 @@
                    {value: '4', name: '用户ID'},
                    {value: '2', name: '用户昵称'},
                    {value: '1', name: '订单号'},
                    {value: '8', name: '兑换码库'}
                    {value: '8', name: '提货卡'}
                ],
                pagination: {
                    page_count: 0
plugins/exchange/views/code/index.php
@@ -129,7 +129,7 @@
            <div flex="wrap:wrap cross:center" style="margin-bottom: 15px;">
                <div>密码</div>
                <div class="input-item" style="width: 230px">
                    <el-input maxlength="12" @keyup.enter.native="toSearch" size="small" placeholder="请输入兑换码" v-model="keyword" clearable @clear="toSearch">
                    <el-input maxlength="12" @keyup.enter.native="toSearch" size="small" placeholder="请输入提货卡" v-model="keyword" clearable @clear="toSearch">
                        <el-button slot="append" icon="el-icon-search" @click="toSearch"></el-button>
                    </el-input>
                </div>
@@ -456,7 +456,7 @@
                    }else {
                        that.msg = e.data.msg;
                        that.other = '';
                        if(e.data.msg == '该兑换码未到使用时间!') {
                        if(e.data.msg == '该提货卡未到使用时间!') {
                            that.other = e.data.data.valid_start_time + ' - ' + e.data.data.valid_end_time + ' 可用'
                        }
                    }
plugins/exchange/views/library/edit.php
@@ -225,17 +225,17 @@
        <div slot="header">
            <el-breadcrumb separator="/">
                <el-breadcrumb-item><span style="color: #409EFF;cursor: pointer"
                                          @click="$navigate({r:'plugin/exchange/mall/library/list'})">兑换码管理</span>
                                          @click="$navigate({r:'plugin/exchange/mall/library/list'})">提货卡管理</span>
                </el-breadcrumb-item>
                <el-breadcrumb-item v-if="id > 0 && !log">编辑兑换码库</el-breadcrumb-item>
                <el-breadcrumb-item v-if="id > 0 && !log">编辑提货卡</el-breadcrumb-item>
                <el-breadcrumb-item v-else-if="id > 0 && log">查看兑换详情</el-breadcrumb-item>
                <el-breadcrumb-item v-else>新增兑换码库</el-breadcrumb-item>
                <el-breadcrumb-item v-else>新增提货卡</el-breadcrumb-item>
            </el-breadcrumb>
        </div>
        <el-form style="padding-bottom: 77px;" @submit.native.prevent size="small" :rules="rules" ref="form" :model="form" label-width="130px">
            <el-card style="margin-bottom: 10px">
                <div slot="header">基础设置</div>
                <el-form-item label="兑换码库名称" prop="name">
                <el-form-item label="提货卡名称" prop="name">
                    <div style="width: 450px">
                        <el-input :disabled="id > 0" v-model="form.name" placeholder="最多输入15个字" maxlength="15"></el-input>
                    </div>
@@ -257,14 +257,14 @@
                    <el-button class="height-button" type="text" @click="lookRule">查看规则</el-button>
                </el-form-item>
            </el-card>
            <!-- 兑换码规则 -->
            <!-- 提货卡规则 -->
            <el-card v-if="id == 0">
                <div slot="header">兑换码规则<span style="color: #ff4544;font-size: 10px;margin-left: 10px;">创建后不可更改</span></div>
                <div slot="header">提货卡规则<span style="color: #ff4544;font-size: 10px;margin-left: 10px;">创建后不可更改</span></div>
                <div class="rules" style="background-color: #ECF5FE">
                    <div>兑换码库创建后,后续生成的兑换码将按照下述规则执行;</div>
                    <div>兑换码库一经创建,将无法修改规则,请谨慎操作。</div>
                    <div>提货卡创建后,后续生成的提货卡将按照下述规则执行;</div>
                    <div>提货卡一经创建,将无法修改规则,请谨慎操作。</div>
                </div>
                <el-form-item label="兑换码有效期">
                <el-form-item label="提货卡有效期">
                    <el-radio v-model="form.expire_type" label="all">永久有效</el-radio>
                    <el-radio v-model="form.expire_type" label="fixed">固定时间</el-radio>
                    <el-radio v-model="form.expire_type" label="relatively">相对时间</el-radio>
@@ -281,7 +281,7 @@
                        </el-date-picker>
                    </div>
                    <div style="margin-top: 10px;" v-if="form.expire_type == 'relatively'" flex="dir:left cross:center">
                        <div>从兑换码生成时</div>
                        <div>从提货卡生成时</div>
                        <div class="expire-day">
                            <el-input min="0" oninput="if(this.value)this.value = this.value.replace(/[^0-9]/g, '')" type="number" v-model="form.expire_start_day">
                                <template slot="append">天</template>
@@ -306,10 +306,10 @@
                </el-form-item>
                <el-form-item label="卡号数字位数">
                    <div style="width: 100px">
                        <el-input :disabled="id > 0" v-model="form.card_no_num_len" placeholder="最多1位" maxlength="1" oninput ="value=value.replace(/[^\d]/g,'')"></el-input>
                        <el-input :disabled="id > 0" v-model="form.card_no_num_len" placeholder="最多15" maxlength="2" oninput ="value=value.replace(/[^\d]/g,'')"></el-input>
                    </div>
                </el-form-item>
                <el-form-item label="兑换码格式">
                <el-form-item label="密码格式">
                    <el-radio v-model="form.code_format" label="english_num">英文数字组合</el-radio>
                    <el-radio v-model="form.code_format" label="num">纯数字组合</el-radio>
                </el-form-item>
@@ -507,7 +507,7 @@
                                <el-select style="width: 100px" slot="prepend" v-model="logSearch.keyword_1">
                                    <el-option label="用户ID" :value="4"></el-option>
                                    <el-option label="昵称" :value="2"></el-option>
                                    <el-option label="兑换码" :value="8"></el-option>
                                    <el-option label="提货卡" :value="8"></el-option>
                                </el-select>
                                <el-button slot="append" icon="el-icon-search" @click="search"></el-button>
                            </el-input>
@@ -533,7 +533,7 @@
                    </app-new-export-dialog-2>
                    </div>
                    <el-table :header-cell-style="{'background-color': '#fff'}" class="table-info" :data="list" border style="width: 100%" v-loading="listLoading">
                        <el-table-column prop="code" label="兑换码" width="220"></el-table-column>
                        <el-table-column prop="code" label="提货卡" width="220"></el-table-column>
                        <el-table-column prop="origin" label="兑换渠道">
                            <template slot-scope="scope">
                                <img style="margin-right: 10px;" height="24" width="24" :src="scope.row.platform_icon" alt=""/>
@@ -576,21 +576,21 @@
                    </div>
                </div>
            </el-card>
            <!-- 兑换码管理 -->
            <!-- 提货卡管理 -->
            <el-card v-if="id > 0 && !log">
                <div slot="header" style="width: 100%;" flex="main:justify cross:center">
                    <div>兑换码管理</div>
                    <div>提货卡管理</div>
                    <div>
                        <!--<el-button @click="getActivity" size="small" type="primary">生成动态活码</el-button>-->
                        <el-button @click="appendDialog=true;num=''" size="small" type="primary">批量生成兑换码</el-button>
                        <el-button @click="appendDialog=true;num=''" size="small" type="primary">批量生成提货卡</el-button>
                        <el-button type="primary" @click="uploadVisible = true" size="small">批量导入卡号</el-button>                        
                        <el-button type="primary" @click="exportData" size="small">导出卡密数据</el-button>
                    </div>
                </div>
                <div class="rules use-rules">
                    <div>使用说明:</div>
                    <div>礼品卡关联兑换码库后,每售出一张礼品卡,则在此处自动生成一个新的兑换码,不需要您主动生成兑换码。</div>
                    <div>批量生成的兑换码,生成方式为“手动”,系统无法直接发售,需要您自行导出使用,可用来帮助线下发售实体卡片或者作为电子卡密出售。</div>
                    <div>礼品卡关联提货卡后,每售出一张礼品卡,则在此处自动生成一个新的提货卡,不需要您主动生成提货卡。</div>
                    <div>批量生成的提货卡,生成方式为“手动”,系统无法直接发售,需要您自行导出使用,可用来帮助线下发售实体卡片或者作为电子卡密出售。</div>
                </div>
                <div class="table-body">
                    <div flex="wrap:wrap cross:center" style="margin-bottom: 15px;">
@@ -1079,7 +1079,7 @@
        </span>
    </el-dialog>
    <el-dialog title="批量生成兑换码" :visible.sync="appendDialog" width="30%">
    <el-dialog title="批量生成提货卡" :visible.sync="appendDialog" width="30%">
        <el-form @submit.native.prevent size="small" label-width="100px">
            <el-form-item label="生成数量" prop="num">
                <el-input v-model="num" min="0" oninput="if(this.value.length>3)this.value=1000;this.value = this.value.replace(/[^0-9]/g, '')" type="number" :max="1000">
@@ -1125,13 +1125,13 @@
            <el-form-item v-if="!exchangeVisible" label="兑换有效期" prop="expire_type">
                <div v-if="form.expire_type == 'all'">永久(永久)</div>
                <div v-if="form.expire_type == 'fixed'">固定时间({{form.expire_start_time}}至{{form.expire_end_time}})</div>
                <div v-if="form.expire_type == 'relatively'">相对时间(从兑换码生成时第{{form.expire_start_day}}天至第{{form.expire_end_day}}天)</div>
                <div v-if="form.expire_type == 'relatively'">相对时间(从提货卡生成时第{{form.expire_start_day}}天至第{{form.expire_end_day}}天)</div>
            </el-form-item>
            <el-form-item v-if="!exchangeVisible" label="兑换模式" prop="mode">
                <div v-if="form.mode == 0">全部奖励品</div>
                <div v-if="form.mode == 1">任选一份奖励品</div>
            </el-form-item>
            <el-form-item v-if="!exchangeVisible" label="兑换码格式" prop="code_format">
            <el-form-item v-if="!exchangeVisible" label="密码格式" prop="code_format">
                <div v-if="form.code_format == 'english_num'">英文数字组合</div>
                <div v-if="form.code_format == 'num'">纯数字组合</div>
            </el-form-item>
@@ -1334,7 +1334,7 @@
                rewards: [],
                rules: {
                    name: [
                        { required: true, message: '请输入兑换码库名称', trigger: 'blur' }
                        { required: true, message: '请输入提货卡名称', trigger: 'blur' }
                    ],
                },
            };
@@ -1384,7 +1384,7 @@
            },
            allDownload() {
                if(this.qrList.length == 0) {
                    this.$message.error('请选择要下载的兑换码');
                    this.$message.error('请选择要下载的提货卡');
                    return false
                }
                var zip = new JSZip();
@@ -1542,9 +1542,9 @@
                    this.rewards = this.form.rewards.slice((page-1)*6,(page-1)*6+6);
                }
            },
            // 禁用兑换码
            // 禁用提货卡
            ban(row) {
                this.$confirm('禁用该条兑换码, 是否继续?', '提示', {
                this.$confirm('禁用该条提货卡, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
@@ -1571,7 +1571,7 @@
                    })
                })
            },
            // 生成兑换码
            // 生成提货卡
            append() {
                if(this.num > 0) {
                    this.appendLoading = true;
plugins/exchange/views/library/list.php
@@ -68,7 +68,7 @@
        margin: 0 15px;
    }
    .el-message-box__status+.el-message-box__message::after {
        content: '删除后,会禁用当前可用的兑换码,请慎重操作!';
        content: '删除后,会禁用当前可用的提货卡,请慎重操作!';
        color: #ff4544;
        margin-top: 10px;
        margin-bottom: 10px;
@@ -78,9 +78,9 @@
    <el-card shadow="never" style="border:0" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
        <div slot="header">
            <div>
                <span>兑换码管理</span>
                <span>提货卡管理</span>
                <el-button @click="toCreated" style="float: right; margin: -5px 0" type="primary" size="small">
                    新增兑换码库
                    新增提货卡
                </el-button>
            </div>
        </div>
@@ -106,7 +106,7 @@
                    </el-select>
                </div>
                <div class="input-item">
                    <el-input @keyup.enter.native="search" size="small" placeholder="请输入兑换码库名称搜索" v-model="keyword" clearable @clear="search">
                    <el-input @keyup.enter.native="search" size="small" placeholder="请输入提货卡名称搜索" v-model="keyword" clearable @clear="search">
                        <el-button slot="append" icon="el-icon-search" @click="search"></el-button>
                    </el-input>
                </div>
@@ -116,7 +116,7 @@
                <el-tab-pane label="回收站" name="1"></el-tab-pane>
            </el-tabs>
            <el-table class="table-info" :header-cell-style="{'height':'80px'}"  height="580" :data="list" border style="width: 100%" v-loading="listLoading">
                <el-table-column prop="name" label="兑换码库名称" width="320"></el-table-column>
                <el-table-column prop="name" label="提货卡名称" width="320"></el-table-column>
                <el-table-column prop="card_platform" label="发卡平台" width="180"></el-table-column>
                <el-table-column prop="rewards_text" label="奖励品类型" width="180">
                </el-table-column>
@@ -133,12 +133,12 @@
                <el-table-column label="操作" fixed="right" >
                    <template slot-scope="scope">
                        <el-button v-if="activeName == '0'" circle size="mini" type="text" @click="edit(scope.row)">
                            <el-tooltip effect="dark" style="margin-right: 20px" content="兑换码管理" placement="top">
                            <el-tooltip effect="dark" style="margin-right: 20px" content="提货卡管理" placement="top">
                                <img src="statics/img/mall/edit.png" alt="">
                            </el-tooltip>
                        </el-button>
                        <el-button v-else circle size="mini" type="text" @click="toRecycle(scope.row)">
                            <el-tooltip effect="dark" style="margin-right: 20px" content="恢复兑换码库" placement="top">
                            <el-tooltip effect="dark" style="margin-right: 20px" content="恢复提货卡" placement="top">
                                <img src="statics/img/mall/order/renew.png" alt="">
                            </el-tooltip>
                        </el-button>
@@ -194,7 +194,7 @@
        },
        methods: {
            destroy(row) {
                this.$confirm('删除该条兑换码库, 是否继续?', '提示', {
                this.$confirm('删除该条提货卡, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
plugins/exchange/views/order/index.php
@@ -135,8 +135,8 @@
                        </template>
                    </el-table-column>
                    <el-table-column prop="goods_name" label="礼品卡名称"></el-table-column>
                    <el-table-column prop="library_name" label="兑换码库"></el-table-column>
                    <el-table-column prop="code" label="兑换码"></el-table-column>
                    <el-table-column prop="library_name" label="提货卡"></el-table-column>
                    <el-table-column prop="code" label="提货卡"></el-table-column>
                    <el-table-column prop="created_at" label="购买时间" width="180"></el-table-column>
                    <el-table-column prop="msg" label="状态" width="120">
                        <template slot-scope="scope">
@@ -185,7 +185,7 @@
                    {value: '4', name: '用户ID'},
                    {value: '2', name: '用户昵称'},
                    {value: '1', name: '订单号'},
                    {value: '8', name: '兑换码库'}
                    {value: '8', name: '提货卡'}
                ],
                pagination: {
                    page_count: 0
plugins/exchange/views/setting/index.php
@@ -170,7 +170,7 @@
                            </el-form-item>
                            <el-form-item>
                                <template slot='label'>
                                    <span>兑换码防刷</span>
                                    <span>提货卡防刷</span>
                                    <el-tooltip effect="dark" content="在兑换中心设置某个用户在N分钟内输入N次错误冻结N小时"
                                            placement="top">
                                        <i class="el-icon-info"></i>
@@ -914,7 +914,7 @@
                    {
                        key: 'code',
                        icon_url: 'statics/img/mall/poster/icon_code.png',
                        title: '兑换码',
                        title: '提货卡',
                        is_active: true
                    },
                    {