合并分支 'fix_20230524' 到 'master'
Fix 20230524 查看合并请求 laws-nio/laws-weilai!332
This commit is contained in:
+5
-1
@@ -127,7 +127,11 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
|
|||||||
@Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code+':'+#key+#cut")
|
@Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code+':'+#key+#cut")
|
||||||
public String queryDictTextByKeyEn(String code, String key,String cut) {
|
public String queryDictTextByKeyEn(String code, String key,String cut) {
|
||||||
log.debug("无缓存dictText的时候调用这里!");
|
log.debug("无缓存dictText的时候调用这里!");
|
||||||
return sysDictMapper.queryDictTextByKeyEn(code, key);
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
return sysDictMapper.queryDictTextByKey(code, key);
|
||||||
|
}else{
|
||||||
|
return sysDictMapper.queryDictTextByKeyEn(code, key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+24
-2
@@ -12,6 +12,8 @@ import com.jero.common.system.query.QueryGenerator;
|
|||||||
import com.jero.modules.extRepo.entity.ExtRepoData;
|
import com.jero.modules.extRepo.entity.ExtRepoData;
|
||||||
import com.jero.modules.ota.entity.OtaBaCxList;
|
import com.jero.modules.ota.entity.OtaBaCxList;
|
||||||
import com.jero.modules.ota.service.IOtaBaCxListService;
|
import com.jero.modules.ota.service.IOtaBaCxListService;
|
||||||
|
import com.jero.modules.ota.utils.ComparisonUtil;
|
||||||
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -26,6 +28,7 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -43,6 +46,8 @@ import java.util.Map;
|
|||||||
public class OtaBaCxListController extends JeroController<OtaBaCxList, IOtaBaCxListService> {
|
public class OtaBaCxListController extends JeroController<OtaBaCxList, IOtaBaCxListService> {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IOtaBaCxListService otaBaCxListService;
|
private IOtaBaCxListService otaBaCxListService;
|
||||||
|
@Autowired
|
||||||
|
private ISysDictService sysDictService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
@@ -94,7 +99,23 @@ public class OtaBaCxListController extends JeroController<OtaBaCxList, IOtaBaCxL
|
|||||||
}
|
}
|
||||||
queryWrapper.orderByDesc(OtaBaCxList::getCreateTime);
|
queryWrapper.orderByDesc(OtaBaCxList::getCreateTime);
|
||||||
IPage<OtaBaCxList> pageList = otaBaCxListService.page(page, queryWrapper);
|
IPage<OtaBaCxList> pageList = otaBaCxListService.page(page, queryWrapper);
|
||||||
return Result.OK(pageList);
|
for (OtaBaCxList pa : pageList.getRecords()) {
|
||||||
|
pa.setBazt_dictText(sysDictService.queryDictTextByKeyEn("recordstatus", pa.getBazt(), req.getParameter("cut")));
|
||||||
|
}
|
||||||
|
Map<String, Object> resMap = new HashMap<>();
|
||||||
|
resMap.put("list", pageList);
|
||||||
|
//有审批周期的数据
|
||||||
|
int days = 0;
|
||||||
|
int spzqSum = 0;
|
||||||
|
List<OtaBaCxList> list = otaBaCxListService.list(queryWrapper);
|
||||||
|
for (OtaBaCxList cx : list) {
|
||||||
|
if (StringUtils.isNotEmpty(cx.getSpzq())) {
|
||||||
|
days++;
|
||||||
|
spzqSum += Integer.parseInt(cx.getSpzq());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
resMap.put("pjspzq", days == 0 ? 0 : Math.floor(spzqSum / days));
|
||||||
|
return Result.OK(resMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -219,9 +240,10 @@ public class OtaBaCxListController extends JeroController<OtaBaCxList, IOtaBaCxL
|
|||||||
String ids = json.getString("ids");
|
String ids = json.getString("ids");
|
||||||
String bazt = json.getString("bazt");
|
String bazt = json.getString("bazt");
|
||||||
String batjsj = json.getString("batjsj");
|
String batjsj = json.getString("batjsj");
|
||||||
|
String tgthsj = json.getString("tgthsj");
|
||||||
String bz = json.getString("bz");
|
String bz = json.getString("bz");
|
||||||
String cut = json.getString("cut");
|
String cut = json.getString("cut");
|
||||||
otaBaCxListService.batchRecord(ids, bazt, batjsj, bz, cut);
|
otaBaCxListService.batchRecord(ids, bazt, batjsj,tgthsj, bz, cut);
|
||||||
return Result.OK("备案维护成功!");
|
return Result.OK("备案维护成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+26
-3
@@ -12,6 +12,8 @@ import com.jero.common.system.query.QueryGenerator;
|
|||||||
import com.jero.modules.ota.entity.OtaBaCxList;
|
import com.jero.modules.ota.entity.OtaBaCxList;
|
||||||
import com.jero.modules.ota.entity.OtaBaSjList;
|
import com.jero.modules.ota.entity.OtaBaSjList;
|
||||||
import com.jero.modules.ota.service.IOtaBaSjListService;
|
import com.jero.modules.ota.service.IOtaBaSjListService;
|
||||||
|
import com.jero.modules.ota.utils.ComparisonUtil;
|
||||||
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -25,7 +27,9 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,6 +45,8 @@ import java.util.List;
|
|||||||
public class OtaBaSjListController extends JeroController<OtaBaSjList, IOtaBaSjListService> {
|
public class OtaBaSjListController extends JeroController<OtaBaSjList, IOtaBaSjListService> {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IOtaBaSjListService otaBaSjListService;
|
private IOtaBaSjListService otaBaSjListService;
|
||||||
|
@Autowired
|
||||||
|
private ISysDictService sysDictService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
@@ -90,8 +96,24 @@ public class OtaBaSjListController extends JeroController<OtaBaSjList, IOtaBaSjL
|
|||||||
}
|
}
|
||||||
queryWrapper.orderByDesc(OtaBaSjList::getCreateTime);
|
queryWrapper.orderByDesc(OtaBaSjList::getCreateTime);
|
||||||
IPage<OtaBaSjList> pageList = otaBaSjListService.page(page, queryWrapper);
|
IPage<OtaBaSjList> pageList = otaBaSjListService.page(page, queryWrapper);
|
||||||
this.otaBaSjListService.disposeData(pageList.getRecords(),otaBaSjList);
|
for (OtaBaSjList pa : pageList.getRecords()) {
|
||||||
return Result.OK(pageList);
|
pa.setBazt_dictText(sysDictService.queryDictTextByKeyEn("recordstatus", pa.getBazt(), req.getParameter("cut")));
|
||||||
|
}
|
||||||
|
this.otaBaSjListService.disposeData(pageList.getRecords(), otaBaSjList);
|
||||||
|
Map<String, Object> resMap = new HashMap<>();
|
||||||
|
resMap.put("list", pageList);
|
||||||
|
//有审批周期的数据
|
||||||
|
int days = 0;
|
||||||
|
int spzqSum = 0;
|
||||||
|
List<OtaBaSjList> list = otaBaSjListService.list(queryWrapper);
|
||||||
|
for (OtaBaSjList sj : list) {
|
||||||
|
if (StringUtils.isNotEmpty(sj.getSpzq())) {
|
||||||
|
days++;
|
||||||
|
spzqSum += Integer.parseInt(sj.getSpzq());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
resMap.put("pjspzq", days == 0 ? 0 : Math.floor(spzqSum / days));
|
||||||
|
return Result.OK(resMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -215,9 +237,10 @@ public class OtaBaSjListController extends JeroController<OtaBaSjList, IOtaBaSjL
|
|||||||
String ids = json.getString("ids");
|
String ids = json.getString("ids");
|
||||||
String bazt = json.getString("bazt");
|
String bazt = json.getString("bazt");
|
||||||
String batjsj = json.getString("batjsj");
|
String batjsj = json.getString("batjsj");
|
||||||
|
String tgthsj = json.getString("tgthsj");
|
||||||
String bz = json.getString("bz");
|
String bz = json.getString("bz");
|
||||||
String cut = json.getString("cut");
|
String cut = json.getString("cut");
|
||||||
otaBaSjListService.batchRecord(ids, bazt, batjsj, bz, cut);
|
otaBaSjListService.batchRecord(ids, bazt, batjsj, tgthsj, bz, cut);
|
||||||
return Result.OK("备案维护成功!");
|
return Result.OK("备案维护成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+20
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
|||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -97,6 +98,9 @@ public class OtaBaCxList implements Serializable {
|
|||||||
@Dict(dicCode = "recordstatus")
|
@Dict(dicCode = "recordstatus")
|
||||||
private java.lang.String bazt;
|
private java.lang.String bazt;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String bazt_dictText;
|
||||||
|
|
||||||
/**备案提交时间*/
|
/**备案提交时间*/
|
||||||
@Excel(name = "备案提交时间", width = 15, format = "yyyy-MM-dd")
|
@Excel(name = "备案提交时间", width = 15, format = "yyyy-MM-dd")
|
||||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
@@ -126,6 +130,22 @@ public class OtaBaCxList implements Serializable {
|
|||||||
@ApiModelProperty(value = "在线升级驾驶附件")
|
@ApiModelProperty(value = "在线升级驾驶附件")
|
||||||
private java.lang.String zxsjjsfj;
|
private java.lang.String zxsjjsfj;
|
||||||
|
|
||||||
|
|
||||||
|
/**通过退回时间*/
|
||||||
|
@Excel(name = "通过退回时间", width = 15, format = "yyyy-MM-dd")
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "通过退回时间")
|
||||||
|
private java.util.Date tgthsj;
|
||||||
|
|
||||||
|
/**审批周期*/
|
||||||
|
@Excel(name = "审批周期", width = 15)
|
||||||
|
@ApiModelProperty(value = "审批周期")
|
||||||
|
private java.lang.String spzq;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void updateData(OtaBaCxJbxx otaBaCxJbxx){
|
public void updateData(OtaBaCxJbxx otaBaCxJbxx){
|
||||||
this.cpdjbh = otaBaCxJbxx.getDjbh();
|
this.cpdjbh = otaBaCxJbxx.getDjbh();
|
||||||
this.ggpc = otaBaCxJbxx.getGgpc();
|
this.ggpc = otaBaCxJbxx.getGgpc();
|
||||||
|
|||||||
+15
@@ -125,6 +125,9 @@ public class OtaBaSjList implements Serializable {
|
|||||||
@Dict(dicCode = "recordstatus")
|
@Dict(dicCode = "recordstatus")
|
||||||
private java.lang.String bazt;
|
private java.lang.String bazt;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String bazt_dictText;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案提交时间
|
* 备案提交时间
|
||||||
*/
|
*/
|
||||||
@@ -168,6 +171,18 @@ public class OtaBaSjList implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String rwmc;
|
private String rwmc;
|
||||||
|
|
||||||
|
/**通过退回时间*/
|
||||||
|
@Excel(name = "通过退回时间", width = 15, format = "yyyy-MM-dd")
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "通过退回时间")
|
||||||
|
private java.util.Date tgthsj;
|
||||||
|
|
||||||
|
/**审批周期*/
|
||||||
|
@Excel(name = "审批周期", width = 15)
|
||||||
|
@ApiModelProperty(value = "审批周期")
|
||||||
|
private java.lang.String spzq;
|
||||||
|
|
||||||
public void updateData(OtaBaSjSjmbcx otaBaSjSjmbcx) {
|
public void updateData(OtaBaSjSjmbcx otaBaSjSjmbcx) {
|
||||||
this.cpdjbh = otaBaSjSjmbcx.getBabh();
|
this.cpdjbh = otaBaSjSjmbcx.getBabh();
|
||||||
this.ggpc = otaBaSjSjmbcx.getBapc();
|
this.ggpc = otaBaSjSjmbcx.getBapc();
|
||||||
|
|||||||
+1
-1
@@ -64,7 +64,7 @@ public interface IOtaBaCxListService extends IService<OtaBaCxList> {
|
|||||||
/**
|
/**
|
||||||
* 备案维护
|
* 备案维护
|
||||||
*/
|
*/
|
||||||
void batchRecord(String ids, String bazt, String batjsj, String bz, String cut);
|
void batchRecord(String ids, String bazt, String batjsj, String tgthsj,String bz, String cut);
|
||||||
|
|
||||||
void exportTemplate(HttpServletResponse response, HttpServletRequest request);
|
void exportTemplate(HttpServletResponse response, HttpServletRequest request);
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@ public interface IOtaBaSjListService extends IService<OtaBaSjList> {
|
|||||||
/**
|
/**
|
||||||
* 备案维护
|
* 备案维护
|
||||||
*/
|
*/
|
||||||
void batchRecord(String ids, String bazt, String batjsj, String bz, String cut);
|
void batchRecord(String ids, String bazt, String batjsj, String tgthsj,String bz, String cut);
|
||||||
|
|
||||||
void exportTemplate(HttpServletResponse response, HttpServletRequest request) throws Exception;
|
void exportTemplate(HttpServletResponse response, HttpServletRequest request) throws Exception;
|
||||||
|
|
||||||
|
|||||||
+15
-16
@@ -63,17 +63,17 @@ public class OtaBaCxJbxxServiceImpl extends ServiceImpl<OtaBaCxJbxxMapper, OtaBa
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public OtaBaCxJbxx add(OtaBaCxJbxx otaBaCxJbxx) throws Exception {
|
public OtaBaCxJbxx add(OtaBaCxJbxx otaBaCxJbxx) throws Exception {
|
||||||
String ggpc = otaBaCxJbxx.getGgpc();
|
String djbh = otaBaCxJbxx.getDjbh();
|
||||||
//对比填写记录用的
|
//对比填写记录用的
|
||||||
OtaBaCxJbxx otaBaCxJbxxOld = new OtaBaCxJbxx();
|
OtaBaCxJbxx otaBaCxJbxxOld = new OtaBaCxJbxx();
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
OtaBaCxList otaBaCxList;
|
OtaBaCxList otaBaCxList;
|
||||||
if (StringUtils.isEmpty(otaBaCxJbxx.getOtaId())) {
|
if (StringUtils.isEmpty(otaBaCxJbxx.getOtaId())) {
|
||||||
if (StringUtils.isNotEmpty(ggpc)) {
|
if (StringUtils.isNotEmpty(djbh)) {
|
||||||
List<OtaBaCxJbxx> xxList = this.list();
|
List<OtaBaCxJbxx> xxList = this.list();
|
||||||
for (OtaBaCxJbxx xx : xxList) {
|
for (OtaBaCxJbxx xx : xxList) {
|
||||||
if (ggpc.equals(xx.getGgpc())) {
|
if (djbh.equals(xx.getDjbh())) {
|
||||||
throw new JeroBootException("公告批次重复");
|
throw new JeroBootException("产品登记编号重复");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -87,11 +87,11 @@ public class OtaBaCxJbxxServiceImpl extends ServiceImpl<OtaBaCxJbxxMapper, OtaBa
|
|||||||
otaBaCxJbxx.setCreateTime(now);
|
otaBaCxJbxx.setCreateTime(now);
|
||||||
} else {
|
} else {
|
||||||
otaBaCxJbxxOld = this.getByOtaId(otaBaCxJbxx.getOtaId());
|
otaBaCxJbxxOld = this.getByOtaId(otaBaCxJbxx.getOtaId());
|
||||||
if (StringUtils.isNotEmpty(ggpc)) {
|
if (StringUtils.isNotEmpty(djbh)) {
|
||||||
List<OtaBaCxJbxx> xxList = this.list();
|
List<OtaBaCxJbxx> xxList = this.list();
|
||||||
for (OtaBaCxJbxx xx : xxList) {
|
for (OtaBaCxJbxx xx : xxList) {
|
||||||
if (!xx.getOtaId().equals(otaBaCxJbxx.getOtaId()) && ggpc.equals(xx.getGgpc())) {
|
if (!xx.getOtaId().equals(otaBaCxJbxx.getOtaId()) && djbh.equals(xx.getDjbh())) {
|
||||||
throw new JeroBootException("公告批次重复");
|
throw new JeroBootException("产品登记编号重复");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -241,26 +241,25 @@ public class OtaBaCxJbxxServiceImpl extends ServiceImpl<OtaBaCxJbxxMapper, OtaBa
|
|||||||
if (cpbh.length() > 500) {
|
if (cpbh.length() > 500) {
|
||||||
throw new JeroBootException("产品登记编号字数超过500");
|
throw new JeroBootException("产品登记编号字数超过500");
|
||||||
}
|
}
|
||||||
jbxx.setDjbh(cpbh);
|
if (StringUtils.isNotEmpty(cpbh)) {
|
||||||
|
|
||||||
row = s.getRow(4);
|
|
||||||
cell = row.getCell(1);
|
|
||||||
String ggpc = ImportFileUtil.getCellValue(cell, wb);
|
|
||||||
if (StringUtils.isNotEmpty(ggpc)) {
|
|
||||||
List<OtaBaCxJbxx> xxList = this.list();
|
List<OtaBaCxJbxx> xxList = this.list();
|
||||||
for (OtaBaCxJbxx xx : xxList) {
|
for (OtaBaCxJbxx xx : xxList) {
|
||||||
if (ggpc.equals(xx.getGgpc())) {
|
if (cpbh.equals(xx.getDjbh())) {
|
||||||
throw new JeroBootException("公告批次重复");
|
throw new JeroBootException("产品登记编号重复");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jbxx.setGgpc(ggpc);
|
jbxx.setDjbh(cpbh);
|
||||||
|
|
||||||
row = s.getRow(1);
|
row = s.getRow(1);
|
||||||
cell = row.getCell(1);
|
cell = row.getCell(1);
|
||||||
jbxx.setQymc(ImportFileUtil.getCellValue(cell, wb));
|
jbxx.setQymc(ImportFileUtil.getCellValue(cell, wb));
|
||||||
row = s.getRow(3);
|
row = s.getRow(3);
|
||||||
cell = row.getCell(1);
|
cell = row.getCell(1);
|
||||||
jbxx.setCplb(ImportFileUtil.getCellValueDict(cell, wb, "product_category", sysDictService, cut));
|
jbxx.setCplb(ImportFileUtil.getCellValueDict(cell, wb, "product_category", sysDictService, cut));
|
||||||
|
row = s.getRow(4);
|
||||||
|
cell = row.getCell(1);
|
||||||
|
jbxx.setGgpc(ImportFileUtil.getCellValue(cell, wb));
|
||||||
row = s.getRow(5);
|
row = s.getRow(5);
|
||||||
cell = row.getCell(1);
|
cell = row.getCell(1);
|
||||||
jbxx.setCpsb(ImportFileUtil.getCellValue(cell, wb));
|
jbxx.setCpsb(ImportFileUtil.getCellValue(cell, wb));
|
||||||
|
|||||||
+21
-2
@@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -152,15 +153,33 @@ public class OtaBaCxListServiceImpl extends ServiceImpl<OtaBaCxListMapper, OtaBa
|
|||||||
* 备案维护
|
* 备案维护
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void batchRecord(String ids, String bazt, String batjsj, String bz, String cut) {
|
public void batchRecord(String ids, String bazt, String batjsj, String tgthsj,String bz, String cut) {
|
||||||
try {
|
try {
|
||||||
if (StringUtils.isNotEmpty(ids)) {
|
if (StringUtils.isNotEmpty(ids)) {
|
||||||
String[] idList = ids.split(",");
|
String[] idList = ids.split(",");
|
||||||
for (String id : idList) {
|
for (String id : idList) {
|
||||||
OtaBaCxList otaBaCxList = this.queryById(id);
|
OtaBaCxList otaBaCxList = this.queryById(id);
|
||||||
otaBaCxList.setBazt(bazt);
|
otaBaCxList.setBazt(bazt);
|
||||||
otaBaCxList.setBatjsj(sdf.parse(batjsj));
|
otaBaCxList.setBatjsj(null);
|
||||||
|
if (StringUtils.isNotEmpty(batjsj)) {
|
||||||
|
otaBaCxList.setBatjsj(sdf.parse(batjsj));
|
||||||
|
}
|
||||||
|
otaBaCxList.setTgthsj(null);
|
||||||
|
if (StringUtils.isNotEmpty(tgthsj)) {
|
||||||
|
otaBaCxList.setTgthsj(sdf.parse(tgthsj));
|
||||||
|
}
|
||||||
|
otaBaCxList.setSpzq(null);
|
||||||
|
if(null != otaBaCxList.getBatjsj() && null != otaBaCxList.getTgthsj()){
|
||||||
|
Calendar calendar1 = Calendar.getInstance();
|
||||||
|
calendar1.setTime(otaBaCxList.getBatjsj());
|
||||||
|
|
||||||
|
Calendar calendar2 = Calendar.getInstance();
|
||||||
|
calendar2.setTime(otaBaCxList.getTgthsj());
|
||||||
|
int daysDifference = (int) Math.floor((calendar2.getTimeInMillis() - calendar1.getTimeInMillis()) / (1000 * 60 * 60 * 24));
|
||||||
|
otaBaCxList.setSpzq(String.valueOf(daysDifference));
|
||||||
|
}
|
||||||
otaBaCxList.setBz(bz);
|
otaBaCxList.setBz(bz);
|
||||||
|
this.deleteById(otaBaCxList.getId());
|
||||||
this.saveOrUpdate(otaBaCxList);
|
this.saveOrUpdate(otaBaCxList);
|
||||||
//添加历史记录数据
|
//添加历史记录数据
|
||||||
OtaBaCxLsjl lsjl = new OtaBaCxLsjl();
|
OtaBaCxLsjl lsjl = new OtaBaCxLsjl();
|
||||||
|
|||||||
+1
-1
@@ -141,7 +141,7 @@ public class OtaBaSjGnxtwhServiceImpl extends ServiceImpl<OtaBaSjGnxtwhMapper, O
|
|||||||
for (OtaBaSjGnxtwh wh : list) {
|
for (OtaBaSjGnxtwh wh : list) {
|
||||||
String[] strs = wh.getDykzq().split(",");
|
String[] strs = wh.getDykzq().split(",");
|
||||||
for (String str : strs) {
|
for (String str : strs) {
|
||||||
if (str.equals(kzq)) {
|
if (kzq.contains(str)) {
|
||||||
return wh.getGnxt();
|
return wh.getGnxt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+26
-2
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.ota.service.impl;
|
package com.jero.modules.ota.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.ota.entity.OtaBaSjList;
|
import com.jero.modules.ota.entity.OtaBaSjList;
|
||||||
@@ -22,6 +23,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -67,6 +69,10 @@ public class OtaBaSjListServiceImpl extends ServiceImpl<OtaBaSjListMapper, OtaBa
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IOtaBaSjQtsjxxService otaBaSjQtsjxxService;
|
private IOtaBaSjQtsjxxService otaBaSjQtsjxxService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <E extends IPage<OtaBaSjList>> E page(E page) {
|
||||||
|
return super.page(page);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
@@ -150,15 +156,33 @@ public class OtaBaSjListServiceImpl extends ServiceImpl<OtaBaSjListMapper, OtaBa
|
|||||||
* 备案维护
|
* 备案维护
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void batchRecord(String ids, String bazt, String batjsj, String bz, String cut) {
|
public void batchRecord(String ids, String bazt, String batjsj,String tgthsj, String bz, String cut) {
|
||||||
try {
|
try {
|
||||||
if (StringUtils.isNotEmpty(ids)) {
|
if (StringUtils.isNotEmpty(ids)) {
|
||||||
String[] idList = ids.split(",");
|
String[] idList = ids.split(",");
|
||||||
for (String id : idList) {
|
for (String id : idList) {
|
||||||
OtaBaSjList otaBaSjList = this.queryById(id);
|
OtaBaSjList otaBaSjList = this.queryById(id);
|
||||||
otaBaSjList.setBazt(bazt);
|
otaBaSjList.setBazt(bazt);
|
||||||
otaBaSjList.setBatjsj(sdf.parse(batjsj));
|
otaBaSjList.setBatjsj(null);
|
||||||
|
if (StringUtils.isNotEmpty(batjsj)) {
|
||||||
|
otaBaSjList.setBatjsj(sdf.parse(batjsj));
|
||||||
|
}
|
||||||
|
otaBaSjList.setTgthsj(null);
|
||||||
|
if (StringUtils.isNotEmpty(tgthsj)) {
|
||||||
|
otaBaSjList.setTgthsj(sdf.parse(tgthsj));
|
||||||
|
}
|
||||||
|
otaBaSjList.setSpzq(null);
|
||||||
|
if(null != otaBaSjList.getBatjsj() && null != otaBaSjList.getTgthsj()){
|
||||||
|
Calendar calendar1 = Calendar.getInstance();
|
||||||
|
calendar1.setTime(otaBaSjList.getBatjsj());
|
||||||
|
|
||||||
|
Calendar calendar2 = Calendar.getInstance();
|
||||||
|
calendar2.setTime(otaBaSjList.getTgthsj());
|
||||||
|
int daysDifference = (int) Math.floor((calendar2.getTimeInMillis() - calendar1.getTimeInMillis()) / (1000 * 60 * 60 * 24));
|
||||||
|
otaBaSjList.setSpzq(String.valueOf(daysDifference));
|
||||||
|
}
|
||||||
otaBaSjList.setBz(bz);
|
otaBaSjList.setBz(bz);
|
||||||
|
this.deleteById(otaBaSjList.getId());
|
||||||
this.saveOrUpdate(otaBaSjList);
|
this.saveOrUpdate(otaBaSjList);
|
||||||
//添加历史记录数据
|
//添加历史记录数据
|
||||||
OtaBaSjLsjl lsjl = new OtaBaSjLsjl();
|
OtaBaSjLsjl lsjl = new OtaBaSjLsjl();
|
||||||
|
|||||||
+29
-15
@@ -31,9 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.File;
|
import java.io.*;
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@@ -262,19 +260,35 @@ public class OtaBaSjSjmbclServiceImpl extends ServiceImpl<OtaBaSjSjmbclMapper, O
|
|||||||
mbcl.setVinList(vinList.get(0).getVin() + "-" + vinList.get(vinList.size() - 1).getVin());
|
mbcl.setVinList(vinList.get(0).getVin() + "-" + vinList.get(vinList.size() - 1).getVin());
|
||||||
|
|
||||||
//生成VIN码文件
|
//生成VIN码文件
|
||||||
LinkedHashMap map = new LinkedHashMap();
|
// LinkedHashMap map = new LinkedHashMap();
|
||||||
map.put("1", "VIN");
|
// map.put("1", "VIN");
|
||||||
List exportData = new ArrayList<Map>();
|
// List exportData = new ArrayList<Map>();
|
||||||
Map vrow = null;
|
// Map vrow = null;
|
||||||
for (int i = 0; i < vinList.size(); i++) {
|
// for (int i = 0; i < vinList.size(); i++) {
|
||||||
vrow = new LinkedHashMap<String, String>();
|
// vrow = new LinkedHashMap<String, String>();
|
||||||
vrow.put("1", vinList.get(i).getVin());
|
// vrow.put("1", vinList.get(i).getVin());
|
||||||
exportData.add(vrow);
|
// exportData.add(vrow);
|
||||||
}
|
// }
|
||||||
|
// String fileName = "VIN码.csv";
|
||||||
|
// File file = CSVUtil.createCSVFile(exportData, map, uploadPath + System.currentTimeMillis(), fileName);
|
||||||
|
// String filePath = uploadPath + "/" + file.getName();
|
||||||
|
|
||||||
String fileName = "VIN码.csv";
|
String fileName = "VIN码.csv";
|
||||||
File file = CSVUtil.createCSVFile(exportData, map, uploadPath + System.currentTimeMillis(), fileName);
|
File csvFileDir = new File(uploadPath + System.currentTimeMillis());
|
||||||
String filePath = uploadPath + "/" + file.getName();
|
csvFileDir.mkdirs();
|
||||||
OSSFile ossFile = ossFileService.uploadLocalOfCos(ImportFileUtil.createMfileByFile(file), "/ota", "", CutEnum.CN.getValue());
|
File csvFile = new File(csvFileDir.getAbsolutePath() + "/" + fileName);
|
||||||
|
try (BufferedWriter writer = new BufferedWriter(new FileWriter(csvFile))) {
|
||||||
|
// 写入数据
|
||||||
|
for (VinObj data : vinList) {
|
||||||
|
String row = data.getVin();
|
||||||
|
writer.write(row);
|
||||||
|
writer.newLine();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.err.println("生成CSV文件失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
OSSFile ossFile = ossFileService.uploadLocalOfCos(ImportFileUtil.createMfileByFile(csvFile), "/ota", "", CutEnum.CN.getValue());
|
||||||
mbcl.setCsv(ossFile.getId());
|
mbcl.setCsv(ossFile.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-2
@@ -19,6 +19,7 @@ import com.jero.modules.ota.utils.ComparisonUtil;
|
|||||||
import com.jero.modules.ota.utils.ImportFileUtil;
|
import com.jero.modules.ota.utils.ImportFileUtil;
|
||||||
import com.jero.modules.project.util.WordUtil;
|
import com.jero.modules.project.util.WordUtil;
|
||||||
import com.jero.modules.split.common.FileUnZip;
|
import com.jero.modules.split.common.FileUnZip;
|
||||||
|
import com.jero.modules.system.entity.SysDepart;
|
||||||
import com.jero.modules.system.service.ISysDictService;
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -193,6 +194,17 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
|
|||||||
if (ObjectUtil.isEmpty(res)) {
|
if (ObjectUtil.isEmpty(res)) {
|
||||||
res = getByOtaId(otaIdT);
|
res = getByOtaId(otaIdT);
|
||||||
}
|
}
|
||||||
|
if (ObjectUtil.isNotEmpty(res)) {
|
||||||
|
Collections.sort(res, (arg0, arg1) -> {
|
||||||
|
if (null == arg0.getXtmc()) {
|
||||||
|
arg0.setXtmc("");
|
||||||
|
}
|
||||||
|
if (null == arg1.getXtmc()) {
|
||||||
|
arg1.setXtmc("");
|
||||||
|
}
|
||||||
|
return arg0.getXtmc().compareTo(arg1.getXtmc());
|
||||||
|
});
|
||||||
|
}
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
json.put("list", res);
|
json.put("list", res);
|
||||||
return json;
|
return json;
|
||||||
@@ -257,13 +269,15 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
|
|||||||
List<String> oldYjbbList = otaBaSjSjxtbh.stream().map(OtaBaSjSjxtbh::getYjbb).distinct().collect(Collectors.toList());
|
List<String> oldYjbbList = otaBaSjSjxtbh.stream().map(OtaBaSjSjxtbh::getYjbb).distinct().collect(Collectors.toList());
|
||||||
List<String> oldTempFileNameList = new ArrayList<>();
|
List<String> oldTempFileNameList = new ArrayList<>();
|
||||||
oldYjbbList.forEach(sjSjxtbh -> {
|
oldYjbbList.forEach(sjSjxtbh -> {
|
||||||
oldTempFileNameList.add(sjSjxtbh.replaceAll("见","") + ".docx");
|
if (StringUtils.isNotEmpty(sjSjxtbh)) {
|
||||||
|
oldTempFileNameList.add(sjSjxtbh.replaceAll("见", "") + ".docx");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
int tempFileIndex = 1;
|
int tempFileIndex = 1;
|
||||||
String tempFilePath = uploadPath + "tempFile" + "/" + otaId;
|
String tempFilePath = uploadPath + "tempFile" + "/" + otaId;
|
||||||
File tempFile = new File(tempFilePath);
|
File tempFile = new File(tempFilePath);
|
||||||
if(!tempFile.exists()){
|
if (!tempFile.exists()) {
|
||||||
tempFile.mkdirs();
|
tempFile.mkdirs();
|
||||||
}
|
}
|
||||||
List<String> tempFileNames = new ArrayList<>();
|
List<String> tempFileNames = new ArrayList<>();
|
||||||
|
|||||||
+22
-21
@@ -389,27 +389,28 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
if(allList.size()>0){
|
if(allList.size()>0){
|
||||||
if(!allList.contains(dutyPerson)){
|
if(!allList.contains(dutyPerson)){
|
||||||
|
if (StringUtils.isNotEmpty(roleCode)) {
|
||||||
if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
|
if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
|
||||||
if(relatedPersonnel.getEngineeringInterfacePerson() != null){
|
if(relatedPersonnel.getEngineeringInterfacePerson() != null){
|
||||||
String engineeringInterfacePerson = dutyPerson+","+relatedPersonnel.getEngineeringInterfacePerson();
|
String engineeringInterfacePerson = dutyPerson+","+relatedPersonnel.getEngineeringInterfacePerson();
|
||||||
relatedPersonnel.setEngineeringInterfacePerson(engineeringInterfacePerson);
|
relatedPersonnel.setEngineeringInterfacePerson(engineeringInterfacePerson);
|
||||||
}else {
|
}else {
|
||||||
relatedPersonnel.setEngineeringInterfacePerson(dutyPerson);
|
relatedPersonnel.setEngineeringInterfacePerson(dutyPerson);
|
||||||
}
|
}
|
||||||
}else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue())){
|
}else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue())){
|
||||||
if(relatedPersonnel.getEngineerLawSet() != null){
|
if(relatedPersonnel.getEngineerLawSet() != null){
|
||||||
String engineerLawSet = dutyPerson+","+relatedPersonnel.getEngineerLawSet();
|
String engineerLawSet = dutyPerson+","+relatedPersonnel.getEngineerLawSet();
|
||||||
relatedPersonnel.setEngineerLawSet(engineerLawSet);
|
relatedPersonnel.setEngineerLawSet(engineerLawSet);
|
||||||
}else {
|
}else {
|
||||||
relatedPersonnel.setEngineerLawSet(dutyPerson);
|
relatedPersonnel.setEngineerLawSet(dutyPerson);
|
||||||
}
|
}
|
||||||
}else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){
|
}else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){
|
||||||
if(relatedPersonnel.getEngineerAttSet() !=null){
|
if(relatedPersonnel.getEngineerAttSet() !=null){
|
||||||
String engineerAttSet = dutyPerson+","+relatedPersonnel.getEngineerAttSet();
|
String engineerAttSet = dutyPerson+","+relatedPersonnel.getEngineerAttSet();
|
||||||
relatedPersonnel.setEngineerAttSet(engineerAttSet);
|
relatedPersonnel.setEngineerAttSet(engineerAttSet);
|
||||||
}else {
|
}else {
|
||||||
relatedPersonnel.setEngineerAttSet(dutyPerson);
|
relatedPersonnel.setEngineerAttSet(dutyPerson);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1271,7 +1271,7 @@ module.exports = {
|
|||||||
turnOnAutoMatch:'Turn On Auto Match',
|
turnOnAutoMatch:'Turn On Auto Match',
|
||||||
Adjustareasofresponsibility:'Adjust areas of responsibility',
|
Adjustareasofresponsibility:'Adjust areas of responsibility',
|
||||||
regulatoryTechnicalAssessment:'Regulatory Technical Assessment',
|
regulatoryTechnicalAssessment:'Regulatory Technical Assessment',
|
||||||
punctuationmark:'You can only enter English punctuation marks except the # sign and commas',
|
punctuationmark:'You can only enter English punctuation marks except the # sign',
|
||||||
created: 'Time of Creation',
|
created: 'Time of Creation',
|
||||||
updated:'Last Updated',
|
updated:'Last Updated',
|
||||||
OpenOne:'Open',
|
OpenOne:'Open',
|
||||||
@@ -1840,4 +1840,12 @@ module.exports = {
|
|||||||
toResubmit:'To Resubmit',
|
toResubmit:'To Resubmit',
|
||||||
selectDesignConformanceAsConformance:'Select Design Conformance verification process state as Conformance or Verify conformance verification process state as conformance obtained data',
|
selectDesignConformanceAsConformance:'Select Design Conformance verification process state as Conformance or Verify conformance verification process state as conformance obtained data',
|
||||||
submissionProcess:'Submission Process',
|
submissionProcess:'Submission Process',
|
||||||
|
localapproval1:'Local Approval1',
|
||||||
|
localapproval2:'Local Approval2',
|
||||||
|
averageapprovalperiod:'Average approval period',
|
||||||
|
day:'day',
|
||||||
|
passreturntime:'Pass/return time',
|
||||||
|
approvalcycle:'Approval cycle(day)',
|
||||||
|
transittime:'Transit Time',
|
||||||
|
returntime:'Return time',
|
||||||
}
|
}
|
||||||
@@ -1376,7 +1376,7 @@ module.exports = {
|
|||||||
regulatoryTechnicalAssessment: '法规技术评估',
|
regulatoryTechnicalAssessment: '法规技术评估',
|
||||||
OpenOne: '公开',
|
OpenOne: '公开',
|
||||||
Privacy: '私密',
|
Privacy: '私密',
|
||||||
punctuationmark: '只能输入除#号和逗号外的英文标点符号',
|
punctuationmark: '只能输入除#号外的英文标点符号',
|
||||||
created: '创建时间',
|
created: '创建时间',
|
||||||
updated: '更新时间',
|
updated: '更新时间',
|
||||||
optionDropDownBox: '下拉选择',
|
optionDropDownBox: '下拉选择',
|
||||||
@@ -1941,4 +1941,12 @@ module.exports = {
|
|||||||
toResubmit:'重新提交',
|
toResubmit:'重新提交',
|
||||||
selectDesignConformanceAsConformance:'请选择设计符合性确认流程状态为符合或验证符合性确认流程状态为符合的数据',
|
selectDesignConformanceAsConformance:'请选择设计符合性确认流程状态为符合或验证符合性确认流程状态为符合的数据',
|
||||||
submissionProcess:'提交流程',
|
submissionProcess:'提交流程',
|
||||||
|
localapproval1:'地方批准1',
|
||||||
|
localapproval2:'地方批准2',
|
||||||
|
averageapprovalperiod:'平均审批周期',
|
||||||
|
day:'天',
|
||||||
|
passreturntime:'通过/退回时间',
|
||||||
|
approvalcycle:'审批周期(天)',
|
||||||
|
transittime:'通过时间',
|
||||||
|
returntime:'退回时间',
|
||||||
}
|
}
|
||||||
@@ -30,11 +30,11 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required">*</span>
|
<span v-if='!propflag' class="Required">*</span>
|
||||||
<span class="title-text-text" :title="$t('filingtime')">
|
<span class="title-text-text" :title="$t('filingtime')">
|
||||||
{{$t('filingtime')}}</span>
|
{{$t('filingtime')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="batjsj">
|
<a-form-model-item class="itemModel" :prop="!propflag?'batjsj':''" :key="propflag">
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
:placeholder="$t('PleaseSelect')+$t('filingtime')"
|
:placeholder="$t('PleaseSelect')+$t('filingtime')"
|
||||||
@change="dateChange({db_field_name:'batjsj'})"
|
@change="dateChange({db_field_name:'batjsj'})"
|
||||||
@@ -46,6 +46,44 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="24" v-if='transittime'>
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span v-if='!propflag' class="Required">*</span>
|
||||||
|
<span class="title-text-text" :title="$t('transittime')">
|
||||||
|
{{$t('transittime')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('transittime')"
|
||||||
|
@change="dateChange({db_field_name:'tgthsj'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.tgthsj"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 90%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="24" v-if='returntime'>
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span v-if='!propflag' class="Required">*</span>
|
||||||
|
<span class="title-text-text" :title="$t('returntime')">
|
||||||
|
{{$t('returntime')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('returntime')"
|
||||||
|
@change="dateChange({db_field_name:'tgthsj'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.tgthsj"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 90%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -77,9 +115,13 @@ export default {
|
|||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
|
transittime:false,
|
||||||
|
returntime:false,
|
||||||
|
propflag: false,
|
||||||
formInline: {
|
formInline: {
|
||||||
bazt:undefined,
|
bazt:undefined,
|
||||||
batjsj:'',
|
batjsj:'',
|
||||||
|
tgthsj:'',
|
||||||
bz:'',
|
bz:'',
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
@@ -99,7 +141,14 @@ export default {
|
|||||||
],
|
],
|
||||||
bz: [
|
bz: [
|
||||||
{ min: 1, max: 500, message: this.$t('cantExeed') + '500' + this.$t('characters'), trigger: 'blur' }
|
{ min: 1, max: 500, message: this.$t('cantExeed') + '500' + this.$t('characters'), trigger: 'blur' }
|
||||||
]
|
],
|
||||||
|
tgthsj: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('cannotEmpty'),
|
||||||
|
trigger: 'change'
|
||||||
|
}
|
||||||
|
],
|
||||||
// listConfirmation: [
|
// listConfirmation: [
|
||||||
// {
|
// {
|
||||||
// required: true,
|
// required: true,
|
||||||
@@ -161,16 +210,43 @@ export default {
|
|||||||
this.ids = row.join(',')
|
this.ids = row.join(',')
|
||||||
this.formInline = {
|
this.formInline = {
|
||||||
bazt:undefined,
|
bazt:undefined,
|
||||||
|
tgthsj:'',
|
||||||
batjsj:'',
|
batjsj:'',
|
||||||
bz:'',
|
bz:'',
|
||||||
}
|
}
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
}else{
|
}else{
|
||||||
this.formInline.bazt = row.bazt ? row.bazt : undefined
|
this.formInline.bazt = row.bazt ? row.bazt : undefined
|
||||||
this.formInline.batjsj = row.batjsj
|
this.formInline.batjsj = row.batjsj
|
||||||
|
this.formInline.tgthsj = row.tgthsj
|
||||||
this.formInline.bz = row.bz
|
this.formInline.bz = row.bz
|
||||||
this.ids = row.id
|
this.ids = row.id
|
||||||
|
if (this.formInline.bazt == 1) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if (this.formInline.bazt == 2) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if(this.formInline.bazt == 4){
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = true
|
||||||
|
this.returntime = false
|
||||||
|
} else if(this.formInline.bazt == 5){
|
||||||
|
this.propflag = false
|
||||||
|
this.returntime = true
|
||||||
|
this.transittime = false
|
||||||
|
}else{
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.ruleForm.clearValidate()
|
this.$refs.ruleForm.clearValidate()
|
||||||
})
|
})
|
||||||
@@ -197,7 +273,29 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
selectchange(value){
|
selectchange(value) {
|
||||||
|
console.log(value)
|
||||||
|
if (value == 1) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if (value == 2) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if(value == 4){
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = true
|
||||||
|
this.returntime = false
|
||||||
|
} else if(value == 5){
|
||||||
|
this.propflag = false
|
||||||
|
this.returntime = true
|
||||||
|
this.transittime = false
|
||||||
|
}else{
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
this.$refs.ruleForm.validateField('bazt')
|
this.$refs.ruleForm.validateField('bazt')
|
||||||
|
|||||||
@@ -91,36 +91,36 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div @click="createvehicleandfunctionrecords"
|
<div @click="createvehicleandfunctionrecords"
|
||||||
v-has="'regulatoryAndTechnicalAssessment:initiationProcess'"
|
v-has="'otasj:cjcxjgnba'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="plus"/>
|
<a-icon type="plus"/>
|
||||||
{{$t('createanupgradeactivityrecord')}}
|
{{$t('createanupgradeactivityrecord')}}
|
||||||
</div>
|
</div>
|
||||||
<div @click="citeforrecord"
|
<div @click="citeforrecord"
|
||||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
v-has="'otasj:yyba'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="solution"/>
|
<a-icon type="solution"/>
|
||||||
{{$t('citeforrecord')}}
|
{{$t('citeforrecord')}}
|
||||||
</div>
|
</div>
|
||||||
<div @click="maintenanceallClick()"
|
<div @click="maintenanceallClick()"
|
||||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
v-has="'otasj:sjwh'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="setting"/>
|
<a-icon type="setting"/>
|
||||||
{{$t('datamaintenance')}}
|
{{$t('datamaintenance')}}
|
||||||
</div>
|
</div>
|
||||||
<div v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
<div v-has="'otasj:sjdr'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true"
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true"
|
||||||
:accept="'.zip'" @getList="getList"/>
|
:accept="'.zip'" @getList="getList"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleModule"
|
<div @click="handleModule"
|
||||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
v-has="'otasj:mbxz'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
<div @click="gnxtwhClick"
|
<div @click="gnxtwhClick"
|
||||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
v-has="'otasj:onxtwh'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="solution"/>
|
<a-icon type="solution"/>
|
||||||
{{$t('gnxtwh')}}
|
{{$t('gnxtwh')}}
|
||||||
@@ -159,6 +159,9 @@
|
|||||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
|
<div>
|
||||||
|
{{$t('averageapprovalperiod')}} : {{number}}{{$t('day')}}
|
||||||
|
</div>
|
||||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
@@ -205,6 +208,7 @@ export default {
|
|||||||
importZipUrl: '/ota/otaBaSjList/importData',//导入
|
importZipUrl: '/ota/otaBaSjList/importData',//导入
|
||||||
|
|
||||||
},
|
},
|
||||||
|
number:'',
|
||||||
visible: false,
|
visible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
toggleSearchStatus: false,
|
toggleSearchStatus: false,
|
||||||
@@ -301,9 +305,23 @@ export default {
|
|||||||
title: this.$t('filingtime'),
|
title: this.$t('filingtime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 140,
|
width: 170,
|
||||||
dataIndex: 'batjsj'
|
dataIndex: 'batjsj'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('passreturntime'),
|
||||||
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 170,
|
||||||
|
dataIndex: 'tgthsj'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('approvalcycle'),
|
||||||
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 140,
|
||||||
|
dataIndex: 'spzq'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('createTime'),
|
title: this.$t('createTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
@@ -374,13 +392,14 @@ export default {
|
|||||||
this.loading = true
|
this.loading = true
|
||||||
getAction('/ota/otaBaSjList/page', query).then((res) => {
|
getAction('/ota/otaBaSjList/page', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
if (res.result.current > 1 && res.result.records.length == 0) {
|
if (res.result.list.current > 1 && res.result.list.records.length == 0) {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.dataSource = res.result.records || []
|
this.dataSource = res.result.list.records || []
|
||||||
this.total = res.result.total
|
this.number = res.result.pjspzq
|
||||||
|
this.total = res.result.list.total
|
||||||
this.loading = false
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
+2
-2
@@ -2,10 +2,10 @@
|
|||||||
<!-- 第五页 -->
|
<!-- 第五页 -->
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-2
@@ -2,10 +2,10 @@
|
|||||||
<!-- 第二页 -->
|
<!-- 第二页 -->
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-2
@@ -2,10 +2,10 @@
|
|||||||
<!-- 第四页 -->
|
<!-- 第四页 -->
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+87
-14
@@ -2,10 +2,10 @@
|
|||||||
<!-- 第三页 -->
|
<!-- 第三页 -->
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
@@ -136,11 +136,29 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" align="left" height="50px">{{$t('upgradeactivityprovidesuserconfirmationoptions')}}</td>
|
<td colspan="2" align="left" height="50px">{{$t('upgradeactivityprovidesuserconfirmationoptions')}}</td>
|
||||||
<td height="50px">
|
<td :height="qrheight" style='position: relative'>
|
||||||
<a-radio-group style='margin-left: 40px;' v-model="form.yhqr">
|
<div>
|
||||||
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
|
<a-radio-group class='box-input-qr' @change='qrchange' v-model="form.yhqr">
|
||||||
<a-radio :value="2"> {{ $t('not') }} </a-radio>
|
<a-radio :value="'1'"> {{ $t('yes') }} </a-radio>
|
||||||
</a-radio-group>
|
<a-radio :value="'2'"> {{ $t('not') }} </a-radio>
|
||||||
|
</a-radio-group>
|
||||||
|
</div>
|
||||||
|
<div v-if='flagqr'>
|
||||||
|
<j-dict-select-tag class="box-input2"
|
||||||
|
v-model="form.flagqr"
|
||||||
|
:disabled="disable"
|
||||||
|
dictCode="O_T_A_-_sheng1_ji2_ying3_xiang3_ping2_gu1_-_sheng1_ji2_que4_ren4"
|
||||||
|
:placeholder="$t('PleaseSelect')"
|
||||||
|
:type="'select'"
|
||||||
|
@input="handleInput(form.flagqr)"
|
||||||
|
:triggerChange="false"/>
|
||||||
|
</div>
|
||||||
|
<div v-if='flagqrqt'>
|
||||||
|
<a-input class="box-input-qr2"
|
||||||
|
v-model="form.qttext"
|
||||||
|
:title="form.qttext ? form.qttext : $t('PleaseEnter')"
|
||||||
|
:placeholder="$t('PleaseEnter')"></a-input>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -200,6 +218,8 @@ export default {
|
|||||||
importZipUrl: '/ota/otaBaSjSjyxpg/importData?otaId=' + localStorage.getItem('otaId'),//导入
|
importZipUrl: '/ota/otaBaSjSjyxpg/importData?otaId=' + localStorage.getItem('otaId'),//导入
|
||||||
},
|
},
|
||||||
flag:false,
|
flag:false,
|
||||||
|
flagqr:false,
|
||||||
|
flagqrqt:false,
|
||||||
loading: false,
|
loading: false,
|
||||||
disable:false,
|
disable:false,
|
||||||
columns: [
|
columns: [
|
||||||
@@ -329,6 +349,7 @@ export default {
|
|||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
qrheight:'50px',
|
||||||
form:{
|
form:{
|
||||||
sjmd:'',
|
sjmd:'',
|
||||||
}
|
}
|
||||||
@@ -397,6 +418,25 @@ this.$forceUpdate()
|
|||||||
}else{
|
}else{
|
||||||
this.flag = false
|
this.flag = false
|
||||||
}
|
}
|
||||||
|
if(this.form.yhqr == '1'){
|
||||||
|
this.flagqr = true
|
||||||
|
this.qrheight = '100px'
|
||||||
|
}else{
|
||||||
|
this.flagqr = false
|
||||||
|
this.qrheight = '50px'
|
||||||
|
}
|
||||||
|
if(this.form.yhqr == '1' && this.form.flagqr == '344a3320beba45afb3718c59b7a7144a'){
|
||||||
|
this.qrheight = '150px'
|
||||||
|
this.flagqrqt = true
|
||||||
|
}else if(this.form.yhqr == '1' && this.form.flagqr != '344a3320beba45afb3718c59b7a7144a'){
|
||||||
|
this.flagqr = true
|
||||||
|
this.flagqrqt = false
|
||||||
|
this.qrheight = '100px'
|
||||||
|
}else {
|
||||||
|
this.flagqrqt = false
|
||||||
|
this.flagqr = false
|
||||||
|
this.qrheight = '50px'
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
save(){
|
save(){
|
||||||
@@ -426,19 +466,35 @@ this.$forceUpdate()
|
|||||||
changeQuery(val) {
|
changeQuery(val) {
|
||||||
if(val.indexOf('将车辆置于安全状态') != -1 || val.indexOf('Put the vehicle in a safe position') != -1){
|
if(val.indexOf('将车辆置于安全状态') != -1 || val.indexOf('Put the vehicle in a safe position') != -1){
|
||||||
this.flag = true
|
this.flag = true
|
||||||
// let long = localStorage.getItem('language')
|
|
||||||
// let cut = ''
|
|
||||||
// if (long && long == 'zh-cn') {
|
|
||||||
this.form.aqjzWbk = '车辆保持在功能受限制状态,此状态下车辆无法行驶,保证其处于安全状态'
|
this.form.aqjzWbk = '车辆保持在功能受限制状态,此状态下车辆无法行驶,保证其处于安全状态'
|
||||||
// } else if (long && long == 'en-us') {
|
|
||||||
// this.form.aqjzWbk = 'The vehicle remains in a functionally restricted state, in which the vehicle cannot be driven to ensure that it is in a safe state'
|
|
||||||
// }
|
|
||||||
// this.getData()
|
|
||||||
}else{
|
}else{
|
||||||
this.flag = false
|
this.flag = false
|
||||||
this.form.aqjzWbk = ''
|
this.form.aqjzWbk = ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
qrchange(val){
|
||||||
|
if(val.target.value == '1'){
|
||||||
|
this.qrheight = '100px'
|
||||||
|
this.flagqr = true
|
||||||
|
if(this.form.flagqr == '344a3320beba45afb3718c59b7a7144a'){
|
||||||
|
this.qrheight = '150px'
|
||||||
|
this.flagqrqt = true
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.qrheight = '50px'
|
||||||
|
this.flagqr = false
|
||||||
|
this.flagqrqt = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleInput(val){
|
||||||
|
if(val == '344a3320beba45afb3718c59b7a7144a'){
|
||||||
|
this.qrheight = '150px'
|
||||||
|
this.flagqrqt = true
|
||||||
|
}else {
|
||||||
|
this.qrheight = '100px'
|
||||||
|
this.flagqrqt = false
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -475,6 +531,15 @@ this.$forceUpdate()
|
|||||||
margin-left: 40px;
|
margin-left: 40px;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
}
|
}
|
||||||
|
.box-input-qr {
|
||||||
|
//display: inline-block;
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
position: absolute;
|
||||||
|
top: 16px;
|
||||||
|
height: 38px;
|
||||||
|
margin-left: 40px;
|
||||||
|
//top: 4px;
|
||||||
|
}
|
||||||
.box-input2 {
|
.box-input2 {
|
||||||
//display: inline-block;
|
//display: inline-block;
|
||||||
width: calc(100% - 80px);
|
width: calc(100% - 80px);
|
||||||
@@ -483,6 +548,14 @@ this.$forceUpdate()
|
|||||||
margin-left: 40px;
|
margin-left: 40px;
|
||||||
top: 50px;
|
top: 50px;
|
||||||
}
|
}
|
||||||
|
.box-input-qr2 {
|
||||||
|
//display: inline-block;
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
position: absolute;
|
||||||
|
height: 38px;
|
||||||
|
margin-left: 40px;
|
||||||
|
top: 95px;
|
||||||
|
}
|
||||||
::v-deep .ant-table-row-cell-ellipsis .ant-table-column-title {
|
::v-deep .ant-table-row-cell-ellipsis .ant-table-column-title {
|
||||||
white-space: pre-wrap!important;
|
white-space: pre-wrap!important;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -2,11 +2,11 @@
|
|||||||
<!-- 第一页 -->
|
<!-- 第一页 -->
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'"
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'"
|
||||||
@getList="getData" />
|
@getList="getData" />
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download" />
|
<a-icon type="download" />
|
||||||
{{ $t('templateDownload') }}
|
{{ $t('templateDownload') }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-2
@@ -2,10 +2,10 @@
|
|||||||
<!-- 第六页 -->
|
<!-- 第六页 -->
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text">
|
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click='handleModule' class="operator-text">
|
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -30,17 +30,56 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required">*</span>
|
<span v-if='!propflag' class="Required">*</span>
|
||||||
<span class="title-text-text" :title="$t('filingtime')">
|
<span class="title-text-text" :title="$t('filingtime')">
|
||||||
{{$t('filingtime')}}</span>
|
{{$t('filingtime')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="batjsj">
|
<a-form-model-item class="itemModel" :prop="!propflag?'batjsj':''" :key="propflag">
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
:placeholder="$t('PleaseSelect')+$t('filingtime')"
|
:placeholder="$t('PleaseSelect')+$t('filingtime')"
|
||||||
@change="dateChange({db_field_name:'batjsj'})"
|
@change="dateChange({db_field_name:'batjsj'})"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
v-model="formInline.batjsj"
|
v-model="formInline.batjsj"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 90%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="24" v-if='transittime'>
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span v-if='!propflag' class="Required">*</span>
|
||||||
|
<span class="title-text-text" :title="$t('transittime')">
|
||||||
|
{{$t('transittime')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('transittime')"
|
||||||
|
@change="dateChange({db_field_name:'tgthsj'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.tgthsj"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 90%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="24" v-if='returntime'>
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span v-if='!propflag' class="Required">*</span>
|
||||||
|
<span class="title-text-text" :title="$t('returntime')">
|
||||||
|
{{$t('returntime')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('returntime')"
|
||||||
|
@change="dateChange({db_field_name:'tgthsj'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.tgthsj"
|
||||||
|
:disabled="false"
|
||||||
style="width: 90%"/>
|
style="width: 90%"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,8 +118,12 @@ export default {
|
|||||||
formInline: {
|
formInline: {
|
||||||
bazt:undefined,
|
bazt:undefined,
|
||||||
batjsj:'',
|
batjsj:'',
|
||||||
|
tgthsj:'',
|
||||||
bz:'',
|
bz:'',
|
||||||
},
|
},
|
||||||
|
transittime:false,
|
||||||
|
returntime:false,
|
||||||
|
propflag: false,
|
||||||
rules: {
|
rules: {
|
||||||
bazt: [
|
bazt: [
|
||||||
{
|
{
|
||||||
@@ -98,7 +141,14 @@ export default {
|
|||||||
],
|
],
|
||||||
bz: [
|
bz: [
|
||||||
{ min: 1, max: 500, message: this.$t('cantExeed') + '500' + this.$t('characters'), trigger: 'blur' }
|
{ min: 1, max: 500, message: this.$t('cantExeed') + '500' + this.$t('characters'), trigger: 'blur' }
|
||||||
]
|
],
|
||||||
|
tgthsj: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('cannotEmpty'),
|
||||||
|
trigger: 'change'
|
||||||
|
}
|
||||||
|
],
|
||||||
// designDeadline: [
|
// designDeadline: [
|
||||||
// {
|
// {
|
||||||
// required: true,
|
// required: true,
|
||||||
@@ -147,13 +197,39 @@ export default {
|
|||||||
this.formInline = {
|
this.formInline = {
|
||||||
bazt:undefined,
|
bazt:undefined,
|
||||||
batjsj:'',
|
batjsj:'',
|
||||||
|
tgthsj:'',
|
||||||
bz:'',
|
bz:'',
|
||||||
}
|
}
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
}else{
|
}else{
|
||||||
this.formInline.bazt = row.bazt ? row.bazt : undefined
|
this.formInline.bazt = row.bazt ? row.bazt : undefined
|
||||||
this.formInline.batjsj = row.batjsj
|
this.formInline.batjsj = row.batjsj
|
||||||
|
this.formInline.tgthsj = row.tgthsj
|
||||||
this.formInline.bz = row.bz
|
this.formInline.bz = row.bz
|
||||||
this.ids = row.id
|
this.ids = row.id
|
||||||
|
if (this.formInline.bazt == 1) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if (this.formInline.bazt == 2) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if(this.formInline.bazt == 4){
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = true
|
||||||
|
this.returntime = false
|
||||||
|
} else if(this.formInline.bazt == 5){
|
||||||
|
this.propflag = false
|
||||||
|
this.returntime = true
|
||||||
|
this.transittime = false
|
||||||
|
}else{
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
@@ -183,6 +259,27 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
selectchange(value){
|
selectchange(value){
|
||||||
|
if (value == 1) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if (value == 2) {
|
||||||
|
this.propflag = true
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
} else if(value == 4){
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = true
|
||||||
|
this.returntime = false
|
||||||
|
} else if(value == 5){
|
||||||
|
this.propflag = false
|
||||||
|
this.returntime = true
|
||||||
|
this.transittime = false
|
||||||
|
}else{
|
||||||
|
this.propflag = false
|
||||||
|
this.transittime = false
|
||||||
|
this.returntime = false
|
||||||
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
this.$refs.ruleForm.validateField('bazt')
|
this.$refs.ruleForm.validateField('bazt')
|
||||||
|
|||||||
@@ -90,23 +90,23 @@
|
|||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div @click="createvehicleandfunctionrecords" v-has="'regulatoryAndTechnicalAssessment:initiationProcess'"
|
<div @click="createvehicleandfunctionrecords" v-has="'otacx:cjcxjgnba'"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="plus" />
|
<a-icon type="plus" />
|
||||||
{{ $t('createvehicleandfunctionrecords') }}
|
{{ $t('createvehicleandfunctionrecords') }}
|
||||||
</div>
|
</div>
|
||||||
<div @click="citeforrecord" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
<div @click="citeforrecord" v-has="'otacx:yyba'" class="operator-text">
|
||||||
<a-icon type="solution" />
|
<a-icon type="solution" />
|
||||||
{{ $t('citeforrecord') }}
|
{{ $t('citeforrecord') }}
|
||||||
</div>
|
</div>
|
||||||
<div @click="maintenanceallClick()" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
<div @click="maintenanceallClick()" v-has="'otacx:sjwh'" class="operator-text">
|
||||||
<a-icon type="setting" />
|
<a-icon type="setting" />
|
||||||
{{ $t('datamaintenance') }}
|
{{ $t('datamaintenance') }}
|
||||||
</div>
|
</div>
|
||||||
<div v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
<div v-has="'otacx:sjdr'" class="operator-text">
|
||||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getList"/>
|
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getList"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleModule" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
<div @click="handleModule" v-has="'otacx:mbxz'" class="operator-text">
|
||||||
<a-icon type="download" />
|
<a-icon type="download" />
|
||||||
{{ $t('templateDownload') }}
|
{{ $t('templateDownload') }}
|
||||||
</div>
|
</div>
|
||||||
@@ -126,6 +126,9 @@
|
|||||||
@click="deleteData(record)">{{ $t('delete') }}</a>
|
@click="deleteData(record)">{{ $t('delete') }}</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
|
<div>
|
||||||
|
{{$t('averageapprovalperiod')}} : {{number}}{{$t('day')}}
|
||||||
|
</div>
|
||||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||||
<a-pagination :show-total="total => $t('total') + ` ${total} ` + $t('strip')" show-quick-jumper show-size-changer
|
<a-pagination :show-total="total => $t('total') + ` ${total} ` + $t('strip')" show-quick-jumper show-size-changer
|
||||||
:page-size.sync="pageSize" :total="total" :current="pageNo" @change="pageOnChange"
|
:page-size.sync="pageSize" :total="total" :current="pageNo" @change="pageOnChange"
|
||||||
@@ -159,6 +162,7 @@ export default {
|
|||||||
exportData: '/ota/otaBaCxList/exportData',
|
exportData: '/ota/otaBaCxList/exportData',
|
||||||
importZipUrl: '/ota/otaBaCxList/importData',//导入
|
importZipUrl: '/ota/otaBaCxList/importData',//导入
|
||||||
},
|
},
|
||||||
|
number:'',
|
||||||
visible: false,
|
visible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
toggleSearchStatus: false,
|
toggleSearchStatus: false,
|
||||||
@@ -251,6 +255,20 @@ export default {
|
|||||||
width: 140,
|
width: 140,
|
||||||
dataIndex: 'batjsj'
|
dataIndex: 'batjsj'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('passreturntime'),
|
||||||
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 170,
|
||||||
|
dataIndex: 'tgthsj'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('approvalcycle'),
|
||||||
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 140,
|
||||||
|
dataIndex: 'spzq'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('createTime'),
|
title: this.$t('createTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
@@ -321,13 +339,14 @@ export default {
|
|||||||
this.loading = true
|
this.loading = true
|
||||||
getAction('/ota/otaBaCxList/page', query).then((res) => {
|
getAction('/ota/otaBaCxList/page', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
if (res.result.current > 1 && res.result.records.length == 0) {
|
if (res.result.list.current > 1 && res.result.list.records.length == 0) {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.dataSource = res.result.records || []
|
this.dataSource = res.result.list.records || []
|
||||||
this.total = res.result.total
|
this.number = res.result.pjspzq
|
||||||
|
this.total = res.result.list.total
|
||||||
this.loading = false
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ export default {
|
|||||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('MergeSeparator'), trigger: 'change' },
|
{ required: true, message: this.$t('PleaseEnter')+this.$t('MergeSeparator'), trigger: 'change' },
|
||||||
{ min:1, max: 1, message: this.$t('onlyone'), trigger: 'blur' },
|
{ min:1, max: 1, message: this.$t('onlyone'), trigger: 'blur' },
|
||||||
{
|
{
|
||||||
pattern: /^[\`\~\!\@\$\%\^\&\*\(\)\_\+\-\= \[\]\{\}\\\|\;\'\'\:\"\"\\.\/\<\>\?]+$/,
|
pattern: /^[\`\~\!\@\$\%\^\&\*\(\)\_\+\-\= \[\]\{\}\\\|\;\'\'\:\"\"\\.\/\<\>\?\,]+$/,
|
||||||
message: this.$t('punctuationmark'),
|
message: this.$t('punctuationmark'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,6 +92,11 @@
|
|||||||
<a-icon type="check-circle"/>
|
<a-icon type="check-circle"/>
|
||||||
{{$t('preservation')}}
|
{{$t('preservation')}}
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 导出-->
|
||||||
|
<div @click="handleExport" class="operator-text" v-has="'report:detail:export:normal'">
|
||||||
|
<a-icon type="export"/>
|
||||||
|
{{$t('dataExport')}}
|
||||||
|
</div>
|
||||||
<div @click="ConventionalExport" class="operator-text" v-has="'report:detail:export:normal'">
|
<div @click="ConventionalExport" class="operator-text" v-has="'report:detail:export:normal'">
|
||||||
<a-icon type="export" :rotate="-90"/>
|
<a-icon type="export" :rotate="-90"/>
|
||||||
{{$t('ConventionalExport')}}
|
{{$t('ConventionalExport')}}
|
||||||
@@ -182,7 +187,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction } from '../../../api/manage'
|
import { downloadFile, getAction, postAction } from '../../../api/manage'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import TableCollection from '@/components/tableCollection/index1'
|
import TableCollection from '@/components/tableCollection/index1'
|
||||||
import conventionalModel from './commponts/conventionalmodle'
|
import conventionalModel from './commponts/conventionalmodle'
|
||||||
@@ -668,6 +673,27 @@
|
|||||||
listReset() {
|
listReset() {
|
||||||
this.formInline = {}
|
this.formInline = {}
|
||||||
},
|
},
|
||||||
|
//导出
|
||||||
|
handleExport() {
|
||||||
|
this.$message.success(this.$t('Intheexport'))
|
||||||
|
let long = localStorage.getItem('language')
|
||||||
|
this.cut = ''
|
||||||
|
if (long && long === 'zh-cn') {
|
||||||
|
this.cut = 'cn'
|
||||||
|
} else if (long && long === 'en-us') {
|
||||||
|
this.cut = 'en'
|
||||||
|
}
|
||||||
|
let query = {
|
||||||
|
paramsManifestId: this.paramsManifest.id,
|
||||||
|
paramsTemplateId: this.$route.query.paramsTemplateId,
|
||||||
|
paramsTemplatePublishVersion: 1,
|
||||||
|
cut: this.cut,
|
||||||
|
userTypes: this.currentPersonRole,
|
||||||
|
exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
|
||||||
|
}
|
||||||
|
let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
|
||||||
|
downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear)
|
||||||
|
},
|
||||||
ConventionalExport() {
|
ConventionalExport() {
|
||||||
this.$refs.conventionalModel.addModel()
|
this.$refs.conventionalModel.addModel()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,282 +10,355 @@
|
|||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
<a-spin :spinning="confirmLoading">
|
<a-spin :spinning="confirmLoading">
|
||||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G0">
|
||||||
|
G0</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="zero">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G0'"
|
||||||
|
@change="dateChange({db_field_name:'zero'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.zero"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G1">
|
||||||
|
G1</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="one">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G1'"
|
||||||
|
@change="dateChange({db_field_name:'one'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.one"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G2">
|
||||||
|
G2</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="two">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G2'"
|
||||||
|
@change="dateChange({db_field_name:'two'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.two"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G3">
|
||||||
|
G3</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="three">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G3'"
|
||||||
|
@change="dateChange({db_field_name:'three'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.three"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G4">
|
||||||
|
G4</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="four">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G4'"
|
||||||
|
@change="dateChange({db_field_name:'four'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.four"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G5">
|
||||||
|
G5</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="five">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G5'"
|
||||||
|
@change="dateChange({db_field_name:'five'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.five"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G6">
|
||||||
|
G6</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="six">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G6'"
|
||||||
|
@change="dateChange({db_field_name:'six'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.six"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="MP">
|
||||||
|
MP</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="mp">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'MP'"
|
||||||
|
@change="dateChange({db_field_name:'mp'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.mp"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text" title="G7">
|
||||||
|
G7</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="seven">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+'G7'"
|
||||||
|
@change="dateChange({db_field_name:'seven'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.seven"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('listPublishing')">
|
||||||
|
{{$t('listPublishing')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="listConfirmation">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('listPublishing')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'listConfirmation'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.listConfirmation"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('responsibilityConfirmation')">
|
||||||
|
{{$t('responsibilityConfirmation')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('responsibilityConfirmation')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'legalTaskConfirmation'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.legalTaskConfirmation"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('designVerification')">
|
||||||
|
{{$t('designVerification')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="designDeadline">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('designVerification')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'designDeadline'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.designDeadline"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('getStarted')">
|
||||||
|
{{$t('getStarted')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="prehomoDeadline">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('getStarted')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'prehomoDeadline'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.prehomoDeadline"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('certificationStartOne')">
|
||||||
|
{{$t('certificationStartOne')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="attestationStartTime">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:disabledDate='this.disabledRegistrationStartDate'
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('certificationStartOne')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'attestationStartTime'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.attestationStartTime"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('certificationSubmission')">
|
||||||
|
{{$t('certificationSubmission')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="certificationSubmission">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('certificationSubmission')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'certificationSubmission'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.certificationSubmission"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('certificationEnd')">
|
||||||
|
{{$t('certificationEnd')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="attestationEndTime">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:disabledDate='this.disabledRegistrationEndDate'
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('certificationEnd')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'attestationEndTime'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.attestationEndTime"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<!-- <span class="Required">*</span>-->
|
||||||
|
<span class="title-text-text" :title="$t('verificationAndVerification')">
|
||||||
|
{{$t('verificationAndVerification')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" prop="verifyDeadline">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('verificationAndVerification')+$t('time')"
|
||||||
|
@change="dateChange({db_field_name:'verifyDeadline'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.verifyDeadline"
|
||||||
|
:disabled="false"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G0">
|
|
||||||
G0</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="zero">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G0'"
|
|
||||||
@change="dateChange({db_field_name:'zero'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.zero"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G1">
|
|
||||||
G1</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="one">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G1'"
|
|
||||||
@change="dateChange({db_field_name:'one'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.one"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G2">
|
|
||||||
G2</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="two">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G2'"
|
|
||||||
@change="dateChange({db_field_name:'two'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.two"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G3">
|
|
||||||
G3</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="three">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G3'"
|
|
||||||
@change="dateChange({db_field_name:'three'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.three"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G4">
|
|
||||||
G4</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="four">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G4'"
|
|
||||||
@change="dateChange({db_field_name:'four'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.four"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G5">
|
|
||||||
G5</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="five">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G5'"
|
|
||||||
@change="dateChange({db_field_name:'five'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.five"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G6">
|
|
||||||
G6</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="six">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G6'"
|
|
||||||
@change="dateChange({db_field_name:'six'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.six"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text" title="G7">
|
|
||||||
G7</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="seven">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+'G7'"
|
|
||||||
@change="dateChange({db_field_name:'seven'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.seven"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span class="Required">*</span>-->
|
<!-- <span class="Required">*</span>-->
|
||||||
<span class="title-text-text" :title="$t('listPublishing')">
|
<span class="title-text-text" :title="$t('localapproval1')">
|
||||||
{{$t('listPublishing')}}</span>
|
{{$t('localapproval1')}}</span>
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="listConfirmation">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('listPublishing')+$t('time')"
|
|
||||||
@change="dateChange({db_field_name:'listConfirmation'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.listConfirmation"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<!-- <span class="Required">*</span>-->
|
|
||||||
<span class="title-text-text" :title="$t('responsibilityConfirmation')">
|
|
||||||
{{$t('responsibilityConfirmation')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('responsibilityConfirmation')+$t('time')"
|
|
||||||
@change="dateChange({db_field_name:'legalTaskConfirmation'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.legalTaskConfirmation"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<!-- <span class="Required">*</span>-->
|
|
||||||
<span class="title-text-text" :title="$t('designVerification')">
|
|
||||||
{{$t('designVerification')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="designDeadline">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('designVerification')+$t('time')"
|
|
||||||
@change="dateChange({db_field_name:'designDeadline'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.designDeadline"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<!-- <span class="Required">*</span>-->
|
|
||||||
<span class="title-text-text" :title="$t('getStarted')">
|
|
||||||
{{$t('getStarted')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="prehomoDeadline">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('getStarted')+$t('time')"
|
|
||||||
@change="dateChange({db_field_name:'prehomoDeadline'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.prehomoDeadline"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<!-- <span class="Required">*</span>-->
|
|
||||||
<span class="title-text-text" :title="$t('certificationStartOne')">
|
|
||||||
{{$t('certificationStartOne')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="attestationStartTime">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:disabledDate='this.disabledRegistrationStartDate'
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('certificationStartOne')+$t('time')"
|
|
||||||
@change="dateChange({db_field_name:'attestationStartTime'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.attestationStartTime"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<!-- <span class="Required">*</span>-->
|
|
||||||
<span class="title-text-text" :title="$t('certificationSubmission')">
|
|
||||||
{{$t('certificationSubmission')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="certificationSubmission">
|
|
||||||
<a-date-picker class="box-input"
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('certificationSubmission')+$t('time')"
|
|
||||||
@change="dateChange({db_field_name:'certificationSubmission'})"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
|
||||||
v-model="formInline.certificationSubmission"
|
|
||||||
:disabled="false"
|
|
||||||
style="width: 100%"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<!-- <span class="Required">*</span>-->
|
|
||||||
<span class="title-text-text" :title="$t('certificationEnd')">
|
|
||||||
{{$t('certificationEnd')}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="attestationEndTime">
|
<a-form-model-item class="itemModel" prop="attestationEndTime">
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
:disabledDate='this.disabledRegistrationEndDate'
|
:placeholder="$t('PleaseSelect')+$t('localapproval1')+$t('time')"
|
||||||
:placeholder="$t('PleaseSelect')+$t('certificationEnd')+$t('time')"
|
@change="dateChange({db_field_name:'localapproval1'})"
|
||||||
@change="dateChange({db_field_name:'attestationEndTime'})"
|
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
v-model="formInline.attestationEndTime"
|
v-model="formInline.localapproval1"
|
||||||
:disabled="false"
|
:disabled="false"
|
||||||
style="width: 100%"/>
|
style="width: 100%"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -295,16 +368,16 @@
|
|||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span class="Required">*</span>-->
|
<!-- <span class="Required">*</span>-->
|
||||||
<span class="title-text-text" :title="$t('verificationAndVerification')">
|
<span class="title-text-text" :title="$t('localapproval2')">
|
||||||
{{$t('verificationAndVerification')}}</span>
|
{{$t('localapproval2')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="verifyDeadline">
|
<a-form-model-item class="itemModel" prop="verifyDeadline">
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
:placeholder="$t('PleaseSelect')+$t('verificationAndVerification')+$t('time')"
|
:placeholder="$t('PleaseSelect')+$t('localapproval2')+$t('time')"
|
||||||
@change="dateChange({db_field_name:'verifyDeadline'})"
|
@change="dateChange({db_field_name:'localapproval2'})"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
v-model="formInline.verifyDeadline"
|
v-model="formInline.localapproval2"
|
||||||
:disabled="false"
|
:disabled="false"
|
||||||
style="width: 100%"/>
|
style="width: 100%"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
|||||||
Reference in New Issue
Block a user