Browse Source

关务系统

java8
han\hanst 1 year ago
parent
commit
304d957441
  1. 26
      src/api/ecss/ecss.js
  2. 4
      src/main.js
  3. 33
      src/utils/ajax.js
  4. 40
      src/utils/export.js
  5. 37
      src/views/modules/ecss/codelnotify.vue
  6. 446
      src/views/modules/ecss/codelnotifyConfirm.vue
  7. 79
      src/views/modules/ecss/createDeclaration.vue
  8. 385
      src/views/modules/ecss/declaration.vue
  9. 16
      src/views/modules/ecss/del_upload_excel.vue
  10. 52
      src/views/modules/ecss/hsCode.vue
  11. 641
      src/views/modules/ecss/package.vue
  12. 633
      src/views/modules/ecss/pallet.vue
  13. 6
      src/views/modules/ecss/pallet_upload_excel.vue
  14. 295
      src/views/modules/ecss/partHsCode.vue

26
src/api/ecss/ecss.js

@ -58,3 +58,29 @@ export const saveDeclaration= data => createAPI(`/ecss/coDel/saveDeclaration`,'p
export const searchDeclarationHeader= data => createAPI(`/ecss/coDel/searchDeclarationHeader`,'post',data)
export const searchDeclarationDetail= data => createAPI(`/ecss/coDel/searchDeclarationDetail`,'post',data)
export const deleteDeclaration= data => createAPI(`/ecss/coDel/deleteDeclaration`,'post',data)
export const searchPalletData = data => createAPI(`/ecss/coDel/searchPalletData`,'post',data)
export const savePalletData = data => createAPI(`/ecss/coDel/savePalletData`,'post',data)
export const deletePallet= data => createAPI(`/ecss/coDel/deletePallet`,'post',data)
export const searchPackageData = data => createAPI(`/ecss/coDel/searchPackageData`,'post',data)
export const savePackageData = data => createAPI(`/ecss/coDel/savePackageData`,'post',data)
export const deletePackage= data => createAPI(`/ecss/coDel/deleteEcssPackage`,'post',data)
export const searchHsCodeList = data => createAPI(`/ecss/coDel/searchHsCodeList`,'post',data)
export const searchPalletList = data => createAPI(`/ecss/coDel/searchPalletList`,'post',data)
export const searchPackageList = data => createAPI(`/ecss/coDel/searchPackageList`,'post',data)
export const getNotifyPartDetail = data => createAPI(`/ecss/coDel/getNotifyPartDetail`,'post',data)
export const saveOneClickPacking = data => createAPI(`/ecss/coDel/saveOneClickPacking`,'post',data)
export const getCustomerInfo = data => createAPI(`/ecss/coDel/getCustomerInfo`,'post',data)

4
src/main.js

@ -12,6 +12,8 @@ import 'element-ui/lib/theme-chalk/icon.css'
import '@/assets/scss/index.scss'
import httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios
import Ajax from "./utils/ajax.js";
import cloneDeep from 'lodash/cloneDeep'
import JsonExcel from 'vue-json-excel'
import i18n from '@/i18n/i18n'
@ -54,7 +56,7 @@ Vue.prototype.decimalUtil = decimalUtil // 计算
Vue.prototype.dayjs = dayjs //时间格式化插件 2021-11-02
Vue.prototype.debounce = debounce // 防抖
Vue.prototype.throttle = throttle // 限流
window.ajax = Ajax;
// 保存整站vuex本地储存初始状态
window.SITE_CONFIG['storeState'] = cloneDeep(store.state)

33
src/utils/ajax.js

@ -0,0 +1,33 @@
import Vue from "vue";
var apiServer = (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl);
export default {
file:(url, data, succ, err )=>{
let requestUrl = apiServer + url;
var xhr = new XMLHttpRequest();
xhr.open('POST', requestUrl, true);
xhr.responseType = "blob";
xhr.withCredentials = true;
xhr.setRequestHeader("X-API", "true");
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.setRequestHeader("token", Vue.cookie.get('token') );
xhr.onreadystatechange = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
succ(xhr.response)
} else {
var fr = new FileReader();
fr.onload = function(e) {
var text = fr.result;
console.log(text);
err ? err(text) : alert("请求发生错误:" + text)
};
fr.readAsText(xhr.response);
}
}
};
xhr.send(data);
},
apiServer: apiServer
};

40
src/utils/export.js

@ -0,0 +1,40 @@
export default {
export(url, searchParameter, filenameRep) {
ajax.file(url, JSON.stringify(searchParameter),
resp => {
var filename = filenameRep || "export.xls";
var linkelem = document.createElement("a");
try {
var blob = new Blob([resp], {
type: "application/octet-stream"
});
if (typeof window.navigator.msSaveBlob !== "undefined") {
window.navigator.msSaveBlob(blob, filename);
} else {
var URL = window.URL || window.webkitURL;
var downloadUrl = URL.createObjectURL(blob);
if (filename) {
var a = document.createElement("a");
if (typeof a.download === "undefined") {
window.location = downloadUrl;
} else {
a.href = downloadUrl;
a.download = filename;
document.body.appendChild(a);
a.target = "_blank";
a.click();
}
} else {
window.location = downloadUrl;
}
}
} catch (ex) {
console.log(ex);
}
},
error => {
console.error(error);
}
);
},
};

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

@ -37,7 +37,7 @@
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'to'" >
<el-form-item :label="'To'" >
<el-date-picker
style="width: 120px"
v-model="searchData.endDate"
@ -49,6 +49,8 @@
</el-form-item>
<el-form-item :label="' '" >
<el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
</el-form-item>
<el-form-item :label="' '" >
<el-button @click="importModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入'}}</el-button>
<download-excel
:fields="fields()"
@ -265,12 +267,12 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item >
<span slot="label" @click="getBaseList(507)"><a herf="#">PN</a></span>
<el-input v-model="updateDetailModel.partNo" ></el-input>
<el-form-item :label="'PN'">
<!-- <span slot="label" @click="getBaseList(507)"><a herf="#">PN</a></span>-->
<el-input v-model="updateDetailModel.pn" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="12">
<el-form-item :label="'Description'" >
<el-input v-model="updateDetailModel.partDescription" ></el-input>
</el-form-item>
@ -280,8 +282,6 @@
<el-input v-model="updateDetailModel.qty" type="number" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'销售订单号'" >
<el-input v-model="updateDetailModel.salesOrder" ></el-input>
@ -302,8 +302,6 @@
<el-input v-model="updateDetailModel.status" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'Family'" >
<el-input v-model="updateDetailModel.family" ></el-input>
@ -324,8 +322,6 @@
<el-input v-model="updateDetailModel.saleType" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'AWB/ BL#'" >
<el-input v-model="updateDetailModel.awbBl" ></el-input>
@ -346,8 +342,6 @@
<el-input v-model="updateDetailModel.currency" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'TP'" >
<el-input v-model="updateDetailModel.tp" type="number" ></el-input>
@ -368,14 +362,12 @@
<el-input v-model="updateDetailModel.so" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'UPC'" >
<el-input v-model="updateDetailModel.upc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="18">
<el-col :span="12">
<el-form-item :label="'Remark'" >
<el-input v-model="updateDetailModel.remark" ></el-input>
</el-form-item>
@ -409,7 +401,7 @@
deleteEcssDelDetail,
searchCoDelPalletData,
}from "@/api/ecss/ecss.js"
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
export default {
name: "null",
components:{
@ -480,6 +472,7 @@
so:'',
upc:'',
remark:'',
pn:'',
},
activeName:'detail',
columnList1: [
@ -571,7 +564,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 220
},
{
userId: this.$store.state.user.name,
@ -779,7 +772,7 @@
serialNumber: '801001Table2PartNo',
tableId: "801001Table2",
tableName: "关务系统发货通知单明细",
columnProp: "partNo",
columnProp: "pn",
headerAlign: "center",
align: "left",
columnLabel: "PN",
@ -807,7 +800,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 300
},
{
userId: this.$store.state.user.name,
@ -1688,9 +1681,9 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
this.buList = data.row2
}
})
},

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

@ -36,7 +36,7 @@
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'to'" >
<el-form-item :label="'To'" >
<el-date-picker
style="width: 120px"
v-model="searchData.endDate"
@ -133,26 +133,32 @@
<!-- </el-table-column>-->
</el-table>
</el-tab-pane>
<el-tab-pane label="装箱明细" name="pallet">
<el-button @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button>
<el-tab-pane label="手工装箱" name="box">
<el-button v-show="dataList4.length===0" @click="oneClickPacking()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'一键装箱'}}</el-button>
<el-button v-show="dataList4.length===0" @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button>
<el-button @click="newPalletModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'装箱'}}</el-button>
<el-table
:data="dataList3"
:data="dataList4"
:height="height"
border
v-loading="dataListLoading"
style="width: 100%; ">
<!-- <el-table-column-->
<!-- header-align="center"-->
<!-- align="center"-->
<!-- width="80"-->
<!-- label="操作">-->
<!-- <template slot-scope="scope">-->
<!-- <a type="text" size="small" @click="deleteNotifySOSPlus(scope.row)">编辑</a>-->
<el-table-column
header-align="center"
align="center"
width="150"
fixed="left"
label="操作">
<template slot-scope="scope">
<!-- </template>-->
<!-- </el-table-column>-->
<a type="text" size="small" @click="boxDetailModel(scope.row)">箱明细</a>
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="updatePalletModel(scope.row)">修改</a>
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="deletePallet(scope.row)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList3" :key="index"
v-for="(item,index) in columnList4" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
@ -168,31 +174,17 @@
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="手工装箱" name="box">
<el-button @click="newPalletModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'创建栈板'}}</el-button>
<el-tab-pane label="装箱明细" name="pallet">
<el-table
:data="dataList4"
:data="dataList3"
:height="height"
border
v-loading="dataListLoading"
style="width: 100%; ">
<el-table-column
header-align="center"
align="center"
width="150"
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="boxDetailModel(scope.row)">箱明细</a>
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="updatePalletModel(scope.row)">修改</a>
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="deletePallet(scope.row)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList4" :key="index"
v-for="(item,index) in columnList3" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
@ -208,6 +200,7 @@
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
@ -303,51 +296,72 @@
<el-button type="primary" @click="boxDetailModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="维护栈板" :close-on-click-modal="false" v-drag :visible.sync="palletModelFlag" width="600px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-dialog title="装箱" :close-on-click-modal="false" v-drag :visible.sync="palletModelFlag" width="600px">
<el-form label-position="top" style="margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="6">
<el-col :span="8">
<el-form-item :label="''" >
<template #label>
<span slot="label" style="" class="big-label">
<a href="#" @click="palletFlag=true">栈板</a>
</span>
</template>
<el-input v-model="palletModelData.pallet" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'栈板编号'" >
<el-input v-model="palletModelData.palletRemark" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item :label="'数量'" >
<el-input v-model="palletModelData.palletQty" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'长(M)'" >
<el-input v-model="palletModelData.length" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'宽(M)'" >
<el-input v-model="palletModelData.width" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'高(M)'" >
<el-input v-model="palletModelData.height" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'体积'" >
<el-input v-model="palletModelData.volume" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'毛重'" >
<el-input v-model="palletModelData.grossWeight" type="number"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'净重'" >
<el-input v-model="palletModelData.netWeight" type="number" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<br>
<el-table
:height="240"
:data="dataList8"
stripe ref="partTableRef"
highlight-current-row
border :row-style="{ height: '30px' }"
style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column
type="selection"
align="center"
width="55">
</el-table-column>
<el-table-column
prop="pn"
header-align="center"
align="center"
label="PN">
</el-table-column>
<el-table-column
prop="partDescription"
header-align="center"
align="center"
label="Description">
</el-table-column>
<el-table-column
prop="qty"
header-align="center"
align="center"
label="数量">
</el-table-column>
<el-table-column
prop="nocartonsT"
header-align="center"
align="center"
label="箱数">
<template slot-scope="scope">
<el-input v-model="scope.row.nocartons" style="width: 100px;"></el-input>
</template>
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="savePalletHeader()">保存</el-button>
<el-button type="primary" @click="palletModelFlag=false">关闭</el-button>
@ -358,7 +372,7 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item >
<span slot="label" @click="getBaseList(507)"><a herf="#">物料编码</a></span>
<span slot="label" @click="openPartDialog()"><a herf="#">物料编码</a></span>
<el-input v-model="boxModelData.partNo" ></el-input>
</el-form-item>
</el-col>
@ -389,6 +403,126 @@
<el-button type="primary" @click="boxModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="一键装箱" :close-on-click-modal="false" v-drag :visible.sync="oneClickPackingModelFlag" width="400px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item :label="''" >
<template #label>
<span slot="label" style="" class="big-label">
<a href="#" @click="palletFlag=true">栈板</a>
</span>
</template>
<el-input v-model="oneClickPackingModelData.pallet" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'栈板编号'" >
<el-input v-model="oneClickPackingModelData.palletRemark" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'数量'" >
<el-input v-model="oneClickPackingModelData.palletQty" type="number" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="saveOneClickPacking()">保存</el-button>
<el-button type="primary" @click="oneClickPackingModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="物料信息" @close="closePartDialog" @open="openPartDialog" :visible.sync="partFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="partData" style="margin-left: 7px;margin-top: -5px;">
</el-form>
<el-table
:height="height + 110"
:data="partList"
stripe
highlight-current-row
border
@row-dblclick="partRowDblclick"
style="width: 100%;">
<el-table-column
prop="partNo"
header-align="center"
align="center"
label="物料编码">
</el-table-column>
<el-table-column
prop="part_desc"
header-align="center"
align="center"
label="物料名称">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button @click="partFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="栈板" @close="closePalletDialog" @open="openPalletDialog" :visible.sync="palletFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="palletData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="栈板类型">
<el-input v-model="palletData.palletType" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" style="padding: 3px 12px" @click="searchPalletList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="height + 110"
:data="palletList"
stripe
highlight-current-row
border
@row-dblclick="palletRowDblclick"
style="width: 100%;">
<el-table-column
prop="palletNo"
header-align="center"
align="center"
width="120"
label="栈板编码">
</el-table-column>
<el-table-column
prop="palletType"
header-align="center"
align="center"
label="栈板类型">
</el-table-column>
<el-table-column
prop="applicationArea"
header-align="center"
align="center"
label="应用环境">
</el-table-column>
<el-table-column
prop="length"
header-align="center"
align="center"
label="长(M)">
</el-table-column>
<el-table-column
prop="width"
header-align="center"
align="center"
label="宽(M)">
</el-table-column>
<el-table-column
prop="height"
header-align="center"
align="center"
label="栈板高(M)">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button @click="palletFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 导入 -->
<pallet-upload-excel ref="palletUploadExcel" @refreshTable="searchPalletTable" v-drag></pallet-upload-excel>
<!--列表的组件-->
@ -412,8 +546,11 @@
deletePalletHeader,
savePalletDetail,
deletePalletDetail,
saveOneClickPacking,
getNotifyPartDetail,
searchPalletList
}from "@/api/ecss/ecss.js"
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
export default {
name: "null",
components:{
@ -422,6 +559,15 @@
},
data() {
return {
multipleSelection: [],
oneOrAll:'1',
palletFlag:false,
palletList:[],
palletData:{},
partFlag:false,
partData:{},
partList:[],
pageIndex: 1,
pageSize: 100,
totalPage: 0,
@ -432,6 +578,7 @@
dataList3:[],
dataList4:[],
dataList5:[],
dataList8:[],
boxDetailData:{
site:'',
buNo:'',
@ -451,6 +598,8 @@
endDate:'',
username:this.$store.state.user.name,
},
oneClickPackingModelFlag:false,
oneClickPackingModelData:{},
palletModelFlag:false,
palletModelData:{
addFlag:0,
@ -590,7 +739,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 220
},
{
userId: this.$store.state.user.name,
@ -798,7 +947,7 @@
serialNumber: '801002Table2PartNo',
tableId: "801002Table2",
tableName: "关务系统发货通知单明细",
columnProp: "partNo",
columnProp: "pn",
headerAlign: "center",
align: "left",
columnLabel: "PN",
@ -826,7 +975,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 300
},
{
userId: this.$store.state.user.name,
@ -1268,7 +1417,7 @@
serialNumber: '801002Table3PN',
tableId: "801002Table3",
tableName: "装箱明细",
columnProp: "partNo",
columnProp: "pn",
headerAlign: "center",
align: "left",
columnLabel: "PN",
@ -1596,7 +1745,7 @@
serialNumber: '801002Table5PartNo',
tableId: "801002Table5",
tableName: "栈板装箱明细",
columnProp: "partNo",
columnProp: "pn",
headerAlign: "center",
align: "left",
columnLabel: "物料编码",
@ -1672,6 +1821,27 @@
})
},
methods: {
openPartDialog () {
this.searchPartList();
this.partFlag = true
},
closePartDialog () {
this.partList = []
this.partFlag = false
},
searchPartList () {
this.partData.site = this.currentRow.site
this.partData.delNo = this.currentRow.delNo
getNotifyPartDetail(this.partData).then(({data}) => {
if (data && data.code === 0){
this.partList = data.rows;
}
})
},
partRowDblclick (row) {
this.boxModelData.partNo = row.partNo
this.partFlag = false
},
// S
getBaseList(val, type) {
this.tagNo = val
@ -1811,9 +1981,9 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
this.buList = data.row2
}
})
},
@ -1868,6 +2038,7 @@
this.palletModelFlag=true
},
newPalletModel(){
this.oneOrAll=1;
if(this.currentRow.site===''||this.currentRow.site==null){
this.$alert('请先选择发货通知单!', '错误', {
confirmButtonText: '确定'
@ -1890,27 +2061,45 @@
netWeight:'',
palletRemark:'',
}
searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
if (data && data.code == 0) {
this.dataList8 = data.rows
this.dataList8.forEach(o => {
if (!o.nocartons) {
o.nativeNocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls));
o.nocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls));
} else {
o.nativeNocartons = o.nocartons;
}
});
this.dataList8 = this.dataList8.filter(o => parseInt(o.nocartons)>0);
} else {
this.dataList8 = [];
}
});
this.palletModelFlag=true
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
savePalletHeader(){
if(this.palletModelData.palletQty===''||this.palletModelData.palletQty==null){
this.$alert('请输入数量!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.palletModelData.grossWeight===''||this.palletModelData.grossWeight==null){
this.$alert('请输入毛重!', '错误', {
if (this.multipleSelection.length===0) {
this.$alert('请选择装箱物料!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.palletModelData.netWeight===''||this.palletModelData.netWeight==null){
this.$alert('请输入净重!', '错误', {
if(this.palletModelData.palletQty===''||this.palletModelData.palletQty==null){
this.$alert('请输入数量!', '错误', {
confirmButtonText: '确定'
})
return false
}
this.multipleSelection.forEach(o => {
o.qty = o.nocartons*o.rollqty*o.boxrolls;
o.nocartons = o.nativeNocartons - o.nocartons;
});
this.palletModelData.notifyDetailList = this.multipleSelection;
savePalletHeader(this.palletModelData).then(({data}) => {
if (data && data.code === 0) {
this.refreshCurrentTabTable()
@ -2029,6 +2218,87 @@
})
})
},
oneClickPacking(){
this.oneOrAll = 2;
if(this.currentRow.site===''||this.currentRow.site==null){
this.$alert('请先选择发货通知单!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.dataList4.length>0){
this.$alert('已存在装箱数据,不可一键装箱!', '错误', {
confirmButtonText: '确定'
})
return false
}
this.oneClickPackingModelData={
addFlag:0,
site:this.currentRow.site,
buNo:this.currentRow.buNo,
delNo:this.currentRow.delNo,
seqNo:'',
palletNo:'',
palletQty:'',
length:'',
width:'',
height:'',
volume:'',
grossWeight:'',
netWeight:'',
palletRemark:'',
}
this.oneClickPackingModelFlag=true
},
saveOneClickPacking(){
if(this.oneClickPackingModelData.palletQty===''||this.oneClickPackingModelData.palletQty==null){
this.$alert('请输入数量!', '错误', {
confirmButtonText: '确定'
})
return false
}
saveOneClickPacking(this.oneClickPackingModelData).then(({data}) => {
if (data && data.code === 0) {
this.refreshCurrentTabTable()
this.oneClickPackingModelFlag=false;
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
openPalletDialog () {
//
this.searchPalletList();
},
closePalletDialog () {
this.palletList = []
this.palletFlag = false
},
searchPalletList () {
this.palletData.buNo = this.oneOrAll===2?this.oneClickPackingModelData.buNo:this.palletModelData.buNo
searchPalletList(this.palletData).then(({data}) => {
if (data && data.code === 0){
this.palletList = data.rows;
}
})
},
palletRowDblclick (row) {
if (this.oneOrAll===2) {
this.oneClickPackingModelData.pallet = row.palletNo
} else {
this.palletModelData.pallet = row.palletNo
}
this.palletFlag = false
},
},
created() {
this.getBu ()
@ -2037,5 +2307,9 @@
</script>
<style scoped>
/deep/ .el-table .cell {
line-height: 24px;
font-size: 12px;
height: 24px;
}
</style>

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

@ -28,7 +28,7 @@
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'to'" >
<el-form-item :label="'To'" >
<el-date-picker
style="width: 120px"
v-model="searchData.endDate"
@ -217,7 +217,19 @@
</el-col>
<el-col :span="4">
<el-form-item :label="'境外收货人'" >
<el-input v-model="declarationData.overseasShipper" ></el-input>
<!-- <el-input v-model="declarationData.overseasShipper" ></el-input>-->
<el-select v-model="declarationData.overseasShipper" @change="setDestination()" clearable style="width:100%;">
<el-option :label="item.ccontactname" :value="item.ccontactname" v-for="(item,index) in customerData "
:key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'境外收货地址'" >
<el-select v-model="declarationData.overseasAddress" clearable style="width:100%;">
<el-option :label="item.cDeliverAdd" :value="item.cDeliverAdd" v-for="(item,index) in customerAddData "
:key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
@ -257,7 +269,7 @@
</el-col>
<el-col :span="4">
<el-form-item :label="'贸易国(地区)'" >
<el-input v-model="declarationData.permitNumber" ></el-input>
<el-input v-model="declarationData.salesArea" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
@ -295,17 +307,17 @@
</el-col>
<el-col :span="4">
<el-form-item :label="'件数'" >
<el-input v-model="declarationData.packageQty" type="number" ></el-input>
<el-input v-model="declarationData.packageQty" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'毛重(KG)'" >
<el-input v-model="declarationData.grossWeight" type="number" ></el-input>
<el-input v-model="declarationData.grossWeight" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'净重(KG)'" >
<el-input v-model="declarationData.netWeight" type="number" ></el-input>
<el-input v-model="declarationData.netWeight" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
@ -315,17 +327,17 @@
</el-col>
<el-col :span="4">
<el-form-item :label="'运费'" >
<el-input v-model="declarationData.shipPrice" type="number" ></el-input>
<el-input v-model="declarationData.shipPrice" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'保费'" >
<el-input v-model="declarationData.premium" type="number" ></el-input>
<el-input v-model="declarationData.premium" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'杂费'" >
<el-input v-model="declarationData.otherPrice" type="number" ></el-input>
<el-input v-model="declarationData.otherPrice" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
@ -362,18 +374,18 @@
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
prop="hsCode"
prop="hsCodeDesc"
header-align="center"
align="left"
label="HSCODE"
min-width="80">
label="品名"
min-width="120">
</el-table-column>
<el-table-column
prop="hsCodeDesc"
prop="hsCode"
header-align="center"
align="left"
label="品名"
min-width="120">
label="HS Code"
min-width="80">
</el-table-column>
<el-table-column
prop="qty"
@ -395,9 +407,9 @@
align="right"
label="单价"
min-width="60">
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<el-input v-model="scope.row.unitPrice" @change="changeToalPrice(scope.row)" type="number" style="height: 11px;width:98%"></el-input>
</template>
</template>-->
</el-table-column>
<el-table-column
prop="totalPrice"
@ -479,7 +491,7 @@
getDeclarationDefaultData,
saveDeclaration,
}from "@/api/ecss/ecss.js"
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
export default {
name: "null",
components:{
@ -809,7 +821,7 @@
serialNumber: '801001Table2PartNo',
tableId: "801001Table2",
tableName: "关务系统发货通知单明细",
columnProp: "partNo",
columnProp: "pn",
headerAlign: "center",
align: "left",
columnLabel: "PN",
@ -837,7 +849,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 300
},
{
userId: this.$store.state.user.name,
@ -1035,7 +1047,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 120
},
{
userId: this.$store.state.user.name,
@ -1279,7 +1291,7 @@
serialNumber: '801001Table3PN',
tableId: "801001Table3",
tableName: "装箱明细",
columnProp: "partNo",
columnProp: "pn",
headerAlign: "center",
align: "left",
columnLabel: "PN",
@ -1462,6 +1474,9 @@
exportFooter: [],
// end
declarationFlag:false,
customerData:{},
customerMap:new Map,
customerAddData:{},
declarationData:{
site:'',
customsOfficeCode:'',
@ -1473,6 +1488,7 @@
submitDate:'',
filingNo:'',
overseasShipper:'',
overseasAddress :'',
shippingMode:'',
shippingData:'',
deliverNo:'',
@ -1580,9 +1596,9 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
this.buList = data.row2
}
})
},
@ -1595,7 +1611,19 @@
if (data && data.code === 0) {
this.declarationData=data.row
this.detailList=data.rows
this.customerData=data.customers
this.customerAddData = data.customerAdd
if (data.customerAdd && data.customerAdd.length > 0 && data.customers && data.customers.length > 0) {
this.declarationData.overseasAddress = data.customerAdd[0].cDeliverAdd
this.declarationData.overseasShipper = data.customers[0].ccontactname
}
this.declarationFlag=true
this.customerData.forEach(o => {
if (!this.customerMap.has(o.ccontactname)) {
this.customerMap.set(o.ccontactname, o.cnative);
}
});
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
@ -1603,6 +1631,9 @@
}
});
},
setDestination(){
this.detailList.forEach(o => o.destination=this.customerMap.get(this.declarationData.overseasShipper))
},
saveDeclaration(){
if(this.detailList==null|| this.detailList.length<1){
this.$alert('不存在明细记录!', '错误', {

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

@ -23,7 +23,7 @@
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'to'" >
<el-form-item :label="'To'" >
<el-date-picker
style="width: 120px"
v-model="searchData.endDate"
@ -35,12 +35,28 @@
</el-form-item>
<el-form-item label=" ">
<el-button @click="searchTable()" type="primary" style="margin-left: 2px">{{'查询'}}</el-button>
</el-form-item><br>
<el-form-item label=" ">
<el-button @click="chooseBrandType()" type="primary" style="margin-left: 2px">{{'导出报关要素'}}</el-button>
</el-form-item>
<el-form-item label=" ">
<el-button @click="downloadDeclaration()" type="primary" style="margin-left: 2px">{{'导出报关单'}}</el-button>
</el-form-item>
<el-form-item label=" ">
<el-button @click="downloadInvoice()" type="primary" style="margin-left: 2px">{{'导出发票'}}</el-button>
</el-form-item>
<el-form-item label=" ">
<el-button @click="exportPakingList()" type="primary" style="margin-left: 2px">{{'导出箱单'}}</el-button>
</el-form-item>
<el-form-item label=" ">
<el-button @click="exportGoodsList()" type="primary" style="margin-left: 2px">{{'导出出口货物委托书'}}</el-button>
</el-form-item>
</el-form>
<el-table
@row-click="changeData"
highlight-current-row
@current-change="handleCurrentChange"
:height="height"
:data="dataList"
ref="mainTable"
@ -118,7 +134,168 @@
</el-table>
</el-tab-pane>
</el-tabs>
<el-dialog title="选择品牌类型" :close-on-click-modal="false" v-drag :visible.sync="brandTypeFlag" width="300px">
<el-form label-position="top" style="margin-left: 7px;margin-top: 10px;">
<el-row :gutter="20">
<el-col :span="24">
<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-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="downloadDeclarationElements()">确定</el-button>
<el-button type="primary" @click="brandTypeFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="导出箱单" :close-on-click-modal="false" v-drag :visible.sync="exportPakingFlag" width="450px">
<el-form label-position="top" style="margin-left: 7px;margin-top: 10px;">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item :label="'序号类型'" >
<el-radio v-model="exportPaking.itemNo" label="Y">序号</el-radio>
<el-radio v-model="exportPaking.itemNo" label="N">栈板号</el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'Shipping Mark'" >
<el-input v-model="exportPaking.shippingMark"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-show="currentRow.buNo==='03-RFID'">
<el-form-item :label="''" >
<el-checkbox v-model="exportPaking.upc">UPC</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12" v-show="currentRow.buNo==='03-RFID'">
<el-form-item :label="''" >
<el-checkbox v-model="exportPaking.so">SO</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12" v-show="currentRow.buNo==='01-Label' || currentRow.buNo==='03-RFID'">
<el-form-item :label="'制造地'" >
<el-input v-model="exportPaking.origin"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-show="currentRow.buNo==='01-Label' || currentRow.buNo==='03-RFID'">
<el-form-item :label="'栈板重量参数'" >
<el-input v-model="exportPaking.palletWeight"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'RFID Base Material'" >
<el-checkbox v-model="exportPaking.material"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'HS Code'" >
<el-input :disabled="!exportPaking.material" v-model="exportPaking.hsCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'Non-reusable plastic packaging'" >
<el-checkbox v-model="exportPaking.packaging"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'plastic packaging'" >
<el-input :disabled="!exportPaking.packaging" v-model="exportPaking.kgs"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-show="currentRow.buNo==='03-RFID'"
:height="240"
:data="notifyPartDetailList"
stripe
highlight-current-row
border :row-style="{ height: '30px' }"
style="width: 100%;">
<el-table-column
prop="partNo"
header-align="center"
align="center"
label="PN">
</el-table-column>
<el-table-column
prop="ehundred"
header-align="center"
align="center"
label="E100">
<template slot-scope="scope">
<el-input v-model="scope.row.ehundred" size="large" style="width: 100px;"></el-input>
</template>
</el-table-column>
<el-table-column
prop="lossratio"
header-align="center"
align="center"
label="纯FSC纸重量损耗">
<template slot-scope="scope">
<el-input v-model="scope.row.lossratio" style="width: 100px;"></el-input>
</template>
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="downloadPackingList()">确定</el-button>
<el-button type="primary" @click="exportPakingFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="导出出口货物委托书" :close-on-click-modal="false" v-drag :visible.sync="exportGoodsFlag" width="500px">
<el-form label-position="top" style="margin-left: 7px;margin-top: 10px;">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item :label="'贸易方式'" >
<el-input v-model="exportGoods.salesMethod"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'币制'" >
<el-input v-model="exportGoods.currency"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'货物产地'" >
<el-input v-model="exportGoods.madeArea"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'发货港'" >
<el-input v-model="exportGoods.sendPort"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'船名 / 航次'" >
<el-input v-model="exportGoods.voyage"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'提/送货日期'" >
<el-input v-model="exportGoods.deliveryGoodsDate"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'船期'" >
<el-input v-model="exportGoods.shippingDate"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="'发货人'" >
<el-input type="textarea"
:rows="4" v-model="exportGoods.shipper"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 80px;text-align:center">
<el-button type="primary" @click="downloadExportGoods()">确定</el-button>
<el-button type="primary" @click="exportGoodsFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
@ -129,8 +306,12 @@
searchDeclarationHeader,
searchDeclarationDetail,
deleteDeclaration,
downloadDeclarationElements,
getNotifyPartDetail,
getCustomerInfo
}from "@/api/ecss/ecss.js"
import {EventBus} from "../../../main";
import ExportUtil from "@/utils/export";
export default {
name: "declaration",
components:{
@ -138,6 +319,31 @@
},
data() {
return {
customerInfoList:[],
notifyPartDetailList:[],
currentRow:{},
exportGoodsFlag:false,
exportGoods:{
salesMethod:'EXW',
currency: 'USD',
madeArea: 'Shanghai, China',
sendPort:'Shanghai, China',
deliveryGoodsDate:'',
voyage :'',
shippingDate:'',
shipper:'Checkpoint Commercial (Shanghai) Co., Ltd. 保点贸易(上海)有限公司\t\t\t\t\t\t\n' +
'Room 1411, No. 31, Lane 2419, Hunan Road, Pudong New Area, Shanghai\t\t\t\t\t\t\n' +
'电话/Tel: (86-21)38112888 传真/Fax: (86-21)38112990\t\t\t\t\t\t\n' +
'上海市浦东新区沪南路2419弄31号1411室\t\t\t\t\t\t\n'
},
brandTypeFlag:false,
exportPakingFlag:false,
exportPaking:{
origin:"made in china",
itemNo:''
},
brandType:'',
exportParam: {},
pageIndex: 1,
pageSize: 100,
totalPage: 0,
@ -238,10 +444,10 @@
serialNumber: '801006Table2Levy',
tableId: "801006Table2",
tableName: "报关单子记录",
columnProp: "levy",
columnProp: "dutyStatus",
headerAlign: "center",
align: "left",
columnLabel: "征免",
columnLabel: "征免性质",
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -284,7 +490,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 180
},
{
userId: this.$store.state.user.name,
@ -446,7 +652,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
columnWidth: 180
},
{
userId: this.$store.state.user.name,
@ -842,7 +1048,7 @@
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 90
},
],
columnList2: [
@ -927,7 +1133,7 @@
columnProp: "netWeight",
headerAlign: "center",
align: "right",
columnLabel: "数量",
columnLabel: "净重",
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -1138,6 +1344,165 @@
});
});
},
handleCurrentChange(val) {
this.currentRow = val;
},
chooseBrandType() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
this.brandType='境外品牌(其他)'
this.brandTypeFlag = true
},
exportPakingList() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
this.exportPaking = this.currentRow
if (!this.exportPaking.origin) {
this.exportPaking.origin = 'made in china'
}
if (!this.exportPaking.itemNo) {
this.exportPaking.itemNo = 'Y'
}
this.exportPakingFlag = true
if (this.currentRow.buNo==='03-RFID') {
getNotifyPartDetail(this.currentRow).then(({data}) => {
//
if (data && data.code == 0) {
this.notifyPartDetailList = data.rows
this.notifyPartDetailList.forEach(o => {
if (!o.lossratio) {
o.lossratio = '1.2';
}
});
} else {
this.notifyPartDetailList = [];
}
});
}
},
exportGoodsList() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
this.exportGoods.salesMethod = 'EXW'
this.exportGoods.currency = 'USD'
this.exportGoods.madeArea = 'Shanghai, China'
this.exportGoods.sendPort = 'Shanghai, China'
this.exportGoods.deliveryGoodsDate = ''
this.exportGoods.voyage = ''
this.exportGoods.shippingDate = ''
this.exportGoodsFlag = true
},
//
downloadDeclarationElements() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
let exportParam={}
exportParam.declarationNo = this.currentRow.declarationNo
exportParam.site = this.currentRow.site
exportParam.delNo = this.currentRow.delNo
exportParam.brandType = this.brandType
let error;
ExportUtil.export(
"/ecss/coDel/downloadDeclarationElements",
exportParam, this.currentRow.declarationNo+"报关要素.xlsx"
);
this.brandTypeFlag = false
},
downloadDeclaration() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
let exportParam={}
exportParam.declarationNo = this.currentRow.declarationNo
exportParam.site = this.currentRow.site
exportParam.delNo = this.currentRow.delNo
ExportUtil.export(
"/ecss/coDel/downloadDeclaration",
exportParam, this.currentRow.declarationNo+"报关单.xlsx"
);
},
downloadInvoice() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
let exportParam={}
exportParam.declarationNo = this.currentRow.declarationNo
exportParam.site = this.currentRow.site
exportParam.delNo = this.currentRow.delNo
ExportUtil.export(
"/ecss/coDel/downloadInvoice",
exportParam, this.currentRow.declarationNo+"发票.xlsx"
);
},
downloadPackingList() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
if ((this.currentRow.buNo==='01-Label' || this.currentRow.buNo==='03-RFID')
&& !this.exportPaking.origin) {
this.$message.warning('请填写制造地!')
return
}
if ((this.currentRow.buNo==='01-Label' || this.currentRow.buNo==='03-RFID')
&& !this.exportPaking.palletWeight) {
this.$message.warning('请填写栈板重量!')
return
}
if (this.exportPaking.material && !this.exportPaking.hsCode) {
this.$message.warning('请填写hsCode!')
return
}
if (this.exportPaking.packaging && !this.exportPaking.kgs) {
this.$message.warning('请填写plastic packaging!')
return
}
let exportParam=this.exportPaking
exportParam.declarationNo = this.currentRow.declarationNo
exportParam.site = this.currentRow.site
exportParam.delNo = this.currentRow.delNo
exportParam.notifyPartDetailList = this.notifyPartDetailList
ExportUtil.export(
"/ecss/coDel/downloadPackingList",
exportParam, this.currentRow.declarationNo+"箱单.xlsx"
);
this.exportPakingFlag = false;
},
downloadExportGoods() {
if (!this.currentRow) {
this.$message.warning('请选择报关单!')
return
}
let exportParam=this.exportGoods
exportParam.declarationNo = this.currentRow.declarationNo
exportParam.site = this.currentRow.site
exportParam.delNo = this.currentRow.delNo
ExportUtil.export(
"/ecss/coDel/downloadExportGoods",
exportParam, this.currentRow.declarationNo+"出口货物委托书.xlsx"
);
this.exportGoodsFlag = false;
},
getCustomerInfo() {
getCustomerInfo(this.currentRow).then(({data}) => {
//
if (data && data.code == 0) {
this.customerInfoList = data.rows
} else {
this.customerInfoList = [];
}
});
},
},
created() {
@ -1146,5 +1511,9 @@
</script>
<style scoped>
/deep/ .el-table .cell {
line-height: 24px;
font-size: 12px;
height: 24px;
}
</style>

16
src/views/modules/ecss/del_upload_excel.vue

@ -39,7 +39,7 @@
import {queryFileId} from "@/api/qc/qc.js"
import {saveEcssCoDelNotifyByExcel} from '@/api/ecss/ecss.js'
import {downLoadObjectFile} from '@/api/eam/eam_object_list.js'
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
export default {
name: 'bomComponentUpload',
data() {
@ -64,11 +64,11 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
if(data.rows.length>0){
this.pageData.buNo=data.rows[0].buNo
this.buList = data.row2
if(data.row2.length>0){
this.pageData.buNo=data.row2[0].buNo
}
}
})
@ -107,6 +107,10 @@
//
saveUploadFile () {
if (null == this.pageData.buNo || this.pageData.buNo=='') {
this.$message.error("请先选择BU!")
return false
}
//
if (null == this.fileList || 0 === this.fileList.length) {
this.$message.error("请先上传文件!")
@ -123,7 +127,7 @@
//
this.closeDialog()
} else {
this.$message.warning(data.msg)
this.$message.error(data.msg)
}
})
},

52
src/views/modules/ecss/hsCode.vue

@ -12,6 +12,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="'品名:'">
<el-input v-model="searchData.hsCodeDesc" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'HS Code:'">
<el-input v-model="searchData.hsCode" style="width: 120px"></el-input>
</el-form-item>
@ -70,7 +73,7 @@
</el-pagination>
<el-tabs style="font-size: 12px;min-height: 200px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick" >
<el-tab-pane label="基本信息" name="attribute">
<order-attribute ref="dialogAttribute" :site="currentRow.site" :buNo="currentRow.buNo" :order-no="currentRow.hsCode" :code-no="currentRow.codeNo" :function-type="'ECSS'"></order-attribute>
<order-attribute ref="dialogAttribute" :site="currentRow.site" :buNo="currentRow.buNo" :order-no="currentRow.hsCodeDesc" :code-no="currentRow.codeNo" :function-type="'ECSS'"></order-attribute>
</el-tab-pane>
</el-tabs>
@ -89,9 +92,14 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'品名'" >
<el-input v-model="addModel.hsCodeDesc" :disabled="addModel.addFlag!==0" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'HS Code'" >
<el-input v-model="addModel.hsCode" :disabled="addModel.addFlag!==0" ></el-input>
<el-input v-model="addModel.hsCode" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -100,9 +108,7 @@
<el-input v-model="addModel.codeNo" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-col :span="16">
<el-form-item :label="'备注'" >
<el-input v-model="addModel.remark" ></el-input>
</el-form-item>
@ -129,7 +135,7 @@
saveHSCodeData,
deleteHsCode,
}from "@/api/ecss/ecss.js"
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
export default {
name: "null",
components:{
@ -151,6 +157,7 @@
limit: 100,
buNo:'',
hsCode:'',
hsCodeDesc:'',
codeNo:'',
username:this.$store.state.user.name,
},
@ -163,6 +170,7 @@
site:'',
buNo:'',
hsCode:'',
hsCodeDesc:'',
codeNo:'',
remark:'',
},
@ -205,6 +213,24 @@
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801003Table1HsCode',
tableId: "801003Table1",
tableName: "HsCode基础信息",
columnProp: "hsCodeDesc",
headerAlign: "center",
align: "left",
columnLabel: "品名",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
@ -380,7 +406,7 @@
},
refreshCurrentTabTable(){
if(this.currentRow===''||this.currentRow===null){
this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
this.currentRow={site:'',hsCode:'',hsCodeDesc: '',buNo:'',recordType:'',codeNo:''}
}
if(this.activeName==='detail'){
// searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
@ -403,9 +429,9 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
this.buList = data.row2
}
})
},
@ -416,6 +442,7 @@
site:'',
buNo:'',
hsCode:'',
hsCodeDesc: '',
codeNo:'',
remark:'',
}
@ -428,6 +455,7 @@
site:row.site,
buNo:row.buNo,
hsCode:row.hsCode,
hsCodeDesc : row.hsCodeDesc,
codeNo:row.codeNo,
remark:row.remark,
}
@ -465,6 +493,12 @@
})
return false
}
if(this.addModel.hsCodeDesc==null||this.addModel.hsCodeDesc===''){
this.$alert('请输入品名!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.codeNo==null||this.addModel.codeNo===''){
this.$alert('请选择属性模板!', '错误', {
confirmButtonText: '确定'

641
src/views/modules/ecss/package.vue

@ -0,0 +1,641 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-form-item :label="'BU:'">
<el-select v-model="searchData.buNo" placeholder="请选择" >
<el-option label="全部" value=""></el-option>
<el-option
v-for = "i in buList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="'箱类型:'">
<el-input v-model="searchData.packageType" ></el-input>
<!-- <el-select filterable v-model="searchData.packageType" clearable style="width: 140px;">
<el-option :label="item" :value="item" v-for="(item,index) in packageTypes "
:key="index"></el-option>
</el-select>-->
</el-form-item>
<el-form-item :label="' '" >
<el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
<el-button @click="addModelOpen()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
</el-form-item>
</el-form>
<el-table
@row-click="changeData"
highlight-current-row
:height="height"
:data="dataList"
ref="mainTable"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
header-align="center"
align="center"
width="100"
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="updateModelOpen(scope.row)">编辑</a>
<a type="text" size="small" @click="deletePackage(scope.row)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList1" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<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>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[20, 50, 100, 1000]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog title="维护包装箱信息" :close-on-click-modal="false" v-drag :visible.sync="addModelFlag" width="500px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item :label="'BU:'">
<el-select v-model="addModel.buNo" placeholder="请选择" :disabled="addModel.addFlag!==0" style="width: 100%">
<el-option
v-for = "i in buList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'包装箱编码'" >
<el-input v-model="addModel.packageNo" :disabled="addModel.addFlag!==0" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'箱类型'" >
<el-input v-model="addModel.packageType" ></el-input>
<!-- <el-select filterable v-model="addModel.packageType" clearable style="width:100%;">
<el-option :label="item" :value="item" v-for="(item,index) in packageTypes "
:key="index"></el-option>
</el-select>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="长(M)">
<el-input v-model="addModel.length" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宽(M)">
<el-input v-model="addModel.width" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="高(M)">
<el-input v-model="addModel.height" ></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="重量">
<el-input v-model="addModel.weight" ></el-input>
</el-form-item>
</el-col>-->
<el-col :span="24">
<el-form-item :label="'备注'" >
<el-input v-model="addModel.remark" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="savePackage()">保存</el-button>
<el-button type="primary" @click="addModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<!--列表的组件-->
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
</template>
<script>
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {} from "@/api/sysLanguage.js"
import {
searchPackageData,
savePackageData,
deletePackage,
}from "@/api/ecss/ecss.js"
import {getBuList}from '@/api/factory/site.js'
export default {
name: "null",
components:{
Chooselist,
},
data() {
return {
packageTypes: ['木箱', '塑料箱', '瓦楞纸箱', '蜂窝纸箱'],
pageIndex: 1,
pageSize: 100,
totalPage: 0,
height: 200,
buList:[],
dataList:[],
dataList2:[],
dataListLoading: false,
searchData: {
page: 1,
limit: 100,
buNo:'',
packageType:'',
codeNo:'',
username:this.$store.state.user.name,
},
buttons:{
search:'查询',
},
addModelFlag:false,
addModel:{
addFlag:0,
packageNo:'',
site:'',
buNo:'',
packageType:'',
length:'',
width:'',
height:'',
volume:'',
remark:'',
},
addDisabledFlag:true,
activeName:'attribute',
columnList1: [
{
userId: this.$store.state.user.name,
functionId: 801008,
serialNumber: '801008Table1BuDesc',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "buDesc",
headerAlign: "center",
align: "center",
columnLabel: "BU",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1PackageNo',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "packageNo",
headerAlign: "center",
align: "center",
columnLabel: "包装箱编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1packageType',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "packageType",
headerAlign: "center",
align: "center",
columnLabel: "箱类型",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1Length',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "length",
headerAlign: "center",
align: "center",
columnLabel: "长(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1Width',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "width",
headerAlign: "center",
align: "center",
columnLabel: "宽(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1Height',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "height",
headerAlign: "center",
align: "center",
columnLabel: "高(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1Height',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "volume",
headerAlign: "center",
align: "center",
columnLabel: "体积",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
/* {
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1Height',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "weight",
headerAlign: "center",
align: "center",
columnLabel: "重量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
}, */
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1CreateBy',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "createBy",
headerAlign: "center",
align: "center",
columnLabel: "创建人",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1CreateDate',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "createDate",
headerAlign: "center",
align: "center",
columnLabel: "创建日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1UpdateBy',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "updateBy",
headerAlign: "center",
align: "left",
columnLabel: "修改人",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1UpdateDate',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "updateDate",
headerAlign: "center",
align: "center",
columnLabel: "修改日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801008Table1Remark',
tableId: "801008Table1",
tableName: "package基础信息",
columnProp: "remark",
headerAlign: "center",
align: "left",
columnLabel: "备注",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 300
},
],
currentRow:{},
}
},
mounted() {
this.$nextTick(() => {
this.height = (window.innerHeight - 240)/2;
})
},
methods: {
// S
getBaseList(val, type) {
this.tagNo = val
this.$nextTick(() => {
let strVal = ''
if (val === 33) {
strVal = this.addModel.codeNo
}
this.$refs.baseList.init(val, strVal)
})
},
/* 列表方法的回调 */
getBaseData(val) {
if (this.tagNo === 33) {
this.addModel.codeNo = val.Code_No
}
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.searchTable()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.searchTable()
},
searchTable(){
this.searchData.limit = this.pageSize
this.searchData.page = this.pageIndex
searchPackageData(this.searchData).then(({data}) => {
//
if (data && data.code == 0) {
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
if(this.dataList.length>0){
this.$refs.mainTable.setCurrentRow(this.dataList[0]);
this.changeData(this.dataList[0])
}else {
this.changeData(null)
}
} else {
this.dataList = [];
}
});
},
changeData(row){
this.currentRow = JSON.parse(JSON.stringify(row));
this.headerData=row;
this.refreshCurrentTabTable ();
},
refreshCurrentTabTable(){
if(this.currentRow===''||this.currentRow===null){
this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
}
if(this.activeName==='detail'){
// searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
// //
// if (data && data.code == 0) {
// this.dataList2 = data.rows
//
// } else {
// this.dataList2 = [];
// }
// });
}
},
tabClick (tab, event) {
//
this.refreshCurrentTabTable()
},
getBu () {
let tempData = {
username: this.$store.state.user.name,
}
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.row2
}
})
},
addModelOpen(){
this.addDisabledFlag=true
this.addModel={
addFlag:0,
packageNo:'',
site:'',
buNo:'',
packageType:'',
length:'',
width:'',
height:'',
weight:'',
remark:'',
}
this.addModelFlag=true
},
updateModelOpen(row){
this.addDisabledFlag=false
this.addModel={
id:row.id,
addFlag:1,
packageNo:row.packageNo,
site:row.site,
buNo:row.buNo,
packageType:row.packageType,
length:row.length,
width:row.width,
height:row.height,
weight:row.weight,
remark:row.remark,
}
this.addModelFlag=true
},
deletePackage(row){
this.$confirm('确认删除?', '提示').then(() => {
deletePackage(row).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
},
savePackage(){
if(this.addModel.buNo==null||this.addModel.buNo===''){
this.$alert('请选择BU!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.packageNo==null||this.addModel.packageNo===''){
this.$alert('请输入编码!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.packageType==null||this.addModel.packageType===''){
this.$alert('请输入包材类型!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.length==null||this.addModel.length===''){
this.$alert('请输入长度!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.width==null||this.addModel.width===''){
this.$alert('请输入宽度!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.height==null||this.addModel.height===''){
this.$alert('请输入高度!', '错误', {
confirmButtonText: '确定'
})
return false
}
savePackageData(this.addModel).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.addModelFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
},
activated() {
this.searchTable()
},
created() {
this.getBu ()
}
}
</script>
<style scoped>
</style>

633
src/views/modules/ecss/pallet.vue

@ -0,0 +1,633 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-form-item :label="'BU:'">
<el-select v-model="searchData.buNo" placeholder="请选择" >
<el-option label="全部" value=""></el-option>
<el-option
v-for = "i in buList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="'栈板类型:'">
<el-input v-model="searchData.palletType" ></el-input>
<!-- <el-select filterable v-model="searchData.palletType" clearable style="width: 140px;">
<el-option :label="item" :value="item" v-for="(item,index) in palletTypes "
:key="index"></el-option>
</el-select>-->
</el-form-item>
<el-form-item :label="' '" >
<el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
<el-button @click="addModelOpen()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
</el-form-item>
</el-form>
<el-table
@row-click="changeData"
highlight-current-row
:height="height"
:data="dataList"
ref="mainTable"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
header-align="center"
align="center"
width="100"
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="updateModelOpen(scope.row)">编辑</a>
<a type="text" size="small" @click="deletePallet(scope.row)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList1" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<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>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[20, 50, 100, 1000]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog title="维护栈板信息" :close-on-click-modal="false" v-drag :visible.sync="addModelFlag" width="500px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item :label="'BU:'">
<el-select v-model="addModel.buNo" placeholder="请选择" :disabled="addModel.addFlag!==0" style="width: 100%">
<el-option
v-for = "i in buList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="栈板编码">
<el-input v-model="addModel.palletNo" :disabled="addModel.addFlag!==0" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'栈板类型'" >
<el-input v-model="addModel.palletType" ></el-input>
<!-- <el-select filterable v-model="addModel.palletType" clearable style="width:100%;">
<el-option :label="item" :value="item" v-for="(item,index) in palletTypes "
:key="index"></el-option>
</el-select>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'应用环境'" >
<el-select filterable v-model="addModel.applicationArea" clearable style="width: 100%;">
<el-option label="EU" value="EU"></el-option>
<el-option label="US" value="US"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="长(M)">
<el-input v-model="addModel.length" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宽(M)">
<el-input v-model="addModel.width" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="栈板高(M)">
<el-input v-model="addModel.height" ></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item :label="'备注'" >
<el-input v-model="addModel.remark" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="savePallet()">保存</el-button>
<el-button type="primary" @click="addModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<!--列表的组件-->
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
</template>
<script>
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {} from "@/api/sysLanguage.js"
import {
searchPalletData,
savePalletData,
deletePallet,
}from "@/api/ecss/ecss.js"
import {getBuList}from '@/api/factory/site.js'
export default {
name: "null",
components:{
Chooselist,
},
data() {
return {
palletTypes: ['木栈板', '塑料栈板', '钢栈板', '复合材料栈板'],
pageIndex: 1,
pageSize: 100,
totalPage: 0,
height: 200,
buList:[],
dataList:[],
dataList2:[],
dataListLoading: false,
searchData: {
page: 1,
limit: 100,
buNo:'',
palletType:'',
codeNo:'',
username:this.$store.state.user.name,
},
buttons:{
search:'查询',
},
addModelFlag:false,
addModel:{
addFlag:0,
palletNo:'',
site:'',
buNo:'',
palletType:'',
length:'',
width:'',
height:'',
applicationArea:'',
remark:'',
},
addDisabledFlag:true,
activeName:'attribute',
columnList1: [
{
userId: this.$store.state.user.name,
functionId: 801007,
serialNumber: '801007Table1BuDesc',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "buDesc",
headerAlign: "center",
align: "center",
columnLabel: "BU",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1PalletNo',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "palletNo",
headerAlign: "center",
align: "center",
columnLabel: "栈板编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1PalletType',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "palletType",
headerAlign: "center",
align: "center",
columnLabel: "栈板类型",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1Length',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "length",
headerAlign: "center",
align: "center",
columnLabel: "长(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1Width',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "width",
headerAlign: "center",
align: "center",
columnLabel: "宽(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1Height',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "height",
headerAlign: "center",
align: "center",
columnLabel: "栈板高(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1ApplicationArea',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "applicationArea",
headerAlign: "center",
align: "center",
columnLabel: "应用环境",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1CreateBy',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "createBy",
headerAlign: "center",
align: "center",
columnLabel: "创建人",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1CreateDate',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "createDate",
headerAlign: "center",
align: "center",
columnLabel: "创建日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1UpdateBy',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "updateBy",
headerAlign: "center",
align: "left",
columnLabel: "修改人",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1UpdateDate',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "updateDate",
headerAlign: "center",
align: "center",
columnLabel: "修改日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801003,
serialNumber: '801007Table1Remark',
tableId: "801007Table1",
tableName: "pallet基础信息",
columnProp: "remark",
headerAlign: "center",
align: "left",
columnLabel: "备注",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 300
},
],
currentRow:{},
}
},
mounted() {
this.$nextTick(() => {
this.height = (window.innerHeight - 240)/2;
})
},
methods: {
// S
getBaseList(val, type) {
this.tagNo = val
this.$nextTick(() => {
let strVal = ''
if (val === 33) {
strVal = this.addModel.codeNo
}
this.$refs.baseList.init(val, strVal)
})
},
/* 列表方法的回调 */
getBaseData(val) {
if (this.tagNo === 33) {
this.addModel.codeNo = val.Code_No
}
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.searchTable()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.searchTable()
},
searchTable(){
this.searchData.limit = this.pageSize
this.searchData.page = this.pageIndex
searchPalletData(this.searchData).then(({data}) => {
//
if (data && data.code == 0) {
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
if(this.dataList.length>0){
this.$refs.mainTable.setCurrentRow(this.dataList[0]);
this.changeData(this.dataList[0])
}else {
this.changeData(null)
}
} else {
this.dataList = [];
}
});
},
changeData(row){
this.currentRow = JSON.parse(JSON.stringify(row));
this.headerData=row;
this.refreshCurrentTabTable ();
},
refreshCurrentTabTable(){
if(this.currentRow===''||this.currentRow===null){
this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
}
if(this.activeName==='detail'){
// searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
// //
// if (data && data.code == 0) {
// this.dataList2 = data.rows
//
// } else {
// this.dataList2 = [];
// }
// });
}
},
tabClick (tab, event) {
//
this.refreshCurrentTabTable()
},
getBu () {
let tempData = {
username: this.$store.state.user.name,
}
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.row2
}
})
},
addModelOpen(){
this.addDisabledFlag=true
this.addModel={
addFlag:0,
palletNo:'',
site:'',
buNo:'',
palletType:'',
length:'',
width:'',
height:'',
applicationArea:'',
remark:'',
}
this.addModelFlag=true
},
updateModelOpen(row){
this.addDisabledFlag=false
this.addModel={
id:row.id,
addFlag:1,
palletNo:row.palletNo,
site:row.site,
buNo:row.buNo,
palletType:row.palletType,
length:row.length,
width:row.width,
height:row.height,
applicationArea:row.applicationArea,
remark:row.remark,
}
this.addModelFlag=true
},
deletePallet(row){
this.$confirm('确认删除?', '提示').then(() => {
deletePallet(row).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
},
savePallet(){
if(this.addModel.buNo==null||this.addModel.buNo===''){
this.$alert('请选择BU!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.palletNo==null||this.addModel.palletNo===''){
this.$alert('请输入编码!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.applicationArea==null||this.addModel.applicationArea===''){
this.$alert('请输入应用环境!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.palletType==null||this.addModel.palletType===''){
this.$alert('请输入类型!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.length==null||this.addModel.length===''){
this.$alert('请输入长度!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.addModel.width==null||this.addModel.width===''){
this.$alert('请输入宽度!', '错误', {
confirmButtonText: '确定'
})
}
if(this.addModel.height==null||this.addModel.height===''){
this.$alert('请输入高度!', '错误', {
confirmButtonText: '确定'
})
return false
}
savePalletData(this.addModel).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.addModelFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
},
activated() {
this.searchTable()
},
created() {
this.getBu ()
}
}
</script>
<style scoped>
</style>

6
src/views/modules/ecss/pallet_upload_excel.vue

@ -42,7 +42,7 @@
import {queryFileId} from "@/api/qc/qc.js"
import {saveCoDelPalletDataByExcel} from '@/api/ecss/ecss.js'
import {downLoadObjectFile} from '@/api/eam/eam_object_list.js'
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
export default {
name: 'bomComponentUpload',
data() {
@ -69,9 +69,9 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
this.buList = data.row2
}
})
console.log(inData)

295
src/views/modules/ecss/partHsCode.vue

@ -14,6 +14,9 @@
<el-form-item :label="'物料编码'">
<el-input v-model="searchData.partNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'ERP物料编码'">
<el-input v-model="searchData.sku" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'物料描述'">
<el-input v-model="searchData.partDesc" clearable style="width: 210px"></el-input>
</el-form-item>
@ -29,7 +32,7 @@
<el-form-item style="margin-top: 23px;">
<label style="margin-left: 0px;font-size: 19px">&#10142</label>
</el-form-item>
<el-form-item :label="' '">
<el-form-item :label="'To '">
<el-date-picker
style="width: 120px"
v-model="searchData.endDate"
@ -105,32 +108,56 @@
<el-tabs style="font-size: 12px;min-height: 200px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick" >
<el-tab-pane label="基本信息" name="attribute">
<order-attribute ref="dialogAttribute" :site="currentRow.site" :buNo="currentRow.buNo" :order-no="currentRow.partNo" :code-no="'BG001'" :function-type="'ECSS'"></order-attribute>
<order-attribute ref="dialogAttribute" :site="currentRow.site" :buNo="currentRow.buNo" :order-no="currentRow.partNo" :code-no="'BG001'" :function-type="'ECSSPART'"></order-attribute>
</el-tab-pane>
</el-tabs>
<el-dialog title="维护HSCode" :close-on-click-modal="false" v-drag :visible.sync="hsCodeModelFlag" width="500px">
<el-dialog title="维护HS Code" :close-on-click-modal="false" v-drag :visible.sync="hsCodeModelFlag" width="500px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="8">
<el-col :span="12">
<el-form-item :label="'物料编码:'">
<el-input v-model="hsCodeModelData.partNo" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-col :span="12">
<el-form-item :label="'物料名称'" >
<el-input v-model="hsCodeModelData.partDesc" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item >
<template #label>
<span slot="label" style="" class="big-label">
<a href="#" @click="hsCodeFlag=true">品名</a>
</span>
</template>
<el-input v-model="hsCodeModelData.hsCodeDesc" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'HS Code'" >
<el-input v-model="hsCodeModelData.hsCode" ></el-input>
<el-input v-model="hsCodeModelData.hsCode" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'品名'" >
<el-input v-model="hsCodeModelData.hsCodeDesc" ></el-input>
<!-- <el-col :span="12">
<el-form-item >
<template #label>
<span slot="label" style="" class="big-label">
<a href="#" @click="palletFlag=true">栈板</a>
</span>
</template>
<el-input v-model="hsCodeModelData.palletType" disabled ></el-input>
</el-form-item>
</el-col>-->
<el-col :span="12">
<el-form-item>
<template #label>
<span slot="label" style="" class="big-label">
<a href="#" @click="packageFlag=true">包装箱</a>
</span>
</template>
<el-input v-model="hsCodeModelData.packageNo" disabled ></el-input>
</el-form-item>
</el-col>
</el-row>
@ -141,6 +168,141 @@
</el-footer>
</el-dialog>
<el-dialog title="品名" @close="closeHsCodeDialog" @open="openHsCodeDialog" :visible.sync="hsCodeFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="hsCodeData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="品名">
<el-input v-model="hsCodeData.hsCode" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" style="padding: 3px 12px" @click="searchHsCodeList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="height + 110"
:data="hsCodeList"
stripe
highlight-current-row
border
@row-dblclick="hsCodeRowDblclick"
style="width: 100%;">
<el-table-column
prop="BuNo"
header-align="center"
align="center"
label="Bu">
</el-table-column>
<el-table-column
prop="hsCodeDesc"
header-align="center"
align="center"
label="品名">
</el-table-column>
<el-table-column
prop="HsCode"
header-align="center"
align="center"
label="HS Code">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button @click="hsCodeFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="栈板" @close="closePalletDialog" @open="openPalletDialog" :visible.sync="palletFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="palletData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="栈板类型">
<el-input v-model="palletData.palletType" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" style="padding: 3px 12px" @click="searchPalletList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="height + 110"
:data="palletList"
stripe
highlight-current-row
border
@row-dblclick="palletRowDblclick"
style="width: 100%;">
<el-table-column
prop="BuNo"
header-align="center"
align="center"
label="BuNo">
</el-table-column>
<el-table-column
prop="palletType"
header-align="center"
align="center"
label="栈板类型">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button @click="palletFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="包装箱" @close="closePackageDialog" @open="openPackageDialog" :visible.sync="packageFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="packageData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="包装箱类型">
<el-input v-model="packageData.packageType" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" style="padding: 3px 12px" @click="searchPackageList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="height + 110"
:data="packageList"
stripe
highlight-current-row
border
@row-dblclick="packageRowDblclick"
style="width: 100%;">
<el-table-column
prop="BuNo"
header-align="center"
align="center"
label="BuNo">
</el-table-column>
<el-table-column
prop="packageType"
header-align="center"
align="center"
label="包装箱类型">
</el-table-column>
<el-table-column
prop="packageNo"
header-align="center"
align="center"
width="140"
label="包装箱编码">
</el-table-column>
<el-table-column
prop="length"
header-align="center"
align="center"
label="长(M)">
</el-table-column>
<el-table-column
prop="width"
header-align="center"
align="center"
label="宽(M)">
</el-table-column>
<el-table-column
prop="height"
header-align="center"
align="center"
label="高(M)">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button @click="packageFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
@ -148,9 +310,10 @@
<script>
import {
partInformationHsCode,savePartHSCode,
searchHsCodeList,searchPalletList,searchPackageList
}from "@/api/ecss/ecss.js"
import {} from "@/api/sysLanguage.js"
import {getAllBuList}from '@/api/factory/site.js'
import {getBuList}from '@/api/factory/site.js'
import orderAttribute from "./orderProperties"
export default {
name: "null",
@ -160,6 +323,16 @@
data() {
return {
activeName:'attribute',
hsCodeFlag:false,
palletFlag:false,
packageFlag:false,
hsCodeData:{},
palletData:{},
packageData:{},
hsCodeList:[],
palletList:[],
packageList:[],
buList:[],
//
exportData: [],
exportName: '物料HsCode' + this.dayjs().format('YYYYMMDDHHmmss'),
@ -223,6 +396,24 @@
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 801005,
serialNumber: '801005Table1PartNo',
tableId: '801005Table1',
tableName: '物料信息表',
columnProp: 'sku',
headerAlign: 'center',
align: 'left',
columnLabel: 'ERP物料编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 801005,
@ -250,7 +441,7 @@
columnProp: 'hsCode',
headerAlign: 'center',
align: 'left',
columnLabel: 'HsCode',
columnLabel: 'HS Code',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -539,13 +730,14 @@
partDesc: '',
hsCode:'',
hsCodeDesc:'',
packageNo:''
},
currentRow:{
site:'',
partNo:'',
buNo:'',
recordType:'',
hsCodeNo:''
}
}
},
@ -555,6 +747,71 @@
})
},
methods: {
openHsCodeDialog () {
//
this.searchHsCodeList();
},
closeHsCodeDialog () {
this.hsCodeList = []
this.hsCodeFlag = false
},
searchHsCodeList () {
this.hsCodeData.buNo = this.hsCodeModelData.buNo
searchHsCodeList(this.hsCodeData).then(({data}) => {
if (data && data.code === 0){
this.hsCodeList = data.rows;
}
})
},
hsCodeRowDblclick (row) {
this.hsCodeModelData.hsCodeDesc = row.hsCodeDesc
this.hsCodeModelData.hsCode = row.HsCode
this.hsCodeFlag = false
},
openPalletDialog () {
//
this.searchPalletList();
},
closePalletDialog () {
this.palletList = []
this.palletFlag = false
},
searchPalletList () {
this.palletData.buNo = this.hsCodeModelData.buNo
searchPalletList(this.palletData).then(({data}) => {
if (data && data.code === 0){
this.palletList = data.rows;
}
})
},
palletRowDblclick (row) {
this.hsCodeModelData.palletId = row.palletId
this.hsCodeModelData.palletType = row.palletType
this.palletFlag = false
},
openPackageDialog () {
//
this.searchPackageList();
},
closePackageDialog () {
this.packageList = []
this.packageFlag = false
},
searchPackageList () {
this.packageData.buNo = this.hsCodeModelData.buNo
searchPackageList(this.packageData).then(({data}) => {
if (data && data.code === 0){
this.packageList = data.rows;
}
})
},
packageRowDblclick (row) {
this.hsCodeModelData.packageNo = row.packageNo
this.packageFlag = false
},
//
sizeChangeHandle (val) {
this.pageSize = val
@ -627,9 +884,9 @@
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
getBuList(tempData).then(({data}) => {
if (data.code === 0) {
this.buList = data.rows
this.buList = data.row2
}
})
},
@ -654,6 +911,12 @@
})
return false
}
if(this.hsCodeModelData.packageNo===''||this.hsCodeModelData.packageNo==null){
this.$alert('请选择包装箱!', '错误', {
confirmButtonText: '确定'
})
return false
}
savePartHSCode(this.hsCodeModelData).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()

Loading…
Cancel
Save