|
@@ -0,0 +1,448 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <div class="search">
|
|
|
+ <el-select v-model="table.getdataListParm.parammaps.feedid" filterable placeholder="饲料名称" class="filter-item" style="width: 150px;" clearable>
|
|
|
+ <el-option v-for="item in feedNameList" :key="item.id" :label="item.fname" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ <el-button class="successBorder" @click="handleSearch">查询</el-button>
|
|
|
+ <el-button class="successBorder" @click="handleRefresh">重置</el-button>
|
|
|
+ <el-button class="export" icon="el-icon-upload2" style="float: right;margin-right: 10px;" @click="handleExport">导出</el-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="table">
|
|
|
+ <el-table
|
|
|
+ :key="table.tableKey"
|
|
|
+ v-loading="table.listLoading"
|
|
|
+ element-loading-text="给我一点时间"
|
|
|
+ :data="table.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ :row-style="rowStyle"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ class="elTable table-fixed"
|
|
|
+ :max-height="myHeight"
|
|
|
+ >
|
|
|
+ <el-table-column label="序号" align="center" type="index" width="50px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.$index + (table.pageNum-1) * table.pageSize + 1 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="饲料名称" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.feedname }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="当前库存重量(kg)" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.stockweight }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="金额(元)" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.sumprice }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="平均单价(元/kg)" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>后台待返回</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="50" class-name="small-padding fixed-width" fixed="right">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-button class="miniSuccess" icon="el-icon-search" :disabled="isokDisable" @click="handleSee(row)" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination v-show="table.total>=0" :total="table.total" :page.sync="table.getdataListParm.offset" :limit.sync="table.getdataListParm.pagecount" @pagination="getList" />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-dialog :fullscreen="dialogFull" :visible.sync="see.dialogFormVisible" :close-on-click-modal="false" width="90%">
|
|
|
+ <template slot="title">
|
|
|
+ <div class="avue-crud__dialog__header">
|
|
|
+ <span class="el-dialog__title">
|
|
|
+ <span style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px" />
|
|
|
+ {{ textMap[see.dialogStatus] }}
|
|
|
+ </span>
|
|
|
+ <div class="avue-crud__dialog__menu" @click="dialogFull? dialogFull=false: dialogFull=true">
|
|
|
+ <svg-icon v-if="dialogFull" icon-class="exit-fullscreen" />
|
|
|
+ <svg-icon v-else icon-class="fullscreen" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="app-see">
|
|
|
+ <el-tabs v-model="see.activeName" @tab-click="handleTabClick">
|
|
|
+ <el-tab-pane label="入库记录" name="first">
|
|
|
+ <div class="search">
|
|
|
+ <el-date-picker v-model="see.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
|
|
|
+ <el-button class="successBorder" @click="handleSearch1">查询</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="table">
|
|
|
+ <el-table
|
|
|
+ :key="see.tableKey"
|
|
|
+ v-loading="see.listLoading"
|
|
|
+ element-loading-text="给我一点时间"
|
|
|
+ :data="see.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ :row-style="rowStyle"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ class="elTable table-fixed"
|
|
|
+ >
|
|
|
+ <el-table-column label="序号" align="center" type="index" width="50px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.$index + (see.pageNum-1) * see.pageSize + 1 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="入库日期" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.laiddate }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作重量(kg)" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.operateweight }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="金额(元)" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span> {{ scope.row.sumprice }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="备注" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.remark }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <pagination v-show="see.total>=0" style="margin-bottom: 50px;" :total="see.total" :page.sync="see.getdataListParm.offset" :limit.sync="see.getdataListParm.pagecount" @pagination="getSeeList" />
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="出库记录" name="second">
|
|
|
+ <div class="search">
|
|
|
+ <el-select v-model="see.getdataListParm2.parammaps.usetype" placeholder="出库类型" class="filter-item" style="width: 150px;" clearable>
|
|
|
+ <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ <el-date-picker v-model="see.getdataListParm2.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
|
|
|
+ <el-button class="successBorder" @click="handleSearch2">查询</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="table">
|
|
|
+ <el-table
|
|
|
+ :key="see.tableKey2"
|
|
|
+ v-loading="see.listLoading2"
|
|
|
+ element-loading-text="给我一点时间"
|
|
|
+ :data="see.list2"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ :row-style="rowStyle"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ class="elTable table-fixed"
|
|
|
+ >
|
|
|
+ <el-table-column label="序号" align="center" type="index" width="50px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.$index + (see.pageNum2-1) * see.pageSize2 + 1 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="出库日期" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.usedate }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="出库类型" min-width="130px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.usetype }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="牲畜类别" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span> {{ scope.row.cowclass }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作重量(kg)" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span> {{ scope.row.operateweight }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="备注" min-width="110px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.remark }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <pagination v-show="see.total2>=0" style="margin-bottom: 50px;" :total="see.total2" :page.sync="see.getdataListParm2.offset" :limit.sync="see.getdataListParm2.pagecount" @pagination="getSeeList2" />
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button class="cancelClose cancelClose1" @click="see.dialogFormVisible = false; ">关闭</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { GetDataByName, GetDataByNames, checkButtons } from '@/api/common'
|
|
|
+import Pagination from '@/components/Pagination'
|
|
|
+import Cookies from 'js-cookie'
|
|
|
+import { parseTime, json2excel } from '@/utils/index.js'
|
|
|
+export default {
|
|
|
+ name: 'Statistics',
|
|
|
+ components: { Pagination },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dialogFull: false,
|
|
|
+ isRoleEdit: [],
|
|
|
+ requestParams: [
|
|
|
+ { name: 'getFeedListEnable', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
|
|
|
+ { name: 'getDictByNameUse', offset: 0, pagecount: 0, params: ['人工用量操作类型'] }
|
|
|
+ ],
|
|
|
+ feedNameList: [], // 饲料名称
|
|
|
+ deliveryTypeList: [], // 出库类型
|
|
|
+ table: {
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getFeedstorageList',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: parseInt(Cookies.get('pageCount')),
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: Cookies.get('pastureid'),
|
|
|
+ feedid: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey: 0,
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ listLoading: true
|
|
|
+ },
|
|
|
+ textMap: {
|
|
|
+ see: '库存'
|
|
|
+ },
|
|
|
+ see: {
|
|
|
+ dialogFormVisible: false,
|
|
|
+ dialogStatus: '',
|
|
|
+ temp: {},
|
|
|
+ rules: {},
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getFsLaidList',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: 10,
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: '',
|
|
|
+ feedid: '',
|
|
|
+ inputDatetime: '',
|
|
|
+ startTime: '',
|
|
|
+ stopTime: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey: 0,
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ listLoading: true,
|
|
|
+ activeName: 'first',
|
|
|
+ getdataListParm2: {
|
|
|
+ name: 'getFsUseList',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: 10,
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: '',
|
|
|
+ feedid: '',
|
|
|
+ inputDatetime: '',
|
|
|
+ startTime: '',
|
|
|
+ stopTime: '',
|
|
|
+ usetype: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableKey2: 0,
|
|
|
+ list2: [],
|
|
|
+ total2: 0,
|
|
|
+ listLoading2: true
|
|
|
+ },
|
|
|
+ requestParam: {},
|
|
|
+ download: {
|
|
|
+ getdataListParm: {
|
|
|
+ name: 'getFeedstorageList',
|
|
|
+ page: 1,
|
|
|
+ offset: 1,
|
|
|
+ pagecount: 0,
|
|
|
+ returntype: 'Map',
|
|
|
+ parammaps: {
|
|
|
+ pastureid: Cookies.get('pastureid'),
|
|
|
+ feedid: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ list: []
|
|
|
+ },
|
|
|
+ isokDisable: false,
|
|
|
+ rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
|
|
|
+ cellStyle: { padding: 0 + 'px' },
|
|
|
+ myHeight:document.documentElement.clientHeight - 85- 150 -10
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ created() {
|
|
|
+ this.getButtons()
|
|
|
+ this.getDownList()
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ getButtons() {
|
|
|
+ const Edit = 'Statistics'
|
|
|
+ const isRoleEdit = checkButtons(JSON.parse(sessionStorage.getItem('buttons')), Edit)
|
|
|
+ this.isRoleEdit = isRoleEdit
|
|
|
+ },
|
|
|
+ getDownList() {
|
|
|
+ GetDataByNames(this.requestParams).then(response => {
|
|
|
+ this.feedNameList = response.data.getFeedListEnable.list
|
|
|
+ this.deliveryTypeList = response.data.getDictByNameUse.list
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getList() {
|
|
|
+ this.table.listLoading = true
|
|
|
+ GetDataByName(this.table.getdataListParm).then(response => {
|
|
|
+ console.log('table数据', response.data.list)
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ this.table.list = response.data.list
|
|
|
+ this.table.pageNum = response.data.pageNum
|
|
|
+ this.table.pageSize = response.data.pageSize
|
|
|
+ } else {
|
|
|
+ this.table.list = []
|
|
|
+ }
|
|
|
+ this.table.total = response.data.total
|
|
|
+ setTimeout(() => {
|
|
|
+ this.table.listLoading = false
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ handleSearch() {
|
|
|
+ console.log('点击了查询')
|
|
|
+ this.table.getdataListParm.offset = 1
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ handleRefresh() {
|
|
|
+ console.log('点击了重置')
|
|
|
+ this.table.getdataListParm.offset = 1
|
|
|
+ this.table.getdataListParm.parammaps.feedid = ''
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ handleSee(row) {
|
|
|
+ this.see.dialogStatus = 'see'
|
|
|
+ this.dialogFull = false
|
|
|
+ this.see.dialogFormVisible = true
|
|
|
+ this.see.list = []
|
|
|
+ this.see.getdataListParm.offset = 1
|
|
|
+ this.see.getdataListParm2.offset = 1
|
|
|
+ this.see.getdataListParm.parammaps.pastureid = row.pastureid
|
|
|
+ this.see.getdataListParm.parammaps.feedid = row.feedid
|
|
|
+ this.see.getdataListParm2.parammaps.pastureid = row.pastureid
|
|
|
+ this.see.getdataListParm2.parammaps.feedid = row.feedid
|
|
|
+ this.see.activeName = 'first'
|
|
|
+ this.getSeeList()
|
|
|
+ this.getSeeList2()
|
|
|
+ },
|
|
|
+ getSeeList() {
|
|
|
+ this.see.listLoading = true
|
|
|
+ GetDataByName(this.see.getdataListParm).then(response => {
|
|
|
+ console.log('table数据', response.data.list)
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ this.see.list = response.data.list
|
|
|
+ this.see.pageNum = response.data.pageNum
|
|
|
+ this.see.pageSize = response.data.pageSize
|
|
|
+ this.see.total = response.data.total
|
|
|
+ } else {
|
|
|
+ this.see.list = []
|
|
|
+ }
|
|
|
+ setTimeout(() => {
|
|
|
+ this.see.listLoading = false
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getSeeList2() {
|
|
|
+ this.see.listLoading2 = true
|
|
|
+ GetDataByName(this.see.getdataListParm2).then(response => {
|
|
|
+ console.log('table数据2', response.data.list)
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ this.see.list2 = response.data.list
|
|
|
+ this.see.pageNum2 = response.data.pageNum
|
|
|
+ this.see.pageSize2 = response.data.pageSize
|
|
|
+ this.see.total2 = response.data.total
|
|
|
+ } else {
|
|
|
+ this.see.list2 = []
|
|
|
+ }
|
|
|
+ setTimeout(() => {
|
|
|
+ this.see.listLoading2 = false
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleTabClick(val) {
|
|
|
+ if (val.name === 'first') {
|
|
|
+ this.getSeeList()
|
|
|
+ } else if (val.name === 'second') {
|
|
|
+ this.getSeeList2()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSearch1() {
|
|
|
+ console.log('点击了库存入库记录查询')
|
|
|
+ if (this.see.getdataListParm.parammaps.inputDatetime !== '' && this.see.getdataListParm.parammaps.inputDatetime !== null) {
|
|
|
+ this.see.getdataListParm.parammaps.startTime = parseTime(this.see.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
|
|
|
+ this.see.getdataListParm.parammaps.stopTime = parseTime(this.see.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
|
|
|
+ } else {
|
|
|
+ this.see.getdataListParm.parammaps.inputDatetime = ''
|
|
|
+ this.see.getdataListParm.parammaps.startTime = ''
|
|
|
+ this.see.getdataListParm.parammaps.stopTime = ''
|
|
|
+ }
|
|
|
+ this.getSeeList()
|
|
|
+ },
|
|
|
+ handleSearch2() {
|
|
|
+ console.log('点击了库存出库记录查询')
|
|
|
+ if (this.see.getdataListParm2.parammaps.inputDatetime !== '' && this.see.getdataListParm2.parammaps.inputDatetime !== null) {
|
|
|
+ this.see.getdataListParm2.parammaps.startTime = parseTime(this.see.getdataListParm2.parammaps.inputDatetime[0], '{y}-{m}-{d}')
|
|
|
+ this.see.getdataListParm2.parammaps.stopTime = parseTime(this.see.getdataListParm2.parammaps.inputDatetime[1], '{y}-{m}-{d}')
|
|
|
+ } else {
|
|
|
+ this.see.getdataListParm2.parammaps.inputDatetime = ''
|
|
|
+ this.see.getdataListParm2.parammaps.startTime = ''
|
|
|
+ this.see.getdataListParm2.parammaps.stopTime = ''
|
|
|
+ }
|
|
|
+ this.getSeeList2()
|
|
|
+ },
|
|
|
+ handleExport() {
|
|
|
+ console.log('点击了导出')
|
|
|
+ this.download.getdataListParm.parammaps = this.table.getdataListParm.parammaps
|
|
|
+ GetDataByName(this.download.getdataListParm).then(response => {
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ this.download.list = response.data.list
|
|
|
+ } else {
|
|
|
+ this.download.list = []
|
|
|
+ }
|
|
|
+ var excelDatas = [
|
|
|
+ {
|
|
|
+ tHeader: ['饲料名称', '批号', '当前库存重量(kg)', '金额(元)'],
|
|
|
+ filterVal: ['feedname', 'pcpde', 'stockweight', 'sumprice'],
|
|
|
+ tableDatas: this.download.list,
|
|
|
+ sheetName: 'Sheet1'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ json2excel(excelDatas, '库存统计', true, 'xlsx')
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .search{margin-top:10px;}
|
|
|
+
|
|
|
+</style>
|