Merge branch 'master' of http://111.30.93.211:10101/r/supipe
| | |
| | | package com.thhy.materials.modules.biz.concret.controller; |
| | | |
| | | |
| | | import com.thhy.materials.modules.biz.concret.entity.SysSteel; |
| | | 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; |
| | |
| | | |
| | | } |
| | | |
| | | //苏州项目------- 地磅入库 记录,及库存修改 钢筋 |
| | | @Scheduled(fixedRate = 2000000) // 每隔3秒执行一次任务 |
| | | public void weighbridgeSteel() { |
| | | //查询搅拌 所有类型 |
| | | List<SysSteel> steels = weighService.steelType(); |
| | | |
| | | List<TWeighbridge> tWeighbridges = weighMapper.weighbridgeListType(); |
| | | for (SysSteel steel : steels){ |
| | | for (TWeighbridge weighbridge :tWeighbridges){ |
| | | if(steel.getSteelName().equals(weighbridge.getMatname())&&steel.getSteelModel().equals(weighbridge.getMatmodel())){ |
| | | //净重 |
| | | String jweight = weighbridge.getJweight(); |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("id",""); |
| | | hashMap.put("steelId",steel.getSteelId()); |
| | | hashMap.put("stockType",1); |
| | | hashMap.put("changeStock",jweight); |
| | | hashMap.put("companyId","031e3dd577e8ed28e96aa69b"); |
| | | BigDecimal b1 = new BigDecimal(jweight); |
| | | BigDecimal b2 = new BigDecimal(steel.getStock()); |
| | | RLock lock = redissonclient.getLock("materlock"); |
| | | if(!lock.isLocked()) { |
| | | lock.lock(10, TimeUnit.SECONDS); |
| | | //插入记录表//苏州项目(入库计入增加) |
| | | weighMapper.steelRecordIn(hashMap); |
| | | //更改记录值 |
| | | weighMapper.steelUp(steel.getSteelId(),b1.add(b2).doubleValue()); |
| | | lock.unlock(); |
| | | } |
| | | weighMapper.weighbridgeUpdateType(weighbridge.getWeighbridgeId()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | import com.thhy.materials.modules.biz.weigh.service.WeighService; |
| | | import org.omg.CORBA.StringHolder; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Map; |
| | | |
| | |
| | | return weighService.weighbridgeList(values); |
| | | } |
| | | |
| | | //原料库存 |
| | | @PostMapping("/headThingJsInventory") |
| | | public BasicResult headThingJsInventory(){ |
| | | return weighService.headThingJsInventory(); |
| | | } |
| | | //料仓列表 |
| | | @PostMapping("/materialWarehouseRecordList") |
| | | public BasicResult materialWarehouseRecordList(@RequestBody Map<String,Object> values){ |
| | | return weighService.materialWarehouseRecordList(values); |
| | | } |
| | | |
| | | //料仓添加进仓 |
| | | @PostMapping("/materialWarehouseRecordInsert") |
| | | public BasicResult materialWarehouseRecordInsert(@RequestBody Map<String,Object> values){ |
| | | return weighService.materialWarehouseRecordInsert(values); |
| | | } |
| | | //料仓修改进仓 |
| | | @PostMapping("/materialWarehouseRecordUpdate") |
| | | public BasicResult materialWarehouseRecordUpdate(@RequestBody Map<String,Object> values){ |
| | | return weighService.materialWarehouseRecordUpdate(values); |
| | | } |
| | | //删除 |
| | | @GetMapping("/materialWarehouseRecordDel") |
| | | public BasicResult materialWarehouseRecordDel(@RequestParam String id){ |
| | | return weighService.materialWarehouseRecordDel(id); |
| | | } |
| | | |
| | | } |
对比新文件 |
| | |
| | | package com.thhy.materials.modules.biz.weigh.entity; |
| | | |
| | | import lombok.Data; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import lombok.ToString; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @Getter |
| | | @Setter |
| | | @ToString |
| | | public class TSuMaterialWarehouseRecord implements Serializable { |
| | | /** |
| | | * |
| | | */ |
| | | private String id; |
| | | |
| | | /** |
| | | * 桌号 |
| | | */ |
| | | private Integer tableNum; |
| | | |
| | | /** |
| | | * 产地名称 |
| | | */ |
| | | private String nameOfOrigin; |
| | | |
| | | /** |
| | | * 物料名称 |
| | | */ |
| | | private String materialName; |
| | | |
| | | /** |
| | | * 进厂数量 |
| | | */ |
| | | private Double incomingQuantity; |
| | | |
| | | /** |
| | | * 进厂日期 |
| | | */ |
| | | private Date inTime; |
| | | |
| | | /** |
| | | * 检验状态 |
| | | */ |
| | | private Integer status; |
| | | |
| | | /** |
| | | * 检验日期 |
| | | */ |
| | | private Date inspectionDate; |
| | | |
| | | /** |
| | | * 报告编号 |
| | | */ |
| | | private String reportNumber; |
| | | |
| | | /** |
| | | * 创建日期 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private String createUser; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private String updateUser; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private Integer isUse; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private String companyId; |
| | | |
| | | /** |
| | | * 入库方式 1手动 2自动 |
| | | */ |
| | | private Integer type; |
| | | |
| | | /** |
| | | * This field was generated by MyBatis Generator. |
| | | * This field corresponds to the database table t_su_material_warehouse_record |
| | | * |
| | | * @mbg.generated Thu Nov 30 14:55:49 CST 2023 |
| | | */ |
| | | private static final long serialVersionUID = 1L; |
| | | } |
对比新文件 |
| | |
| | | package com.thhy.materials.modules.biz.weigh.entity.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | @Data |
| | | public class AssistGoodDto implements Serializable { |
| | | //辅材名称 |
| | | private String assistName; |
| | | //辅材类型 |
| | | private String assistType; |
| | | //辅材库存 |
| | | private String stock; |
| | | |
| | | |
| | | } |
对比新文件 |
| | |
| | | package com.thhy.materials.modules.biz.weigh.entity.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | @Data |
| | | public class MaterialStockRecordDto implements Serializable { |
| | | //原料名称 |
| | | private String materialName; |
| | | //原料值 |
| | | private String materialValue; |
| | | |
| | | |
| | | } |
对比新文件 |
| | |
| | | package com.thhy.materials.modules.biz.weigh.entity.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | @Data |
| | | public class MouldDto implements Serializable { |
| | | //模具编号 |
| | | private String mouldNum; |
| | | //使用状态 |
| | | private String free; |
| | | //次数 |
| | | private String currentCycleTime; |
| | | |
| | | } |
对比新文件 |
| | |
| | | package com.thhy.materials.modules.biz.weigh.entity.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | @Data |
| | | public class SteelDto implements Serializable { |
| | | //钢筋名 |
| | | private String steelName; |
| | | //钢筋型号 |
| | | private String steelModel; |
| | | //库存 |
| | | private String stock; |
| | | |
| | | |
| | | } |
| | |
| | | package com.thhy.materials.modules.biz.weigh.mapper; |
| | | |
| | | import com.thhy.general.annotations.Idkey; |
| | | import com.thhy.materials.modules.biz.concret.entity.SysSteel; |
| | | 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.video.entity.TVideoNo; |
| | | import com.thhy.materials.modules.biz.weigh.dto.QueryWeighDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.TSuMaterialWarehouseRecord; |
| | | import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge; |
| | | import com.thhy.materials.modules.biz.weigh.entity.WeighVo; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.AssistGoodDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.MaterialStockRecordDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.MouldDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.SteelDto; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | void materialStockRecordIns(HashMap<String, Object> hashMap); |
| | | |
| | | void weighbridgeUpdateType(Integer weighbridgeId); |
| | | |
| | | List<MaterialStockRecordDto> materialStockInventory(); |
| | | |
| | | List<SteelDto> steelInventory(); |
| | | |
| | | List<AssistGoodDto> assistGoodInventory(); |
| | | |
| | | List<MouldDto> mouldInventory(); |
| | | |
| | | List<SysSteel> steelType(); |
| | | |
| | | void steelRecordIn(@Idkey("id") HashMap<String, Object> hashMap); |
| | | |
| | | void steelUp(@Param("steelId") String steelId,@Param("doubleValue") double doubleValue); |
| | | |
| | | List<TSuMaterialWarehouseRecord> materialWarehouseRecordList(Map<String, Object> values); |
| | | |
| | | void materialWarehouseRecordInsert(@Idkey("id") Map<String, Object> values); |
| | | |
| | | void materialWarehouseRecordUpdate(Map<String, Object> values); |
| | | |
| | | void materialWarehouseRecordDel(String id); |
| | | } |
| | |
| | | package com.thhy.materials.modules.biz.weigh.service; |
| | | |
| | | import com.thhy.general.common.BasicResult; |
| | | import com.thhy.materials.modules.biz.concret.entity.SysSteel; |
| | | 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; |
| | |
| | | |
| | | BasicResult weighbridgeList(Map<String, Object> values); |
| | | |
| | | BasicResult headThingJsInventory(); |
| | | |
| | | List<SysSteel> steelType(); |
| | | |
| | | BasicResult materialWarehouseRecordList(Map<String, Object> values); |
| | | |
| | | BasicResult materialWarehouseRecordInsert(Map<String, Object> values); |
| | | |
| | | BasicResult materialWarehouseRecordUpdate(Map<String, Object> values); |
| | | |
| | | BasicResult materialWarehouseRecordDel(String id); |
| | | } |
| | |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.thhy.general.common.BasicResult; |
| | | import com.thhy.materials.modules.biz.concret.entity.SysSteel; |
| | | 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.dto.QueryWeighDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.TSuMaterialWarehouseRecord; |
| | | import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge; |
| | | import com.thhy.materials.modules.biz.weigh.entity.WeighVo; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.AssistGoodDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.MaterialStockRecordDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.MouldDto; |
| | | import com.thhy.materials.modules.biz.weigh.entity.dto.SteelDto; |
| | | import com.thhy.materials.modules.biz.weigh.mapper.WeighMapper; |
| | | import com.thhy.materials.modules.biz.weigh.service.WeighService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | PageInfo<TWeighbridge> tWeighbridgePageInfo = new PageInfo<>(weighbridges); |
| | | return BasicResult.success(tWeighbridgePageInfo); |
| | | } |
| | | |
| | | @Override |
| | | public BasicResult headThingJsInventory() { |
| | | |
| | | //原料库存 |
| | | List<MaterialStockRecordDto> materialStockDtos =weighMapper.materialStockInventory(); |
| | | //钢筋 |
| | | List<SteelDto> steelDtos = weighMapper.steelInventory(); |
| | | //辅材 |
| | | List<AssistGoodDto> assistGoodDtos = weighMapper.assistGoodInventory(); |
| | | |
| | | //模具 |
| | | List<MouldDto> mouldDtos = weighMapper.mouldInventory(); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("materialStockDtos",materialStockDtos); |
| | | map.put("steelDtos",steelDtos); |
| | | map.put("assistGoodDtos",assistGoodDtos); |
| | | map.put("mouldDtos",mouldDtos); |
| | | return BasicResult.success(map); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysSteel> steelType() { |
| | | return weighMapper.steelType(); |
| | | } |
| | | |
| | | @Override |
| | | public BasicResult materialWarehouseRecordList(Map<String, Object> values) { |
| | | Integer pageSize = Integer.valueOf(values.get("pageSize").toString()); |
| | | Integer pageNum = Integer.valueOf(values.get("pageNum").toString()); |
| | | PageHelper.startPage(pageNum,pageSize); |
| | | List<TSuMaterialWarehouseRecord> records = weighMapper.materialWarehouseRecordList(values); |
| | | PageInfo<TSuMaterialWarehouseRecord> recordPageInfo = new PageInfo<>(records); |
| | | return BasicResult.success(recordPageInfo); |
| | | } |
| | | |
| | | @Override |
| | | public BasicResult materialWarehouseRecordInsert(Map<String, Object> values) { |
| | | values.put("id",""); |
| | | weighMapper.materialWarehouseRecordInsert(values); |
| | | return BasicResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public BasicResult materialWarehouseRecordUpdate(Map<String, Object> values) { |
| | | weighMapper.materialWarehouseRecordUpdate(values); |
| | | return BasicResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public BasicResult materialWarehouseRecordDel(String id) { |
| | | weighMapper.materialWarehouseRecordDel(id); |
| | | return BasicResult.success(); |
| | | } |
| | | } |
| | |
| | | types=2 |
| | | where weighbridge_id=#{weighbridgeId} |
| | | </update> |
| | | |
| | | <select id="materialStockInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.MaterialStockRecordDto"> |
| | | SELECT |
| | | s.dict_name AS materialName, |
| | | t.material_value AS materialValue |
| | | FROM |
| | | t_material_stock t |
| | | LEFT JOIN sys_dict s ON t.material_name = s.dict_id |
| | | </select> |
| | | <select id="steelInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.SteelDto"> |
| | | select |
| | | steel_name as steelName, |
| | | steel_model as steelModel, |
| | | stock as stock |
| | | from sys_steel |
| | | </select> |
| | | <select id="assistGoodInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.AssistGoodDto"> |
| | | select s.assist_name as s.assistName, |
| | | d.dict_name as assistType, |
| | | s.stock as stock |
| | | from sys_assist_good s left join sys_dict d on s.assist_type=d.dict_id |
| | | </select> |
| | | <select id="mouldInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.MouldDto"> |
| | | select |
| | | mould_num as mouldNum, |
| | | free as free, |
| | | current_cycle_time as currentCycleTime |
| | | from sys_mould |
| | | </select> |
| | | <select id="steelType" resultType="com.thhy.materials.modules.biz.concret.entity.SysSteel"> |
| | | select |
| | | steel_id as steelId, |
| | | steel_name as steelName, |
| | | steel_model as steelModel, |
| | | stock as stock |
| | | from |
| | | sys_steel |
| | | </select> |
| | | <insert id="steelRecordIn" > |
| | | insert into sys_steel_record |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="steelId != null"> |
| | | steel_id, |
| | | </if> |
| | | <if test="stockType != null"> |
| | | stock_type, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | create_time, |
| | | </if> |
| | | <if test="changeStock != null"> |
| | | change_stock, |
| | | </if> |
| | | <if test="supplierId != null"> |
| | | supplier_id, |
| | | </if> |
| | | <if test="factoryName != null"> |
| | | factory_name, |
| | | </if> |
| | | <if test="brand != null"> |
| | | brand, |
| | | </if> |
| | | <if test="lineCode != null"> |
| | | line_code, |
| | | </if> |
| | | <if test="proId != null"> |
| | | pro_id, |
| | | </if> |
| | | <if test="createUser != null"> |
| | | create_user, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | company_id, |
| | | </if> |
| | | <if test="carName != null"> |
| | | car_name, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="steelId != null"> |
| | | #{steelId,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="stockType != null"> |
| | | #{stockType,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | #{createTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="changeStock != null"> |
| | | #{changeStock,jdbcType=DOUBLE}, |
| | | </if> |
| | | <if test="supplierId != null"> |
| | | #{supplierId,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="factoryName != null"> |
| | | #{factoryName,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="brand != null"> |
| | | #{brand,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="lineCode != null"> |
| | | #{lineCode,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="proId != null"> |
| | | #{proId,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="createUser != null"> |
| | | #{createUser,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | #{companyId,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="carName != null"> |
| | | #{carName,jdbcType=VARCHAR}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="steelUp" > |
| | | update sys_steel set |
| | | stock=#{doubleValue} |
| | | where steel_id=#{steelId} |
| | | </update> |
| | | |
| | | <select id="materialWarehouseRecordList" resultType="com.thhy.materials.modules.biz.weigh.entity.TSuMaterialWarehouseRecord"> |
| | | select |
| | | id, |
| | | table_num as tableNum, |
| | | name_of_origin as nameOfOrigin, |
| | | material_name as materialName, |
| | | incoming_quantity as incomingQuantity, |
| | | in_time as inTime, |
| | | status as status, |
| | | inspection_date as inspectionDate, |
| | | report_number as reportNumber, |
| | | create_time as createTime, |
| | | `type` |
| | | from t_su_material_warehouse_record |
| | | where 1=1 |
| | | <if test="tableNum!=null and tableNum!='' "> |
| | | and table_num=#{tableNum} |
| | | </if> |
| | | <if test="type!=null and type!='' "> |
| | | and `type`=#{type} |
| | | </if> |
| | | <if test="strTime!=null and strTime!='' and endTime!=null and endTime!='' "> |
| | | and create_time between #{strTime} and #{endTime} |
| | | </if> |
| | | order by create_time desc |
| | | </select> |
| | | <insert id="materialWarehouseRecordInsert" > |
| | | insert into t_su_material_warehouse_record |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="tableNum != null"> |
| | | table_num, |
| | | </if> |
| | | <if test="nameOfOrigin != null"> |
| | | name_of_origin, |
| | | </if> |
| | | <if test="materialName != null"> |
| | | material_name, |
| | | </if> |
| | | <if test="incomingQuantity != null"> |
| | | incoming_quantity, |
| | | </if> |
| | | <if test="inTime != null"> |
| | | in_time, |
| | | </if> |
| | | <if test="status != null"> |
| | | status, |
| | | </if> |
| | | <if test="inspectionDate != null"> |
| | | inspection_date, |
| | | </if> |
| | | <if test="reportNumber != null"> |
| | | report_number, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | create_time, |
| | | </if> |
| | | <if test="createUser != null"> |
| | | create_user, |
| | | </if> |
| | | <if test="updateTime != null"> |
| | | update_time, |
| | | </if> |
| | | <if test="updateUser != null"> |
| | | update_user, |
| | | </if> |
| | | <if test="isUse != null"> |
| | | is_use, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | company_id, |
| | | </if> |
| | | <if test="type != null"> |
| | | type, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="tableNum != null"> |
| | | #{tableNum,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="nameOfOrigin != null"> |
| | | #{nameOfOrigin,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="materialName != null"> |
| | | #{materialName,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="incomingQuantity != null"> |
| | | #{incomingQuantity,jdbcType=DOUBLE}, |
| | | </if> |
| | | <if test="inTime != null"> |
| | | #{inTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="status != null"> |
| | | #{status,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="inspectionDate != null"> |
| | | #{inspectionDate,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="reportNumber != null"> |
| | | #{reportNumber,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | #{createTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="createUser != null"> |
| | | #{createUser,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="updateTime != null"> |
| | | #{updateTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="updateUser != null"> |
| | | #{updateUser,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="isUse != null"> |
| | | #{isUse,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | #{companyId,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="type != null"> |
| | | #{type,jdbcType=INTEGER}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="materialWarehouseRecordUpdate" > |
| | | update t_su_material_warehouse_record |
| | | <set> |
| | | <if test="tableNum != null"> |
| | | table_num = #{tableNum,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="nameOfOrigin != null"> |
| | | name_of_origin = #{nameOfOrigin,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="materialName != null"> |
| | | material_name = #{materialName,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="incomingQuantity != null"> |
| | | incoming_quantity = #{incomingQuantity,jdbcType=DOUBLE}, |
| | | </if> |
| | | <if test="inTime != null"> |
| | | in_time = #{inTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="status != null"> |
| | | status = #{status,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="inspectionDate != null"> |
| | | inspection_date = #{inspectionDate,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="reportNumber != null"> |
| | | report_number = #{reportNumber,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | create_time = #{createTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="createUser != null"> |
| | | create_user = #{createUser,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="updateTime != null"> |
| | | update_time = #{updateTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="updateUser != null"> |
| | | update_user = #{updateUser,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="isUse != null"> |
| | | is_use = #{isUse,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="companyId != null"> |
| | | company_id = #{companyId,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="type != null"> |
| | | type = #{type,jdbcType=INTEGER}, |
| | | </if> |
| | | </set> |
| | | where id = #{id,jdbcType=VARCHAR} |
| | | </update> |
| | | <delete id="materialWarehouseRecordDel" parameterType="java.lang.String"> |
| | | delete from t_su_material_warehouse_record where id=#{id} |
| | | </delete> |
| | | </mapper> |
| | |
| | | // H5搅拌站大屏展示数据信息 |
| | | showHmixings: params => |
| | | axios.get('/materials/suMaterialWarehouse/selectNewOneByTableNum', {params}), |
| | | |
| | | getMixing: params => |
| | | axios.get('/materials/materialRelease/siloList', {params}), |
| | | getMixRatio: params => |
| | | axios.post('/materials/materialRelease/mixingConsumeList', params), |
| | | } |
| | |
| | | } |
| | | }, |
| | | { |
| | | path: '/mixing/*', |
| | | name: 'mixing', |
| | | meta: { |
| | | title: '管片场拌合站' |
| | | }, |
| | | component: () => import('../views/MixingInfo/mixing.vue'), |
| | | }, |
| | | { |
| | | path: '/mixratio/*', |
| | | name: 'mixratio', |
| | | meta: { |
| | | title: '管片场拌合站表格' |
| | | }, |
| | | component: () => import('../views/MixingInfo/mixRatio.vue'), |
| | | }, |
| | | { |
| | | path: `/mixingInfo/num=1`, |
| | | name: 'mixingInfo', |
| | | meta: { |
对比新文件 |
| | |
| | | <template> |
| | | <div>222222222222222</div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | </script> |
| | | |
| | | <style lang="sass" scoped> |
| | | @import '../../style/layout-main.scss'; |
| | | </style> |
对比新文件 |
| | |
| | | <!-- 设备管理 ==> 拌合站屏管理--> |
| | | <template> |
| | | <div class="main"> |
| | | <div class="main_header"> |
| | | <div class="header_item"> |
| | | <span class="header_label">拌合站屏:</span> |
| | | <el-select size="mini" v-model="queryInfo.screen" placeholder="请选择拌合站屏"> |
| | | <el-option v-for="item in queryInfoScreens" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="header_item"> |
| | | <span class="header_label">录入方式:</span> |
| | | <el-select size="mini" v-model="queryInfo.inmode" placeholder="请选择录入方式"> |
| | | <el-option v-for="item in queryInfoInmodes" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="header_item"> |
| | | <span class="header_label">创建时间:</span> |
| | | <el-date-picker type="daterange" v-model="times" value-format="yyyy-MM-dd" start-placeholder="起始时间" |
| | | end-placeholder="结束时间" @change="changeTime" clear></el-date-picker> |
| | | </div> |
| | | <div class="header_item"> |
| | | <el-button icon="el-icon-search" v-permission="'search'" @click="queryReset">查询</el-button> |
| | | <el-button icon="el-icon-plus" v-permission="'insert'" @click="addRow">新增</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="main_content"> |
| | | <div class="main_content_item" v-for="(item, index) in ['', '', '', '', '',]" :key="index"> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 详情dialog --> |
| | | <el-dialog width="400px" class="prop_dialog" v-if="isRenderDialog" title="详情" :visible.sync="asyncVisible"> |
| | | |
| | | <el-form class="rule_form" label-width="auto"> |
| | | |
| | | <div class="divider"></div> |
| | | |
| | | <el-form-item label="巡检任务:">{{ info.task }}</el-form-item> |
| | | |
| | | <el-form-item label="巡检标准:">{{ info.standard }}</el-form-item> |
| | | |
| | | <el-form-item label="巡检人员:">{{ info.name }}</el-form-item> |
| | | |
| | | <div class="divider"><span>巡检路线</span></div> |
| | | |
| | | <div class="regions"> |
| | | <div class="region" v-for=" item in info.regions " :key="item.regionId">{{ |
| | | item.region }} |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | isRenderDialog: false, |
| | | asyncVisible: false, |
| | | |
| | | info: { // 详情信息 |
| | | task: '', |
| | | standard: '', |
| | | name: '', |
| | | regions: [], |
| | | }, |
| | | userId: '', // 存储点击后的用户id |
| | | taskId: '', // 存储点击后的巡检任务id |
| | | times: [], // 时间范围 |
| | | queryInfo: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | inmode: '', // 录入方式 |
| | | screen: '', // 拌合站屏 |
| | | startTime: '', |
| | | endTime: '', |
| | | }, |
| | | regionInfos: { // 巡检路线详情 |
| | | isRenderDialog: false, |
| | | asyncVisible: false, |
| | | time: '', // 巡检时间 |
| | | region: '', // 巡检区域 |
| | | res: '', // 巡检结果 |
| | | img: '', // 上传的图片 |
| | | location: '', // 位置 |
| | | } |
| | | } |
| | | }, |
| | | beforeCreate() { |
| | | this.queryInfoInmodes = [ |
| | | {value: '0', label: '手动'}, |
| | | {value: '1', label: '自动'}, |
| | | ] |
| | | this.queryInfoScreens = [ |
| | | {value: '0', label: '1-1'}, |
| | | {value: '1', label: '1-2'}, |
| | | ] |
| | | this.$http = this.$api.Safety.RiskGrad.polling |
| | | }, |
| | | created() { |
| | | this.setTableColumn() |
| | | this.getLists() |
| | | }, |
| | | methods: { |
| | | // 获取table列表数据 |
| | | getLists() { |
| | | let params = this.queryInfo |
| | | this.loading = true |
| | | this.$http.taskcardGetlists(params).then(res => { |
| | | if (res.statusMsg === 'ok') { |
| | | console.log(res) |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 初始化 table 配置 |
| | | setTableColumn() { |
| | | }, |
| | | addRow() { }, |
| | | // 查询按钮列表信息 |
| | | queryReset() { |
| | | this.queryInfo.pageNum = 1 |
| | | this.queryInfo.pageSize = 10 |
| | | this.getLists() |
| | | }, |
| | | changeTime(times) { |
| | | times = times || ['', ''] |
| | | this.queryInfo.startTime = times[0] |
| | | this.queryInfo.endTime = times[1] |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '@/style/layout-main.scss'; |
| | | |
| | | .rule_form { |
| | | color: #fff; |
| | | |
| | | ::v-deep .el-form-item__content { |
| | | display: block; |
| | | } |
| | | |
| | | .image { |
| | | flex: none; |
| | | width: 91px; |
| | | height: 120px; |
| | | margin-right: 15px; |
| | | border-radius: 5px; |
| | | border: 1px solid #0c5983; |
| | | |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .regions { |
| | | text-align: center; |
| | | |
| | | .region { |
| | | line-height: 34px; |
| | | margin-bottom: 16px; |
| | | background: rgba(56, 175, 247, .25); |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | | .divider { |
| | | position: relative; |
| | | margin-bottom: 30px; |
| | | text-indent: 10px; |
| | | color: #fff; |
| | | border-left: 3px solid #18F6F8; |
| | | |
| | | &::after { |
| | | content: ""; |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: -8px; |
| | | width: 100%; |
| | | padding: 20px 0; |
| | | border-bottom: 1px solid #0C4D6F; |
| | | } |
| | | } |
| | | |
| | | .main_content .main_content_item { |
| | | float: left; |
| | | width: 48%; |
| | | height: 200px; |
| | | margin: 1%; |
| | | border: 1px solid red; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="list"> |
| | | <div class="item" v-for="item in fieldMap" :key="item.name"> |
| | | <span class="name">{{ item.name }}:</span> |
| | | <template v-if="item.formatter"> |
| | | <span class="value" :class="item.class(data)">{{ item.formatter(data) }}</span> |
| | | </template> |
| | | <template v-else> |
| | | <span class="value">{{ data && data[item.type] || '' }}</span> |
| | | </template> |
| | | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return {} |
| | | }, |
| | | props: { |
| | | data: { |
| | | type: Object, |
| | | default: () => { } |
| | | } |
| | | }, |
| | | beforeCreate() { |
| | | // 字段映射表 |
| | | this.fieldMap = [ |
| | | {name: '规格型号', type: 'spec'}, |
| | | {name: '产地名称', type: 'producer'}, |
| | | {name: '炉(批)号', type: 'stove'}, |
| | | {name: '进场数量', type: 'inNum'}, |
| | | {name: '进场日期', type: 'inDate'}, |
| | | {name: '检验日期', type: 'inspectDate'}, |
| | | { |
| | | name: '检验状态', class(row) { |
| | | let state = row && row.inspectState |
| | | return {1: 'style1', 2: 'style2', 3: 'style3'}[state] || '' |
| | | }, formatter(row) { |
| | | let state = row && row.inspectState || '' |
| | | return {1: '合格', 2: '不合格', 3: '待检测'}[state] || '' |
| | | } |
| | | }, |
| | | {name: '报告编号', type: 'reportNumber'}, |
| | | ] |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .list { |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 100%; |
| | | |
| | | .item { |
| | | display: flex; |
| | | flex: 1; |
| | | margin-top: 4px; |
| | | |
| | | .name { |
| | | margin-right: 4px; |
| | | text-indent: 6px; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .value { |
| | | color: #03F1FF; |
| | | |
| | | &.style1 { |
| | | font-size: 1.5rem; |
| | | line-height: 1.2rem; |
| | | color: #16F849; |
| | | } |
| | | |
| | | &.style2 { |
| | | font-size: 1.5rem; |
| | | line-height: 1.2rem; |
| | | color: red; |
| | | } |
| | | |
| | | &.style3 { |
| | | font-size: 1.5rem; |
| | | line-height: 1.2rem; |
| | | color: #FF6600; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="wrap"> |
| | | <div class="header"> |
| | | <div class="header_name">中铁十四局通甬站前I标管片场拌合站</div> |
| | | </div> |
| | | <div class="table"> |
| | | <div class="row title">{{ info.signboardName }}</div> |
| | | |
| | | <div class="row"> |
| | | <div class="name">工程名称</div> |
| | | <div class="value">{{ info.proName }}</div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="name">施工单位</div> |
| | | <div class="value">{{ info.constructionUnit }}</div> |
| | | </div> |
| | | |
| | | <div class="row line"> |
| | | <div> |
| | | <div class="name">施工日期</div> |
| | | <div class="value">{{ info.saveStamp }}</div> |
| | | </div> |
| | | <div> |
| | | <div class="name">施工部位</div> |
| | | <div class="value">{{ info.construction }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row" v-for="item in dataLists" :key="item.name"> |
| | | <div class="name">{{ item.name }}</div> |
| | | <div class="column"> |
| | | <div class="column-item" v-for="(sub, index) in item.value" :key="index">{{ sub }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | const interval = function (fn, Vue) { |
| | | let timer = setInterval( |
| | | (() => { |
| | | fn() |
| | | return fn |
| | | })(), |
| | | 1000 * 60 * 1 |
| | | ) |
| | | if (Vue) { |
| | | Vue.$once('hook:beforeDestroy', function () { |
| | | timer && clearInterval(timer) |
| | | }) |
| | | } |
| | | } |
| | | export default { |
| | | name: 'Page2', |
| | | data() { |
| | | return { |
| | | info: { |
| | | signboardName: '', // 标识排 |
| | | proName: '', // 工程名称 |
| | | constructionUnit: '', // 施工单位 |
| | | saveStamp: '', // 施工日期 |
| | | construction: '', // 施工部位 |
| | | }, |
| | | dataLists: [ |
| | | {name: '材料名称', type: 'dictName', value: []}, // 材料名称 |
| | | {name: '规格型号', type: 'spec', value: []}, // 规格型号 |
| | | {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家 |
| | | {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率 |
| | | {name: '理论用量(kg/m³)', type: 'planAmnt', value: []}, // 理论用量 |
| | | {name: '实际用量(kg/m³)', type: 'factAmnt', value: []}, // 实际用量 |
| | | ] |
| | | } |
| | | }, |
| | | beforeCreate() { |
| | | this.$http = this.$api.Infos |
| | | }, |
| | | beforeRouteEnter(to, form, next) { |
| | | const {path} = to |
| | | |
| | | const type = path.slice(-1) |
| | | |
| | | next(vm => { |
| | | vm.type = type |
| | | interval(vm.getLists, vm) |
| | | }) |
| | | }, |
| | | mounted() { |
| | | let width = document.getElementsByClassName('wrap')[0].clientWidth |
| | | let $html = document.getElementsByTagName('html')[0] |
| | | let fontsize = width / 1920 * 35.2 |
| | | $html.style.fontSize = `${fontsize}px` |
| | | window.onresize = () => { |
| | | let width = document.getElementById('app').clientWidth |
| | | let fontsize = width / 1920 * 35.2 |
| | | $html.style.fontSize = `${fontsize}px` |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | let $html = document.getElementsByTagName('html')[0] |
| | | $html.style.fontSize = '' |
| | | }, |
| | | methods: { |
| | | async getLists() { |
| | | const params = { |
| | | pageNum: --this.type, // 传 0 1对应两个页面 |
| | | pageSize: 1, |
| | | } |
| | | this.$api.Infos.getMixRatio(params).then(res => { |
| | | if (res.statusMsg === 'ok' && res.data) { |
| | | const {list} = res.data |
| | | if (list && list.length) { |
| | | const item = list[0] |
| | | const {tmixingConsumes} = item |
| | | |
| | | this.info.signboardName = item.signboardName |
| | | this.info.proName = item.proName |
| | | this.info.constructionUnit = item.constructionUnit |
| | | |
| | | if (tmixingConsumes && tmixingConsumes.length) { |
| | | this.info.saveStamp = tmixingConsumes[0].saveStamp |
| | | this.info.construction = tmixingConsumes[0].construction |
| | | |
| | | tmixingConsumes.forEach(item => { |
| | | this.dataLists.forEach(val => { |
| | | item[val.type] && val.value.push(item[val.type]) |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } else { |
| | | this.$message.warning('请检查网络或联系管理员!!!') |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .wrap { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 1rem; |
| | | background: #040A3F; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .header { |
| | | position: absolute; |
| | | top: 0; |
| | | width: 100%; |
| | | height: 3rem; |
| | | text-align: center; |
| | | color: #fff; |
| | | background: url('../../assets/mixing/header.png') no-repeat center center; |
| | | background-size: 100% auto; |
| | | |
| | | .header_name { |
| | | font-size: 1.6rem; |
| | | font-weight: bold; |
| | | line-height: 3.2rem; |
| | | letter-spacing: 2px; |
| | | text-shadow: 0px 3px 3px rgba(25, 63, 95, 0.05); |
| | | background: -webkit-linear-gradient(90deg, #2AC0FF 0%, #FFFFFF 70%); |
| | | -webkit-background-clip: text; |
| | | -webkit-text-fill-color: transparent; |
| | | } |
| | | } |
| | | |
| | | .table { |
| | | display: flex; |
| | | flex-direction: column; |
| | | position: absolute; |
| | | top: 4rem; |
| | | bottom: 2rem; |
| | | left: 2rem; |
| | | right: 2rem; |
| | | font-size: 0.8rem; |
| | | color: #fff; |
| | | |
| | | .title { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | color: #BEE2F0; |
| | | background: rgba(1, 142, 196, .35); |
| | | } |
| | | |
| | | .row { |
| | | flex: 1; |
| | | width: 100%; |
| | | height: 2rem; |
| | | margin: 0 -1px -1px 0; |
| | | text-align: center; |
| | | line-height: 2rem; |
| | | border: 1px solid #01B3EF; |
| | | |
| | | .name { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | float: left; |
| | | width: 8rem; |
| | | height: 100%; |
| | | margin: -1px -1px -1px 0; |
| | | color: #BEE2F0; |
| | | border: 1px solid #01B3EF; |
| | | background: rgba(1, 142, 196, .75); |
| | | box-sizing: unset; |
| | | } |
| | | |
| | | .value { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .column { |
| | | display: flex; |
| | | height: 100%; |
| | | |
| | | .column-item { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | flex: 1; |
| | | margin: -1px -1px -1px 0; |
| | | border: 1px solid #01B3EF; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .row.line { |
| | | display: flex; |
| | | |
| | | >div { |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="wrap"> |
| | | <div class="header"> |
| | | <div class="header_name">中铁十四局通甬站前I标管片场拌合站</div> |
| | | </div> |
| | | <div class="container"> |
| | | <div class="con_name"> |
| | | <div class="line left"></div> |
| | | <div class="name"> |
| | | <p class="p">{{ infoL.siloName }}</p> |
| | | <p class="p">{{ infoR.siloName }}</p> |
| | | </div> |
| | | <div class="line right"></div> |
| | | </div> |
| | | <div class="con_main"> |
| | | <div class="con_main_item con_main_l"> |
| | | <div class="placeholder"></div> |
| | | <div class="list_wrap"> |
| | | <list :data="infoL.mixing"></list> |
| | | </div> |
| | | </div> |
| | | <div class="con_main_item con_main_c"> |
| | | <div :class="`image ${infoL.percentImgName || ''}`"> |
| | | <p>{{ infoL.siloName }}</p> |
| | | </div> |
| | | <div :class="`image ${infoR.percentImgName || ''}`"> |
| | | <p>{{ infoR.siloName }}</p> |
| | | </div> |
| | | </div> |
| | | <div class="con_main_item con_main_r"> |
| | | <div class="placeholder"></div> |
| | | <div class="list_wrap"> |
| | | <list :data="infoR.mixing"></list> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import List from './components/List' |
| | | const interval = function (fn, Vue) { |
| | | let timer = setInterval( |
| | | (() => { |
| | | fn() |
| | | return fn |
| | | })(), |
| | | 1000 * 60 * 1 |
| | | ) |
| | | if (Vue) { |
| | | Vue.$once('hook:beforeDestroy', function () { |
| | | timer && clearInterval(timer) |
| | | }) |
| | | } |
| | | } |
| | | export default { |
| | | name: 'mixing', |
| | | data() { |
| | | return { |
| | | type: '', |
| | | infoL: {}, |
| | | infoR: {}, |
| | | percents: { |
| | | 0: 'container_10', |
| | | 10: 'container_10', |
| | | 20: 'container_20', |
| | | 40: 'container_40', |
| | | 60: 'container_60', |
| | | 80: 'container_80', |
| | | 90: 'container_90', |
| | | 100: 'container_100', |
| | | } |
| | | }; |
| | | }, |
| | | components: { |
| | | List |
| | | }, |
| | | beforeCreate() { |
| | | this.$http = this.$api.Infos |
| | | }, |
| | | beforeRouteEnter(to, form, next) { |
| | | const {path} = to |
| | | |
| | | const type = path.slice(-1) |
| | | |
| | | next(vm => { |
| | | vm.type = type |
| | | interval(vm.getLists, vm) |
| | | }) |
| | | }, |
| | | mounted() { |
| | | let width = document.getElementsByClassName('wrap')[0].clientWidth |
| | | let $html = document.getElementsByTagName('html')[0] |
| | | let fontsize = width / 1920 * 35.2 |
| | | $html.style.fontSize = `${fontsize}px` |
| | | window.onresize = () => { |
| | | let width = document.getElementById('app').clientWidth |
| | | let fontsize = width / 1920 * 35.2 |
| | | $html.style.fontSize = `${fontsize}px` |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | let $html = document.getElementsByTagName('html')[0] |
| | | $html.style.fontSize = '' |
| | | }, |
| | | methods: { |
| | | getLists() { |
| | | const percentArr = Object.keys(this.percents) |
| | | this.$api.Infos.getMixing({types: this.type}).then(res => { |
| | | if (res.statusMsg === 'ok' && res.data && res.data.length) { |
| | | res.data.forEach((item, index) => { |
| | | if (item && item.mixing && item.mixing.percentage) { |
| | | let targetVal = +item.mixing.percentage |
| | | for (let index = 0; index < percentArr.length - 1; index++) { |
| | | const val = percentArr[index] |
| | | const valNext = percentArr[index + 1] |
| | | if (val <= targetVal && targetVal <= valNext) { |
| | | item.percentImgName = this.percents[val] |
| | | break |
| | | } |
| | | } |
| | | } else { |
| | | item.percentImgName = this.percents[0] |
| | | } |
| | | index === 0 && (this.infoL = item) |
| | | index === 1 && (this.infoR = item) |
| | | }) |
| | | } else { |
| | | this.$message.warning('请检查网络或联系管理员!!!') |
| | | } |
| | | }) |
| | | |
| | | |
| | | |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | li { |
| | | list-style: none; |
| | | } |
| | | |
| | | .wrap { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 1rem; |
| | | background: #040A3F; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .header { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 3rem; |
| | | text-align: center; |
| | | font-family: 'Microsoft YaHei'; |
| | | color: #fff; |
| | | background: url('../../assets/mixing/header.png') no-repeat center center; |
| | | background-size: 100% auto; |
| | | |
| | | .header_name { |
| | | font-size: 1.6rem; |
| | | font-weight: bold; |
| | | line-height: 3.2rem; |
| | | letter-spacing: 2px; |
| | | text-shadow: 0px 3px 3px rgba(25, 63, 95, 0.05); |
| | | background: -webkit-linear-gradient(90deg, #2AC0FF 0%, #FFFFFF 70%); |
| | | -webkit-background-clip: text; |
| | | -webkit-text-fill-color: transparent; |
| | | } |
| | | } |
| | | |
| | | .container { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | position: absolute; |
| | | left: 20px; |
| | | right: 20px; |
| | | top: 3.6rem; |
| | | bottom: 20px; |
| | | color: #fff; |
| | | |
| | | .con_name { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 2.2rem; |
| | | |
| | | .name { |
| | | width: 20rem; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | |
| | | .p { |
| | | height: 2rem; |
| | | padding: 0 2rem; |
| | | line-height: 2rem; |
| | | font-size: 1.2rem; |
| | | font-weight: bold; |
| | | white-space: nowrap; |
| | | background: url(../../assets/mixing/name_bg.png) no-repeat; |
| | | background-size: 100% 100%; |
| | | } |
| | | } |
| | | |
| | | .line { |
| | | flex: 1; |
| | | height: 14px; |
| | | |
| | | &.left { |
| | | background: -webkit-linear-gradient(right, rgba(18, 99, 162, 1) 0, rgba(18, 99, 162, 0) 100%); |
| | | } |
| | | |
| | | &.right { |
| | | background: -webkit-linear-gradient(left, rgba(18, 99, 162, 1) 0, rgba(18, 99, 162, 0) 100%); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .con_main { |
| | | margin-top: 10px; |
| | | flex: 1; |
| | | display: flex; |
| | | |
| | | .con_main_item { |
| | | padding: 15px 15px 0 15px; |
| | | position: relative; |
| | | flex: 1; |
| | | |
| | | &.con_main_l, |
| | | &.con_main_r { |
| | | background: url(../../assets/mixing/list_bg.png) no-repeat; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | &.con_main_l .placeholder { |
| | | width: 100%; |
| | | height: 8%; |
| | | background: url(../../assets/mixing/list_l_bg.png) no-repeat; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | &.con_main_r .placeholder { |
| | | width: 100%; |
| | | height: 8%; |
| | | background: url(../../assets/mixing/list_r_bg.png) no-repeat; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | &.con_main_c .image { |
| | | position: relative; |
| | | float: left; |
| | | width: 50%; |
| | | height: 100%; |
| | | min-height: 480px; |
| | | text-align: center; |
| | | |
| | | >p { |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 21%; |
| | | white-space: nowrap; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | | &.container_10 { |
| | | background: url(../../assets/mixing/container_10.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | |
| | | &.container_20 { |
| | | background: url(../../assets/mixing/container_20.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | |
| | | &.container_40 { |
| | | background: url(../../assets/mixing/container_40.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | |
| | | &.container_60 { |
| | | background: url(../../assets/mixing/container_60.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | |
| | | &.container_80 { |
| | | background: url(../../assets/mixing/container_80.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | |
| | | &.container_90 { |
| | | background: url(../../assets/mixing/container_90.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | |
| | | &.container_100 { |
| | | background: url(../../assets/mixing/container_100.png) center 30% no-repeat; |
| | | background-size: auto 70%; |
| | | } |
| | | } |
| | | |
| | | .list_wrap { |
| | | position: absolute; |
| | | top: 12%; |
| | | bottom: 0; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | </style> |