|
@@ -1,253 +1,229 @@
|
|
<template>
|
|
<template>
|
|
- <a-card size="small" :bordered="false" class="bulkImportList-wrap">
|
|
|
|
|
|
+ <a-card size="small" :bordered="false" class="warehouseList-wrap">
|
|
<a-spin :spinning="spinning" tip="Loading...">
|
|
<a-spin :spinning="spinning" tip="Loading...">
|
|
- <div ref="tableSearch" class="table-page-search-wrapper">
|
|
|
|
- <Upload
|
|
|
|
- id="bulkImportList-attachList"
|
|
|
|
- ref="importUpload"
|
|
|
|
- :maxNums="1"
|
|
|
|
- fileType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
|
|
|
|
- uploadType="attach"
|
|
|
|
- :action="attachAction"
|
|
|
|
- :uploadParams="uploadParams"
|
|
|
|
- upText="选择导入文件"
|
|
|
|
- @remove="resetSearchForm"
|
|
|
|
- @change="changeImport"></Upload>
|
|
|
|
- <a :href="filePath" style="margin: 5px 0 0 15px;display: block;float: left;">
|
|
|
|
- <a-icon type="download" style="padding-right: 5px;" />下载导入模板
|
|
|
|
- </a>
|
|
|
|
|
|
+ <!-- 搜索条件 -->
|
|
|
|
+ <div class="table-page-search-wrapper" ref="tableSearch">
|
|
|
|
+ <a-form-model
|
|
|
|
+ id="inventoryImport-form"
|
|
|
|
+ ref="ruleForm"
|
|
|
|
+ class="form-model-con"
|
|
|
|
+ layout="inline"
|
|
|
|
+ :model="queryParam"
|
|
|
|
+ :rules="rules"
|
|
|
|
+ :labelCol="labelCol"
|
|
|
|
+ :wrapperCol="wrapperCol"
|
|
|
|
+ @keyup.enter.native="handleSearch" >
|
|
|
|
+ <a-row :gutter="15">
|
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
|
+ <a-form-model-item label="导入时间" prop="time">
|
|
|
|
+ <rangeDate ref="rangeDate" @change="dateChange" />
|
|
|
|
+ </a-form-model-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
|
+ <a-form-item label="导入单号">
|
|
|
|
+ <a-input id="inventoryImport-no" v-model.trim="queryParam.stockImportNo" allowClear placeholder="请输入导入单号"/>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
|
|
|
|
+ <a-button type="primary" @click="handleSearch" :disabled="disabled" id="inventoryImport-refresh">查询</a-button>
|
|
|
|
+ <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="inventoryImport-reset">重置</a-button>
|
|
|
|
+ </a-col>
|
|
|
|
+ </a-row>
|
|
|
|
+ </a-form-model>
|
|
</div>
|
|
</div>
|
|
- <div class="importGuide-con">
|
|
|
|
- <div class="explain-con">
|
|
|
|
- <div class="explain-item">
|
|
|
|
- <div class="explain-tit">导入文件说明</div>
|
|
|
|
- <ul>
|
|
|
|
- <li>1) 导入的EXCEL文件中必须包含名为"供应商"、"产品品牌"、"产品编码"、"原厂编码"、"产品名称"、"产品一级分类"、"产品二级分类"、"产品三级分类"、"仓库"、"仓位"、"入库数量"、"成本价"、"售价";列顺序可忽略、行顺序可忽略。其中"供应商"、"产品品牌"、"产品编码"、"产品名称"、"仓库"、"仓位"、"入库数量"、"成本价"、"售价"内容不能为空。</li>
|
|
|
|
- <li>2) 红色底为错误项,错误项忽略不能导入,正确项可直接导入。</li>
|
|
|
|
- <li>3) 供应商/产品品牌为必填项且不能包含箭冠、箭牌、冠牌等文字,产品名称为必填项。</li>
|
|
|
|
- <li>4) 支持上传文件格式:.xls、.xlsx。</li>
|
|
|
|
- </ul>
|
|
|
|
|
|
+ <!-- 导入按钮 -->
|
|
|
|
+ <!-- v-if="$hasPermissions('B_inventory_warehouse_add')" -->
|
|
|
|
+ <div class="table-operator">
|
|
|
|
+ <a-button id="inventoryImport-add" type="primary" class="button-error" @click="openGuideModal=true">散件导入</a-button>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 合计 -->
|
|
|
|
+ <a-alert type="info" style="margin-bottom:10px">
|
|
|
|
+ <div class="ftext" slot="message">
|
|
|
|
+ 总单数:<strong>{{ (totalData && (totalData.totalRowSize || totalData.totalRowSize==0)) ? totalData.totalRowSize : '--' }}</strong>;
|
|
|
|
+ 产品总数量:<strong>{{ (totalData && (totalData.productTotalQty || totalData.productTotalQty==0)) ? totalData.productTotalQty : '--' }}</strong>;
|
|
|
|
+ <div v-if="$hasPermissions('M_ShowAllCost')" style="display: inline-block;">
|
|
|
|
+ 总成本:<strong>{{ (totalData && (totalData.productTotalCost || totalData.productTotalCost==0)) ? toThousands(totalData.productTotalCost) : '--' }}</strong>。
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
+ </a-alert>
|
|
<!-- 列表 -->
|
|
<!-- 列表 -->
|
|
<s-table
|
|
<s-table
|
|
- class="sTable fixPagination"
|
|
|
|
|
|
+ class="sTable"
|
|
ref="table"
|
|
ref="table"
|
|
- :style="{ height: tableHeight+84.5+'px' }"
|
|
|
|
size="small"
|
|
size="small"
|
|
- :rowClassName="(record, index) => record.isError==1 ? 'redBg-row':''"
|
|
|
|
- :rowKey="(record) => record.id"
|
|
|
|
|
|
+ :style="{ height: tableHeight+84.5+'px' }"
|
|
|
|
+ :rowKey="(record) => record.stockImportSn"
|
|
|
|
+ rowKeyName="stockImportSn"
|
|
:columns="columns"
|
|
:columns="columns"
|
|
:data="loadData"
|
|
:data="loadData"
|
|
- :scroll="{ x: 1680, y: tableHeight }"
|
|
|
|
:defaultLoadData="false"
|
|
:defaultLoadData="false"
|
|
bordered>
|
|
bordered>
|
|
|
|
+ <!-- 导入单号 -->
|
|
|
|
+ <template slot="stockImportNo" slot-scope="text, record">
|
|
|
|
+ <span class="table-td-link" @click="handleDetail(record)">{{ record.stockImportNo }}</span>
|
|
|
|
+ </template>
|
|
</s-table>
|
|
</s-table>
|
|
- <div class="btn-con" v-if="uploadData && uploadData.stockImportSn && listData.length">
|
|
|
|
- <a-button
|
|
|
|
- id="productInfoList-batchAudit"
|
|
|
|
- type="primary"
|
|
|
|
- class="button-warning"
|
|
|
|
- @click="handleConfirm"
|
|
|
|
- style="margin: 0 15px;">确认导入</a-button>
|
|
|
|
- <a-button
|
|
|
|
- id="productInfoList-batchLaunch"
|
|
|
|
- type="primary"
|
|
|
|
- class="button-primary"
|
|
|
|
- @click="handleCancel"
|
|
|
|
- style="margin: 0 15px;">取消导入</a-button>
|
|
|
|
- <a-button
|
|
|
|
- id="productInfoList-batchDownline"
|
|
|
|
- type="primary"
|
|
|
|
- class="button-grey"
|
|
|
|
- @click="handleExportError"
|
|
|
|
- style="margin: 0 15px;">导出错误项</a-button>
|
|
|
|
- </div>
|
|
|
|
</a-spin>
|
|
</a-spin>
|
|
- <common-modal
|
|
|
|
- :openModal="openTipsModal"
|
|
|
|
- :modalHtml="modalHtml"
|
|
|
|
- modalTit="操作提示"
|
|
|
|
- okText="确定"
|
|
|
|
- :isCancel="false"
|
|
|
|
- @ok="openTipsModal=false"
|
|
|
|
- @close="openTipsModal=false" />
|
|
|
|
|
|
+ <!-- 散件导入 -->
|
|
|
|
+ <importGuideModal :openModal="openGuideModal" @close="openGuideModal=false" @ok="hanldeImprotOk" />
|
|
|
|
+ <!-- 散件导入详情 -->
|
|
|
|
+ <a-modal
|
|
|
|
+ centered
|
|
|
|
+ class="chooseImport-modal"
|
|
|
|
+ :footer="null"
|
|
|
|
+ title="散件导入明细"
|
|
|
|
+ v-model="openBulkImportDetail"
|
|
|
|
+ @cancel="openBulkImportDetail=false;detailSn=undefined;"
|
|
|
|
+ width="70%">
|
|
|
|
+ <detailList ref="bulkImportDeail" typeInfo="SPARE_PARTS_IMPORT" :detailSn="detailSn"></detailList>
|
|
|
|
+ </a-modal>
|
|
</a-card>
|
|
</a-card>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import { commonMixin } from '@/utils/mixin'
|
|
import { commonMixin } from '@/utils/mixin'
|
|
-import { STable, Upload } from '@/components'
|
|
|
|
-import { stockImportList, stockImportFinish, stockImportCancel, stockImportExportError } from '@/api/stockImport'
|
|
|
|
-import { downloadExcel } from '@/libs/JGPrint.js'
|
|
|
|
-import commonModal from '@/views/common/commonModal.vue'
|
|
|
|
|
|
+import { STable, VSelect } from '@/components'
|
|
|
|
+import rangeDate from '@/views/common/rangeDate.vue'
|
|
|
|
+import detailList from '@/views/inventoryManagement/inventoryImport/detailList.vue'
|
|
|
|
+import getDate from '@/libs/getDate.js'
|
|
|
|
+import importGuideModal from './importGuideModal.vue'
|
|
|
|
+import { reportStockImportList, reportStockImportCount } from '@/api/reportData'
|
|
export default {
|
|
export default {
|
|
- name: 'StockImportList',
|
|
|
|
- components: { STable, Upload, commonModal },
|
|
|
|
|
|
+ components: { STable, VSelect, rangeDate, importGuideModal, detailList },
|
|
mixins: [commonMixin],
|
|
mixins: [commonMixin],
|
|
data () {
|
|
data () {
|
|
- const _this = this
|
|
|
|
return {
|
|
return {
|
|
- openTipsModal: false,
|
|
|
|
- modalHtml: '',
|
|
|
|
spinning: false,
|
|
spinning: false,
|
|
- exportLoading: false, // 导出loading
|
|
|
|
|
|
+ labelCol: { span: 8 },
|
|
|
|
+ wrapperCol: { span: 16 },
|
|
tableHeight: 0,
|
|
tableHeight: 0,
|
|
- queryParam: {}, // 查询参数
|
|
|
|
- // 表头
|
|
|
|
- columns: [
|
|
|
|
- { title: '序号', dataIndex: 'no', width: 50, align: 'center' },
|
|
|
|
- { title: '产品编码', dataIndex: 'productCode', align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '原厂编码', dataIndex: 'productOrigCode', align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '产品品牌', dataIndex: 'productBrandName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '供应商', dataIndex: 'supplierName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '产品名称', dataIndex: 'productName', align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '产品一级分类', dataIndex: 'productTypeName1', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '产品二级分类', dataIndex: 'productTypeName2', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '产品三级分类', dataIndex: 'productTypeName3', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '仓库', dataIndex: 'warehouseName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '仓位', dataIndex: 'warehouseLocationName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
- { title: '入库数量', dataIndex: 'putQty', width: 80, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
|
- { title: '成本价', dataIndex: 'cost', width: 80, align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } },
|
|
|
|
- { title: '售价', dataIndex: 'terminalPrice', width: 80, align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } },
|
|
|
|
- { title: '错误原因', dataIndex: 'errorMsg', width: 150, align: 'center', customRender: function (text) { return text || '--' } }
|
|
|
|
- ],
|
|
|
|
|
|
+ queryParam: { // 查询条件
|
|
|
|
+ time: [
|
|
|
|
+ getDate.getThreeMonthDays().starttime,
|
|
|
|
+ getDate.getCurrMonthDays().endtime
|
|
|
|
+ ],
|
|
|
|
+ beginDate: '',
|
|
|
|
+ endDate: '',
|
|
|
|
+ stockImportNo: undefined,
|
|
|
|
+ importType: 'SPARE_PARTS_IMPORT'
|
|
|
|
+ },
|
|
|
|
+ openGuideModal: false,
|
|
|
|
+ detailSn: undefined,
|
|
|
|
+ rules: {
|
|
|
|
+ 'time': [{ required: true, message: '请选择导入时间', trigger: 'change' }]
|
|
|
|
+ },
|
|
|
|
+ openBulkImportDetail: false, // 明细弹窗
|
|
|
|
+ disabled: false, // 查询、重置按钮是否可操作
|
|
|
|
+ exportLoading: false,
|
|
// 加载数据方法 必须为 Promise 对象
|
|
// 加载数据方法 必须为 Promise 对象
|
|
loadData: parameter => {
|
|
loadData: parameter => {
|
|
|
|
+ this.disabled = true
|
|
|
|
+ const params = Object.assign(parameter, this.queryParam)
|
|
this.spinning = true
|
|
this.spinning = true
|
|
- return stockImportList(Object.assign(parameter, { stockImportSn: this.uploadData && this.uploadData.stockImportSn })).then(res => {
|
|
|
|
|
|
+ delete params.time
|
|
|
|
+ return reportStockImportList(params).then(res => {
|
|
let data
|
|
let data
|
|
if (res.status == 200) {
|
|
if (res.status == 200) {
|
|
data = res.data
|
|
data = res.data
|
|
|
|
+ // 总计
|
|
|
|
+ this.getCount(params)
|
|
const no = (data.pageNo - 1) * data.pageSize
|
|
const no = (data.pageNo - 1) * data.pageSize
|
|
for (var i = 0; i < data.list.length; i++) {
|
|
for (var i = 0; i < data.list.length; i++) {
|
|
data.list[i].no = no + i + 1
|
|
data.list[i].no = no + i + 1
|
|
}
|
|
}
|
|
- this.listData = data.list
|
|
|
|
- if (this.uploadData && data.list.length == 0) {
|
|
|
|
- this.$message.info('没有可导入数据,请检查模板是否为空')
|
|
|
|
- this.resetSearchForm()
|
|
|
|
- }
|
|
|
|
|
|
+ this.disabled = false
|
|
}
|
|
}
|
|
this.spinning = false
|
|
this.spinning = false
|
|
return data
|
|
return data
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- listData: [],
|
|
|
|
- attachAction: process.env.VUE_APP_API_BASE_URL + '/stockImport/importForSpareParts',
|
|
|
|
- uploadParams: {
|
|
|
|
- savePathType: 'local'
|
|
|
|
- },
|
|
|
|
- uploadData: null,
|
|
|
|
- filePath: location.protocol + '//' + location.host + '/templ/散件产品导入模板.xlsx'
|
|
|
|
|
|
+ totalData: null // 合计
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- methods: {
|
|
|
|
- // 上传文件 change
|
|
|
|
- changeImport (file) {
|
|
|
|
- if (file && JSON.parse(file).length > 0) {
|
|
|
|
- this.uploadData = JSON.parse(file)[0] || null
|
|
|
|
- if (this.uploadData && this.uploadData.stockImportSn) {
|
|
|
|
- this.$refs.table.refresh(true)
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.uploadData = null
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- resetSearchForm () {
|
|
|
|
- this.$refs.table.clearTable() // 清空列表数据
|
|
|
|
- this.$refs.importUpload.setFileList() // 清空导入文件
|
|
|
|
- this.uploadData = null // 清空上传数据
|
|
|
|
- },
|
|
|
|
- // 确认导入
|
|
|
|
- handleConfirm () {
|
|
|
|
|
|
+ computed: {
|
|
|
|
+ columns () {
|
|
const _this = this
|
|
const _this = this
|
|
- this.$confirm({
|
|
|
|
- title: '提示',
|
|
|
|
- content: '您是否确认导入产品信息?',
|
|
|
|
- centered: true,
|
|
|
|
- onOk () {
|
|
|
|
- _this.spinning = true
|
|
|
|
- stockImportFinish({ stockImportSn: _this.uploadData && _this.uploadData.stockImportSn }).then(res => {
|
|
|
|
- if (res.status == 200) {
|
|
|
|
- _this.$message.success(res.message)
|
|
|
|
- _this.resetSearchForm()
|
|
|
|
- _this.showSuccessModal(res.data)
|
|
|
|
- _this.spinning = false
|
|
|
|
- } else {
|
|
|
|
- _this.spinning = false
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- showSuccessModal (data) {
|
|
|
|
- if (data) {
|
|
|
|
- this.openTipsModal = true
|
|
|
|
- this.modalHtml = `<div><div>库存导入成功</div><div>入库类型:散件导入</div><div>库存批次:${data.stockBatchNo}</div><div>总导入款数:${data.productTotalCategory}</div><div>总入库数量:${data.productTotalQty}</div><div>总入库成本:${data.productTotalCost}</div></div>`
|
|
|
|
|
|
+ const arr = [
|
|
|
|
+ { title: '序号', dataIndex: 'no', width: '5%', align: 'center' },
|
|
|
|
+ { title: '导入时间', dataIndex: 'importTime', width: '21%', align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
|
+ { title: '导入单号', dataIndex: 'stockImportNo', width: '18%', align: 'center', scopedSlots: { customRender: 'stockImportNo' } },
|
|
|
|
+ { title: '款数', dataIndex: 'productTotalCategory', width: '18%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
|
+ { title: '数量', dataIndex: 'productTotalQty', width: '18%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
|
|
|
|
+ // { title: '成本', dataIndex: 'totalCost', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
|
+ ]
|
|
|
|
+ if (this.$hasPermissions('M_ShowAllCost')) {
|
|
|
|
+ arr.splice(5, 0, { title: '成本', dataIndex: 'productTotalCost', width: '20%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } })
|
|
}
|
|
}
|
|
|
|
+ return arr
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ // 详情
|
|
|
|
+ handleDetail (row) {
|
|
|
|
+ this.openBulkImportDetail = true
|
|
|
|
+ this.detailSn = row.stockImportNo
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.$refs.bulkImportDeail.handleSearch()
|
|
|
|
+ })
|
|
},
|
|
},
|
|
- // 取消导入
|
|
|
|
- handleCancel () {
|
|
|
|
- const _this = this
|
|
|
|
- this.$confirm({
|
|
|
|
- title: '提示',
|
|
|
|
- content: '您确认取消导入产品的信息?',
|
|
|
|
- centered: true,
|
|
|
|
- onOk () {
|
|
|
|
- _this.spinning = true
|
|
|
|
- stockImportCancel({ stockImportSn: _this.uploadData && _this.uploadData.stockImportSn }).then(res => {
|
|
|
|
- if (res.status == 200) {
|
|
|
|
- _this.$message.success(res.message)
|
|
|
|
- _this.resetSearchForm()
|
|
|
|
- _this.spinning = false
|
|
|
|
- } else {
|
|
|
|
- _this.spinning = false
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ // 合计
|
|
|
|
+ getCount (params) {
|
|
|
|
+ reportStockImportCount(params).then(res => {
|
|
|
|
+ if (res.status == 200) {
|
|
|
|
+ this.totalData = res.data
|
|
|
|
+ } else {
|
|
|
|
+ this.totalData = null
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- // 导出错误项
|
|
|
|
- handleExportError () {
|
|
|
|
- const _this = this
|
|
|
|
- _this.spinning = true
|
|
|
|
- stockImportExportError({ stockImportSn: _this.uploadData && _this.uploadData.stockImportSn }).then(res => {
|
|
|
|
- _this.spinning = false
|
|
|
|
- if (res.type == 'application/json') {
|
|
|
|
- var reader = new FileReader()
|
|
|
|
- reader.addEventListener('loadend', function () {
|
|
|
|
- const obj = JSON.parse(reader.result)
|
|
|
|
- _this.$notification.error({
|
|
|
|
- message: '提示',
|
|
|
|
- description: obj.message
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- reader.readAsText(res)
|
|
|
|
|
|
+ // 创建时间 change
|
|
|
|
+ dateChange (date) {
|
|
|
|
+ this.queryParam.time = date
|
|
|
|
+ this.queryParam.beginDate = date[0] || ''
|
|
|
|
+ this.queryParam.endDate = date[1] || ''
|
|
|
|
+ },
|
|
|
|
+ // 查询
|
|
|
|
+ handleSearch () {
|
|
|
|
+ this.$refs.ruleForm.validate(valid => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ this.$refs.table.refresh(true)
|
|
} else {
|
|
} else {
|
|
- downloadExcel(res, '散件导入错误项')
|
|
|
|
|
|
+ console.log('error submit!!')
|
|
|
|
+ return false
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ // 库存导入成功
|
|
|
|
+ hanldeImprotOk () {
|
|
|
|
+ this.$refs.table.refresh(true)
|
|
|
|
+ },
|
|
|
|
+ // 重置
|
|
|
|
+ resetSearchForm (flag) {
|
|
|
|
+ this.queryParam.time = [
|
|
|
|
+ getDate.getThreeMonthDays().starttime,
|
|
|
|
+ getDate.getCurrMonthDays().endtime
|
|
|
|
+ ]
|
|
|
|
+ this.$refs.rangeDate.resetDate(this.queryParam.time)
|
|
|
|
+ this.queryParam.beginDate = getDate.getThreeMonthDays().starttime
|
|
|
|
+ this.queryParam.endDate = getDate.getCurrMonthDays().endtime
|
|
|
|
+ this.queryParam.stockImportNo = undefined
|
|
|
|
+ this.$refs.ruleForm.resetFields()
|
|
|
|
+ this.totalData = null
|
|
|
|
+ this.$refs.table.clearTable()
|
|
|
|
+ this.handleSearch()
|
|
|
|
+ },
|
|
|
|
+ setTableH () {
|
|
|
|
+ const tableSearchH = this.$refs.tableSearch.offsetHeight
|
|
|
|
+ this.tableHeight = window.innerHeight - tableSearchH - 276
|
|
|
|
+ },
|
|
pageInit () {
|
|
pageInit () {
|
|
const _this = this
|
|
const _this = this
|
|
this.$nextTick(() => { // 页面渲染完成后的回调
|
|
this.$nextTick(() => { // 页面渲染完成后的回调
|
|
_this.setTableH()
|
|
_this.setTableH()
|
|
})
|
|
})
|
|
- },
|
|
|
|
- setTableH () {
|
|
|
|
- const tableSearchH = this.$refs.tableSearch.offsetHeight
|
|
|
|
- this.tableHeight = window.innerHeight - tableSearchH - 400
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
- advanced (newValue, oldValue) {
|
|
|
|
- const _this = this
|
|
|
|
- this.$nextTick(() => { // 页面渲染完成后的回调
|
|
|
|
- _this.setTableH()
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
'$store.state.app.winHeight' (newValue, oldValue) { // 窗口变更时,需同时更改表格高度
|
|
'$store.state.app.winHeight' (newValue, oldValue) { // 窗口变更时,需同时更改表格高度
|
|
this.setTableH()
|
|
this.setTableH()
|
|
}
|
|
}
|
|
@@ -270,61 +246,3 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
-<style lang="less">
|
|
|
|
- .bulkImportList-wrap{
|
|
|
|
- .table-page-search-wrapper{
|
|
|
|
- overflow: hidden;
|
|
|
|
- .upload-file{
|
|
|
|
- height: auto;
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
- .ant-btn{
|
|
|
|
- background-color: #f30;
|
|
|
|
- border-color: #f30;
|
|
|
|
- margin: 0 5px;
|
|
|
|
- font-size: 12px;
|
|
|
|
- color: #fff;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .importGuide-con{
|
|
|
|
- .explain-con{
|
|
|
|
- .explain-item{
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
- .explain-tit{
|
|
|
|
- font-weight: bold;
|
|
|
|
- span{
|
|
|
|
- display: inline-block;
|
|
|
|
- width: 18px;
|
|
|
|
- height: 18px;
|
|
|
|
- line-height: 16px;
|
|
|
|
- text-align: center;
|
|
|
|
- margin-right: 5px;
|
|
|
|
- border-radius: 50%;
|
|
|
|
- border: 1px solid rgba(0, 0, 0, 0.3);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- p{
|
|
|
|
- margin: 8px 0;
|
|
|
|
- padding-left: 23px;
|
|
|
|
- }
|
|
|
|
- ul{
|
|
|
|
- list-style: none;
|
|
|
|
- padding: 0;
|
|
|
|
- padding-left: 23px;
|
|
|
|
- margin: 0;
|
|
|
|
- li{
|
|
|
|
- line-height: 26px;
|
|
|
|
- font-size: 12px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .redBg-row{
|
|
|
|
- background-color: #F39494;
|
|
|
|
- }
|
|
|
|
- .btn-con{
|
|
|
|
- text-align: center;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-</style>
|
|
|