Merge branch 'master' of http://111.30.93.211:10101/r/supipe
| | |
| | | import com.thhy.materials.modules.biz.concret.entity.dto.DicetName; |
| | | import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant; |
| | | import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge; |
| | | import com.thhy.materials.modules.biz.weigh.mapper.WeighMapper; |
| | | import com.thhy.materials.modules.biz.weigh.service.WeighService; |
| | | import org.redisson.api.RLock; |
| | |
| | | |
| | | } |
| | | |
| | | //苏州项目------- 地磅入库 记录,及库存修改 |
| | | @Scheduled(fixedRate = 2000000) // 每隔3秒执行一次任务 |
| | | public void weighbridge() { |
| | | //查询搅拌 所有类型 |
| | | List<DicetName> dictList = weighService.dictList(); |
| | | List<TWeighbridge> tWeighbridges = weighMapper.weighbridgeListType(); |
| | | for (DicetName dicetName : dictList){ |
| | | for (TWeighbridge weighbridge :tWeighbridges){ |
| | | if(dicetName.getDictName().equals(weighbridge.getMatname())){ |
| | | //开始的库存 |
| | | Double materialValue = weighMapper.materialStockValue(dicetName.getDictId()); |
| | | //净重 |
| | | String jweight = weighbridge.getJweight(); |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("id",""); |
| | | hashMap.put("type",1); |
| | | hashMap.put("opType",1); |
| | | hashMap.put("materialName",dicetName.getDictId()); |
| | | hashMap.put("materialValue",Double.valueOf(jweight)); |
| | | hashMap.put("beforeStock",materialValue); |
| | | BigDecimal b1 = new BigDecimal(jweight); |
| | | BigDecimal b2 = new BigDecimal(materialValue); |
| | | double v1 = b1.add(b2).doubleValue(); |
| | | hashMap.put("afterStock",v1); |
| | | hashMap.put("companyId","031e3dd577e8ed28e96aa69b"); |
| | | RLock lock = redissonclient.getLock("materlock"); |
| | | if(!lock.isLocked()) { |
| | | lock.lock(10, TimeUnit.SECONDS); |
| | | //插入记录表//苏州项目(入库计入增加) |
| | | weighMapper.materialStockRecordIns(hashMap); |
| | | //更改记录值 |
| | | weighMapper.materialStockRecordUp(dicetName.getDictId(),b1.add(b2).doubleValue()); |
| | | lock.unlock(); |
| | | } |
| | | |
| | | weighMapper.weighbridgeUpdateType(weighbridge.getWeighbridgeId()); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | void netWeighUpdateNew(@Param("byId") Integer byId,@Param("netWeight") double netWeight); |
| | | |
| | | List<TWeighbridge> weighbridgeList(Map<String, Object> values); |
| | | |
| | | List<TWeighbridge> weighbridgeListType(); |
| | | |
| | | Double materialStockValue(String dictId); |
| | | |
| | | void materialStockRecordIns(HashMap<String, Object> hashMap); |
| | | |
| | | void weighbridgeUpdateType(Integer weighbridgeId); |
| | | } |
| | |
| | | order by weighbridge_id desc |
| | | </select> |
| | | |
| | | <select id="weighbridgeListType" resultType="com.thhy.materials.modules.biz.weigh.entity.TWeighbridge"> |
| | | select |
| | | weighbridge_id as weighbridgeId, |
| | | id, |
| | | code, |
| | | orgName, |
| | | supplyOrgName, |
| | | carNumber, |
| | | driverName, |
| | | matName, |
| | | matModel, |
| | | mPoundTime, |
| | | mPoundWeight, |
| | | mPoundName, |
| | | pPoundTime, |
| | | pPoundWeight, |
| | | pPoundName, |
| | | jPoundWeight, |
| | | buckleWeight, |
| | | mWeight, |
| | | pWeight, |
| | | jWeight, |
| | | wareName, |
| | | fileImage, |
| | | types |
| | | from t_weighbridge where |
| | | types=1 |
| | | </select> |
| | | <select id="materialStockValue" resultType="java.lang.Double"> |
| | | select material_value as materialValue |
| | | from t_material_stock where material_name=#{dictId} |
| | | </select> |
| | | |
| | | |
| | | <insert id="materialStockRecordIns" > |
| | | insert into t_material_stock_record |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | id, |
| | | <if test="createDate != null"> |
| | | create_date, |
| | | </if> |
| | | <if test="type != null"> |
| | | type, |
| | | </if> |
| | | <if test="opType != null"> |
| | | op_type, |
| | | </if> |
| | | <if test="materialName != null"> |
| | | material_name, |
| | | </if> |
| | | <if test="materialValue != null"> |
| | | material_value, |
| | | </if> |
| | | <if test="beforeStock != null"> |
| | | before_stock, |
| | | </if> |
| | | <if test="afterStock != null"> |
| | | after_stock, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | company_id, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | REPLACE(UUID(),'-',''), |
| | | <if test="createDate != null"> |
| | | #{createDate,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="type != null"> |
| | | #{type,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="opType != null"> |
| | | #{opType,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="materialName != null"> |
| | | #{materialName,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="materialValue != null"> |
| | | #{materialValue,jdbcType=DOUBLE}, |
| | | </if> |
| | | <if test="beforeStock != null"> |
| | | #{beforeStock,jdbcType=DOUBLE}, |
| | | </if> |
| | | <if test="afterStock != null"> |
| | | #{afterStock,jdbcType=DOUBLE}, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | #{companyId}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="weighbridgeUpdateType" > |
| | | update t_weighbridge set |
| | | types=2 |
| | | where weighbridge_id=#{weighbridgeId} |
| | | </update> |
| | | </mapper> |
| | |
| | | url: '/m/pipeInfo/findList', |
| | | data: { |
| | | proId: params.proId, |
| | | segmentId: params.segmentId, |
| | | ringNum: params.ringNum, |
| | | groupId: params.groupId, |
| | | checkResult: params.checkResult, |
| | |
| | | // 获取全部钢筋笼与模具信息 |
| | | getAllSteelPipeData: (params) => |
| | | axios.post('/m/steelProduce/ModSteelPullDown', params), |
| | | |
| | | |
| | | /** |
| | | * agv监控 |
| | | */ |
| | | searchAgvLists: (params) => |
| | | axios.post('/screen/pl/agv', params), |
| | | |
| | | // 获取时间信息 |
| | | getPipeTimeData: (params) => |
| | | axios.post('/m/pipeInfo/updateDateInfo', params), |
| | | // 修改时间信息 |
| | | updatePipeTimeData: (params) => |
| | | axios.post('/m/pipeInfo/updatePipeDate', params), |
| | | /** |
| | | * 水养模块接口 |
| | | * */ |
| | |
| | | data: { |
| | | waterCultivatedId: params.waterCultivatedId, |
| | | ringNum: params.ringNum, |
| | | proId:params.proId, |
| | | blockNum: params.blockNum, |
| | | reinforcement: params.reinforcement, |
| | | groutingHoles: params.groutingHoles, |
| | |
| | | outCulEndTime: params.outCulEndTime |
| | | } |
| | | }), |
| | | // 根据项目查询环号 |
| | | getProjectRingNumData: (params) => |
| | | axios.get('/m/waterCultivated/ringNumList', {params}), |
| | | // 根据项目 环号查询管片信息 |
| | | getProjectRingPipeData: (params) => |
| | | axios.post('/m/pipeCultivated/pipeInfoList', params), |
| | | // 获取水养池下拉 |
| | | getWaterCultivatedData: (params) => |
| | | axios.post('/m/waterCultivated/pulldown', params), |
| | | // 提交入池 |
| | | submitpipeEnterCistern: (params) => |
| | | axios.post('/m/pipeCultivated/intowaterWeb', params), |
| | | |
| | | /* |
| | | * 管片蒸养 |
| | |
| | | getAllPipInfos: params => |
| | | axios.post('/materials/pipeOut/pipeInfoInList', params), |
| | | |
| | | // 获取堆场下拉信息 |
| | | getRepoRecordData: () => |
| | | axios.post('/m/repoRecord/repoPullDown'), |
| | | // 管片入库 |
| | | submitPipePutbankInfo: (params) => |
| | | axios.post('/m/repoRecord/intoRepoWeb', params), |
| | | |
| | | /** |
| | | * 发运管理中的GPS设备管理 |
| | | */ |
| | |
| | | pageSize: params.pageSize |
| | | }, |
| | | data: { |
| | | ringNum: params.ringNum |
| | | ringNum: params.ringNum, |
| | | proId:params.proId |
| | | } |
| | | }), |
| | | // 获取管片详情 |
| | |
| | | */ |
| | | //查询列表接口 |
| | | searchWeighRecordsList: (params) => |
| | | axios.post('/materials/weigh/queryAllWeigh', params), |
| | | axios.post('/materials/weigh/weighbridgeList', params), |
| | | |
| | | |
| | | /** |
| | |
| | | <div class="main_header"> |
| | | <div class="header_item"> |
| | | <span class="header_label">项目名称:</span> |
| | | <el-select v-model="projectId" clearable placeholder="请选择项目" @change="changeHeaderProject"> |
| | | <el-select |
| | | v-model="projectId" |
| | | clearable |
| | | placeholder="请选择项目" |
| | | @change="changeHeaderProject" |
| | | > |
| | | <el-option |
| | | v-for="item in projectData" |
| | | :key="item.proId" |
| | | :label="item.proName" |
| | | :value="item.proId"> |
| | | :value="item.proId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in groupData" |
| | | :key="item.groupId" |
| | | :label="item.groupName" |
| | | :value="item.groupId"> |
| | | :value="item.groupId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in reinforcementData" |
| | | :key="item.hasSteel" |
| | | :label="item.dictName" |
| | | :value="item.hasSteel"> |
| | | :value="item.hasSteel" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in groutingHolesData" |
| | | :key="item.groutingHoles" |
| | | :label="item.dictName" |
| | | :value="item.groutingHoles"> |
| | | :value="item.groutingHoles" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in blockNumData" |
| | | :key="item.blockNum" |
| | | :label="item.dictName" |
| | | :value="item.blockNum"> |
| | | :value="item.blockNum" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <!-- <div class="header_item"> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="header_item"> |
| | | <el-button v-if="showButton('search')" icon="el-icon-search" @click="searchDuctpiecePLMList(true)">查询</el-button> |
| | | <el-button v-if="showButton('insert')" icon="el-icon-download" @click="propInsert()">新增管片</el-button> |
| | | <el-button v-if="showButton('insert')" icon="el-icon-download" @click="exportExcel()">导出Excel</el-button> |
| | | <el-button |
| | | v-if="showButton('search')" |
| | | icon="el-icon-search" |
| | | @click="searchDuctpiecePLMList(true)" |
| | | >查询</el-button |
| | | > |
| | | <el-button |
| | | v-if="showButton('insert')" |
| | | icon="el-icon-download" |
| | | @click="propInsert()" |
| | | >新增管片</el-button |
| | | > |
| | | <el-button |
| | | v-if="showButton('export')" |
| | | icon="el-icon-download" |
| | | @click="exportExcel()" |
| | | >导出Excel</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="main_content"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="ductpieceList" |
| | | height="100%"> |
| | | <el-table v-loading="loading" :data="ductpieceList" height="100%"> |
| | | <el-table-column label="序号" width="60" align="center"> |
| | | <template #default="scope"> |
| | | <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> |
| | |
| | | <el-table-column prop="proName" label="项目名称" align="center"></el-table-column> |
| | | <el-table-column prop="pipeNum" label="管片编号" align="center"></el-table-column> |
| | | <el-table-column prop="turnName" label="转向" align="center"></el-table-column> |
| | | <el-table-column prop="reinforcementName" label="配筋" align="center"></el-table-column> |
| | | <el-table-column prop="groutingHolesName" label="注浆孔" align="center"></el-table-column> |
| | | <el-table-column prop="blockNumName" label="块号" align="center"></el-table-column> |
| | | <el-table-column |
| | | prop="reinforcementName" |
| | | label="配筋" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="groutingHolesName" |
| | | label="注浆孔" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="blockNumName" |
| | | 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"></el-table-column> |
| | | <el-table-column |
| | | prop="intoModTime" |
| | | label="入模时间" |
| | | align="center" |
| | | ></el-table-column> |
| | | <!-- <el-table-column prop="pouringTime" label="浇筑时间" align="center"></el-table-column> --> |
| | | <el-table-column prop="checkTime" label="质检时间" align="center"></el-table-column> |
| | | <el-table-column prop="groupName" label="生产班组" align="center"></el-table-column> |
| | | <el-table-column |
| | | prop="checkTime" |
| | | label="质检时间" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="groupName" |
| | | label="生产班组" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column label="质量标注" align="center"> |
| | | <template #default="{ row }"> |
| | | <div> |
| | | {{ row.checkResult == 0 ? '未质检' : row.checkResult == 1 ? '合格' : row.checkResult == 2 ? '不合格' : row.checkResult == 3 ? '报废' : ''}} |
| | | {{ |
| | | row.checkResult == 0 |
| | | ? "未质检" |
| | | : row.checkResult == 1 |
| | | ? "合格" |
| | | : row.checkResult == 2 |
| | | ? "不合格" |
| | | : row.checkResult == 3 |
| | | ? "报废" |
| | | : "" |
| | | }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="300"> |
| | | <template #default="{ row }"> |
| | | <template v-if="showButton('update') && row.checkResult !== 1"> |
| | | <el-button class="table_btn" size="mini" @click="propIssue(row)">存在问题</el-button> |
| | | <template v-if="showButton('update') && [2, 3].includes(row.checkResult)"> |
| | | <el-button class="table_btn" size="mini" @click="propIssue(row)" |
| | | >存在问题</el-button |
| | | > |
| | | </template> |
| | | <el-button class="table_btn" size="mini" v-if="showButton('update') && row.checkResult == 0" @click="propUpdate(row)">修改环号</el-button> |
| | | <el-button class="table_btn" size="mini" v-if="showButton('delete')" @click="propCheckHistory(row)">质量追溯</el-button> |
| | | <el-button |
| | | class="table_btn" |
| | | size="mini" |
| | | v-if="showButton('update')" |
| | | @click="propUpdate(row)" |
| | | >修改环号</el-button |
| | | > |
| | | <el-button |
| | | class="table_btn" |
| | | size="mini" |
| | | v-if="showButton('update')" |
| | | @click="propUpdateTime(row)" |
| | | >修改时间</el-button |
| | | > |
| | | <el-button |
| | | class="table_btn" |
| | | size="mini" |
| | | v-if="showButton('delete')" |
| | | @click="propCheckHistory(row)" |
| | | >质量追溯</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | :total="total" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | class="prop_dialog" |
| | | title="存在问题" |
| | | :visible.sync="asyncDuctPiece" |
| | | width="35%"> |
| | | <el-form ref="form" :model="formDuctPiece" :rules="rulesDuctPiece" label-width="auto" class="rule_form"> |
| | | width="35%" |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="formDuctPiece" |
| | | :rules="rulesDuctPiece" |
| | | label-width="auto" |
| | | class="rule_form" |
| | | > |
| | | <el-form-item label="质检结果:"> |
| | | <span class="issue_status">{{checkResultStr}}</span> |
| | | </el-form-item> |
| | |
| | | v-model="formDuctPiece.existProblem" |
| | | type="textarea" |
| | | disabled |
| | | placeholder="请输入存在问题"></el-input> |
| | | placeholder="请输入存在问题" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问题图片:"> |
| | | <div class="problem_content"> |
| | |
| | | v-for="item in fileList" |
| | | :key="item.id" |
| | | class="problem_image" |
| | | :src="item.url"> |
| | | :src="item.url" |
| | | > |
| | | </el-image> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | v-model="formDuctPiece.exeProResult" |
| | | type="textarea" |
| | | clearable |
| | | placeholder="请输入问题处理结果"></el-input> |
| | | placeholder="请输入问题处理结果" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注:"> |
| | | <el-input |
| | |
| | | clearable |
| | | placeholder="请输入备注" |
| | | maxlength="200" |
| | | show-word-limit></el-input> |
| | | show-word-limit |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer"> |
| | |
| | | class="prop_dialog" |
| | | title="质量追溯" |
| | | :visible.sync="asyncRetrospect" |
| | | width="70%"> |
| | | width="70%" |
| | | > |
| | | <div class="retrospect_content"> |
| | | <div class="retrospect_content_title"> |
| | | 钢筋笼信息 |
| | | </div> |
| | | <div class="retrospect_content_title">钢筋笼信息</div> |
| | | <div class="retrospect_content_table"> |
| | | <div |
| | | class="table_item" |
| | | :style="{width: `calc(100% / ${asyncCageInfo.length})`}" |
| | | v-for="item in asyncCageInfo" |
| | | :key="item.id"> |
| | | :key="item.id" |
| | | > |
| | | <div class="table_item_chunk table_th">{{item.label}}</div> |
| | | <div class="table_item_chunk table_td">{{ |
| | | item.value === 'steelCheckResult' ? showCheckResult(retrospectInfo[item.value]) : retrospectInfo[item.value]}} |
| | | <div class="table_item_chunk table_td"> |
| | | {{ |
| | | item.value === "steelCheckResult" |
| | | ? showCheckResult(retrospectInfo[item.value]) |
| | | : retrospectInfo[item.value] |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="retrospect_content_title"> |
| | | 模具信息 |
| | | </div> |
| | | <div class="retrospect_content_title">模具信息</div> |
| | | <div class="retrospect_content_table"> |
| | | <div |
| | | class="table_item" |
| | | :style="{width: `calc(100% / ${asyncMouldInfo.length})`}" |
| | | v-for="item in asyncMouldInfo" |
| | | :key="item.id"> |
| | | :key="item.id" |
| | | > |
| | | <div class="table_item_chunk table_th">{{item.label}}</div> |
| | | <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="retrospect_content_title"> |
| | | 管片信息 |
| | | </div> |
| | | <div class="retrospect_content_title">管片信息</div> |
| | | <div class="retrospect_content_table"> |
| | | <div |
| | | class="table_item" |
| | | :style="{width: `calc(100% / ${asyncDuctpieceInfo.length})`}" |
| | | v-for="item in asyncDuctpieceInfo" |
| | | :key="item.id"> |
| | | :key="item.id" |
| | | > |
| | | <div class="table_item_chunk table_th">{{item.label}}</div> |
| | | <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> |
| | | </div> |
| | |
| | | class="prop_dialog" |
| | | :title="asyncTitle ? '新增管片' : '修改环号'" |
| | | :visible.sync="asyncInsert" |
| | | width="35%"> |
| | | <el-form ref="formInsert" :model="formInsert" :rules="rulesInsert" label-width="auto" class="rule_form"> |
| | | <el-form-item label="项目名称:" prop="proId" v-if="asyncTtile"> |
| | | <el-select v-model="formInsert.proId" clearable placeholder="请选择项目信息" @change="getAllSteelPipeData"> |
| | | width="35%" |
| | | > |
| | | <el-form |
| | | ref="formInsert" |
| | | :model="formInsert" |
| | | :rules="rulesInsert" |
| | | label-width="auto" |
| | | class="rule_form" |
| | | > |
| | | <el-form-item label="项目名称:" prop="proId" v-if="asyncTitle"> |
| | | <el-select |
| | | v-model="formInsert.proId" |
| | | clearable |
| | | placeholder="请选择项目信息" |
| | | @change="getAllSteelPipeData" |
| | | > |
| | | <el-option |
| | | v-for="item in projectData" |
| | | :key="item.proId" |
| | | :label="item.proName" |
| | | :value="item.proId"> |
| | | :value="item.proId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="配筋:" prop="reinforcementId" v-if="asyncTitle"> |
| | | <el-select |
| | | v-model="formInsert.reinforcementId" |
| | | clearable |
| | | placeholder="请选择配筋" |
| | | > |
| | | <el-option |
| | | v-for="item in steelData" |
| | | :key="item.hasSteel" |
| | | :label="item.dictName" |
| | | :value="item.hasSteel" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="环号:" prop="ringNum"> |
| | | <el-input v-model="formInsert.ringNum" clearable placeholder="请输入环号"></el-input> |
| | | <el-input |
| | | v-model="formInsert.ringNum" |
| | | clearable |
| | | placeholder="请输入环号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer"> |
| | | <el-button @click="asyncInsert = false">取 消</el-button> |
| | | <el-button class="submit_btn" @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()">提 交</el-button> |
| | | <el-button |
| | | class="submit_btn" |
| | | @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()" |
| | | >提 交</el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | class="prop_dialog" |
| | | title="修改时间" |
| | | :visible.sync="asyncTime" |
| | | width="35%"> |
| | | <el-form |
| | | ref="formTime" |
| | | :model="formTime" |
| | | :rules="rulesTime" |
| | | label-width="auto" |
| | | class="rule_form"> |
| | | <el-form-item label="入模时间:" prop="inModTime"> |
| | | <el-date-picker |
| | | v-model="formTime.inModTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入模时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="浇筑时间:" prop="pouringTime"> |
| | | <el-date-picker |
| | | v-model="formTime.pouringTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择浇筑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="入窑时间:" prop="placingInTime"> |
| | | <el-date-picker |
| | | v-model="formTime.placingInTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入窑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="出窑时间:" prop="placingOutTime"> |
| | | <el-date-picker |
| | | v-model="formTime.placingOutTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择出窑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="出模时间:" prop="outModTime"> |
| | | <el-date-picker |
| | | v-model="formTime.outModTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入窑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="质检时间:" prop="checkTime"> |
| | | <el-date-picker |
| | | v-model="formTime.checkTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择质检时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="入水养时间:" prop="inWaterTime" v-if="formTime.inWaterTime"> |
| | | <el-date-picker |
| | | v-model="formTime.inWaterTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入水养时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="出水养时间:" prop="outWaterTime" v-if="formTime.outWaterTime"> |
| | | <el-date-picker |
| | | v-model="formTime.outWaterTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择出水养时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="入库时间:" prop="inRepoTime" v-if="formTime.inRepoTime"> |
| | | <el-date-picker |
| | | v-model="formTime.inRepoTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入库时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="出库时间:" prop="intoModTime"> |
| | | <el-date-picker |
| | | v-model="formTime.intoModTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择出库时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | <div slot="footer"> |
| | | <el-button @click="asyncTime = false">取 消</el-button> |
| | | <el-button |
| | | class="submit_btn" |
| | | @click="submitUpdateTime()" |
| | | >提 交 |
| | | </el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { cageInfo, mouldInfo, ductpiedceInfo } from '../file/retrospect'; |
| | | import { cageInfo, mouldInfo, ductpiedceInfo } from "../file/retrospect"; |
| | | import { downLoadFile, throttle } from "../../../plugins/public"; |
| | | import { buttonPinia } from '../../../pinia'; |
| | | import { downLoadFile, throttle } from '../../../plugins/public'; |
| | | export default { |
| | | data() { |
| | | // const validatePass = (rule, value, callback) => { |
| | | // if(value === '') { |
| | | // callback(new Error('请再次输入密码')); |
| | | // } else if(value < ) { |
| | | |
| | | // } else { |
| | | // callback(); |
| | | // } |
| | | // } |
| | | return { |
| | | projectId: '', |
| | | projectId: "", |
| | | projectData: [], |
| | | ringNum: '', // 环号 |
| | | groupId: '', // 班组 |
| | | ringNum: "", // 环号 |
| | | groupId: "", // 班组 |
| | | groupData: [], // 班组信息 |
| | | checkResult: '', // 质量标注 |
| | | reinforcement: '', // 配筋 |
| | | checkResult: "", // 质量标注 |
| | | reinforcement: "", // 配筋 |
| | | reinforcementData: [], // 配筋信息 |
| | | groutingHoles: '', // 注浆孔 |
| | | groutingHoles: "", // 注浆孔 |
| | | groutingHolesData: [], // 注浆孔信息 |
| | | blockNum: '', // 块号 |
| | | blockNum: "", // 块号 |
| | | blockNumData: [], // 块号信息 |
| | | inModTime: '', // 入模时间 |
| | | pouringTime: '', // 浇筑时间 |
| | | checkTime: '', // 质检时间 |
| | | inModTime: "", // 入模时间 |
| | | pouringTime: "", // 浇筑时间 |
| | | checkTime: "", // 质检时间 |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | |
| | | asyncDuctPiece: false, // 存在问题弹窗 |
| | | formDuctPiece: {}, // 表单信息 |
| | | rulesDuctPiece: {}, // 表单校验规则 |
| | | issueType: '', |
| | | issueType: "", |
| | | asyncRetrospect: false, // 质量追溯弹窗 |
| | | asyncCageInfo: cageInfo, // 钢筋笼信息 |
| | | asyncMouldInfo: mouldInfo, // 模具信息 |
| | | asyncDuctpieceInfo: ductpiedceInfo, // 管片信息 |
| | | retrospectInfo: {},// 质量追溯信息 |
| | | pipeId: '', |
| | | checkResultStr: '', |
| | | fileList: [], |
| | | pipeId: "", |
| | | checkResultStr: "", |
| | | asyncTitle: true, |
| | | asyncInsert: false, |
| | | formInsert: {}, |
| | | rulesInsert: { |
| | | proId: [{ |
| | | proId: [ |
| | | { |
| | | required: true, |
| | | message: '请选择项目名称', |
| | | trigger: 'blur' |
| | | }], |
| | | ringNum: [{ |
| | | message: "请选择项目名称", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | reinforcementId: [ |
| | | { |
| | | required: true, |
| | | message: '请输入环号', |
| | | trigger: 'blur' |
| | | }], |
| | | message: "请选择配筋", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | ringNum: [ |
| | | { |
| | | required: true, |
| | | message: "请输入环号", |
| | | trigger: "blur", |
| | | }, |
| | | ] |
| | | }, |
| | | proData: [], |
| | | steelData: [], |
| | | mouldData: [], |
| | | changeTime: false, |
| | | asyncTime: false, |
| | | formTime: {}, |
| | | rulesTime: { |
| | | inModTime: [{ |
| | | required: true, |
| | | message: "请选择入模时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | outModTime: [{ |
| | | required: true, |
| | | message: "请选择出模时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | pouringTime: [{ |
| | | required: true, |
| | | message: "请选择浇筑时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | placingInTime: [{ |
| | | required: true, |
| | | message: "请选择入窑时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | placingOutTime: [{ |
| | | required: true, |
| | | message: "请选择出窑时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | checkTime: [{ |
| | | required: true, |
| | | message: "请选择质检时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | inWaterTime: [{ |
| | | required: true, |
| | | message: "请选择入池时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | outWaterTime: [{ |
| | | required: true, |
| | | message: "请选择出池时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | inRepoTime: [{ |
| | | required: true, |
| | | message: "请选择入库时间", |
| | | trigger: ["blur", "change"], |
| | | }] |
| | | } |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.getAllProjects(); |
| | |
| | | methods: { |
| | | // 根据项目获取钢筋笼 模具信息 |
| | | async getAllSteelPipeData(proId) { |
| | | if (proId) { |
| | | this.steelData = []; |
| | | this.mouldData = []; |
| | | const { data } = await this.$api.DuctpiecePLM.getAllSteelPipeData({ |
| | | proId: proId |
| | | const { data } = await this.$api.Basics.getProjectSystemInfoData({ |
| | | proId: proId, |
| | | }); |
| | | this.steelData = data.steel; |
| | | this.mouldData = data.mod; |
| | | this.steelData = data.proHas; |
| | | } else { |
| | | this.$set(this.formInsert, "reinforcementId", ""); |
| | | this.steelData = []; |
| | | } |
| | | }, |
| | | // 获取全部班组 |
| | | async getAllGroupData() { |
| | |
| | | reinforcement: this.reinforcement, |
| | | groutingHoles: this.groutingHoles, |
| | | blockNum: this.blockNum, |
| | | inModStartTime: this.inModTime ? this.inModTime[0] + ' 00:00:00' : '', |
| | | inModEndTime: this.inModTime ? this.inModTime[1] + ' 23:59:59' : '', |
| | | pouringStartTime: this.pouringTime ? this.pouringTime[0] + ' 00:00:00' : '', |
| | | pouringEndTime: this.pouringTime ? this.pouringTime[1] + ' 23:59:59' : '', |
| | | checkStartTime: this.checkTime ? this.checkTime[0] + ' 00:00:00' : '', |
| | | checkEndTime: this.checkTime ? this.checkTime[1] + ' 23:59:59' : '' |
| | | }).then((res) => { |
| | | inModStartTime: this.inModTime ? this.inModTime[0] + " 00:00:00" : "", |
| | | inModEndTime: this.inModTime ? this.inModTime[1] + " 23:59:59" : "", |
| | | pouringStartTime: this.pouringTime ? this.pouringTime[0] + " 00:00:00" : "", |
| | | pouringEndTime: this.pouringTime ? this.pouringTime[1] + " 23:59:59" : "", |
| | | checkStartTime: this.checkTime ? this.checkTime[0] + " 00:00:00" : "", |
| | | checkEndTime: this.checkTime ? this.checkTime[1] + " 23:59:59" : "", |
| | | }) |
| | | .then((res) => { |
| | | if(res.success) { |
| | | this.total = res.data.total; |
| | | this.ductpieceList = res.data.list; |
| | | } |
| | | this.loading = false; |
| | | }).catch(() => { |
| | | this.loading = false; |
| | | }) |
| | | .catch(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 打开新增管片信息 |
| | | propInsert() { |
| | |
| | | propUpdate(row) { |
| | | this.asyncTitle = false; |
| | | this.asyncInsert = true; |
| | | this.$set(this.formInsert, 'pipeNum', row.pipeNum); |
| | | this.$set(this.formInsert, 'ringNum', row.ringNum); |
| | | this.$set(this.formInsert, "pipeNum", row.pipeNum); |
| | | this.$set(this.formInsert, "ringNum", row.ringNum); |
| | | }, |
| | | // 打开修改时间 |
| | | propUpdateTime(row) { |
| | | this.asyncTime = true; |
| | | this.$set(this.formTime, "pipeNum", row.pipeNum); |
| | | this.$set(this.formTime, "ringNum", row.ringNum); |
| | | this.$api.DuctpiecePLM.getPipeTimeData({ |
| | | pipeNum: row.pipeNum |
| | | }).then(res => { |
| | | if(res.success) { |
| | | this.$set(this.formTime, 'inModTime', res.data.inModTime); |
| | | this.$set(this.formTime, 'outModTime', res.data.outModTime); |
| | | this.$set(this.formTime, 'pouringTime', res.data.pouringTime); |
| | | this.$set(this.formTime, 'placingInTime', res.data.placingInTime); |
| | | this.$set(this.formTime, 'placingOutTime', res.data.placingOutTime); |
| | | this.$set(this.formTime, 'checkTime', res.data.checkTime); |
| | | if(res.data.inWaterFlag) { |
| | | this.$set(this.formTime, 'inWaterTime', res.data.inWaterTime); |
| | | } |
| | | if(res.data.OutWaterFlag) { |
| | | this.$set(this.formTime, 'outWaterTime', res.data.outWaterTime); |
| | | } |
| | | if(res.data.inRepoFlag) { |
| | | this.$set(this.formTime, 'inRepoTime', res.data.inRepoTime); |
| | | } |
| | | // this.$set(this.formInsert, '', res.data.); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }, |
| | | // 导出Excel |
| | | exportExcel() { |
| | |
| | | pouringStartTime: this.pouringTime[0], |
| | | pouringEndTime: this.pouringTime[1], |
| | | checkStartTime: this.checkTime[0], |
| | | checkEndTime: this.checkTime[1] |
| | | checkEndTime: this.checkTime[1], |
| | | }).then((res) => { |
| | | if(res.success) { |
| | | downLoadFile(res.data, '/m/pipeInfo/export'); |
| | | downLoadFile(res.data, "/m/pipeInfo/export"); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 打开存在问题 |
| | | propIssue(row) { |
| | | this.pipeId = row.pipeId |
| | | this.pipeId = row.pipeId; |
| | | this.checkResultStr = row.checkResultStr; |
| | | this.issueType = row.type; |
| | | this.asyncDuctPiece = true; |
| | | this.$api.DuctpiecePLM.getProblemInfo({ |
| | | pipeId: row.pipeId |
| | | pipeId: row.pipeId, |
| | | }).then((res) => { |
| | | if(res.success) { |
| | | this.$set(this.formDuctPiece, 'pipeCheckId', res.data.pipeCheckId); |
| | | this.$set(this.formDuctPiece, 'existProblem', res.data.existProblem); |
| | | this.$set(this.formDuctPiece, 'exeProResult', res.data.exeProResult); |
| | | this.$set(this.formDuctPiece, 'exeProNote', res.data.exeProNote); |
| | | this.$set(this.formDuctPiece, "pipeCheckId", res.data.pipeCheckId); |
| | | this.$set(this.formDuctPiece, "existProblem", res.data.existProblem); |
| | | this.$set(this.formDuctPiece, "exeProResult", res.data.exeProResult); |
| | | this.$set(this.formDuctPiece, "exeProNote", res.data.exeProNote); |
| | | this.fileList = res.data.files.map((item, index) => { |
| | | return { |
| | | id: index + 1, |
| | | url: `https://szpipe.thhy-tj.com/${item}` |
| | | url: `https://pipe.thhy-tj.com/${item}`, |
| | | }; |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 打开质量追溯 |
| | | propCheckHistory(row) { |
| | | this.asyncRetrospect = true; |
| | | this.retrospectInfo = {}; |
| | | this.$api.DuctpiecePLM.getCheckHistoryInfo({ |
| | | pipeId: row.pipeId |
| | | pipeId: row.pipeId, |
| | | }).then((res) => { |
| | | if(res.success) { |
| | | this.retrospectInfo = res.data; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 提交存在问题 |
| | | submitInsertForm: throttle(function() { |
| | |
| | | if(res.success) { |
| | | this.asyncDuctPiece = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success('添加成功!'); |
| | | this.$message.success("添加成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }); |
| | | }, 3000), |
| | | // 提交新增管片信息 |
| | | submitInsertPipe: throttle(function() { |
| | |
| | | if(valid) { |
| | | const params = Object.assign({}, this.formInsert); |
| | | this.$api.DuctpiecePLM.insertPipeData(params).then((res) => { |
| | | if(res.statusMsg === 'ok') { |
| | | if (res.statusMsg === "ok") { |
| | | this.asyncInsert = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success('新增成功!'); |
| | | this.$message.success("新增成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }) |
| | | }); |
| | | }, 3000), |
| | | // 提交修改环号信息 |
| | | submitUpdatePipe: throttle(function() { |
| | |
| | | if(valid) { |
| | | const params = Object.assign({}, this.formInsert); |
| | | this.$api.DuctpiecePLM.updataRingNumData(params).then((res) => { |
| | | if(res.statusMsg === 'ok') { |
| | | if (res.statusMsg === "ok") { |
| | | this.asyncInsert = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success('修改成功!'); |
| | | this.$message.success("修改成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }); |
| | | }, 3000), |
| | | // 提交修改时间信息 |
| | | submitUpdateTime: throttle(function() { |
| | | this.$refs.formTime.validate((valid) => { |
| | | if(valid) { |
| | | const params = Object.assign({}, this.formTime); |
| | | this.$api.DuctpiecePLM.updatePipeTimeData(params).then((res) => { |
| | | if (res.statusMsg === "ok") { |
| | | this.asyncTime = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success("修改成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | }, 3000), |
| | | // |
| | | showCheckResult(value) { |
| | | return !value ? '' : value == 1 ? '合格' : '存在问题'; |
| | | return !value ? "" : value == 1 ? "合格" : "存在问题"; |
| | | }, |
| | | // 根据项目获取尺寸 配筋 块号信息 |
| | | changeHeaderProject(data) { |
| | | this.blockNum = ''; |
| | | this.reinforcement = ''; |
| | | this.groutingHoles = ''; |
| | | this.blockNum = ""; |
| | | this.reinforcement = ""; |
| | | this.groutingHoles = ""; |
| | | this.groutingHolesData = []; |
| | | this.blockNumData = []; |
| | | this.reinforcementData = []; |
| | | if(data) { |
| | | this.$api.Basics.getProjectSystemInfoData({ |
| | | proId: data |
| | | proId: data, |
| | | }).then((res) => { |
| | | this.groutingHolesData = res.data.proGroutings; |
| | | this.blockNumData = res.data.proBloks; |
| | | this.reinforcementData = res.data.proHas; |
| | | }) |
| | | }); |
| | | } |
| | | }, |
| | | // 转换毫秒 |
| | | transitionMsec(time) { |
| | | let msec = 0; |
| | | const date = Date.parse(new Date(time)); |
| | | console.log(date,'==-=-=-') |
| | | return msec; |
| | | }, |
| | | // 切换页数 |
| | | changePageNum(page) { |
| | |
| | | asyncDuctpieceInfo(bol) { |
| | | if(!bol) { |
| | | this.formDuctPiece = {}; |
| | | this.pipeId = ''; |
| | | this.checkResultStr = ''; |
| | | this.pipeId = ""; |
| | | this.checkResultStr = ""; |
| | | this.fileList = []; |
| | | } |
| | | }, |
| | | asyncInsert(bol) { |
| | | if(!bol) { |
| | | this.steelData = []; |
| | | this.mouldData = []; |
| | | this.formInsert = {}; |
| | | this.$refs.formInsert.resetFields(); |
| | | } |
| | | }, |
| | | asyncTime(bol) { |
| | | if(!bol) { |
| | | this.formTime = {}; |
| | | this.$refs.formTime.resetFields(); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '../../../style/layout-main.scss'; |
| | | @import "../../../style/layout-main.scss"; |
| | | |
| | | .issue_status { |
| | | color: #F42829; |
| | | color: #f42829; |
| | | } |
| | | |
| | | .retrospect_content { |
| | |
| | | padding: 0 15px 15px; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | color: #FFF; |
| | | color: #fff; |
| | | border-bottom: 1px solid #0d5274; |
| | | |
| | | &::before { |
| | |
| | | transform: translateY(-85%); |
| | | width: 3px; |
| | | height: 50%; |
| | | background: #18F6F8; |
| | | background: #18f6f8; |
| | | } |
| | | } |
| | | |
| | |
| | | margin: 10px 10px 10px 0; |
| | | |
| | | .table_item { |
| | | border: 1px solid #1CB7E0; |
| | | border: 1px solid #1cb7e0; |
| | | border-right: none; |
| | | |
| | | &:last-child { |
| | | border-right: 1px solid #1CB7E0; |
| | | border-right: 1px solid #1cb7e0; |
| | | } |
| | | |
| | | .table_item_chunk { |
| | | padding: 10px; |
| | | color: #18F6F8; |
| | | color: #18f6f8; |
| | | text-align: center; |
| | | } |
| | | |
| | | .table_th { |
| | | border-bottom: 1px solid #1CB7E0; |
| | | background: #082F57; |
| | | border-bottom: 1px solid #1cb7e0; |
| | | background: #082f57; |
| | | } |
| | | } |
| | | } |
| | |
| | | <div class="main_header"> |
| | | <div class="header_item"> |
| | | <span class="header_label">项目名称:</span> |
| | | <el-select v-model="projectId" clearable placeholder="请选择项目" @change="changeHeaderProject"> |
| | | <el-select |
| | | v-model="projectId" |
| | | clearable |
| | | placeholder="请选择项目" |
| | | @change="changeHeaderProject" |
| | | > |
| | | <el-option |
| | | v-for="item in projectData" |
| | | :key="item.proId" |
| | | :label="item.proName" |
| | | :value="item.proId"> |
| | | :value="item.proId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in groupData" |
| | | :key="item.groupId" |
| | | :label="item.groupName" |
| | | :value="item.groupId"> |
| | | :value="item.groupId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in reinforcementData" |
| | | :key="item.hasSteel" |
| | | :label="item.dictName" |
| | | :value="item.hasSteel"> |
| | | :value="item.hasSteel" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in groutingHolesData" |
| | | :key="item.groutingHoles" |
| | | :label="item.dictName" |
| | | :value="item.groutingHoles"> |
| | | :value="item.groutingHoles" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in blockNumData" |
| | | :key="item.blockNum" |
| | | :label="item.dictName" |
| | | :value="item.blockNum"> |
| | | :value="item.blockNum" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <!-- <div class="header_item"> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="header_item"> |
| | | <el-button v-if="showButton('search')" icon="el-icon-search" @click="searchDuctpiecePLMList(true)">查询</el-button> |
| | | <el-button v-if="showButton('insert')" icon="el-icon-download" @click="propInsert()">新增管片</el-button> |
| | | <el-button v-if="showButton('insert')" icon="el-icon-download" @click="exportExcel()">导出Excel</el-button> |
| | | <el-button |
| | | v-if="showButton('search')" |
| | | icon="el-icon-search" |
| | | @click="searchDuctpiecePLMList(true)" |
| | | >查询</el-button |
| | | > |
| | | <el-button |
| | | v-if="showButton('insert')" |
| | | icon="el-icon-download" |
| | | @click="propInsert()" |
| | | >新增管片</el-button |
| | | > |
| | | <el-button |
| | | v-if="showButton('export')" |
| | | icon="el-icon-download" |
| | | @click="exportExcel()" |
| | | >导出Excel</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="main_content"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="ductpieceList" |
| | | height="100%"> |
| | | <el-table v-loading="loading" :data="ductpieceList" height="100%"> |
| | | <el-table-column label="序号" width="60" align="center"> |
| | | <template #default="scope"> |
| | | <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> |
| | |
| | | <el-table-column prop="proName" label="项目名称" align="center"></el-table-column> |
| | | <el-table-column prop="pipeNum" label="管片编号" align="center"></el-table-column> |
| | | <el-table-column prop="turnName" label="转向" align="center"></el-table-column> |
| | | <el-table-column prop="reinforcementName" label="配筋" align="center"></el-table-column> |
| | | <el-table-column prop="groutingHolesName" label="注浆孔" align="center"></el-table-column> |
| | | <el-table-column prop="blockNumName" label="块号" align="center"></el-table-column> |
| | | <el-table-column |
| | | prop="reinforcementName" |
| | | label="配筋" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="groutingHolesName" |
| | | label="注浆孔" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="blockNumName" |
| | | 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"></el-table-column> |
| | | <el-table-column |
| | | prop="intoModTime" |
| | | label="入模时间" |
| | | align="center" |
| | | ></el-table-column> |
| | | <!-- <el-table-column prop="pouringTime" label="浇筑时间" align="center"></el-table-column> --> |
| | | <el-table-column prop="checkTime" label="质检时间" align="center"></el-table-column> |
| | | <el-table-column prop="groupName" label="生产班组" align="center"></el-table-column> |
| | | <el-table-column |
| | | prop="checkTime" |
| | | label="质检时间" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="groupName" |
| | | label="生产班组" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column label="质量标注" align="center"> |
| | | <template #default="{ row }"> |
| | | <div> |
| | | {{ row.checkResult == 0 ? '未质检' : row.checkResult == 1 ? '合格' : row.checkResult == 2 ? '不合格' : row.checkResult == 3 ? '报废' : ''}} |
| | | {{ |
| | | row.checkResult == 0 |
| | | ? "未质检" |
| | | : row.checkResult == 1 |
| | | ? "合格" |
| | | : row.checkResult == 2 |
| | | ? "不合格" |
| | | : row.checkResult == 3 |
| | | ? "报废" |
| | | : "" |
| | | }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="300"> |
| | | <template #default="{ row }"> |
| | | <template v-if="showButton('update') && row.checkResult !== 1"> |
| | | <el-button class="table_btn" size="mini" @click="propIssue(row)">存在问题</el-button> |
| | | <template v-if="showButton('update') && [2, 3].includes(row.checkResult)"> |
| | | <el-button class="table_btn" size="mini" @click="propIssue(row)" |
| | | >存在问题</el-button |
| | | > |
| | | </template> |
| | | <el-button class="table_btn" size="mini" v-if="showButton('update') && row.checkResult == 0" @click="propUpdate(row)">修改环号</el-button> |
| | | <el-button class="table_btn" size="mini" v-if="showButton('delete')" @click="propCheckHistory(row)">质量追溯</el-button> |
| | | <el-button |
| | | class="table_btn" |
| | | size="mini" |
| | | v-if="showButton('update')" |
| | | @click="propUpdate(row)" |
| | | >修改环号</el-button |
| | | > |
| | | <el-button |
| | | class="table_btn" |
| | | size="mini" |
| | | v-if="showButton('update')" |
| | | @click="propUpdateTime(row)" |
| | | >修改时间</el-button |
| | | > |
| | | <el-button |
| | | class="table_btn" |
| | | size="mini" |
| | | v-if="showButton('delete')" |
| | | @click="propCheckHistory(row)" |
| | | >质量追溯</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | :total="total" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | class="prop_dialog" |
| | | title="存在问题" |
| | | :visible.sync="asyncDuctPiece" |
| | | width="35%"> |
| | | <el-form ref="form" :model="formDuctPiece" :rules="rulesDuctPiece" label-width="auto" class="rule_form"> |
| | | width="35%" |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="formDuctPiece" |
| | | :rules="rulesDuctPiece" |
| | | label-width="auto" |
| | | class="rule_form" |
| | | > |
| | | <el-form-item label="质检结果:"> |
| | | <span class="issue_status">{{checkResultStr}}</span> |
| | | </el-form-item> |
| | |
| | | v-model="formDuctPiece.existProblem" |
| | | type="textarea" |
| | | disabled |
| | | placeholder="请输入存在问题"></el-input> |
| | | placeholder="请输入存在问题" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问题图片:"> |
| | | <div class="problem_content"> |
| | |
| | | v-for="item in fileList" |
| | | :key="item.id" |
| | | class="problem_image" |
| | | :src="item.url"> |
| | | :src="item.url" |
| | | > |
| | | </el-image> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | v-model="formDuctPiece.exeProResult" |
| | | type="textarea" |
| | | clearable |
| | | placeholder="请输入问题处理结果"></el-input> |
| | | placeholder="请输入问题处理结果" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注:"> |
| | | <el-input |
| | |
| | | clearable |
| | | placeholder="请输入备注" |
| | | maxlength="200" |
| | | show-word-limit></el-input> |
| | | show-word-limit |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer"> |
| | |
| | | class="prop_dialog" |
| | | title="质量追溯" |
| | | :visible.sync="asyncRetrospect" |
| | | width="70%"> |
| | | width="70%" |
| | | > |
| | | <div class="retrospect_content"> |
| | | <div class="retrospect_content_title"> |
| | | 钢筋笼信息 |
| | | </div> |
| | | <div class="retrospect_content_title">钢筋笼信息</div> |
| | | <div class="retrospect_content_table"> |
| | | <div |
| | | class="table_item" |
| | | :style="{width: `calc(100% / ${asyncCageInfo.length})`}" |
| | | v-for="item in asyncCageInfo" |
| | | :key="item.id"> |
| | | :key="item.id" |
| | | > |
| | | <div class="table_item_chunk table_th">{{item.label}}</div> |
| | | <div class="table_item_chunk table_td">{{ |
| | | item.value === 'steelCheckResult' ? showCheckResult(retrospectInfo[item.value]) : retrospectInfo[item.value]}} |
| | | <div class="table_item_chunk table_td"> |
| | | {{ |
| | | item.value === "steelCheckResult" |
| | | ? showCheckResult(retrospectInfo[item.value]) |
| | | : retrospectInfo[item.value] |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="retrospect_content_title"> |
| | | 模具信息 |
| | | </div> |
| | | <div class="retrospect_content_title">模具信息</div> |
| | | <div class="retrospect_content_table"> |
| | | <div |
| | | class="table_item" |
| | | :style="{width: `calc(100% / ${asyncMouldInfo.length})`}" |
| | | v-for="item in asyncMouldInfo" |
| | | :key="item.id"> |
| | | :key="item.id" |
| | | > |
| | | <div class="table_item_chunk table_th">{{item.label}}</div> |
| | | <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="retrospect_content_title"> |
| | | 管片信息 |
| | | </div> |
| | | <div class="retrospect_content_title">管片信息</div> |
| | | <div class="retrospect_content_table"> |
| | | <div |
| | | class="table_item" |
| | | :style="{width: `calc(100% / ${asyncDuctpieceInfo.length})`}" |
| | | v-for="item in asyncDuctpieceInfo" |
| | | :key="item.id"> |
| | | :key="item.id" |
| | | > |
| | | <div class="table_item_chunk table_th">{{item.label}}</div> |
| | | <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> |
| | | </div> |
| | |
| | | class="prop_dialog" |
| | | :title="asyncTitle ? '新增管片' : '修改环号'" |
| | | :visible.sync="asyncInsert" |
| | | width="35%"> |
| | | <el-form ref="formInsert" :model="formInsert" :rules="rulesInsert" label-width="auto" class="rule_form"> |
| | | <el-form-item label="项目名称:" prop="proId" v-if="asyncTtile"> |
| | | <el-select v-model="formInsert.proId" clearable placeholder="请选择项目信息" @change="getAllSteelPipeData"> |
| | | width="35%" |
| | | > |
| | | <el-form |
| | | ref="formInsert" |
| | | :model="formInsert" |
| | | :rules="rulesInsert" |
| | | label-width="auto" |
| | | class="rule_form" |
| | | > |
| | | <el-form-item label="项目名称:" prop="proId" v-if="asyncTitle"> |
| | | <el-select |
| | | v-model="formInsert.proId" |
| | | clearable |
| | | placeholder="请选择项目信息" |
| | | @change="getAllSteelPipeData" |
| | | > |
| | | <el-option |
| | | v-for="item in projectData" |
| | | :key="item.proId" |
| | | :label="item.proName" |
| | | :value="item.proId"> |
| | | :value="item.proId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="配筋:" prop="reinforcementId" v-if="asyncTitle"> |
| | | <el-select |
| | | v-model="formInsert.reinforcementId" |
| | | clearable |
| | | placeholder="请选择配筋" |
| | | > |
| | | <el-option |
| | | v-for="item in steelData" |
| | | :key="item.hasSteel" |
| | | :label="item.dictName" |
| | | :value="item.hasSteel" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="环号:" prop="ringNum"> |
| | | <el-input v-model="formInsert.ringNum" clearable placeholder="请输入环号"></el-input> |
| | | <el-input |
| | | v-model="formInsert.ringNum" |
| | | clearable |
| | | placeholder="请输入环号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer"> |
| | | <el-button @click="asyncInsert = false">取 消</el-button> |
| | | <el-button class="submit_btn" @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()">提 交</el-button> |
| | | <el-button |
| | | class="submit_btn" |
| | | @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()" |
| | | >提 交</el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | class="prop_dialog" |
| | | title="修改时间" |
| | | :visible.sync="asyncTime" |
| | | width="35%"> |
| | | <el-form |
| | | ref="formTime" |
| | | :model="formTime" |
| | | :rules="rulesTime" |
| | | label-width="auto" |
| | | class="rule_form"> |
| | | <el-form-item label="入模时间:" prop="inModTime"> |
| | | <el-date-picker |
| | | v-model="formTime.inModTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入模时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="浇筑时间:" prop="pouringTime"> |
| | | <el-date-picker |
| | | v-model="formTime.pouringTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择浇筑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="入窑时间:" prop="placingInTime"> |
| | | <el-date-picker |
| | | v-model="formTime.placingInTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入窑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="出窑时间:" prop="placingOutTime"> |
| | | <el-date-picker |
| | | v-model="formTime.placingOutTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择出窑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="出模时间:" prop="outModTime"> |
| | | <el-date-picker |
| | | v-model="formTime.outModTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入窑时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="质检时间:" prop="checkTime"> |
| | | <el-date-picker |
| | | v-model="formTime.checkTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择质检时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="入水养时间:" prop="inWaterTime" v-if="formTime.inWaterTime"> |
| | | <el-date-picker |
| | | v-model="formTime.inWaterTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入水养时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="出水养时间:" prop="outWaterTime" v-if="formTime.outWaterTime"> |
| | | <el-date-picker |
| | | v-model="formTime.outWaterTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择出水养时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="入库时间:" prop="inRepoTime" v-if="formTime.inRepoTime"> |
| | | <el-date-picker |
| | | v-model="formTime.inRepoTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择入库时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="出库时间:" prop="intoModTime"> |
| | | <el-date-picker |
| | | v-model="formTime.intoModTime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择出库时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | <div slot="footer"> |
| | | <el-button @click="asyncTime = false">取 消</el-button> |
| | | <el-button |
| | | class="submit_btn" |
| | | @click="submitUpdateTime()" |
| | | >提 交 |
| | | </el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { cageInfo, mouldInfo, ductpiedceInfo } from './file/retrospect'; |
| | | import { cageInfo, mouldInfo, ductpiedceInfo } from "./file/retrospect"; |
| | | import { downLoadFile, throttle } from "../../plugins/public"; |
| | | import { buttonPinia } from '../../pinia'; |
| | | import { downLoadFile, throttle } from '../../plugins/public'; |
| | | export default { |
| | | data() { |
| | | // const validatePass = (rule, value, callback) => { |
| | | // if(value === '') { |
| | | // callback(new Error('请再次输入密码')); |
| | | // } else if(value < ) { |
| | | |
| | | // } else { |
| | | // callback(); |
| | | // } |
| | | // } |
| | | return { |
| | | projectId: '', |
| | | projectId: "", |
| | | projectData: [], |
| | | ringNum: '', // 环号 |
| | | groupId: '', // 班组 |
| | | ringNum: "", // 环号 |
| | | groupId: "", // 班组 |
| | | groupData: [], // 班组信息 |
| | | checkResult: '', // 质量标注 |
| | | reinforcement: '', // 配筋 |
| | | checkResult: "", // 质量标注 |
| | | reinforcement: "", // 配筋 |
| | | reinforcementData: [], // 配筋信息 |
| | | groutingHoles: '', // 注浆孔 |
| | | groutingHoles: "", // 注浆孔 |
| | | groutingHolesData: [], // 注浆孔信息 |
| | | blockNum: '', // 块号 |
| | | blockNum: "", // 块号 |
| | | blockNumData: [], // 块号信息 |
| | | inModTime: '', // 入模时间 |
| | | pouringTime: '', // 浇筑时间 |
| | | checkTime: '', // 质检时间 |
| | | inModTime: "", // 入模时间 |
| | | pouringTime: "", // 浇筑时间 |
| | | checkTime: "", // 质检时间 |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | |
| | | asyncDuctPiece: false, // 存在问题弹窗 |
| | | formDuctPiece: {}, // 表单信息 |
| | | rulesDuctPiece: {}, // 表单校验规则 |
| | | issueType: '', |
| | | issueType: "", |
| | | asyncRetrospect: false, // 质量追溯弹窗 |
| | | asyncCageInfo: cageInfo, // 钢筋笼信息 |
| | | asyncMouldInfo: mouldInfo, // 模具信息 |
| | | asyncDuctpieceInfo: ductpiedceInfo, // 管片信息 |
| | | retrospectInfo: {},// 质量追溯信息 |
| | | pipeId: '', |
| | | checkResultStr: '', |
| | | fileList: [], |
| | | pipeId: "", |
| | | checkResultStr: "", |
| | | asyncTitle: true, |
| | | asyncInsert: false, |
| | | formInsert: {}, |
| | | rulesInsert: { |
| | | proId: [{ |
| | | proId: [ |
| | | { |
| | | required: true, |
| | | message: '请选择项目名称', |
| | | trigger: 'blur' |
| | | }], |
| | | ringNum: [{ |
| | | message: "请选择项目名称", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | reinforcementId: [ |
| | | { |
| | | required: true, |
| | | message: '请输入环号', |
| | | trigger: 'blur' |
| | | }], |
| | | message: "请选择配筋", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | ringNum: [ |
| | | { |
| | | required: true, |
| | | message: "请输入环号", |
| | | trigger: "blur", |
| | | }, |
| | | ] |
| | | }, |
| | | proData: [], |
| | | steelData: [], |
| | | mouldData: [], |
| | | changeTime: false, |
| | | asyncTime: false, |
| | | formTime: {}, |
| | | rulesTime: { |
| | | inModTime: [{ |
| | | required: true, |
| | | message: "请选择入模时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | outModTime: [{ |
| | | required: true, |
| | | message: "请选择出模时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | pouringTime: [{ |
| | | required: true, |
| | | message: "请选择浇筑时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | placingInTime: [{ |
| | | required: true, |
| | | message: "请选择入窑时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | placingOutTime: [{ |
| | | required: true, |
| | | message: "请选择出窑时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | checkTime: [{ |
| | | required: true, |
| | | message: "请选择质检时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | inWaterTime: [{ |
| | | required: true, |
| | | message: "请选择入池时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | outWaterTime: [{ |
| | | required: true, |
| | | message: "请选择出池时间", |
| | | trigger: ["blur", "change"], |
| | | }], |
| | | inRepoTime: [{ |
| | | required: true, |
| | | message: "请选择入库时间", |
| | | trigger: ["blur", "change"], |
| | | }] |
| | | } |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.getAllProjects(); |
| | |
| | | methods: { |
| | | // 根据项目获取钢筋笼 模具信息 |
| | | async getAllSteelPipeData(proId) { |
| | | if (proId) { |
| | | this.steelData = []; |
| | | this.mouldData = []; |
| | | const { data } = await this.$api.DuctpiecePLM.getAllSteelPipeData({ |
| | | proId: proId |
| | | const { data } = await this.$api.Basics.getProjectSystemInfoData({ |
| | | proId: proId, |
| | | }); |
| | | this.steelData = data.steel; |
| | | this.mouldData = data.mod; |
| | | this.steelData = data.proHas; |
| | | } else { |
| | | this.$set(this.formInsert, "reinforcementId", ""); |
| | | this.steelData = []; |
| | | } |
| | | }, |
| | | // 获取全部班组 |
| | | async getAllGroupData() { |
| | |
| | | reinforcement: this.reinforcement, |
| | | groutingHoles: this.groutingHoles, |
| | | blockNum: this.blockNum, |
| | | inModStartTime: this.inModTime ? this.inModTime[0] + ' 00:00:00' : '', |
| | | inModEndTime: this.inModTime ? this.inModTime[1] + ' 23:59:59' : '', |
| | | pouringStartTime: this.pouringTime ? this.pouringTime[0] + ' 00:00:00' : '', |
| | | pouringEndTime: this.pouringTime ? this.pouringTime[1] + ' 23:59:59' : '', |
| | | checkStartTime: this.checkTime ? this.checkTime[0] + ' 00:00:00' : '', |
| | | checkEndTime: this.checkTime ? this.checkTime[1] + ' 23:59:59' : '' |
| | | }).then((res) => { |
| | | inModStartTime: this.inModTime ? this.inModTime[0] + " 00:00:00" : "", |
| | | inModEndTime: this.inModTime ? this.inModTime[1] + " 23:59:59" : "", |
| | | pouringStartTime: this.pouringTime ? this.pouringTime[0] + " 00:00:00" : "", |
| | | pouringEndTime: this.pouringTime ? this.pouringTime[1] + " 23:59:59" : "", |
| | | checkStartTime: this.checkTime ? this.checkTime[0] + " 00:00:00" : "", |
| | | checkEndTime: this.checkTime ? this.checkTime[1] + " 23:59:59" : "", |
| | | }) |
| | | .then((res) => { |
| | | if(res.success) { |
| | | this.total = res.data.total; |
| | | this.ductpieceList = res.data.list; |
| | | } |
| | | this.loading = false; |
| | | }).catch(() => { |
| | | this.loading = false; |
| | | }) |
| | | .catch(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 打开新增管片信息 |
| | | propInsert() { |
| | |
| | | propUpdate(row) { |
| | | this.asyncTitle = false; |
| | | this.asyncInsert = true; |
| | | this.$set(this.formInsert, 'pipeNum', row.pipeNum); |
| | | this.$set(this.formInsert, 'ringNum', row.ringNum); |
| | | this.$set(this.formInsert, "pipeNum", row.pipeNum); |
| | | this.$set(this.formInsert, "ringNum", row.ringNum); |
| | | }, |
| | | // 打开修改时间 |
| | | propUpdateTime(row) { |
| | | this.asyncTime = true; |
| | | this.$set(this.formTime, "pipeNum", row.pipeNum); |
| | | this.$set(this.formTime, "ringNum", row.ringNum); |
| | | this.$api.DuctpiecePLM.getPipeTimeData({ |
| | | pipeNum: row.pipeNum |
| | | }).then(res => { |
| | | if(res.success) { |
| | | this.$set(this.formTime, 'inModTime', res.data.inModTime); |
| | | this.$set(this.formTime, 'outModTime', res.data.outModTime); |
| | | this.$set(this.formTime, 'pouringTime', res.data.pouringTime); |
| | | this.$set(this.formTime, 'placingInTime', res.data.placingInTime); |
| | | this.$set(this.formTime, 'placingOutTime', res.data.placingOutTime); |
| | | this.$set(this.formTime, 'checkTime', res.data.checkTime); |
| | | if(res.data.inWaterFlag) { |
| | | this.$set(this.formTime, 'inWaterTime', res.data.inWaterTime); |
| | | } |
| | | if(res.data.OutWaterFlag) { |
| | | this.$set(this.formTime, 'outWaterTime', res.data.outWaterTime); |
| | | } |
| | | if(res.data.inRepoFlag) { |
| | | this.$set(this.formTime, 'inRepoTime', res.data.inRepoTime); |
| | | } |
| | | // this.$set(this.formInsert, '', res.data.); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }, |
| | | // 导出Excel |
| | | exportExcel() { |
| | |
| | | pouringStartTime: this.pouringTime[0], |
| | | pouringEndTime: this.pouringTime[1], |
| | | checkStartTime: this.checkTime[0], |
| | | checkEndTime: this.checkTime[1] |
| | | checkEndTime: this.checkTime[1], |
| | | }).then((res) => { |
| | | if(res.success) { |
| | | downLoadFile(res.data, '/m/pipeInfo/export'); |
| | | downLoadFile(res.data, "/m/pipeInfo/export"); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 打开存在问题 |
| | | propIssue(row) { |
| | | this.pipeId = row.pipeId |
| | | this.pipeId = row.pipeId; |
| | | this.checkResultStr = row.checkResultStr; |
| | | this.issueType = row.type; |
| | | this.asyncDuctPiece = true; |
| | | this.$api.DuctpiecePLM.getProblemInfo({ |
| | | pipeId: row.pipeId |
| | | pipeId: row.pipeId, |
| | | }).then((res) => { |
| | | if(res.success) { |
| | | this.$set(this.formDuctPiece, 'pipeCheckId', res.data.pipeCheckId); |
| | | this.$set(this.formDuctPiece, 'existProblem', res.data.existProblem); |
| | | this.$set(this.formDuctPiece, 'exeProResult', res.data.exeProResult); |
| | | this.$set(this.formDuctPiece, 'exeProNote', res.data.exeProNote); |
| | | this.$set(this.formDuctPiece, "pipeCheckId", res.data.pipeCheckId); |
| | | this.$set(this.formDuctPiece, "existProblem", res.data.existProblem); |
| | | this.$set(this.formDuctPiece, "exeProResult", res.data.exeProResult); |
| | | this.$set(this.formDuctPiece, "exeProNote", res.data.exeProNote); |
| | | this.fileList = res.data.files.map((item, index) => { |
| | | return { |
| | | id: index + 1, |
| | | url: `https://szpipe.thhy-tj.com/${item}` |
| | | url: `https://pipe.thhy-tj.com/${item}`, |
| | | }; |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 打开质量追溯 |
| | | propCheckHistory(row) { |
| | | this.asyncRetrospect = true; |
| | | this.retrospectInfo = {}; |
| | | this.$api.DuctpiecePLM.getCheckHistoryInfo({ |
| | | pipeId: row.pipeId |
| | | pipeId: row.pipeId, |
| | | }).then((res) => { |
| | | if(res.success) { |
| | | this.retrospectInfo = res.data; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 提交存在问题 |
| | | submitInsertForm: throttle(function() { |
| | |
| | | if(res.success) { |
| | | this.asyncDuctPiece = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success('添加成功!'); |
| | | this.$message.success("添加成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }); |
| | | }, 3000), |
| | | // 提交新增管片信息 |
| | | submitInsertPipe: throttle(function() { |
| | |
| | | if(valid) { |
| | | const params = Object.assign({}, this.formInsert); |
| | | this.$api.DuctpiecePLM.insertPipeData(params).then((res) => { |
| | | if(res.statusMsg === 'ok') { |
| | | if (res.statusMsg === "ok") { |
| | | this.asyncInsert = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success('新增成功!'); |
| | | this.$message.success("新增成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }) |
| | | }); |
| | | }, 3000), |
| | | // 提交修改环号信息 |
| | | submitUpdatePipe: throttle(function() { |
| | |
| | | if(valid) { |
| | | const params = Object.assign({}, this.formInsert); |
| | | this.$api.DuctpiecePLM.updataRingNumData(params).then((res) => { |
| | | if(res.statusMsg === 'ok') { |
| | | if (res.statusMsg === "ok") { |
| | | this.asyncInsert = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success('修改成功!'); |
| | | this.$message.success("修改成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }); |
| | | }, 3000), |
| | | // 提交修改时间信息 |
| | | submitUpdateTime: throttle(function() { |
| | | this.$refs.formTime.validate((valid) => { |
| | | if(valid) { |
| | | const params = Object.assign({}, this.formTime); |
| | | this.$api.DuctpiecePLM.updatePipeTimeData(params).then((res) => { |
| | | if (res.statusMsg === "ok") { |
| | | this.asyncTime = false; |
| | | this.searchDuctpiecePLMList(true); |
| | | this.$message.success("修改成功!"); |
| | | } else { |
| | | this.$message.warning(res.statusMsg); |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | }, 3000), |
| | | // |
| | | showCheckResult(value) { |
| | | return !value ? '' : value == 1 ? '合格' : '存在问题'; |
| | | return !value ? "" : value == 1 ? "合格" : "存在问题"; |
| | | }, |
| | | // 根据项目获取尺寸 配筋 块号信息 |
| | | changeHeaderProject(data) { |
| | | this.blockNum = ''; |
| | | this.reinforcement = ''; |
| | | this.groutingHoles = ''; |
| | | this.blockNum = ""; |
| | | this.reinforcement = ""; |
| | | this.groutingHoles = ""; |
| | | this.groutingHolesData = []; |
| | | this.blockNumData = []; |
| | | this.reinforcementData = []; |
| | | if(data) { |
| | | this.$api.Basics.getProjectSystemInfoData({ |
| | | proId: data |
| | | proId: data, |
| | | }).then((res) => { |
| | | this.groutingHolesData = res.data.proGroutings; |
| | | this.blockNumData = res.data.proBloks; |
| | | this.reinforcementData = res.data.proHas; |
| | | }) |
| | | }); |
| | | } |
| | | }, |
| | | // 转换毫秒 |
| | | transitionMsec(time) { |
| | | let msec = 0; |
| | | const date = Date.parse(new Date(time)); |
| | | console.log(date,'==-=-=-') |
| | | return msec; |
| | | }, |
| | | // 切换页数 |
| | | changePageNum(page) { |
| | |
| | | asyncDuctpieceInfo(bol) { |
| | | if(!bol) { |
| | | this.formDuctPiece = {}; |
| | | this.pipeId = ''; |
| | | this.checkResultStr = ''; |
| | | this.pipeId = ""; |
| | | this.checkResultStr = ""; |
| | | this.fileList = []; |
| | | } |
| | | }, |
| | | asyncInsert(bol) { |
| | | if(!bol) { |
| | | this.steelData = []; |
| | | this.mouldData = []; |
| | | this.formInsert = {}; |
| | | this.$refs.formInsert.resetFields(); |
| | | } |
| | | }, |
| | | asyncTime(bol) { |
| | | if(!bol) { |
| | | this.formTime = {}; |
| | | this.$refs.formTime.resetFields(); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '../../style/layout-main.scss'; |
| | | @import "../../style/layout-main.scss"; |
| | | |
| | | .issue_status { |
| | | color: #F42829; |
| | | color: #f42829; |
| | | } |
| | | |
| | | .retrospect_content { |
| | |
| | | padding: 0 15px 15px; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | color: #FFF; |
| | | color: #fff; |
| | | border-bottom: 1px solid #0d5274; |
| | | |
| | | &::before { |
| | |
| | | transform: translateY(-85%); |
| | | width: 3px; |
| | | height: 50%; |
| | | background: #18F6F8; |
| | | background: #18f6f8; |
| | | } |
| | | } |
| | | |
| | |
| | | margin: 10px 10px 10px 0; |
| | | |
| | | .table_item { |
| | | border: 1px solid #1CB7E0; |
| | | border: 1px solid #1cb7e0; |
| | | border-right: none; |
| | | |
| | | &:last-child { |
| | | border-right: 1px solid #1CB7E0; |
| | | border-right: 1px solid #1cb7e0; |
| | | } |
| | | |
| | | .table_item_chunk { |
| | | padding: 10px; |
| | | color: #18F6F8; |
| | | color: #18f6f8; |
| | | text-align: center; |
| | | } |
| | | |
| | | .table_th { |
| | | border-bottom: 1px solid #1CB7E0; |
| | | background: #082F57; |
| | | border-bottom: 1px solid #1cb7e0; |
| | | background: #082f57; |
| | | } |
| | | } |
| | | } |
对比新文件 |
| | |
| | | <template> |
| | | <div class="main"> |
| | | <div class="main_header"> |
| | | <div class="header_item"> |
| | | <span class="header_label">车牌号:</span> |
| | | <el-input v-model="search.carNumber" :size="size" clearable placeholder="请输入车牌号"></el-input> |
| | | </div> |
| | | <div class="header_item"> |
| | | <span class="header_label">原材料名称:</span> |
| | | <el-input v-model="search.matName" :size="size" clearable placeholder="请输入原材料名称"></el-input> |
| | | </div> |
| | | <div class="header_item"> |
| | | <span class="header_label">时间范围:</span> |
| | | <el-date-picker |
| | | v-model="search.time" |
| | | type="daterange" |
| | | :default-time="['00:00:00','23:59:59']" |
| | | clearable |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="-" |
| | | start-placeholder="起始时间" |
| | | end-placeholder="结束时间"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="header_item"> |
| | | <el-button icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="main_content"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="dataList" |
| | | 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="code" label="过磅编号" align="center" width="120"></el-table-column> |
| | | <el-table-column prop="orgname" label="业务所属机构" align="center" width="200"></el-table-column> |
| | | <el-table-column prop="supplyorgname" label="供应单位名称" align="center" width="200"></el-table-column> |
| | | <el-table-column prop="carnumber" label="车牌号" align="center"></el-table-column> |
| | | <el-table-column prop="drivername" label="运输司机" align="center" ></el-table-column> |
| | | <el-table-column prop="matname" label="原料名称" align="center"></el-table-column> |
| | | <el-table-column prop="matmodel" label="原材料型号" align="center" width="150"></el-table-column> |
| | | <el-table-column prop="mpoundtime" label="过毛时间" align="center"></el-table-column> |
| | | <el-table-column prop="mpoundweight" label="毛重" align="center"></el-table-column> |
| | | <el-table-column prop="mpoundname" label="过毛人" align="center"></el-table-column> |
| | | <el-table-column prop="ppoundtime" label="皮重时间" align="center"></el-table-column> |
| | | <el-table-column prop="ppoundname" label="过皮人" align="center"></el-table-column> |
| | | <el-table-column prop="jpoundweight" label="过磅净重" align="center"></el-table-column> |
| | | <el-table-column prop="buckleweight" label="扣重" align="center"></el-table-column> |
| | | <el-table-column prop="mweight" label="毛重" align="center"></el-table-column> |
| | | <el-table-column prop="pweight" label="皮重" align="center"></el-table-column> |
| | | <el-table-column prop="jweight" label="净重" align="center"></el-table-column> |
| | | <el-table-column prop="warename" label="入库仓名称" align="center" width="100"></el-table-column> |
| | | <el-table-column prop="types" label="同步状态" align="center" width="100"> |
| | | <template #default="{row}"> |
| | | <div>{{row.types===1?'未同步':row.types===2?'已同步':''}}</div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </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 } from '../../plugins/public'; // 导入节流、动态切换组件尺寸方法 |
| | | export default { |
| | | data() { |
| | | return { |
| | | size: changeSize(), // 组件尺寸 |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | search:{},//查询条件 |
| | | total: 0, |
| | | loading: false, |
| | | dataList: [], //进场称重列表 |
| | | } |
| | | }, |
| | | watch: { |
| | | asyncVisible(bol) { |
| | | if(!bol) { |
| | | this.ruleForm = {}; |
| | | this.$refs.ruleForm.resetFields(); |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | const that = this; |
| | | // 根据窗口大小动态修改组件尺寸 |
| | | window.onresize = () => { |
| | | that.size = changeSize(); |
| | | } |
| | | that.searchButtonInfo(true); |
| | | }, |
| | | methods: { |
| | | // 查询按钮列表信息 |
| | | searchButtonInfo(bol) { |
| | | if(bol) { |
| | | this.pageNum = 1; |
| | | } |
| | | let params = Object.assign({},this.search,{ |
| | | pageNum: this.pageNum, |
| | | pageSize: this.pageSize |
| | | }) |
| | | params.startTime = this.search.time&&this.search.time[0] |
| | | params.endTime = this.search.time&&this.search.time[1] |
| | | delete params.time |
| | | this.loading = true; |
| | | this.$api.Materials.searchWeighRecordsList(params).then((res) => { |
| | | if(res.statusMsg === 'ok') { |
| | | this.total = res.data.total; |
| | | this.dataList = 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/.el-color-picker__trigger{ |
| | | border-color:#1C4390; |
| | | } |
| | | /deep/.el-color-picker__color{ |
| | | border-color:#1C4390; |
| | | } |
| | | </style> |