Preferential.vue 4.57 KB
Newer Older
lanbaoming's avatar
lanbaoming committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 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 134 135 136 137 138 139 140
<template>
  <el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="title">
    <el-form ref="form" :model="form" label-width="120px" :rules="rules">

      <!-- 海运是重货,空运是泡货 -->
      <template v-if="applyType == 4">
        <el-form-item :label="$t('原重货标准')">
          {{form.orgWVolume}} kg/cbm
        </el-form-item>
        <el-form-item :label="$t('现重货标准')" style="width: 400px" prop="clearanceFreight">
          <el-input v-model="form.wvolume" type="number" class="w-100" /> kg/cbm
        </el-form-item>
      </template>
      <template v-else-if="applyType == 5">
        <el-form-item :label="$t('原泡货标准')">
          {{form.orgVWeight}} kg
        </el-form-item>
        <el-form-item :label="$t('现泡货标准')" style="width: 400px" prop="clearanceFreight">
          <el-input v-model="form.vweight" type="number" class="w-100" /> kg
        </el-form-item>
      </template>
      <template v-else-if="applyType == 29">
        <el-form-item :label="$t('现订单泡重')">
          {{form.orgVWeight}} kg
        </el-form-item>
        <el-form-item :label="$t('新订单泡重')" style="width: 400px" prop="clearanceFreight">
          <el-input v-model="form.vweight" type="number" class="w-100" /> kg
        </el-form-item>
      </template>
    </el-form>
    <div class="page-title">{{ $t('审批流程') }}</div>
    <work-flow :xmlkey="workFlowKey" v-model="ccIdArr" />
    <div v-if="form.applyStatus != 1">
      <el-button type="primary" @click="handleSubmit">{{ $t('提交') }}</el-button>
    </div>
    <div v-else>
      <el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + form.formId)">
        <dict-tag :type="DICT_TYPE.APPLY_STATUS" :value="form.applyStatus" />
      </el-button>

      <el-button type="primary" @click="cancelAudit">{{ $t('取消审核') }}</el-button>
      <el-button type="default" @click="closeDialog">{{ $t('返回') }}</el-button>
    </div>
  </el-dialog>
</template>

<script>
import {createOrderSpecial, getOrderSpecial} from "@/api/ecw/order"
import {getUnitList} from "@/api/ecw/unit"
import {getChannel, getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductType } from '@/api/ecw/productType'
import WorkFlow from '@/components/WorkFlow'
import {cancelProcessInstance} from '@/api/bpm/processInstance'

export default {
  name: "OrderSpecialDiscount",
  props: {
    order: Object,
    orderItem: Object,
    applyType: Number // 4是重货标准优惠5是泡货标准优惠,29泡货优惠
  },
  components: {
    WorkFlow
  },
  created() {
    // 查看详情,列表进来的
    this.getOrderSpecial()

  },
  data() {
    return {
      // applyType: 2, //1是优惠申请2是管理折扣3是佣金设置4是重货优惠5是泡货优惠
      ccIdArr: [],
      form: {

      },
      rules:{

      },
    }
  },
  watch:{
    ccIdArr(){
      this.$set(this.form, 'ccIds', this.ccIdArr.join(','))
    }
  },
  computed:{
    title(){
      return {
        4: this.$t('重货标准优惠申请'),
        5: this.$t('泡货标准优惠申请'),
        29: this.$t('申请泡重优惠')
      }[this.applyType]
      // return this.applyType == 4 ? this.$t('重货优惠申请') : this.$t('泡货优惠申请')
    },
    // 流程key
    workFlowKey(){
      // 泡货优惠申请审核
      if(this.applyType == 29){
        return 'shipment_bulky_cargo'
      }
      // 订单特价审核
      return 'special_apply'
    }
  },
  methods: {
    handleSubmit(){
      this.$refs.form.validate().then(res => {
        createOrderSpecial(Object.assign({}, this.form, {applyType: this.applyType})).then(res => {
          this.$message.success(this.$t('提交成功'))
          this.$emit('success')
        })
      })
    },
    getOrderSpecial(){
      getOrderSpecial(this.order.orderId, this.applyType, {}).then(r => {
        this.form = r.data
      })
    },
    closeDialog(){
      this.$emit('close')
    },
    cancelAudit(){
      this.$prompt(this.$t('请输入取消原因?'), this.$t("取消审批"), {
        type: 'warning',
        confirmButtonText: this.$t("确定"),
        cancelButtonText: this.$t("取消"),
        inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/, // 判断非空,且非空格
        inputErrorMessage: this.$t("取消原因不能为空"),
      }).then(({ value }) => {
        return cancelProcessInstance(this.form.formId, value);
      }).then(() => {
        this.$modal.msgSuccess(this.$t("取消成功"));
        this.closeDialog()
      })
    },
  }
}
</script>