|  | @@ -1,11 +1,11 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div style="margin-top: 50px">
 | 
	
		
			
				|  |  | -    <el-form :model="value" ref="productSaleForm" label-width="150px" style="width: 520px" size="small">
 | 
	
		
			
				|  |  | +    <el-form :model="value" ref="productSaleForm" label-width="150px" style="width: 600px" size="small">
 | 
	
		
			
				|  |  |        <el-form-item label="赠送积分:">
 | 
	
		
			
				|  |  |          <el-input v-model="value.giftPoint"></el-input>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="赠送成长值:">
 | 
	
		
			
				|  |  | -        <el-input></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-model="value.giftGrowth"></el-input>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="积分购买限制:">
 | 
	
		
			
				|  |  |          <el-input v-model="value.usePointLimit"></el-input>
 | 
	
	
		
			
				|  | @@ -57,41 +57,214 @@
 | 
	
		
			
				|  |  |        <el-form-item label="商品备注:">
 | 
	
		
			
				|  |  |          <el-input v-model="value.note" type="textarea" :autoSize="true"></el-input>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="选择优惠方式:">
 | 
	
		
			
				|  |  | +        <el-radio-group v-model="value.promotionType" size="small">
 | 
	
		
			
				|  |  | +          <el-radio-button :label="0">无优惠</el-radio-button>
 | 
	
		
			
				|  |  | +          <el-radio-button :label="1">特惠促销</el-radio-button>
 | 
	
		
			
				|  |  | +          <el-radio-button :label="2">会员价格</el-radio-button>
 | 
	
		
			
				|  |  | +          <el-radio-button :label="3">阶梯价格</el-radio-button>
 | 
	
		
			
				|  |  | +          <el-radio-button :label="4">满减价格</el-radio-button>
 | 
	
		
			
				|  |  | +        </el-radio-group>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item v-show="value.promotionType===1">
 | 
	
		
			
				|  |  | +        <div>
 | 
	
		
			
				|  |  | +          开始时间:
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +          v-model="value.promotionStartTime"
 | 
	
		
			
				|  |  | +          value-format="timestamp"
 | 
	
		
			
				|  |  | +          type="datetime"
 | 
	
		
			
				|  |  | +          :picker-options="pickerOptions1"
 | 
	
		
			
				|  |  | +          placeholder="选择开始时间">
 | 
	
		
			
				|  |  | +        </el-date-picker>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div class="littleMargin">
 | 
	
		
			
				|  |  | +          结束时间:
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +          v-model="value.promotionEndTime"
 | 
	
		
			
				|  |  | +          value-format="timestamp"
 | 
	
		
			
				|  |  | +          type="datetime"
 | 
	
		
			
				|  |  | +          :picker-options="pickerOptions1"
 | 
	
		
			
				|  |  | +          placeholder="选择结束时间">
 | 
	
		
			
				|  |  | +        </el-date-picker>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div class="littleMargin">
 | 
	
		
			
				|  |  | +          促销价格:
 | 
	
		
			
				|  |  | +          <el-input style="width: 220px"v-model="value.promotionPrice" placeholder="输入促销价格"></el-input>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item v-show="value.promotionType===2">
 | 
	
		
			
				|  |  | +       <div v-for="(item, index) in value.memberPriceList" :class="{littleMargin:index!==0}">
 | 
	
		
			
				|  |  | +            {{item.memberLevelName}}:<el-input v-model="item.memberPrice" style="width: 200px"></el-input>
 | 
	
		
			
				|  |  | +       </div>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item v-show="value.promotionType===3">
 | 
	
		
			
				|  |  | +        <el-table :data="value.productLadderList"
 | 
	
		
			
				|  |  | +                  style="width: 80%" border>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            label="数量"
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            width="120">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-input v-model="scope.row.count"></el-input>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            label="价格"
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            width="120">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-input v-model="scope.row.price"></el-input>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            label="操作">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-button type="text" @click="handleRemoveProductLadder(scope.$index, scope.row)">删除</el-button>
 | 
	
		
			
				|  |  | +              <el-button type="text" @click="handleAddProductLadder(scope.$index, scope.row)">添加</el-button>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +        </el-table>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item v-show="value.promotionType===4">
 | 
	
		
			
				|  |  | +        <el-table :data="value.productFullReductionList"
 | 
	
		
			
				|  |  | +                  style="width: 80%" border>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            label="满"
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            width="120">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-input v-model="scope.row.fullPrice"></el-input>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            label="立减"
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            width="120">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-input v-model="scope.row.reducePrice"></el-input>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            label="操作">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-button type="text" @click="handleRemoveFullReduction(scope.$index, scope.row)">删除</el-button>
 | 
	
		
			
				|  |  | +              <el-button type="text" @click="handleAddFullReduction(scope.$index, scope.row)">添加</el-button>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +        </el-table>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  |      </el-form>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | +  import {fetchList as fetchMemberLevelList} from '@/api/memberLevel'
 | 
	
		
			
				|  |  |    export default {
 | 
	
		
			
				|  |  |      name: "addProductSale",
 | 
	
		
			
				|  |  |      props: {
 | 
	
		
			
				|  |  |        value: Object
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    data() {
 | 
	
		
			
				|  |  | +      return {
 | 
	
		
			
				|  |  | +        selectServiceList: [],
 | 
	
		
			
				|  |  | +        pickerOptions1: {
 | 
	
		
			
				|  |  | +          disabledDate(time) {
 | 
	
		
			
				|  |  | +            return time.getTime() < Date.now();
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    created(){
 | 
	
		
			
				|  |  | +      fetchMemberLevelList({defaultStatus:0}).then(response=>{
 | 
	
		
			
				|  |  | +          let memberPriceList=[];
 | 
	
		
			
				|  |  | +          for(let i=0;i<response.data.length;i++){
 | 
	
		
			
				|  |  | +            let item = response.data[i];
 | 
	
		
			
				|  |  | +            memberPriceList.push({memberLevelId:item.id,memberLevelName:item.name})
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          this.value.memberPriceList=memberPriceList;
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      watch: {
 | 
	
		
			
				|  |  |        selectServiceList: function (newValue) {
 | 
	
		
			
				|  |  | -        let serviceIds='';
 | 
	
		
			
				|  |  | +        let serviceIds = '';
 | 
	
		
			
				|  |  |          if (newValue != null && newValue.length > 0) {
 | 
	
		
			
				|  |  |            for (let i = 0; i < newValue.length; i++) {
 | 
	
		
			
				|  |  |              serviceIds += newValue[i] + ',';
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            if (serviceIds.endsWith(',')) {
 | 
	
		
			
				|  |  | -            serviceIds = serviceIds.substr(0,serviceIds.length - 1)
 | 
	
		
			
				|  |  | +            serviceIds = serviceIds.substr(0, serviceIds.length - 1)
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -          this.value.serviceIds=serviceIds;
 | 
	
		
			
				|  |  | +          this.value.serviceIds = serviceIds;
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |            this.value.serviceIds = null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    data() {
 | 
	
		
			
				|  |  | -      return {
 | 
	
		
			
				|  |  | -        selectServiceList: []
 | 
	
		
			
				|  |  | +    methods:{
 | 
	
		
			
				|  |  | +      handleRemoveProductLadder(index,row){
 | 
	
		
			
				|  |  | +        let productLadderList = this.value.productLadderList;
 | 
	
		
			
				|  |  | +        if(productLadderList.length===1){
 | 
	
		
			
				|  |  | +          productLadderList.pop();
 | 
	
		
			
				|  |  | +          productLadderList.push({
 | 
	
		
			
				|  |  | +            count: 0,
 | 
	
		
			
				|  |  | +            discount: 0,
 | 
	
		
			
				|  |  | +            price: 0
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +          productLadderList.splice(index,1);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleAddProductLadder(index,row){
 | 
	
		
			
				|  |  | +        let productLadderList = this.value.productLadderList;
 | 
	
		
			
				|  |  | +        if(productLadderList.length<3){
 | 
	
		
			
				|  |  | +          productLadderList.push({
 | 
	
		
			
				|  |  | +            count: 0,
 | 
	
		
			
				|  |  | +            discount: 0,
 | 
	
		
			
				|  |  | +            price: 0
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +          this.$message({
 | 
	
		
			
				|  |  | +            message: '最多只能添加三条',
 | 
	
		
			
				|  |  | +            type: 'warning'
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleRemoveFullReduction(index,row){
 | 
	
		
			
				|  |  | +        let fullReductionList = this.value.productFullReductionList;
 | 
	
		
			
				|  |  | +        if(fullReductionList.length===1){
 | 
	
		
			
				|  |  | +          fullReductionList.pop();
 | 
	
		
			
				|  |  | +          fullReductionList.push({
 | 
	
		
			
				|  |  | +            fullPrice: 0,
 | 
	
		
			
				|  |  | +            reducePrice: 0
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +          fullReductionList.splice(index,1);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleAddFullReduction(index,row){
 | 
	
		
			
				|  |  | +        let fullReductionList = this.value.productFullReductionList;
 | 
	
		
			
				|  |  | +        if(fullReductionList.length<3){
 | 
	
		
			
				|  |  | +          fullReductionList.push({
 | 
	
		
			
				|  |  | +            fullPrice: 0,
 | 
	
		
			
				|  |  | +            reducePrice: 0
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +          this.$message({
 | 
	
		
			
				|  |  | +            message: '最多只能添加三条',
 | 
	
		
			
				|  |  | +            type: 'warning'
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style scoped>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  .littleMargin{
 | 
	
		
			
				|  |  | +    margin-top: 10px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  </style>
 |