123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503 |
- <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
- <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
- <style>
- #detailPage {
- border-radius: 10px;
- color: #444;
- font-weight: 500;
- padding: 0px 10px 60px;
- position: relative;
- }
- .el-form-item__label,
- .el-form-item__content {
- line-height: 32px;
- }
- .el-form-item {
- margin-bottom: 14px;
- /* padding-left: 50px; */
- }
- .title-tip {
- color: #999;
- line-height: 12px;
- font-size: 12px;
- font-weight: 400;
- margin-top: 10px;
- }
- .commission-rate,
- .level-name {
- width: 200px;
- }
- .upgrade-condition-item {
- display: inline-block;
- margin-bottom: 10px;
- padding: 0 10px;
- height: 32px;
- line-height: 32px;
- text-align: center;
- border: 1px solid #e5e5e5;
- border-radius: 6px;
- margin-right: 14px;
- cursor: pointer;
- font-size: 12px;
- position: relative;
- overflow: hidden;
- }
- .upgrade-type-container {
- margin-bottom: 20px;
- }
- .upgrade-type-title {
- margin-right: 20px;
- }
- .upgrade-condition-item-active {
- border-color: #7438D5;
- color: #7438D5;
- }
- .condition-delete {
- margin-left: 20px;
- cursor: pointer;
- display: inline-block;
- color: #FE7C76;
- font-size: 20px;
- }
- .goods-header {
- background: #f9f9f9;
- height: 40px;
- line-height: 40px;
- }
- .goods-item-1 {
- width: 280px;
- padding: 0 20px;
- }
- .goods-item-2 {
- width: 100px;
- padding: 0 20px;
- }
- .goods-item-3 {
- width: 100px;
- }
- .goods-delete {
- cursor: pointer;
- color: #FF5959;
- }
- .goods-image {
- width: 40px;
- height: 40px;
- margin-right: 20px;
- border: 1px solid #e6e6e6;
- }
- .goods-add {
- width: 80px;
- height: 30px;
- border-radius: 4px;
- font-size: 12px;
- cursor: pointer;
- background: #7438D5;
- color: #fff;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- .el-image {
- width: 100%;
- height: 100%;
- }
- .image-slot {
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100%;
- }
- .shopro-submit-container {
- display: flex;
- justify-content: flex-end;
- position: fixed;
- right: 40px;
- bottom: 0px;
- height: 60px;
- }
- .shopro-submit-button {
- width: 88px;
- height: 36px;
- line-height: 36px;
- text-align: center;
- background: #7438D5;
- font-size: 14px;
- color: #fff;
- cursor: pointer;
- border-radius: 5px;
- }
- .goods-title,
- .goods-price {
- line-height: 13px;
- }
- .goods-price {
- color: #7438D5;
- }
- .goods-title {
- margin-bottom: 13px;
- }
- .goods-body-item {
- border-top: 1px solid #e6e6e6;
- height: 50px;
- line-height: 50px;
- }
- .active-icon {
- width: 22px;
- height: 22px;
- position: absolute;
- right: -1px;
- top: -1px;
- }
- .shopro-level-item {
- width: 70px;
- height: 32px;
- line-height: 32px;
- border-radius: 4px;
- border: 1px solid #e6e6e6;
- margin-right: 12px;
- text-align: center;
- font-size: 13px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- margin-bottom: 10px;
- }
- .shopro-level-item-active {
- border-color: #7438D5;
- color: #7438D5;
- }
- .shopro-level-item-disable {
- background: #eee;
- border-color: #e6e6e6;
- cursor: auto;
- }
- .el-dialog__body {
- padding: 10px 20px;
- }
- .el-dialog__footer {
- padding: 0;
- }
- .bgimage-add-container {
- border: 1px solid #e6e6e6;
- width: 80px;
- height: 80px;
- border-radius: 5px;
- }
- .bgimage-add {
- width: 80px;
- height: 80px;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 30px;
- color: #999;
- }
- .shopro-goods-add-button {
- cursor: pointer;
- color: #7438D5;
- font-size: 13px;
- height: 50px;
- line-height: 50px;
- padding: 0 20px;
- }
- .shopro-goods-add-button i {
- margin-right: 6px;
- }
- .child-agent-count-add {
- width: 80px;
- height: 32px;
- background: #FFFFFF;
- border: 1px solid #7438D5;
- border-radius: 4px;
- display: flex;
- justify-content: center;
- align-items: center;
- color: #7438D5;
- margin-bottom: 14px;
- cursor: pointer;
- }
- .child-agent-count-add i {
- margin-right: 6px;
- }
- .child-agent-count-item {
- margin-bottom: 14px;
- }
- .child-agent-count-select {
- width: 150px;
- }
- .child-agent-count-man {
- margin-left: 30px;
- }
- .child-agent-count-input {
- width: 90px;
- margin-left: 20px;
- }
- .level-tip {
- margin-bottom: 20px;
- border-radius: 5px;
- background-color: #F1EBFA;
- padding: 16px;
- }
- .el-input-group__append{
- line-height: 30px;
- }
- [v-cloak] {
- display: none
- }
- </style>
- <script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
- <script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
- <script src="__CDN__/assets/addons/shopro/libs/shopro.js"></script>
- <div id="detailPage" v-cloak>
- <el-form :model="formData" ref="formData" label-width="168px" v-if="formData">
- <div class="level-tip">
- 新增或编辑等级后,请及时在分销商品中完善对应的佣金规则
- </div>
- <div>
- <div class="shopro-form-group-title">
- <div class="shopro-form-group-title-line"></div>等级佣金比例
- </div>
- <el-form-item label="等级权重:" prop="level">
- <div class="display-flex" style="width: 410px;flex-wrap: wrap;">
- <tempalte v-if="optType=='edit'">
- <div class="shopro-level-item shopro-level-item-disable" v-if="formData.level!=1">
- 一级
- </div>
- <div class="shopro-level-item shopro-level-item-active" v-else>
- <img class="active-icon" src="/assets/addons/shopro/img/goods/active.png">
- 一级
- </div>
- </tempalte>
- <tempalte v-if="optType=='add'">
- <div class="shopro-level-item shopro-level-item-disable">
- 一级
- </div>
- </tempalte>
- <template v-for="(levelItem,levelIndex) in levelList" v-if="levelIndex>0 && formData.level!=1">
- <div class="shopro-level-item" v-if="existLevel.includes(Number(levelItem.value))"
- :class="[(existLevel.includes(Number(levelItem.value)) && formData.level!=levelItem.value)?'shopro-level-item-disable':'',formData.level==levelItem.value?'shopro-level-item-active':'']">
- <img class="active-icon"
- v-if="existLevel.includes(Number(levelItem.value)) && formData.level==levelItem.value"
- src="/assets/addons/shopro/img/goods/active.png">
- {{levelItem.title}}
- </div>
- <div class="shopro-level-item" v-else
- :class="formData.level==levelItem.value?'shopro-level-item-active':''"
- @click="selectLevel(levelIndex)">
- <img class="active-icon"
- v-if="formData.level==levelItem.value?'shopro-level-item-active':''"
- src="/assets/addons/shopro/img/goods/active.png">
- {{levelItem.title}}
- </div>
- </template>
- </div>
- </el-form-item>
- <el-form-item label="等级名称:" prop="name">
- <div class="level-name">
- <el-input v-model="formData.name" placeholder="请输入等级名称" maxlength="6" size="small" show-word-limit>
- </el-input>
- </div>
- </el-form-item>
- <el-form-item label="等级徽章:" prop="image">
- <div class="bgimage-add-container" @click="bgimageAdd">
- <el-image v-if="formData.image" :src="Fast.api.cdnurl(formData.image)" fit="contain">
- <div slot="error" class="image-slot">
- <i class="el-icon-picture-outline"></i>
- </div>
- </el-image>
- <div class="bgimage-add" v-if="!formData.image">
- <i class="el-icon-plus"></i>
- </div>
- </div>
- </el-form-item>
- <el-form-item label="一级(自购)佣金比例:" prop="commission_1">
- <div class="commission-rate">
- <el-input v-model="formData.commission_rules.commission_1" type="number" placeholder="如不填写默认为0"
- size="small">
- <template slot="append">%</template>
- </el-input>
- </div>
- </el-form-item>
- <el-form-item label="二级佣金比例:" prop="commission_2">
- <div class="commission-rate">
- <el-input v-model="formData.commission_rules.commission_2" type="number" placeholder="如不填写默认为0"
- size="small">
- <template slot="append">%</template>
- </el-input>
- </div>
- </el-form-item>
- <el-form-item label="三级佣金比例:" prop="commission_3">
- <div class="commission-rate">
- <el-input v-model="formData.commission_rules.commission_3" type="number" placeholder="如不填写默认为0"
- size="small">
- <template slot="append">%</template>
- </el-input>
- </div>
- </el-form-item>
- </div>
- <div v-if="formData.level!=1">
- <div class="shopro-form-group-title">
- <div class="shopro-form-group-title-line"></div>添加升级条件
- </div>
- <el-form-item label="升级方式:" prop="upgrade_type">
- <div>
- <el-radio-group v-model="formData.upgrade_type">
- <el-radio :label="0">满足以下任意条件</el-radio>
- <el-radio :label="1">满足以下全部条件</el-radio>
- </el-radio-group>
- </div>
- </el-form-item>
- <el-form-item>
- <div>
- <div>
- <div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
- v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex<4" @click="selectCondition(upgradeIndex)">
- <img class="active-icon" v-if="upgrade.selected"
- src="/assets/addons/shopro/img/goods/active.png">
- <span>{{upgrade.title}}</span>
- </div>
- </div>
- <div>
- <div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
- v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>3 && upgradeIndex<8" @click="selectCondition(upgradeIndex)">
- <img class="active-icon" v-if="upgrade.selected"
- src="/assets/addons/shopro/img/goods/active.png">
- <span v-if="upgradeIndex!=4">{{upgrade.title}}</span>
- <el-popover placement="bottom" trigger="hover"
- content="包含直推分销金额和内购分销金额">
- <span v-if="upgradeIndex==4" slot="reference">{{upgrade.title}}</span>
- </el-popover>
- </div>
- </div>
- <div>
- <div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
- v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>7 && upgradeIndex<12" @click="selectCondition(upgradeIndex)">
- <img class="active-icon" v-if="upgrade.selected"
- src="/assets/addons/shopro/img/goods/active.png">
- <span v-if="upgradeIndex!=8">{{upgrade.title}}</span>
- <el-popover placement="bottom" trigger="hover"
- content="包含直推分销订单和内购分销订单">
- <span v-if="upgradeIndex==8" slot="reference">{{upgrade.title}}</span>
- </el-popover>
- </div>
- </div>
- <div>
- <div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
- v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>11 && upgradeIndex<15" @click="selectCondition(upgradeIndex)">
- <img class="active-icon" v-if="upgrade.selected"
- src="/assets/addons/shopro/img/goods/active.png">
- <span>{{upgrade.title}}</span>
- </div>
- </div>
- <div>
- <div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
- v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>14" @click="selectCondition(upgradeIndex)">
- <img class="active-icon" v-if="upgrade.selected"
- src="/assets/addons/shopro/img/goods/active.png">
- <span>{{upgrade.title}}</span>
- </div>
- </div>
- </div>
- </el-form-item>
- <el-form-item :label="upgrade.title+':'" v-if="upgrade.selected"
- v-for="(upgrade,uindex) in upgradeCondition" :prop="upgrade.key">
- <div class="display-flex"
- v-if="upgrade.key!='child_agent_level' && upgrade.key!='child_agent_level_1'">
- <div class="commission-rate">
- <el-input v-model="upgrade.value" type="number" size="small">
- <template slot="append"
- v-if="upgrade.key=='total_consume' || upgrade.key=='child_order_money' || upgrade.key=='child_order_money_1' || upgrade.key=='child_order_money_2' || upgrade.key=='order_money'">元</template>
- <template slot="append"
- v-if="upgrade.key=='child_agent_count' || upgrade.key=='child_agent_count_1' || upgrade.key=='child_agent_count_2' || upgrade.key=='child_user_count' || upgrade.key=='child_user_count_1' || upgrade.key=='child_user_count_2'">人</template>
- <template slot="append"
- v-if="upgrade.key=='order_count' || upgrade.key=='child_order_count_1' || upgrade.key=='child_order_count_2' || upgrade.key=='child_order_count'">单</template>
- </el-input>
- </div>
- <i class="condition-delete el-icon-circle-close" @click="conditionDelete(uindex)"></i>
- </div>
- <div
- v-if="upgrade.key=='child_agent_level' || upgrade.key=='child_agent_level_1'">
- <div>
- <div class="display-flex child-agent-count-item" v-for="(countItem,cindex) in upgrade.value">
- <div class="child-agent-count-select">
- <el-select v-model="countItem.level" placeholder="请选择分销商等级" no-data-text="等级已选择完毕" size="small">
- <el-option v-for="item in levelOptions" :key="item.level"
- :label="item.name+'(等级'+item.level+')'" :value="item.level"
- v-if="Number(item.level)<=Number(formData.level) && Number(item.level)!=Number(editId)">
- </el-option>
- </el-select>
- </div>
- <div class="child-agent-count-man">满</div>
- <div class="child-agent-count-input">
- <el-input v-model="countItem.count" type="number" size="small">
- <template slot="append">人</template>
- </el-input>
- </div>
- <i class="condition-delete el-icon-circle-close" @click="childAgentCountDelete(uindex,cindex)"></i>
- </div>
- </div>
- <div class="child-agent-count-add" @click="childAgentCountAdd(uindex)"
- v-if="!formData.level || upgrade.value.length<selectLevelOptionsLength">
- <i class="el-icon-plus"></i>添加</div>
- </div>
- </el-form-item>
- </div>
- </el-form>
- <div class="shopro-submit-container">
- <div class="shopro-submit-button" @click="formSubmit('formData')">确定</div>
- </div>
- <el-dialog title="提示" :visible.sync="deleteDialog" width="400" :before-close="deleteDialogClose">
- <div class="display-flex" style="justify-content: space-between;">
- <div>分销商移入其他等级</div>
- <el-select v-model="moveLevel" placeholder="请选择" size="small">
- <el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button size="small" type="primary" @click="deleteDialogClose('define')">确 定</el-button>
- </span>
- </el-dialog>
- </div>
|