Browse Source

关务问题8.21

java8
han\hanst 5 months ago
parent
commit
1182666d46
  1. 50
      src/views/modules/ecss/codelnotify.vue
  2. 30
      src/views/modules/ecss/codelnotifyConfirm.vue
  3. 5
      src/views/modules/ecss/createDeclaration.vue
  4. 21
      src/views/modules/ecss/declaration.vue
  5. 24
      src/views/modules/ecss/ecssTemplate.vue

50
src/views/modules/ecss/codelnotify.vue

@ -139,6 +139,21 @@
<template v-if="item.columnProp === 'ttlAmount' || item.columnProp === 'sumPrice'">
<span>{{!!scope.row[item.columnProp]?scope.row[item.columnProp].toFixed(2):''}}</span>
</template>
<!-- PN字段特殊处理添加提示信息 -->
<template v-else-if="item.columnProp === 'pn'">
<el-tooltip
v-if="isPnDataIncomplete(scope.row)"
content="品名未维护,点击跳转到维护页面"
placement="top">
<span
v-if="!item.columnHidden"
class="clickable-pn"
@click="navigateToPartHsCode(scope.row.pn)">
{{ scope.row[item.columnProp] }}
</span>
</el-tooltip>
<span v-else-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
</template>
<template v-else>
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
@ -1633,6 +1648,24 @@
})
},
methods: {
isPnDataIncomplete(row) {
const hsCodeDesc = row.hsCodeDesc !== null && row.hsCodeDesc !== undefined && row.hsCodeDesc !== ''&& row.hsCodeDesc !== '*';
return !hsCodeDesc;
},
// PN
navigateToPartHsCode(pn) {
if (!pn) {
this.$message.warning('PN不能为空');
return;
}
this.$router.push({
path: '/ecss-partHsCode',
query: {
sku: pn
}
});
},
// S
getBaseList(val, type) {
this.tagNo = val
@ -1822,6 +1855,14 @@
if ((column.property === 'pn' || column.property === 'qty') && row.modifyFlag===true) { //
return { color: '#ff5d03' };
}
// pn boxrollsrollqtyboxweight pn
if (column.property === 'pn') {
const hsCodeDesc = row.hsCodeDesc !== null && row.hsCodeDesc !== undefined && row.hsCodeDesc !== ''&& row.hsCodeDesc !== '*';
if (!hsCodeDesc) {
return { color: '#ff8c00' }; //
}
}
return {};
},
xiadaEcssDel(){
@ -2336,4 +2377,13 @@
font-size: 12px;
height: 24px;
}
/* 可点击的PN样式 */
.clickable-pn {
cursor: pointer;
text-decoration: underline;
}
.clickable-pn:hover {
opacity: 0.8;
}
</style>

30
src/views/modules/ecss/codelnotifyConfirm.vue

@ -163,10 +163,10 @@
<el-button @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button>
<el-button @click="palletMaintenance()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'栈板维护'}}</el-button>
<el-button @click="exportExcel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导出模版'}}</el-button>
<el-table
<el-table ref="detailTable"
:data="dataList4"
:height="height"
border
border show-summary :summary-method="getSummaries"
v-loading="dataListLoading"
style="width: 100%; ">
<el-table-column
@ -2379,7 +2379,31 @@
}
})
},
getSummaries(param) {
const { columns } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计';
return;
}
let sumDataList = this.dataList4.filter(item => item.palletQty>0);
const values = sumDataList.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
switch(column.property) {
case 'palletQty':
sums[index] = `${values.reduce((a, b) => a + b, 0)}`;
break;
default:
sums[index] = '';
}
} else {
sums[index] = '';
}
});
this.$nextTick(() => this.$refs.detailTable.doLayout());// ,
return sums;
},

5
src/views/modules/ecss/createDeclaration.vue

@ -278,10 +278,7 @@
</el-col>
<el-col :span="4">
<el-form-item :label="'包装种类'" >
<el-select v-model="declarationData.packageType" style="width: 100%">
<el-option value="箱" label="箱"></el-option>
<el-option value="托" label="托"></el-option>
</el-select>
<el-input v-model="declarationData.packageType" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">

21
src/views/modules/ecss/declaration.vue

@ -135,24 +135,30 @@
<el-row :gutter="20">
<div class="custom-divider"><span class="text" style="left: 22%">报关要素</span></div>
<!-- 报关要素-->
<el-col :span="8">
<el-col :span="12">
<el-form-item :label="'品牌'" >
<el-radio v-model="brandType" label="境外品牌(其他)">境外品牌其他</el-radio>
<el-radio v-model="brandType" label="无品牌">无品牌</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item :label="'品名类型'" >
<el-radio v-model="hsCodeDescType" label="Y">中文</el-radio>
<el-radio style="margin-left: 50px;" v-model="hsCodeDescType" label="N">英文</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item :label="'托/箱'" >
<el-radio v-model="packageUnit" label="托"></el-radio>
<el-radio v-model="packageUnit" label="箱"></el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'重量'" >
<el-radio v-model="declarationWeight" label="不显示">不显示</el-radio>
<el-radio v-model="declarationWeight" label="显示">显示</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<div class="custom-divider"><span class="text">发票</span></div>
@ -424,6 +430,12 @@
<el-radio v-model="packageUnit" label="箱"></el-radio>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="'重量'" >
<el-radio v-model="declarationWeight" label="不显示">不显示</el-radio>
<el-radio v-model="declarationWeight" label="显示">显示</el-radio>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
@ -853,6 +865,7 @@
brandType:'',
hsCodeDescType:'N',
packageUnit: '',
declarationWeight: '不显示',
exportParam: {},
pageIndex: 1,
pageSize: 100,
@ -2039,6 +2052,7 @@
exportParam.delNo = this.currentRow.delNo
exportParam.hsCodeDescType=this.hsCodeDescType
exportParam.packageUnit=this.packageUnit
exportParam.declarationWeight = this.declarationWeight
ExportUtil.export(
"/ecss/coDel/downloadDeclaration",
exportParam, this.currentRow.declarationNo+"报关单.xlsx"
@ -2151,6 +2165,7 @@
exportParam.brandType = this.brandType
exportParam.hsCodeDescType=this.hsCodeDescType
exportParam.packageUnit=this.packageUnit
exportParam.declarationWeight = this.declarationWeight
if (this.propertiesList.length>0) {
this.currentRow.brand='品牌'
exportParam.brand = '品牌'

24
src/views/modules/ecss/ecssTemplate.vue

@ -15,6 +15,12 @@
<el-form-item :label="'模版名称:'">
<el-input v-model="searchData.name" clearable></el-input>
</el-form-item>
<el-form-item :label="'客户名称:'">
<el-input v-model="searchData.customName" clearable></el-input>
</el-form-item>
<el-form-item :label="'运输方式:'">
<el-input v-model="searchData.shippingMode" clearable></el-input>
</el-form-item>
<el-form-item :label="'模版类型:'">
<el-select filterable v-model="searchData.type" clearable style="width: 140px;">
<el-option :label="item" :value="item" v-for="(item,index) in types "
@ -408,6 +414,24 @@
fixed: '',
columnWidth: 240
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1EcssTemplateNo',
tableId: "801007Table1",
tableName: "EcssTemplate基础信息",
columnProp: "shippingMode",
headerAlign: "center",
align: "left",
columnLabel: "运输方式",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 240
},
{
userId: this.$store.state.user.name,
functionId: 801003,

Loading…
Cancel
Save