设备配置+设备清单+投递清单

master
guochaojie 5 months ago
parent 5bc22d4203
commit 222b88e360

@ -5,11 +5,11 @@ import jnpf.entity.RecycleDeliveryOrderEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-29
* 2024-05-31
*/
public interface RecycleDeliveryOrderMapper extends BaseMapper<RecycleDeliveryOrderEntity> {

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

@ -5,11 +5,11 @@ import jnpf.entity.RecycleDeviceEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-29
* 2024-05-31
*/
public interface RecycleDeviceMapper extends BaseMapper<RecycleDeviceEntity> {

@ -2,7 +2,9 @@ package jnpf.service;
import jnpf.model.recyclebucket.*;
import jnpf.entity.*;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -16,7 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
public interface RecycleBucketService extends IService<RecycleBucketEntity> {
List<RecycleBucketEntity> getList(RecycleBucketPagination recycleBucketPagination);
List<RecycleBucketEntity> getTypeList(RecycleBucketPagination recycleBucketPagination,String dataType);
List<RecycleBucketEntity> getTypeList(RecycleBucketPagination recycleBucketPagination, String dataType);
RecycleBucketEntity getInfo(String id);
@ -28,8 +30,9 @@ public interface RecycleBucketService extends IService<RecycleBucketEntity> {
//子表方法
//副表数据方法
String checkForm(RecycleBucketForm form,int i);
String checkForm(RecycleBucketForm form, int i);
void saveOrUpdate(RecycleBucketForm recycleBucketForm,String id, boolean isSave) throws Exception;
void saveOrUpdate(RecycleBucketForm recycleBucketForm, String id, boolean isSave) throws Exception;
List<RecycleBucketEntity> getList(RecycleBucketEntity entity);
}

@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
/**
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-29
* 2024-05-31
*/
public interface RecycleDeliveryOrderService extends IService<RecycleDeliveryOrderEntity> {
List<RecycleDeliveryOrderEntity> getList(RecycleDeliveryOrderPagination recycleDeliveryOrderPagination);
@ -28,8 +28,6 @@ public interface RecycleDeliveryOrderService extends IService<RecycleDeliveryOrd
//子表方法
//副表数据方法
RecycleDeliveryPhotoEntity getRecycleDeliveryPhoto(String id);
String checkForm(RecycleDeliveryOrderForm form,int i);
void saveOrUpdate(RecycleDeliveryOrderForm recycleDeliveryOrderForm,String id, boolean isSave) throws Exception;

@ -0,0 +1,35 @@
package jnpf.service;
import jnpf.model.recycledeviceconfige.*;
import jnpf.entity.*;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
/**
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-31
*/
public interface RecycleDeviceConfigeService extends IService<RecycleDeviceConfigeEntity> {
List<RecycleDeviceConfigeEntity> getList(RecycleDeviceConfigePagination recycleDeviceConfigePagination);
List<RecycleDeviceConfigeEntity> getTypeList(RecycleDeviceConfigePagination recycleDeviceConfigePagination,String dataType);
RecycleDeviceConfigeEntity getInfo(String id);
void delete(RecycleDeviceConfigeEntity entity);
void create(RecycleDeviceConfigeEntity entity);
boolean update(String id, RecycleDeviceConfigeEntity entity);
//子表方法
//副表数据方法
String checkForm(RecycleDeviceConfigeForm form,int i);
void saveOrUpdate(RecycleDeviceConfigeForm recycleDeviceConfigeForm,String id, boolean isSave) throws Exception;
}

@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
/**
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-29
* 2024-05-31
*/
public interface RecycleDeviceService extends IService<RecycleDeviceEntity> {
List<RecycleDeviceEntity> getList(RecycleDevicePagination recycleDevicePagination);

@ -305,4 +305,12 @@ public class RecycleBucketServiceImpl extends ServiceImpl<RecycleBucketMapper, R
this.saveOrUpdate(entity);
}
@Override
public List<RecycleBucketEntity> getList(RecycleBucketEntity entity) {
QueryWrapper<RecycleBucketEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtil.isNotEmpty(entity.getDeviceCode()), "device_code", entity.getDeviceCode());
wrapper.eq(StringUtil.isNotEmpty(entity.getBucketCode()), "bucket_code", entity.getBucketCode());
return this.list(wrapper);
}
}

@ -32,11 +32,11 @@ import jnpf.base.UserInfo;
import jnpf.permission.entity.UserEntity;
/**
*
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-29
* 2024-05-31
*/
@Service
public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDeliveryOrderMapper, RecycleDeliveryOrderEntity> implements RecycleDeliveryOrderService{
@ -46,8 +46,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
@Autowired
private UserProvider userProvider;
@Autowired
private RecycleDeliveryPhotoService recycleDeliveryPhotoService;
@Override
public List<RecycleDeliveryOrderEntity> getList(RecycleDeliveryOrderPagination recycleDeliveryOrderPagination){
return getTypeList(recycleDeliveryOrderPagination,recycleDeliveryOrderPagination.getDataType());
@ -66,9 +64,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
int total=0;
int recycleDeliveryOrderNum =0;
QueryWrapper<RecycleDeliveryOrderEntity> recycleDeliveryOrderQueryWrapper=new QueryWrapper<>();
int recycleDeliveryPhotoNum =0;
QueryWrapper<RecycleDeliveryPhotoEntity> recycleDeliveryPhotoQueryWrapper=new QueryWrapper<>();
long recycleDeliveryPhotocount = recycleDeliveryPhotoService.count();
List<String> allSuperIDlist = new ArrayList<>();
String superOp ="";
if (ObjectUtil.isNotEmpty(recycleDeliveryOrderPagination.getSuperQueryJson())){
@ -86,14 +81,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
intersectionSuperList.add(recycleDeliveryOrderList);
superNum++;
}
String RecycleDeliveryPhotoTable = "nx_recycle_delivery_photo";
boolean RecycleDeliveryPhotoHasSql = queryJson.contains(RecycleDeliveryPhotoTable);
List<String> recycleDeliveryPhotoList = generaterSwapUtil.selectIdsByChildCondition(RecycleDeliveryOrderConstant.getTableList(), RecycleDeliveryPhotoTable , queryJson, null);
if (RecycleDeliveryPhotoHasSql){
allSuperList.addAll(recycleDeliveryPhotoList);
intersectionSuperList.add(recycleDeliveryPhotoList);
superNum++;
}
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
//and or
if(superOp.equalsIgnoreCase("and")){
@ -118,14 +105,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
intersectionRuleList.add(recycleDeliveryOrderList);
ruleNum++;
}
String RecycleDeliveryPhotoTable = "nx_recycle_delivery_photo";
boolean RecycleDeliveryPhotoHasSql = ruleJson.contains(RecycleDeliveryPhotoTable);
List<String> recycleDeliveryPhotoList = generaterSwapUtil.selectIdsByChildCondition(RecycleDeliveryOrderConstant.getTableList(), RecycleDeliveryPhotoTable , ruleJson, null);
if (RecycleDeliveryPhotoHasSql){
allRuleList.addAll(recycleDeliveryPhotoList);
intersectionRuleList.add(recycleDeliveryPhotoList);
ruleNum++;
}
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
//and or
if(ruleOp.equalsIgnoreCase("and")){
@ -147,15 +126,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
recycleDeliveryOrderNum++;
}
}
Object recycleDeliveryPhotoObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(recycleDeliveryPhotoQueryWrapper,RecycleDeliveryPhotoEntity.class,recycleDeliveryOrderPagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(recycleDeliveryPhotoObj)){
return new ArrayList<>();
} else {
recycleDeliveryPhotoQueryWrapper = (QueryWrapper<RecycleDeliveryPhotoEntity>)recycleDeliveryPhotoObj;
if( recycleDeliveryPhotoQueryWrapper.getExpression().getNormal().size()>0){
recycleDeliveryPhotoNum++;
}
}
}
}
if(!isPc && appPermission){
@ -171,17 +141,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
}
Object recycleDeliveryPhotoObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(recycleDeliveryPhotoQueryWrapper,RecycleDeliveryPhotoEntity.class,recycleDeliveryOrderPagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(recycleDeliveryPhotoObj)){
return new ArrayList<>();
} else {
recycleDeliveryPhotoQueryWrapper = (QueryWrapper<RecycleDeliveryPhotoEntity>)recycleDeliveryPhotoObj;
if( recycleDeliveryPhotoQueryWrapper.getExpression().getNormal().size()>0){
recycleDeliveryPhotoNum++;
}
}
}
}
if(isPc){
@ -244,17 +203,58 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
if(ObjectUtil.isNotEmpty(recycleDeliveryOrderPagination.getDoorNum())){
recycleDeliveryOrderNum++;
recycleDeliveryOrderQueryWrapper.lambda().eq(RecycleDeliveryOrderEntity::getDoorNum,recycleDeliveryOrderPagination.getDoorNum());
List<String> idList = new ArrayList<>();
try {
String[][] doorNum = JsonUtil.getJsonToBean(recycleDeliveryOrderPagination.getDoorNum(),String[][].class);
for(int i=0;i<doorNum.length;i++){
if(doorNum[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(doorNum[i])));
}
}
}catch (Exception e1){
try {
List<String> doorNum = JsonUtil.getJsonToList(recycleDeliveryOrderPagination.getDoorNum(),String.class);
if(doorNum.size()>0){
idList.addAll(doorNum);
}
}catch (Exception e2){
idList.add(String.valueOf(recycleDeliveryOrderPagination.getDoorNum()));
}
}
recycleDeliveryOrderQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(RecycleDeliveryOrderEntity::getDoorNum, tt).or();
});
});
}
if(ObjectUtil.isNotEmpty(recycleDeliveryOrderPagination.getBucketCode())){
recycleDeliveryOrderNum++;
String value = recycleDeliveryOrderPagination.getBucketCode() instanceof List ?
JsonUtil.getObjectToString(recycleDeliveryOrderPagination.getBucketCode()) :
String.valueOf(recycleDeliveryOrderPagination.getBucketCode());
recycleDeliveryOrderQueryWrapper.lambda().like(RecycleDeliveryOrderEntity::getBucketCode,value);
List<String> idList = new ArrayList<>();
try {
String[][] bucketCode = JsonUtil.getJsonToBean(recycleDeliveryOrderPagination.getBucketCode(),String[][].class);
for(int i=0;i<bucketCode.length;i++){
if(bucketCode[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(bucketCode[i])));
}
}
}catch (Exception e1){
try {
List<String> bucketCode = JsonUtil.getJsonToList(recycleDeliveryOrderPagination.getBucketCode(),String.class);
if(bucketCode.size()>0){
idList.add(JsonUtil.getObjectToString(bucketCode));
}
}catch (Exception e2){
idList.add(String.valueOf(recycleDeliveryOrderPagination.getBucketCode()));
}
}
recycleDeliveryOrderQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(RecycleDeliveryOrderEntity::getBucketCode, tt).or();
});
});
}
@ -268,6 +268,35 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
}
if(ObjectUtil.isNotEmpty(recycleDeliveryOrderPagination.getCompanyId())){
recycleDeliveryOrderNum++;
List<String> idList = new ArrayList<>();
try {
String[][] companyId = JsonUtil.getJsonToBean(recycleDeliveryOrderPagination.getCompanyId(),String[][].class);
for(int i=0;i<companyId.length;i++){
if(companyId[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(companyId[i])));
}
}
}catch (Exception e1){
try {
List<String> companyId = JsonUtil.getJsonToList(recycleDeliveryOrderPagination.getCompanyId(),String.class);
if(companyId.size()>0){
idList.add(companyId.get(companyId.size()-1));
}
}catch (Exception e2){
idList.add(String.valueOf(recycleDeliveryOrderPagination.getCompanyId()));
}
}
recycleDeliveryOrderQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(RecycleDeliveryOrderEntity::getCompanyId, tt).or();
});
});
}
if(ObjectUtil.isNotEmpty(recycleDeliveryOrderPagination.getCleanerPhone())){
recycleDeliveryOrderNum++;
@ -296,15 +325,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
}
}
if(recycleDeliveryPhotoNum>0){
List<String> recycleDeliveryPhotoIdList = recycleDeliveryPhotoService.list(recycleDeliveryPhotoQueryWrapper).stream().filter(t->StringUtil.isNotEmpty(t.getOrderNo())).map(t->t.getOrderNo()).collect(Collectors.toList());
long count = recycleDeliveryPhotoService.count();
if (count>0){
intersectionList.add(recycleDeliveryPhotoIdList);
}
AllIdList.addAll(recycleDeliveryPhotoIdList);
}
total+=recycleDeliveryPhotoNum;
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
if (total>0){
if (intersection.size()==0){
@ -379,13 +399,6 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
this.removeById(entity.getId());
}
}
/** RecycleDeliveryPhoto副表方法 */
@Override
public RecycleDeliveryPhotoEntity getRecycleDeliveryPhoto(String id){
QueryWrapper<RecycleDeliveryPhotoEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(RecycleDeliveryPhotoEntity::getOrderNo, id);
return recycleDeliveryPhotoService.getOne(queryWrapper);
}
/** 验证表单唯一字段,正则,非空 i-0新增-1修改*/
@Override
public String checkForm(RecycleDeliveryOrderForm form,int i) {
@ -396,7 +409,55 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
id = form.getId();
}
//主表字段验证
//副表字段验证
if(StringUtil.isEmpty(form.getPhone())){
return "投递人手机不能为空";
}
if(StringUtil.isEmpty(form.getReportWeight())){
return "上报重量不能为空";
}
if(StringUtil.isEmpty(form.getPrice())){
return "单价不能为空";
}
if(StringUtil.isNotEmpty(form.getPrice())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getPrice())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isEmpty(form.getTotalPrice())){
return "总价不能为空";
}
if(StringUtil.isNotEmpty(form.getTotalPrice())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getTotalPrice())).matches()){
return "请输入正确的重量";
}
}
if(StringUtil.isEmpty(form.getOriginalWeight())){
return "桶内原重不能为空";
}
if(StringUtil.isNotEmpty(form.getAdjustWeight())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getAdjustWeight())).matches()){
return "请输入正确的重量";
}
}
if(StringUtil.isEmpty(form.getAdjustPrice())){
return "审核总价不能为空";
}
if(StringUtil.isNotEmpty(form.getAdjustPrice())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getAdjustPrice())).matches()){
return "请输入正确的重量";
}
}
if(StringUtil.isEmpty(form.getBagNo())){
return "垃圾袋编号不能为空";
}
if(StringUtil.isEmpty(form.getDeviceOrderNo())){
return "机柜单号不能为空";
}
if(StringUtil.isNotEmpty(form.getCleanerPhone())){
if(!Pattern.compile("^1[3456789]\\d{9}$").matcher(String.valueOf(form.getCleanerPhone())).matches()){
return "请输入正确的手机号码";
}
}
return countRecover;
}
/**
@ -416,30 +477,24 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
if(isSave){
String mainId = RandomUtil.uuId() ;
entity.setLastModifyUserId(null);
entity.setOrderNo(generaterSwapUtil.getBillNumber("deliveryOrderCode", false));
entity.setCompanyId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setLastModifyTime(null);
entity.setLastModifyUserId(null);
entity.setOrganizeJsonId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setCreatorTime(DateUtil.getNowDate());
entity.setCreatorUserId(userInfo.getUserId());
entity.setId(mainId);
}else{
entity.setLastModifyUserId(null);
entity.setOrderNo(generaterSwapUtil.getBillNumber("deliveryOrderCode", false));
entity.setCompanyId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setLastModifyTime(null);
entity.setLastModifyUserId(null);
entity.setOrganizeJsonId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setCreatorTime(DateUtil.getNowDate());
entity.setCreatorUserId(userInfo.getUserId());
}
this.saveOrUpdate(entity);
//nx_recycle_delivery_photo副表数据新增修改
Map<String, Object> RecycleDeliveryPhotoMap = generaterSwapUtil.getMastTabelData(recycleDeliveryOrderForm,"nx_recycle_delivery_photo");
RecycleDeliveryPhotoEntity nx_recycle_delivery_photoentity = JsonUtil.getJsonToBean(RecycleDeliveryPhotoMap,RecycleDeliveryPhotoEntity.class);
//自动生成的字段
if(isSave){
nx_recycle_delivery_photoentity.setOrderNo(entity.getOrderNo());
nx_recycle_delivery_photoentity.setId(RandomUtil.uuId());
}else{
QueryWrapper<RecycleDeliveryPhotoEntity> queryWrapperRecycleDeliveryPhoto =new QueryWrapper<>();
queryWrapperRecycleDeliveryPhoto.lambda().eq(RecycleDeliveryPhotoEntity::getOrderNo,entity.getOrderNo());
RecycleDeliveryPhotoEntity nx_recycle_delivery_photoOneEntity= recycleDeliveryPhotoService.getOne(queryWrapperRecycleDeliveryPhoto);
nx_recycle_delivery_photoentity.setId(nx_recycle_delivery_photoOneEntity.getId());
nx_recycle_delivery_photoentity.setOrderNo(entity.getOrderNo());
}
recycleDeliveryPhotoService.saveOrUpdate(nx_recycle_delivery_photoentity);
}
}

@ -0,0 +1,366 @@
package jnpf.service.impl;
import jnpf.entity.*;
import jnpf.mapper.RecycleDeviceConfigeMapper;
import jnpf.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.model.recycledeviceconfige.*;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.util.GeneraterSwapUtil;
import jnpf.database.model.superQuery.SuperQueryJsonModel;
import jnpf.database.model.superQuery.ConditionJsonModel;
import jnpf.database.model.superQuery.SuperQueryConditionModel;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.regex.Pattern;
import jnpf.model.QueryModel;
import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.database.model.superQuery.SuperJsonModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import java.util.*;
import jnpf.base.UserInfo;
import jnpf.permission.entity.UserEntity;
/**
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-31
*/
@Service
public class RecycleDeviceConfigeServiceImpl extends ServiceImpl<RecycleDeviceConfigeMapper, RecycleDeviceConfigeEntity> implements RecycleDeviceConfigeService{
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private UserProvider userProvider;
@Override
public List<RecycleDeviceConfigeEntity> getList(RecycleDeviceConfigePagination recycleDeviceConfigePagination){
return getTypeList(recycleDeviceConfigePagination,recycleDeviceConfigePagination.getDataType());
}
/** 列表查询 */
@Override
public List<RecycleDeviceConfigeEntity> getTypeList(RecycleDeviceConfigePagination recycleDeviceConfigePagination,String dataType){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
List<List<String>> intersectionList =new ArrayList<>();
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
String columnData = !isPc ? RecycleDeviceConfigeConstant.getAppColumnData() : RecycleDeviceConfigeConstant.getColumnData();
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
int total=0;
int recycleDeviceConfigeNum =0;
QueryWrapper<RecycleDeviceConfigeEntity> recycleDeviceConfigeQueryWrapper=new QueryWrapper<>();
List<String> allSuperIDlist = new ArrayList<>();
String superOp ="";
if (ObjectUtil.isNotEmpty(recycleDeviceConfigePagination.getSuperQueryJson())){
List<String> allSuperList = new ArrayList<>();
List<List<String>> intersectionSuperList = new ArrayList<>();
String queryJson = recycleDeviceConfigePagination.getSuperQueryJson();
SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class);
int superNum = 0;
QueryWrapper<RecycleDeviceConfigeEntity> recycleDeviceConfigeSuperWrapper = new QueryWrapper<>();
recycleDeviceConfigeSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(recycleDeviceConfigeSuperWrapper,RecycleDeviceConfigeEntity.class,queryJson,"0"));
int recycleDeviceConfigeNum1 = recycleDeviceConfigeSuperWrapper.getExpression().getNormal().size();
if (recycleDeviceConfigeNum1>0){
List<String> recycleDeviceConfigeList =this.list(recycleDeviceConfigeSuperWrapper).stream().map(RecycleDeviceConfigeEntity::getId).collect(Collectors.toList());
allSuperList.addAll(recycleDeviceConfigeList);
intersectionSuperList.add(recycleDeviceConfigeList);
superNum++;
}
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
//and or
if(superOp.equalsIgnoreCase("and")){
allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList);
}else{
allSuperIDlist = allSuperList;
}
}
List<String> allRuleIDlist = new ArrayList<>();
String ruleOp ="";
if (ObjectUtil.isNotEmpty(ruleJson)){
List<String> allRuleList = new ArrayList<>();
List<List<String>> intersectionRuleList = new ArrayList<>();
SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class);
int ruleNum = 0;
QueryWrapper<RecycleDeviceConfigeEntity> recycleDeviceConfigeSuperWrapper = new QueryWrapper<>();
recycleDeviceConfigeSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(recycleDeviceConfigeSuperWrapper,RecycleDeviceConfigeEntity.class,ruleJson,"0"));
int recycleDeviceConfigeNum1 = recycleDeviceConfigeSuperWrapper.getExpression().getNormal().size();
if (recycleDeviceConfigeNum1>0){
List<String> recycleDeviceConfigeList =this.list(recycleDeviceConfigeSuperWrapper).stream().map(RecycleDeviceConfigeEntity::getId).collect(Collectors.toList());
allRuleList.addAll(recycleDeviceConfigeList);
intersectionRuleList.add(recycleDeviceConfigeList);
ruleNum++;
}
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
//and or
if(ruleOp.equalsIgnoreCase("and")){
allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList);
}else{
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object recycleDeviceConfigeObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(recycleDeviceConfigeQueryWrapper,RecycleDeviceConfigeEntity.class,recycleDeviceConfigePagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(recycleDeviceConfigeObj)){
return new ArrayList<>();
} else {
recycleDeviceConfigeQueryWrapper = (QueryWrapper<RecycleDeviceConfigeEntity>)recycleDeviceConfigeObj;
if( recycleDeviceConfigeQueryWrapper.getExpression().getNormal().size()>0){
recycleDeviceConfigeNum++;
}
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object recycleDeviceConfigeObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(recycleDeviceConfigeQueryWrapper,RecycleDeviceConfigeEntity.class,recycleDeviceConfigePagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(recycleDeviceConfigeObj)){
return new ArrayList<>();
} else {
recycleDeviceConfigeQueryWrapper = (QueryWrapper<RecycleDeviceConfigeEntity>)recycleDeviceConfigeObj;
if( recycleDeviceConfigeQueryWrapper.getExpression().getNormal().size()>0){
recycleDeviceConfigeNum++;
}
}
}
}
if(isPc){
if(ObjectUtil.isNotEmpty(recycleDeviceConfigePagination.getOrganizeJsonId())){
recycleDeviceConfigeNum++;
List<String> idList = new ArrayList<>();
try {
String[][] organizeJsonId = JsonUtil.getJsonToBean(recycleDeviceConfigePagination.getOrganizeJsonId(),String[][].class);
for(int i=0;i<organizeJsonId.length;i++){
if(organizeJsonId[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(organizeJsonId[i])));
}
}
}catch (Exception e1){
try {
List<String> organizeJsonId = JsonUtil.getJsonToList(recycleDeviceConfigePagination.getOrganizeJsonId(),String.class);
if(organizeJsonId.size()>0){
idList.add(organizeJsonId.get(organizeJsonId.size()-1));
}
}catch (Exception e2){
idList.add(String.valueOf(recycleDeviceConfigePagination.getOrganizeJsonId()));
}
}
recycleDeviceConfigeQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(RecycleDeviceConfigeEntity::getOrganizeJsonId, tt).or();
});
});
}
}
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
if (total>0){
if (intersection.size()==0){
intersection.add("jnpfNullList");
}
recycleDeviceConfigeQueryWrapper.lambda().in(RecycleDeviceConfigeEntity::getId, intersection);
}
//是否有高级查询
if (StringUtil.isNotEmpty(superOp)){
if (allSuperIDlist.size()==0){
allSuperIDlist.add("jnpfNullList");
}
List<String> finalAllSuperIDlist = allSuperIDlist;
recycleDeviceConfigeQueryWrapper.lambda().and(t->t.in(RecycleDeviceConfigeEntity::getId, finalAllSuperIDlist));
}
//是否有数据过滤查询
if (StringUtil.isNotEmpty(ruleOp)){
if (allRuleIDlist.size()==0){
allRuleIDlist.add("jnpfNullList");
}
List<String> finalAllRuleIDlist = allRuleIDlist;
recycleDeviceConfigeQueryWrapper.lambda().and(t->t.in(RecycleDeviceConfigeEntity::getId, finalAllRuleIDlist));
}
//排序
if(StringUtil.isEmpty(recycleDeviceConfigePagination.getSidx())){
recycleDeviceConfigeQueryWrapper.lambda().orderByDesc(RecycleDeviceConfigeEntity::getId);
}else{
try {
String sidx = recycleDeviceConfigePagination.getSidx();
String[] strs= sidx.split("_name");
RecycleDeviceConfigeEntity recycleDeviceConfigeEntity = new RecycleDeviceConfigeEntity();
Field declaredField = recycleDeviceConfigeEntity.getClass().getDeclaredField(strs[0]);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
recycleDeviceConfigeQueryWrapper="asc".equals(recycleDeviceConfigePagination.getSort().toLowerCase())?recycleDeviceConfigeQueryWrapper.orderByAsc(value):recycleDeviceConfigeQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<RecycleDeviceConfigeEntity> page=new Page<>(recycleDeviceConfigePagination.getCurrentPage(), recycleDeviceConfigePagination.getPageSize());
IPage<RecycleDeviceConfigeEntity> userIPage=this.page(page, recycleDeviceConfigeQueryWrapper);
return recycleDeviceConfigePagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<RecycleDeviceConfigeEntity> list = new ArrayList();
return recycleDeviceConfigePagination.setData(list, list.size());
}
}else{
return this.list(recycleDeviceConfigeQueryWrapper);
}
}
@Override
public RecycleDeviceConfigeEntity getInfo(String id){
QueryWrapper<RecycleDeviceConfigeEntity> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(RecycleDeviceConfigeEntity::getId,id);
return this.getOne(queryWrapper);
}
@Override
public void create(RecycleDeviceConfigeEntity entity){
this.save(entity);
}
@Override
public boolean update(String id, RecycleDeviceConfigeEntity entity){
return this.updateById(entity);
}
@Override
public void delete(RecycleDeviceConfigeEntity entity){
if(entity!=null){
this.removeById(entity.getId());
}
}
/** 验证表单唯一字段,正则,非空 i-0新增-1修改*/
@Override
public String checkForm(RecycleDeviceConfigeForm form,int i) {
boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0");
String id="";
String countRecover = "";
if (isUp){
id = form.getId();
}
//主表字段验证
if(StringUtil.isNotEmpty(form.getDeliveryPrice())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getDeliveryPrice())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket1Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket1Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket2Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket2Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket3Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket3Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket4Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket4Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket5Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket5Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket6Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket6Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket7Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket7Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket8Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket8Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket9Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket9Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket10Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket10Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket11Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket11Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getBucket12Price())){
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getBucket12Price())).matches()){
return "请输入正确的金额";
}
}
if(StringUtil.isNotEmpty(form.getWarningWeight())){
if(!Pattern.compile("^\\d+$").matcher(String.valueOf(form.getWarningWeight())).matches()){
return "请输入正确的重量";
}
}
return countRecover;
}
/**
* ()
* @param id
* @param recycleDeviceConfigeForm
* @return
*/
@Override
@Transactional
public void saveOrUpdate(RecycleDeviceConfigeForm recycleDeviceConfigeForm,String id, boolean isSave) throws Exception{
UserInfo userInfo=userProvider.get();
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
recycleDeviceConfigeForm = JsonUtil.getJsonToBean(
generaterSwapUtil.swapDatetime(RecycleDeviceConfigeConstant.getFormData(),recycleDeviceConfigeForm),RecycleDeviceConfigeForm.class);
RecycleDeviceConfigeEntity entity = JsonUtil.getJsonToBean(recycleDeviceConfigeForm, RecycleDeviceConfigeEntity.class);
if(isSave){
String mainId = RandomUtil.uuId() ;
entity.setLastModifyUserId(null);
entity.setLastModifyTime(null);
entity.setOrganizeJsonId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setCompanyId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setDepartmentId(userEntity.getPositionId());
entity.setId(mainId);
}else{
entity.setLastModifyUserId(null);
entity.setLastModifyTime(null);
entity.setOrganizeJsonId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setCompanyId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setDepartmentId(userEntity.getPositionId());
}
this.saveOrUpdate(entity);
}
}

@ -32,11 +32,11 @@ import jnpf.base.UserInfo;
import jnpf.permission.entity.UserEntity;
/**
*
*
*
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-05-29
* 2024-05-31
*/
@Service
public class RecycleDeviceServiceImpl extends ServiceImpl<RecycleDeviceMapper, RecycleDeviceEntity> implements RecycleDeviceService{
@ -178,6 +178,35 @@ public class RecycleDeviceServiceImpl extends ServiceImpl<RecycleDeviceMapper, R
}
if(ObjectUtil.isNotEmpty(recycleDevicePagination.getBeLongStationCode())){
recycleDeviceNum++;
List<String> idList = new ArrayList<>();
try {
String[][] beLongStationCode = JsonUtil.getJsonToBean(recycleDevicePagination.getBeLongStationCode(),String[][].class);
for(int i=0;i<beLongStationCode.length;i++){
if(beLongStationCode[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(beLongStationCode[i])));
}
}
}catch (Exception e1){
try {
List<String> beLongStationCode = JsonUtil.getJsonToList(recycleDevicePagination.getBeLongStationCode(),String.class);
if(beLongStationCode.size()>0){
idList.add(JsonUtil.getObjectToString(beLongStationCode));
}
}catch (Exception e2){
idList.add(String.valueOf(recycleDevicePagination.getBeLongStationCode()));
}
}
recycleDeviceQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(RecycleDeviceEntity::getBeLongStationCode, tt).or();
});
});
}
}
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
if (total>0){
@ -289,12 +318,16 @@ public class RecycleDeviceServiceImpl extends ServiceImpl<RecycleDeviceMapper, R
if(isSave){
String mainId = RandomUtil.uuId() ;
entity.setDeviceCode(generaterSwapUtil.getBillNumber("deviceCode", false));
entity.setCreatorTime(DateUtil.getNowDate());
entity.setCreatorUserId(userInfo.getUserId());
entity.setLastModifyUserId(null);
entity.setLastModifyTime(null);
entity.setOrganizeJsonId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));
entity.setId(mainId);
}else{
entity.setDeviceCode(generaterSwapUtil.getBillNumber("deviceCode", false));
entity.setCreatorTime(DateUtil.getNowDate());
entity.setCreatorUserId(userInfo.getUserId());
entity.setLastModifyUserId(null);
entity.setLastModifyTime(null);
entity.setOrganizeJsonId(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),"all"));

@ -30,15 +30,15 @@ import jnpf.exception.WorkFlowException;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Slf4j
@RestController
@Tag(name = "投递清单" , description = "scm")
@Tag(name = "投递记录" , description = "scm")
@RequestMapping("/api/scm/RecycleDeliveryOrder")
public class RecycleDeliveryOrderController {
@ -52,8 +52,6 @@ public class RecycleDeliveryOrderController {
private RecycleDeliveryOrderService recycleDeliveryOrderService;
@Autowired
private RecycleDeliveryPhotoService recycleDeliveryPhotoService;
/**
*
@ -70,13 +68,6 @@ public class RecycleDeliveryOrderController {
Map<String, Object> recycleDeliveryOrderMap=JsonUtil.entityToMap(entity);
recycleDeliveryOrderMap.put("id", recycleDeliveryOrderMap.get("id"));
//副表数据
RecycleDeliveryPhotoEntity recycleDeliveryPhotoEntity = recycleDeliveryOrderService.getRecycleDeliveryPhoto(entity.getId());
if(ObjectUtil.isNotEmpty(recycleDeliveryPhotoEntity)){
Map<String, Object> recycleDeliveryPhotoMap=JsonUtil.entityToMap(recycleDeliveryPhotoEntity);
for(String key:recycleDeliveryPhotoMap.keySet()){
recycleDeliveryOrderMap.put("jnpf_nx_recycle_delivery_photo_jnpf_"+key,recycleDeliveryPhotoMap.get(key));
}
}
//子表数据
realList.add(recycleDeliveryOrderMap);
}
@ -152,10 +143,6 @@ public class RecycleDeliveryOrderController {
if(entity!=null){
//主表数据删除
recycleDeliveryOrderService.delete(entity);
QueryWrapper<RecycleDeliveryPhotoEntity> queryWrapperRecycleDeliveryPhoto=new QueryWrapper<>();
queryWrapperRecycleDeliveryPhoto.lambda().eq(RecycleDeliveryPhotoEntity::getOrderNo,entity.getOrderNo());
//副表数据删除
recycleDeliveryPhotoService.remove(queryWrapperRecycleDeliveryPhoto);
}
return ActionResult.success("删除成功");
}
@ -175,13 +162,6 @@ public class RecycleDeliveryOrderController {
Map<String, Object> recycleDeliveryOrderMap=JsonUtil.entityToMap(entity);
recycleDeliveryOrderMap.put("id", recycleDeliveryOrderMap.get("id"));
//副表数据
RecycleDeliveryPhotoEntity recycleDeliveryPhotoEntity = recycleDeliveryOrderService.getRecycleDeliveryPhoto(entity.getId());
if(ObjectUtil.isNotEmpty(recycleDeliveryPhotoEntity)){
Map<String, Object> recycleDeliveryPhotoMap=JsonUtil.entityToMap(recycleDeliveryPhotoEntity);
for(String key:recycleDeliveryPhotoMap.keySet()){
recycleDeliveryOrderMap.put("jnpf_nx_recycle_delivery_photo_jnpf_"+key,recycleDeliveryPhotoMap.get(key));
}
}
//子表数据
recycleDeliveryOrderMap = generaterSwapUtil.swapDataDetail(recycleDeliveryOrderMap,RecycleDeliveryOrderConstant.getFormData(),"565540808741097605",false);
return ActionResult.success(recycleDeliveryOrderMap);
@ -202,13 +182,6 @@ public class RecycleDeliveryOrderController {
Map<String, Object> recycleDeliveryOrderMap=JsonUtil.entityToMap(entity);
recycleDeliveryOrderMap.put("id", recycleDeliveryOrderMap.get("id"));
//副表数据
RecycleDeliveryPhotoEntity recycleDeliveryPhotoEntity = recycleDeliveryOrderService.getRecycleDeliveryPhoto(entity.getId());
if(ObjectUtil.isNotEmpty(recycleDeliveryPhotoEntity)){
Map<String, Object> recycleDeliveryPhotoMap=JsonUtil.entityToMap(recycleDeliveryPhotoEntity);
for(String key:recycleDeliveryPhotoMap.keySet()){
recycleDeliveryOrderMap.put("jnpf_nx_recycle_delivery_photo_jnpf_"+key,recycleDeliveryPhotoMap.get(key));
}
}
//子表数据
recycleDeliveryOrderMap = generaterSwapUtil.swapDataForm(recycleDeliveryOrderMap,RecycleDeliveryOrderConstant.getFormData(),RecycleDeliveryOrderConstant.TABLEFIELDKEY,RecycleDeliveryOrderConstant.TABLERENAMES);
return ActionResult.success(recycleDeliveryOrderMap);

@ -0,0 +1,190 @@
package jnpf.controller;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.UserInfo;
import jnpf.exception.DataException;
import jnpf.permission.entity.UserEntity;
import jnpf.service.*;
import jnpf.entity.*;
import jnpf.util.*;
import jnpf.model.recycledeviceconfige.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.*;
import jnpf.annotation.JnpfField;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil;
import jnpf.base.entity.ProvinceEntity;
import java.io.IOException;
import java.util.stream.Collectors;
import jnpf.engine.entity.FlowTaskEntity;
import jnpf.exception.WorkFlowException;
import org.springframework.transaction.annotation.Transactional;
/**
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-31
*/
@Slf4j
@RestController
@Tag(name = "投递清单" , description = "scm")
@RequestMapping("/api/scm/RecycleDeviceConfige")
public class RecycleDeviceConfigeController {
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private UserProvider userProvider;
@Autowired
private RecycleDeviceConfigeService recycleDeviceConfigeService;
/**
*
*
* @param recycleDeviceConfigePagination
* @return
*/
@Operation(summary = "获取列表")
@PostMapping("/getList")
public ActionResult list(@RequestBody RecycleDeviceConfigePagination recycleDeviceConfigePagination)throws IOException{
List<RecycleDeviceConfigeEntity> list= recycleDeviceConfigeService.getList(recycleDeviceConfigePagination);
List<Map<String, Object>> realList=new ArrayList<>();
for (RecycleDeviceConfigeEntity entity : list) {
Map<String, Object> recycleDeviceConfigeMap=JsonUtil.entityToMap(entity);
recycleDeviceConfigeMap.put("id", recycleDeviceConfigeMap.get("id"));
//副表数据
//子表数据
realList.add(recycleDeviceConfigeMap);
}
//数据转换
realList = generaterSwapUtil.swapDataList(realList, RecycleDeviceConfigeConstant.getFormData(), RecycleDeviceConfigeConstant.getColumnData(), recycleDeviceConfigePagination.getModuleId(),false);
//返回对象
PageListVO vo = new PageListVO();
vo.setList(realList);
PaginationVO page = JsonUtil.getJsonToBean(recycleDeviceConfigePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*
* @param recycleDeviceConfigeForm
* @return
*/
@PostMapping()
@Operation(summary = "创建")
public ActionResult create(@RequestBody @Valid RecycleDeviceConfigeForm recycleDeviceConfigeForm) {
String b = recycleDeviceConfigeService.checkForm(recycleDeviceConfigeForm,0);
if (StringUtil.isNotEmpty(b)){
return ActionResult.fail(b );
}
try{
recycleDeviceConfigeService.saveOrUpdate(recycleDeviceConfigeForm, null ,true);
}catch(Exception e){
return ActionResult.fail("新增数据失败");
}
return ActionResult.success("创建成功");
}
/**
*
* @param id
* @param recycleDeviceConfigeForm
* @return
*/
@PutMapping("/{id}")
@Operation(summary = "更新")
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid RecycleDeviceConfigeForm recycleDeviceConfigeForm,
@RequestParam(value = "isImport", required = false) boolean isImport){
recycleDeviceConfigeForm.setId(id);
if (!isImport) {
String b = recycleDeviceConfigeService.checkForm(recycleDeviceConfigeForm,1);
if (StringUtil.isNotEmpty(b)){
return ActionResult.fail(b );
}
}
RecycleDeviceConfigeEntity entity= recycleDeviceConfigeService.getInfo(id);
if(entity!=null){
try{
recycleDeviceConfigeService.saveOrUpdate(recycleDeviceConfigeForm,id,false);
}catch(Exception e){
return ActionResult.fail("修改数据失败");
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
*
* @param id
* @return
*/
@Operation(summary = "删除")
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
RecycleDeviceConfigeEntity entity= recycleDeviceConfigeService.getInfo(id);
if(entity!=null){
//主表数据删除
recycleDeviceConfigeService.delete(entity);
}
return ActionResult.success("删除成功");
}
/**
* ()
* 使-
* @param id
* @return
*/
@Operation(summary = "表单信息(详情页)")
@GetMapping("/detail/{id}")
public ActionResult detailInfo(@PathVariable("id") String id){
RecycleDeviceConfigeEntity entity= recycleDeviceConfigeService.getInfo(id);
if(entity==null){
return ActionResult.fail("表单数据不存在!");
}
Map<String, Object> recycleDeviceConfigeMap=JsonUtil.entityToMap(entity);
recycleDeviceConfigeMap.put("id", recycleDeviceConfigeMap.get("id"));
//副表数据
//子表数据
recycleDeviceConfigeMap = generaterSwapUtil.swapDataDetail(recycleDeviceConfigeMap,RecycleDeviceConfigeConstant.getFormData(),"565858748388610501",false);
return ActionResult.success(recycleDeviceConfigeMap);
}
/**
* ()
* 使-
* @param id
* @return
*/
@Operation(summary = "信息")
@GetMapping("/{id}")
public ActionResult info(@PathVariable("id") String id){
RecycleDeviceConfigeEntity entity= recycleDeviceConfigeService.getInfo(id);
if(entity==null){
return ActionResult.fail("表单数据不存在!");
}
Map<String, Object> recycleDeviceConfigeMap=JsonUtil.entityToMap(entity);
recycleDeviceConfigeMap.put("id", recycleDeviceConfigeMap.get("id"));
//副表数据
//子表数据
recycleDeviceConfigeMap = generaterSwapUtil.swapDataForm(recycleDeviceConfigeMap,RecycleDeviceConfigeConstant.getFormData(),RecycleDeviceConfigeConstant.TABLEFIELDKEY,RecycleDeviceConfigeConstant.TABLERENAMES);
return ActionResult.success(recycleDeviceConfigeMap);
}
}

@ -30,15 +30,15 @@ import jnpf.exception.WorkFlowException;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Slf4j
@RestController
@Tag(name = "投递柜设备" , description = "scm")
@Tag(name = "投递柜设备清单" , description = "scm")
@RequestMapping("/api/scm/RecycleDevice")
public class RecycleDeviceController {
@ -97,7 +97,6 @@ public class RecycleDeviceController {
try{
recycleDeviceService.saveOrUpdate(recycleDeviceForm, null ,true);
}catch(Exception e){
e.printStackTrace();
return ActionResult.fail("新增数据失败");
}
return ActionResult.success("创建成功");
@ -124,7 +123,6 @@ public class RecycleDeviceController {
try{
recycleDeviceService.saveOrUpdate(recycleDeviceForm,id,false);
}catch(Exception e){
e.printStackTrace();
return ActionResult.fail("修改数据失败");
}
return ActionResult.success("更新成功");

@ -15,7 +15,7 @@ import java.math.BigDecimal;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Data
@TableName("nx_recycle_delivery_order")
@ -68,6 +68,8 @@ public class RecycleDeliveryOrderEntity {
private String cleanerPhone;
@TableField(value = "LOGIN_TYPE" , updateStrategy = FieldStrategy.IGNORED)
private Integer loginType;
@TableField(value = "PHOTO" , updateStrategy = FieldStrategy.IGNORED)
private String photo;
@TableField("F_FLOW_ID")
private String flowId;
@TableField("F_CREATOR_TIME")

@ -0,0 +1,115 @@
package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
/**
* ()
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-31
*/
@Data
@TableName("nx_recycle_device_confige")
public class RecycleDeviceConfigeEntity {
@TableId(value ="ID" )
private String id;
@TableField(value = "DELIVERY_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal deliveryPrice;
@TableField(value = "BUCKET1_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket1Price;
@TableField(value = "BUCKET2_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket2Price;
@TableField(value = "BUCKET3_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket3Price;
@TableField(value = "BUCKET4_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket4Price;
@TableField(value = "BUCKET5_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket5Price;
@TableField(value = "BUCKET6_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket6Price;
@TableField(value = "BUCKET7_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket7Price;
@TableField(value = "BUCKET8_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket8Price;
@TableField(value = "BUCKET9_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket9Price;
@TableField(value = "BUCKET10_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket10Price;
@TableField(value = "BUCKET11_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket11Price;
@TableField(value = "BUCKET12_PRICE" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal bucket12Price;
@TableField(value = "DELIVERY_ADJUST_SET" , updateStrategy = FieldStrategy.IGNORED)
private String deliveryAdjustSet;
@TableField(value = "CLEAN_ADJUST_SET" , updateStrategy = FieldStrategy.IGNORED)
private String cleanAdjustSet;
@TableField(value = "WARNING_WEIGHT" , updateStrategy = FieldStrategy.IGNORED)
private BigDecimal warningWeight;
@TableField(value = "CLOSE_DELAY" , updateStrategy = FieldStrategy.IGNORED)
private Integer closeDelay;
@TableField(value = "FULL_SET" , updateStrategy = FieldStrategy.IGNORED)
private String fullSet;
@TableField(value = "SMOG_SET" , updateStrategy = FieldStrategy.IGNORED)
private String smogSet;
@TableField(value = "CLEAN_LOCK" , updateStrategy = FieldStrategy.IGNORED)
private String cleanLock;
@TableField(value = "PROMOTION_SET" , updateStrategy = FieldStrategy.IGNORED)
private String promotionSet;
@TableField(value = "ALLOW_PHONE_LOGIN" , updateStrategy = FieldStrategy.IGNORED)
private String allowPhoneLogin;
@TableField("PROMOTION_SLOGANS")
private String promotionSlogans;
@TableField(value = "PROMOTION_PIC1" , updateStrategy = FieldStrategy.IGNORED)
private String promotionPic1;
@TableField("PROMOTION_PIC2")
private String promotionPic2;
@TableField("PROMOTION_PIC3")
private String promotionPic3;
@TableField("PROMOTION_PIC4")
private String promotionPic4;
@TableField("PROMOTION_PIC5")
private String promotionPic5;
@TableField("F_TENANT_ID")
private String tenantId;
@TableField("F_CREATOR_TIME")
private Date creatorTime;
@TableField("F_CREATOR_USER_ID")
private String creatorUserId;
@TableField("F_LAST_MODIFY_TIME")
private Date lastModifyTime;
@TableField("F_LAST_MODIFY_USER_ID")
private String lastModifyUserId;
@TableField("F_DELETE_TIME")
private Date deleteTime;
@TableField("F_DELETE_USER_ID")
private String deleteUserId;
@TableField("F_DELETE_MARK")
private String deleteMark;
@TableField("COMPANY_ID")
private String companyId;
@TableField("DEPARTMENT_ID")
private String departmentId;
@TableField("ORGANIZE_JSON_ID")
private String organizeJsonId;
@TableField("F_VERSION")
private Integer version;
@TableField("F_FLOW_ID")
private String flowId;
}

@ -9,7 +9,7 @@ import java.util.Date;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Data
@TableName("nx_recycle_device")

@ -6,93 +6,105 @@ import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Data
public class RecycleDeliveryOrderForm {
/** 主键 */
private String id;
/** 用户手机号 **/
@JsonProperty("phone")
private String phone;
/** 登录方式 **/
@JsonProperty("loginType")
private String loginType;
/** 投递单号 **/
@JsonProperty("orderNo")
private String orderNo;
/** 机柜投递单号 **/
@JsonProperty("deviceOrderNo")
private String deviceOrderNo;
/** 机柜编码 **/
/** 投递机柜 **/
@JsonProperty("deviceCode")
private Object deviceCode;
/** 门号 **/
@JsonProperty("doorNum")
private String doorNum;
/** 垃圾袋编号 **/
@JsonProperty("bagNo")
private String bagNo;
/** 投递人手机 **/
@JsonProperty("phone")
private String phone;
/** 桶编号 **/
@JsonProperty("bucketCode")
private String bucketCode;
/** 投递员id **/
@JsonProperty("deliverId")
private String deliverId;
@JsonProperty("doorNum")
private Object doorNum;
/** 回收品大类 **/
@JsonProperty("productCode")
private String productCode;
private Object productCode;
/** 回收品子类 **/
@JsonProperty("productSubCode")
private String productSubCode;
private Object productSubCode;
/** 上报重量 **/
@JsonProperty("reportWeight")
private String reportWeight;
/** 单价 **/
@JsonProperty("price")
private String price;
/** 总价 **/
@JsonProperty("totalPrice")
private String totalPrice;
/** 桶内原重 **/
@JsonProperty("originalWeight")
private String originalWeight;
/** 单价 **/
@JsonProperty("price")
private BigDecimal price;
/** 审核后重量 **/
/** 审核重量 **/
@JsonProperty("adjustWeight")
private String adjustWeight;
/** 总价 **/
@JsonProperty("totalPrice")
private BigDecimal totalPrice;
/** 审核总价 **/
@JsonProperty("adjustPrice")
private BigDecimal adjustPrice;
/** 审核设置 **/
@JsonProperty("adjustSet")
private String adjustSet;
private String adjustPrice;
/** 审核状态 **/
@JsonProperty("adjustStatus")
private String adjustStatus;
/** 图片地址 **/
@JsonProperty("jnpf_nx_recycle_delivery_photo_jnpf_fileUrl")
private String jnpf_nx_recycle_delivery_photo_jnpf_fileUrl;
/** 审核设置 **/
@JsonProperty("adjustSet")
private String adjustSet;
/** 投递员 **/
@JsonProperty("deliverId")
private String deliverId;
/** 审核说明 **/
@JsonProperty("adjustComm")
private String adjustComm;
/** 投递照片 **/
@JsonProperty("photo")
private Object photo;
/** 桶编号 **/
@JsonProperty("bucketCode")
private Object bucketCode;
/** 垃圾袋编号 **/
@JsonProperty("bagNo")
private String bagNo;
/** 机柜单号 **/
@JsonProperty("deviceOrderNo")
private String deviceOrderNo;
/** 登录方式 **/
@JsonProperty("loginType")
private String loginType;
/** 清运单号 **/
@JsonProperty("cleanNo")
private String cleanNo;
/** 清运员手机号 **/
@JsonProperty("cleanerPhone")
private String cleanerPhone;
/** 清运状态 **/
@JsonProperty("cleanStatus")
private String cleanStatus;
/** 清运单号 **/
@JsonProperty("cleanNo")
private String cleanNo;
/** 修改用户 **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 公司id **/
@JsonProperty("companyId")
private Object companyId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 修改用户 **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 组织JSONID **/
@JsonProperty("organizeJsonId")
private Object organizeJsonId;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 创建用户 **/
@JsonProperty("creatorUserId")
private String creatorUserId;
}

@ -7,11 +7,11 @@ import java.util.List;
/**
*
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Data
public class RecycleDeliveryOrderPagination extends Pagination {
@ -33,22 +33,25 @@ public class RecycleDeliveryOrderPagination extends Pagination {
/** 审核状态 */
@JsonProperty("adjustStatus")
private Object adjustStatus;
/** 投递员手机 */
/** 投递员手机 */
@JsonProperty("phone")
private Object phone;
/** 机柜编码 */
@JsonProperty("deviceCode")
private Object deviceCode;
/** 号 */
/** 桶编号 */
@JsonProperty("doorNum")
private Object doorNum;
/** 桶编 */
/** 桶编 */
@JsonProperty("bucketCode")
private Object bucketCode;
/** 垃圾袋编号 */
@JsonProperty("bagNo")
private Object bagNo;
/** 清运员手机号 */
/** 所属商户 */
@JsonProperty("companyId")
private Object companyId;
/** 清运员手机 */
@JsonProperty("cleanerPhone")
private Object cleanerPhone;
/** 清运状态 */

@ -6,11 +6,11 @@ import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Data
public class RecycleDeviceForm {
@ -38,9 +38,9 @@ public class RecycleDeviceForm {
/** 分配商户 **/
@JsonProperty("beLongCompanyId")
private String beLongCompanyId;
/** 分配回收站 **/
/** 所属回收站 **/
@JsonProperty("beLongStationCode")
private String beLongStationCode;
private Object beLongStationCode;
/** 设备IP **/
@JsonProperty("ipAddress")
private String ipAddress;
@ -53,6 +53,12 @@ public class RecycleDeviceForm {
/** 经度 **/
@JsonProperty("longitude")
private String longitude;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 创建用户 **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 修改用户 **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;

@ -7,11 +7,11 @@ import java.util.List;
/**
*
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-29
* @ 2024-05-31
*/
@Data
public class RecycleDevicePagination extends Pagination {
@ -39,4 +39,7 @@ public class RecycleDevicePagination extends Pagination {
/** 设备状态 */
@JsonProperty("status")
private Object status;
/** 所属回收站 */
@JsonProperty("beLongStationCode")
private Object beLongStationCode;
}

@ -0,0 +1,107 @@
package jnpf.model.recycledeviceconfige;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-31
*/
@Data
public class RecycleDeviceConfigeForm {
/** 主键 */
private String id;
/** 统一投递价格 **/
@JsonProperty("deliveryPrice")
private String deliveryPrice;
/** 1号桶价格 **/
@JsonProperty("bucket1Price")
private String bucket1Price;
/** 2号桶价格 **/
@JsonProperty("bucket2Price")
private String bucket2Price;
/** 3号桶价格 **/
@JsonProperty("bucket3Price")
private String bucket3Price;
/** 4号桶价格 **/
@JsonProperty("bucket4Price")
private String bucket4Price;
/** 5号桶价格 **/
@JsonProperty("bucket5Price")
private String bucket5Price;
/** 6号桶价格 **/
@JsonProperty("bucket6Price")
private String bucket6Price;
/** 7号桶价格 **/
@JsonProperty("bucket7Price")
private String bucket7Price;
/** 8号桶价格 **/
@JsonProperty("bucket8Price")
private String bucket8Price;
/** 9号桶价格 **/
@JsonProperty("bucket9Price")
private String bucket9Price;
/** 10号桶价格 **/
@JsonProperty("bucket10Price")
private String bucket10Price;
/** 11号桶价格 **/
@JsonProperty("bucket11Price")
private String bucket11Price;
/** 12号桶价格 **/
@JsonProperty("bucket12Price")
private String bucket12Price;
/** 投递审核 **/
@JsonProperty("deliveryAdjustSet")
private String deliveryAdjustSet;
/** 手机号登录 **/
@JsonProperty("allowPhoneLogin")
private String allowPhoneLogin;
/** 清运锁 **/
@JsonProperty("cleanLock")
private String cleanLock;
/** 清运审核 **/
@JsonProperty("cleanAdjustSet")
private String cleanAdjustSet;
/** 烟雾报警 **/
@JsonProperty("smogSet")
private String smogSet;
/** 关门延时 **/
@JsonProperty("closeDelay")
private String closeDelay;
/** 满溢报警 **/
@JsonProperty("fullSet")
private String fullSet;
/** 报警重量 **/
@JsonProperty("warningWeight")
private String warningWeight;
/** 宣传配置 **/
@JsonProperty("promotionSet")
private String promotionSet;
/** 宣传标语 **/
@JsonProperty("promotionalSlogans")
private String promotionalSlogans;
/** 宣传海报 **/
@JsonProperty("promotionPic1")
private Object promotionPic1;
/** 修改用户 **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织json_id **/
@JsonProperty("organizeJsonId")
private Object organizeJsonId;
/** 公司id **/
@JsonProperty("companyId")
private Object companyId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
}

@ -0,0 +1,33 @@
package jnpf.model.recycledeviceconfige;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-05-31
*/
@Data
public class RecycleDeviceConfigePagination extends Pagination {
/** 查询key */
private String[] selectKey;
/** json */
private String json;
/** 数据类型 0-当前页1-全部数据 */
private String dataType;
/** 高级查询 */
private String superQueryJson;
/** 功能id */
private String moduleId;
/** 菜单id */
private String menuId;
/** 当前商户 */
@JsonProperty("organizeJsonId")
private Object organizeJsonId;
}

@ -12,161 +12,179 @@
<el-row :gutter="15" class=" main" :style="{margin: '0 auto',width: '100%'}">
<el-form ref="formRef" :model="dataForm" size="small" label-width="150px" label-position="right" >
<template v-if="!loading">
<el-col :span="12" >
<jnpf-form-tip-item label="用户手机号"
prop="phone" >
<p>{{dataForm.phone}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="登录方式"
prop="loginType" >
<p>{{ dataForm.loginType }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="投递单号"
<el-col :span="24">
<el-collapse :accordion="false" v-model="activeripxar" class="mb-20">
<el-collapse-item title="投递情况" name="1">
<el-col :span="8" >
<jnpf-form-tip-item label="投递单号"
prop="orderNo" >
<p>{{dataForm.orderNo}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="机柜编码"
<el-col :span="8" >
<jnpf-form-tip-item label="投递机柜"
prop="deviceCode" >
<p>{{dataForm.deviceCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="门号"
prop="doorNum" >
<p>{{dataForm.doorNum}}</p>
<el-col :span="8" >
<jnpf-form-tip-item label="投递人手机"
prop="phone" >
<p>{{dataForm.phone}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="垃圾袋编号"
prop="bagNo" >
<p>{{dataForm.bagNo}}</p>
<el-col :span="8" >
<jnpf-form-tip-item label="桶编号"
prop="doorNum" >
<p>{{ dataForm.doorNum }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<JnpfDivider contentPosition="center" >
审核重量金额 </JnpfDivider>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="回收品大类"
<el-col :span="8" >
<jnpf-form-tip-item label="回收品大类"
prop="productCode" >
<p>{{dataForm.productCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="回收品子类"
<el-col :span="8" >
<jnpf-form-tip-item label="回收品子类"
prop="productSubCode" >
<p>{{dataForm.productSubCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="上报重量"
<el-col :span="8" >
<jnpf-form-tip-item label="上报重量"
prop="reportWeight" >
<p>{{dataForm.reportWeight}}</p>
<p>{{dataForm.reportWeight}}KG</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="桶内原重"
prop="originalWeight" >
<p>{{dataForm.originalWeight}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="单价"
<el-col :span="8" >
<jnpf-form-tip-item label="单价"
prop="price" >
<JnpfNumber v-model="dataForm.price"
placeholder="数字文本" disabled
:step="1" isAmountChinese >
</JnpfNumber>
<p>{{dataForm.price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="审核后重量"
prop="adjustWeight" >
<p>{{dataForm.adjustWeight}}</p>
<el-col :span="8" >
<jnpf-form-tip-item label="总价"
prop="totalPrice" >
<p>{{dataForm.totalPrice}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="总价"
prop="totalPrice" >
<JnpfNumber v-model="dataForm.totalPrice"
placeholder="数字文本" disabled
:step="1" isAmountChinese >
</JnpfNumber>
<el-col :span="8" >
<jnpf-form-tip-item label="桶内原重"
prop="originalWeight" >
<p>{{dataForm.originalWeight}}KG</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="审核总价"
prop="adjustPrice" >
<JnpfNumber v-model="dataForm.adjustPrice"
placeholder="数字文本" disabled
:step="1" >
</JnpfNumber>
<el-col :span="8" >
<jnpf-form-tip-item label="审核重量"
prop="adjustWeight" >
<p>{{dataForm.adjustWeight}}KG</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="审核设置"
prop="adjustSet" >
<p>{{ dataForm.adjustSet }} </p>
<el-col :span="8" >
<jnpf-form-tip-item label="审核总价"
prop="adjustPrice" >
<p>{{dataForm.adjustPrice}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="审核状态 "
<el-col :span="8" >
<jnpf-form-tip-item label="审核状态 "
prop="adjustStatus" >
<p>{{ dataForm.adjustStatus }} </p>
<p>{{dataForm.adjustStatus}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="图片地址"
prop="jnpf_nx_recycle_delivery_photo_jnpf_fileUrl" >
<p>{{dataForm.jnpf_nx_recycle_delivery_photo_jnpf_fileUrl}}</p>
<el-col :span="8" >
<jnpf-form-tip-item label="审核设置"
prop="adjustSet" >
<p>{{dataForm.adjustSet}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="审核说明"
<jnpf-form-tip-item label="审核说明"
prop="adjustComm" >
<p>{{dataForm.adjustComm}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<JnpfDivider contentPosition="center" >
清运信息 </JnpfDivider>
<jnpf-form-tip-item label="投递照片"
prop="photo" >
<JnpfUploadImg v-model="dataForm.photo"
disabled
detailed :fileSize="2" sizeUnit="MB" :limit="4" pathType="defaultPath" :isAccount="0" >
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="桶编号"
prop="bucketCode" >
<p>{{dataForm.bucketCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="垃圾袋编号"
prop="bagNo" >
<p>{{dataForm.bagNo}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="清运员手机号"
<el-col :span="8" >
<jnpf-form-tip-item label="机柜单号"
prop="deviceOrderNo" >
<p>{{dataForm.deviceOrderNo}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="登录方式"
prop="loginType" >
<p>{{ dataForm.loginType }} </p>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
<el-collapse-item title="清运情况" name="2">
<el-col :span="8" >
<jnpf-form-tip-item label="清运单号"
prop="cleanNo" >
<p>{{dataForm.cleanNo}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="清运员手机号"
prop="cleanerPhone" >
<p>{{dataForm.cleanerPhone}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="清运状态"
<el-col :span="8" >
<jnpf-form-tip-item label="清运状态"
prop="cleanStatus" >
<p>{{ dataForm.cleanStatus }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="清运单号"
prop="cleanNo" >
<p>{{dataForm.cleanNo}}</p>
<el-col :span="8" >
<jnpf-form-tip-item label="公司id"
prop="companyId" >
<p>{{dataForm.companyId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="修改时间"
prop="lastModifyTime" >
<p>{{dataForm.lastModifyTime}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="修改用户"
<el-col :span="8" >
<jnpf-form-tip-item label="修改用户"
prop="lastModifyUserId" >
<p>{{dataForm.lastModifyUserId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<jnpf-form-tip-item label="修改时间"
prop="lastModifyTime" >
<p>{{dataForm.lastModifyTime}}</p>
<el-col :span="8" >
<jnpf-form-tip-item label="组织JSONID"
prop="organizeJsonId" >
<p>{{dataForm.organizeJsonId}}</p>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
</el-collapse>
</el-col>
</template>
</el-form>
</el-row>
@ -191,44 +209,48 @@
dataForm: {
id :'',
phone : '',
loginType : "1",
orderNo : '',
deviceOrderNo : '',
deviceCode : "",
doorNum : '',
bagNo : '',
bucketCode : '',
deliverId : '',
productCode : '',
productSubCode : '',
phone : '',
doorNum : "",
productCode : "542988676150333899",
productSubCode : [],
reportWeight : '',
originalWeight : '',
price : '',
adjustWeight : '',
totalPrice : '',
originalWeight : '',
adjustWeight : "",
adjustPrice : '',
adjustSet : "1",
adjustStatus : "0",
adjustStatus : "",
adjustSet : "",
deliverId : '',
adjustComm : '',
cleanerPhone : '',
cleanStatus : "0",
photo : [],
bucketCode : [],
bagNo : '',
deviceOrderNo : '',
loginType : "",
cleanNo : '',
lastModifyUserId : "",
cleanerPhone : '',
cleanStatus : "",
companyId : "",
lastModifyTime : "",
nx_recycle_delivery_photo:
{
fileUrl:'',
},
jnpf_nx_recycle_delivery_photo_jnpf_fileUrl:'',
lastModifyUserId : "",
organizeJsonId : "",
creatorTime : "",
creatorUserId : "",
},
activeripxar:["1","2"],
deviceCodeProps:{"label":"device_name","value":"device_code" },
doorNumOptions:[{"fullName":"1号","id":"1"},{"fullName":"2号","id":"2"},{"fullName":"3号","id":"3"},{"fullName":"4号","id":"4"},{"fullName":"5号","id":"5"},{"fullName":"6号","id":"6"},{"fullName":"7号","id":"7"},{"fullName":"8号","id":"8"},{"fullName":"9号","id":"9"},{"fullName":"10号","id":"10"},{"fullName":"11号","id":"11"},{"fullName":"12号","id":"12"}],
doorNumProps:{"label":"fullName","value":"id" },
productCodeProps:{"label":"name","value":"id" },
productSubCodeProps:{"label":"name","value":"id" ,"children":"children" },
adjustStatusProps:{"label":"fullName","value":"enCode" },
adjustSetProps:{"label":"fullName","value":"enCode" },
bucketCodeProps:{"label":"show_name","value":"bucket_code" ,"children":"children" },
loginTypeOptions:[{"fullName":"扫码","id":"1"},{"fullName":"手机号","id":"2"}],
loginTypeProps:{"label":"fullName","value":"id" },
deviceCodeProps:{"label":"device_name","value":"device_code" },
adjustSetOptions:[{"fullName":"即时自动","id":"0"},{"fullName":"24H自动","id":"1"},{"fullName":"48H自动","id":"2"}],
adjustSetProps:{"label":"fullName","value":"id" },
adjustStatusOptions:[{"fullName":"待审核","id":"0"},{"fullName":"通过","id":"1"},{"fullName":"调整通过","id":"2"},{"fullName":"拒绝","id":"3"}],
adjustStatusProps:{"label":"fullName","value":"id" },
cleanStatusOptions:[{"fullName":"未清运","id":"0"},{"fullName":"已清运","id":"1"}],
cleanStatusProps:{"label":"fullName","value":"id" },

File diff suppressed because one or more lines are too long

@ -34,204 +34,230 @@
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="150px" label-position="right" >
<template v-if="!loading">
<!-- 具体表单 -->
<el-col :span="12" >
<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="12" >
<jnpf-form-tip-item
label="登录方式" prop="loginType" >
<JnpfRadio v-model="dataForm.loginType" @change="changeData('loginType',-1)"
optionType="button" direction="horizontal" size="small" :options="loginTypeOptions" :props="loginTypeProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="24">
<el-collapse :accordion="false" v-model="activeripxar" class="mb-20">
<el-collapse-item title="投递情况" name="1">
<el-col :span="8" >
<jnpf-form-tip-item
label="投递单号" prop="orderNo" >
<JnpfInput v-model="dataForm.orderNo" @change="changeData('orderNo',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<JnpfInput v-model="dataForm.orderNo" @change="changeData('orderNo',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="机柜编码" prop="deviceCode" >
<JnpfSelect v-model="dataForm.deviceCode" @change="changeData('deviceCode',-1)"
label="投递机柜" prop="deviceCode" >
<JnpfSelect v-model="dataForm.deviceCode" @change="changeData('deviceCode',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="deviceCodeOptions" :props="deviceCodeProps" >
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="门号" prop="doorNum" >
<JnpfInput v-model="dataForm.doorNum" @change="changeData('doorNum',-1)"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
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="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="垃圾袋编号" prop="bagNo" >
<JnpfInput v-model="dataForm.bagNo" @change="changeData('bagNo',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
label="桶编号" prop="doorNum" >
<JnpfSelect v-model="dataForm.doorNum" @change="changeData('doorNum',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="doorNumOptions" :props="doorNumProps" >
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item>
<JnpfDivider
content="审核重量金额" contentPosition="center" >
</JnpfDivider>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="回收品大类" prop="productCode" >
<JnpfInput v-model="dataForm.productCode" @change="changeData('productCode',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
<JnpfSelect v-model="dataForm.productCode" @change="changeData('productCode',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="productCodeOptions" :props="productCodeProps" >
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="回收品子类" prop="productSubCode" >
<JnpfInput v-model="dataForm.productSubCode" @change="changeData('productSubCode',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
<JnpfCascader v-model="dataForm.productSubCode" @change="changeData('productSubCode',-1)"
placeholder="请选择" show-all-levels clearable :style='{"width":"100%"}' separator="/" :options="productSubCodeOptions" :props="productSubCodeProps" >
</JnpfCascader>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="上报重量" prop="reportWeight" >
<JnpfInput v-model="dataForm.reportWeight" @change="changeData('reportWeight',-1)"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
<JnpfInput v-model="dataForm.reportWeight" @change="changeData('reportWeight',-1)"
placeholder="请输入" addonAfter="KG" :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="桶内原重" prop="originalWeight" >
<JnpfInput v-model="dataForm.originalWeight" @change="changeData('originalWeight',-1)"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
label="单价" prop="price" >
<JnpfInput v-model="dataForm.price" @change="changeData('price',-1)"
placeholder="请输入" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="单价" prop="price" >
<JnpfInputNumber v-model="dataForm.price" @change="changeData('price',-1)"
placeholder="数字文本" disabled isAmountChinese :step="1" >
</JnpfInputNumber>
label="总价" prop="totalPrice" >
<JnpfInput v-model="dataForm.totalPrice" @change="changeData('totalPrice',-1)"
placeholder="审核后本单总价" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="审核后重量" prop="adjustWeight" >
<JnpfInput v-model="dataForm.adjustWeight" @change="changeData('adjustWeight',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
label="桶内原重" prop="originalWeight" >
<JnpfInput v-model="dataForm.originalWeight" @change="changeData('originalWeight',-1)"
placeholder="投递前桶内重量" addonAfter="KG" :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="总价" prop="totalPrice" >
<JnpfInputNumber v-model="dataForm.totalPrice" @change="changeData('totalPrice',-1)"
placeholder="数字文本" disabled isAmountChinese :step="1" >
</JnpfInputNumber>
label="审核重量" prop="adjustWeight" >
<JnpfInput v-model="dataForm.adjustWeight" @change="changeData('adjustWeight',-1)"
placeholder="请输入" addonAfter="KG" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="审核总价" prop="adjustPrice" >
<JnpfInputNumber v-model="dataForm.adjustPrice" @change="changeData('adjustPrice',-1)"
placeholder="数字文本" :step="1" >
</JnpfInputNumber>
<JnpfInput v-model="dataForm.adjustPrice" @change="changeData('adjustPrice',-1)"
placeholder="审核后本单总价" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="审核设置" prop="adjustSet" >
<JnpfRadio v-model="dataForm.adjustSet" @change="changeData('adjustSet',-1)"
optionType="button" direction="horizontal" size="small" :options="adjustSetOptions" :props="adjustSetProps" >
label="审核状态 " prop="adjustStatus" >
<JnpfRadio v-model="dataForm.adjustStatus" @change="changeData('adjustStatus',-1)"
optionType="button" direction="horizontal" size="small" :options="adjustStatusOptions" :props="adjustStatusProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="审核状态 " prop="adjustStatus" >
<JnpfRadio v-model="dataForm.adjustStatus" @change="changeData('adjustStatus',-1)"
optionType="button" direction="horizontal" size="small" :options="adjustStatusOptions" :props="adjustStatusProps" >
label="审核设置" prop="adjustSet" >
<JnpfRadio v-model="dataForm.adjustSet" @change="changeData('adjustSet',-1)"
disabled optionType="button" direction="horizontal" size="small" :options="adjustSetOptions" :props="adjustSetProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="图片地址" prop="jnpf_nx_recycle_delivery_photo_jnpf_fileUrl" >
<JnpfInput v-model="dataForm.jnpf_nx_recycle_delivery_photo_jnpf_fileUrl" @change="changeData('jnpf_nx_recycle_delivery_photo_jnpf_fileUrl',-1)"
label="审核说明" prop="adjustComm" >
<JnpfTextarea v-model="dataForm.adjustComm" @change="changeData('adjustComm',-1)"
placeholder="请输入" :style='{"width":"100%"}' true type="textarea" :autosize='{"minRows":1,"maxRows":4}' >
</JnpfTextarea>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="投递照片" prop="photo" >
<JnpfUploadImg v-model="dataForm.photo" @change="changeData('photo',-1)"
disabled :fileSize="2" sizeUnit="MB" :limit="4" pathType="defaultPath" :isAccount="0" >
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="桶编号" prop="bucketCode" >
<JnpfCascader v-model="dataForm.bucketCode" @change="changeData('bucketCode',-1)"
placeholder="请选择" show-all-levels clearable :style='{"width":"100%"}' separator="/" :options="bucketCodeOptions" :props="bucketCodeProps" >
</JnpfCascader>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="垃圾袋编号" prop="bagNo" >
<JnpfInput v-model="dataForm.bagNo" @change="changeData('bagNo',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<el-col :span="8" >
<jnpf-form-tip-item
label="审核说明" prop="adjustComm" >
<JnpfTextarea v-model="dataForm.adjustComm" @change="changeData('adjustComm',-1)"
placeholder="请输入" :style='{"width":"100%"}' true type="textarea" :autosize='{"minRows":4,"maxRows":4}' >
</JnpfTextarea>
label="机柜单号" prop="deviceOrderNo" >
<JnpfInput v-model="dataForm.deviceOrderNo" @change="changeData('deviceOrderNo',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="登录方式" prop="loginType" >
<JnpfRadio v-model="dataForm.loginType" @change="changeData('loginType',-1)"
optionType="button" direction="horizontal" size="small" :options="loginTypeOptions" :props="loginTypeProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
<el-collapse-item title="清运情况" name="2">
<el-col :span="8" >
<jnpf-form-tip-item
label="清运单号" prop="cleanNo" >
<JnpfInput v-model="dataForm.cleanNo" @change="changeData('cleanNo',-1)"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item>
<JnpfDivider
content="清运信息" contentPosition="center" >
</JnpfDivider>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="清运员手机号" prop="cleanerPhone" >
<JnpfInput v-model="dataForm.cleanerPhone" @change="changeData('cleanerPhone',-1)"
<JnpfInput v-model="dataForm.cleanerPhone" @change="changeData('cleanerPhone',-1)"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="清运状态" prop="cleanStatus" >
<JnpfRadio v-model="dataForm.cleanStatus" @change="changeData('cleanStatus',-1)"
<JnpfRadio v-model="dataForm.cleanStatus" @change="changeData('cleanStatus',-1)"
optionType="button" direction="horizontal" size="small" :options="cleanStatusOptions" :props="cleanStatusProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="清运单号" prop="cleanNo" >
<JnpfInput v-model="dataForm.cleanNo" @change="changeData('cleanNo',-1)"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</JnpfInput>
label="公司id" prop="companyId" >
<JnpfOpenData v-model="dataForm.companyId" @change="changeData('companyId',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}' type="currOrganize" showLevel="all" >
</JnpfOpenData>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="修改用户" prop="lastModifyUserId" >
<JnpfInput v-model="dataForm.lastModifyUserId" @change="changeData('lastModifyUserId',-1)"
label="修改时间" prop="lastModifyTime" >
<JnpfInput v-model="dataForm.lastModifyTime" @change="changeData('lastModifyTime',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="12" >
<el-col :span="8" >
<jnpf-form-tip-item
label="修改时间" prop="lastModifyTime" >
<JnpfInput v-model="dataForm.lastModifyTime" @change="changeData('lastModifyTime',-1)"
label="修改用户" prop="lastModifyUserId" >
<JnpfInput v-model="dataForm.lastModifyUserId" @change="changeData('lastModifyUserId',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="组织JSONID" prop="organizeJsonId" >
<JnpfOpenData v-model="dataForm.organizeJsonId" @change="changeData('organizeJsonId',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}' type="currOrganize" showLevel="all" >
</JnpfOpenData>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
</el-collapse>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
@ -283,80 +309,213 @@
Vmodel:"",
currVmodel:"",
dataForm: {
phone : undefined,
loginType : "1",
orderNo : undefined,
deviceOrderNo : undefined,
deviceCode : undefined,
doorNum : undefined,
bagNo : undefined,
bucketCode : undefined,
deliverId : undefined,
productCode : undefined,
productSubCode : undefined,
phone : undefined,
doorNum : undefined,
productCode : "542988676150333899",
productSubCode : [],
reportWeight : undefined,
originalWeight : undefined,
price : undefined,
adjustWeight : undefined,
totalPrice : undefined,
originalWeight : undefined,
adjustWeight : undefined,
adjustPrice : undefined,
adjustSet : "1",
adjustStatus : "0",
adjustStatus : undefined,
adjustSet : undefined,
deliverId : undefined,
adjustComm : undefined,
cleanerPhone : undefined,
cleanStatus : "0",
photo : [],
bucketCode : [],
bagNo : undefined,
deviceOrderNo : undefined,
loginType : undefined,
cleanNo : undefined,
lastModifyUserId : undefined,
cleanerPhone : undefined,
cleanStatus : undefined,
companyId : undefined,
lastModifyTime : undefined,
nx_recycle_delivery_photo:
{
fileUrl:'',
},
jnpf_nx_recycle_delivery_photo_jnpf_fileUrl : '',
lastModifyUserId : undefined,
organizeJsonId : undefined,
creatorTime : undefined,
creatorUserId : undefined,
},
tableRequiredData: {},
activeripxar:["1","2"],
dataRule:
{
phone: [
{
required: true,
message: '投递员手机',
trigger: 'blur'
},
],
doorNum: [
{
required: true,
message: '请选择',
trigger: 'change'
},
],
productCode: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
reportWeight: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
price: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
totalPrice: [
{
required: true,
message: '审核后本单总价',
trigger: 'blur'
},
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的重量',
trigger: 'blur'
},
],
originalWeight: [
{
required: true,
message: '投递前桶内重量',
trigger: 'blur'
},
],
adjustWeight: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的重量',
trigger: 'blur'
},
],
adjustPrice: [
{
required: true,
message: '审核后本单总价',
trigger: 'blur'
},
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的重量',
trigger: 'blur'
},
],
adjustStatus: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
bucketCode: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
bagNo: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
deviceOrderNo: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
cleanerPhone: [
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
},
],
cleanStatus: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
},
loginTypeOptions:[{"fullName":"扫码","id":"1"},{"fullName":"手机号","id":"2"}],
loginTypeProps:{"label":"fullName","value":"id" },
deviceCodeOptions:[],
deviceCodeProps:{"label":"device_name","value":"device_code" },
adjustSetOptions:[{"fullName":"即时自动","id":"0"},{"fullName":"24H自动","id":"1"},{"fullName":"48H自动","id":"2"}],
adjustSetProps:{"label":"fullName","value":"id" },
adjustStatusOptions:[{"fullName":"待审核","id":"0"},{"fullName":"通过","id":"1"},{"fullName":"调整通过","id":"2"},{"fullName":"拒绝","id":"3"}],
adjustStatusProps:{"label":"fullName","value":"id" },
doorNumOptions:[{"fullName":"1号","id":"1"},{"fullName":"2号","id":"2"},{"fullName":"3号","id":"3"},{"fullName":"4号","id":"4"},{"fullName":"5号","id":"5"},{"fullName":"6号","id":"6"},{"fullName":"7号","id":"7"},{"fullName":"8号","id":"8"},{"fullName":"9号","id":"9"},{"fullName":"10号","id":"10"},{"fullName":"11号","id":"11"},{"fullName":"12号","id":"12"}],
doorNumProps:{"label":"fullName","value":"id" },
productCodeOptions:[],
productCodeProps:{"label":"name","value":"id" },
productSubCodeOptions:[],
productSubCodeProps:{"label":"name","value":"id" ,"children":"children" },
adjustStatusOptions:[],
adjustStatusProps:{"label":"fullName","value":"enCode" },
adjustSetOptions:[],
adjustSetProps:{"label":"fullName","value":"enCode" },
bucketCodeOptions:[],
bucketCodeProps:{"label":"show_name","value":"bucket_code" ,"children":"children" },
loginTypeOptions:[{"fullName":"扫码","id":"1"},{"fullName":"手机号","id":"2"}],
loginTypeProps:{"label":"fullName","value":"id" },
cleanStatusOptions:[{"fullName":"未清运","id":"0"},{"fullName":"已清运","id":"1"}],
cleanStatusProps:{"label":"fullName","value":"id" },
childIndex:-1,
isEdit:false,
interfaceRes: {
phone:[] ,
loginType:[] ,
orderNo:[] ,
deviceOrderNo:[] ,
deviceCode:[] ,
phone:[] ,
doorNum:[] ,
bagNo:[] ,
bucketCode:[] ,
deliverId:[] ,
productCode:[] ,
productSubCode:[] ,
productSubCode:[{"dataType":"varchar","defaultValue":"","field":"parent_id","fieldName":"","id":"ZBu5m72","jnpfKey":"select","relationField":"productCode","required":"0"}] ,
reportWeight:[] ,
originalWeight:[] ,
price:[] ,
adjustWeight:[] ,
totalPrice:[] ,
originalWeight:[] ,
adjustWeight:[] ,
adjustPrice:[] ,
adjustSet:[] ,
adjustStatus:[] ,
adjustSet:[] ,
deliverId:[] ,
adjustComm:[] ,
photo:[] ,
bucketCode:[{"dataType":"varchar","defaultValue":"","field":"device_code","fieldName":"","id":"ow3vw72","jnpfKey":"select","relationField":"deviceCode","required":"0"}] ,
bagNo:[] ,
deviceOrderNo:[] ,
loginType:[] ,
cleanNo:[] ,
cleanerPhone:[] ,
cleanStatus:[] ,
cleanNo:[] ,
lastModifyUserId:[] ,
companyId:[] ,
lastModifyTime:[] ,
jnpf_nx_recycle_delivery_photo_jnpf_fileUrl:[] ,
lastModifyUserId:[] ,
organizeJsonId:[] ,
creatorTime:[] ,
creatorUserId:[] ,
},
}
},
@ -449,6 +608,11 @@
},
dataAll(){
this.getdeviceCodeOptions();
this.getproductCodeOptions();
this.getproductSubCodeOptions();
this.getadjustStatusOptions();
this.getadjustSetOptions();
this.getbucketCodeOptions();
},
getdeviceCodeOptions() {
const index = this.childIndex
@ -474,6 +638,91 @@
this.deviceCodeOptions = data
this.changeDataFormData(1,'deviceCode','deviceCode',index,'')
})
},
getproductCodeOptions() {
const index = this.childIndex
let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.productCode))
for (let i = 0; i < templateJsonList.length; i++) {
let json = templateJsonList[i];
if(json.relationField){
let relationFieldAll = json.relationField.split("-");
let val = json.defaultValue;
if(relationFieldAll.length>1 && index>-1){
val = this.dataForm[relationFieldAll[0]+'List']&&this.dataForm[relationFieldAll[0]+'List'].length?this.dataForm[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:''
}else {
val = this.dataForm[relationFieldAll]
}
json.defaultValue = val
}
}
let template ={
paramList:templateJsonList
}
getDataInterfaceRes('565507078836203205',template).then(res => {
let data = res.data
this.productCodeOptions = data
this.changeDataFormData(1,'productCode','productCode',index,'542988676150333899')
})
},
getproductSubCodeOptions() {
const index = this.childIndex
let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.productSubCode))
for (let i = 0; i < templateJsonList.length; i++) {
let json = templateJsonList[i];
if(json.relationField){
let relationFieldAll = json.relationField.split("-");
let val = json.defaultValue;
if(relationFieldAll.length>1 && index>-1){
val = this.dataForm[relationFieldAll[0]+'List']&&this.dataForm[relationFieldAll[0]+'List'].length?this.dataForm[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:''
}else {
val = this.dataForm[relationFieldAll]
}
json.defaultValue = val
}
}
let template ={
paramList:templateJsonList
}
getDataInterfaceRes('565508644465028805',template).then(res => {
let data = res.data
this.productSubCodeOptions = data
this.changeDataFormData(1,'productSubCode','productSubCode',index,[])
})
},
getadjustStatusOptions() {
getDictionaryDataSelector('565908107083911685').then(res => {
this.adjustStatusOptions = res.data.list
})
},
getadjustSetOptions() {
getDictionaryDataSelector('565907359503749637').then(res => {
this.adjustSetOptions = res.data.list
})
},
getbucketCodeOptions() {
const index = this.childIndex
let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.bucketCode))
for (let i = 0; i < templateJsonList.length; i++) {
let json = templateJsonList[i];
if(json.relationField){
let relationFieldAll = json.relationField.split("-");
let val = json.defaultValue;
if(relationFieldAll.length>1 && index>-1){
val = this.dataForm[relationFieldAll[0]+'List']&&this.dataForm[relationFieldAll[0]+'List'].length?this.dataForm[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:''
}else {
val = this.dataForm[relationFieldAll]
}
json.defaultValue = val
}
}
let template ={
paramList:templateJsonList
}
getDataInterfaceRes('565524506681020549',template).then(res => {
let data = res.data
this.bucketCodeOptions = data
this.changeDataFormData(1,'bucketCode','bucketCode',index,[])
})
},
goBack() {
this.$emit('refresh')

@ -24,7 +24,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="投递员手机">
<el-form-item label="投递员手机">
<el-input v-model="query.phone" placeholder="请输入" clearable> </el-input>
</el-form-item>
</el-col>
@ -38,13 +38,17 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="门号">
<el-input v-model="query.doorNum" placeholder="请输入" clearable> </el-input>
<el-form-item label="桶编号">
<JnpfSelect v-model="query.doorNum" placeholder="请选择" clearable
:options="doorNumOptions"
:props="doorNumProps" multiple >
</JnpfSelect>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="桶编号">
<el-input v-model="query.bucketCode" placeholder="请输入" clearable> </el-input>
<el-form-item label="桶编码">
<JnpfCascader v-model="query.bucketCode" placeholder="请选择" :options ="bucketCodeOptions" :props="bucketCodeProps"
clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
@ -53,7 +57,12 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="清运员手机号">
<el-form-item label="所属商户">
<JnpfOrganizeSelect v-model="query.companyId" placeholder="请选择" :lastLevel="false" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="清运员手机">
<el-input v-model="query.cleanerPhone" placeholder="请输入" clearable> </el-input>
</el-form-item>
</el-col>
@ -102,10 +111,15 @@
</el-tooltip>
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange'
:span-method="arraySpanMethod"
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange'
:span-method="arraySpanMethod"
>
<el-table-column
prop="companyId"
label="公司id" align="left"
>
</el-table-column>
<el-table-column
prop="orderNo"
label="投递单号" align="left"
@ -113,74 +127,70 @@
</el-table-column>
<el-table-column
prop="phone"
label="用户手机号" align="left"
label="投递人手机" align="left"
>
</el-table-column>
<el-table-column
prop="deviceCode"
label="机柜编码" align="left"
label="投递机柜" align="left"
>
</el-table-column>
<el-table-column label="桶编号" prop="doorNum" algin="left"
>
<template slot-scope="scope">
{{ scope.row.doorNum}}
</template>
</el-table-column>
<el-table-column
prop="bucketCode"
label="桶编号" align="left"
prop="originalWeight"
label="桶内原重" align="left"
>
</el-table-column>
<el-table-column
prop="doorNum"
label="门号" align="left"
prop="reportWeight"
label="上报重量" align="left"
>
</el-table-column>
<el-table-column
prop="bagNo"
label="垃圾袋编号" align="left"
prop="price"
label="单价" align="left"
>
</el-table-column>
<el-table-column
prop="originalWeight"
label="桶内原重" align="left"
prop="totalPrice"
label="总价" align="left"
>
</el-table-column>
<el-table-column
prop="reportWeight"
label="上报重量" align="left"
prop="adjustStatus"
label="审核状态 " align="left"
>
</el-table-column>
<el-table-column
prop="adjustWeight"
label="审核重量" align="left"
label="审核重量" align="left"
>
</el-table-column>
<el-table-column
prop="price"
label="价" align="left"
prop="adjustPrice"
label="审核总价" align="left"
>
<template slot-scope="scope" v-if="scope.row.price" >
<JnpfNumber v-model="scope.row.price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="adjustPrice"
label="审核总价" align="left"
prop="adjustComm"
label="审核说明" align="left"
>
<template slot-scope="scope" v-if="scope.row.adjustPrice" >
<JnpfNumber v-model="scope.row.adjustPrice" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="totalPrice"
label="总价" align="left"
prop="bucketCode"
label="桶编号" align="left"
>
<template slot-scope="scope" v-if="scope.row.totalPrice" >
<JnpfNumber v-model="scope.row.totalPrice" :thousands="false"/>
</template>
</el-table-column>
<el-table-column label="审核状态 " prop="adjustStatus" algin="left"
<el-table-column
prop="bagNo"
label="垃圾袋编号" align="left"
>
<template slot-scope="scope">
{{ scope.row.adjustStatus}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop="productCode"
label="回收品大类" align="left"
@ -189,11 +199,6 @@
<el-table-column
prop="productSubCode"
label="回收品子类" align="left"
>
</el-table-column>
<el-table-column
prop="adjustComm"
label="审核说明" align="left"
>
</el-table-column>
<el-table-column label="登录方式" prop="loginType" algin="left"
@ -226,11 +231,6 @@
<el-table-column
prop="lastModifyTime"
label="修改时间" align="left"
>
</el-table-column>
<el-table-column
prop="jnpf_nx_recycle_delivery_photo_jnpf_fileUrl"
label="图片地址" align="left"
>
</el-table-column>
<el-table-column label="操作"
@ -241,7 +241,7 @@
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text"
<el-button type="text"
@click="goDetail(scope.row.id)">详情
</el-button>
</template>
@ -314,6 +314,7 @@
doorNum:undefined,
bucketCode:undefined,
bagNo:undefined,
companyId:undefined,
cleanerPhone:undefined,
cleanStatus:undefined,
cleanNo:undefined,
@ -340,14 +341,22 @@
flowListVisible: false,
flowList: [],
exportBoxVisible: false,
loginTypeOptions:[{"fullName":"扫码","id":"1"},{"fullName":"手机号","id":"2"}],
loginTypeProps:{"label":"fullName","value":"id" },
deviceCodeOptions:[],
deviceCodeOptions:[],
deviceCodeProps:{"label":"device_name","value":"device_code" },
adjustSetOptions:[{"fullName":"即时自动","id":"0"},{"fullName":"24H自动","id":"1"},{"fullName":"48H自动","id":"2"}],
adjustSetProps:{"label":"fullName","value":"id" },
adjustStatusOptions:[{"fullName":"待审核","id":"0"},{"fullName":"通过","id":"1"},{"fullName":"调整通过","id":"2"},{"fullName":"拒绝","id":"3"}],
adjustStatusProps:{"label":"fullName","value":"id" },
doorNumOptions:[{"fullName":"1号","id":"1"},{"fullName":"2号","id":"2"},{"fullName":"3号","id":"3"},{"fullName":"4号","id":"4"},{"fullName":"5号","id":"5"},{"fullName":"6号","id":"6"},{"fullName":"7号","id":"7"},{"fullName":"8号","id":"8"},{"fullName":"9号","id":"9"},{"fullName":"10号","id":"10"},{"fullName":"11号","id":"11"},{"fullName":"12号","id":"12"}],
doorNumProps:{"label":"fullName","value":"id" },
productCodeOptions:[],
productCodeProps:{"label":"name","value":"id" },
productSubCodeOptions:[],
productSubCodeProps:{"label":"name","value":"id" ,"children":"children" },
adjustStatusOptions:[],
adjustStatusProps:{"label":"fullName","value":"enCode" },
adjustSetOptions:[],
adjustSetProps:{"label":"fullName","value":"enCode" },
bucketCodeOptions:[],
bucketCodeProps:{"label":"show_name","value":"bucket_code" ,"children":"children" },
loginTypeOptions:[{"fullName":"扫码","id":"1"},{"fullName":"手机号","id":"2"}],
loginTypeProps:{"label":"fullName","value":"id" },
cleanStatusOptions:[{"fullName":"未清运","id":"0"},{"fullName":"已清运","id":"1"}],
cleanStatusProps:{"label":"fullName","value":"id" },
interfaceRes: {
@ -363,7 +372,9 @@
created() {
this.getColumnList(),
this.initSearchDataAndListData()
this.getadjustStatusOptions();
this.getdeviceCodeOptions();
this.getbucketCodeOptions();
this.queryData = JSON.parse(JSON.stringify(this.query))
},
methods: {
@ -514,12 +525,23 @@
}
this.exportList = exportList
},
getadjustStatusOptions() {
getDictionaryDataSelector('565908107083911685').then(res => {
this.adjustStatusOptions = res.data.list
})
},
getdeviceCodeOptions() {
getDataInterfaceRes('564713894723988869').then(res => {
let data = res.data
this.deviceCodeOptions = data
})
},
getbucketCodeOptions() {
getDataInterfaceRes('565524506681020549').then(res => {
let data = res.data
this.bucketCodeOptions = data
})
},
goDetail(id){
this.detailVisible = true
this.$nextTick(() => {

File diff suppressed because one or more lines are too long

@ -1,180 +1,172 @@
<template>
<el-dialog title="详情"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="600px">
<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="deviceCode">
<p>{{ dataForm.deviceCode }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="设备名称"
prop="deviceName" tip-label="设备名称">
<p>{{ dataForm.deviceName }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="所在城市"
prop="city">
<p>{{ dataForm.city }}</p>
</jnpf-form-tip-item>
</el-col>
<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="useStatus">
<p>{{ dataForm.useStatus }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="设备状态"
prop="status">
<p>{{ dataForm.status }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="分配商户"
prop="beLongCompanyId" tip-label="绑定商户">
<p>{{ dataForm.beLongCompanyId }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="分配回收站"
prop="beLongStationCode" tip-label="绑定回收站">
<p>{{ dataForm.beLongStationCode }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="设备总重"
prop="boxWeight">
<p>{{ dataForm.boxWeight }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="修改用户"
prop="lastModifyUserId">
<p>{{ dataForm.lastModifyUserId }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="修改时间"
prop="lastModifyTime">
<p>{{ dataForm.lastModifyTime }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="所属组织"
prop="organizeJsonId">
<p>{{ dataForm.organizeJsonId }}</p>
</jnpf-form-tip-item>
</el-col>
</template>
</el-form>
<el-dialog title="详情"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="600px">
<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="deviceCode" >
<p>{{dataForm.deviceCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="设备名称"
prop="deviceName" tip-label="设备名称" >
<p>{{dataForm.deviceName}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="所在城市"
prop="city" >
<p>{{dataForm.city}}</p>
</jnpf-form-tip-item>
</el-col>
<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="useStatus" >
<p>{{ dataForm.useStatus }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="设备状态"
prop="status" >
<p>{{ dataForm.status }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="分配商户"
prop="beLongCompanyId" tip-label="绑定商户" >
<p>{{dataForm.beLongCompanyId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="所属回收站"
prop="beLongStationCode" tip-label="分配回收站" >
<p>{{dataForm.beLongStationCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="设备总重"
prop="boxWeight" >
<p>{{dataForm.boxWeight}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="修改用户"
prop="lastModifyUserId" >
<p>{{dataForm.lastModifyUserId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="修改时间"
prop="lastModifyTime" >
<p>{{dataForm.lastModifyTime}}</p>
</jnpf-form-tip-item>
</el-col>
</template>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
</span>
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false"/>
</el-dialog>
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false" />
</el-dialog>
</template>
<script>
import request from '@/utils/request'
import request from '@/utils/request'
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 { 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"
export default {
components: { Detail},
props: [],
data() {
return {
visible: false,
detailVisible: false,
loading: false,
export default {
components: {Detail},
props: [],
data() {
return {
visible: false,
detailVisible: false,
loading: false,
dataForm: {
id :'',
deviceCode : '',
deviceName : '',
city : [],
address : '',
useStatus : "0",
status : "0",
beLongCompanyId : "",
beLongStationCode : [],
ipAddress : '',
boxWeight : '',
latitude : '',
longitude : '',
creatorTime : "",
creatorUserId : "",
lastModifyUserId : "",
lastModifyTime : "",
organizeJsonId : "",
},
useStatusOptions:[{"fullName":"启用","id":"1"},{"fullName":"暂停服务","id":"2"},{"fullName":"关闭","id":"0"}],
useStatusProps:{"label":"fullName","value":"id" },
statusOptions:[{"fullName":"离线","id":"0"},{"fullName":"在线","id":"1"}],
statusProps:{"label":"fullName","value":"id" },
beLongStationCodeProps:{"label":"station_name","value":"station_code" ,"children":"children" },
dataForm: {
id: '',
deviceCode: '',
deviceName: '',
city: [],
address: '',
useStatus: "1",
status: "1",
beLongCompanyId: "",
beLongStationCode: "",
ipAddress: '',
boxWeight: '',
latitude: '',
longitude: '',
lastModifyUserId: "",
lastModifyTime: "",
organizeJsonId: "",
},
useStatusOptions: [{"fullName": "启用", "id": "1"}, {"fullName": "暂停服务", "id": "2"}, {
"fullName": "关闭",
"id": "0"
}],
useStatusProps: {"label": "fullName", "value": "id"},
statusOptions: [{"fullName": "离线", "id": "0"}, {"fullName": "在线", "id": "1"}],
statusProps: {"label": "fullName", "value": "id"},
}
},
computed: {},
watch: {},
created() {
}
},
computed: {},
watch: {},
created() {
},
mounted() {},
methods: {
toDetail(defaultValue, modelId) {
if (!defaultValue) return
getConfigData(modelId).then(res => {
if (!res.data || !res.data.formData) return
let formData = JSON.parse(res.data.formData)
formData.popupType = 'general'
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(formData, modelId, defaultValue)
})
})
},
dataInfo(dataAll){
let _dataAll =dataAll
this.dataForm = _dataAll
},
},
mounted() {
},
methods: {
toDetail(defaultValue, modelId) {
if (!defaultValue) return
getConfigData(modelId).then(res => {
if (!res.data || !res.data.formData) return
let formData = JSON.parse(res.data.formData)
formData.popupType = 'general'
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(formData, modelId, defaultValue)
})
})
},
dataInfo(dataAll) {
let _dataAll = dataAll
this.dataForm = _dataAll
},
init(id) {
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
this.loading = true
request({
url: '/api/scm/RecycleDevice/detail/'+this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
})
}
init(id) {
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/scm/RecycleDevice/detail/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
})
}
})
},
},
}
})
},
},
}
</script>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1,300 @@
<template>
<transition name="el-zoom-in-center">
<div class="JNPF-preview-main">
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false" />
<div class="JNPF-common-page-header">
<el-page-header @back="goBack"
content="详情"/>
<div class="options">
<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" size="medium" label-width="150px" label-position="right" >
<template v-if="!loading">
<el-col :span="24">
<el-collapse :accordion="false" v-model="activeajjooa" class="mb-20">
<el-collapse-item title="价格配置" name="1">
<el-col :span="8" >
<jnpf-form-tip-item label="统一投递价格"
prop="deliveryPrice" >
<p>{{dataForm.deliveryPrice}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label-width="0">
<JnpfAlert
:show-icon= "true" type="success" :closable= "false" title ="温馨提示" description ="当前画面对本商户下的所有投递柜统一配置回收结算价格,若《回收桶配置》画面针对单个桶配置了回收价格,则优先按照《回收桶配置》中的价格结算!!!" >
</JnpfAlert>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="1号桶价格"
prop="bucket1Price" >
<p>{{dataForm.bucket1Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="2号桶价格"
prop="bucket2Price" >
<p>{{dataForm.bucket2Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="3号桶价格"
prop="bucket3Price" >
<p>{{dataForm.bucket3Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="4号桶价格"
prop="bucket4Price" >
<p>{{dataForm.bucket4Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="5号桶价格"
prop="bucket5Price" >
<p>{{dataForm.bucket5Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="6号桶价格"
prop="bucket6Price" >
<p>{{dataForm.bucket6Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="7号桶价格"
prop="bucket7Price" >
<p>{{dataForm.bucket7Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="8号桶价格"
prop="bucket8Price" >
<p>{{dataForm.bucket8Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="9号桶价格"
prop="bucket9Price" >
<p>{{dataForm.bucket9Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="10号桶价格"
prop="bucket10Price" >
<p>{{dataForm.bucket10Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="11号桶价格"
prop="bucket11Price" >
<p>{{dataForm.bucket11Price}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="12号桶价格"
prop="bucket12Price" >
<p>{{dataForm.bucket12Price}}</p>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
<el-collapse-item title="设备配置" name="2">
<el-col :span="8" >
<jnpf-form-tip-item label="投递审核"
prop="deliveryAdjustSet" tip-label="投递后审核结算" >
<p>{{ dataForm.deliveryAdjustSet }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="手机号登录"
prop="allowPhoneLogin" tip-label="投递柜手机号登录入库" >
<p>{{dataForm.allowPhoneLogin}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="清运锁"
prop="cleanLock" tip-label="清运时是否输入垃圾袋编号" >
<p>{{dataForm.cleanLock}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="清运审核"
prop="cleanAdjustSet" tip-label="清运数据审核入库" >
<p>{{ dataForm.cleanAdjustSet }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="烟雾报警"
prop="smogSet" tip-label="烟雾报警事件上报" >
<p>{{dataForm.smogSet}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="关门延时"
prop="closeDelay" >
<p>{{dataForm.closeDelay}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="满溢报警"
prop="fullSet" tip-label="满溢时发送通知" >
<p>{{dataForm.fullSet}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="报警重量"
prop="warningWeight" >
<p>{{dataForm.warningWeight}}KG</p>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
<el-collapse-item title="宣传配置" name="BwNYw72">
<el-col :span="24" >
<jnpf-form-tip-item label-width="0">
<JnpfAlert
:show-icon= "true" type="success" :closable= "false" title ="温馨提示" description ="开启宣传配置后,投递柜将在空闲时播报宣传标语,播放宣传海报" >
</JnpfAlert>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item label="宣传配置"
prop="promotionSet" tip-label="开启空闲设备宣传" >
<p>{{dataForm.promotionSet}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="宣传标语"
prop="promotionalSlogans" tip-label="宣传标语" >
<p>{{dataForm.promotionalSlogans}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="宣传海报"
prop="promotionPic1" tip-label="设备空闲时展示海报" >
<JnpfUploadImg v-model="dataForm.promotionPic1"
disabled
detailed :fileSize="2" sizeUnit="MB" :limit="5" pathType="defaultPath" :isAccount="0" >
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
</el-collapse>
</el-col>
</template>
</el-form>
</el-row>
</div>
</transition>
</template>
<script>
import request from '@/utils/request'
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"
export default {
components: { Detail},
props: [],
data() {
return {
visible: false,
detailVisible: false,
loading: false,
dataForm: {
id :'',
deliveryPrice : '',
bucket1Price : '',
bucket2Price : '',
bucket3Price : '',
bucket4Price : '',
bucket5Price : '',
bucket6Price : '',
bucket7Price : '',
bucket8Price : '',
bucket9Price : '',
bucket10Price : '',
bucket11Price : '',
bucket12Price : '',
deliveryAdjustSet : "",
allowPhoneLogin : "",
cleanLock : "",
cleanAdjustSet : "",
smogSet : "",
closeDelay : '',
fullSet : "",
warningWeight : '',
promotionSet : "",
promotionalSlogans : '',
promotionPic1 : [],
lastModifyUserId : "",
lastModifyTime : "",
organizeJsonId : "",
companyId : "",
departmentId : "",
},
activeajjooa:["1","2"],
deliveryAdjustSetOptions:[{"fullName":"即时自动","id":"1"},{"fullName":"24H自动","id":"2"},{"fullName":"48H自动","id":"3"}],
deliveryAdjustSetProps:{"label":"fullName","value":"id" },
allowPhoneLoginProps:{"label":"fullName","value":"enCode" },
cleanLockProps:{"label":"fullName","value":"id" },
cleanAdjustSetOptions:[{"fullName":"自动","id":"1"},{"fullName":"手动","id":"2"}],
cleanAdjustSetProps:{"label":"fullName","value":"id" },
smogSetProps:{"label":"fullName","value":"id" },
fullSetProps:{"label":"fullName","value":"id" },
promotionSetProps:{"label":"fullName","value":"id" },
}
},
computed: {},
watch: {},
created() {
},
mounted() {},
methods: {
toDetail(defaultValue, modelId) {
if (!defaultValue) return
getConfigData(modelId).then(res => {
if (!res.data || !res.data.formData) return
let formData = JSON.parse(res.data.formData)
formData.popupType = 'general'
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(formData, modelId, defaultValue)
})
})
},
dataInfo(dataAll){
let _dataAll =dataAll
this.dataForm = _dataAll
},
goBack() {
this.$emit('refresh')
},
init(id) {
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
this.loading = true
request({
url: '/api/scm/RecycleDeviceConfige/detail/'+this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
})
}
})
},
},
}
</script>

File diff suppressed because one or more lines are too long

@ -0,0 +1,859 @@
<template>
<transition name="el-zoom-in-center">
<div class="JNPF-preview-main">
<div class="JNPF-common-page-header">
<el-page-header @back="goBack"
:content="!dataForm.id ? '新建':'编辑'"/>
<div class="options">
<el-dropdown class="dropdown" placement="bottom">
<el-button style="width:70px">
<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<template v-if="dataForm.id">
<el-dropdown-item @click.native="prev" :disabled='prevDis'>
{{'上一条'}}
</el-dropdown-item>
<el-dropdown-item @click.native="next" :disabled='nextDis'>
{{'下一条'}}
</el-dropdown-item>
</template>
<el-dropdown-item type="primary" @click.native="dataFormSubmit(2)"
:loading="continueBtnLoading" :disabled='btnLoading'>
{{!dataForm.id ?'确定并新增':'确定并继续'}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<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="medium" label-width="150px" label-position="right" >
<template v-if="!loading">
<!-- 具体表单 -->
<el-col :span="24">
<el-collapse :accordion="false" v-model="activeajjooa" class="mb-20">
<el-collapse-item title="价格配置" name="1">
<el-col :span="8" >
<jnpf-form-tip-item
label="统一投递价格" prop="deliveryPrice" >
<JnpfInput v-model="dataForm.deliveryPrice" @change="changeData('deliveryPrice',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item>
<JnpfAlert
title='温馨提示' description="当前画面对本商户下的所有投递柜统一配置回收结算价格,若《回收桶配置》画面针对单个桶配置了回收价格,则优先按照《回收桶配置》中的价格结算!!!" showIcon type='success'>
</JnpfAlert>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="1号桶价格" prop="bucket1Price" >
<JnpfInput v-model="dataForm.bucket1Price" @change="changeData('bucket1Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="2号桶价格" prop="bucket2Price" >
<JnpfInput v-model="dataForm.bucket2Price" @change="changeData('bucket2Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="3号桶价格" prop="bucket3Price" >
<JnpfInput v-model="dataForm.bucket3Price" @change="changeData('bucket3Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="4号桶价格" prop="bucket4Price" >
<JnpfInput v-model="dataForm.bucket4Price" @change="changeData('bucket4Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="5号桶价格" prop="bucket5Price" >
<JnpfInput v-model="dataForm.bucket5Price" @change="changeData('bucket5Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="6号桶价格" prop="bucket6Price" >
<JnpfInput v-model="dataForm.bucket6Price" @change="changeData('bucket6Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="7号桶价格" prop="bucket7Price" >
<JnpfInput v-model="dataForm.bucket7Price" @change="changeData('bucket7Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="8号桶价格" prop="bucket8Price" >
<JnpfInput v-model="dataForm.bucket8Price" @change="changeData('bucket8Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="9号桶价格" prop="bucket9Price" >
<JnpfInput v-model="dataForm.bucket9Price" @change="changeData('bucket9Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="10号桶价格" prop="bucket10Price" >
<JnpfInput v-model="dataForm.bucket10Price" @change="changeData('bucket10Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="11号桶价格" prop="bucket11Price" >
<JnpfInput v-model="dataForm.bucket11Price" @change="changeData('bucket11Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="12号桶价格" prop="bucket12Price" >
<JnpfInput v-model="dataForm.bucket12Price" @change="changeData('bucket12Price',-1)"
placeholder="请输入金额" addonAfter="元" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
<el-collapse-item title="设备配置" name="2">
<el-col :span="8" >
<jnpf-form-tip-item
label="投递审核" tipLabel="投递后审核结算" prop="deliveryAdjustSet" >
<JnpfRadio v-model="dataForm.deliveryAdjustSet" @change="changeData('deliveryAdjustSet',-1)"
optionType="button" direction="horizontal" size="small" :options="deliveryAdjustSetOptions" :props="deliveryAdjustSetProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="手机号登录" tipLabel="投递柜手机号登录入库" prop="allowPhoneLogin" >
<JnpfRadio v-model="dataForm.allowPhoneLogin" @change="changeData('allowPhoneLogin',-1)"
optionType="button" direction="horizontal" size="small" :options="allowPhoneLoginOptions" :props="allowPhoneLoginProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="清运锁" tipLabel="清运时是否输入垃圾袋编号" prop="cleanLock" >
<JnpfRadio v-model="dataForm.cleanLock" @change="changeData('cleanLock',-1)"
optionType="button" direction="horizontal" size="small" :options="cleanLockOptions" :props="cleanLockProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="清运审核" tipLabel="清运数据审核入库" prop="cleanAdjustSet" >
<JnpfRadio v-model="dataForm.cleanAdjustSet" @change="changeData('cleanAdjustSet',-1)"
optionType="button" direction="horizontal" size="small" :options="cleanAdjustSetOptions" :props="cleanAdjustSetProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="烟雾报警" tipLabel="烟雾报警事件上报" prop="smogSet" >
<JnpfRadio v-model="dataForm.smogSet" @change="changeData('smogSet',-1)"
optionType="button" direction="horizontal" size="small" :options="smogSetOptions" :props="smogSetProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="关门延时" prop="closeDelay" >
<JnpfInput v-model="dataForm.closeDelay" @change="changeData('closeDelay',-1)"
placeholder="请输入" addonAfter="秒" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="满溢报警" tipLabel="满溢时发送通知" prop="fullSet" >
<JnpfRadio v-model="dataForm.fullSet" @change="changeData('fullSet',-1)"
optionType="button" direction="horizontal" size="small" :options="fullSetOptions" :props="fullSetProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="报警重量" prop="warningWeight" >
<JnpfInput v-model="dataForm.warningWeight" @change="changeData('warningWeight',-1)"
placeholder="请输入" addonAfter="KG" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
<el-collapse-item title="宣传配置" name="BwNYw72">
<el-col :span="24" >
<jnpf-form-tip-item>
<JnpfAlert
title='温馨提示' description="开启宣传配置后,投递柜将在空闲时播报宣传标语,播放宣传海报" showIcon type='success'>
</JnpfAlert>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8" >
<jnpf-form-tip-item
label="宣传配置" tipLabel="开启空闲设备宣传" prop="promotionSet" >
<JnpfRadio v-model="dataForm.promotionSet" @change="changeData('promotionSet',-1)"
optionType="button" direction="horizontal" size="small" :options="promotionSetOptions" :props="promotionSetProps" >
</JnpfRadio>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="宣传标语" tipLabel="宣传标语" prop="promotionalSlogans" >
<JnpfTextarea v-model="dataForm.promotionalSlogans" @change="changeData('promotionalSlogans',-1)"
placeholder="请输入设备空闲时希望播放的宣传内容" :maxlength="500" :style='{"width":"100%"}' true type="textarea" :autosize='{"minRows":2,"maxRows":4}' >
</JnpfTextarea>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="宣传海报" tipLabel="设备空闲时展示海报" prop="promotionPic1" >
<JnpfUploadImg v-model="dataForm.promotionPic1" @change="changeData('promotionPic1',-1)"
:fileSize="2" sizeUnit="MB" :limit="5" pathType="defaultPath" :isAccount="0" >
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
</el-collapse-item>
</el-collapse>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<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 {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: { },
props: [],
data() {
return {
dataFormSubmitType: 0,
continueBtnLoading: false,
index: 0,
prevDis: false,
nextDis: false,
allList: [],
visible: false,
loading: false,
btnLoading: false,
formRef: 'formRef',
setting:{},
eventType: '',
userBoxVisible:false,
selectDialogVisible: false,
currTableConf:{},
dataValueAll:{},
addTableConf:{
},
//
ableAll:{
},
tableRows:{
},
Vmodel:"",
currVmodel:"",
dataForm: {
deliveryPrice : undefined,
bucket1Price : undefined,
bucket2Price : undefined,
bucket3Price : undefined,
bucket4Price : undefined,
bucket5Price : undefined,
bucket6Price : undefined,
bucket7Price : undefined,
bucket8Price : undefined,
bucket9Price : undefined,
bucket10Price : undefined,
bucket11Price : undefined,
bucket12Price : undefined,
deliveryAdjustSet : undefined,
allowPhoneLogin : undefined,
cleanLock : undefined,
cleanAdjustSet : undefined,
smogSet : undefined,
closeDelay : undefined,
fullSet : undefined,
warningWeight : undefined,
promotionSet : undefined,
promotionalSlogans : undefined,
promotionPic1 : [],
lastModifyUserId : undefined,
lastModifyTime : undefined,
organizeJsonId : undefined,
companyId : undefined,
departmentId : undefined,
},
tableRequiredData: {},
activeajjooa:["1","2"],
dataRule:
{
deliveryPrice: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket1Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket2Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket3Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket4Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket5Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket6Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket7Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket8Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket9Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket10Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket11Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
bucket12Price: [
{
pattern: /^([1-9][\d]*|0)(\.[\d]+)?$/,
message: '请输入正确的金额',
trigger: 'blur'
},
],
deliveryAdjustSet: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
allowPhoneLogin: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
cleanLock: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
cleanAdjustSet: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
smogSet: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
fullSet: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
warningWeight: [
{
pattern: /^\d+$/,
message: '请输入正确的重量',
trigger: 'blur'
},
],
promotionSet: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
},
deliveryAdjustSetOptions:[{"fullName":"即时自动","id":"1"},{"fullName":"24H自动","id":"2"},{"fullName":"48H自动","id":"3"}],
deliveryAdjustSetProps:{"label":"fullName","value":"id" },
allowPhoneLoginOptions:[],
allowPhoneLoginProps:{"label":"fullName","value":"enCode" },
cleanLockOptions:[],
cleanLockProps:{"label":"fullName","value":"id" },
cleanAdjustSetOptions:[{"fullName":"自动","id":"1"},{"fullName":"手动","id":"2"}],
cleanAdjustSetProps:{"label":"fullName","value":"id" },
smogSetOptions:[],
smogSetProps:{"label":"fullName","value":"id" },
fullSetOptions:[],
fullSetProps:{"label":"fullName","value":"id" },
promotionSetOptions:[],
promotionSetProps:{"label":"fullName","value":"id" },
childIndex:-1,
isEdit:false,
interfaceRes: {
deliveryPrice:[] ,
bucket1Price:[] ,
bucket2Price:[] ,
bucket3Price:[] ,
bucket4Price:[] ,
bucket5Price:[] ,
bucket6Price:[] ,
bucket7Price:[] ,
bucket8Price:[] ,
bucket9Price:[] ,
bucket10Price:[] ,
bucket11Price:[] ,
bucket12Price:[] ,
deliveryAdjustSet:[] ,
allowPhoneLogin:[] ,
cleanLock:[] ,
cleanAdjustSet:[] ,
smogSet:[] ,
closeDelay:[] ,
fullSet:[] ,
warningWeight:[] ,
promotionSet:[] ,
promotionalSlogans:[] ,
promotionPic1:[] ,
lastModifyUserId:[] ,
lastModifyTime:[] ,
organizeJsonId:[] ,
companyId:[] ,
departmentId:[] ,
},
}
},
computed: {
...mapGetters(['userInfo'])
},
watch: {},
created() {
this.dataAll()
this.initDefaultData()
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
},
mounted() {},
methods: {
prev() {
this.index--
if (this.index === 0) {
this.prevDis = true
}
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)
}
}
},
next() {
this.index++
if (this.index === this.allList.length - 1) {
this.nextDis = true
}
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)
}
}
},
getInfo(id) {
request({
url: '/api/scm/RecycleDeviceConfige/'+ id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
});
},
goBack() {
this.visible = false
this.$emit('refreshDataList', true)
},
changeData(model, index) {
this.isEdit = false
this.childIndex = index
let modelAll = model.split("-");
let faceMode = "";
for (let i = 0; i < modelAll.length; i++) {
faceMode += modelAll[i];
}
for (let key in this.interfaceRes) {
if (key != faceMode) {
let faceReList = this.interfaceRes[key]
for (let i = 0; i < faceReList.length; i++) {
if (faceReList[i].relationField == model) {
let options = 'get' + key + 'Options';
if(this[options]){
this[options]()
}
this.changeData(key, index)
}
}
}
}
},
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) {
this.dataForm[data][i][model] = defaultValue
} else if (index == i) {
this.dataForm[data][i][model] = defaultValue
}
}
} else {
this.dataForm[data] = defaultValue
}
}
},
dataAll(){
this.getallowPhoneLoginOptions();
this.getcleanLockOptions();
this.getsmogSetOptions();
this.getfullSetOptions();
this.getpromotionSetOptions();
},
getallowPhoneLoginOptions() {
getDictionaryDataSelector('565902955111256581').then(res => {
this.allowPhoneLoginOptions = res.data.list
})
},
getcleanLockOptions() {
getDictionaryDataSelector('565902955111256581').then(res => {
this.cleanLockOptions = res.data.list
})
},
getsmogSetOptions() {
getDictionaryDataSelector('565902955111256581').then(res => {
this.smogSetOptions = res.data.list
})
},
getfullSetOptions() {
getDictionaryDataSelector('565902955111256581').then(res => {
this.fullSetOptions = res.data.list
})
},
getpromotionSetOptions() {
getDictionaryDataSelector('565902955111256581').then(res => {
this.promotionSetOptions = res.data.list
})
},
goBack() {
this.$emit('refresh')
},
clearData(){
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
},
init(id,isDetail,allList) {
this.prevDis = false
this.nextDis = false
this.allList = allList || []
if (allList.length) {
this.index = this.allList.findIndex(item => item.id === id)
if (this.index == 0) {
this.prevDis = true
}
if (this.index == this.allList.length - 1) {
this.nextDis = true
}
} else {
this.prevDis = true
this.nextDis = true
}
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
this.loading = true
request({
url: '/api/scm/RecycleDeviceConfige/'+this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
}else{
this.clearData()
this.initDefaultData()
}
});
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
},
//
initDefaultData() {
},
//
dataFormSubmit(type) {
this.dataFormSubmitType = type ? type : 0
this.$refs['formRef'].validate((valid) => {
if (valid) {
this.request()
}
})
},
request() {
let _data =this.dataList()
if (this.dataFormSubmitType == 2) {
this.continueBtnLoading = true
} else {
this.btnLoading = true
}
if (!this.dataForm.id) {
request({
url: '/api/scm/RecycleDeviceConfige',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
if (this.dataFormSubmitType == 2) {
this.$nextTick(() => {
this.clearData()
this.initDefaultData()
})
this.continueBtnLoading = false
return
}
this.visible = false
this.btnLoading = false
this.$emit('refresh', true)
}
})
}).catch(()=>{
this.btnLoading = false
this.continueBtnLoading = false
})
}else{
request({
url: '/api/scm/RecycleDeviceConfige/'+this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
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
})
}
},
openSelectDialog(key) {
this.currTableConf=this.addTableConf[key]
this.currVmodel=key
this.selectDialogVisible = true
this.$nextTick(() => {
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)
}
}
},
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
let timeDataValue = null;
let timeValue = Number(timeValueData)
if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValue
} else if (timeType == 2) {
timeDataValue = dataValue
} else if (timeType == 3) {
timeDataValue = new Date().getTime()
} else if (timeType == 4) {
let previousDate = '';
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue)
timeDataValue = new Date(previousDate).getTime()
} else if (timeTarget == 3) {
previousDate = getBeforeData(timeValue)
timeDataValue = new Date(previousDate).getTime()
} else {
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime()
}
} else if (timeType == 5) {
let previousDate = '';
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue)
timeDataValue = new Date(previousDate).getTime()
} else if (timeTarget == 3) {
previousDate = getLaterData(timeValue)
timeDataValue = new Date(previousDate).getTime()
} else {
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
if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValue || '00:00:00'
if (timeDataValue.split(':').length == 3) {
timeDataValue = timeDataValue
} else {
timeDataValue = timeDataValue + ':00'
}
} else if (timeType == 2) {
timeDataValue = dataValue
} else if (timeType == 3) {
timeDataValue = this.jnpf.toDate(new Date(), format)
} else if (timeType == 4) {
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)
}
}
return timeDataValue;
},
dataList(){
var _data = this.dataForm;
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
this.dataForm = _dataAll
this.isEdit = true
this.dataAll()
this.childIndex=-1
},
},
}
</script>

@ -0,0 +1,624 @@
<template>
<div class="JNPF-common-layout">
<div class="JNPF-common-layout-center">
<el-row class="JNPF-common-search-box" :gutter="16">
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="当前商户">
<JnpfOrganizeSelect v-model="query.organizeJsonId" placeholder="请选择" :lastLevel="false" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"></el-button>
<el-button icon="el-icon-refresh-right" @click="reset()"></el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<el-button type="primary" icon="icon-ym icon-ym-btn-add" v-has="'btn_add'" @click="addOrUpdateHandle()">
</el-button>
</div>
<div class="JNPF-common-head-right">
<el-tooltip content="高级查询" placement="top" v-if="true">
<el-link icon="icon-ym icon-ym-filter JNPF-common-head-icon" :underline="false"
@click="openSuperQuery()" />
</el-tooltip>
<el-tooltip effect="dark" :content="$t('common.refresh')" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="initData()" />
</el-tooltip>
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange'
:span-method="arraySpanMethod"
>
<el-table-column
prop="organizeJsonId"
label="当前商户" align="left"
>
</el-table-column>
<el-table-column
prop="deliveryPrice"
label="统一价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.deliveryPrice" >
<JnpfNumber v-model="scope.row.deliveryPrice" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket1Price"
label="1号桶价" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket1Price" >
<JnpfNumber v-model="scope.row.bucket1Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket2Price"
label="2号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket2Price" >
<JnpfNumber v-model="scope.row.bucket2Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket3Price"
label="3号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket3Price" >
<JnpfNumber v-model="scope.row.bucket3Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket4Price"
label="4号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket4Price" >
<JnpfNumber v-model="scope.row.bucket4Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket5Price"
label="5号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket5Price" >
<JnpfNumber v-model="scope.row.bucket5Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket6Price"
label="6号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket6Price" >
<JnpfNumber v-model="scope.row.bucket6Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket7Price"
label="7号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket7Price" >
<JnpfNumber v-model="scope.row.bucket7Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket8Price"
label="8号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket8Price" >
<JnpfNumber v-model="scope.row.bucket8Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket9Price"
label="9号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket9Price" >
<JnpfNumber v-model="scope.row.bucket9Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket10Price"
label="10号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket10Price" >
<JnpfNumber v-model="scope.row.bucket10Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket11Price"
label="11号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket11Price" >
<JnpfNumber v-model="scope.row.bucket11Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="bucket12Price"
label="12号桶价格" align="left"
>
<template slot-scope="scope" v-if="scope.row.bucket12Price" >
<JnpfNumber v-model="scope.row.bucket12Price" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="allowPhoneLogin"
label="手机号登录" align="left"
>
</el-table-column>
<el-table-column
prop="closeDelay"
label="关门延时" align="left"
>
<template slot-scope="scope" v-if="scope.row.closeDelay" >
<JnpfNumber v-model="scope.row.closeDelay" :thousands="false"/>
</template>
</el-table-column>
<el-table-column
prop="warningWeight"
label="报警重量" align="left"
>
<template slot-scope="scope" v-if="scope.row.warningWeight" >
<JnpfNumber v-model="scope.row.warningWeight" :thousands="false"/>
</template>
</el-table-column>
<el-table-column label="投递审核" prop="deliveryAdjustSet" algin="left"
>
<template slot-scope="scope">
{{ scope.row.deliveryAdjustSet}}
</template>
</el-table-column>
<el-table-column label="清运审核" prop="cleanAdjustSet" algin="left"
>
<template slot-scope="scope">
{{ scope.row.cleanAdjustSet}}
</template>
</el-table-column>
<el-table-column
prop="cleanLock"
label="清运锁" align="left"
>
</el-table-column>
<el-table-column
prop="fullSet"
label="满溢报警" align="left"
>
</el-table-column>
<el-table-column
prop="smogSet"
label="烟雾报警" align="left"
>
</el-table-column>
<el-table-column
prop="promotionSet"
label="宣传配置" align="left"
>
</el-table-column>
<el-table-column
prop="promotionalSlogans"
label="宣传标语" align="left"
>
</el-table-column>
<el-table-column
prop="lastModifyUserId"
label="修改用户" align="left"
>
</el-table-column>
<el-table-column
prop="lastModifyTime"
label="修改时间" align="left"
>
</el-table-column>
<el-table-column label="操作"
fixed="right" width="150" >
<template slot-scope="scope" >
<el-button type="text"
@click="addOrUpdateHandle(scope.row)" v-has="'btn_edit'" >编辑
</el-button>
<el-button type="text" class="JNPF-table-delBtn" v-has="'btn_remove'" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text" v-has="'btn_detail'"
@click="goDetail(scope.row.id)">详情
</el-button>
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
</div>
</div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
<ImportBox v-if="uploadBoxVisible" ref="UploadBox" @refresh="initData" />
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
<ToFormDetail v-if="toFormDetailVisible" ref="toFormDetail" @close="toFormDetailVisible = false" />
<SuperQuery v-if="superQueryVisible" ref="SuperQuery" :columnOptions="superQueryJson"
@superQuery="superQuery" />
</div>
</template>
<script>
import request from '@/utils/request'
import {mapGetters} from "vuex";
import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
import JNPFForm from './form'
import Detail from './Detail'
import ExportBox from '@/components/ExportBox'
import ToFormDetail from '@/views/basic/dynamicModel/list/detail'
import {getDataInterfaceRes} from '@/api/systemData/dataInterface'
import { getConfigData } from '@/api/onlineDev/visualDev'
import { getDefaultCurrentValueUserIdAsync } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentIdAsync } from '@/api/permission/organize'
import columnList from './columnList'
import { thousandsFormat } from "@/components/Generator/utils/index"
import SuperQuery from '@/components/SuperQuery'
import superQueryJson from './superQueryJson'
export default {
components: {
JNPFForm,
Detail,
ExportBox,ToFormDetail , SuperQuery
},
data() {
return {
keyword:'',
expandsTree: true,
refreshTree: true,
toFormDetailVisible:false,
expandObj:{},
columnOptions: [],
mergeList: [],
exportList:[],
columnList,
superQueryVisible: false,
superQueryJson,
uploadBoxVisible: false,
detailVisible: false,
query: {
organizeJsonId:undefined,
},
treeProps: {
children: 'children',
label: 'fullName',
value: 'id',
isLeaf: 'isLeaf'
},
list: [],
listLoading: true,
total: 0,
queryData: {},
listQuery: {
superQueryJson: '',
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "",
},
formVisible: false,
flowVisible: false,
flowListVisible: false,
flowList: [],
exportBoxVisible: false,
deliveryAdjustSetOptions:[{"fullName":"即时自动","id":"1"},{"fullName":"24H自动","id":"2"},{"fullName":"48H自动","id":"3"}],
deliveryAdjustSetProps:{"label":"fullName","value":"id" },
allowPhoneLoginOptions:[],
allowPhoneLoginProps:{"label":"fullName","value":"enCode" },
cleanLockOptions:[],
cleanLockProps:{"label":"fullName","value":"id" },
cleanAdjustSetOptions:[{"fullName":"自动","id":"1"},{"fullName":"手动","id":"2"}],
cleanAdjustSetProps:{"label":"fullName","value":"id" },
smogSetOptions:[],
smogSetProps:{"label":"fullName","value":"id" },
fullSetOptions:[],
fullSetProps:{"label":"fullName","value":"id" },
promotionSetOptions:[],
promotionSetProps:{"label":"fullName","value":"id" },
interfaceRes: {
},
}
},
computed: {
...mapGetters(['userInfo']),
menuId() {
return this.$route.meta.modelId || ''
}
},
created() {
this.getColumnList(),
this.initSearchDataAndListData()
this.queryData = JSON.parse(JSON.stringify(this.query))
},
methods: {
toDetail(defaultValue, modelId) {
if (!defaultValue) return
getConfigData(modelId).then(res => {
if (!res.data || !res.data.formData) return
let formData = JSON.parse(res.data.formData)
formData.popupType = 'general'
this.toFormDetailVisible = true
this.$nextTick(() => {
this.$refs.toFormDetail.init(formData, modelId, defaultValue)
})
})
},
toggleTreeExpand(expands) {
this.refreshTree = false
this.expandsTree = expands
this.$nextTick(() => {
this.refreshTree = true
this.$nextTick(() => {
this.$refs.treeBox.setCurrentKey(null)
})
})
},
filterNode(value, data) {
if (!value) return true;
return data[this.treeProps.label].indexOf(value) !== -1;
},
loadNode(node, resolve) {
const nodeData = node.data
const config ={
treeInterfaceId:"",
treeTemplateJson:[]
}
if (config.treeInterfaceId) {
//
if (config.treeTemplateJson && config.treeTemplateJson.length) {
for (let i = 0; i < config.treeTemplateJson.length; i++) {
const element = config.treeTemplateJson[i];
element.defaultValue = nodeData[element.relationField] || ''
}
}
//
let query = {
paramList: config.treeTemplateJson || [],
}
//
getDataInterfaceRes(config.treeInterfaceId, query).then(res => {
let data = res.data
if (Array.isArray(data)) {
resolve(data);
} else {
resolve([]);
}
})
}
},
getColumnList() {
//
this.columnOptions = this.transformColumnList(this.columnList)
},
transformColumnList(columnList) {
let list = []
for (let i = 0; i < columnList.length; i++) {
const e = columnList[i];
if (!e.prop.includes('-')) {
list.push(e)
} else {
let prop = e.prop.split('-')[0]
let label = e.label.split('-')[0]
let vModel = e.prop.split('-')[1]
let newItem = {
align: "center",
jnpfKey: "table",
prop,
label,
children: []
}
e.vModel = vModel
if (!this.expandObj.hasOwnProperty(`${prop}Expand`)) this.$set(this.expandObj, `${prop}Expand`, false)
if (!list.some(o => o.prop === prop)) list.push(newItem)
for (let i = 0; i < list.length; i++) {
if (list[i].prop === prop) {
list[i].children.push(e)
break
}
}
}
}
this.getMergeList(list)
this.getExportList(list)
return list
},
arraySpanMethod({ column }) {
for (let i = 0; i < this.mergeList.length; i++) {
if (column.property == this.mergeList[i].prop) {
return [this.mergeList[i].rowspan, this.mergeList[i].colspan]
}
}
},
getMergeList(list) {
let newList = JSON.parse(JSON.stringify(list))
newList.forEach(item => {
if (item.children && item.children.length) {
let child = {
prop: item.prop + '-child-first'
}
item.children.unshift(child)
}
})
newList.forEach(item => {
if (item.children && item.children.length ) {
item.children.forEach((child, index) => {
if (index == 0) {
this.mergeList.push({
prop: child.prop,
rowspan: 1,
colspan: item.children.length
})
} else {
this.mergeList.push({
prop: child.prop,
rowspan: 0,
colspan: 0
})
}
})
} else {
this.mergeList.push({
prop: item.prop,
rowspan: 1,
colspan: 1
})
}
})
},
getExportList(list) {
let exportList = []
for (let i = 0; i < list.length; i++) {
if (list[i].jnpfKey === 'table') {
for (let j = 0; j < list[i].children.length; j++) {
exportList.push(list[i].children[j])
}
} else {
exportList.push(list[i])
}
}
this.exportList = exportList
},
goDetail(id){
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(id)
})
},
sortChange({column, prop, order}) {
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
this.listQuery.sidx = !order ? '' : prop
this.initData()
},
async initSearchDataAndListData() {
await this.initSearchData()
this.initData()
},
//
async initSearchData() {
},
initData() {
this.listLoading = true;
let _query = {
...this.listQuery,
...this.query,
keyword: this.keyword,
dataType: 0,
menuId:this.menuId,
moduleId:'565858748388610501',
type:1,
};
request({
url: `/api/scm/RecycleDeviceConfige/getList`,
method: 'post',
data: _query
}).then(res => {
var _list =res.data.list;
this.list = _list.map(o => ({
...o,
...this.expandObj,
}))
this.total = res.data.pagination.total
this.listLoading = false
})
},
handleDel(id) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
request({
url: `/api/scm/RecycleDeviceConfige/${id}`,
method: 'DELETE'
}).then(res => {
this.$message({
type: 'success',
message: res.msg,
onClose: () => {
this.initData()
}
});
})
}).catch(() => {
});
},
handelUpload(){
this.uploadBoxVisible = true
this.$nextTick(() => {
this.$refs.UploadBox.init("","scm/RecycleDeviceConfige")
})
},
openSuperQuery() {
this.superQueryVisible = true
this.$nextTick(() => {
this.$refs.SuperQuery.init()
})
},
superQuery(queryJson) {
this.listQuery.superQueryJson = queryJson
this.listQuery.currentPage = 1
this.initData()
},
addOrUpdateHandle(row, isDetail) {
let id = row?row.id:""
this.formVisible = true
this.$nextTick(() => {
this.$refs.JNPFForm.init(id, isDetail,this.list)
})
},
exportData() {
this.exportBoxVisible = true
this.$nextTick(() => {
this.$refs.ExportBox.init(this.exportList)
})
},
download(data) {
let query = {...data, ...this.listQuery, ...this.query,menuId:this.menuId}
request({
url: `/api/scm/RecycleDeviceConfige/Actions/Export`,
method: 'post',
data: query
}).then(res => {
if (!res.data.url) return
this.jnpf.downloadFile(res.data.url)
this.$refs.ExportBox.visible = false
this.exportBoxVisible = false
})
},
search() {
this.listQuery.currentPage=1
this.listQuery.pageSize=20
this.listQuery.sort="desc"
this.listQuery.sidx=""
this.initData()
},
refresh(isrRefresh) {
this.formVisible = false
if (isrRefresh) this.reset()
},
reset() {
this.query = JSON.parse(JSON.stringify(this.queryData))
this.search()
},
colseFlow(isrRefresh) {
this.flowVisible = false
if (isrRefresh) this.reset()
},
}
}
</script>

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save