叶松
2023-10-10 145cb213e3dd14a88e685b86b336cfca5629bb15
钢筋笼明细和管片明细完成
已修改4个文件
257 ■■■■■ 文件已修改
web/src/api/modules/ductRaw.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/api/modules/production.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/DuctpiecePLM/PlanManage/DuctPlan.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/DuctpiecePLM/PlanManage/RebardemandIndex.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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),
    /**
     * 原料实际放量
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),
  /**
   * 钢筋理论耗量模块接口
  */
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;
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;