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