jg-waiwang-pro
vayne 6 months ago
commit 2c1310fdbd

@ -522,7 +522,7 @@
<select id="queryTransitInventory" resultType="java.math.BigDecimal">
SELECT
SUM(c.business_num) businessNumSum
IFNULL(SUM( c.business_num ),0) businessNumSum
FROM
jg_business_order a
LEFT JOIN flow_task b ON a.id = b.f_process_id
@ -546,6 +546,28 @@
AND (d.id IS NULL OR e.id IS NULL OR f.f_id IS NULL OR f.f_status = 1 OR f.f_status = 0)
</select>
<select id="queryOccupyInventory" resultType="java.math.BigDecimal">
SELECT
IFNULL(SUM( c.business_num ),0) businessNumSum
FROM
jg_business_order a
LEFT JOIN flow_task b ON a.id = b.f_process_id
LEFT JOIN jg_business_order_product_relational c ON a.id = c.business_order_id
WHERE
a.f_delete_mark IS NULL
AND a.business_type = 2 AND a.status IN (4,5)
AND b.f_status = 2
<if test="inventoryEntity.warehouseId != null and inventoryEntity.warehouseId != ''">
AND a.delivery_warehouse = #{inventoryEntity.warehouseId}
</if>
<if test="inventoryEntity.storageAreaId != null and inventoryEntity.storageAreaId != ''">
AND a.delivery_warehouse = #{inventoryEntity.storageAreaId}
</if>
<if test="inventoryEntity.productId != null and inventoryEntity.productId != ''">
AND c.product_id = #{inventoryEntity.productId}
</if>
</select>
<select id="queryProductByContract" resultMap="productByContract">
SELECT
a.id,

@ -165,7 +165,7 @@
<select id="queryTransitInventory" resultType="java.math.BigDecimal">
SELECT
SUM(c.sale_num) saleNumSum
IFNULL(SUM(c.sale_num),0) saleNumSum
FROM
jg_return_cargo_order a
LEFT JOIN flow_task b ON a.id = b.f_process_id
@ -188,4 +188,27 @@
</if>
AND (d.id IS NULL OR e.id IS NULL OR f.f_id IS NULL OR f.f_status = 1 OR f.f_status = 0)
</select>
<select id="queryOccupyInventory" resultType="java.math.BigDecimal">
SELECT
IFNULL(SUM(c.sale_num),0) saleNumSum
FROM
jg_return_cargo_order a
LEFT JOIN flow_task b ON a.id = b.f_process_id
LEFT JOIN jg_delivery_product_relation c ON a.id = c.order_id and c.business_type = 2 and c.f_delete_user_id is null
WHERE
a.f_delete_mark IS NULL
AND a.document_type = 1
AND b.f_status = 2 AND a.document_status in (3,4)
<if test="inventoryEntity.warehouseId != null and inventoryEntity.warehouseId != ''">
AND a.warehouse_id = #{inventoryEntity.warehouseId}
</if>
<if test="inventoryEntity.storageAreaId != null and inventoryEntity.storageAreaId != ''">
AND c.cargo_id = #{inventoryEntity.storageAreaId}
</if>
<if test="inventoryEntity.productId != null and inventoryEntity.productId != ''">
AND c.product_id = #{inventoryEntity.productId}
</if>
</select>
</mapper>

@ -46,13 +46,13 @@
</resultMap>
<select id="queryTransitInventory" resultType="java.math.BigDecimal">
SELECT SUM(d.usedreturn_number) usedreturnNumSum from jg_warehousing_receive a
SELECT IFNULL(SUM( d.usedreturn_number),0) usedreturnNumSum from jg_warehousing_receive a
LEFT JOIN flow_task b ON a.id = b.f_process_id
LEFT JOIN jg_work_order c on a.business_id = c.id
LEFT JOIN jg_warehousing_receive_product d on a.id = d.receive_id
WHERE
a.f_delete_mark IS NULL and c.f_delete_mark IS NULL
AND b.f_status = 2 AND c.status in (2,3)
AND b.f_status = 2 AND c.status in (2,3,4)
<if test="inventoryEntity.warehouseId != null and inventoryEntity.warehouseId != ''">
AND a.warehouse_id = #{inventoryEntity.warehouseId}
</if>
@ -64,6 +64,21 @@
</if>
</select>
<select id="queryOccupyInventory" resultType="java.math.BigDecimal">
SELECT IFNULL(SUM( c.reality_num),0) usedreturnNumSum FROM jg_work_order a LEFT JOIN flow_task b ON a.id = b.f_process_id
LEFT JOIN jg_work_order_primary c on a.id = c.work_id
WHERE a.f_delete_mark IS NULL AND b.f_status = 2 AND a.status in (2,3,4)
<if test="inventoryEntity.warehouseId != null and inventoryEntity.warehouseId != ''">
AND a.warehouse_id = #{inventoryEntity.warehouseId}
</if>
<if test="inventoryEntity.storageAreaId != null and inventoryEntity.storageAreaId != ''">
AND c.cargo_id = #{inventoryEntity.storageAreaId}
</if>
<if test="inventoryEntity.productId != null and inventoryEntity.productId != ''">
AND c.product_id = #{inventoryEntity.productId}
</if>
</select>
<select id="queryWorkOrderReceiveProduct" resultMap="receiveProduct">
SELECT
b.*,

@ -0,0 +1,241 @@
package jnpf.util;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import jnpf.database.model.superQuery.SuperJsonModel;
import jnpf.database.model.superQuery.SuperQueryJsonModel;
import jnpf.emnus.SearchMethodEnum;
import jnpf.model.QueryModel;
import jnpf.model.visualJson.FieLdsModel;
import jnpf.model.visualJson.config.ConfigModel;
import jnpf.util.visiual.JnpfKeyConsts;
import lombok.Data;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class QueryUtil2 {
/**
*
*/
private SearchMethodEnum symbol;
/**
*
*/
private boolean and;
/**
*
*/
private String jnpfKey;
/**
* key
*/
private String vModel;
/**
*
*/
private Object fieldValue;
/**
* 2
*/
private Object fieldValueTwo;
/**
*
*/
private String dbType;
private List<String> dataList = new ArrayList<>();
//搜索逻辑
public <T> QueryWrapper<T> queryList(QueryModel queryModel) {
QueryWrapper<T> queryWrapper = queryModel.getObj();
Class entity = queryModel.getEntity();
dbType = queryModel.getDbType();
String queryJson = queryModel.getQueryJson();
List<SuperJsonModel> superJsonModelList = JsonUtil.getJsonToList(queryJson, SuperJsonModel.class);
for (SuperJsonModel superJsonModel : superJsonModelList) {
String matchLogic = superJsonModel.getMatchLogic();
Boolean authorizeLogic = superJsonModel.getAuthorizeLogic();
boolean isAddMatchLogic = SearchMethodEnum.And.getSymbol().equalsIgnoreCase(matchLogic);
List<SuperQueryJsonModel> conditionList = superJsonModel.getConditionList();
if (conditionList.size() == 0) continue;
queryWrapper.and(gw -> {
if (authorizeLogic) {
gw.and(tw -> {
queryWrapperList(entity, tw, conditionList, isAddMatchLogic);
});
} else {
gw.or(tw -> {
queryWrapperList(entity, tw, conditionList, isAddMatchLogic);
});
}
});
}
return queryWrapper;
}
private <T> void queryWrapperList(Class entity, QueryWrapper<T> tw, List<SuperQueryJsonModel> conditionList, boolean isAddMatchLogic) {
for (SuperQueryJsonModel superQueryJsonModel : conditionList) {
String logic = superQueryJsonModel.getLogic();
and = SearchMethodEnum.And.getSymbol().equalsIgnoreCase(logic);
List<FieLdsModel> queryList = superQueryJsonModel.getGroups();
queryWrapper(entity, tw, queryList, isAddMatchLogic);
}
}
private <T> void queryWrapper(Class entity, QueryWrapper<T> tw, List<FieLdsModel> queryListAll, boolean isAnd) {
if (isAnd) {
tw.and(qw -> {
query(entity, qw, queryListAll);
});
} else {
tw.or(qw -> {
query(entity, qw, queryListAll);
});
}
}
private <T> void query(Class entity, QueryWrapper<T> qw, List<FieLdsModel> queryListAll) {
for (FieLdsModel fieLdsModel : queryListAll) {
List<FieLdsModel> queryList = new ArrayList() {{
add(fieLdsModel);
}};
if (and) {
qw.and(ew -> {
fieldsModel(ew, queryList, entity);
});
} else {
qw.or(ew -> {
fieldsModel(ew, queryList, entity);
});
}
}
}
private void fieldsModel(QueryWrapper wrapper, List<FieLdsModel> queryList, Class entity) {
for (FieLdsModel fieLdsModel : queryList) {
ConfigModel config = fieLdsModel.getConfig();
jnpfKey = config.getJnpfKey();
symbol = SearchMethodEnum.getSearchMethod(fieLdsModel.getSymbol());
vModel = "a." + fieLdsModel.getVModel();
if (!and) {
wrapper.or();
}
try {
Field declaredField = entity.getDeclaredField(vModel);
declaredField.setAccessible(true);
vModel = declaredField.getAnnotation(TableField.class).value();
} catch (Exception e) {
}
fieldValue = fieLdsModel.getFieldValueOne();
fieldValueTwo = fieLdsModel.getFieldValueTwo();
dataList = fieLdsModel.getDataList();
if(JnpfKeyConsts.DateSelect.contains(fieLdsModel.getConfig().getJnpfKey())){
if(ObjectUtils.isNotEmpty(fieLdsModel.getFieldValueOne())){
fieldValue = new Date(Long.valueOf(fieLdsModel.getFieldValueOne().toString()));
}
if(ObjectUtils.isNotEmpty(fieLdsModel.getFieldValueTwo())){
fieldValueTwo = new Date(Long.valueOf(fieLdsModel.getFieldValueTwo().toString()));
}
}
getSymbolWrapper(wrapper);
}
}
private void getNullWrapper(QueryWrapper<?> wrapper) {
if (!and) {
wrapper.or(t -> t.isNull(vModel));
} else {
wrapper.and(t -> t.isNull(vModel));
}
}
private void getNotNullWrapper(QueryWrapper<?> wrapper) {
if (!and) {
wrapper.or(t -> t.isNotNull(vModel));
} else {
wrapper.and(t -> t.isNotNull(vModel));
}
}
private void getInWrapper(QueryWrapper<?> wrapper) {
if (!and) {
wrapper.or(qw -> {
for (String id : dataList) {
switch (symbol) {
case Included:
qw.or().like(vModel, id);
break;
default:
qw.notLike(vModel, id);
break;
}
}
});
} else {
wrapper.and(qw -> {
for (String id : dataList) {
switch (symbol) {
case Included:
qw.or().like(vModel, id);
break;
default:
qw.notLike(vModel, id);
break;
}
}
});
}
}
private void getSymbolWrapper(QueryWrapper<?> wrapper) {
switch (symbol) {
case IsNull:
getNullWrapper(wrapper);
break;
case IsNotNull:
getNotNullWrapper(wrapper);
break;
case Equal:
wrapper.eq(vModel, fieldValue);
break;
case NotEqual:
wrapper.ne(vModel, fieldValue);
break;
case GreaterThan:
wrapper.gt(vModel, fieldValue);
break;
case LessThan:
wrapper.lt(vModel, fieldValue);
break;
case GreaterThanOrEqual:
wrapper.ge(vModel, fieldValue);
break;
case LessThanOrEqual:
wrapper.le(vModel, fieldValue);
break;
case Like:
wrapper.like(vModel, fieldValue);
break;
case NotLike:
wrapper.notLike(vModel, fieldValue);
break;
case Included:
case NotIncluded:
getInWrapper(wrapper);
break;
case Between:
wrapper.between(vModel, fieldValue, fieldValueTwo);
break;
default:
break;
}
}
}

@ -47,4 +47,6 @@ public interface BusinessOrderMapper extends BaseMapper<BusinessOrderEntity> {
List<ProductWarehouseEntity> orderByVoucher(@Param("voucherIds") List<String> voucherIds);
List<BusinessOrderEntity> purchaseOrderByReceiptOrder(@Param("ew") QueryWrapper<BusinessOrderEntity> queryWrapper);
BigDecimal queryOccupyInventory(@Param("inventoryEntity") InventoryEntity entity);
}

@ -24,4 +24,6 @@ public interface ReturnCargoOrderMapper extends BaseMapper<ReturnCargoOrderEntit
IPage<ReturnCargoOrderEntity> queryReturnCargoOrderList(@Param("page")Page<ReturnCargoOrderEntity> page, @Param("returnCargoOrderPagination")ReturnCargoOrderPagination returnCargoOrderPagination, @Param("ew")QueryWrapper<ReturnCargoOrderEntity> returnCargoOrderEntityQueryWrapper);
BigDecimal queryTransitInventory(@Param("inventoryEntity") InventoryEntity inventoryEntity);
BigDecimal queryOccupyInventory(@Param("inventoryEntity") InventoryEntity entity);
}

@ -26,4 +26,6 @@ public interface WarehousingReceiveMapper extends BaseMapper<WarehousingReceiveE
//返库单根据加工单带出加工原材料
List<ProductWarehouseEntity> queryWorkOrderReceiveProduct(@Param("id") String id);
BigDecimal queryOccupyInventory(@Param("inventoryEntity") InventoryEntity entity);
}

@ -70,4 +70,6 @@ public interface BusinessOrderService extends IService<BusinessOrderEntity> {
//采购收货单中的采购订单列表
List<BusinessOrderEntity> purchaseOrderByReceiptOrderInfo(QueryWrapper<BusinessOrderEntity> queryWrapper);
BigDecimal queryOccupyInventory(InventoryEntity entity);
}

@ -43,4 +43,6 @@ public interface ReturnCargoOrderService extends IService<ReturnCargoOrderEntity
void saveOrUpdate(ReturnCargoOrderForm returnCargoOrderForm,String id, boolean isSave) throws Exception;
BigDecimal queryTransitInventory(InventoryEntity entity);
BigDecimal queryOccupyInventory(InventoryEntity entity);
}

@ -46,4 +46,6 @@ public interface WarehousingReceiveService extends IService<WarehousingReceiveEn
void saveOrUpdateWorkOrder(WarehousingReceiveForm warehousingReceiveForm,String id, boolean isSave) throws Exception;
List<ProductWarehouseEntity> getWorkProduct(String id);
BigDecimal queryOccupyInventory(InventoryEntity entity);
}

@ -49,7 +49,7 @@ import javax.annotation.Resource;
@Service
public class BusinessOrderServiceImpl extends ServiceImpl<BusinessOrderMapper, BusinessOrderEntity> implements BusinessOrderService{
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
private GeneraterSwapUtil2 generaterSwapUtil;
@Autowired
private UserProvider userProvider;
@ -770,6 +770,7 @@ public class BusinessOrderServiceImpl extends ServiceImpl<BusinessOrderMapper, B
if((total>0 && AllIdList.size()>0) || total==0){
Page<BusinessOrderEntity> page=new Page<>(businessOrderPagination.getCurrentPage(), businessOrderPagination.getPageSize());
// IPage<BusinessOrderEntity> userIPage=this.page(page, businessOrderQueryWrapper);
IPage<BusinessOrderEntity> userIPage=businessOrderMapper.queryPurchaseOrder(page,businessOrderPagination, businessOrderQueryWrapper);
return businessOrderPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
@ -791,6 +792,11 @@ public class BusinessOrderServiceImpl extends ServiceImpl<BusinessOrderMapper, B
return businessOrderMapper.queryTransitInventory(entity);
}
@Override
public BigDecimal queryOccupyInventory(InventoryEntity entity) {
return businessOrderMapper.queryOccupyInventory(entity);
}
@Override
public List<ProductByContractModel> queryProductByContractInfo(String id) {
return businessOrderMapper.queryProductByContract(id);

@ -312,6 +312,9 @@ public class CwCostServiceImpl extends ServiceImpl<CwCostMapper, CwCostEntity> i
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<CwCostEntity> page=new Page<>(cwCostPagination.getCurrentPage(), cwCostPagination.getPageSize());
if("1".equals(cwCostPagination.getQueryFlowTaskPass())){
cwCostQueryWrapper.inSql("a.id", "SELECT f_process_id FROM flow_task WHERE f_status = '2'");
}
IPage<CwCostEntity> userIPage=this.page(page, cwCostQueryWrapper);
return cwCostPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{

@ -497,6 +497,9 @@ public class CwaccountServiceImpl extends ServiceImpl<CwaccountMapper, Cwaccount
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<CwaccountEntity> page=new Page<>(cwaccountPagination.getCurrentPage(), cwaccountPagination.getPageSize());
if("1".equals(cwaccountPagination.getQueryFlowTaskPass())){
cwaccountQueryWrapper.inSql("a.id", "SELECT f_process_id FROM flow_task WHERE f_status = '2'");
}
IPage<CwaccountEntity> userIPage=this.page(page, cwaccountQueryWrapper);
return cwaccountPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{

@ -510,4 +510,10 @@ public class ReturnCargoOrderServiceImpl extends ServiceImpl<ReturnCargoOrderMap
public BigDecimal queryTransitInventory(InventoryEntity entity) {
return returnCargoOrderMapper.queryTransitInventory(entity);
}
@Override
public BigDecimal queryOccupyInventory(InventoryEntity entity) {
return returnCargoOrderMapper.queryOccupyInventory(entity);
}
}

@ -326,19 +326,19 @@ public class SubjectaccountperiodrulesnoServiceImpl extends ServiceImpl<Subjecta
}
//主表字段验证
//子表字段验证
if (form.getSubjectaccountperiodrulesList()!=null && form.getSubjectaccountperiodrulesList().size() == 5){
if (form.getSubjectaccountperiodrulesList()!=null && form.getSubjectaccountperiodrulesList().size() == 10){
List<SubjectaccountperiodrulesEntity> tableField102 = JsonUtil.getJsonToList(form.getSubjectaccountperiodrulesList(),SubjectaccountperiodrulesEntity.class);
List<SubjectaccountperiodrulesEntity> list = tableField102.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()
-> new TreeSet<>(Comparator.comparing(SubjectaccountperiodrulesEntity::getCreditRating))), ArrayList::new));
if(list == null || list.size() < 5){
return "账期规则一星至五星只能配置一条";
-> new TreeSet<>(Comparator.comparing(SubjectaccountperiodrulesEntity::getCreditRating).thenComparing(SubjectaccountperiodrulesEntity::getSettlementType))), ArrayList::new));
if(list == null || list.size() < 10){
return "账期规则先货后款和先款后货一星至五星只能配置一条";
}
for(SubjectaccountperiodrulesModel t : form.getSubjectaccountperiodrulesList()){
if(StringUtil.isNotEmpty(t.getAdvanceRatioDown())){
t.setAdvanceRatioDown(t.getAdvanceRatioDown().trim());
if(StringUtil.isEmpty(t.getAdvanceRatioDown()) && "2".equals(t.getSettlementType().toString())){
return "账期规则-预付比例最低不能为空";
}
else{
return "账期规则-预付比例最低不能为空";
t.setAdvanceRatioDown(StringUtil.isNotEmpty(t.getAdvanceRatioDown()) ? t.getAdvanceRatioDown().trim() : null);
}
if(StringUtil.isNotEmpty(t.getAdvanceRatioDown())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(t.getAdvanceRatioDown())).matches()){
@ -347,18 +347,18 @@ public class SubjectaccountperiodrulesnoServiceImpl extends ServiceImpl<Subjecta
}
}
for(SubjectaccountperiodrulesModel t : form.getSubjectaccountperiodrulesList()){
if(StringUtil.isNotEmpty(t.getAdvanceRatioUpper())){
t.setAdvanceRatioUpper(t.getAdvanceRatioUpper().trim());
if(StringUtil.isEmpty(t.getAdvanceRatioUpper()) && "2".equals(t.getSettlementType().toString())){
return "账期规则-预付比例最高不能为空";
}
else{
return "账期规则-预付比例最高不能为空";
t.setAdvanceRatioUpper(StringUtil.isNotEmpty(t.getAdvanceRatioUpper()) ? t.getAdvanceRatioUpper().trim() : null);
}
if(StringUtil.isNotEmpty(t.getAdvanceRatioUpper())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(t.getAdvanceRatioUpper())).matches()){
return "请输入正确的金额";
}
}
if(new BigDecimal(t.getAdvanceRatioUpper()).compareTo(new BigDecimal(t.getAdvanceRatioDown())) <= 0){
if(StringUtil.isNotEmpty(t.getAdvanceRatioUpper()) && StringUtil.isNotEmpty(t.getAdvanceRatioDown()) && new BigDecimal(t.getAdvanceRatioUpper()).compareTo(new BigDecimal(t.getAdvanceRatioDown())) <= 0){
return "预付比例上限不得小于下限";
}
}
@ -426,7 +426,7 @@ public class SubjectaccountperiodrulesnoServiceImpl extends ServiceImpl<Subjecta
}
}
}else{
return "账期规则需要同时配置一星至五星";
return "账期规则先货后款和先款后货需要同时配置一星至五星";
}
return countRecover;
}

@ -458,6 +458,11 @@ public class WarehousingReceiveServiceImpl extends ServiceImpl<WarehousingReceiv
return warehousingReceiveMapper.queryTransitInventory(entity);
}
@Override
public BigDecimal queryOccupyInventory(InventoryEntity entity) {
return warehousingReceiveMapper.queryOccupyInventory(entity);
}
@Override
public void saveOrUpdateWorkOrder(WarehousingReceiveForm warehousingReceiveForm, String id, boolean isSave) throws Exception {
UserInfo userInfo=userProvider.get();

@ -110,6 +110,20 @@ public class InventoryController {
//5. 货权转移已确定出库但还未入库的库存(货权转移审核通过,记录转移数量为占用数量,转移出库但并未入库的数量为在途数量)
//货权转移暂未开发
entity.setTransitInventorySum(businessNumSum.add(usedreturnNumSum).add(saleReturnNumSum));
//占用库存
//1. 1. 销售已确定,未出库的库存(销售中点击库存锁定。进行占用)
BigDecimal occupyBusinessNumSum = businessOrderService.queryOccupyInventory(entity);
//2. 调拨已确定,未出库的库存(调拨单审核通过,自动进行占用)
//3. 加工单已确定,未出库的库存(加工单审核通过,自动依据原材料明细进行占用,完成后,进行释放)
BigDecimal occupyUsedreturnNumSum = warehousingReceiveService.queryOccupyInventory(entity);
//4. 退供已确定,未出库的库存(退供单{采购退货}审核通过,自动进行占用)
BigDecimal occupySaleReturnNumSum = returnCargoOrderService.queryOccupyInventory(entity);
//5. 5. 货权转移已确定,未出库的库存(货权转移单审核通过,自动占用)
//货权转移暂未开发
entity.setOccupyInventorySum(occupyBusinessNumSum.add(occupyUsedreturnNumSum).add(occupySaleReturnNumSum));
//可用数量
entity.setAvailableInventorySum(entity.getInventoryNumberSum().subtract(entity.getOccupyInventorySum()));
}
Map<String, Object> inventoryMap=JsonUtil.entityToMap(entity);
inventoryMap.put("id", inventoryMap.get("id"));

@ -422,7 +422,8 @@ public class WarehousingStorageController {
FlowTaskEntity flowTaskEntity = flowTaskService.getById(id);
if (flowTaskEntity!=null){
QueryWrapper<FlowTaskNodeEntity> flowTaskNodeEntityQueryWrapper = new QueryWrapper<>();
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getState, flowTaskEntity.getThisStepId());
//flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getState, flowTaskEntity.getThisStepId());
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getNodeCode, flowTaskEntity.getThisStepId());
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getTaskId, flowTaskEntity.getId());
List<FlowTaskNodeEntity> flowTaskNodeEntityList = flowTaskNodeService.list(flowTaskNodeEntityQueryWrapper);
if(flowTaskNodeEntityList != null && flowTaskNodeEntityList.size()>0 && "end".equals(flowTaskNodeEntityList.get(0).getNodeNext())) {

@ -87,5 +87,8 @@ public class InventoryEntity {
private BigDecimal inventoryNumberSum;
@TableField(exist = false)
private BigDecimal transitInventorySum;
@TableField(exist = false)
private BigDecimal occupyInventorySum;
@TableField(exist = false)
private BigDecimal availableInventorySum;
}

@ -45,4 +45,6 @@ public class CwaccountPagination extends Pagination {
private List<String> idList;
private String contractCode;
private String accountState;
@JsonProperty("queryFlowTaskPass")
private String queryFlowTaskPass;
}

@ -47,4 +47,6 @@ public class CwCostPagination extends Pagination {
private Object costType;
private String subjectId;
private List<String> excludeIdList;
@JsonProperty("queryFlowTaskPass")
private String queryFlowTaskPass;
}

@ -1,91 +1,75 @@
<template>
<el-dialog title="详情"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="1000px">
<el-row :gutter="15" class="">
<el-form ref="formRef" :model="dataForm" size="small" label-width="100px" label-position="right" >
<el-dialog title="详情" :close-on-click-modal="false" append-to-body :visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px">
<el-row :gutter="15" class="">
<el-form ref="formRef" :model="dataForm" size="small" label-width="100px" label-position="right">
<template v-if="!loading">
<el-col :span="24" >
<jnpf-form-tip-item label="联系人头像"
prop="logo" >
<JnpfUploadImg v-model="dataForm.logo"
disabled
detailed :fileSize="10" sizeUnit="MB" :limit="1" pathType="defaultPath" :isAccount="0" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人头像" prop="logo">
<JnpfUploadImg v-model="dataForm.logo" disabled detailed :fileSize="10" sizeUnit="MB" :limit="1"
pathType="defaultPath" :isAccount="0">
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="联系人类型"
prop="contactsType" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人类型" prop="contactsType">
<p>{{ dataForm.contactsType }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="关联客户"
prop="subjectBasicId" >
<el-col :span="24">
<jnpf-form-tip-item label="关联客户" prop="subjectBasicId">
<p>{{dataForm.subjectBasicId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="姓名"
prop="name" >
<el-col :span="24">
<jnpf-form-tip-item label="姓名" prop="name">
<p>{{dataForm.name}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="职务"
prop="position" >
<el-col :span="24">
<jnpf-form-tip-item label="职务" prop="position">
<p>{{dataForm.position}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="公司"
prop="companyName" >
<el-col :span="24">
<jnpf-form-tip-item label="公司" prop="companyName">
<p>{{dataForm.companyName}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="手机"
prop="mobile" >
<el-col :span="24">
<jnpf-form-tip-item label="手机" prop="mobile">
<p>{{dataForm.mobile}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="电话"
prop="phone" >
<el-col :span="24">
<jnpf-form-tip-item label="电话" prop="phone">
<p>{{dataForm.phone}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="邮箱"
prop="emaile" >
<el-col :span="24">
<jnpf-form-tip-item label="邮箱" prop="emaile">
<p>{{dataForm.emaile}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="地址"
prop="address" >
<el-col :span="24">
<jnpf-form-tip-item label="地址" prop="address">
<p>{{dataForm.address}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="是否星标"
prop="markColor" >
<el-col :span="24">
<jnpf-form-tip-item label="是否星标" prop="markColor">
<p>{{dataForm.markColor}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="附件"
prop="annex" >
<JnpfUploadFile v-model="dataForm.annex"
disabled
detailed :fileSize="10" sizeUnit="MB" :limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传" >
<el-col :span="24">
<jnpf-form-tip-item label="附件" prop="annex">
<JnpfUploadFile v-model="dataForm.annex" disabled detailed :fileSize="10" sizeUnit="MB" :limit="9"
pathType="defaultPath" :isAccount="0" buttonText="点击上传">
</JnpfUploadFile>
</jnpf-form-tip-item>
</el-col>
</template>
</el-form>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
@ -96,12 +80,18 @@
<script>
import request from '@/utils/request'
import { getConfigData } from '@/api/onlineDev/visualDev'
import {
getConfigData
} from '@/api/onlineDev/visualDev'
import jnpf from '@/utils/jnpf'
import Detail from '@/views/basic/dynamicModel/list/detail'
import { thousandsFormat } from "@/components/Generator/utils/index"
import {
thousandsFormat
} from "@/components/Generator/utils/index"
export default {
components: { Detail},
components: {
Detail
},
props: [],
data() {
return {
@ -110,22 +100,31 @@
loading: false,
dataForm: {
id :'',
logo : [],
contactsType : "2",
subjectBasicId : "",
name : '',
position : '',
companyName : '',
mobile : '',
phone : '',
emaile : '',
address : '',
markColor : 0,
annex : [],
id: '',
logo: [],
contactsType: "2",
subjectBasicId: "",
name: '',
position: '',
companyName: '',
mobile: '',
phone: '',
emaile: '',
address: '',
markColor: 0,
annex: [],
},
contactsTypeOptions: [{
"fullName": "默认",
"id": "1"
}, {
"fullName": "联系人",
"id": "2"
}],
contactsTypeProps: {
"label": "fullName",
"value": "id"
},
contactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"联系人","id":"2"}],
contactsTypeProps:{"label":"fullName","value":"id" },
}
},
@ -148,8 +147,8 @@
})
})
},
dataInfo(dataAll){
let _dataAll =dataAll
dataInfo(dataAll) {
let _dataAll = dataAll
this.dataForm = _dataAll
},
@ -157,10 +156,10 @@
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/scm/Contacts/detail/'+this.dataForm.id,
url: '/api/scm/Contacts/detail/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
@ -172,5 +171,4 @@
},
},
}
</script>

@ -1,116 +1,103 @@
<template>
<el-dialog :title="!dataForm.id ? '新建' :'编辑'"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="1000px">
<template>
<el-dialog :title="!dataForm.id ? '新建' :'编辑'" :close-on-click-modal="false" append-to-body :visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px">
<el-row :gutter="15" class="">
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px" label-position="right" >
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
label-position="right">
<template v-if="!loading">
<!-- 具体表单 -->
<el-col :span="24" >
<jnpf-form-tip-item
label="联系人头像" prop="logo" >
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)"
:fileSize="10" sizeUnit="MB" :limit="1" pathType="defaultPath" :isAccount="0" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人头像" prop="logo">
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)" :fileSize="10" sizeUnit="MB"
:limit="1" pathType="defaultPath" :isAccount="0">
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="联系人类型" prop="contactsType" >
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人类型" prop="contactsType">
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)" placeholder="请选择"
clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps">
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="关联客户" prop="subjectBasicId" >
<el-col :span="24">
<jnpf-form-tip-item label="关联客户" prop="subjectBasicId">
<JnpfPopupSelect v-model="dataForm.subjectBasicId" @change="changeData('subjectBasicId',-1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择" propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name' field='subjectBasicId' interfaceId="520962013808039429" :pageSize="20" :columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择"
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
field='subjectBasicId' interfaceId="548131936766303109" :pageSize="20"
:columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
</JnpfPopupSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="姓名" prop="name" >
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="姓名" prop="name">
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="职务" prop="position" >
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="职务" prop="position">
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="公司" prop="companyName" >
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="公司" prop="companyName">
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)" placeholder="请输入"
clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="手机" prop="mobile" >
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="手机" prop="mobile">
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="电话" prop="phone" >
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="电话" prop="phone">
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="邮箱" prop="emaile" >
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="邮箱" prop="emaile">
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="地址" prop="address" >
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="地址" prop="address">
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="是否星标" prop="markColor" >
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)"
:active-value="1" :inactive-value="0" >
<el-col :span="24">
<jnpf-form-tip-item label="是否星标" prop="markColor">
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)" :active-value="1"
:inactive-value="0">
</JnpfSwitch>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="附件" prop="annex" >
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)"
:fileSize="10" sizeUnit="MB" :limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传" >
<el-col :span="24">
<jnpf-form-tip-item label="附件" prop="annex">
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)" :fileSize="10" sizeUnit="MB"
:limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传">
</JnpfUploadFile>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false"/>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
@select="addForSelect" @close="selectDialogVisible=false" />
</el-row>
<span slot="footer" class="dialog-footer">
<div class="upAndDown-button" v-if="dataForm.id">
@ -127,20 +114,38 @@
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"> </el-button>
</span>
</el-dialog>
</template>
</template>
<script>
import request from '@/utils/request'
import {mapGetters} from "vuex";
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
import { thousandsFormat } from "@/components/Generator/utils/index"
import {
mapGetters
} from "vuex";
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
import {
getDefaultCurrentValueUserId
} from '@/api/permission/user'
import {
getDefaultCurrentValueDepartmentId
} from '@/api/permission/organize'
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from '@/components/Generator/utils/index.js'
import {
thousandsFormat
} from "@/components/Generator/utils/index"
export default {
components: { },
components: {},
props: [],
data() {
return {
@ -154,69 +159,56 @@
loading: false,
btnLoading: false,
formRef: 'formRef',
setting:{},
setting: {},
eventType: '',
userBoxVisible:false,
userBoxVisible: false,
selectDialogVisible: false,
currTableConf:{},
dataValueAll:{},
addTableConf:{
},
currTableConf: {},
dataValueAll: {},
addTableConf: {},
//
ableAll:{
},
tableRows:{
},
Vmodel:"",
currVmodel:"",
ableAll: {},
tableRows: {},
Vmodel: "",
currVmodel: "",
dataForm: {
logo : [],
contactsType : "2",
subjectBasicId : undefined,
businessType:'1',
name : undefined,
position : undefined,
companyName : undefined,
mobile : undefined,
phone : undefined,
emaile : undefined,
address : undefined,
markColor : 0,
annex : [],
logo: [],
contactsType: "2",
subjectBasicId: undefined,
businessType: '1',
name: undefined,
position: undefined,
companyName: undefined,
mobile: undefined,
phone: undefined,
emaile: undefined,
address: undefined,
markColor: 0,
annex: [],
},
tableRequiredData: {},
dataRule:
{
subjectBasicId: [
{
dataRule: {
subjectBasicId: [{
required: true,
message: '请选择',
trigger: 'change'
},
],
name: [
{
}, ],
name: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
position: [
{
}, ],
position: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
companyName: [
{
}, ],
companyName: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
mobile: [
{
}, ],
mobile: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -227,8 +219,7 @@
trigger: 'blur'
},
],
phone: [
{
phone: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -239,8 +230,7 @@
trigger: 'blur'
},
],
emaile: [
{
emaile: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -251,32 +241,51 @@
trigger: 'blur'
},
],
address: [
{
address: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
},
contactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"联系人","id":"2"}],
contactsTypeProps:{"label":"fullName","value":"id" },
subjectBasicIdcolumnOptions:[ {"label":"客户名称","value":"name"}, {"label":"客户编码","value":"code"},],
childIndex:-1,
isEdit:false,
}, ],
},
contactsTypeOptions: [{
"fullName": "默认",
"id": "1"
}, {
"fullName": "联系人",
"id": "2"
}],
contactsTypeProps: {
"label": "fullName",
"value": "id"
},
subjectBasicIdcolumnOptions: [{
"label": "客户名称",
"value": "name"
}, {
"label": "分类",
"value": "calssifyName"
}, {
"label": "星级",
"value": "customerStarRatingName"
}, {
"label": "归属人员",
"value": "belongPeopleName"
}],
childIndex: -1,
isEdit: false,
interfaceRes: {
logo:[] ,
contactsType:[] ,
subjectBasicId:[] ,
name:[] ,
position:[] ,
companyName:[] ,
mobile:[] ,
phone:[] ,
emaile:[] ,
address:[] ,
markColor:[] ,
annex:[] ,
logo: [],
contactsType: [],
subjectBasicId: [],
name: [],
position: [],
companyName: [],
mobile: [],
phone: [],
emaile: [],
address: [],
markColor: [],
annex: [],
},
}
},
@ -319,7 +328,7 @@
},
getInfo(id) {
request({
url: '/api/scm/Contacts/'+ id,
url: '/api/scm/Contacts/' + id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
@ -343,7 +352,7 @@
for (let i = 0; i < faceReList.length; i++) {
if (faceReList[i].relationField == model) {
let options = 'get' + key + 'Options';
if(this[options]){
if (this[options]) {
this[options]()
}
this.changeData(key, index)
@ -352,8 +361,8 @@
}
}
},
changeDataFormData(type, data, model,index,defaultValue) {
if(!this.isEdit) {
changeDataFormData(type, data, model, index, defaultValue) {
if (!this.isEdit) {
if (type == 2) {
for (let i = 0; i < this.dataForm[data].length; i++) {
if (index == -1) {
@ -367,12 +376,11 @@
}
}
},
dataAll(){
},
clearData(){
dataAll() {},
clearData() {
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
},
init(id,isDetail,allList) {
init(id, isDetail, allList) {
this.prevDis = false
this.nextDis = false
this.allList = allList || []
@ -391,16 +399,16 @@
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/scm/Contacts/'+this.dataForm.id,
url: '/api/scm/Contacts/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
}else{
} else {
this.clearData()
this.initDefaultData()
}
@ -421,7 +429,7 @@
})
},
request() {
let _data =this.dataList()
let _data = this.dataList()
if (this.dataFormSubmitType == 2) {
this.continueBtnLoading = true
} else {
@ -451,13 +459,13 @@
this.$emit('refresh', true)
}
})
}).catch(()=>{
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
}else{
} else {
request({
url: '/api/scm/Contacts/'+this.dataForm.id,
url: '/api/scm/Contacts/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
@ -472,15 +480,15 @@
this.$emit('refresh', true)
}
})
}).catch(()=>{
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
}
},
openSelectDialog(key) {
this.currTableConf=this.addTableConf[key]
this.currVmodel=key
this.currTableConf = this.addTableConf[key]
this.currVmodel = key
this.selectDialogVisible = true
this.$nextTick(() => {
this.$refs.selectDialog.init()
@ -489,8 +497,8 @@
addForSelect(data) {
for (let i = 0; i < data.length; i++) {
let t = data[i]
if(this['get'+this.currVmodel]){
this['get'+this.currVmodel](t)
if (this['get' + this.currVmodel]) {
this['get' + this.currVmodel](t)
}
}
},
@ -557,18 +565,17 @@
}
return timeDataValue;
},
dataList(){
dataList() {
var _data = this.dataForm;
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
dataInfo(dataAll) {
let _dataAll = dataAll
this.dataForm = _dataAll
this.isEdit = true
this.dataAll()
this.childIndex=-1
this.childIndex = -1
},
},
}
</script>

@ -73,13 +73,13 @@
<template slot-scope="scope">
<JnpfInput v-model="scope.row.advanceRatioDown"
@change="changeData('subjectaccountperiodrules-advanceRatioDown',scope.$index)" placeholder="请输入"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioDown')"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioDown') || scope.row.settlementType == 1"
clearable :style='{"width":"40%"}'>
</JnpfInput>
<label></label>
<JnpfInput v-model="scope.row.advanceRatioUpper"
@change="changeData('subjectaccountperiodrules-advanceRatioUpper',scope.$index)" placeholder="请输入"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioUpper')"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioUpper') || scope.row.settlementType == 1"
clearable :style='{"width":"40%"}'>
</JnpfInput>
</template>
@ -525,7 +525,7 @@
isOk = false
break
}
if (!e.advanceRatioDown) {
if (!e.advanceRatioDown && e.settlementType == '2') {
this.$message({
message: '预付比例最低不能为空',
type: 'error',
@ -533,7 +533,7 @@
});
isOk = false
break
}
}else{
if (e.advanceRatioDown) {
var regPos = [{
"pattern": "/^([1-9][\\d]*|0)(\\.[\\d]+)?$/",
@ -552,7 +552,8 @@
}
}
}
if (!e.advanceRatioUpper) {
}
if (!e.advanceRatioUpper && e.settlementType == '2') {
this.$message({
message: '预付比例最高不能为空',
type: 'error',
@ -560,7 +561,7 @@
});
isOk = false
break
}
}else{
if (e.advanceRatioUpper) {
var regPos = [{
"pattern": "/^([1-9][\\d]*|0)(\\.[\\d]+)?$/",
@ -579,6 +580,7 @@
}
}
}
}
if (!e.accountPeriodDown) {
this.$message({
message: '账期最低不能为空',

@ -1735,10 +1735,28 @@
cwaccountsubjectsubjectIdcolumnOptions: [{
"label": "名称",
"value": "name"
}, ],
}, {
"label": "分类",
"value": "calssifyName"
}, {
"label": "星级",
"value": "customerStarRatingName"
}, {
"label": "归属人员",
"value": "belongPeopleName"
}],
cwaccountcontractcontractIdcolumnOptions: [{
"label": "合同编码",
"value": "contract_number"
}, {
"label": "合同名称",
"value": "contract_name"
}, {
"label": "类型",
"value": "contractTypeName"
}, {
"label": "名称",
"value": "subjectName"
}, ],
cwaccountcontractsubjectcolumnOptions: [{
"label": "主体名称",

@ -1852,8 +1852,17 @@
"value": "name"
}, ],
cwsettlementcontractcontractIdcolumnOptions: [{
"label": "合同编码",
"value": "contract_number"
}, {
"label": "合同名称",
"value": "contract_name"
}, {
"label": "类型",
"value": "contractTypeName"
}, {
"label": "名称",
"value": "subjectName"
}, ],
cwsettlementaccounttypeOptions: [{
"fullName": "采购对账",
@ -1930,10 +1939,6 @@
"label": "名称",
"value": "name"
}, ],
cwsettlementcontractcontractIdcolumnOptions: [{
"label": "合同名称",
"value": "contract_name"
}, ],
cwsettlementcontractsubjectcolumnOptions: [{
"label": "主体名称",
"value": "name"

@ -103,6 +103,7 @@ export default {
contractCode: contractCode,
accountState: accountState,
dataType: 0,
queryFlowTaskPass: '1'//
}
/* GoodsList(query).then(res => {
this.list = res.data.list

@ -112,6 +112,7 @@ export default {
subjectId: this.subjectId,
excludeIdList: this.excludeIdList,
dataType: 0,
queryFlowTaskPass: '1'//
}
/* GoodsList(query).then(res => {
this.list = res.data.list

@ -1,116 +1,103 @@
<template>
<el-dialog :title="!dataForm.id ? '新建' :'编辑'"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="1000px">
<template>
<el-dialog :title="!dataForm.id ? '新建' :'编辑'" :close-on-click-modal="false" append-to-body :visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px">
<el-row :gutter="15" class="">
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px" label-position="right" >
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
label-position="right">
<template v-if="!loading">
<!-- 具体表单 -->
<el-col :span="24" >
<jnpf-form-tip-item
label="联系人头像" prop="logo" >
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)"
:fileSize="10" sizeUnit="MB" :limit="1" pathType="defaultPath" :isAccount="0" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人头像" prop="logo">
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)" :fileSize="10" sizeUnit="MB"
:limit="1" pathType="defaultPath" :isAccount="0">
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="联系人类型" prop="contactsType" >
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人类型" prop="contactsType">
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)" placeholder="请选择"
clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps">
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="关联服务商" prop="subjectBasicId" >
<el-col :span="24">
<jnpf-form-tip-item label="关联服务商" prop="subjectBasicId">
<JnpfPopupSelect v-model="dataForm.subjectBasicId" @change="changeData('subjectBasicId',-1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择" propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name' field='subjectBasicId' interfaceId="522417889869834885" :pageSize="20" :columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择"
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
field='subjectBasicId' interfaceId="522417889869834885" :pageSize="20"
:columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
</JnpfPopupSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="姓名" prop="name" >
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="姓名" prop="name">
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="职务" prop="position" >
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="职务" prop="position">
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="公司" prop="companyName" >
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="公司" prop="companyName">
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)" placeholder="请输入"
clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="手机" prop="mobile" >
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="手机" prop="mobile">
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="电话" prop="phone" >
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="电话" prop="phone">
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="邮箱" prop="emaile" >
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="邮箱" prop="emaile">
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="地址" prop="address" >
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="地址" prop="address">
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="是否星标" prop="markColor" >
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)"
:active-value="1" :inactive-value="0" >
<el-col :span="24">
<jnpf-form-tip-item label="是否星标" prop="markColor">
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)" :active-value="1"
:inactive-value="0">
</JnpfSwitch>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="附件" prop="annex" >
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)"
:fileSize="10" sizeUnit="MB" :limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传" >
<el-col :span="24">
<jnpf-form-tip-item label="附件" prop="annex">
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)" :fileSize="10" sizeUnit="MB"
:limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传">
</JnpfUploadFile>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false"/>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
@select="addForSelect" @close="selectDialogVisible=false" />
</el-row>
<span slot="footer" class="dialog-footer">
<div class="upAndDown-button" v-if="dataForm.id">
@ -127,20 +114,38 @@
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"> </el-button>
</span>
</el-dialog>
</template>
</template>
<script>
import request from '@/utils/request'
import {mapGetters} from "vuex";
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
import { thousandsFormat } from "@/components/Generator/utils/index"
import {
mapGetters
} from "vuex";
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
import {
getDefaultCurrentValueUserId
} from '@/api/permission/user'
import {
getDefaultCurrentValueDepartmentId
} from '@/api/permission/organize'
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from '@/components/Generator/utils/index.js'
import {
thousandsFormat
} from "@/components/Generator/utils/index"
export default {
components: { },
components: {},
props: [],
data() {
return {
@ -154,69 +159,56 @@
loading: false,
btnLoading: false,
formRef: 'formRef',
setting:{},
setting: {},
eventType: '',
userBoxVisible:false,
userBoxVisible: false,
selectDialogVisible: false,
currTableConf:{},
dataValueAll:{},
addTableConf:{
},
currTableConf: {},
dataValueAll: {},
addTableConf: {},
//
ableAll:{
},
tableRows:{
},
Vmodel:"",
currVmodel:"",
ableAll: {},
tableRows: {},
Vmodel: "",
currVmodel: "",
dataForm: {
logo : [],
contactsType : "2",
subjectBasicId : undefined,
businessType:'3',
name : undefined,
position : undefined,
companyName : undefined,
mobile : undefined,
phone : undefined,
emaile : undefined,
address : undefined,
markColor : 0,
annex : [],
logo: [],
contactsType: "2",
subjectBasicId: undefined,
businessType: '3',
name: undefined,
position: undefined,
companyName: undefined,
mobile: undefined,
phone: undefined,
emaile: undefined,
address: undefined,
markColor: 0,
annex: [],
},
tableRequiredData: {},
dataRule:
{
subjectBasicId: [
{
dataRule: {
subjectBasicId: [{
required: true,
message: '请选择',
trigger: 'change'
},
],
name: [
{
}, ],
name: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
position: [
{
}, ],
position: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
companyName: [
{
}, ],
companyName: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
mobile: [
{
}, ],
mobile: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -227,8 +219,7 @@
trigger: 'blur'
},
],
phone: [
{
phone: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -239,8 +230,7 @@
trigger: 'blur'
},
],
emaile: [
{
emaile: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -251,32 +241,51 @@
trigger: 'blur'
},
],
address: [
{
address: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
},
contactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"联系人","id":"2"}],
contactsTypeProps:{"label":"fullName","value":"id" },
subjectBasicIdcolumnOptions:[ {"label":"服务商名称","value":"name"}, {"label":"服务商编码","value":"code"},],
childIndex:-1,
isEdit:false,
}, ],
},
contactsTypeOptions: [{
"fullName": "默认",
"id": "1"
}, {
"fullName": "联系人",
"id": "2"
}],
contactsTypeProps: {
"label": "fullName",
"value": "id"
},
subjectBasicIdcolumnOptions: [{
"label": "名称",
"value": "name"
}, {
"label": "分类",
"value": "calssifyName"
}, {
"label": "星级",
"value": "customerStarRatingName"
}, {
"label": "归属人员",
"value": "belongPeopleName"
}],
childIndex: -1,
isEdit: false,
interfaceRes: {
logo:[] ,
contactsType:[] ,
subjectBasicId:[] ,
name:[] ,
position:[] ,
companyName:[] ,
mobile:[] ,
phone:[] ,
emaile:[] ,
address:[] ,
markColor:[] ,
annex:[] ,
logo: [],
contactsType: [],
subjectBasicId: [],
name: [],
position: [],
companyName: [],
mobile: [],
phone: [],
emaile: [],
address: [],
markColor: [],
annex: [],
},
}
},
@ -319,7 +328,7 @@
},
getInfo(id) {
request({
url: '/api/scm/Contacts/'+ id,
url: '/api/scm/Contacts/' + id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
@ -343,7 +352,7 @@
for (let i = 0; i < faceReList.length; i++) {
if (faceReList[i].relationField == model) {
let options = 'get' + key + 'Options';
if(this[options]){
if (this[options]) {
this[options]()
}
this.changeData(key, index)
@ -352,8 +361,8 @@
}
}
},
changeDataFormData(type, data, model,index,defaultValue) {
if(!this.isEdit) {
changeDataFormData(type, data, model, index, defaultValue) {
if (!this.isEdit) {
if (type == 2) {
for (let i = 0; i < this.dataForm[data].length; i++) {
if (index == -1) {
@ -367,12 +376,11 @@
}
}
},
dataAll(){
},
clearData(){
dataAll() {},
clearData() {
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
},
init(id,isDetail,allList) {
init(id, isDetail, allList) {
this.prevDis = false
this.nextDis = false
this.allList = allList || []
@ -391,16 +399,16 @@
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/scm/Contacts/'+this.dataForm.id,
url: '/api/scm/Contacts/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
}else{
} else {
this.clearData()
this.initDefaultData()
}
@ -421,7 +429,7 @@
})
},
request() {
let _data =this.dataList()
let _data = this.dataList()
if (this.dataFormSubmitType == 2) {
this.continueBtnLoading = true
} else {
@ -451,13 +459,13 @@
this.$emit('refresh', true)
}
})
}).catch(()=>{
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
}else{
} else {
request({
url: '/api/scm/Contacts/'+this.dataForm.id,
url: '/api/scm/Contacts/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
@ -472,15 +480,15 @@
this.$emit('refresh', true)
}
})
}).catch(()=>{
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
}
},
openSelectDialog(key) {
this.currTableConf=this.addTableConf[key]
this.currVmodel=key
this.currTableConf = this.addTableConf[key]
this.currVmodel = key
this.selectDialogVisible = true
this.$nextTick(() => {
this.$refs.selectDialog.init()
@ -489,8 +497,8 @@
addForSelect(data) {
for (let i = 0; i < data.length; i++) {
let t = data[i]
if(this['get'+this.currVmodel]){
this['get'+this.currVmodel](t)
if (this['get' + this.currVmodel]) {
this['get' + this.currVmodel](t)
}
}
},
@ -557,18 +565,17 @@
}
return timeDataValue;
},
dataList(){
dataList() {
var _data = this.dataForm;
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
dataInfo(dataAll) {
let _dataAll = dataAll
this.dataForm = _dataAll
this.isEdit = true
this.dataAll()
this.childIndex=-1
this.childIndex = -1
},
},
}
</script>

@ -73,13 +73,13 @@
<template slot-scope="scope">
<JnpfInput v-model="scope.row.advanceRatioDown"
@change="changeData('subjectaccountperiodrules-advanceRatioDown',scope.$index)" placeholder="请输入"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioDown')"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioDown') || scope.row.settlementType == 1"
clearable :style='{"width":"40%"}'>
</JnpfInput>
<label></label>
<JnpfInput v-model="scope.row.advanceRatioUpper"
@change="changeData('subjectaccountperiodrules-advanceRatioUpper',scope.$index)" placeholder="请输入"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioUpper')"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioUpper') || scope.row.settlementType == 1"
clearable :style='{"width":"40%"}'>
</JnpfInput>
</template>
@ -525,7 +525,7 @@
isOk = false
break
}
if (!e.advanceRatioDown) {
if (!e.advanceRatioDown && e.settlementType == '2') {
this.$message({
message: '预付比例最低不能为空',
type: 'error',
@ -533,7 +533,7 @@
});
isOk = false
break
}
}else{
if (e.advanceRatioDown) {
var regPos = [{
"pattern": "/^([1-9][\\d]*|0)(\\.[\\d]+)?$/",
@ -552,7 +552,8 @@
}
}
}
if (!e.advanceRatioUpper) {
}
if (!e.advanceRatioUpper && e.settlementType == '2') {
this.$message({
message: '预付比例最高不能为空',
type: 'error',
@ -560,7 +561,7 @@
});
isOk = false
break
}
}else{
if (e.advanceRatioUpper) {
var regPos = [{
"pattern": "/^([1-9][\\d]*|0)(\\.[\\d]+)?$/",
@ -579,6 +580,7 @@
}
}
}
}
if (!e.accountPeriodDown) {
this.$message({
message: '账期最低不能为空',

@ -1,116 +1,103 @@
<template>
<el-dialog :title="!dataForm.id ? '新建' :'编辑'"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="1000px">
<template>
<el-dialog :title="!dataForm.id ? '新建' :'编辑'" :close-on-click-modal="false" append-to-body :visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px">
<el-row :gutter="15" class="">
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px" label-position="right" >
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
label-position="right">
<template v-if="!loading">
<!-- 具体表单 -->
<el-col :span="24" >
<jnpf-form-tip-item
label="联系人头像" prop="logo" >
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)"
:fileSize="10" sizeUnit="MB" :limit="1" pathType="defaultPath" :isAccount="0" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人头像" prop="logo">
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)" :fileSize="10" sizeUnit="MB"
:limit="1" pathType="defaultPath" :isAccount="0">
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="联系人类型" prop="contactsType" >
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps" >
<el-col :span="24">
<jnpf-form-tip-item label="联系人类型" prop="contactsType">
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)" placeholder="请选择"
clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps">
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="关联供应商" prop="subjectBasicId" >
<el-col :span="24">
<jnpf-form-tip-item label="关联供应商" prop="subjectBasicId">
<JnpfPopupSelect v-model="dataForm.subjectBasicId" @change="changeData('subjectBasicId',-1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择" propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name' field='subjectBasicId' interfaceId="522417703080700549" :pageSize="20" :columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择"
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
field='subjectBasicId' interfaceId="522417703080700549" :pageSize="20"
:columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
</JnpfPopupSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="姓名" prop="name" >
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="姓名" prop="name">
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="职务" prop="position" >
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="职务" prop="position">
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="公司" prop="companyName" >
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="公司" prop="companyName">
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)" placeholder="请输入"
clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="手机" prop="mobile" >
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="手机" prop="mobile">
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="电话" prop="phone" >
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="电话" prop="phone">
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="邮箱" prop="emaile" >
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="邮箱" prop="emaile">
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="地址" prop="address" >
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-col :span="24">
<jnpf-form-tip-item label="地址" prop="address">
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)" placeholder="请输入" clearable
:style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="是否星标" prop="markColor" >
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)"
:active-value="1" :inactive-value="0" >
<el-col :span="24">
<jnpf-form-tip-item label="是否星标" prop="markColor">
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)" :active-value="1"
:inactive-value="0">
</JnpfSwitch>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="附件" prop="annex" >
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)"
:fileSize="10" sizeUnit="MB" :limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传" >
<el-col :span="24">
<jnpf-form-tip-item label="附件" prop="annex">
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)" :fileSize="10" sizeUnit="MB"
:limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传">
</JnpfUploadFile>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false"/>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
@select="addForSelect" @close="selectDialogVisible=false" />
</el-row>
<span slot="footer" class="dialog-footer">
<div class="upAndDown-button" v-if="dataForm.id">
@ -127,20 +114,38 @@
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"> </el-button>
</span>
</el-dialog>
</template>
</template>
<script>
import request from '@/utils/request'
import {mapGetters} from "vuex";
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
import { thousandsFormat } from "@/components/Generator/utils/index"
import {
mapGetters
} from "vuex";
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
import {
getDefaultCurrentValueUserId
} from '@/api/permission/user'
import {
getDefaultCurrentValueDepartmentId
} from '@/api/permission/organize'
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from '@/components/Generator/utils/index.js'
import {
thousandsFormat
} from "@/components/Generator/utils/index"
export default {
components: { },
components: {},
props: [],
data() {
return {
@ -154,69 +159,56 @@
loading: false,
btnLoading: false,
formRef: 'formRef',
setting:{},
setting: {},
eventType: '',
userBoxVisible:false,
userBoxVisible: false,
selectDialogVisible: false,
currTableConf:{},
dataValueAll:{},
addTableConf:{
},
currTableConf: {},
dataValueAll: {},
addTableConf: {},
//
ableAll:{
},
tableRows:{
},
Vmodel:"",
currVmodel:"",
ableAll: {},
tableRows: {},
Vmodel: "",
currVmodel: "",
dataForm: {
logo : [],
contactsType : "2",
subjectBasicId : undefined,
businessType:'2',
name : undefined,
position : undefined,
companyName : undefined,
mobile : undefined,
phone : undefined,
emaile : undefined,
address : undefined,
markColor : 0,
annex : [],
logo: [],
contactsType: "2",
subjectBasicId: undefined,
businessType: '2',
name: undefined,
position: undefined,
companyName: undefined,
mobile: undefined,
phone: undefined,
emaile: undefined,
address: undefined,
markColor: 0,
annex: [],
},
tableRequiredData: {},
dataRule:
{
subjectBasicId: [
{
dataRule: {
subjectBasicId: [{
required: true,
message: '请选择',
trigger: 'change'
},
],
name: [
{
}, ],
name: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
position: [
{
}, ],
position: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
companyName: [
{
}, ],
companyName: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
mobile: [
{
}, ],
mobile: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -227,8 +219,7 @@
trigger: 'blur'
},
],
phone: [
{
phone: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -239,8 +230,7 @@
trigger: 'blur'
},
],
emaile: [
{
emaile: [{
required: true,
message: '请输入',
trigger: 'blur'
@ -251,32 +241,51 @@
trigger: 'blur'
},
],
address: [
{
address: [{
required: true,
message: '请输入',
trigger: 'blur'
},
],
},
contactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"联系人","id":"2"}],
contactsTypeProps:{"label":"fullName","value":"id" },
subjectBasicIdcolumnOptions:[ {"label":"供应商名称","value":"name"}, {"label":"供应商编码","value":"code"},],
childIndex:-1,
isEdit:false,
}, ],
},
contactsTypeOptions: [{
"fullName": "默认",
"id": "1"
}, {
"fullName": "联系人",
"id": "2"
}],
contactsTypeProps: {
"label": "fullName",
"value": "id"
},
subjectBasicIdcolumnOptions: [{
"label": "名称",
"value": "name"
}, {
"label": "分类",
"value": "calssifyName"
}, {
"label": "星级",
"value": "customerStarRatingName"
}, {
"label": "归属人员",
"value": "belongPeopleName"
}],
childIndex: -1,
isEdit: false,
interfaceRes: {
logo:[] ,
contactsType:[] ,
subjectBasicId:[] ,
name:[] ,
position:[] ,
companyName:[] ,
mobile:[] ,
phone:[] ,
emaile:[] ,
address:[] ,
markColor:[] ,
annex:[] ,
logo: [],
contactsType: [],
subjectBasicId: [],
name: [],
position: [],
companyName: [],
mobile: [],
phone: [],
emaile: [],
address: [],
markColor: [],
annex: [],
},
}
},
@ -319,7 +328,7 @@
},
getInfo(id) {
request({
url: '/api/scm/Contacts/'+ id,
url: '/api/scm/Contacts/' + id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
@ -343,7 +352,7 @@
for (let i = 0; i < faceReList.length; i++) {
if (faceReList[i].relationField == model) {
let options = 'get' + key + 'Options';
if(this[options]){
if (this[options]) {
this[options]()
}
this.changeData(key, index)
@ -352,8 +361,8 @@
}
}
},
changeDataFormData(type, data, model,index,defaultValue) {
if(!this.isEdit) {
changeDataFormData(type, data, model, index, defaultValue) {
if (!this.isEdit) {
if (type == 2) {
for (let i = 0; i < this.dataForm[data].length; i++) {
if (index == -1) {
@ -367,12 +376,11 @@
}
}
},
dataAll(){
},
clearData(){
dataAll() {},
clearData() {
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
},
init(id,isDetail,allList) {
init(id, isDetail, allList) {
this.prevDis = false
this.nextDis = false
this.allList = allList || []
@ -391,16 +399,16 @@
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/scm/Contacts/'+this.dataForm.id,
url: '/api/scm/Contacts/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
}else{
} else {
this.clearData()
this.initDefaultData()
}
@ -421,7 +429,7 @@
})
},
request() {
let _data =this.dataList()
let _data = this.dataList()
if (this.dataFormSubmitType == 2) {
this.continueBtnLoading = true
} else {
@ -451,13 +459,13 @@
this.$emit('refresh', true)
}
})
}).catch(()=>{
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
}else{
} else {
request({
url: '/api/scm/Contacts/'+this.dataForm.id,
url: '/api/scm/Contacts/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
@ -472,15 +480,15 @@
this.$emit('refresh', true)
}
})
}).catch(()=>{
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
}
},
openSelectDialog(key) {
this.currTableConf=this.addTableConf[key]
this.currVmodel=key
this.currTableConf = this.addTableConf[key]
this.currVmodel = key
this.selectDialogVisible = true
this.$nextTick(() => {
this.$refs.selectDialog.init()
@ -489,8 +497,8 @@
addForSelect(data) {
for (let i = 0; i < data.length; i++) {
let t = data[i]
if(this['get'+this.currVmodel]){
this['get'+this.currVmodel](t)
if (this['get' + this.currVmodel]) {
this['get' + this.currVmodel](t)
}
}
},
@ -557,18 +565,17 @@
}
return timeDataValue;
},
dataList(){
dataList() {
var _data = this.dataForm;
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
dataInfo(dataAll) {
let _dataAll = dataAll
this.dataForm = _dataAll
this.isEdit = true
this.dataAll()
this.childIndex=-1
this.childIndex = -1
},
},
}
</script>

@ -73,13 +73,13 @@
<template slot-scope="scope">
<JnpfInput v-model="scope.row.advanceRatioDown"
@change="changeData('subjectaccountperiodrules-advanceRatioDown',scope.$index)" placeholder="请输入"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioDown')"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioDown') || scope.row.settlementType == 1"
clearable :style='{"width":"40%"}'>
</JnpfInput>
<label></label>
<JnpfInput v-model="scope.row.advanceRatioUpper"
@change="changeData('subjectaccountperiodrules-advanceRatioUpper',scope.$index)" placeholder="请输入"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioUpper')"
:disabled="judgeWrite('subjectaccountperiodrulesList')||judgeWrite('subjectaccountperiodrulesList-advanceRatioUpper') || scope.row.settlementType == 1"
clearable :style='{"width":"40%"}'>
</JnpfInput>
</template>
@ -525,7 +525,7 @@
isOk = false
break
}
if (!e.advanceRatioDown) {
if (!e.advanceRatioDown && e.settlementType == '2') {
this.$message({
message: '预付比例最低不能为空',
type: 'error',
@ -533,7 +533,7 @@
});
isOk = false
break
}
}else{
if (e.advanceRatioDown) {
var regPos = [{
"pattern": "/^([1-9][\\d]*|0)(\\.[\\d]+)?$/",
@ -552,7 +552,8 @@
}
}
}
if (!e.advanceRatioUpper) {
}
if (!e.advanceRatioUpper && e.settlementType == '2') {
this.$message({
message: '预付比例最高不能为空',
type: 'error',
@ -560,7 +561,7 @@
});
isOk = false
break
}
}else{
if (e.advanceRatioUpper) {
var regPos = [{
"pattern": "/^([1-9][\\d]*|0)(\\.[\\d]+)?$/",
@ -579,6 +580,7 @@
}
}
}
}
if (!e.accountPeriodDown) {
this.$message({
message: '账期最低不能为空',

@ -3,30 +3,45 @@
<div class="JNPF-preview-main">
<div class="JNPF-common-page-header">
<!-- <el-page-header @back="goBack" :content="!dataForm.id ? '新建' : '编辑'" /> -->
<el-page-header @back="goBack" :content="!dataForm.id ? '合同价格配置' : '合同价格配置'" />
<el-page-header
@back="goBack"
:content="!dataForm.id ? '合同价格配置' : '合同价格配置'"
/>
<div class="options">
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"
:disabled='continueBtnLoading'> </el-button>
<el-button
type="primary"
@click="dataFormSubmit()"
:loading="btnLoading"
:disabled="continueBtnLoading"
>
</el-button
>
<el-button @click="goBack"> </el-button>
</div>
</div>
<el-row :gutter="15" class=" main" :style="{ margin: '0 auto', width: '100%' }">
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
label-position="right">
<el-row
:gutter="15"
class=" main"
:style="{ margin: '0 auto', width: '100%' }"
>
<el-form
ref="formRef"
:model="dataForm"
:rules="dataRule"
size="small"
label-width="100px"
label-position="right"
>
<template v-if="!loading">
<!-- 具体表单 -->
<!-- <el-col :span="24">
<jnpf-form-tip-item label="合同id" prop="contractId">
<JnpfInput v-model="dataForm.contractId" @change="changeData('contractId', -1)"
placeholder="请输入" clearable :style='{ "width": "100%" }'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col> -->
<el-col :span="24">
<jnpf-form-tip-item label="公式编码" prop="priceFormulaCode">
<JnpfInput v-model="dataForm.priceFormulaCode"
@change="changeData('priceFormulaCode', -1)" placeholder="系统自动生成" readonly
:style='{ "width": "100%" }'>
<JnpfInput
v-model="dataForm.priceFormulaCode"
@change="changeData('priceFormulaCode', -1)"
placeholder="系统自动生成"
readonly
:style="{ width: '100%' }"
>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
@ -36,7 +51,11 @@
<template v-if="item.enCode == 'fixedProfit'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.priceFormulaType" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
@ -46,7 +65,11 @@
<template v-else-if="item.enCode == 'taxRateA'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.priceFormulaType" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
@ -56,7 +79,11 @@
<template v-else-if="item.enCode == 'taxRateB'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.priceFormulaType" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
@ -66,37 +93,53 @@
<template v-else-if="item.enCode == 'moneyRate'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.priceFormulaType" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
<FormulaMoneyRate v-model="dataForm" />
</div>
</template>
<template v-else-if="item.enCode == 'moneyRate'">
<template v-else-if="item.enCode == 'storageService'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.storageService" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
<FormulaStorageService v-model="dataForm" />
</div>
</template>
<template v-else-if="item.enCode == 'moneyRate'">
<template v-else-if="item.enCode == 'transitService'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.transitService" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
<FormulaTransitService v-model="dataForm" />
</div>
</template>
<template v-else-if="item.enCode == 'moneyRate'">
<template v-else-if="item.enCode == 'outProcessService'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.outProcessService" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
@ -106,7 +149,11 @@
<template v-else-if="item.enCode == 'specialPrice'">
<div class="formula-item">
<div>
<el-radio v-model="dataForm.outProcessService" :label="item.enCode">
<el-radio
v-model="dataForm.priceFormulaType"
:label="item.enCode"
@input="fnPriceFormulaTypeChg"
>
{{ item.fullName }}
</el-radio>
</div>
@ -114,203 +161,48 @@
</div>
</template>
</template>
<!-- <div class="formula-item">
<div>资金利息</div>
<FormulaMoneyRate v-model="dataForm" />
</div> -->
<!-- <div class="formula-item">
<div>仓储服务带票</div>
<FormulaStorageService v-model="dataForm" />
</div> -->
<!-- <div class="formula-item">
<div>服务费用倒运</div>
<FormulaTransitService v-model="dataForm" />
</div> -->
<!-- <div class="formula-item">
<div>服务费用委外加工</div>
<FormulaOutProcessService v-model="dataForm" />
</div> -->
<!-- <div class="formula-item">
<div>特殊价格</div>
<FormulaSpecialPrice v-model="dataForm" />
</div> -->
</div>
</el-col>
<!-- <el-col :span="24">
<jnpf-form-tip-item label="公式类型" prop="priceFormulaType">
<JnpfRadio v-model="dataForm.priceFormulaType"
@change="changeData('priceFormulaType', -1)" optionType="default"
direction="horizontal" size="small" :options="priceFormulaTypeOptions"
:props="priceFormulaTypeProps">
</JnpfRadio>
</jnpf-form-tip-item>
</el-col> -->
<!-- <el-col :span="24">
<jnpf-form-tip-item label="固定利润1" prop="fixedProfit1">
<JnpfInputNumber v-model="dataForm.fixedProfit1"
@change="changeData('fixedProfit1', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="固定利润2" prop="fixedProfit2">
<JnpfInputNumber v-model="dataForm.fixedProfit2"
@change="changeData('fixedProfit2', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="固定金额" prop="fixedAmount">
<JnpfInputNumber v-model="dataForm.fixedAmount" @change="changeData('fixedAmount', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="户头费" prop="accountCost">
<JnpfInputNumber v-model="dataForm.accountCost" @change="changeData('accountCost', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="装卸费" prop="handleCost">
<JnpfInputNumber v-model="dataForm.handleCost" @change="changeData('handleCost', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="倒运费" prop="reshipmentCost">
<JnpfInputNumber v-model="dataForm.reshipmentCost"
@change="changeData('reshipmentCost', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="其它费用1" prop="otherCost1">
<JnpfInputNumber v-model="dataForm.otherCost1" @change="changeData('otherCost1', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="其它费用2" prop="otherCost2">
<JnpfInputNumber v-model="dataForm.otherCost2" @change="changeData('otherCost2', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="其它费用3" prop="otherCost3">
<JnpfInputNumber v-model="dataForm.otherCost3" @change="changeData('otherCost3', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="其它费用4" prop="otherCost4">
<JnpfInputNumber v-model="dataForm.otherCost4" @change="changeData('otherCost4', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="结算吨数" prop="settlementTonnage">
<JnpfInputNumber v-model="dataForm.settlementTonnage"
@change="changeData('settlementTonnage', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="对应吨数" prop="correspondTonnage">
<JnpfInputNumber v-model="dataForm.correspondTonnage"
@change="changeData('correspondTonnage', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="销售吨数" prop="saleTonnage">
<JnpfInputNumber v-model="dataForm.saleTonnage" @change="changeData('saleTonnage', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="税率" prop="taxRate">
<JnpfInputNumber v-model="dataForm.taxRate" @change="changeData('taxRate', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="客户税负率" prop="taxRateCustomer">
<JnpfInputNumber v-model="dataForm.taxRateCustomer"
@change="changeData('taxRateCustomer', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="黄牛税负率" prop="taxRateYellowBull">
<JnpfInputNumber v-model="dataForm.taxRateYellowBull"
@change="changeData('taxRateYellowBull', -1)" placeholder="数字文本" :precision="2"
:step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="开票公司税负率" prop="taxRateInvoicingCompany">
<JnpfInputNumber v-model="dataForm.taxRateInvoicingCompany"
@change="changeData('taxRateInvoicingCompany', -1)" placeholder="数字文本"
:precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="资金利率" prop="fundRate">
<JnpfInputNumber v-model="dataForm.fundRate" @change="changeData('fundRate', -1)"
placeholder="数字文本" :precision="2" :step="1">
</JnpfInputNumber>
</jnpf-form-tip-item>
</el-col> -->
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
@select="addForSelect" @close="selectDialogVisible = false" />
<SelectDialog
v-if="selectDialogVisible"
:config="currTableConf"
:formData="dataForm"
ref="selectDialog"
@select="addForSelect"
@close="selectDialogVisible = false"
/>
</el-row>
</div>
</transition>
</template>
<script>
import request from '@/utils/request'
import request from "@/utils/request";
import { mapGetters } from "vuex";
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
import { thousandsFormat } from "@/components/Generator/utils/index"
import FormulaFixedProfit from './formula/fixedProfit.vue'
import FormulaTaxRateA from './formula/taxRateA.vue'
import FormulaTaxRateB from './formula/taxRateB.vue'
import FormulaMoneyRate from './formula/moneyRate.vue'
import FormulaStorageService from './formula/storageService.vue'
import FormulaTransitService from './formula/transitService.vue'
import FormulaOutProcessService from './formula/outProcessService.vue'
import FormulaSpecialPrice from './formula/specialPrice.vue'
import katex from 'katex';
import 'katex/dist/katex.min.css';
import { getDataInterfaceRes } from "@/api/systemData/dataInterface";
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
import { getDefaultCurrentValueUserId } from "@/api/permission/user";
import { getDefaultCurrentValueDepartmentId } from "@/api/permission/organize";
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from "@/components/Generator/utils/index.js";
import { thousandsFormat } from "@/components/Generator/utils/index";
import FormulaFixedProfit from "./formula/fixedProfit.vue";
import FormulaTaxRateA from "./formula/taxRateA.vue";
import FormulaTaxRateB from "./formula/taxRateB.vue";
import FormulaMoneyRate from "./formula/moneyRate.vue";
import FormulaStorageService from "./formula/storageService.vue";
import FormulaTransitService from "./formula/transitService.vue";
import FormulaOutProcessService from "./formula/outProcessService.vue";
import FormulaSpecialPrice from "./formula/specialPrice.vue";
import katex from "katex";
import "katex/dist/katex.min.css";
export default {
components: {
FormulaFixedProfit,
@ -334,20 +226,17 @@ export default {
visible: false,
loading: false,
btnLoading: false,
formRef: 'formRef',
formRef: "formRef",
setting: {},
eventType: '',
eventType: "",
userBoxVisible: false,
selectDialogVisible: false,
currTableConf: {},
dataValueAll: {},
addTableConf: {
},
addTableConf: {},
//
ableAll: {
},
tableRows: {
},
ableAll: {},
tableRows: {},
Vmodel: "",
currVmodel: "",
dataForm: {
@ -372,14 +261,12 @@ export default {
taxRateYellowBull: undefined,
taxRateInvoicingCompany: undefined,
fundRate: undefined,
version: 0,
version: 0
},
tableRequiredData: {},
dataRule:
{
},
dataRule: {},
priceFormulaTypeOptions: [],
priceFormulaTypeProps: { "label": "fullName", "value": "enCode" },
priceFormulaTypeProps: { label: "fullName", value: "enCode" },
childIndex: -1,
isEdit: false,
interfaceRes: {
@ -403,63 +290,88 @@ export default {
taxRateCustomer: [],
taxRateYellowBull: [],
taxRateInvoicingCompany: [],
fundRate: [],
},
fundRate: []
}
};
},
computed: {
...mapGetters(['userInfo'])
...mapGetters(["userInfo"])
},
watch: {},
created() {
this.dataAll()
this.initDefaultData()
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
},
mounted() {
this.dataAll();
this.initDefaultData();
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm));
},
mounted() {},
methods: {
prev() {
this.index--
this.index--;
if (this.index === 0) {
this.prevDis = true
this.prevDis = true;
}
this.nextDis = false
this.nextDis = false;
for (let index = 0; index < this.allList.length; index++) {
const element = this.allList[index];
if (this.index == index) {
this.getInfo(element.id)
this.getInfo(element.id);
}
}
},
next() {
this.index++
this.index++;
if (this.index === this.allList.length - 1) {
this.nextDis = true
this.nextDis = true;
}
this.prevDis = false
this.prevDis = false;
for (let index = 0; index < this.allList.length; index++) {
const element = this.allList[index];
if (this.index == index) {
this.getInfo(element.id)
this.getInfo(element.id);
}
}
},
fnPriceFormulaTypeChg(info) {
this.dataForm = {
contractId: this.dataForm.contractId,
priceFormulaCode: this.dataForm.priceFormulaCode,
priceFormulaType: this.dataForm.priceFormulaType,
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,
version: 0
};
},
getInfo(id) {
request({
url: '/api/scm/ContractSetPriceFormula/' + id,
method: 'get'
url: "/api/scm/ContractSetPriceFormula/" + id,
method: "get"
}).then(res => {
this.dataInfo(res.data)
this.dataInfo(res.data);
});
},
goBack() {
this.visible = false
this.$emit('refreshDataList', true)
this.visible = false;
this.$emit("refreshDataList", true);
},
changeData(model, index) {
this.isEdit = false
this.childIndex = index
this.isEdit = false;
this.childIndex = index;
let modelAll = model.split("-");
let faceMode = "";
for (let i = 0; i < modelAll.length; i++) {
@ -467,14 +379,14 @@ export default {
}
for (let key in this.interfaceRes) {
if (key != faceMode) {
let faceReList = this.interfaceRes[key]
let faceReList = this.interfaceRes[key];
for (let i = 0; i < faceReList.length; i++) {
if (faceReList[i].relationField == model) {
let options = 'get' + key + 'Options';
let options = "get" + key + "Options";
if (this[options]) {
this[options]()
this[options]();
}
this.changeData(key, index)
this.changeData(key, index);
}
}
}
@ -485,13 +397,13 @@ export default {
if (type == 2) {
for (let i = 0; i < this.dataForm[data].length; i++) {
if (index == -1) {
this.dataForm[data][i][model] = defaultValue
this.dataForm[data][i][model] = defaultValue;
} else if (index == i) {
this.dataForm[data][i][model] = defaultValue
this.dataForm[data][i][model] = defaultValue;
}
}
} else {
this.dataForm[data] = defaultValue
this.dataForm[data] = defaultValue;
}
}
},
@ -499,198 +411,201 @@ export default {
this.getpriceFormulaTypeOptions();
},
getpriceFormulaTypeOptions() {
getDictionaryDataSelector('529925559430414341').then(res => {
this.priceFormulaTypeOptions = res.data.list
})
getDictionaryDataSelector("529925559430414341").then(res => {
this.priceFormulaTypeOptions = res.data.list;
});
},
goBack() {
this.$emit('refresh')
this.$emit("refresh");
},
clearData(contractId) {
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
this.dataForm.contractId = contractId
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll));
this.dataForm.contractId = contractId;
},
init(id, isDetail, allList, contractId) {
this.prevDis = false
this.nextDis = false
this.allList = allList || []
this.prevDis = false;
this.nextDis = false;
this.allList = allList || [];
if (allList.length) {
this.index = this.allList.findIndex(item => item.id === id)
this.index = this.allList.findIndex(item => item.id === id);
if (this.index == 0) {
this.prevDis = true
this.prevDis = true;
}
if (this.index == this.allList.length - 1) {
this.nextDis = true
this.nextDis = true;
}
} else {
this.prevDis = true
this.nextDis = true
this.prevDis = true;
this.nextDis = true;
}
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if (this.dataForm.id) {
this.loading = true
this.loading = true;
request({
url: '/api/scm/ContractSetPriceFormula/' + this.dataForm.id,
method: 'get'
url: "/api/scm/ContractSetPriceFormula/" + this.dataForm.id,
method: "get"
}).then(res => {
this.dataInfo(res.data)
this.loading = false
this.dataInfo(res.data);
this.loading = false;
});
} else {
this.clearData(contractId)
this.initDefaultData()
this.clearData(contractId);
this.initDefaultData();
}
});
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
this.$store.commit("generator/UPDATE_RELATION_DATA", {});
},
//
initDefaultData() {
},
initDefaultData() {},
//
dataFormSubmit(type) {
this.dataFormSubmitType = type ? type : 0
this.$refs['formRef'].validate((valid) => {
this.dataFormSubmitType = type ? type : 0;
this.$refs["formRef"].validate(valid => {
if (valid) {
this.request()
this.request();
}
})
});
},
request() {
let _data = this.dataList()
let _data = this.dataList();
if (this.dataFormSubmitType == 2) {
this.continueBtnLoading = true
this.continueBtnLoading = true;
} else {
this.btnLoading = true
this.btnLoading = true;
}
if (!this.dataForm.id) {
request({
url: '/api/scm/ContractSetPriceFormula',
method: 'post',
url: "/api/scm/ContractSetPriceFormula",
method: "post",
data: _data
}).then((res) => {
})
.then(res => {
this.$message({
message: res.msg,
type: 'success',
type: "success",
duration: 1000,
onClose: () => {
if (this.dataFormSubmitType == 2) {
this.$nextTick(() => {
this.clearData()
this.initDefaultData()
})
this.continueBtnLoading = false
return
this.clearData();
this.initDefaultData();
});
this.continueBtnLoading = false;
return;
}
this.visible = false
this.btnLoading = false
this.$emit('refresh', true)
this.visible = false;
this.btnLoading = false;
this.$emit("refresh", true);
}
});
})
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
.catch(() => {
this.btnLoading = false;
this.continueBtnLoading = false;
});
} else {
request({
url: '/api/scm/ContractSetPriceFormula/' + this.dataForm.id,
method: 'PUT',
url: "/api/scm/ContractSetPriceFormula/" + this.dataForm.id,
method: "PUT",
data: _data
}).then((res) => {
})
.then(res => {
this.$message({
message: res.msg,
type: 'success',
type: "success",
duration: 1000,
onClose: () => {
if (this.dataFormSubmitType == 2) return this.continueBtnLoading = false
this.visible = false
this.btnLoading = false
this.$emit('refresh', true)
if (this.dataFormSubmitType == 2)
return (this.continueBtnLoading = false);
this.visible = false;
this.btnLoading = false;
this.$emit("refresh", true);
}
});
})
}).catch(() => {
this.btnLoading = false
this.continueBtnLoading = false
})
.catch(() => {
this.btnLoading = false;
this.continueBtnLoading = false;
});
}
},
openSelectDialog(key) {
this.currTableConf = this.addTableConf[key]
this.currVmodel = key
this.selectDialogVisible = true
this.currTableConf = this.addTableConf[key];
this.currVmodel = key;
this.selectDialogVisible = true;
this.$nextTick(() => {
this.$refs.selectDialog.init()
})
this.$refs.selectDialog.init();
});
},
addForSelect(data) {
for (let i = 0; i < data.length; i++) {
let t = data[i]
if (this['get' + this.currVmodel]) {
this['get' + this.currVmodel](t)
let t = data[i];
if (this["get" + this.currVmodel]) {
this["get" + this.currVmodel](t);
}
}
},
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
let timeDataValue = null;
let timeValue = Number(timeValueData)
let timeValue = Number(timeValueData);
if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValue
timeDataValue = timeValue;
} else if (timeType == 2) {
timeDataValue = dataValue
timeDataValue = dataValue;
} else if (timeType == 3) {
timeDataValue = new Date().getTime()
timeDataValue = new Date().getTime();
} else if (timeType == 4) {
let previousDate = '';
let previousDate = "";
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue)
timeDataValue = new Date(previousDate).getTime()
previousDate = getDateDay(timeTarget, timeType, timeValue);
timeDataValue = new Date(previousDate).getTime();
} else if (timeTarget == 3) {
previousDate = getBeforeData(timeValue)
timeDataValue = new Date(previousDate).getTime()
previousDate = getBeforeData(timeValue);
timeDataValue = new Date(previousDate).getTime();
} else {
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime()
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime();
}
} else if (timeType == 5) {
let previousDate = '';
let previousDate = "";
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue)
timeDataValue = new Date(previousDate).getTime()
previousDate = getDateDay(timeTarget, timeType, timeValue);
timeDataValue = new Date(previousDate).getTime();
} else if (timeTarget == 3) {
previousDate = getLaterData(timeValue)
timeDataValue = new Date(previousDate).getTime()
previousDate = getLaterData(timeValue);
timeDataValue = new Date(previousDate).getTime();
} else {
timeDataValue = getLaterTime(timeTarget, timeValue).getTime()
timeDataValue = getLaterTime(timeTarget, timeValue).getTime();
}
}
}
return timeDataValue;
},
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType
let timeDataValue = null
let format = formatType == "HH:mm" ? "HH:mm:00" : formatType;
let timeDataValue = null;
if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValue || '00:00:00'
if (timeDataValue.split(':').length == 3) {
timeDataValue = timeDataValue
timeDataValue = timeValue || "00:00:00";
if (timeDataValue.split(":").length == 3) {
timeDataValue = timeDataValue;
} else {
timeDataValue = timeDataValue + ':00'
timeDataValue = timeDataValue + ":00";
}
} else if (timeType == 2) {
timeDataValue = dataValue
timeDataValue = dataValue;
} else if (timeType == 3) {
timeDataValue = this.jnpf.toDate(new Date(), format)
timeDataValue = this.jnpf.toDate(new Date(), format);
} else if (timeType == 4) {
let previousDate = '';
previousDate = getBeforeTime(timeTarget, timeValue)
timeDataValue = this.jnpf.toDate(previousDate, format)
let previousDate = "";
previousDate = getBeforeTime(timeTarget, timeValue);
timeDataValue = this.jnpf.toDate(previousDate, format);
} else if (timeType == 5) {
let previousDate = '';
previousDate = getLaterTime(timeTarget, timeValue)
timeDataValue = this.jnpf.toDate(previousDate, format)
let previousDate = "";
previousDate = getLaterTime(timeTarget, timeValue);
timeDataValue = this.jnpf.toDate(previousDate, format);
}
}
return timeDataValue;
@ -700,15 +615,14 @@ export default {
return _data;
},
dataInfo(dataAll) {
let _dataAll = dataAll
this.dataForm = _dataAll
this.isEdit = true
this.dataAll()
this.childIndex = -1
},
},
}
let _dataAll = dataAll;
this.dataForm = _dataAll;
this.isEdit = true;
this.dataAll();
this.childIndex = -1;
}
}
};
</script>
<style>

@ -1,149 +1,172 @@
<template>
<div class="formula-fixed-profit">
<div class="formula-box">
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:1.2173em;vertical-align:-0.345em;"></span><span class="mord"><span
class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span
class="vlist-r"><span class="vlist" style="height:0.8723em;"><span style="top:-2.655em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mord cjk_fallback mtight"><el-input class="formula-input-bottom"
v-model="value.settlementTonnage" placeholder="结算吨数"
style="top:4"></el-input></span></span></span></span><span style="top:-3.23em;"><span
class="pstrut" style="height:3em;"></span><span class="frac-line"
style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mord cjk_fallback mtight">客户销售结算金额含税</span><span class="mbin mtight"></span>
<span class="mord mtight"><el-input class="formula-input-top" v-model="value.fixedProfit1"
placeholder="固定利润1"></el-input></span>
<span class="mbin mtight"></span><el-input class="formula-input-top"
v-model="value.otherCost1" placeholder="其他费用1"></el-input><span
class="mbin mtight">+</span><el-input class="formula-input-top"
v-model="value.otherCost2" placeholder="其他费用2"></el-input><span
class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">理论销售结算金额含税</span></span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span class="vlist"
style="height:0.345em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter"></span></span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-center"
v-model="value.fixedProfit2" placeholder="固定利润2"></el-input><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-center"
v-model="value.otherCost3" placeholder="其他费用3"></el-input><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><el-input class="formula-input-center" v-model="value.otherCost4"
placeholder="其他费用4"></el-input><span class="mspace" style="margin-right:0.2778em;"></span><span
class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span
class="base"><span class="strut" style="height:0.6833em;"></span><span
class="mord cjk_fallback">采购单价含税</span></span></span></span>
<div class="formula-fixed-profit-a csty-formula-box">
<div class="formula-fixed-profit-a csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-item">
<div class="csty-formula-box-x">
<div class="csty-formula-item">客户销售结算金额含税</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">理论销售结算金额含税</div>
</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.settlementTonnage"
placeholder="结算吨数"
size="mini"
></el-input>
</template>
<template v-else>
结算吨数
</template>
</div>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit2"
placeholder="固定利润2"
size="mini"
></el-input>
</template>
<template v-else>
固定利润2
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.otherCost3"
placeholder="其他费用3"
size="mini"
></el-input>
</template>
<template v-else>
其他费用3
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'fixedProfit'">
<el-input
class="csty-formula-input"
v-model="value.otherCost4"
placeholder="其他费用4"
size="mini"
></el-input>
</template>
<template v-else>
其他费用4
</template>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">采购单价含税</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
return {};
},
created() {
},
mounted() {
this.$nextTick(function () {
// var htmlA = katex.renderToString(String.raw`
// \frac {- \boxed{1} - \boxed{1} + \boxed{2}
// = }{\boxed{}} - \boxed{2} - \boxed{3} + \boxed{4}
// =
// `, {
// throwOnError: false
// })
// var htmlA = katex.renderToString(String.raw`
// \frac { - 1 - 1 + 2
// = }{} - 2 - 3 + 4
// =
// `, {
// throwOnError: false
// })
// console.log(htmlA)
})
},
methods: {
}
}
computed: {},
created() {},
mounted() {},
methods: {}
};
</script>
<style scoped>
.formula-fixed-profit {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
width: 1500px;
padding: 30px;
.csty-formula {
min-width: 1400px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #000;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,138 +1,150 @@
<template>
<div class="formula-money-rate">
<div class="formula-box">
<div class="formula-item"><span class="katex">
<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:1.355em;vertical-align:-0.345em;"></span><span class="mord"><span
class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span
class="vlist-r"><span class="vlist" style="height:1.01em;"><span style="top:-2.655em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><el-input
class="formula-input-bottom" v-model="value.correspondTonnage"
placeholder="对应吨数"></el-input></span></span></span><span style="top:-3.23em;"><span
class="pstrut" style="height:3em;"></span><span class="frac-line"
style="border-bottom-width:0.04em;"></span></span><span style="top:-3.485em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mord cjk_fallback mtight">总资金利息</span><span class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">销售总金额含税</span><span class="mbin mtight">×</span><span
class="mopen mtight">(</span><span class="mord mtight">1</span><span
class="mbin mtight">+</span><el-input class="formula-input-top" v-model="value.fundRate"
placeholder="资金利率"></el-input><span class="mclose mtight">)</span><span
class="mbin mtight"></span><el-input class="formula-input-top"
v-model="value.fixedAmount" placeholder="固定利润1"></el-input><span
class="mbin mtight"></span><el-input class="formula-input-top"
v-model="value.otherCost1" placeholder="其他费用1"></el-input><span
class="mbin mtight">+</span><el-input class="formula-input-top"
<div class="formula-money-rate csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-box-x">
<div class="csty-formula-item">总资金利息</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">销售总金额含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'moneyRate'">
<el-input
class="csty-formula-input"
v-model="value.fundRate"
placeholder="资金利率"
size="mini"
></el-input>
</template>
<template v-else>
资金利率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'moneyRate'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'moneyRate'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'moneyRate'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"></el-input></span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span class="vlist"
style="height:0.345em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter"></span></span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">销售单价含税</span></span></span></span>
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'moneyRate'">
<el-input
class="csty-formula-input"
v-model="value.correspondTonnage"
placeholder="对应吨数"
size="mini"
></el-input>
</template>
<template v-else>
对应吨数
</template>
</div>
</div>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">销售单价含税</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
// var htmlD = katex.renderToString(String.raw`
// \frac {
// = \times \lparen 1 + \boxed{} \rparen - \boxed{1} - \boxed{1} + \boxed{2}} {\boxed{}}
// =
// `, {
// throwOnError: false
// });
// var htmlD = katex.renderToString(String.raw`
// \frac {
// = \times \lparen 1 + \rparen - 1 - 1 + 2} {}
// =
// `, {
// throwOnError: false
// });
// console.log(htmlD)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-money-rate {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
width: 1500px;
padding: 30px;
.csty-formula {
min-width: 1000px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,126 +1,114 @@
<template>
<div class="formula-out-process-service">
<div class="formula-box">
<div class="formula-item">垫付采购单价=市场价</div>
<div class="formula-item">实际销售单价=实际客户价</div>
<div class="formula-item"><span class="katex">
<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">加工费运费</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><span
class="mord cjk_fallback">实际销售单价不含税</span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span
class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><el-input
class="formula-input-top" v-model="value.taxRateCustomer" placeholder="客户税负率"></el-input><span
class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span
class="mord cjk_fallback">毛料加权平均单价不含税</span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-top"
v-model="value.saleTonnage" placeholder="销售吨数"></el-input><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">资金占用利息</span></span></span></span>
<div class="formula-out-process-service csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-item">垫付采购单价</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">市场价</div>
</div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">实际销售单价</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">实际客户价</div>
</div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">加工费运费</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">实际销售单价不含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'outProcessService'">
<el-input
class="csty-formula-input"
v-model="value.taxRateCustomer"
placeholder="客户税负率"
size="mini"
></el-input>
</template>
<template v-else>
客户税负率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">毛料加权平均单价不含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'outProcessService'">
<el-input
class="csty-formula-input"
v-model="value.saleTonnage"
placeholder="销售吨数"
size="mini"
></el-input>
</template>
<template v-else>
销售吨数
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">资金占用利息</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
// var htmlG = katex.renderToString(String.raw`
// = \times \lparen 1 - \rparen - \times -
// `, {
// throwOnError: false
// });
// console.log(htmlG)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-transit-service {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
font: normal 1.21em KaTeX_Main, Times New Roman, serif;
width: 1500px;
padding: 30px;
.csty-formula {
min-width: 1000px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,145 +1,195 @@
<template>
<div class="formula-special-price">
<div class="formula-box">
<div class="formula-item"><span class="katex">
<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span
class="mord cjk_fallback">采购结算单价不含税</span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span
class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><el-input
class="formula-input-top" v-model="value.saleTonnage" placeholder="税率"></el-input><span
class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input
class="formula-input-top" v-model="value.saleTonnage" placeholder="固定利润1"></el-input><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-top"
v-model="value.saleTonnage" placeholder="其他费用1"></el-input><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><el-input class="formula-input-top"
v-model="value.saleTonnage" placeholder="其他费用2"></el-input><span class="mclose">)</span><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span
class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><el-input
class="formula-input-top" v-model="value.saleTonnage" placeholder="客户税负率"></el-input><span
class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input
class="formula-input-top" v-model="value.saleTonnage" placeholder="固定利润1"></el-input><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-top"
v-model="value.saleTonnage" placeholder="其他费用1"></el-input><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><el-input class="formula-input-top" v-model="value.saleTonnage"
placeholder="其他费用2"></el-input><span class="mspace" style="margin-right:0.2778em;"></span><span
class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span
class="base"><span class="strut" style="height:0.6833em;"></span><span
class="mord cjk_fallback">采购单价含税</span></span></span></span></div>
<div class="formula-item">实际销售单价 = 客户结算单单价</div>
<div class="formula-special-price csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">采购结算单价 不含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.taxRate"
placeholder="税率"
size="mini"
></el-input>
</template>
<template v-else>
税率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.taxRateCustomer"
placeholder="客户税负率"
size="mini"
></el-input>
</template>
<template v-else>
客户税负率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'specialPrice'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">采购单价含税</div>
</div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">实际销售单价</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">客户结算单单价</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
var htmlH = katex.renderToString(String.raw`
\lparen 采购结算单价不含税 \times \lparen 1 + 税率 \rparen - 固定利润1 - 其他费用1 + 其他费用2 \rparen \times \lparen 1 - 客户税负率 \rparen - 固定利润1 - 其他费用1 + 其他费用2
= 采购单价含税
`, {
throwOnError: false
});
console.log(htmlH)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-special-price {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
font: normal 1.21em KaTeX_Main, Times New Roman, serif;
width: 1700px;
padding: 30px;
.csty-formula {
min-width: 1600px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,204 +1,206 @@
<template>
<div class="formula-storage-service">
<div class="formula-box">
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">垫付采购金额</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span
class="mord cjk_fallback">客户开标价上标段</span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mord cjk_fallback"><el-input
class="formula-input-center" v-model="value.fixedAmount" placeholder="固定金额"></el-input></span><span
class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:0.6833em;"></span><span
class="mord cjk_fallback">吨数</span></span></span></span>
<div>
<div class="formula-storage-service csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-item">垫付采购金额</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">客户开标价上标段</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.fixedAmount"
placeholder="固定金额"
size="mini"
></el-input>
</template>
<template v-else>
固定金额
</template>
</div>
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">实际销售单价</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">客户开标价售卖标段</span></span></span></span>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">吨数</div>
</div>
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">资金利息</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><span
class="mord cjk_fallback">垫付采购金额</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span
class="mopen">(</span><span class="mord">1</span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mord cjk_fallback"><el-input
class="formula-input-center" v-model="value.fundRate" placeholder="利率"></el-input></span><span
class="mclose">)</span></span></span></span>
<div class="csty-formula-box-x">
<div class="csty-formula-item">实际销售单价</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">客户开标价售卖标段</div>
</div>
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">利润金额</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span
class="mord cjk_fallback"><el-input class="formula-input-center" v-model="value.accountCost"
placeholder="户头费"></el-input></span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span>
<el-input class="formula-input-center" v-model="value.handleCost" placeholder="装卸费"></el-input><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-center"
v-model="value.fixedProfit1" placeholder="固定利润1"></el-input>
<span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><el-input class="formula-input-center"
v-model="value.otherCost1" placeholder="其它费用1"></el-input><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:1em;vertical-align:-0.25em;"></span><el-input class="formula-input-center"
v-model="value.otherCost2" placeholder="其它费用2"></el-input><span class="mclose">)</span><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord cjk_fallback">吨数</span><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">资金利息</span></span></span></span>
<div class="csty-formula-box-x">
<div class="csty-formula-item">资金利息</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">垫付采购金额</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.fundRate"
placeholder="利率"
size="mini"
></el-input>
</template>
<template v-else>
利率
</template>
</div>
<div class="csty-formula-item">)</div>
</div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">利润金额</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.accountCost"
placeholder="户头费"
size="mini"
></el-input>
</template>
<template v-else>
户头费
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.handleCost"
placeholder="装卸费"
size="mini"
></el-input>
</template>
<template v-else>
装卸费
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其它费用1"
size="mini"
></el-input>
</template>
<template v-else>
其它费用1
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'storageService'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其它费用2"
size="mini"
></el-input>
</template>
<template v-else>
其它费用2
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">吨数</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">资金利息</div>
</div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">补交采购金额</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">客户开标价售卖标段</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">吨数</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">利润金额</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">垫付采购金额</div>
</div>
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">补交采购金额</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><span
class="mord cjk_fallback">客户开标价售卖标段</span><span class="mspace"
style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord cjk_fallback">吨数</span><span
class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace"
style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut"
style="height:0.7667em;vertical-align:-0.0833em;"></span><span
class="mord cjk_fallback">利润金额</span><span class="mspace" style="margin-right:0.2222em;"></span><span
class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span
class="base"><span class="strut" style="height:0.6833em;"></span><span
class="mord cjk_fallback">垫付采购金额</span></span></span></span>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
// var htmlE1 = katex.renderToString(String.raw`
// = \lparen - \rparen \times
// `, {
// throwOnError: false
// })
// var htmlE2 = katex.renderToString(String.raw`
// =
// `, {
// throwOnError: false
// })
// var htmlE3 = katex.renderToString(String.raw`
// = \times \lparen 1 + \rparen
// `, {
// throwOnError: false
// })
// var htmlE4 = katex.renderToString(String.raw`
// = \lparen + - 1 - 1 + 2 \rparen \times +
// `, {
// throwOnError: false
// })
// var htmlE5 = katex.renderToString(String.raw`
// = \times - -
// `, {
// throwOnError: false
// })
// console.log(htmlE5)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-storage-service {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
width: 1500px;
padding: 30px;
.csty-formula {
min-width: 1000px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,198 +1,238 @@
<template>
<div class="formula-tax-rate-a">
<div class="formula-box">
<div class="formula-item">
<span class="katex">
<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:2.2442em;vertical-align:-0.52em;"></span><span class="mord"><span
class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span
class="vlist-r"><span class="vlist" style="height:1.7242em;"><span style="top:-2.8284em;"><span
class="pstrut" style="height:3.1734em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mopen mtight">(</span><span class="mord mtight">1</span><el-input
class="formula-input-bottom" v-model="value.taxRateInvoicingCompany"
placeholder="开票公司税负率" style="width: 120px;"></el-input><span
class="mclose mtight">)</span></span></span></span><span style="top:-3.4034em;"><span
class="pstrut" style="height:3.1734em;"></span><span class="frac-line"
style="border-bottom-width:0.04em;"></span></span><span style="top:-3.7242em;"><span
class="pstrut" style="height:3.1734em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mord mtight"><span
class="mopen nulldelimiter sizing reset-size3 size6"></span><span class="mfrac"><span
class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist"
style="height:1.6762em;"><span style="top:-2.656em;"><span class="pstrut"
style="height:3em;"></span><span
class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span
class="mord cjk_fallback mtight"><el-input class="formula-input-bottom"
v-model="value.settlementTonnage"
placeholder="结算吨数"></el-input></span></span></span></span><span
style="top:-3.2255em;"><span class="pstrut" style="height:3em;"></span><span
class="frac-line mtight"
style="border-bottom-width:0.049em;"></span></span><span
style="top:-3.9117em;"><span class="pstrut" style="height:3em;"></span><span
class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span
class="mord mtight"><span
class="mopen nulldelimiter sizing reset-size1 size6"></span><span
class="mfrac"><span class="vlist-t vlist-t2"><span
class="vlist-r"><span class="vlist" style="height:1.0703em;"><span
style="top:-2.4265em;"><span class="pstrut"
style="height:3em;"></span><span class="mord mtight"><span
class="mopen mtight">(</span><span
class="mord mtight">1</span><span
class="mbin mtight">+</span><el-input
class="formula-input-bottom" v-model="value.taxRate"
placeholder="税率" style="top:4"></el-input><span
class="mclose mtight">)</span></span></span><span
style="top:-3.2255em;"><span class="pstrut"
style="height:3em;"></span><span class="frac-line mtight"
style="border-bottom-width:0.049em;"></span></span><span
style="top:-3.387em;"><span class="pstrut"
style="height:3em;"></span><span class="mord mtight"><span
class="mord cjk_fallback mtight">客户销售结算金额含税价</span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span
class="vlist"
style="height:0.8235em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter sizing reset-size1 size6"></span></span><span
class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">客户销售结算金额不含税价</span><span
class="mbin mtight"></span><el-input class="formula-input-center"
v-model="value.fixedProfit1" placeholder="固定利润1"></el-input><span
class="mbin mtight"></span><el-input class="formula-input-center"
v-model="value.otherCost1" placeholder="其他费用1"></el-input><span
class="mbin mtight">+</span><el-input class="formula-input-center"
<div class="formula-tax-rate-a csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-box-x">
<div class="csty-formula-item">
客户销售结算金额含税价
</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.taxRate"
placeholder="税率"
size="mini"
></el-input>
</template>
<template v-else>
税率
</template>
</div>
<div class="csty-formula-item">)</div>
</div>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">
客户销售结算金额不含税价
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"></el-input></span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span class="vlist"
style="height:0.344em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter sizing reset-size3 size6"></span></span><span
class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">理论销售结算单价不含税</span><span
class="mbin mtight">×</span><span class="mopen mtight">(</span><span
class="mord mtight">1</span><span class="mbin mtight">+</span><el-input
class="formula-input-center" v-model="value.taxRate" placeholder="税率"></el-input><span
class="mclose mtight">)</span><span class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">理论销售结算单价含税</span><span
class="mbin mtight">×</span><span class="mopen mtight">(</span><span
class="mord mtight">1</span><span class="mbin mtight"></span><el-input
class="formula-input-center" v-model="value.taxRateYellowBull"
placeholder="黄牛税负率"></el-input><span class="mbin mtight"></span><el-input
class="formula-input-center" v-model="value.fundRate"
placeholder="资金利率"></el-input><span class="mclose mtight">)</span><span
class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">黄牛结算价</span></span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span class="vlist"
style="height:0.52em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter"></span></span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">采购单价含税</span></span></span></span>
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.settlementTonnage"
placeholder="结算吨数"
size="mini"
></el-input>
</template>
<template v-else>
结算吨数
</template>
</div>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">理论销售结算单价不含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.taxRate"
placeholder="税率"
size="mini"
></el-input>
</template>
<template v-else>
税率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">理论销售结算单价含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.taxRateYellowBull"
placeholder="黄牛税负率"
size="mini"
></el-input>
</template>
<template v-else>
黄牛税负率
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.fundRate"
placeholder="资金利率"
size="mini"
></el-input>
</template>
<template v-else>
资金利率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">黄牛结算价</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateA'">
<el-input
class="csty-formula-input"
v-model="value.taxRateInvoicingCompany"
placeholder="开票公司税负率"
size="mini"
></el-input>
</template>
<template v-else>
开票公司税负率
</template>
</div>
<div class="csty-formula-item">)</div>
</div>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">采购单价含税</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
import katex from "katex";
import "katex/dist/katex.min.css";
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
// var htmlB = katex.renderToString(String.raw`
// \frac {\frac {\frac { } {\lparen 1 + \boxed{} \rparen }
// = - \boxed{1} - \boxed{1} + \boxed{2}} {\boxed{}}
// = \times \lparen 1 + \rparen
// = \times \lparen 1 - \boxed{} - \boxed{} \rparen
// = }{ \lparen 1 \boxed{} \rparen }
// =
// `, {
// throwOnError: false
// });
// var htmlB = katex.renderToString(String.raw`
// \frac {\frac {\frac { } {\lparen 1 + \rparen }
// = - 1 - 1 + 2} {}
// = \times \lparen 1 + \rparen
// = \times \lparen 1 - - \rparen
// = }{ \lparen 1 \rparen }
// =
// `, {
// throwOnError: false
// });
// console.log(htmlB)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-tax-rate-a {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
width: 1700px;
padding: 30px;
.csty-formula {
min-width: 2000px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,142 +1,170 @@
<template>
<div class="formula-tax-rate-b">
<div class="formula-box">
<div class="formula-item"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span
class="strut" style="height:1.53em;vertical-align:-0.52em;"></span><span class="mord"><span
class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span
class="vlist-r"><span class="vlist" style="height:1.01em;"><span style="top:-2.655em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mopen mtight">(</span><span class="mord mtight">1</span><span
class="mbin mtight"></span><el-input class="formula-input-bottom"
v-model="value.taxRateInvoicingCompany" placeholder="开票公司税负率"
style="width: 120px;"></el-input><span
class="mclose mtight">)</span></span></span></span><span style="top:-3.23em;"><span
class="pstrut" style="height:3em;"></span><span class="frac-line"
style="border-bottom-width:0.04em;"></span></span><span style="top:-3.485em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mord cjk_fallback mtight">黄牛结算价</span><span class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">理论销售结算单价含税</span><span
class="mbin mtight">×</span><span class="mopen mtight">(</span><span
class="mord mtight">1</span><span class="mbin mtight"></span><el-input
class="formula-input-top" v-model="value.taxRateYellowBull"
placeholder="黄牛税负率"></el-input><span class="mbin mtight"></span><el-input
class="formula-input-top" v-model="value.fundRate" placeholder="资金利率"></el-input><span
class="mclose mtight">)</span><span class="mbin mtight"></span><el-input
class="formula-input-top" v-model="value.fixedProfit1"
placeholder="固定利润1"></el-input><span class="mbin mtight"></span><el-input
class="formula-input-top" v-model="value.otherCost1"
placeholder="其他费用1"></el-input><span class="mbin mtight">+</span><el-input
class="formula-input-top" v-model="value.otherCost2"
placeholder="其他费用2"></el-input></span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span class="vlist"
style="height:0.52em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter"></span></span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">采购单价含税</span></span></span></span>
<div class="formula-tax-rate-b csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-box-x">
<div class="csty-formula-item">黄牛结算价</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">理论销售结算单价含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateB'">
<el-input
class="csty-formula-input"
v-model="value.taxRateYellowBull"
placeholder="黄牛税负率"
size="mini"
></el-input>
</template>
<template v-else>
黄牛税负率
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateB'">
<el-input
class="csty-formula-input"
v-model="value.fundRate"
placeholder="资金利率"
size="mini"
></el-input>
</template>
<template v-else>
资金利率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateB'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateB'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateB'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-box-x">
<div class="csty-formula-item"></div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'taxRateB'">
<el-input
class="csty-formula-input"
v-model="value.taxRateInvoicingCompany"
placeholder="开票公司税负率"
size="mini"
></el-input>
</template>
<template v-else>
开票公司税负率
</template>
</div>
<div class="csty-formula-item"></div>
</div>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">采购单价含税</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
import katex from "katex";
import "katex/dist/katex.min.css";
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
// var htmlC = katex.renderToString(String.raw`
// \frac {
// = \times \lparen 1 - \boxed{} - \boxed{} \rparen - \boxed{1} - \boxed{1} + \boxed{2} } { \lparen 1 -\boxed{ } \rparen}
// =
// `, {
// throwOnError: false
// });
// var htmlC = katex.renderToString(String.raw`
// \frac {
// = \times \lparen 1 - - \rparen - 1 - 1 + 2 } { \lparen 1 - \rparen}
// =
// `, {
// throwOnError: false
// });
// console.log(htmlC)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-tax-rate-b {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
width: 1500px;
padding: 30px;
.csty-formula {
min-width: 1200px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -1,147 +1,180 @@
<template>
<div class="formula-transit-service">
<div class="formula-box">
<div class="formula-item">
垫付采购单价含税 = 市场价含税
<div class="formula-transit-service csty-formula-box">
<div class="csty-formula">
<div class="csty-formula-box-x">
<div class="csty-formula-item">垫付采购单价含税</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">市场价含税</div>
</div>
<div class="formula-item">
实际销售单价含税 = 实际客户价含税
<div class="csty-formula-box-x">
<div class="csty-formula-item">实际销售单价含税</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">实际客户价含税</div>
</div>
<div class="formula-item">
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut"
style="height:1.53em;vertical-align:-0.52em;"></span><span class="mord"><span
class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span
class="vlist-r"><span class="vlist" style="height:1.01em;"><span style="top:-2.655em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mopen mtight">(</span><span class="mord mtight">1</span><span
class="mbin mtight"></span><el-input class="formula-input-bottom"
v-model="value.otherCost2" placeholder="开票公司税负率" style="width: 120px;"></el-input><span
class="mclose mtight">)</span></span></span></span><span style="top:-3.23em;"><span
class="pstrut" style="height:3em;"></span><span class="frac-line"
style="border-bottom-width:0.04em;"></span></span><span style="top:-3.485em;"><span
class="pstrut" style="height:3em;"></span><span
class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span
class="mord cjk_fallback mtight">黄牛结算单价</span><span class="mrel mtight">=</span><span
class="mord cjk_fallback mtight">实际销售单价含税</span><span
class="mbin mtight">×</span><span class="mopen mtight">(</span><span
class="mord mtight">1</span><span class="mbin mtight"></span><el-input
class="formula-input-top" v-model="value.otherCost2"
placeholder="黄牛税负率"></el-input><span class="mclose mtight">)</span><span
class="mbin mtight"></span><el-input class="formula-input-top"
v-model="value.otherCost2" placeholder="倒运费"></el-input><span
class="mbin mtight"></span><el-input class="formula-input-top"
v-model="value.otherCost2" placeholder="固定利润1"></el-input><span
class="mbin mtight"></span><el-input class="formula-input-top"
v-model="value.otherCost2" placeholder="其他费用1"></el-input><span
class="mbin mtight">+</span><el-input class="formula-input-top"
<div class="csty-formula-box-x">
<div class="csty-formula-box-y">
<div class="csty-formula-box-x">
<div class="csty-formula-item">黄牛结算单价</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">实际销售单价含税</div>
<div class="csty-formula-item">x</div>
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'transitService'">
<el-input
class="csty-formula-input"
v-model="value.taxRateYellowBull"
placeholder="黄牛税负率"
size="mini"
></el-input>
</template>
<template v-else>
黄牛税负率
</template>
</div>
<div class="csty-formula-item">)</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'transitService'">
<el-input
class="csty-formula-input"
v-model="value.reshipmentCost"
placeholder="倒运费"
size="mini"
></el-input>
</template>
<template v-else>
倒运费
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'transitService'">
<el-input
class="csty-formula-input"
v-model="value.fixedProfit1"
placeholder="固定利润1"
size="mini"
></el-input>
</template>
<template v-else>
固定利润1
</template>
</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'transitService'">
<el-input
class="csty-formula-input"
v-model="value.otherCost1"
placeholder="其他费用1"
size="mini"
></el-input>
</template>
<template v-else>
其他费用1
</template>
</div>
<div class="csty-formula-item">+</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'transitService'">
<el-input
class="csty-formula-input"
v-model="value.otherCost2"
placeholder="其他费用2"></el-input></span></span></span></span><span
class="vlist-s"></span></span><span class="vlist-r"><span class="vlist"
style="height:0.52em;"><span></span></span></span></span></span><span
class="mclose nulldelimiter"></span></span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">实际采购单价含税</span><span class="mspace"
style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace"
style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut"
style="height:0.6833em;"></span><span class="mord cjk_fallback">开票公司结算价含税</span></span></span></span>
placeholder="其他费用2"
size="mini"
></el-input>
</template>
<template v-else>
其他费用2
</template>
</div>
</div>
<div class="csty-formula-line"></div>
<div class="csty-formula-box-x">
<div class="csty-formula-item">(</div>
<div class="csty-formula-item">1</div>
<div class="csty-formula-item">-</div>
<div class="csty-formula-item">
<template v-if="value.priceFormulaType == 'transitService'">
<el-input
class="csty-formula-input"
v-model="value.taxRateInvoicingCompany"
placeholder="开票公司税负率"
size="mini"
></el-input>
</template>
<template v-else>
开票公司税负率
</template>
</div>
<div class="csty-formula-item">)</div>
</div>
</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">实际采购单价含税</div>
<div class="csty-formula-item">=</div>
<div class="csty-formula-item">开票公司结算价含税</div>
</div>
</div>
</div>
</template>
<script>
import katex from 'katex';
import 'katex/dist/katex.min.css';
export default {
props: ['value'],
components: {
},
props: ["value"],
components: {},
data() {
return {
}
},
computed: {
},
created() {
return {};
},
computed: {},
created() {},
mounted() {
this.$nextTick(function () {
// var htmlF = katex.renderToString(String.raw`
// \frac {
// = \times \lparen 1 - \rparen - - 1 - 1 + 2} {\lparen 1 - \rparen}
// =
// =
// `, {
// throwOnError: false
// });
// console.log(htmlF)
})
this.$nextTick(function() {});
},
methods: {
}
}
methods: {}
};
</script>
<style scoped>
.formula-transit-service {
.csty-formula-box {
width: 100%;
overflow: auto;
overflow-x: auto;
font-size: 14px;
color: #606266;
padding: 15px;
margin: 10px;
background-color: aliceblue;
border-radius: 5px;
}
.formula-box {
font: normal 1.21em KaTeX_Main, Times New Roman, serif;
width: 1500px;
padding: 30px;
.csty-formula {
min-width: 1500px;
}
::v-deep .formula-input-top {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: -4px;
.csty-formula-box-x {
display: flex;
flex-direction: row;
align-items: center;
}
::v-deep .formula-input-top .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-box-y {
display: flex;
flex-direction: column;
align-items: center;
}
::v-deep .formula-input-bottom {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 6px;
.csty-formula-item {
padding: 5px 5px;
}
::v-deep .formula-input-bottom .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-item-y {
padding: 5px 5px;
width: 100%;
}
::v-deep .formula-input-center {
width: 80px;
display: inline-block;
height: 20px;
line-height: 20px;
font-size: 12px;
margin: 0px 5px;
top: 0px;
.csty-formula-line {
border-bottom: 1px solid #606266;
width: 100%;
height: 0;
}
::v-deep .formula-input-center .el-input__inner {
padding: 0px 5px;
height: 20px;
line-height: 20px;
.csty-formula-input {
width: 110px;
}
</style>

@ -76,7 +76,7 @@
</el-table-column>
<el-table-column prop="inventoryNumberSum" label="库存数量" align="center" width="150">
</el-table-column>
<el-table-column prop="inventoryNumber0" label="占用库存" align="center" width="150">
<el-table-column prop="occupyInventorySum" label="占用库存" align="center" width="150">
</el-table-column>
<el-table-column prop="inventoryNumber1" label="可用库存" align="center" width="150">
</el-table-column>

Loading…
Cancel
Save