ソースを参照

创建盲票组新增销售范围

hwb0 3 年 前
コミット
54279cce44
2 ファイル変更50 行追加13 行削除
  1. 44 13
      src/views/business/ticket/create.vue
  2. 6 0
      src/views/business/ticket/detail.vue

+ 44 - 13
src/views/business/ticket/create.vue

@@ -96,19 +96,33 @@
           <div class="tip">
             例如:一张盲票用户支付10元,盲票佣金系数90%,经销商佣金比例20%,那么经销商佣金为10元*90%*20%=1.8元
           </div>
-          <!-- <el-form-item label="销售范围" prop="range" v-if="form.type == 'offline'">
-            <el-radio-group v-model="form.range" size="small" @change="$refs['form'].clearValidate()">
+          <el-form-item label="销售范围" prop="saleChannelType" v-if="form.type == 'offline'">
+            <el-radio-group v-model="form.saleChannelType" size="small" @change="$refs['form'].clearValidate()">
               <el-radio :label="1">所有渠道</el-radio>
               <el-radio :label="2">指定渠道</el-radio>
             </el-radio-group>
           </el-form-item>
-          <el-form-item label="渠道" prop="parentId" v-if="form.range == 2">
-            <el-select v-model="form.parentId" multiple style="width: 240px" placeholder="请选择渠道">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
+          <el-form-item label="渠道" prop="channelIdList" v-if="form.saleChannelType == 2">
+            <el-select
+              v-model="form.channelIdList"
+              placeholder="请选择渠道"
+              style="width: 240px;"
+              clearable
+              multiple
+            >
+              <el-option
+                v-for="(item, index) in channelList"
+                :key="index"
+                :label="item.name"
+                :value="item.channelId">
+                <div>
+                  <span style="float: left;">{{item.name}} </span>
+                  <span style="float: right;">{{item.mobile}}</span>
+                </div>
+              </el-option>
             </el-select>
           </el-form-item>
-          <div class="tip" v-if="form.type == 'offline'">注:盲票只对所选渠道下的经销商可见</div> -->
+          <div class="tip" v-if="form.type == 'offline'">注:盲票只对所选渠道下的经销商可见</div>
         </el-form>
       </div>
       <div class="base-info-title" >奖级设置</div>
@@ -138,6 +152,7 @@
 import { publicFileGetUrl } from "@/api/common";
 import CustomFieldsMixin from "@/mixins/CustomFields";
 import { ticketBoxCreate, setListDetail, ticketBoxDetail} from "@/api/business/ticket";
+import { listAllChannel} from "@/api/admin/channel";
 import { accMul, accDiv } from "@/utils/util";
 import AwardsList from "./components/AwardsList"
 import GoodsAdd from "./components/GoodsAdd"
@@ -167,8 +182,10 @@ export default {
         pkgSalePrice: 0, // 单价
         saleCommRate: "", // 基数
         disabled: false,
-        range: 1
+        saleChannelType: 1
       },
+      // 上级渠道列表
+      channelList:[],
       rules: {
         type: [
           { required: true, message: "请选择盲票类型", trigger: "change" },
@@ -235,10 +252,10 @@ export default {
             trigger: ["blur", "change"],
           },
         ],
-        range: [
+        saleChannelType: [
           { required: true, message: "请选择销售范围", trigger: "change" },
         ],
-        parentId: [
+        channelIdList: [
           { required: true, message: "请选择渠道", trigger: "change" },
         ],
       },
@@ -270,14 +287,22 @@ export default {
     }
   },
   created() {
+    this.getChannelList()
     if (this.id) {
       let data = {
         boxId: this.id
       }
       ticketBoxDetail(data).then(res => {
-        const { awardsList, type, title, picUrl,facePrice, salePrice, quantity, pkgUnit, pkgSalePrice, saleCommRate } = res.data
-        this.form = { type: JSON.parse(type).value, disabled:true,
-          title, picUrl, facePrice:accDiv(facePrice, 100), salePrice:accDiv(salePrice, 100), quantity, pkgUnit, pkgSalePrice:accDiv(pkgSalePrice, 100), saleCommRate }
+        const { awardsList, type, title, picUrl, facePrice, salePrice, quantity, pkgUnit, pkgSalePrice, saleCommRate, saleChannelType, channelList } = res.data
+        this.form = { 
+          disabled:true,
+          title, picUrl, quantity, pkgUnit, saleCommRate, saleChannelType,
+          channelIdList: channelList.map(item => item.channelId),
+          type: JSON.parse(type).value,
+          facePrice:accDiv(facePrice, 100), 
+          salePrice:accDiv(salePrice, 100),  
+          pkgSalePrice:accDiv(pkgSalePrice, 100) 
+        }
         if(awardsList){
           awardsList.forEach((item) => {
               item.isEdit = true,
@@ -295,6 +320,12 @@ export default {
     }
   },
   methods: {
+    // 获取上级渠道下拉列表
+    getChannelList(){
+      listAllChannel().then(response => {
+         this.channelList = response.data || [];
+      });
+    },
 
     // 保存
     submitForm() {

+ 6 - 0
src/views/business/ticket/detail.vue

@@ -46,6 +46,11 @@
           <span :class="loading ? 'el-icon-loading' : ''"></span>
           {{ info && info.boxNo }}
         </el-form-item>
+        <el-form-item label="销售范围:">
+          <span :class="loading ? 'el-icon-loading' : ''"></span>
+          <span v-if="info.saleChannelType == 1">所有渠道</span>
+          <span v-else>{{ info.channelTitle }}</span>
+        </el-form-item>
       </el-form>
       <div class="base-info-title">奖级设置</div>
       <!-- 奖级设置 -->
@@ -125,6 +130,7 @@ export default {
               ...data,
               type: JSON.parse(data.type),
               picUrl: publicFileGetUrl + data.picUrl,
+              channelTitle: data.channelList.map(item => item.name).join(',')
             };
             data.awardsList.forEach((item) => {
               item.prizeList.forEach((ele) => {