<template> <div class="app-container"> <!-- <h1>集团</h1> --> <el-tabs v-model="activeName" @tab-click="handleTabClick"> <el-tab-pane label="库存统计" name="first"> <div class="search"> <el-select v-model="tab.table.getdataListParm.parammaps.pastureid" style="margin-right: 10px;margin-bottom:10px;width: 150px;" filterable placeholder="牧场" class="filter-item" clearable> <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" /> </el-select> <el-date-picker v-model="tab.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="float: left;width: 250px;margin-bottom:10px;" :picker-options="pickerOptions" /> <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled" @click="handleBefore" /> <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled" @click="handleNext" /> <el-input v-model="tab.table.getdataListParm.parammaps.feedname" class="filter-item" style="width: 245px;margin-bottom:10px;" placeholder="饲料名称" /> <el-button class="successBorder" style="margin-left: 10px;margin-bottom:10px;" @click="handleSearch('first')">查询</el-button> <el-button class="export" style="float: right;margin-right: 10px;margin-bottom:10px;" @click="handleExport(tab1)">导出</el-button> </div> <div class="table"> <el-table :key="tab.table.tableKey" v-loading="tab.table.listLoading" element-loading-text="给我一点时间" :data="tab.table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column sortable label="饲料名称" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.feedname }}</span> </template> </el-table-column> <el-table-column label="期初" min-width="130px" align="center"> <el-table-column sortable prop="startsum" align="center" label="期初库存(kg)" min-width="120" /> <el-table-column sortable prop="startprice" align="center" label="期初金额(元)" min-width="120" /> </el-table-column> <el-table-column label="用量" min-width="110px" align="center"> <el-table-column sortable prop="laidsum" align="center" label="入库重量(kg)" min-width="120" /> <el-table-column sortable prop="usesumXT" align="center" label="系统出库重量(kg)" min-width="120" /> <el-table-column sortable prop="usesumRG" align="center" label="人工用料重量(kg)" min-width="120" /> <el-table-column sortable prop="usesumXH" align="center" label="损耗重量(kg)" min-width="120" /> </el-table-column> <el-table-column label="期末" min-width="130px" align="center"> <el-table-column sortable prop="stopsum" align="center" label="期末库存(kg)" min-width="120" /> <el-table-column sortable prop="stopprice" align="center" label="期末金额(元)" min-width="120" /> </el-table-column> </el-table> <pagination v-show="tab.table.total>=0" :total="tab.table.total" :page.sync="tab.table.getdataListParm.offset" :limit.sync="tab.table.getdataListParm.pagecount" @pagination="getTabList" /> </div> </el-tab-pane> <el-tab-pane label="用料分析" name="second"> <div class="search"> <el-select v-model="tab2.table.getdataListParm.parammaps.pastureid" style="margin-right: 10px;margin-bottom:10px;width: 130px;" filterable placeholder="牧场" class="filter-item" clearable> <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" /> </el-select> <el-date-picker v-model="tab2.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" :picker-options="pickerOptions" /> <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled2" @click="handleBefore2" /> <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled2" @click="handleNext2" /> <span style="margin-left: 10px;">统计类型:</span> <el-radio v-model="tab2.radio" label="1" @change="changeRadio2">牲畜类别</el-radio> <el-radio v-model="tab2.radio" label="2" @change="changeRadio2">栏舍名称</el-radio> <el-radio v-model="tab2.radio" label="3" @change="changeRadio2">日期</el-radio> <el-radio v-model="tab2.radio" label="4" @change="changeRadio2">TMR设备编号</el-radio> <el-radio v-model="tab2.radio" label="5" @change="changeRadio2">班次</el-radio> <el-radio v-model="tab2.radio" label="6" @change="changeRadio2">车次</el-radio> <el-input v-if="tab2.isRadio1" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 170px;" placeholder="牲畜类别" /> <el-input v-if="tab2.isRadio2" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 170px;" placeholder="栏舍名称" /> <el-input v-if="tab2.isRadio3" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 170px;" placeholder="日期" /> <el-input v-if="tab2.isRadio4" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 170px;" placeholder="TMR设备编号" /> <el-input v-if="tab2.isRadio5" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 170px;" placeholder="班次" /> <el-input v-if="tab2.isRadio6" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 170px;" placeholder="车次" /> <el-button class="successBorder" @click="handleSearch('second')">查询</el-button> <el-button class="export" style="float: right;margin-right: 5px;" @click="handleExport('tab2')">导出</el-button> </div> <el-table :key="tab2.table.tableKey" v-loading="tab2.table.listLoading" element-loading-text="给我一点时间" :data="tab2.table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :height="myHeight2" ref="elTable1" > <el-table-column v-for="item in tab2.table.tableConfig" align="center" :label="item.label" :prop="item.prop"> <el-table-column v-for="item1 in item.children" v-if="item.children || item.children.length>0" align="center" :label="item1.label" :prop="item1.prop"> <el-table-column v-for="item2 in item1.children" v-if="item1.children || item1.children.length>0" :label="item2.label" :prop="item2.prop" /> </el-table-column> </el-table-column> </el-table> <span v-if="tab2.table.listLoading == false && tab2.table.list.length>0" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab2.table.total }}条</span> <!-- <div v-if="tab2.table.list.length==0" style="text-align: center;">暂无数据</div> --> </el-tab-pane> <el-tab-pane label="价格分析" name="third"> <div class="search"> <el-select v-model="tab3.table.getdataListParm.parammaps.pastureid" style="margin-right: 10px;margin-bottom:10px;width: 150px;" filterable placeholder="牧场" class="filter-item" clearable> <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" /> </el-select> <el-date-picker v-model="tab3.table.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" :picker-options="pickerOptions" /> <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled3" @click="handleBefore3" /> <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled3" @click="handleNext3" /> <span style="margin-left: 10px;">统计类型:</span> <el-radio v-model="tab3.radio" label="1" @change="changeRadio3">牲畜类别</el-radio> <el-radio v-model="tab3.radio" label="2" @change="changeRadio3">栏舍名称</el-radio> <el-radio v-model="tab3.radio" label="3" @change="changeRadio3">日期</el-radio> <el-radio v-model="tab3.radio" label="4" @change="changeRadio3">TMR设备编号</el-radio> <el-input v-if="tab3.isRadio1" v-model="tab3.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 180px;" placeholder="牲畜类别" /> <el-input v-if="tab3.isRadio2" v-model="tab3.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 180px;" placeholder="栏舍名称" /> <el-input v-if="tab3.isRadio3" v-model="tab3.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 180px;" placeholder="日期" /> <el-input v-if="tab3.isRadio4" v-model="tab3.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 180px;" placeholder="TMR设备编号" /> <el-button class="successBorder" @click="handleSearch('third')">查询</el-button> <el-button class="export" style="float: right;margin-right: 5px;" @click="handleExport('tab3')">导出</el-button> </div> <el-table :key="tab3.table.tableKey" v-loading="tab3.table.listLoading" element-loading-text="给我一点时间" :data="tab3.table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :height="myHeight2" ref="elTable2" > <el-table-column v-for="item in tab3.table.tableConfig" align="center" :label="item.label" :prop="item.prop"> <el-table-column v-for="item1 in item.children" v-if="item.children || item.children.length>0" align="center" :label="item1.label" :prop="item1.prop"> <el-table-column v-for="item2 in item1.children" v-if="item1.children || item1.children.length>0" :label="item2.label" :prop="item2.prop" /> </el-table-column> </el-table-column> </el-table> <span v-if="tab3.table.listLoading == false && tab3.table.list.length>0" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab3.table.total }}条</span> <!-- <div v-if="tab3.table.list.length==0" style="text-align: center;">暂无数据</div> --> </el-tab-pane> </el-tabs> </div> </div> </template> <script> import { GetDataByName, GetDataByNames, GetReportform } from '@/api/common' import Cookies from 'js-cookie' import { parseTime } from '@/utils/index.js' import Pagination from '@/components/Pagination' export default { name: 'GroupInventoryManagement', components: { Pagination }, data() { return { Beforedisabled: false, Nextdisabled: false, Beforedisabled2: false, Nextdisabled2: false, pickerMinDate: '', pickerOptions: { onPick: ({ maxDate, minDate }) => { this.pickerMinDate = minDate.getTime() if (maxDate) { this.pickerMinDate = '' } }, // 限制不能选择今天之后的日期 disabledDate: (time) => { if (this.pickerMinDate !== '') { const one = 31 * 24 * 3600 * 1000 const minTime = this.pickerMinDate - one let maxTime = this.pickerMinDate + one if (maxTime > new Date()) { maxTime = new Date() } return time.getTime() < minTime || time.getTime() > maxTime } return time.getTime() > Date.now() } }, requestParams: [ { name: 'getPastureListJT', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid'), pasturename: '' }} ], pastureList: [], // 牧场 fileComment: [{ 'label': '商务文件评分', 'children': [{ 'label': '1' }, { 'label': '2' }, { 'label': '管理员' }] }], activeName: 'first', tab: { chartDate: [], table: { getdataListParm: { name: 'getfsStaticlist', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], feedname: '' } }, tableKey: 1, list: [], total: 0, listLoading: false } }, tab2: { chartDate: [], table: { getdataListParm: { name: 'getMaterialAnalysisSC', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: '', startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], fname: '' } }, tableKey: 1, list: [], tableConfig: [], total: 0, listLoading: false }, radio: '1', isRadio1: true, isRadio2: false, isRadio3: false, isRadio4: false, isRadio5: false, isRadio6: false }, tab3: { chartDate: [], table: { getdataListParm: { name: 'getPriceAnalysisSC', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], fname: '' } }, tableKey: 1, list: [], tableConfig: [], total: 0, listLoading: false }, radio: '1', isRadio1: true, isRadio2: false, isRadio3: false, isRadio4: false }, rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' }, cellStyle: { padding: 0 + 'px' }, myHeight2:document.documentElement.clientHeight - 85-200 } }, updated() { this.$refs['elTable1'].doLayout() this.$refs['elTable2'].doLayout() }, created() { this.getDownList() this.getTimeFn() }, methods: { getDownList() { GetDataByNames(this.requestParams).then(response => { this.pastureList = response.data.getPastureListJT.list this.tab.table.getdataListParm.parammaps.pastureid = response.data.getPastureListJT.list[0].pastureid this.getTabList() }) }, getTimeFn() { const that = this const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) end.setTime(end.getTime() - 3600 * 1000 * 24 * 1) that.tab.chartDate[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chartDate[1] = parseTime(end, '{y}-{m}-{d}') that.tab.table.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.table.getdataListParm.parammaps.inputDatetime = [start, end] that.tab2.chartDate[0] = parseTime(start, '{y}-{m}-{d}') that.tab2.chartDate[1] = parseTime(end, '{y}-{m}-{d}') that.tab2.table.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab2.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab2.table.getdataListParm.parammaps.inputDatetime = [start, end] that.tab3.chartDate[0] = parseTime(start, '{y}-{m}-{d}') that.tab3.chartDate[1] = parseTime(end, '{y}-{m}-{d}') that.tab3.table.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab3.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab3.table.getdataListParm.parammaps.inputDatetime = [start, end] }, handleTabClick() { if (this.activeName == 'first') { const start = new Date() const end = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 1) end.setTime(end.getTime() - 3600 * 1000 * 24 * 1) this.tab.table.getdataListParm.parammaps.inputDatetime = [start, end] this.getTabList() } else if (this.activeName == 'second') { console.log(this.pastureList) const start2 = new Date() const end2 = new Date() start2.setTime(start2.getTime() - 3600 * 1000 * 24 * 1) end2.setTime(end2.getTime() - 3600 * 1000 * 24 * 1) this.tab2.table.getdataListParm.parammaps.inputDatetime = [start2, end2] this.tab2.table.getdataListParm.parammaps.pastureid = this.pastureList[0].pastureid this.getTab2List() } else if (this.activeName == 'third') { const start3 = new Date() const end3 = new Date() start3.setTime(start3.getTime() - 3600 * 1000 * 24 * 1) end3.setTime(end3.getTime() - 3600 * 1000 * 24 * 1) this.tab3.table.getdataListParm.parammaps.inputDatetime = [start3, end3] this.tab3.table.getdataListParm.parammaps.pastureid = this.pastureList[0].pastureid this.getTab3List() } }, getTabList() { this.tab.table.listLoading = true GetDataByName(this.tab.table.getdataListParm).then(response => { console.log('库存统计table数据', response.data.list) if (response.data.list !== null) { this.tab.table.list = response.data.list this.tab.table.total = response.data.total } else { this.tab.table.list = [] } setTimeout(() => { this.tab.table.listLoading = false }, 100) }) }, handleSearch(item) { if (item == 'first') { if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.getTabList() } else if (item == 'second') { if (this.tab2.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab2.table.getdataListParm.parammaps.inputDatetime = '' this.tab2.table.getdataListParm.parammaps.startTime = '' this.tab2.table.getdataListParm.parammaps.stopTime = '' } this.getTab2List() } else if (item == 'third') { if (this.tab3.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab3.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab3.table.getdataListParm.parammaps.inputDatetime = '' this.tab3.table.getdataListParm.parammaps.startTime = '' this.tab3.table.getdataListParm.parammaps.stopTime = '' } this.getTab3List() } }, handleExport(item) { if (item == 'tab1') { console.log('库存统计导出') } else if (item == 'tab2') { console.log('用料分析导出数据', this.tab2.table.list) console.log('用料分析导出表头', this.tab2.table.tableConfig) var exportData = [] var exportTitle1 = [] // 一级标题 var exportTitle2 = [] // 二级标题 for (let i = 0; i < this.tab2.table.tableConfig.length; i++) { exportTitle1.push(this.tab2.table.tableConfig[i].label) for (let j = 0; j < this.tab2.table.tableConfig[i].children.length; j++) { exportTitle2.push(this.tab2.table.tableConfig[i].children[j].label) } } console.log('一级标题exportTitle1', exportTitle1) console.log('二级标题exportTitle2', exportTitle2) var headerArr = []// 处理一级标题 for (let i = 0; i < exportTitle1.length; i++) { if (i > 0) { headerArr.push(exportTitle1[i], '', '', '') } else { headerArr.push(exportTitle1[i]) } } console.log('一级表头处理后', headerArr) var valueArr = [] // 对应字段 for (let i = 0; i < exportTitle2.length; i++) { if (i == 0) { valueArr.push('A') } else { valueArr.push('a' + [i - 1]) } } console.log('对应字段valueArr', valueArr) if (headerArr.length > 0) { import('@/vendor/Export3Excel').then((excel) => { const multiHeader = [ headerArr ] const multiHeader2 = [] const tHeader = exportTitle2 const filterVal = valueArr// 表头所对应的字段,这里未填写 const data = this.tab2.table.list.map(v => filterVal.map(j => v[j])) // const data = []; // 进行所有表头的单元格合并 // const merges = ['A1:A1', 'B1:E1','F1:J1' ]; const merges = ['A1:A1'] excel.export_json_to_excel({ multiHeader, multiHeader2, header: tHeader, data, filename: '用料分析', merges }) }) } } else if (item == 'tab3') { console.log('价格分析导出') console.log('价格分析导出数据', this.tab3.table.list) console.log('价格分析导出表头', this.tab3.table.tableConfig) var exportData = [] var exportTitle1 = [] // 一级标题 var exportTitle2 = [] // 二级标题 for (let i = 0; i < this.tab3.table.tableConfig.length; i++) { exportTitle1.push(this.tab3.table.tableConfig[i].label) for (let j = 0; j < this.tab3.table.tableConfig[i].children.length; j++) { exportTitle2.push(this.tab3.table.tableConfig[i].children[j].label) } } console.log('一级标题exportTitle1', exportTitle1) console.log('二级标题exportTitle2', exportTitle2) var headerArr = []// 处理一级标题 for (let i = 0; i < exportTitle1.length; i++) { if (i > 0) { headerArr.push(exportTitle1[i], '') } else { headerArr.push(exportTitle1[i]) } } console.log('一级表头处理后', headerArr) var valueArr = [] // 对应字段 for (let i = 0; i < exportTitle2.length; i++) { if (i == 0) { valueArr.push('A') } else { valueArr.push('a' + [i - 1]) } } console.log('对应字段valueArr', valueArr) if (headerArr.length > 0) { import('@/vendor/Export3Excel').then((excel) => { const multiHeader = [ headerArr ] const multiHeader2 = [] const tHeader = exportTitle2 const filterVal = valueArr// 表头所对应的字段,这里未填写 const data = this.tab3.table.list.map(v => filterVal.map(j => v[j])) // const data = []; // 进行所有表头的单元格合并 // const merges = ['A1:A1', 'B1:E1','F1:J1' ]; const merges = ['A1:A1'] excel.export_json_to_excel({ multiHeader, multiHeader2, header: tHeader, data, filename: '价格分析', merges }) }) } } }, format(jsonData) { // 数据处理 const dataList = [] for (let i = 0; i < jsonData.length; i++) { const list = [] list.push(jsonData[i].index) list.push(jsonData[i].Personel) list.push(jsonData[i].address) for (let j = 0; j < jsonData[0]['time'].length; j++) { list.push(jsonData[i]['time'][j].morning) list.push(jsonData[i]['time'][j].afternoon) } dataList.push(list) } return dataList }, // 用料分析 getTab2List() { this.tab2.table.listLoading = true GetReportform(this.tab2.table.getdataListParm).then(response => { if (response.data !== null && response.data.data !== null && response.data.data1 !== null) { console.log('库存统计-用料分析', response.data.list) this.tab2.table.list = response.data.list.data1 this.tab2.table.tableConfig = response.data.list.data2 this.tab2.table.total = response.data.total } else { this.tab2.table.list = [] } setTimeout(() => { this.tab2.table.listLoading = false }, 100) }) }, changeRadio2() { console.log(this.tab2.radio) if (this.tab2.radio == '1') { this.tab2.isRadio1 = true, this.tab2.isRadio2 = false, this.tab2.isRadio3 = false, this.tab2.isRadio4 = false, this.tab2.isRadio5 = false, this.tab2.isRadio6 = false, this.tab2.table.getdataListParm.name = 'getMaterialAnalysisSC' this.tab2.table.getdataListParm.offset = 1 this.getTab2List() } else if (this.tab2.radio == '2') { this.tab2.isRadio1 = false, this.tab2.isRadio2 = true, this.tab2.isRadio3 = false, this.tab2.isRadio4 = false, this.tab2.isRadio5 = false, this.tab2.isRadio6 = false, this.tab2.table.getdataListParm.name = 'getMaterialAnalysisLS' this.tab2.table.getdataListParm.offset = 1 this.getTab2List() } else if (this.tab2.radio == '3') { this.tab2.isRadio1 = false, this.tab2.isRadio2 = false, this.tab2.isRadio3 = true, this.tab2.isRadio4 = false, this.tab2.isRadio5 = false, this.tab2.isRadio6 = false, this.tab2.table.getdataListParm.name = 'getMaterialAnalysisRQ' this.tab2.table.getdataListParm.offset = 1 this.getTab2List() } else if (this.tab2.radio == '4') { this.tab2.isRadio1 = false, this.tab2.isRadio2 = false, this.tab2.isRadio3 = false, this.tab2.isRadio4 = true, this.tab2.isRadio5 = false, this.tab2.isRadio6 = false, this.tab2.table.getdataListParm.name = 'getMaterialAnalysisTMR' this.tab2.table.getdataListParm.offset = 1 this.getTab2List() } else if (this.tab2.radio == '5') { this.tab2.isRadio1 = false, this.tab2.isRadio2 = false, this.tab2.isRadio3 = false, this.tab2.isRadio4 = false, this.tab2.isRadio5 = true, this.tab2.isRadio6 = false, this.tab2.table.getdataListParm.name = 'getMaterialAnalysisBC' this.tab2.table.getdataListParm.offset = 1 this.getTab2List() } else if (this.tab2.radio == '6') { this.tab2.isRadio1 = false, this.tab2.isRadio2 = false, this.tab2.isRadio3 = false, this.tab2.isRadio4 = false, this.tab2.isRadio5 = false, this.tab2.isRadio6 = true, this.tab2.table.getdataListParm.name = 'getMaterialAnalysisCC' this.tab2.table.getdataListParm.offset = 1 this.getTab2List() } }, // 价格分析 getTab3List() { this.tab3.table.listLoading = true GetReportform(this.tab3.table.getdataListParm).then(response => { if (response.data !== null && response.data.list.data1 !== null && response.data.list.data2 !== null) { console.log('库存统计-价格分析', response.data.list) this.tab3.table.list = response.data.list.data1 this.tab3.table.tableConfig = response.data.list.data2 this.tab3.table.total = response.data.total } else { this.tab3.table.list = [] } setTimeout(() => { this.tab3.table.listLoading = false }, 100) }) }, changeRadio3() { console.log(this.tab3.radio) if (this.tab3.radio == '1') { this.tab3.isRadio1 = true, this.tab3.isRadio2 = false, this.tab3.isRadio3 = false, this.tab3.isRadio4 = false, this.tab3.table.getdataListParm.name = 'getPriceAnalysisSC' this.tab3.table.getdataListParm.offset = 1 this.getTab3List() } else if (this.tab3.radio == '2') { this.tab3.isRadio1 = false, this.tab3.isRadio2 = true, this.tab3.isRadio3 = false, this.tab3.isRadio4 = false, this.tab3.table.getdataListParm.name = 'getPriceAnalysisLS' this.tab3.table.getdataListParm.offset = 1 this.getTab3List() } else if (this.tab3.radio == '3') { this.tab3.isRadio1 = false, this.tab3.isRadio2 = false, this.tab3.isRadio3 = true, this.tab3.isRadio4 = false, this.tab3.table.getdataListParm.name = 'getPriceAnalysisRQ' this.tab3.table.getdataListParm.offset = 1 this.getTab3List() } else if (this.tab3.radio == '4') { this.tab3.isRadio1 = false, this.tab3.isRadio2 = false, this.tab3.isRadio3 = false, this.tab3.isRadio4 = true, this.tab3.table.getdataListParm.name = 'getPriceAnalysisTMR' this.tab3.table.getdataListParm.offset = 1 this.getTab3List() } }, handleBefore() { if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { var start = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1)) var stop = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1)) if (stop > Date.now() - 8.64e7) { this.Nextdisabled = true this.Beforedisabled = false } else { this.Nextdisabled = false this.Beforedisabled = false } this.tab.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab.table.getdataListParm.parammaps.inputDatetime.push(start, stop) this.$forceUpdate() } this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTabList() }, handleNext() { if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { var start2 = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1)) var stop2 = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1)) if (stop2 > Date.now() - 8.64e7) { this.Nextdisabled = true this.Beforedisabled = false } else { this.Nextdisabled = false this.Beforedisabled = false } this.tab.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab.table.getdataListParm.parammaps.inputDatetime.push(start2, stop2) this.$forceUpdate() } this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTabList() }, handleBefore2() { if (this.tab2.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { var start3 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1)) var stop3 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1)) if (stop3 > Date.now() - 8.64e7) { this.Nextdisabled2 = true this.Beforedisabled2 = false } else { this.Nextdisabled2 = false this.Beforedisabled2 = false } this.tab2.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab2.table.getdataListParm.parammaps.inputDatetime.push(start3, stop3) this.$forceUpdate() } this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab2List() }, handleNext2() { if (this.tab2.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { var start4 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1)) var stop4 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1)) if (stop4 > Date.now() - 8.64e7) { this.Nextdisabled2 = true this.Beforedisabled2 = false } else { this.Nextdisabled2 = false this.Beforedisabled2 = false } this.tab2.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab2.table.getdataListParm.parammaps.inputDatetime.push(start4, stop4) this.$forceUpdate() } this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab2List() }, handleBefore3() { if (this.tab3.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab3.table.getdataListParm.parammaps.inputDatetime !== null) { var start5 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1)) var stop5 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1)) if (stop5 > Date.now() - 8.64e7) { this.Nextdisabled3 = true this.Beforedisabled3 = false } else { this.Nextdisabled3 = false this.Beforedisabled3 = false } this.tab3.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab3.table.getdataListParm.parammaps.inputDatetime.push(start5, stop5) this.$forceUpdate() } this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab3List() }, handleNext3() { if (this.tab3.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { var start6 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1)) var stop6 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1)) if (stop6 > Date.now() - 8.64e7) { this.Nextdisabled3 = true this.Beforedisabled3 = false } else { this.Nextdisabled3 = false this.Beforedisabled3 = false } this.tab3.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab3.table.getdataListParm.parammaps.inputDatetime.push(start6, stop6) this.$forceUpdate() } this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab3List() } } } </script> <style lang="scss" scoped> .search{ margin-bottom:10px; .el-radio{margin-right: 10px;} .filter-item1{margin-top: 10px;} } </style>