合并分支 'dev_third_stage' 到 'master'
Dev third stage 查看合并请求 laws-nio/laws-weilai!131
This commit is contained in:
@@ -13,7 +13,7 @@ module.exports = {
|
||||
userStatues: 'User Status',
|
||||
normal: 'Normal',
|
||||
frozen: 'Frozen',
|
||||
reset: 'Reset',
|
||||
reset: 'Clear',
|
||||
putAway: 'Put Away',
|
||||
open: 'More',
|
||||
addUser: 'Add User',
|
||||
@@ -89,13 +89,13 @@ module.exports = {
|
||||
VersionNotSupported: 'Version Not Supported',
|
||||
SaveQueryCriteria: 'Save Search Conditions',
|
||||
roleName: 'Role Name',
|
||||
newRole: 'New Role',
|
||||
newRole: 'Create New Role',
|
||||
RoleManagement: 'Role Management',
|
||||
toGrantAuthorization: 'Authorized',
|
||||
newUser: 'New User',
|
||||
ExistingUsers: 'Existing Users',
|
||||
total: 'Total',
|
||||
strip: 'Data',
|
||||
strip: 'Items',
|
||||
RoleCode: 'Role Code',
|
||||
createTime: 'Creation Time',
|
||||
userName: 'User Name',
|
||||
@@ -276,7 +276,7 @@ module.exports = {
|
||||
AggregateRouting: 'Aggregated Route',
|
||||
OpenMode: 'Open Mode',
|
||||
external: 'External',
|
||||
inside: 'Inside',
|
||||
inside: 'Internal',
|
||||
enterMenuTitle: 'Please enter the menu title',
|
||||
enterAuthorizationPolicy: 'Please enter authorization policy',
|
||||
AuthorizationIDExists: 'Authorization ID already exists',
|
||||
@@ -355,7 +355,7 @@ module.exports = {
|
||||
templateDownload: 'Download Template',
|
||||
textInformation: 'Document Files',
|
||||
relatedInformation: 'Relevant Information',
|
||||
RetrieveFiles: 'Select Stored File',
|
||||
RetrieveFiles: 'Retrieve Library File',
|
||||
SplitText: 'Split Library File',
|
||||
ImportResults: 'Import Split Results',
|
||||
copy: 'Copy',
|
||||
@@ -368,7 +368,7 @@ module.exports = {
|
||||
clickUpload: 'Click To Upload',
|
||||
viewUploadedFiles: 'View Uploaded Files',
|
||||
standardSelection: 'Standard Selection',
|
||||
Collection: 'Add To Collection',
|
||||
Collection: 'Collect',
|
||||
CancelCollection: 'Delete Collection',
|
||||
deleteLib: 'Delete',
|
||||
subscribe: 'Subscribe',
|
||||
@@ -404,12 +404,12 @@ module.exports = {
|
||||
LabelContentManagement: 'Tag Content Management',
|
||||
InputBoxType: 'Input Box Type',
|
||||
DropDownType: 'Drop Down Type',
|
||||
ExhibitionAreaManagement: 'Display Area Management',
|
||||
ExhibitionAreaManagement: 'Display Management',
|
||||
NewLabelItem: 'Newly Added Tag Item',
|
||||
editLabelItem: 'Edit Tag Item',
|
||||
NodeQuickLookup: 'Node Quick Lookup',
|
||||
AreAllLabelsRead: 'Are All Labels Read',
|
||||
AllLabelsRead: 'Labels Read',
|
||||
AreAllLabelsRead: 'Are All Mark as Read',
|
||||
AllLabelsRead: 'Mark as Read',
|
||||
SubscriptionNotification: 'Subscription Notification',
|
||||
warningInformation: 'Warning Information',
|
||||
ForwardPush: 'Forward Push',
|
||||
@@ -471,11 +471,11 @@ module.exports = {
|
||||
charactersLength1to300: '1 - 300 characters in length',
|
||||
OnlyOneSelected: 'Only one piece of data can be selected',
|
||||
OnlyPDF: 'Only PDF files can be imported',
|
||||
open: 'More',
|
||||
away: 'Less',
|
||||
open: 'Expand',
|
||||
away: 'Collapse',
|
||||
toDoProcess: 'To Do',
|
||||
processDone: 'Completed',
|
||||
sentProcess: 'Initiated',
|
||||
sentProcess: 'Create',
|
||||
monitoringProcess: 'Monitor',
|
||||
ConfirmDeployment: 'Confirm Deployment?',
|
||||
terminationProcess: 'Termination Process',
|
||||
@@ -501,10 +501,10 @@ module.exports = {
|
||||
ProcessType: 'Process Type',
|
||||
AddProcess: 'Add Process',
|
||||
RelatedItems: 'Relevant Project',
|
||||
Sponsor: 'Initiator',
|
||||
Sponsor: 'Creator',
|
||||
CurrentProcessor: 'Current Processor',
|
||||
LastProcessor: 'Last Processor',
|
||||
ProcessingTime: 'Operation Time',
|
||||
ProcessingTime: 'Complete Date',
|
||||
cutoffTime: 'Due Date',
|
||||
ProcessStatus: 'Process Status',
|
||||
CompletionTime: 'Completion Time',
|
||||
@@ -603,14 +603,14 @@ 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',
|
||||
entryName: 'Project Name',
|
||||
targetMarket: 'Target Market',
|
||||
projectStatus: 'Status',
|
||||
projectStatus: 'Development',
|
||||
StudioEngineer: 'R&H Studio',
|
||||
CertificationTime: 'Certification Time',
|
||||
NTplatform: 'NT Platform',
|
||||
@@ -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',
|
||||
@@ -686,12 +686,12 @@ module.exports = {
|
||||
confirmOverrule: 'Confirm Overrule',
|
||||
The: 'The',
|
||||
submitted: 'Data has been submitted and cannot be submitted again',
|
||||
basicInformationOfParameters: 'Project Basic Information',
|
||||
basicInformationOfParameters: 'General Info',
|
||||
regulatoryCertificationTaskPlan: 'Regulation/Homologation Task Plan',
|
||||
bringInRelevantPersonnel: 'Bring In Relevant Personnel',
|
||||
confirmBringInRelevantPersonnel: 'Confirm Bring in relevant personnel',
|
||||
problemType: 'Issue Type',
|
||||
projectDetails: 'Project Info',
|
||||
projectDetails: 'Project Details',
|
||||
listOfRegulations: 'Regulation List',
|
||||
taskList: 'Task List',
|
||||
TaskParameterCollection: 'Task Parameter Collection',
|
||||
@@ -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,14 +794,14 @@ 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',
|
||||
parameterTemplate: 'Parameter Template',
|
||||
contentDescription: 'Content Description',
|
||||
contentDescription: 'Description',
|
||||
WhetherMergeParameters: 'Whether to merge parameters',
|
||||
merge: 'Merge',
|
||||
nonjoinder: 'Nonjoinder',
|
||||
@@ -819,10 +819,10 @@ 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: 'To be completed',
|
||||
Finished: 'Completed',
|
||||
notFinished: 'Assigned',
|
||||
Finished: 'Complete',
|
||||
theRequirementst: 'The engineering interface person confirms the compliance requirements',
|
||||
dataLoading: 'Data loading...',
|
||||
Submitting: 'Submitting',
|
||||
@@ -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',
|
||||
@@ -884,10 +884,10 @@ module.exports = {
|
||||
toTrack: 'To be tracked',
|
||||
Launch: 'Launch',
|
||||
maintainProgress: 'Maintain',
|
||||
redSchedule: 'Red: not in conformity, and there is no acceptable scheme and schedule',
|
||||
yellowSchedule: 'Yellow: non conformance / to be tracked, with acceptable scheme and schedule',
|
||||
greenRequirements: 'Green: confirm that it meets or meets the current requirements',
|
||||
blueUndeterminedState: 'Blue: undetermined state',
|
||||
redSchedule: 'Red: unqualified without available solutions or timeline. ',
|
||||
yellowSchedule: 'Yellow: unqualified and with available solutions and timeline. ',
|
||||
greenRequirements: 'Green: qualified and confirmed.',
|
||||
blueUndeterminedState: 'Blue: pending',
|
||||
authenticationMessage: 'Homo Parameter Task',
|
||||
taskRegulationComplianceTask: 'Regulation Compliance Task',
|
||||
accept: 'Accept',
|
||||
@@ -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',
|
||||
@@ -1218,8 +1218,8 @@ module.exports = {
|
||||
documentTitle: 'Document Title',
|
||||
bringInDocumentInformation: 'Bring in document information',
|
||||
thereWhichCannotDeleted: 'There are sub headings under this title, which cannot be deleted',
|
||||
sdt: 'sdt',
|
||||
dre: 'dre',
|
||||
sdt: 'Sdt',
|
||||
dre: 'Dre',
|
||||
applicableInstructionsMarketList: 'Applicable instructions of market list',
|
||||
pleaseSelectTheDataCompared: 'Please select the data to be compared',
|
||||
problemLabel: 'Problem label',
|
||||
@@ -1235,7 +1235,24 @@ module.exports = {
|
||||
addComparison: 'Add comparison',
|
||||
showOrNot: 'Show or not',
|
||||
comparisonMarket: 'Comparison Market',
|
||||
share: 'share',
|
||||
share: 'Share',
|
||||
simplifiedChinese:'Simplified Chinese',
|
||||
uploadOnly:'Upload only',
|
||||
turnOnAutoMatch:'Turn on auto match',
|
||||
Adjustareasofresponsibility:'Adjust areas of responsibility',
|
||||
regulatoryTechnicalAssessment:'Regulatory Technical Assessment',
|
||||
punctuationmark:'You can only enter English punctuation marks except the # sign and commas',
|
||||
created: 'Created',
|
||||
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',
|
||||
deleteNode:'If any file information exists, it will be deleted',
|
||||
HaveReleased:'Have released',
|
||||
forward:'Forward',
|
||||
}
|
||||
@@ -1341,4 +1341,21 @@ module.exports = {
|
||||
share:'分享',
|
||||
simplifiedChinese:'简体中文',
|
||||
uploadOnly:'只能上传',
|
||||
turnOnAutoMatch:'打开自动匹配',
|
||||
Adjustareasofresponsibility:'调整责任领域',
|
||||
regulatoryTechnicalAssessment:'法规技术评估',
|
||||
OpenOne:'公开',
|
||||
Privacy:'私密',
|
||||
punctuationmark:'只能输入除#号和逗号外的英文标点符号',
|
||||
created: '创建时间',
|
||||
updated:'更新时间',
|
||||
optionDropDownBox:'下拉选择',
|
||||
attachmentUpload:'附件上传',
|
||||
textInput:'文本输入',
|
||||
Paraname: '参数名称',
|
||||
Parabatch: '参数批次',
|
||||
freeze:'请选择冻结配置',
|
||||
deleteNode:'若有文件信息将同步删除',
|
||||
HaveReleased:'已发布',
|
||||
forward:'转发',
|
||||
}
|
||||
@@ -0,0 +1,300 @@
|
||||
<template>
|
||||
<div class='diolag-area'>
|
||||
<a-spin :spinning='spinLoading'>
|
||||
<a-form-model
|
||||
class='tag-module'
|
||||
ref='ruleForm'
|
||||
:model='form'
|
||||
:rules='rules'
|
||||
:label-col='labelCol'
|
||||
:wrapper-col='wrapperCol'
|
||||
>
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item ref='region' :label="$t('NareaOfResponsibility')" prop='dutyTerritory'>
|
||||
<j-dict-select-tag class="box-input" v-model="form.dutyTerritory"
|
||||
@input="handleInput('dutyTerritory')"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
<div class="imports-footer">
|
||||
<div class="imports-footer-wrap">
|
||||
|
||||
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmit">{{$t('submit')}}
|
||||
</a-button>
|
||||
<a-button class="imports-btn" type="primary" @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</a-spin>
|
||||
<!-- <div class='drawer-bootom-button'>-->
|
||||
<!-- <a-button style='margin-right: .8rem' @click='handleCancel'>{{ $t('cancel') }}</a-button>-->
|
||||
<!-- <a-button @click='handleSubmit' type='primary' :loading='confirmLoading'>{{ $t('submit') }}</a-button>-->
|
||||
<!-- </div>-->
|
||||
<!-- 错误数据提示-->
|
||||
<a-modal
|
||||
:title="$t('operationFailed')"
|
||||
:width="860"
|
||||
v-model="visibleoperationFailed"
|
||||
:maskClosable="false"
|
||||
:footer="null"
|
||||
@cancel='cancleoperationFailed'
|
||||
:body-style="bodystyle"
|
||||
>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div style='font-size: 18px;margin-bottom: 20px;display: flex;justify-content: center'
|
||||
class="box-title-text-index" v-for='(item,key) in NotSelectedRowKeysValue'>
|
||||
<span v-html='item'></span>
|
||||
<!-- <div>{{$t('NiOnumberis')}}{{ item.nioNumber }},{{$t('Statusis')}}-->
|
||||
<!-- <span style='color: red'>{{ item.state }}</span>,{{$t('NoOperationPermissionForthisbutton')}}。-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="imports-footer">
|
||||
<div class="imports-footer-wrap">
|
||||
<a-button class="imports-btn" type="primary" @click="cancleoperationFailed">{{$t('cancel')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import moment from 'moment'
|
||||
import eventBUs from '../../common/event'
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
title: this.$t('add'),
|
||||
total: 0,
|
||||
selectedRowKeysDate: {},
|
||||
loading: false,
|
||||
editId: '',
|
||||
visibleoperationFailed:false,
|
||||
newVisible: false,
|
||||
textLoading:false,
|
||||
NotSelectedRowKeysValue:[],
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 7 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 14 }
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
dutyTerritory:[
|
||||
{ required: true, message: this.$t('PleaseSelect')+this.$t('NareaOfResponsibility'), trigger: 'change' }
|
||||
]
|
||||
},
|
||||
areaTable: [],
|
||||
flag: false, //表单提交标识
|
||||
spinLoading: false,
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
pickerDate: '',
|
||||
bodystyle:{}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
selectedRowKeysArray: {
|
||||
type: String,
|
||||
default: '',
|
||||
require: true
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.bodystyle = {
|
||||
height: '480px',
|
||||
overflow: 'hidden',
|
||||
overflowY: 'scroll',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(value) {
|
||||
this.$nextTick(() => {
|
||||
this.form = { ...this.form }
|
||||
this.$refs.ruleForm.validateField([value])
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.$emit('AdjustareasofresponAll', false)
|
||||
},
|
||||
//保存
|
||||
handleSubmit() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if(valid){
|
||||
let long = localStorage.getItem('language')
|
||||
let cut = ''
|
||||
if (long && long == 'zh-cn') {
|
||||
this.cut = 'cn'
|
||||
} else if (long && long == 'en-us') {
|
||||
this.cut = 'en'
|
||||
}
|
||||
// let _array = []
|
||||
// this.selectedRowKeysValue.forEach((item, index) => {
|
||||
// _array.push(item.id)
|
||||
// })
|
||||
let _this = this
|
||||
let param = {
|
||||
paramsManifestId: this.$route.query.id,
|
||||
projectId: this.$route.query.projectId,
|
||||
ids: this.selectedRowKeysArray,
|
||||
cut: this.cut,
|
||||
dutyTerritory: this.form.dutyTerritory
|
||||
|
||||
}
|
||||
this.textLoading = true
|
||||
postAction('/params/collectManifest/updateBatchDutyTerritory', param).then((res) => {
|
||||
if (res.success) {
|
||||
if(res.result.length == 0){
|
||||
this.visibleoperationFailed = false
|
||||
this.textLoading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.$emit('AdjustareasofresponAll', false)
|
||||
this.$emit('GetgetTableList')
|
||||
|
||||
}else{
|
||||
this.NotSelectedRowKeysValue = res.result
|
||||
this.visibleoperationFailed = true
|
||||
this.textLoading = false
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 错误数据的弹框
|
||||
cancleoperationFailed() {
|
||||
this.visibleoperationFailed = false
|
||||
this.$emit('AdjustareasofresponAll', false)
|
||||
this.$emit('GetgetTableList')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='less' scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
.box-title-text-index {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
.diolag-area {
|
||||
.table-area {
|
||||
margin: 20px 0;
|
||||
|
||||
.action-edit {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.table-del {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
.drawer-bootom-button{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
/*align-items: center;*/
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 114px;
|
||||
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: 48px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.Required {
|
||||
color: red;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
}
|
||||
|
||||
|
||||
.formAdd {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index:100;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
/deep/.add-input{
|
||||
min-height: 135px!important;
|
||||
}
|
||||
</style>
|
||||
<style lang='less'>
|
||||
.area-module {
|
||||
.ant-modal-wrap {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
.ant-modal-footer {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.page{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
@@ -650,6 +650,7 @@
|
||||
item.dataValue = r.target.value
|
||||
}
|
||||
})
|
||||
console.log(this.detailDate)
|
||||
},
|
||||
uploadSuccess(data) {
|
||||
let attIdList = []
|
||||
@@ -672,6 +673,7 @@
|
||||
item.dataValue = attIdList.join(',')
|
||||
}
|
||||
})
|
||||
this.$emit('update:detailDate', this.detailDate);
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
// if (item.isLock == '1') {
|
||||
@@ -690,9 +692,9 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
detailDate(newold, oldold) {
|
||||
console.log(newold, oldold, 'll')
|
||||
},
|
||||
// detailDate(newold, oldold) {
|
||||
// console.log(newold, oldold, 'll')
|
||||
// },
|
||||
formInline: {
|
||||
handler(newOld, oldval) {
|
||||
console.log(newOld, oldval, 'll')
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-drawer
|
||||
:title="title"
|
||||
:maskClosable="false"
|
||||
:width="600"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-input-search style="margin-bottom: 8px" v-model="searchModel"
|
||||
@search="onSearch"
|
||||
allowClear
|
||||
:placeholder="$t('NodeQuickLookup')"/>
|
||||
<div class="drawer-content">
|
||||
<a-tree
|
||||
v-if="visibleTree"
|
||||
style="margin-bottom: 60px;height: 600px"
|
||||
checkable
|
||||
:autoExpandParent="false"
|
||||
:tree-data="gData"
|
||||
@select="onSelect"
|
||||
@check="checkChange"
|
||||
@expand="onExpand"
|
||||
:defaultExpandedKeys="defaultExpandedKeys"
|
||||
>
|
||||
</a-tree>
|
||||
</div>
|
||||
</a-spin>
|
||||
<div class="drawer-bootom-button">
|
||||
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary" :loading="submitLoading">{{$t('submit')}}</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import eventBUs from '../../common/event'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
props: {
|
||||
url: {
|
||||
type: Object,
|
||||
default: {}
|
||||
},
|
||||
title:{
|
||||
type: String,
|
||||
default:''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
gData: [],
|
||||
searchModel: '',
|
||||
autoExpandParent: true,
|
||||
expandedKeys: [],
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
selectedKey: [],
|
||||
tableKey: [],
|
||||
userIds: [],
|
||||
departId: '',
|
||||
defaultExpandedKeys: [],
|
||||
submitLoading: false,
|
||||
visibleTree: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
getPush() {
|
||||
this.searchModel = ''
|
||||
this.visible = true
|
||||
this.visibleTree = false
|
||||
this.$nextTick(() => {
|
||||
this.departId = ''
|
||||
this.queryDepartUserTreeList()
|
||||
})
|
||||
},
|
||||
onSelect(selectedKeys) {
|
||||
this.selectedKey = selectedKeys
|
||||
},
|
||||
onExpand(selectedKeys, val) {
|
||||
if (this.searchModel == '' || !this.searchModel) {
|
||||
if (val.expanded) {
|
||||
if (this.departId == val.node.value) {
|
||||
} else {
|
||||
this.departId = val.node.value
|
||||
this.queryDepartUserTreeList()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.visibleTree = false
|
||||
},
|
||||
handleSubmit() {
|
||||
this.$emit('SelectedByForm',this.userIds.join(','))
|
||||
},
|
||||
onSearch(e) {
|
||||
this.gData = []
|
||||
this.departId = ''
|
||||
this.visibleTree = false
|
||||
if (e) {
|
||||
this.getUserAndDepart()
|
||||
} else {
|
||||
this.queryDepartUserTreeList()
|
||||
}
|
||||
},
|
||||
getUserAndDepart() {
|
||||
getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => {
|
||||
this.gData = res || []
|
||||
this.visibleTree = true
|
||||
})
|
||||
},
|
||||
queryDepartUserTreeList() {
|
||||
let gData = JSON.parse(JSON.stringify(this.gData))
|
||||
if (gData && gData.length > 0) {
|
||||
gData = JSON.stringify(gData)
|
||||
} else {
|
||||
gData = ''
|
||||
}
|
||||
this.confirmLoading = true
|
||||
postAction('sys/user/queryDepartUserTreeList', {
|
||||
departId: this.departId,
|
||||
json: gData
|
||||
}).then((res) => {
|
||||
this.confirmLoading = false
|
||||
if (res.success) {
|
||||
this.gData = res.result
|
||||
this.defaultExpandedKeys = [this.departId]
|
||||
this.visibleTree = true
|
||||
} else {
|
||||
this.gData = []
|
||||
}
|
||||
})
|
||||
},
|
||||
checkChange(e) {
|
||||
this.userIds = e
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.button-box {
|
||||
margin-left: 10px;
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
|
||||
}
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index:100;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
|
||||
.drawer-content {
|
||||
height: calc(100% - 60px);
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
@@ -17,9 +17,8 @@
|
||||
<span class="title-text-text" :title="$t('cutoffTime')">
|
||||
{{$t('cutoffTime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation" >
|
||||
<a-date-picker class="box-input"
|
||||
style='width: 160px'
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="onChange" @ok="onOk"
|
||||
format="YYYY-MM-DD"
|
||||
@@ -290,21 +289,20 @@ export default {
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
width: 276px;
|
||||
/*align-items: center;*/
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 114px;
|
||||
width: 90px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
height: 42px;
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
@@ -325,29 +323,30 @@ export default {
|
||||
}
|
||||
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
margin-top: 11px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.header-text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin-left: 15px;
|
||||
/*border-bottom: 1px #d9d9d9 dashed;*/
|
||||
height: 30px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.formAdd {
|
||||
margin-bottom: 40px;
|
||||
/*margin-bottom: 40px;*/
|
||||
}
|
||||
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index:100;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
.button-text {
|
||||
height: 38px;
|
||||
width: calc(100% - 120px);
|
||||
line-height: 38px;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
/deep/.add-input{
|
||||
min-height: 135px!important;
|
||||
border: 1px #00B3BE solid;
|
||||
color: #00B3BE;
|
||||
}
|
||||
</style>
|
||||
<style lang='less'>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
>
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="box-title-text" >
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('cutoffTime')">
|
||||
@@ -19,7 +19,6 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
||||
<a-date-picker class="box-input"
|
||||
style='width: 160px'
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="onChange" @ok="onOk"
|
||||
format="YYYY-MM-DD"
|
||||
@@ -290,20 +289,20 @@ export default {
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
width: 276px;
|
||||
/*align-items: center;*/
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 114px;
|
||||
width: 90px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
height: 42px;
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
@@ -324,29 +323,30 @@ export default {
|
||||
}
|
||||
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
margin-top: 11px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.header-text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin-left: 15px;
|
||||
/*border-bottom: 1px #d9d9d9 dashed;*/
|
||||
height: 30px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.formAdd {
|
||||
margin-bottom: 40px;
|
||||
/*margin-bottom: 40px;*/
|
||||
}
|
||||
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index:100;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
.button-text {
|
||||
height: 38px;
|
||||
width: calc(100% - 120px);
|
||||
line-height: 38px;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
/deep/.add-input{
|
||||
min-height: 135px!important;
|
||||
border: 1px #00B3BE solid;
|
||||
color: #00B3BE;
|
||||
}
|
||||
</style>
|
||||
<style lang='less'>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
:dataSource='areaTable'
|
||||
:pagination='false'
|
||||
:loading='loading'
|
||||
:scroll='{x: 600}'
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
:rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
|
||||
@change='handleTableChange'>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-drawer
|
||||
:title="$t('Push')"
|
||||
:title="$t('share')"
|
||||
:maskClosable="false"
|
||||
:width="600"
|
||||
placement="right"
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<span v-if='currentPersonRole === "homo"'>
|
||||
<!-- 认证工程师 -->
|
||||
<span
|
||||
v-if='record.state == "待发起收集" || record.state == "工程接口人退回"'>
|
||||
v-if='record.state == "待发起收集" || record.state == "工程接口人退回" || record.state == "Wait Collect" || record.state == "Sdt Back"'>
|
||||
<span :title='record.dataValue'
|
||||
@click='ondataValueTobe(record)'>{{ (record.dataValue == null || record.dataValue == 'undefined')? '--': record.dataValue }}</span>
|
||||
</span>
|
||||
|
||||
@@ -263,7 +263,6 @@
|
||||
watch: {
|
||||
currentPersonRole: {
|
||||
handler: function() {
|
||||
console.log(123)
|
||||
this.getTableList()
|
||||
},
|
||||
immediate: true
|
||||
@@ -281,13 +280,13 @@
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.$emit('handlePreservation')
|
||||
// this.$emit('handlePreservation')
|
||||
this.getTableList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.$emit('handlePreservation')
|
||||
// this.$emit('handlePreservation')
|
||||
this.getTableList()
|
||||
},
|
||||
hideModal(){
|
||||
|
||||
+29
-12
@@ -32,12 +32,12 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('personCharge')">{{$t('personCharge')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="personChargeName">
|
||||
<a-form-model-item class="itemModel" prop="chargePersonIdName">
|
||||
<PersonnelSelection
|
||||
:query="{db_field_name:'personCharge',db_field_txt:$t('personCharge')}"
|
||||
:query="{db_field_name:'chargePersonId',db_field_txt:$t('personCharge')}"
|
||||
:personneQuery="formInline"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.personChargeName"/>
|
||||
v-model="formInline.chargePersonIdName"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -48,7 +48,8 @@
|
||||
|
||||
<script>
|
||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'classificationMaintenanceAdd',
|
||||
components: {
|
||||
@@ -60,16 +61,11 @@
|
||||
confirmLoading: false,
|
||||
formInline: {},
|
||||
rules: {
|
||||
personChargeName: [
|
||||
chargePersonIdName: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('personCharge') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
},
|
||||
{
|
||||
max: 100,
|
||||
message: this.$t('personCharge') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
problemLabel: [
|
||||
@@ -85,7 +81,11 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
title: ''
|
||||
title: '',
|
||||
url: {
|
||||
add: '/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/add',
|
||||
edit: '/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/edit'
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -114,7 +114,24 @@
|
||||
handleOk() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
|
||||
this.confirmLoading = true
|
||||
let url = ''
|
||||
if (this.formInline.id) {
|
||||
url = this.url.edit
|
||||
} else {
|
||||
url = this.url.add
|
||||
}
|
||||
postAction(url, this.formInline).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
this.confirmLoading = false
|
||||
this.$emit('classificationMaintenanceAddForm')
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
+12
-9
@@ -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">
|
||||
@@ -63,12 +63,12 @@
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
list: '',
|
||||
deleteOne: ''
|
||||
list: '/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/page',
|
||||
deleteOne: '/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/deleteBatch'
|
||||
},
|
||||
visible: false,
|
||||
selectedRowKeys: [],
|
||||
dataList: [{}],
|
||||
dataList: [],
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
@@ -84,14 +84,16 @@
|
||||
},
|
||||
{
|
||||
title: this.$t('problemLabel'),
|
||||
dataIndex: 'title',
|
||||
dataIndex: 'problemLabel',
|
||||
align: 'center',
|
||||
width: 240,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('personCharge'),
|
||||
dataIndex: 'region',
|
||||
dataIndex: 'chargePersonIdName',
|
||||
align: 'center',
|
||||
width: 240,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
@@ -109,6 +111,7 @@
|
||||
methods: {
|
||||
getData() {
|
||||
this.visible = true
|
||||
this.replacePage()
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
@@ -128,10 +131,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'))
|
||||
}
|
||||
@@ -154,7 +157,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
|
||||
|
||||
+22
-3
@@ -8,8 +8,17 @@
|
||||
<div class="title-text" :title="$t('applicableMarket')">
|
||||
<span>{{$t('applicableMarket')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('applicableMarket')"
|
||||
v-model="queryParam.applicableMarket"></a-input>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:disabled="false"
|
||||
v-model="queryParam.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>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
@@ -89,15 +98,25 @@
|
||||
return {
|
||||
queryParam: {},
|
||||
conList: [],
|
||||
applyMarketList: [],
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
pageNo: 1
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.getApplyMarketList()
|
||||
},
|
||||
methods: {
|
||||
getApplyMarketList() {
|
||||
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: 'countryCard' }).then((res) => {
|
||||
if (res.success) {
|
||||
this.applyMarketList = res.result || []
|
||||
} else {
|
||||
this.applyMarketList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
searchQuery() {
|
||||
|
||||
},
|
||||
|
||||
+95
-26
@@ -19,8 +19,10 @@
|
||||
<div class="title-text" :title="$t('applicableMarket')">
|
||||
<span>{{$t('applicableMarket')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('applicableMarket')"
|
||||
v-model="queryParam.applicableMarket"></a-input>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.applyMarket"
|
||||
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
@@ -28,8 +30,18 @@
|
||||
<div class="title-text" :title="$t('releaseStatus')">
|
||||
<span>{{$t('releaseStatus')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('releaseStatus')"
|
||||
v-model="queryParam.releaseStatus"></a-input>
|
||||
<a-select class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('releaseStatus')"
|
||||
style="width: 100%"
|
||||
v-model="queryParam.releaseStatus">
|
||||
<a-select-option v-for="(item, key) in releaseStatusList"
|
||||
:key="key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
||||
{{ item.name}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
@@ -71,11 +83,13 @@
|
||||
<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"
|
||||
v-if="record.createBy == userInfoQuery.username && record.releaseStatus == 'Draft'"
|
||||
@click="edit(record)">{{$t('edit')}}</a>
|
||||
<a class="text-operation"
|
||||
v-if="record.createBy == userInfoQuery.username && record.releaseStatus == 'Draft'"
|
||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
@@ -96,7 +110,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<countryCardReleaseModel ref="countryCardReleaseModelRef"/>
|
||||
<countryCardReleaseAdd ref="countryCardReleaseAddRef"/>
|
||||
<countryCardReleaseAdd ref="countryCardReleaseAddRef" @countryCardReleaseAddForm="countryCardReleaseAddForm"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -104,6 +118,7 @@
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import countryCardReleaseModel from './countryCardReleaseModel'
|
||||
import countryCardReleaseAdd from './countryCardReleaseAdd'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'countryCardRelease',
|
||||
@@ -114,27 +129,39 @@
|
||||
data() {
|
||||
return {
|
||||
queryParam: {},
|
||||
releaseStatusList: [
|
||||
{
|
||||
value: 'Draft',
|
||||
name: this.$t('draft')
|
||||
},
|
||||
{
|
||||
value: 'Have released',
|
||||
name: this.$t('HaveReleased')
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
dataSource: [{}],
|
||||
dataSource: [],
|
||||
selectedRowKeysRecord: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
url: {
|
||||
list: '',
|
||||
deleteBatch: ''
|
||||
list: '/problemKnowledgeBase/countryCardManageReleaseEO/page',
|
||||
deleteBatch: '/problemKnowledgeBase/countryCardManageReleaseEO/deleteBatch'
|
||||
},
|
||||
userInfoQuery: {},
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('applicableMarket'),
|
||||
align: 'center',
|
||||
dataIndex: 'applicableMarket',
|
||||
dataIndex: 'applyMarket_dictText',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('releaseStatus'),
|
||||
align: 'center',
|
||||
dataIndex: 'releaseStatus',
|
||||
dataIndex: 'releaseStatus_dictText',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
@@ -149,8 +176,11 @@
|
||||
},
|
||||
mounted() {
|
||||
document.title = 'Country Card-' + this.$t('managePublishing')
|
||||
this.getList()
|
||||
this.userInfoQuery = this.userInfo()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
@@ -164,11 +194,15 @@
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page,pageSize) {
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
countryCardReleaseAddForm() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
@@ -192,8 +226,9 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(value) {
|
||||
onSelectChange(value, record) {
|
||||
this.selectedRowKeys = value
|
||||
this.selectedRowKeysRecord = record
|
||||
},
|
||||
newlyAddedClick() {
|
||||
this.$refs.countryCardReleaseAddRef.add()
|
||||
@@ -207,27 +242,61 @@
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmBatchDeletion'),
|
||||
onOk() {
|
||||
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||
getAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
let idList = []
|
||||
let selectedRowKeysRecord = JSON.parse(JSON.stringify(_this.selectedRowKeysRecord))
|
||||
for (let i = 0; i < selectedRowKeysRecord.length; i++) {
|
||||
if (selectedRowKeysRecord[i].createBy == _this.userInfo().username &&
|
||||
selectedRowKeysRecord[i].releaseStatus == 'Draft') {
|
||||
idList.push(selectedRowKeysRecord[i].id)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (idList.length > 0) {
|
||||
deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('doNotHavePermissionDeleteData'))
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
edit() {
|
||||
this.$refs.countryCardReleaseAddRef.edit()
|
||||
edit(record) {
|
||||
this.$refs.countryCardReleaseAddRef.edit(JSON.parse(JSON.stringify(record)))
|
||||
},
|
||||
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({
|
||||
|
||||
+194
-64
@@ -9,6 +9,49 @@
|
||||
@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" v-if="title == $t('newlyAdded')">
|
||||
<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')"
|
||||
:disabled="false"
|
||||
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-row :gutter="24" v-if="title == $t('edit')">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.applyMarket"
|
||||
:disabled="true"
|
||||
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
<div style="margin-bottom: 60px">
|
||||
<a-table
|
||||
:columns="columns"
|
||||
@@ -18,41 +61,30 @@
|
||||
:loading="loading">
|
||||
<span slot="content" slot-scope="text,record,index">
|
||||
<a-input class="box-input"
|
||||
v-if="false"
|
||||
v-model="record.problemLabel"
|
||||
v-if="record.lableType == 8"
|
||||
v-model="record.content"
|
||||
:placeholder="$t('PleaseEnter')"/>
|
||||
<a-select :placeholder="$t('PleaseSelect')"
|
||||
style="width: 100%"
|
||||
v-if="false"
|
||||
v-model="record.projectNameId">
|
||||
<a-select-option v-for="(item, key) in record.projectNameList"
|
||||
v-else-if="record.lableType == 3"
|
||||
v-model="record.content">
|
||||
<a-select-option v-for="(item, key) in record.countryCardTempItemEOList"
|
||||
:key="key"
|
||||
:value="item.id">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
|
||||
{{ item.projectName}}
|
||||
<span style="display: inline-block;width: 100%" :title=" item.itemText ">
|
||||
{{ item.itemText}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('verifyDeliverableTemplate',index)">
|
||||
{{ (record.verifyDeliverableTemplate === 'null' || record.verifyDeliverableTemplate === '' ||
|
||||
record.verifyDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
v-else-if="record.lableType == 7"
|
||||
@click="clickButtonToUpload('content',index)">
|
||||
{{ (record.content === 'null' || record.content === '' ||
|
||||
record.content == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</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">
|
||||
@@ -76,37 +108,49 @@
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
list: '',
|
||||
deleteOne: ''
|
||||
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||
deleteOne: '',
|
||||
add: '/problemKnowledgeBase/countryCardManageReleaseEO/add',
|
||||
edit: '/problemKnowledgeBase/countryCardManageReleaseDetailEO/editBatch'
|
||||
},
|
||||
title: '',
|
||||
formInline: {},
|
||||
rules: {
|
||||
applyMarket: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('applicableMarket') + 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'),
|
||||
dataIndex: 'LabelName',
|
||||
dataIndex: 'lableName',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 220
|
||||
},
|
||||
{
|
||||
title: this.$t('describe'),
|
||||
dataIndex: 'describe',
|
||||
dataIndex: 'description',
|
||||
align: 'center',
|
||||
width: 260,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('content'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 180,
|
||||
width: 260,
|
||||
scopedSlots: { customRender: 'content' }
|
||||
}
|
||||
]
|
||||
@@ -117,11 +161,32 @@
|
||||
methods: {
|
||||
add() {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.formInline = {}
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
this.title = this.$t('newlyAdded')
|
||||
this.replacePage()
|
||||
this.getApplyMarketList()
|
||||
},
|
||||
edit() {
|
||||
edit(row) {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.formInline = row
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
this.title = this.$t('edit')
|
||||
this.editReplacePage(row)
|
||||
},
|
||||
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 +217,70 @@
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let url = ''
|
||||
let content = []
|
||||
if (this.title == this.$t('newlyAdded')) {
|
||||
url = this.url.add
|
||||
this.dataList.forEach(res => {
|
||||
content.push({
|
||||
countryCardTempId: res.id,
|
||||
description: res.description,
|
||||
content: res.content
|
||||
})
|
||||
})
|
||||
} else {
|
||||
url = this.url.edit
|
||||
this.dataList.forEach(res => {
|
||||
content.push({
|
||||
countryCardTempId: res.id,
|
||||
description: res.description,
|
||||
content: res.content,
|
||||
id: res.id
|
||||
})
|
||||
})
|
||||
}
|
||||
this.confirmLoading = true
|
||||
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.replacePage()
|
||||
let query = {
|
||||
countryCardManageReleaseDetailEOList: content,
|
||||
applyMarket: this.formInline.applyMarket
|
||||
}
|
||||
postAction(url, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
this.confirmLoading = false
|
||||
this.$emit('countryCardReleaseAddForm')
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
replacePage() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.list, query).then((res) => {
|
||||
getAction(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.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
editReplacePage(row) {
|
||||
this.loading = true
|
||||
getAction('/problemKnowledgeBase/countryCardManageReleaseDetailEO/list', { countryCardManageReleaseId: row.id }).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result || []
|
||||
this.loading = false
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
@@ -204,21 +308,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 +316,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>
|
||||
+20
-12
@@ -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
|
||||
|
||||
+109
-27
@@ -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 && !this.formInline.id) {
|
||||
deleteAction(this.url.deleteOne, { countryCardTempId: this.dropDownOptionsId }).then((res) => {
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,315 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="$t('bringInDocumentInformation')"
|
||||
:maskClosable="false"
|
||||
:width="1000"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{$t('standard')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serial_number"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{$t('title')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('status')">
|
||||
<span>{{$t('status')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.state"
|
||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'state'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
:fieldList="fieldList"/>
|
||||
<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>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:rowKey="(record)=>JSON.stringify(record)"
|
||||
:scroll="{x: 1200}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:loading="loading">
|
||||
|
||||
</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">
|
||||
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
|
||||
export default {
|
||||
name: 'listAddModel',
|
||||
components: {
|
||||
globalAdvancedQuery
|
||||
},
|
||||
props: ['url'],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
queryParam: {},
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
selectedRowKeysValue: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implement_time',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
}
|
||||
],
|
||||
dataList: [],
|
||||
content: [],
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
fieldList: [],
|
||||
queryConditionVOList: [],
|
||||
bussDocument: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
addModel(value) {
|
||||
this.pageNo = 1
|
||||
this.visible = true
|
||||
this.queryParam = {}
|
||||
this.selectedRowKeys = []
|
||||
this.queryConditionVOList = []
|
||||
this.replacePage()
|
||||
this.queryConditionInventory()
|
||||
if (value.bussDocumentLibraryId) {
|
||||
this.bussDocument = value.bussDocumentLibraryId
|
||||
}
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.replacePage()
|
||||
},
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.queryConditionVOList = []
|
||||
this.$refs.globalAdvancedQueryRef.resetLine()
|
||||
this.$refs.globalAdvancedQueryRef.emitCallback()
|
||||
this.replacePage()
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let queryConditionVOList = JSON.parse(JSON.stringify(this.queryConditionVOList))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
...this.queryParam,
|
||||
queryConditionVOList: JSON.stringify(queryConditionVOList)
|
||||
}
|
||||
this.loading = true
|
||||
postAction('/project/projectLawsInventoryEO/queryPageDummy', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result.records || []
|
||||
if (this.bussDocument && this.bussDocument.length > 0) {
|
||||
this.dataList.forEach(val => {
|
||||
if (this.bussDocument.includes(val.id)) {
|
||||
this.selectedRowKeys.push(JSON.stringify(val))
|
||||
}
|
||||
})
|
||||
}
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
this.content = []
|
||||
this.selectedRowKeys.forEach(res => {
|
||||
this.content.push(JSON.parse(res))
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit() {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let number = []
|
||||
let id = []
|
||||
this.content.forEach(res => {
|
||||
id.push(res.id)
|
||||
number.push(res.serial_number)
|
||||
})
|
||||
this.$emit('listAddModelForm', id.join(','), number.join(','))
|
||||
this.visible = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
queryConditionInventory() {
|
||||
let query = {
|
||||
flag: 1
|
||||
}
|
||||
getAction('/project/projectLawsInventoryEO/queryConditionInventory', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.fieldList = res.result || []
|
||||
} else {
|
||||
this.fieldList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSuperQuery(params, matchType) {
|
||||
let sqp = {}
|
||||
if (!params || (params && params.length == 0)) {
|
||||
this.queryConditionVOList = []
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
|
||||
} else {
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
|
||||
this.queryConditionVOList = params
|
||||
this.queryConditionVOList.forEach(res => {
|
||||
res.type = matchType
|
||||
})
|
||||
}
|
||||
this.replacePage()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 33px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
+21
-12
@@ -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
|
||||
|
||||
+63
-34
@@ -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'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
+232
-41
@@ -3,7 +3,7 @@
|
||||
<div class="doc-detail-wrap">
|
||||
<div class="doc-detail-header" style="position: fixed;top: 0">
|
||||
<div class="doc-detail-title">
|
||||
<span style="line-height: 66px;display: inline-block;float: left">
|
||||
<span style="line-height: 66px;display: inline-block;float: left;cursor: pointer" @click="backClick">
|
||||
<a-icon type="arrow-left" style="margin-right: 6px;"/>
|
||||
</span>
|
||||
{{$t('newlyAdded')}}
|
||||
@@ -19,30 +19,29 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('displayPermission')">{{$t('displayPermission')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="projectNameId">
|
||||
<a-form-model-item class="itemModel" prop="showPermissions">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('displayPermission')"
|
||||
@change="projectNameChange"
|
||||
v-model="formInline.projectNameId">
|
||||
@change="showPermissionsChange"
|
||||
v-model="formInline.showPermissions">
|
||||
<a-select-option v-for="(item, key) in projectNameList"
|
||||
:key="key"
|
||||
:value="item.id">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
|
||||
{{ item.projectName}}
|
||||
: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-col :span="8">
|
||||
<a-col :span="8" v-if="isDisplay">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('authorizedUser')">{{$t('authorizedUser')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="yearNameId">
|
||||
<a-form-model-item class="itemModel" prop="studioEngineerName">
|
||||
<PersonnelSelection :query="{db_field_name:'studioEngineer',db_field_txt:$t('authorizedUser')}"
|
||||
:isSingleChoice="true"
|
||||
:personneQuery="formInline"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.studioEngineerName"/>
|
||||
@@ -57,7 +56,7 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('title')">{{$t('title')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi" prop="title">
|
||||
<a-form-model-item class="itemModel" prop="title">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.title"
|
||||
@@ -72,13 +71,17 @@
|
||||
<span class="title-text-text"
|
||||
:title="$t('problemClassification')">{{$t('problemClassification')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="projectStatus">
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.projectStatus"
|
||||
:disabled="disabled"
|
||||
@input="handleInput('projectStatus')"
|
||||
:placeholder="$t('PleaseSelect')+$t('problemClassification')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'project_status'"/>
|
||||
<a-form-model-item class="itemModel" prop="problemType">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('problemClassification')"
|
||||
v-model="formInline.problemType">
|
||||
<a-select-option v-for="(item, key) in problemTypeList"
|
||||
:key="key"
|
||||
:value="item.id">
|
||||
<span style="display: inline-block;width: 100%" :title="item.problemLabel ">
|
||||
{{item.problemLabel}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -88,13 +91,13 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('market')">{{$t('market')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="projectStatus">
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.projectStatus"
|
||||
<a-form-model-item class="itemModel" prop="targetMarket">
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.targetMarket"
|
||||
:disabled="disabled"
|
||||
@input="handleInput('projectStatus')"
|
||||
@input="handleInput('targetMarket')"
|
||||
:placeholder="$t('PleaseSelect')+$t('market')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'project_status'"/>
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -105,10 +108,10 @@
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('standardNo')">{{$t('standardNo')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="vehiclePlatform">
|
||||
<a-form-model-item class="itemModel" prop="standNumber">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.vehiclePlatform"
|
||||
:disabled="true"
|
||||
v-model="formInline.standNumber"
|
||||
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -150,10 +153,10 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('enclosure')">
|
||||
{{ (formInline.enclosure === 'null' || formInline.enclosure === ''
|
||||
@click="clickButtonToUpload('accessoryFile')">
|
||||
{{ (formInline.accessoryFile === 'null' || formInline.accessoryFile === ''
|
||||
||
|
||||
formInline.enclosure == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
formInline.accessoryFile == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
@@ -161,9 +164,14 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
<div class="submit-button">
|
||||
<a-button class="box-button" type="primary" @click="submit">{{$t('submit')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||
<listAddModel ref="listAddModelRef" @listAddModelForm="listAddModelForm"/>
|
||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -175,6 +183,7 @@
|
||||
import 'quill/dist/quill.core.css'
|
||||
import 'quill/dist/quill.snow.css'
|
||||
import 'quill/dist/quill.bubble.css'
|
||||
import listAddModel from './listAddModel'
|
||||
import { quillEditor } from 'vue-quill-editor'
|
||||
|
||||
export default {
|
||||
@@ -182,14 +191,72 @@
|
||||
components: {
|
||||
PersonnelSelection,
|
||||
uploadFile,
|
||||
quillEditor
|
||||
quillEditor,
|
||||
listAddModel
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formInline: {},
|
||||
rules: {},
|
||||
loading: false,
|
||||
problemTypeList: [],
|
||||
rules: {
|
||||
showPermissions: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('displayPermission') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
studioEngineerName: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('authorizedUser') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
title: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('title') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 100,
|
||||
message: this.$t('title') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
problemType: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('problemClassification') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
targetMarket: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('market') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
},
|
||||
url: {
|
||||
add: '/problemKnowledgeBase/problemKnowledgeBaseEO/add',
|
||||
edit: '/problemKnowledgeBase/problemKnowledgeBaseEO/edit'
|
||||
},
|
||||
isDisplay: false,
|
||||
disabled: false,
|
||||
projectNameList: [],
|
||||
projectNameList: [
|
||||
{
|
||||
value: 'Open',
|
||||
name: this.$t('OpenOne')
|
||||
},
|
||||
{
|
||||
value: 'Privacy',
|
||||
name: this.$t('Privacy')
|
||||
}
|
||||
],
|
||||
content: '<h2>I am Example</h2>',
|
||||
editorOption: {
|
||||
// Some Quill options...
|
||||
@@ -203,34 +270,102 @@
|
||||
},
|
||||
mounted() {
|
||||
document.title = this.$t('problemKnowledgeBase') + this.$t('newlyAdded')
|
||||
this.getBase()
|
||||
if (this.$route.query.id) {
|
||||
this.queryById()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getBase() {
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.problemTypeList = res.result || []
|
||||
} else {
|
||||
this.problemTypeList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
queryById() {
|
||||
let query = {
|
||||
id: this.$route.query.id
|
||||
}
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/queryById', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.formInline = res.result || {}
|
||||
if (this.formInline.showPermissions == 'Privacy') {
|
||||
this.isDisplay = true
|
||||
if (this.formInline.permissionUserList && this.formInline.permissionUserList.length > 0) {
|
||||
let userId = []
|
||||
let userName = []
|
||||
this.formInline.permissionUserList.forEach(val => {
|
||||
userId.push(val.userId)
|
||||
userName.push(val.userName)
|
||||
})
|
||||
this.formInline.studioEngineerName = userName.join(',')
|
||||
this.formInline.studioEngineer = userId.join(',')
|
||||
}
|
||||
} else {
|
||||
this.isDisplay = false
|
||||
}
|
||||
this.formInline = { ...this.formInline }
|
||||
} else {
|
||||
this.formInline = {}
|
||||
}
|
||||
})
|
||||
},
|
||||
backClick() {
|
||||
this.$router.push({
|
||||
path: '/problemknowledgeBase'
|
||||
})
|
||||
}
|
||||
,
|
||||
showPermissionsChange(event) {
|
||||
if (event == 'Open') {
|
||||
this.isDisplay = false
|
||||
} else {
|
||||
this.isDisplay = true
|
||||
}
|
||||
}
|
||||
,
|
||||
onEditorBlur(quill) {
|
||||
console.log('editor blur!', quill)
|
||||
},
|
||||
}
|
||||
,
|
||||
onEditorFocus(quill) {
|
||||
console.log('editor focus!', quill)
|
||||
},
|
||||
}
|
||||
,
|
||||
onEditorReady(quill) {
|
||||
console.log('editor ready!', quill)
|
||||
},
|
||||
}
|
||||
,
|
||||
onEditorChange({ quill, html, text }) {
|
||||
console.log('editor change!', quill, html, text)
|
||||
this.content = html
|
||||
},
|
||||
this.formInline.content = html
|
||||
}
|
||||
,
|
||||
PersonnelSelectionChange(value, id) {
|
||||
this.formInline[value] = id
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
}
|
||||
,
|
||||
handleInput(value) {
|
||||
this.$nextTick(() => {
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.validateField([value])
|
||||
})
|
||||
},
|
||||
}
|
||||
,
|
||||
bringInDocumentInformationClick() {
|
||||
|
||||
},
|
||||
this.$refs.listAddModelRef.addModel(this.formInline)
|
||||
}
|
||||
,
|
||||
listAddModelForm(id, number) {
|
||||
this.formInline.standNumber = number
|
||||
this.formInline.bussDocumentLibraryId = id
|
||||
this.formInline = { ...this.formInline }
|
||||
}
|
||||
,
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
@@ -242,7 +377,8 @@
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
,
|
||||
/** 上传文件的回调 */
|
||||
uploadSuccess(data) {
|
||||
let attIdList = []
|
||||
@@ -255,6 +391,52 @@
|
||||
this.formInline[this.uploadName] = attIdList.join(',')
|
||||
this.formInline = { ...this.formInline }
|
||||
}
|
||||
,
|
||||
submit() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let formInline = JSON.parse(JSON.stringify(this.formInline))
|
||||
this.loading = true
|
||||
this.confirmLoading = true
|
||||
let url = ''
|
||||
let Action
|
||||
if (this.formInline.id) {
|
||||
url = this.url.edit
|
||||
Action = putAction
|
||||
} else {
|
||||
url = this.url.add
|
||||
Action = postAction
|
||||
}
|
||||
formInline.permissionUserList = []
|
||||
if (formInline.showPermissions == 'Privacy') {
|
||||
let studioEngineer = formInline.studioEngineer.split(',')
|
||||
studioEngineer.forEach(res => {
|
||||
formInline.permissionUserList.push({
|
||||
userId: res
|
||||
})
|
||||
})
|
||||
}
|
||||
Action(url, formInline).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.loading = false
|
||||
if (this.$route.query.id) {
|
||||
this.$router.push({
|
||||
path: '/problemKnowledgeBaseRelease'
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
path: '/problemknowledgeBase'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.loading = false
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -381,4 +563,13 @@
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.submit-button {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
text-align: right;
|
||||
padding: 0 32px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
</style>
|
||||
+28
-21
@@ -6,7 +6,7 @@
|
||||
<span>{{$t('searchContent')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||
v-model="searchContent"></a-input>
|
||||
v-model="searchStr"></a-input>
|
||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||
</div>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="conList.length > 0" style="margin-top: 58px;height: calc(100vh - 260px);overflow:auto;">
|
||||
<div v-if="conList.length > 0" style="margin-top: 16px;height: calc(100vh - 260px);overflow:auto;">
|
||||
<li v-for="(item,index) in conList" :key="item.id">
|
||||
<div style="margin-bottom: 10px;position: relative">
|
||||
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
||||
@@ -50,13 +50,8 @@
|
||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.content"></span>
|
||||
</template>
|
||||
<div class="text-content" v-html="item.content">
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@@ -76,6 +71,7 @@
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
<classificationMaintenanceModel ref="classificationMaintenanceModelRef"/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -95,11 +91,12 @@
|
||||
checkboxText: [],
|
||||
conList: [],
|
||||
total: 0,
|
||||
loading: false,
|
||||
pageSize: 10,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
url: {
|
||||
getInfoList: 'search/document/getFullTextInfoList'
|
||||
getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page'
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -108,10 +105,13 @@
|
||||
},
|
||||
methods: {
|
||||
onSearch() {
|
||||
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
ResetSearch() {
|
||||
|
||||
this.searchStr = ''
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
classificationClick() {
|
||||
this.$refs.classificationMaintenanceModelRef.getData()
|
||||
@@ -124,11 +124,14 @@
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
newlyAddedClick() {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/problemKnowledgeBaseAdd',
|
||||
query: {}
|
||||
this.$router.push({
|
||||
path: '/problemKnowledgeBaseAdd'
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
// let newUrl = this.$router.resolve({
|
||||
// path: '/problemKnowledgeBaseAdd',
|
||||
// query: {}
|
||||
// })
|
||||
// window.open(newUrl.href, '_blank')
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
@@ -142,21 +145,27 @@
|
||||
getList() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
pageSize: this.pageSize,
|
||||
searchStr: this.searchStr
|
||||
}
|
||||
postAction(this.url.getInfoList, query).then((res) => {
|
||||
this.loading = true
|
||||
getAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.conList = []
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
titleClick(item) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/problemKnowledgeBaseView',
|
||||
query: {}
|
||||
query: {
|
||||
id: item.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
@@ -207,8 +216,7 @@
|
||||
}
|
||||
|
||||
.box-content-left {
|
||||
width: 60%;
|
||||
float: left;
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
@@ -216,8 +224,7 @@
|
||||
}
|
||||
|
||||
.box-content-right {
|
||||
width: 40%;
|
||||
float: left;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
|
||||
+98
-32
@@ -11,6 +11,17 @@
|
||||
</div>
|
||||
<div style="padding-top: 68px;background: #fff">
|
||||
<div class="detail-content" style="padding: 30px">
|
||||
<div class="search-detail-wrap">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('searchContent')">
|
||||
<span>{{$t('searchContent')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||
v-model="searchStr"></a-input>
|
||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="conList.length > 0" style="height: calc(100vh - 180px);overflow:auto;">
|
||||
<div v-for="(item,index) in conList" :key="item.id">
|
||||
<div style="margin-bottom: 10px;position: relative;overflow: hidden">
|
||||
@@ -25,44 +36,41 @@
|
||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.content"></span>
|
||||
</template>
|
||||
<div class="text-content" v-html="item.content">
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="text-text-right-text">
|
||||
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
||||
<a @click="deleteData(item)">{{$t('delete')}}</a>
|
||||
<div class="text-content" v-html="item.content">
|
||||
</div>
|
||||
<div class="text-text-right-text">
|
||||
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
||||
<a @click="deleteData(item)">{{$t('delete')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="noData" v-else>
|
||||
暂无数据
|
||||
</div>
|
||||
<div class="page" v-if="conList.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="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
<div class="noData" v-else>
|
||||
暂无数据
|
||||
</div>
|
||||
<div class="page" v-if="conList.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="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, putAction } from '@/api/manage'
|
||||
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'problemKnowledgeBaseRelease',
|
||||
@@ -72,11 +80,13 @@
|
||||
conList: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
searchStr: '',
|
||||
loading: false,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
url: {
|
||||
getInfoList: 'search/document/getFullTextInfoList',
|
||||
deleteBatch: ''
|
||||
getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page',
|
||||
deleteBatch: '/problemKnowledgeBase/problemKnowledgeBaseEO/deleteBatch'
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -84,6 +94,7 @@
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
@@ -93,17 +104,31 @@
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
onSearch() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
ResetSearch() {
|
||||
this.searchStr = ''
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
pageSize: this.pageSize,
|
||||
createBy: this.userInfo().username,
|
||||
searchStr: this.searchStr
|
||||
}
|
||||
postAction(this.url.getInfoList, query).then((res) => {
|
||||
this.loading = true
|
||||
getAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.conList = []
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -131,7 +156,7 @@
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmDelete'),
|
||||
onOk() {
|
||||
getAction(_this.url.deleteBatch, { ids: val.id }).then((res) => {
|
||||
deleteAction(_this.url.deleteBatch, { ids: val.id }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
@@ -291,4 +316,45 @@
|
||||
text-align: center;
|
||||
line-height: 10;
|
||||
}
|
||||
|
||||
.search-detail-wrap {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
/*min-width: 200px;*/
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
+198
-52
@@ -8,6 +8,12 @@
|
||||
</span>
|
||||
{{$t('applicableInstructionsMarketList')}}
|
||||
</div>
|
||||
<div class="doc-detail-right">
|
||||
<div @click="forwardClick" class="operator-text-text" :title="$t('forward')">
|
||||
<a-icon type="reload"/>
|
||||
{{$t('forward')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding-top: 68px;background: #fff">
|
||||
<div class="detail-content" style="padding: 24px">
|
||||
@@ -21,30 +27,23 @@
|
||||
|
||||
<span class="text-field-right"
|
||||
:title="queryForm[item.value]" v-else>
|
||||
{{queryForm[item.value]}}fdgdgdfg
|
||||
{{queryForm[item.value]}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
sfdsfdsf的防控流感的飞机过来看的结果东法兰克感觉地方给了地方国家的分开两个就地方孤苦伶仃附件给领导反馈
|
||||
独守空房了就收到付款了的角色发看来都是风景但是考虑附件第三方库老师积分迪斯科浪费绝对是分类的课时费
|
||||
是反抗拉萨的飞机罗斯福就点十六分就但是发
|
||||
迪斯科浪费电视机分厘卡的设计分类的水库附近的说服力但是积分的历史房价多少发了多少给京东方管理看豆腐干豆腐干看
|
||||
a fjsd fklsdjfk s是否考虑技术的反抗类毒素就发的撒开了房间但是发离开打扫房间是开了房间都是老师JFK了的身份圣诞快乐就是的反抗类毒素解放迪斯科浪费是
|
||||
考虑到房价打开拉萨附近分离技术的领导是否打开拉萨范德萨发了开始就发的考虑是否就但是考虑发及代理商开发就十分大师傅看
|
||||
</div>
|
||||
<div class="content" v-html="queryForm.content"></div>
|
||||
<div class="content-icon">
|
||||
<span class="content-icon-text">
|
||||
<a-icon class="icon" type="eye"/>
|
||||
<span>123456</span>
|
||||
<span>{{this.queryForm.browsingHistoryCount}}</span>
|
||||
</span>
|
||||
<span class="content-icon-text">
|
||||
<a-icon class="icon" type="like"/>
|
||||
<span>123456</span>
|
||||
<span class="content-icon-text" @click="likeClick()">
|
||||
<a-icon class="icon" :class="{'icon-active':this.isPraise}" type="like"/>
|
||||
<span>{{this.queryForm.praiseCount}}</span>
|
||||
</span>
|
||||
<span class="content-icon-text">
|
||||
<a-icon class="icon" type="star"/>
|
||||
<span>123456</span>
|
||||
<span class="content-icon-text" @click="starClick()">
|
||||
<a-icon class="icon" :class="{'icon-active':this.isCollect}" type="star"/>
|
||||
<span>{{this.queryForm.collectCount}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="box-text">
|
||||
@@ -56,9 +55,9 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<a-form-model-item class="itemModel" prop="approvalOpinion">
|
||||
<a-form-model-item class="itemModel" prop="commentContent">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('comment')"
|
||||
v-model="formInline.approvalOpinion"
|
||||
v-model.trim="formInline.commentContent"
|
||||
:rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -66,93 +65,207 @@
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
<div class="content-button">
|
||||
<a-button class="header-btn submit" @click="release" type="primary">{{$t('release')}}</a-button>
|
||||
<a-button class="header-btn submit" :loading="loading" @click="release" type="primary">{{$t('release')}}
|
||||
</a-button>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="(item,index) in releaseList">
|
||||
<div class="box-text">
|
||||
<div class="header-text">
|
||||
<span style="margin-right: 20px">张三</span>
|
||||
2022-12-12 10:10:12
|
||||
<span style="margin-right: 20px">{{item.createBy}}</span>
|
||||
{{item.createTime}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
sfdsfdsf的防控流感的飞机过来看的结果东法兰克感觉地方给了地方国家的分开两个就地方孤苦伶仃附件给领导反馈
|
||||
独守空房了就收到付款了的角色发看来都是风景但是考虑附件第三方库老师积分迪斯科浪费绝对是分类的课时费
|
||||
是反抗拉萨的飞机罗斯福就点十六分就但是发
|
||||
迪斯科浪费电视机分厘卡的设计分类的水库附近的说服力但是积分的历史房价多少发了多少给京东方管理看豆腐干豆腐干看
|
||||
a fjsd fklsdjfk s是否考虑技术的反抗类毒素就发的撒开了房间但是发离开打扫房间是开了房间都是老师JFK了的身份圣诞快乐就是的反抗类毒素解放迪斯科浪费是
|
||||
考虑到房价打开拉萨附近分离技术的领导是否打开拉萨范德萨发了开始就发的考虑是否就但是考虑发及代理商开发就十分大师傅看
|
||||
</div>
|
||||
<div class="box-text">
|
||||
<div class="header-text">
|
||||
<span style="margin-right: 20px">张三</span>
|
||||
2022-12-12 10:10:12
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
sfdsfdsf的防控流感的飞机过来看的结果东法兰克感觉地方给了地方国家的分开两个就地方孤苦伶仃附件给领导反馈
|
||||
独守空房了就收到付款了的角色发看来都是风景但是考虑附件第三方库老师积分迪斯科浪费绝对是分类的课时费
|
||||
是反抗拉萨的飞机罗斯福就点十六分就但是发
|
||||
迪斯科浪费电视机分厘卡的设计分类的水库附近的说服力但是积分的历史房价多少发了多少给京东方管理看豆腐干豆腐干看
|
||||
a fjsd fklsdjfk s是否考虑技术的反抗类毒素就发的撒开了房间但是发离开打扫房间是开了房间都是老师JFK了的身份圣诞快乐就是的反抗类毒素解放迪斯科浪费是
|
||||
考虑到房价打开拉萨附近分离技术的领导是否打开拉萨范德萨发了开始就发的考虑是否就但是考虑发及代理商开发就十分大师傅看
|
||||
{{item.commentContent}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
<SelectedBy ref="SelectedByRef" :title="$t('forward')" @SelectedByForm="SelectedByForm"></SelectedBy>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import SelectedBy from '@/components/SelectedBy/index'
|
||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'problemKnowledgeBaseView',
|
||||
components: {
|
||||
viewFileModel
|
||||
viewFileModel,
|
||||
SelectedBy
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
standardContentList: [
|
||||
{
|
||||
title: this.$t('problemClassification'),
|
||||
value: ''
|
||||
value: 'problemType'
|
||||
},
|
||||
{
|
||||
title: this.$t('market'),
|
||||
value: ''
|
||||
value: 'targetMarket'
|
||||
},
|
||||
{
|
||||
title: this.$t('standardNo'),
|
||||
value: ''
|
||||
value: 'standNumber'
|
||||
},
|
||||
{
|
||||
title: this.$t('standardName'),
|
||||
value: ''
|
||||
value: 'title'
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
type: 2,
|
||||
value: ''
|
||||
value: 'accessoryFile'
|
||||
}
|
||||
],
|
||||
queryForm: {},
|
||||
formInline: {},
|
||||
rules: {}
|
||||
rules: {
|
||||
commentContent: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('comment') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
isPraise: false,
|
||||
isCollect: false,
|
||||
loading: false,
|
||||
releaseList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
document.title = this.$t('applicableInstructionsMarketList')
|
||||
this.viewAdd()
|
||||
this.queryById()
|
||||
this.releaseData()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
SelectedByForm() {
|
||||
|
||||
},
|
||||
queryById() {
|
||||
let query = {
|
||||
id: this.$route.query.id
|
||||
}
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/queryById', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.queryForm = res.result || {}
|
||||
this.queryForm = { ...this.queryForm }
|
||||
if (this.formInline.showPermissions == 'Privacy') {
|
||||
this.isDisplay = true
|
||||
} else {
|
||||
this.isDisplay = false
|
||||
}
|
||||
if (this.queryForm.praiseEO && this.queryForm.praiseEO.praiseStatus == 'Praise') {
|
||||
this.isPraise = true
|
||||
} else {
|
||||
this.isPraise = false
|
||||
}
|
||||
if (this.queryForm.collectEO && this.queryForm.collectEO.collectStatus == 'Collect') {
|
||||
this.isCollect = true
|
||||
} else {
|
||||
this.isCollect = false
|
||||
}
|
||||
} else {
|
||||
this.formInline = {}
|
||||
}
|
||||
})
|
||||
},
|
||||
viewAdd() {
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id,
|
||||
browsingUserId: this.userInfo().id
|
||||
}
|
||||
postAction('/problemKnowledgeBase/problemKnowledgeBaseBrowsingHistoryEO/add', query).then((res) => {
|
||||
})
|
||||
},
|
||||
likeClick() {
|
||||
let praiseStatus = ''
|
||||
this.isPraise = !this.isPraise
|
||||
if (this.isPraise) {
|
||||
praiseStatus = 'Praise'
|
||||
this.queryForm.praiseCount = this.queryForm.praiseCount + 1
|
||||
} else {
|
||||
praiseStatus = 'Cancel praise'
|
||||
this.queryForm.praiseCount = this.queryForm.praiseCount - 1
|
||||
}
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id,
|
||||
praiseUserId: this.userInfo().id,
|
||||
praiseStatus: praiseStatus,
|
||||
id: this.queryForm.praiseEO ? this.queryForm.praiseEO.id : undefined
|
||||
}
|
||||
putAction('/problemKnowledgeBase/problemKnowledgeBasePraiseEO/edit', query).then((res) => {
|
||||
})
|
||||
},
|
||||
starClick() {
|
||||
let collectStatus = ''
|
||||
this.isCollect = !this.isCollect
|
||||
if (this.isCollect) {
|
||||
collectStatus = 'Collect'
|
||||
this.queryForm.collectCount = this.queryForm.collectCount + 1
|
||||
} else {
|
||||
collectStatus = 'Cancel Collect'
|
||||
this.queryForm.collectCount = this.queryForm.collectCount - 1
|
||||
}
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id,
|
||||
collectUserId: this.userInfo().id,
|
||||
collectStatus: collectStatus,
|
||||
id: this.queryForm.collectEO ? this.queryForm.collectEO.id : undefined
|
||||
}
|
||||
putAction('/problemKnowledgeBase/problemKnowledgeBaseCollectEO/edit', query).then((res) => {
|
||||
})
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||
},
|
||||
releaseData() {
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id
|
||||
}
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseCommentEO/list', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.releaseList = res.result || []
|
||||
} else {
|
||||
this.releaseList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
release() {
|
||||
|
||||
if (!this.formInline.commentContent) {
|
||||
this.$message.warning(this.$t('pleaseEnter'))
|
||||
return
|
||||
}
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id,
|
||||
commentContent: this.formInline.commentContent,
|
||||
commentUserId: this.userInfo().id
|
||||
}
|
||||
this.loading = true
|
||||
postAction('/problemKnowledgeBase/problemKnowledgeBaseCommentEO/add', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.releaseData()
|
||||
this.formInline = {}
|
||||
this.loading = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
forwardClick() {
|
||||
this.$refs.SelectedByRef.getPush()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -287,13 +400,17 @@
|
||||
font-weight: 400;
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
}
|
||||
|
||||
.content-icon-text {
|
||||
display: inline-block;
|
||||
/*display: inline-block;*/
|
||||
padding: 0 20px;
|
||||
cursor: pointer;
|
||||
line-height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.content-icon-text .icon {
|
||||
@@ -301,6 +418,11 @@
|
||||
color: #3b4249 !important;
|
||||
}
|
||||
|
||||
.content-icon-text .icon-active {
|
||||
font-size: 24px;
|
||||
color: #00B3BE !important;
|
||||
}
|
||||
|
||||
.content-icon-text span {
|
||||
display: inline-block;
|
||||
margin-left: 4px;
|
||||
@@ -347,4 +469,28 @@
|
||||
.header-btn {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.doc-detail-right {
|
||||
width: 800px;
|
||||
line-height: 68px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
padding-right: 30px;
|
||||
|
||||
.doc-detail-btn {
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.operator-text-text {
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-align: right;
|
||||
}
|
||||
</style>
|
||||
+5
-5
@@ -15,7 +15,7 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12" style="text-align: right">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
@@ -292,15 +292,15 @@
|
||||
rules: {
|
||||
titleCn: [
|
||||
{
|
||||
max: 100,
|
||||
message: this.$t('title') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
|
||||
max: 500,
|
||||
message: this.$t('title') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
titleEn: [
|
||||
{
|
||||
max: 100,
|
||||
message: this.$t('englishTitle') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
|
||||
max: 500,
|
||||
message: this.$t('englishTitle') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
align: 'center',
|
||||
width: 100,
|
||||
width: 120,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
|
||||
+19
-5
@@ -45,10 +45,10 @@
|
||||
</div>
|
||||
<div class="title-text-content"
|
||||
:class="{'title-text-content-one':!isTrue}">
|
||||
{{selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber :''}}
|
||||
{{selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber+' - '+selectedRowKeysRecord[0].title:''}}
|
||||
</div>
|
||||
<div class="title-text-right" v-if="isTrue">
|
||||
<span @click="standardDecompositionDocumentClick">
|
||||
<span :title="$t('standardDecompositionDocument')" @click="standardDecompositionDocumentClick">
|
||||
{{$t('standardDecompositionDocument')}}
|
||||
</span>
|
||||
</div>
|
||||
@@ -96,7 +96,7 @@
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('processBackground')">{{$t('processBackground')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="taskExplain">
|
||||
<a-form-model-item class="itemModel" prop="processBackground">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('processBackground')"
|
||||
v-model="formInline.processBackground"
|
||||
:disabled="!whetherDisplay"
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="remarks">
|
||||
<a-form-model-item class="itemModel" prop="remark">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('remarks')"
|
||||
v-model="formInline.remark"
|
||||
:disabled="!whetherDisplay"
|
||||
@@ -124,7 +124,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('evaluationMethod')">{{$t('evaluationMethod')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="gatherResult">
|
||||
@@ -239,6 +239,20 @@
|
||||
message: this.$t('Assessor') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
processBackground: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('processBackground') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
remark: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
searchParmes: {},
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -174,7 +174,7 @@
|
||||
toggleSearchStatus: false,
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
serialNumber:'',
|
||||
serialNumber: '',
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
@@ -197,7 +197,7 @@
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
name: this.$t('not')
|
||||
name: this.$t('notOnlyRz')
|
||||
}
|
||||
],
|
||||
gatherResultList: [
|
||||
@@ -215,12 +215,14 @@
|
||||
title: this.$t('standard'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'center',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
@@ -306,7 +308,7 @@
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page,pageSize) {
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
@@ -321,7 +323,7 @@
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
serialNumber: this.$route.query.serialNumber?this.$route.query.serialNumber:'',
|
||||
serialNumber: this.$route.query.serialNumber ? this.$route.query.serialNumber : '',
|
||||
...queryParam
|
||||
}
|
||||
this.loading = true
|
||||
@@ -372,9 +374,9 @@
|
||||
id: row.id,
|
||||
processBackground: row.processBackground,
|
||||
serialNumber: row.serialNumber,
|
||||
lawsTechnologyEvaluationId:row.id,
|
||||
lawsTechnologyEvaluationId: row.id,
|
||||
standId: row.standId,
|
||||
remark:row.remark
|
||||
remark: row.remark
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
@@ -385,9 +387,9 @@
|
||||
id: row.id,
|
||||
processBackground: row.processBackground,
|
||||
serialNumber: row.serialNumber,
|
||||
lawsTechnologyEvaluationId:row.id,
|
||||
lawsTechnologyEvaluationId: row.id,
|
||||
standId: row.standId,
|
||||
remark:row.remark
|
||||
remark: row.remark
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
|
||||
@@ -1314,7 +1314,7 @@
|
||||
max-height: 39vh !important;
|
||||
}
|
||||
|
||||
.ant-modal-body {
|
||||
.ant-modal-body {
|
||||
overflow-y: visible !important;
|
||||
}
|
||||
|
||||
@@ -1361,7 +1361,7 @@
|
||||
|
||||
}
|
||||
|
||||
.ant-modal-body {
|
||||
.show-setting .ant-modal-body {
|
||||
max-height: 500px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</div>
|
||||
<div class="comment-box" v-if="dataList && dataList.length > 0">
|
||||
<div class="comment-box-top-box" v-for="(item,index) in dataList" :key="index">
|
||||
<!-- <div class="title-text">{{$t('record')+(index + 1)}}</div>-->
|
||||
<!-- <div class="title-text">{{$t('record')+(index + 1)}}</div>-->
|
||||
<div class="box-content">
|
||||
<div class="img-box">
|
||||
<img src="../../../../assets/daiban.png" class="img" alt="">
|
||||
@@ -36,8 +36,8 @@
|
||||
<a-icon type="message"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inside-box" v-if="item.projectCommentVOList && item.projectCommentVOList.length > 0">
|
||||
<div class="box-content-inside" v-for="(val,indexOne) in item.projectCommentVOList" :key="indexOne">
|
||||
<div class="inside-box" v-if="item.resComVoList && item.resComVoList.length > 0">
|
||||
<div class="box-content-inside" v-for="(val,indexOne) in item.resComVoList" :key="indexOne">
|
||||
<div class="img-box">
|
||||
<img src="../../../../assets/daiban.png" class="img" alt="">
|
||||
</div>
|
||||
@@ -97,7 +97,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { getAction, postAction, putAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'commentList',
|
||||
@@ -112,9 +112,9 @@
|
||||
confirmLoading: false,
|
||||
visibleComment: false,
|
||||
url: {
|
||||
list: '/project/projectCommentEO/list',
|
||||
add: '/project/projectCommentEO/add',
|
||||
edit: '/project/projectReplyEO/add'
|
||||
list: '/compare/sarFileCompareResComment/queryListByInfoId',
|
||||
add: '/compare/sarFileCompareResComment/add',
|
||||
edit: '/compare/sarFileCompareResComment/edit'
|
||||
},
|
||||
rules: {
|
||||
commentContent: [
|
||||
@@ -142,6 +142,7 @@
|
||||
},
|
||||
getData() {
|
||||
this.visible = true
|
||||
this.commentContent = ''
|
||||
this.getList()
|
||||
},
|
||||
handleSubmit() {
|
||||
@@ -161,8 +162,8 @@
|
||||
getList() {
|
||||
this.loading = true
|
||||
getAction(this.url.list, {
|
||||
projectLibraryId: this.$route.query.id,
|
||||
commentContent: this.commentContent
|
||||
id: this.$route.query.id,
|
||||
str: this.commentContent
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.loading = false
|
||||
@@ -178,21 +179,25 @@
|
||||
if (valid) {
|
||||
let url = ''
|
||||
let query = {}
|
||||
let Action
|
||||
if (this.title == this.$t('publishComment')) {
|
||||
url = this.url.add
|
||||
Action = postAction
|
||||
query = {
|
||||
commentContent: this.formInline.commentContent,
|
||||
projectLibraryId: this.$route.query.id
|
||||
comment: this.formInline.commentContent,
|
||||
infoId: this.$route.query.id
|
||||
}
|
||||
} else if (this.title == this.$t('replyToComments')) {
|
||||
url = this.url.edit
|
||||
Action = postAction
|
||||
url = this.url.add
|
||||
query = {
|
||||
replyContent: this.formInline.replyContent,
|
||||
projectCommentId: this.formInline.projectCommentId
|
||||
comment: this.formInline.replyContent,
|
||||
parentId: this.formInline.projectCommentId,
|
||||
infoId: this.$route.query.id
|
||||
}
|
||||
}
|
||||
this.confirmLoading = true
|
||||
postAction(url, query).then((res) => {
|
||||
Action(url, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visibleComment = false
|
||||
@@ -200,7 +205,7 @@
|
||||
this.getList()
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
this.$message.success(this.$t('operationFailed'))
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -387,7 +392,7 @@
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.box-input-search .ant-input-suffix .ant-input-search-icon{
|
||||
.box-input-search .ant-input-suffix .ant-input-search-icon {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
+175
-150
@@ -27,42 +27,40 @@
|
||||
<a-checkbox @change="onChange" :indeterminate="indeterminate" :checked="checkAll"
|
||||
style="margin-left: 20px;float: left"></a-checkbox>
|
||||
<div class="detail-content-header-content">
|
||||
<div class="detail-content-header-content-left">
|
||||
所选标准:GB 23456-2020 机动车标准 FMVSS 114 中文.word
|
||||
<div class="detail-content-header-content-left"
|
||||
:class="{'detail-content-header-content-left-active':isDisplay}">
|
||||
{{$t('selectedStandard')}}:{{resultData.serialNumberLeft}} {{resultData.fileNameLeft}}
|
||||
</div>
|
||||
<div class="detail-content-header-content-content">
|
||||
所选标准:GB 23456-2020 机动车标准 FMVSS 114 中文.word
|
||||
<div class="detail-content-header-content-content"
|
||||
:class="{'detail-content-header-content-left-active':isDisplay}">
|
||||
{{$t('selectedStandard')}}:{{resultData.serialNumberRight}} {{resultData.fileNameRight}}
|
||||
</div>
|
||||
<div class="detail-content-header-content-right">
|
||||
操作
|
||||
<div class="detail-content-header-content-right" v-if="!isDisplay">
|
||||
{{$t('operation')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-checkbox-group @change="checkboxChange" v-model="checkboxList"
|
||||
style="width: 100%;overflow: overlay;height: calc(100vh - 300px)">
|
||||
<div class="detail-content-content">
|
||||
<a-checkbox value="A" class="detail-checkbox">
|
||||
<div class="detail-content-content" v-for="(item,index) in resultData.resList">
|
||||
<a-checkbox :value="item.id" class="detail-checkbox">
|
||||
</a-checkbox>
|
||||
<div class="detail-content-content-text">
|
||||
<div class="detail-content-content-text-left">
|
||||
<div class="detail-content-content-text-left"
|
||||
:class="{'detail-content-content-text-dis':isDisplay}">
|
||||
<div class="detail-content-left">
|
||||
<div class="detail-content-left-top">
|
||||
<span>第10条</span>
|
||||
<span style="margin-left: 10px">光反射器</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button">
|
||||
12. 附加光反射器,可以是贴纸,具有以下规格: a) 正面左右两侧呈白色或淡黄色; b) 背面左右两侧呈红色; c) 防护板
|
||||
sdf kdsf kljsfkldsfdsfdsf
|
||||
<span>{{item.itemsNumLeft}}</span>
|
||||
<span style="margin-left: 10px">{{item.itemsNameLeft}}</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button" v-html="item.itemsTextLeft"></div>
|
||||
</div>
|
||||
<div class="detail-content-right">
|
||||
<div class="detail-content-left-top">
|
||||
<span>第10条</span>
|
||||
<span style="margin-left: 10px">光反射器</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button">
|
||||
12. 附加光反射器,可以是贴纸,具有以下规格: a) 正面左右两侧呈白色或淡黄色; b) 背面左右两侧呈红色; c) 防护板收到反是馈就但是罚款决定书发的科技示范
|
||||
<span>{{item.itemsNumRight}}</span>
|
||||
<span style="margin-left: 10px">{{item.itemsNameRight}}</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button" v-html="item.itemsTextRight"></div>
|
||||
</div>
|
||||
<div class="detail-content-bottom">
|
||||
<div class="detail-content-bottom-left" :title="$t('comparisonDifferenceComment')">
|
||||
@@ -70,127 +68,30 @@
|
||||
{{$t('comparisonDifferenceComment')}}:
|
||||
</div>
|
||||
<div class="detail-content-bottom-right">
|
||||
差异是各单位在结构上的差别程度成员在时间横轴上的位置的差别程经理与其他的差别程度 横轴上的位置的差别程经理与其他的差别程度差异
|
||||
{{item.comment}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-text-right">
|
||||
<div class="detail-content-content-text-right" v-if="!isDisplay">
|
||||
<span class="text-button-one">
|
||||
<a class="text-button" @click="comparaEdit">{{$t('edit')}}</a>
|
||||
<a class="text-button" @click="comparaDelete">{{$t('delete')}}</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content">
|
||||
<a-checkbox value="B" class="detail-checkbox">
|
||||
</a-checkbox>
|
||||
<div class="detail-content-content-text">
|
||||
<div class="detail-content-content-text-left">
|
||||
<div class="detail-content-left">
|
||||
<div class="detail-content-left-top">
|
||||
<span>第10条</span>
|
||||
<span style="margin-left: 10px">光反射器</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button">
|
||||
12. 附加光反射器,可以是贴纸,具有以下规格: a) 正面左右两侧呈白色或淡黄色; b) 背面左右两侧呈红色; c) 防护板
|
||||
sdf kdsf kljsfkldsfdsfdsf
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-right">
|
||||
<div class="detail-content-left-top">
|
||||
<span>第10条</span>
|
||||
<span style="margin-left: 10px">光反射器</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button">
|
||||
12. 附加光反射器,可以是贴纸,具有以下规格: a) 正面左右两侧呈白色或淡黄色; b) 背面左右两侧呈红色; c) 防护板收到反是馈就但是罚款决定书发的科技示范
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-bottom">
|
||||
<div class="detail-content-bottom-left" :title="$t('comparisonDifferenceComment')">
|
||||
<a-icon type="message"/>
|
||||
{{$t('comparisonDifferenceComment')}}:
|
||||
</div>
|
||||
<div class="detail-content-bottom-right">
|
||||
差异是各单位在结构上的差别程度成员在时间横轴上的位置的差别程经理与其他的差别程度 横轴上的位置的差别程经理与其他的差别程度差异
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-text-right">
|
||||
<span class="text-button-one">
|
||||
<a class="text-button">{{$t('edit')}}</a>
|
||||
<a class="text-button">{{$t('delete')}}</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content">
|
||||
<a-checkbox value="C" class="detail-checkbox">
|
||||
</a-checkbox>
|
||||
<div class="detail-content-content-text">
|
||||
<div class="detail-content-content-text-left">
|
||||
<div class="detail-content-left">
|
||||
<div class="detail-content-left-top">
|
||||
<span>第10条</span>
|
||||
<span style="margin-left: 10px">光反射器</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button">
|
||||
12. 附加光反射器,可以是贴纸,具有以下规格: a) 正面左右两侧呈白色或淡黄色; b) 背面左右两侧呈红色; c) 防护板
|
||||
sdf kdsf kljsfkldsfdsfdsf
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-right">
|
||||
<div class="detail-content-left-top">
|
||||
<span>第10条</span>
|
||||
<span style="margin-left: 10px">光反射器</span>
|
||||
</div>
|
||||
<div class="detail-content-left-button">
|
||||
12. 附加光反射器,可以是贴纸,具有以下规格: a) 正面左右两侧呈白色或淡黄色; b) 背面左右两侧呈红色; c) 防护板收到反是馈就但是罚款决定书发的科技示范
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-bottom">
|
||||
<div class="detail-content-bottom-left" :title="$t('comparisonDifferenceComment')">
|
||||
<a-icon type="message"/>
|
||||
{{$t('comparisonDifferenceComment')}}:
|
||||
</div>
|
||||
<div class="detail-content-bottom-right">
|
||||
差异是各单位在结构上的差别程度成员在时间横轴上的位置的差别程经理与其他的差别程度 横轴上的位置的差别程经理与其他的差别程度差异
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-text-right">
|
||||
<span class="text-button-one">
|
||||
<a class="text-button">{{$t('edit')}}</a>
|
||||
<a class="text-button">{{$t('delete')}}</a>
|
||||
<a class="text-button" @click="comparaEdit(item)">{{$t('edit')}}</a>
|
||||
<a class="text-button" @click="comparaDelete(item)">{{$t('delete')}}</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-checkbox-group>
|
||||
<div class="detail-content-content">
|
||||
<a-checkbox value="D" class="detail-checkbox">
|
||||
<a-checkbox @change="fullCheckboxChange" v-model="fullCheckbox" class="detail-checkbox">
|
||||
</a-checkbox>
|
||||
<div class="detail-content-content-text">
|
||||
<div class="detail-content-content-text-left">
|
||||
<div class="detail-content-content-text-left"
|
||||
:class="{'detail-content-content-text-dis':isDisplay}">
|
||||
<div class="detail-content-content-text-left-text">
|
||||
{{$t('fullTextComments')}}: 文字占位符评论文字内容文字占位符评论文
|
||||
字内容文字占位符评论文字内容文字
|
||||
占位符评论文字内容文字占位符评论文字内容文字占
|
||||
文字占位符评论文字内容文字占位符评论文
|
||||
字内容文字占位符评论文字内容文字
|
||||
占位符评论文字内容文字占位符评论文字内容文字占
|
||||
文字占位符评论文字内容文字占位符评论文
|
||||
字内容文字占位符评论文字内容文字
|
||||
占位符评论文字内容文字占位符评论文字内容文字占
|
||||
文字占位符评论文字内容文字占位符评论文
|
||||
字内容文字占位符评论文字内容文字
|
||||
占位符评论文字内容文字占位符评论文字内容文字占
|
||||
文字占位符评论文字内容文字占位符评论文
|
||||
字内容文字占位符评论文字内容文字
|
||||
占位符评论文字内容文字占位符评论文字内容文字占
|
||||
{{$t('fullTextComments')}}: {{resultData.comments}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-text-right">
|
||||
<div class="detail-content-content-text-right" v-if="!isDisplay">
|
||||
<span class="text-button-one">
|
||||
<a class="text-button" @click="fullTextEdit">{{$t('edit')}}</a>
|
||||
<!-- <a class="text-button">{{$t('delete')}}</a>-->
|
||||
@@ -213,7 +114,7 @@
|
||||
<a-button key="back" @click="visible = false">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
<a-button type="primary" @click="fullTextCommentsSubmit">
|
||||
<a-button type="primary" :loading="confirmLoading" @click="fullTextCommentsSubmit">
|
||||
{{$t('submit')}}
|
||||
</a-button>
|
||||
</template>
|
||||
@@ -222,9 +123,9 @@
|
||||
<div class="title-text-Remarks" :title="$t('fullTextComments')">
|
||||
<span>{{$t('fullTextComments')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="dreUserIdName">
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="comment">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('fullTextComments')"
|
||||
v-model="formInlineText.fullTextComments"
|
||||
v-model="formInlineText.comment"
|
||||
:rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -232,9 +133,9 @@
|
||||
<div class="title-text-Remarks" :title="$t('comparativeComments')">
|
||||
<span>{{$t('comparativeComments')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="dreUserIdName">
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="comment">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('comparativeComments')"
|
||||
v-model="formInlineText.comparativeComments"
|
||||
v-model="formInlineText.comment"
|
||||
:rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -248,6 +149,7 @@
|
||||
<script>
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import commentList from './commentList'
|
||||
import { putAction } from '../../../../api/manage'
|
||||
|
||||
export default {
|
||||
name: 'comparisonResults',
|
||||
@@ -264,9 +166,23 @@
|
||||
rulesText: {},
|
||||
title: '',
|
||||
indeterminate: false,
|
||||
checkAll: false
|
||||
checkAll: false,
|
||||
isDisplay: false,
|
||||
fullCheckbox: false,
|
||||
resultData: {},
|
||||
url: {
|
||||
exportData: '/compare/sarFileCompareItemComment/exportResXls'
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.$route.query.isDisplay == 2) {
|
||||
this.isDisplay = false
|
||||
} else {
|
||||
this.isDisplay = true
|
||||
}
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
Fallback() {
|
||||
this.$router.push({
|
||||
@@ -277,45 +193,146 @@
|
||||
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 = {
|
||||
id: this.$route.query.id,
|
||||
infoId: this.$route.query.id
|
||||
}
|
||||
this.loading = true
|
||||
getAction('/compare/sarFileCompareItemComment/queryCompareResult', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.resultData = res.result || {}
|
||||
this.loading = false
|
||||
} else {
|
||||
this.resultData = {}
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
checkboxChange(checkedList) {
|
||||
this.indeterminate = !!checkedList.length && checkedList.length < this.checkboxList.length
|
||||
this.checkAll = checkedList.length === this.checkboxList.length
|
||||
this.indeterminate = !!checkedList.length && checkedList.length < this.resultData.resList.length || (this.fullCheckbox && this.checkboxList.length < this.resultData.resList.length) || (!this.fullCheckbox && !!checkedList.length)
|
||||
this.checkAll = checkedList.length === this.resultData.resList.length && this.fullCheckbox
|
||||
},
|
||||
fullCheckboxChange(event) {
|
||||
this.indeterminate = !!this.checkboxList.length && this.checkboxList.length < this.resultData.resList.length || (event.target.checked && this.checkboxList.length < this.resultData.resList.length) || (!this.fullCheckbox && !!this.checkboxList.length)
|
||||
this.checkAll = this.checkboxList.length === this.resultData.resList.length && event.target.checked
|
||||
},
|
||||
onChange(event) {
|
||||
this.checkAll = event.target.checked
|
||||
if (event.target.checked) {
|
||||
this.checkboxList = ['A', 'B', 'C', 'D']
|
||||
this.resultData.resList.forEach(res => {
|
||||
this.checkboxList.push(res.id)
|
||||
})
|
||||
this.fullCheckbox = true
|
||||
this.indeterminate = false
|
||||
} else {
|
||||
this.checkboxList = []
|
||||
this.fullCheckbox = false
|
||||
}
|
||||
if (this.checkboxList.length == 0) {
|
||||
if (this.checkboxList.length == 0 && !this.fullCheckbox) {
|
||||
this.checkAll = false
|
||||
this.indeterminate = false
|
||||
}
|
||||
},
|
||||
fullTextCommentsSubmit() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
this.$refs.ruleFormText.validate(valid => {
|
||||
if (valid) {
|
||||
|
||||
if (this.title == this.$t('fullTextComments')) {
|
||||
this.fullTextComments()
|
||||
} else {
|
||||
this.comparaComments()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
fullTextEdit() {
|
||||
this.visible = true
|
||||
this.title = this.$t('fullTextComments')
|
||||
this.formInlineText = {}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.ruleFormText.clearValidate()
|
||||
fullTextComments() {
|
||||
this.confirmLoading = true
|
||||
let query = {
|
||||
id: this.$route.query.id,
|
||||
comments: this.formInlineText.comment
|
||||
}
|
||||
putAction('/compare/sarFileCompareInfo/editComments', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
this.getData()
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
comparaEdit() {
|
||||
comparaComments() {
|
||||
this.confirmLoading = true
|
||||
let query = {
|
||||
infoId: this.$route.query.id,
|
||||
id: this.formInlineText.id,
|
||||
comment: this.formInlineText.comment
|
||||
}
|
||||
putAction('/compare/sarFileCompareItemComment/edit', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
this.getData()
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
fullTextEdit(item) {
|
||||
this.visible = true
|
||||
this.title = this.$t('comparativeComments')
|
||||
this.formInlineText = {}
|
||||
this.title = this.$t('fullTextComments')
|
||||
this.formInlineText.comment = this.resultData.comments || ''
|
||||
this.formInlineText = { ...this.formInlineText }
|
||||
this.$nextTick(() => {
|
||||
this.$refs.ruleFormText.clearValidate()
|
||||
this.rulesText = {
|
||||
comment: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('fullTextComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
}
|
||||
this.rulesText = { ...this.rulesText }
|
||||
})
|
||||
},
|
||||
comparaEdit(item) {
|
||||
this.visible = true
|
||||
this.title = this.$t('comparativeComments')
|
||||
this.formInlineText = JSON.parse(JSON.stringify(item))
|
||||
this.formInlineText = { ...this.formInlineText }
|
||||
this.$nextTick(() => {
|
||||
this.$refs.ruleFormText.clearValidate()
|
||||
this.rulesText = {
|
||||
comment: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('comparativeComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
}
|
||||
this.rulesText = { ...this.rulesText }
|
||||
})
|
||||
},
|
||||
comparaDelete(val) {
|
||||
@@ -323,10 +340,10 @@
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmDelete'),
|
||||
onOk() {
|
||||
deleteAction(_this.url.deleteOne, { id: val.id }).then((res) => {
|
||||
deleteAction('/compare/sarFileCompareItemComment/delete', { id: val.id }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
_this.getData()
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
@@ -593,4 +610,12 @@
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.detail-content-content-text-dis {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.detail-content-header-content-left-active {
|
||||
width: 50% !important;
|
||||
}
|
||||
</style>
|
||||
+260
-103
@@ -20,9 +20,9 @@
|
||||
{{$t('addFullTextComment')}}
|
||||
</div>
|
||||
<div @click="turnOffAutomaticMatchingClick" class="operator-text-text"
|
||||
:title="$t('turnOffAutomaticMatching')">
|
||||
<a-icon type="close-circle"/>
|
||||
{{$t('turnOffAutomaticMatching')}}
|
||||
:title="isMatching ? $t('turnOffAutomaticMatching'):$t('turnOnAutoMatch')">
|
||||
<a-icon :type="isMatching?'close-circle':'check-circle'"/>
|
||||
{{isMatching ? $t('turnOffAutomaticMatching'):$t('turnOnAutoMatch')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -31,33 +31,25 @@
|
||||
<div style="width: 100%;height: auto;overflow: hidden">
|
||||
<div class="detail-content-left">
|
||||
<div class="detail-content-left-header">
|
||||
GB 23145-2020 机动车标准 FMVSS 114 中文.word
|
||||
{{this.resultData.serialNumberLeft}}
|
||||
{{this.resultData.fileNameLeft}}
|
||||
</div>
|
||||
<div class="detail-content-content-left">
|
||||
<a-tree
|
||||
class="draggable-tree"
|
||||
:tree-data="gData"
|
||||
@select="onSelectLeft"
|
||||
:tree-data="resultData.menuLeft"
|
||||
/>
|
||||
</div>
|
||||
<div class="detail-content-content-right">
|
||||
<div class="detail-content-content-right-data" @click="detailLeft(0)"
|
||||
:class="{'detail-content-content-right-data-blue':false}">
|
||||
<div class="detail-content-content-right-data-text">
|
||||
1、范围
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text">
|
||||
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色温度循环等试验方法和检验规则等,
|
||||
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-right-data" @click="detailLeft(1)"
|
||||
:class="{'detail-content-content-right-data-blue':true}">
|
||||
<div class="detail-content-content-right-data-text">
|
||||
1、范围
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text">
|
||||
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色温度循环等试验方法和检验规则等,
|
||||
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
|
||||
<div class="detail-content-content-right-top">
|
||||
<div class="detail-content-content-right">
|
||||
<div class="detail-content-content-right-data" @click="detailLeft(index,item)"
|
||||
v-for="(item,index) in resultData.textLeft"
|
||||
:class="{'detail-content-content-right-data-blue':item.reviewed == '1'?true:false}">
|
||||
<div class="detail-content-content-right-data-text" style="margin-bottom: 10px;color: #040B29">
|
||||
{{item.itemsNum + ' ' + item.itemsName}}
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text" v-html="item.itemsText"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -65,55 +57,31 @@
|
||||
<div class="detail-content-right">
|
||||
<div class="detail-content-left-header">
|
||||
<span class="detail-content-left-header-text">
|
||||
GB 23145-2020 机动车标准 FMVSS 114 中文.word
|
||||
{{this.resultData.serialNumberRight}}
|
||||
{{this.resultData.fileNameRight}}
|
||||
</span>
|
||||
<span class="detail-content-left-header-text-right">
|
||||
<span style="color: #9B9DA9">相似度:</span>
|
||||
<span style="color: #E83030">98%</span>
|
||||
<!-- <span style="color: #9B9DA9">相似度:</span>-->
|
||||
<!-- <span style="color: #E83030">98%</span>-->
|
||||
</span>
|
||||
</div>
|
||||
<div class="detail-content-content-left">
|
||||
<a-tree
|
||||
class="draggable-tree"
|
||||
:tree-data="gData"
|
||||
@select="onSelectRight"
|
||||
:tree-data="resultData.menuRight"
|
||||
/>
|
||||
</div>
|
||||
<div class="detail-content-content-right">
|
||||
<div class="detail-content-content-right-data-right" @click="detailRight(0)"
|
||||
:class="{'detail-content-content-right-data-blue-right':true}">
|
||||
<div class="detail-content-content-right-data-text">
|
||||
1、范围
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text">
|
||||
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色温度循环等试验方法和检验规则等,
|
||||
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-right" @click="detailRight(1)">
|
||||
<div class="detail-content-content-right-data-text">
|
||||
1、范围
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text">
|
||||
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色温度循环等试验方法和检验规则等,
|
||||
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-right" @click="detailRight(2)">
|
||||
<div class="detail-content-content-right-data-text">
|
||||
1、范围
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text">
|
||||
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色温度循环等试验方法和检验规则等,
|
||||
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-right" @click="detailRight(3)">
|
||||
<div class="detail-content-content-right-data-text">
|
||||
1、范围
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text">
|
||||
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色温度循环等试验方法和检验规则等,
|
||||
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
|
||||
<div class="detail-content-content-right-right-top">
|
||||
<div class="detail-content-content-right-right">
|
||||
<div class="detail-content-content-right-data-right" @click="detailRight(index,item)"
|
||||
v-for="(item,index) in resultData.textRight"
|
||||
:class="{'detail-content-content-right-data-blue-right':item.reviewed == '1'?true:false}">
|
||||
<div class="detail-content-content-right-data-text" style="margin-bottom: 10px;color: #040B29">
|
||||
{{item.itemsNum + ' ' + item.itemsName}}
|
||||
</div>
|
||||
<div class="detail-content-content-right-data-text" v-html="item.itemsText">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -125,9 +93,9 @@
|
||||
<div class="title-text-Remarks" :title="$t('comparativeComments')">
|
||||
<span>{{$t('comparativeComments')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="dreUserIdName">
|
||||
<a-form-model-item class="itemModel" prop="comment">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('comparativeComments')"
|
||||
v-model="formInline.RemarkInfo"
|
||||
v-model="formInline.comment"
|
||||
:rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -151,7 +119,7 @@
|
||||
<a-button type="primary" @click="fullTextCommentsEdit">
|
||||
{{$t('edit')}}
|
||||
</a-button>
|
||||
<a-button type="primary" @click="fullTextCommentsSubmit">
|
||||
<a-button type="primary" :loading="confirmLoading" @click="fullTextCommentsSubmit">
|
||||
{{$t('submit')}}
|
||||
</a-button>
|
||||
</template>
|
||||
@@ -160,50 +128,60 @@
|
||||
<div class="title-text-Remarks" :title="$t('fullTextComments')">
|
||||
<span>{{$t('fullTextComments')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="dreUserIdName">
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="comment">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('fullTextComments')"
|
||||
v-model="formInlineText.fullTextComments"
|
||||
v-model.trim="formInlineText.comment"
|
||||
:disabled="fullTextDisabled"
|
||||
:rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
<JLoading :loading="loading">{{dataLoadingText}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { postAction, putAction } from '../../../../api/manage'
|
||||
|
||||
export default {
|
||||
name: 'documentDataComparison',
|
||||
data() {
|
||||
return {
|
||||
formInline: {},
|
||||
formInlineText: {},
|
||||
rules: {},
|
||||
rulesText: {},
|
||||
dataLoadingText: '',
|
||||
rules: {
|
||||
comment: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('comparativeComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
rulesText: {
|
||||
comment: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('fullTextComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
loading: false,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
fullTextDisabled: false,
|
||||
gData: [
|
||||
{
|
||||
title: '0-0sdf dsfdsfdsfdsfds',
|
||||
key: '0-0',
|
||||
children: [
|
||||
{
|
||||
title: '0-0-0sdfdsfdsfdsfdsfdsfdsf',
|
||||
key: '0-0-0'
|
||||
},
|
||||
{
|
||||
title: '0-0-1',
|
||||
key: '0-0-1'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
resultData: {},
|
||||
isMatching: true,
|
||||
dataLeft: {},
|
||||
dataRight: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
Fallback() {
|
||||
this.$router.push({
|
||||
@@ -211,46 +189,208 @@
|
||||
})
|
||||
},
|
||||
submit() {
|
||||
|
||||
if (!this.dataLeft.id && !this.dataRight.id) {
|
||||
this.$message.warning(this.$t('pleaseSelectTheDataCompared'))
|
||||
return
|
||||
}
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let query = {
|
||||
itemsIdLeft: this.dataLeft.id,
|
||||
itemsIdRight: this.dataRight.id,
|
||||
infoId: this.$route.query.id,
|
||||
comment: this.formInline.comment
|
||||
}
|
||||
this.dataLoadingText = this.$t('pleaseWaitWhileRunning')
|
||||
this.loading = true
|
||||
postAction('/compare/sarFileCompareItemComment/add', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.loading = false
|
||||
this.formInline = {}
|
||||
this.resultData.textRight.forEach(val => {
|
||||
if (val.id == this.dataRight.id) {
|
||||
val.reviewed = 1
|
||||
}
|
||||
})
|
||||
this.resultData.textLeft.forEach(val => {
|
||||
if (val.id == this.dataLeft.id) {
|
||||
val.reviewed = 1
|
||||
}
|
||||
})
|
||||
this.resultData = { ...this.resultData }
|
||||
let detailLeftColor = document.getElementsByClassName('detail-content-content-right-data-color')
|
||||
if (detailLeftColor && detailLeftColor.length > 0) {
|
||||
detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
|
||||
}
|
||||
let detailRightColor = document.getElementsByClassName('detail-content-content-right-data-color-right')
|
||||
if (detailRightColor && detailRightColor.length > 0) {
|
||||
detailRightColor[0].classList.remove('detail-content-content-right-data-color-right')
|
||||
}
|
||||
this.dataLeft = {}
|
||||
this.dataRight = {}
|
||||
// this.$router.push({
|
||||
// path: '/documentComparison'
|
||||
// })
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
viewTheComparisonResultsClick() {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/comparisonResults'
|
||||
path: '/comparisonResults',
|
||||
query: {
|
||||
id: this.$route.query.id,
|
||||
isDisplay: 2
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
addFullTextCommentClick() {
|
||||
this.visible = true
|
||||
this.fullTextDisabled = true
|
||||
if (this.formInlineText.comment) {
|
||||
this.fullTextDisabled = true
|
||||
} else {
|
||||
this.fullTextDisabled = false
|
||||
}
|
||||
},
|
||||
turnOffAutomaticMatchingClick() {
|
||||
|
||||
this.isMatching = !this.isMatching
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
},
|
||||
fullTextCommentsEdit() {
|
||||
this.fullTextDisabled = false
|
||||
},
|
||||
fullTextCommentsSubmit() {
|
||||
|
||||
this.$refs.ruleFormText.validate(valid => {
|
||||
if (valid) {
|
||||
let formInlineText = JSON.parse(JSON.stringify(this.formInlineText))
|
||||
this.confirmLoading = true
|
||||
let query = {
|
||||
id: this.$route.query.id,
|
||||
comments: formInlineText.comment
|
||||
}
|
||||
putAction('/compare/sarFileCompareInfo/editComments', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
detailLeft(num) {
|
||||
getData() {
|
||||
let query = {
|
||||
id: this.$route.query.id
|
||||
}
|
||||
this.dataLoadingText = this.$t('dataLoading')
|
||||
this.loading = true
|
||||
postAction('/compare/sarFileCompareInfo/getComparisonDetail', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.resultData = res.result || {}
|
||||
this.formInlineText.comment = res.result.comments || ''
|
||||
this.formInlineText = { ...this.formInlineText }
|
||||
this.loading = false
|
||||
} else {
|
||||
this.resultData = {}
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
detailLeft(num, item) {
|
||||
let detailLeftColor = document.getElementsByClassName('detail-content-content-right-data-color')
|
||||
if (detailLeftColor && detailLeftColor.length > 0) {
|
||||
detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
|
||||
}
|
||||
if (item.id == this.dataLeft.id && !this.isMatching) {
|
||||
this.dataLeft = {}
|
||||
return
|
||||
}
|
||||
let detailLeft = document.getElementsByClassName('detail-content-content-right-data')
|
||||
if (detailLeft && detailLeft.length > 0) {
|
||||
detailLeft[num].classList.add('detail-content-content-right-data-color')
|
||||
}
|
||||
this.dataLeft = item
|
||||
if (this.isMatching) {
|
||||
let detailRightColor = document.getElementsByClassName('detail-content-content-right-data-color-right')
|
||||
if (detailRightColor && detailRightColor.length > 0) {
|
||||
detailRightColor[0].classList.remove('detail-content-content-right-data-color-right')
|
||||
}
|
||||
let detailContent = document.getElementsByClassName('detail-content-content-right-right-top')
|
||||
let detailRight = document.getElementsByClassName('detail-content-content-right-data-right')
|
||||
this.dataRight = this.resultData.textRight[item.targetStand]
|
||||
if (detailRight && detailRight.length > 0) {
|
||||
detailRight[item.targetStand].classList.add('detail-content-content-right-data-color-right')
|
||||
detailContent[0].scrollTop = detailRight[item.targetStand].offsetTop - 150
|
||||
}
|
||||
}
|
||||
},
|
||||
detailRight(num) {
|
||||
detailRight(num, item) {
|
||||
let detailRightColor = document.getElementsByClassName('detail-content-content-right-data-color-right')
|
||||
if (detailRightColor && detailRightColor.length > 0) {
|
||||
detailRightColor[0].classList.remove('detail-content-content-right-data-color-right')
|
||||
}
|
||||
if (item.id == this.dataRight.id && !this.isMatching) {
|
||||
this.dataRight = {}
|
||||
return
|
||||
}
|
||||
let detailRight = document.getElementsByClassName('detail-content-content-right-data-right')
|
||||
if (detailRight && detailRight.length > 0) {
|
||||
detailRight[num].classList.add('detail-content-content-right-data-color-right')
|
||||
}
|
||||
this.dataRight = item
|
||||
if (this.isMatching) {
|
||||
let detailLeftColor = document.getElementsByClassName('detail-content-content-right-data-color')
|
||||
if (detailLeftColor && detailLeftColor.length > 0) {
|
||||
detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
|
||||
}
|
||||
this.dataLeft = this.resultData.textLeft[item.targetStand]
|
||||
let detailContent = document.getElementsByClassName('detail-content-content-right-top')
|
||||
let detailLeft = document.getElementsByClassName('detail-content-content-right-data')
|
||||
if (detailLeft && detailLeft.length > 0) {
|
||||
detailLeft[item.targetStand].classList.add('detail-content-content-right-data-color')
|
||||
detailContent[0].scrollTop = detailLeft[item.targetStand].offsetTop - 150
|
||||
}
|
||||
}
|
||||
},
|
||||
onSelectLeft(selectedKeys, exports) {
|
||||
let node = exports.node.$vnode.data.props.dataRef
|
||||
let detailLeft = document.getElementsByClassName('detail-content-content-right-data')
|
||||
let detailContent = document.getElementsByClassName('detail-content-content-right-top')
|
||||
if (!node.parentId) {
|
||||
detailContent[0].scrollTop = 0
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < this.resultData.textLeft.length; i++) {
|
||||
if (node.parentId && node.itemName == this.resultData.textLeft[i].itemsName) {
|
||||
detailContent[0].scrollTop = detailLeft[i].offsetTop - 150
|
||||
return
|
||||
}
|
||||
}
|
||||
},
|
||||
onSelectRight(selectedKeys, exports) {
|
||||
let node = exports.node.$vnode.data.props.dataRef
|
||||
let detailRight = document.getElementsByClassName('detail-content-content-right-data-right')
|
||||
let detailContent = document.getElementsByClassName('detail-content-content-right-right-top')
|
||||
if (!node.parentId) {
|
||||
detailContent[0].scrollTop = 0
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < this.resultData.textRight.length; i++) {
|
||||
if (node.parentId && node.itemName == this.resultData.textRight[i].itemsName) {
|
||||
detailContent[0].scrollTop = detailRight[i].offsetTop - 150
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -259,7 +399,7 @@
|
||||
.detail-content-content-left .ant-tree-node-content-wrapper {
|
||||
display: inline-block !important;
|
||||
color: #040B29 !important;
|
||||
width: 100px;
|
||||
width: 130px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
@@ -303,7 +443,6 @@
|
||||
width: 50%;
|
||||
float: left;
|
||||
height: 620px;
|
||||
overflow-y: auto;
|
||||
border-right: 2px #EFF1F3 solid;
|
||||
padding: 24px 32px;
|
||||
box-sizing: border-box;
|
||||
@@ -313,7 +452,6 @@
|
||||
.detail-content-right {
|
||||
width: 50%;
|
||||
height: 620px;
|
||||
overflow-y: auto;
|
||||
float: left;
|
||||
padding: 24px 32px;
|
||||
box-sizing: border-box;
|
||||
@@ -379,16 +517,35 @@
|
||||
}
|
||||
|
||||
.detail-content-content-left {
|
||||
width: 140px;
|
||||
height: auto;
|
||||
width: 180px;
|
||||
height: 520px;
|
||||
float: left;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.detail-content-content-right-top {
|
||||
height: 520px;
|
||||
overflow-y: auto;
|
||||
transition: all 1s;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
.detail-content-content-right-right-top {
|
||||
height: 520px;
|
||||
overflow-y: auto;
|
||||
transition: all 1s;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
.detail-content-content-right {
|
||||
width: calc(100% - 150px);
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.detail-content-content-right-right {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
margin-left: 10px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.detail-content-content-right-data {
|
||||
|
||||
+7
-2
@@ -324,7 +324,12 @@
|
||||
if (res.success) {
|
||||
this.loading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
|
||||
this.$router.push({
|
||||
path: '/documentDataComparison',
|
||||
query: {
|
||||
id: res.result
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.loading = false
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
@@ -426,7 +431,7 @@
|
||||
padding: 24px 32px;
|
||||
box-sizing: border-box;
|
||||
border-bottom: 2px #EFF1F3 solid;
|
||||
height:610px;
|
||||
height: 610px;
|
||||
}
|
||||
|
||||
.detail-content-right {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="title-text" :title="$t('releaseSituation')">
|
||||
<span>{{$t('releaseSituation')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.releaseCondition"
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.releaseState"
|
||||
:placeholder="$t('PleaseSelect')+$t('releaseSituation')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" dictCode="release_condition"/>
|
||||
@@ -46,6 +46,10 @@
|
||||
<a-icon type="apartment"/>
|
||||
{{$t('initiateComparison')}}
|
||||
</div>
|
||||
<div @click="BatchDelete" class="operator-text">
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a-table
|
||||
@@ -63,11 +67,16 @@
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="comparisonResultsClick(record)">{{$t('comparisonResults')}}</a>
|
||||
<a class="text-operation"
|
||||
v-if="record.createBy == userInfoQuery.username"
|
||||
@click="subscribe(record)">
|
||||
{{!record.state || record.state == 0 ? $t('release') :$t('withdraw')}}
|
||||
{{!record.releaseState || record.releaseState == 'draft' ? $t('release') :$t('withdraw')}}
|
||||
</a>
|
||||
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
|
||||
<a class="text-operation" @click="deleteData(record)">{{$t('delete')}}</a>
|
||||
<a class="text-operation"
|
||||
v-if="record.createBy == userInfoQuery.username && record.releaseState == 'draft'"
|
||||
@click="edit(record)">{{$t('edit')}}</a>
|
||||
<a class="text-operation"
|
||||
v-if="record.createBy == userInfoQuery.username && record.releaseState == 'draft'"
|
||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -88,6 +97,7 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
@@ -100,22 +110,14 @@
|
||||
deleteBatch: '/compare/sarFileCompareInfo/deleteBatch'
|
||||
},
|
||||
loading: false,
|
||||
dataSource: [{}],
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
queryParam: {},
|
||||
gatherResultList: [
|
||||
{
|
||||
value: '1',
|
||||
name: this.$t('draft')
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
name: this.$t('Published')
|
||||
}
|
||||
],
|
||||
userInfoQuery: {},
|
||||
selectedRowKeysRecord: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('standard') + 1,
|
||||
@@ -174,7 +176,7 @@
|
||||
align: 'center',
|
||||
width: 170,
|
||||
ellipsis: true,
|
||||
dataIndex: 'releaseState'
|
||||
dataIndex: 'releaseStateTitle'
|
||||
},
|
||||
{
|
||||
title: this.$t('remarks'),
|
||||
@@ -194,9 +196,11 @@
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.userInfoQuery = this.userInfo()
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
@@ -210,7 +214,7 @@
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page,pageSize) {
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
@@ -238,21 +242,90 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
BatchDelete() {
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmBatchDeletion'),
|
||||
onOk() {
|
||||
let idList = []
|
||||
let selectedRowKeysRecord = JSON.parse(JSON.stringify(_this.selectedRowKeysRecord))
|
||||
for (let i = 0; i < selectedRowKeysRecord.length; i++) {
|
||||
if (selectedRowKeysRecord[i].createBy == _this.userInfo().username &&
|
||||
selectedRowKeysRecord[i].releaseState == 'draft') {
|
||||
idList.push(selectedRowKeysRecord[i].id)
|
||||
}
|
||||
}
|
||||
if (idList.length > 0) {
|
||||
deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('doNotHavePermissionDeleteData'))
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
comparisonResultsClick() {
|
||||
onSelectChange(value, record) {
|
||||
this.selectedRowKeys = value
|
||||
this.selectedRowKeysRecord = record
|
||||
},
|
||||
comparisonResultsClick(item) {
|
||||
if (item.createBy == this.userInfo().username && item.releaseState == 'draft') {
|
||||
item.isDisplay = 2
|
||||
} else {
|
||||
item.isDisplay = 1
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/comparisonResults'
|
||||
path: '/comparisonResults',
|
||||
query: {
|
||||
id: item.id,
|
||||
isDisplay: item.isDisplay
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
subscribe() {
|
||||
|
||||
subscribe(record) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: record.releaseState == 'draft' ? _this.$t('confirmRelease') : _this.$t('confirmWithdraw'),
|
||||
onOk() {
|
||||
let releaseState = ''
|
||||
if (record.releaseState == 'draft') {
|
||||
releaseState = 'draft'
|
||||
} else {
|
||||
releaseState = 'published'
|
||||
}
|
||||
let query = {
|
||||
releaseState: releaseState,
|
||||
id: record.id
|
||||
}
|
||||
postAction('/compare/sarFileCompareInfo/changeState', query).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
edit() {
|
||||
edit(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/documentDataComparison'
|
||||
path: '/documentDataComparison',
|
||||
query: {
|
||||
id: row.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<a-input class="box-input add-input"
|
||||
type="textarea"
|
||||
:placeholder="$t('PleaseEnter')+$t('fileDeclaration')"
|
||||
v-model="formInline.fileDescription"/>
|
||||
v-model.trim="formInline.fileDescription"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -146,6 +146,7 @@ export default {
|
||||
this.visible = true
|
||||
return
|
||||
}else{
|
||||
this.$refs['ruleForm'].clearValidate()
|
||||
this.visible = false
|
||||
}
|
||||
},
|
||||
@@ -209,6 +210,7 @@ export default {
|
||||
/** 赋值给当前对应的表单文件 */
|
||||
this.formInline[this.uploadName] = attIdList.join(',')
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.clearValidate(['fileKey'])
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
|
||||
@@ -41,19 +41,12 @@
|
||||
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
||||
</span>
|
||||
<template #overlay>
|
||||
<a-menu
|
||||
<a-menu v-has="'externalReports:folder'"
|
||||
@click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
|
||||
<a-menu-item key="1" @click="orgAdd" v-has="'externalReports:folder'">{{$t('Addingfolder')}}
|
||||
</a-menu-item>
|
||||
<a-menu-item key="4" @click="orgAdds" v-if="deleteNode"
|
||||
v-has="'externalReports:folder'">{{$t('Addingsubfolders')}}
|
||||
</a-menu-item>
|
||||
<a-menu-item key="2" @click="orgEdit" v-has="'externalReports:folder'">
|
||||
{{$t('Editfolder')}}
|
||||
</a-menu-item>
|
||||
<a-menu-item key="3" @click="orgDelete"
|
||||
v-has="'externalReports:folder'">{{$t('Deletefolders')}}
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="orgAdd" >{{$t('Addingfolder')}}</a-menu-item>
|
||||
<a-menu-item key="4" @click="orgAdds" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item>
|
||||
<a-menu-item key="2" @click="orgEdit">{{$t('Editfolder')}}</a-menu-item>
|
||||
<a-menu-item key="3" @click="orgDelete" >{{$t('Deletefolders')}}</a-menu-item>
|
||||
|
||||
</a-menu>
|
||||
</template>
|
||||
@@ -72,7 +65,7 @@
|
||||
<div class="title-text" :title="$t('fileName')">
|
||||
<span>{{ $t('fileName') }}</span>
|
||||
</div>
|
||||
<a-input class="box-input" style='width: 264px' :placeholder="$t('PleaseEnter')+$t('fileName')"
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('fileName')"
|
||||
v-model="queryParams.fileName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -81,7 +74,7 @@
|
||||
<div class="title-text" :title="$t('uploadedBy')">
|
||||
<span>{{$t('uploadedBy')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" style='width: 264px' :placeholder="$t('PleaseEnter')+$t('uploadedBy')"
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('uploadedBy')"
|
||||
v-model="queryParams.createBy"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -93,7 +86,6 @@
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"-->
|
||||
<a-range-picker
|
||||
style='width: 264px'
|
||||
|
||||
@change="onChange"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
@@ -127,21 +119,21 @@
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<!-- :scroll="{x: 10,y:'calc(100vh - 130px)'}"-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
rowKey="id"
|
||||
:scroll="{x: 10}"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||
<a @click="entryNameClick(record)">
|
||||
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
||||
</a>
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<!-- <a class="text-operation" @click="handlelist(record)">{{$t('view')}}</a>-->
|
||||
@@ -186,30 +178,72 @@
|
||||
:label-col="labelCol"
|
||||
:wrapper-col="wrapperCol"
|
||||
>
|
||||
<a-form-model-item :label="$t('Foldername')" prop="folderName">
|
||||
<a-input class="box-input add-input" v-model.trim="form.folderName" :placeholder="$t('PleaseEnter')+$t('Foldername')"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('Administrativeprivileges')" prop="authManageIdsName">
|
||||
<PersonnelSelection class="box-input add-input"
|
||||
:personneQuery="form"
|
||||
:query="{db_field_name:'authManageIds',db_field_txt:$t('Administrativeprivileges')}"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="form.authManageIdsName"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('Checkthepermissions')" prop="authViewIdsName">
|
||||
<PersonnelSelection
|
||||
class="box-input add-input"
|
||||
:personneQuery="form"
|
||||
:query="{db_field_name:'authViewIds',db_field_txt:$t('Checkthepermissions')}"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="form.authViewIdsName"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('Folderorder')" prop="orderId">
|
||||
<a-input-number v-model="form.orderId" :min="1" :max="9999" class="box-input add-input"
|
||||
:placeholder="$t('PleaseEnter')+$t('Folderorder')" :formatter="limitNumber"
|
||||
:parser="limitNumber" />
|
||||
<!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />-->
|
||||
</a-form-model-item>
|
||||
<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('Foldername')">{{$t('Foldername')}}</span>
|
||||
</div>
|
||||
<a-form-model-item prop="folderName" style='width: 72%'>
|
||||
<a-input v-model="form.folderName" :min="1" :max="100" style='width: 130%' class="box-input add-input" :placeholder="$t('PleaseEnter')+$t('Foldername')" />
|
||||
</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="title-text-text"
|
||||
:title="$t('Administrativeprivileges')">{{$t('Administrativeprivileges')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="authManageIdsName">
|
||||
<PersonnelSelection class="box-input add-input"
|
||||
:personneQuery="form"
|
||||
:query="{db_field_name:'authManageIds',db_field_txt:$t('Administrativeprivileges')}"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="form.authManageIdsName"/>
|
||||
</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="title-text-text"
|
||||
:title="$t('Checkthepermissions')">{{$t('Checkthepermissions')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="authViewIdsName">
|
||||
<PersonnelSelection
|
||||
class="box-input add-input"
|
||||
:personneQuery="form"
|
||||
:query="{db_field_name:'authViewIds',db_field_txt:$t('Checkthepermissions')}"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="form.authViewIdsName"/>
|
||||
</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('Folderorder')">{{$t('Folderorder')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="orderId">
|
||||
<a-input-number v-model="form.orderId" :min="1" :max="9999" class="box-input add-input"
|
||||
:placeholder="$t('PleaseEnter')+$t('Folderorder')" :formatter="limitNumber"
|
||||
:parser="limitNumber" />
|
||||
<!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />-->
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
|
||||
@@ -284,7 +318,7 @@ export default {
|
||||
rules: {
|
||||
folderName: [
|
||||
{ required: true, message: this.$t('PleaseEnter') + this.$t('Foldername'), trigger: 'blur' },
|
||||
{ min: 1, max: 50, message: this.$t('cantExeed') + '50' + this.$t('characters'), trigger: 'blur' }
|
||||
{ min: 1, max: 100, message: this.$t('cantExeed') + '100' + this.$t('characters'), trigger: 'blur' }
|
||||
],
|
||||
// authManageIdsName: [
|
||||
// { required: true, message: this.$t('PleaseSelect') + this.$t('Administrativeprivileges'), trigger: 'change' },
|
||||
@@ -319,16 +353,20 @@ export default {
|
||||
title: this.$t('fileName'),
|
||||
align: 'center',
|
||||
dataIndex: 'fileName',
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
title: this.$t('fileDeclaration'),
|
||||
align: 'center',
|
||||
dataIndex: 'fileDescription',
|
||||
scopedSlots: { customRender: 'projectName' },
|
||||
width: 150
|
||||
},
|
||||
{
|
||||
title: this.$t('uploadedBy'),
|
||||
align: 'center',
|
||||
dataIndex: 'createBy',
|
||||
width: 150
|
||||
},
|
||||
// {
|
||||
// title: this.$t('category'),
|
||||
@@ -598,7 +636,7 @@ export default {
|
||||
//树形删除
|
||||
orgDelete() {
|
||||
this.$confirm({
|
||||
content: this.$t('deleteNodes'),
|
||||
content: this.$t('deleteNode'),
|
||||
onOk:
|
||||
async () => {
|
||||
deleteAction(`extRepo/extRepoFolder/delete`, { id: this.nodeItem.key }).then(res => {
|
||||
@@ -630,6 +668,7 @@ export default {
|
||||
},
|
||||
handleCancelMenuRight() {
|
||||
this.menuRightVisible = false
|
||||
this.$refs['ruleForm'].clearValidate()
|
||||
},
|
||||
//增加文件夹确定
|
||||
hideModalMenuRight() {
|
||||
@@ -1027,32 +1066,35 @@ export default {
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
/*align-items: center;*/
|
||||
}
|
||||
/deep/.ant-table td{
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 80px;
|
||||
color: #000F16;
|
||||
width: 114px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
height: 42px;
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.add-input {
|
||||
width: 82%;
|
||||
}
|
||||
@@ -1096,6 +1138,10 @@ export default {
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
.Required {
|
||||
color: red;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.split-detail {
|
||||
/*height: 100% !important;*/
|
||||
|
||||
@@ -1179,14 +1225,15 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .ant-table-body {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
///deep/ .ant-table-body {
|
||||
// overflow: hidden !important; ?????
|
||||
//}
|
||||
</style>
|
||||
|
||||
<style lang="less">
|
||||
.split-item {
|
||||
.ant-form-item-label {
|
||||
|
||||
min-width: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,14 +177,14 @@ export default {
|
||||
// scopedSlots: { customRender: 'titleName' }
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
title: this.$t('created'),
|
||||
align: 'center',
|
||||
dataIndex: 'createTime',
|
||||
width: 160,
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: this.$t('updateTime'),
|
||||
title: this.$t('updated'),
|
||||
align: 'center',
|
||||
width: 160,
|
||||
ellipsis: true,
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -138,7 +138,7 @@
|
||||
areaVisible: false,
|
||||
paramsTemplateName: '',
|
||||
drawerVisible: false,
|
||||
titleTag: '导出历史'
|
||||
titleTag: this.$t('Exporthistory')
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -78,15 +78,15 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if='combineFlag'>
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if='!required'>*</span>
|
||||
<span class="Required" >*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('MergeSeparator')">{{$t('MergeSeparator')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="!required?'separator':''">
|
||||
<a-form-model-item class="itemModel" prop="separator">
|
||||
<!-- :disabled="disabled"-->
|
||||
<a-input class="box-input"
|
||||
v-model="formInline.separator"
|
||||
@@ -122,18 +122,20 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
formInline: {
|
||||
|
||||
},
|
||||
confirmLoading: false,
|
||||
description:false,
|
||||
dictOptions:[],
|
||||
visible: false,
|
||||
combineFlag:false,
|
||||
required:false,
|
||||
disabled:false,
|
||||
rules: {
|
||||
separator:[
|
||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('MergeSeparator'), trigger: 'change' },
|
||||
{
|
||||
pattern: /[`~!@$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/,
|
||||
pattern: /[`~!@$%^&*()_\-+=<>?:"{}|.\/;'\\[\]·~!@¥%……&*()——\-+={}|《》?:“”【】、;‘'。、]/,
|
||||
message: this.$t('punctuationmark'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
@@ -166,11 +168,11 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.getNameList()
|
||||
if(this.formInline.combineFlag == '1'){
|
||||
this.required = false
|
||||
}else{
|
||||
this.required = true
|
||||
}
|
||||
// if(this.formInline.combineFlag == '1'){
|
||||
// this.required = false
|
||||
// }else{
|
||||
// this.required = true
|
||||
// }
|
||||
},
|
||||
methods: {
|
||||
uploadSuccess(data) {
|
||||
@@ -196,11 +198,10 @@ export default {
|
||||
})
|
||||
},
|
||||
flagChange(value){
|
||||
console.log(value.target.value)
|
||||
if(value.target.value == 2){
|
||||
this.required = false
|
||||
this.combineFlag = true
|
||||
}else{
|
||||
this.required = true
|
||||
this.combineFlag = false
|
||||
}
|
||||
},
|
||||
getNameList() {
|
||||
@@ -216,7 +217,8 @@ export default {
|
||||
this.visible = true
|
||||
this.title = this.$t('ConventionalExport')
|
||||
this.formInline = {}
|
||||
this.formInline.separator = ','
|
||||
this.formInline.separator = ';'
|
||||
this.formInline.combineFlag = '1',
|
||||
this.formInline = {...this.formInline}
|
||||
this.getConfigure()
|
||||
this.$nextTick(() => {
|
||||
@@ -289,7 +291,7 @@ export default {
|
||||
if (long && long === 'zh-cn') {
|
||||
query.exportName = '常规导出'
|
||||
} else if (long && long === 'en-us') {
|
||||
query.exportName = 'normal'
|
||||
query.exportName = 'Normal'
|
||||
}
|
||||
this.confirmLoading = true
|
||||
downloadFile('report/detail/exportNormal', query.exportName+'.zip', query)
|
||||
|
||||
@@ -247,7 +247,7 @@ export default {
|
||||
if (long && long === 'zh-cn') {
|
||||
query.exportName = '自定义导出'
|
||||
} else if (long && long === 'en-us') {
|
||||
query.exportName = 'custom'
|
||||
query.exportName = 'Custom'
|
||||
}
|
||||
this.confirmLoading = true
|
||||
downloadFile('report/detail/exportCustom', query.exportName+'.zip', query)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<!-- 认证参数收集-参数项收集清单-10控件-->
|
||||
<div class='Virtual-detail-content' style='margin-top: 15px'>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24" style='margin-left: -90px;'>
|
||||
<a-row :gutter="24" style='margin-left: -70px;'>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NcertificationCategory')">
|
||||
@@ -293,11 +293,15 @@ export default {
|
||||
this.formInline[value] = id
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
getDataSource(data) {
|
||||
this.dataSource = data
|
||||
console.log(this.dataSource)
|
||||
},
|
||||
// 保存
|
||||
handlePreservation(num) {
|
||||
let _this = this
|
||||
let postDate = []
|
||||
let data = JSON.parse(JSON.stringify(this.dataSource))
|
||||
let data = JSON.parse(JSON.stringify(this.$refs.CollectionTabel.dataSource))
|
||||
let selectedRowKeysValue = []
|
||||
data.forEach(res => {
|
||||
selectedRowKeysValue.push(res)
|
||||
@@ -306,13 +310,11 @@ export default {
|
||||
for (let i = 0; i < selectedRowKeysValue.length; i++) {
|
||||
let postDateobj = {}
|
||||
let itemIn = Object.keys(selectedRowKeysValue[i])
|
||||
console.log(itemIn)
|
||||
for (let j = 0; j < itemIn.length; j++) {
|
||||
if (itemIn[j] !== 'sdt' && selectedRowKeysValue[i][itemIn[j]].list) {
|
||||
if (selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
|
||||
postDateobj[itemIn[j]] = selectedRowKeysValue[i][itemIn[j]]
|
||||
for (let k = 0; k < selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
|
||||
console.log(selectedRowKeysValue[i][itemIn[j]].list[k].dataValue)
|
||||
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more' && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue instanceof Array) {
|
||||
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',')
|
||||
}
|
||||
@@ -376,9 +378,7 @@ export default {
|
||||
onSelectChange() {
|
||||
|
||||
},
|
||||
getDataSource(data) {
|
||||
this.dataSource = data
|
||||
},
|
||||
|
||||
LoginUserType(val, currentPersonRole, userType) {
|
||||
this.RoleType = []
|
||||
if (this.currentPersonRole == '') {
|
||||
@@ -419,13 +419,13 @@ export default {
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.$emit('handlePreservation')
|
||||
// this.$emit('handlePreservation')
|
||||
this.getTableList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.$emit('handlePreservation')
|
||||
// this.$emit('handlePreservation')
|
||||
this.getTableList()
|
||||
},
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-form-model-item class="itemModel" prop="templateName">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.templateName"
|
||||
v-model.trim="formInline.templateName"
|
||||
:placeholder="$t('PleaseEnter')+$t('templateName')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -57,7 +57,7 @@
|
||||
<a-input class="box-input add-input"
|
||||
type="textarea"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.description"
|
||||
v-model.trim="formInline.description"
|
||||
:placeholder="$t('PleaseEnter')+$t('contentDescription')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -73,7 +73,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="fileConnectId">
|
||||
<a-button type="primary" class="button-text"
|
||||
v-model='formInline.fileConnectId'
|
||||
v-model:value='formInline.fileConnectId'
|
||||
@click="clickButtonToUpload('fileTemplateConnectId')">
|
||||
{{ (formInline.fileConnectId === 'null' || formInline.fileConnectId === '' ||
|
||||
formInline.fileConnectId == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
|
||||
@@ -90,7 +90,7 @@
|
||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<uploadFileChange ref="uploadFile" :accept="'.doc,.doxc,.xls,.xlsx'" @uploadSuccess="uploadSuccess"></uploadFileChange>
|
||||
<uploadFileChange ref="uploadFile" :accept="'.doc,.docx,.xls,.xlsx'" @uploadSuccess="uploadSuccess"></uploadFileChange>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -119,7 +119,7 @@ export default {
|
||||
description:[
|
||||
{ min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' },
|
||||
],
|
||||
status: [
|
||||
state: [
|
||||
{ required: true, message: this.$t('PleaseSelect')+this.$t('status'), trigger: 'change' },
|
||||
],
|
||||
fileConnectId: [
|
||||
@@ -146,6 +146,7 @@ export default {
|
||||
/** 赋值给当前对应的表单文件 */
|
||||
this.formInline.fileConnectId = attIdList.join(',')
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.clearValidate(['fileConnectId'])
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.uploadFile.visible = true
|
||||
@@ -185,6 +186,7 @@ export default {
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$refs['ruleForm'].clearValidate()
|
||||
},
|
||||
handleSubmit() {
|
||||
if(this.formInline.paramsTemplateName !== undefined) {
|
||||
@@ -211,11 +213,11 @@ export default {
|
||||
Action(url, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.$message.success(res.message)
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
this.$emit('addModelList')
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -37,14 +37,17 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 100 ? text.slice(0, 99) + '...' : text }}
|
||||
{{ text && text.length > 40 ? text.slice(0, 39) + '...' : text }}
|
||||
</span>
|
||||
<span slot="templateName" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 25 ? text.slice(0, 21) + '...' : text }}
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" v-has="'report:exportTemplate:edit'" @click="edit(record)">{{$t('edit')}}</a>
|
||||
@@ -146,7 +149,8 @@ export default {
|
||||
{
|
||||
title: this.$t('templateName'),
|
||||
align: 'center',
|
||||
dataIndex: 'templateName'
|
||||
dataIndex: 'templateName',
|
||||
scopedSlots: { customRender: 'templateName' }
|
||||
},
|
||||
{
|
||||
title: this.$t('contentDescription'),
|
||||
|
||||
@@ -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>
|
||||
@@ -134,7 +134,7 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if='required'>
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -248,10 +248,10 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24" >
|
||||
<a-row :gutter="24" >
|
||||
<a-col :span="24" v-if='required'>
|
||||
<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">
|
||||
@@ -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,47 @@ 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'))
|
||||
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) {
|
||||
|
||||
@@ -184,7 +184,7 @@ export default {
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
title: this.$t('created'),
|
||||
align: 'center',
|
||||
dataIndex: 'createTime',
|
||||
width: 180,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{{title}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-text">
|
||||
<div class="content-text-text">
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
@@ -60,7 +60,7 @@
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.relatedSection"
|
||||
v-model.trim="item.relatedSection"
|
||||
:placeholder="$t('PleaseEnter')+$t('relevantSections')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -81,7 +81,7 @@
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.issueOrSuggest"
|
||||
v-model.trim="item.issueOrSuggest"
|
||||
:placeholder="$t('PleaseEnter')+$t('problemDescription')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -185,8 +185,8 @@
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('reviewComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
max: 1000,
|
||||
message: this.$t('reviewComments') + this.$t('cannotExceed') + 1000 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{{title}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-text">
|
||||
<div class="content-text-text">
|
||||
<a-table
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('collectionOfRegulatoryOpinions'),
|
||||
title: this.$t('regulatoryTechnicalAssessment'),
|
||||
url: {
|
||||
queryTaskDetailByTaskIds: '/task/queryTaskDetailByTaskIds',
|
||||
list: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationResultEO/queryEvaluationResultAndComplianceResult'
|
||||
@@ -141,6 +141,7 @@
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
document.title = this.$t('regulatoryTechnicalAssessment')
|
||||
this.isDisplay = false
|
||||
if (this.$route.query.taskDefinitionKey == 'pgrqr') {
|
||||
this.isPreservation = true
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
yAxis: yAxis,
|
||||
grid: {
|
||||
left: '10%',
|
||||
bottom: '15%'
|
||||
bottom: '20%'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
|
||||
@@ -17,19 +17,19 @@
|
||||
<a-row :gutter="24" style='margin-left: -90px;'>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('newNiONumber')">
|
||||
<span>{{$t('newNiONumber')}}</span>
|
||||
<div class="title-text" :title="$t('NNiONumber')">
|
||||
<span>{{$t('NNiONumber')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('newNiONumber')"
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('NNiONumber')"
|
||||
v-model="formInline.nioNumber"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ParameterName')">
|
||||
<span>{{$t('ParameterName')}}</span>
|
||||
<div class="title-text" :title="$t('NParameterName')">
|
||||
<span>{{$t('NParameterName')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ParameterName')"
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('NParameterName')"
|
||||
v-model="formInline.paramsName"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -46,21 +46,21 @@
|
||||
<!-- </a-col>-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||
<span>{{$t('areaOfResponsibility')}}</span>
|
||||
<div class="title-text" :title="$t('NareaOfResponsibility')">
|
||||
<span>{{$t('NareaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('completedBy')">
|
||||
<span>{{$t('completedBy')}}</span>
|
||||
<div class="title-text" :title="$t('dre')">
|
||||
<span>{{$t('dre')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('completedBy')"
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('dre')"
|
||||
v-model="formInline.dre"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -163,6 +163,10 @@
|
||||
<a-icon type="profile"/>
|
||||
{{$t('bringInTheProjectInterface')}}
|
||||
</div>
|
||||
<div @click="AdjustareasofresponsibilityClick" class="operator-text-title" v-if='currentPersonRole == "homo"'>
|
||||
<a-icon type="solution"/>
|
||||
{{$t('Adjustareasofresponsibility')}}
|
||||
</div>
|
||||
</template>
|
||||
<div class="operator-text" style="position: relative " @click='morepop' v-if='currentPersonRole == "homo" || currentPersonRole == "sdt"'>
|
||||
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
|
||||
@@ -251,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 ">
|
||||
@@ -295,7 +299,12 @@
|
||||
@GetgetTableList='GetgetTableList'
|
||||
@areaVisibleTaskCutOffTimeAll='areaVisibleTaskCutOffTimeAll'/>
|
||||
</a-modal>
|
||||
|
||||
<!-- 调整责任领域-->
|
||||
<a-modal v-model="Adjustareasofrespon" :title="$t('Adjustareasofresponsibility')" width='620px' :footer="null">
|
||||
<adjustarea-sofrespon v-if='Adjustareasofrespon' :selectedRowKeysArray='selectedRowKeysArray'
|
||||
@GetgetTableList='GetgetTableList'
|
||||
@AdjustareasofresponAll='AdjustareasofresponAll'/>
|
||||
</a-modal>
|
||||
<!-- 引用参数--->
|
||||
<a-modal v-model="areaVisiblereferenceparameter" :title="$t('referenceparameter')" width='650px' :footer="null">
|
||||
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest'
|
||||
@@ -439,6 +448,7 @@
|
||||
import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index'
|
||||
import TaskCutOffTime from '@/components/TaskCutOffTime/index'
|
||||
import TaskTime from '@/components/TaskCutOffTime/indexonekey'
|
||||
import AdjustareaSofrespon from '@/components/AdjustareaSofrespon/index'
|
||||
import ReferenceParameter from '@/components/ReferenceParameter/index'
|
||||
import AssignedBy from '@/components/AssignedBy/index'
|
||||
import axios from 'axios'
|
||||
@@ -452,6 +462,7 @@
|
||||
TableCollection,
|
||||
ParameterLibraryAdd,
|
||||
AssignedBy,
|
||||
AdjustareaSofrespon,
|
||||
TaskCutOffTime,
|
||||
ReferenceParameter,
|
||||
SynchronousSubmissionLibrary,
|
||||
@@ -614,6 +625,7 @@
|
||||
areaVisibleAssignedby: false, // 分配填写人弹框
|
||||
areaVisibleTaskCutOffTime: false, // 截至时间弹框
|
||||
OneclickCollection:false,
|
||||
Adjustareasofrespon:false,
|
||||
areaVisiblereferenceparameter: false, // 引用参数弹框
|
||||
areaVisibsynchronous: false, // 同步上报库弹框
|
||||
visibleoperationFailed: false, // 数据失败的弹框
|
||||
@@ -1160,6 +1172,14 @@
|
||||
_this.confirmLoading = false
|
||||
})
|
||||
},
|
||||
// 调整责任领域
|
||||
AdjustareasofresponsibilityClick(){
|
||||
if(this.selectedRowKeysValue.length == 0){
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}else{
|
||||
this.Adjustareasofrespon = true
|
||||
}
|
||||
},
|
||||
// 下发收集的权限
|
||||
distributionAndCollectionJurisdiction() {
|
||||
if(this.selectedRowKeysValue.length == 0){
|
||||
@@ -1517,6 +1537,11 @@
|
||||
this.OneclickCollection = val
|
||||
this.$refs.CollectionTabel.getTableList(this.queryParamQuery)
|
||||
},
|
||||
AdjustareasofresponAll(val){
|
||||
console.log(val)
|
||||
this.Adjustareasofrespon = val
|
||||
this.$refs.CollectionTabel.getTableList(this.queryParamQuery)
|
||||
},
|
||||
//引用参数
|
||||
referenceparameter() {
|
||||
let dreJurisdictionreferenceParameter = this.dreJurisdictionreferenceParameter()
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
title: this.$t('created'),
|
||||
align: 'center',
|
||||
width: 160,
|
||||
ellipsis: true,
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
title: this.$t('standard'),
|
||||
align: 'center',
|
||||
dataIndex: 'serial_number',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'serial_number' }
|
||||
},
|
||||
@@ -107,6 +108,7 @@
|
||||
title: this.$t('title'),
|
||||
align: 'center',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'titleName' }
|
||||
},
|
||||
@@ -182,11 +184,12 @@
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
beforeDestroy(){
|
||||
beforeDestroy() {
|
||||
eventBUs.$off('searchQuery')
|
||||
},
|
||||
methods: {
|
||||
callback(tab) {
|
||||
this.selectedRowKeys = []
|
||||
this.activeTab = tab
|
||||
this.getList()
|
||||
},
|
||||
@@ -203,22 +206,26 @@
|
||||
}
|
||||
},
|
||||
handleExport() {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
let text = ''
|
||||
let flag
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
flag = 0
|
||||
text = this.$t('ImplementationDate')
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
let text = ''
|
||||
let flag
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
flag = 0
|
||||
text = this.$t('ImplementationDate')
|
||||
} else {
|
||||
text = this.$t('vehicleInProductionDate')
|
||||
flag = 1
|
||||
}
|
||||
let query = {
|
||||
id: selectedRowKeys.join(','),
|
||||
...this.searchParmes,
|
||||
flag: flag
|
||||
}
|
||||
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
|
||||
} else {
|
||||
text = this.$t('vehicleInProductionDate')
|
||||
flag = 1
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
let query = {
|
||||
id: selectedRowKeys.join(','),
|
||||
...this.searchParmes,
|
||||
flag: flag
|
||||
}
|
||||
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
|
||||
},
|
||||
Deselect() {
|
||||
this.selectedRowKeys = []
|
||||
@@ -298,7 +305,7 @@
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page,pageSize) {
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
|
||||
Reference in New Issue
Block a user