clrDocument.vue 4.65 KB
Newer Older
huhaiqing's avatar
huhaiqing committed
1 2 3
<template>
  <div>
    <el-form ref="cDocForm" :model="cDocObj" label-width="100px">
4 5
      <el-form-item :label="$t('出单方式')">
        <el-select v-model="cDocObj.cdOutBillType" :placeholder="$t('请选择出单方式')">
huhaiqing's avatar
huhaiqing committed
6 7
          <el-option v-for="item in method" :key="item.value" :label="item.label" :value="item.value"></el-option>
        </el-select>
huhaiqing's avatar
huhaiqing committed
8 9
      </el-form-item>

huhaiqing's avatar
huhaiqing committed
10
      <template v-if="cDocObj.cdOutBillType === '1'">
11 12
        <el-form-item :label="$t('电放时间')">
          <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdElectricTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
huhaiqing's avatar
huhaiqing committed
13
        </el-form-item>
14
        <el-form-item :label="$t('电放凭证附件')">
huhaiqing's avatar
huhaiqing committed
15 16 17 18 19
          <FileUpload :limit="1" :isShowTip=false v-model="cDocObj.cdElectricVoucher" :fileType="fileType" />
        </el-form-item>
      </template>

      <template v-if="cDocObj.cdOutBillType === '2'">
20 21
        <el-form-item :label="$t('寄送时间')">
          <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdSendTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
huhaiqing's avatar
huhaiqing committed
22
        </el-form-item>
23 24
        <el-form-item :label="$t('快递单号')">
          <el-input v-model="cDocObj.cdBillNo" :placeholder="$t('请输入快递单号')"></el-input>
huhaiqing's avatar
huhaiqing committed
25 26 27
        </el-form-item>
      </template>

huhaiqing's avatar
huhaiqing committed
28
      <el-form-item label="agent list">
huhaiqing's avatar
huhaiqing committed
29
        <el-radio-group v-model="cDocObj.cdAgentlistType">
huhaiqing's avatar
huhaiqing committed
30 31 32 33
          <el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item>
34
        <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdAgentlistTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
huhaiqing's avatar
huhaiqing committed
35 36
      </el-form-item>
      <el-form-item>
huhaiqing's avatar
huhaiqing committed
37
        <FileUpload :limit="1" :isShowTip=false v-model="cDocObj.cdAgentlistFile" :fileType="fileType" />
huhaiqing's avatar
huhaiqing committed
38 39 40
      </el-form-item>

      <el-form-item label="soncap">
huhaiqing's avatar
huhaiqing committed
41
        <el-radio-group v-model="cDocObj.cdSoncapType">
huhaiqing's avatar
huhaiqing committed
42 43 44 45
          <el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item>
46
        <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdSoncapTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
huhaiqing's avatar
huhaiqing committed
47 48
      </el-form-item>
      <el-form-item>
huhaiqing's avatar
huhaiqing committed
49
        <FileUpload :limit="1" :isShowTip=false v-model="cDocObj.cdSoncapFile" :fileType="fileType" />
huhaiqing's avatar
huhaiqing committed
50 51 52 53
      </el-form-item>

    </el-form>
    <el-row class="operate-button">
54 55 56
      <el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
      <el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
      <el-button @click="cancel">{{$t('关闭')}}</el-button>
huhaiqing's avatar
huhaiqing committed
57 58 59 60 61
    </el-row>
  </div>
</template>

<script>
huhaiqing's avatar
huhaiqing committed
62
import { clearanceDocCreate } from "@/api/ecw/boxSea";
huhaiqing's avatar
huhaiqing committed
63 64 65 66 67
import {
  constantDict,
  formatDateStr,
  formatNumberString,
  fileTypes,
huhaiqing's avatar
huhaiqing committed
68
  serviceMsg,
huhaiqing's avatar
huhaiqing committed
69 70 71
} from "../utils";
import FileUpload from "@/components/FileUpload";

huhaiqing's avatar
huhaiqing committed
72 73 74 75
/**
 * 清关文件
 */
export default {
huhaiqing's avatar
huhaiqing committed
76
  name: "clrDocument",
huhaiqing's avatar
huhaiqing committed
77
  inheritAttrs: false,
huhaiqing's avatar
huhaiqing committed
78
  components: { FileUpload },
huhaiqing's avatar
huhaiqing committed
79 80 81
  data() {
    return {
      // 清关文件对象
huhaiqing's avatar
huhaiqing committed
82
      cDocObj: {},
huhaiqing's avatar
huhaiqing committed
83
      // 出单方式
huhaiqing's avatar
huhaiqing committed
84
      method: constantDict.billingMethod,
huhaiqing's avatar
huhaiqing committed
85
      // 选项
huhaiqing's avatar
huhaiqing committed
86
      status: constantDict.isFile,
huhaiqing's avatar
huhaiqing committed
87 88
      // 文件类型
      fileType: fileTypes,
huhaiqing's avatar
huhaiqing committed
89 90
    };
  },
huhaiqing's avatar
huhaiqing committed
91 92 93 94 95 96 97 98 99 100 101 102 103 104
  created() {
    const voName = this.$attrs.currNode.voName;
    let oldData = { ...this.$attrs.shipmentObj[voName] };
    oldData = formatDateStr(oldData, [
      "cdElectricTime",
      "cdSendTime",
      "cdAgentlistTime",
      "cdSoncapTime",
    ]);
    oldData = formatNumberString(oldData, [
      "cdOutBillType",
      "cdAgentlistType",
      "cdSoncapType",
    ]);
huhaiqing's avatar
huhaiqing committed
105 106 107 108 109
    this.cDocObj = {
      ...oldData,
      cdOutBillType:
        oldData.cdOutBillType === 0 ? undefined : oldData.cdOutBillType,
    };
zhoutong's avatar
zhoutong committed
110
    if(!this.$attrs.shipmentObj.clearanceDocInfo){
111
      this.$set(this.cDocObj,'cdOutBillType',this.$attrs.shipmentObj.clearanceDocInfo?.cdOutBillType||undefined)
zhoutong's avatar
zhoutong committed
112
    }
huhaiqing's avatar
huhaiqing committed
113
  },
huhaiqing's avatar
huhaiqing committed
114 115
  methods: {
    /** 提交 */
huhaiqing's avatar
huhaiqing committed
116
    onSubmit(operateType) {
huhaiqing's avatar
huhaiqing committed
117 118
      this.$refs["cDocForm"].validate((valid) => {
        if (valid) {
huhaiqing's avatar
huhaiqing committed
119 120 121 122 123 124
          clearanceDocCreate({
            ...this.cDocObj,
            shipmentId: this.$attrs.shipmentObj.id,
            operateType,
          }).then((res) => {
            serviceMsg(res, this).then(() => {
huhaiqing's avatar
huhaiqing committed
125
              this.cancel("submit");
huhaiqing's avatar
huhaiqing committed
126 127
            });
          });
huhaiqing's avatar
huhaiqing committed
128 129 130 131
        }
      });
    },
    /** 取消 */
huhaiqing's avatar
huhaiqing committed
132 133
    cancel(type) {
      this.$emit("closeDialog", type);
huhaiqing's avatar
huhaiqing committed
134 135 136 137 138 139 140
    },
  },
};
</script>

<style lang="scss" scoped>
</style>