|
@@ -0,0 +1,937 @@
|
|
|
+<template>
|
|
|
+ <a-card :bordered="false">
|
|
|
+ <a-page-header
|
|
|
+ :title="formData.id ? '二线核注单台账信息' : '新增二线核注单台账信息'"
|
|
|
+ @back="onClose"
|
|
|
+ >
|
|
|
+ <template #extra>
|
|
|
+ <a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
|
|
|
+ <a-popconfirm title="请确认是否保存?" @confirm="onTemp" v-if="!isView">
|
|
|
+ <a-button style="margin-right: 8px" :loading="submitLoading">保存</a-button>
|
|
|
+ </a-popconfirm>
|
|
|
+ <a-popconfirm title="请确认是否申报?" @confirm="onSubmit" v-if="!isView">
|
|
|
+ <a-button type="primary" :loading="submitLoading">申报</a-button>
|
|
|
+ </a-popconfirm>
|
|
|
+ </template>
|
|
|
+ </a-page-header>
|
|
|
+ <a-collapse v-model:activeKey="activeKey" expand-icon-position="end">
|
|
|
+ <a-collapse-panel key="1" header="基本信息">
|
|
|
+ <a-form ref="formRef" :model="formData" :rules="formRules">
|
|
|
+ <a-row :gutter="16">
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="台账编号:" name="tzCode">
|
|
|
+ <a-select v-model:value="formData.tzCode" :disabled="isView" placeholder="请选择台账编号" :options="tzOptions" show-search allow-clear option-filter-prop="label" @change="onChangTz"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="台账性质:" name="tzNature">
|
|
|
+ <a-select v-model:value="formData.tzNature" :disabled="true" placeholder="请选择台账性质" :options="tzTypeOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="使用单位:" name="useDept">
|
|
|
+ <a-input v-model:value="formData.useDept" :disabled="isView" placeholder="请输入使用单位" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="统一社会信用代码:" name="companyCode">
|
|
|
+ <a-input v-model:value="formData.companyCode" :disabled="true" placeholder="请输入统一社会信用代码" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="海关备案编号:" name="companyMainHgCode">
|
|
|
+ <a-input v-model:value="formData.companyMainHgCode" :disabled="true" placeholder="请输入海关备案编号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管方式:" name="regulaMethod">
|
|
|
+ <a-input v-model:value="formData.regulaMethod" :disabled="isView" placeholder="请输入监管方式" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="运输方式:" name="ysfs">
|
|
|
+ <a-select v-model:value="formData.ysfs" :disabled="isView" placeholder="请输入运输方式" :options="ysfsOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="关联清单编号:" name="glqdCode">
|
|
|
+ <a-input v-model:value="formData.glqdCode" :disabled="isView" placeholder="请输入关联清单编号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="对应报关申报编号:" name="dybgCode">
|
|
|
+ <a-input v-model:value="formData.dybgCode" :disabled="isView" placeholder="请输入对应报关申报编号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="对应报关单申报单位名称:" name="dybgDept">
|
|
|
+ <a-input v-model:value="formData.dybgDept" :disabled="isView" placeholder="请输入对应报关单申报单位名称" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="24">
|
|
|
+ <a-form-item label="备注:" name="remark">
|
|
|
+ <a-textarea v-model:value="formData.remark" :disabled="isView" placeholder="请输入备注" :rows="4" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </a-collapse-panel>
|
|
|
+ <a-collapse-panel key="2" header="表体信息">
|
|
|
+ <a-button type="primary" @click="onBodyReset" v-if="!isView">重置</a-button>
|
|
|
+ <a-form ref="bodyFormRef" :model="bodyData" :rules="bodyRules" style="margin-bottom: 20px;">
|
|
|
+ <a-row :gutter="16">
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="商品序号:" name="productOrderCode">
|
|
|
+ <a-input v-model:value="bodyData.productOrderCode" :disabled="isView" placeholder="请输入商品序号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="报关单商品序号:" name="bgdProductOrderCode">
|
|
|
+ <a-input v-model:value="bodyData.bgdProductOrderCode" :disabled="isView" placeholder="请输入报关单商品序号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="备案序号:" name="recordCode">
|
|
|
+ <a-input v-model:value="bodyData.recordCode" :disabled="isView" placeholder="请输入备案序号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="通知书序号:" name="noticeCode">
|
|
|
+ <a-input v-model:value="bodyData.noticeCode" :disabled="isView" placeholder="请输入通知书序号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="商品编码:" name="productCode">
|
|
|
+ <a-input v-model:value="bodyData.productCode" :disabled="isView" placeholder="请输入商品编码" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="商品名称:" name="productName">
|
|
|
+ <a-input v-model:value="bodyData.productName" :disabled="isView" placeholder="请输入商品名称" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="规格型号:" name="specModel">
|
|
|
+ <a-input v-model:value="bodyData.specModel" :disabled="isView" placeholder="请输入规格型号" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="申报数量:" name="sbNum">
|
|
|
+ <a-input v-model:value="bodyData.sbNum" :disabled="isView" placeholder="请输入申报数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="申报计量单位:" name="declareUnit">
|
|
|
+ <a-select v-model:value="bodyData.declareUnit" :disabled="isView" placeholder="请选择申报计量单位" :options="declareUnitOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="企业申报单价:" name="companySbPrice">
|
|
|
+ <a-input v-model:value="bodyData.companySbPrice" :disabled="isView" placeholder="请输入企业申报单价" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="企业申报总价:" name="companySbCount">
|
|
|
+ <a-input v-model:value="bodyData.companySbCount" :disabled="isView" placeholder="请输入企业申报总价" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="备案单价:" name="recordPrice">
|
|
|
+ <a-input v-model:value="bodyData.recordPrice" :disabled="isView" placeholder="请输入备案单价" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="备案总价:" name="recordTotalPrice">
|
|
|
+ <a-input v-model:value="bodyData.recordTotalPrice" :disabled="isView" placeholder="请输入备案总价" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="币制:" name="currency">
|
|
|
+ <a-input v-model:value="bodyData.currency" :disabled="isView" placeholder="请输入币制" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="原产国(地区):" name="originCountry">
|
|
|
+ <a-select v-model:value="bodyData.originCountry" :disabled="isView" placeholder="请选择原产国(地区)" :options="originCountryOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="法定数量:" name="legalQuantity">
|
|
|
+ <a-input-number v-model:value="bodyData.legalQuantity" :disabled="isView" :min="1" :max="10000" style="width: 100%" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="法定计量单位:" name="legalUnit">
|
|
|
+ <a-select v-model:value="bodyData.legalUnit" :disabled="isView" placeholder="请选择法定计量单位" :options="legalUnitOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="第二法定数量:" name="secondLegalQuantity">
|
|
|
+ <a-input v-model:value="bodyData.secondLegalQuantity" :disabled="isView" placeholder="请输入第二法定数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="法定第二计量:" name="legalSecondUnit">
|
|
|
+ <a-select v-model:value="bodyData.legalSecondUnit" :disabled="isView" placeholder="请选择法定第二计量" :options="legalSecondUnitOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="美元统计总金额:" name="myCount">
|
|
|
+ <a-input v-model:value="bodyData.myCount" :disabled="isView" placeholder="请输入美元统计总金额" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="重量比例因子:" name="weightRatioFactor">
|
|
|
+ <a-input v-model:value="bodyData.weightRatioFactor" :disabled="isView" placeholder="请输入重量比例因子" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="第一比例因子:" name="firstRatioFactor">
|
|
|
+ <a-input v-model:value="bodyData.firstRatioFactor" :disabled="isView" placeholder="请输入第一比例因子" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="第二比例因子:" name="secondRatioFactor">
|
|
|
+ <a-input v-model:value="bodyData.secondRatioFactor" :disabled="isView" placeholder="请输入第二比例因子" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="毛重:" name="grossWeight">
|
|
|
+ <a-input v-model:value="bodyData.grossWeight" :disabled="isView" placeholder="请输入毛重" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="净重:" name="netWeight">
|
|
|
+ <a-input v-model:value="bodyData.netWeight" :disabled="isView" placeholder="请输入净重" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="征免方式:" name="zmMethod">
|
|
|
+ <a-select v-model:value="bodyData.zmMethod" :disabled="isView" placeholder="请选择征免方式" :options="zmMethodOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="最终目的国(地区):" name="zzmdg">
|
|
|
+ <a-select v-model:value="bodyData.zzmdg" :disabled="isView" placeholder="请选择最终目的国(地区)" :options="zzmdgOptions" show-search allow-clear option-filter-prop="label"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管年限到期日:" name="jgnxDqr">
|
|
|
+ <a-date-picker v-model:value="bodyData.jgnxDqr" :disabled="isView" value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择监管年限到期日" style="width: 100%" allow-clear/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管年限起始日:" name="jgnxQsr">
|
|
|
+ <a-date-picker v-model:value="bodyData.jgnxQsr" :disabled="isView" value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择监管年限起始日" style="width: 100%" allow-clear/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="进账库存数量:" name="jzkcNum">
|
|
|
+ <a-input v-model:value="bodyData.jzkcNum" :disabled="isView" placeholder="请输入进账库存数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管年限自用数量:" name="jgnxZysl">
|
|
|
+ <a-input v-model:value="bodyData.jgnxZysl" :disabled="isView" placeholder="请输入监管年限自用数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="解除年限数量(已解除监管/总数):" name="jcjgslYjc">
|
|
|
+ <a-input v-model:value="bodyData.jcjgslYjc" :disabled="isView" placeholder="请输入解除年限数量(已解除监管/总数)" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="到期解除监管数量:" name="dqjcjgsl">
|
|
|
+ <a-input v-model:value="bodyData.dqjcjgsl" :disabled="isView" placeholder="请输入到期解除监管数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="解除年限数量(二线出区):" name="jcjgslSecondline">
|
|
|
+ <a-input v-model:value="bodyData.jcjgslSecondline" :disabled="isView" placeholder="请输入解除年限数量(二线出区)" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="解除监管数量(补税):" name="jcjgslBs">
|
|
|
+ <a-input v-model:value="bodyData.jcjgslBs" :disabled="isView" placeholder="请输入解除监管数量(补税)" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="解除监管数量(区内转让):" name="jcjgslQnzr">
|
|
|
+ <a-input v-model:value="bodyData.jcjgslQnzr" :disabled="isView" placeholder="请输入解除监管数量(区内转让)" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="解除监管数量(转至区外):" name="jcjgslZzqw">
|
|
|
+ <a-input v-model:value="bodyData.jcjgslZzqw" :disabled="isView" placeholder="请输入解除监管数量(转至区外)" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="解除监管数量(基建物资核销):" name="jcjgslJjwzhx">
|
|
|
+ <a-input v-model:value="bodyData.jcjgslJjwzhx" :disabled="isView" placeholder="请输入解除监管数量(基建物资核销)" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管年限内区内转移数量:" name="jgnxnQnzysl">
|
|
|
+ <a-input v-model:value="bodyData.jgnxnQnzysl" :disabled="isView" placeholder="请输入监管年限内区内转移数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管年限内抵押贷款数量:" name="jgnxnDydksl">
|
|
|
+ <a-input v-model:value="bodyData.jgnxnDydksl" :disabled="isView" placeholder="请输入监管年限内抵押贷款数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="监管年限内临时移作他用数量:" name="jgnxnLszztysl">
|
|
|
+ <a-input v-model:value="bodyData.jgnxnLszztysl" :disabled="isView" placeholder="请输入监管年限内临时移作他用数量" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="8">
|
|
|
+ <a-form-item label="修改标志:" name="xgbz">
|
|
|
+ <a-input v-model:value="formData.xgbz" :disabled="isView" placeholder="请输入修改标志" allow-clear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ <template v-if="!isView">
|
|
|
+ <a-button type="primary" style="margin-right: 8px;" v-if="!(bodyData.id || bodyData.__index)" @click="onBodyAdd">插入</a-button>
|
|
|
+ <a-button type="primary" style="margin-right: 8px;" v-else @click="onBodyEdit">保存</a-button>
|
|
|
+ <xn-batch-delete
|
|
|
+ :selectedRowKeys="bodySelectedRowKeys"
|
|
|
+ @batchDelete="deleteBatchBody"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <a-table
|
|
|
+ style="margin-top: 10px"
|
|
|
+ bordered
|
|
|
+ :dataSource="bodyList"
|
|
|
+ :columns="bodyColumns"
|
|
|
+ :pagination="false"
|
|
|
+ :scroll="{ x: 2000 }"
|
|
|
+ :row-selection="bodyOptions.rowSelection"
|
|
|
+ >
|
|
|
+ <template #bodyCell="{ column, record, index }">
|
|
|
+ <template v-if="column.dataIndex === 'declareUnit'">
|
|
|
+ {{ $TOOL.dictTypeData('measurement unit', record.declareUnit) }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'originCountry'">
|
|
|
+ {{ $TOOL.dictTypeData('address', record.originCountry) }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'legalUnit'">
|
|
|
+ {{ $TOOL.dictTypeData('measurement unit', record.legalUnit) }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'legalSecondUnit'">
|
|
|
+ {{ $TOOL.dictTypeData('measurement unit', record.legalSecondUnit) }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'zmMethod'">
|
|
|
+ {{ $TOOL.dictTypeData('zm_type', record.zmMethod) }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'zzmdg'">
|
|
|
+ {{ $TOOL.dictTypeData('address', record.zzmdg) }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'action'">
|
|
|
+ <template v-if="isView">
|
|
|
+ <a-button type="link" primary size="small" @click="onBodyReset(), bodyData = cloneDeep(record)">查看</a-button>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <a-button type="link" primary size="small" @click="onBodyReset(), bodyData = cloneDeep(record)">编辑</a-button>
|
|
|
+ <a-button type="link" danger size="small" @click="onBodyDel(index)">删除</a-button>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </a-table>
|
|
|
+ </a-collapse-panel>
|
|
|
+ <a-collapse-panel key="3" header="附件信息">
|
|
|
+ <template v-if="!isView">
|
|
|
+ <div>
|
|
|
+ 友情提示<br/>
|
|
|
+ 1、附件大小要求不超过4M,如果文件过大,建议拆分多个上传;<br/>
|
|
|
+ 2、附件格式要求:PDF文件;<br/>
|
|
|
+ 3、同一附件类型可以上传多个附件;<br/>
|
|
|
+ 4、附件传输过程中会出现传输失败的情况,请随时关注附件传输状态;<br/>
|
|
|
+ 5、要求上传复印件的可上传原件的扫描件。
|
|
|
+ </div>
|
|
|
+ <xn-upload ref="ref_upload" v-model:value="fileData.fileUrl" @onChange="fileChange" accept=".pdf" v-if="showFileUpload"/>
|
|
|
+ <xn-batch-delete
|
|
|
+ :selectedRowKeys="fileSelectedRowKeys"
|
|
|
+ @batchDelete="deleteBatchFile"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <a-table
|
|
|
+ style="margin-top: 10px"
|
|
|
+ bordered
|
|
|
+ :dataSource="fileList"
|
|
|
+ :columns="fileColumns"
|
|
|
+ :pagination="false"
|
|
|
+ :row-selection="fileOptions.rowSelection"
|
|
|
+ >
|
|
|
+ <template #bodyCell="{ column, record, index, text }">
|
|
|
+ <template v-if="['attachmentName', 'attachmentFormat', 'attachmentContent'].includes(column.dataIndex)">
|
|
|
+ <div>
|
|
|
+ <a-input
|
|
|
+ v-if="!isView"
|
|
|
+ v-model:value="record[column.dataIndex]"
|
|
|
+ style="margin: -5px 0"
|
|
|
+ />
|
|
|
+ <template v-else>
|
|
|
+ {{ text }}
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-if="column.dataIndex === 'action'">
|
|
|
+ <template v-if="isView">
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <a-button type="link" danger size="small" @click="onFileDel(index)" v-if="!isView">删除</a-button>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </a-table>
|
|
|
+ </a-collapse-panel>
|
|
|
+ </a-collapse>
|
|
|
+ </a-card>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup name="qySecondlineHzdTzDetail">
|
|
|
+ import tool from '@/utils/tool'
|
|
|
+ import { cloneDeep } from 'lodash-es'
|
|
|
+ import { required } from '@/utils/formRules'
|
|
|
+ import qySecondlineHzdTzApi from '@/api/yqyc/qySecondlineHzdTzApi'
|
|
|
+ import {message, Modal} from "ant-design-vue";
|
|
|
+ import {createVNode} from "vue";
|
|
|
+ import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
|
|
|
+ import qySecondlineHfdApi from "@/api/yqyc/qySecondlineHfdApi";
|
|
|
+ // 抽屉状态
|
|
|
+ const { proxy } = getCurrentInstance()
|
|
|
+ const emit = defineEmits({ successful: null, onClose: null })
|
|
|
+ const formRef = ref()
|
|
|
+ // 表单数据
|
|
|
+ const formData = ref({})
|
|
|
+ const submitLoading = ref(false)
|
|
|
+ const isView = ref(false)
|
|
|
+ const tzTypeOptions = ref([])
|
|
|
+ const statusOptions = ref([])
|
|
|
+ const ysfsOptions = ref([])
|
|
|
+ const declareUnitOptions = ref([])
|
|
|
+ const originCountryOptions = ref([])
|
|
|
+ const legalUnitOptions = ref([])
|
|
|
+ const legalSecondUnitOptions = ref([])
|
|
|
+ const zmMethodOptions = ref([])
|
|
|
+ const zzmdgOptions = ref([])
|
|
|
+ const tzOptions = ref([])
|
|
|
+ const activeKey = ref('1')
|
|
|
+ // 打开抽屉
|
|
|
+ const onOpen = (record, view = false, copy) => {
|
|
|
+ isView.value = view
|
|
|
+ if (record) {
|
|
|
+ qySecondlineHzdTzApi.qySecondlineHzdTzDetail({id: record.id}).then(res => {
|
|
|
+ formData.value = res.baseInfo
|
|
|
+ bodyList.value = res.productList
|
|
|
+ fileList.value = res.attachmentList
|
|
|
+ if (copy) {
|
|
|
+ delete formData.value.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ qySecondlineHzdTzApi.qySecondlineHzdTzQyRecordInfo().then(res => {
|
|
|
+ tzOptions.value = res.map(v => Object.assign(v, {label: v.tzCode, value: v.tzCode}))
|
|
|
+ })
|
|
|
+ tzTypeOptions.value = tool.dictList('tzlx')
|
|
|
+ statusOptions.value = tool.dictList('djzt')
|
|
|
+ ysfsOptions.value = tool.dictList('trans_type')
|
|
|
+ declareUnitOptions.value = tool.dictList('measurement unit')
|
|
|
+ originCountryOptions.value = tool.dictList('address')
|
|
|
+ legalUnitOptions.value = tool.dictList('measurement unit')
|
|
|
+ legalSecondUnitOptions.value = tool.dictList('measurement unit')
|
|
|
+ zmMethodOptions.value = tool.dictList('zm_type')
|
|
|
+ zzmdgOptions.value = tool.dictList('address')
|
|
|
+ }
|
|
|
+ // 关闭抽屉
|
|
|
+ const onClose = () => {
|
|
|
+ formRef.value.resetFields()
|
|
|
+ formData.value = {}
|
|
|
+ isView.value = true
|
|
|
+ emit('onClose')
|
|
|
+ }
|
|
|
+ // 默认要校验的
|
|
|
+ const formRules = {
|
|
|
+ dybgDept: [required('请输入对应报关单申报单位名称')],
|
|
|
+ }
|
|
|
+ // 验证并提交数据
|
|
|
+ const onSubmit = () => {
|
|
|
+ formRef.value
|
|
|
+ .validate()
|
|
|
+ .then(() => {
|
|
|
+ submitLoading.value = true
|
|
|
+ const params = {
|
|
|
+ baseInfo: Object.assign(formData.value, {status: '2'}),
|
|
|
+ productList: bodyList.value,
|
|
|
+ attachmentList: fileList.value,
|
|
|
+ }
|
|
|
+ qySecondlineHzdTzApi.qySecondlineHzdTzSubmitForm(params, formData.value.id).then(() => {
|
|
|
+ onClose()
|
|
|
+ emit('successful')
|
|
|
+ }).finally(() => {
|
|
|
+ submitLoading.value = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(() => {})
|
|
|
+ }
|
|
|
+ const onTemp = () => {
|
|
|
+ formRef.value
|
|
|
+ .validate()
|
|
|
+ .then(() => {
|
|
|
+ submitLoading.value = true
|
|
|
+ const params = {
|
|
|
+ baseInfo: Object.assign(formData.value, {status: '1'}),
|
|
|
+ productList: bodyList.value,
|
|
|
+ attachmentList: fileList.value,
|
|
|
+ }
|
|
|
+ qySecondlineHzdTzApi.qySecondlineHzdTzSubmitForm(params, formData.value.id).then(() => {
|
|
|
+ onClose()
|
|
|
+ emit('successful')
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ submitLoading.value = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const bodyFormRef = ref()
|
|
|
+ const bodyData = ref({})
|
|
|
+ const bodySelectedRowKeys = ref([])
|
|
|
+ const bodyList = ref([])
|
|
|
+ // 列表选择配置
|
|
|
+ const bodyOptions = {
|
|
|
+ rowSelection: {
|
|
|
+ onChange: (selectedRowKey, selectedRows) => {
|
|
|
+ bodySelectedRowKeys.value = selectedRows
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 默认要校验的
|
|
|
+ const bodyRules = {
|
|
|
+ productOrderCode: [required('请输入商品序号')],
|
|
|
+ bgdProductOrderCode: [required('请输入报关单商品序号')],
|
|
|
+ recordCode: [required('请输入备案序号')],
|
|
|
+ noticeCode: [required('请输入通知书序号')],
|
|
|
+ productCode: [required('请输入商品编码')],
|
|
|
+ productName: [required('请输入商品名称')],
|
|
|
+ specModel: [required('请输入规格型号')],
|
|
|
+ sbNum: [required('请输入申报数量')],
|
|
|
+ declareUnit: [required('请输入申报计量单位')],
|
|
|
+ companySbPrice: [required('请输入企业申报单价')],
|
|
|
+ companySbCount: [required('请输入企业申报总价')],
|
|
|
+ recordPrice: [required('请输入备案单价')],
|
|
|
+ recordTotalPrice: [required('请输入备案总价')],
|
|
|
+ currency: [required('请输入币制')],
|
|
|
+ originCountry: [required('请输入原产国(地区)')],
|
|
|
+ legalQuantity: [required('请输入法定数量')],
|
|
|
+ legalUnit: [required('请输入法定计量单位')],
|
|
|
+ grossWeight: [required('请输入毛重')],
|
|
|
+ netWeight: [required('请输入净重')],
|
|
|
+ zmMethod: [required('请输入征免方式')],
|
|
|
+ jgnxDqr: [required('请输入监管年限到期日')],
|
|
|
+ jgnxQsr: [required('请输入监管年限起始日')],
|
|
|
+ jzkcNum: [required('请输入进账库存数量')],
|
|
|
+ }
|
|
|
+ const bodyColumns = [
|
|
|
+ {
|
|
|
+ title: '商品序号',
|
|
|
+ dataIndex: 'productOrderCode',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '报关单商品序号',
|
|
|
+ dataIndex: 'bgdProductOrderCode',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '备案序号',
|
|
|
+ dataIndex: 'recordCode',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '通知书序号',
|
|
|
+ dataIndex: 'noticeCode',
|
|
|
+ width: 120
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '商品编码',
|
|
|
+ dataIndex: 'productCode',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '商品名称',
|
|
|
+ dataIndex: 'productName',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '规格型号',
|
|
|
+ dataIndex: 'specModel',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '申报数量',
|
|
|
+ dataIndex: 'sbNum',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '申报计量单位',
|
|
|
+ dataIndex: 'declareUnit',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '企业申报单价',
|
|
|
+ dataIndex: 'companySbPrice',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '企业申报总价',
|
|
|
+ dataIndex: 'companySbCount',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '备案单价',
|
|
|
+ dataIndex: 'recordPrice',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '备案总价',
|
|
|
+ dataIndex: 'recordTotalPrice',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '币制',
|
|
|
+ dataIndex: 'currency',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '原产国(地区)',
|
|
|
+ dataIndex: 'originCountry',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '法定数量',
|
|
|
+ dataIndex: 'legalQuantity',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '法定计量单位',
|
|
|
+ dataIndex: 'legalUnit',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '第二法定数量',
|
|
|
+ dataIndex: 'secondLegalQuantity',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '法定第二计量',
|
|
|
+ dataIndex: 'legalSecondUnit',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '美元统计总金额',
|
|
|
+ dataIndex: 'myCount',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '重量比例因子',
|
|
|
+ dataIndex: 'weightRatioFactor',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '第一比例因子',
|
|
|
+ dataIndex: 'firstRatioFactor',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '第二比例因子',
|
|
|
+ dataIndex: 'secondRatioFactor',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '毛重',
|
|
|
+ dataIndex: 'grossWeight',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '净重',
|
|
|
+ dataIndex: 'netWeight',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '征免方式',
|
|
|
+ dataIndex: 'zmMethod',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '最终目的国(地区)',
|
|
|
+ dataIndex: 'zzmdg',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限到期日',
|
|
|
+ dataIndex: 'jgnxDqr',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限起始日',
|
|
|
+ dataIndex: 'jgnxQsr',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '进账库存数量',
|
|
|
+ dataIndex: 'jzkcNum',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限自用数量',
|
|
|
+ dataIndex: 'jgnxZysl',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '解除年限数量(已解除监管/总数)',
|
|
|
+ dataIndex: 'jcjgslYjc',
|
|
|
+ width: 240
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '到期解除监管数量',
|
|
|
+ dataIndex: 'dqjcjgsl',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '解除年限数量(二线出区)',
|
|
|
+ dataIndex: 'jcjgslSecondline',
|
|
|
+ width: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '解除监管数量(补税)',
|
|
|
+ dataIndex: 'jcjgslBs',
|
|
|
+ width: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '解除监管数量(区内转让)',
|
|
|
+ dataIndex: 'jcjgslQnzr',
|
|
|
+ width: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '解除监管数量(转至区外)',
|
|
|
+ dataIndex: 'jcjgslZzqw',
|
|
|
+ width: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '解除监管数量(基建物资核销)',
|
|
|
+ dataIndex: 'jcjgslJjwzhx',
|
|
|
+ width: 220
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限内区内转移数量',
|
|
|
+ dataIndex: 'jgnxnQnzysl',
|
|
|
+ width: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限内抵押贷款数量',
|
|
|
+ dataIndex: 'jgnxnDydksl',
|
|
|
+ width: 200
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限起始日',
|
|
|
+ dataIndex: 'jgnxQsy',
|
|
|
+ width: 160
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '监管年限内临时移作他用数量',
|
|
|
+ dataIndex: 'jgnxnLszztysl',
|
|
|
+ width: 220
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '修改标志',
|
|
|
+ dataIndex: 'xgbz',
|
|
|
+ width: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'action',
|
|
|
+ width: 200,
|
|
|
+ fixed: 'right'
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ const onBodyReset = () => {
|
|
|
+ bodyFormRef.value?.resetFields()
|
|
|
+ bodyData.value = {}
|
|
|
+ }
|
|
|
+ const onBodyAdd = () => {
|
|
|
+ bodyFormRef.value
|
|
|
+ .validate()
|
|
|
+ .then(() => {
|
|
|
+ bodyList.value.push(Object.assign({__index: new Date().getTime()}, bodyData.value))
|
|
|
+ onBodyReset()
|
|
|
+ message.success('插入表体信息成功!')
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const onBodyEdit = () => {
|
|
|
+ bodyFormRef.value
|
|
|
+ .validate()
|
|
|
+ .then(() => {
|
|
|
+ let k = ''
|
|
|
+ if (bodyData.value.id) {
|
|
|
+ k = 'id'
|
|
|
+ } else if (bodyData.value.__index) {
|
|
|
+ k = '__index'
|
|
|
+ }
|
|
|
+ if (k) {
|
|
|
+ bodyList.value.forEach(v => {
|
|
|
+ if (v[k] === bodyData.value[k]) {
|
|
|
+ Object.assign(v, bodyData.value)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ onBodyReset()
|
|
|
+ message.success('编辑表体信息成功!')
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const onBodyDel = (recode, index) => {
|
|
|
+ Modal.confirm({
|
|
|
+ title: '提示',
|
|
|
+ icon: createVNode(ExclamationCircleOutlined),
|
|
|
+ content: createVNode('div', { style: 'color:red;' }, `是否要删除${record.productName}?`),
|
|
|
+ centered: true,
|
|
|
+ onOk() {
|
|
|
+ bodyList.value.splice(index, 1)
|
|
|
+ },
|
|
|
+ onCancel() {
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ const deleteBatchBody = () => {
|
|
|
+ bodyList.value = bodyList.value.filter(v => {
|
|
|
+ let flag = true
|
|
|
+ bodySelectedRowKeys.value.forEach(s => {
|
|
|
+ if ((v.id && (v.id === s.id)) || (v.__index && (v.__index === s.__index))) {
|
|
|
+ flag = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return flag
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const ref_upload = ref()
|
|
|
+ const fileData = ref({})
|
|
|
+ const showFileUpload = ref(true)
|
|
|
+ const fileSelectedRowKeys = ref([])
|
|
|
+ const fileList = ref([])
|
|
|
+ // 列表选择配置
|
|
|
+ const fileOptions = {
|
|
|
+ rowSelection: {
|
|
|
+ onChange: (selectedRowKey, selectedRows) => {
|
|
|
+ fileSelectedRowKeys.value = selectedRows
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const fileColumns = [
|
|
|
+ {
|
|
|
+ title: '附件名称',
|
|
|
+ dataIndex: 'attachmentName',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '附件格式',
|
|
|
+ dataIndex: 'attachmentFormat',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '附件内容',
|
|
|
+ dataIndex: 'attachmentContent',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '上传时间',
|
|
|
+ dataIndex: 'uploadTime',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'action',
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ const getFileExtension = (filename) => {
|
|
|
+ // 使用lastIndexOf查找最后一个"."的位置
|
|
|
+ var dotIndex = filename.lastIndexOf(".");
|
|
|
+
|
|
|
+ // 如果找到了".",则提取从"."之后的子串作为后缀名
|
|
|
+ if (dotIndex !== -1 && dotIndex < filename.length - 1) { // 确保"."不是字符串的最后一个字符
|
|
|
+ return filename.slice(dotIndex + 1); // slice从dotIndex+1开始到字符串结束
|
|
|
+ } else {
|
|
|
+ // 如果没有找到".",返回空字符串表示没有后缀
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const fileChange = (file) => {
|
|
|
+ if (file) {
|
|
|
+ const f = ref_upload.value.uploadFileList()[0]
|
|
|
+ fileList.value.push({
|
|
|
+ __index: new Date().getTime(),
|
|
|
+ attachmentUrl: f.url,
|
|
|
+ attachmentName: f.name,
|
|
|
+ attachmentFormat: getFileExtension(f.name),
|
|
|
+ attachmentContent: '',
|
|
|
+ uploadTime: proxy.$util.YMDHms(new Date()),
|
|
|
+ })
|
|
|
+ fileData.value.fileUrl = ''
|
|
|
+ showFileUpload.value = false
|
|
|
+ setTimeout(() => {
|
|
|
+ showFileUpload.value = true
|
|
|
+ }, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const onFileDel = (recode, index) => {
|
|
|
+ Modal.confirm({
|
|
|
+ title: '提示',
|
|
|
+ icon: createVNode(ExclamationCircleOutlined),
|
|
|
+ content: createVNode('div', { style: 'color:red;' }, `是否要删除?`),
|
|
|
+ centered: true,
|
|
|
+ onOk() {
|
|
|
+ fileList.value.splice(index, 1)
|
|
|
+ },
|
|
|
+ onCancel() {
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ const deleteBatchFile = () => {
|
|
|
+ fileList.value = fileList.value.filter(v => {
|
|
|
+ let flag = true
|
|
|
+ fileSelectedRowKeys.value.forEach(s => {
|
|
|
+ if ((v.id && (v.id === s.id)) || (v.__index && (v.__index === s.__index))) {
|
|
|
+ flag = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return flag
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const onChangTz = (val) => {
|
|
|
+ if (val) {
|
|
|
+ const obj = tzOptions.value.filter(v => v.tzCode === val)[0]
|
|
|
+ formData.value.tzNature = obj.tzType
|
|
|
+ formData.value.companyCode = obj.companyCode
|
|
|
+ formData.value.companyMainHgCode = obj.companyMainHgCode
|
|
|
+ qySecondlineHzdTzApi.qySecondlineHzdTzQyProductById({id: obj.id}).then(res => {
|
|
|
+ bodyList.value = res
|
|
|
+ onBodyReset()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ formData.value.tzNature = ''
|
|
|
+ formData.value.companyCode = ''
|
|
|
+ formData.value.companyMainHgCode = ''
|
|
|
+ bodyList.value = []
|
|
|
+ onBodyReset()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 抛出函数
|
|
|
+ defineExpose({
|
|
|
+ onOpen
|
|
|
+ })
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+</style>
|