合并分支 'fix_2nd_20230315' 到 'master'
Fix 2nd 20230315 查看合并请求 laws-nio/laws-weilai!296
This commit is contained in:
+14
@@ -83,6 +83,20 @@ public class BussDocumentLibraryEO implements Serializable {
|
|||||||
@ApiModelProperty(value = "对应标准")
|
@ApiModelProperty(value = "对应标准")
|
||||||
private java.lang.String correspondingStandard;
|
private java.lang.String correspondingStandard;
|
||||||
|
|
||||||
|
|
||||||
|
/**代替标准*/
|
||||||
|
@ApiModelProperty(value = "代替标准")
|
||||||
|
@Dict(dicCode ="replace_standard")
|
||||||
|
private java.lang.String replaceStandard;
|
||||||
|
|
||||||
|
|
||||||
|
/**被代替标准*/
|
||||||
|
@ApiModelProperty(value = "被代替标准")
|
||||||
|
@Dict(dicCode ="replaced_standard")
|
||||||
|
private java.lang.String replacedStandard;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String cut;
|
private java.lang.String cut;
|
||||||
|
|
||||||
|
|||||||
+50
-6
@@ -534,8 +534,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
fieldList = fieldList.stream()
|
fieldList = fieldList.stream()
|
||||||
.filter(e -> !"serial_number".equals(e.getDbFieldName())
|
.filter(e -> !"serial_number".equals(e.getDbFieldName())
|
||||||
&& !"title".equals(e.getDbFieldName())
|
&& !"title".equals(e.getDbFieldName())
|
||||||
&& !"title_en".equals(e.getDbFieldName())
|
&& !"title_en".equals(e.getDbFieldName()))
|
||||||
&& !"state".equals(e.getDbFieldName()))
|
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
if (fieldList.size() != 0) {
|
if (fieldList.size() != 0) {
|
||||||
@@ -1727,6 +1726,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
|
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
Object value = entry.getValue();
|
Object value = entry.getValue();
|
||||||
|
if(key.equals("replace_standard_id")){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
//es全文新增数据(数据转换)
|
//es全文新增数据(数据转换)
|
||||||
esFullText(cut, fieldList, categoryList, dictItemList, mapList, sbCn,sbEn, entry);
|
esFullText(cut, fieldList, categoryList, dictItemList, mapList, sbCn,sbEn, entry);
|
||||||
|
|
||||||
@@ -1930,6 +1932,26 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
String insertField = mustFields + fieldsBuilder.toString();
|
String insertField = mustFields + fieldsBuilder.toString();
|
||||||
String insertValue = mustValues + valuesBuilder.toString();
|
String insertValue = mustValues + valuesBuilder.toString();
|
||||||
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||||
|
//处理代替标准和被代替标准逻辑
|
||||||
|
Object repObj = map.get("replace_standard_id");
|
||||||
|
if(null != repObj) {
|
||||||
|
String[] replace_standard_list = repObj.toString().split(",");
|
||||||
|
for (String rs : replace_standard_list) {
|
||||||
|
BussDocumentLibraryEO bl = bussDocumentLibraryEOMapper.selectById(rs);
|
||||||
|
if (null != bl) {
|
||||||
|
String repStr = bl.getReplacedStandard();
|
||||||
|
if (StringUtils.isNotBlank(repStr)) {
|
||||||
|
if (!repStr.contains(idTemp)) {
|
||||||
|
repStr = repStr + "," + idTemp;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
repStr = idTemp;
|
||||||
|
}
|
||||||
|
bl.setReplacedStandard(repStr);
|
||||||
|
bussDocumentLibraryEOMapper.updateById(bl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String replaceStandard = StringUtils.valueOf(map.get("replace_standard"));
|
String replaceStandard = StringUtils.valueOf(map.get("replace_standard"));
|
||||||
if (StringUtils.isNotBlank(replaceStandard)) {
|
if (StringUtils.isNotBlank(replaceStandard)) {
|
||||||
@@ -2623,6 +2645,28 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//删除文档库数据
|
//删除文档库数据
|
||||||
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
|
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
|
||||||
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||||
|
//处理代替标准和被代替标准逻辑
|
||||||
|
String docId = (String) map.get("id");
|
||||||
|
Object repObj = map.get("replace_standard_id");
|
||||||
|
if(null != repObj){
|
||||||
|
String[] replace_standard_list = repObj.toString().split(",");
|
||||||
|
for (String rs : replace_standard_list) {
|
||||||
|
BussDocumentLibraryEO bl = bussDocumentLibraryEOMapper.selectById(rs);
|
||||||
|
if (null != bl) {
|
||||||
|
String repStr = bl.getReplacedStandard();
|
||||||
|
if (StringUtils.isNotBlank(repStr)) {
|
||||||
|
if (!repStr.contains(docId)) {
|
||||||
|
repStr = repStr + "," + docId;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
repStr = docId;
|
||||||
|
}
|
||||||
|
bl.setReplacedStandard(repStr);
|
||||||
|
bussDocumentLibraryEOMapper.updateById(bl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//开始更新ES
|
||||||
map.put("module_type", "文档库");
|
map.put("module_type", "文档库");
|
||||||
map.put("module_type_flag", ModuleTypeFlagEnum.DOCUMENT_LIBRARY.getValue());
|
map.put("module_type_flag", ModuleTypeFlagEnum.DOCUMENT_LIBRARY.getValue());
|
||||||
map.put("create_time", new Date());
|
map.put("create_time", new Date());
|
||||||
@@ -2776,13 +2820,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//适用车型
|
//适用车型
|
||||||
StringBuilder msgContentSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + serialNumber + " " + titleEn);
|
StringBuilder msgContentSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + serialNumber + " " + titleEn);
|
||||||
StringBuilder msgContentInfoSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + href);
|
StringBuilder msgContentInfoSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + href);
|
||||||
StringBuilder msgContentSbCarTypeCn = new StringBuilder(categoryCn + " " + serialNumber + " " + title+" 的适用车型改为");
|
StringBuilder msgContentSbCarTypeCn = new StringBuilder(serialNumber + " " + title+" 的适用车型改为");
|
||||||
StringBuilder msgContentInfoSbCarTypeCn = new StringBuilder(categoryCn + " " + hrefCn+" 的适用车型改为");
|
StringBuilder msgContentInfoSbCarTypeCn = new StringBuilder(hrefCn+" 的适用车型改为");
|
||||||
//状态
|
//状态
|
||||||
StringBuilder msgContentSbStatus = new StringBuilder("The Status of the " + category + " " + serialNumber + " " + titleEn);
|
StringBuilder msgContentSbStatus = new StringBuilder("The Status of the " + category + " " + serialNumber + " " + titleEn);
|
||||||
StringBuilder msgContentInfoSbStatus = new StringBuilder("The Status of the " + category + " " + href);
|
StringBuilder msgContentInfoSbStatus = new StringBuilder("The Status of the " + category + " " + href);
|
||||||
StringBuilder msgContentSbStatusCn = new StringBuilder(categoryCn + " " + serialNumber + " " + title+" 的状态改为");
|
StringBuilder msgContentSbStatusCn = new StringBuilder(serialNumber + " " + title+" 的状态改为");
|
||||||
StringBuilder msgContentInfoSbStatusCn = new StringBuilder(categoryCn + " " + hrefCn+" 的状态改为");
|
StringBuilder msgContentInfoSbStatusCn = new StringBuilder(hrefCn+" 的状态改为");
|
||||||
|
|
||||||
|
|
||||||
List<String> fileIdLIstTemp = new ArrayList<>();
|
List<String> fileIdLIstTemp = new ArrayList<>();
|
||||||
|
|||||||
+2
-1
@@ -2315,7 +2315,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
|||||||
excelName = baseList.get(0).getName() + " Virtual list.xlsx";
|
excelName = baseList.get(0).getName() + " Virtual list.xlsx";
|
||||||
}
|
}
|
||||||
//excel
|
//excel
|
||||||
OutputStream excelOS = new FileOutputStream(path + File.separator + excelName);
|
String excelNameRep = excelName.replace('/', '、');
|
||||||
|
OutputStream excelOS = new FileOutputStream(path + File.separator + excelNameRep);
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.XSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
|
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
|
||||||
|
|||||||
+19
-4
@@ -147,12 +147,27 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(ProjectLibraryBase o) {
|
public int compareTo(ProjectLibraryBase o) {
|
||||||
return Integer.valueOf(this.projectVersion)-Integer.valueOf(o.projectVersion);//升序
|
if (!this.getProjectName().equals(o.getProjectName())) {
|
||||||
// return o.id-this.id;//降序
|
return this.getProjectName().compareTo(o.getProjectName());//升序
|
||||||
|
}
|
||||||
|
if (!this.getYearName().equals(o.getYearName())) {
|
||||||
|
if (this.getYearName().length() != o.getYearName().length()) {
|
||||||
|
return this.getYearName().length() - o.getYearName().length();
|
||||||
|
} else {
|
||||||
|
return this.getYearName().compareTo(o.getYearName());//升序
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.getTargetMarket().equals(o.getTargetMarket())) {
|
||||||
|
return this.getTargetMarket().compareTo(o.getTargetMarket());//升序
|
||||||
|
}
|
||||||
|
if (!this.getProjectVersion().equals(o.getProjectVersion())) {
|
||||||
|
return Integer.valueOf(this.projectVersion) - Integer.valueOf(o.projectVersion);//升序
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getShowName(){
|
public String getShowName() {
|
||||||
return projectName+yearName+targetMarket+projectVersion;
|
return projectName + " " + yearName + "-" + targetMarket + "-" + projectVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+6
-8
@@ -117,7 +117,6 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<ProjectLibraryBase> projectLibraryBaseLinkedList = new LinkedList<>();
|
List<ProjectLibraryBase> projectLibraryBaseLinkedList = new LinkedList<>();
|
||||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||||
if(StringUtils.isBlank(libraryBase.getParentId())){
|
if(StringUtils.isBlank(libraryBase.getParentId())){
|
||||||
@@ -131,13 +130,13 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
|||||||
projectLibraryBaseLinkedList.addAll(projectLibraryBaseListTemp);
|
projectLibraryBaseLinkedList.addAll(projectLibraryBaseListTemp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
projectLibraryBaseList.sort(Comparator.comparing(ProjectLibraryBase::getShowName));
|
Collections.sort(projectLibraryBaseList);
|
||||||
|
|
||||||
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("region");
|
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("region");
|
||||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||||
targetMarket(projectLibraryBase, dictItemList, libraryBase);
|
targetMarket(projectLibraryBase, dictItemList, libraryBase);
|
||||||
Map<String,Object> mapList = new HashMap<>();
|
Map<String,Object> mapList = new HashMap<>();
|
||||||
List<List<TimeNodeVO>> collect = new ArrayList<>();
|
List<List<TimeNodeVO>> collect;
|
||||||
if(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime)){
|
if(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime)){
|
||||||
collect = listNew.stream().filter(e -> libraryBase.getId().equals(e.get(0).getProjectId())).collect(Collectors.toList());
|
collect = listNew.stream().filter(e -> libraryBase.getId().equals(e.get(0).getProjectId())).collect(Collectors.toList());
|
||||||
}else{
|
}else{
|
||||||
@@ -147,8 +146,9 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
|||||||
if(collect.size() != 0){
|
if(collect.size() != 0){
|
||||||
index ++;
|
index ++;
|
||||||
mapList.put("index",index);
|
mapList.put("index",index);
|
||||||
mapList.put("projectName",libraryBase.getProjectName()+" "+libraryBase.getYearName()+"-"+libraryBase.getTargetMarket()+"-"+libraryBase.getProjectVersion());
|
mapList.put("projectName",libraryBase.getShowName());
|
||||||
mapList.put("data",collect);
|
mapList.put("data",collect);
|
||||||
|
mapList.put("projectInfo",libraryBase);
|
||||||
result.add(mapList);
|
result.add(mapList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -215,9 +215,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
|||||||
lambdaQueryWrapper.in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryEOIdAll);
|
lambdaQueryWrapper.in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryEOIdAll);
|
||||||
projectTaskInventoryEOList = projectTaskInventoryEOService.list(lambdaQueryWrapper);
|
projectTaskInventoryEOList = projectTaskInventoryEOService.list(lambdaQueryWrapper);
|
||||||
}
|
}
|
||||||
|
Collections.sort(projectLibraryBaseList);
|
||||||
|
|
||||||
projectLibraryBaseList.sort(Comparator.comparing(ProjectLibraryBase::getShowName));
|
|
||||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||||
//处理目标市场
|
//处理目标市场
|
||||||
targetMarket(projectLibraryBase, dictItemList, libraryBase);
|
targetMarket(projectLibraryBase, dictItemList, libraryBase);
|
||||||
@@ -234,7 +232,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
|||||||
projectVersion = "00";
|
projectVersion = "00";
|
||||||
}
|
}
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
map.put("projectName",libraryBase.getProjectName()+" "+libraryBase.getYearName()+"-"+libraryBase.getTargetMarket()+"-"+projectVersion);//项目名称
|
map.put("projectName",libraryBase.getShowName());//项目名称
|
||||||
map.put("targetMarket",libraryBase.getTargetMarket());//目标市场
|
map.put("targetMarket",libraryBase.getTargetMarket());//目标市场
|
||||||
|
|
||||||
//1. 项目当前状态--projectState(蓝/红/黄/绿)-->studio视角下的数据
|
//1. 项目当前状态--projectState(蓝/红/黄/绿)-->studio视角下的数据
|
||||||
|
|||||||
@@ -1240,9 +1240,9 @@ module.exports = {
|
|||||||
dre: 'Dre',
|
dre: 'Dre',
|
||||||
applicableInstructionsMarketList: 'Applicable instructions of market list',
|
applicableInstructionsMarketList: 'Applicable instructions of market list',
|
||||||
pleaseSelectTheDataCompared: 'Please select the data to be compared',
|
pleaseSelectTheDataCompared: 'Please select the data to be compared',
|
||||||
problemLabel: 'Topic Tag',
|
problemLabel: 'classification',
|
||||||
personCharge: 'Person in charge',
|
personCharge: 'Person in charge',
|
||||||
addLabel: 'Add Tag',
|
addLabel: 'New Classification',
|
||||||
editLabel: 'Edit Label',
|
editLabel: 'Edit Label',
|
||||||
applicableMarket: 'Applicable Market',
|
applicableMarket: 'Applicable Market',
|
||||||
templateMaintenance: 'Template Maintenance',
|
templateMaintenance: 'Template Maintenance',
|
||||||
@@ -1384,4 +1384,5 @@ module.exports = {
|
|||||||
beforedatein:'In... Before date (inclusive)',
|
beforedatein:'In... Before date (inclusive)',
|
||||||
inRecentMonthsin6:'Within 6 months (implemented)',
|
inRecentMonthsin6:'Within 6 months (implemented)',
|
||||||
batchUpdateDeadline:'Batch update deadline',
|
batchUpdateDeadline:'Batch update deadline',
|
||||||
|
timeInterval:'Time Interval',
|
||||||
}
|
}
|
||||||
@@ -1342,9 +1342,9 @@ module.exports = {
|
|||||||
dre: '填写人',
|
dre: '填写人',
|
||||||
applicableInstructionsMarketList: '市场清单适用说明',
|
applicableInstructionsMarketList: '市场清单适用说明',
|
||||||
pleaseSelectTheDataCompared: '请选择需要对比的数据',
|
pleaseSelectTheDataCompared: '请选择需要对比的数据',
|
||||||
problemLabel: '问题标签',
|
problemLabel: '分类',
|
||||||
personCharge: '负责人',
|
personCharge: '负责人',
|
||||||
addLabel: '新增标签',
|
addLabel: '新增分类',
|
||||||
editLabel: '编辑标签',
|
editLabel: '编辑标签',
|
||||||
applicableMarket: '适用市场',
|
applicableMarket: '适用市场',
|
||||||
templateMaintenance: '模板维护',
|
templateMaintenance: '模板维护',
|
||||||
@@ -1485,4 +1485,5 @@ module.exports = {
|
|||||||
beforedatein:'在...日期之前(包含)',
|
beforedatein:'在...日期之前(包含)',
|
||||||
inRecentMonthsin6:'近6个月内(已实施)',
|
inRecentMonthsin6:'近6个月内(已实施)',
|
||||||
batchUpdateDeadline:'批量更新截止时间',
|
batchUpdateDeadline:'批量更新截止时间',
|
||||||
|
timeInterval:'时间区间',
|
||||||
}
|
}
|
||||||
@@ -83,6 +83,7 @@
|
|||||||
visible: false,
|
visible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
|
selectedRowList: [],
|
||||||
content: [],
|
content: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
@@ -149,16 +150,17 @@
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
let content = []
|
let serial_number = []
|
||||||
// let replace_standard_id = []
|
let replace_standard_id = []
|
||||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
let content = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
// let content = JSON.parse(JSON.stringify(this.selectedRowList))
|
||||||
// this.content.forEach(res => {
|
this.selectedRowList.forEach(res => {
|
||||||
// content.push(res.serial_number)
|
serial_number.push(res.serial_number)
|
||||||
// replace_standard_id.push(res.id)
|
replace_standard_id.push(res.id)
|
||||||
// })
|
})
|
||||||
this.$emit('input', content.join(','))
|
this.$emit('input', serial_number.join(','))
|
||||||
// this.$emit('change', this.query.db_field_name, replace_standard_id.join(','))
|
console.log(replace_standard_id)
|
||||||
|
this.$emit('change', this.query.db_field_name, replace_standard_id.join(','))
|
||||||
// this.$emit('changecontent', this.content)
|
// this.$emit('changecontent', this.content)
|
||||||
this.visible = false
|
this.visible = false
|
||||||
} else {
|
} else {
|
||||||
@@ -168,9 +170,11 @@
|
|||||||
indexclick(event) {
|
indexclick(event) {
|
||||||
this.$emit('input', event.target.value)
|
this.$emit('input', event.target.value)
|
||||||
},
|
},
|
||||||
onSelectChange(value) {
|
onSelectChange(value,row) {
|
||||||
console.log(value)
|
console.log(value)
|
||||||
|
console.log(row)
|
||||||
this.selectedRowKeys = value
|
this.selectedRowKeys = value
|
||||||
|
this.selectedRowList = row
|
||||||
// this.content = []
|
// this.content = []
|
||||||
// value.forEach(val => {
|
// value.forEach(val => {
|
||||||
// this.dataList.forEach((res) => {
|
// this.dataList.forEach((res) => {
|
||||||
|
|||||||
@@ -169,6 +169,7 @@
|
|||||||
<Standardselection :query="item"
|
<Standardselection :query="item"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:standard="formInline"
|
:standard="formInline"
|
||||||
|
@change="StandardselectionChange"
|
||||||
v-model="formInline[item.db_field_name]"/>
|
v-model="formInline[item.db_field_name]"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -494,10 +495,11 @@
|
|||||||
this.type = 'add'
|
this.type = 'add'
|
||||||
this.getForm()
|
this.getForm()
|
||||||
},
|
},
|
||||||
// StandardselectionChange(value, id) {
|
StandardselectionChange(value, id) {
|
||||||
// this.formInline[value + '_id'] = id
|
console.log(id)
|
||||||
// this.formInline = { ...this.formInline }
|
this.formInline[value + '_id'] = id
|
||||||
// },
|
this.formInline = { ...this.formInline }
|
||||||
|
},
|
||||||
PersonnelSelectionChange(value, id) {
|
PersonnelSelectionChange(value, id) {
|
||||||
this.formInline[value + '_id'] = id
|
this.formInline[value + '_id'] = id
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
|
|||||||
+11
-11
@@ -31,17 +31,17 @@
|
|||||||
v-model="queryParam.title"></a-input>
|
v-model="queryParam.title"></a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :md="12" :sm="8">
|
<!-- <a-col :md="12" :sm="8">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text" :title="$t('status')">
|
<!-- <div class="title-text" :title="$t('status')">-->
|
||||||
<span>{{$t('status')}}</span>
|
<!-- <span>{{$t('status')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<j-dict-select-tag class="box-input" v-model="queryParam.state"
|
<!-- <j-dict-select-tag class="box-input" v-model="queryParam.state"-->
|
||||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
<!-- :placeholder="$t('PleaseSelect')+$t('status')"-->
|
||||||
:type="'select'"
|
<!-- :type="'select'"-->
|
||||||
:triggerChange="false" :dictCode="'state'"/>
|
<!-- :triggerChange="false" :dictCode="'state'"/>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</template>
|
</template>
|
||||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||||
<a-col :md="12" :sm="24">
|
<a-col :md="12" :sm="24">
|
||||||
|
|||||||
@@ -931,24 +931,24 @@
|
|||||||
key: 3,
|
key: 3,
|
||||||
moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
|
moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
sort: '',
|
// sort: '',
|
||||||
name: this.$t('listConfirmationStatus'),
|
// name: this.$t('listConfirmationStatus'),
|
||||||
headFieldCn:'清单确认状态',
|
// headFieldCn:'清单确认状态',
|
||||||
headFieldEn:'List Confirmation Status',
|
// headFieldEn:'List Confirmation Status',
|
||||||
field: 'inventoryAffirmStatusName',
|
// field: 'inventoryAffirmStatusName',
|
||||||
key: 4,
|
// key: 4,
|
||||||
moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
|
// moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
sort: '',
|
// sort: '',
|
||||||
name: this.$t('taskAffirmStatus'),
|
// name: this.$t('taskAffirmStatus'),
|
||||||
headFieldCn:'任务确认状态',
|
// headFieldCn:'任务确认状态',
|
||||||
headFieldEn:'Task Confirmation Status',
|
// headFieldEn:'Task Confirmation Status',
|
||||||
field: 'taskAffirmStatusName',
|
// field: 'taskAffirmStatusName',
|
||||||
key: 5,
|
// key: 5,
|
||||||
moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
|
// moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
sort: '',
|
sort: '',
|
||||||
name: this.$t('zoneOfApplication'),
|
name: this.$t('zoneOfApplication'),
|
||||||
|
|||||||
@@ -143,10 +143,10 @@
|
|||||||
:columns="columns"
|
:columns="columns"
|
||||||
>
|
>
|
||||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||||
{{ text && text.length > 20 ? text.slice(0, 18) + '...' : text }}
|
{{ text }}
|
||||||
</span>
|
</span>
|
||||||
<span slot="fileName" slot-scope="text,record" :title="text">
|
<span slot="fileName" slot-scope="text,record" :title="text">
|
||||||
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
{{ text }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span slot="operation" slot-scope="text,record">
|
<span slot="operation" slot-scope="text,record">
|
||||||
@@ -382,6 +382,7 @@
|
|||||||
{
|
{
|
||||||
title: this.$t('fileName'),
|
title: this.$t('fileName'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
dataIndex: 'fileName',
|
dataIndex: 'fileName',
|
||||||
scopedSlots: { customRender: 'fileName' },
|
scopedSlots: { customRender: 'fileName' },
|
||||||
width: 200
|
width: 200
|
||||||
@@ -389,6 +390,7 @@
|
|||||||
{
|
{
|
||||||
title: this.$t('fileDeclaration'),
|
title: this.$t('fileDeclaration'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
dataIndex: 'fileDescription',
|
dataIndex: 'fileDescription',
|
||||||
scopedSlots: { customRender: 'projectName' },
|
scopedSlots: { customRender: 'projectName' },
|
||||||
width: 300
|
width: 300
|
||||||
@@ -396,6 +398,7 @@
|
|||||||
{
|
{
|
||||||
title: this.$t('uploadedBy'),
|
title: this.$t('uploadedBy'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
dataIndex: 'createBy',
|
dataIndex: 'createBy',
|
||||||
width: 150
|
width: 150
|
||||||
},
|
},
|
||||||
@@ -407,6 +410,7 @@
|
|||||||
{
|
{
|
||||||
title: this.$t('uploadTime'),
|
title: this.$t('uploadTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
dataIndex: 'createTime',
|
dataIndex: 'createTime',
|
||||||
width: 250
|
width: 250
|
||||||
},
|
},
|
||||||
@@ -414,6 +418,7 @@
|
|||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
|
ellipsis: true,
|
||||||
width: 250,
|
width: 250,
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
@@ -1123,7 +1128,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
@import '~@assets/less/common.less';
|
@import'~@assets/less/common.less';
|
||||||
|
|
||||||
::v-deep .ant-table-row:first-child {
|
::v-deep .ant-table-row:first-child {
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
|
|||||||
@@ -76,8 +76,8 @@
|
|||||||
<span class="title-text-text" :title="$t('projectVersion')">{{$t('projectVersion')}}</span>
|
<span class="title-text-text" :title="$t('projectVersion')">{{$t('projectVersion')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="projectVersion">
|
<a-form-model-item class="itemModel" prop="projectVersion">
|
||||||
<a-input class="box-input"
|
<a-input class="box-input" oninput="javascript:this.value=this.value.replace(/[^\d]$/g,'')"
|
||||||
:disabled="true"
|
:maxLength="2"
|
||||||
v-model="formInline.projectVersion"
|
v-model="formInline.projectVersion"
|
||||||
:placeholder="$t('PleaseEnter')+$t('projectVersion')"/>
|
:placeholder="$t('PleaseEnter')+$t('projectVersion')"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
|||||||
+204
-65
@@ -3,16 +3,55 @@
|
|||||||
<div class="Virtual-detail-header" style="position: fixed;top: 0">
|
<div class="Virtual-detail-header" style="position: fixed;top: 0">
|
||||||
<div class="Virtual-detail-title">
|
<div class="Virtual-detail-title">
|
||||||
<span>
|
<span>
|
||||||
{{this.$t('regulatoryCertificationTaskPlan')}}
|
{{ this.$t('regulatoryCertificationTaskPlan') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 87px 0 0 0;background: #ffffff;height:100%">
|
<div style="padding: 87px 0 0 0;background: #ffffff;height:100%">
|
||||||
<div class="detail-content" style="height: 100%">
|
<div class="detail-content" style="height: 100%">
|
||||||
<span style="float: right" class="box-top-text-right">
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :md="6" :sm="8">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('entryName')">
|
||||||
|
<span>{{ $t('entryName') }}</span>
|
||||||
|
</div>
|
||||||
|
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
||||||
|
v-model="queryParam.projectName"></a-input>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="6" :sm="8">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('targetMarket')">
|
||||||
|
<span>{{ $t('targetMarket') }}</span>
|
||||||
|
</div>
|
||||||
|
<j-dict-select-tag class="box-input" v-model="queryParam.targetMarket"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
|
||||||
|
:type="'select'"
|
||||||
|
:triggerChange="false" :dictCode="'region'" />
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="6" :sm="8">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('projectStatus')">
|
||||||
|
<span>{{ $t('projectStatus') }}</span>
|
||||||
|
</div>
|
||||||
|
<j-dict-select-tag class="box-input" v-model="queryParam.projectStatus"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('projectStatus')"
|
||||||
|
:type="'select'"
|
||||||
|
:triggerChange="false" :dictCode="'project_status'" />
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="6" :sm="8">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('timeInterval')">
|
||||||
|
<span>{{ $t('timeInterval') }}</span>
|
||||||
|
</div>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:placeholder="[this.$t('startMonth'), this.$t('endMonth')]"
|
:placeholder="[this.$t('startMonth'), this.$t('endMonth')]"
|
||||||
format="YYYY-MM"
|
format="YYYY-MM"
|
||||||
|
class="box-input"
|
||||||
v-model="getTime"
|
v-model="getTime"
|
||||||
:mode="mode2"
|
:mode="mode2"
|
||||||
:open="open"
|
:open="open"
|
||||||
@@ -22,22 +61,71 @@
|
|||||||
>
|
>
|
||||||
<div slot="renderExtraFooter" style="width: 100%;display: block">
|
<div slot="renderExtraFooter" style="width: 100%;display: block">
|
||||||
<div style="text-align: right;width: 100%">
|
<div style="text-align: right;width: 100%">
|
||||||
<a-button type="primary" @click="okChange">{{$t('determine')}}</a-button>
|
<a-button type="primary" @click="okChange">{{ $t('determine') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-range-picker>
|
</a-range-picker>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="6" :sm="8">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('brand')">
|
||||||
|
<span>{{ $t('brand') }}</span>
|
||||||
|
</div>
|
||||||
|
<j-dict-select-tag class="box-input" v-model="queryParam.brand"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||||
|
:type="'select'"
|
||||||
|
:triggerChange="false" :dictCode="'brand'" />
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<span style="float: right" class="table-page-search-submitButtons">
|
||||||
|
<a-col :md="6" :sm="24">
|
||||||
|
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
|
||||||
|
<a-button class="box-button" style="margin-left: 8px"
|
||||||
|
@click="searchReset">{{ $t('reset') }}</a-button>
|
||||||
|
</a-col>
|
||||||
</span>
|
</span>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
<!-- <span style="float: right" class="box-top-text-right">-->
|
||||||
|
<!-- <a-range-picker-->
|
||||||
|
<!-- :placeholder="[this.$t('startMonth'), this.$t('endMonth')]"-->
|
||||||
|
<!-- format="YYYY-MM"-->
|
||||||
|
<!-- v-model="getTime"-->
|
||||||
|
<!-- :mode="mode2"-->
|
||||||
|
<!-- :open="open"-->
|
||||||
|
<!-- @openChange="openChange"-->
|
||||||
|
<!-- @panelChange="panelChange"-->
|
||||||
|
<!-- @change="hodeChange"-->
|
||||||
|
<!-- >-->
|
||||||
|
<!-- <div slot="renderExtraFooter" style="width: 100%;display: block">-->
|
||||||
|
<!-- <div style="text-align: right;width: 100%">-->
|
||||||
|
<!-- <a-button type="primary" @click="okChange">{{ $t('determine') }}</a-button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </a-range-picker>-->
|
||||||
|
<!-- </span>-->
|
||||||
<div class="box-top-content" style="position: relative">
|
<div class="box-top-content" style="position: relative">
|
||||||
<!-- <div id="main"></div>-->
|
<!-- <div id="main"></div>-->
|
||||||
<!-- <div class="axis-tip"></div>-->
|
<!-- <div class="axis-tip"></div>-->
|
||||||
<div class="box-top-content-right-top">
|
<div class="box-top-content-right-top">
|
||||||
<div class="box-top-content-right-top-text" v-for="(item,index) in timeList" :key="index">{{item}}</div>
|
<div class="box-top-content-right-top-text" v-for="(item,index) in timeList" :key="index">{{ item }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="overflow:visible;">
|
<div style="overflow:visible;">
|
||||||
<div class="box-top-content-left">
|
<div class="box-top-content-left">
|
||||||
<div class="box-top-content-left-text" :title="item.projectName"
|
<div class="box-top-content-left-text"
|
||||||
v-for="(item,index) in timeData" :key="index">
|
v-for="(item,index) in timeData" :key="index">
|
||||||
{{item.projectName}}
|
<a-tooltip overlayClassName="overlayClassName" placement="topLeft">
|
||||||
|
<template slot="title">
|
||||||
|
<div>{{ item.projectName }}</div>
|
||||||
|
<div>
|
||||||
|
{{ $t('explain') }}:{{ item.projectInfo.explanation }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<span @click="projectInfoClick(item.projectInfo)" style="cursor: pointer">{{ item.projectName
|
||||||
|
}}</span>
|
||||||
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-top-content-right">
|
<div class="box-top-content-right">
|
||||||
@@ -47,12 +135,13 @@
|
|||||||
<div class="process-content-content" :style="val.left"
|
<div class="process-content-content" :style="val.left"
|
||||||
v-for="(val,indexOne) in item.data[0]" :key="indexOne">
|
v-for="(val,indexOne) in item.data[0]" :key="indexOne">
|
||||||
|
|
||||||
<div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{val.name}}</div>
|
<div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{ val.name }}
|
||||||
<div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{val.name}}
|
</div>
|
||||||
|
<div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{ val.name }}
|
||||||
</div>
|
</div>
|
||||||
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span>{{val.time.slice(0,11)}}</span>
|
<span>{{ val.time.slice(0, 11) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<img v-if="val.status == 1" src="../../../../assets/done.svg" class="process-content-left" alt="">
|
<img v-if="val.status == 1" src="../../../../assets/done.svg" class="process-content-left" alt="">
|
||||||
<img v-else-if="val.status == 2" src="../../../../assets/open.svg"
|
<img v-else-if="val.status == 2" src="../../../../assets/open.svg"
|
||||||
@@ -67,13 +156,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-top-content-right-xian"></div>
|
<div class="box-top-content-right-xian"></div>
|
||||||
<div class="box-top-content-right-text">
|
<div class="box-top-content-right-text">
|
||||||
{{handlingTime}}
|
{{ handlingTime }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<JLoading :loading="loadingMain">{{this.$t('dataLoading')}}</JLoading>
|
<JLoading :loading="loadingMain">{{ this.$t('dataLoading') }}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -81,11 +170,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TaskPlanList',
|
name: 'TaskPlanList',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -103,7 +192,9 @@
|
|||||||
getTime: [],
|
getTime: [],
|
||||||
timeList: [],
|
timeList: [],
|
||||||
timeData: [],
|
timeData: [],
|
||||||
handlingTime: ''
|
handlingTime: '',
|
||||||
|
queryParam: {},
|
||||||
|
toggleSearchStatus: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -180,7 +271,8 @@
|
|||||||
getTimeline() {
|
getTimeline() {
|
||||||
let query = {
|
let query = {
|
||||||
startTime: this.startTime || this.getNewDate('before', 6),
|
startTime: this.startTime || this.getNewDate('before', 6),
|
||||||
endTime: this.endTime || this.getNewDate('after', 5)
|
endTime: this.endTime || this.getNewDate('after', 5),
|
||||||
|
...this.queryParam
|
||||||
}
|
}
|
||||||
this.loadingMain = true
|
this.loadingMain = true
|
||||||
getAction(this.url.timeline, query).then((res) => {
|
getAction(this.url.timeline, query).then((res) => {
|
||||||
@@ -191,12 +283,19 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
projectInfoClick(item) {
|
||||||
|
let newUrl = this.$router.resolve({
|
||||||
|
path: '/ProjectDetails',
|
||||||
|
query: item
|
||||||
|
})
|
||||||
|
window.open(newUrl.href, '_blank')
|
||||||
|
},
|
||||||
openChange(val) {
|
openChange(val) {
|
||||||
this.open = val
|
this.open = val
|
||||||
},
|
},
|
||||||
okChange() {
|
okChange() {
|
||||||
this.open = false
|
this.open = false
|
||||||
this.getTimeline()
|
// this.getTimeline()
|
||||||
},
|
},
|
||||||
hodeChange() {
|
hodeChange() {
|
||||||
this.getTime = []
|
this.getTime = []
|
||||||
@@ -212,7 +311,8 @@
|
|||||||
getTimelineList(time) {
|
getTimelineList(time) {
|
||||||
let query = {
|
let query = {
|
||||||
startTime: this.startTime || this.getNewDate('before', 6),
|
startTime: this.startTime || this.getNewDate('before', 6),
|
||||||
endTime: this.endTime || this.getNewDate('after', 5)
|
endTime: this.endTime || this.getNewDate('after', 5),
|
||||||
|
...this.queryParam
|
||||||
}
|
}
|
||||||
getAction(this.url.timelineList, query).then((res) => {
|
getAction(this.url.timelineList, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -312,20 +412,44 @@
|
|||||||
this.loadingMain = false
|
this.loadingMain = false
|
||||||
}, 500)
|
}, 500)
|
||||||
|
|
||||||
|
},
|
||||||
|
searchQuery() {
|
||||||
|
this.getTimeline()
|
||||||
|
},
|
||||||
|
searchReset() {
|
||||||
|
this.getTime = []
|
||||||
|
this.startTime = undefined
|
||||||
|
this.endTime = undefined
|
||||||
|
this.queryParam = {}
|
||||||
|
this.getTimeline()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.ant-calendar-footer-btn .ant-calendar-footer-extra{
|
.ant-calendar-footer-btn .ant-calendar-footer-extra {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.overlayClassName .ant-tooltip-inner {
|
||||||
|
color: #fff !important;
|
||||||
|
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlayClassName .ant-tooltip-arrow::before {
|
||||||
|
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlayClassName {
|
||||||
|
max-width: 500px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
@import '~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
.doc-detail {
|
|
||||||
|
.doc-detail {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
@@ -351,16 +475,16 @@
|
|||||||
line-height: 68px;
|
line-height: 68px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 70px;
|
width: 70px;
|
||||||
color: #000F16;
|
color: #000F16;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -372,41 +496,42 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 70%;
|
width: calc(100% - 70px);
|
||||||
height: 38px;
|
height: 38px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-text {
|
.box-top-text {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #000F16;
|
color: #000F16;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content {
|
.box-top-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(100vh - 160px);
|
height: calc(100vh - 200px);
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
padding: 0 50px 10px 20px;
|
padding: 0 50px 10px 20px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-button {
|
.box-button {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
#main {
|
#main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.axis-tip {
|
.axis-tip {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding: 5px 5px;
|
padding: 5px 5px;
|
||||||
@@ -416,9 +541,9 @@
|
|||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
|
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-text-right {
|
.box-top-text-right {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
float: right;
|
float: right;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
@@ -426,16 +551,26 @@
|
|||||||
margin-top: -4px;
|
margin-top: -4px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-left {
|
.box-top-text-left {
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
height: 38px;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: -4px;
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-top-content-left {
|
||||||
width: 140px;
|
width: 140px;
|
||||||
float: left;
|
float: left;
|
||||||
padding-top: 68px;
|
padding-top: 68px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-left-text {
|
.box-top-content-left-text {
|
||||||
color: #191E29;
|
color: #191E29;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
@@ -445,14 +580,14 @@
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right {
|
.box-top-content-right {
|
||||||
width: calc(100% - 160px);
|
width: calc(100% - 160px);
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-top {
|
.box-top-content-right-top {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -462,9 +597,9 @@
|
|||||||
z-index: 100;
|
z-index: 100;
|
||||||
padding-top: 25px;
|
padding-top: 25px;
|
||||||
padding-left: 160px;
|
padding-left: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-top-text {
|
.box-top-content-right-top-text {
|
||||||
border-left: 1px #EAEAEC solid;
|
border-left: 1px #EAEAEC solid;
|
||||||
border-top: 1px #EAEAEC solid;
|
border-top: 1px #EAEAEC solid;
|
||||||
border-bottom: 1px #EAEAEC solid;
|
border-bottom: 1px #EAEAEC solid;
|
||||||
@@ -476,18 +611,18 @@
|
|||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
letter-spacing: 0px;
|
letter-spacing: 0px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-top-text:last-child {
|
.box-top-content-right-top-text:last-child {
|
||||||
border-right: 1px #EAEAEC solid;
|
border-right: 1px #EAEAEC solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-bottom {
|
.box-top-content-right-bottom {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-top: 60px;
|
padding-top: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.process-content {
|
.process-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 84px;
|
height: 84px;
|
||||||
|
|
||||||
@@ -554,18 +689,18 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 16px;
|
top: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-xian {
|
.box-top-content-right-xian {
|
||||||
width: 2px;
|
width: 2px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border: 1px #21c9cc dashed;
|
border: 1px #21c9cc dashed;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -36px;
|
top: -36px;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-text {
|
.box-top-content-right-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -60px;
|
top: -60px;
|
||||||
color: #21c9cc;
|
color: #21c9cc;
|
||||||
@@ -573,5 +708,9 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep .ant-row {
|
||||||
|
margin-right: 0 !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
<a-col :md="6" :sm="8">
|
<a-col :md="6" :sm="8">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('entryName')">
|
<div class="title-text" :title="$t('entryName')">
|
||||||
<span>{{$t('entryName')}}</span>
|
<span>{{ $t('entryName') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
||||||
v-model="queryParam.projectName"></j-input>
|
v-model="queryParam.projectName"></j-input>
|
||||||
@@ -15,37 +15,38 @@
|
|||||||
<a-col :md="6" :sm="8">
|
<a-col :md="6" :sm="8">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('targetMarket')">
|
<div class="title-text" :title="$t('targetMarket')">
|
||||||
<span>{{$t('targetMarket')}}</span>
|
<span>{{ $t('targetMarket') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-dict-select-tag class="box-input" v-model="queryParam.targetMarket"
|
<j-dict-select-tag class="box-input" v-model="queryParam.targetMarket"
|
||||||
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
|
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false" :dictCode="'region'"/>
|
:triggerChange="false" :dictCode="'region'" />
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :md="6" :sm="8">
|
<a-col :md="6" :sm="8">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('brand')">
|
<div class="title-text" :title="$t('brand')">
|
||||||
<span>{{$t('brand')}}</span>
|
<span>{{ $t('brand') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-dict-select-tag class="box-input" v-model="queryParam.brand"
|
<j-dict-select-tag class="box-input" v-model="queryParam.brand"
|
||||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false" :dictCode="'brand'"/>
|
:triggerChange="false" :dictCode="'brand'" />
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||||
<a-col :md="6" :sm="24">
|
<a-col :md="6" :sm="24">
|
||||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
|
||||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
<a-button class="box-button" style="margin-left: 8px"
|
||||||
|
@click="searchReset">{{ $t('reset') }}</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</span>
|
</span>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-top">
|
<div class="box-top">
|
||||||
<span class="box-top-text">{{$t('regulatoryCertificationTaskPlan')}}</span>
|
<span class="box-top-text">{{ $t('regulatoryCertificationTaskPlan') }}</span>
|
||||||
<span class="box-top-text fullScreenView" @click="TaskPlanListClick">{{$t('fullScreenView')}}</span>
|
<span class="box-top-text fullScreenView" @click="TaskPlanListClick">{{ $t('fullScreenView') }}</span>
|
||||||
<span style="float: right" class="box-top-text-right">
|
<span style="float: right" class="box-top-text-right">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:placeholder="[this.$t('startMonth'), this.$t('endMonth')]"
|
:placeholder="[this.$t('startMonth'), this.$t('endMonth')]"
|
||||||
@@ -59,7 +60,7 @@
|
|||||||
>
|
>
|
||||||
<div slot="renderExtraFooter" style="width: 100%;display: block">
|
<div slot="renderExtraFooter" style="width: 100%;display: block">
|
||||||
<div style="text-align: right;width: 100%;">
|
<div style="text-align: right;width: 100%;">
|
||||||
<a-button type="primary" @click="okChange">{{$t('determine')}}</a-button>
|
<a-button type="primary" @click="okChange">{{ $t('determine') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-range-picker>
|
</a-range-picker>
|
||||||
@@ -68,13 +69,21 @@
|
|||||||
<!-- <div id="main"></div>-->
|
<!-- <div id="main"></div>-->
|
||||||
<!-- <div class="axis-tip"></div>-->
|
<!-- <div class="axis-tip"></div>-->
|
||||||
<div class="box-top-content-right-top">
|
<div class="box-top-content-right-top">
|
||||||
<div class="box-top-content-right-top-text" v-for="(item,index) in timeList" :key="index">{{item}}</div>
|
<div class="box-top-content-right-top-text" v-for="(item,index) in timeList" :key="index">{{ item }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="overflow:visible;">
|
<div style="overflow:visible;">
|
||||||
<div class="box-top-content-left">
|
<div class="box-top-content-left">
|
||||||
<div class="box-top-content-left-text" :title="item.projectName"
|
<div class="box-top-content-left-text"
|
||||||
v-for="(item,index) in timeData" :key="index">
|
v-for="(item,index) in timeData" :key="index">
|
||||||
{{item.projectName}}
|
<a-tooltip overlayClassName="overlayClassName" placement="topLeft">
|
||||||
|
<template slot="title">
|
||||||
|
<div>{{ item.projectName }}</div>
|
||||||
|
<div>
|
||||||
|
{{$t('explain')}}:{{item.projectInfo.explanation}}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<span @click="projectInfoClick(item.projectInfo)" style="cursor: pointer">{{ item.projectName }}</span>
|
||||||
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-top-content-right">
|
<div class="box-top-content-right">
|
||||||
@@ -83,12 +92,12 @@
|
|||||||
<div class="process-content-right-xian"></div>
|
<div class="process-content-right-xian"></div>
|
||||||
<div class="process-content-content" :style="val.left"
|
<div class="process-content-content" :style="val.left"
|
||||||
v-for="(val,indexOne) in item.data[0]" :key="indexOne">
|
v-for="(val,indexOne) in item.data[0]" :key="indexOne">
|
||||||
<div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{val.name}}</div>
|
<div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{ val.name }}</div>
|
||||||
<div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{val.name}}
|
<div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{ val.name }}
|
||||||
</div>
|
</div>
|
||||||
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span>{{val.time.slice(0,11)}}</span>
|
<span>{{ val.time.slice(0, 11) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<img v-if="val.status == 1" src="../../../assets/done.svg" class="process-content-left"
|
<img v-if="val.status == 1" src="../../../assets/done.svg" class="process-content-left"
|
||||||
alt="">
|
alt="">
|
||||||
@@ -104,17 +113,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-top-content-right-xian"></div>
|
<div class="box-top-content-right-xian"></div>
|
||||||
<div class="box-top-content-right-text">
|
<div class="box-top-content-right-text">
|
||||||
{{handlingTime}}
|
{{ handlingTime }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<JLoading :loading="loadingMain">{{this.$t('dataLoading')}}</JLoading>
|
<JLoading :loading="loadingMain">{{ this.$t('dataLoading') }}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-bottom">
|
<div class="box-bottom">
|
||||||
<span class="box-top-text">{{$t('projectStatusAndProgress')}}</span>
|
<span class="box-top-text">{{ $t('projectStatusAndProgress') }}</span>
|
||||||
<span class="box-top-text fullScreenView" @click="projectNameClick">{{$t('fullScreenView')}}</span>
|
<span class="box-top-text fullScreenView" @click="projectNameClick">{{ $t('fullScreenView') }}</span>
|
||||||
<div>
|
<div>
|
||||||
<a-table
|
<a-table
|
||||||
ref="table"
|
ref="table"
|
||||||
@@ -127,32 +136,38 @@
|
|||||||
:columns="columns"
|
:columns="columns"
|
||||||
>
|
>
|
||||||
<span slot="projectStatusTitle">
|
<span slot="projectStatusTitle">
|
||||||
<span>{{this.$t('CurrentStatusOfTheProject')}}</span><br/>
|
<span>{{ this.$t('CurrentStatusOfTheProject') }}</span><br />
|
||||||
<span>{{'('+$t('red')+'/'+$t('yellow')+'/'+$t('green')+'/'+$t('blue')+')'}}</span>
|
<span>{{ '(' + $t('red') + '/' + $t('yellow') + '/' + $t('green') + '/' + $t('blue') + ')' }}</span>
|
||||||
</span>
|
</span>
|
||||||
<span slot="CertificationProgressTitle">
|
<span slot="CertificationProgressTitle">
|
||||||
<span>{{this.$t('CertificationProgress')}}</span><br/>
|
<span>{{ this.$t('CertificationProgress') }}</span><br />
|
||||||
<span>{{'('+$t('notInvolved')+'/'+$t('toBeStarted')+'/'+$t('inProgress')+'/'+$t('experimentFailed')+'/'+$t('experimentPassed')+')'}}</span>
|
<span>{{ '(' + $t('notInvolved') + '/' + $t('toBeStarted') + '/' + $t('inProgress') + '/' + $t('experimentFailed') + '/' + $t('experimentPassed') + ')'
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
<span slot="listConfirmationStatusTitle">
|
<span slot="listConfirmationStatusTitle">
|
||||||
<span>{{this.$t('listConfirmation')}}</span><br/>
|
<span>{{ this.$t('listConfirmation') }}</span><br />
|
||||||
<span>{{'('+$t('notLaunch')+'/'+$t('toBeConfirmed')+'/'+$t('accept')+'/'+$t('refuse')+')'}}</span>
|
<span>{{ '(' + $t('notLaunch') + '/' + $t('toBeConfirmed') + '/' + $t('accept') + '/' + $t('refuse') + ')'
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
<span slot="taskAffirmStatusTitle">
|
<span slot="taskAffirmStatusTitle">
|
||||||
<span>{{this.$t('taskAffirm')}}</span><br/>
|
<span>{{ this.$t('taskAffirm') }}</span><br />
|
||||||
<span>{{'('+$t('notLaunch')+'/'+$t('toBeConfirmed')+'/'+$t('accept')+'/'+$t('refuse')+')'}}</span>
|
<span>{{ '(' + $t('notLaunch') + '/' + $t('toBeConfirmed') + '/' + $t('accept') + '/' + $t('refuse') + ')'
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
<span slot="designComplianceReviewTitle">
|
<span slot="designComplianceReviewTitle">
|
||||||
<span>{{this.$t('designComplianceReview')}}</span><br/>
|
<span>{{ this.$t('designComplianceReview') }}</span><br />
|
||||||
<span>{{'('+$t('toBeConfirmed')+'/'+$t('accord')+'/'+$t('nonConformity')+'/'+$t('Tracked')+'/'+$t('notInvolved')+'/'+$t('taskTermination')+')'}}</span>
|
<span>{{ '(' + $t('toBeConfirmed') + '/' + $t('accord') + '/' + $t('nonConformity') + '/' + $t('Tracked') + '/' + $t('notInvolved') + '/' + $t('taskTermination') + ')'
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
<span slot="preHomeConfirmationTitle">
|
<span slot="preHomeConfirmationTitle">
|
||||||
<span>{{this.$t('preHomeConfirmation')}}</span><br/>
|
<span>{{ this.$t('preHomeConfirmation') }}</span><br />
|
||||||
<span>{{'('+$t('toBeConfirmed')+'/'+$t('accord')+'/'+$t('nonConformity')+'/'+$t('Tracked')+'/'+$t('notInvolved')+'/'+$t('taskTermination')+')'}}</span>
|
<span>{{ '(' + $t('toBeConfirmed') + '/' + $t('accord') + '/' + $t('nonConformity') + '/' + $t('Tracked') + '/' + $t('notInvolved') + '/' + $t('taskTermination') + ')'
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
<span slot="verificationComplianceReviewTitle">
|
<span slot="verificationComplianceReviewTitle">
|
||||||
<span>{{this.$t('verificationComplianceReview')}}</span><br/>
|
<span>{{ this.$t('verificationComplianceReview') }}</span><br />
|
||||||
<span>{{'('+$t('toBeConfirmed')+'/'+$t('accord')+'/'+$t('nonConformity')+'/'+$t('Tracked')+'/'+$t('notInvolved')+'/'+$t('taskTermination')+')'}}</span>
|
<span>{{ '(' + $t('toBeConfirmed') + '/' + $t('accord') + '/' + $t('nonConformity') + '/' + $t('Tracked') + '/' + $t('notInvolved') + '/' + $t('taskTermination') + ')'
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -161,14 +176,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
mixins: [ResizeHeader, ResizeColumnProvide],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
@@ -458,6 +473,7 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
this.timeData = timeData
|
this.timeData = timeData
|
||||||
|
console.log(this.timeData)
|
||||||
this.timeData = [...this.timeData]
|
this.timeData = [...this.timeData]
|
||||||
this.loadingMain = false
|
this.loadingMain = false
|
||||||
}, 500)
|
}, 500)
|
||||||
@@ -495,30 +511,48 @@
|
|||||||
path: '/projectStatusAndProgress'
|
path: '/projectStatusAndProgress'
|
||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
window.open(newUrl.href, '_blank')
|
||||||
|
},
|
||||||
|
projectInfoClick(item){
|
||||||
|
let newUrl = this.$router.resolve({
|
||||||
|
path: '/ProjectDetails',
|
||||||
|
query: item
|
||||||
|
})
|
||||||
|
window.open(newUrl.href, '_blank')
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.box-top-text-right .ant-calendar-picker-input {
|
.box-top-text-right .ant-calendar-picker-input {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
width: 300px;
|
width: 300px;
|
||||||
}
|
}
|
||||||
.ant-calendar-footer-btn .ant-calendar-footer-extra{
|
|
||||||
|
.ant-calendar-footer-btn .ant-calendar-footer-extra {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
.overlayClassName .ant-tooltip-inner {
|
||||||
|
color: #fff!important;
|
||||||
|
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||||
|
}
|
||||||
|
.overlayClassName .ant-tooltip-arrow::before{
|
||||||
|
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||||
|
}
|
||||||
|
.overlayClassName{
|
||||||
|
max-width: 500px!important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
@import'~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 70px;
|
width: 70px;
|
||||||
color: #000F16;
|
color: #000F16;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -530,42 +564,42 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 70%;
|
width: 70%;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-text {
|
.box-top-text {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #000F16;
|
color: #000F16;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content {
|
.box-top-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 500px;
|
height: 500px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
padding: 0 58px 20px 10px;
|
padding: 0 58px 20px 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-button {
|
.box-button {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#main {
|
#main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.axis-tip {
|
.axis-tip {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding: 5px 5px;
|
padding: 5px 5px;
|
||||||
@@ -575,30 +609,30 @@
|
|||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
|
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-text-right {
|
.box-top-text-right {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
float: right;
|
float: right;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
width: 300px;
|
width: 300px;
|
||||||
margin-top: -4px;
|
margin-top: -4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fullScreenView {
|
.fullScreenView {
|
||||||
margin-left: 16px;
|
margin-left: 16px;
|
||||||
color: #21c9cc;
|
color: #21c9cc;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-left {
|
.box-top-content-left {
|
||||||
width: 140px;
|
width: 140px;
|
||||||
float: left;
|
float: left;
|
||||||
padding-top: 57px;
|
padding-top: 57px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-left-text {
|
.box-top-content-left-text {
|
||||||
color: #191E29;
|
color: #191E29;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
@@ -608,14 +642,14 @@
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right {
|
.box-top-content-right {
|
||||||
width: calc(100% - 160px);
|
width: calc(100% - 160px);
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-top {
|
.box-top-content-right-top {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -625,9 +659,9 @@
|
|||||||
z-index: 100;
|
z-index: 100;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
padding-left: 160px;
|
padding-left: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-top-text {
|
.box-top-content-right-top-text {
|
||||||
border-left: 1px #EAEAEC solid;
|
border-left: 1px #EAEAEC solid;
|
||||||
border-top: 1px #EAEAEC solid;
|
border-top: 1px #EAEAEC solid;
|
||||||
border-bottom: 1px #EAEAEC solid;
|
border-bottom: 1px #EAEAEC solid;
|
||||||
@@ -640,18 +674,18 @@
|
|||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
letter-spacing: 0px;
|
letter-spacing: 0px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-top-text:last-child {
|
.box-top-content-right-top-text:last-child {
|
||||||
border-right: 1px #EAEAEC solid;
|
border-right: 1px #EAEAEC solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-bottom {
|
.box-top-content-right-bottom {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-top: 50px;
|
padding-top: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.process-content {
|
.process-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 84px;
|
height: 84px;
|
||||||
|
|
||||||
@@ -718,18 +752,18 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 16px;
|
top: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-xian {
|
.box-top-content-right-xian {
|
||||||
width: 2px;
|
width: 2px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border: 1px #21c9cc dashed;
|
border: 1px #21c9cc dashed;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -36px;
|
top: -36px;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top-content-right-text {
|
.box-top-content-right-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -60px;
|
top: -60px;
|
||||||
color: #21c9cc;
|
color: #21c9cc;
|
||||||
@@ -737,13 +771,14 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.ant-table-column-title{
|
/deep/ .ant-table-column-title {
|
||||||
font-weight: bold!important;
|
font-weight: bold !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-table-placeholder{
|
::v-deep .ant-table-placeholder {
|
||||||
margin-top: 8px !important;
|
margin-top: 8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
dataIndex: 'projectName',
|
dataIndex: 'projectName',
|
||||||
scopedSlots: { customRender: 'RelatedItems' },
|
scopedSlots: { customRender: 'RelatedItems' },
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('standardInformation'),
|
title: this.$t('standardInformation'),
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
dataIndex: 'standardInfo',
|
dataIndex: 'standardInfo',
|
||||||
scopedSlots: { customRender: 'standardInformation' },
|
scopedSlots: { customRender: 'standardInformation' },
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 330
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskType'),
|
title: this.$t('taskType'),
|
||||||
@@ -83,28 +83,28 @@
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'lastAssigneeName',
|
dataIndex: 'lastAssigneeName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('CurrentProcessor'),
|
title: this.$t('CurrentProcessor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'assigneeName',
|
dataIndex: 'assigneeName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TaskCutOffTime'),
|
title: this.$t('TaskCutOffTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'endTime',
|
dataIndex: 'endTime',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskStatus'),
|
title: this.$t('taskStatus'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
dataIndex: 'projectName',
|
dataIndex: 'projectName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'RelatedItems' },
|
scopedSlots: { customRender: 'RelatedItems' },
|
||||||
width: 170
|
width: 110
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('standardInformation'),
|
title: this.$t('standardInformation'),
|
||||||
@@ -70,28 +70,28 @@
|
|||||||
dataIndex: 'standardInfo',
|
dataIndex: 'standardInfo',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'standardInformation' },
|
scopedSlots: { customRender: 'standardInformation' },
|
||||||
width: 170
|
width: 260
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskType'),
|
title: this.$t('taskType'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'flowTypeShow',
|
dataIndex: 'flowTypeShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 120
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('Sponsor'),
|
title: this.$t('Sponsor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'createBy',
|
dataIndex: 'createBy',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 100
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TaskCutOffTime'),
|
title: this.$t('TaskCutOffTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'endTime',
|
dataIndex: 'endTime',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170,
|
width: 110,
|
||||||
scopedSlots: { customRender: 'endTime' }
|
scopedSlots: { customRender: 'endTime' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -99,13 +99,13 @@
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 80
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 120,
|
width: 80,
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
dataIndex: 'projectName',
|
dataIndex: 'projectName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'RelatedItems' },
|
scopedSlots: { customRender: 'RelatedItems' },
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('standardInformation'),
|
title: this.$t('standardInformation'),
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
dataIndex: 'standardInfo',
|
dataIndex: 'standardInfo',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'standardInformation' },
|
scopedSlots: { customRender: 'standardInformation' },
|
||||||
width: 170
|
width: 330
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskType'),
|
title: this.$t('taskType'),
|
||||||
@@ -89,28 +89,28 @@
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'createBy',
|
dataIndex: 'createBy',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('CurrentProcessor'),
|
title: this.$t('CurrentProcessor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'assigneeName',
|
dataIndex: 'assigneeName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TaskCutOffTime'),
|
title: this.$t('TaskCutOffTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'endTime',
|
dataIndex: 'endTime',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskStatus'),
|
title: this.$t('taskStatus'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
|
|||||||
@@ -60,42 +60,42 @@
|
|||||||
dataIndex: 'standardInfo',
|
dataIndex: 'standardInfo',
|
||||||
scopedSlots: { customRender: 'standardInformation' },
|
scopedSlots: { customRender: 'standardInformation' },
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 330
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskType'),
|
title: this.$t('taskType'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'flowTypeShow',
|
dataIndex: 'flowTypeShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('LastProcessor'),
|
title: this.$t('LastProcessor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'lastAssigneeName',
|
dataIndex: 'lastAssigneeName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('CurrentProcessor'),
|
title: this.$t('CurrentProcessor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'assigneeName',
|
dataIndex: 'assigneeName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TaskCutOffTime'),
|
title: this.$t('TaskCutOffTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'endTime',
|
dataIndex: 'endTime',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskStatus'),
|
title: this.$t('taskStatus'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
|
|||||||
@@ -58,28 +58,28 @@
|
|||||||
dataIndex: 'standardInfo',
|
dataIndex: 'standardInfo',
|
||||||
scopedSlots: { customRender: 'standardInformation' },
|
scopedSlots: { customRender: 'standardInformation' },
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 330
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskType'),
|
title: this.$t('taskType'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'flowTypeShow',
|
dataIndex: 'flowTypeShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('Sponsor'),
|
title: this.$t('Sponsor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'createBy',
|
dataIndex: 'createBy',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TaskCutOffTime'),
|
title: this.$t('TaskCutOffTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'endTime',
|
dataIndex: 'endTime',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170,
|
width: 150,
|
||||||
scopedSlots: { customRender: 'endTime' }
|
scopedSlots: { customRender: 'endTime' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
|
|||||||
@@ -57,42 +57,42 @@
|
|||||||
dataIndex: 'standardInfo',
|
dataIndex: 'standardInfo',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'standardInformation' },
|
scopedSlots: { customRender: 'standardInformation' },
|
||||||
width: 170
|
width: 330
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskType'),
|
title: this.$t('taskType'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'flowTypeShow',
|
dataIndex: 'flowTypeShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('Sponsor'),
|
title: this.$t('Sponsor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'createBy',
|
dataIndex: 'createBy',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('CurrentProcessor'),
|
title: this.$t('CurrentProcessor'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'assigneeName',
|
dataIndex: 'assigneeName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TaskCutOffTime'),
|
title: this.$t('TaskCutOffTime'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'endTime',
|
dataIndex: 'endTime',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('taskStatus'),
|
title: this.$t('taskStatus'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
|
|||||||
Reference in New Issue
Block a user