From bb156855a7273e91af1f1123a5b84c606cb44c15 Mon Sep 17 00:00:00 2001 From: 叶松 <2217086471@qq.com> Date: 星期五, 03 十一月 2023 10:26:27 +0800 Subject: [PATCH] 增加搅拌站消耗页面 --- web/src/views/GoodManage/components/MixingExpend.vue | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++ web/src/views/GoodManage/MixingManage.vue | 10 ++ web/src/api/modules/materials.js | 7 + 3 files changed, 219 insertions(+), 1 deletions(-) diff --git a/web/src/api/modules/materials.js b/web/src/api/modules/materials.js index 39e7b43..fc954a2 100644 --- a/web/src/api/modules/materials.js +++ b/web/src/api/modules/materials.js @@ -128,6 +128,13 @@ responseType: 'blob', data: params }), + + /** + * 搅拌站消耗 + */ + mixingExpendLists: (params) => + axios.post('/materials/materialRelease/materialRew', params), + /* 预埋件管理 */ embedded: { // 库存管理 diff --git a/web/src/views/GoodManage/MixingManage.vue b/web/src/views/GoodManage/MixingManage.vue index 595c8c7..c73d0f9 100644 --- a/web/src/views/GoodManage/MixingManage.vue +++ b/web/src/views/GoodManage/MixingManage.vue @@ -17,6 +17,9 @@ <el-tab-pane label="原料实际放量" name="five"> <real-raw ref="realRaws"></real-raw> </el-tab-pane> + <el-tab-pane label="搅拌站消耗" name="six"> + <mixing-expend ref="expendm"></mixing-expend> + </el-tab-pane> </el-tabs> </div> </div> @@ -27,13 +30,15 @@ import MixingCost from './components/MixingCost.vue'//消耗记录 import MixingCheck from './components/MixingCheck.vue'//校正记录 import RealRaw from './components/RealRaw.vue'//原料实际放量 +import MixingExpend from './components/MixingExpend.vue'//搅拌站消耗 export default { components:{ MixingInvent, MixingIncome, MixingCost, MixingCheck, - RealRaw + RealRaw, + MixingExpend }, data(){ return{ @@ -66,6 +71,9 @@ this.$refs.realRaws.getLists(); this.$refs.realRaws.getMaterialNames(); break; + case 'six': + this.$refs.expendm.searchButtonInfo(true); + break; default: this.$refs.inventm.searchButtonInfo(true); } diff --git a/web/src/views/GoodManage/components/MixingExpend.vue b/web/src/views/GoodManage/components/MixingExpend.vue new file mode 100644 index 0000000..20d0934 --- /dev/null +++ b/web/src/views/GoodManage/components/MixingExpend.vue @@ -0,0 +1,203 @@ +<template> + <div class="main tabs_main" style="height:89%"> + <div class="main_header"> + <div class="header_item"> + <span class="header_label">盘次:</span> + <el-input v-model="search.byId" :size="size" clearable placeholder="请输入盘次"></el-input> + </div> + <div class="header_item"> + <el-button :size="size" icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button> + <!-- <el-button :size="size" icon="el-icon-upload2" v-if="showButton('export')" @click="exportCkeckFile()">导出Excel</el-button> --> + </div> + </div> + <div class="main_content"> + <div class="content_tables" v-for="(item,index) in tablesList" :key="index"> + <div class="content_tables_headers"> + <div class="tables_headers_title">盘次:</div> + <div class="tables_headers_datas">{{item.byId}}</div> + </div> + <div class="content_tables_alone"> + <el-table + v-loading="loading" + :data="item.rawMaterials" + height="100%"> + <el-table-column align="center" label="序号" width="60"> + <template #default="scope"> + <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> + </template> + </el-table-column> + <el-table-column prop="storage" label="料仓" align="center" width="180"></el-table-column> + <el-table-column prop="material" label="原料名称" align="center" ></el-table-column> + <el-table-column prop="recamnt" label="配方用量(t)" align="center" ></el-table-column> + <el-table-column prop="planamnt" label="计划用量(t)" align="center" ></el-table-column> + <el-table-column prop="factamnt" label="实际用量(t)" align="center" ></el-table-column> + </el-table> + </div> + </div> + </div> + <div class="main_footer"> + <el-pagination + background + @current-change="changePageNum" + @size-change="changePageSize" + :current-page="pageNum" + :page-sizes="[10, 20, 50, 100]" + :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total"> + </el-pagination> + </div> + </div> +</template> + +<script> +import { buttonPinia } from '../../../pinia/index'; +import { changeSize,downFiles } from '../../../plugins/public'; // 导入节流、动态切换组件尺寸方法 + export default { + data() { + return { + size: changeSize(), // 组件尺寸 + pageNum: 1, + pageSize: 10, + search:{},//查询条件 + total: 0, + loading: false, + tablesList: [], //校正记录管理信息列表 + optionsDicts:[],//原料名称 + } + }, + watch: { + asyncVisible(bol) { + if(!bol) { + this.ruleForm = {}; + this.$refs.ruleForm.resetFields(); + } + } + }, + mounted() { + const that = this; + // 根据窗口大小动态修改组件尺寸 + window.onresize = () => { + that.size = changeSize(); + } + }, + methods: { + // 转圈圈 + functionLoading() { + this.loadingView = this.$loading({ + lock: true, + text: '请稍后...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); + }, + //导出excel + exportCkeckFile(){ + this.functionLoading(); + let params = Object.assign({},this.search) + params.startTime = this.search.time==null?'':this.search.time&&this.search.time[0] + params.endTime = this.search.time==null?'':this.search.time&&this.search.time[1] + delete params.time + this.$api.Materials.mixingChecksexports(params).then(res => { + downFiles(res, '校正记录信息', 'xls') + this.loadingView.close() + }) + .catch(() => { + this.loadingView.close(); + }) + }, + // 查询按钮列表信息 + searchButtonInfo(bol) { + if(bol) { + this.pageNum = 1; + } + let params = Object.assign({},this.search,{ + pageNum: this.pageNum, + pageSize: this.pageSize + }) + this.loading = true; + this.$api.Materials.mixingExpendLists(params).then((res) => { + if(res.statusMsg === 'ok') { + this.total = res.data.total; + this.tablesList = res.data.list; + } + this.loading = false; + }) + }, + // 判断按钮权限信息 + showButton(str) { + const pinia = buttonPinia(); + return pinia.$state.buttonInfo.includes(str); + }, + // 切换页数 + changePageNum(page) { + this.pageNum = page; + this.searchButtonInfo(); + }, + // 切换每页条数 + changePageSize(size) { + this.pageSize = size; + this.searchButtonInfo(); + } + } + } +</script> + +<style lang="scss" scoped> +@import'@/style/layout-main.scss'; +//滚动条样式 +/deep/ ::-webkit-scrollbar { + width: 4px; + height: 8px; +} +/deep/ ::-webkit-scrollbar-thumb { + border-radius: 10px; + box-shadow: inset 0 0 5px #084E6B; + background: rgba(0,0,0,0.2); +} +/deep/ ::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px transparent; + border-radius: 0; + background: transparent; +} +.main_content{ + width: 100%; + display: flex; + justify-content: space-between; + flex-wrap: wrap; + overflow: auto!important; + padding: 0 43px 0px 5px; + + .content_tables{ + width: calc(50% - 10px); + height: 500px; + background-color: #031A46; + display: flex; + flex-direction: column; + margin-bottom: 10px; + + .content_tables_headers{ + width: 100%; + line-height: 55px; + background-color: #13497E; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + display: flex; + padding-left: 15px; + .tables_headers_title{ + color: #fff; + font-size: 18px; + } + .tables_headers_datas{ + font-size: 20px; + font-weight: bold; + color: #fff; + } + } + .content_tables_alone{ + padding: 5px 2px; + height: calc(100% - 55px); + } + } +} +</style> \ No newline at end of file -- Gitblit v1.9.3