main
姜玉琦 2024-09-02 22:02:15 +08:00
parent 89c4af4972
commit 92e9bed75a
24 changed files with 1266 additions and 39 deletions

View File

@ -132,6 +132,19 @@
<version>${hutool.version}</version> <version>${hutool.version}</version>
</dependency> </dependency>
<!-- 二维码 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.1</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

File diff suppressed because one or more lines are too long

View File

@ -19,6 +19,10 @@ import com.yanzhu.common.utils.MessageUtils;
import com.yanzhu.common.utils.StringUtils; import com.yanzhu.common.utils.StringUtils;
import com.yanzhu.system.service.ISysUserService; import com.yanzhu.system.service.ISysUserService;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* *
* *
@ -63,13 +67,14 @@ public class UserDetailsServiceImpl implements UserDetailsService
//设置项目单位信息 //设置项目单位信息
if(!user.isAdmin()){ if(!user.isAdmin()){
String as = user.getDept().getAncestors()+","+user.getDeptId();
//判断是否是段队管理员 //判断是否是段队管理员
String[] ancestors = user.getDept().getAncestors().split(","); String[] ancestorsIds = as.split(",");
Long deptId = Convert.toLong(ancestors[ancestors.length-1]); List<Long> deptIds = Arrays.stream(ancestorsIds).map(ancestors -> Long.parseLong(ancestors)).collect(Collectors.toList());
if(deptId != null){ List<SysDept> depts = sysDeptService.selectParentDeptByIds(deptIds);
SysDept sysDept = sysDeptService.selectDeptById(deptId); if(StringUtils.isNotEmpty(depts)){
user.setParDeptId(sysDept.getDeptId()); user.setParDeptId(depts.get(0).getDeptId());
user.setParDeptName(sysDept.getDeptName()); user.setParDeptName(depts.get(0).getDeptName());
} }
}else{ }else{
user.setParDeptId(100L); user.setParDeptId(100L);

View File

@ -1,10 +1,18 @@
package com.yanzhu.web; package com.yanzhu.web;
import java.io.File;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.annotation.Anonymous;
import com.yanzhu.common.config.YanZhuConfig;
import com.yanzhu.common.core.domain.entity.SysUser; import com.yanzhu.common.core.domain.entity.SysUser;
import com.yanzhu.common.core.text.Convert; import com.yanzhu.common.core.text.Convert;
import com.yanzhu.common.exception.ServiceException;
import com.yanzhu.common.utils.DateUtils;
import com.yanzhu.common.utils.ZxingUtils;
import com.yanzhu.project.domain.ProProjectInfo; import com.yanzhu.project.domain.ProProjectInfo;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -50,6 +58,77 @@ public class ProProjectApplyController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
/**
*
* @PreAuthorize("@ss.hasPermi('project:projectApply:list')")
*/
@GetMapping("/checkApplyList")
public TableDataInfo checkApplyList(ProProjectApply proProjectApply)
{
SysUser sysUser = super.getLoginUser().getUser();
if(Objects.equals(proProjectApply.getActiveName(),"dys")){
proProjectApply.setApplyStatus("10");
}else{
proProjectApply.setApplyStatus("100");
}
//超管查询所有数据
if(!SysUser.isAdmin(sysUser.getUserId())){
proProjectApply.setDeptAncestors(sysUser.getDept().getAncestors()+","+sysUser.getDeptId());
}
proProjectApply.setIsDel("0");
startPage();
List<ProProjectApply> list = proProjectApplyService.selectProProjectApplyList(proProjectApply);
return getDataTable(list);
}
/**
*
* @PreAuthorize("@ss.hasPermi('project:projectApply:list')")
*/
@GetMapping("/createQr/{id}")
public AjaxResult createQr(@PathVariable("id") Long id)
{
String filePath = YanZhuConfig.getUploadPath() + "/" + DateUtils.datePath();
String fileName = id+"_"+System.currentTimeMillis();
String data = "http://49.235.181.228:8088/#/ApplyDetail?applyId="+id;
try {
File folder = new File(filePath);
if(!folder.exists()){
folder.mkdirs();
}
String path = ZxingUtils.createImage(filePath, fileName, "png", data, 200, null);
path = path.replace(YanZhuConfig.getProfile(),"/profile");
ProProjectApply proProjectApply = proProjectApplyService.selectProProjectApplyById(id);
proProjectApply.setQrPath(path);
proProjectApplyService.updateProProjectApply(proProjectApply);
return success(proProjectApply);
}catch (Exception e){
throw new ServiceException(e.getMessage());
}
}
/**
*
* @PreAuthorize("@ss.hasPermi('project:projectApply:list')")
*/
@GetMapping("/findGroupCountByStatus")
public AjaxResult findGroupCountByStatus(ProProjectApply proProjectApply)
{
SysUser sysUser = super.getLoginUser().getUser();
if(Objects.equals(proProjectApply.getActiveName(),"dys")){
proProjectApply.setApplyStatus("10");
}else{
proProjectApply.setApplyStatus("100");
}
//超管查询所有数据
if(!SysUser.isAdmin(sysUser.getUserId())){
proProjectApply.setDeptAncestors(sysUser.getDept().getAncestors()+","+sysUser.getDeptId());
}
proProjectApply.setIsDel("0");
List<Map<String,Object>> list = proProjectApplyService.findGroupCountByStatus(proProjectApply);
return success(list);
}
/** /**
* *
*/ */
@ -67,6 +146,7 @@ public class ProProjectApplyController extends BaseController
* *
* @PreAuthorize("@ss.hasPermi('project:projectApply:query')") * @PreAuthorize("@ss.hasPermi('project:projectApply:query')")
*/ */
@Anonymous
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
@ -85,9 +165,21 @@ public class ProProjectApplyController extends BaseController
} }
/** /**
* *
* @PreAuthorize("@ss.hasPermi('project:projectApply:add')")
*/
@Log(title = "项目申请", businessType = BusinessType.INSERT)
@PostMapping("/addApplyDetail")
public AjaxResult addApplyDetail(@RequestBody ProProjectApply proProjectApply)
{
return toAjax(proProjectApplyService.insertMyProProjectApplyDetail(proProjectApply));
}
/**
*
* @PreAuthorize("@ss.hasPermi('project:projectApply:edit')")
*/ */
@PreAuthorize("@ss.hasPermi('project:projectApply:edit')")
@Log(title = "项目申请", businessType = BusinessType.UPDATE) @Log(title = "项目申请", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody ProProjectApply proProjectApply) public AjaxResult edit(@RequestBody ProProjectApply proProjectApply)

View File

@ -0,0 +1,98 @@
package com.yanzhu.web;
import com.yanzhu.common.annotation.Log;
import com.yanzhu.common.core.controller.BaseController;
import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.common.core.page.TableDataInfo;
import com.yanzhu.common.enums.BusinessType;
import com.yanzhu.common.utils.poi.ExcelUtil;
import com.yanzhu.project.domain.ProProjectApplyDetailCheck;
import com.yanzhu.project.service.IProProjectApplyDetailCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* Controller
*
* @author yanZhu
* @date 2024-09-01
*/
@RestController
@RequestMapping("/manage/proProjectApplyDetailCheck")
public class ProProjectApplyDetailCheckController extends BaseController
{
@Autowired
private IProProjectApplyDetailCheckService proProjectApplyDetailCheckService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('manage:proProjectApplyDetailCheck:list')")
@GetMapping("/list")
public TableDataInfo list(ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
startPage();
List<ProProjectApplyDetailCheck> list = proProjectApplyDetailCheckService.selectProProjectApplyDetailCheckList(proProjectApplyDetailCheck);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('manage:proProjectApplyDetailCheck:export')")
@Log(title = "申请详情验收", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
List<ProProjectApplyDetailCheck> list = proProjectApplyDetailCheckService.selectProProjectApplyDetailCheckList(proProjectApplyDetailCheck);
ExcelUtil<ProProjectApplyDetailCheck> util = new ExcelUtil<ProProjectApplyDetailCheck>(ProProjectApplyDetailCheck.class);
util.exportExcel(response, list, "申请详情验收数据");
}
/**
*
* @PreAuthorize("@ss.hasPermi('manage:proProjectApplyDetailCheck:query')")
*/
@GetMapping(value = "/findAll/{detailId}")
public AjaxResult findAll(@PathVariable("detailId") Long detailId)
{
return success(proProjectApplyDetailCheckService.selectProProjectApplyDetailCheckByDetailId(detailId));
}
/**
*
* @PreAuthorize("@ss.hasPermi('manage:proProjectApplyDetailCheck:add')")
*/
@Log(title = "申请详情验收", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
return toAjax(proProjectApplyDetailCheckService.insertProProjectApplyDetailCheck(proProjectApplyDetailCheck));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('manage:proProjectApplyDetailCheck:edit')")
@Log(title = "申请详情验收", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
return toAjax(proProjectApplyDetailCheckService.updateProProjectApplyDetailCheck(proProjectApplyDetailCheck));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('manage:proProjectApplyDetailCheck:remove')")
@Log(title = "申请详情验收", businessType = BusinessType.DELETE)
@DeleteMapping("/{detailIds}")
public AjaxResult remove(@PathVariable Long[] detailIds)
{
return toAjax(proProjectApplyDetailCheckService.deleteProProjectApplyDetailCheckByDetailIds(detailIds));
}
}

View File

@ -62,6 +62,10 @@ public class ProProjectApply extends BaseEntity
@Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date useTime; private Date useTime;
/** 二维码地址 */
@Excel(name = "二维码地址")
private String qrPath;
/** 是否删除 */ /** 是否删除 */
@Excel(name = "是否删除") @Excel(name = "是否删除")
private String isDel; private String isDel;
@ -69,6 +73,8 @@ public class ProProjectApply extends BaseEntity
/** 申请人单位名称 */ /** 申请人单位名称 */
private String createByDeptName; private String createByDeptName;
private String deptAncestors;
/** 项目申请明细信息 */ /** 项目申请明细信息 */
private List<ProProjectApplyDetail> proProjectApplyDetailList; private List<ProProjectApplyDetail> proProjectApplyDetailList;
@ -187,6 +193,14 @@ public class ProProjectApply extends BaseEntity
this.createByDeptName = createByDeptName; this.createByDeptName = createByDeptName;
} }
public String getQrPath() {
return qrPath;
}
public void setQrPath(String qrPath) {
this.qrPath = qrPath;
}
public List<ProProjectApplyDetail> getProProjectApplyDetailList() public List<ProProjectApplyDetail> getProProjectApplyDetailList()
{ {
return proProjectApplyDetailList; return proProjectApplyDetailList;
@ -197,6 +211,14 @@ public class ProProjectApply extends BaseEntity
this.proProjectApplyDetailList = proProjectApplyDetailList; this.proProjectApplyDetailList = proProjectApplyDetailList;
} }
public String getDeptAncestors() {
return deptAncestors;
}
public void setDeptAncestors(String deptAncestors) {
this.deptAncestors = deptAncestors;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -78,6 +78,18 @@ public class ProProjectApplyDetail extends BaseEntity
@Excel(name = "总价") @Excel(name = "总价")
private BigDecimal totalPrice; private BigDecimal totalPrice;
/** 添加类型 */
@Excel(name = "添加类型")
private int pushType;
/** 验收总量 */
@Excel(name = "验收总量")
private String checkedTotalValue;
/** 是否验收 */
@Excel(name = "是否验收")
private int isChecked;
/** 是否删除 */ /** 是否删除 */
@Excel(name = "是否删除") @Excel(name = "是否删除")
private String isDel; private String isDel;
@ -226,6 +238,30 @@ public class ProProjectApplyDetail extends BaseEntity
return isDel; return isDel;
} }
public int getPushType() {
return pushType;
}
public void setPushType(int pushType) {
this.pushType = pushType;
}
public String getCheckedTotalValue() {
return checkedTotalValue;
}
public void setCheckedTotalValue(String checkedTotalValue) {
this.checkedTotalValue = checkedTotalValue;
}
public int getIsChecked() {
return isChecked;
}
public void setIsChecked(int isChecked) {
this.isChecked = isChecked;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -0,0 +1,69 @@
package com.yanzhu.project.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yanzhu.common.annotation.Excel;
import com.yanzhu.common.core.domain.BaseEntity;
/**
* pro_project_apply_detail_check
*
* @author yanZhu
* @date 2024-09-01
*/
public class ProProjectApplyDetailCheck extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 详情主键 */
@Excel(name = "详情主键")
private Long detailId;
/** 验收值 */
@Excel(name = "验收值")
private String checkValue;
/** 验收价格 */
@Excel(name = "验收价格")
private BigDecimal checkPrice;
public void setDetailId(Long detailId)
{
this.detailId = detailId;
}
public Long getDetailId()
{
return detailId;
}
public void setCheckValue(String checkValue)
{
this.checkValue = checkValue;
}
public String getCheckValue()
{
return checkValue;
}
public void setCheckPrice(BigDecimal checkPrice)
{
this.checkPrice = checkPrice;
}
public BigDecimal getCheckPrice()
{
return checkPrice;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("detailId", getDetailId())
.append("checkValue", getCheckValue())
.append("checkPrice", getCheckPrice())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@ -0,0 +1,62 @@
package com.yanzhu.project.mapper;
import com.yanzhu.project.domain.ProProjectApplyDetailCheck;
import java.util.List;
/**
* Mapper
*
* @author yanZhu
* @date 2024-09-01
*/
public interface ProProjectApplyDetailCheckMapper
{
/**
*
*
* @param detailId
* @return
*/
public List<ProProjectApplyDetailCheck> selectProProjectApplyDetailCheckByDetailId(Long detailId);
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
public List<ProProjectApplyDetailCheck> selectProProjectApplyDetailCheckList(ProProjectApplyDetailCheck proProjectApplyDetailCheck);
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
public int insertProProjectApplyDetailCheck(ProProjectApplyDetailCheck proProjectApplyDetailCheck);
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
public int updateProProjectApplyDetailCheck(ProProjectApplyDetailCheck proProjectApplyDetailCheck);
/**
*
*
* @param detailId
* @return
*/
public int deleteProProjectApplyDetailCheckByDetailId(Long detailId);
/**
*
*
* @param detailIds
* @return
*/
public int deleteProProjectApplyDetailCheckByDetailIds(Long[] detailIds);
}

View File

@ -1,6 +1,8 @@
package com.yanzhu.project.mapper; package com.yanzhu.project.mapper;
import java.util.List; import java.util.List;
import java.util.Map;
import com.yanzhu.project.domain.ProProjectApply; import com.yanzhu.project.domain.ProProjectApply;
import com.yanzhu.project.domain.ProProjectApplyDetail; import com.yanzhu.project.domain.ProProjectApplyDetail;
@ -28,6 +30,14 @@ public interface ProProjectApplyMapper
*/ */
public List<ProProjectApply> selectProProjectApplyList(ProProjectApply proProjectApply); public List<ProProjectApply> selectProProjectApplyList(ProProjectApply proProjectApply);
/**
*
*
* @param proProjectApply
* @return
*/
public List<Map<String,Object>> findGroupCountByStatus(ProProjectApply proProjectApply);
/** /**
* *
* *
@ -84,4 +94,8 @@ public interface ProProjectApplyMapper
* @return * @return
*/ */
public int deleteProProjectApplyDetailByApplyId(Long id); public int deleteProProjectApplyDetailByApplyId(Long id);
public ProProjectApplyDetail selectProProjectApplyDetailById(Long id);
public int updateProProjectApplyDetail(ProProjectApplyDetail proProjectApplyDetail);
} }

View File

@ -0,0 +1,62 @@
package com.yanzhu.project.service;
import com.yanzhu.project.domain.ProProjectApplyDetailCheck;
import java.util.List;
/**
* Service
*
* @author yanZhu
* @date 2024-09-01
*/
public interface IProProjectApplyDetailCheckService
{
/**
*
*
* @param detailId
* @return
*/
public List<ProProjectApplyDetailCheck> selectProProjectApplyDetailCheckByDetailId(Long detailId);
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
public List<ProProjectApplyDetailCheck> selectProProjectApplyDetailCheckList(ProProjectApplyDetailCheck proProjectApplyDetailCheck);
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
public int insertProProjectApplyDetailCheck(ProProjectApplyDetailCheck proProjectApplyDetailCheck);
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
public int updateProProjectApplyDetailCheck(ProProjectApplyDetailCheck proProjectApplyDetailCheck);
/**
*
*
* @param detailIds
* @return
*/
public int deleteProProjectApplyDetailCheckByDetailIds(Long[] detailIds);
/**
*
*
* @param detailId
* @return
*/
public int deleteProProjectApplyDetailCheckByDetailId(Long detailId);
}

View File

@ -1,6 +1,8 @@
package com.yanzhu.project.service; package com.yanzhu.project.service;
import java.util.List; import java.util.List;
import java.util.Map;
import com.yanzhu.project.domain.ProProjectApply; import com.yanzhu.project.domain.ProProjectApply;
/** /**
@ -27,6 +29,14 @@ public interface IProProjectApplyService
*/ */
public List<ProProjectApply> selectProProjectApplyList(ProProjectApply proProjectApply); public List<ProProjectApply> selectProProjectApplyList(ProProjectApply proProjectApply);
/**
*
*
* @param proProjectApply
* @return
*/
public List<Map<String,Object>> findGroupCountByStatus(ProProjectApply proProjectApply);
/** /**
* *
* *
@ -35,6 +45,14 @@ public interface IProProjectApplyService
*/ */
public int insertProProjectApply(ProProjectApply proProjectApply); public int insertProProjectApply(ProProjectApply proProjectApply);
/**
*
*
* @param proProjectApply
* @return
*/
public int insertMyProProjectApplyDetail(ProProjectApply proProjectApply);
/** /**
* *
* *

View File

@ -0,0 +1,111 @@
package com.yanzhu.project.service.impl;
import com.yanzhu.common.core.text.Convert;
import com.yanzhu.common.utils.DateUtils;
import com.yanzhu.common.utils.SecurityUtils;
import com.yanzhu.project.domain.ProProjectApplyDetail;
import com.yanzhu.project.domain.ProProjectApplyDetailCheck;
import com.yanzhu.project.mapper.ProProjectApplyDetailCheckMapper;
import com.yanzhu.project.mapper.ProProjectApplyMapper;
import com.yanzhu.project.service.IProProjectApplyDetailCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Service
*
* @author yanZhu
* @date 2024-09-01
*/
@Service
public class ProProjectApplyDetailCheckServiceImpl implements IProProjectApplyDetailCheckService
{
@Autowired
private ProProjectApplyMapper proProjectApplyMapper;
@Autowired
private ProProjectApplyDetailCheckMapper proProjectApplyDetailCheckMapper;
/**
*
*
* @param detailId
* @return
*/
@Override
public List<ProProjectApplyDetailCheck> selectProProjectApplyDetailCheckByDetailId(Long detailId)
{
return proProjectApplyDetailCheckMapper.selectProProjectApplyDetailCheckByDetailId(detailId);
}
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
@Override
public List<ProProjectApplyDetailCheck> selectProProjectApplyDetailCheckList(ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
return proProjectApplyDetailCheckMapper.selectProProjectApplyDetailCheckList(proProjectApplyDetailCheck);
}
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
@Override
public int insertProProjectApplyDetailCheck(ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
proProjectApplyDetailCheck.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName());
proProjectApplyDetailCheck.setCreateTime(DateUtils.getNowDate());
int res = proProjectApplyDetailCheckMapper.insertProProjectApplyDetailCheck(proProjectApplyDetailCheck);
if(res>0){
ProProjectApplyDetail proProjectApplyDetail = proProjectApplyMapper.selectProProjectApplyDetailById(proProjectApplyDetailCheck.getDetailId());
proProjectApplyDetail.setIsChecked(1);
proProjectApplyDetail.setCheckedTotalValue(Convert.toStr(Convert.toDouble(proProjectApplyDetail.getCheckedTotalValue())+Convert.toDouble(proProjectApplyDetailCheck.getCheckValue())));
proProjectApplyMapper.updateProProjectApplyDetail(proProjectApplyDetail);
}
return res;
}
/**
*
*
* @param proProjectApplyDetailCheck
* @return
*/
@Override
public int updateProProjectApplyDetailCheck(ProProjectApplyDetailCheck proProjectApplyDetailCheck)
{
return proProjectApplyDetailCheckMapper.updateProProjectApplyDetailCheck(proProjectApplyDetailCheck);
}
/**
*
*
* @param detailIds
* @return
*/
@Override
public int deleteProProjectApplyDetailCheckByDetailIds(Long[] detailIds)
{
return proProjectApplyDetailCheckMapper.deleteProProjectApplyDetailCheckByDetailIds(detailIds);
}
/**
*
*
* @param detailId
* @return
*/
@Override
public int deleteProProjectApplyDetailCheckByDetailId(Long detailId)
{
return proProjectApplyDetailCheckMapper.deleteProProjectApplyDetailCheckByDetailId(detailId);
}
}

View File

@ -14,6 +14,9 @@ import com.yanzhu.system.mapper.SysDictDataMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map;
import java.util.Objects;
import com.yanzhu.common.utils.StringUtils; import com.yanzhu.common.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.yanzhu.project.domain.ProProjectApplyDetail; import com.yanzhu.project.domain.ProProjectApplyDetail;
@ -48,6 +51,16 @@ public class ProProjectApplyServiceImpl implements IProProjectApplyService
return proProjectApplyMapper.selectProProjectApplyById(id); return proProjectApplyMapper.selectProProjectApplyById(id);
} }
/**
*
*
* @param proProjectApply
* @return
*/
public List<Map<String,Object>> findGroupCountByStatus(ProProjectApply proProjectApply){
return proProjectApplyMapper.findGroupCountByStatus(proProjectApply);
}
/** /**
* *
* *
@ -147,7 +160,7 @@ public class ProProjectApplyServiceImpl implements IProProjectApplyService
* *
* @param proProjectApply * @param proProjectApply
*/ */
public void insertProProjectApplyDetail(ProProjectApply proProjectApply) private void insertProProjectApplyDetail(ProProjectApply proProjectApply)
{ {
List<ProProjectApplyDetail> proProjectApplyDetailList = proProjectApply.getProProjectApplyDetailList(); List<ProProjectApplyDetail> proProjectApplyDetailList = proProjectApply.getProProjectApplyDetailList();
Long id = proProjectApply.getId(); Long id = proProjectApply.getId();
@ -164,10 +177,11 @@ public class ProProjectApplyServiceImpl implements IProProjectApplyService
if(StringUtils.isEmpty(proProjectApplyDetail.getAssetsName())){ if(StringUtils.isEmpty(proProjectApplyDetail.getAssetsName())){
BaseAssetsType baseAssetsType = baseAssetsTypeMapper.selectBaseAssetsTypeById(proProjectApplyDetail.getAssetsId()); BaseAssetsType baseAssetsType = baseAssetsTypeMapper.selectBaseAssetsTypeById(proProjectApplyDetail.getAssetsId());
proProjectApplyDetail.setAssetsName(baseAssetsType.getName()); proProjectApplyDetail.setAssetsName(baseAssetsType.getName());
//为空时,重新查询并赋值 }
if(proProjectApplyDetail.getTypeId()!=null && StringUtils.isEmpty(proProjectApplyDetail.getTypeName())){ if(Objects.nonNull(proProjectApplyDetail.getTypeId())){
if(StringUtils.isEmpty(proProjectApplyDetail.getTypeName())){
//资产类型 //资产类型
BaseAssetsType parentAssetsType = baseAssetsTypeMapper.selectBaseAssetsTypeById(baseAssetsType.getParentId()); BaseAssetsType parentAssetsType = baseAssetsTypeMapper.selectBaseAssetsTypeById(proProjectApplyDetail.getTypeId());
proProjectApplyDetail.setTypeName(parentAssetsType.getName()); proProjectApplyDetail.setTypeName(parentAssetsType.getName());
} }
} }
@ -180,4 +194,18 @@ public class ProProjectApplyServiceImpl implements IProProjectApplyService
} }
} }
} }
/**
*
*
* @param proProjectApply
* @return
*/
public int insertMyProProjectApplyDetail(ProProjectApply proProjectApply){
ProProjectApply entity = proProjectApplyMapper.selectProProjectApplyById(proProjectApply.getId());
entity.setProProjectApplyDetailList(proProjectApply.getProProjectApplyDetailList());
insertProProjectApplyDetail(entity);
return 1;
}
} }

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yanzhu.project.mapper.ProProjectApplyDetailCheckMapper">
<resultMap type="ProProjectApplyDetailCheck" id="ProProjectApplyDetailCheckResult">
<result property="detailId" column="detail_id" />
<result property="checkValue" column="check_value" />
<result property="checkPrice" column="check_price" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectProProjectApplyDetailCheckVo">
select detail_id, check_value, check_price, create_by, create_time from pro_project_apply_detail_check
</sql>
<select id="selectProProjectApplyDetailCheckList" parameterType="ProProjectApplyDetailCheck" resultMap="ProProjectApplyDetailCheckResult">
<include refid="selectProProjectApplyDetailCheckVo"/>
<where>
<if test="detailId != null "> and detail_id = #{detailId}</if>
</where>
order by create_time desc
</select>
<select id="selectProProjectApplyDetailCheckByDetailId" parameterType="Long" resultMap="ProProjectApplyDetailCheckResult">
<include refid="selectProProjectApplyDetailCheckVo"/>
where detail_id = #{detailId}
order by create_time desc
</select>
<insert id="insertProProjectApplyDetailCheck" parameterType="ProProjectApplyDetailCheck">
insert into pro_project_apply_detail_check
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="detailId != null">detail_id,</if>
<if test="checkValue != null">check_value,</if>
<if test="checkPrice != null">check_price,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="detailId != null">#{detailId},</if>
<if test="checkValue != null">#{checkValue},</if>
<if test="checkPrice != null">#{checkPrice},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateProProjectApplyDetailCheck" parameterType="ProProjectApplyDetailCheck">
update pro_project_apply_detail_check
<trim prefix="SET" suffixOverrides=",">
<if test="checkValue != null">check_value = #{checkValue},</if>
<if test="checkPrice != null">check_price = #{checkPrice},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where detail_id = #{detailId}
</update>
<delete id="deleteProProjectApplyDetailCheckByDetailId" parameterType="Long">
delete from pro_project_apply_detail_check where detail_id = #{detailId}
</delete>
<delete id="deleteProProjectApplyDetailCheckByDetailIds" parameterType="String">
delete from pro_project_apply_detail_check where detail_id in
<foreach item="detailId" collection="array" open="(" separator="," close=")">
#{detailId}
</foreach>
</delete>
</mapper>

View File

@ -16,9 +16,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="applyFiles" column="apply_files" /> <result property="applyFiles" column="apply_files" />
<result property="applyUser" column="apply_user" /> <result property="applyUser" column="apply_user" />
<result property="useTime" column="use_time" /> <result property="useTime" column="use_time" />
<result property="qrPath" column="qr_path" />
<result property="isDel" column="is_del" /> <result property="isDel" column="is_del" />
<result property="createByDeptName" column="createByDeptName" /> <result property="createByDeptName" column="createByDeptName" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createByName" column="create_by_name" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
@ -45,6 +47,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="useReason" column="sub_use_reason" /> <result property="useReason" column="sub_use_reason" />
<result property="price" column="sub_price" /> <result property="price" column="sub_price" />
<result property="totalPrice" column="sub_total_price" /> <result property="totalPrice" column="sub_total_price" />
<result property="pushType" column="sub_push_type" />
<result property="checkedTotalValue" column="sub_checked_total_value" />
<result property="isChecked" column="sub_is_checked" />
<result property="isDel" column="sub_is_del" /> <result property="isDel" column="sub_is_del" />
<result property="createBy" column="sub_create_by" /> <result property="createBy" column="sub_create_by" />
<result property="createTime" column="sub_create_time" /> <result property="createTime" column="sub_create_time" />
@ -54,33 +59,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectProProjectApplyVo"> <sql id="selectProProjectApplyVo">
select id, dept_id, proj_id, proj_name, par_proj_name, apply_type, apply_status, apply_reason, apply_files, apply_user, use_time, is_del, create_by, create_time, update_by, update_time, remark from pro_project_apply select pa.id, pa.dept_id, sd.dept_name as createByDeptName, pa.proj_id, pa.proj_name, pa.par_proj_name, pa.apply_type, pa.apply_status, pa.apply_reason, pa.apply_files, pa.apply_user, pa.use_time, pa.qr_path, pa.is_del, pa.create_by, pa.create_time, pa.update_by, pa.update_time, pa.remark from pro_project_apply pa
left join sys_dept sd on sd.dept_id = pa.dept_id
</sql> </sql>
<select id="selectProProjectApplyList" parameterType="ProProjectApply" resultMap="ProProjectApplyResult"> <select id="selectProProjectApplyList" parameterType="ProProjectApply" resultMap="ProProjectApplyResult">
<include refid="selectProProjectApplyVo"/> <include refid="selectProProjectApplyVo"/>
<where> <where>
<if test="deptId != null "> and dept_id = #{deptId}</if> <if test="deptId != null "> and pa.dept_id = #{deptId}</if>
<if test="projId != null "> and proj_id = #{projId}</if> <if test="projId != null "> and pa.proj_id = #{projId}</if>
<if test="projName != null and projName != ''"> and proj_name like concat('%', #{projName}, '%')</if> <if test="projName != null and projName != ''"> and pa.proj_name like concat('%', #{projName}, '%')</if>
<if test="parProjName != null and parProjName != ''"> and par_proj_name like concat('%', #{parProjName}, '%')</if> <if test="parProjName != null and parProjName != ''"> and pa.par_proj_name like concat('%', #{parProjName}, '%')</if>
<if test="applyType != null and applyType != ''"> and apply_type = #{applyType}</if> <if test="applyType != null and applyType != ''"> and pa.apply_type = #{applyType}</if>
<if test="applyStatus != null and applyStatus != ''"> and apply_status = #{applyStatus}</if> <if test="applyStatus != null and applyStatus != ''"> and pa.apply_status = #{applyStatus}</if>
<if test="applyUser != null "> and apply_user = #{applyUser}</if> <if test="applyUser != null "> and pa.apply_user = #{applyUser}</if>
<if test="useTime != null "> and use_time = #{useTime}</if> <if test="useTime != null "> and pa.use_time = #{useTime}</if>
<if test="isDel != null and isDel != ''"> and is_del = #{isDel}</if> <if test="isDel != null and isDel != ''"> and pa.is_del = #{isDel}</if>
<if test="deptAncestors != null and deptAncestors != ''"> and find_in_set(pa.dept_id, #{deptAncestors})</if>
</where> </where>
order by pa.id desc
</select> </select>
<select id="selectProProjectApplyById" parameterType="Long" resultMap="ProProjectApplyProProjectApplyDetailResult"> <select id="selectProProjectApplyById" parameterType="Long" resultMap="ProProjectApplyProProjectApplyDetailResult">
select a.id, a.dept_id, a.proj_id, a.proj_name, a.par_proj_name, a.apply_type, a.apply_status, a.apply_reason, a.apply_files, a.apply_user, a.use_time, a.is_del, sd.dept_name as createByDeptName, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, select a.id, a.dept_id, a.proj_id, a.proj_name, a.par_proj_name, a.apply_type, a.apply_status, a.apply_reason, a.apply_files, a.apply_user, a.use_time, a.qr_path, a.is_del, sd.dept_name as createByDeptName, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,
b.id as sub_id, b.apply_id as sub_apply_id, b.super_type_key as sub_super_type_key, b.super_type_name as sub_super_type_name, b.type_id as sub_type_id, b.type_name as sub_type_name, b.assets_id as sub_assets_id, b.assets_name as sub_assets_name, b.assets_version as sub_assets_version, b.assets_unit as sub_assets_unit, b.number as sub_number, b.use_time as sub_use_time, b.use_reason as sub_use_reason, b.price as sub_price, b.total_price as sub_total_price, b.is_del as sub_is_del, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time, b.remark as sub_remark b.id as sub_id, b.apply_id as sub_apply_id, b.super_type_key as sub_super_type_key, b.super_type_name as sub_super_type_name, b.type_id as sub_type_id, b.type_name as sub_type_name, b.assets_id as sub_assets_id, b.assets_name as sub_assets_name, b.assets_version as sub_assets_version, b.assets_unit as sub_assets_unit, b.number as sub_number, b.use_time as sub_use_time, b.use_reason as sub_use_reason, b.price as sub_price, b.total_price as sub_total_price, b.push_type as sub_push_type, b.checked_total_value as sub_checked_total_value, b.is_checked as sub_is_checked, b.is_del as sub_is_del, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time, b.remark as sub_remark
from pro_project_apply a from pro_project_apply a
left join sys_dept sd on a.dept_id = sd.dept_id left join sys_dept sd on a.dept_id = sd.dept_id
left join pro_project_apply_detail b on b.apply_id = a.id left join pro_project_apply_detail b on b.apply_id = a.id
where a.id = #{id} where a.id = #{id}
</select> </select>
<select id="findGroupCountByStatus" parameterType="ProProjectApply" resultType="Map">
select pa.apply_status as applyStatus, count(1) as total from pro_project_apply pa
<where>
pa.apply_status != '1'
<if test="deptId != null "> and pa.dept_id = #{deptId}</if>
<if test="projId != null "> and pa.proj_id = #{projId}</if>
<if test="projName != null and projName != ''"> and pa.proj_name like concat('%', #{projName}, '%')</if>
<if test="parProjName != null and parProjName != ''"> and pa.par_proj_name like concat('%', #{parProjName}, '%')</if>
<if test="applyType != null and applyType != ''"> and pa.apply_type = #{applyType}</if>
<if test="applyUser != null "> and pa.apply_user = #{applyUser}</if>
<if test="useTime != null "> and pa.use_time = #{useTime}</if>
<if test="isDel != null and isDel != ''"> and pa.is_del = #{isDel}</if>
<if test="deptAncestors != null and deptAncestors != ''"> and find_in_set(pa.dept_id, #{deptAncestors})</if>
</where>
group by pa.apply_status
</select>
<insert id="insertProProjectApply" parameterType="ProProjectApply" useGeneratedKeys="true" keyProperty="id"> <insert id="insertProProjectApply" parameterType="ProProjectApply" useGeneratedKeys="true" keyProperty="id">
insert into pro_project_apply insert into pro_project_apply
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -94,6 +119,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyFiles != null">apply_files,</if> <if test="applyFiles != null">apply_files,</if>
<if test="applyUser != null">apply_user,</if> <if test="applyUser != null">apply_user,</if>
<if test="useTime != null">use_time,</if> <if test="useTime != null">use_time,</if>
<if test="qrPath != null">qr_path,</if>
<if test="isDel != null">is_del,</if> <if test="isDel != null">is_del,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
@ -112,6 +138,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyFiles != null">#{applyFiles},</if> <if test="applyFiles != null">#{applyFiles},</if>
<if test="applyUser != null">#{applyUser},</if> <if test="applyUser != null">#{applyUser},</if>
<if test="useTime != null">#{useTime},</if> <if test="useTime != null">#{useTime},</if>
<if test="qrPath != null">#{qrPath},</if>
<if test="isDel != null">#{isDel},</if> <if test="isDel != null">#{isDel},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
@ -134,6 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyFiles != null">apply_files = #{applyFiles},</if> <if test="applyFiles != null">apply_files = #{applyFiles},</if>
<if test="applyUser != null">apply_user = #{applyUser},</if> <if test="applyUser != null">apply_user = #{applyUser},</if>
<if test="useTime != null">use_time = #{useTime},</if> <if test="useTime != null">use_time = #{useTime},</if>
<if test="qrPath != null">qr_path = #{qrPath},</if>
<if test="isDel != null">is_del = #{isDel},</if> <if test="isDel != null">is_del = #{isDel},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
@ -167,9 +195,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<insert id="batchProProjectApplyDetail"> <insert id="batchProProjectApplyDetail">
insert into pro_project_apply_detail( id, apply_id, super_type_key, super_type_name, type_id, type_name, assets_id, assets_name, assets_unit, assets_version, number, use_time, use_reason, price, total_price, is_del, create_by, create_time, update_by, update_time, remark) values insert into pro_project_apply_detail( id, apply_id, super_type_key, super_type_name, type_id, type_name, assets_id, assets_name, assets_unit, assets_version, number, use_time, use_reason, price, total_price, push_type, is_checked, is_del, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=","> <foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.applyId}, #{item.superTypeKey}, #{item.superTypeName}, #{item.typeId}, #{item.typeName}, #{item.assetsId}, #{item.assetsName}, #{item.assetsVersion}, #{item.assetsUnit}, #{item.number}, #{item.useTime}, #{item.useReason}, #{item.price}, #{item.totalPrice}, #{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark}) ( #{item.id}, #{item.applyId}, #{item.superTypeKey}, #{item.superTypeName}, #{item.typeId}, #{item.typeName}, #{item.assetsId}, #{item.assetsName}, #{item.assetsUnit}, #{item.assetsVersion}, #{item.number}, #{item.useTime}, #{item.useReason}, #{item.price}, #{item.totalPrice}, #{item.pushType}, #{item.isChecked}, #{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach> </foreach>
</insert> </insert>
<select id="selectProProjectApplyDetailById" parameterType="Long" resultMap="ProProjectApplyDetailResult">
select * from pro_project_apply_detail where id = #{id}
</select>
<update id="updateProProjectApplyDetail" parameterType="ProProjectApplyDetail">
update pro_project_apply_detail
<trim prefix="SET" suffixOverrides=",">
<if test="checkedTotalValue != null">checked_total_value = #{checkedTotalValue},</if>
<if test="isChecked != null">is_checked = #{isChecked},</if>
</trim>
where id = #{id}
</update>
</mapper> </mapper>

View File

@ -117,4 +117,12 @@ public interface SysDeptMapper
public int deleteDeptById(Long deptId); public int deleteDeptById(Long deptId);
public int deleteDeepDeptById(Long deptId); public int deleteDeepDeptById(Long deptId);
/**
* ID
*
* @param ids ID
* @return
*/
public List<SysDept> selectParentDeptByIds(List<Long> ids);
} }

View File

@ -150,4 +150,12 @@ public interface ISysDeptService
* @return * @return
*/ */
public int inertSubProject(SysDept dept); public int inertSubProject(SysDept dept);
/**
* ID
*
* @param ids ID
* @return
*/
public List<SysDept> selectParentDeptByIds(List<Long> ids);
} }

View File

@ -413,5 +413,14 @@ public class SysDeptServiceImpl implements ISysDeptService
return deptMapper.deleteDeepDeptById(deptId); return deptMapper.deleteDeepDeptById(deptId);
} }
/**
* ID
*
* @param ids ID
* @return
*/
@Override
public List<SysDept> selectParentDeptByIds(List<Long> ids){
return deptMapper.selectParentDeptByIds(ids);
}
} }

View File

@ -53,16 +53,11 @@
<if test="assigneeId != null and assigneeId != '' and roleIds !=null and roleIds.size()>0"> <if test="assigneeId != null and assigneeId != '' and roleIds !=null and roleIds.size()>0">
AND (fa.ASSIGNEE_ = #{assigneeId} AND (fa.ASSIGNEE_ = #{assigneeId}
OR ( OR (
fa.ASSIGNEE_ IS NULL fa.ASSIGNEE_ IS NULL
AND ( AND fa.GROUP_ID_ IN
fa.USER_ID_ = #{assigneeId} <foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
OR ( #{roleId}
fa.GROUP_ID_ IN </foreach>
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
#{roleId}
</foreach>
)
)
) )
) )
</if> </if>

View File

@ -170,4 +170,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete id="deleteDeepDeptById" parameterType="Long"> <delete id="deleteDeepDeptById" parameterType="Long">
update sys_dept set del_flag = '2' where parent_id =#{deptId} or dept_id = #{deptId} update sys_dept set del_flag = '2' where parent_id =#{deptId} or dept_id = #{deptId}
</delete> </delete>
<select id="selectParentDeptByIds" parameterType="list" resultMap="SysDeptResult">
select * from sys_dept where status = 0 and del_flag = '0' and level=300
and dept_id in
<foreach collection="ids" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
order by id desc
</select>
</mapper> </mapper>

View File

@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false }) NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register'] const whiteList = ['/login', '/register', "/ApplyDetail"]
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()

View File

@ -61,6 +61,11 @@ export const constantRoutes = [
component: () => import('@/views/error/401'), component: () => import('@/views/error/401'),
hidden: true hidden: true
}, },
{
path: '/ApplyDetail',
component: () => import('@/views/ApplyDetail/index'),
hidden: true
},
{ {
path: '', path: '',
component: Layout, component: Layout,

View File

@ -0,0 +1,234 @@
<template>
<div class="app-container">
<div class="inspect_max">
<div class="inspect_list" v-if="dataList.length > 0">
<div class="inspect_for" v-for="(item, index) in dataList">
<div class="inspect_for_bgd">
<div class="inspect_list_title">
<div class="inspect_list_title_label inspect_list_title_width">
<div class="inspect_list_title_number">
{{ index < 9 ? "0" + (index + 1) : index + 1 }}
</div>
<div class="module_title module_title_flex inspect_list_title_text">
{{ dataInfo.useTime }}
</div>
</div>
</div>
<div class="inspect_shtg">
<div class="inspect_list_info_details">
<div class="inspect_list_info_data">
<div class="inspect_list_info_data_prop">
采购项目{{ dataInfo.projName }}
</div>
<div class="inspect_list_info_data_prop">
采购内容{{ item.typeName + " > " + item.assetsName }}
</div>
<div class="inspect_list_info_data_prop">
采购数量{{ item.number + " " + item.assetsUnit }}
</div>
<div class="inspect_list_info_data_prop" v-if="item.assetsVersion">
规格型号{{ item.assetsVersion }}
</div>
<div class="inspect_list_info_data_prop" v-if="item.checkedTotalValue">
验收数量{{ item.checkedTotalValue }}
<el-tag size="small">{{ item.assetsUnit }}</el-tag>
</div>
</div>
</div>
<div class="inspect_list_info_position">使用原因{{ item.useReason }}</div>
</div>
</div>
</div>
</div>
<div v-if="dataList.length == 0">
<div style="padding-top: 70px; text-align: -webkit-center">
<el-image
src="https://szgcwx.jhncidg.com/staticFiles/nodata.png"
style="width: 200px; height: 135px"
></el-image>
<div style="color: #a5abbb; margin-top: 20px"> </div>
</div>
</div>
</div>
</div>
</template>
<script>
import { getProjectApply } from "@/api/project/projectApply";
export default {
name: "ApplyDetail",
data() {
return {
dataInfo: {},
dataList: [],
};
},
created() {
this.getList();
},
methods: {
getList() {
let queryParams = this.$route.query; //
let applyId = queryParams.applyId;
getProjectApply(applyId).then((response) => {
this.dataInfo = response.data;
this.dataList = response.data.proProjectApplyDetailList || [];
});
},
},
};
</script>
<style scope>
.app-container {
height: 100%;
background-image: url("https://szgc.jhncidg.com/profile/static/bg.png");
background-size: 100% 100%;
}
.el-form--label-top .el-form-item__label {
padding: 0 !important;
}
.el-input__suffix {
right: 10px !important;
}
.el-alert {
display: flex !important;
}
.el-alert--info.is-light {
background: cornflowerblue !important;
color: #ffffff !important;
}
.el-alert--info .el-alert__description {
color: #ffffff !important;
}
.el-select-dropdown {
left: 20px !important;
right: 20px !important;
}
.sel {
width: 100%;
}
.el-alert__closebtn {
color: #f3cd46 !important;
font-weight: 900 !important;
}
.el-result__title {
font-weight: 900 !important;
}
.el-result__extra {
width: 100% !important;
}
.inspect_max {
padding: 0;
}
.inspect_list {
padding: 5px 0;
}
.inspect_for {
padding: 10px 0;
font-size: 13px;
}
.inspect_for_bgd {
background: #d3e0ed;
padding: 0 15px;
border-radius: 5px 5px 0 0;
}
.inspect_list_title {
border-bottom: 1px solid #323b86;
height: 40px;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 900;
}
.inspect_list_title_label {
display: flex;
align-items: center;
width: calc(100% - 75px);
}
.inspect_list_title_width {
width: 100%;
}
.inspect_list_title_number {
width: 40px;
height: 40px;
border-bottom: 1px solid #000000;
text-align: center;
line-height: 40px;
color: #000000;
}
.inspect_list_title_text {
width: calc(100% - 40px);
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.module_title_flex {
display: flex;
align-items: center;
justify-content: space-between;
}
.module_title {
height: 20px;
line-height: 20px;
padding-left: 20px;
background: url("https://szgcwx.jhncidg.com/staticFiles/images/lw_8.png") no-repeat
left/17px;
}
.inspect_shtg {
padding: 15px 3px;
background-size: 80px 80px !important;
background: url("https://szgcwx.jhncidg.com/staticFiles/images/shtg.png") no-repeat top
10px right;
}
.inspect_list_info_details {
display: flex;
align-items: center;
}
.inspect_list_info_data {
width: 100%;
}
.inspect_list_info_data_prop {
padding: 5px 0;
word-break: break-all;
}
.inspect_list_info_position {
padding-bottom: 2px;
}
.button-active {
color: #ffffff;
width: 90% !important;
background-color: #1890ff !important;
border-color: #1890ff !important;
}
.button-dis {
color: #000000;
width: 90% !important;
background-color: #e6ebf5 !important;
border-color: #e6ebf5 !important;
}
.block {
border-radius: 5px;
}
.el-timeline {
padding-left: 5px !important;
}
.el-timeline-item__wrapper {
padding-left: 15px !important;
}
.el-timeline-item__content {
font-weight: 900;
}
.el-card {
border: 0px !important;
background-color: #d3e0ed !important;
}
.el-card__body {
border: 0px !important;
padding: 0px !important;
padding-right: 10px !important;
font-weight: 500 !important;
}
.el-image {
margin-right: 6px !important;
}
</style>