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