Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage

This commit is contained in:
gaosong
2022-08-09 11:58:00 +08:00
20 changed files with 549 additions and 247 deletions
@@ -10,6 +10,7 @@ import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.cert.template.entity.ParamsInfoEO;
import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.cert.template.service.IParamsInfoEOService;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.cert.template.vo.ParamsInfoVO;
@@ -136,7 +137,8 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@PostMapping(value = "/add")
// @RequiresPermissions("params:paramsInfo:add")
public Result<?> add(@Validated @RequestBody ParamsInfoEO paramsInfoEO) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())
&& !ControlTypeEnum.Title.getValue().equals(paramsInfoEO.getControlType())) {
return Result.error("认证类别不能为空!");
}
boolean isSuccess = paramsInfoEOService.add(paramsInfoEO);
@@ -158,7 +160,8 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@PostMapping(value = "/edit")
@RequiresPermissions("params:paramsInfo:edit")
public Result<?> edit(@Validated @RequestBody ParamsInfoEO paramsInfoEO) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())
&& !ControlTypeEnum.Title.getValue().equals(paramsInfoEO.getControlType())) {
return Result.error("认证类别不能为空!");
}
boolean isSuccess = paramsInfoEOService.editById(paramsInfoEO);
@@ -1171,7 +1171,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
List<String> stringMessage = new ArrayList<>();
List<String> nioNumberImport = new ArrayList<>(); // 记录导入的nio编号
int i = 1; //记录行号
int i = 2; //记录行号
//循环验证数据
for (ParamsInfoCnImport dto : paramsInfoEOList) {
//判断此行数据是否全部为空,是则不读取
@@ -1278,13 +1278,6 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
// 认证类别
// 来源:认证类别sheet页
resultMap = validateMustAndLength(nioCertCategoryMap.get(nioNumber), "认证类别", "Cert Category", IsMustEnum.YES.getValue(), "1000", false, cut);
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
dto.setCertCategory(nioCertCategoryMap.get(nioNumber));
// String certCategory = dto.getCertCategory();
// resultMap = validateMustAndLength(certCategory, "认证类别", "cert category", IsMustEnum.YES.getValue(), "1000", false, cut);
// errorMsg += (String)resultMap.get("errorMsg");
@@ -1306,6 +1299,17 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
controlType = (String)resultMap.get("value");
dto.setControlType(controlType);
// 认证类别
// 来源:认证类别sheet页
if (ControlTypeEnum.Title.getValue().equals(controlType)) {
resultMap = validateMustAndLength(nioCertCategoryMap.get(nioNumber), "认证类别", "Cert Category", IsMustEnum.NO.getValue(), "1000", false, cut);
} else {
resultMap = validateMustAndLength(nioCertCategoryMap.get(nioNumber), "认证类别", "Cert Category", IsMustEnum.YES.getValue(), "1000", false, cut);
}
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
dto.setCertCategory(nioCertCategoryMap.get(nioNumber));
// 控件备选值
String controlValues = dto.getControlValues();
if (ControlTypeEnum.PULL_SINGLE.getValue().equals(controlType)
@@ -1352,7 +1356,6 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
dto.setControlVerify(null);
}
// 标题默认值
String titleDefaultValue = dto.getTitleDefaultValue();
if (ControlTypeEnum.Title.getValue().equals(controlType)) {
@@ -1427,7 +1430,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
List<String> ccNioNumberImport = new ArrayList<>(); // 记录导入的nio编号
int j = 1;
int j = 2;
for (CertCategoryParamsInfoCnImport ccDto : ccDtoList) {
//判断此行数据是否全部为空,是则不读取
if (checkObjAllFieldsIsNull(ccDto)) {
@@ -97,7 +97,7 @@ public class CountryCardTempEOController extends JeroController<CountryCardTempE
*/
@AutoLog(value = "Country Card模板维护表-编辑")
@ApiOperation(value="Country Card模板维护表-编辑", notes="Country Card模板维护表-编辑")
@PutMapping(value = "/edit")
@PostMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody CountryCardTempEO countryCardTempEO) {
countryCardTempEOService.editById(countryCardTempEO);
return Result.OK("编辑成功!");
@@ -167,4 +167,14 @@ public class CountryCardTempItemEOController extends JeroController<CountryCardT
return super.importExcel(request, response, CountryCardTempItemEO.class);
}
@AutoLog(value = "Country Card模板维护-字典项表-通过模板维护表id删除")
@ApiOperation(value="Country Card模板维护-字典项表-通过模板维护表id删除", notes="Country Card模板维护-字典项表-通过模板维护表id删除")
@DeleteMapping(value = "/deleteByCountryCardTempId")
public Result<?> deleteByCountryCardTempId(@RequestParam(name="countryCardTempId",required=true) String countryCardTempId) {
QueryWrapper<CountryCardTempItemEO> deleteWrapper = new QueryWrapper<>();
deleteWrapper.lambda().eq(CountryCardTempItemEO::getCountryCardTempId,countryCardTempId);
this.countryCardTempItemEOService.remove(deleteWrapper);
return Result.OK("删除成功!");
}
}
@@ -69,8 +69,14 @@ public interface ICountryCardTempEOService extends IService<CountryCardTempEO> {
void disposeData(List<CountryCardTempEO> datas, String cut);
/**
* 设置排序号
* 设置编辑时排序号
* @param countryCardTempEO
*/
void setOrderNum(CountryCardTempEO countryCardTempEO);
void setEditOrderNum(CountryCardTempEO countryCardTempEO);
/**
* 设置新增时的排序号
* @param countryCardTempEO
*/
void setAddOrderNum(CountryCardTempEO countryCardTempEO);
}
@@ -44,15 +44,15 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
*/
@Override
public void add(CountryCardTempEO countryCardTempEO) {
this.setOrderNum(countryCardTempEO);
this.setAddOrderNum(countryCardTempEO);
Date now = new Date();
countryCardTempEO.setCreateTime(now);
countryCardTempEO.setUpdateTime(now);
save(countryCardTempEO);
//如果选择了下拉框
if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
/*if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
this.countryCardTempItemEOService.batchInsert(countryCardTempEO.getCountryCardTempItemEOList(),countryCardTempEO.getId(),countryCardTempEO.getCut());
}
}*/
}
/**
@@ -63,14 +63,14 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
*/
@Override
public void editById(CountryCardTempEO countryCardTempEO) {
this.setOrderNum(countryCardTempEO);
this.setEditOrderNum(countryCardTempEO);
Date now = new Date();
countryCardTempEO.setUpdateTime(now);
saveOrUpdate(countryCardTempEO);
//如果选择了下拉框
if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
/*if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
this.countryCardTempItemEOService.batchInsert(countryCardTempEO.getCountryCardTempItemEOList(),countryCardTempEO.getId(),countryCardTempEO.getCut());
}
}*/
}
/**
@@ -154,34 +154,72 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
}
@Override
public void setOrderNum(CountryCardTempEO countryCardTempEO){
public void setEditOrderNum(CountryCardTempEO countryCardTempEO){
Integer inputOrderNum = countryCardTempEO.getOrderNum();
if(inputOrderNum != null) {
QueryWrapper<CountryCardTempEO> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("order_num");
List<CountryCardTempEO> countryCardTempEOList = this.list(queryWrapper);
Integer orderNumData = countryCardTempEOList.stream().filter(e -> e.getId().equals(countryCardTempEO.getId()))
.map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0);
if(CollectionUtils.isNotEmpty(countryCardTempEOList)){
Integer orderNumData = countryCardTempEOList.stream().filter(e -> e.getId().equals(countryCardTempEO.getId()))
.map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0);
queryWrapper.eq("order_num", inputOrderNum);
Integer orderNumCount = this.baseMapper.selectCount(queryWrapper);
//有重复展示顺序的,后面的号全+1
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {
//设置排序
QueryWrapper<CountryCardTempEO> orderNumQueryWrapper = new QueryWrapper<>();
orderNumQueryWrapper.ge("order_num", inputOrderNum)
.orderByAsc("order_num");
List<CountryCardTempEO> geOrderNumList = this.list(orderNumQueryWrapper);
//判断相邻的序号,去掉不邻的
for (int i = 0; i < geOrderNumList.size(); i++) {
if (geOrderNumList.size() == 1) {
break;
} else if(i+1 >= geOrderNumList.size()){
break;
}else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
int deleteStart = geOrderNumList.get(i + 1).getOrderNum();
geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList());
break;
}
}
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
saveOrUpdateBatch(geOrderNumList);
}
}
}
}
@Override
public void setAddOrderNum(CountryCardTempEO countryCardTempEO) {
Integer inputOrderNum = countryCardTempEO.getOrderNum();
if(inputOrderNum != null) {
//查询展示顺序相同的
QueryWrapper<CountryCardTempEO> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("order_num");
queryWrapper.eq("order_num", inputOrderNum);
Integer orderNumCount = this.baseMapper.selectCount(queryWrapper);
//有重复展示顺序的,后面的号全+1
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {
if (orderNumCount > 0) {
//设置排序
QueryWrapper<CountryCardTempEO> orderNumQueryWrapper = new QueryWrapper<>();
orderNumQueryWrapper.ge("order_num", inputOrderNum)
.orderByAsc("order_num");
List<CountryCardTempEO> geOrderNumList = this.list(orderNumQueryWrapper);
List<CountryCardTempEO> geOrderNumList = list(orderNumQueryWrapper);
//判断相邻的序号,去掉不邻的
for (int i = 0; i < geOrderNumList.size(); i++) {
if (geOrderNumList.size() == 1) {
break;
} else if(i+1 >= geOrderNumList.size()){
}else if(i+1 >= geOrderNumList.size()){
break;
}else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
} else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
int deleteStart = geOrderNumList.get(i + 1).getOrderNum();
geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList());
break;
+36 -30
View File
@@ -603,9 +603,9 @@ module.exports = {
verificationAndConformityconfirmation: 'Validation Compliance Check',
StandardImplementationDate: 'New Type Execution Date',
regulatoryEngineer: 'Regulation Engineer',
certifiedEngineer: 'Homologation Engineer',
certifiedEngineer: 'Homo Engineer',
regulatoryEngineerOrcertifiedEngineer: 'Regulation Engineer Or Homologation Engineer',
engineeringInterfacePerson: 'Engineering Interface',
engineeringInterfacePerson: 'Eng. Interface',
typeOfDeliverables: 'Deliverable Type',
deliverableTemplate: 'Deliverable Template',
entryName: 'Project Name',
@@ -671,7 +671,7 @@ module.exports = {
standardName: 'Standard Name',
initiateListConfirmation: 'Initiate List Confirmation',
initiateTaskConfirmation: 'Initiate Task Confirmation',
alteration: 'Change',
alteration: 'Modify',
fixedPlate: 'Fix the version ',
taskAffirmStatus: 'Task Confirmation Status',
taskAffirm: 'Task Confirmation',
@@ -725,7 +725,7 @@ module.exports = {
timeOperation: 'You have permission to operate this button.',
NiOnumberis: 'NiO number is',
NoOperationPermissionForthisbutton: 'No Operation permission for this button',
Attentionfreeze: 'Note: after freezing, the frozen configuration content cannot be edited.',
Attentionfreeze: 'Note: Note: The item can no longer be configured after its frozen. ',
Filledperson: 'The project contact person has not been filled in. Please fill in the project contact person before issuing and collecting.',
Datastatusis: 'Datastatusis',
Dropdownradio: 'Drop Down Radio',
@@ -734,7 +734,7 @@ module.exports = {
positiveInteger: 'Positive Integer',
// 参数收集开始
MaintainConfigureInfo: 'Maintain Configuration Information',
ParameteItemCollectionList: 'Parameter item collection list',
ParameteItemCollectionList: 'Parameter Collection List',
ParameterViewPage: 'Parameter View Page',
Areyousureparameteritems: 'Are you sure to submit the selected parameter items?',
Theselectedconfiguration: 'The configuration can only be added when the parameter items in the parameter list are to be collected or changed',
@@ -766,27 +766,27 @@ module.exports = {
operatethisbutton: 'You do not have permission to operate this button',
ParameterLibrary: 'Parameter Library',
referenceparameter: 'Reference Parameter',
tempSave: 'Temp Save',
Assignedby: 'Assignedby',
CompulsoryWithdrawal: 'CompulsoryWithdrawal',
SynchronousReportLibrary: 'Synchronous Report Library',
tempSave: 'Save',
Assignedby: 'Assign',
CompulsoryWithdrawal: 'Revoke',
SynchronousReportLibrary: 'Sync to the Library',
FreezeConfiguration: 'Freeze Configuration',
distributionAndCollection: 'Distribution And Collection',
distributionAndCollection: 'Distribute & Collect',
OneclickCollection: 'One-click Collection',
deleteConfiguration: 'Delete Configuration',
addConfiguration: 'Add Configuration',
electricMachinery: 'ElectricMachinery',
electricMachinery: 'E-motor',
Battery: 'Battery',
Model: 'Model',
configurationName: 'Configuration Name',
historicalVersion: 'Historical Version',
configure: 'Configure',
configure: 'Configuration',
parameter: 'Parameter',
changeExtension: 'Change Extension',
addDetailList: 'Add',
detailedList: 'DetailedList',
copyParamDetailList: 'Copy Parameter List',
collectionCompletionTime: 'Collection Completion Time',
collectionCompletionTime: 'Collection Completed',
parameterTemplateName: 'Parameter Template Name',
onlyThree: 'enter only letters, numbers, hyphens (-), left slashes, and Spaces',
templateName: 'Template Name',
@@ -794,9 +794,9 @@ module.exports = {
templateCopy: 'Template Copy',
NiOnumberalreadyexists: 'NiO number already exists, please replace NiO number',
attachmentTemplate: 'Attachment Template',
controlAlternatives: 'Control Alternatives',
controlVerification: 'Control Verification',
controlType: 'Control Type',
controlAlternatives: 'Control Component',
controlVerification: 'Validate Component',
controlType: 'Control Component',
certificationCategory: 'Certification Category',
parameterBatch: 'Parameter Batch',
releaseVersion: 'Release Version',
@@ -819,7 +819,7 @@ module.exports = {
OperationNode: 'Operation Node',
taskDataConfirmation: 'Please select the data whose list confirmation status is accepted and task confirmation status is not initiated or rejected, and the regulatory engineer and certification engineer are not empty',
selectInquiry: 'Select Inquiry',
sendBack: 'Send Back',
sendBack: 'Reject',
taskConfirmationProcess: 'Task confirmation process',
notFinished: 'Assigned',
Finished: 'Complete',
@@ -843,7 +843,7 @@ module.exports = {
technicalEvaluationResults: 'Technical Evaluation Results',
engineeringConfirmation: 'Engineering Deliverables',
feedbackFromTheEngineer: 'Engineer Comment',
completedBy: 'SdtPeople',
completedBy: 'Filled by',
completedTime: 'Completed Time',
replyFromProjectContactPerson: 'Assignee Reply',
answer: 'Answer',
@@ -957,14 +957,14 @@ module.exports = {
reportNotUploaded: 'Report not uploaded',
position: 'Position',
// 认证权限状态
CollectionInitiated: 'Wait Collect',
handledInterface: 'Wait Sdt',
ReturnedPerson: 'Sdt Back',
completed: 'Wait Fill',
Filledreturn: 'Dre Back',
Submitted: 'Submit',
ReturnedEngineer: 'Cert Back',
SynchronizedLibrary: 'Sync Report',
CollectionInitiated: 'To be collected',
handledInterface: 'To be processed by eng. interface',
ReturnedPerson: 'Rejected by eng. interface',
completed: 'To be filled',
Filledreturn: 'Rejected by the applicant',
Submitted: 'Submitted',
ReturnedEngineer: 'Rejected by homo engineer',
SynchronizedLibrary: 'Synced to library',
Statusis: 'Statusis',
toHavePermission: 'To Have Permission',
and: 'And',
@@ -1050,12 +1050,12 @@ module.exports = {
NNiONumber: 'NIO Number',
ParameterNo: 'Number',
NRequired: 'Is Must',
NParameterName: 'Params Name',
NParameterName: 'Para Name',
NtechnicalField: 'Tech field',
NparameterBatch: 'Params Batch',
NareaOfResponsibility: 'Duty Territory',
NareaOfResponsibility: 'Responsible Field',
NParameterDescription: 'Description',
NcertificationCategory: 'Cert Category',
NcertificationCategory: 'Cert',
NcontrolType: 'Control Type',
NcontrolVerification: 'Control Verify',
NcontrolAlternatives: 'Control Values',
@@ -1092,7 +1092,7 @@ module.exports = {
pleaseSelectinitiatedOrRejected: 'Please select the data whose list confirmation status is not initiated or rejected',
TheEngineerAndCertification: 'The regulatory engineer and Certification Engineer of cannot be empty',
theResponsiblePersonAndDeadlineClank: 'The responsible person and deadline of cannot be blank',
bringInTheProjectInterface: 'Bring in the project interface',
bringInTheProjectInterface: 'Assign to Owner',
theCurrentListSaved: 'The current list data has been submitted and cannot be temporarily saved',
defaultTemplate: 'Default Template',
newRequestCommentListTemplate: 'New request for comment list template',
@@ -1246,4 +1246,10 @@ module.exports = {
updated:'Updated',
OpenOne:'Open',
Privacy:'Privacy',
Paraname: 'Para Name',
Parabatch: 'Para Batch',
freeze:'Please select the configuration you want to freeze',
optionDropDownBox:'Option drop - down box',
attachmentUpload:'file',
textInput:'Text Input',
}
+6
View File
@@ -1349,4 +1349,10 @@ module.exports = {
punctuationmark:'只能输入除#号和逗号外的英文标点符号',
created: '创建时间',
updated:'更新时间',
optionDropDownBox:'下拉选择',
attachmentUpload:'附件上传',
textInput:'文本输入',
Paraname: '参数名称',
Parabatch: '参数批次',
freeze:'请选择冻结配置',
}
@@ -91,7 +91,7 @@
},
{
title: this.$t('personCharge'),
dataIndex: 'chargePersonName',
dataIndex: 'chargePersonIdName',
align: 'center',
width: 240,
ellipsis: true
@@ -71,7 +71,7 @@
<a class="text-operation" @click="viewClick(record)">{{$t('view')}}</a>
<a class="text-operation"
@click="subscribe(record)">
{{!record.releaseCondition || record.releaseCondition == 'draft' ? $t('release') :$t('withdraw')}}
{{!record.releaseStatus || record.releaseStatus == 'Draft' ? $t('release') :$t('withdraw')}}
</a>
<a class="text-operation"
@click="edit(record)">{{$t('edit')}}</a>
@@ -120,8 +120,8 @@
pageSize: 10,
pageNo: 1,
url: {
list: '',
deleteBatch: ''
list: '/problemKnowledgeBase/countryCardManageReleaseEO/page',
deleteBatch: '/problemKnowledgeBase/countryCardManageReleaseEO/deleteBatch'
},
selectedRowKeys: [],
columns: [
@@ -149,6 +149,7 @@
},
mounted() {
document.title = 'Country Card-' + this.$t('managePublishing')
this.getList()
},
methods: {
searchQuery() {
@@ -226,8 +227,31 @@
edit() {
this.$refs.countryCardReleaseAddRef.edit()
},
subscribe() {
subscribe(record) {
let _this = this
this.$confirm({
content: record.releaseStatus == 'Draft' ? _this.$t('confirmRelease') : _this.$t('confirmWithdraw'),
onOk() {
let releaseCondition = ''
if (record.releaseStatus == 'Draft') {
releaseCondition = 'Have released'
} else {
releaseCondition = 'Draft'
}
let query = {
releaseStatus: releaseCondition,
ids: record.id
}
postAction('/problemKnowledgeBase/countryCardManageReleaseEO/batchUpdateReleaseStatus', query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
})
}
})
},
viewClick() {
let newUrl = this.$router.resolve({
@@ -9,6 +9,31 @@
@close="handleCancel"
:visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<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="Required">*</span>
<span class="title-text-text"
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
</div>
<a-form-model-item class="itemModel" prop="applyMarket">
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
v-model="formInline.applyMarket">
<a-select-option v-for="(item, key) in applyMarketList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.title ">
{{ item.title}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
<div style="margin-bottom: 60px">
<a-table
:columns="columns"
@@ -41,18 +66,6 @@
</a-button>
</span>
</a-table>
<div class="page" v-if="dataList.length > 0">
<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="onChange"
@showSizeChange="SizeChange"
/>
</div>
</div>
<div class="drawer-bootom-button">
@@ -80,15 +93,23 @@
deleteOne: ''
},
title: '',
formInline: {},
rules: {
applyMarket: [
{
required: true,
message: this.$t('LabelType') + this.$t('cannotEmpty'),
trigger: 'change'
}
]
},
visible: false,
selectedRowKeys: [],
dataList: [{}],
loading: false,
pageNo: 1,
pageSize: 10,
total: 0,
confirmLoading: false,
index: '',
applyMarketList: [],
columns: [
{
title: this.$t('LabelName'),
@@ -118,10 +139,21 @@
add() {
this.visible = true
this.title = this.$t('newlyAdded')
this.getApplyMarketList()
},
edit() {
this.visible = true
this.title = this.$t('edit')
this.getApplyMarketList()
},
getApplyMarketList() {
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', {}).then((res) => {
if (res.success) {
this.applyMarketList = res.result || []
} else {
this.applyMarketList = []
}
})
},
clickButtonToUpload(item, index) {
this.$refs.uploadFile.perentHandleFunc()
@@ -152,31 +184,20 @@
this.visible = false
},
handleSubmit() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
}
})
},
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize
}
this.loading = true
postAction(this.url.list, query).then((res) => {
postAction(this.url.list, {}).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
this.dataList = res.result || []
this.loading = false
} else {
this.dataList = []
this.total = 0
this.loading = false
}
})
@@ -204,21 +225,6 @@
border-radius: 0 0 2px 2px;
}
.box-title {
width: 100%;
text-align: right;
margin-bottom: 20px;
}
.operator-text {
cursor: pointer;
margin-right: 13px;
font-size: 14px;
font-weight: 400;
color: #040B29;
display: inline-block;
}
.button-text {
height: 38px;
width: 100%;
@@ -227,4 +233,45 @@
border: 1px #00B3BE solid;
color: #00B3BE;
}
.box-title-text {
line-height: 1.4;
display: flex;
}
.title-text {
width: 84px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.Required {
color: red;
margin-right: 4px;
}
</style>
@@ -24,7 +24,12 @@
:loading="loading">
<span slot="operation" slot-scope="text,record">
<a style="margin-right: 8px" @click="edit(record)">{{$t('edit')}}</a>
<a @click="deleteData">{{$t('delete')}}</a>
<a @click="deleteData(record)">{{$t('delete')}}</a>
</span>
<span slot="lableType" slot-scope="text,record">
<span v-if="text == 3">{{$t('optionDropDownBox')}}</span>
<span v-if="text == 7">{{$t('attachmentUpload')}}</span>
<span v-if="text == 8">{{$t('textInput')}}</span>
</span>
</a-table>
<div class="page" v-if="dataList.length > 0">
@@ -51,7 +56,7 @@
</template>
<script>
import { getAction, postAction, downloadFile,deleteAction } from '@/api/manage'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import countryCardReleaseModelAdd from './countryCardReleaseModelAdd'
export default {
@@ -62,12 +67,12 @@
data() {
return {
url: {
list: '',
deleteOne: ''
list: '/problemKnowledgeBase/countryCardTempEO/page',
deleteOne: '/problemKnowledgeBase/countryCardTempEO/deleteBatch'
},
visible: false,
selectedRowKeys: [],
dataList: [{}],
dataList: [],
loading: false,
pageNo: 1,
pageSize: 10,
@@ -75,21 +80,22 @@
columns: [
{
title: this.$t('LabelName'),
dataIndex: 'LabelName',
dataIndex: 'lableName',
align: 'center',
ellipsis: true,
width: 200
},
{
title: this.$t('LabelType'),
dataIndex: 'LabelType',
dataIndex: 'lableType',
align: 'center',
ellipsis: true,
width: 200
width: 200,
scopedSlots: { customRender: 'lableType' }
},
{
title: this.$t('DisplayOrder'),
dataIndex: 'DisplayOrder',
dataIndex: 'orderNum',
align: 'center',
ellipsis: true,
width: 160
@@ -109,6 +115,8 @@
methods: {
getData() {
this.visible = true
this.pageNo = 1
this.replacePage()
},
handleCancel() {
this.visible = false
@@ -132,10 +140,10 @@
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
deleteAction(_this.url.deleteOne, { id: val.id }).then((res) => {
deleteAction(_this.url.deleteOne, { ids: val.id }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.replacePage()
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
@@ -158,7 +166,7 @@
pageSize: this.pageSize
}
this.loading = true
postAction(this.url.list, query).then((res) => {
getAction(this.url.list, query).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
@@ -18,10 +18,10 @@
<span class="title-text-text"
:title="$t('LabelName')">{{$t('LabelName')}}</span>
</div>
<a-form-model-item class="itemModel" prop="LabelName">
<a-form-model-item class="itemModel" prop="lableName">
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.LabelName"
v-model="formInline.lableName"
:placeholder="$t('PleaseEnter')+$t('LabelName')"/>
</a-form-model-item>
</div>
@@ -35,20 +35,27 @@
<span class="title-text-text"
:title="$t('LabelType')">{{$t('LabelType')}}</span>
</div>
<a-form-model-item class="itemModel" prop="LabelType">
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.LabelType"
:placeholder="$t('PleaseEnter')+$t('LabelType')"/>
<a-form-model-item class="itemModel" prop="lableType">
<a-select :placeholder="$t('PleaseSelect')+$t('LabelType')"
:disabled="lableTypeDisabled"
@change="lableTypeChange"
v-model="formInline.lableType">
<a-select-option v-for="(item, key) in lableTypeList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-row :gutter="24" v-if="isDisplay">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('dropDownOptions')">{{$t('dropDownOptions')}}</span>
</div>
@@ -68,10 +75,10 @@
<span class="title-text-text"
:title="$t('DisplayOrder')">{{$t('DisplayOrder')}}</span>
</div>
<a-form-model-item class="itemModel" prop="DisplayOrder">
<a-form-model-item class="itemModel" prop="orderNum">
<a-input-number class="box-input"
:disabled="disabled"
v-model="formInline.DisplayOrder"
v-model="formInline.orderNum"
:placeholder="$t('PleaseEnter')+$t('DisplayOrder')"/>
</a-form-model-item>
</div>
@@ -84,10 +91,10 @@
<span class="title-text-text"
:title="$t('associatedWebsite')">{{$t('associatedWebsite')}}</span>
</div>
<a-form-model-item class="itemModel" prop="associatedWebsite">
<a-form-model-item class="itemModel" prop="relevantUrl">
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.associatedWebsite"
v-model="formInline.relevantUrl"
:placeholder="$t('PleaseEnter')+$t('associatedWebsite')"/>
</a-form-model-item>
</div>
@@ -100,11 +107,11 @@
<span class="title-text-text"
:title="$t('describe')">{{$t('describe')}}</span>
</div>
<a-form-model-item class="itemModel" prop="describe">
<a-form-model-item class="itemModel" prop="description">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('describe')"
:disabled="disabled"
v-model="formInline.describe" :rows="4"/>
v-model="formInline.description" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
@@ -117,7 +124,7 @@
</template>
<script>
import { getAction, postAction, downloadFile } from '@/api/manage'
import { getAction, postAction, downloadFile,deleteAction } from '@/api/manage'
import optionMaintenance from './optionMaintenance'
export default {
@@ -131,41 +138,57 @@
disabled: false,
confirmLoading: false,
formInline: {},
lableTypeDisabled: false,
isDisplay: false,
lableTypeList: [
{
name: this.$t('optionDropDownBox'),
value: '3'
},
{
name: this.$t('attachmentUpload'),
value: '7'
},
{
name: this.$t('textInput'),
value: '8'
}
],
rules: {
LabelName: [
lableName: [
{
required: true,
message: this.$t('personCharge') + this.$t('cannotEmpty'),
message: this.$t('LabelName') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 100,
message: this.$t('personCharge') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
message: this.$t('LabelName') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
],
LabelType: [
lableType: [
{
required: true,
message: this.$t('problemLabel') + this.$t('cannotEmpty'),
message: this.$t('LabelType') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
DisplayOrder: [
orderNum: [
{
required: true,
message: this.$t('DisplayOrder') + this.$t('cannotEmpty'),
trigger: 'blur'
}
],
associatedWebsite: [
relevantUrl: [
{
max: 100,
message: this.$t('associatedWebsite') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
],
describe: [
description: [
{
max: 300,
message: this.$t('describe') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
@@ -173,18 +196,46 @@
}
]
},
title: ''
title: '',
dropDownOptionsId: '',
url: {
add: '/problemKnowledgeBase/countryCardTempEO/add',
edit: '/problemKnowledgeBase/countryCardTempEO/edit',
deleteOne: '/problemKnowledgeBase/countryCardTempItemEO/deleteByCountryCardTempId'
}
}
},
mounted() {
},
methods: {
lableTypeChange(event) {
if (event == 3) {
this.isDisplay = true
} else {
this.isDisplay = false
}
},
getUUID() {
var str = []
var Chars = '0123456789abcdefghijklmnopqrstuvwxyz'
for (var i = 0; i < 36; i++) {
str[i] = Chars.substr(Math.floor(Math.random() * 16), 1)
}
str[0] = str[8] = str[13] = str[18] = str[23] = '-'
return str.join('')
},
dropDownOptionsClick() {
this.$refs.optionMaintenanceRef.getData()
if (!this.dropDownOptionsId) {
this.dropDownOptionsId = this.getUUID()
}
this.$refs.optionMaintenanceRef.getData(this.dropDownOptionsId)
},
add() {
this.visible = true
this.isDisplay = false
this.title = this.$t('addLabel')
this.dropDownOptionsId = ''
this.lableTypeDisabled = false
this.$nextTick(() => {
this.formInline = {}
this.$refs.ruleForm.clearValidate()
@@ -193,8 +244,15 @@
edit(data) {
this.visible = true
this.title = this.$t('editLabel')
this.lableTypeDisabled = true
this.$nextTick(() => {
this.formInline = data
this.dropDownOptionsId = this.formInline.id
if (this.formInline.lableType == 3) {
this.isDisplay = true
} else {
this.isDisplay = false
}
this.$refs.ruleForm.clearValidate()
})
},
@@ -205,12 +263,36 @@
handleOk() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
let url = ''
if (this.formInline.id) {
url = this.url.edit
} else {
url = this.url.add
if (this.formInline.lableType == 3) {
this.formInline.id = this.dropDownOptionsId
}
}
this.confirmLoading = true
postAction(url, this.formInline).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.visible = false
this.confirmLoading = false
this.$emit('countryCardReleaseModelAddForm')
} else {
this.confirmLoading = false
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
},
handleCancel() {
this.visible = false
if (this.formInline.lableType == 3) {
deleteAction(this.url.deleteOne, { countryCardTempId: this.dropDownOptionsId }).then((res) => {
})
}
}
}
}
@@ -24,7 +24,7 @@
:loading="loading">
<span slot="operation" slot-scope="text,record">
<a style="margin-right: 8px" @click="edit(record)">{{$t('edit')}}</a>
<a @click="deleteData">{{$t('delete')}}</a>
<a @click="deleteData(record)">{{$t('delete')}}</a>
</span>
</a-table>
<div class="page" v-if="dataList.length > 0">
@@ -46,7 +46,7 @@
</div>
</a-drawer>
<optionMaintenanceAdd ref="optionMaintenanceAddRef"
@classificationMaintenanceAddForm="optionMaintenanceAddForm"/>
@optionMaintenanceAddForm="optionMaintenanceAddForm"/>
</div>
</template>
@@ -62,8 +62,8 @@
data() {
return {
url: {
list: '',
deleteOne: ''
list: '/problemKnowledgeBase/countryCardTempItemEO/page',
deleteOne: '/problemKnowledgeBase/countryCardTempItemEO/deleteBatch'
},
visible: false,
selectedRowKeys: [],
@@ -72,23 +72,27 @@
pageNo: 1,
pageSize: 10,
total: 0,
dataId: '',
columns: [
{
title: this.$t('name'),
dataIndex: 'name',
dataIndex: 'itemText',
align: 'center',
width: 200,
ellipsis: true
},
{
title: this.$t('enName'),
dataIndex: 'enName',
align: 'center',
width: 200,
ellipsis: true
},
{
title: this.$t('describe'),
dataIndex: 'describe',
dataIndex: 'description',
align: 'center',
width: 260,
ellipsis: true
},
{
@@ -104,8 +108,11 @@
mounted() {
},
methods: {
getData() {
getData(id) {
this.dataId = id
this.pageNo = 1
this.visible = true
this.replacePage()
},
handleCancel() {
this.visible = false
@@ -115,9 +122,10 @@
this.replacePage()
},
addLabelClick() {
this.$refs.optionMaintenanceAddRef.add()
this.$refs.optionMaintenanceAddRef.add(this.dataId)
},
edit(val) {
val.dataId = this.dataId
this.$refs.optionMaintenanceAddRef.edit(JSON.parse(JSON.stringify(val)))
},
deleteData(val) {
@@ -125,10 +133,10 @@
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
deleteAction(_this.url.deleteOne, { id: val.id }).then((res) => {
deleteAction(_this.url.deleteOne, { ids: val.id }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.replacePage()
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
@@ -148,10 +156,11 @@
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize
pageSize: this.pageSize,
countryCardTempId: this.dataId
}
this.loading = true
postAction(this.url.list, query).then((res) => {
getAction(this.url.list, query).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
@@ -17,9 +17,9 @@
<span class="title-text-text"
:title="$t('name')">{{$t('name')}}</span>
</div>
<a-form-model-item class="itemModel" prop="name">
<a-form-model-item class="itemModel" prop="itemText">
<a-input class="box-input"
v-model="formInline.name"
v-model.trim="formInline.itemText"
:placeholder="$t('PleaseEnter')+$t('name')"/>
</a-form-model-item>
</div>
@@ -35,28 +35,28 @@
</div>
<a-form-model-item class="itemModel" prop="enName">
<a-input class="box-input"
v-model="formInline.enName"
v-model.trim="formInline.enName"
:placeholder="$t('PleaseEnter')+$t('enName')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('DisplayOrder')">{{$t('DisplayOrder')}}</span>
</div>
<a-form-model-item class="itemModel" prop="DisplayOrder">
<a-input-number class="box-input"
v-model="formInline.DisplayOrder"
:placeholder="$t('PleaseEnter')+$t('DisplayOrder')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="24">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="Required">*</span>-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('DisplayOrder')">{{$t('DisplayOrder')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="DisplayOrder">-->
<!-- <a-input-number class="box-input"-->
<!-- v-model="formInline.DisplayOrder"-->
<!-- :placeholder="$t('PleaseEnter')+$t('DisplayOrder')"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
@@ -64,11 +64,11 @@
<span class="title-text-text"
:title="$t('describe')">{{$t('describe')}}</span>
</div>
<a-form-model-item class="itemModel" prop="describe">
<a-form-model-item class="itemModel" prop="description">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('describe')"
:disabled="disabled"
v-model="formInline.describe" :rows="4"/>
v-model.trim="formInline.description" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
@@ -78,7 +78,7 @@
</template>
<script>
import { getAction, postAction, downloadFile } from '@/api/manage'
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
export default {
name: 'optionMaintenanceAdd',
@@ -88,8 +88,9 @@
confirmLoading: false,
formInline: {},
disabled: false,
dataId: '',
rules: {
name: [
itemText: [
{
required: true,
message: this.$t('name') + this.$t('cannotEmpty'),
@@ -113,14 +114,14 @@
trigger: 'blur'
}
],
DisplayOrder: [
{
required: true,
message: this.$t('DisplayOrder') + this.$t('cannotEmpty'),
trigger: 'blur'
}
],
describe: [
// DisplayOrder: [
// {
// required: true,
// message: this.$t('DisplayOrder') + this.$t('cannotEmpty'),
// trigger: 'blur'
// }
// ],
description: [
{
max: 300,
message: this.$t('describe') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
@@ -128,21 +129,27 @@
}
]
},
title: ''
title: '',
url: {
add: '/problemKnowledgeBase/countryCardTempItemEO/add',
edit: '/problemKnowledgeBase/countryCardTempItemEO/edit'
}
}
},
mounted() {
},
methods: {
add() {
add(id) {
this.visible = true
this.title = this.$t('newlyAdded')
this.$nextTick(() => {
this.formInline = {}
this.$refs.ruleForm.clearValidate()
})
this.dataId = id
},
edit(data) {
this.dataId = data.id
this.visible = true
this.title = this.$t('edit')
this.$nextTick(() => {
@@ -157,7 +164,29 @@
handleOk() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
let url = ''
let Action
if (this.formInline.id) {
url = this.url.edit
Action = putAction
} else {
url = this.url.add
Action = postAction
}
if (!this.formInline.id) {
this.formInline.countryCardTempId = this.dataId
}
Action(url, this.formInline).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.visible = false
this.confirmLoading = false
this.$emit('optionMaintenanceAddForm')
} else {
this.confirmLoading = false
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
},
@@ -142,6 +142,7 @@
},
getData() {
this.visible = true
this.commentContent = ''
this.getList()
},
handleSubmit() {
@@ -162,7 +163,7 @@
this.loading = true
getAction(this.url.list, {
id: this.$route.query.id,
commentContent: this.commentContent
str: this.commentContent
}).then((res) => {
if (res.success) {
this.loading = false
@@ -169,7 +169,10 @@
checkAll: false,
isDisplay: false,
fullCheckbox: false,
resultData: {}
resultData: {},
url: {
exportData: '/compare/sarFileCompareItemComment/exportResXls'
}
}
},
mounted() {
@@ -190,7 +193,20 @@
this.$refs.commentListRef.getData()
},
exportComparisonReportClick() {
let checkboxList = JSON.parse(JSON.stringify(this.checkboxList))
let fullCheckbox = this.fullCheckbox
let query = {
selectIds: checkboxList.join(','),
includeComments: fullCheckbox,
infoId: this.$route.query.id
}
downloadFile(this.url.exportData, this.resultData.serialNumberLeft + ' - ' + this.resultData.serialNumberRight + '.xls', query, this.Deselect)
},
Deselect() {
this.checkboxList = []
this.fullCheckbox = false
this.indeterminate = false
this.checkAll = false
},
getData() {
let query = {
@@ -50,13 +50,13 @@
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('NParameterName')">{{$t('NParameterName')}}</span>
:title="$t('Paraname')">{{$t('Paraname')}}</span>
</div>
<a-form-model-item class="itemModel" prop="paramsName">
<a-input class="box-input"
:disabled="disabled"
v-model.trim="formInline.paramsName"
:placeholder="$t('PleaseEnter')+$t('NParameterName')"/>
:placeholder="$t('PleaseEnter')+$t('Paraname')"/>
</a-form-model-item>
</div>
</a-col>
@@ -103,12 +103,12 @@
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('NparameterBatch')">{{$t('NparameterBatch')}}</span>
:title="$t('Parabatch')">{{$t('Parabatch')}}</span>
</div>
<a-form-model-item class="itemModel" prop="paramsBatch">
<j-dict-select-tag class="box-input" v-model="formInline.paramsBatch"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('NparameterBatch')"
:placeholder="$t('PleaseSelect')+$t('Parabatch')"
:type="'select'"
:triggerChange="false" :dictCode="'params_batch'"/>
</a-form-model-item>
@@ -138,11 +138,11 @@
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if='required'>*</span>
<span class="title-text-text"
:title="$t('NcertificationCategory')">{{$t('NcertificationCategory')}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="certCategory">
<a-form-model-item class="itemModel-multi" :prop="required?certCategory:''">
<j-multi-select-tag-only-rz class="box-input" v-model="formInline.certCategory"
@change='Onchange'
v-on:changelabel='Onchangelabel'
@@ -249,14 +249,14 @@
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24" >
<a-col :span="24" v-if='contentList != []'>
<a-tabs>
<a-tab-pane v-for='(item,index) in contentList' :tab="item.cut == 'cn' ? item.text : item.textEn" :key="index + 1">
<a-tab-pane v-for='(item,index) in contentList' :tab="item.cut == 'cn' ? item.text : item.textEn" :key="index + 1">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if='required'>*</span>
<span class="title-text-text"
:title="$t('ParameterNo')">{{$t('ParameterNo')}}</span>
</div>
@@ -271,7 +271,7 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if='required'>*</span>
<span class="title-text-text" :title="$t('NParameterName')">{{$t('NParameterName')}}</span>
</div>
<a-form-model-item class="itemModel">
@@ -370,6 +370,7 @@ export default {
certCategoryParamsInfoEOList: [], // 认证类别得tab栏
formInline: {},
confirmLoading: false,
required:true,
visible: false,
rules: {
nioNumber:[
@@ -388,7 +389,7 @@ export default {
{ required: true, message: this.$t('PleaseEnter')+this.$t('Required'), trigger: 'change' },
],
paramsName: [
{ required: true, message: this.$t('pleaseSelect')+this.$t('ParameterName'), trigger: 'blur' },
{ required: true, message: this.$t('pleaseSelect')+this.$t('Paraname'), trigger: 'blur' },
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },
],
technologyTerritory: [
@@ -447,7 +448,6 @@ export default {
} else if (long && long == 'en-us') {
this.cut = 'en'
}
console.log(this.cut)
},
methods: {
getcontentListedEdit() {
@@ -470,6 +470,11 @@ export default {
},
controlTypeChange(value){
this.$refs.ruleForm.clearValidate(['controlVerify','titleDefaultValue','controlValues'])
if(value == 11){
this.required = false
}else {
this.required = true
}
},
uploadSuccess(data) {
let attIdList = []
@@ -589,6 +594,7 @@ export default {
item1.description= '' // 描述
}
})
console.log(this.contentList)
};
})
@@ -638,6 +644,11 @@ export default {
// } else {
// value.technologyTerritory = value.technologyTerritory.split(',')
// }
if(this.formInline.controlType == 11){
this.required = false
}else{
this.required = true
}
this.formInline = value
this.title = this.$t('edit')
this.flag = 0
@@ -663,46 +674,49 @@ export default {
this.$refs['ruleForm'].resetFields()
},
handleSubmit() {
if(this.formInline.certCategory == undefined) {
if(this.formInline.certCategory == undefined && this.formInline.controlType != 11) {
this.$message.warning(this.$t('certificationCategory')+this.$t('cannotEmpty'))
return
}
let falg = 1
this.contentList.forEach((item,index) => {
let reg = /^[0-9a-zA-Z-/. ]{1,}$/
// 编号的限制
if(item.paramsNumber == '' || item.paramsNumber === undefined) {
this.$message.warning(this.$t('standard')+this.$t('cannotEmpty'))
falg = 0
return
} else if(item.paramsNumber.length > 15){
this.$message.warning(this.$t('standard')+this.$t('cantExeed')+'15'+this.$t('Characters'))
falg = 0
return
} else if(item.paramsNumber.match(reg) === null) {
this.$message.warning(this.$t('standard')+this.$t('onlyThree'))
falg = 0
return
}
// 参数名称的限制
if(item.paramsName == '' || item.paramsName === undefined) {
this.$message.warning(this.$t('ParameterName')+this.$t('cannotEmpty'))
falg = 0
return
} else if(item.paramsName.length > 100){
this.$message.warning(this.$t('ParameterName')+this.$t('cantExeed')+'100'+this.$t('Characters'))
falg = 0
return
}
if(item.description !== undefined && item.description !== null){
// 参数说明的限制
if(item.description.length > 2000){
this.$message.warning(this.$t('ParameterDescription')+this.$t('cantExeed')+'2000'+this.$t('Characters'))
if(this.formInline.controlType != 11){
this.contentList.forEach((item,index) => {
let reg = /^[0-9a-zA-Z-/. ]{1,}$/
// 编号的限制
if(item.paramsNumber == '' || item.paramsNumber === undefined ) {
this.$message.warning(this.$t('standard')+this.$t('cannotEmpty'))
falg = 0
return
} else if(item.paramsNumber.length > 15){
this.$message.warning(this.$t('standard')+this.$t('cantExeed')+'15'+this.$t('Characters'))
falg = 0
return
} else if(item.paramsNumber.match(reg) === null) {
this.$message.warning(this.$t('standard')+this.$t('onlyThree'))
falg = 0
return
}
}
})
// 参数名称的限制
if(item.paramsNumber == '' || item.paramsNumber === undefined) {
this.$message.warning(this.$t('ParameterName')+this.$t('cannotEmpty'))
falg = 0
return
} else if(item.paramsName.length > 100){
this.$message.warning(this.$t('ParameterName')+this.$t('cantExeed')+'100'+this.$t('Characters'))
falg = 0
return
}
if(item.description !== undefined && item.description !== null){
// 参数说明的限制
if(item.description.length > 2000){
this.$message.warning(this.$t('ParameterDescription')+this.$t('cantExeed')+'2000'+this.$t('Characters'))
falg = 0
return
}
}
})
}
if(falg === 1) {
this.$refs.ruleForm.validate(valid => {
if (valid) {
@@ -255,7 +255,7 @@
<a-row :gutter='24'>
<a-col :span='24'>
<a-form-model-item ref='region' :label="$t('FreezeConfiguration')" prop='region'>
<a-select :placeholder="$t('PleaseSelect')+$t('FreezeConfiguration')" v-model="Dateline.paramsConfig"
<a-select :placeholder="$t('freeze')" v-model="Dateline.paramsConfig"
allowClear mode="multiple">
<a-select-option v-for="(item, key) in FreezeList" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
@@ -174,7 +174,7 @@
dataIndex: 'createBy'
},
{
title: this.$t('createTime'),
title: this.$t('created'),
align: 'center',
width: 160,
ellipsis: true,