emis-frontend/src/views/emis/emisGoods/index.vue
2024-01-10 13:58:24 +08:00

814 lines
32 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="goodsSn">
<el-input
v-model="queryParams.goodsSn"
placeholder="货物编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="goodsName">
<el-input
v-model="queryParams.goodsName"
placeholder="货物名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="goodsNameEn">
<el-input
v-model="queryParams.goodsNameEn"
placeholder="货物英文名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisGoods:add']"
>新增</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['emis:emisGoods:edit']"
>修改</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['emis:emisGoods:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['emis:emisGoods:export']"
>导出</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="emisGoodsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" min-width="60">
<template slot-scope="scope">
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<!--
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<!-- <el-table-column label="货物编号" align="center" prop="goodsSn" min-width="100" /> -->
<!-- <el-table-column label="货物名称" align="center" prop="goodsName" min-width="100" /> -->
<el-table-column label="货物名称" align="left" prop="goodsName" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleUpdate(scope.row)">{{scope.row.goodsName}}/{{scope.row.goodsNameEn}}/</div>
</template>
</el-table-column>
<!-- <el-table-column label="货物英文名称" align="center" prop="goodsNameEn" min-width="100" /> -->
<el-table-column label="货物类别" align="center" prop="goodsCat" min-width="100" />
<el-table-column label="型号" align="center" prop="goodsType" min-width="100" />
<el-table-column label="规格" align="center" prop="goodsModel" min-width="100" />
<el-table-column label="条码" align="center" prop="barcode" min-width="100" />
<el-table-column label="原产国" align="center" prop="orginalNation" min-width="100" />
<el-table-column label="是否实物" align="center" prop="isRealGoods" min-width="100" />
<el-table-column label="是否大类" align="center" prop="isBigCat" min-width="100" />
<el-table-column label="品牌名称" align="center" prop="brand" min-width="100" />
<el-table-column label="单净重" align="center" prop="netWeight" min-width="100" />
<el-table-column label="单毛重" align="center" prop="grossWeight" min-width="100" />
<el-table-column label="单件体积" align="center" prop="singleVolume" min-width="100" />
<el-table-column label="单件长" align="center" prop="singleLength" min-width="100" />
<el-table-column label="单件宽" align="center" prop="singleWidth" min-width="100" />
<el-table-column label="单件高" align="center" prop="singleHeight" min-width="100" />
<el-table-column label="箱件数" align="center" prop="pkgPcs" min-width="100" />
<el-table-column label="箱体积" align="center" prop="pkgVolume" min-width="100" />
<el-table-column label="箱长" align="center" prop="pkgLength" min-width="100" />
<el-table-column label="箱宽" align="center" prop="pkgWidth" min-width="100" />
<el-table-column label="箱高" align="center" prop="pkgHeight" min-width="100" />
<el-table-column label="海关编码" align="center" prop="hsCode" min-width="100" />
<el-table-column label="商检编号" align="center" prop="isCode" min-width="100" />
<el-table-column label="计量单位" align="center" prop="unit" min-width="100" />
<el-table-column label="法1" align="center" prop="unit1" min-width="100" />
<el-table-column label="法2" align="center" prop="unit2" min-width="100" />
<el-table-column label="价格" align="center" prop="price" min-width="100" />
<el-table-column label="币种" align="center" prop="currencyType" min-width="100" />
<el-table-column label="适用标准国别" align="center" prop="ruleNation" min-width="100" />
<el-table-column label="生产企业" align="center" prop="manufEnterprise" min-width="100" />
<el-table-column label="电商企业海关编码" align="center" prop="ebcCode" min-width="100" />
<el-table-column label="电商企业商检编码" align="center" prop="ciqCode" min-width="100" />
<el-table-column label="功能" align="center" prop="function" min-width="100" />
<el-table-column label="主要成分" align="center" prop="ingredients" min-width="100" />
<el-table-column label="用途" align="center" prop="purpose" min-width="100" />
<el-table-column label="产品有效期" align="center" prop="productValidity" min-width="100" />
<el-table-column label="进口模式" align="center" prop="cebpMode" min-width="100" />
<el-table-column label="供应商" align="center" prop="supplier" min-width="100" />
<el-table-column label="申报序列号" align="center" prop="serialNumber" min-width="100" />
<el-table-column label="状态" align="center" prop="status" min-width="100" />
<el-table-column label="原货物备件号" align="center" prop="goodsSn2" min-width="100" />
<el-table-column label="物资序号" align="center" prop="goodsNo2" min-width="100" />
<el-table-column label="许可证号" align="center" prop="licNo" min-width="100" />
<el-table-column label="材料地址" align="center" prop="materialPath" min-width="100" />
<el-table-column label="出厂日期" align="center" prop="pd" min-width="100" />
<el-table-column label="销售链接地址" align="center" prop="saleUrl" min-width="100" />
<el-table-column label="口岸编码" align="center" prop="portCode" min-width="100" />
<el-table-column label="备注" align="center" prop="remark" min-width="100" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['emis:emisGoods:edit']"
>修改</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['emis:emisGoods:remove']"
>删除</el-button> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page-sizes="[20,50,100,300,500,1000,2000,5000]"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page-size="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改货物信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" :close-on-click-modal="false" append-to-body>
<el-row :gutter="0">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-col :span="12">
<el-form-item label="货物编号" prop="goodsSn">
<el-input v-model="form.goodsSn" placeholder="请输入货物编号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="货物名称" prop="goodsName">
<el-input v-model="form.goodsName" placeholder="请输入货物名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="货物英文名称" prop="goodsNameEn">
<el-input v-model="form.goodsNameEn" placeholder="请输入货物英文名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="货物类别" prop="goodsCat">
<el-input v-model="form.goodsCat" placeholder="请输入货物类别" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="型号" prop="goodsType">
<el-input v-model="form.goodsType" placeholder="请输入型号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规格" prop="goodsModel">
<el-input v-model="form.goodsModel" placeholder="请输入规格" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="条码" prop="barcode">
<el-input v-model="form.barcode" placeholder="请输入条码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原产国" prop="orginalNation">
<el-input v-model="form.orginalNation" placeholder="请输入原产国" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否实物" prop="isRealGoods">
<el-input v-model="form.isRealGoods" placeholder="请输入是否实物" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否大类" prop="isBigCat">
<el-input v-model="form.isBigCat" placeholder="请输入是否大类" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="品牌名称" prop="brand">
<el-input v-model="form.brand" placeholder="请输入品牌名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单净重" prop="netWeight">
<el-input v-model="form.netWeight" placeholder="请输入单净重" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单毛重" prop="grossWeight">
<el-input v-model="form.grossWeight" placeholder="请输入单毛重" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单件体积" prop="singleVolume">
<el-input v-model="form.singleVolume" placeholder="请输入单件体积" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单件长" prop="singleLength">
<el-input v-model="form.singleLength" placeholder="请输入单件长" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单件宽" prop="singleWidth">
<el-input v-model="form.singleWidth" placeholder="请输入单件宽" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单件高" prop="singleHeight">
<el-input v-model="form.singleHeight" placeholder="请输入单件高" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱件数" prop="pkgPcs">
<el-input v-model="form.pkgPcs" placeholder="请输入箱件数" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱体积" prop="pkgVolume">
<el-input v-model="form.pkgVolume" placeholder="请输入箱体积" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱长" prop="pkgLength">
<el-input v-model="form.pkgLength" placeholder="请输入箱长" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱宽" prop="pkgWidth">
<el-input v-model="form.pkgWidth" placeholder="请输入箱宽" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱高" prop="pkgHeight">
<el-input v-model="form.pkgHeight" placeholder="请输入箱高" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="海关编码" prop="hsCode">
<el-input v-model="form.hsCode" placeholder="请输入海关编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商检编号" prop="isCode">
<el-input v-model="form.isCode" placeholder="请输入商检编号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计量单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入计量单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法1" prop="unit1">
<el-input v-model="form.unit1" placeholder="请输入法1" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法2" prop="unit2">
<el-input v-model="form.unit2" placeholder="请输入法2" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="价格" prop="price">
<el-input v-model="form.price" placeholder="请输入价格" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="币种" prop="currencyType">
<el-input v-model="form.currencyType" placeholder="请输入币种" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="适用标准国别" prop="ruleNation">
<el-input v-model="form.ruleNation" placeholder="请输入适用标准国别" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生产企业" prop="manufEnterprise">
<el-input v-model="form.manufEnterprise" placeholder="请输入生产企业" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电商企业海关编码" prop="ebcCode">
<el-input v-model="form.ebcCode" placeholder="请输入电商企业海关编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电商企业商检编码" prop="ciqCode">
<el-input v-model="form.ciqCode" placeholder="请输入电商企业商检编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="功能" prop="function">
<el-input v-model="form.function" placeholder="请输入功能" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主要成分" prop="ingredients">
<el-input v-model="form.ingredients" placeholder="请输入主要成分" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用途" prop="purpose">
<el-input v-model="form.purpose" placeholder="请输入用途" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品有效期" prop="productValidity">
<el-input v-model="form.productValidity" placeholder="请输入产品有效期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="进口模式" prop="cebpMode">
<el-input v-model="form.cebpMode" placeholder="请输入进口模式" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="供应商" prop="supplier">
<el-input v-model="form.supplier" placeholder="请输入供应商" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申报序列号" prop="serialNumber">
<el-input v-model="form.serialNumber" placeholder="请输入申报序列号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原货物备件号" prop="goodsSn2">
<el-input v-model="form.goodsSn2" placeholder="请输入原货物备件号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="物资序号" prop="goodsNo2">
<el-input v-model="form.goodsNo2" placeholder="请输入物资序号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="许可证号" prop="licNo">
<el-input v-model="form.licNo" placeholder="请输入许可证号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="材料地址" prop="materialPath">
<el-input v-model="form.materialPath" placeholder="请输入材料地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出厂日期" prop="pd">
<el-input v-model="form.pd" placeholder="请输入出厂日期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售链接地址" prop="saleUrl">
<el-input v-model="form.saleUrl" placeholder="请输入销售链接地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="口岸编码" prop="portCode">
<el-input v-model="form.portCode" placeholder="请输入口岸编码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
<!--
<el-col :span="24" v-show="moreInputVisible" > </el-col>
<el-col :span="24">
<el-divider content-position="right" @click="handleShowMoreInput" >更多信息[+]</el-divider>
</el-col>
-->
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog :title="titleForm" :visible.sync="openForm" width="500px" append-to-body>
<emisGoodsForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisGoodsForm>
</el-dialog>
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" append-to-body>
<emisGoodsView :id="id" ></EmisGoodsView>
</el-dialog>
</div>
</template>
<script>
import { listEmisGoods, getEmisGoods, delEmisGoods, addEmisGoods, updateEmisGoods } from "@/api/emis/emisGoods";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import emisGoodsView from '@/views/emis/emisGoods/emisGoodsView';
import emisGoodsForm from '@/views/emis/emisGoods/emisGoodsForm';
export default {
name: "emisGoods",
components: { elDateSimplePicker,emisGoodsView,emisGoodsForm },
dicts: [
'sys_normal_disable',
],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 创建时间搜索
dateTimeRange:[],
// 总条数
total: 0,
// 货物信息表格数据
emisGoodsList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
openForm: false,
titleForm: "",
titleEmisGoods: "",
openEmisGoods: false,
// 显示编辑框更多
moreInputVisible: false,
// 弹出展示层
id:null,
titleView:"",
openView: false,
// 备注时间范围
daterangeCreateTime: [],
// 备注时间范围
daterangeUpdateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 20,
goodsSn: null,
goodsName: null,
goodsNameEn: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "序号不能为空", trigger: "blur" }
],
goodsName: [
{ required: true, message: "货物名称不能为空", trigger: "blur" }
],
goodsNameEn: [
{ required: true, message: "货物英文名称不能为空", trigger: "blur" }
],
isBigCat: [
{ required: true, message: "是否大类不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询货物信息列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
listEmisGoods(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisGoodsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
goodsSn: null,
goodsName: null,
goodsNameEn: null,
goodsCat: null,
goodsType: null,
goodsModel: null,
barcode: null,
orginalNation: null,
isRealGoods: null,
isBigCat: null,
brandId: null,
brand: null,
netWeight: null,
grossWeight: null,
singleVolume: null,
singleLength: null,
singleWidth: null,
singleHeight: null,
pkgPcs: null,
pkgVolume: null,
pkgLength: null,
pkgWidth: null,
pkgHeight: null,
hsCode: null,
isCode: null,
unit: null,
unit1: null,
unit2: null,
price: null,
currencyType: null,
ruleNation: null,
manufEnterprise: null,
ebcCode: null,
ciqCode: null,
function: null,
ingredients: null,
purpose: null,
productValidity: null,
cebpMode: null,
supplier: null,
serialNumber: null,
status: null,
statusMessage: null,
goodsSn2: null,
goodsNo2: null,
licNo: null,
materialPath: null,
pd: null,
saleUrl: null,
portCode: null,
ext1: null,
ext2: null,
ext3: null,
ext4: null,
ext5: null,
remark: null,
tenantId: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd(row) {
this.reset();
this.open = true;
this.title = "新增";
// 子组件打开模式
// if(row != undefined){
// this.currentParentId = row.id
// }
// this.openEmisGoods = true;
// this.titleEmisGoods = "新增";
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getEmisGoods(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改";
});
// 子组件打开模式
// this.currentId= row.id || this.ids;
// this.openEmisGoods = true;
// this.titleEmisGoods = "修改";
},
handleView(row) {
this.id=row.id;
this.titleView="查看";
this.openView=true;
// this.router.push({ path: '/emis/emisGoods/viewDetail', query: { id: row.id }})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisGoods(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEmisGoods(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
handleFormChanged(){
this.openForm = false;
this.getList();
},
cancelForm(){
this.openForm = false;
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除').then(function() {
return delEmisGoods(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('emis/emisGoods/export', {
// ...this.queryParams
// }, `emisGoods_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
qParam.pageNum=1;
qParam.pageSize=5000;
listEmisGoods(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['序号','货物编号','货物名称','货物英文名称','货物类别','型号','规格','条码','原产国','是否实物','是否大类','品牌编号','品牌名称','单净重','单毛重','单件体积','单件长','单件宽','单件高','箱件数','箱体积','箱长','箱宽','箱高','海关编码','商检编号','计量单位','法1','法2','价格','币种','适用标准国别','生产企业','电商企业海关编码','电商企业商检编码','功能','主要成分','用途','产品有效期','进口模式','供应商','申报序列号','状态','海关回执信息','原货物备件号','物资序号','许可证号','材料地址','出厂日期','销售链接地址','口岸编码','ext1','ext2','ext3','ext4','ext5','备注','租户ID','删除标志(0代表存在','创建者','创建时间','更新者','更新时间',];
const filterVal = ['id','goodsSn','goodsName','goodsNameEn','goodsCat','goodsType','goodsModel','barcode','orginalNation','isRealGoods','isBigCat','brandId','brand','netWeight','grossWeight','singleVolume','singleLength','singleWidth','singleHeight','pkgPcs','pkgVolume','pkgLength','pkgWidth','pkgHeight','hsCode','isCode','unit','unit1','unit2','price','currencyType','ruleNation','manufEnterprise','ebcCode','ciqCode','function','ingredients','purpose','productValidity','cebpMode','supplier','serialNumber','status','statusMessage','goodsSn2','goodsNo2','licNo','materialPath','pd','saleUrl','portCode','ext1','ext2','ext3','ext4','ext5','remark','tenantId','delFlag','createBy','createTime','updateBy','updateTime',];
const data = this.formatJson(filterVal, curList, response.rows)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '货物信息',
autoWidth: true
})
loadingInstance.close()
})
}
});
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
}
return statusStr;
}
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
/** 时间搜索响应函数 */
dateTimeChange(value){
this.dateTimeRange=value;
},
}
};
</script>
<style scoped>
.el-divider{
margin-top: 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.el-divider__text {
color: #0955ee;
cursor: pointer;
}
</style>