jiaxing.zhou

Merge branch 'release-v1.0.8'

# Conflicts:
#	src/store/modules/permission.js
#	src/views/customerConfig/dialog.vue
......@@ -138,6 +138,25 @@
</el-select>
</Formitem>
</el-col>
<!-- 汇总申报状态 -->
<el-col :span="5">
<Formitem label="汇总申报状态" prop="summaryApplicationStatus">
<el-select
type="text"
id="inputInner--summaryApplicationStatus"
v-model="sreachFormData.summaryApplicationStatus"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.RECEIPT_STATUS.filter(fItem => fItem.itemChineseName !== '已提交')"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 清单编号 -->
<el-col :span="5">
<Formitem label="清单编号" prop="invtNo">
......@@ -241,6 +260,7 @@ export default {
logisticsNo: [],
orderNo: "",
returnStatus: "",
summaryApplicationStatus: "",
createTime: [],
},
page: {
......@@ -277,6 +297,12 @@ export default {
align: "left",
},
{
name: "清单编号",
value: "invtNo",
width: "",
align: "left"
},
{
name: "电商企业代码",
value: "ebpcode",
width: "",
......@@ -295,6 +321,12 @@ export default {
align: "left",
},
{
name: "汇总申报状态",
value: "summaryApplicationStatus",
width: "",
align: "left",
},
{
name: "创建时间",
value: "createTime",
width: "",
......
......@@ -146,7 +146,7 @@
type="primary"
v-loading="loadings.dropDownLoading"
@command="dropdownChange"
@click="declareData"
@click="declareData('dropDownLoading', dropdownName, dropdownCode)"
>
<svg-icon
class="el-icon-user-solid"
......@@ -170,16 +170,36 @@
:command="{ code: 'totalScore', name: '清单总分单申报' }"
>清单总分单申报</el-dropdown-item
>
<el-dropdown-item
:command="{ code: 'cancellation', name: '撤销单申报' }"
>撤销单申报</el-dropdown-item
>
<el-dropdown-item
:command="{ code: 'logisticsDeparture', name: '离境单申报' }"
>离境单申报</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
<!-- 离境单申报按钮 -->
<el-button
size="small"
type="primary"
class="dropdown-style-button"
:loading="loadings.departureLoading"
@click="declareData('departureLoading', '离境单申报', 'logisticsDeparture')"
>
<svg-icon
class="el-icon-user-solid"
icon-class="fedexDeclareIcon"
></svg-icon>
离境单申报
</el-button>
<!-- 撤销单申报按钮 -->
<el-button
size="small"
type="primary"
class="dropdown-style-button"
:loading="loadings.revokeLoading"
@click="declareData('revokeLoading', '撤销单申报' ,'cancellation')"
>
<svg-icon
class="el-icon-user-solid"
icon-class="fedexDeclareIcon"
></svg-icon>
撤销单申报
</el-button>
<el-button
class="entrySaveButton"
size="small"
......@@ -558,6 +578,8 @@ export default {
dropDownLoading: false,
logTableLoading: false,
exportDeclareLoading:false,
revokeLoading: false, // 撤销单申报加载状态
departureLoading: false, // 离境单申报加载状态
},
textareaVisible: {},
tableMaxheight: null,
......@@ -743,43 +765,52 @@ export default {
this.loadings.exportDeclareLoading = false;
},
//申报
declareData() {
if (this.selected.length > 0) {
this.loadings.dropDownLoading = true;
let obj = {
declareIds: [],
type: this.dropdownCode,
/**
* 通用申报方法
* @param {string} loadingKey - 加载状态的 key(如 'dropDownLoading', 'departureLoading', 'revokeLoading')
* @param {string} dropdownName - 当前操作名称(如 '撤销单申报')
* @param {string} dropdownCode - 当前操作代码(如 'full')
*/
declareData(loadingKey, dropdownName, dropdownCode) {
if (this.selected.length === 0) {
this.alertWarningMsg("请选择数据!");
return;
}
// 设置加载状态
this.$set(this.loadings, loadingKey, true);
// 构造请求参数
const obj = {
declareIds: this.selected.map(item => item.declareId),
type: dropdownCode,
};
this.selected.forEach((item) => {
obj.declareIds.push(item.declareId);
});
if (this.dropdownName === '撤销单申报') {
this.revokeVisible = true
return
// 如果是撤销单申报,显示弹窗并返回
if (dropdownName === '撤销单申报') {
this.revokeVisible = true;
this.$set(this.loadings, loadingKey, false);
this.dropdownCode = dropdownCode;
return;
}
// 提交申报数据
declareDataUpload(obj)
.then((res) => {
if (res.code === "200") {
// this.alertSuccessMsg(res.message);
this.alertSuccessMsg("数据已成功提交申报,请等待海关回执。");
} else {
this.alertWarningMsg(res.message);
}
this.loadings.dropDownLoading = false;
this.search(0);
})
.catch((err) => {
console.log(err);
this.loadings.dropDownLoading = false;
console.error(err);
this.alertWarningMsg("申报失败,请稍后重试。");
})
.finally(() => {
// 无论成功或失败,都重置加载状态并刷新数据
this.$set(this.loadings, loadingKey, false);
this.search(0);
});
} else {
this.alertWarningMsg("请选择数据!");
}
},
//切换申报模式
dropdownChange(val) {
......@@ -952,6 +983,7 @@ export default {
cancelRevoke(){
this.loadings.dropDownLoading = false;
this.revokeVisible = false
this.dropdownCode = 'full'
},
update(val) {
this.$router.push({
......@@ -1021,6 +1053,14 @@ export default {
display: flex;
justify-content: space-between;
/* 使按钮样式与 el-dropdown 一致 */
.el-button.dropdown-style-button {
background-color: #ffffff !important;
border: 2px solid $fedexBottonColor !important; /* 设置边框颜色 */
color: $fedexBottonColor !important;
font-size: 12px !important;
}
.el-button {
color: $fedexButton;
border-color: $fedexButton !important;
......
......@@ -188,4 +188,3 @@
}
}
</style>
\ No newline at end of file
......
......@@ -41,15 +41,15 @@
></el-input>
</Formitem>
</el-col>
<!-- 电商企业代码 -->
<!-- 收发货人代码 -->
<el-col :span="5">
<Formitem label="电商企业代码" prop="agentCode">
<Formitem label="收发货人代码" prop="ebccode">
<el-input
type="text"
class="inputShadow"
id="inputInner--agentCode"
id="inputInner--ebccode"
resize="none"
v-model="sreachFormData.agentCode"
v-model="sreachFormData.ebccode"
clearable
placeholder=""
></el-input>
......@@ -110,9 +110,9 @@
</el-button>
</el-form-item>
</el-col>
<!-- 报关企业代码 -->
<!-- 申报企业代码 -->
<el-col :span="5">
<Formitem label="报关企业代码" prop="declagAgentCode">
<Formitem label="申报企业代码" prop="declagAgentCode">
<el-input
type="text"
class="inputShadow"
......@@ -160,31 +160,31 @@
<!-- </Formitem>-->
<!-- </el-col>-->
<!-- 报文序号 -->
<el-col :span="5">
<Formitem label="报文序号" prop="msgSeqNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--msgSeqNo"
resize="none"
v-model="sreachFormData.msgSeqNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- <el-col :span="5">-->
<!-- <Formitem label="报文序号" prop="msgSeqNo">-->
<!-- <el-input-->
<!-- type="text"-->
<!-- class="inputShadow"-->
<!-- id="inputInner&#45;&#45;msgSeqNo"-->
<!-- resize="none"-->
<!-- v-model="sreachFormData.msgSeqNo"-->
<!-- clearable-->
<!-- placeholder=""-->
<!-- ></el-input>-->
<!-- </Formitem>-->
<!-- </el-col>-->
</el-row>
</el-form>
<div class="optionButton">
<el-button
class="entrySaveButton"
size="small"
icon="el-icon-download"
@click="downloadData"
>
导出
</el-button>
</div>
<!-- <div class="optionButton">-->
<!-- <el-button-->
<!-- class="entrySaveButton"-->
<!-- size="small"-->
<!-- icon="el-icon-download"-->
<!-- @click="downloadData"-->
<!-- >-->
<!-- 导出-->
<!-- </el-button>-->
<!-- </div>-->
<Table
class="fedexDetialTable fedexSreachTable"
ref="entryTable"
......