增加查看按钮

master
username 11 months ago
parent 452255420d
commit 1d03f857b5

@ -82,10 +82,10 @@ public class DfBizClueController extends BaseController {
@GetMapping("/getVisitsNum")
public TableDataInfo getVisitsNum(DfBizClue dfBizClue) {
// startPage();
//condition(queryWrapper,dfBizClue);
Integer pageNum = ServletUtils.getParameterToInt(Constants.PAGE_NUM);
Integer pageSize = ServletUtils.getParameterToInt(Constants.PAGE_SIZE);
LambdaQueryWrapper<DfBizClue> queryWrapper = new LambdaQueryWrapper();
// condition(queryWrapper,dfBizClue);
queryWrapper.eq(DfBizClue::getDataType,dfBizClue.getDataType());
queryWrapper.eq(DfBizClue::getShareUser,SecurityUtils.getUserId());
//传入hasOrder参数为1时查询出存在orderId的数据
@ -95,21 +95,21 @@ public class DfBizClueController extends BaseController {
List<DfBizClue> list = dfBizClueService.list(queryWrapper);
Map<String, Integer> visitsNum = new HashMap<>();
for (DfBizClue clue : list) {
String key = clue.getUserId() + "_" + clue.getDataType();
String key = clue.getUnionId() + "_" + clue.getDataType();
int count = visitsNum.getOrDefault(key, 0) + 1;
visitsNum.put(key, count);
clue.setVisitsNum(count);
}
Map<String, DfBizClue> latestClues = new HashMap<>();
for (DfBizClue clue : list) {
String key = clue.getUserId() + "_" + clue.getDataType();
String key = clue.getUnionId() + "_" + clue.getDataType();
if (!latestClues.containsKey(key) || clue.getBrowseTime().after(latestClues.get(key).getBrowseTime())) {
latestClues.put(key, clue);
}
}
List<DfBizClue> newList = new ArrayList<>(latestClues.values());
for (DfBizClue clue : newList) {
String key = clue.getUserId() + "_" + clue.getDataType();
String key = clue.getUnionId() + "_" + clue.getDataType();
int visits = visitsNum.getOrDefault(key, 0);
clue.setVisitsNum(visits);
}
@ -218,6 +218,7 @@ public class DfBizClueController extends BaseController {
public AjaxResult addVisitor(DfBizClue dfBizClue) {
Date date = new Date();
dfBizClue.setCreateTimeVo(date);
dfBizClue.setTenantId(0L);
// dfBizClue.setTenantId(SecurityUtils.getTenantId());
return toAjax(dfBizClueMapper.insertClue(dfBizClue));
}

@ -7,17 +7,21 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import com.bs.common.annotation.Anonymous;
import com.bs.common.constant.Constants;
import com.bs.common.core.domain.entity.SysUser;
import com.bs.common.utils.SecurityUtils;
import com.bs.common.utils.ServletUtils;
import com.bs.df.domain.DfBizClue;
import com.bs.df.domain.DfBroker;
import com.bs.df.mapper.DfBizClueMapper;
import com.bs.df.mapper.DfOrderMapper;
import com.bs.df.service.IDfBizClueService;
import com.bs.df.service.IDfBrokerService;
import com.bs.system.mapper.SysUserMapper;
import com.bs.system.service.ISysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
@ -39,6 +43,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfOrder;
import com.bs.df.service.IDfOrderService;
import javax.annotation.Resource;
/**
@ -63,48 +68,86 @@ public class DfOrderController extends BaseController {
private IDfBizClueService dfBizClueService;
@Resource
private DfBizClueMapper dfBizClueMapper;
@Autowired
private SysUserMapper sysUserMapper;
/**
*
*/
@ApiOperation("分页查询客户订单列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfOrder dfOrder) {
startPage();
// startPage();
Integer pageNum = ServletUtils.getParameterToInt(Constants.PAGE_NUM);
Integer pageSize = ServletUtils.getParameterToInt(Constants.PAGE_SIZE);
LambdaQueryWrapper<DfOrder> queryWrapper = new LambdaQueryWrapper();
queryWrapper.orderByDesc(DfOrder::getSubmitTime);
condition(queryWrapper, dfOrder);
boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
if (!admin) {
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType())) {
queryWrapper.eq(DfOrder::getUserId,SecurityUtils.getUserId());
queryWrapper.eq(DfOrder::getBrokerId, SecurityUtils.getUserId());
}
}
List<DfOrder> list = dfOrderService.list(queryWrapper);
List<DfOrder> dfOrders = setOrderList(list);
if (StringUtils.isNotEmpty(dfOrder.getUserName())) {
dfOrders = dfOrders.stream()
.filter(info -> info.getUserName() != null && info.getUserName().contains(dfOrder.getUserName()))
.collect(Collectors.toList());
}
if (StringUtils.isNotEmpty(dfOrder.getBrokerName())) {
dfOrders = dfOrders.stream()
.filter(info -> info.getBrokerName() != null && info.getBrokerName().contains(dfOrder.getBrokerName()))
.collect(Collectors.toList());
}
if (StringUtils.isNotEmpty(dfOrder.getPhone())) {
dfOrders = dfOrders.stream()
.filter(info -> info.getPhone() != null && info.getPhone().contains(dfOrder.getPhone()))
.collect(Collectors.toList());
}
Integer start = (pageNum - 1) * pageSize;
List<DfOrder> result = dfOrders.stream()
.skip(start)
.limit(pageSize)
.collect(Collectors.toList());
TableDataInfo data = getDataTable(result);
data.setTotal(dfOrders.size());
return data;
}
private List<DfOrder> setOrderList(List<DfOrder> list) {
List<SysUser> userList = userService.list();
List<DfBroker> brokerList = dfBrokerService.list();
// 将用户列表转换为 Map以 userId 为键userName 为值
Map<Long, String> userIdToNameMap = userList.stream()
List<DfBizClue> clueList = dfBizClueService.list(new LambdaQueryWrapper<DfBizClue>().orderByDesc(DfBizClue::getCreateTime));
Map<String, String> userIdToNameMap = clueList.stream()
.filter(clue -> clue.getOrderId() != null && clue.getNickName() != null)
.collect(Collectors.toMap(
DfBizClue::getOrderId,
DfBizClue::getNickName,
(existingValue, newValue) -> existingValue));
Map<String, String> orderIdToPhoneMap = clueList.stream()
.filter(clue -> clue.getOrderId() != null && clue.getPhone() != null)
.collect(Collectors.toMap(
DfBizClue::getOrderId,
DfBizClue::getPhone,
(existingValue, newValue) -> existingValue));
Map<Long, String> userIdToNameMapVo = userList.stream()
.collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName));
Map<Long, String> userIdToPhoneMap = userList.stream()
.collect(Collectors.toMap(SysUser::getUserId, SysUser::getPhonenumber));
Map<Long, String> brokerToNameMap = brokerList.stream()
.collect(Collectors.toMap(DfBroker::getId, DfBroker::getBrokerName));
list.forEach(order -> {
String userName = userIdToNameMap.get(order.getUserId());
String brokerName = brokerToNameMap.get(order.getBrokerId());
String phone = userIdToPhoneMap.get(order.getUserId());
String userName = userIdToNameMap.get(order.getId().toString());
String userJJName = userIdToNameMapVo.get(order.getBrokerId());
String phone = orderIdToPhoneMap.get(order.getId().toString());
if (null != userName) {
order.setUserName(userName);
}
if (null != brokerName) {
order.setBrokerName(brokerName);
if (null != userJJName) {
order.setBrokerName(userJJName);
}
if (null != phone) {
order.setPhone(phone);
}
});
return getDataTable(list);
return list;
}
/**
@ -127,41 +170,41 @@ public class DfOrderController extends BaseController {
@PostMapping("/export")
public void export(HttpServletResponse response, DfOrder dfOrder) {
LambdaQueryWrapper<DfOrder> queryWrapper = new LambdaQueryWrapper();
queryWrapper.orderByDesc(DfOrder::getSubmitTime);
condition(queryWrapper, dfOrder);
List<DfOrder> list = dfOrderService.list(queryWrapper);
List<SysUser> userList = userService.list();
List<DfBroker> brokerList = dfBrokerService.list();
// 将用户列表转换为 Map以 userId 为键userName 为值
Map<Long, String> userIdToNameMap = userList.stream()
.collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName));
Map<Long, String> brokerToNameMap = brokerList.stream()
.collect(Collectors.toMap(DfBroker::getId, DfBroker::getBrokerName));
list.forEach(order -> {
String userName = userIdToNameMap.get(order.getUserId());
String brokerName = brokerToNameMap.get(order.getBrokerId());
if (userName != null) {
order.setUserName(userName);
boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
if (!admin) {
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType())) {
queryWrapper.eq(DfOrder::getBrokerId, SecurityUtils.getUserId());
}
if (brokerName != null) {
order.setBrokerName(brokerName);
}
if (Validator.isNotNull(order.getStaus())) {
if ("0".equals(order.getStaus())) {
order.setStaus("未完成");
} else if ("1".equals(order.getStaus())) {
order.setStaus("已完成");
List<DfOrder> list = dfOrderService.list(queryWrapper);
List<DfOrder> dfOrders = setOrderList(list);
dfOrders.forEach(order -> {
String isFirst = order.getIsFirst();
if (StringUtils.isNotEmpty(isFirst)) {
String isFirstDisplay = isFirst.equals("1") ? "是" : "否";
order.setIsFirst(isFirstDisplay);
}
});
if (StringUtils.isNotEmpty(dfOrder.getUserName())) {
dfOrders = dfOrders.stream()
.filter(info -> info.getUserName() != null && info.getUserName().contains(dfOrder.getUserName()))
.collect(Collectors.toList());
}
if (Validator.isNotNull(order.getIsFirst())) {
if ("0".equals(order.getIsFirst())) {
order.setIsFirst("否");
} else if ("1".equals(order.getIsFirst())) {
order.setIsFirst("是");
if (StringUtils.isNotEmpty(dfOrder.getBrokerName())) {
dfOrders = dfOrders.stream()
.filter(info -> info.getBrokerName() != null && info.getBrokerName().contains(dfOrder.getBrokerName()))
.collect(Collectors.toList());
}
if (StringUtils.isNotEmpty(dfOrder.getPhone())) {
dfOrders = dfOrders.stream()
.filter(info -> info.getPhone() != null && info.getPhone().contains(dfOrder.getPhone()))
.collect(Collectors.toList());
}
});
ExcelUtil<DfOrder> util = new ExcelUtil<DfOrder>(DfOrder.class);
util.exportExcel(response, list, "客户订单数据");
util.exportExcel(response, dfOrders, "客户订单数据");
}
/**
@ -170,7 +213,37 @@ public class DfOrderController extends BaseController {
@ApiOperation("获取客户订单详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfOrderService.getById(id));
DfOrder byId = dfOrderService.getById(id);
List<SysUser> userList = userService.list();
List<DfBizClue> clueList = dfBizClueService.list(new LambdaQueryWrapper<DfBizClue>().orderByDesc(DfBizClue::getCreateTime));
// 将用户列表转换为 Map以 userId 为键userName 为值
Map<String, String> userIdToNameMap = clueList.stream()
.filter(clue -> clue.getOrderId() != null && clue.getNickName() != null)
.collect(Collectors.toMap(
DfBizClue::getOrderId, // Key mapper
DfBizClue::getNickName, // Value mapper
(existingValue, newValue) -> existingValue)); // Merge function (keep existing value)
Map<String, String> orderIdToPhoneMap = clueList.stream()
.filter(clue -> clue.getOrderId() != null && clue.getPhone() != null)
.collect(Collectors.toMap(
DfBizClue::getOrderId, // Key mapper
DfBizClue::getPhone, // Value mapper
(existingValue, newValue) -> existingValue)); // Merge function (keep existing value)
Map<Long, String> userIdToNameMapVo = userList.stream()
.collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName));
String userName = userIdToNameMap.get(byId.getId().toString());
String userJJName = userIdToNameMapVo.get(byId.getBrokerId());
String phone = orderIdToPhoneMap.get(byId.getId().toString());
if (null != userName) {
byId.setUserName(userName);
}
if (null != userJJName) {
byId.setBrokerName(userJJName);
}
if (null != phone) {
byId.setPhone(phone);
}
return success(byId);
}
/**
@ -184,23 +257,35 @@ public class DfOrderController extends BaseController {
/**
*
*
*/
@ApiOperation("新增客户订单")
@PostMapping("/visitorAdd")
@Anonymous
public AjaxResult visitorAdd(DfOrder dfOrder) {
public AjaxResult visitorAdd(@RequestBody DfOrder dfOrder) {
SysUser sysUser = sysUserMapper.selectById(dfOrder.getShareUser());
if (sysUser == null) {
return AjaxResult.warn("链接有误");
}
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerIdByUserId(Long.valueOf(dfOrder.getShareUser()));
Long productId = Long.valueOf(dfOrder.getProductId());
if (!productIdsByBrokerId.contains(productId)) {
return AjaxResult.warn("链接有误");
}
Date date = new Date();
dfOrder.setCreateTimeVo(date);
String billNumber = dfOrderService.getBillNumber("RK");
dfOrder.setOrderNo(billNumber);
dfOrder.setTenantId(0L);
dfOrderMapper.insertOrder(dfOrder);
List<DfOrder> dfOrders = dfOrderService.list(new LambdaQueryWrapper<DfOrder>().eq(DfOrder::getOrderNo, dfOrder.getOrderNo())
.eq(DfOrder::getUserId, dfOrder.getUserId())
List<DfOrder> dfOrders = dfOrderService.list(new LambdaQueryWrapper<DfOrder>().eq(DfOrder::getOrderNo, billNumber)
.orderByDesc(DfOrder::getCreateTime));
if (Validator.isNotEmpty(dfOrder.getShareUser())) {
List<DfBizClue> list = dfBizClueService.list(new LambdaQueryWrapper<DfBizClue>().eq(DfBizClue::getShareUser, dfOrder.getShareUser())
.isNull(DfBizClue::getOrderId));
for (DfBizClue clue : list) {
clue.setOrderId(dfOrders.get(0).getId().toString());
clue.setPhone(dfOrder.getPhone());
clue.setNickName(dfOrder.getUserName());
dfBizClueMapper.updateClue(clue);
}
}
@ -209,6 +294,8 @@ public class DfOrderController extends BaseController {
.isNull(DfBizClue::getOrderId));
for (DfBizClue clue : list) {
clue.setOrderId(dfOrders.get(0).getId().toString());
clue.setPhone(dfOrder.getPhone());
clue.setNickName(dfOrder.getUserName());
dfBizClueMapper.updateClue(clue);
}
}
@ -244,6 +331,7 @@ public class DfOrderController extends BaseController {
String billNumber = dfOrderService.getBillNumber(billPrefix);
return AjaxResult.success("获取成功", billNumber);
}
/**
*
*/

@ -9,10 +9,14 @@ import javax.servlet.http.HttpServletResponse;
import com.bs.cm.domain.CmAttach;
import com.bs.cm.service.ICmAttachService;
import com.bs.common.core.domain.entity.SysUser;
import com.bs.common.utils.SecurityUtils;
import com.bs.df.domain.DfProductArticle;
import com.bs.df.domain.DfProductInfo;
import com.bs.df.service.IDfBrokerService;
import com.bs.df.service.IDfProductInfoService;
import com.bs.system.mapper.SysUserMapper;
import com.bs.system.service.ISysUserService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -56,6 +60,8 @@ public class DfProductPosterController extends BaseController {
private ICmAttachService cmAttachService;
@Resource
private IDfBrokerService dfBrokerService;;
@Resource
private ISysUserService userService;
/**
*
*/
@ -74,6 +80,10 @@ public class DfProductPosterController extends BaseController {
productIdsByBrokerId.add(0L);
}
queryWrapper.in(DfProductPoster::getProductId, productIdsByBrokerId);
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType()) || "kh".equals(byId.getUserType())) {
queryWrapper.eq(DfProductPoster::getStatus,"1");
}
}
conditionByMPJ(queryWrapper,dfProductPoster);
List<DfProductPoster> list = dfProductPosterService.list(queryWrapper);

@ -35,19 +35,18 @@ public class DfBizClue extends BaseEntity{
/** 数据类型0客户1经纪 */
@Excel(name = "数据类型")
@ApiModelProperty(value = "数据类型0客户1经纪")
@Excel(name = "数据类型",dictType = "product_classify")
@ApiModelProperty(value = "数据类型")
private String dataType;
/** 线索类型 */
@Excel(name = "线索类型")
@Excel(name = "线索类型",dictType = "clue_type")
@ApiModelProperty(value = "线索类型")
private String clueType;
/** 用户id */
@Excel(name = "用户id")
@ApiModelProperty(value = "用户id")
private Long userId;

@ -52,13 +52,17 @@ public class DfOrder extends BaseEntity{
@TableField(exist = false)
private String userName;
@Excel(name = "联系方式")
@TableField(exist = false)
private String phone;
/** 经纪id */
//@Excel(name = "经纪id")
@ApiModelProperty(value = "经纪id")
private Long brokerId;
@Excel(name = "代理商名称")
@Excel(name = "经纪人")
@TableField(exist = false)
private String brokerName;
@ -76,26 +80,26 @@ public class DfOrder extends BaseEntity{
/** 提交时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "提交时间")
private Date submitTime;
/** 申请额(万元) */
@Excel(name = "申请额", readConverterExp = "万=元")
@Excel(name = "申请额")
@ApiModelProperty(value = "申请额(万元)")
private Long applyAmount;
/** 授信额(万元) */
@Excel(name = "授信额", readConverterExp = "万=元")
@Excel(name = "授信额")
@ApiModelProperty(value = "授信额(万元)")
private Long limitAmount;
/** 放款额(万元) */
@Excel(name = "放款额", readConverterExp = "万=元")
@Excel(name = "放款额")
@ApiModelProperty(value = "放款额(万元)")
private Long loanAmount;
@ -107,7 +111,7 @@ public class DfOrder extends BaseEntity{
/** 贷款期限(月) */
@Excel(name = "贷款期限", readConverterExp = "月=")
@Excel(name = "贷款期限")
@ApiModelProperty(value = "贷款期限(月)")
private Long loadMonth;
@ -119,7 +123,7 @@ public class DfOrder extends BaseEntity{
/** 可结算金额(万元) */
@Excel(name = "可结算金额", readConverterExp = "万=元")
@Excel(name = "可结算金额")
@ApiModelProperty(value = "可结算金额(万元)")
private Long settleAmount;
@ -156,10 +160,6 @@ public class DfOrder extends BaseEntity{
private Date createTimeVo;
@Excel(name = "联系方式")
@TableField(exist = false)
private String phone;
@JsonFormat(pattern = "yyyy-MM-dd")
@TableField(exist = false)

@ -31,4 +31,11 @@ public interface IDfBrokerService extends MPJBaseService<DfBroker>{
*/
public List<Long> getProductIdsByBrokerId();
/**
* idid
* @return id
*/
public List<Long> getProductIdsByBrokerIdByUserId(Long userId);
}

@ -34,7 +34,7 @@ public class DfBrokerServiceImpl extends MPJBaseServiceImpl<DfBrokerMapper, DfB
@Autowired
private IDfBrokerProductService dfBrokerProductService;
public List<Long> filterByUser() {
SecurityUtils.getUserId();
//SecurityUtils.getUserId();
SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
Long deptId = sysUser.getDeptId();
List<DfBroker> allSubordinates = findAllSubordinates(deptId);
@ -45,6 +45,17 @@ public class DfBrokerServiceImpl extends MPJBaseServiceImpl<DfBrokerMapper, DfB
return brokerIds;
}
public List<Long> filterByUserId(Long userId) {
SysUser sysUser = userService.selectUserById(userId);
Long deptId = sysUser.getDeptId();
List<DfBroker> allSubordinates = findAllSubordinates(deptId);
List<Long> brokerIds = allSubordinates.stream()
.map(DfBroker::getId)
.collect(Collectors.toList());
brokerIds.add(deptId);
return brokerIds;
}
public List<DfBroker> findAllSubordinates(Long brokerId) {
List<DfBroker> result = new ArrayList<>();
// 查询当前brokerId的所有下级
@ -65,6 +76,14 @@ public class DfBrokerServiceImpl extends MPJBaseServiceImpl<DfBrokerMapper, DfB
return list.stream().map(DfBrokerProduct::getProductId).collect(Collectors.toList());
}
public List<Long> getProductIdsByBrokerIdByUserId(Long UserId) {
List<Long> longs = filterByUserId(UserId);
List<DfBrokerProduct> list = dfBrokerProductService.list(new LambdaQueryWrapper<DfBrokerProduct>()
.in(DfBrokerProduct::getBrokerId, longs)
.eq(DfBrokerProduct::getStaus, "1"));
return list.stream().map(DfBrokerProduct::getProductId).collect(Collectors.toList());
}
}

@ -14,8 +14,10 @@ import com.bs.common.enums.BusinessType;
import com.bs.common.utils.SecurityUtils;
import com.bs.common.utils.StringUtils;
import com.bs.df.domain.DfBizClue;
import com.bs.df.domain.DfProductInfo;
import com.bs.df.mapper.DfBizClueMapper;
import com.bs.df.service.IDfBizClueService;
import com.bs.df.service.impl.DfBrokerServiceImpl;
import com.bs.framework.web.service.SysLoginService;
import com.bs.framework.web.service.SysPermissionService;
import com.bs.framework.web.service.TokenService;
@ -73,6 +75,8 @@ public class SysLoginController
private IDfBizClueService dfBizClueService;
@Autowired
private DfBizClueMapper dfBizClueMapper;
@Autowired
private DfBrokerServiceImpl dfBrokerService;
/**
*
@ -353,6 +357,17 @@ public class SysLoginController
@Anonymous
public AjaxResult addVisitor(@RequestBody LoginBody loginBody)
{
if ("0".equals(loginBody.getClueType()) || "3".equals(loginBody.getClueType())) {
SysUser sysUser = sysUserMapper.selectById(loginBody.getShareUser());
if (sysUser == null) {
return AjaxResult.warn("链接有误");
}
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerIdByUserId(Long.valueOf(loginBody.getShareUser()));
Long businessLinks = Long.valueOf(loginBody.getBusinessLinks());
if (!productIdsByBrokerId.contains(businessLinks)) {
return AjaxResult.warn("链接有误");
}
}
String nickname = null;
String headimgurl = null;
String unionId = null;
@ -378,6 +393,7 @@ public class SysLoginController
dfBizClue.setFromType(loginBody.getFromType());
dfBizClue.setClueType(loginBody.getClueType());
dfBizClue.setDataType(loginBody.getDataType());
dfBizClue.setBusinessLinks(loginBody.getBusinessLinks());
dfBizClue.setNickName(nickname);
dfBizClue.setAvatarLink(headimgurl);
dfBizClue.setBrowseTime(new Date());
@ -385,13 +401,7 @@ public class SysLoginController
dfBizClue.setOpenId(openIdNew);
dfBizClue.setCreateTimeVo(new Date());
dfBizClue.setTenantId(0L);
// dfBizClue.setTenantId(SecurityUtils.getTenantId());
// if (StringUtils.isNotEmpty(nickname)) {
dfBizClueMapper.insertClue(dfBizClue);
// }
// AjaxResult ajax = AjaxResult.success();
// ajax.put("openid", openIdNew);
// ajax.put("unionid",unionId);
return AjaxResult.success(dfBizClue);
}

@ -50,14 +50,12 @@ public class SignUtil {
"&noncestr=" + nonce_str +
"&timestamp=" + timestamp +
"&url=" + url;
System.out.println(string1);
try
{
MessageDigest crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(string1.getBytes("UTF-8"));
signature = byteToHex(crypt.digest());
System.out.println("signature" + signature);
}
catch (NoSuchAlgorithmException e)
{

@ -543,9 +543,7 @@ public class WeiXinUtil {
// 获取Access_token
public synchronized String getAccess_token(String appid, String appsecret) {
System.out.println("appid:" + appid + ".appsecret:" + appsecret);
String access_token = getSysConfig("access_token");
System.out.println(access_token);
if (StringUtils.isNotEmpty(access_token)){
JSONObject jo = JSONObject.parseObject(access_token);
jo.getString("expirettime");
@ -1034,7 +1032,6 @@ public class WeiXinUtil {
public String getTitcket() throws Exception {
String accessToken = getAccess_token(gzhappid, gzhappsecret);
System.out.println(accessToken);
String url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + accessToken + "&type=jsapi";
String returnValue = httpGet(url,null);
JSONObject jsonObject = JSONObject.parseObject(returnValue);

@ -15,7 +15,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateClue" parameterType="com.bs.df.domain.DfBizClue">
UPDATE df_biz_clue
SET
order_id = #{dfBizClue.orderId}
order_id = #{dfBizClue.orderId},
phone = #{dfBizClue.phone},
nick_name = #{dfBizClue.nickName}
WHERE id = #{dfBizClue.id}
</update>

@ -72,8 +72,17 @@ public class LoginBody
private String shareUser;
private String businessLinks;
public String getBusinessLinks()
{
return businessLinks;
}
public void setBusinessLinks(String businessLinks)
{
this.businessLinks = businessLinks;
}
public String getUsername()
{

@ -151,6 +151,13 @@
</el-table-column>
<el-table-column label="操作" align="center" width="120" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -184,7 +191,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="文章分类" prop="articleType">
<el-select style="width: 100%;" v-model="form.articleType" placeholder="请选择文章分类">
<el-select style="width: 100%;" v-model="form.articleType" placeholder="请选择文章分类" :disabled="readonly">
<el-option
v-for="dict in dict.type.product_classify"
:key="dict.value"
@ -196,7 +203,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="文章类型" prop="articleKind">
<el-select style="width: 100%;" v-model="form.articleKind" placeholder="请选择文章类型">
<el-select style="width: 100%;" v-model="form.articleKind" placeholder="请选择文章类型" :disabled="readonly">
<el-option
v-for="dict in dict.type.article_kind"
:key="dict.value"
@ -210,12 +217,13 @@
<el-row>
<el-col :span="12">
<el-form-item label="文章标题" prop="articleTitle">
<el-input v-model="form.articleTitle" placeholder="请输入文章标题"/>
<el-input v-model="form.articleTitle" placeholder="请输入文章标题" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
:disabled="readonly"
style="width: 100%;"
v-model="form.publishTime"
type="date"
@ -228,7 +236,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-select style="width: 100%;" v-model="form.status" placeholder="请选择状态">
<el-select style="width: 100%;" v-model="form.status" placeholder="请选择状态" :disabled="readonly">
<el-option
v-for="dict in dict.type.product_status"
:key="dict.value"
@ -249,18 +257,18 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="上传" prop="field">
<el-form :model="form">
<PictureUpload :biz-id="form.id" ></PictureUpload>
<PictureUpload :biz-id="form.id" :readonly="readonly"></PictureUpload>
</el-form>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -271,6 +279,8 @@
import {pageListArticle, getArticle, delArticle, addArticle, updateArticle,changeStatusByArticle} from "@/api/article/article";
import {changeStatus} from "@/api/product/info";
import {addMoment, changeStatusByMoment, updateMoment} from "@/api/moment/moment";
import {getPoster} from "@/api/poster/poster";
import {getAttachList} from "@/api/common/file";
export default {
name: "Article",
@ -297,6 +307,7 @@ export default {
title: "",
//
open: false,
readonly:false,
//
queryParams: {
pageNum: 1,
@ -427,12 +438,23 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.readonly = false;
this.form.publishTime = new Date();
this.title = "添加产品文章";
const { v4: uuidv4 } = require('uuid');
const uniqueID = uuidv4().replace(/-/g, '');
this.$set(this.form, 'id', uniqueID);
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getArticle(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = true;
this.title = "查看产品文章";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -440,6 +462,7 @@ export default {
getArticle(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = false;
this.title = "修改产品文章";
});
},

@ -112,26 +112,17 @@
</el-table-column>
<!-- <el-table-column label="业务链接" prop="businessLinks" sortable='custom'/> -->
<!-- <el-table-column label="头像链接" prop="avatarLink" sortable='custom' /> -->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['biz:clue:edit']"-->
<!-- >修改-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['biz:clue:remove']"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
@ -144,9 +135,10 @@
<!-- 添加或修改业务线索对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="数据类型0客户1经纪" prop="dataType">
<el-select v-model="form.dataType" placeholder="请选择数据类型0客户1经纪">
<el-form-item label="数据类型" prop="dataType">
<el-select v-model="form.dataType" placeholder="请选择数据类型" :disabled="readonly" style="width: 100%">
<el-option
v-for="dict in dict.type.product_classify"
:key="dict.value"
@ -158,7 +150,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="线索类型" prop="clueType">
<el-select v-model="form.clueType" placeholder="请选择线索类型">
<el-select v-model="form.clueType" placeholder="请选择线索类型" :disabled="readonly" style="width: 100%">
<el-option
v-for="dict in dict.type.clue_type"
:key="dict.value"
@ -168,19 +160,18 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户id" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" />
<el-input v-model="form.nickName" placeholder="请输入用户昵称" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="浏览时间" prop="browseTime">
<el-date-picker clearable
style="width: 100%"
:disabled="readonly"
v-model="form.browseTime"
type="date"
value-format="yyyy-MM-dd"
@ -188,24 +179,31 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="头像链接" prop="avatarLink">
<el-input v-model="form.avatarLink" placeholder="请输入头像链接" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
<el-input v-model="form.phone" placeholder="请输入手机号" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="业务链接" prop="businessLinks">
<el-input v-model="form.businessLinks" placeholder="请输入业务链接"/>
<el-form-item label="头像" prop="avatarLink">
<img :src="form.avatarLink" alt="头像预览" style="max-width: 100%; max-height: 300px;">
<!-- <el-input v-model="form.avatarLink" placeholder="请输入头像链接" :disabled="readonly"/>-->
</el-form-item>
</el-col>
</el-row>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="业务链接" prop="businessLinks">-->
<!-- <el-input v-model="form.businessLinks" placeholder="请输入业务链接" :disabled="readonly"/>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -214,6 +212,7 @@
<script>
import {pageListClue, getClue, delClue, addClue, updateClue} from "@/api/biz/clue";
import {getUser} from "@/api/system/user";
export default {
name: "Clue",
@ -241,6 +240,7 @@ export default {
title: "",
//
open: false,
readonly: false,
//
queryParams: {
pageNum: 1,
@ -336,8 +336,19 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.readonly = false;
this.title = "添加业务线索";
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getClue(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = true;
this.title = "查看业务线索";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -345,6 +356,7 @@ export default {
getClue(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = false;
this.title = "修改业务线索";
});
},
@ -384,7 +396,7 @@ export default {
handleExport() {
this.download('biz/clue/export', {
...this.queryParams
}, `clue_${new Date().getTime()}.xlsx`)
}, `业务线索数据_${new Date().getTime()}.xlsx`)
}
}
};

@ -145,6 +145,13 @@
fixed="right"
>
<template slot-scope="scope" v-if="scope.row.userId !== 1&&scope.row.isTenantAdmin !=='Y'">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -189,12 +196,13 @@
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30"/>
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="brokerList" props="lable" :show-count="true"
:disabled="readonly"
:defaultExpandLevel="Infinity"
placeholder="请选择归属部门" :normalizer="tenantIdnormalizer"/>
</el-form-item>
@ -203,31 +211,31 @@
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11"/>
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50"/>
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="title == '添加用户'" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30"/>
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="title == '添加用户'" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%" :disabled="readonly">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
@ -239,7 +247,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio-group v-model="form.status" :disabled="readonly">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
@ -253,7 +261,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位" style="width: 100%">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位" style="width: 100%" :disabled="readonly">
<el-option
v-for="item in postOptions"
:key="item.postId"
@ -266,7 +274,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%" :disabled="readonly">
<el-option
v-for="item in roleOptions"
:key="item.roleId"
@ -281,12 +289,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" placeholder="请输入地址"/>
<el-input v-model="form.address" placeholder="请输入地址" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司" prop="company">
<el-input v-model="form.company" placeholder="请输入公司"/>
<el-input v-model="form.company" placeholder="请输入公司" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
@ -300,13 +308,13 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -329,6 +337,7 @@ import {
import {getToken} from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {getMoment} from "@/api/moment/moment";
export default {
name: "BrokerUser",
@ -343,6 +352,7 @@ export default {
},
data() {
return {
readonly:false,
brokerList: [],
deptId: "",
rowDataNew: {},
@ -610,12 +620,29 @@ export default {
this.postOptions = response.posts;
this.roleOptions = response.roles;
this.open = true;
this.readonly = false;
this.title = "添加用户";
this.form.deptId = this.deptId;
this.form.userType = "jj"
this.form.password = this.initPassword;
});
},
handleRead(row) {
this.getbrokerList();
this.reset();
const userId = row.userId || this.ids;
getUser(userId).then(response => {
this.form = response.data;
this.postOptions = response.posts;
this.roleOptions = response.roles;
this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds);
this.open = true;
this.readonly = true;
this.title = "查看用户";
this.form.password = "";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.getbrokerList();
@ -628,6 +655,7 @@ export default {
this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds);
this.open = true;
this.readonly = false;
this.title = "修改用户";
this.form.password = "";
});

@ -115,6 +115,13 @@
<!-- <el-table-column label="备注" align="center" prop="remark" sortable='custom' show-overflow-tooltip/> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120px" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -149,7 +156,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="上级代理商" prop="parentId">
<treeselect v-model="form.parentId" :options="brokerList" props="lable" :show-count="true" :defaultExpandLevel="Infinity"
<treeselect v-model="form.parentId" :options="brokerList" props="lable" :show-count="true" :defaultExpandLevel="Infinity" :disabled="readonly"
placeholder="选择上级代理商" :normalizer="tenantIdnormalizer" />
<!-- <el-select v-model="form.parentId" placeholder="选择上级代理商" style="width: 100%">-->
<!-- <el-option-->
@ -164,43 +171,43 @@
</el-col>
<el-col :span="12">
<el-form-item label="代理商名称" prop="brokerName">
<el-input v-model="form.brokerName" placeholder="请输入代理商名称"/>
<el-input v-model="form.brokerName" placeholder="请输入代理商名称" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="地址" prop="brokerAddress">
<el-input v-model="form.brokerAddress" placeholder="请输入地址"/>
<el-input v-model="form.brokerAddress" placeholder="请输入地址" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示顺序" prop="orderNum">
<el-input-number style="width: 100%" v-model="form.orderNum" placeholder="请输入显示顺序" :min="0"/>
<el-input-number style="width: 100%" v-model="form.orderNum" placeholder="请输入显示顺序" :min="0" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责人" prop="chargePerson">
<el-input v-model="form.chargePerson" placeholder="请输入负责人"/>
<el-input v-model="form.chargePerson" placeholder="请输入负责人" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入联系电话"/>
<el-input v-model="form.contactPhone" placeholder="请输入联系电话" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱"/>
<el-input v-model="form.email" placeholder="请输入邮箱" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否机构" prop="isInstitution">
<el-select v-model="form.isInstitution" placeholder="请选择状态" style="width: 100%">
<el-select v-model="form.isInstitution" placeholder="请选择状态" style="width: 100%" :disabled="readonly">
<el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
:value="dict.value"/>
</el-select>
@ -210,7 +217,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="状态" prop="staus">
<el-radio-group v-model="form.staus">
<el-radio-group v-model="form.staus" :disabled="readonly">
<el-radio
v-for="dict in dict.type.df_broker_staus"
:key="dict.value"
@ -235,13 +242,13 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -259,7 +266,7 @@ import {
listBrokerByTree
} from "@/api/broker/broker";
import AutoTableHeight from '@/views/broker/AutoTableHeight';
import {changeUserStatus} from "@/api/system/user";
import {changeUserStatus, getUser} from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@ -270,6 +277,7 @@ export default {
components: {Treeselect},
data() {
return {
readonly:false,
brokerOptions: [],
//
loading: true,
@ -457,9 +465,20 @@ export default {
this.reset();
this.form.isInstitution = "Y";
this.form.staus = "0";
this.readonly = false;
this.open = true;
this.title = "添加代理商经纪";
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getBroker(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = true;
this.title = "查看代理商经纪";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -467,6 +486,7 @@ export default {
getBroker(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = false;
this.title = "修改代理商经纪";
});
},

@ -146,6 +146,13 @@
<!-- <el-table-column label="备注" align="center" prop="remark" sortable='custom' show-overflow-tooltip/> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -180,6 +187,7 @@
<el-col :span="8">
<el-form-item label="所属代理商" prop="brokerId">
<treeselect v-model="form.brokerId" :options="brokerList" props="lable" :show-count="true"
:disabled="readonly"
:defaultExpandLevel="Infinity" disabled
placeholder="请选择归属部门" :normalizer="tenantIdnormalizer"/>
</el-form-item>
@ -187,6 +195,7 @@
<el-col :span="8">
<el-form-item label="产品名称" prop="id">
<el-select style="width: 100%;" filterable v-model="form.id" placeholder="请选择产品名称" @change="handleChange"
:disabled="readonly"
clearable>
<el-option v-for="info in infoListAll" :key="info.id" :label="info.productName"
:value="info.id"/>
@ -315,7 +324,7 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -384,6 +393,7 @@ import {listArea} from "@/api/system/area";
import {listBrokerByTree} from "@/api/broker/broker";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {getUser} from "@/api/system/user";
export default {
name: "BrokerUser",
@ -713,11 +723,29 @@ export default {
this.reset();
this.getAllInfo();
this.getbrokerList();
this.readonly = false;
this.form.brokerId = this.brokerId;
this.open = true;
// this.isReadOnly = false;
this.title = "添加产品信息";
},
handleRead(row) {
this.reset();
this.getbrokerList();
const id = row.id || this.ids;
var param = {
id: id,
brokerId: this.brokerId
};
getInfoByBroker(param).then(response => {
this.form = response.data;
this.getAllInfo(id);
this.open = true;
this.readonly = true;
this.title = "查看产品信息";
// this.isReadOnly = true;
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -731,6 +759,7 @@ export default {
this.form = response.data;
this.getAllInfo(id);
this.open = true;
this.readonly = false;
this.title = "修改产品信息";
// this.isReadOnly = true;
});

@ -150,6 +150,13 @@
fixed="right"
>
<template slot-scope="scope" v-if="scope.row.userId !== 1&&scope.row.isTenantAdmin !=='Y'">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -194,12 +201,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30"/>
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="brokerList" props="lable" :show-count="true" :defaultExpandLevel="Infinity"
<treeselect v-model="form.deptId" :options="brokerList" props="lable" :show-count="true" :defaultExpandLevel="Infinity" :disabled="readonly"
placeholder="请选择归属部门" :normalizer="tenantIdnormalizer" />
</el-form-item>
</el-col>
@ -207,31 +214,31 @@
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11"/>
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50"/>
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30"/>
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%" :disabled="readonly">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
@ -243,7 +250,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio-group v-model="form.status" :disabled="readonly">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
@ -257,7 +264,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位" style="width: 100%">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位" style="width: 100%" :disabled="readonly">
<el-option
v-for="item in postOptions"
:key="item.postId"
@ -270,7 +277,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%" :disabled="readonly">
<el-option
v-for="item in roleOptions"
:key="item.roleId"
@ -285,12 +292,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="identityCard">
<el-input v-model="form.identityCard" placeholder="请输入身份证号" />
<el-input v-model="form.identityCard" placeholder="请输入身份证号" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="城市" prop="city">
<treeselect v-model="form.city" :options="cityOptions" props="lable" :show-count="true"
<treeselect v-model="form.city" :options="cityOptions" props="lable" :show-count="true" :disabled="readonly"
placeholder="选择城市" :normalizer="citynormalizer" />
<!-- <el-input v-model="form.city" placeholder="请输入城市" />-->
</el-form-item>
@ -301,6 +308,7 @@
<el-form-item label="注册时间" prop="registrationTime" >
<el-date-picker clearable
style="width: 100%"
:disabled="readonly"
v-model="form.registrationTime"
type="date"
value-format="yyyy-MM-dd"
@ -319,13 +327,13 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -364,6 +372,7 @@ export default {
},
data() {
return {
readonly:false,
cityOptions: [],
brokerList: [],
deptId: "",
@ -673,12 +682,29 @@ export default {
this.roleOptions = response.roles;
this.open = true;
this.title = "添加用户";
this.readonly = false;
this.form.deptId = this.deptId;
this.form.userType = "kh"
this.form.password = this.initPassword;
this.form.registrationTime = new Date();
});
},
handleRead(row) {
this.getbrokerList();
this.reset();
const userId = row.userId || this.ids;
getUser(userId).then(response => {
this.form = response.data;
this.postOptions = response.posts;
this.roleOptions = response.roles;
this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds);
this.open = true;
this.readonly = true;
this.title = "修改用户";
this.form.password = "";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.getbrokerList();
@ -691,6 +717,7 @@ export default {
this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds);
this.open = true;
this.readonly = false;
this.title = "修改用户";
this.form.password = "";
});

@ -118,6 +118,13 @@
</el-table-column>
<el-table-column label="操作" align="center" width="120" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -152,7 +159,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="朋友圈分类" prop="momentType">
<el-select style="width: 100%" v-model="form.momentType" placeholder="选择朋友圈分类">
<el-select style="width: 100%" v-model="form.momentType" placeholder="选择朋友圈分类" :disabled="readonly">
<el-option
v-for="dict in dict.type.product_classify"
:key="dict.value"
@ -164,7 +171,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="朋友圈类型" prop="momentKind">
<el-select style="width: 100%" v-model="form.momentKind" placeholder="选择朋友圈类型">
<el-select style="width: 100%" v-model="form.momentKind" placeholder="选择朋友圈类型" :disabled="readonly">
<el-option
v-for="dict in dict.type.moment_kind"
:key="dict.value"
@ -178,12 +185,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="朋友圈标题" prop="momentTitle">
<el-input v-model="form.momentTitle" placeholder="请输入朋友圈标题"/>
<el-input v-model="form.momentTitle" placeholder="请输入朋友圈标题" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-select style="width: 100%" v-model="form.status" placeholder="请选择状态">
<el-select style="width: 100%" v-model="form.status" placeholder="请选择状态" :disabled="readonly">
<el-option
v-for="dict in dict.type.product_status"
:key="dict.value"
@ -202,18 +209,18 @@
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="上传" prop="field">
<el-form :model="form">
<PictureUpload :biz-id="form.id" ></PictureUpload>
<PictureUpload :biz-id="form.id" :readonly="readonly"></PictureUpload>
</el-form>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -223,6 +230,7 @@
<script>
import {pageListMoment, getMoment, delMoment, addMoment, updateMoment,changeStatusByMoment} from "@/api/moment/moment";
import {addPoster, updatePoster} from "@/api/poster/poster";
import {getArticle} from "@/api/article/article";
export default {
name: "Moment",
@ -249,6 +257,7 @@ export default {
title: "",
//
open: false,
readonly:false,
//
queryParams: {
pageNum: 1,
@ -368,11 +377,22 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.readonly = false;
this.title = "添加产品朋友圈";
const { v4: uuidv4 } = require('uuid');
const uniqueID = uuidv4().replace(/-/g, '');
this.$set(this.form, 'id', uniqueID);
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getMoment(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = true;
this.title = "查看产品朋友圈";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -380,6 +400,7 @@ export default {
getMoment(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = false;
this.title = "修改产品朋友圈";
});
},

@ -9,20 +9,29 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="客户" prop="userId">
<el-select v-model="queryParams.userId" placeholder="请选择客户" clearable>
<el-option
v-for="item in lsUser"
:key="item.userId"
:label="item.userName"
:value="item.userId"
<el-form-item label="客户" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入客户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-select>
</el-form-item>
<el-form-item label="代理商名称" prop="brokerId">
<treeselect v-model="queryParams.brokerId" :options="brokerOptions" props="lable" :show-count="true" style="width: 200px"
:defaultExpandLevel="Infinity"
placeholder="选择代理商名称" :normalizer="tenantIdnormalizer" @keyup.enter.native="handleQuery"/>
<el-form-item label="经纪人" prop="brokerName">
<el-input
v-model="queryParams.brokerName"
placeholder="请输入经纪人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系方式" prop="phone">
<el-input
v-model="queryParams.phone"
placeholder="请输入联系方式"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input
@ -43,33 +52,6 @@
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<!-- <el-form-item label="放款利率" prop="loanRate">-->
<!-- <el-input-->
<!-- v-model="queryParams.loanRate"-->
<!-- placeholder="请输入放款利率"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="贷款期限" prop="loadMonth">-->
<!-- <el-input-->
<!-- v-model="queryParams.loadMonth"-->
<!-- placeholder="请输入贷款期限"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="是否首贷" prop="isFirst">-->
<!-- <el-select v-model="queryParams.isFirst" placeholder="请选择是否首贷" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in lsIsFirst"-->
<!-- :key="dict.id"-->
<!-- :label="dict.name"-->
<!-- :value="dict.id"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="状态" prop="staus">
<el-select v-model="queryParams.staus" placeholder="请选择状态" clearable>
<el-option
@ -87,17 +69,17 @@
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['order:order:add']"
>新增
</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['order:order:add']"-->
<!-- >新增-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
@ -143,7 +125,7 @@
<el-table-column label="订单号" prop="orderNo" sortable='custom' width="100px"/>
<el-table-column label="客户" width="120" prop="userName"/>
<el-table-column label="联系方式" width="110" prop="phone"/>
<el-table-column label="代理商" prop="brokerName" width="120"/>
<el-table-column label="经济人" prop="brokerName" width="120"/>
<el-table-column label="产品名称" prop="productName" sortable='custom' width="100px"/>
<el-table-column label="申请额" prop="applyAmount" sortable='custom' width="90px"/>
<el-table-column label="授信额" prop="limitAmount" sortable='custom' width="90px"/>
@ -166,6 +148,17 @@
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" sortable='custom'/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
@ -181,39 +174,39 @@
<el-row>
<el-col :span="12">
<el-form-item label="订单号" prop="orderNo">
<BillNumberInput v-model="form.orderNo" title="订单编号"></BillNumberInput>
<BillNumberInput v-model="form.orderNo" title="订单编号" :disabled="readonly"></BillNumberInput>
<!-- <el-input v-model="form.orderNo" placeholder="请输入订单号"/>-->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户" prop="userId">
<el-select style="width: 100%;" v-model="form.userId" placeholder="请选择客户" clearable>
<el-option v-for="info in lsUser" :key="info.userId" :label="info.userName"
:value="info.userId"/>
</el-select>
<el-form-item label="客户" prop="userName">
<el-input v-model="form.userName" placeholder="请输入客户" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="代理商" prop="brokerId">
<treeselect v-model="form.brokerId" :options="brokerOptions" props="lable" :show-count="true"
:defaultExpandLevel="Infinity"
placeholder="选择上级代理商" :normalizer="tenantIdnormalizer"/>
<el-form-item label="联系方式" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系方式" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经济人" prop="brokerName">
<el-input v-model="form.brokerName" placeholder="请输入经济人" style="width: 100%" :disabled="readonly"/>
<!-- <el-input v-model="form.brokerId" placeholder="请输入代理商"/>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="产品" prop="productId">
<el-select style="width: 100%;" v-model="form.productId" placeholder="请选择产品" clearable>
<el-select style="width: 100%;" v-model="form.productId" placeholder="请选择产品" clearable :disabled="readonly">
<el-option v-for="info in lsProduct" :key="info.id" :label="info.productName"
:value="info.id"/>
</el-select>
<!-- <el-input v-model="form.productId" placeholder="请输入产品id"/>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="产品名称" prop="productName">-->
<!-- <el-input v-model="form.productName" placeholder="请输入产品名称" />-->
@ -222,6 +215,7 @@
<el-col :span="12">
<el-form-item label="提交时间" prop="submitTime">
<el-date-picker clearable
:disabled="readonly"
style="width: 100%"
v-model="form.submitTime"
type="date"
@ -230,56 +224,56 @@
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="申请额(万元)" prop="applyAmount">
<el-input-number v-model="form.applyAmount" placeholder="请输入申请额" :min="0" style="width: 100%"/>
<el-input-number v-model="form.applyAmount" placeholder="请输入申请额" :min="0" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="授信额(万元)" prop="limitAmount">
<el-input-number v-model="form.limitAmount" placeholder="请输入授信额" :min="0" style="width: 100%"/>
<el-input-number v-model="form.limitAmount" placeholder="请输入授信额" :min="0" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="放款额(万元)" prop="loanAmount">
<el-input-number v-model="form.loanAmount" placeholder="请输入放款额" :min="0" style="width: 100%"/>
<el-input-number v-model="form.loanAmount" placeholder="请输入放款额" :min="0" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="放款利率" prop="loanRate">
<el-input-number v-model="form.loanRate" placeholder="请输入放款利率" :min="0" style="width: 100%"/>
<el-input-number v-model="form.loanRate" placeholder="请输入放款利率" :min="0" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="贷款期限(月)" prop="loadMonth">
<el-input-number v-model="form.loadMonth" placeholder="请输入贷款期限" :min="0" style="width: 100%"/>
<el-input-number v-model="form.loadMonth" placeholder="请输入贷款期限" :min="0" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否首贷" prop="isFirst">
<el-select style="width: 100%;" v-model="form.isFirst" placeholder="请选择是否首贷" clearable>
<el-select style="width: 100%;" v-model="form.isFirst" placeholder="请选择是否首贷" clearable :disabled="readonly">
<el-option v-for="info in lsIsFirst" :key="info.id" :label="info.name"
:value="info.id"/>
</el-select>
<!-- <el-input v-model="form.isFirst" placeholder="请输入是否首贷"/>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="可结算金额(万元)" prop="settleAmount">
<el-input-number v-model="form.settleAmount" placeholder="请输入可结算金额" :min="0" style="width: 100%"/>
<el-input-number v-model="form.settleAmount" placeholder="请输入可结算金额" :min="0" style="width: 100%" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="状态" prop="staus">
<el-select style="width: 100%;" v-model="form.staus" placeholder="请选择状态" clearable>
<el-select style="width: 100%;" v-model="form.staus" placeholder="请选择状态" clearable :disabled="readonly">
<el-option v-for="info in lsStatus" :key="info.id" :label="info.name"
:value="info.id"/>
</el-select>
@ -290,13 +284,13 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -315,6 +309,7 @@ import AutoTableHeight from '@/views/broker/AutoTableHeight';
import {changeUserStatus} from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {getClue} from "@/api/biz/clue";
export default {
name: "Order",
@ -377,6 +372,7 @@ export default {
staus: null,
submitTimeBegin: null,
submitTimeEnd: null,
brokerName: null,
},
//
form: {},
@ -509,10 +505,21 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.readonly = false;
this.form.submitTime = new Date();
this.form.staus = '0';
this.title = "添加客户订单";
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getOrder(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = true;
this.title = "查看客户订单";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -520,6 +527,7 @@ export default {
getOrder(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = false;
this.title = "修改客户订单";
});
},

@ -144,6 +144,13 @@
<el-table-column label="备注" prop="remark" sortable='custom' show-overflow-tooltip/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -177,7 +184,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="产品名称" prop="productId">
<el-select style="width: 100%;" filterable v-model="form.productId" placeholder="请选择产品名称"
<el-select style="width: 100%;" filterable v-model="form.productId" placeholder="请选择产品名称" :disabled="readonly"
clearable>
<el-option v-for="info in lsInfo" :key="info.id" :label="info.productName"
:value="info.id"/>
@ -186,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="海报分类" prop="posterType">
<el-select style="width: 100%;" v-model="form.posterType" placeholder="选择海报分类">
<el-select style="width: 100%;" v-model="form.posterType" placeholder="选择海报分类" :disabled="readonly">
<el-option v-for="dict in dict.type.product_classify" :key="dict.value" :label="dict.label"
:value="dict.value"/>
</el-select>
@ -196,12 +203,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="海报名称" prop="posterName">
<el-input v-model="form.posterName" placeholder="请输入海报名称"/>
<el-input v-model="form.posterName" placeholder="请输入海报名称" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="海报标签" prop="posterTag">
<el-select style="width: 100%;" v-model="form.posterTag" placeholder="选择海报标签" filterable clearable
<el-select style="width: 100%;" v-model="form.posterTag" placeholder="选择海报标签" filterable clearable :disabled="readonly"
multiple>
<el-option v-for="dict in dict.type.poster_tag" :key="dict.value" :label="dict.label"
:value="dict.value"/>
@ -217,7 +224,7 @@
<!-- </el-col>-->
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-select style="width: 100%;" v-model="form.status" placeholder="选择状态" clearable>
<el-select style="width: 100%;" v-model="form.status" placeholder="选择状态" clearable :disabled="readonly">
<el-option v-for="dict in dict.type.product_status" :key="dict.value" :label="dict.label"
:value="dict.value"/>
</el-select>
@ -227,20 +234,20 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="上传" prop="field">
<el-form :model="form">
<PictureUpload :biz-id="form.id" ></PictureUpload>
<PictureUpload :biz-id="form.id" :readonly="readonly"></PictureUpload>
</el-form>
<!-- <BannerUpload v-show="form.id" :bannerId="form.id" :businessUnits="'海报信息'" :maxLength="1">-->
<!-- </BannerUpload>-->
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -249,7 +256,7 @@
<script>
import {pageListPoster, getPoster, delPoster, addPoster, updatePoster, changeStatusByPoster} from "@/api/poster/poster";
import {changeStatus, listInfo} from "@/api/product/info";
import {changeStatus, getInfo, listInfo} from "@/api/product/info";
import {uploadFiles, getAttachList} from "@/api/common/file";
import {getToken} from "@/utils/auth";
import {changeStatusByArticle} from "@/api/article/article";
@ -289,6 +296,7 @@ export default {
title: "",
//
open: false,
readonly: false,
//
queryParams: {
pageNum: 1,
@ -423,11 +431,28 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.readonly = false;
this.title = "添加产品海报";
const { v4: uuidv4 } = require('uuid');
const uniqueID = uuidv4().replace(/-/g, '');
this.$set(this.form, 'id', uniqueID);
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getPoster(id).then(response => {
this.form = response.data;
if (this.form.posterTag) {
this.form.posterTag = this.form.posterTag.split(',');
}
getAttachList(this.form.id).then(response => {
this.fileList = response.data;
});
this.open = true;
this.readonly = true;
this.title = "查看产品海报";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -441,6 +466,7 @@ export default {
this.fileList = response.data;
});
this.open = true;
this.readonly = false;
this.title = "修改产品海报";
});
},

@ -225,6 +225,13 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleRead(scope.row)"
>查看
</el-button>
<el-button
size="mini"
type="text"
@ -258,17 +265,17 @@
<el-row>
<el-col :span="8">
<el-form-item label="产品名称" prop="productName" >
<el-input v-model="form.productName" placeholder="请输入产品名称"/>
<el-input v-model="form.productName" placeholder="请输入产品名称" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品简称" prop="simpleName" >
<el-input v-model="form.simpleName" placeholder="请输入产品简称"/>
<el-input v-model="form.simpleName" placeholder="请输入产品简称" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品类型" prop="productType">
<el-select style="width: 100%;" v-model="form.productType" placeholder="选择产品类型" clearable>
<el-select style="width: 100%;" v-model="form.productType" placeholder="选择产品类型" clearable :disabled="readonly">
<el-option v-for="dict in dict.type.product_type" :key="dict.value" :label="dict.label"
:value="dict.value"/>
</el-select>
@ -278,31 +285,31 @@
<el-row>
<el-col :span="8">
<el-form-item label="产品细类" prop="productSubtype">
<el-input v-model="form.productSubtype" placeholder="请输入产品细类"/>
<el-input v-model="form.productSubtype" placeholder="请输入产品细类" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年利率(单利%)" prop="interestRateBegin">
<el-input-number v-model="form.interestRateBegin" style="width: 160px;" :min="0" :precision="2"/>
<el-input-number v-model="form.interestRateBegin" style="width: 160px;" :min="0" :precision="2" :disabled="readonly"/>
-
<el-input-number v-model="form.interestRateEnd" style="width: 160px;" :min="0" :precision="2"/>
<el-input-number v-model="form.interestRateEnd" style="width: 160px;" :min="0" :precision="2" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="最高额度(元)" prop="maxAmount">
<el-input-number v-model="form.maxAmount" placeholder="请输入最高额度(元)" style="width: 100%;" :min="0"/>
<el-input-number v-model="form.maxAmount" placeholder="请输入最高额度(元)" style="width: 100%;" :min="0" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="还款周期" prop="repaymentCycle">
<el-input v-model="form.repaymentCycle" placeholder="请输入还款周期"/>
<el-input v-model="form.repaymentCycle" placeholder="请输入还款周期" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="还款方式" prop="repaymentMethod">
<el-input v-model="form.repaymentMethod" placeholder="请输入还款方式"/>
<el-input v-model="form.repaymentMethod" placeholder="请输入还款方式" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
@ -316,12 +323,13 @@
</el-col>
<el-col :span="8">
<el-form-item label="综合费率" prop="combinedRates">
<el-input v-model="form.combinedRates" placeholder="请输入综合费率"/>
<el-input v-model="form.combinedRates" placeholder="请输入综合费率" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="上架时间起" prop="listBegin">
<el-date-picker clearable
:disabled="readonly"
v-model="form.listBegin"
type="date"
value-format="yyyy-MM-dd"
@ -335,6 +343,7 @@
<el-col :span="8">
<el-form-item label="上架时间止" prop="listEnd">
<el-date-picker clearable
:disabled="readonly"
v-model="form.listEnd"
type="date"
value-format="yyyy-MM-dd"
@ -345,7 +354,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="status">
<el-select style="width: 100%;" v-model="form.status" placeholder="选择状态" clearable>
<el-select style="width: 100%;" v-model="form.status" placeholder="选择状态" clearable :disabled="readonly">
<el-option v-for="dict in dict.type.product_status" :key="dict.value" :label="dict.label"
:value="dict.value"/>
</el-select>
@ -371,13 +380,13 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm" v-if="!readonly"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -400,7 +409,7 @@
<template v-slot="{ node, data }">
<div class="city-item">
<span>{{ node.label }}</span>
<el-button @click="selectCity(data)" type="text" size="mini" class="add-button">添加</el-button>
<el-button @click="selectCity(data)" type="text" size="mini" class="add-button" v-if="!readonly"></el-button>
</div>
</template>
@ -413,7 +422,7 @@
<li v-for="(city, index) in selectedCities" :key="index">
<div class="selected-city-item">
{{ city.name }}
<el-button @click="removeCity(index)" type="text" size="mini">移除</el-button>
<el-button @click="removeCity(index)" type="text" size="mini" v-if="!readonly"></el-button>
</div>
</li>
</ul>
@ -464,6 +473,7 @@ export default {
infoList: [],
//
title: "",
readonly: false,
//
open: false,
//
@ -739,9 +749,19 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.readonly = false;
this.title = "添加产品信息";
}
,
},
handleRead(row) {
this.reset();
const id = row.id || this.ids;
getInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = true;
this.title = "查看产品信息";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@ -749,10 +769,10 @@ export default {
getInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.readonly = false
this.title = "修改产品信息";
});
}
,
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {

Loading…
Cancel
Save