Jelajahi Sumber

fix: 优惠券修正部分

Sun 3 tahun lalu
induk
melakukan
0bc2d4e335
2 mengubah file dengan 22 tambahan dan 18 penghapusan
  1. 21 17
      src/views/business/coupon/add.vue
  2. 1 1
      src/views/business/coupon/index.vue

+ 21 - 17
src/views/business/coupon/add.vue

@@ -5,16 +5,16 @@
       <el-col :span="23">
         <el-form ref="addItem" :model="addData" :rules="rules" label-width="160px">
           <el-form-item label="券名称:" prop="title">
-            <el-input v-model="addData.title" placeholder="请输入券名称" :maxlength="32" show-word-limit />
+            <el-input v-model="addData.title" :readonly="readonly" placeholder="请输入券名称" :maxlength="32" show-word-limit />
           </el-form-item>
           <el-form-item label="使用场景:" prop="type">
-            <el-radio-group v-model="addData.type">
+            <el-radio-group v-model="addData.type" :disabled="readonly">
               <el-radio :label="1">门店消费</el-radio>
               <el-radio :label="2">盲票购买</el-radio>
             </el-radio-group>
           </el-form-item>
           <el-form-item label="面值:" prop="discount">
-            <el-input v-model.number="addData.discount" type="number" :min="0" placeholder="请输入券面值">
+            <el-input v-model.number="addData.discount" :readonly="readonly" type="number" :min="0" placeholder="请输入券面值">
               <template slot="append">元</template>
             </el-input>
           </el-form-item>
@@ -27,36 +27,36 @@
             <Upload :value="addData.picUrl ? [{ fileName: addData.picUrl }] : []" @input="addData.picUrl = $event[0] ? $event[0].fileName : ''" :limit="1" />
           </el-form-item> -->
           <el-form-item v-if="addData.type === 1" label="门店默认承担比例:" prop="channelSharedRate">
-            <el-input v-model.number="addData.channelSharedRate" type="number" placeholder="请输入门店默认承担比例">
+            <el-input v-model.number="addData.channelSharedRate" :readonly="readonly" type="number" placeholder="请输入门店默认承担比例">
               <template slot="append">%</template>
             </el-input>
             <div class="tip">若门店承担100%,则核销后公司不需要打款给门店,依此类推。</div>
           </el-form-item>
           <el-form-item label="最低消费金额:" prop="minOrderAmt">
-            <el-input v-model.number="addData.minOrderAmt" type="number" placeholder="请输入可使用的最低消费金额">
+            <el-input v-model.number="addData.minOrderAmt" :readonly="readonly" type="number" placeholder="请输入可使用的最低消费金额">
               <template slot="append">元</template>
             </el-input>
             <div class="tip">最低消费金额小于等于面值则为无门槛券</div>
           </el-form-item>
           <el-form-item label="有效期:" prop="dueDays">
-            <el-input v-model.number="addData.dueDays" placeholder="请输入有效期">
+            <el-input v-model.number="addData.dueDays" :readonly="readonly" placeholder="请输入有效期">
               <template slot="prepend">领取之日起</template>
               <template slot="append">天有效</template>
             </el-input>
           </el-form-item>
           <el-form-item label="使用说明:" prop="description">
-            <el-input type="textarea" rows="4" v-model="addData.description" placeholder="请输入使用说明 对用户可见"/>
+            <el-input type="textarea" rows="4" :readonly="readonly" v-model="addData.description" placeholder="请输入使用说明 对用户可见"/>
           </el-form-item>
           <el-form-item v-if="addData.type === 1" label="使用范围:" prop="useArea">进票门店</el-form-item>
           <el-form-item v-else label="使用范围:" prop="useArea">
-            <el-radio-group v-model="useArea" @change="$event === 'all' ? this.addData.boxIdList = [] : ''">
+            <el-radio-group v-model="useArea" :disabled="readonly">
               <el-radio label="all">所有盲票</el-radio>
               <el-radio label="spec">指定盲票</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
         <div v-if="useArea === 'spec'" style="padding: 0 20px">
-          <el-table :data="addData.boxIdList" height="300px">
+          <el-table :data="addData.ticketBoxList" height="300px">
             <el-table-column label="盲票图片" prop="picUrl" align="center" width="80">
               <template slot-scope="{row}">
                 <a target="_black" v-if="row.picUrl && row.picUrl.split(',').length > 0" :href="`${IMG_URL + row.picUrl}`"><img :src="`${IMG_URL + row.picUrl.split(',')[0]}`" style="max-height: 37px;max-width: 54px"></a>
@@ -75,18 +75,18 @@
                 <el-tag :type="JSON.parse(row.status).value === 'on' ? 'success' : 'info'">{{ JSON.parse(row.status).desc }}</el-tag>
               </template>
             </el-table-column>
-            <el-table-column prop="date" label="操作">
+            <el-table-column v-if="!readonly" prop="date" label="操作">
               <template slot-scope="{ $index }">
-                <el-button type="text" class="del" @click="addData.boxIdList.splice($index, 1)">删除</el-button>
+                <el-button type="text" class="del" @click="addData.ticketBoxList.splice($index, 1)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
           <br>
-          <el-button type="primary" size="small" plain @click="$refs.select.show()">选择盲票</el-button> <span style="margin-left: 10px">已选盲票({{ addData.boxIdList.length }})</span>
+          <el-button v-if="!readonly" type="primary" size="small" plain @click="$refs.select.show()">选择盲票</el-button> <span style="margin-left: 10px">已选盲票({{ addData.ticketBoxList.length }})</span>
         </div>
       </el-col>
     </el-row>
-    <el-row>
+    <el-row v-if="!readonly">
       <el-col :span="23" style="text-align: right">
         <el-button type="info" @click="$router.go(-1)">取消</el-button>
         <el-button :loading="addIng" type="primary" @click="update()">保存</el-button>
@@ -94,7 +94,7 @@
     </el-row>
 
     <!-- 弹出层 -->
-    <SelectTicket ref="select" v-model="addData.boxIdList" />
+    <SelectTicket ref="select" v-model="addData.ticketBoxList" />
   </div>
 </template>
 <script>
@@ -113,7 +113,9 @@ export default {
       IMG_URL: publicFileGetUrl,
       id: this.$route.query.id,
       readonly: this.$route.name === 'View',
-      addData: {},
+      addData: {
+        ticketBoxList:[]
+      },
       addIng: false,
       rules: {
         title: [{ required: true, message: '请输入券名称', trigger: 'blur' }],
@@ -134,7 +136,7 @@ export default {
       getCouponDetail(this.id).then(res => {
         this.addData = res.data
         this.addData.type = JSON.parse(res.data.type).value
-        if (res.data.boxIdList instanceof Array && res.data.boxIdList.length > 0) {
+        if (res.data.ticketBoxList instanceof Array && res.data.ticketBoxList.length > 0) {
           this.useArea = 'spec'
         }
       })
@@ -145,7 +147,9 @@ export default {
       this.$refs.addItem.validate((valid, items) => {
         if (valid) {
           this.addIng = true
-          this.addData.boxIds = this.addData.boxIdList.map(item => { return item.boxId }).toString()
+          if(this.useArea === 'spec') {
+            this.addData.boxIds = this.addData.ticketBoxList.map(item => { return item.boxId }).toString()
+          }
           addCoupon(this.addData).then(res => {
             this.addIng = false
             if (res.code === 0) {

+ 1 - 1
src/views/business/coupon/index.vue

@@ -45,7 +45,7 @@
       <el-table-column label="券ID" prop="couponId" width="80" />
       <el-table-column label="券名称" prop="title" />
       <el-table-column label="券金额" prop="discount" />
-      <el-table-column label="券类型" prop="type">
+      <el-table-column label="使用场景" prop="type">
         <template slot-scope="{row}">
           {{ JSON.parse(row.type).desc }}
         </template>