feiyue.teng

申报数据管理页面添加批量修改功能

......@@ -183,6 +183,14 @@ export function updateDeclareData(data) {
data
})
}
//申报数据批量修改-航班号,运单号
export function bathDeclareDate(data) {
return request({
url: '/bus-customer/declareData/bathDeclareDate',
method: 'post',
data
})
}
......
......@@ -67,6 +67,17 @@ export function uploadCertificate(ecomEntCode, certificate) {
data: formData,
});
}
//上传青岛证书
export function uploadQingdaoCertificate(ecomEntCode, certificate) {
const formData = new FormData();
formData.append('certificate', certificate);
formData.append('ecomEntCode', ecomEntCode);
return request({
url: '/bus-customer/customers/uploadQingDaoCertificate',
method: 'post',
data: formData,
});
}
//删除证书
export function delCertificate(id, certificate) {
......@@ -77,6 +88,15 @@ export function delCertificate(id, certificate) {
params: {id:id,certificate:certificate},
});
}
//删除青岛证书
export function delQingdaoCertificate(id, certificate) {
return request({
url: '/bus-customer/customers/deleteQingdaoCertificate',
method: 'post',
params: {id:id,certificate:certificate},
});
}
//下载证书
export function downloadCertificate(id,filename) {
......
......@@ -24,7 +24,7 @@ router.beforeEach((to, from, next) => {
store.dispatch('GetInfo').then((res) => {
// if (res.success) {
store.dispatch('GenerateRoutes').then(accessRoutes => {
store.dispatch("GetDict", ['DECLARE_F_FLAG', 'MEASUREMENT_UNIT','PACKAGE_TYPE_CODE', 'RECEIPT_STATUS', 'DECLARE_APPTYPE', 'CURRENCY','COUNTRY_REGION_CODE', 'DECLARE_STATISTICS_FLAG', 'ORDER_DECLARATION_PARTY','APP_STATUS']);
store.dispatch("GetDict", ['DECLARE_F_FLAG', 'MEASUREMENT_UNIT','TEMPLATE_TYPE','PACKAGE_TYPE_CODE', 'RECEIPT_STATUS', 'DECLARE_APPTYPE', 'CURRENCY','COUNTRY_REGION_CODE', 'DECLARE_STATISTICS_FLAG', 'ORDER_DECLARATION_PARTY','APP_STATUS']);
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
......
......@@ -101,6 +101,8 @@ service.interceptors.response.use(res => {
dangerouslyUseHTMLString: true
});
return Promise.reject(new Error(msg))
} else if (code === 530) {
store.dispatch('FedLogOut')
} else if (code !== 200) {
// MessageBox.alert(msg, '注意', {
// dangerouslyUseHTMLString: true
......
......@@ -91,26 +91,28 @@
</el-select>
</Formitem>
</el-col>
<!-- DXPID -->
</el-row>
<div v-if="formData.orderRequester=='2'">
<div class="checkTitle">
<el-checkbox v-model="formData.qdCheck" @change="changeQDCheckBox()"></el-checkbox>青岛
</div>
<el-row :gutter="5">
<!-- 公服DXPID -->
<el-col :span="8">
<Formitem label="DXPID" prop="dxpid" type="edit">
<Formitem label="公服DXPID" prop="qingdaoUserDxpid" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-dxpid"
id="inputInner-edit-qingdaoUserDxpid"
resize="none"
v-model="formData.dxpid"
v-model="formData.qingdaoUserDxpid"
clearable
placeholder=""
:disabled="!formData.qdCheck"
></el-input>
</Formitem>
</el-col>
</el-row>
<div v-if="formData.orderRequester=='2'">
<div class="checkTitle">
<el-checkbox v-model="formData.qdCheck" @change="changeQDCheckBox()"></el-checkbox>青岛
</div>
<el-row :gutter="5">
<!-- User ID -->
<el-col :span="8">
<Formitem label="User ID" prop="qingdaoUserId" type="edit">
......@@ -126,15 +128,15 @@
></el-input>
</Formitem>
</el-col>
<!-- DXPID -->
<!-- Key -->
<el-col :span="8">
<Formitem label="DXPID" prop="qingdaoUserDxpid" type="edit">
<Formitem label="Key" prop="qingdaoKey" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-qingdaoUserDxpid"
id="inputInner-edit-qingdaoKey"
resize="none"
v-model="formData.qingdaoUserDxpid"
v-model="formData.qingdaoKey"
clearable
placeholder=""
:disabled="!formData.qdCheck"
......@@ -143,7 +145,7 @@
</el-col>
<!-- DXPID -->
<el-col :span="8">
<Formitem label="单一DXPID" prop="qingdaoDanyiUserDxpid" type="edit">
<Formitem label="山电DXPID" prop="qingdaoDanyiUserDxpid" type="edit">
<el-input
type="text"
class="inputShadow"
......@@ -156,21 +158,91 @@
></el-input>
</Formitem>
</el-col>
<!-- Key -->
<el-col :span="8">
<Formitem label="Key" prop="qingdaoKey" type="edit">
<el-col :span="8">
<Formitem label="山电用户名" prop="qingdaoUserName" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-qingdaoKey"
id="inputInner-edit-qingdaoUserName"
resize="none"
v-model="formData.qingdaoKey"
v-model="formData.qingdaoUserName"
clearable
placeholder=""
:disabled="!formData.qdCheck"
></el-input>
</Formitem>
</el-col>
<!-- DXPID -->
<el-col :span="8">
<Formitem label="山电用户密码" prop="qingdaoUserPassword" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-qingdaoUserPassword"
resize="none"
v-model="formData.qingdaoUserPassword"
clearable
placeholder=""
:disabled="!formData.qdCheck"
></el-input>
</Formitem>
</el-col>
<el-col :span="16" style="padding-right: 5px;">
<div class="uploadItem">
<div class="uploadbox">
<el-button
size="mini"
type="text"
v-loading="loadings.qingdaoUploadLoading"
@click="qingdaoUploadFile"
>上传文件
</el-button>
<el-upload
class="upload-demo"
ref="qingdaoUploadFile"
action="/manager-server/attachment/picImg"
:http-request="qingdaoFileUpload"
:auto-upload="true"
:show-file-list="false"
:data="{}"
:before-upload="qingdaoBeforeUpload"
:on-remove="qingdaoHandleRemove"
:on-success="qingdaoHandleSuccess"
:on-change="qingdaoFileChange"
:file-list="qingdaoFileList"
@clearFiles="clearqingdaoFile"
>
</el-upload>
</div>
<div class="fileList" v-if="formData.qingdaoFile != null || formData.qingdaoCertificare">
<div class="fileList-item">
<div class="uploadbox-fileName" >
<svg-icon
class="el-icon-user-solid"
icon-class="exl"
style="font-size: 18px; color: #de002e"
/>
<Tooltip
:content="formData.qingdaoFile ? formData.qingdaoFile.name : formData.qingdaoCertificare"
:refName="formData.qingdaoFile ? formData.qingdaoFile.name : formData.qingdaoCertificare"
/>
</div>
<div class="uploadbox-option">
<el-popconfirm
:title="$t('entry.upload.delTip')"
@confirm="delQingdaoTypeDFile"
>
<el-button slot="reference" type="text">{{
$t("entry.upload.del")
}}</el-button>
</el-popconfirm>
</div>
</div>
</div>
</div>
</el-col>
</el-row>
<div class="checkTitle">
<el-checkbox v-model="formData.bjCheck" @change="changeBJCheckBox()"></el-checkbox>北京
......@@ -192,6 +264,11 @@
</Formitem>
</el-col>
</el-row>
<section class="dlTitle">
<h3>密码机管理</h3>
</section>
<el-row>
<el-col :span="16" style="padding-right: 5px;">
<div class="uploadItem">
<div class="uploadbox">
<el-button
......@@ -245,6 +322,21 @@
</div>
</div>
</div>
</el-col>
<el-col :span="8">
<Formitem label="证书序列号" prop="dxpid" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-dxpid"
resize="none"
v-model="formData.dxpid"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
</div>
</el-form>
</div>
......@@ -269,8 +361,10 @@
import {
addCustomerData,
uploadCertificate,
uploadQingdaoCertificate,
updateCustomerData,
delCertificate
delCertificate,
delQingdaoCertificate
} from "@/api/system/customer-ai.js";
export default {
props: {
......@@ -303,6 +397,7 @@ export default {
id: null,
beijingDxpid: "",
certificare: "",
qingdaoCertificare: "",
clientId: "",
ecomEntCode: "",
ecomEntEmail: "",
......@@ -317,6 +412,7 @@ export default {
bjCheck: false,
checkboxState:"",//后端要求 北京 和青岛 用这种方式传 第一个是青岛 第二个是北京
file: null,
qingdaoFile: null,
},
rules: {
ecomEntCode: [
......@@ -387,9 +483,11 @@ export default {
dialogLoading: false,
uploadLoading: false,
submitLoading: false,
qingdaoUploadLoading: false,
},
loadingText: "",
fileList: [],
qingdaoFileList: [],
};
},
watch: {
......@@ -426,6 +524,9 @@ export default {
uploadFile() {
this.$refs.uploadFile.$refs["upload-inner"].handleClick();
},
qingdaoUploadFile() {
this.$refs.qingdaoUploadFile.$refs["upload-inner"].handleClick();
},
//文件校验
beforeUpload(val) {
// if (
......@@ -438,6 +539,9 @@ export default {
return true;
// }
},
qingdaoBeforeUpload(val) {
return true;
},
fileUpload({ file }) {
const reader = new FileReader();
......@@ -448,20 +552,44 @@ export default {
file: e.target.result,
name:file.name,
};
this.formData.file = obj;
this.formData.file = obj;
};
},
qingdaoFileUpload({ file }) {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = (e) => {
console.log(e);
let obj = {
file: e.target.result,
name:file.name,
};
this.formData.qingdaoFile = obj;
};
},
fileChange(val) {},
qingdaoFileChange(val) {},
handleSuccess() {},
qingdaoHandleSuccess() {},
clearFile() {},
clearqingdaoFile() {},
handleRemove() {
this.fileList = [];
},
qingdaoHandleRemove() {
this.qingdaoFileList = [];
},
//删除文件
delTypeDFile() {
this.delCertificate();
},
delQingdaoTypeDFile() {
this.delQingdaoCertificate();
},
//删除证书
delCertificate(){
if(this.formData.id && this.formData.certificare){
......@@ -482,6 +610,27 @@ export default {
this.formData.certificare="";
}
},
//删除青岛证书
delQingdaoCertificate(){
if(this.formData.id && this.formData.qingdaoCertificare){
delQingdaoCertificate(this.formData.id,this.formData.qingdaoCertificare).then((res)=>{
if(res.code==200){
this.formData.qingdaoFile = null;
this.formData.qingdaoCertificare="";
// this.msgSuccess("证书删除成功!");
}else{
this.alertErrorMsg("证书删除失败,请联系管理员!");
}
}).catch((err)=>{
console.log(err);
this.alertErrorMsg("证书删除失败,请联系管理员!");
})
}else{
this.formData.qingdaoFile = null;
this.formData.qingdaoCertificare="";
}
},
//查询用户信息详情
searchUserData(id) {
this.loadings.dialogLoading = true;
......@@ -535,6 +684,9 @@ export default {
if (this.formData.file) {
this.uploadCertificate(val.ecomEntCode, this.base64ConvertFile(this.formData.file.file,this.formData.file.name));
}
if (this.formData.qingdaoFile) {
this.uploadQingdaoCertificate(val.ecomEntCode, this.base64ConvertFile(this.formData.qingdaoFile.file,this.formData.qingdaoFile.name));
}
this.msgSuccess("客户添加成功!");
this.close();
......@@ -565,6 +717,24 @@ export default {
this.loadings.dialogLoading = false;
});
},
uploadQingdaoCertificate(ecomEntCode, file) {
uploadQingdaoCertificate(ecomEntCode, file)
.then((uploadRes) => {
if (uploadRes.code === "200") {
// this.msgSuccess("客户添加和证书上传成功!");
this.close();
} else {
this.alertWarningMsg(uploadRes.message);
}
this.loadings.dialogLoading = false;
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
//修改
updateapi(val) {
updateCustomerData(val)
......@@ -575,6 +745,9 @@ export default {
if (this.formData.file) {
this.uploadCertificate(val.ecomEntCode, this.base64ConvertFile(this.formData.file.file,this.formData.file.name));
}
if (this.formData.qingdaoFile) {
this.uploadQingdaoCertificate(val.ecomEntCode, this.base64ConvertFile(this.formData.qingdaoFile.file,this.formData.qingdaoFile.name));
}
this.msgSuccess("客户修改成功!");
this.close();
......@@ -649,11 +822,11 @@ export default {
.uploadbox {
width: 100%;
height: 40px;
height: 50px;
line-height: 20px;
background-color: $formItemBackgroundColor;
padding: 4px 8px;
margin-top: 5px;
// margin-top: 5px;
display: flex;
justify-content: space-between;
......@@ -716,4 +889,13 @@ export default {
margin-right: 10px;
}
}
.dlTitle{
border-bottom: 2px solid #000000;
color:#000000;
margin-bottom: 12px;
h3{
margin-bottom: 8px;
font-weight: 500;
}
}
</style>
......
......@@ -334,7 +334,8 @@ export default {
update(val) {
let data={
...val,
file:null
file:null,
qingdaoFile:null
}
this.dialogTitle = "修改客户";
this.editType = "update";
......
<template>
<div>
<div style="height: 100%;">
<el-form
class="fedexFormStyle"
ref="editForm"
class="fedexFormStyle fedexRowEditFormStyle"
ref="editRowForm"
:model="tableRowformData"
:rules="tableRowFormRules"
label-position="top"
......@@ -236,7 +236,7 @@
></el-input>
</Formitem>
</el-col>
<el-col :span="4">
<el-col :span="8">
<Formitem label="备注" prop="remark">
<el-input
type="text"
......@@ -267,7 +267,47 @@
data() {
return {
tableRowformData:{},
tableRowFormRules:{}
tableRowFormRules:{
enterpriseProductCode: [
{ required: true, message: '请输入企业商品货号', trigger: 'blur' },
],
enterpriseProductName: [
{ required: true, message: '请输入企业商品名称', trigger: 'blur' }
],
productName: [
{ required: true, message: '请输入商品名称', trigger: 'blur' }
],
productCode: [
{ required: true, message: '请输入商品编码', trigger: 'blur' }
],
model: [
{ required: true, message: '请输入规格型号', trigger: 'blur' }
],
destinationCountryRegionCode: [
{ required: true, message: '请选择目的国(地区)代码', trigger: 'change' }
],
unit: [
{ required: true, message: '请选择计量单位', trigger: 'change' }
],
qty: [
{ required: true, message: '请输入数量', trigger: 'blur' }
],
legalQty: [
{ required: true, message: '请输入法定数量', trigger: 'blur' }
],
currency: [
{ required: true, message: '请选择币制', trigger: 'change' }
],
price: [
{ required: true, message: '请输入单价', trigger: 'blur' }
],
totalPrice: [
{ required: true, message: '请输入总价', trigger: 'blur' }
],
netWeight: [
{ required: true, message: '请输入净重', trigger: 'blur' }
],
}
};
},
watch: {
......@@ -275,8 +315,14 @@
},
methods: {
rowFormDataSave(){
this.$emit('rowFormDataSave', {gnum: this.rowDatas.row.gnum, tableRowformData: this.tableRowformData})
this.tableRowformData = {}
this.$refs.editRowForm.validate((valid) => {
if (valid) {
this.$emit('rowFormDataSave', {gnum: this.rowDatas.row.gnum, tableRowformData: this.tableRowformData})
this.tableRowformData = {}
} else {
return false;
}
})
},
cancelEditRowData(){
this.tableRowformData = {}
......@@ -313,5 +359,17 @@
}
}
}
.fedexRowEditFormStyle .el-form-item{
background-color: #ffffff;
box-shadow: 0 2px 4px 0 #E5F2F8CC;
border-left: 1px solid #E5F2F8CC;
// margin-bottom: 30px;
}
.fedexRowEditFormStyle .el-form-item:has(.formError){
margin-bottom: 25px!important;
}
.fedexRowEditFormStyle .activeBorder{
border-left: 3px solid #007AB7;
}
</style>
\ No newline at end of file
......
......@@ -6,460 +6,468 @@
<el-button class="entrySaveButton" @click="back">返 回</el-button>
</div>
</div>
<el-form
class="fedexFormStyle"
ref="editForm"
:model="formData"
:rules="formRules"
label-position="top"
size="small"
>
<el-row :gutter="5">
<el-col :span="3">
<Formitem label="电商企业" prop="ebccode">
<el-select
type="text"
id="inputInner--ebccode"
v-model="formData.ebccode"
clearable
filterable
placeholder=""
>
<el-option
v-for="(item, index) in ebcDataList"
:key="index"
:label="item.ecomEntName"
:value="item.ecomEntCode"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="物流企业" prop="logisticsCode">
<section :class="{partsHidden:!isFold}">
<el-form
class="fedexFormStyle fedexFormEditStyle"
ref="editForm"
:model="formData"
:rules="formRules"
label-position="top"
size="small"
>
<el-row :gutter="5">
<el-col :span="3">
<Formitem label="电商企业" prop="ebccode">
<el-select
type="text"
id="inputInner--ebccode"
v-model="formData.ebccode"
clearable
filterable
placeholder=""
>
<el-option
v-for="(item, index) in ebcDataList"
:key="index"
:label="item.ecomEntName"
:value="item.ecomEntCode"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="物流企业" prop="logisticsCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsCode"
resize="none"
v-model="formData.logisticsCode"
disabled
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 订单编号 -->
<el-col :span="3">
<Formitem label="订单编号" prop="orderNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsCode"
resize="none"
v-model="formData.logisticsCode"
disabled
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 订单编号 -->
<el-col :span="3">
<Formitem label="订单编号" prop="orderNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--orderNo"
resize="none"
v-model="formData.orderNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电商平台名称 -->
<el-col :span="3">
<Formitem label="物流运单编号" prop="logisticsNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsNo"
resize="none"
v-model="formData.logisticsNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电商企业代码 -->
<el-col :span="3">
<Formitem label="申报地海关" prop="declareCustomsCode">
<el-select
type="text"
id="inputInner--declareCustomsCode"
v-model="formData.declareCustomsCode"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in declareCustomsDataList"
:key="index"
:label="item.declarationUnitCompanyName"
:value="item.declarationUnit10"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 电商企业 -->
<el-col :span="3">
<Formitem label="出生日期" prop="exportDate">
<el-date-picker
class="inputInner--createTime"
id="inputInner--exportDate"
v-model="formData.exportDate"
type="date"
format="yyyy-MM-dd"
prefix-icon="none"
value-format="yyyy-MM-dd"
/>
</Formitem>
</el-col>
<!-- 商品金额 -->
<el-col :span="3">
<Formitem label="商品金额" prop="goodsValue">
<el-input
type="text"
class="inputShadow"
id="inputInner--goodsValue"
resize="none"
v-model="formData.goodsValue"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 运杂费 -->
<el-col :span="3">
<Formitem label="运杂费" prop="miscellaneousFreight">
<el-input
type="text"
class="inputShadow"
id="inputInner--miscellaneousFreight"
resize="none"
v-model="formData.miscellaneousFreight"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
<!-- 币制 -->
<el-col :span="3">
<Formitem label="币制" prop="currency">
<el-select
type="text"
id="inputInner--currency"
v-model="formData.currency"
clearable
placeholder=""
>
type="text"
class="inputShadow"
id="inputInner--orderNo"
resize="none"
v-model="formData.orderNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电商平台名称 -->
<el-col :span="3">
<Formitem label="物流运单编号" prop="logisticsNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsNo"
resize="none"
v-model="formData.logisticsNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电商企业代码 -->
<el-col :span="3">
<Formitem label="申报地海关" prop="declareCustomsCode">
<el-select
type="text"
id="inputInner--declareCustomsCode"
v-model="formData.declareCustomsCode"
filterable
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.CURRENCY"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 申报状态 -->
v-for="(item, index) in declareCustomsDataList"
:key="index"
:label="item.declarationUnitCompanyName"
:value="item.declarationUnit10"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 电商企业 -->
<el-col :span="3">
<Formitem label="出生日期" prop="exportDate">
<el-date-picker
class="inputInner--createTime"
id="inputInner--exportDate"
v-model="formData.exportDate"
type="date"
format="yyyy-MM-dd"
prefix-icon="none"
value-format="yyyy-MM-dd"
/>
</Formitem>
</el-col>
<!-- 商品金额 -->
<el-col :span="3">
<Formitem label="主要货物信息" prop="mainGoodsInfo">
<Formitem label="商品金额" prop="goodsValue">
<el-input
type="text"
class="inputShadow"
id="inputInner--mainGoodsInfo"
resize="none"
v-model="formData.mainGoodsInfo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 申报类型 -->
<el-col :span="3">
<Formitem label="贸易方式" prop="appType">
type="text"
class="inputShadow"
id="inputInner--goodsValue"
resize="none"
v-model="formData.goodsValue"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 运杂费 -->
<el-col :span="3">
<Formitem label="运杂费" prop="miscellaneousFreight">
<el-input
type="text"
class="inputShadow"
id="inputInner--appType"
resize="none"
v-model="formData.appType"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 申报日期 -->
<el-col :span="3">
<Formitem label="航班号" prop="flightNumber">
<el-input
type="text"
class="inputShadow"
id="inputInner--flightNumber"
resize="none"
v-model="formData.flightNumber"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 备注 -->
<el-col :span="3">
<Formitem label="提运单号" prop="billno">
<el-input
type="text"
class="inputShadow"
id="inputInner--billno"
resize="none"
v-model="formData.billno"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="总包号" prop="totalPackageNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--totalPackageNo"
resize="none"
v-model="formData.totalPackageNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="监管场所代码" prop="regulatoryVenueCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--regulatoryVenueCode"
resize="none"
v-model="formData.regulatoryVenueCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="许可证号" prop="licenseKey">
<el-input
type="text"
class="inputShadow"
id="inputInner--licenseKey"
resize="none"
v-model="formData.licenseKey"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
<el-col :span="3">
<Formitem label="运抵国(地区)" prop="destinationCountryRegion">
<el-select
type="text"
id="inputInner--destinationCountryRegion"
v-model="formData.destinationCountryRegion"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.COUNTRY_REGION_CODE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运港代码" prop="portCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--portCode"
resize="none"
v-model="formData.portCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运费" prop="freight">
<el-input
type="text"
class="inputShadow"
id="inputInner--freight"
resize="none"
v-model="formData.freight"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运费币制" prop="freightCurrency">
<el-select
type="text"
id="inputInner--freightCurrency"
v-model="formData.freightCurrency"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.CURRENCY"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运费标志" prop="freightTag">
<el-select
type="text"
id="inputInner--freightTag"
v-model="formData.freightTag"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.DECLARE_F_FLAG"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="保费" prop="insuredfee">
<el-input
type="text"
class="inputShadow"
id="inputInner--insuredfee"
resize="none"
v-model="formData.insuredfee"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="保费币制" prop="insuredfeeCurrency">
<el-select
type="text"
id="inputInner--insuredfeeCurrency"
v-model="formData.insuredfeeCurrency"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.CURRENCY"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="保费标志" prop="insuredfeeTag">
type="text"
class="inputShadow"
id="inputInner--miscellaneousFreight"
resize="none"
v-model="formData.miscellaneousFreight"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
<!-- 币制 -->
<el-col :span="3">
<Formitem label="币制" prop="currency">
<el-select
type="text"
id="inputInner--insuredfeeTag"
v-model="formData.insuredfeeTag"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.DECLARE_F_FLAG"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
type="text"
id="inputInner--currency"
v-model="formData.currency"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.CURRENCY"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 申报状态 -->
<el-col :span="3">
<Formitem label="包装种类代码" prop="packageTypeCode">
<el-select
type="text"
id="inputInner--packageTypeCode"
v-model="formData.packageTypeCode"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.PACKAGE_TYPE_CODE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="件数" prop="packNo">
<Formitem label="主要货物信息" prop="mainGoodsInfo">
<el-input
type="text"
class="inputShadow"
id="inputInner--mainGoodsInfo"
resize="none"
v-model="formData.mainGoodsInfo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 申报类型 -->
<el-col :span="3">
<Formitem label="贸易方式" prop="appType">
<el-input
type="text"
class="inputShadow"
id="inputInner--appType"
resize="none"
v-model="formData.appType"
disabled
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 申报日期 -->
<el-col :span="3">
<Formitem label="航班号" prop="flightNumber">
<el-input
type="text"
class="inputShadow"
id="inputInner--packNo"
resize="none"
v-model="formData.packNo"
clearable
placeholder=""
type="text"
class="inputShadow"
id="inputInner--flightNumber"
resize="none"
v-model="formData.flightNumber"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="毛重(公斤)" prop="weight">
</Formitem>
</el-col>
<!-- 备注 -->
<el-col :span="3">
<Formitem label="提运单号" prop="billno">
<el-input
type="text"
class="inputShadow"
id="inputInner--weight"
resize="none"
v-model="formData.weight"
clearable
placeholder=""
type="text"
class="inputShadow"
id="inputInner--billno"
resize="none"
v-model="formData.billno"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="净重(公斤)" prop="netWeight">
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="总包号" prop="totalPackageNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--netWeight"
resize="none"
v-model="formData.netWeight"
clearable
placeholder=""
type="text"
class="inputShadow"
id="inputInner--totalPackageNo"
resize="none"
v-model="formData.totalPackageNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="备注" prop="remark">
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="监管场所代码" prop="regulatoryVenueCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--regulatoryVenueCode"
resize="none"
v-model="formData.regulatoryVenueCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="许可证号" prop="licenseKey">
<el-input
type="text"
class="inputShadow"
id="inputInner--licenseKey"
resize="none"
v-model="formData.licenseKey"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
<el-col :span="3">
<Formitem label="运抵国(地区)" prop="destinationCountryRegion">
<el-select
type="text"
id="inputInner--destinationCountryRegion"
v-model="formData.destinationCountryRegion"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.COUNTRY_REGION_CODE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运港代码" prop="portCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--portCode"
resize="none"
v-model="formData.portCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运费" prop="freight">
<el-input
type="text"
class="inputShadow"
id="inputInner--remark"
resize="none"
v-model="formData.remark"
clearable
placeholder=""
type="text"
class="inputShadow"
id="inputInner--freight"
resize="none"
v-model="formData.freight"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
</el-form>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运费币制" prop="freightCurrency">
<el-select
type="text"
id="inputInner--freightCurrency"
v-model="formData.freightCurrency"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.CURRENCY"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运费标志" prop="freightTag">
<el-select
type="text"
id="inputInner--freightTag"
v-model="formData.freightTag"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.DECLARE_F_FLAG"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="保费" prop="insuredfee">
<el-input
type="text"
class="inputShadow"
id="inputInner--insuredfee"
resize="none"
v-model="formData.insuredfee"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="保费币制" prop="insuredfeeCurrency">
<el-select
type="text"
id="inputInner--insuredfeeCurrency"
v-model="formData.insuredfeeCurrency"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.CURRENCY"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="保费标志" prop="insuredfeeTag">
<el-select
type="text"
id="inputInner--insuredfeeTag"
v-model="formData.insuredfeeTag"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.DECLARE_F_FLAG"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
<el-col :span="3">
<Formitem label="包装种类代码" prop="packageTypeCode">
<el-select
type="text"
id="inputInner--packageTypeCode"
v-model="formData.packageTypeCode"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.PACKAGE_TYPE_CODE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="件数" prop="packNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--packNo"
resize="none"
v-model="formData.packNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="毛重(公斤)" prop="weight">
<el-input
type="text"
class="inputShadow"
id="inputInner--weight"
resize="none"
v-model="formData.weight"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="净重(公斤)" prop="netWeight">
<el-input
type="text"
class="inputShadow"
id="inputInner--netWeight"
resize="none"
v-model="formData.netWeight"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="9">
<Formitem label="备注" prop="remark">
<el-input
type="textarea"
class="inputShadow"
id="inputInner--remark"
resize="none"
v-model="formData.remark"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
</el-form>
</section>
<div class="fold-unfold">
<img v-if="isFold" src="@/assets/images/fold.png" @click="()=>isFold = false" alt="">
<img v-if="!isFold" src="@/assets/images/unfold.png" @click="()=>isFold = true" alt="">
</div>
<div class="entryTitle" style="margin-top: 10px">商品明细</div>
<section style="position:relative">
<Table
......@@ -523,7 +531,9 @@
ebcDataList:[],
declareCustomsDataList:[],
declareId: null,
formData: {},
formData: {
appType:9610
},
formRules:{
ebccode: [
{ required: true, message: '请选择电商企业', trigger: 'change' },
......@@ -555,9 +565,6 @@
mainGoodsInfo: [
{ required: true, message: '请输入主要物品信息', trigger: 'blur' }
],
appType: [
{ required: true, message: '请选择贸易方式', trigger: 'change' }
],
flightNumber: [
{ required: true, message: '请输入航班号', trigger: 'blur' }
],
......@@ -724,7 +731,7 @@
},
logtableType: true,
expandRowKeys:[],
isFold: false
};
},
......@@ -771,6 +778,7 @@
console.log(1111, res)
if (res.code == 200) {
this.formData = res.data.declare
this.formData.appType=9610
this.formData.orderNo = this.formData.orderno
this.detailData = res.data.product.length ? res.data.product.map((item, index) =>{
item.gnum = index+1
......@@ -849,15 +857,16 @@
//提交更新数据
submitEditedReportDatas(){
let data = {
declare: this.formData,
product: this.detailData
}
this.$refs.editForm.validate((valid) => {
if (valid) {
let data = {
declare: this.formData,
product: this.detailData
}
updateDeclareData(data).then(res =>{
if (res.code == 200) {
this.msgSuccess("数据更新成功");
this.queryDeclareData(this.declareId)
if (res.code == 200) {
this.msgSuccess("数据更新成功");
this.queryDeclareData(this.declareId)
} else {
this.alertWarningMsg(res.message);
}
......@@ -865,6 +874,10 @@
}).catch(err =>{
console.log(err)
})
} else {
return false;
}
});
},
//取消编辑
cancelEditedReportDatas(){
......@@ -926,5 +939,23 @@
}
}
}
.fedexFormEditStyle .el-form-item:has(.formError) {
margin-bottom: 30px !important;
}
.fedexFormEditStyle .el-form-item .formError{
padding:0 0.9375rem !important;
}
.partsHidden{
height: 164px;
overflow: hidden;
}
.fold-unfold{
display: flex;
justify-content: center;
padding-top:8px;
img{
width: 22px;
}
}
</style>
\ No newline at end of file
......
<template>
<el-dialog
class="entryDialog classCUploadDialog"
title="批量修改"
:visible.sync="batchModifyVisible"
:show-close="false"
width="60%"
:close-on-click-modal="false"
>
<div>
<el-form class="fedexFormStyle"
ref="batchModifyForm"
:model="batchModifyFormData"
:rules="batchModifyFormRules"
label-position="left"
size="small"
>
<Formitem label="修改数据" prop="modifyData">
<el-select
type="text"
v-model="batchModifyFormData.modifyData"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in modifyDataList"
:key="index"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</Formitem>
<Formitem label="修改内容" prop="modifyContent">
<el-input
type="text"
class="inputShadow"
resize="none"
v-model="batchModifyFormData.modifyContent"
clearable
placeholder="请输入修改内容"
></el-input>
</Formitem>
</el-form>
</div>
<div class="dialogOption entrySave revokeOperation">
<el-button
class="entrySaveButton entrySaveButton-background revokeSubmitBtn"
type="primary"
@click="formSubmit"
>确定</el-button>
<el-button
class="entrySaveButton"
@click="cancelModify"
>关闭</el-button>
</div>
</el-dialog>
</template>
<script>
import { bathDeclareDate } from "@/api/declareData-api.js";
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
selectedDatas:{
type:Array,
default:() => []
},
},
data() {
return {
batchModifyVisible:false,
batchModifyFormData:{
modifyData:'',
modifyContent:''
},
batchModifyFormRules: {
modifyData: [{ required: true, message: '请选择修改数据', trigger: 'change' }],
modifyContent: [{ required: true, message: '请输入修改内容', trigger: 'blur' }],
},
modifyDataList:[
{name:'提运单号',value:'BILLNO'},
{name:'航班航次号',value:'FLIGHT_NUMBER'},
]
};
},
watch: {
showDialog(val) {
if (val) {
this.batchModifyVisible = val
this.batchModifyFormData.modifyData=""
this.batchModifyFormData.modifyContent=""
}
},
},
created() {
},
methods: {
formSubmit(){
this.$refs.batchModifyForm.validate((valid) => {
if (valid) {
let obj = {
declareIds: [],
modifyData: this.batchModifyFormData.modifyData,
modifyContent: this.batchModifyFormData.modifyContent,
};
this.selectedDatas.forEach((item) => {
obj.declareIds.push(item.declareId);
});
console.log('datas==', obj)
bathDeclareDate(obj).then((res) => {
if (res.code === "200") {
this.msgSuccess('批量修改成功')
this.cancelModify()
} else {
this.alertWarningMsg(res.message);
}
})
.catch((err) => {
console.log(err);
this.alertWarningMsg(err.message);
this.cancelModify()
});
} else {
return false;
}
});
},
cancelModify(){
this.batchModifyVisible = false
this.$emit('cancelBatchModify')
}
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/variables.scss";
.modelItem {
width: 100%;
.modelItem-title {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
font-size: 14px;
font-weight: 600;
color: #333;
}
}
.revokeOperation{
margin-bottom:25px;
.revokeSubmitBtn{
margin-right: 30px;
}
}
</style>
\ No newline at end of file
<template>
<el-dialog
class="entryDialog classCUploadDialog"
title="申报数据导出"
:visible.sync="datasExportVisible"
:show-close="false"
width="60%"
:close-on-click-modal="false"
>
<div>
<el-form class="fedexFormStyle"
ref="selectTemplateForm"
:model="selectTemplateFormData"
:rules="selectTemplateFormRules"
label-position="left"
size="small"
>
<Formitem label="模板类型" prop="dataSource">
<el-select
type="text"
v-model="selectTemplateFormData.dataSource"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.TEMPLATE_TYPE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-form>
</div>
<div class="dialogOption entrySave revokeOperation">
<el-button
class="entrySaveButton entrySaveButton-background revokeSubmitBtn"
type="primary"
@click="startDownload"
>确定</el-button>
<el-button
class="entrySaveButton"
@click="cancelDownload"
>关闭</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
}
},
data() {
return {
datasExportVisible:false,
selectTemplateFormData:{
dataSource:''
},
selectTemplateFormRules: {
dataSource: [
{ required: true, message: '请选择模板类型', trigger: 'change' }
],
}
};
},
watch: {
showDialog(val) {
if (val) {
this.datasExportVisible = val
this.selectTemplateFormData.dataSource=""
}
},
},
created() {
},
methods: {
startDownload(){
this.$refs.selectTemplateForm.validate((valid) => {
if (valid) {
this.$emit('startDatasExport', this.selectTemplateFormData.dataSource)
} else {
return false;
}
});
},
cancelDownload(){
this.datasExportVisible = false
this.selectTemplateFormData.dataSource=""
this.$emit('cancelDatasExport')
}
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/variables.scss";
.modelItem {
width: 100%;
.modelItem-title {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
font-size: 14px;
font-weight: 600;
color: #333;
}
}
.revokeOperation{
margin-bottom:25px;
.revokeSubmitBtn{
margin-right: 30px;
}
}
</style>
\ No newline at end of file
......@@ -128,6 +128,14 @@
>
导入模版下载
</el-button>
<el-button
class="entrySaveButton"
size="small"
icon="el-icon-edit"
@click="batchModify"
>
批量修改
</el-button>
</div>
<div class="optionButton-right">
<el-dropdown
......@@ -328,6 +336,21 @@
:selectedDatas="selected"
:dropdownCode="dropdownCode"
@cancelRevoke="cancelRevoke" />
<TemplateDownloadDialog
:showDialog="templateDownloadVisible"
@cancelDownload="cancelDownload"
/>
<ExportDialog
ref="exportDialog"
:showDialog="datasExportVisible"
@cancelDatasExport="cancelDatasExport"
@startDatasExport="startDatasExport"
/>
<BatchModify
:selectedDatas="selected"
:showDialog="batchModifyVisible"
@cancelBatchModify="cancelBatchModify"
/>
</div>
</template>
......@@ -345,11 +368,17 @@ import {
import { getDictData } from '@/api/system/dict-api.js'
import DialogVue from "./dialog.vue";
import RevokeDialog from "./revokeDialog.vue";
import TemplateDownloadDialog from "./templateDownloadDialog.vue";
import ExportDialog from "./exportDialog.vue";
import BatchModify from "./batchModify.vue";
export default {
name: "ReportingData",
components: {
DialogVue,
RevokeDialog
RevokeDialog,
TemplateDownloadDialog,
ExportDialog,
BatchModify
},
data() {
return {
......@@ -474,9 +503,10 @@ export default {
outerVisible: false,
dropdownName: "一键申报",
dropdownCode: "full",
revokeVisible:false,
templateDownloadVisible:false,
datasExportVisible:false,
batchModifyVisible:false
};
},
created() {
......@@ -553,53 +583,92 @@ export default {
//下载模板
dwonloadModelFile() {
this.loadings.dwonloadModelLoading = true;
this.fileDownload
.downLoadZip(
"api",
"declareDataModel",
"申报数据模板.xlsx",
"xlsx",
"get"
)
.finally(() => {
this.loadings.dwonloadModelLoading = false;
});
this.$store.dispatch("GetInfo").then(res =>{
console.log('res====', res)
if (res.code == 200) {
console.log('port===', res.data?.port?.split(','))
if (res.data?.port?.split(',').length == 2) {
this.templateDownloadVisible = true
} else {
this.fileDownload
.downLoadZip(
"api",
"declareDataModel",
"申报数据模板.xlsx",
"xlsx",
"get",
{type: res.data?.port}
)
.finally(() => {
this.cancelDownload()
});
}
}
}).catch(err =>{
console.log(err)
})
},
datasDownload(dataSource){
let obj = {
billNo: this.sreachFormData.billNo,
declareId: [],
logisticsNo: this.sreachFormData.logisticsNo,
orderNo: this.sreachFormData.orderNo,
receiptStatus: this.sreachFormData.receiptStatus,
dataSource
};
obj.startCreateTime = "";
obj.endCreateTime = "";
if (this.sreachFormData.createTime.length > 0) {
obj.startCreateTime = this.sreachFormData.createTime[0];
obj.endCreateTime = this.sreachFormData.createTime[1];
}
this.selected.forEach((item) => {
obj.declareId.push(item.declareId);
});
exportDeclareData(obj).then((res)=>{
// if (res.code === "200") {
// // this.alertSuccessMsg(res.message);
// } else {
// console.log(res.message);
// this.alertWarningMsg(res.message);
// }
}).catch((err)=>{
console.log(err);
this.alertErrorMsg(err);
}).finally(res =>{
this.loadings.exportDeclareLoading = false;
this.datasExportVisible = false
this.$refs.exportDialog.datasExportVisible = false
})
},
//导出
downloadData() {
this.loadings.exportDeclareLoading = true;
let obj = {
billNo: this.sreachFormData.billNo,
declareId: [],
logisticsNo: this.sreachFormData.logisticsNo,
orderNo: this.sreachFormData.orderNo,
receiptStatus: this.sreachFormData.receiptStatus,
};
obj.startCreateTime = "";
obj.endCreateTime = "";
if (this.sreachFormData.createTime.length > 0) {
obj.startCreateTime = this.sreachFormData.createTime[0];
obj.endCreateTime = this.sreachFormData.createTime[1];
}
this.selected.forEach((item) => {
obj.declareId.push(item.declareId);
});
exportDeclareData(obj).then((res)=>{
// if (res.code === "200") {
// // this.alertSuccessMsg(res.message);
// } else {
// console.log(res.message);
// this.alertWarningMsg(res.message);
// }
this.loadings.exportDeclareLoading = false;
}).catch((err)=>{
console.log(err);
this.alertErrorMsg(err);
this.loadings.exportDeclareLoading = false;
})
this.$store.dispatch("GetInfo").then(res =>{
console.log('res====', res)
if (res.code == 200) {
console.log('port===', res.data?.port?.split(','))
if (res.data?.port?.split(',').length == 2) {
this.datasExportVisible = true
} else {
this.datasDownload(res.data?.port)
}
}
}).catch(err =>{
console.log(err)
})
},
startDatasExport(dataSource){
this.datasDownload(dataSource)
},
cancelDatasExport(){
this.datasExportVisible = false
this.loadings.exportDeclareLoading = false;
},
//申报
declareData() {
......@@ -800,7 +869,21 @@ export default {
params: { data: val },
});
},
cancelDownload(){
this.loadings.dwonloadModelLoading = false;
this.templateDownloadVisible = false
},
batchModify(){
if (!this.selected.length) {
this.alertWarningMsg("请选择数据!");
return
}
this.batchModifyVisible = true
},
cancelBatchModify(){
this.batchModifyVisible = false
this.search(0);
}
},
};
</script>
......
<template>
<el-dialog
class="entryDialog classCUploadDialog"
title="导入模板下载"
:visible.sync="downloadTemplateVisible"
:show-close="false"
width="60%"
:close-on-click-modal="false"
>
<div>
<el-form class="fedexFormStyle"
ref="selectTemplateForm"
:model="selectTemplateFormData"
:rules="selectTemplateFormRules"
label-position="left"
size="small"
>
<Formitem label="模板类型" prop="type">
<el-select
type="text"
v-model="selectTemplateFormData.type"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.TEMPLATE_TYPE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-form>
</div>
<div class="dialogOption entrySave revokeOperation">
<el-button
class="entrySaveButton entrySaveButton-background revokeSubmitBtn"
type="primary"
@click="startDownload"
>确定</el-button>
<el-button
class="entrySaveButton"
@click="cancelDownload"
>关闭</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
}
},
data() {
return {
downloadTemplateVisible:false,
selectTemplateFormData:{
type:''
},
selectTemplateFormRules: {
type: [
{ required: true, message: '请选择模板类型', trigger: 'change' }
],
}
};
},
watch: {
showDialog(val) {
if (val) {
this.downloadTemplateVisible = val
}
},
},
created() {
this.selectTemplateFormData.type=""
},
methods: {
startDownload(){
this.$refs.selectTemplateForm.validate((valid) => {
if (valid) {
console.log('datas==', this.selectTemplateFormData)
this.fileDownload
.downLoadZip(
"api",
"declareDataModel",
"申报数据模板.xlsx",
"xlsx",
"get",
{type: this.selectTemplateFormData.type}
)
.finally(() => {
this.cancelDownload()
});
} else {
return false;
}
});
},
cancelDownload(){
this.downloadTemplateVisible = false
this.selectTemplateFormData.type=""
this.$emit('cancelDownload')
}
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/variables.scss";
.modelItem {
width: 100%;
.modelItem-title {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
font-size: 14px;
font-weight: 600;
color: #333;
}
}
.revokeOperation{
margin-bottom:25px;
.revokeSubmitBtn{
margin-right: 30px;
}
}
</style>
\ No newline at end of file