合同列表部分修改

jg-waiwang-pro
mhsnet 8 months ago
parent ff032f4e9e
commit 1bd5c59330

@ -0,0 +1,7 @@
<?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="jnpf.mapper.ContractLPriceFormulaMapper">
</mapper>

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLCommodityMapper extends BaseMapper<ContractLCommodityEntity> {

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLFeeClauseMapper extends BaseMapper<ContractLFeeClauseEntity> {

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLMapper extends BaseMapper<ContractLEntity> {

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLPaymentMapper extends BaseMapper<ContractLPaymentEntity> {

@ -0,0 +1,16 @@
package jnpf.mapper;
import jnpf.entity.ContractLPriceFormulaEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* ContractL
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-22
*/
public interface ContractLPriceFormulaMapper extends BaseMapper<ContractLPriceFormulaEntity> {
}

@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLCommodityService extends IService<ContractLCommodityEntity> {
QueryWrapper<ContractLCommodityEntity> getChild(ContractLPagination pagination,QueryWrapper<ContractLCommodityEntity> contractLCommodityQueryWrapper);

@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLFeeClauseService extends IService<ContractLFeeClauseEntity> {
QueryWrapper<ContractLFeeClauseEntity> getChild(ContractLPagination pagination,QueryWrapper<ContractLFeeClauseEntity> contractLFeeClauseQueryWrapper);

@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLPaymentService extends IService<ContractLPaymentEntity> {
QueryWrapper<ContractLPaymentEntity> getChild(ContractLPagination pagination,QueryWrapper<ContractLPaymentEntity> contractLPaymentQueryWrapper);

@ -0,0 +1,18 @@
package jnpf.service;
import jnpf.model.contractl.*;
import jnpf.entity.*;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
/**
* ContractL
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-22
*/
public interface ContractLPriceFormulaService extends IService<ContractLPriceFormulaEntity> {
QueryWrapper<ContractLPriceFormulaEntity> getChild(ContractLPagination pagination,QueryWrapper<ContractLPriceFormulaEntity> contractLPriceFormulaQueryWrapper);
}

@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
public interface ContractLService extends IService<ContractLEntity> {
List<ContractLEntity> getList(ContractLPagination contractLPagination);
@ -27,6 +27,10 @@ public interface ContractLService extends IService<ContractLEntity> {
boolean update(String id, ContractLEntity entity);
//子表方法
List<ContractLPriceFormulaEntity> getContractLPriceFormulaList(String id,ContractLPagination contractLPagination);
List<ContractLPriceFormulaEntity> getContractLPriceFormulaList(String id);
List<ContractLCommodityEntity> getContractLCommodityList(String id,ContractLPagination contractLPagination);
List<ContractLCommodityEntity> getContractLCommodityList(String id);

@ -33,7 +33,7 @@ import jnpf.permission.entity.UserEntity;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Service
public class ContractLCommodityServiceImpl extends ServiceImpl<ContractLCommodityMapper, ContractLCommodityEntity> implements ContractLCommodityService{

@ -33,7 +33,7 @@ import jnpf.permission.entity.UserEntity;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Service
public class ContractLFeeClauseServiceImpl extends ServiceImpl<ContractLFeeClauseMapper, ContractLFeeClauseEntity> implements ContractLFeeClauseService{

@ -33,7 +33,7 @@ import jnpf.permission.entity.UserEntity;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Service
public class ContractLPaymentServiceImpl extends ServiceImpl<ContractLPaymentMapper, ContractLPaymentEntity> implements ContractLPaymentService{

@ -0,0 +1,59 @@
package jnpf.service.impl;
import jnpf.entity.*;
import jnpf.mapper.ContractLPriceFormulaMapper;
import jnpf.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.model.contractl.*;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.util.GeneraterSwapUtil;
import jnpf.database.model.superQuery.SuperQueryJsonModel;
import jnpf.database.model.superQuery.ConditionJsonModel;
import jnpf.database.model.superQuery.SuperQueryConditionModel;
import jnpf.model.QueryModel;
import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.database.model.superQuery.SuperJsonModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import java.util.*;
import jnpf.base.UserInfo;
import jnpf.permission.entity.UserEntity;
/**
*
* ContractL
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-22
*/
@Service
public class ContractLPriceFormulaServiceImpl extends ServiceImpl<ContractLPriceFormulaMapper, ContractLPriceFormulaEntity> implements ContractLPriceFormulaService{
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private UserProvider userProvider;
//子表过滤方法
@Override
public QueryWrapper<ContractLPriceFormulaEntity> getChild(ContractLPagination pagination, QueryWrapper<ContractLPriceFormulaEntity> contractLPriceFormulaQueryWrapper){
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
String ruleQueryJson = isPc?ContractLConstant.getColumnData():ContractLConstant.getAppColumnData();
ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson,ColumnDataModel.class);
String ruleJson = isPc?JsonUtil.getObjectToString(dataModel.getRuleList()):JsonUtil.getObjectToString(dataModel.getRuleListApp());
if(isPc){
}
return contractLPriceFormulaQueryWrapper;
}
}

@ -36,7 +36,7 @@ import jnpf.permission.entity.UserEntity;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Service
public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractLEntity> implements ContractLService{
@ -46,6 +46,8 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
@Autowired
private UserProvider userProvider;
@Autowired
private ContractLPriceFormulaService contractLPriceFormulaService;
@Autowired
private ContractLCommodityService contractLCommodityService;
@Autowired
@ -76,9 +78,12 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
QueryWrapper<ContractLFeeClauseEntity> contractLFeeClauseQueryWrapper=new QueryWrapper<>();
int contractLPaymentNum =0;
QueryWrapper<ContractLPaymentEntity> contractLPaymentQueryWrapper=new QueryWrapper<>();
int contractLPriceFormulaNum =0;
QueryWrapper<ContractLPriceFormulaEntity> contractLPriceFormulaQueryWrapper=new QueryWrapper<>();
long contractLCommoditycount = contractLCommodityService.count();
long contractLFeeClausecount = contractLFeeClauseService.count();
long contractLPaymentcount = contractLPaymentService.count();
long contractLPriceFormulacount = contractLPriceFormulaService.count();
List<String> allSuperIDlist = new ArrayList<>();
String superOp ="";
if (ObjectUtil.isNotEmpty(contractLPagination.getSuperQueryJson())){
@ -120,6 +125,14 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
intersectionSuperList.add(contractLPaymentList);
superNum++;
}
String ContractLPriceFormulaTable = "jg_contract_price_formula";
boolean ContractLPriceFormulaHasSql = queryJson.contains(ContractLPriceFormulaTable);
List<String> contractLPriceFormulaList = generaterSwapUtil.selectIdsByChildCondition(ContractLConstant.getTableList(), ContractLPriceFormulaTable , queryJson, null);
if (ContractLPriceFormulaHasSql){
allSuperList.addAll(contractLPriceFormulaList);
intersectionSuperList.add(contractLPriceFormulaList);
superNum++;
}
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
//and or
if(superOp.equalsIgnoreCase("and")){
@ -168,6 +181,14 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
intersectionRuleList.add(contractLPaymentList);
ruleNum++;
}
String ContractLPriceFormulaTable = "jg_contract_price_formula";
boolean ContractLPriceFormulaHasSql = ruleJson.contains(ContractLPriceFormulaTable);
List<String> contractLPriceFormulaList = generaterSwapUtil.selectIdsByChildCondition(ContractLConstant.getTableList(), ContractLPriceFormulaTable , ruleJson, null);
if (ContractLPriceFormulaHasSql){
allRuleList.addAll(contractLPriceFormulaList);
intersectionRuleList.add(contractLPriceFormulaList);
ruleNum++;
}
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
//and or
if(ruleOp.equalsIgnoreCase("and")){
@ -216,6 +237,15 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
contractLPaymentNum++;
}
}
Object contractLPriceFormulaObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(contractLPriceFormulaQueryWrapper,ContractLPriceFormulaEntity.class,contractLPagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(contractLPriceFormulaObj)){
return new ArrayList<>();
} else {
contractLPriceFormulaQueryWrapper = (QueryWrapper<ContractLPriceFormulaEntity>)contractLPriceFormulaObj;
if( contractLPriceFormulaQueryWrapper.getExpression().getNormal().size()>0){
contractLPriceFormulaNum++;
}
}
}
}
if(!isPc && appPermission){
@ -264,6 +294,17 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
}
Object contractLPriceFormulaObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(contractLPriceFormulaQueryWrapper,ContractLPriceFormulaEntity.class,contractLPagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(contractLPriceFormulaObj)){
return new ArrayList<>();
} else {
contractLPriceFormulaQueryWrapper = (QueryWrapper<ContractLPriceFormulaEntity>)contractLPriceFormulaObj;
if( contractLPriceFormulaQueryWrapper.getExpression().getNormal().size()>0){
contractLPriceFormulaNum++;
}
}
}
}
if(isPc){
@ -322,6 +363,15 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
AllIdList.addAll(contractLPaymentIdList);
}
total+=contractLPaymentNum;
if(contractLPriceFormulaNum>0){
List<String> contractLPriceFormulaIdList = contractLPriceFormulaService.list(contractLPriceFormulaQueryWrapper).stream().filter(t->StringUtil.isNotEmpty(t.getContractId())).map(t->t.getContractId()).collect(Collectors.toList());
long count = contractLPriceFormulaService.count();
if (count>0){
intersectionList.add(contractLPriceFormulaIdList);
}
AllIdList.addAll(contractLPriceFormulaIdList);
}
total+=contractLPriceFormulaNum;
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
if (total>0){
if (intersection.size()==0){
@ -398,6 +448,27 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
this.removeById(entity.getId());
}
}
/** ContractLPriceFormula子表方法 */
@Override
public List<ContractLPriceFormulaEntity> getContractLPriceFormulaList(String id,ContractLPagination contractLPagination){
Map<String, Object> newtabMap=ContractLConstant.TABLEFIELDKEY.entrySet()
.stream().collect( Collectors.toMap(e->e.getValue(),e->e.getKey()));
String tableName="contractLPriceFormula";
tableName=newtabMap.get(tableName)==null?tableName:newtabMap.get(tableName).toString();
QueryWrapper<ContractLPriceFormulaEntity> queryWrapper = new QueryWrapper<>();
queryWrapper = contractLPriceFormulaService.getChild(contractLPagination,queryWrapper);
queryWrapper.lambda().eq(ContractLPriceFormulaEntity::getContractId, id);
generaterSwapUtil.wrapperHandle(ContractLConstant.getColumnData(), ContractLConstant.getAppColumnData(), queryWrapper,ContractLPriceFormulaEntity.class,"sub",tableName);
return contractLPriceFormulaService.list(queryWrapper);
}
/** ContractLPriceFormula子表方法 */
@Override
public List<ContractLPriceFormulaEntity> getContractLPriceFormulaList(String id){
QueryWrapper<ContractLPriceFormulaEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ContractLPriceFormulaEntity::getContractId, id);
return contractLPriceFormulaService.list(queryWrapper);
}
/** ContractLCommodity子表方法 */
@Override
public List<ContractLCommodityEntity> getContractLCommodityList(String id,ContractLPagination contractLPagination){
@ -478,6 +549,8 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
return "交货地点 不能为空";
}
//子表字段验证
if (form.getContractLPriceFormulaList()!=null){
}
if (form.getContractLCommodityList()!=null){
}
if (form.getContractLFeeClauseList()!=null){
@ -513,6 +586,25 @@ public class ContractLServiceImpl extends ServiceImpl<ContractLMapper, ContractL
}
this.saveOrUpdate(entity);
//ContractLPriceFormula子表数据新增修改
if(!isSave){
QueryWrapper<ContractLPriceFormulaEntity> ContractLPriceFormulaqueryWrapper = new QueryWrapper<>();
ContractLPriceFormulaqueryWrapper.lambda().eq(ContractLPriceFormulaEntity::getContractId, entity.getId());
contractLPriceFormulaService.remove(ContractLPriceFormulaqueryWrapper);
}
if (contractLForm.getContractLPriceFormulaList()!=null){
List<ContractLPriceFormulaEntity> tableField177 = JsonUtil.getJsonToList(contractLForm.getContractLPriceFormulaList(),ContractLPriceFormulaEntity.class);
for(ContractLPriceFormulaEntity entitys : tableField177){
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
if(isSave){
entitys.setPriceFormulaCode(generaterSwapUtil.getBillNumber("formulacode", false));
}else{
entitys.setPriceFormulaCode(generaterSwapUtil.getBillNumber("formulacode", false));
}
contractLPriceFormulaService.saveOrUpdate(entitys);
}
}
//ContractLCommodity子表数据新增修改
if(!isSave){
QueryWrapper<ContractLCommodityEntity> ContractLCommodityqueryWrapper = new QueryWrapper<>();

@ -54,7 +54,7 @@ import org.springframework.transaction.annotation.Transactional;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Slf4j
@RestController
@ -71,6 +71,8 @@ public class ContractLController {
@Autowired
private ContractLService contractLService;
@Autowired
private ContractLPriceFormulaService contractLPriceFormulaService;
@Autowired
private ContractLCommodityService contractLCommodityService;
@Autowired
@ -98,6 +100,8 @@ public class ContractLController {
contractLMap.put("id", contractLMap.get("id"));
//副表数据
//子表数据
List<ContractLPriceFormulaEntity> contractLPriceFormulaList = contractLService.getContractLPriceFormulaList(entity.getId(),contractLPagination);
contractLMap.put("tableField177",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLPriceFormulaList)));
List<ContractLCommodityEntity> contractLCommodityList = contractLService.getContractLCommodityList(entity.getId(),contractLPagination);
contractLMap.put("tableField135",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLCommodityList)));
List<ContractLFeeClauseEntity> contractLFeeClauseList = contractLService.getContractLFeeClauseList(entity.getId(),contractLPagination);
@ -174,6 +178,8 @@ public class ContractLController {
contractLMap.put("id", contractLMap.get("id"));
//副表数据
//子表数据
List<ContractLPriceFormulaEntity> contractLPriceFormulaList = contractLService.getContractLPriceFormulaList(entity.getId(),contractLPagination);
contractLMap.put("tableField177",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLPriceFormulaList)));
List<ContractLCommodityEntity> contractLCommodityList = contractLService.getContractLCommodityList(entity.getId(),contractLPagination);
contractLMap.put("tableField135",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLCommodityList)));
List<ContractLFeeClauseEntity> contractLFeeClauseList = contractLService.getContractLFeeClauseList(entity.getId(),contractLPagination);
@ -197,6 +203,8 @@ public class ContractLController {
DownloadVO vo=DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
ExcelExportEntity tableField177ExcelEntity = new ExcelExportEntity("价格公式","tableField177");
List<ExcelExportEntity> tableField177List = new ArrayList<>();
ExcelExportEntity tableField135ExcelEntity = new ExcelExportEntity("商品明细","tableField135");
List<ExcelExportEntity> tableField135List = new ArrayList<>();
ExcelExportEntity tableField147ExcelEntity = new ExcelExportEntity("费用条款","tableField147");
@ -286,6 +294,66 @@ public class ContractLController {
case "contractLabel" :
entitys.add(new ExcelExportEntity("合同标签" ,"contractLabel"));
break;
case "tableField177-priceFormulaCode":
tableField177List.add(new ExcelExportEntity("公式编码" ,"priceFormulaCode"));
break;
case "tableField177-priceFormulaType":
tableField177List.add(new ExcelExportEntity("价格公式类型" ,"priceFormulaType"));
break;
case "tableField177-fixedProfit1":
tableField177List.add(new ExcelExportEntity("固定利润1" ,"fixedProfit1"));
break;
case "tableField177-fixedProfit2":
tableField177List.add(new ExcelExportEntity("固定利润2" ,"fixedProfit2"));
break;
case "tableField177-fixedAmount":
tableField177List.add(new ExcelExportEntity("固定金额" ,"fixedAmount"));
break;
case "tableField177-accountCost":
tableField177List.add(new ExcelExportEntity("户头费" ,"accountCost"));
break;
case "tableField177-handleCost":
tableField177List.add(new ExcelExportEntity("装卸费" ,"handleCost"));
break;
case "tableField177-reshipmentCost":
tableField177List.add(new ExcelExportEntity("倒运费" ,"reshipmentCost"));
break;
case "tableField177-otherCost1":
tableField177List.add(new ExcelExportEntity("其它费用1" ,"otherCost1"));
break;
case "tableField177-otherCost2":
tableField177List.add(new ExcelExportEntity("其它费用2" ,"otherCost2"));
break;
case "tableField177-otherCost3":
tableField177List.add(new ExcelExportEntity("其它费用3" ,"otherCost3"));
break;
case "tableField177-otherCost4":
tableField177List.add(new ExcelExportEntity("其它费用4" ,"otherCost4"));
break;
case "tableField177-settlementTonnage":
tableField177List.add(new ExcelExportEntity("结算吨数" ,"settlementTonnage"));
break;
case "tableField177-correspondTonnage":
tableField177List.add(new ExcelExportEntity("对应吨数" ,"correspondTonnage"));
break;
case "tableField177-saleTonnage":
tableField177List.add(new ExcelExportEntity("销售吨数" ,"saleTonnage"));
break;
case "tableField177-taxRate":
tableField177List.add(new ExcelExportEntity("税率" ,"taxRate"));
break;
case "tableField177-taxRateCustomer":
tableField177List.add(new ExcelExportEntity("客户税负率" ,"taxRateCustomer"));
break;
case "tableField177-taxRateYellowBull":
tableField177List.add(new ExcelExportEntity("黄牛税负率" ,"taxRateYellowBull"));
break;
case "tableField177-taxRateInvoicingCompany":
tableField177List.add(new ExcelExportEntity("开票公司税负率" ,"taxRateInvoicingCompany"));
break;
case "tableField177-fundRate":
tableField177List.add(new ExcelExportEntity("资金利率" ,"fundRate"));
break;
case "tableField135-commodityName":
tableField135List.add(new ExcelExportEntity("商品名称" ,"commodityName"));
break;
@ -341,6 +409,10 @@ public class ContractLController {
break;
}
}
if(tableField177List.size() > 0){
tableField177ExcelEntity.setList(tableField177List);
entitys.add(tableField177ExcelEntity);
}
if(tableField135List.size() > 0){
tableField135ExcelEntity.setList(tableField135List);
entitys.add(tableField135ExcelEntity);
@ -523,6 +595,8 @@ public class ContractLController {
contractLMap.put("id", contractLMap.get("id"));
//副表数据
//子表数据
List<ContractLPriceFormulaEntity> contractLPriceFormulaList = contractLService.getContractLPriceFormulaList(entity.getId());
contractLMap.put("tableField177",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLPriceFormulaList)));
List<ContractLCommodityEntity> contractLCommodityList = contractLService.getContractLCommodityList(entity.getId());
contractLMap.put("tableField135",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLCommodityList)));
List<ContractLFeeClauseEntity> contractLFeeClauseList = contractLService.getContractLFeeClauseList(entity.getId());
@ -549,6 +623,8 @@ public class ContractLController {
contractLMap.put("id", contractLMap.get("id"));
//副表数据
//子表数据
List<ContractLPriceFormulaEntity> contractLPriceFormulaList = contractLService.getContractLPriceFormulaList(entity.getId());
contractLMap.put("contractLPriceFormulaList",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLPriceFormulaList)));
List<ContractLCommodityEntity> contractLCommodityList = contractLService.getContractLCommodityList(entity.getId());
contractLMap.put("contractLCommodityList",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(contractLCommodityList)));
List<ContractLFeeClauseEntity> contractLFeeClauseList = contractLService.getContractLFeeClauseList(entity.getId());

@ -13,7 +13,7 @@ import java.math.BigDecimal;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Data
@TableName("jg_contract_commodity")
@ -26,10 +26,12 @@ public class ContractLCommodityEntity {
private String commodityName;
@TableField(value = "COMMODITY_CODE" , updateStrategy = FieldStrategy.IGNORED)
private String commodityCode;
@TableField("COMMODITY_PHONE")
private String commodityPhone;
@TableField(value = "SPECIFICATIONS" , updateStrategy = FieldStrategy.IGNORED)
private String specifications;
@TableField(value = "INVENTORY_UNIT" , updateStrategy = FieldStrategy.IGNORED)
private String inventoryUnit;
@TableField("INVENTORY_UNIT_ID")
private String inventoryUnitId;
@TableField(value = "PROCURE_UNIT" , updateStrategy = FieldStrategy.IGNORED)
private String procureUnit;
@TableField(value = "NUMBER" , updateStrategy = FieldStrategy.IGNORED)

@ -10,7 +10,7 @@ import java.math.BigDecimal;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Data
@TableName("jg_contract")

@ -10,7 +10,7 @@ import java.math.BigDecimal;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Data
@TableName("jg_contract_fee_clause")

@ -10,7 +10,7 @@ import java.math.BigDecimal;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Data
@TableName("jg_contract_payment")

@ -0,0 +1,95 @@
package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-22
*/
@Data
@TableName("jg_contract_price_formula")
public class ContractLPriceFormulaEntity {
@TableId(value ="ID" )
private String id;
@TableField(value = "PRICE_FORMULA_CODE" , updateStrategy = FieldStrategy.IGNORED)
private String priceFormulaCode;
@TableField("CONTRACT_ID")
private String contractId;
@TableField(value = "PRICE_FORMULA_TYPE" , updateStrategy = FieldStrategy.IGNORED)
private String priceFormulaType;
@TableField(value = "FIXED_PROFIT_1" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal fixedProfit1;
@TableField(value = "FIXED_PROFIT_2" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal fixedProfit2;
@TableField(value = "FIXED_AMOUNT" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal fixedAmount;
@TableField(value = "ACCOUNT_COST" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal accountCost;
@TableField(value = "HANDLE_COST" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal handleCost;
@TableField(value = "RESHIPMENT_COST" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal reshipmentCost;
@TableField(value = "OTHER_COST_1" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal otherCost1;
@TableField(value = "OTHER_COST_2" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal otherCost2;
@TableField(value = "OTHER_COST_3" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal otherCost3;
@TableField(value = "OTHER_COST_4" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal otherCost4;
@TableField(value = "SETTLEMENT_TONNAGE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal settlementTonnage;
@TableField(value = "CORRESPOND_TONNAGE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal correspondTonnage;
@TableField(value = "SALE_TONNAGE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal saleTonnage;
@TableField(value = "TAX_RATE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal taxRate;
@TableField(value = "TAX_RATE_CUSTOMER" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal taxRateCustomer;
@TableField(value = "TAX_RATE_YELLOW_BULL" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal taxRateYellowBull;
@TableField(value = "TAX_RATE_INVOICING_COMPANY" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal taxRateInvoicingCompany;
@TableField(value = "FUND_RATE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal fundRate;
@TableField("F_CREATOR_TIME")
private Date creatorTime;
@TableField("F_CREATOR_USER_ID")
private String creatorUserId;
@TableField("F_LAST_MODIFY_TIME")
private Date lastModifyTime;
@TableField("F_LAST_MODIFY_USER_ID")
private String lastModifyUserId;
@TableField("F_DELETE_TIME")
private Date deleteTime;
@TableField("F_DELETE_USER_ID")
private String deleteUserId;
@TableField("F_DELETE_MARK")
private Integer deleteMark;
@TableField("F_TENANT_ID")
private String tenantId;
}

@ -14,7 +14,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* V3.5
* : https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Data
public class ContractLCommodityModel {

@ -14,7 +14,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* V3.5
* : https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Data
public class ContractLFeeClauseModel {

@ -10,13 +10,16 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Data
public class ContractLForm {
/** 主键 */
private String id;
/** 子表数据 **/
@JsonProperty("contractLPriceFormulaList")
private List<ContractLPriceFormulaModel> contractLPriceFormulaList;
/** 子表数据 **/
@JsonProperty("contractLCommodityList")
private List<ContractLCommodityModel> contractLCommodityList;
/** 子表数据 **/

@ -11,7 +11,7 @@ import java.util.List;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-02-19
* @ 2024-02-22
*/
@Data
public class ContractLPagination extends Pagination {

@ -14,7 +14,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* V3.5
* : https://www.jnpfsoft.com
* JNPF
* 2024-02-19
* 2024-02-22
*/
@Data
public class ContractLPaymentModel {

@ -0,0 +1,82 @@
package jnpf.model.contractl;
import lombok.Data;
import java.util.List;
import java.util.Date;
import java.math.BigDecimal;
import com.alibaba.fastjson.annotation.JSONField;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
* ContractL
* V3.5
* : https://www.jnpfsoft.com
* JNPF
* 2024-02-22
*/
@Data
public class ContractLPriceFormulaModel {
/** 公式编码 **/
@JSONField(name = "priceFormulaCode")
private String priceFormulaCode;
/** 价格公式类型 **/
@JSONField(name = "priceFormulaType")
private Object priceFormulaType;
/** 固定利润1 **/
@JSONField(name = "fixedProfit1")
private String fixedProfit1;
/** 固定利润2 **/
@JSONField(name = "fixedProfit2")
private String fixedProfit2;
/** 固定金额 **/
@JSONField(name = "fixedAmount")
private String fixedAmount;
/** 户头费 **/
@JSONField(name = "accountCost")
private String accountCost;
/** 装卸费 **/
@JSONField(name = "handleCost")
private String handleCost;
/** 倒运费 **/
@JSONField(name = "reshipmentCost")
private String reshipmentCost;
/** 其它费用1 **/
@JSONField(name = "otherCost1")
private String otherCost1;
/** 其它费用2 **/
@JSONField(name = "otherCost2")
private String otherCost2;
/** 其它费用3 **/
@JSONField(name = "otherCost3")
private String otherCost3;
/** 其它费用4 **/
@JSONField(name = "otherCost4")
private String otherCost4;
/** 结算吨数 **/
@JSONField(name = "settlementTonnage")
private String settlementTonnage;
/** 对应吨数 **/
@JSONField(name = "correspondTonnage")
private String correspondTonnage;
/** 销售吨数 **/
@JSONField(name = "saleTonnage")
private String saleTonnage;
/** 税率 **/
@JSONField(name = "taxRate")
private String taxRate;
/** 客户税负率 **/
@JSONField(name = "taxRateCustomer")
private String taxRateCustomer;
/** 黄牛税负率 **/
@JSONField(name = "taxRateYellowBull")
private String taxRateYellowBull;
/** 开票公司税负率 **/
@JSONField(name = "taxRateInvoicingCompany")
private String taxRateInvoicingCompany;
/** 资金利率 **/
@JSONField(name = "fundRate")
private String fundRate;
}

File diff suppressed because one or more lines are too long

@ -257,6 +257,329 @@
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" v-if="judgeShow('-${html.relationField}')">
<jnpf-form-tip-item label-width="0">
<div class="JNPF-common-title">
<h2>价格公式</h2>
</div>
<el-table :data="dataForm.contractLPriceFormulaList" size='mini'>
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column label="公式编码" v-if="judgeShow('contractlpriceformula-priceFormulaCode')"
prop="priceFormulaCode">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-priceFormulaCode')">*</span>公式编码
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.priceFormulaCode"
@change="changeData('contractlpriceformula-priceFormulaCode', scope.$index)"
placeholder="系统自动生成"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-priceFormulaCode')"
readonly :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="价格公式类型" v-if="judgeShow('contractlpriceformula-priceFormulaType')"
prop="priceFormulaType">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-priceFormulaType')">*</span>价格公式类型
</template>
<template slot-scope="scope">
<JnpfSelect v-model="scope.row.priceFormulaType"
@change="changeData('contractlpriceformula-priceFormulaType', scope.$index)"
placeholder="请选择"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-priceFormulaType')"
clearable :style='{ "width": "100%" }'
:options="contractlpriceformulapriceFormulaTypeOptions"
:props="contractlpriceformulapriceFormulaTypeProps">
</JnpfSelect>
</template>
</el-table-column>
<el-table-column label="固定利润1" v-if="judgeShow('contractlpriceformula-fixedProfit1')"
prop="fixedProfit1">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-fixedProfit1')">*</span>固定利润1
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.fixedProfit1"
@change="changeData('contractlpriceformula-fixedProfit1', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-fixedProfit1')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="固定利润2" v-if="judgeShow('contractlpriceformula-fixedProfit2')"
prop="fixedProfit2">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-fixedProfit2')">*</span>固定利润2
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.fixedProfit2"
@change="changeData('contractlpriceformula-fixedProfit2', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-fixedProfit2')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="固定金额" v-if="judgeShow('contractlpriceformula-fixedAmount')"
prop="fixedAmount">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-fixedAmount')">*</span>固定金额
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.fixedAmount"
@change="changeData('contractlpriceformula-fixedAmount', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-fixedAmount')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="户头费" v-if="judgeShow('contractlpriceformula-accountCost')"
prop="accountCost">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-accountCost')">*</span>户头费
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.accountCost"
@change="changeData('contractlpriceformula-accountCost', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-accountCost')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="装卸费" v-if="judgeShow('contractlpriceformula-handleCost')"
prop="handleCost">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-handleCost')">*</span>装卸费
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.handleCost"
@change="changeData('contractlpriceformula-handleCost', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-handleCost')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="倒运费" v-if="judgeShow('contractlpriceformula-reshipmentCost')"
prop="reshipmentCost">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-reshipmentCost')">*</span>倒运费
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.reshipmentCost"
@change="changeData('contractlpriceformula-reshipmentCost', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-reshipmentCost')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="其它费用1" v-if="judgeShow('contractlpriceformula-otherCost1')"
prop="otherCost1">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-otherCost1')">*</span>其它费用1
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.otherCost1"
@change="changeData('contractlpriceformula-otherCost1', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-otherCost1')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="其它费用2" v-if="judgeShow('contractlpriceformula-otherCost2')"
prop="otherCost2">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-otherCost2')">*</span>其它费用2
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.otherCost2"
@change="changeData('contractlpriceformula-otherCost2', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-otherCost2')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="其它费用3" v-if="judgeShow('contractlpriceformula-otherCost3')"
prop="otherCost3">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-otherCost3')">*</span>其它费用3
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.otherCost3"
@change="changeData('contractlpriceformula-otherCost3', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-otherCost3')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="其它费用4" v-if="judgeShow('contractlpriceformula-otherCost4')"
prop="otherCost4">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-otherCost4')">*</span>其它费用4
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.otherCost4"
@change="changeData('contractlpriceformula-otherCost4', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-otherCost4')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="结算吨数" v-if="judgeShow('contractlpriceformula-settlementTonnage')"
prop="settlementTonnage">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-settlementTonnage')">*</span>结算吨数
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.settlementTonnage"
@change="changeData('contractlpriceformula-settlementTonnage', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-settlementTonnage')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="对应吨数" v-if="judgeShow('contractlpriceformula-correspondTonnage')"
prop="correspondTonnage">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-correspondTonnage')">*</span>对应吨数
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.correspondTonnage"
@change="changeData('contractlpriceformula-correspondTonnage', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-correspondTonnage')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="销售吨数" v-if="judgeShow('contractlpriceformula-saleTonnage')"
prop="saleTonnage">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-saleTonnage')">*</span>销售吨数
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.saleTonnage"
@change="changeData('contractlpriceformula-saleTonnage', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-saleTonnage')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="税率" v-if="judgeShow('contractlpriceformula-taxRate')"
prop="taxRate">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-taxRate')">*</span>税率
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.taxRate"
@change="changeData('contractlpriceformula-taxRate', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-taxRate')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="客户税负率" v-if="judgeShow('contractlpriceformula-taxRateCustomer')"
prop="taxRateCustomer">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-taxRateCustomer')">*</span>客户税负率
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.taxRateCustomer"
@change="changeData('contractlpriceformula-taxRateCustomer', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-taxRateCustomer')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="黄牛税负率" v-if="judgeShow('contractlpriceformula-taxRateYellowBull')"
prop="taxRateYellowBull">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-taxRateYellowBull')">*</span>黄牛税负率
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.taxRateYellowBull"
@change="changeData('contractlpriceformula-taxRateYellowBull', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-taxRateYellowBull')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="开票公司税负率"
v-if="judgeShow('contractlpriceformula-taxRateInvoicingCompany')"
prop="taxRateInvoicingCompany">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-taxRateInvoicingCompany')">*</span>开票公司税负率
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.taxRateInvoicingCompany"
@change="changeData('contractlpriceformula-taxRateInvoicingCompany', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-taxRateInvoicingCompany')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="资金利率" v-if="judgeShow('contractlpriceformula-fundRate')"
prop="fundRate">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlpriceformulaList-fundRate')">*</span>资金利率
</template>
<template slot-scope="scope">
<JnpfInput v-model="scope.row.fundRate"
@change="changeData('contractlpriceformula-fundRate', scope.$index)"
placeholder="请输入"
:disabled="judgeWrite('contractlpriceformulaList') || judgeWrite('contractlpriceformulaList-fundRate')"
clearable :style='{ "width": "100%" }'>
</JnpfInput>
</template>
</el-table-column>
<el-table-column label="操作" width="50" v-if="!judgeWrite('contractlpriceformulaList')">
<template slot-scope="scope">
<el-button size="mini" type="text" class="JNPF-table-delBtn"
@click="delcontractLPriceFormulaList(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="table-actions" @click="addcontractLPriceFormulaList()"
v-if="!judgeWrite('contractlpriceformulaList')">
<el-button type="text" icon="el-icon-plus">添加</el-button>
</div>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item>
<JnpfText
@ -265,7 +588,7 @@
</JnpfText>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" v-if="judgeShow('-${html.relationField}')">
<el-col :span="24" v-if="judgeShow('contractlpriceformula-${html.relationField}')">
<jnpf-form-tip-item label-width="0">
<el-table :data="dataForm.contractLCommodityList" size='mini'>
<el-table-column type="index" width="50" label="序号" align="center" />
@ -281,9 +604,9 @@
:rowIndex="scope.$index" :formData="dataForm"
:templateJson="interfaceRes.contractlcommoditycommodityName" placeholder="请选择"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-commodityName')"
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
relationField='fullName' :field="'commodityName' + scope.$index"
interfaceId="523160915206474309" :pageSize="20"
propsValue="name" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
relationField='name' :field="'commodityName' + scope.$index"
interfaceId="530288111456878597" :pageSize="20"
:columnOptions="contractlcommoditycommodityNamecolumnOptions" clearable
:style='{ "width": "100%" }'>
</JnpfPopupSelect>
@ -724,6 +1047,7 @@ export default {
currTableConf: {},
dataValueAll: {},
addTableConf: {
contractLPriceFormulaList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
contractLCommodityList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
contractLFeeClauseList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
contractLPaymentList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
@ -732,6 +1056,48 @@ export default {
ableAll: {
},
tableRows: {
contractLPriceFormulaList: {
priceFormulaCode: '',
priceFormulaCodeOptions: [],
priceFormulaTypeOptions: [],
fixedProfit1: '',
fixedProfit1Options: [],
fixedProfit2: '',
fixedProfit2Options: [],
fixedAmount: '',
fixedAmountOptions: [],
accountCost: '',
accountCostOptions: [],
handleCost: '',
handleCostOptions: [],
reshipmentCost: '',
reshipmentCostOptions: [],
otherCost1: '',
otherCost1Options: [],
otherCost2: '',
otherCost2Options: [],
otherCost3: '',
otherCost3Options: [],
otherCost4: '',
otherCost4Options: [],
settlementTonnage: '',
settlementTonnageOptions: [],
correspondTonnage: '',
correspondTonnageOptions: [],
saleTonnage: '',
saleTonnageOptions: [],
taxRate: '',
taxRateOptions: [],
taxRateCustomer: '',
taxRateCustomerOptions: [],
taxRateYellowBull: '',
taxRateYellowBullOptions: [],
taxRateInvoicingCompany: '',
taxRateInvoicingCompanyOptions: [],
fundRate: '',
fundRateOptions: [],
enabledmark: undefined
},
contractLCommodityList: {
commodityName: '',
commodityNameOptions: [],
@ -802,6 +1168,7 @@ export default {
transactionAppendices: [],
transactionAppendices2: [],
contractLabel: [],
contractLPriceFormulaList: [],
contractLCommodityList: [],
contractLFeeClauseList: [],
contractLPaymentList: [],
@ -901,7 +1268,9 @@ export default {
pricingModelProps: { "label": "fullName", "value": "enCode" },
contractLabelOptions: [],
contractLabelProps: { "label": "fullName", "value": "enCode" },
contractlcommoditycommodityNamecolumnOptions: [],
contractlpriceformulapriceFormulaTypeOptions: [],
contractlpriceformulapriceFormulaTypeProps: { "label": "fullName", "value": "enCode" },
contractlcommoditycommodityNamecolumnOptions: [{ "label": "商品名称", "value": "name" }, { "label": "商品编码", "value": "code" }, { "label": "商品图片", "value": "photo" }, { "label": "商品规格", "value": "spec" }, { "label": "库存单位", "value": "inventory_unit_id" }, { "label": "采购单位", "value": "order_main_unit_id" }, { "label": "销售单位", "value": "sales_main_unit_id" },],
contractlcommodityprocureUnitOptions: [{ "fullName": "选项一", "id": "1" }, { "fullName": "选项二", "id": "2" }],
contractlcommodityprocureUnitProps: { "label": "fullName", "value": "id" },
contractlfeeclausefeeTypeOptions: [],
@ -940,7 +1309,27 @@ export default {
transactionAppendices: [],
transactionAppendices2: [],
contractLabel: [],
contractlcommoditycommodityName: [{ "fieldName": "", "field": "contractId", "defaultValue": "", "dataType": "varchar", "id": "spNokw1", "required": "0" }],
contractlpriceformulapriceFormulaCode: [],
contractlpriceformulapriceFormulaType: [],
contractlpriceformulafixedProfit1: [],
contractlpriceformulafixedProfit2: [],
contractlpriceformulafixedAmount: [],
contractlpriceformulaaccountCost: [],
contractlpriceformulahandleCost: [],
contractlpriceformulareshipmentCost: [],
contractlpriceformulaotherCost1: [],
contractlpriceformulaotherCost2: [],
contractlpriceformulaotherCost3: [],
contractlpriceformulaotherCost4: [],
contractlpriceformulasettlementTonnage: [],
contractlpriceformulacorrespondTonnage: [],
contractlpriceformulasaleTonnage: [],
contractlpriceformulataxRate: [],
contractlpriceformulataxRateCustomer: [],
contractlpriceformulataxRateYellowBull: [],
contractlpriceformulataxRateInvoicingCompany: [],
contractlpriceformulafundRate: [],
contractlcommoditycommodityName: [],
contractlcommoditycommodityCode: [],
contractlcommodityspecifications: [],
contractlcommodityinventoryUnit: [],
@ -1021,6 +1410,7 @@ export default {
this.getcostBearingMianOptions();
this.getpricingModelOptions();
this.getcontractLabelOptions();
this.getcontractlpriceformulapriceFormulaTypeOptions();
this.getcontractlfeeclausefeeTypeOptions();
this.getcontractlpaymentpaymentNodeOptions();
this.getcontractlpaymentpaymentMethodOptions();
@ -1072,11 +1462,19 @@ export default {
}
}
}
if (!this.contractlpriceformulaExist()) return
if (!this.contractlcommodityExist()) return
if (!this.contractlfeeclauseExist()) return
if (!this.contractlpaymentExist()) return
return isOk
},
contractlpriceformulaExist() {
let isOk = true;
for (let i = 0; i < this.dataForm.contractLPriceFormulaList.length; i++) {
const e = this.dataForm.contractLPriceFormulaList[i];
}
return isOk;
},
contractlcommodityExist() {
let isOk = true;
for (let i = 0; i < this.dataForm.contractLCommodityList.length; i++) {
@ -1151,6 +1549,11 @@ export default {
this.contractLabelOptions = res.data.list
})
},
getcontractlpriceformulapriceFormulaTypeOptions() {
getDictionaryDataSelector('529925559430414341').then(res => {
this.contractlpriceformulapriceFormulaTypeOptions = res.data.list
})
},
getcontractlfeeclausefeeTypeOptions() {
getDictionaryDataSelector('528957381233606661').then(res => {
this.contractlfeeclausefeeTypeOptions = res.data.list
@ -1179,6 +1582,48 @@ export default {
}
},
addcontractLPriceFormulaList() {
let item = {
priceFormulaCode: undefined,
priceFormulaType: '',
priceFormulaTypeOptions: [],
fixedProfit1: undefined,
fixedProfit2: undefined,
fixedAmount: undefined,
accountCost: undefined,
handleCost: undefined,
reshipmentCost: undefined,
otherCost1: undefined,
otherCost2: undefined,
otherCost3: undefined,
otherCost4: undefined,
settlementTonnage: undefined,
correspondTonnage: undefined,
saleTonnage: undefined,
taxRate: undefined,
taxRateCustomer: undefined,
taxRateYellowBull: undefined,
taxRateInvoicingCompany: undefined,
fundRate: undefined,
}
this.getcontractLPriceFormulaList(item)
},
delcontractLPriceFormulaList(index) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
this.dataForm.contractLPriceFormulaList.splice(index, 1);
}).catch(() => {
});
},
getcontractLPriceFormulaList(value) {
let item = { ...this.tableRows.contractLPriceFormulaList, ...value }
this.dataForm.contractLPriceFormulaList.push(item)
this.childIndex = this.dataForm.contractLPriceFormulaList.length - 1
this.isEdit = true
this.isEdit = false
this.childIndex = -1
},
addcontractLCommodityList() {
let item = {
commodityName: '',
@ -1350,6 +1795,9 @@ export default {
this.dataForm = _dataAll
this.isEdit = true
this.dataAll()
for (let i = 0; i < _dataAll.contractLPriceFormulaList.length; i++) {
this.childIndex = i
}
for (let i = 0; i < _dataAll.contractLCommodityList.length; i++) {
this.childIndex = i
}

@ -161,283 +161,6 @@
label="定价模式 " align="left"
>
</el-table-column>
<el-table-column prop="tableField135" label="商品明细" align="center" >
<el-table-column prop="tableField135-child-first" width="1px"
label-class-name="table-child-first" >
<template slot-scope="scope" v-if="!scope.row.top">
<div class="child-table-column">
<template v-if="!scope.row.tableField135Expand">
<tr v-for="(item, index) in scope.row.tableField135.slice(0, 3)"
class="child-table__row" :key="index">
<td class="td-child-first">
<div class="cell"></div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.commodityName}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.commodityCode}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.specifications}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.inventoryUnit}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.procureUnit}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.number}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.taxRate}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.priceRate}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.totalRate}}
</div>
</td>
</tr>
</template>
<template v-if="scope.row.tableField135Expand">
<tr v-for="(item, index) in scope.row.tableField135" class="child-table__row" :key="index">
<td class="td-child-first">
<div class="cell"></div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.commodityName}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.commodityCode}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.specifications}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.inventoryUnit}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.procureUnit}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.number}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.taxRate}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.priceRate}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.totalRate}}
</div>
</td>
</tr>
</template>
<div class="expand-more-btn" v-if="scope.row.tableField135.length > 3">
<el-button v-if="scope.row.tableField135Expand" type="text"
@click="scope.row.tableField135Expand=!scope.row.tableField135Expand">隐藏部分</el-button>
<el-button v-if="!scope.row.tableField135Expand" type="text"
@click="scope.row.tableField135Expand=!scope.row.tableField135Expand">加载更多</el-button>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="tableField135-commodityName" label="商品名称" width="100" />
<el-table-column prop="tableField135-commodityCode" label="商品编码" width="100" />
<el-table-column prop="tableField135-specifications" label="商品规格" width="100" />
<el-table-column prop="tableField135-inventoryUnit" label="库存单位" width="100" />
<el-table-column prop="tableField135-procureUnit" label="采购单位" width="100" />
<el-table-column prop="tableField135-number" label="数量" width="100" />
<el-table-column prop="tableField135-taxRate" label="税率" width="100" />
<el-table-column prop="tableField135-priceRate" label="含税单价" width="100" />
<el-table-column prop="tableField135-totalRate" label="含税总金额" width="100" />
</el-table-column>
<el-table-column prop="tableField147" label="费用条款" align="center" >
<el-table-column prop="tableField147-child-first" width="1px"
label-class-name="table-child-first" >
<template slot-scope="scope" v-if="!scope.row.top">
<div class="child-table-column">
<template v-if="!scope.row.tableField147Expand">
<tr v-for="(item, index) in scope.row.tableField147.slice(0, 3)"
class="child-table__row" :key="index">
<td class="td-child-first">
<div class="cell"></div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.feeType}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
<JnpfNumber v-model="item.price" :thousands="false"/>
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.remark}}
</div>
</td>
</tr>
</template>
<template v-if="scope.row.tableField147Expand">
<tr v-for="(item, index) in scope.row.tableField147" class="child-table__row" :key="index">
<td class="td-child-first">
<div class="cell"></div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.feeType}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
<JnpfNumber v-model="item.price" :thousands="false"/>
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.remark}}
</div>
</td>
</tr>
</template>
<div class="expand-more-btn" v-if="scope.row.tableField147.length > 3">
<el-button v-if="scope.row.tableField147Expand" type="text"
@click="scope.row.tableField147Expand=!scope.row.tableField147Expand">隐藏部分</el-button>
<el-button v-if="!scope.row.tableField147Expand" type="text"
@click="scope.row.tableField147Expand=!scope.row.tableField147Expand">加载更多</el-button>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="tableField147-feeType" label="费用类型" width="100" />
<el-table-column prop="tableField147-price" label="金额" width="100" />
<el-table-column prop="tableField147-remark" label="备注" width="100" />
</el-table-column>
<el-table-column prop="tableField153" label="付款节点" align="center" >
<el-table-column prop="tableField153-child-first" width="1px"
label-class-name="table-child-first" >
<template slot-scope="scope" v-if="!scope.row.top">
<div class="child-table-column">
<template v-if="!scope.row.tableField153Expand">
<tr v-for="(item, index) in scope.row.tableField153.slice(0, 3)"
class="child-table__row" :key="index">
<td class="td-child-first">
<div class="cell"></div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.paymentNode}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.paymentMethod}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
<JnpfNumber v-model="item.paymentRatio" :thousands="false"/>
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
<JnpfNumber v-model="item.price" :thousands="false"/>
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.remark}}
</div>
</td>
</tr>
</template>
<template v-if="scope.row.tableField153Expand">
<tr v-for="(item, index) in scope.row.tableField153" class="child-table__row" :key="index">
<td class="td-child-first">
<div class="cell"></div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.paymentNode}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.paymentMethod}}
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
<JnpfNumber v-model="item.paymentRatio" :thousands="false"/>
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
<JnpfNumber v-model="item.price" :thousands="false"/>
</div>
</td>
<td class="td-flex-1" >
<div class="cell">
{{ item.remark}}
</div>
</td>
</tr>
</template>
<div class="expand-more-btn" v-if="scope.row.tableField153.length > 3">
<el-button v-if="scope.row.tableField153Expand" type="text"
@click="scope.row.tableField153Expand=!scope.row.tableField153Expand">隐藏部分</el-button>
<el-button v-if="!scope.row.tableField153Expand" type="text"
@click="scope.row.tableField153Expand=!scope.row.tableField153Expand">加载更多</el-button>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="tableField153-paymentNode" label="收付款节点" width="100" />
<el-table-column prop="tableField153-paymentMethod" label="收付款方式" width="100" />
<el-table-column prop="tableField153-paymentRatio" label="付款比例" width="100" />
<el-table-column prop="tableField153-price" label="金额" width="100" />
<el-table-column prop="tableField153-remark" label="备注" width="100" />
</el-table-column>
<el-table-column
prop="contractRequirement"
label="合同要求" align="left"
@ -586,7 +309,9 @@
pricingModelProps:{"label":"fullName","value":"enCode" },
contractLabelOptions:[],
contractLabelProps:{"label":"fullName","value":"enCode" },
tableField135_commodityNamecolumnOptions:[],
tableField177_priceFormulaTypeOptions:[],
tableField177_priceFormulaTypeProps:{"label":"fullName","value":"enCode" },
tableField135_commodityNamecolumnOptions:[ {"label":"商品名称","value":"name"}, {"label":"商品编码","value":"code"}, {"label":"商品图片","value":"photo"}, {"label":"商品规格","value":"spec"}, {"label":"库存单位","value":"inventory_unit_id"}, {"label":"采购单位","value":"order_main_unit_id"}, {"label":"销售单位","value":"sales_main_unit_id"},],
tableField135_procureUnitOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
tableField135_procureUnitProps:{"label":"fullName","value":"id" },
tableField147_feeTypeOptions:[],
@ -602,7 +327,7 @@
relatedContractId:[] ,
subject2:[] ,
subject3:[] ,
tableField135_commodityName:[{"fieldName":"","field":"contractId","defaultValue":"","dataType":"varchar","id":"spNokw1","required":"0"}] ,
tableField135_commodityName: [] ,
},
}
},

File diff suppressed because one or more lines are too long

@ -5,23 +5,20 @@
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="关键词">
<el-input v-model="keyword" placeholder="请输入关键词查询" clearable
@keyup.enter.native="search()" />
<el-input v-model="keyword" placeholder="请输入关键词查询" clearable @keyup.enter.native="search()" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="日期">
<el-date-picker v-model="pickerVal" type="daterange" start-placeholder=""
end-placeholder="结束日期" :picker-options="pickerOptions" value-format="timestamp"
clearable :editable="false">
<el-date-picker v-model="pickerVal" type="daterange" start-placeholder="" end-placeholder=""
:picker-options="pickerOptions" value-format="timestamp" clearable :editable="false">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="分类">
<el-select v-model="flowCategory" placeholder="选择分类" clearable filterable>
<el-option v-for="item in categoryList" :key="item.id" :label="item.fullName"
:value="item.id">
<el-option v-for="item in categoryList" :key="item.id" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -29,12 +26,10 @@
<template v-if="showAll">
<el-col :span="6">
<el-form-item label="所属流程">
<el-select v-model="templateId" placeholder="选择所属流程" clearable
@change="onTemplateIdChange" filterable>
<el-select v-model="templateId" placeholder="选择所属流程" clearable @change="onTemplateIdChange" filterable>
<el-option-group v-for="group in flowEngineList" :key="group.id"
:label="group.fullName+'【'+group.num+'】'">
<el-option v-for="item in group.children" :key="item.id" :label="item.fullName"
:value="item.id">
:label="group.fullName + '【' + group.num + '】'">
<el-option v-for="item in group.children" :key="item.id" :label="item.fullName" :value="item.id">
</el-option>
</el-option-group>
</el-select>
@ -42,10 +37,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="所属名称">
<el-select v-model="flowId" placeholder="选择所属名称" clearable
@visible-change="visibleFlowChange" filterable>
<el-option v-for="item in flowOptions" :key="item.id" :label="item.fullName"
:value="item.id" />
<el-select v-model="flowId" placeholder="选择所属名称" clearable @visible-change="visibleFlowChange" filterable>
<el-option v-for="item in flowOptions" :key="item.id" :label="item.fullName" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
@ -57,8 +50,7 @@
<el-col :span="6">
<el-form-item label="流程状态">
<el-select v-model="status" placeholder="选择流程状态" clearable filterable>
<el-option v-for="(item,i) in statusList" :key="i" :label="item.fullName"
:value="item.id">
<el-option v-for="(item, i) in statusList" :key="i" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -66,8 +58,7 @@
<el-col :span="6">
<el-form-item label="紧急程度">
<el-select v-model="urgent" placeholder="选择紧急程度" clearable filterable>
<el-option v-for="(item,i) in urgentList" :key="i" :label="item.fullName"
:value="item.id">
<el-option v-for="(item, i) in urgentList" :key="i" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -76,12 +67,11 @@
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()">
{{$t('common.search')}}</el-button>
<el-button icon="el-icon-refresh-right" @click="refresh()">{{$t('common.reset')}}
{{ $t('common.search') }}</el-button>
<el-button icon="el-icon-refresh-right" @click="refresh()">{{ $t('common.reset') }}
</el-button>
<el-button type="text" icon="el-icon-arrow-down" @click="showAll=true"
v-if="!showAll">展开</el-button>
<el-button type="text" icon="el-icon-arrow-up" @click="showAll=false" v-else>
<el-button type="text" icon="el-icon-arrow-down" @click="showAll = true" v-if="!showAll"></el-button>
<el-button type="text" icon="el-icon-arrow-up" @click="showAll = false" v-else>
收起</el-button>
</el-form-item>
</el-col>
@ -94,16 +84,14 @@
</div>
<div class="JNPF-common-head-right">
<el-tooltip effect="dark" :content="$t('common.refresh')" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="initData()" />
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false" @click="initData()" />
</el-tooltip>
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" hasC @selection-change="handleChange">
<el-table-column prop="fullName" label="流程标题" show-overflow-tooltip min-width="150" />
<el-table-column prop="flowName" label="所属流程" width="130" />
<el-table-column prop="startTime" label="发起时间" width="130"
:formatter="jnpf.tableDateFormat" />
<el-table-column prop="startTime" label="发起时间" width="130" :formatter="jnpf.tableDateFormat" />
<el-table-column prop="userName" label="发起人员" width="130" />
<el-table-column prop="thisStep" label="审批节点" width="130" />
<el-table-column prop="flowUrgent" label="紧急程度" width="100" align="center">
@ -113,24 +101,24 @@
</el-table-column>
<el-table-column prop="flowVersion" label="版本号" width="70" align="center">
<template slot-scope="scope">
<el-tag type="primary">V:{{scope.row.flowVersion}}</el-tag>
<el-tag type="primary">V:{{ scope.row.flowVersion }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="status" label="流程状态" width="130" align="center">
<template slot-scope="scope">
<el-tag type="primary" v-if="scope.row.status==1"></el-tag>
<el-tag type="success" v-else-if="scope.row.status==2">审核通过</el-tag>
<el-tag type="danger" v-else-if="scope.row.status==3">审核退回</el-tag>
<el-tag type="info" v-else-if="scope.row.status==4">流程撤回</el-tag>
<el-tag type="info" v-else-if="scope.row.status==5">审核终止</el-tag>
<el-tag type="danger" v-else-if="scope.row.status==6">已被挂起</el-tag>
<el-tag type="primary" v-if="scope.row.status == 1"></el-tag>
<el-tag type="success" v-else-if="scope.row.status == 2">审核通过</el-tag>
<el-tag type="danger" v-else-if="scope.row.status == 3">审核退回</el-tag>
<el-tag type="info" v-else-if="scope.row.status == 4">流程撤回</el-tag>
<el-tag type="info" v-else-if="scope.row.status == 5">审核终止</el-tag>
<el-tag type="danger" v-else-if="scope.row.status == 6">已被挂起</el-tag>
<el-tag v-else type="warning">等待提交</el-tag>
</template>
</el-table-column>
<el-table-column prop="completion" label="流程进度" width="150">
<template slot-scope="scope">
<p class="text-grey" v-if="scope.row.status==5 || scope.row.completion == 0">----</p>
<p v-else-if=" scope.row.completion == 100">已完成</p>
<p class="text-grey" v-if="scope.row.status == 5 || scope.row.completion == 0">----</p>
<p v-else-if="scope.row.completion == 100">已完成</p>
<el-progress :percentage="scope.row.completion" v-else></el-progress>
</template>
</el-table-column>
@ -140,8 +128,8 @@
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage"
:limit.sync="listQuery.pageSize" @pagination="initData" />
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
@pagination="initData" />
</div>
</div>
<FlowBox v-if="formVisible" ref="FlowBox" @close="closeForm" />
@ -280,7 +268,10 @@ export default {
},
getDictionaryData() {
this.$store.dispatch('base/getDictionaryData', { sort: 'WorkFlowCategory' }).then((res) => {
this.categoryList = res
let res2 = res.filter(o1 => {
return o1.enCode == "contractCenter";
})
this.categoryList = res2
})
},
initData() {
@ -294,8 +285,9 @@ export default {
flowId: this.flowId,
status: this.status,
flowUrgent: this.urgent,
flowCategory: this.flowCategory,
creatorUserId: this.creatorUserId
flowCategory: '529616478056480837',
creatorUserId: this.creatorUserId,
completion: 100,
}
FlowMonitorList(query).then(async res => {
this.list = res.data.list
@ -352,8 +344,8 @@ export default {
this.flowId = ''
this.status = ''
this.urgent = ''
this.flowCategory = ''
this.creatorUserId = ''
this.flowCategory = '529616478056480837',
this.creatorUserId = ''
this.flowOptions = []
this.listQuery = {
currentPage: 1,

@ -5,23 +5,20 @@
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="关键词">
<el-input v-model="keyword" placeholder="请输入关键词查询" clearable
@keyup.enter.native="search()" />
<el-input v-model="keyword" placeholder="请输入关键词查询" clearable @keyup.enter.native="search()" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="日期">
<el-date-picker v-model="pickerVal" type="daterange" start-placeholder=""
end-placeholder="结束日期" :picker-options="pickerOptions" value-format="timestamp"
clearable :editable="false">
<el-date-picker v-model="pickerVal" type="daterange" start-placeholder="" end-placeholder=""
:picker-options="pickerOptions" value-format="timestamp" clearable :editable="false">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="分类">
<el-select v-model="flowCategory" placeholder="选择分类" clearable filterable>
<el-option v-for="item in categoryList" :key="item.id" :label="item.fullName"
:value="item.id">
<el-option v-for="item in categoryList" :key="item.id" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -29,12 +26,10 @@
<template v-if="showAll">
<el-col :span="6">
<el-form-item label="所属流程">
<el-select v-model="templateId" placeholder="选择所属流程" clearable
@change="onTemplateIdChange" filterable>
<el-select v-model="templateId" placeholder="选择所属流程" clearable @change="onTemplateIdChange" filterable>
<el-option-group v-for="group in flowEngineList" :key="group.id"
:label="group.fullName+'【'+group.num+'】'">
<el-option v-for="item in group.children" :key="item.id" :label="item.fullName"
:value="item.id">
:label="group.fullName + '【' + group.num + '】'">
<el-option v-for="item in group.children" :key="item.id" :label="item.fullName" :value="item.id">
</el-option>
</el-option-group>
</el-select>
@ -42,10 +37,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="所属名称">
<el-select v-model="flowId" placeholder="选择所属名称" clearable
@visible-change="visibleFlowChange" filterable>
<el-option v-for="item in flowOptions" :key="item.id" :label="item.fullName"
:value="item.id" />
<el-select v-model="flowId" placeholder="选择所属名称" clearable @visible-change="visibleFlowChange" filterable>
<el-option v-for="item in flowOptions" :key="item.id" :label="item.fullName" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
@ -57,8 +50,7 @@
<el-col :span="6">
<el-form-item label="流程状态">
<el-select v-model="status" placeholder="选择流程状态" clearable filterable>
<el-option v-for="(item,i) in statusList" :key="i" :label="item.fullName"
:value="item.id">
<el-option v-for="(item, i) in statusList" :key="i" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -66,8 +58,7 @@
<el-col :span="6">
<el-form-item label="紧急程度">
<el-select v-model="urgent" placeholder="选择紧急程度" clearable filterable>
<el-option v-for="(item,i) in urgentList" :key="i" :label="item.fullName"
:value="item.id">
<el-option v-for="(item, i) in urgentList" :key="i" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -76,12 +67,11 @@
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()">
{{$t('common.search')}}</el-button>
<el-button icon="el-icon-refresh-right" @click="refresh()">{{$t('common.reset')}}
{{ $t('common.search') }}</el-button>
<el-button icon="el-icon-refresh-right" @click="refresh()">{{ $t('common.reset') }}
</el-button>
<el-button type="text" icon="el-icon-arrow-down" @click="showAll=true"
v-if="!showAll">展开</el-button>
<el-button type="text" icon="el-icon-arrow-up" @click="showAll=false" v-else>
<el-button type="text" icon="el-icon-arrow-down" @click="showAll = true" v-if="!showAll"></el-button>
<el-button type="text" icon="el-icon-arrow-up" @click="showAll = false" v-else>
收起</el-button>
</el-form-item>
</el-col>
@ -94,16 +84,14 @@
</div>
<div class="JNPF-common-head-right">
<el-tooltip effect="dark" :content="$t('common.refresh')" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="initData()" />
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false" @click="initData()" />
</el-tooltip>
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" hasC @selection-change="handleChange">
<el-table-column prop="fullName" label="流程标题" show-overflow-tooltip min-width="150" />
<el-table-column prop="flowName" label="所属流程" width="130" />
<el-table-column prop="startTime" label="发起时间" width="130"
:formatter="jnpf.tableDateFormat" />
<el-table-column prop="startTime" label="发起时间" width="130" :formatter="jnpf.tableDateFormat" />
<el-table-column prop="userName" label="发起人员" width="130" />
<el-table-column prop="thisStep" label="审批节点" width="130" />
<el-table-column prop="flowUrgent" label="紧急程度" width="100" align="center">
@ -113,24 +101,24 @@
</el-table-column>
<el-table-column prop="flowVersion" label="版本号" width="70" align="center">
<template slot-scope="scope">
<el-tag type="primary">V:{{scope.row.flowVersion}}</el-tag>
<el-tag type="primary">V:{{ scope.row.flowVersion }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="status" label="流程状态" width="130" align="center">
<template slot-scope="scope">
<el-tag type="primary" v-if="scope.row.status==1"></el-tag>
<el-tag type="success" v-else-if="scope.row.status==2">审核通过</el-tag>
<el-tag type="danger" v-else-if="scope.row.status==3">审核退回</el-tag>
<el-tag type="info" v-else-if="scope.row.status==4">流程撤回</el-tag>
<el-tag type="info" v-else-if="scope.row.status==5">审核终止</el-tag>
<el-tag type="danger" v-else-if="scope.row.status==6">已被挂起</el-tag>
<el-tag type="primary" v-if="scope.row.status == 1"></el-tag>
<el-tag type="success" v-else-if="scope.row.status == 2">审核通过</el-tag>
<el-tag type="danger" v-else-if="scope.row.status == 3">审核退回</el-tag>
<el-tag type="info" v-else-if="scope.row.status == 4">流程撤回</el-tag>
<el-tag type="info" v-else-if="scope.row.status == 5">审核终止</el-tag>
<el-tag type="danger" v-else-if="scope.row.status == 6">已被挂起</el-tag>
<el-tag v-else type="warning">等待提交</el-tag>
</template>
</el-table-column>
<el-table-column prop="completion" label="流程进度" width="150">
<template slot-scope="scope">
<p class="text-grey" v-if="scope.row.status==5 || scope.row.completion == 0">----</p>
<p v-else-if=" scope.row.completion == 100">已完成</p>
<p class="text-grey" v-if="scope.row.status == 5 || scope.row.completion == 0">----</p>
<p v-else-if="scope.row.completion == 100">已完成</p>
<el-progress :percentage="scope.row.completion" v-else></el-progress>
</template>
</el-table-column>
@ -140,8 +128,8 @@
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage"
:limit.sync="listQuery.pageSize" @pagination="initData" />
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
@pagination="initData" />
</div>
</div>
<FlowBox v-if="formVisible" ref="FlowBox" @close="closeForm" />
@ -280,7 +268,10 @@ export default {
},
getDictionaryData() {
this.$store.dispatch('base/getDictionaryData', { sort: 'WorkFlowCategory' }).then((res) => {
this.categoryList = res
let res2 = res.filter(o1 => {
return o1.enCode == "contractCenter";
})
this.categoryList = res2
})
},
initData() {
@ -294,7 +285,7 @@ export default {
flowId: this.flowId,
status: this.status,
flowUrgent: this.urgent,
flowCategory: this.flowCategory,
flowCategory: '529616478056480837',
creatorUserId: this.creatorUserId
}
FlowMonitorList(query).then(async res => {
@ -352,7 +343,7 @@ export default {
this.flowId = ''
this.status = ''
this.urgent = ''
this.flowCategory = ''
this.flowCategory = '529616478056480837'
this.creatorUserId = ''
this.flowOptions = []
this.listQuery = {

Loading…
Cancel
Save