index.vue 26.5 KB
Newer Older
dcy's avatar
dcy committed
1 2
<template>
  <div class="app-container">
dcy's avatar
dcy committed
3
    <el-form :rules="rules" :model="form" ref="form" :inline="true" >
4 5
      <el-row>
        <el-col :span="24">
dcy's avatar
dcy committed
6
          <el-form-item label="客户名称" prop="customerId">
dcy's avatar
dcy committed
7 8 9 10
            <el-select
              v-model="customerForm.name"
              filterable
              placeholder="请输入关键词"
dcy's avatar
dcy committed
11
              @change="changefn">
dcy's avatar
dcy committed
12 13 14 15 16 17
              <el-option
                v-for="item in customeList"
                :key="item.id"
                :value="item.id.toString()"
                :label="item.name"
              >
dcy's avatar
dcy committed
18
                {{ item.number }}|{{ item.name }}|{{ item.defaultContactPhone }}
dcy's avatar
dcy committed
19 20
              </el-option>
            </el-select>
21 22 23 24 25
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="5">
dcy's avatar
dcy committed
26
          <el-form-item label="运输方式" prop="transportId">
27
            <div style="width: 130px;">
dcy's avatar
dcy committed
28
              <custom-selectors-dictionary v-model="form.transportId"
dcy's avatar
dcy committed
29
                                           :options="getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)"></custom-selectors-dictionary>
30 31 32
            </div>
          </el-form-item>
        </el-col>
dcy's avatar
dcy committed
33 34
        <el-col :span="5">
          <el-form-item label="始发地" prop="departureId">
35
            <div style="width: 130px;">
dcy's avatar
dcy committed
36 37
              <custom-selectors-dictionary label-key="titleZh" value-key="id" v-model="form.departureId"
                                           :options="exportCityList"></custom-selectors-dictionary>
38 39 40
            </div>
          </el-form-item>
        </el-col>
dcy's avatar
dcy committed
41 42
        <el-col :span="5">
          <el-form-item label="目的地" prop="objectiveId">
43
            <div style="width: 130px;">
dcy's avatar
dcy committed
44 45
              <custom-selectors-dictionary label-key="titleZh" value-key="id" v-model="form.objectiveId"
                                           :options="importCityList"></custom-selectors-dictionary>
46 47 48 49
            </div>
          </el-form-item>
        </el-col>
        <el-col :span="5">
dcy's avatar
dcy committed
50
          <el-form-item label="报关方式" prop="customsType">
51
            <div style="width: 130px;">
dcy's avatar
dcy committed
52 53
              <custom-selectors-dictionary v-model="form.customsType"
                                           :options="getDictDatas(DICT_TYPE.SHIPPING_DECLARATION_TYPE)"></custom-selectors-dictionary>
54 55 56 57
            </div>
          </el-form-item>
        </el-col>
        <el-col :span="4">
dcy's avatar
dcy committed
58
          <el-form-item label="备案" prop="approval">
59
            <div style="width: 130px;">
dcy's avatar
dcy committed
60 61
              <custom-selectors-dictionary v-model="form.approval"
                                           :options="getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"></custom-selectors-dictionary>
62 63 64 65 66 67 68
            </div>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
          <el-form-item label="佣金类型(明佣、暗佣)">
dcy's avatar
dcy committed
69
            <el-radio-group v-model="form.type">
70
              <el-radio v-for="(item,index) in getDictDatas(DICT_TYPE.COMMISSION_TYPE)" v-show="item.value != 0" :label="parseInt(item.value)"
dcy's avatar
dcy committed
71 72
                        :key="index">{{ item.label }}
              </el-radio>
73 74 75 76 77 78
            </el-radio-group>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
dcy's avatar
dcy committed
79
          <el-form-item label="返佣类型" v-if="form.type == 2">
dcy's avatar
dcy committed
80
            <el-radio-group v-model="form.darkReturnType">
dcy's avatar
dcy committed
81
              <el-radio v-for="(item,index) in getDictDatas(DICT_TYPE.COMMISSION_DARK_TYPE)" :label="parseInt(item.value)"
dcy's avatar
dcy committed
82 83
                        :key="index">{{ item.label }}
              </el-radio>
84 85 86 87 88 89
            </el-radio-group>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
dcy's avatar
dcy committed
90 91 92 93
          <div class="ming-servant" v-if="form.type == 1">
            <div class="label">佣金</div>
            <div class="content">
              <div>
dcy's avatar
dcy committed
94
                <el-input v-model="mingServantFrom[0].refund"></el-input>
dcy's avatar
dcy committed
95 96 97 98 99 100
              </div>
              <div>
                <custom-selectors-dictionary v-model="mingServantFrom[0].refundCurrency"
                                             :options="getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"></custom-selectors-dictionary>
              </div>
              <div>
101 102
                <custom-selectors-dictionary v-model="mingServantFrom[0].refundUnit" label-key="titleZh" value-key="id"
                                             :options="weightList"></custom-selectors-dictionary>
dcy's avatar
dcy committed
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
              </div>
            </div>
          </div>
          <el-form v-if="form.type == 2 && form.darkReturnType == 1">
            <el-form-item label="商品类型" v-for="(item,index) in darkServantAndProductForm" :key="index">
              <div class="shanping-type">
                <div class="tool">
                  <custom-selectors-dictionary v-model="item.productType" :options="commodity" label-key="titleZh"
                                               value-key="id"></custom-selectors-dictionary>
                </div>
                <div class="box">
                  <div class="label">
                    商品特性
                  </div>
                  <div class="custom">
                    <custom-selectors-dictionary v-model="item.productAttr" label-key="attrName" value-key="id"
                                                 :options="commodityType"></custom-selectors-dictionary>
                  </div>
                </div>
                <div class="box">
                  <div class="label">
                    佣金
                  </div>
                  <div class="custom">
                    <el-input v-model="item.darkCommission"></el-input>
                  </div>
                  <div class="custom">
                    <custom-selectors-dictionary v-model="item.darkCurrency"
                                                 :options="getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"></custom-selectors-dictionary>
                  </div>
                  <div class="custom">
134 135
                    <custom-selectors-dictionary v-model="item.darkUnit" label-key="titleZh" value-key="id"
                                                 :options="weightList"></custom-selectors-dictionary>
dcy's avatar
dcy committed
136 137 138 139 140 141 142 143 144
                  </div>
                </div>
                <div>
                  <el-button type="primary" @click="addToFn(1)" v-if="darkServantAndProductForm.length - 1 === index">添加</el-button>
                </div>
              </div>
            </el-form-item>
          </el-form>
          <div class="column" v-if="form.type == 2 && form.darkReturnType == 2">
dcy's avatar
dcy committed
145
            <div style="margin-bottom: 10px" v-for="(item,index) in darkServantAndRebateForm" :key="index">
dcy's avatar
dcy committed
146 147 148 149 150 151 152 153 154 155 156 157 158 159
              <div class="label">
                佣金:
              </div>
              <div class="content">
                <div class="item label"></div>
                <div class="item">
                  <el-input v-model="item.amount"></el-input>
                </div>
                <div class="item">
                  <custom-selectors-dictionary v-model="item.amountCurrency"
                                               :options="getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"></custom-selectors-dictionary>
                </div>
                <div class="item">
                  <custom-selectors-dictionary v-model="item.amountUnit"
160
                                               label-key="titleZh" value-key="id" :options="weightList"></custom-selectors-dictionary>
dcy's avatar
dcy committed
161 162 163 164 165 166 167 168 169 170 171 172 173
                </div>
              </div>
              <div class="content">
                <div class="item label"></div>
                <div class="item">
                  <el-input v-model="item.refund"></el-input>
                </div>
                <div class="item">
                  <custom-selectors-dictionary v-model="item.refundCurrency"
                                               :options="getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"></custom-selectors-dictionary>
                </div>
                <div class="item">
                  <custom-selectors-dictionary v-model="item.refundUnit"
174
                                               label-key="titleZh" value-key="id"     :options="weightList"></custom-selectors-dictionary>
dcy's avatar
dcy committed
175 176
                </div>
              </div>
dcy's avatar
dcy committed
177
              <el-button type="primary" @click="addToFn(2)" v-show="darkServantAndRebateForm.length -1 === index">添加</el-button>
dcy's avatar
dcy committed
178 179 180 181 182 183 184 185 186 187 188 189 190 191
            </div>
          </div>
          <div class="mingServantAndDarkServant" v-if="form.type == 3">
            <div class="box">
              <div class="label">暗佣佣金:</div>
              <div class="content">
                <div class="item">
                  <el-input v-model="mingServantAnddarkServant[0].refund"></el-input>
                </div>
                <div class="item">
                  <custom-selectors-dictionary v-model="mingServantAnddarkServant[0].refundCurrency"
                                               :options="getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"></custom-selectors-dictionary>
                </div>
                <div class="item">
192 193
                  <custom-selectors-dictionary label-key="titleZh" value-key="id" v-model="mingServantAnddarkServant[0].refundUnit"
                                               :options="weightList"></custom-selectors-dictionary>
dcy's avatar
dcy committed
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
                </div>
              </div>
            </div>
            <div class="title">
              <span class="label">成本价:</span>原价-暗佣佣金
            </div>
            <div class="box">
              <div class="label">销售价上调:</div>
              <div class="content">
                <div class="item">
                  <el-input v-model="mingServantAnddarkServant[0].darkAdjustCommission"></el-input>
                </div>
                <div class="item">
                  <custom-selectors-dictionary v-model="mingServantAnddarkServant[0].darkAdjustCurrency"
                                               :options="getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"></custom-selectors-dictionary>
                </div>
                <div class="item">
211 212
                  <custom-selectors-dictionary v-model="mingServantAnddarkServant[0].darkAdjustUnit" label-key="titleZh" value-key="id"
                                               :options="weightList"></custom-selectors-dictionary>
dcy's avatar
dcy committed
213 214 215 216 217 218 219
                </div>
              </div>
            </div>
            <div class="title">
              <span class="label"> 实际佣金返点:</span>销售价-成本价
            </div>
          </div>
220 221
        </el-col>
      </el-row>
dcy's avatar
dcy committed
222 223 224
      <el-row>
        <el-col :span="12" style="margin-top: 20px">
          <el-button style="width:200px;margin: 0 40px" type="primary" @click="submitForm">确定</el-button>
dcy's avatar
dcy committed
225
          <el-button style="width:200px" @click="cancel">取消</el-button>
226 227
        </el-col>
      </el-row>
dcy's avatar
dcy committed
228 229 230 231 232
    </el-form>
  </div>
</template>

<script>
233
import {
dcy's avatar
dcy committed
234
  itemTypeListApi,
dcy's avatar
dcy committed
235
  customerDropDownList, commodityList,createCommission,getCustomerCommission,commissionGetByCustomerId,updateCustomerCommissionInfo
dcy's avatar
dcy committed
236

237 238 239
} from "@/api/ecw/customerCommissionInfo";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import customSelectorsDictionary from "./customSelectorsDictionary"
dcy's avatar
dcy committed
240
import {getTradeCityList} from "@/api/ecw/region";
dcy's avatar
dcy committed
241
import RoutersSelector from "@/components/RoutersSelector"
dcy's avatar
dcy committed
242
import CustomersSelector from "@/components/CustomersSelector";
243
import {getUnitList} from "@/api/ecw/unit";
dcy's avatar
dcy committed
244 245 246 247

export default {
  name: "CustomerCommissionInfo",
  components: {
dcy's avatar
dcy committed
248
    customSelectorsDictionary,
dcy's avatar
dcy committed
249 250
    RoutersSelector,
    CustomersSelector
dcy's avatar
dcy committed
251 252 253
  },
  data() {
    return {
dcy's avatar
dcy committed
254
      value: '',
dcy's avatar
dcy committed
255
      isSubmit:false,
256 257
      getDictDatas,
      DICT_TYPE,
dcy's avatar
dcy committed
258 259
      commodityType: [],
      tradeCityList: [],
dcy's avatar
dcy committed
260
      // 表单参数
dcy's avatar
dcy committed
261
      form: {
dcy's avatar
dcy committed
262 263 264 265
        approval: undefined,//	产品备案
        customerCommissionInfoBaseVOList: [],//	佣金详情
        customerId: undefined,//客户id
        customsType: undefined,//报关类别:我司全代:1,自单代报:2,混合报关:3
dcy's avatar
dcy committed
266
        darkReturnType: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_DARK_TYPE)[0].value),//	暗佣类型 1产品2达标
dcy's avatar
dcy committed
267
        departureId: undefined,//	始发地id
dcy's avatar
dcy committed
268 269
        objectiveId: undefined,//目的地id
        transportId:undefined,//运输方式
dcy's avatar
dcy committed
270
        type: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_TYPE)[1].value),//	佣金类型
dcy's avatar
dcy committed
271
      },
dcy's avatar
dcy committed
272 273 274
      //明佣
      mingServantFrom: [
        {
dcy's avatar
dcy committed
275
          refund: 0,
dcy's avatar
dcy committed
276
          refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),
277
          refundUnit:undefined,
dcy's avatar
dcy committed
278 279 280 281 282
        }
      ],
      //暗佣金+产品
      darkServantAndProductForm: [
        {
dcy's avatar
dcy committed
283
          productType:undefined,//商品类型
dcy's avatar
dcy committed
284
          productAttr: undefined,//暗佣 产品属性
dcy's avatar
dcy committed
285
          darkCommission: 0,//暗佣 佣金
dcy's avatar
dcy committed
286
          darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣 货币
287
          darkUnit:undefined,//	暗佣 单位
dcy's avatar
dcy committed
288 289
        }
      ],
dcy's avatar
dcy committed
290
      //暗佣+达标返佣
dcy's avatar
dcy committed
291 292
      darkServantAndRebateForm: [
        {
dcy's avatar
dcy committed
293
          amount: 0,//	暗佣-满减金额
dcy's avatar
dcy committed
294
          amountCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣-满减金额对应货币
295
          amountUnit:undefined,//	暗佣-满减金额对应单位,
dcy's avatar
dcy committed
296
          refund: 0,//暗佣-满之后返还金额
dcy's avatar
dcy committed
297
          refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣-满之后返还金额的货币
298
          refundUnit:undefined,//暗佣-满之后返还金额的单位
dcy's avatar
dcy committed
299 300 301 302 303
        }
      ],
      //暗佣+明金
      mingServantAnddarkServant: [
        {
dcy's avatar
dcy committed
304
          refund: 0,//	暗佣+明佣 上调金额
dcy's avatar
dcy committed
305
          refundCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣+明佣 上调对应的货币
306
          refundUnit: undefined,//暗佣+明佣 上调对应的单位
dcy's avatar
dcy committed
307
          darkAdjustCommission: 0,//暗佣+明佣 上调金额
dcy's avatar
dcy committed
308
          darkAdjustCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣+明佣 上调对应的货币
309
          darkAdjustUnit:undefined,//暗佣+明佣 上调对应的单位
dcy's avatar
dcy committed
310 311 312 313 314 315 316
        }
      ],
      customerForm: {
        defaultContactName: undefined,
        defaultContactPhone: undefined,
        name: undefined,
        number: undefined,
dcy's avatar
dcy committed
317
      },
dcy's avatar
dcy committed
318 319
      customeList: [],
      commodity: [],
dcy's avatar
dcy committed
320 321
      // 表单校验
      rules: {
dcy's avatar
dcy committed
322
        customerId: [{required: true, message: "客户名称不能为空", trigger: "blur"}],
dcy's avatar
dcy committed
323
        departureId: [{required: true, message: "始发地不能为空", trigger: "blur"}],
dcy's avatar
dcy committed
324
        transportId: [{required: true, message: "运输方式不能为空", trigger: "blur"}],
dcy's avatar
dcy committed
325 326 327
        objectiveId: [{required: true, message: "目的地不能为空", trigger: "blur"}],
        customsType: [{required: true, message: "报关类别不能为空", trigger: "blur"}],
        approval: [{required: true, message: "产品备案不能为空", trigger: "blur"}],
dcy's avatar
dcy committed
328
      },
dcy's avatar
dcy committed
329 330
      customerShow: true,
      id:undefined,//佣金id
331 332
      weightList:[]

dcy's avatar
dcy committed
333 334
    };
  },
dcy's avatar
dcy committed
335 336 337 338 339 340 341 342
  computed:{
    importCityList(){
      return this.tradeCityList.filter(item => item.type == 1)
    },
    exportCityList(){
      return this.tradeCityList.filter(item => item.type == 2)
    },
  },
dcy's avatar
dcy committed
343
  created() {
344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380
    //重量单位
    getUnitList().then(r =>{
      if(r.code === 0){
        this.weightList = r.data
        this.$set(this.mingServantFrom,0, {
            refund: 0,
            refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),
            refundUnit: parseInt(this.weightList[0].id),})
        this.$set(this.darkServantAndProductForm, 0,
          {
            productType: undefined,//商品类型
            productAttr: undefined,//暗佣 产品属性
            darkCommission: 0,//暗佣 佣金
            darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣 货币
            darkUnit: parseInt(this.weightList[0].id),//	暗佣 单位
          })
        this.$set(this.darkServantAndRebateForm, 0,
          {
            amount: 0,//	暗佣-满减金额
            amountCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣-满减金额对应货币
            amountUnit:parseInt (this.weightList[0].id),//	暗佣-满减金额对应单位,
            refund: 0,//暗佣-满之后返还金额
            refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣-满之后返还金额的货币
            refundUnit:parseInt(this.weightList[0].id),//暗佣-满之后返还金额的单位
          })
        this.$set(this.mingServantAnddarkServant, 0,
          {
            refund: 0,//	暗佣+明佣 上调金额
            refundCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣+明佣 上调对应的货币
            refundUnit: parseInt(this.weightList[0].id),//暗佣+明佣 上调对应的单位
            darkAdjustCommission: 0,//暗佣+明佣 上调金额
            darkAdjustCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣+明佣 上调对应的货币
            darkAdjustUnit:parseInt(this.weightList[0].id),//暗佣+明佣 上调对应的单位
          })
      }
    })

dcy's avatar
dcy committed
381
    this.getCustomeList();
dcy's avatar
dcy committed
382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
    if(this.$route.params.dictId != 0){
      commissionGetByCustomerId(this.$route.params.dictId).then(r => {
        if(r.code === 0){
          let f = this.form;
          let p = r.data;
          f.type =  p.type;
          f.approval = p.approval;
          f.customerId = p.customerId;
          f.customsType = p.customsType;
          f.darkReturnType = p.darkReturnType;
          f.departureId = p.departureId;
          f.objectiveId = p.objectiveId;
          f.transportId = p.transportId;
          this.form = f;
          this.customerForm.name = p.customerName;
          this.id = r.data.id;
        }
        getCustomerCommission(r.data.id).then(r =>{
          console.log(r,'客户佣金详情');
          if(r.code != 0 || r.data.length == 0) return
          if(this.form.type == 1){
               //明佣
               this.mingServantFrom = r.data
          }else if(this.form.type == 2){
            console.log('暗—-产')
             if(this.form.darkReturnType == 1){
             //  暗佣+产品
               console.log('1234')
             this.darkServantAndProductForm = r.data
             }else {
            //   暗佣+达标返佣
            this.darkServantAndRebateForm = r.data
             }
          }else {
            // 名佣+返佣
            this.mingServantAnddarkServant =r.data
          }
        })
      })
    }else {

    }
dcy's avatar
dcy committed
424
    this.getItemType();
dcy's avatar
dcy committed
425 426
    this.productAttrFn();

dcy's avatar
dcy committed
427 428
    getTradeCityList().then(res => {
      this.tradeCityList = res.data
dcy's avatar
dcy committed
429
    })
dcy's avatar
dcy committed
430 431
  },
  methods: {
dcy's avatar
dcy committed
432 433
    // /** 查询列表客户*/
    getCustomeList() {
dcy's avatar
dcy committed
434
      customerDropDownList(this.customerForm).then(res => {
dcy's avatar
dcy committed
435
        console.log(res);
dcy's avatar
dcy committed
436 437
        if (res.code === 0) {
          this.customeList = res.data
dcy's avatar
dcy committed
438 439 440
        }
      })
    },
dcy's avatar
dcy committed
441
    remoteMethod(val) {
dcy's avatar
dcy committed
442
      this.customerForm.name = val;
dcy's avatar
dcy committed
443
    },
dcy's avatar
dcy committed
444 445 446 447
    changefn(val){
      console.log(val,'val')
      this.form.customerId = val;
    },
dcy's avatar
dcy committed
448 449
    /** 取消按钮 */
    cancel() {
dcy's avatar
dcy committed
450
      this.$router.go(-1);
dcy's avatar
dcy committed
451 452 453 454
    },
    /** 表单重置 */
    reset() {
      this.form = {
dcy's avatar
dcy committed
455 456 457 458 459 460 461 462
        approval: undefined,
        customerCommissionInfoBaseVOList: [],
        customerId: undefined,//客户id
        customsType: undefined,//报关类别:我司全代:1,自单代报:2,混合报关:3
        darkReturnType: this.getDictDatas(this.DICT_TYPE.COMMISSION_DARK_TYPE)[0].value,//	暗佣类型 1产品2达标
        departureId: undefined,//	始发地id
        objectiveId: undefined,//	运输方式
        type: this.getDictDatas(this.DICT_TYPE.COMMISSION_TYPE)[1].value,//	佣金类型
dcy's avatar
dcy committed
463 464 465
      };
      this.resetForm("form");
    },
dcy's avatar
dcy committed
466 467 468
    //添加多条
    addToFn(val){
      if(val === 1){
dcy's avatar
dcy committed
469
         this.darkServantAndProductForm.push({
dcy's avatar
dcy committed
470 471 472
           productType:this.commodity[0].id,//商品类型
           productAttr: this.commodityType[0].id,//暗佣 产品属性
           darkCommission: 0,//暗佣 佣金
dcy's avatar
dcy committed
473 474
           darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣 货币
           darkUnit:this.darkServantAndProductForm[0].darkUnit,//	暗佣 单位
dcy's avatar
dcy committed
475 476 477
         })
      }else {
        this.darkServantAndRebateForm.push( {
dcy's avatar
dcy committed
478
          amount: 0,//	暗佣-满减金额
dcy's avatar
dcy committed
479
          amountCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//	暗佣-满减金额对应货币
480
          amountUnit: parseInt(this.weightList[0].id),//	暗佣-满减金额对应单位,
dcy's avatar
dcy committed
481
          refund: 0,//暗佣-满之后返还金额
482
          refundCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣-满之后返还金额的货币
dcy's avatar
dcy committed
483
          refundUnit: this.darkServantAndRebateForm[0].refundUnit,//暗佣-满之后返还金额的单位
dcy's avatar
dcy committed
484 485
        })
      }
dcy's avatar
dcy committed
486 487 488
    },
    /** 提交按钮 */
    submitForm() {
dcy's avatar
dcy committed
489
      this.$refs.form.validate ((valid)=>{
dcy's avatar
dcy committed
490
        this.isSubmit = true;
dcy's avatar
dcy committed
491 492 493 494 495 496 497 498 499 500 501
        if(!valid)return
        if (this.form.type == 1) {
          this.form.customerCommissionInfoBaseVOList = this.mingServantFrom
        } else if (this.form.type == 2) {
          if (this.form.darkReturnType == 1) {
            this.form.customerCommissionInfoBaseVOList = this.darkServantAndProductForm
          } else {
            this.form.customerCommissionInfoBaseVOList = this.darkServantAndRebateForm
          }
        } else if (this.form.type == 3) {
          this.form.customerCommissionInfoBaseVOList = this.mingServantAnddarkServant
dcy's avatar
dcy committed
502
        }
dcy's avatar
dcy committed
503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525
        if(this.$route.params.dictId == 0){
          createCommission(this.form).then(r =>{
            console.log('添加',r)
            if(r.code == 0){
              this.$message('添加成功!');
              this.$router.go(-1)
            }
          })
        }else {
          let p = {
            id :this.id,
            customerCommissionInfoBaseVOList:this.form.customerCommissionInfoBaseVOList
          }
          p.customerCommissionInfoBaseVOList.forEach(item => {item.commissionId = this.$route.params.dictId})
          updateCustomerCommissionInfo(p).then(r=>{
            console.log('更新',r)
            if(r.code == 0){
              this.$router.go(-1)
              this.$message('修改成功!');
            }
          })
        }

dcy's avatar
dcy committed
526
      })
dcy's avatar
dcy committed
527
    },
dcy's avatar
dcy committed
528 529 530 531
    // 商品类型
    getItemType() {
      itemTypeListApi().then(res => {
        if (res.code === 0) {
dcy's avatar
dcy committed
532
          this.commodityType = res.data;
dcy's avatar
dcy committed
533 534 535
          if(this.$route.params.dictId == 0 || (this.form.type == 2 && this.form.darkReturnType != 1)){
            this.darkServantAndProductForm.forEach(item =>{item.productAttr = this.commodityType[0].id})
          }
dcy's avatar
dcy committed
536 537
        }
      })
538
    },
dcy's avatar
dcy committed
539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
    //商品属性
    productAttrFn(){
      commodityList().then(res => {
        this.commodity = res.data
        if(this.$route.params.dictId == 0 || (this.form.type == 2 && this.form.darkReturnType != 1)){
          this.darkServantAndProductForm.forEach(item=>{item.productType =this.commodity[0].id})
        }
      })
    }
  },
  watch:{
    form:{
      handler(val){
      if(this.isSubmit){
        this.$refs.form.validate()
      }
      },
      deep:true,
    },
    'form.transportId':function (val){
559
            if(!this.weightList) return
dcy's avatar
dcy committed
560
            if((val == 1 || val == 2)){
561
           let index =  this.weightList.findIndex(item => item.id == 7);
dcy's avatar
dcy committed
562
              this.mingServantFrom.forEach(item =>{
563
                item.refundUnit = parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
564 565
              })
              this.mingServantAnddarkServant.forEach(item =>{
566 567
                item.refundUnit =parseInt(this.weightList[index].id);
                item.darkAdjustUnit =parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
568 569
              })
              this.darkServantAndRebateForm.forEach(item =>{
570
                item.refundUnit = parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
571 572
              })
              this.darkServantAndProductForm.forEach(item =>{
573
                item.darkUnit = parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
574 575
              })
            }else {
576
              let index =  this.weightList.findIndex(item => item.id == 6);
dcy's avatar
dcy committed
577
              this.mingServantFrom.forEach(item =>{
578
                item.refundUnit =parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
579 580
              })
              this.mingServantAnddarkServant.forEach(item =>{
581 582
                item.refundUnit = parseInt( this.weightList[index].id);
                item.darkAdjustUnit =parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
583 584
              })
              this.darkServantAndRebateForm.forEach(item =>{
585
                item.refundUnit =parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
586 587
              })
              this.darkServantAndProductForm.forEach(item =>{
588
                item.darkUnit = parseInt(this.weightList[index].id);
dcy's avatar
dcy committed
589 590 591 592
              })
            }

}
dcy's avatar
dcy committed
593 594 595
  }
};
</script>
596
<style lang="scss" scoped>
dcy's avatar
dcy committed
597 598 599 600 601 602 603 604 605 606
.mingServantAndDarkServant {
  margin-top: 10px;
  .box {
    display: flex;
    align-items: center;
    .label {
      vertical-align: middle;
      font-size: 14px;
      color: #606266;
      font-weight: 700;
dcy's avatar
dcy committed
607
      width: 100px;
dcy's avatar
dcy committed
608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670
    }

    .content {
      display: flex;
      align-items: center;

      .item {
        margin-right: 20px;
      }
    }
  }

  .title {
    margin: 15px 0;

    .label {
      vertical-align: middle;
      font-size: 14px;
      color: #606266;
      font-weight: 700;
    }
  }
}
.ming-servant {
  display: flex;
  align-items: center;

  .label {
    width: 50px;
    white-space: nowrap;
    vertical-align: middle;
    font-size: 14px;
    color: #606266;
    font-weight: 700;
  }

  .content {
    display: flex;

    div {
      margin-right: 10px;
    }

  }
}

.shanping-type {
  display: flex;

  .tool {
    width: 150px;
  }

  .box {
    margin-left: 20px;
    display: flex;

    .label {
      width: 80px;
      vertical-align: middle;
      font-size: 14px;
      color: #606266;
      font-weight: 700;
dcy's avatar
dcy committed
671
      text-align: left;
dcy's avatar
dcy committed
672 673 674 675 676 677 678 679 680 681 682 683 684 685 686
    }

    .custom {
      width: 150px;
      margin-right: 10px;
    }
  }
}

.column {
  div {
    display: flex;
    align-items: center;

    .label {
dcy's avatar
dcy committed
687
      width: 26px;
dcy's avatar
dcy committed
688 689 690 691 692
      white-space: nowrap;
      vertical-align: middle;
      font-size: 14px;
      color: #606266;
      font-weight: 700;
dcy's avatar
dcy committed
693
      width: 100px;
dcy's avatar
dcy committed
694 695 696 697 698 699 700 701 702 703
    }
  }

  .content {
    display: flex;
    align-items: center;
    margin-right: 10px;

    .item {
      text-align: right;
dcy's avatar
dcy committed
704
      width: 130px;
dcy's avatar
dcy committed
705 706 707 708 709 710 711 712 713
      margin: 0 5px;
    }

    .label {
      width: 50px;
    }
  }

}
714
</style>