From 145cb213e3dd14a88e685b86b336cfca5629bb15 Mon Sep 17 00:00:00 2001
From: 叶松 <2217086471@qq.com>
Date: 星期二, 10 十月 2023 16:36:51 +0800
Subject: [PATCH] 钢筋笼明细和管片明细完成
---
web/src/api/modules/ductRaw.js | 3
web/src/api/modules/production.js | 4
web/src/views/DuctpiecePLM/PlanManage/DuctPlan.vue | 128 +++++++++++++++++++++++++
web/src/views/DuctpiecePLM/PlanManage/RebardemandIndex.vue | 122 ++++++++++++++++++++++++
4 files changed, 254 insertions(+), 3 deletions(-)
diff --git a/web/src/api/modules/ductRaw.js b/web/src/api/modules/ductRaw.js
index d9951f5..53e7a82 100644
--- a/web/src/api/modules/ductRaw.js
+++ b/web/src/api/modules/ductRaw.js
@@ -59,6 +59,9 @@
//获取月份列表
getMonthsList: params =>
axios.post('/materials/pipePlan/monthList', params),
+ //获取管片明细
+ searchDuctDetails: params =>
+ axios.post('/materials/needYear/selectPipeInfo', params),
/**
* 原料实际放量
diff --git a/web/src/api/modules/production.js b/web/src/api/modules/production.js
index 175c804..c90cbcb 100644
--- a/web/src/api/modules/production.js
+++ b/web/src/api/modules/production.js
@@ -20,7 +20,9 @@
// 获取钢筋需求计划详情信息
getRebardemandInfo: (params) =>
axios.get('/materials/needYear/needYearInfo', {params}),
-
+ //钢筋笼生产计划的明细
+ detailsBearProducts: (params) =>
+ axios.post('/materials/needYear/selectSteelInfo', params),
/**
* 钢筋理论耗量模块接口
*/
diff --git a/web/src/views/DuctpiecePLM/PlanManage/DuctPlan.vue b/web/src/views/DuctpiecePLM/PlanManage/DuctPlan.vue
index 7cbf4d0..513539b 100644
--- a/web/src/views/DuctpiecePLM/PlanManage/DuctPlan.vue
+++ b/web/src/views/DuctpiecePLM/PlanManage/DuctPlan.vue
@@ -51,7 +51,7 @@
</div>
<div class="plan_content_items">
<div class="plan_content_title">已生产管片数量(环)</div>
- <div class="plan_content_datas" v-for="(it,index) in item.productedArray" :key="index">{{it.split('.')[0]}}</div>
+ <div class="plan_content_datas" v-for="(it,index) in item.productedArray" style="cursor:pointer" @click="showDetails(item,index+1)" :key="index">{{it.split('.')[0]}}</div>
</div>
</div>
</div>
@@ -69,6 +69,50 @@
:total="total">
</el-pagination>
</div>
+ <!-- 钢筋笼明细弹框 -->
+ <el-dialog
+ class="prop_dialog"
+ title="管片明细"
+ :visible.sync="asyncBeardetails"
+ width="65%">
+ <div class="bears_content">
+ <el-table
+ v-loading="loadingDetails"
+ :data="bearDetails"
+ 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="ringNum" label="环号" align="center" ></el-table-column>
+ <el-table-column prop="pipeNum" label="管片编号" align="center" width="160"></el-table-column>
+ <el-table-column prop="turn" label="转向" align="center" width="120"></el-table-column>
+ <el-table-column prop="reinforcement" label="配筋" align="center"></el-table-column>
+ <el-table-column prop="groutingHoles" label="注浆孔" align="center" ></el-table-column>
+ <el-table-column prop="blockNum" label="块号" align="center" ></el-table-column>
+ <el-table-column prop="mouldNum" label="模具" align="center" ></el-table-column>
+ <el-table-column prop="intoModTime" label="入模时间" align="center" width="160"></el-table-column>
+ <el-table-column prop="pouringTime" label="浇筑时间" align="center" width="160"></el-table-column>
+ <el-table-column prop="checkTime" label="质检时间" align="center" width="160"></el-table-column>
+ <el-table-column prop="groupName" label="生产班组" align="center" ></el-table-column>
+ <el-table-column prop="proName" label="项目" align="center" width="250" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="checkResult" label="质量标注" align="center" ></el-table-column>
+ </el-table>
+ </div>
+ <div class="bear_footer">
+ <el-pagination
+ background
+ @current-change="changeDetailsPageNum"
+ @size-change="changeDetailsPageSize"
+ :current-page="pageNumDetails"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageSizeDetails"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="totalDetails">
+ </el-pagination>
+ </div>
+ </el-dialog>
<el-dialog
class="prop_dialog"
:title="asyncTitle===true ? '新增' :asyncTitle===false ? '修改':'查看'"
@@ -142,6 +186,16 @@
allMonths:null,//计算出来的总数
rowId:'',//某一行id
dataList: [], //管片生产计划信息
+ asyncBeardetails:false,
+ bearDetails:[],//管片明细
+ pageNumDetails:1,
+ pageSizeDetails:10,
+ totalDetails:0,
+ loadingDetails:true,
+ proId:null,
+ sizeId:null,
+ reinforcementId:null,
+ years:null,
optionsProject:[],//项目名称
asyncTitle: true, // 对话框title 新增:true 修改:false
asyncVisible: false, // 添加 修改对话框
@@ -210,6 +264,50 @@
}
})
},
+ //展示管片明细弹框
+ showDetails(val,num){
+ this.asyncBeardetails = true
+ if(num ===13){
+ this.asyncBeardetails = false
+ return
+ }
+ this.proId = val.proId
+ this.sizeId = val.size
+ this.years = num<10?val.planYear+'-0'+num:val.planYear+'-'+num
+ this.searchBearDetails(val.proId,val.size,this.years)
+ },
+ //查询管片明细
+ searchBearDetails(proId,sizeId,years){
+ this.loadingDetails = true;
+ this.bearDetails = [];
+ this.$api.Ducts.searchDuctDetails({
+ proId: proId,
+ sizeId:sizeId,
+ yearAndMonth:years,
+ pageNum: this.pageNumDetails,
+ pageSize: this.pageSizeDetails
+ }).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.totalDetails = res.data.total;
+ this.bearDetails = res.data.list;
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ this.loadingDetails = false;
+ }).catch(() => {
+ this.loadingDetails = false
+ });
+ },
+ // 切换管片明细页数
+ changeDetailsPageNum(page) {
+ this.pageNumDetails = page;
+ this.searchBearDetails(this.proId,this.sizeId,this.years);
+ },
+ // 切换管片明细每页条数
+ changeDetailsPageSize(size) {
+ this.pageSizeDetails = size;
+ this.searchBearDetails(this.proId,this.sizeId,this.years);
+ },
//获得所有项目名称
getAllProjects(){
let obj = {
@@ -226,7 +324,7 @@
},
//通过选择项目选择尺寸
changeSizes(val){
- this.ruleForm.size = ""
+ this.$set(this.ruleForm,'size','')
this.$api.Reinforce.searchProjectSize({proId:val,pageNum: 1,
pageSize:100000000}).then(res=>{
if(res.statusMsg === 'ok'){
@@ -376,6 +474,32 @@
<style lang="scss" scoped>
@import '../../../style/layout-main.scss';
+.bears_content{
+ height: 500px;
+ /deep/ .el-table th.el-table__cell{
+ background:#082F57!important;
+ color: #18F6F8;
+ border-right: 1px solid #18F6F8!important;
+ border-bottom: 1px solid #18F6F8!important;
+ border-top: 1px solid #18F6F8!important;
+ &:last-child{
+ border-right-color:transparent!important;
+ }
+ }
+ /deep/.el-table .el-table__cell{
+ border-left: 1px solid #18F6F8!important;
+ border-right: 1px solid #18F6F8!important;
+ border-bottom: 1px solid #18F6F8!important;
+ }
+ /deep/.el-table tr:nth-of-type(even){
+ background: transparent;
+ }
+}
+.bear_footer{
+ text-align: right;
+ line-height: 20px;
+ margin: 15px 0 15px;
+}
.months_items{
display: flex;
flex-wrap: wrap;
diff --git a/web/src/views/DuctpiecePLM/PlanManage/RebardemandIndex.vue b/web/src/views/DuctpiecePLM/PlanManage/RebardemandIndex.vue
index 6fb0035..180c111 100644
--- a/web/src/views/DuctpiecePLM/PlanManage/RebardemandIndex.vue
+++ b/web/src/views/DuctpiecePLM/PlanManage/RebardemandIndex.vue
@@ -76,6 +76,8 @@
<div
v-for="(element, ids) in item.needNums"
:key="ids"
+ @click="showDetails(item,element)"
+ style="cursor: pointer;"
class="number_item"
:class="{
'item_f': element.needNums > element.okNum
@@ -96,6 +98,48 @@
:total="total">
</el-pagination>
</div>
+ <!-- 钢筋笼明细弹框 -->
+ <el-dialog
+ class="prop_dialog"
+ title="钢筋笼明细"
+ :visible.sync="asyncBeardetails"
+ width="65%">
+ <div class="bears_content">
+ <el-table
+ v-loading="loadingDetails"
+ :data="bearDetails"
+ 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="produceNumber" label="钢筋笼编号" align="center" width="160"></el-table-column>
+ <el-table-column prop="proName" label="项目名称" align="center" width="250" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="sizeName" label="尺寸" align="center" ></el-table-column>
+ <el-table-column prop="reinforcementName" label="配筋" align="center"></el-table-column>
+ <el-table-column prop="blockName" label="块号" align="center" ></el-table-column>
+ <el-table-column prop="groupName" label="生产班组" align="center" ></el-table-column>
+ <el-table-column prop="quality_time" label="质检时间" align="center" width="160"></el-table-column>
+ <el-table-column prop="createUser" label="制作人" align="center" ></el-table-column>
+ <el-table-column prop="checkName" label="质检人" align="center" ></el-table-column>
+ <el-table-column prop="isQualified" label="质量标注" align="center" ></el-table-column>
+ <el-table-column prop="isModel" label="是否入模" align="center" ></el-table-column>
+ </el-table>
+ </div>
+ <div class="bear_footer">
+ <el-pagination
+ background
+ @current-change="changeDetailsPageNum"
+ @size-change="changeDetailsPageSize"
+ :current-page="pageNumDetails"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageSizeDetails"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="totalDetails">
+ </el-pagination>
+ </div>
+ </el-dialog>
<!-- 新增计划信息 修改计划信息 -->
<el-dialog
class="prop_dialog"
@@ -197,9 +241,19 @@
pageSize: 6,
total: 0,
loading: true,
+ bearDetails:[],//钢筋笼明细
+ pageNumDetails:1,
+ pageSizeDetails:10,
+ totalDetails:0,
+ loadingDetails:true,
+ proId:null,
+ sizeId:null,
+ reinforcementId:null,
+ years:null,
rebardemandList: [],
asyncTitle: true, // true 新增计划信息 false 修改计划信息
asyncRebardemand: false, // 弹窗
+ asyncBeardetails:false,
formcRebardemand: {}, // 表单信息
rulescRebardemand: {
proId: [{
@@ -271,6 +325,48 @@
}).catch(() => {
this.loading = false
});
+ },
+ //展示钢筋笼明细弹框
+ showDetails(val,num){
+ this.asyncBeardetails = true
+ this.proId = val.proId
+ this.sizeId = val.sizeId
+ this.reinforcementId = val.reinforcementId
+ this.years = val.years
+ this.searchBearDetails(val.proId,val.sizeId,num.reinforcementId,val.years)
+ },
+ //查询钢筋笼明细
+ searchBearDetails(proId,sizeId,reinforcementId,years){
+ this.loadingDetails = true;
+ this.bearDetails = [];
+ this.$api.Production.detailsBearProducts({
+ proId: proId,
+ sizeId:sizeId,
+ reinforcementId:reinforcementId,
+ years:years,
+ pageNum: this.pageNumDetails,
+ pageSize: this.pageSizeDetails
+ }).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.totalDetails = res.data.total;
+ this.bearDetails = res.data.list;
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ this.loadingDetails = false;
+ }).catch(() => {
+ this.loadingDetails = false
+ });
+ },
+ // 切换钢筋笼明细页数
+ changeDetailsPageNum(page) {
+ this.pageNumDetails = page;
+ this.searchBearDetails(this.proId,this.sizeId,this.reinforcementId,this.years);
+ },
+ // 切换钢筋笼明细每页条数
+ changeDetailsPageSize(size) {
+ this.pageSizeDetails = size;
+ this.searchBearDetails(this.proId,this.sizeId,this.reinforcementId,this.years);
},
// 打开添加信息
propInsert() {
@@ -437,6 +533,32 @@
<style lang="scss" scoped>
@import '../../../style/layout-main.scss';
+.bears_content{
+ height: 500px;
+ /deep/ .el-table th.el-table__cell{
+ background:#082F57!important;
+ color: #18F6F8;
+ border-right: 1px solid #18F6F8!important;
+ border-bottom: 1px solid #18F6F8!important;
+ border-top: 1px solid #18F6F8!important;
+ &:last-child{
+ border-right-color:transparent!important;
+ }
+ }
+ /deep/.el-table .el-table__cell{
+ border-left: 1px solid #18F6F8!important;
+ border-right: 1px solid #18F6F8!important;
+ border-bottom: 1px solid #18F6F8!important;
+ }
+ /deep/.el-table tr:nth-of-type(even){
+ background: transparent;
+ }
+}
+.bear_footer{
+ text-align: right;
+ line-height: 20px;
+ margin: 15px 0 15px;
+}
.manin_rebar_content {
position: relative;
display: flex;
--
Gitblit v1.9.3