增加商标注册 , 电子软著备案

This commit is contained in:
1215525055@qq.com 2025-07-17 16:54:47 +08:00
parent f61fa0d47a
commit 41d4fd411a
23 changed files with 614 additions and 111 deletions

View File

@ -203,11 +203,17 @@ public class AppOrderController extends DefaultBaseController {
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})*/ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})*/
@PostMapping("update/success/{appOrderId}") @PostMapping("update/success/{appOrderId}")
@CheckRequestBodyAnnotation @CheckRequestBodyAnnotation
public SuccessResult updateCheck(@PathVariable("appOrderId") String appOrderId, @RequestBody AppOrderSuccessVO appOrderSuccessVO) { public SuccessResult updateSuccess(@PathVariable("appOrderId") String appOrderId, @RequestBody AppOrderSuccessVO appOrderSuccessVO) {
appOrderService.updateSuccess(appOrderId, appOrderSuccessVO); appOrderService.updateSuccess(appOrderId, appOrderSuccessVO);
return new SuccessResult(); return new SuccessResult();
} }
@PostMapping("update/apply/{appOrderId}")
public SuccessResult updateSubApply(@PathVariable("appOrderId") String appOrderId) {
appOrderService.updateSubApply(appOrderId);
return new SuccessResult();
}
/* @ApiOperation(value = "后台审核", notes = "后台审核接口") /* @ApiOperation(value = "后台审核", notes = "后台审核接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})*/ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})*/
@PostMapping("update/check/{appOrderId}") @PostMapping("update/check/{appOrderId}")

View File

@ -550,6 +550,30 @@ public class TrademarkController extends DefaultBaseController {
return new SuccessResult(); return new SuccessResult();
} }
@ApiOperation(value = "修改商标申请", notes = "修改商标申请接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "trademarkId", value = "商标申请ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PutMapping("update-system/{trademarkId}")
@CheckRequestBodyAnnotation
public SuccessResult updateSystem(@PathVariable("trademarkId") String trademarkId, @RequestBody TrademarkSystemVO trademarkVO) {
trademarkService.updateSystem(trademarkId, trademarkVO);
return new SuccessResult();
}
@ApiOperation(value = "修改商标申请", notes = "修改商标申请接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "trademarkId", value = "商标申请ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PutMapping("update-remark/{trademarkId}")
@CheckRequestBodyAnnotation
public SuccessResult updateRemark(@PathVariable("trademarkId") String trademarkId, @RequestBody TrademarkRemarkVO trademarkVO) {
trademarkService.updateRemark(trademarkId, trademarkVO);
return new SuccessResult();
}
@ApiOperation(value = "商标申请详情", notes = "商标申请详情接口") @ApiOperation(value = "商标申请详情", notes = "商标申请详情接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "trademarkId", value = "商标申请ID", paramType = "path") @ApiImplicitParam(name = "trademarkId", value = "商标申请ID", paramType = "path")

View File

@ -21,6 +21,8 @@ public class AppOrderDTO {
private String appOrderId; private String appOrderId;
@ApiModelProperty(name = "appOrderNo", value = "订单号") @ApiModelProperty(name = "appOrderNo", value = "订单号")
private String appOrderNo; private String appOrderNo;
@ApiModelProperty(name = "thereAnyFile", value = "是否有文件")
private String thereAnyFile;
@ApiModelProperty(name = "appOrderPayStatus", value = "支付状态,0已退款,1已付款") @ApiModelProperty(name = "appOrderPayStatus", value = "支付状态,0已退款,1已付款")
private String appOrderPayStatus; private String appOrderPayStatus;
@ApiModelProperty(name = "appOrderPayTime", value = "支付时间") @ApiModelProperty(name = "appOrderPayTime", value = "支付时间")
@ -123,6 +125,24 @@ public class AppOrderDTO {
private String userUsername; private String userUsername;
@ApiModelProperty(name = "correctionCount", value = "待补正数量") @ApiModelProperty(name = "correctionCount", value = "待补正数量")
private Integer waitCorrectionCount; private Integer waitCorrectionCount;
@ApiModelProperty(name = "startTime", value = "")
private String startTime;
public String getStartTime() {
return startTime == null ? "" : startTime.trim();
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getThereAnyFile() {
return thereAnyFile == null ? "" : thereAnyFile.trim();
}
public void setThereAnyFile(String thereAnyFile) {
this.thereAnyFile = thereAnyFile;
}
public Integer getWaitCorrectionCount() { public Integer getWaitCorrectionCount() {
return waitCorrectionCount == null ? 0 : waitCorrectionCount; return waitCorrectionCount == null ? 0 : waitCorrectionCount;

View File

@ -25,7 +25,8 @@ public class TrademarkDTO {
private String trademarkId; private String trademarkId;
@ApiModelProperty(name = "trademarkName", value = "名称") @ApiModelProperty(name = "trademarkName", value = "名称")
private String trademarkName; private String trademarkName;
@ApiModelProperty(name = "trademarkDescription", value = "说明") @ApiModelProperty(name = "trademarkRemark", value = "备注")
private String trademarkRemark;
private String trademarkDescription; private String trademarkDescription;
@ApiModelProperty(name = "trademarkContent", value = "预留") @ApiModelProperty(name = "trademarkContent", value = "预留")
private String trademarkContent; private String trademarkContent;
@ -104,6 +105,14 @@ public class TrademarkDTO {
@ApiModelProperty(name = "correctionCount", value = "待补正数量") @ApiModelProperty(name = "correctionCount", value = "待补正数量")
private Integer waitCorrectionCount; private Integer waitCorrectionCount;
public String getTrademarkRemark() {
return trademarkRemark == null ? "" : trademarkRemark.trim();
}
public void setTrademarkRemark(String trademarkRemark) {
this.trademarkRemark = trademarkRemark;
}
public Integer getWaitCorrectionCount() { public Integer getWaitCorrectionCount() {
return waitCorrectionCount == null ? 0 : waitCorrectionCount; return waitCorrectionCount == null ? 0 : waitCorrectionCount;
} }

View File

@ -16,13 +16,22 @@ import io.swagger.annotations.ApiModelProperty;
@ApiModel @ApiModel
public class AppOrder3VO { public class AppOrder3VO {
@ApiModelProperty(name = "thereAnyFile", value = "是否有文件")
@CheckEmptyAnnotation(name = "是否有文件")
private String thereAnyFile;
@ApiModelProperty(name = "sourceCodeDocFile", value = "源码文档") @ApiModelProperty(name = "sourceCodeDocFile", value = "源码文档")
@CheckEmptyAnnotation(name = "源码文档")
private String sourceCodeDocFile; private String sourceCodeDocFile;
@ApiModelProperty(name = "softwareDocFile", value = "软件文档") @ApiModelProperty(name = "softwareDocFile", value = "软件文档")
@CheckEmptyAnnotation(name = "软件文档")
private String softwareDocFile; private String softwareDocFile;
public String getThereAnyFile() {
return thereAnyFile == null ? "" : thereAnyFile.trim();
}
public void setThereAnyFile(String thereAnyFile) {
this.thereAnyFile = thereAnyFile;
}
public String getSourceCodeDocFile() { public String getSourceCodeDocFile() {
return sourceCodeDocFile == null ? "" : sourceCodeDocFile.trim(); return sourceCodeDocFile == null ? "" : sourceCodeDocFile.trim();
} }

View File

@ -17,11 +17,32 @@ import java.io.Serializable;
@ApiModel @ApiModel
public class AppOrderCheckVO implements Serializable { public class AppOrderCheckVO implements Serializable {
@ApiModelProperty(name = "sourceCodeDocFile", value = "源码文档")
@CheckEmptyAnnotation(name = "源码文档")
private String sourceCodeDocFile;
@ApiModelProperty(name = "softwareDocFile", value = "软件文档")
@CheckEmptyAnnotation(name = "软件文档")
private String softwareDocFile;
@ApiModelProperty(name = "checkStatus", value = "审核状态") @ApiModelProperty(name = "checkStatus", value = "审核状态")
@CheckEmptyAnnotation(name = "审核状态") @CheckEmptyAnnotation(name = "审核状态")
private String checkStatus; private String checkStatus;
@ApiModelProperty(name = "checkRemark", value = "审核备注") @ApiModelProperty(name = "checkRemark", value = "审核备注")
private String checkRemark; private String checkRemark;
public String getSourceCodeDocFile() {
return sourceCodeDocFile == null ? "" : sourceCodeDocFile.trim();
}
public void setSourceCodeDocFile(String sourceCodeDocFile) {
this.sourceCodeDocFile = sourceCodeDocFile;
}
public String getSoftwareDocFile() {
return softwareDocFile == null ? "" : softwareDocFile.trim();
}
public void setSoftwareDocFile(String softwareDocFile) {
this.softwareDocFile = softwareDocFile;
}
public String getCheckStatus() { public String getCheckStatus() {
return checkStatus == null ? "" : checkStatus.trim(); return checkStatus == null ? "" : checkStatus.trim();

View File

@ -20,6 +20,8 @@ public class AppOrderVO {
private String appOrderId; private String appOrderId;
@ApiModelProperty(name = "appOrderNo", value = "订单号") @ApiModelProperty(name = "appOrderNo", value = "订单号")
private String appOrderNo; private String appOrderNo;
@ApiModelProperty(name = "thereAnyFile", value = "是否有文件")
private String thereAnyFile;
@ApiModelProperty(name = "appOrderPayStatus", value = "支付状态,0已退款,1已付款") @ApiModelProperty(name = "appOrderPayStatus", value = "支付状态,0已退款,1已付款")
private String appOrderPayStatus; private String appOrderPayStatus;
@ApiModelProperty(name = "appOrderPayTime", value = "支付时间") @ApiModelProperty(name = "appOrderPayTime", value = "支付时间")
@ -97,6 +99,16 @@ public class AppOrderVO {
private String updateUser; private String updateUser;
@ApiModelProperty(name = "deleteStatus", value = "") @ApiModelProperty(name = "deleteStatus", value = "")
private String deleteStatus; private String deleteStatus;
@ApiModelProperty(name = "startTime", value = "")
private String startTime;
public String getThereAnyFile() {
return thereAnyFile == null ? "" : thereAnyFile.trim();
}
public void setThereAnyFile(String thereAnyFile) {
this.thereAnyFile = thereAnyFile;
}
public Integer getAppOrderPayDay() { public Integer getAppOrderPayDay() {
return appOrderPayDay == null ? 0 : appOrderPayDay; return appOrderPayDay == null ? 0 : appOrderPayDay;

View File

@ -0,0 +1,28 @@
package cn.com.tenlion.aishop.pojo.vos.trademark;
import ink.wgink.annotation.CheckEmptyAnnotation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
*
* @ClassName: TrademarkCheckVO
* @Description: 商标申请
* @Author: CodeFactory
* @Date: 2025-06-10 10:14:40
* @Version: 3.0
**/
@ApiModel
public class TrademarkRemarkVO {
@ApiModelProperty(name = "trademarkRemark", value = "备注")
private String trademarkRemark;
public String getTrademarkRemark() {
return trademarkRemark == null ? "" : trademarkRemark.trim();
}
public void setTrademarkRemark(String trademarkRemark) {
this.trademarkRemark = trademarkRemark;
}
}

View File

@ -0,0 +1,27 @@
package cn.com.tenlion.aishop.pojo.vos.trademark;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
*
* @ClassName: TrademarkCheckVO
* @Description: 商标申请
* @Author: CodeFactory
* @Date: 2025-06-10 10:14:40
* @Version: 3.0
**/
@ApiModel
public class TrademarkSystemVO {
@ApiModelProperty(name = "trademarkType", value = "类型")
private String trademarkType;
public String getTrademarkType() {
return trademarkType == null ? "" : trademarkType.trim();
}
public void setTrademarkType(String trademarkType) {
this.trademarkType = trademarkType;
}
}

View File

@ -207,4 +207,6 @@ public interface IAppOrderService {
void updateCheck(String appOrderId, AppOrderCheckVO appOrderCheckVO); void updateCheck(String appOrderId, AppOrderCheckVO appOrderCheckVO);
void updateSuccess(String appOrderId, AppOrderSuccessVO appOrderSuccessVO); void updateSuccess(String appOrderId, AppOrderSuccessVO appOrderSuccessVO);
void updateSubApply(String appOrderId);
} }

View File

@ -33,6 +33,7 @@ import cn.com.tenlion.aishop.pojo.pos.apporder.AppOrderPO;
import cn.com.tenlion.aishop.service.apporder.IAppOrderService; import cn.com.tenlion.aishop.service.apporder.IAppOrderService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -157,19 +158,30 @@ public class AppOrderServiceImpl extends DefaultBaseService implements IAppOrder
params2.put("checkStatus", appOrderCheckVO.getCheckStatus()); params2.put("checkStatus", appOrderCheckVO.getCheckStatus());
params2.put("checkTime", DateUtil.getTime()); params2.put("checkTime", DateUtil.getTime());
params2.put("checkRemark", appOrderCheckVO.getCheckRemark()); params2.put("checkRemark", appOrderCheckVO.getCheckRemark());
params2.put("softwareDocFile", appOrderCheckVO.getSoftwareDocFile());
params2.put("sourceCodeDocFile", appOrderCheckVO.getSourceCodeDocFile());
if("2".equals(appOrderCheckVO.getCheckStatus())) { if("2".equals(appOrderCheckVO.getCheckStatus())) {
params2.put("appOrderStatus", "4"); params2.put("appOrderStatus", "4");
} }
appOrderDao.update(params2); appOrderDao.update(params2);
} }
@Override
public void updateSubApply(String appOrderId) {
Map<String, Object> params2 = getHashMap(2);
params2.put("appOrderId", appOrderId);
params2.put("startTime", DateUtil.getTime());
params2.put("appOrderStatus", "5");
appOrderDao.update(params2);
}
@Override @Override
public void updateSuccess(String appOrderId, AppOrderSuccessVO appOrderSuccessVO) { public void updateSuccess(String appOrderId, AppOrderSuccessVO appOrderSuccessVO) {
Map<String, Object> params2 = getHashMap(2); Map<String, Object> params2 = getHashMap(2);
params2.put("appOrderId", appOrderId); params2.put("appOrderId", appOrderId);
params2.put("appOrderResultTime", DateUtil.getTime()); params2.put("appOrderResultTime", DateUtil.getTime());
params2.put("appOrderResultFile", appOrderSuccessVO.getAppOrderResultFile()); params2.put("appOrderResultFile", appOrderSuccessVO.getAppOrderResultFile());
params2.put("appOrderStatus", "5"); params2.put("appOrderStatus", "6");
appOrderDao.update(params2); appOrderDao.update(params2);
} }

View File

@ -1,25 +1,31 @@
package cn.com.tenlion.aishop.service.correction.impl; package cn.com.tenlion.aishop.service.correction.impl;
import cn.com.tenlion.aishop.dao.apporder.IAppOrderDao; import cn.com.tenlion.aishop.dao.apporder.IAppOrderDao;
import cn.com.tenlion.aishop.dao.trademark.ITrademarkDao;
import cn.com.tenlion.aishop.pojo.dtos.apporder.AppOrderDTO; import cn.com.tenlion.aishop.pojo.dtos.apporder.AppOrderDTO;
import cn.com.tenlion.aishop.pojo.dtos.goods.GoodsSimpleDTO; import cn.com.tenlion.aishop.pojo.dtos.goods.GoodsSimpleDTO;
import cn.com.tenlion.aishop.pojo.dtos.goodsonline.GoodsonlineDTO; import cn.com.tenlion.aishop.pojo.dtos.goodsonline.GoodsonlineDTO;
import cn.com.tenlion.aishop.pojo.dtos.order.OrderDTO; import cn.com.tenlion.aishop.pojo.dtos.order.OrderDTO;
import cn.com.tenlion.aishop.pojo.dtos.trademark.TrademarkDTO; import cn.com.tenlion.aishop.pojo.dtos.trademark.TrademarkDTO;
import cn.com.tenlion.aishop.pojo.vos.account.PayVO;
import cn.com.tenlion.aishop.pojo.vos.goodslog.GoodslogVO; import cn.com.tenlion.aishop.pojo.vos.goodslog.GoodslogVO;
import cn.com.tenlion.aishop.pojo.vos.trademark.TrademarkStatusVO; import cn.com.tenlion.aishop.pojo.vos.trademark.TrademarkStatusVO;
import cn.com.tenlion.aishop.service.apporder.IAppOrderService; import cn.com.tenlion.aishop.service.apporder.IAppOrderService;
import cn.com.tenlion.aishop.service.goodslog.IGoodslogService; import cn.com.tenlion.aishop.service.goodslog.IGoodslogService;
import cn.com.tenlion.aishop.service.goodsonline.IGoodsonlineService; import cn.com.tenlion.aishop.service.goodsonline.IGoodsonlineService;
import cn.com.tenlion.aishop.service.order.IOrderService; import cn.com.tenlion.aishop.service.order.IOrderService;
import cn.com.tenlion.aishop.service.remote.IRemoteService;
import cn.com.tenlion.aishop.service.trademark.ITrademarkService; import cn.com.tenlion.aishop.service.trademark.ITrademarkService;
import cn.com.tenlion.aishop.util.PayUtil;
import cn.com.tenlion.aishop.util.SystemConfig; import cn.com.tenlion.aishop.util.SystemConfig;
import cn.com.tenlion.aishop.util.TenlionSMS; import cn.com.tenlion.aishop.util.TenlionSMS;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import ink.wgink.common.base.DefaultBaseService; import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.exceptions.SaveException; import ink.wgink.exceptions.SaveException;
import ink.wgink.interfaces.user.IUserBaseService;
import ink.wgink.pojo.ListPage; import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.result.SuccessResult; import ink.wgink.pojo.result.SuccessResult;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.util.date.DateUtil; import ink.wgink.util.date.DateUtil;
@ -52,6 +58,8 @@ public class CorrectionServiceImpl extends DefaultBaseService implements ICorrec
@Autowired @Autowired
private ICorrectionDao correctionDao; private ICorrectionDao correctionDao;
@Autowired
private IUserBaseService userBaseService;
@Override @Override
public void save(CorrectionVO correctionVO) { public void save(CorrectionVO correctionVO) {
@ -183,6 +191,12 @@ public class CorrectionServiceImpl extends DefaultBaseService implements ICorrec
saveAppReturnId(null, correctionVO); saveAppReturnId(null, correctionVO);
} }
@Autowired
private ITrademarkDao trademarkDao;
@Autowired
private IRemoteService remoteService;
@Override @Override
public void saveTrademark(CorrectionVO correctionVO) { public void saveTrademark(CorrectionVO correctionVO) {
saveTrademark(null, correctionVO); saveTrademark(null, correctionVO);
@ -227,13 +241,51 @@ public class CorrectionServiceImpl extends DefaultBaseService implements ICorrec
vo.setTrademarkStatus(correctionVO.getCorrectionStatus()); vo.setTrademarkStatus(correctionVO.getCorrectionStatus());
iTrademarkService.updateStatus(orderDTO.getTrademarkId(), vo); iTrademarkService.updateStatus(orderDTO.getTrademarkId(), vo);
} }
if(correctionVO.getCorrectionStatus().equals("-1")) {
Map<String, Object> params2 = new HashMap<>();
// 不通过
params2.put("trademarkId", orderDTO.getTrademarkId());// 取消订单
params2.put("trademarkStatus", "-1");// 取消订单
params2.put("checkRemark", correctionVO.getCorrectionRemark());
params2.put("checkTime", DateUtil.getTime());
params2.put("checkStatus", "-1");
params2.put("trademarkProgress", "3");// 回退到第三步
params2.put("trademarkFileDepute", ""); // 清空授权书
params2.put("trademarkPay", "0"); // 待支付
params2.put("trademarkPayTime", ""); // 支付时间置空
params2.put("trademarkCancelTime", DateUtil.getTime()); // 设置取消时间
trademarkDao.update(params2);
// 执行退款
// 生成流水记录
PayVO payVO = new PayVO();
payVO.setOrderId(correctionVO.getOrderId());
payVO.setUserId(orderDTO.getCreateUser()); // 代理商userId
payVO.setAccountMoney(orderDTO.getTrademarkMoney());
payVO.setDescription("商标申请退款." + correctionVO.getCorrectionRemark());
remoteService.savePayIn(payVO);
// 记录日志
GoodslogVO goodsLogVO = new GoodslogVO();
goodsLogVO.setGoodslogType("LOG");
goodsLogVO.setGoodslogTime(DateUtil.getTime());
goodsLogVO.setGoodslogName("系统退款 " + PayUtil.buiderMoney(orderDTO.getTrademarkMoney()) + "");
goodsLogVO.setGoodsId(correctionVO.getOrderId());
goodsLogVO.setGoodslogContent(correctionVO.getCorrectionRemark());
iGoodslogService.save(goodsLogVO);
}
if (systemConfig.getSmsSwitch()) { if (systemConfig.getSmsSwitch()) {
if (correctionVO.getCorrectionParentId().equals("0")) { if (correctionVO.getCorrectionParentId().equals("0")) {
if(correctionVO.getCorrectionType().contains("2")) { if(correctionVO.getCorrectionType().contains("2")) {
String phone = orderDTO.getLeaderPhone();
if(StringUtils.isEmpty(phone)) {
UserDTO userDTO = userBaseService.get(orderDTO.getCreateUser());
if(userDTO != null) {
phone = userDTO.getUserUsername();
}
}
JSONArray phoneArray = new JSONArray(); JSONArray phoneArray = new JSONArray();
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
obj.put("phone", orderDTO.getLeaderPhone()); obj.put("phone", phone);
phoneArray.add(obj); phoneArray.add(obj);
Map<String, String> templateParams = new HashMap<>(); Map<String, String> templateParams = new HashMap<>();
@ -249,7 +301,13 @@ public class CorrectionServiceImpl extends DefaultBaseService implements ICorrec
} }
public String getTrademarkDescription(String status) { public String getTrademarkDescription(String status) {
if(status.equals("4")) { if(status.equals("-1")) {
return "已退款";
}else if(status.equals("2")) {
return "已线下沟通";
}else if(status.equals("3")) {
return "已接单";
}else if(status.equals("4")) {
return "不予受理"; return "不予受理";
}else if(status.equals("5")) { }else if(status.equals("5")) {
return "已受理"; return "已受理";

View File

@ -201,4 +201,8 @@ public interface ITrademarkService {
void updateCheck(String trademarkId, TrademarkCheckVO trademarkCheckVO); void updateCheck(String trademarkId, TrademarkCheckVO trademarkCheckVO);
void updateStatus(String trademarkId, TrademarkStatusVO trademarkStatusVO); void updateStatus(String trademarkId, TrademarkStatusVO trademarkStatusVO);
void updateRemark(String trademarkId, TrademarkRemarkVO trademarkVO);
void updateSystem(String trademarkId, TrademarkSystemVO trademarkVO);
} }

View File

@ -148,6 +148,11 @@ public class TrademarkServiceImpl extends DefaultBaseService implements ITradema
if(dto.getTrademarkProgress() >= 3) { if(dto.getTrademarkProgress() >= 3) {
TrademarkUserDTO dto1 = trademarkUserService.getByTrademarkId(dto.getTrademarkId()); TrademarkUserDTO dto1 = trademarkUserService.getByTrademarkId(dto.getTrademarkId());
dto.setTrademarkUserDTO(dto1); dto.setTrademarkUserDTO(dto1);
if(dto1 == null) {
dto.setTrademarkUserDTO(new TrademarkUserDTO());
}
}else{
dto.setTrademarkUserDTO(new TrademarkUserDTO());
} }
return dto; return dto;
} }
@ -581,7 +586,13 @@ public class TrademarkServiceImpl extends DefaultBaseService implements ITradema
params2.put("trademarkStatus", trademarkStatusVO.getTrademarkStatus()); params2.put("trademarkStatus", trademarkStatusVO.getTrademarkStatus());
trademarkDao.update(params2); trademarkDao.update(params2);
String msg = ""; String msg = "";
if(trademarkStatusVO.getTrademarkStatus().equals("4")) { if(trademarkStatusVO.getTrademarkStatus().equals("-1")) {
msg = "已退款";
}else if(trademarkStatusVO.getTrademarkStatus().equals("2")) {
msg = "已线下沟通";
}else if(trademarkStatusVO.getTrademarkStatus().equals("3")) {
msg = "已接单";
}else if(trademarkStatusVO.getTrademarkStatus().equals("4")) {
msg = "不予受理"; msg = "不予受理";
}else if(trademarkStatusVO.getTrademarkStatus().equals("5")) { }else if(trademarkStatusVO.getTrademarkStatus().equals("5")) {
msg = "已受理"; msg = "已受理";
@ -598,11 +609,26 @@ public class TrademarkServiceImpl extends DefaultBaseService implements ITradema
GoodslogVO goodsLogVO = new GoodslogVO(); GoodslogVO goodsLogVO = new GoodslogVO();
goodsLogVO.setGoodslogType("LOG"); goodsLogVO.setGoodslogType("LOG");
goodsLogVO.setGoodslogTime(DateUtil.getTime()); goodsLogVO.setGoodslogTime(DateUtil.getTime());
goodsLogVO.setGoodslogName("进度更为 : " + msg); goodsLogVO.setGoodslogName("进度更为 : " + msg);
goodsLogVO.setGoodslogStatus(""); goodsLogVO.setGoodslogStatus("");
goodsLogVO.setGoodsId(trademarkId); goodsLogVO.setGoodsId(trademarkId);
goodsLogVO.setGoodslogContent(""); goodsLogVO.setGoodslogContent("");
iGoodslogService.save(goodsLogVO); iGoodslogService.save(goodsLogVO);
} }
@Override
public void updateRemark(String trademarkId, TrademarkRemarkVO trademarkVO) {
Map<String, Object> params2 = getHashMap(2);
params2.put("trademarkId", trademarkId);
params2.put("trademarkRemark", trademarkVO.getTrademarkRemark());
trademarkDao.update(params2);
}
@Override
public void updateSystem(String trademarkId, TrademarkSystemVO trademarkVO) {
Map<String, Object> params = HashMapUtil.beanToMap(trademarkVO);
params.put("trademarkId", trademarkId);
trademarkDao.update(params);
}
} }

View File

@ -29,6 +29,7 @@
<resultMap id="appOrder3VO" type="cn.com.tenlion.aishop.pojo.vos.apporder.AppOrder3VO"> <resultMap id="appOrder3VO" type="cn.com.tenlion.aishop.pojo.vos.apporder.AppOrder3VO">
<result column="app_order_id" property="appOrderId"/> <result column="app_order_id" property="appOrderId"/>
<result column="there_any_file" property="thereAnyFile"/>
<result column="source_code_doc_file" property="sourceCodeDocFile"/> <result column="source_code_doc_file" property="sourceCodeDocFile"/>
<result column="software_doc_file" property="softwareDocFile"/> <result column="software_doc_file" property="softwareDocFile"/>
</resultMap> </resultMap>
@ -36,6 +37,8 @@
<resultMap id="appOrderDTO" type="cn.com.tenlion.aishop.pojo.dtos.apporder.AppOrderDTO"> <resultMap id="appOrderDTO" type="cn.com.tenlion.aishop.pojo.dtos.apporder.AppOrderDTO">
<result column="app_order_id" property="appOrderId"/> <result column="app_order_id" property="appOrderId"/>
<result column="app_order_no" property="appOrderNo"/> <result column="app_order_no" property="appOrderNo"/>
<result column="there_any_file" property="thereAnyFile"/>
<result column="start_time" property="startTime"/>
<result column="app_order_pay_status" property="appOrderPayStatus"/> <result column="app_order_pay_status" property="appOrderPayStatus"/>
<result column="app_order_pay_time" property="appOrderPayTime"/> <result column="app_order_pay_time" property="appOrderPayTime"/>
<result column="app_order_pay_money" property="appOrderPayMoney"/> <result column="app_order_pay_money" property="appOrderPayMoney"/>
@ -175,6 +178,8 @@
INSERT INTO operator_app_order( INSERT INTO operator_app_order(
app_order_id, app_order_id,
app_order_no, app_order_no,
there_any_file,
start_time,
app_order_pay_status, app_order_pay_status,
app_order_pay_time, app_order_pay_time,
app_order_pay_money, app_order_pay_money,
@ -223,6 +228,8 @@
) VALUES( ) VALUES(
#{appOrderId}, #{appOrderId},
#{appOrderNo}, #{appOrderNo},
#{thereAnyFile},
#{startTime},
#{appOrderPayStatus}, #{appOrderPayStatus},
#{appOrderPayTime}, #{appOrderPayTime},
#{appOrderPayMoney}, #{appOrderPayMoney},
@ -351,12 +358,6 @@
<if test="scopeOfPower != null and scopeOfPower != ''"> <if test="scopeOfPower != null and scopeOfPower != ''">
scope_of_power = #{scopeOfPower}, scope_of_power = #{scopeOfPower},
</if> </if>
<if test="sourceCodeDocFile != null and sourceCodeDocFile != ''">
source_code_doc_file = #{sourceCodeDocFile},
</if>
<if test="softwareDocFile != null and softwareDocFile != ''">
software_doc_file = #{softwareDocFile},
</if>
<if test="hardwareEnvironment != null and hardwareEnvironment != ''"> <if test="hardwareEnvironment != null and hardwareEnvironment != ''">
hardware_environment = #{hardwareEnvironment}, hardware_environment = #{hardwareEnvironment},
</if> </if>
@ -404,6 +405,12 @@
</if> </if>
<if test="checkStatus != null and checkStatus != ''"> <if test="checkStatus != null and checkStatus != ''">
check_status = #{checkStatus}, check_status = #{checkStatus},
<if test="softwareDocFile != null and softwareDocFile != ''">
software_doc_file = #{softwareDocFile},
</if>
<if test="sourceCodeDocFile != null and sourceCodeDocFile != ''">
source_code_doc_file = #{sourceCodeDocFile},
</if>
</if> </if>
<if test="checkRemark != null and checkRemark != ''"> <if test="checkRemark != null and checkRemark != ''">
check_remark = #{checkRemark}, check_remark = #{checkRemark},
@ -413,6 +420,14 @@
</if> </if>
<if test="currentAppOrderProgress != null and currentAppOrderProgress == 2"> <if test="currentAppOrderProgress != null and currentAppOrderProgress == 2">
get_file = #{getFile}, get_file = #{getFile},
</if>
<if test="startTime != null and startTime != '' ">
start_time = #{startTime},
</if>
<if test="thereAnyFile != null and thereAnyFile != '' ">
there_any_file = #{thereAnyFile},
source_code_doc_file = #{sourceCodeDocFile},
software_doc_file = #{softwareDocFile},
</if> </if>
app_order_id = app_order_id app_order_id = app_order_id
WHERE WHERE
@ -424,6 +439,8 @@
SELECT SELECT
t1.app_order_id, t1.app_order_id,
t1.app_order_no, t1.app_order_no,
t1.there_any_file,
t1.start_time,
t1.app_order_pay_status, t1.app_order_pay_status,
t1.app_order_pay_time, t1.app_order_pay_time,
t1.app_order_pay_money, t1.app_order_pay_money,
@ -594,6 +611,8 @@
SELECT SELECT
t1.app_order_id, t1.app_order_id,
t1.app_order_no, t1.app_order_no,
t1.there_any_file,
t1.start_time,
t1.app_order_pay_status, t1.app_order_pay_status,
t1.app_order_pay_time, t1.app_order_pay_time,
t1.app_order_pay_money, t1.app_order_pay_money,

View File

@ -5,6 +5,7 @@
<resultMap id="trademarkDTO" type="cn.com.tenlion.aishop.pojo.dtos.trademark.TrademarkDTO"> <resultMap id="trademarkDTO" type="cn.com.tenlion.aishop.pojo.dtos.trademark.TrademarkDTO">
<result column="trademark_id" property="trademarkId"/> <result column="trademark_id" property="trademarkId"/>
<result column="trademark_name" property="trademarkName"/> <result column="trademark_name" property="trademarkName"/>
<result column="trademark_remark" property="trademarkRemark"/>
<result column="trademark_description" property="trademarkDescription"/> <result column="trademark_description" property="trademarkDescription"/>
<result column="trademark_content" property="trademarkContent"/> <result column="trademark_content" property="trademarkContent"/>
<result column="trademark_photo" property="trademarkPhoto"/> <result column="trademark_photo" property="trademarkPhoto"/>
@ -109,6 +110,7 @@
INSERT INTO shop_trademark( INSERT INTO shop_trademark(
trademark_id, trademark_id,
trademark_name, trademark_name,
trademark_remark,
trademark_description, trademark_description,
trademark_content, trademark_content,
trademark_photo, trademark_photo,
@ -148,6 +150,7 @@
) VALUES( ) VALUES(
#{trademarkId}, #{trademarkId},
#{trademarkName}, #{trademarkName},
#{trademarkRemark},
#{trademarkDescription}, #{trademarkDescription},
#{trademarkContent}, #{trademarkContent},
#{trademarkPhoto}, #{trademarkPhoto},
@ -245,6 +248,9 @@
<if test="trademarkCancelTime != null"> <if test="trademarkCancelTime != null">
trademark_cancel_time = #{trademarkCancelTime}, trademark_cancel_time = #{trademarkCancelTime},
</if> </if>
<if test="trademarkRemark != null and trademarkRemark != ''">
trademark_remark = #{trademarkRemark},
</if>
<if test="trademarkFinal != null and trademarkFinal != ''"> <if test="trademarkFinal != null and trademarkFinal != ''">
trademark_final = #{trademarkFinal}, trademark_final = #{trademarkFinal},
</if> </if>
@ -303,6 +309,7 @@
<select id="get" parameterType="map" resultMap="trademarkDTO"> <select id="get" parameterType="map" resultMap="trademarkDTO">
SELECT SELECT
t1.trademark_name, t1.trademark_name,
t1.trademark_remark,
t1.trademark_description, t1.trademark_description,
t1.trademark_content, t1.trademark_content,
t1.trademark_photo, t1.trademark_photo,
@ -339,11 +346,16 @@
t1.update_user, t1.update_user,
t1.update_time, t1.update_time,
t1.delete_status, t1.delete_status,
t1.trademark_id t1.trademark_id,
t3.user_username AS user_username
FROM FROM
shop_trademark t1 shop_trademark t1
LEFT JOIN
user t3
ON
t1.create_user = t3.user_id
WHERE WHERE
1 = 1 t1.delete_status = '0'
<if test="trademarkId != null and trademarkId != ''"> <if test="trademarkId != null and trademarkId != ''">
AND AND
t1.trademark_id = #{trademarkId} t1.trademark_id = #{trademarkId}
@ -435,6 +447,7 @@
SELECT SELECT
t1.trademark_id, t1.trademark_id,
t1.trademark_name, t1.trademark_name,
t1.trademark_remark,
t1.trademark_description, t1.trademark_description,
t1.trademark_content, t1.trademark_content,
t1.trademark_photo_type, t1.trademark_photo_type,

View File

@ -166,8 +166,10 @@
return '审核未通过'; return '审核未通过';
} }
}else if(appOrderStatus == '4') { }else if(appOrderStatus == '4') {
return '线下申请中'; return '待签字页盖章';
}else if(appOrderStatus == '5') { }else if(appOrderStatus == '5') {
return '线下申请中';
}else if(appOrderStatus == '6') {
return '平台已下证'; return '平台已下证';
} }
return '-'; return '-';
@ -189,10 +191,12 @@
/* if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { /* if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-'; return '-';
}*/ }*/
var d = (row["startTime"].split(" ")[0]);
var dd = d.length > 0 ? "【" + d + "开始】" : "";
if(rowData == 0) { if(rowData == 0) {
return "当天下证【截止" + row["appOrderPayEndTime"] + "】"; return "当天下证" + dd;
} }
return rowData + "个工作日【截止" + row["appOrderPayEndTime"] + "前下证】"; return rowData + "个工作日" + dd;
} }
} }
] ]

View File

@ -162,23 +162,26 @@
</div> </div>
</div> </div>
<div class="layui-tab-item"> <div class="layui-tab-item">
<blockquote class="layui-elem-quote" id="fileMsg"></blockquote>
<div class=" layui-row "> <div class=" layui-row ">
<div class="layui-col-lg6" style="border: 1px solid #C9C9C9;"> <div class="layui-col-lg6" style="border: 1px solid #C9C9C9;">
<div class="layui-form-item layui-form-text" style="text-align: center;" id="sourceCodeDocFileSpan"> <div class="layui-form-item layui-form-text" style="text-align: center;">
<label class="layui-form-label">源码文档</label> <label class="layui-form-label">源码文档</label>
<img src="assets/images/filetype/pdf.png" style="height:74px;width:74px;margin-top: 20px;" title="点击下载查看"> <img src="assets/images/filetype/pdf.png" style="height:74px;width:74px;margin-top: 20px;" title="点击下载查看">
<input type="hidden" id="sourceCodeDocFile" name="sourceCodeDocFile" > <input type="hidden" id="sourceCodeDocFile" name="sourceCodeDocFile" >
</br> </br>
<span style="white-space: nowrap; font-size: 11px">点击下载查看</span> <span style="white-space: nowrap; font-size: 11px;cursor: pointer" id="sourceCodeDocFileSpan">点击下载查看</span>
<span lay-form-button style="white-space: nowrap;font-size: 11px;cursor: pointer;display: none" id="sourceCodeDocUploadFile" lay-filter="sourceCodeDocUploadFile" >点击上传文件</span>
</div> </div>
</div> </div>
<div class="layui-col-lg6" style="border: 1px solid #C9C9C9;"> <div class="layui-col-lg6" style="border: 1px solid #C9C9C9;">
<div class="layui-form-item layui-form-text" style="text-align: center;" id="softwareDocFileSpan"> <div class="layui-form-item layui-form-text" style="text-align: center;" >
<label class="layui-form-label">软件文档</label> <label class="layui-form-label">软件文档</label>
<img src="assets/images/filetype/pdf.png" style="height:74px;width:74px;margin-top: 20px;" title="点击下载查看"> <img src="assets/images/filetype/pdf.png" style="height:74px;width:74px;margin-top: 20px;" title="点击下载查看">
<input type="hidden" id="softwareDocFile" name="softwareDocFile" > <input type="hidden" id="softwareDocFile" name="softwareDocFile" >
</br> </br>
<span style="white-space: nowrap; font-size: 11px">点击下载查看</span> <span style="white-space: nowrap; font-size: 11px;cursor: pointer" id="softwareDocFileSpan">点击下载查看</span>
<span lay-form-button style="white-space: nowrap; font-size: 11px;cursor: pointer;display: none" id="softwareDocFileUploadFile" lay-filter="softwareDocFileUploadFile">点击上传文件</span>
</div> </div>
</div> </div>
</div> </div>
@ -313,6 +316,47 @@
var viewerObj = {}; var viewerObj = {};
var formData = {}; var formData = {};
function softwareDocFileUploadFile() {
$("#softwareDocFileUploadFile").show();
form.on('button(softwareDocFileUploadFile)', function(obj) {
top.dialog.file({
type: 'file',
title: '上传软件文档',
width: '400px',
height: '420px',
maxFileCount: '1',
onClose: function() {
var uploadFileArray = top.dialog.dialogData.uploadFileArray;
if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
$("#softwareDocFile").val(uploadFileArray[0].data);
formData.softwareDocFile = uploadFileArray[0].data;
}
}
});
});
}
function sourceCodeDocUploadFile() {
$("#sourceCodeDocUploadFile").show();
form.on('button(sourceCodeDocUploadFile)', function(obj) {
top.dialog.file({
type: 'file',
title: '上传源码文档',
width: '400px',
height: '420px',
maxFileCount: '1',
onClose: function() {
var uploadFileArray = top.dialog.dialogData.uploadFileArray;
if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
$("#sourceCodeDocFile").val(uploadFileArray[0].data);
formData.sourceCodeDocFile = uploadFileArray[0].data;
}
}
});
});
}
function closeBox() { function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
} }
@ -473,10 +517,21 @@
$("#subMit").removeClass("layui-disabled"); $("#subMit").removeClass("layui-disabled");
$("#subMit").removeAttr("disabled"); $("#subMit").removeAttr("disabled");
} }
if(data.appOrderStatus == "4") { if(data.appOrderStatus == "5") {
$("#subMit2").removeClass("layui-disabled"); $("#subMit2").removeClass("layui-disabled");
$("#subMit2").removeAttr("disabled"); $("#subMit2").removeAttr("disabled");
} }
if(data.thereAnyFile != "" && data.thereAnyFile == "0") {
if(data.appOrderStatus < 4) {
softwareDocFileUploadFile();
sourceCodeDocUploadFile();
}
$("#fileMsg").html("客户无材料 , 需要平台撰写");
}else if(data.thereAnyFile != "" && data.thereAnyFile == "1"){
$("#fileMsg").html("客户撰写的鉴别材料");
}else{
$("#fileMsg").html("待客户上传");
}
}, function(code, data) { }, function(code, data) {
top.dialog.msg(data.msg); top.dialog.msg(data.msg);
}, function() { }, function() {
@ -521,7 +576,7 @@
top.dialog.confirm(top.dataMessage.commit, function(index) { top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index); top.dialog.close(index);
var loadLayerIndex; var loadLayerIndex;
top.restAjax.post(top.restAjax.path('api/apporder/update/check/{appOrderId}', [appOrderId]), {checkStatus: formData.field["checkStatus"], checkRemark: formData.field["checkRemark"]}, null, function(code, data) { top.restAjax.post(top.restAjax.path('api/apporder/update/check/{appOrderId}', [appOrderId]), {softwareDocFile: $("#softwareDocFile").val(), sourceCodeDocFile: $("#sourceCodeDocFile").val(), checkStatus: formData.field["checkStatus"], checkRemark: formData.field["checkRemark"]}, null, function(code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, { var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, {
time: 0, time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no], btn: [top.dataMessage.button.yes, top.dataMessage.button.no],

View File

@ -23,6 +23,9 @@
<button type="button" class="layui-btn layui-btn-sm" lay-event="saveEvent"> <button type="button" class="layui-btn layui-btn-sm" lay-event="saveEvent">
<i class="fa fa-lg fa-save"></i> 发起资料补充 <i class="fa fa-lg fa-save"></i> 发起资料补充
</button> </button>
<button type="button" id="subMit" class="layui-btn layui-btn-sm layui-disabled" disabled lay-event="updateEvent">
<i class="fa fa-lg fa-upload"></i> 提交至国家版权中心
</button>
</div> </div>
</script> </script>
</div> </div>
@ -131,9 +134,7 @@
}; };
} }
}; };
if(appOrderStatus == 4) { option.toolbar = '#headerToolBar';
option.toolbar = '#headerToolBar';
}
table.render(option); table.render(option);
} }
@ -171,6 +172,7 @@
}, },
height: $win.height() - 90, height: $win.height() - 90,
}); });
initDate();
} }
// 初始化日期 // 初始化日期
function initDate() { function initDate() {
@ -183,7 +185,21 @@
elem: '#endTime', elem: '#endTime',
format: 'yyyy-MM-dd' format: 'yyyy-MM-dd'
}); });
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/apporder/get/{appOrderId}', [orderId]), {}, null, function(code, data) {
if(data.appOrderStatus == "4") {
$("#subMit").removeClass("layui-disabled");
$("#subMit").removeAttr("disabled");
}
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
} }
// 删除 // 删除
function removeData(ids) { function removeData(ids) {
top.dialog.msg(top.dataMessage.delete, { top.dialog.msg(top.dataMessage.delete, {
@ -238,24 +254,17 @@
} }
}); });
} else if(layEvent === 'updateEvent') { } else if(layEvent === 'updateEvent') {
if(checkDatas.length === 0) { var layIndex;
top.dialog.msg(top.dataMessage.table.selectEdit); top.restAjax.post(top.restAjax.path('api/apporder/update/apply/{appOrderId}', [orderId]), {}, null, function (code, data) {
} else if(checkDatas.length > 1) { top.dialog.msg("更新成功", {time: 1000});
top.dialog.msg(top.dataMessage.table.selectOneEdit); reloadTable();
} else { }, function (code, data) {
layer.open({ top.dialog.msg(data.msg);
type: 2, }, function () {
title: false, layIndex = top.dialog.msg("更新中...", {icon: 16, time: 0, shade: 0.3});
closeBtn: 0, }, function () {
area: ['100%', '100%'], top.dialog.close(layIndex);
shadeClose: true, });
anim: 2,
content: top.restAjax.path('route/correction/update?correctionId={correctionId}', [checkDatas[0].correctionId]),
end: function() {
reloadTable();
}
});
}
} else if(layEvent === 'removeEvent') { } else if(layEvent === 'removeEvent') {
if(checkDatas.length === 0) { if(checkDatas.length === 0) {
top.dialog.msg(top.dataMessage.table.selectDelete); top.dialog.msg(top.dataMessage.table.selectDelete);

View File

@ -77,7 +77,7 @@
return rowData; return rowData;
} }
}, },
{field: 'correctionRemark', width: 180, title: '资料内容', align:'center', {field: 'correctionRemark', width: 280, title: '资料内容', align:'center',
templet: function(row) { templet: function(row) {
var rowData = row[this.field]; var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -101,7 +101,13 @@
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-'; return '-';
} }
if(rowData == "4") { if(rowData == "-1") {
return "退款【关闭订单】";
}else if(rowData == "2") {
return "已线下沟通";
}if(rowData == "3") {
return "已接单";
}else if(rowData == "4") {
return "不予受理"; return "不予受理";
}else if(rowData == "5") { }else if(rowData == "5") {
return "已受理"; return "已受理";
@ -163,9 +169,9 @@
}; };
} }
}; };
// if(trademarkStatus >= 3) { if(trademarkStatus != "-1") {
option.toolbar = '#headerToolBar'; option.toolbar = '#headerToolBar';
// } }
table.render(option); table.render(option);
} }

View File

@ -24,15 +24,21 @@
<form class="layui-form layui-form-pane" lay-filter="dataForm"> <form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-form-item" pane=""> <div class="layui-form-item" pane="">
<label class="layui-form-label">当前进度<span style="color: red">*</span></label> <label class="layui-form-label">当前进度<span style="color: red">*</span></label>
<div class="layui-input-block" pane=""> <div class="layui-input-block" pane="" id="correctionStatusBox" ></div>
<input type="radio" name="correctionStatus" value="4" title="不予受理">
<input type="radio" name="correctionStatus" value="5" title="已受理">
<input type="radio" name="correctionStatus" value="6" title="已发初审公告">
<input type="radio" name="correctionStatus" value="7" title="部分驳回">
<input type="radio" name="correctionStatus" value="8" title="全部驳回">
<input type="radio" name="correctionStatus" value="9" title="商标注册完成">
</div>
</div> </div>
<script id="correctionStatusTemplate" type="text/html">
{{# if(d.trademarkMode != 1 ) { }}
<input type="radio" name="correctionStatus" value="2" title="已线下沟通">
<input type="radio" name="correctionStatus" value="3" title="已接单">
<input type="radio" name="correctionStatus" value="-1" title="退款【关闭订单】">
{{# } }}
<input type="radio" name="correctionStatus" value="4" title="不予受理">
<input type="radio" name="correctionStatus" value="5" title="已受理">
<input type="radio" name="correctionStatus" value="6" title="已发初审公告">
<input type="radio" name="correctionStatus" value="7" title="部分驳回">
<input type="radio" name="correctionStatus" value="8" title="全部驳回">
<input type="radio" name="correctionStatus" value="9" title="商标注册完成">
</script>
<div class="layui-form-item" pane=""> <div class="layui-form-item" pane="">
<label class="layui-form-label">资料类型<span style="color: red">*</span></label> <label class="layui-form-label">资料类型<span style="color: red">*</span></label>
<div class="layui-input-block" pane=""> <div class="layui-input-block" pane="">
@ -135,12 +141,15 @@
form.on('radio', function(data){ form.on('radio', function(data){
if(data.elem.name === 'correctionStatus') { // 精确匹配name属性 if(data.elem.name === 'correctionStatus') { // 精确匹配name属性
$("#correctionTitle").val(''); $("#correctionTitle").val('');
if(data.value < [[${orderDTO.trademarkStatus}]]) { if(data.value != '-1' && data.value < [[${orderDTO.trademarkStatus}]]) {
layer.msg("不可以选择此进度"); layer.msg("不可以选择此进度");
data.elem.checked = false; data.elem.checked = false;
form.render(); form.render();
return false; return false;
} }
if(data.value == '-1') {
layer.msg("提交后会关闭该订单 , 请谨慎操作");
}
$("#correctionTitle").val(data.elem.title); $("#correctionTitle").val(data.elem.title);
} }
}); });
@ -234,6 +243,19 @@
// 初始化内容 // 初始化内容
function initData() { function initData() {
initCorrectionFilesUploadFile(); initCorrectionFilesUploadFile();
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/trademark/get/{trademarkId}', [orderId]), {}, null, function(code, data) {
laytpl(document.getElementById("correctionStatusTemplate").innerHTML).render(data, function(html) {
document.getElementById("correctionStatusBox").innerHTML = html;
form.render();
});
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
} }
initData(); initData();

View File

@ -141,16 +141,16 @@
return rowData; return rowData;
} }
}, },
{field: 'trademarkName', width: 180, title: '商标名称', align:'center', {field: 'trademarkModeName', width: 130, title: '申请类别', align:'center',
templet: function(row) { templet: function(row) {
var rowData = row[this.field]; var rowData = row[this.field];
var trademarkModeName = row["trademarkModeName"]; return rowData;
var trademarkMode = row["trademarkMode"]; }
if(trademarkMode == 1) { },
return rowData; {field: 'trademarkName', width: 230, title: '商标名称', align:'center',
}else{ templet: function(row) {
return trademarkModeName; var rowData = row[this.field];
} return rowData;
} }
}, },
{field: 'trademarkDescription', width: 250, title: '商标说明', align:'center', {field: 'trademarkDescription', width: 250, title: '商标说明', align:'center',
@ -195,8 +195,10 @@
return '<button type="button" class="layui-btn layui-btn-xs " lay-event="viewEvent">文字商标</button>'; return '<button type="button" class="layui-btn layui-btn-xs " lay-event="viewEvent">文字商标</button>';
}else if(rowData == 'image') { }else if(rowData == 'image') {
return '<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" lay-event="viewEvent">图形商标</button>'; return '<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" lay-event="viewEvent">图形商标</button>';
}else{ }else if(rowData == 'text-image'){
return '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event="viewEvent">图文组合商标</button>'; return '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event="viewEvent">图文组合商标</button>';
}else {
return '-';
} }
} }
}, },
@ -223,8 +225,13 @@
// 状态-1:已取消,0:待付款,1:已付款,2:已提交后台,3:已提交申请,(4:不予受理,5:已受理),6:已发初审公告,(7:部分驳回,8:全部驳回),9:完结 // 状态-1:已取消,0:待付款,1:已付款,2:已提交后台,3:已提交申请,(4:不予受理,5:已受理),6:已发初审公告,(7:部分驳回,8:全部驳回),9:完结
var rowData = row[this.field]; var rowData = row[this.field];
var progress = row["trademarkProgress"]; var progress = row["trademarkProgress"];
var mode = row["trademarkMode"];
if(rowData == "-1") { if(rowData == "-1") {
return "预审未通过"; if(mode == '1') {
return "预审未通过";
}else{
return "已退款";
}
}else if(rowData == "0") { }else if(rowData == "0") {
if(progress == 1) { if(progress == 1) {
return "已填写【基本信息】"; return "已填写【基本信息】";
@ -244,9 +251,17 @@
return "已提交至后台"; return "已提交至后台";
} }
}else if(rowData == "2") { }else if(rowData == "2") {
return "已提交申请"; if(mode == '1') {
return "已提交申请";
}else{
return "已线下沟通";
}
}else if(rowData == "3") { }else if(rowData == "3") {
return "已提交至商标局"; if(mode == '1') {
return "已提交至商标局";
}else{
return "已接单并提交至商标局";
}
}else if(rowData == "4") { }else if(rowData == "4") {
return "不予受理"; return "不予受理";
}else if(rowData == "5") { }else if(rowData == "5") {

View File

@ -41,9 +41,9 @@
<div class="layui-tab"> <div class="layui-tab">
<ul class="layui-tab-title"> <ul class="layui-tab-title">
<li class="layui-this">商标信息</li> <li class="layui-this">商标信息</li>
<li>商标类别</li> <li th:if="${trademarkDTO.trademarkMode == '1'}">商标类别</li>
<li>申请人信息</li> <li th:if="${trademarkDTO.trademarkMode == '1'}">申请人信息</li>
<li th:if="${trademarkDTO.trademarkStatus == '2'}">信息审核</li> <li th:if="${trademarkDTO.trademarkStatus == '2' && trademarkDTO.trademarkMode == '1'}">信息审核</li>
<li>进度沟通</li> <li>进度沟通</li>
<li>进度记录</li> <li>进度记录</li>
</ul> </ul>
@ -84,9 +84,17 @@
<div class="layui-col-lg6"> <div class="layui-col-lg6">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">商标类型</label> <label class="layui-form-label">商标类型</label>
<div class="layui-input-block"> <div class="layui-input-block" th:if="${trademarkDTO.trademarkMode == '1'}">
<input type="text" id="trademarkType" readonly name="trademarkType" class="layui-input" style="font-weight: bold" value="" placeholder="待填入" maxlength="500"> <input type="text" id="trademarkType" readonly name="trademarkType" class="layui-input" style="font-weight: bold" value="" placeholder="待填入" maxlength="500">
</div> </div>
<div class="layui-input-block" th:if="${trademarkDTO.trademarkMode != '1'}">
<select id="trademarkType" name="trademarkType" lay-filter="trademarkType">
<option value="">未选择商标类型</option>
<option value="文字商标">文字商标</option>
<option value="图形商标">图形商标</option>
<option value="文字图形组合商标">文字图形组合商标</option>
</select>
</div>
</div> </div>
</div> </div>
<div class="layui-col-lg6"> <div class="layui-col-lg6">
@ -176,28 +184,55 @@
</div> </div>
</div> </div>
</div> </div>
<div class="layui-col-lg12">
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">备注信息 <button type="button" id="trademarkRemarkClick" class="layui-btn layui-btn-xs" >保存</button></label>
<div class="layui-input-block">
<textarea id="trademarkRemark" name="trademarkRemark" class="layui-textarea" placeholder="请输入商标申请备注信息"></textarea>
</div>
</div>
</div>
<div class=" layui-row " id="payDiv" style="display: none"> <div class=" layui-row " id="payDiv" style="display: none">
<blockquote class="layui-elem-quote">付款信息</blockquote> <blockquote class="layui-elem-quote">付款信息</blockquote>
<div class="layui-col-lg6"> <div class="layui-col-lg3">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">付款金额 </label> <label class="layui-form-label">购买人 </label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" class="layui-input" readonly name="trademarkMoney" placeholder="" maxLength="50"> <input type="text" class="layui-input" readonly name="userUsername" placeholder="" maxLength="50">
</div> </div>
</div> </div>
</div> </div>
<div class="layui-col-lg6"> <div class="layui-col-lg9">
<div class="layui-form-item"> <div class=" layui-row ">
<label class="layui-form-label">付款时间 </label> <div class="layui-col-lg6">
<div class="layui-input-block"> <div class="layui-form-item">
<input type="text" class="layui-input" readonly name="trademarkPayTime" placeholder="" maxLength="50"> <label class="layui-form-label">付款金额 </label>
<div class="layui-input-block">
<input type="text" class="layui-input" readonly name="trademarkMoney" placeholder="" maxLength="50">
</div>
</div>
</div>
<div class="layui-col-lg6">
<div class="layui-form-item">
<label class="layui-form-label">付款时间 </label>
<div class="layui-input-block">
<input type="text" class="layui-input" readonly name="trademarkPayTime" placeholder="" maxLength="50">
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="layui-form-item layui-layout-admin" >
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;z-index: 0">
<button type="button" id="subMit2" class="layui-btn layui-disabled" lay-submit lay-filter="submitForm1" disabled>提交保存</button>
</div>
</div>
</div>-->
</div> </div>
<div class="layui-tab-item"> <div class="layui-tab-item" th:if="${trademarkDTO.trademarkMode == '1'}">
<div class=" layui-row "> <div class=" layui-row ">
<div class="layui-col-lg12"> <div class="layui-col-lg12">
<div class="layui-form-item"> <div class="layui-form-item">
@ -208,8 +243,15 @@
</div> </div>
</div> </div>
</div> </div>
<!--<div class="layui-form-item layui-layout-admin" >
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;z-index: 0">
<button type="button" id="subMit1" class="layui-btn layui-disabled" lay-submit lay-filter="submitForm1" disabled>提交保存</button>
</div>
</div>
</div>-->
</div> </div>
<div class="layui-tab-item"> <div class="layui-tab-item" th:if="${trademarkDTO.trademarkMode == '1'}">
<div id="userInfo"></div> <div id="userInfo"></div>
<script id="userInfoTemplate" type="text/html"> <script id="userInfoTemplate" type="text/html">
<blockquote class="layui-elem-quote">申请人信息</blockquote> <blockquote class="layui-elem-quote">申请人信息</blockquote>
@ -312,9 +354,16 @@
<input type="text" class="layui-input" readonly value="{{ d.contactAddress }}" placeholder="待填入" maxLength="50"> <input type="text" class="layui-input" readonly value="{{ d.contactAddress }}" placeholder="待填入" maxLength="50">
</div> </div>
</div> </div>
<!-- <div class="layui-form-item layui-layout-admin" >
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;z-index: 0">
<button type="button" id="subMit3" class="layui-btn layui-disabled" lay-submit lay-filter="submitForm3">提交保存</button>
</div>
</div>
</div>-->
</script> </script>
</div> </div>
<div class="layui-tab-item" pane="" th:if="${trademarkDTO.trademarkStatus == '2'}"> <div class="layui-tab-item" pane="" th:if="${trademarkDTO.trademarkStatus == '2' && trademarkDTO.trademarkMode == '1'}">
<div class=" layui-row " > <div class=" layui-row " >
<div class="layui-col-lg6" pane=""> <div class="layui-col-lg6" pane="">
<div class="layui-form-item" pane=""> <div class="layui-form-item" pane="">
@ -539,6 +588,39 @@
var wangEditorObj = {}; var wangEditorObj = {};
var viewerObj = {}; var viewerObj = {};
form.on('select(trademarkType)', function(data) {
var value = data.value;
var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/trademark/update-system/{trademarkId}', [trademarkId]), {
trademarkType : value == '文字商标' ? 'text' : value == '图形商标' ? 'image' : value == '文字图形组合商标' ? 'text-image' : ''
}, null, function(code, data) {
layer.msg("更新成功");
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
});
// 监听textarea输入事件
$('#trademarkRemarkClick').on('click', function(){
const remark = $('#trademarkRemark').val();
var loadLayerIndex;trademarkRemarkClick
top.restAjax.put(top.restAjax.path('api/trademark/update-remark/{trademarkId}', [trademarkId]), {
trademarkRemark : remark
}, null, function(code, data) {
layer.msg("更新成功");
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
});
$("#layui-card-body").height(window.innerHeight - 80); $("#layui-card-body").height(window.innerHeight - 80);
function closeBox() { function closeBox() {
@ -911,9 +993,11 @@
}else if(data.trademarkType == 'image') { }else if(data.trademarkType == 'image') {
data.trademarkType = "图形商标"; data.trademarkType = "图形商标";
$("#trademarkType").css({"color" : "green"}); $("#trademarkType").css({"color" : "green"});
}else { }else if(data.trademarkType == 'text-image') {
data.trademarkType = "文字图形组合商标"; data.trademarkType = "文字图形组合商标";
$("#trademarkType").css({"color" : "orange"}); $("#trademarkType").css({"color" : "orange"});
}else {
data.trademarkType = "-";
} }
data.trademarkMoney = data.trademarkMoney / 100.0; data.trademarkMoney = data.trademarkMoney / 100.0;
data.trademarkModePrice = data.trademarkModePrice / 100.0 data.trademarkModePrice = data.trademarkModePrice / 100.0
@ -941,16 +1025,17 @@
$("#payDiv").show(); $("#payDiv").show();
} }
dataFormData.trademarkStatus = getStatus(data); dataFormData.trademarkStatus = getStatus(data);
form.val('dataForm', dataFormData);
form.render(null, 'dataForm');
initTrademarkFileUploadFile();
$("#trademarkPhotoImage").attr("src", "route/file/download/false/" + data.trademarkPhoto);
new Viewer(document.getElementById("trademarkPhotoSpanDiv"), { initTrademarkFileUploadFile();
url: "route/file/download/false/" + data.trademarkPhoto, if(data.trademarkPhoto) {
fullscreen: false, // 不需要全屏 $("#trademarkPhotoImage").attr("src", "route/file/download/false/" + data.trademarkPhoto);
title: false, //不需要文件标题 new Viewer(document.getElementById("trademarkPhotoSpanDiv"), {
}); url: "route/file/download/false/" + data.trademarkPhoto,
fullscreen: false, // 不需要全屏
title: false, //不需要文件标题
});
}
if(data.trademarkProgress >= 5 && data.trademarkFileDepute) { if(data.trademarkProgress >= 5 && data.trademarkFileDepute) {
$("#trademarkFileDeputeDiv").show(); $("#trademarkFileDeputeDiv").show();
$("#trademarkFileDeputeImage").attr("src", "route/file/download/false/" + data.trademarkFileDepute); $("#trademarkFileDeputeImage").attr("src", "route/file/download/false/" + data.trademarkFileDepute);
@ -961,19 +1046,25 @@
}); });
} }
laytpl(document.getElementById("userInfoTemplate").innerHTML).render(data.trademarkUserDTO, function(html) { if(data.trademarkMode == '1') {
document.getElementById("userInfo").innerHTML = html; laytpl(document.getElementById("userInfoTemplate").innerHTML).render(data.trademarkUserDTO, function(html) {
new Viewer(document.getElementById("identityPhoto"), { document.getElementById("userInfo").innerHTML = html;
url: "route/file/download/false/" + data.trademarkUserDTO.identityPhoto, if(data.trademarkUserDTO.identityPhoto) {
fullscreen: false, // 不需要全屏 new Viewer(document.getElementById("identityPhoto"), {
title: false, //不需要文件标题 url: "route/file/download/false/" + data.trademarkUserDTO.identityPhoto,
fullscreen: false, // 不需要全屏
title: false, //不需要文件标题
});
}
if(data.trademarkUserDTO.businessLicense) {
new Viewer(document.getElementById("businessLicense"), {
url: "route/file/download/false/" + data.trademarkUserDTO.businessLicense,
fullscreen: false, // 不需要全屏
title: false, //不需要文件标题
});
}
}); });
new Viewer(document.getElementById("businessLicense"), { }
url: "route/file/download/false/" + data.trademarkUserDTO.businessLicense,
fullscreen: false, // 不需要全屏
title: false, //不需要文件标题
});
});
if(data.trademarkStatus == "2") { if(data.trademarkStatus == "2") {
$("#subMit").removeClass("layui-disabled"); $("#subMit").removeClass("layui-disabled");
$("#subMit").removeAttr("disabled"); $("#subMit").removeAttr("disabled");
@ -982,6 +1073,8 @@
$("#iframeWindows").attr("src", top.restAjax.path('route/goodslog/list?goodsId={goodsId}', [data.trademarkId])); $("#iframeWindows").attr("src", top.restAjax.path('route/goodslog/list?goodsId={goodsId}', [data.trademarkId]));
$("#iframeWindows").css({height: window.innerHeight - 130}); $("#iframeWindows").css({height: window.innerHeight - 130});
$("#iframeWindows2").css({height: window.innerHeight - 130}); $("#iframeWindows2").css({height: window.innerHeight - 130});
form.val('dataForm', dataFormData);
form.render(null, 'dataForm');
}, function(code, data) { }, function(code, data) {
top.dialog.msg(data.msg); top.dialog.msg(data.msg);
}, function() { }, function() {
@ -995,6 +1088,7 @@
function getStatus(data) { function getStatus(data) {
var rowData = data.trademarkStatus; var rowData = data.trademarkStatus;
var progress = data.trademarkProgress; var progress = data.trademarkProgress;
var mode = data.trademarkMode;
// 状态-1:已取消,0:待付款,1:已付款,2:已提交后台,3:已提交申请,(4:不予受理,5:已受理),6:已发初审公告,(7:部分驳回,8:全部驳回),9:完结 // 状态-1:已取消,0:待付款,1:已付款,2:已提交后台,3:已提交申请,(4:不予受理,5:已受理),6:已发初审公告,(7:部分驳回,8:全部驳回),9:完结
if(rowData == "-1") { if(rowData == "-1") {
return "预审未通过"; return "预审未通过";
@ -1015,9 +1109,17 @@
return "已上传委托书"; return "已上传委托书";
} }
}else if(rowData == "2") { }else if(rowData == "2") {
return "已提交申请"; if(mode == '1') {
return "已提交申请";
}else{
return "已线下沟通";
}
}else if(rowData == "3") { }else if(rowData == "3") {
return "已提交至商标局"; if(mode == '1') {
return "已提交至商标局";
}else{
return "已接单并提交至商标局";
}
}else if(rowData == "4") { }else if(rowData == "4") {
return "不予受理"; return "不予受理";
}else if(rowData == "5") { }else if(rowData == "5") {