|
@@ -0,0 +1,1335 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="customer-head">
|
|
|
+ <div class="customer-back">
|
|
|
+ <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
|
|
|
+ @click="backToList(0)">返回列表
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="detailData.id" type="danger" style="border: none;background: none;color: red"
|
|
|
+ icon="el-icon-arrow-left"
|
|
|
+ @click="backToList(1)">返回审核列表
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="add-customer-btn">
|
|
|
+ <el-button class="el-button--small-yh" style="margin-right: 10px" type="primary" size="small"
|
|
|
+ :disabled="form.status>0"
|
|
|
+ @click="confirmEdit" v-if="optionForm.disabled === true">编辑
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown style="margin-right: 10px">
|
|
|
+ <el-button type="primary" size="small">
|
|
|
+ 审核处理<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item @click.native="pleaseCheck" :disabled="!(form.status === 0 || form.status === 4)">请核数据</el-dropdown-item>
|
|
|
+ <el-dropdown-item @click.native="checkScheduleDialog = true,checkId = form.id">审核进度</el-dropdown-item>
|
|
|
+ <el-dropdown-item @click.native="repealCancel" :disabled="!(form.status === 1 || form.status === 5)"
|
|
|
+ v-if="!detailData.id">撤销请核
|
|
|
+ </el-dropdown-item>
|
|
|
+ <!-- <el-dropdown-item @click.native="changeApproveOpen">特殊审批</el-dropdown-item>-->
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ <el-button class="el-button--small-yh" type="primary" size="small" :disabled="form.status>0"
|
|
|
+ @click="editCustomer">
|
|
|
+ 保存数据
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <trade-card title="基础资料" style="margin-top: 50px">
|
|
|
+ <avue-form :option="optionForm" v-model="form" ref="form">
|
|
|
+ <!-- <template slot="purchaseCompanyId" slot-scope="scope">-->
|
|
|
+ <!-- <crop-select v-model="form.purchaseCompanyId"-->
|
|
|
+ <!-- @getCorpData="(row)=>{getGSData(row,['form','purchaseCompanyName'])}" :disabled="scope.disabled"-->
|
|
|
+ <!-- corpType="KH"/>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <template slot="domesticNo" slot-scope="scope">
|
|
|
+ <crop-select v-model="form.domesticNo"
|
|
|
+ label="code"
|
|
|
+ :disabled="scope.disabled"
|
|
|
+ @getCorpData="(row)=>{getGSData(row,['form','domesticName','domesticCustomsNo'])}"
|
|
|
+ corpType="KH"/>
|
|
|
+ </template>
|
|
|
+ <template slot="abroadNo" slot-scope="scope">
|
|
|
+ <crop-select v-model="form.abroadNo"
|
|
|
+ label="code"
|
|
|
+ :disabled="scope.disabled"
|
|
|
+ @getCorpData="(row)=>{getGSData(row,['form','abroadName','abroadCustomsNo'])}"
|
|
|
+ corpType="KH"/>
|
|
|
+ </template>
|
|
|
+ <template slot="consumptionUnitNo" slot-scope="scope">
|
|
|
+ <crop-select v-model="form.consumptionUnitNo"
|
|
|
+ label="code"
|
|
|
+ :disabled="scope.disabled"
|
|
|
+ @getCorpData="(row)=>{getGSData(row,['form','consumptionUnitName','consumptionUnitCustomsNo'])}"
|
|
|
+ corpType="KH"/>
|
|
|
+ </template>
|
|
|
+ <template slot="applicantNo" slot-scope="scope">
|
|
|
+ <crop-select v-model="form.applicantNo"
|
|
|
+ label="code"
|
|
|
+ :disabled="scope.disabled"
|
|
|
+ @getCorpData="(row)=>{getGSData(row,['form','applicantName','applicantCustomsNo'])}"
|
|
|
+ corpType="KH"/>
|
|
|
+ </template>
|
|
|
+ <template slot="countryOriginId" slot-scope="scope">
|
|
|
+ <port-info v-model="form.countryOriginId" type="id" @balabalaTow="(row)=>{balabala(row,['form','countryOriginName'])}" :search="{typeName: '国家'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ <template slot="tradeCountryId" slot-scope="scope">
|
|
|
+ <port-info v-model="form.tradeCountryId" type="id" @balabalaTow="(row)=>{balabala(row,['form','tradeCountryName'])}" :search="{typeName: '国家'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ <template slot="stopOverHarborId" slot-scope="scope">
|
|
|
+ <port-info v-model="form.stopOverHarborId" type="id" @balabalaTow="(row)=>{balabala(row,['form','stopOverHarborName'])}" :search="{typeName: '港口'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ <template slot="portDepartureId" slot-scope="scope">
|
|
|
+ <port-info v-model="form.portDepartureId" type="id" @balabalaTow="(row)=>{balabala(row,['form','portDepartureName'])}" :search="{typeName: '港口'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ <template slot="portEntryId" slot-scope="scope">
|
|
|
+ <port-info v-model="form.portEntryId" type="id" @balabalaTow="(row)=>{balabala(row,['form','portEntryName'])}" :search="{typeName: '港口'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ </avue-form>
|
|
|
+ </trade-card>
|
|
|
+ <trade-card title="商品信息">
|
|
|
+ <avue-crud
|
|
|
+ :option="option"
|
|
|
+ :data="dataList"
|
|
|
+ v-model="formTwo"
|
|
|
+ ref="crud"
|
|
|
+ :key="key"
|
|
|
+ :before-open="beforeOpen"
|
|
|
+ @row-save="rowSave"
|
|
|
+ @row-update="rowUpdate"
|
|
|
+ @resetColumn="resetColumnTwo('crud','option','optionBack',246.1)"
|
|
|
+ @saveColumn="saveColumnTwo('crud','option','optionBack',246.1)">
|
|
|
+ <template slot-scope="{type,size,row,index,disabled}" slot="menu">
|
|
|
+ <el-button icon="el-icon-edit" :size="size" :disabled="disabled" :type="type"
|
|
|
+ @click="$refs.crud.rowEdit(row,index)">编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button icon="el-icon-delete" :size="size" :disabled="disabled" :type="type"
|
|
|
+ @click="rowDel(row,index,'SP')">删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ <!-- <template slot="boxMakingCompanyForm" slot-scope="scope">-->
|
|
|
+ <!-- <crop-select v-model="formTwo.boxMakingCompanyId" :disabled="scope.disabled" :refresh="false"-->
|
|
|
+ <!-- @getCorpData="(row)=>{getGSData(row,['formTwo','boxMakingCompany'])}" corpType="GS"/>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <template slot="originatedCountriesIdForm" slot-scope="scope">
|
|
|
+ <port-info v-model="formTwo.originatedCountriesId" type="id" @balabalaTow="(row)=>{balabala(row,['formTwo','originatedCountriesName'])}" :search="{typeName: '国家'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ <template slot="finalDestinationCountryIdForm" slot-scope="scope">
|
|
|
+ <port-info v-model="formTwo.finalDestinationCountryId" type="id" @balabalaTow="(row)=>{balabala(row,['formTwo','finalDestinationCountryName'])}" :search="{typeName: '国家'}" :disabled="scope.disabled"/>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </trade-card>
|
|
|
+ <trade-card title="集装箱">
|
|
|
+ <avue-crud
|
|
|
+ :option="optionTwo"
|
|
|
+ :data="containerList"
|
|
|
+ v-model="formTwoTwo"
|
|
|
+ ref="crudTwo"
|
|
|
+ :key="key"
|
|
|
+ :before-open="beforeOpen"
|
|
|
+ @row-save="rowSave"
|
|
|
+ @row-update="rowUpdate"
|
|
|
+ @resetColumn="resetColumnTwo('crudTwo','optionTwo','optionTwoBack',246.2)"
|
|
|
+ @saveColumn="saveColumnTwo('crudTwo','optionTwo','optionTwoBack',246.2)">
|
|
|
+ <template slot-scope="{type,size,row,index,disabled}" slot="menu">
|
|
|
+ <el-button icon="el-icon-edit" :size="size" :disabled="disabled" :type="type"
|
|
|
+ @click="$refs.crudTwo.rowEdit(row,index)">编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button icon="el-icon-delete" :size="size" :disabled="disabled" :type="type"
|
|
|
+ @click="rowDel(row,index,'JZX')">删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </trade-card>
|
|
|
+ <trade-card title="单证">
|
|
|
+ <avue-crud
|
|
|
+ :option="optionThree"
|
|
|
+ :data="documentsList"
|
|
|
+ v-model="formTwoThree"
|
|
|
+ ref="crudThree"
|
|
|
+ :key="key"
|
|
|
+ :before-open="beforeOpen"
|
|
|
+ @row-save="rowSave"
|
|
|
+ @row-update="rowUpdate"
|
|
|
+ @resetColumn="resetColumnTwo('crudThree','optionThree','optionThreeBack',246.21)"
|
|
|
+ @saveColumn="saveColumnTwo('crudThree','optionThree','optionThreeBack',246.21)">
|
|
|
+ <template slot-scope="{type,size,row,index,disabled}" slot="menu">
|
|
|
+ <el-button icon="el-icon-edit" :size="size" :disabled="disabled" :type="type"
|
|
|
+ @click="$refs.crudThree.rowEdit(row,index)">编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button icon="el-icon-delete" :size="size" :disabled="disabled" :type="type"
|
|
|
+ @click="rowDel(row,index,'DZ')">删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </trade-card>
|
|
|
+ <!--费用信息组件-->
|
|
|
+ <box-cost v-model="dataListTwo" activeName="second" ref="first" type="BG" @resetTrigger="resetTrigger" url="/api/blade-box-tube/declareCustomsFees/remove"></box-cost>
|
|
|
+ <trade-card title="附件明细">
|
|
|
+ <c-upload
|
|
|
+ basic
|
|
|
+ :data="tradingBoxFilesList"
|
|
|
+ :disabled="disabled"
|
|
|
+ deleteUrl="/api/blade-box-tube/declareCustomsFiles/remove"
|
|
|
+ :enumerationValue="246.3"
|
|
|
+ display
|
|
|
+ />
|
|
|
+ </trade-card>
|
|
|
+ <el-dialog
|
|
|
+ append-to-body
|
|
|
+ title="审批进度"
|
|
|
+ class="el-dialogDeep"
|
|
|
+ :visible.sync="checkScheduleDialog"
|
|
|
+ width="40%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :destroy-on-close="true"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ v-dialog-drag
|
|
|
+ >
|
|
|
+ <check-schedule
|
|
|
+ :checkId="checkId"
|
|
|
+ :batchNo="batchNo"
|
|
|
+ @choceScheduleFun="choceScheduleFun"
|
|
|
+ ></check-schedule>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import {
|
|
|
+ detail,
|
|
|
+ submit,
|
|
|
+ tradingBoxFiles,
|
|
|
+ selectArchivesList,
|
|
|
+ tradingBoxItem,
|
|
|
+ tradingBoxFees,
|
|
|
+ containerItem,
|
|
|
+ documentsItem,
|
|
|
+ pleaseCheck,
|
|
|
+ repealCancel
|
|
|
+} from "@/api/importTrade/importDeclaration.js";
|
|
|
+
|
|
|
+import checkSchedule from "@/components/check/checkSchedule";
|
|
|
+import {selectByName} from "@/api/boxManagement";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "detailsPage",
|
|
|
+ props: {
|
|
|
+ onLoad: Object,
|
|
|
+ detailData: Object
|
|
|
+ },
|
|
|
+ components: {checkSchedule},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ key: 0,
|
|
|
+ formTwoTwo:{},
|
|
|
+ formTwoThree:{},
|
|
|
+ containerList:[],
|
|
|
+ documentsList:[],
|
|
|
+ checkScheduleDialog: false,
|
|
|
+ checkId: '',
|
|
|
+ batchNo: '',
|
|
|
+ breakConfiguration: {
|
|
|
+ multipleChoices: false,
|
|
|
+ multiple: false,
|
|
|
+ disabled: false,
|
|
|
+ searchShow: true,
|
|
|
+ collapseTags: false,
|
|
|
+ clearable: true,
|
|
|
+ placeholder: "请点击右边按钮选择",
|
|
|
+ dicData: []
|
|
|
+ },
|
|
|
+ form: {},
|
|
|
+ formTwo: {},
|
|
|
+ optionForm: {
|
|
|
+ menuBtn: false,
|
|
|
+ span: 6,
|
|
|
+ column: [{
|
|
|
+ label: '申报地海关',
|
|
|
+ prop: 'customsDeclarationPlace',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=customs",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '申报状态',
|
|
|
+ prop: 'declareStatus',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=declare_status",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '统一编号',
|
|
|
+ prop: 'unifiedNumbering'
|
|
|
+ }, {
|
|
|
+ label: '预录入编号',
|
|
|
+ prop: 'preEntryNo'
|
|
|
+ }, {
|
|
|
+ label: '海关编号',
|
|
|
+ prop: 'customsNo'
|
|
|
+ }, {
|
|
|
+ label: '出境关别',
|
|
|
+ prop: 'exitCustoms',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=customs",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '已实施防御性防疫',
|
|
|
+ prop: 'whetherEpidemicPrevention',
|
|
|
+ labelWidth:115,
|
|
|
+ overHidden: true,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicData:[{
|
|
|
+ label:'是',
|
|
|
+ value:1
|
|
|
+ },{
|
|
|
+ label:'否',
|
|
|
+ value:0
|
|
|
+ }]
|
|
|
+ }, {
|
|
|
+ label: '备案号',
|
|
|
+ prop: 'filingNo'
|
|
|
+ }, {
|
|
|
+ label: '合同协议号',
|
|
|
+ prop: 'contractAgreementNo'
|
|
|
+ }, {
|
|
|
+ label: '出口日期',
|
|
|
+ prop: 'importExportDate',
|
|
|
+ type: "date",
|
|
|
+ format: "yyyy-MM-dd",
|
|
|
+ valueFormat: "yyyy-MM-dd HH:mm:ss"
|
|
|
+ }, {
|
|
|
+ label: '启运日期',
|
|
|
+ prop: 'shipmentDate',
|
|
|
+ type: "date",
|
|
|
+ format: "yyyy-MM-dd",
|
|
|
+ valueFormat: "yyyy-MM-dd HH:mm:ss"
|
|
|
+ }, {
|
|
|
+ label: '申报日期',
|
|
|
+ prop: 'declareDate',
|
|
|
+ type: "date",
|
|
|
+ format: "yyyy-MM-dd",
|
|
|
+ valueFormat: "yyyy-MM-dd HH:mm:ss"
|
|
|
+ }, {
|
|
|
+ label: '境内收发货人',
|
|
|
+ prop: 'domesticConsigneeShipper'
|
|
|
+ }, {
|
|
|
+ label: '编码',
|
|
|
+ prop: 'domesticNo'
|
|
|
+ }, {
|
|
|
+ label: '海关号',
|
|
|
+ prop: 'domesticCustomsNo'
|
|
|
+ }, {
|
|
|
+ label: '名称',
|
|
|
+ prop: 'domesticName'
|
|
|
+ }, {
|
|
|
+ label: '境外收发货人',
|
|
|
+ prop: 'abroadConsigneeShipper'
|
|
|
+ }, {
|
|
|
+ label: '编码',
|
|
|
+ prop: 'abroadNo'
|
|
|
+ }, {
|
|
|
+ label: '海关号',
|
|
|
+ prop: 'abroadCustomsNo'
|
|
|
+ }, {
|
|
|
+ label: '名称',
|
|
|
+ prop: 'abroadName'
|
|
|
+ }, {
|
|
|
+ label: '生产销售单位',
|
|
|
+ prop: 'consumptionUnit'
|
|
|
+ }, {
|
|
|
+ label: '编码',
|
|
|
+ prop: 'consumptionUnitNo'
|
|
|
+ }, {
|
|
|
+ label: '海关号',
|
|
|
+ prop: 'consumptionUnitCustomsNo'
|
|
|
+ }, {
|
|
|
+ label: '名称',
|
|
|
+ prop: 'consumptionUnitName'
|
|
|
+ }, {
|
|
|
+ label: '申报单位',
|
|
|
+ prop: 'applicant'
|
|
|
+ }, {
|
|
|
+ label: '编码',
|
|
|
+ prop: 'applicantNo'
|
|
|
+ }, {
|
|
|
+ label: '海关号',
|
|
|
+ prop: 'applicantCustomsNo'
|
|
|
+ }, {
|
|
|
+ label: '名称',
|
|
|
+ prop: 'applicantName'
|
|
|
+ }, {
|
|
|
+ label: '运输方式',
|
|
|
+ prop: 'transportType',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=mode_transport",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '运输工具名称',
|
|
|
+ prop: 'conveyanceName'
|
|
|
+ }, {
|
|
|
+ label: '航次号',
|
|
|
+ prop: 'voyageNo'
|
|
|
+ }, {
|
|
|
+ label: '提运单号',
|
|
|
+ prop: 'deliveryNumbers'
|
|
|
+ }, {
|
|
|
+ label: '监管方式',
|
|
|
+ prop: 'superviseMode',
|
|
|
+ span: 8,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=supervise_mode",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '征免性质',
|
|
|
+ prop: 'expropriationExemptionNature',
|
|
|
+ span: 8,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=expropriation_nature",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '许可证号',
|
|
|
+ prop: 'licenseKey',
|
|
|
+ span: 8
|
|
|
+ }, {
|
|
|
+ label: '启运国',
|
|
|
+ prop: 'countryOriginId',
|
|
|
+ span: 8
|
|
|
+ }, {
|
|
|
+ label: '经停港',
|
|
|
+ prop: 'stopOverHarborId',
|
|
|
+ span: 8
|
|
|
+ }, {
|
|
|
+ label: '成交方式',
|
|
|
+ prop: 'transactionMode',
|
|
|
+ span: 8,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=transaction_mode",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '运费',
|
|
|
+ prop: 'freight',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '方式',
|
|
|
+ prop: 'freightMethod',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=method",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '金额',
|
|
|
+ prop: 'freightAmount',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '币别',
|
|
|
+ prop: 'freightCurrency',
|
|
|
+ overHidden: true,
|
|
|
+ filterable: true,
|
|
|
+ type: "select",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ label: '保险',
|
|
|
+ prop: 'insurance',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '方式',
|
|
|
+ prop: 'insuranceMethod',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=method",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '金额',
|
|
|
+ prop: 'insuranceAmount',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '币别',
|
|
|
+ prop: 'insuranceCurrency',
|
|
|
+ overHidden: true,
|
|
|
+ filterable: true,
|
|
|
+ type: "select",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ label: '杂费',
|
|
|
+ prop: 'sundryFees',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '方式',
|
|
|
+ prop: 'sundryFeesMethod',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=method",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '金额',
|
|
|
+ prop: 'sundryFeesAmount',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '币别',
|
|
|
+ prop: 'sundryFeesCurrency',
|
|
|
+ overHidden: true,
|
|
|
+ filterable: true,
|
|
|
+ type: "select",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ label: '件数',
|
|
|
+ prop: 'number',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '包装',
|
|
|
+ prop: 'packing',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=packing",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '毛重(kg)',
|
|
|
+ prop: 'grossWeight',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '净重(kg)',
|
|
|
+ prop: 'netWeight'
|
|
|
+ }, {
|
|
|
+ label: '贸易国别(地区)',
|
|
|
+ prop: 'tradeCountryId',
|
|
|
+ labelWidth:100
|
|
|
+ }, {
|
|
|
+ label: '集装箱数',
|
|
|
+ prop: 'containersNumber',
|
|
|
+ type: 'number',
|
|
|
+ controls: false,
|
|
|
+ precision:2
|
|
|
+ }, {
|
|
|
+ label: '随附单证',
|
|
|
+ prop: 'documentsAttached'
|
|
|
+ }, {
|
|
|
+ label: '入境口岸',
|
|
|
+ prop: 'portEntryId'
|
|
|
+ }, {
|
|
|
+ label: '货物存放地点',
|
|
|
+ prop: 'storagePlaceGoods'
|
|
|
+ }, {
|
|
|
+ label: '启运港',
|
|
|
+ prop: 'portDepartureId'
|
|
|
+ }, {
|
|
|
+ label: '报关单类型',
|
|
|
+ prop: 'customsDeclarationType',
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=declaration_type",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '备注',
|
|
|
+ prop: 'remark',
|
|
|
+ type: 'textarea',
|
|
|
+ minRows: 3,
|
|
|
+ span: 12
|
|
|
+ }, {
|
|
|
+ label: '唛头',
|
|
|
+ prop: 'shippingMark',
|
|
|
+ type: 'textarea',
|
|
|
+ minRows: 3,
|
|
|
+ span: 12
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ option: {},
|
|
|
+ optionBack: {
|
|
|
+ align: 'center',
|
|
|
+ index: true,
|
|
|
+ addBtnText: "录入明细",
|
|
|
+ refreshBtn: false,
|
|
|
+ addBtn: true,
|
|
|
+ span: 8,
|
|
|
+ addRowBtn: false,
|
|
|
+ cellBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ menuWidth: 140,
|
|
|
+ dialogTop: 25,
|
|
|
+ dialogWidth: "80%",
|
|
|
+ showSummary: true,
|
|
|
+ sumColumnList: [{
|
|
|
+ name: 'amount',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ }],
|
|
|
+ column: [{
|
|
|
+ label: '备案编号',
|
|
|
+ prop: 'goodsFilingNo',
|
|
|
+ width: 100,
|
|
|
+ overHidden: true
|
|
|
+ }, {
|
|
|
+ label: '商品编号',
|
|
|
+ prop: 'commodityNo',
|
|
|
+ width: 100,
|
|
|
+ }, {
|
|
|
+ label: '检验检疫名称',
|
|
|
+ prop: 'quarantineName',
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '商品名称',
|
|
|
+ prop: 'commodityName',
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '规格型号',
|
|
|
+ prop: 'specificationModel',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '成交数量',
|
|
|
+ prop: 'transactionsNumber',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '单位',
|
|
|
+ prop: 'dealUnitMeasurement',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=deal_unit",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '单价',
|
|
|
+ prop: 'price',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '总价',
|
|
|
+ prop: 'totalPrice',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '币制',
|
|
|
+ prop: 'currencySystem',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '法定第一数量',
|
|
|
+ prop: 'statutoryFirstQuantity',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '法定第一计量单位',
|
|
|
+ prop: 'statutoryFirstMeasurement',
|
|
|
+ labelWidth: 120,
|
|
|
+ overHidden: true,
|
|
|
+ width: 120,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=deal_unit",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '加工成品单耗版本号',
|
|
|
+ prop: 'versionNo',
|
|
|
+ labelWidth:125,
|
|
|
+ overHidden: true,
|
|
|
+ width: 130
|
|
|
+ }, {
|
|
|
+ label: '货号',
|
|
|
+ prop: 'articleNo',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '最终目的国',
|
|
|
+ prop: 'finalDestinationCountryId',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '法定第二数量',
|
|
|
+ prop: 'legalSecondQuantity',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '法定第二计量单位',
|
|
|
+ prop: 'legalSecondMeasurement',
|
|
|
+ labelWidth: 120,
|
|
|
+ overHidden: true,
|
|
|
+ width: 120,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=deal_unit",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ label: '原产国',
|
|
|
+ prop: 'originatedCountriesId',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '原产地区',
|
|
|
+ prop: 'regionOrigin',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '境内目的地',
|
|
|
+ prop: 'domesticDestination',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100
|
|
|
+ }, {
|
|
|
+ label: '征免方式',
|
|
|
+ prop: 'expropriationExemptionType',
|
|
|
+ overHidden: true,
|
|
|
+ width: 100,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=expropriation_type",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ optionTwo:{},
|
|
|
+ optionTwoBack: {
|
|
|
+ align: 'center',
|
|
|
+ index: true,
|
|
|
+ addBtnText: "录入明细",
|
|
|
+ refreshBtn: false,
|
|
|
+ addBtn: true,
|
|
|
+ span: 8,
|
|
|
+ addRowBtn: false,
|
|
|
+ cellBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ menuWidth: 140,
|
|
|
+ dialogTop: 25,
|
|
|
+ dialogWidth: "80%",
|
|
|
+ showSummary: true,
|
|
|
+ sumColumnList: [{
|
|
|
+ name: 'amount',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ }],
|
|
|
+ column: [{
|
|
|
+ label: '箱号',
|
|
|
+ prop: 'caseNo',
|
|
|
+ overHidden: true,
|
|
|
+ rules: [{
|
|
|
+ required: true,
|
|
|
+ message: " ",
|
|
|
+ trigger: "blur"
|
|
|
+ }]
|
|
|
+ }, {
|
|
|
+ label: '箱类型',
|
|
|
+ prop: 'boxType',
|
|
|
+ overHidden: true
|
|
|
+ }, {
|
|
|
+ label: '拼箱标识',
|
|
|
+ prop: 'lclSign',
|
|
|
+ overHidden: true,
|
|
|
+ filterable: true,
|
|
|
+ type: 'select',
|
|
|
+ dicData:[{
|
|
|
+ label:'是',
|
|
|
+ value:1
|
|
|
+ },{
|
|
|
+ label:'否',
|
|
|
+ value:0
|
|
|
+ }]
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ optionThree:{},
|
|
|
+ optionThreeBack: {
|
|
|
+ align: 'center',
|
|
|
+ index: true,
|
|
|
+ addBtnText: "录入明细",
|
|
|
+ refreshBtn: false,
|
|
|
+ addBtn: true,
|
|
|
+ span: 8,
|
|
|
+ addRowBtn: false,
|
|
|
+ cellBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ menuWidth: 140,
|
|
|
+ dialogTop: 25,
|
|
|
+ dialogWidth: "80%",
|
|
|
+ showSummary: true,
|
|
|
+ sumColumnList: [{
|
|
|
+ name: 'amount',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ }],
|
|
|
+ column: [{
|
|
|
+ label: '单证代码',
|
|
|
+ prop: 'documentCode',
|
|
|
+ overHidden: true
|
|
|
+ },{
|
|
|
+ label: '单证编码',
|
|
|
+ prop: 'documentNo',
|
|
|
+ overHidden: true
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ dataList: [],
|
|
|
+ dataListTwo: [],
|
|
|
+ tradingBoxFilesList: [],
|
|
|
+ disabled: false,
|
|
|
+ costData: {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ this.option = await this.getColumnData(this.getColumnName(246.1), this.optionBack);
|
|
|
+ this.optionTwo = await this.getColumnData(this.getColumnName(246.2), this.optionTwoBack);
|
|
|
+ this.optionThree = await this.getColumnData(this.getColumnName(246.21), this.optionThreeBack);
|
|
|
+ selectByName("买箱费").then(res => {
|
|
|
+ this.costData = res.data.data
|
|
|
+ })
|
|
|
+ //下拉箱号带出对应信息
|
|
|
+ // this.findObject(this.option.column, "code").change = ({value, column}) => {
|
|
|
+ // selectArchivesList({code: value}).then(res => {
|
|
|
+ // for (let item of res.data.data) {
|
|
|
+ // if (value == item.code) {
|
|
|
+ // this.formTwo = {
|
|
|
+ // boxSource: item.boxSource,
|
|
|
+ // boxStatus: item.boxStatus,
|
|
|
+ // emptyWeight: item.emptyWeight,
|
|
|
+ // grossWeight: item.gorssWeight,
|
|
|
+ // tare: item.tare,
|
|
|
+ // loadingWeight: item.loadingWeight,
|
|
|
+ // volume: item.volume,
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ this.key++
|
|
|
+ if (this.onLoad.id && this.detailData.id) {
|
|
|
+ this.refresh(this.onLoad.id, true)
|
|
|
+ } else if (this.onLoad.id) {
|
|
|
+ this.refresh(this.onLoad.id, true)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ confirmEdit() {
|
|
|
+ if (this.form.status > 0) {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", true)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", true)
|
|
|
+ this.$set(this.option, "addBtn", false)
|
|
|
+ this.$set(this.option, "menu", false)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", false)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", true)
|
|
|
+ this.$set(this.optionTwo, "addBtn", false)
|
|
|
+ this.$set(this.optionTwo, "menu", false)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", true)
|
|
|
+ this.$set(this.optionThree, "addBtn", false)
|
|
|
+ this.$set(this.optionThree, "menu", false)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = true
|
|
|
+ } else {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", false)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", false)
|
|
|
+ this.$set(this.option, "addBtn", true)
|
|
|
+ this.$set(this.option, "menu", true)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", false)
|
|
|
+ this.$set(this.optionTwo, "addBtn", true)
|
|
|
+ this.$set(this.optionTwo, "menu", true)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", false)
|
|
|
+ this.$set(this.optionThree, "addBtn", true)
|
|
|
+ this.$set(this.optionThree, "menu", true)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", true)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 明细删除
|
|
|
+ rowDel(row, index, type) {
|
|
|
+ this.$confirm("确定将选择数据删除?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ if (row.id) {
|
|
|
+ if (type == "SP"){
|
|
|
+ tradingBoxItem(row.id).then(res => {
|
|
|
+ if (res.data.success) {
|
|
|
+ this.$message.success("操作成功!");
|
|
|
+ this.dataList.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (type == "JZX"){
|
|
|
+ containerItem(row.id).then(res => {
|
|
|
+ if (res.data.success) {
|
|
|
+ this.$message.success("操作成功!");
|
|
|
+ this.containerList.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (type == "DZ"){
|
|
|
+ documentsItem(row.id).then(res => {
|
|
|
+ if (res.data.success) {
|
|
|
+ this.$message.success("操作成功!");
|
|
|
+ this.documentsList.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (type == "DZ"){
|
|
|
+ this.dataList.splice(index, 1);
|
|
|
+ }
|
|
|
+ if (type == "JZX"){
|
|
|
+ this.containerList.splice(index, 1);
|
|
|
+ }
|
|
|
+ if (type == "DZ"){
|
|
|
+ this.documentsList.splice(index, 1);
|
|
|
+ }
|
|
|
+ this.$message.success("操作成功!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ )
|
|
|
+ ;
|
|
|
+ },
|
|
|
+ balabala(row,type) {
|
|
|
+ this[type[0]][type[1]] = row.cname
|
|
|
+ },
|
|
|
+ //选择费用名称
|
|
|
+ selectValue(value) {
|
|
|
+ this.formThree.itemName = value.cname
|
|
|
+ },
|
|
|
+ //撤销
|
|
|
+ repealCancel() {
|
|
|
+ this.$confirm("您确定撤回此次申请吗?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ const data = {
|
|
|
+ id: this.form.id,
|
|
|
+ pageLabel: "出口报关",
|
|
|
+ importExportSigns: "BGCK"
|
|
|
+ }
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(255,255,255,0.7)'
|
|
|
+ });
|
|
|
+ repealCancel(data).then(res => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.success('撤回成功')
|
|
|
+ this.refresh(this.form.id)
|
|
|
+ }).catch(() => {
|
|
|
+ loading.close();
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 请核
|
|
|
+ pleaseCheck() {
|
|
|
+ this.$confirm("您确定提交请核申请吗?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ this.$refs["form"].validate((valid, done) => {
|
|
|
+ done()
|
|
|
+ if (valid) {
|
|
|
+ if (this.dataList.length === 0) {
|
|
|
+ return this.$message.error("商品信息不能为空")
|
|
|
+ }
|
|
|
+ if (this.$refs.boxCost.dataList.length === 0) {
|
|
|
+ return this.$message.error("费用信息不能为空")
|
|
|
+ } else {
|
|
|
+ for (let item of this.$refs.boxCost.dataList) {
|
|
|
+ if (!item.id) {
|
|
|
+ return this.$message.error("费用信息未保存")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let data = {
|
|
|
+ ...this.form,
|
|
|
+ itemList: this.dataList,
|
|
|
+ feesList: this.dataListTwo,
|
|
|
+ fileList: this.tradingBoxFilesList,
|
|
|
+ containerList:this.containerList,
|
|
|
+ documentsList:this.documentsList,
|
|
|
+ importExportSigns: "BGCK",
|
|
|
+ }
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(255,255,255,0.7)'
|
|
|
+ });
|
|
|
+ submit(data).then(res => {
|
|
|
+ const data = {
|
|
|
+ id: res.data.data.id,
|
|
|
+ url: '/purchase/exportDeclaration/index',
|
|
|
+ pageStatus: "this.$store.getters.domSaleStatus",
|
|
|
+ pageLabel: "出口报关",
|
|
|
+ checkFlag: 1,
|
|
|
+ }
|
|
|
+ pleaseCheck({
|
|
|
+ ...data,
|
|
|
+ importExportSigns: "BGCK"
|
|
|
+ }).then(rest => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.success('请核成功')
|
|
|
+ this.refresh(res.data.data.id)
|
|
|
+ }).catch(() => {
|
|
|
+ loading.close();
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ loading.close();
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //审核关闭
|
|
|
+ choceScheduleFun() {
|
|
|
+ this.checkScheduleDialog = false
|
|
|
+ },
|
|
|
+ refresh(id, type) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(255,255,255,0.7)'
|
|
|
+ });
|
|
|
+ detail({id: id}).then(res => {
|
|
|
+ this.form = res.data.data
|
|
|
+ this.dataList = res.data.data.itemList
|
|
|
+ this.dataListTwo = res.data.data.feesList
|
|
|
+ this.tradingBoxFilesList = res.data.data.fileList
|
|
|
+ this.containerList = res.data.data.containerList
|
|
|
+ this.documentsList = res.data.data.documentsList
|
|
|
+ delete this.form.containerList
|
|
|
+ delete this.form.documentsList
|
|
|
+ delete this.form.itemList
|
|
|
+ delete this.form.feesList
|
|
|
+ delete this.form.fileList
|
|
|
+ loading.close();
|
|
|
+ if (type) {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", true)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", true)
|
|
|
+ this.$set(this.option, "addBtn", false)
|
|
|
+ this.$set(this.option, "menu", false)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", true)
|
|
|
+ this.$set(this.optionTwo, "addBtn", false)
|
|
|
+ this.$set(this.optionTwo, "menu", false)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", true)
|
|
|
+ this.$set(this.optionThree, "addBtn", false)
|
|
|
+ this.$set(this.optionThree, "menu", false)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", false)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = true
|
|
|
+ } else {
|
|
|
+ if (this.form.status > 0) {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", true)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", true)
|
|
|
+ this.$set(this.option, "addBtn", false)
|
|
|
+ this.$set(this.option, "menu", false)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", true)
|
|
|
+ this.$set(this.optionTwo, "addBtn", false)
|
|
|
+ this.$set(this.optionTwo, "menu", false)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", true)
|
|
|
+ this.$set(this.optionThree, "addBtn", false)
|
|
|
+ this.$set(this.optionThree, "menu", false)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", false)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = true
|
|
|
+ } else {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", false)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", false)
|
|
|
+ this.$set(this.option, "addBtn", true)
|
|
|
+ this.$set(this.option, "menu", true)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", false)
|
|
|
+ this.$set(this.optionTwo, "addBtn", true)
|
|
|
+ this.$set(this.optionTwo, "menu", true)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", false)
|
|
|
+ this.$set(this.optionThree, "addBtn", true)
|
|
|
+ this.$set(this.optionThree, "menu", true)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", true)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //新增修改
|
|
|
+ editCustomer() {
|
|
|
+ this.$refs["form"].validate((valid, done) => {
|
|
|
+ done()
|
|
|
+ if (valid) {
|
|
|
+ let data = {
|
|
|
+ ...this.form,
|
|
|
+ itemList: this.dataList,
|
|
|
+ feesList: this.dataListTwo,
|
|
|
+ fileList: this.tradingBoxFilesList,
|
|
|
+ containerList:this.containerList,
|
|
|
+ documentsList:this.documentsList,
|
|
|
+ importExportSigns: "BGCK"
|
|
|
+ }
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(255,255,255,0.7)'
|
|
|
+ });
|
|
|
+ submit(data).then(res => {
|
|
|
+ if (this.form.id) {
|
|
|
+ this.$message.success("修改成功")
|
|
|
+ } else {
|
|
|
+ this.$message.success("新增成功")
|
|
|
+ }
|
|
|
+ loading.close();
|
|
|
+ this.refresh(res.data.data.id)
|
|
|
+ }).catch(() => {
|
|
|
+ loading.close();
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ rowSave(form, done, loading) {
|
|
|
+ done(form)
|
|
|
+ },
|
|
|
+ rowUpdate(form, index, done, loading) {
|
|
|
+ done(form)
|
|
|
+ },
|
|
|
+ //打开表单前
|
|
|
+ beforeOpen(done, type) {
|
|
|
+ done();
|
|
|
+ },
|
|
|
+ getGSData(row, type) {
|
|
|
+ // this[type[0]][type[1]] = row.cname
|
|
|
+ if (type[1] === "domesticName" || type[1] === "abroadName" || type[1] === "consumptionUnitName" || type[1] === "applicantName"){
|
|
|
+ this[type[0]][type[1]] = row.cname
|
|
|
+ this[type[0]][type[2]] = row.customsNo
|
|
|
+ }
|
|
|
+ },
|
|
|
+ backToList(type) {
|
|
|
+ if (type == 0) {
|
|
|
+ if (this.detailData.id) {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/purchase/exportDeclaration/index'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.$emit("backToList", type);
|
|
|
+ } else if (type == 1) {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/approveData/index'
|
|
|
+ });
|
|
|
+ this.$emit("backToList", type);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //自定义列保存
|
|
|
+ async saveColumnTwo(ref, option, optionBack, code) {
|
|
|
+ /**
|
|
|
+ * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
|
|
|
+ * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
|
|
|
+ * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
|
|
|
+ */
|
|
|
+ const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
|
|
|
+ if (inSave) {
|
|
|
+ this.$message.success("保存成功");
|
|
|
+ //关闭窗口
|
|
|
+ this.$refs[ref].$refs.dialogColumn.columnBox = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ resetTrigger() {
|
|
|
+ if (this.optionForm.disabled == true) {
|
|
|
+ if (this.form.status > 0) {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", true)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", true)
|
|
|
+ this.$set(this.option, "addBtn", false)
|
|
|
+ this.$set(this.option, "menu", false)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", true)
|
|
|
+ this.$set(this.optionTwo, "addBtn", false)
|
|
|
+ this.$set(this.optionTwo, "menu", false)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", true)
|
|
|
+ this.$set(this.optionThree, "addBtn", false)
|
|
|
+ this.$set(this.optionThree, "menu", false)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", false)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = true
|
|
|
+ } else {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", false)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", false)
|
|
|
+ this.$set(this.option, "addBtn", true)
|
|
|
+ this.$set(this.option, "menu", true)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", false)
|
|
|
+ this.$set(this.optionTwo, "addBtn", true)
|
|
|
+ this.$set(this.optionTwo, "menu", true)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", false)
|
|
|
+ this.$set(this.optionThree, "addBtn", true)
|
|
|
+ this.$set(this.optionThree, "menu", true)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", true)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //基础资料
|
|
|
+ this.$set(this.optionForm, "disabled", false)
|
|
|
+ //箱信息
|
|
|
+ this.$set(this.option, "disabled", false)
|
|
|
+ this.$set(this.option, "addBtn", true)
|
|
|
+ this.$set(this.option, "menu", true)
|
|
|
+ //集装箱
|
|
|
+ this.$set(this.optionTwo, "disabled", false)
|
|
|
+ this.$set(this.optionTwo, "addBtn", true)
|
|
|
+ this.$set(this.optionTwo, "menu", true)
|
|
|
+ //单证
|
|
|
+ this.$set(this.optionThree, "disabled", false)
|
|
|
+ this.$set(this.optionThree, "addBtn", true)
|
|
|
+ this.$set(this.optionThree, "menu", true)
|
|
|
+ //费用信息
|
|
|
+ this.$set(this.$refs.boxCost.option, "disabled", false)
|
|
|
+ this.$set(this.$refs.boxCost.option, "addBtn", true)
|
|
|
+ this.$set(this.$refs.boxCost.option, "menu", true)
|
|
|
+ //附件和顶部按钮
|
|
|
+ this.disabled = false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //自定义列重置
|
|
|
+ async resetColumnTwo(ref, option, optionBack, code) {
|
|
|
+ this[option] = this[optionBack];
|
|
|
+ const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
|
|
|
+ if (inSave) {
|
|
|
+ this.resetTrigger()
|
|
|
+ this.$message.success("重置成功");
|
|
|
+ this.$refs[ref].$refs.dialogColumn.columnBox = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+::v-deep .el-form-item {
|
|
|
+ margin-bottom: 8px;
|
|
|
+}
|
|
|
+</style>
|