Merge branch 'master' into 'dev_20230526_Mobile'
# Conflicts: # jero-web/src/common/lang/en-us.js # jero-web/src/common/lang/zh-cn.js # jero-web/src/components/tools/UserMenu.vue
This commit is contained in:
@@ -66,11 +66,11 @@ module.exports = {
|
||||
withStart: 'Start with',
|
||||
withEnd: 'End with',
|
||||
in: 'In',
|
||||
notEqual: 'Not Equal To',
|
||||
granter: 'Greater Than',
|
||||
greaterOrEqual: 'Greater Than Or Equal To',
|
||||
less: 'Less Than',
|
||||
lessOrEqual: 'Less Than Or Equal To',
|
||||
notEqual: 'Not equal to',
|
||||
granter: 'Greater than',
|
||||
greaterOrEqual: 'Greater than or equal to',
|
||||
less: 'Less than',
|
||||
lessOrEqual: 'Less than or equal to',
|
||||
user: 'User',
|
||||
numericalValue: 'Value',
|
||||
not: 'No',
|
||||
@@ -85,7 +85,7 @@ module.exports = {
|
||||
name: 'Name',
|
||||
AlreadyExists: 'Already exists, overwrite?',
|
||||
SavedSuccessfully: 'Saved',
|
||||
DeleteQuery: 'Delete current Search?',
|
||||
DeleteQuery: 'Delete current search?',
|
||||
VersionNotSupported: 'Version Not Supported',
|
||||
SaveQueryCriteria: 'Save Search Conditions',
|
||||
roleName: 'Role Name',
|
||||
@@ -114,7 +114,7 @@ module.exports = {
|
||||
DeleteMultiplePiecesData: 'Delete Multiple Items',
|
||||
CurrentSelection: 'Current Selection',
|
||||
Deselect: 'Deselect',
|
||||
enterDepartmentName: 'Please enter Department name',
|
||||
enterDepartmentName: 'Please enter department name',
|
||||
addTo: 'Add',
|
||||
cancel: 'Cancel',
|
||||
checkAll: 'Check All',
|
||||
@@ -200,7 +200,7 @@ module.exports = {
|
||||
enterSearchKeyword: 'Please enter a search keyword',
|
||||
enterSearchContent:'Please enter Search Content',
|
||||
enterStandard:'Please enter No.',
|
||||
entertitle:'Please enter Title',
|
||||
entertitle:'Please enter title',
|
||||
OperationType: 'Operation Type',
|
||||
selectOperationType: 'Please select Operation type',
|
||||
selectProblemClassification:'Please select Problem Classification',
|
||||
@@ -314,7 +314,7 @@ module.exports = {
|
||||
selectUserRole: 'Please select user role',
|
||||
DepartmentAllocation: 'Department Allocation',
|
||||
ClickSelectDepartment: 'Click to select a Department',
|
||||
choice: 'Choice',
|
||||
choice: 'Select',
|
||||
identity: 'Identity',
|
||||
OrdinaryUsers: 'Ordinary Users',
|
||||
superior: 'Superior',
|
||||
@@ -501,8 +501,8 @@ module.exports = {
|
||||
feedback: 'Feedback',
|
||||
approvalHistory: 'Approval History',
|
||||
cannotExceed500characters: 'Cannot Exceed 500 characters',
|
||||
accord: 'Compliance',
|
||||
nonConformity: 'Non-Compliant',
|
||||
accord: 'Compliant',
|
||||
nonConformity: 'Non-compliant',
|
||||
Tracked: 'To Be Tracked',
|
||||
notInvolved: 'NA',
|
||||
Operator: 'Operator',
|
||||
@@ -531,7 +531,7 @@ module.exports = {
|
||||
list: 'List',
|
||||
paragraph: 'Paragraph',
|
||||
enterNumber: 'Please enter No.',
|
||||
enterTitle: 'Please enter Title',
|
||||
enterTitle: 'Please enter title',
|
||||
backDocument: 'Back To Document Library',
|
||||
fileName: 'File Name',
|
||||
splitTime: 'Split Time',
|
||||
@@ -601,7 +601,7 @@ module.exports = {
|
||||
selectSplitListDisplay: 'Please select whether to split the document list for display',
|
||||
selectDisplayList: 'Please select whether to display in list',
|
||||
documentSplitDisplay: 'Document splitting module display',
|
||||
VirtualListName: 'Market List',
|
||||
VirtualListName: 'Market Regulation List',
|
||||
CertificationListName:'Homologation List',
|
||||
listStatus: 'List Status',
|
||||
creater: 'Created by',
|
||||
@@ -615,11 +615,11 @@ module.exports = {
|
||||
certificationType: 'Homo Type',
|
||||
certificationLevel: 'Homo Level',
|
||||
areaOfResponsibility: 'Responsible Field',
|
||||
confirmationOfDesignConformity: 'Design Compliance Check ',
|
||||
confirmationOfDesignConformity: 'Design Compliance Confirmation',
|
||||
Deliverables: 'Deliverables',
|
||||
personLiable: 'Owner',
|
||||
PrehomoConfirmation: 'Pre-Homo Check',
|
||||
verificationAndConformityconfirmation: 'Validation Compliance Check',
|
||||
verificationAndConformityconfirmation: 'Validation Compliance Confirmation',
|
||||
StandardImplementationDate: 'Standard Effective Date',
|
||||
regulatoryEngineer: 'Regulation Engineer',
|
||||
certifiedEngineer: 'Homo Engineer',
|
||||
@@ -671,7 +671,7 @@ module.exports = {
|
||||
GSO: 'GSO',
|
||||
onlyOnefileUploaded: 'Only One File can be uploaded',
|
||||
typeCannotUploaded: 'This Type of File Cannot be Uploaded',
|
||||
confirmWithdraw: 'Confirm Withdraw ?',
|
||||
confirmWithdraw: 'Confirm to Withdraw ?',
|
||||
OperationDetails: 'Operation Details',
|
||||
OperationTime: 'Operation Time',
|
||||
oneTableAdded: 'Only one table can be added',
|
||||
@@ -692,7 +692,7 @@ module.exports = {
|
||||
initiateListConfirmation: 'Initiate List Confirmation',
|
||||
initiateTaskConfirmation: 'Initiate Task Confirmation',
|
||||
alteration: 'Change',
|
||||
fixedPlate: 'Final Version',
|
||||
fixedPlate: 'Finalization',
|
||||
taskAffirmStatus: 'Task Confirmation Status',
|
||||
taskAffirm: 'Task Confirmation',
|
||||
listConfirmationStatus: 'List Confirmation Status',
|
||||
@@ -735,7 +735,7 @@ module.exports = {
|
||||
regulatoryTaskConfirmation: 'Regulation Task Confirmed ',
|
||||
certificationStart: 'Homo Completed ',
|
||||
preHomoCompletion: 'Pre-Homo Completed ',
|
||||
certificationEnd: 'Homo KO',
|
||||
certificationEnd: 'Homo Approved',
|
||||
directoryName: 'Catalogue Name',
|
||||
batch: 'Batch',
|
||||
uploadTime: 'Upload Time',
|
||||
@@ -800,7 +800,7 @@ module.exports = {
|
||||
Battery: 'Battery',
|
||||
Model: 'Model',
|
||||
configurationName: 'Configuration Name',
|
||||
historicalVersion: 'Historical Version',
|
||||
historicalVersion: 'History Version',
|
||||
configure: 'Configuration',
|
||||
parameter: 'Parameter',
|
||||
changeExtension: 'Extension',
|
||||
@@ -859,7 +859,7 @@ module.exports = {
|
||||
cannotExceed: 'Cannot Exceed',
|
||||
Characters: 'Characters',
|
||||
standardInformation: 'Standard Information',
|
||||
VirtualList: 'MarketList',
|
||||
VirtualList: 'Market List',
|
||||
importTemplate: 'Import Template',
|
||||
verificationConfirmationDeadline: 'Validation Compliance Confirmation Deadline',
|
||||
technicalEvaluationResults: 'Technical Evaluation Result',
|
||||
@@ -894,7 +894,7 @@ module.exports = {
|
||||
toBeConfirmed: 'To Be Confirmed',
|
||||
designComplianceReview: 'Design Compliance Check',
|
||||
preHomeConfirmation: 'Pre-Homo Check',
|
||||
verificationComplianceReview: 'Validation Compliance Check',
|
||||
verificationComplianceReview: 'Validation Compliance Confirmation',
|
||||
verificationComplianceExamine:'Validation Compliance Review',
|
||||
Deployment: 'Deploy',
|
||||
pleaseDesignConformityConfirmation: 'Please complete the data of design compliance confirmation',
|
||||
@@ -905,14 +905,14 @@ module.exports = {
|
||||
VirtualAuthenticationList: 'Virtual Homo List',
|
||||
maintainVirtualList: 'Maintain Market List',
|
||||
certificationListMaintenance: 'Homo List Maintenance',
|
||||
reasonsForRejection: 'Reasons For Rejection',
|
||||
inconformity: 'Non-Compliant',
|
||||
reasonsForRejection: 'Reason for Rejection',
|
||||
inconformity: 'Non-compliant',
|
||||
toTrack: 'To Be Tracked',
|
||||
Launch: 'Initiate',
|
||||
maintainProgress: 'Maintain Schedule',
|
||||
redSchedule: 'Red: unqualified without available solutions or timeline. ',
|
||||
yellowSchedule: 'Yellow: unqualified and with available solutions and timeline. ',
|
||||
greenRequirements: 'Green: qualified and confirmed.',
|
||||
redSchedule: 'Red: non-compliant, without acceptable solutions or timeline ',
|
||||
yellowSchedule: 'Yellow: non-compliant/to be tracked, with acceptable solutions and timeline ',
|
||||
greenRequirements: 'Green: compliant or meeting the requirements',
|
||||
blueUndeterminedState: 'Blue: pending',
|
||||
authenticationMessage: 'Homo Parameter Task',
|
||||
taskRegulationComplianceTask: 'Regulation Compliance Task',
|
||||
@@ -953,7 +953,7 @@ module.exports = {
|
||||
pleaseSubmitStatus: 'Please change the status of engineering data to Confirmed before submission',
|
||||
modelName: 'Model Name',
|
||||
modelYear: 'Model Year',
|
||||
NoteConfirmTheChange: 'Note: After resetting, the selected item data will change to a list pending release status, and the historical data will disappear. Please confirm whether to perform a process reset',
|
||||
NoteConfirmTheChange: 'Note: After resetting, the status of the selected items will be changed to To Be Released and the historical data will disappear. Please confirm whether to reset',
|
||||
onlyDataChanged: 'Only data with task confirmation status of Accepted can be changed',
|
||||
inquiry: 'Inquiry',
|
||||
ConfirmationDeadline: 'Confirm Deadline',
|
||||
@@ -990,7 +990,7 @@ module.exports = {
|
||||
Filledreturn: 'Rejected by the applicant',
|
||||
Submitted: 'Submitted',
|
||||
ReturnedEngineer: 'Rejected by homo engineer',
|
||||
SynchronizedLibrary: 'Synced to library',
|
||||
SynchronizedLibrary: 'Synced to Library',
|
||||
Statusis: 'Statusis',
|
||||
toHavePermission: 'To Have Permission',
|
||||
and: 'And',
|
||||
@@ -1000,7 +1000,7 @@ module.exports = {
|
||||
setCreator: 'Set Creator',
|
||||
documentLibraryDetails: 'Document Library Details',
|
||||
question: 'Reminder',
|
||||
ConfirmQuestion: 'Confirm Question',
|
||||
ConfirmQuestion: 'Confirm to remind?',
|
||||
disableInput: 'Disable Input',
|
||||
taskConfirmationDeadline: 'Task Confirmation Deadline',
|
||||
OnlyOrTaskconfirmationOut: 'Only when the list confirmation status or task confirmation status is to be confirmed can the reminder be carried out',
|
||||
@@ -1058,7 +1058,7 @@ module.exports = {
|
||||
standardNameEn: 'Standard Title En',
|
||||
deadlineForComments: 'Deadline for Comments',
|
||||
standardNo: 'Standard No.',
|
||||
implemenDate: 'Effective Date',
|
||||
implemenDate: 'Implementation Date',
|
||||
// 上报库
|
||||
Enable: 'Enable',
|
||||
Latestupdatetime: 'Latest Update Time',
|
||||
@@ -1271,7 +1271,7 @@ module.exports = {
|
||||
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',
|
||||
punctuationmark:'You can only enter English punctuation marks except the # sign',
|
||||
created: 'Time of Creation',
|
||||
updated:'Last Updated',
|
||||
OpenOne:'Open',
|
||||
@@ -1333,6 +1333,7 @@ module.exports = {
|
||||
inRecentMonths6:'In recent 6 months',
|
||||
inRecentYear1:'In recent 1 year',
|
||||
inRecentYear2:'In recent 2 year',
|
||||
inRecentYear3:'In recent 3 year',
|
||||
selectAll:'Select All',
|
||||
importLocalDisassemblyOrder:'Import local disassembly order',
|
||||
notExport:'Not exported',
|
||||
@@ -1351,14 +1352,14 @@ module.exports = {
|
||||
projectVersion:'Project Version',
|
||||
softwareVersion:'Homo Software Version',
|
||||
versionStatistics:'Version statistics',
|
||||
addSubproject:'Add Subitem',
|
||||
addSubproject:'Add Subproject',
|
||||
Topping:'Top',
|
||||
cancelTopping:'Cancel Topping',
|
||||
relatedProjectVersion:'Related Project Version',
|
||||
taskType:'Task Type',
|
||||
taskStatus:'Task Status',
|
||||
taskConfirmationHandling:'Task confirmation handling',
|
||||
relatedVersion:'Related version',
|
||||
relatedVersion:'Related Version',
|
||||
filledBy:'Filled by',
|
||||
parameterToBeInitiated:'Parameter to be initiated',
|
||||
listTaskConfirmation:'List task confirmation',
|
||||
@@ -1373,7 +1374,7 @@ module.exports = {
|
||||
projectVersion:'Project Version',
|
||||
softwareVersion:'Homo Software Version',
|
||||
versionStatistics:'Version statistics',
|
||||
addSubproject:'Add Subitem',
|
||||
addSubproject:'Add Subproject',
|
||||
Topping:'Top',
|
||||
cancelTopping:'Cancel Topping',
|
||||
relatedProjectVersion:'Related Project Version',
|
||||
@@ -1383,12 +1384,12 @@ module.exports = {
|
||||
allsubitemsitem:'Delete all subitems under this item?',
|
||||
contactTheFounder:'Contact author',
|
||||
certificationCategoryNumber: 'certification Category Number',
|
||||
historicalrecord:'Historical Record',
|
||||
historicalrecord:'Revision History',
|
||||
Referenceparametercolumn:'Reference Parameter Column',
|
||||
Updateparametercolumn:'Update The Parameter Column',
|
||||
columnfirst:'Reference the parameter column first',
|
||||
columnforced:'Confirm a forced retraction?',
|
||||
customize:'List setting',
|
||||
customize:'List Setting',
|
||||
customColumn:'Custom column',
|
||||
afterdate:'In... After the date',
|
||||
afterdatein:'In... After date (inclusive)',
|
||||
@@ -1404,10 +1405,10 @@ module.exports = {
|
||||
DeliverablesResult:'Delivery Result',
|
||||
reportNo:'Report No.',
|
||||
productModel:'Product Model',
|
||||
nameOfManufacturer:'Name Of Manufacturer',
|
||||
nameOfManufacturer:'Manufacturer Name',
|
||||
regulationNo:'Regulation No.',
|
||||
itemInformation:'Item Information',
|
||||
modifyHistory:'Historical Record',
|
||||
modifyHistory:'Revision History',
|
||||
returnToStudio:'Return to Studio',
|
||||
Approved:'Approved',
|
||||
returnedForApproval:'Returned',
|
||||
@@ -1415,10 +1416,10 @@ module.exports = {
|
||||
referenceDeliverables:'Reference Deliverable',
|
||||
missionAccepted:'Task Accepted',
|
||||
missionRejection:'Task Rejected',
|
||||
turnToDo:'Turn To',
|
||||
initiateTask:'Initiate a Task',
|
||||
compliancereport:'Generate compliance report',
|
||||
todocenter:'To-do center',
|
||||
turnToDo:'Forward',
|
||||
initiateTask:'Initiate Task',
|
||||
compliancereport:'Generate Compliance report',
|
||||
todocenter:'To-Do Center',
|
||||
areYouReturnToStudio:'Confirm to return to studio?',
|
||||
confirmLaunchTask:'Confirm to initiate a task ?',
|
||||
conditionsNotMet:'Conditions not met',
|
||||
@@ -1426,13 +1427,13 @@ module.exports = {
|
||||
onlyProcessReturned:'Only data with a process status of list to be verified and rejected by the responsible person can be initiated, and the delivery type, engineering interface person, responsible person, and deadline cannot be empty',
|
||||
confirmToAcceptTheTask:'Confirm to accept the task?',
|
||||
confirmRejectTask:'Confirm to reject the task ?',
|
||||
onlyDataStatusConfirmedSelected:'Only data with process status of task to be confirmed can be selected',
|
||||
onlyDataStatusSubmittedCanBeSelected:'Only data with process status of result to be submitted can be selected',
|
||||
onlyDataStatusConfirmedSelected:'Only data with process status of Task to Be Confirmed can be selected',
|
||||
onlyDataStatusSubmittedCanBeSelected:'Only data with process status of Result to Be Submitted can be selected',
|
||||
operationWithoutPermission:'No access',
|
||||
data:"'s data",
|
||||
confirmApproval:'Confirm pass review?',
|
||||
confirmReturnForApproval:'Confirm Return for review ?',
|
||||
onlyDataStatusResultReviewedCanBeSelected:'Only data with process status of result to be reviewed can be selected',
|
||||
confirmApproval:'Confirm to approve?',
|
||||
confirmReturnForApproval:'Confirm to reject?',
|
||||
onlyDataStatusResultReviewedCanBeSelected:'Only data with process status of Result to Be Reviewed can be selected',
|
||||
confirmResetProcess:'Confirm to reset the process?',
|
||||
confirmUrging:'Confirm to remind?',
|
||||
confirmWithdrawal:'Confirm to withdraw?',
|
||||
@@ -1443,16 +1444,16 @@ module.exports = {
|
||||
youCannotStatusListToBeReleasedAndApproved:'Data with process status of List to Be Released and Approved cannot be selected',
|
||||
batchmodify:'Modify in batch?',
|
||||
onlyDataListReleasedAndCertificationReturnCanSelected:'Only data with process status of List to Be Released and Returned in Homo can be selected and the deadline cannot be empty',
|
||||
type:'type',
|
||||
type:'Type',
|
||||
select:'select',
|
||||
onlyDataWithProcessStatusDeleted:'Only data with process status of list to be released and approved can be deleted',
|
||||
onlyDataWithProcessStatusDeleted:'Only data with process status of List to Be Released and Approved can be deleted',
|
||||
complianceCertificationProgram:'Compliance & Homologation Program',
|
||||
listPublishing:'List Publishing',
|
||||
responsibilityConfirmation:'Responsibility Confirmation',
|
||||
designVerification:'Design Verification',
|
||||
getStarted:'Get Started',
|
||||
certificationStartOne:'Certification Start',
|
||||
verificationAndVerification:'Verification And Verification',
|
||||
listPublishing:'List Release',
|
||||
responsibilityConfirmation:'Responsibility Confirm',
|
||||
designVerification:'Design Check',
|
||||
getStarted:'Pre-Homo Starts',
|
||||
certificationStartOne:'Homo Starts',
|
||||
verificationAndVerification:'Validation Check',
|
||||
projectInterfacePersonRegulationEngineerSetting:'Project Interface Person - Regulation Engineer Setting',
|
||||
projectInterfacePersonCertificationEngineerSetting:'Project Interface Person - Certification Engineer Setting',
|
||||
registrationnumber:'Product registration number',
|
||||
@@ -1527,6 +1528,7 @@ module.exports = {
|
||||
Taskresponsibilityrecognition:'Responsibility Confirm',
|
||||
uploadattachment:'Upload',
|
||||
Processhistory:'Process history',
|
||||
historyData:'1. Regulatory Engineer, 2. Responsible person, 3. Responsible person, 4. Regulatory Engineer',
|
||||
resultofhandling:'Result of handling',
|
||||
cause:'cause',
|
||||
networksecurityrequirements:'Network security requirements',
|
||||
@@ -1670,8 +1672,8 @@ module.exports = {
|
||||
Taskconfirmationresult:'Task confirmation result',
|
||||
Compliancetaskhandling:'Compliance task handling',
|
||||
theDataYouSelectedContainsSkip:'The data selected contains empty deliverable; please confirm whether to skip',
|
||||
designComplianceProcessFor:'Design compliance process for',
|
||||
validationComplianceProcessFor:'Validation compliance process for',
|
||||
designComplianceProcessFor:'Design Compliance Process for',
|
||||
validationComplianceProcessFor:'Validation Compliance Process for',
|
||||
thePersonResponsibleForVerifyingEmpty:'The owner for validation compliance process cannot be empty',
|
||||
theDeadlineComplianceProcessCannotEmpty:'The deadline for validation compliance process cannot be empty',
|
||||
theDeadlineForTheDesignCannotBeEmpty:'The deadline for design compliance process cannot be empty',
|
||||
@@ -1696,7 +1698,7 @@ module.exports = {
|
||||
taskNodeMismatch:'Task Node Mismatch',
|
||||
ifNot:'If not, fill in "none" or "not involved"',
|
||||
designComplianceProcess:'Design Compliance Process',
|
||||
validationComplianceProcess:'Verify Compliance Process',
|
||||
validationComplianceProcess:'Validation Compliance Process',
|
||||
onlyDataInTheReminderProcessBanBeProcessed:'Only data in the reminder process can be processed',
|
||||
expeditionProcess:'Reminder Process',
|
||||
addfunction:'Add function',
|
||||
@@ -1705,7 +1707,7 @@ module.exports = {
|
||||
softwareversion:'Software version',
|
||||
returntofill:'Return to fill',
|
||||
thereAreCurrentlyNoRegulationsToHandle:'No regulations to be processed now',
|
||||
certificationSubmission:'Certification Submission',
|
||||
certificationSubmission:'Application Submitted',
|
||||
upgradecompletion:'Upgrade completion',
|
||||
implementedupgrade:'Whether the implemented upgrade is consistent with the record',
|
||||
numberofvehicles:'Number of vehicles that have completed upgrades',
|
||||
@@ -1714,7 +1716,7 @@ module.exports = {
|
||||
implementationrecords:'Fault handling measures and emergency response implementation records',
|
||||
onlyDataWithListStatusDraftCanBeDeleted:'Only data with a list status of Draft can be deleted',
|
||||
implementationDateTwo:'Implementation Date',
|
||||
reasonForReturn:'Reason For Return',
|
||||
reasonForReturn:'Reason for Reject',
|
||||
pleaseFillInTheInformationTaskProcess:'Please fill in the information of the Eng. Interface and the owner before initiating the task process',
|
||||
complianceReporting:'Compliance Reporting',
|
||||
youCanOnlySelectStatusClearSubmit:'You can only select data with a process status of Clear to Submit',
|
||||
@@ -1737,7 +1739,7 @@ module.exports = {
|
||||
dykzq:'Corresponding controller',
|
||||
releaseRegulatoryList:'Regulation List Release',
|
||||
preHomoFlow:'Pre-Homo Process',
|
||||
verifyConformanceConfirmation:'Validation Compliance Check',
|
||||
verifyConformanceConfirmation:'Validation Compliance Confirmation',
|
||||
designConformanceVerification:'Design Compliance Check',
|
||||
nomorethan:'No more than 10',
|
||||
marketCertificationList:'Market Certification List',
|
||||
@@ -1753,7 +1755,7 @@ module.exports = {
|
||||
resultsToBeSubmitted:'Results to be submitted',
|
||||
resultsToBeReviewed:'Results to be reviewed',
|
||||
compliance:'Compliant',
|
||||
nonCompliance:'Non-Compliant',
|
||||
nonCompliance:'Non-compliant',
|
||||
toBeTracked:'To Be Tracked',
|
||||
NA:'NA',
|
||||
electroniccontrollerparameter:'Electronic controller parameter',
|
||||
@@ -1839,6 +1841,17 @@ module.exports = {
|
||||
toResubmit:'To Resubmit',
|
||||
selectDesignConformanceAsConformance:'Select Design Conformance verification process state as Conformance or Verify conformance verification process state as conformance obtained data',
|
||||
submissionProcess:'Submission Process',
|
||||
localapproval1:'Local Approval1',
|
||||
localapproval2:'Local Approval2',
|
||||
averageapprovalperiod:'Average approval period',
|
||||
day:'day',
|
||||
passreturntime:'Pass/return time',
|
||||
approvalcycle:'Approval cycle(day)',
|
||||
transittime:'Transit Time',
|
||||
returntime:'Return time',
|
||||
operationguide:'Project operation guide',
|
||||
copyLink:'Copy link',
|
||||
successfulReplication:'Successful replication',
|
||||
|
||||
//手机端
|
||||
myCollection:'My Collection',
|
||||
@@ -1884,5 +1897,8 @@ module.exports = {
|
||||
browsingTime:'Browsing Time',
|
||||
pleaseViewOnPc:'Please view on PC',
|
||||
taskHandling:'Task Handling',
|
||||
backToHomePage:'Back to home page',
|
||||
pleaseEnterUserAccountSearchFor:'Please enter a user account to search for',
|
||||
exportOption:'Export Option',
|
||||
includeTitle:'Include title',
|
||||
Notitleincluded:'No title included',
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@
|
||||
:allowClear="isSingleChoice ? true : false"
|
||||
:label-in-value="isSingleChoice ? false:true"
|
||||
:value="selectValue"
|
||||
:placeholder="$t('PleaseSelect')+query.db_field_txt"
|
||||
:placeholder="$t('pleaseEnterUserAccountSearchFor')"
|
||||
style="width: 100%"
|
||||
:disabled="disabled"
|
||||
:default-active-first-option="false"
|
||||
@@ -165,7 +165,7 @@
|
||||
getUserAndDepart(value, callback) {
|
||||
let query = {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
username: '*' + value + '*'
|
||||
}
|
||||
getAction('/sys/user/page', query).then((res) => {
|
||||
|
||||
@@ -230,7 +230,12 @@
|
||||
// this.queryParam['WarnTimeText'] = '2'
|
||||
// }
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
let endTime = this.getNowdate()
|
||||
let endTime = ''
|
||||
if (!this.queryParam['WarnTimeText']){
|
||||
endTime = '2099-01-01'
|
||||
}else{
|
||||
endTime = this.getNowdate()
|
||||
}
|
||||
if(this.queryParam['WarnTimeText'] == '5'){
|
||||
this.queryParam['WarnTime'] = [endTime, startTime]
|
||||
}else{
|
||||
@@ -245,7 +250,7 @@
|
||||
if (this.isDefault) {
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
// this.queryParam['WarnTimeText'] = '2'
|
||||
let endTime = this.getNowdate()
|
||||
let endTime = '2099-01-01'
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
this.queryParam = { ...this.queryParam }
|
||||
}
|
||||
@@ -295,6 +300,9 @@
|
||||
}else if (this.queryParam['WarnTimeText'] == '5') {
|
||||
monthData = 7
|
||||
yearData = -1
|
||||
}else if (this.queryParam['WarnTimeText'] == '6') {
|
||||
monthData = 37
|
||||
yearData = 3
|
||||
}
|
||||
if(this.queryParam['WarnTimeText'] == '5'){
|
||||
var time = new Date();
|
||||
|
||||
@@ -31,13 +31,30 @@
|
||||
<!-- <a-icon type="question-circle-o"></a-icon>-->
|
||||
<!-- </a>-->
|
||||
<!-- </span>-->
|
||||
<div class="action" @click="Jumpflybook">
|
||||
<span class="header-notice">
|
||||
<a-tooltip placement="bottomRight" :title="$t('userManual')" overlayClassName="tooltipColor">
|
||||
<a-icon style="font-size: 16px; padding: 4px; color: #000000A6" type="question-circle"/>
|
||||
</a-tooltip>
|
||||
<!-- <div class="action" @click="Jumpflybook">-->
|
||||
<!-- <span class="header-notice">-->
|
||||
<!-- <a-tooltip placement="bottomRight" :title="$t('userManual')" overlayClassName="tooltipColor">-->
|
||||
<!-- <a-icon style="font-size: 16px; padding: 4px; color: #000000A6" type="question-circle"/>-->
|
||||
<!-- </a-tooltip>-->
|
||||
<!-- </span>-->
|
||||
<!-- </div>-->
|
||||
<a-dropdown>
|
||||
<span class="action action-full ant-dropdown-link user-dropdown-menu">
|
||||
<!-- <a-avatar class="avatar" size="small" :src="getAvatar()"/>-->
|
||||
<!-- <span v-if="isDesktop()">welcome,{{ userInfo().username }}</span>-->
|
||||
<a-icon style="font-size: 16px; padding: 4px; color: #000000A6" type="question-circle"/>
|
||||
</span>
|
||||
</div>
|
||||
<a-menu slot="overlay" class="user-dropdown-menu-wrapper">
|
||||
<a-menu-item key="5" @click="Jumpflybook">
|
||||
<!-- <a-icon type="logout"/>-->
|
||||
<span>{{$t('userManual')}}</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="6" @click="Jumpoperationguide">
|
||||
<!-- <a-icon type="logout"/>-->
|
||||
<span>{{$t('operationguide')}}</span>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</a-dropdown>
|
||||
<header-notice class="action"/>
|
||||
<div class="action">
|
||||
<span v-show="localeval=='zh-cn'">
|
||||
@@ -113,283 +130,281 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderNotice from './HeaderNotice'
|
||||
import UserPassword from './UserPassword'
|
||||
import SettingDrawer from '@/components/setting/SettingDrawer'
|
||||
import DepartSelect from './DepartSelect'
|
||||
import { mapActions, mapGetters, mapState } from 'vuex'
|
||||
import { mixinDevice } from '@/utils/mixin.js'
|
||||
import { getFileAccessHttpUrl, getAction } from '@/api/manage'
|
||||
import Vue from 'vue'
|
||||
import { UI_CACHE_DB_DICT_DATA, ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import moment from 'moment'
|
||||
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
|
||||
import enUS from 'ant-design-vue/es/locale/en_US'
|
||||
import 'moment/locale/zh-cn'
|
||||
import { generateIndexRouter } from '@/utils/util'
|
||||
import store from '../../store'
|
||||
import router, { resetRouter } from '../../router'
|
||||
import HeaderNotice from './HeaderNotice'
|
||||
import UserPassword from './UserPassword'
|
||||
import SettingDrawer from '@/components/setting/SettingDrawer'
|
||||
import DepartSelect from './DepartSelect'
|
||||
import { mapActions, mapGetters, mapState } from 'vuex'
|
||||
import { mixinDevice } from '@/utils/mixin.js'
|
||||
import { getFileAccessHttpUrl, getAction } from '@/api/manage'
|
||||
import Vue from 'vue'
|
||||
import { UI_CACHE_DB_DICT_DATA, ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import moment from 'moment'
|
||||
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
|
||||
import enUS from 'ant-design-vue/es/locale/en_US'
|
||||
import 'moment/locale/zh-cn'
|
||||
import { generateIndexRouter } from '@/utils/util'
|
||||
import store from '../../store'
|
||||
import router, { resetRouter } from '../../router'
|
||||
|
||||
moment.locale('zh-cn')
|
||||
const EN = 'en-us'
|
||||
const ZH = 'zh-cn'
|
||||
moment.locale('zh-cn')
|
||||
const EN = 'en-us'
|
||||
const ZH = 'zh-cn'
|
||||
|
||||
export default {
|
||||
name: 'UserMenu',
|
||||
mixins: [mixinDevice],
|
||||
data() {
|
||||
return {
|
||||
// update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 --------------
|
||||
searchMenuOptions: [],
|
||||
searchMenuComp: 'span',
|
||||
searchMenuVisible: false,
|
||||
isLoading: false,
|
||||
locale: zhCN,
|
||||
localeval: 'zh-cn'
|
||||
// update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 --------------
|
||||
}
|
||||
},
|
||||
components: {
|
||||
HeaderNotice,
|
||||
UserPassword,
|
||||
DepartSelect,
|
||||
SettingDrawer
|
||||
},
|
||||
props: {
|
||||
theme: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'dark'
|
||||
}
|
||||
},
|
||||
/* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
created() {
|
||||
let lists = []
|
||||
this.searchMenus(lists, this.permissionMenuList)
|
||||
this.searchMenuOptions = [...lists]
|
||||
},
|
||||
mounted() {
|
||||
//如果是单点登录模式
|
||||
if (process.env.VUE_APP_SSO == 'true') {
|
||||
let depart = this.userInfo().orgCode
|
||||
if (!depart) {
|
||||
this.updateCurrentDepart()
|
||||
}
|
||||
}
|
||||
this.localeval = localStorage.getItem('language')
|
||||
if (this.localeval == 'zh-cn') {
|
||||
this.$i18n.locale = ZH
|
||||
this.locale = zhCN
|
||||
moment.locale('zh-cn')
|
||||
} else if (this.localeval == 'en-us') {
|
||||
this.locale = enUS
|
||||
moment.locale('en-us')
|
||||
this.$i18n.locale = EN
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
// 后台菜单
|
||||
permissionMenuList: state => state.user.permissionList
|
||||
|
||||
})
|
||||
},
|
||||
/* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
watch: {
|
||||
// update-begin author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框
|
||||
device: {
|
||||
immediate: true,
|
||||
handler() {
|
||||
this.searchMenuVisible = false
|
||||
this.searchMenuComp = this.isMobile() ? 'a-modal' : 'span'
|
||||
}
|
||||
}
|
||||
// update-end author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框
|
||||
},
|
||||
methods: {
|
||||
/* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
showClick() {
|
||||
this.searchMenuVisible = true
|
||||
},
|
||||
hiddenClick() {
|
||||
this.shows = false
|
||||
},
|
||||
Jumpflybook() {
|
||||
window.open('https://eicgyqr5mc.feishu.cn/docx/doxcnY2GbQfMSMqLP0eIFzFlEcd', '_blank')
|
||||
},
|
||||
/* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
...mapActions(['Logout']),
|
||||
...mapGetters(['username', 'avatar', 'userInfo']),
|
||||
getAvatar() {
|
||||
return getFileAccessHttpUrl(this.avatar())
|
||||
},
|
||||
handleLogout() {
|
||||
const that = this
|
||||
|
||||
this.$confirm({
|
||||
title: '提示',
|
||||
content: '真的要注销登录吗 ?',
|
||||
onOk() {
|
||||
return that.Logout({}).then(() => {
|
||||
// update-begin author:wangshuai date:20200601 for: 退出登录跳转登录页面
|
||||
// TODO 在部署线上时注掉以下代码
|
||||
that.$router.push({ path: '/user/login' })
|
||||
// TODO 在部署线上时解开以下代码
|
||||
// window.location.href = 'https://signin.nio.com/logout?client_id=100679&redirect_uri=' +
|
||||
// encodeURIComponent(window.loginUrl) + '&response_type=code' //线上
|
||||
|
||||
localStorage.removeItem('language')
|
||||
// update-end author:wangshuai date:20200601 for: 退出登录跳转登录页面
|
||||
//window.location.reload()
|
||||
}).catch(err => {
|
||||
that.$message.error({
|
||||
title: '错误',
|
||||
description: err.message
|
||||
})
|
||||
})
|
||||
},
|
||||
onCancel() {
|
||||
}
|
||||
})
|
||||
},
|
||||
updatePassword() {
|
||||
let username = this.userInfo().username
|
||||
this.$refs.userPassword.show(username)
|
||||
},
|
||||
updateCurrentDepart() {
|
||||
this.$refs.departSelect.show()
|
||||
},
|
||||
systemSetting() {
|
||||
this.$refs.settingDrawer.showDrawer()
|
||||
},
|
||||
/* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
searchMenus(arr, menus) {
|
||||
for (let i of menus) {
|
||||
if (!i.hidden && 'layouts/RouteView' !== i.component) {
|
||||
arr.push(i)
|
||||
}
|
||||
if (i.children && i.children.length > 0) {
|
||||
this.searchMenus(arr, i.children)
|
||||
}
|
||||
}
|
||||
},
|
||||
filterOption(input, option) {
|
||||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
},
|
||||
// update_begin author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题
|
||||
searchMethods(value) {
|
||||
let route = this.searchMenuOptions.filter(item => item.id === value)[0]
|
||||
if (route.meta.internalOrExternal === true || route.component.includes('layouts/IframePageView')) {
|
||||
window.open(route.meta.url, '_blank')
|
||||
} else {
|
||||
this.$router.push({ path: route.path })
|
||||
}
|
||||
this.searchMenuVisible = false
|
||||
},
|
||||
// update_end author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题
|
||||
/*update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
/*update_begin author:liushaoqian date:20200507 for: 刷新缓存*/
|
||||
clearCache() {
|
||||
getAction('sys/dict/refleshCache').then((res) => {
|
||||
if (res.success) {
|
||||
//重新加载缓存
|
||||
getAction('sys/dict/queryAllDictItems').then((res) => {
|
||||
if (res.success) {
|
||||
Vue.ls.remove(UI_CACHE_DB_DICT_DATA)
|
||||
Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000)
|
||||
}
|
||||
})
|
||||
this.$message.success('刷新缓存完成!')
|
||||
}
|
||||
}).catch(e => {
|
||||
this.$message.warn('刷新缓存失败!')
|
||||
console.log('刷新失败', e)
|
||||
})
|
||||
},
|
||||
/*update_end author:liushaoqian date:20200507 for: 刷新缓存*/
|
||||
moment,
|
||||
changeLocale(localeval) {
|
||||
this.isLoading = true
|
||||
switch (localeval) {
|
||||
case 'zh-cn':
|
||||
localStorage.setItem('language', 'zh-cn')
|
||||
break
|
||||
case 'en-us':
|
||||
localStorage.setItem('language', 'en-us')
|
||||
break
|
||||
}
|
||||
getAction('/sys/dict/queryAllDictItemsByCut', {}).then((res) => {
|
||||
if (res.success) {
|
||||
Vue.ls.remove(UI_CACHE_DB_DICT_DATA)
|
||||
Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000)
|
||||
store.dispatch('GetPermissionList').then(res => {
|
||||
const menuData = res.result.menu
|
||||
resetRouter()
|
||||
let constRoutes = []
|
||||
constRoutes = generateIndexRouter(menuData)
|
||||
|
||||
let isPhone = localStorage.getItem('isPhone')
|
||||
if (isPhone == 'yes') {
|
||||
router.addRoutes([{
|
||||
'path': '*', 'redirect': '/404', 'hidden': true
|
||||
}])
|
||||
} else {
|
||||
router.addRoutes(constRoutes)
|
||||
}
|
||||
this.$root.Bus.$emit('switchLanguage', localeval)
|
||||
this.isLoading = false
|
||||
this.localeval = localeval
|
||||
if (localeval === EN) {
|
||||
moment.locale(EN)
|
||||
this.$i18n.locale = EN
|
||||
this.locale = enUS
|
||||
} else {
|
||||
moment.locale(ZH)
|
||||
this.$i18n.locale = ZH
|
||||
this.locale = zhCN
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
export default {
|
||||
name: 'UserMenu',
|
||||
mixins: [mixinDevice],
|
||||
data() {
|
||||
return {
|
||||
// update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 --------------
|
||||
searchMenuOptions: [],
|
||||
searchMenuComp: 'span',
|
||||
searchMenuVisible: false,
|
||||
isLoading: false,
|
||||
locale: zhCN,
|
||||
localeval: 'zh-cn'
|
||||
// update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 --------------
|
||||
}
|
||||
},
|
||||
components: {
|
||||
HeaderNotice,
|
||||
UserPassword,
|
||||
DepartSelect,
|
||||
SettingDrawer
|
||||
},
|
||||
props: {
|
||||
theme: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'dark'
|
||||
}
|
||||
},
|
||||
/* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
created() {
|
||||
let lists = []
|
||||
this.searchMenus(lists, this.permissionMenuList)
|
||||
this.searchMenuOptions = [...lists]
|
||||
},
|
||||
mounted() {
|
||||
//如果是单点登录模式
|
||||
if (process.env.VUE_APP_SSO == 'true') {
|
||||
let depart = this.userInfo().orgCode
|
||||
if (!depart) {
|
||||
this.updateCurrentDepart()
|
||||
}
|
||||
}
|
||||
this.localeval = localStorage.getItem('language')
|
||||
if (this.localeval == 'zh-cn') {
|
||||
this.$i18n.locale = ZH
|
||||
this.locale = zhCN
|
||||
moment.locale('zh-cn')
|
||||
} else if (this.localeval == 'en-us') {
|
||||
this.locale = enUS
|
||||
moment.locale('en-us')
|
||||
this.$i18n.locale = EN
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
// 后台菜单
|
||||
permissionMenuList: state => state.user.permissionList
|
||||
|
||||
})
|
||||
},
|
||||
/* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
watch: {
|
||||
// update-begin author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框
|
||||
device: {
|
||||
immediate: true,
|
||||
handler() {
|
||||
this.searchMenuVisible = false
|
||||
this.searchMenuComp = this.isMobile() ? 'a-modal' : 'span'
|
||||
}
|
||||
}
|
||||
// update-end author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框
|
||||
},
|
||||
methods: {
|
||||
/* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
showClick() {
|
||||
this.searchMenuVisible = true
|
||||
},
|
||||
hiddenClick() {
|
||||
this.shows = false
|
||||
},
|
||||
Jumpflybook(){
|
||||
window.open('https://eicgyqr5mc.feishu.cn/docx/doxcnY2GbQfMSMqLP0eIFzFlEcd', '_blank');
|
||||
},
|
||||
Jumpoperationguide(){
|
||||
window.open('https://eicgyqr5mc.feishu.cn/docx/ZyhWdIz7EoMZ68xhI2bckcWWnMg', '_blank');
|
||||
},
|
||||
/* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
...mapActions(['Logout']),
|
||||
...mapGetters(['username', 'avatar', 'userInfo']),
|
||||
getAvatar() {
|
||||
return getFileAccessHttpUrl(this.avatar())
|
||||
},
|
||||
handleLogout() {
|
||||
const that = this
|
||||
|
||||
this.$confirm({
|
||||
title: '提示',
|
||||
content: '真的要注销登录吗 ?',
|
||||
onOk() {
|
||||
return that.Logout({}).then(() => {
|
||||
// update-begin author:wangshuai date:20200601 for: 退出登录跳转登录页面
|
||||
// TODO 在部署线上时注掉以下代码
|
||||
that.$router.push({ path: '/user/login' })
|
||||
|
||||
// window.location.href = 'https://signin-test.nio.com/logout?client_id=100679&redirect_uri=' +
|
||||
// encodeURIComponent('http://localhost:3000/dashboard/analysis') + '&response_type=code' //本地
|
||||
// TODO 在部署线上时解开以下代码
|
||||
// window.location.href = 'https://signin.nio.com/logout?client_id=100679&redirect_uri=' +
|
||||
// encodeURIComponent('http://grp.nioint.com/dashboard/analysis') + '&response_type=code' //线上
|
||||
|
||||
localStorage.removeItem('language')
|
||||
// update-end author:wangshuai date:20200601 for: 退出登录跳转登录页面
|
||||
//window.location.reload()
|
||||
}).catch(err => {
|
||||
that.$message.error({
|
||||
title: '错误',
|
||||
description: err.message
|
||||
})
|
||||
})
|
||||
},
|
||||
onCancel() {
|
||||
}
|
||||
})
|
||||
},
|
||||
updatePassword() {
|
||||
let username = this.userInfo().username
|
||||
this.$refs.userPassword.show(username)
|
||||
},
|
||||
updateCurrentDepart() {
|
||||
this.$refs.departSelect.show()
|
||||
},
|
||||
systemSetting() {
|
||||
this.$refs.settingDrawer.showDrawer()
|
||||
},
|
||||
/* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
searchMenus(arr, menus) {
|
||||
for (let i of menus) {
|
||||
if (!i.hidden && 'layouts/RouteView' !== i.component) {
|
||||
arr.push(i)
|
||||
}
|
||||
if (i.children && i.children.length > 0) {
|
||||
this.searchMenus(arr, i.children)
|
||||
}
|
||||
}
|
||||
},
|
||||
filterOption(input, option) {
|
||||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
},
|
||||
// update_begin author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题
|
||||
searchMethods(value) {
|
||||
let route = this.searchMenuOptions.filter(item => item.id === value)[0]
|
||||
if (route.meta.internalOrExternal === true || route.component.includes('layouts/IframePageView')) {
|
||||
window.open(route.meta.url, '_blank')
|
||||
} else {
|
||||
this.$router.push({ path: route.path })
|
||||
}
|
||||
this.searchMenuVisible = false
|
||||
},
|
||||
// update_end author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题
|
||||
/*update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
/*update_begin author:liushaoqian date:20200507 for: 刷新缓存*/
|
||||
clearCache() {
|
||||
getAction('sys/dict/refleshCache').then((res) => {
|
||||
if (res.success) {
|
||||
//重新加载缓存
|
||||
getAction('sys/dict/queryAllDictItems').then((res) => {
|
||||
if (res.success) {
|
||||
Vue.ls.remove(UI_CACHE_DB_DICT_DATA)
|
||||
Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000)
|
||||
}
|
||||
})
|
||||
this.$message.success('刷新缓存完成!')
|
||||
}
|
||||
}).catch(e => {
|
||||
this.$message.warn('刷新缓存失败!')
|
||||
console.log('刷新失败', e)
|
||||
})
|
||||
},
|
||||
/*update_end author:liushaoqian date:20200507 for: 刷新缓存*/
|
||||
moment,
|
||||
changeLocale(localeval) {
|
||||
this.isLoading = true
|
||||
switch (localeval) {
|
||||
case 'zh-cn':
|
||||
localStorage.setItem('language', 'zh-cn')
|
||||
break
|
||||
case 'en-us':
|
||||
localStorage.setItem('language', 'en-us')
|
||||
break
|
||||
}
|
||||
getAction('/sys/dict/queryAllDictItemsByCut', {}).then((res) => {
|
||||
if (res.success) {
|
||||
Vue.ls.remove(UI_CACHE_DB_DICT_DATA)
|
||||
Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000)
|
||||
store.dispatch('GetPermissionList').then(res => {
|
||||
const menuData = res.result.menu
|
||||
resetRouter()
|
||||
let constRoutes = []
|
||||
constRoutes = generateIndexRouter(menuData)
|
||||
router.addRoutes(constRoutes)
|
||||
this.$root.Bus.$emit('switchLanguage', localeval)
|
||||
this.isLoading = false
|
||||
this.localeval = localeval
|
||||
if (localeval === EN) {
|
||||
moment.locale(EN)
|
||||
this.$i18n.locale = EN
|
||||
this.locale = enUS
|
||||
} else {
|
||||
moment.locale(ZH)
|
||||
this.$i18n.locale = ZH
|
||||
this.locale = zhCN
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/* update_begin author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/
|
||||
/* update-begin author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */
|
||||
.user-wrapper .search-input {
|
||||
width: 180px;
|
||||
color: inherit;
|
||||
/* update_begin author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/
|
||||
/* update-begin author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */
|
||||
.user-wrapper .search-input {
|
||||
width: 180px;
|
||||
color: inherit;
|
||||
|
||||
/deep/ .ant-select-selection {
|
||||
background-color: inherit;
|
||||
border: 0;
|
||||
border-bottom: 1px solid white;
|
||||
/deep/ .ant-select-selection {
|
||||
background-color: inherit;
|
||||
border: 0;
|
||||
border-bottom: 1px solid white;
|
||||
|
||||
&__placeholder, &__field__placeholder {
|
||||
color: inherit;
|
||||
}
|
||||
&__placeholder, &__field__placeholder {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* update-end author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */
|
||||
/* update_end author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/
|
||||
/* update-end author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */
|
||||
/* update_end author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/
|
||||
</style>
|
||||
|
||||
<style scoped>
|
||||
.logout_title {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
.logout_title {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.action {
|
||||
color: rgba(0, 0, 0, 0.65) !important;
|
||||
font-size: 14px;
|
||||
}
|
||||
.action {
|
||||
color: rgba(0, 0, 0, 0.65) !important;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.action .avatar {
|
||||
background: #ccc !important;
|
||||
}
|
||||
.action .avatar {
|
||||
background: #ccc !important;
|
||||
}
|
||||
</style>
|
||||
+16
-4
@@ -30,7 +30,7 @@
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content-content">
|
||||
<div class="box-content-content-index"
|
||||
@@ -127,6 +127,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box-button-right">
|
||||
<div class="content-box-button-text" @click="copyLinkClick(item)">
|
||||
<img src="~/@assets/feishu.png" alt="" class="jumpicon">
|
||||
{{$t('copyLink')}}
|
||||
</div>
|
||||
<div class="content-box-button-text" @click="pushJump(item)">
|
||||
<img src="~/@assets/feishu.png" alt="" class="jumpicon">
|
||||
{{$t('contactTheFounder')}}
|
||||
@@ -424,9 +428,9 @@
|
||||
this.queryForm = row
|
||||
this.$refs.SelectedByRef.getPush()
|
||||
},
|
||||
pushJump(row){
|
||||
pushJump(row) {
|
||||
let query = {
|
||||
userName: row.createBy,
|
||||
userName: row.createBy
|
||||
}
|
||||
postAction('/lark/getLarkApplinkByUserName', query).then((res) => {
|
||||
if (res.code === 200) {
|
||||
@@ -465,6 +469,12 @@
|
||||
},
|
||||
handleToggleSearch() {
|
||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||
},
|
||||
copyLinkClick(item) {
|
||||
let text = window.location.host + this.$route.path + '?id=' + item.id
|
||||
navigator.clipboard.writeText(text).then((res) => {
|
||||
this.$message.success(this.$t('successfulReplication'))
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -476,10 +486,12 @@
|
||||
overflow: hidden;
|
||||
/*margin: 0 auto;*/
|
||||
}
|
||||
.jumpicon{
|
||||
|
||||
.jumpicon {
|
||||
height: 13.72px;
|
||||
width: 15.44px;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
width: 360px;
|
||||
|
||||
+10
@@ -53,6 +53,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box-button-right">
|
||||
<div class="content-box-button-text" @click="copyLinkClick(queryForm)">
|
||||
<img src="~/@assets/feishu.png" alt="" class="jumpicon">
|
||||
{{$t('copyLink')}}
|
||||
</div>
|
||||
<div class="content-box-button-text" @click="pushJump(queryForm)">
|
||||
<img src="~/@assets/feishu.png" alt="" class="jumpicon">
|
||||
{{$t('contactTheFounder')}}
|
||||
@@ -493,6 +497,12 @@
|
||||
this.$refs.SelectedByRef.submitLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
copyLinkClick(item) {
|
||||
let text = window.location.host + this.$route.path + '?id=' + item.id
|
||||
navigator.clipboard.writeText(text).then((res) => {
|
||||
this.$message.success(this.$t('successfulReplication'))
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,10 +241,10 @@ export default {
|
||||
})
|
||||
},
|
||||
addClick(index){
|
||||
if(this.formInline.dataList.length + 1 > 10){
|
||||
this.$message.warning(this.$t('nomorethan'))
|
||||
return
|
||||
}
|
||||
// if(this.formInline.dataList.length + 1 > 10){
|
||||
// this.$message.warning(this.$t('nomorethan'))
|
||||
// return
|
||||
// }
|
||||
this.formInline.dataList.splice(index + 1, 0, {})
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span v-if='!propflag' class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('filingtime')">
|
||||
{{$t('filingtime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="batjsj">
|
||||
<a-form-model-item class="itemModel" :prop="!propflag?'batjsj':''" :key="propflag">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('filingtime')"
|
||||
@change="dateChange({db_field_name:'batjsj'})"
|
||||
@@ -46,6 +46,44 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-if='transittime'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span v-if='!propflag' class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('transittime')">
|
||||
{{$t('transittime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('transittime')"
|
||||
@change="dateChange({db_field_name:'tgthsj'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.tgthsj"
|
||||
:disabled="false"
|
||||
style="width: 90%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-if='returntime'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span v-if='!propflag' class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('returntime')">
|
||||
{{$t('returntime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('returntime')"
|
||||
@change="dateChange({db_field_name:'tgthsj'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.tgthsj"
|
||||
:disabled="false"
|
||||
style="width: 90%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -77,9 +115,13 @@ export default {
|
||||
return {
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
transittime:false,
|
||||
returntime:false,
|
||||
propflag: false,
|
||||
formInline: {
|
||||
bazt:undefined,
|
||||
batjsj:'',
|
||||
tgthsj:'',
|
||||
bz:'',
|
||||
},
|
||||
rules: {
|
||||
@@ -99,7 +141,14 @@ export default {
|
||||
],
|
||||
bz: [
|
||||
{ min: 1, max: 500, message: this.$t('cantExeed') + '500' + this.$t('characters'), trigger: 'blur' }
|
||||
]
|
||||
],
|
||||
tgthsj: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
// listConfirmation: [
|
||||
// {
|
||||
// required: true,
|
||||
@@ -161,16 +210,43 @@ export default {
|
||||
this.ids = row.join(',')
|
||||
this.formInline = {
|
||||
bazt:undefined,
|
||||
tgthsj:'',
|
||||
batjsj:'',
|
||||
bz:'',
|
||||
}
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
}else{
|
||||
this.formInline.bazt = row.bazt ? row.bazt : undefined
|
||||
this.formInline.batjsj = row.batjsj
|
||||
this.formInline.tgthsj = row.tgthsj
|
||||
this.formInline.bz = row.bz
|
||||
this.ids = row.id
|
||||
if (this.formInline.bazt == 1) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if (this.formInline.bazt == 2) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if(this.formInline.bazt == 4){
|
||||
this.propflag = false
|
||||
this.transittime = true
|
||||
this.returntime = false
|
||||
} else if(this.formInline.bazt == 5){
|
||||
this.propflag = false
|
||||
this.returntime = true
|
||||
this.transittime = false
|
||||
}else{
|
||||
this.propflag = false
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
}
|
||||
}
|
||||
this.visible = true
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
@@ -197,7 +273,29 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
selectchange(value){
|
||||
selectchange(value) {
|
||||
console.log(value)
|
||||
if (value == 1) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if (value == 2) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if(value == 4){
|
||||
this.propflag = false
|
||||
this.transittime = true
|
||||
this.returntime = false
|
||||
} else if(value == 5){
|
||||
this.propflag = false
|
||||
this.returntime = true
|
||||
this.transittime = false
|
||||
}else{
|
||||
this.propflag = false
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.validateField('bazt')
|
||||
|
||||
@@ -91,36 +91,36 @@
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="createvehicleandfunctionrecords"
|
||||
v-has="'regulatoryAndTechnicalAssessment:initiationProcess'"
|
||||
v-has="'otasj:cjcxjgnba'"
|
||||
class="operator-text">
|
||||
<a-icon type="plus"/>
|
||||
{{$t('createanupgradeactivityrecord')}}
|
||||
</div>
|
||||
<div @click="citeforrecord"
|
||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
||||
v-has="'otasj:yyba'"
|
||||
class="operator-text">
|
||||
<a-icon type="solution"/>
|
||||
{{$t('citeforrecord')}}
|
||||
</div>
|
||||
<div @click="maintenanceallClick()"
|
||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
||||
v-has="'otasj:sjwh'"
|
||||
class="operator-text">
|
||||
<a-icon type="setting"/>
|
||||
{{$t('datamaintenance')}}
|
||||
</div>
|
||||
<div v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
||||
<div v-has="'otasj:sjdr'"
|
||||
class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true"
|
||||
:accept="'.zip'" @getList="getList"/>
|
||||
</div>
|
||||
<div @click="handleModule"
|
||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
||||
v-has="'otasj:mbxz'"
|
||||
class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
<div @click="gnxtwhClick"
|
||||
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
|
||||
v-has="'otasj:onxtwh'"
|
||||
class="operator-text">
|
||||
<a-icon type="solution"/>
|
||||
{{$t('gnxtwh')}}
|
||||
@@ -159,6 +159,9 @@
|
||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div>
|
||||
{{$t('averageapprovalperiod')}} : {{number}}{{$t('day')}}
|
||||
</div>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
@@ -205,6 +208,7 @@ export default {
|
||||
importZipUrl: '/ota/otaBaSjList/importData',//导入
|
||||
|
||||
},
|
||||
number:'',
|
||||
visible: false,
|
||||
loading: false,
|
||||
toggleSearchStatus: false,
|
||||
@@ -301,9 +305,23 @@ export default {
|
||||
title: this.$t('filingtime'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
width: 170,
|
||||
dataIndex: 'batjsj'
|
||||
},
|
||||
{
|
||||
title: this.$t('passreturntime'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'tgthsj'
|
||||
},
|
||||
{
|
||||
title: this.$t('approvalcycle'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
dataIndex: 'spzq'
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
align: 'left',
|
||||
@@ -374,13 +392,14 @@ export default {
|
||||
this.loading = true
|
||||
getAction('/ota/otaBaSjList/page', query).then((res) => {
|
||||
if (res.success) {
|
||||
if (res.result.current > 1 && res.result.records.length == 0) {
|
||||
if (res.result.list.current > 1 && res.result.list.records.length == 0) {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
return
|
||||
}
|
||||
this.dataSource = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.dataSource = res.result.list.records || []
|
||||
this.number = res.result.pjspzq
|
||||
this.total = res.result.list.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
<!-- 第五页 -->
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
<!-- 第二页 -->
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
+4
-4
@@ -2,10 +2,10 @@
|
||||
<!-- 第四页 -->
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
@@ -60,8 +60,8 @@
|
||||
<span slot="differentialupgradeornot" slot-scope="text,record" :max-length="50">
|
||||
<!-- <a-input :placeholder="$t('pleaseEnter')" v-model="record.sfcfsj" :title='record.sfcfsj'></a-input>-->
|
||||
<a-radio-group v-model="record.sfcfsj">
|
||||
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
|
||||
<a-radio :value="2"> {{ $t('not') }} </a-radio>
|
||||
<a-radio :value="'1'"> {{ $t('yes') }} </a-radio>
|
||||
<a-radio :value="'2'"> {{ $t('not') }} </a-radio>
|
||||
</a-radio-group>
|
||||
</span>
|
||||
<!-- 操作列-->
|
||||
|
||||
+103
-14
@@ -2,10 +2,10 @@
|
||||
<!-- 第三页 -->
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
@@ -136,11 +136,35 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="left" height="50px">{{$t('upgradeactivityprovidesuserconfirmationoptions')}}</td>
|
||||
<td height="50px">
|
||||
<a-radio-group style='margin-left: 40px;' v-model="form.yhqr">
|
||||
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
|
||||
<a-radio :value="2"> {{ $t('not') }} </a-radio>
|
||||
</a-radio-group>
|
||||
<td :height="qrheight" style='position: relative'>
|
||||
<div>
|
||||
<a-radio-group class='box-input-qr' @change='qrchange' v-model="form.yhqr">
|
||||
<a-radio :value="'1'"> {{ $t('yes') }} </a-radio>
|
||||
<a-radio :value="'2'"> {{ $t('not') }} </a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
<div v-if='flagqr'>
|
||||
<j-dict-select-tag class="box-input2"
|
||||
v-model="form.flagqr"
|
||||
:disabled="disable"
|
||||
dictCode="O_T_A_-_sheng1_ji2_ying3_xiang3_ping2_gu1_-_sheng1_ji2_que4_ren4"
|
||||
:placeholder="$t('PleaseSelect')"
|
||||
:type="'select'"
|
||||
@input="handleInput(form.flagqr)"
|
||||
:triggerChange="false"/>
|
||||
</div>
|
||||
<div v-if='flagqrqt'>
|
||||
<a-input class="box-input-qr2"
|
||||
v-model="form.qttext"
|
||||
:title="form.qttext ? form.qttext : $t('PleaseEnter')"
|
||||
:placeholder="$t('PleaseEnter')"></a-input>
|
||||
</div>
|
||||
<div v-if='flagly'>
|
||||
<a-input class="box-input2"
|
||||
v-model="form.ly"
|
||||
:title="form.ly ? form.ly : $t('PleaseEnter')+ $t('reason')"
|
||||
:placeholder="$t('PleaseEnter')+ $t('reason')"></a-input>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -200,6 +224,9 @@ export default {
|
||||
importZipUrl: '/ota/otaBaSjSjyxpg/importData?otaId=' + localStorage.getItem('otaId'),//导入
|
||||
},
|
||||
flag:false,
|
||||
flagqr:false,
|
||||
flagqrqt:false,
|
||||
flagly:false,
|
||||
loading: false,
|
||||
disable:false,
|
||||
columns: [
|
||||
@@ -329,6 +356,7 @@ export default {
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
qrheight:'50px',
|
||||
form:{
|
||||
sjmd:'',
|
||||
}
|
||||
@@ -397,6 +425,30 @@ this.$forceUpdate()
|
||||
}else{
|
||||
this.flag = false
|
||||
}
|
||||
if(this.form.yhqr == '1'){
|
||||
this.flagqr = true
|
||||
this.flagly = false
|
||||
this.qrheight = '100px'
|
||||
}else{
|
||||
this.flagqr = false
|
||||
this.flagly = true
|
||||
this.qrheight = '100px'
|
||||
}
|
||||
if(this.form.yhqr == '1' && this.form.flagqr == '344a3320beba45afb3718c59b7a7144a'){
|
||||
this.qrheight = '150px'
|
||||
this.flagqrqt = true
|
||||
this.flagly = false
|
||||
}else if(this.form.yhqr == '1' && this.form.flagqr != '344a3320beba45afb3718c59b7a7144a'){
|
||||
this.flagqr = true
|
||||
this.flagqrqt = false
|
||||
this.flagly = false
|
||||
this.qrheight = '100px'
|
||||
}else {
|
||||
this.flagqrqt = false
|
||||
this.flagqr = false
|
||||
this.flagly = true
|
||||
this.qrheight = '100px'
|
||||
}
|
||||
})
|
||||
},
|
||||
save(){
|
||||
@@ -426,19 +478,39 @@ this.$forceUpdate()
|
||||
changeQuery(val) {
|
||||
if(val.indexOf('将车辆置于安全状态') != -1 || val.indexOf('Put the vehicle in a safe position') != -1){
|
||||
this.flag = true
|
||||
// let long = localStorage.getItem('language')
|
||||
// let cut = ''
|
||||
// if (long && long == 'zh-cn') {
|
||||
this.form.aqjzWbk = '车辆保持在功能受限制状态,此状态下车辆无法行驶,保证其处于安全状态'
|
||||
// } else if (long && long == 'en-us') {
|
||||
// this.form.aqjzWbk = 'The vehicle remains in a functionally restricted state, in which the vehicle cannot be driven to ensure that it is in a safe state'
|
||||
// }
|
||||
// this.getData()
|
||||
}else{
|
||||
this.flag = false
|
||||
this.form.aqjzWbk = ''
|
||||
}
|
||||
},
|
||||
qrchange(val){
|
||||
if(val.target.value == '1'){
|
||||
this.qrheight = '100px'
|
||||
this.flagqr = true
|
||||
this.flagly = false
|
||||
if(this.form.flagqr == '344a3320beba45afb3718c59b7a7144a'){
|
||||
this.qrheight = '150px'
|
||||
this.flagqrqt = true
|
||||
}
|
||||
}else{
|
||||
this.qrheight = '100px'
|
||||
this.flagly = true
|
||||
this.flagqr = false
|
||||
this.flagqrqt = false
|
||||
}
|
||||
},
|
||||
handleInput(val){
|
||||
if(val == '344a3320beba45afb3718c59b7a7144a'){
|
||||
this.qrheight = '150px'
|
||||
this.flagqrqt = true
|
||||
this.flagly = false
|
||||
}else {
|
||||
this.qrheight = '100px'
|
||||
this.flagqrqt = false
|
||||
this.flagly = false
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -475,6 +547,15 @@ this.$forceUpdate()
|
||||
margin-left: 40px;
|
||||
top: 4px;
|
||||
}
|
||||
.box-input-qr {
|
||||
//display: inline-block;
|
||||
width: calc(100% - 80px);
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
height: 38px;
|
||||
margin-left: 40px;
|
||||
//top: 4px;
|
||||
}
|
||||
.box-input2 {
|
||||
//display: inline-block;
|
||||
width: calc(100% - 80px);
|
||||
@@ -483,6 +564,14 @@ this.$forceUpdate()
|
||||
margin-left: 40px;
|
||||
top: 50px;
|
||||
}
|
||||
.box-input-qr2 {
|
||||
//display: inline-block;
|
||||
width: calc(100% - 80px);
|
||||
position: absolute;
|
||||
height: 38px;
|
||||
margin-left: 40px;
|
||||
top: 95px;
|
||||
}
|
||||
::v-deep .ant-table-row-cell-ellipsis .ant-table-column-title {
|
||||
white-space: pre-wrap!important;
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
<!-- 第一页 -->
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'"
|
||||
@getList="getData" />
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download" />
|
||||
{{ $t('templateDownload') }}
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
<!-- 第六页 -->
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otasjxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otasjxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="table-operator">
|
||||
<div class="operator-text">
|
||||
<div v-has="'otacxxx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getData"/>
|
||||
</div>
|
||||
<div @click='handleModule' class="operator-text">
|
||||
<div v-has="'otacxxx:mbxz'" @click='handleModule' class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
|
||||
@@ -30,17 +30,56 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span v-if='!propflag' class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('filingtime')">
|
||||
{{$t('filingtime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="batjsj">
|
||||
<a-form-model-item class="itemModel" :prop="!propflag?'batjsj':''" :key="propflag">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('filingtime')"
|
||||
@change="dateChange({db_field_name:'batjsj'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.batjsj"
|
||||
:disabled="false"
|
||||
style="width: 90%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-if='transittime'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span v-if='!propflag' class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('transittime')">
|
||||
{{$t('transittime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('transittime')"
|
||||
@change="dateChange({db_field_name:'tgthsj'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.tgthsj"
|
||||
:disabled="false"
|
||||
style="width: 90%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-if='returntime'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span v-if='!propflag' class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('returntime')">
|
||||
{{$t('returntime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="tgthsj">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('returntime')"
|
||||
@change="dateChange({db_field_name:'tgthsj'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.tgthsj"
|
||||
:disabled="false"
|
||||
style="width: 90%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -79,8 +118,12 @@ export default {
|
||||
formInline: {
|
||||
bazt:undefined,
|
||||
batjsj:'',
|
||||
tgthsj:'',
|
||||
bz:'',
|
||||
},
|
||||
transittime:false,
|
||||
returntime:false,
|
||||
propflag: false,
|
||||
rules: {
|
||||
bazt: [
|
||||
{
|
||||
@@ -98,7 +141,14 @@ export default {
|
||||
],
|
||||
bz: [
|
||||
{ min: 1, max: 500, message: this.$t('cantExeed') + '500' + this.$t('characters'), trigger: 'blur' }
|
||||
]
|
||||
],
|
||||
tgthsj: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
// designDeadline: [
|
||||
// {
|
||||
// required: true,
|
||||
@@ -147,13 +197,39 @@ export default {
|
||||
this.formInline = {
|
||||
bazt:undefined,
|
||||
batjsj:'',
|
||||
tgthsj:'',
|
||||
bz:'',
|
||||
}
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
}else{
|
||||
this.formInline.bazt = row.bazt ? row.bazt : undefined
|
||||
this.formInline.batjsj = row.batjsj
|
||||
this.formInline.tgthsj = row.tgthsj
|
||||
this.formInline.bz = row.bz
|
||||
this.ids = row.id
|
||||
if (this.formInline.bazt == 1) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if (this.formInline.bazt == 2) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if(this.formInline.bazt == 4){
|
||||
this.propflag = false
|
||||
this.transittime = true
|
||||
this.returntime = false
|
||||
} else if(this.formInline.bazt == 5){
|
||||
this.propflag = false
|
||||
this.returntime = true
|
||||
this.transittime = false
|
||||
}else{
|
||||
this.propflag = false
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
}
|
||||
}
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
@@ -183,6 +259,27 @@ export default {
|
||||
})
|
||||
},
|
||||
selectchange(value){
|
||||
if (value == 1) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if (value == 2) {
|
||||
this.propflag = true
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
} else if(value == 4){
|
||||
this.propflag = false
|
||||
this.transittime = true
|
||||
this.returntime = false
|
||||
} else if(value == 5){
|
||||
this.propflag = false
|
||||
this.returntime = true
|
||||
this.transittime = false
|
||||
}else{
|
||||
this.propflag = false
|
||||
this.transittime = false
|
||||
this.returntime = false
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.validateField('bazt')
|
||||
|
||||
@@ -90,23 +90,23 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="createvehicleandfunctionrecords" v-has="'regulatoryAndTechnicalAssessment:initiationProcess'"
|
||||
<div @click="createvehicleandfunctionrecords" v-has="'otacx:cjcxjgnba'"
|
||||
class="operator-text">
|
||||
<a-icon type="plus" />
|
||||
{{ $t('createvehicleandfunctionrecords') }}
|
||||
</div>
|
||||
<div @click="citeforrecord" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
||||
<div @click="citeforrecord" v-has="'otacx:yyba'" class="operator-text">
|
||||
<a-icon type="solution" />
|
||||
{{ $t('citeforrecord') }}
|
||||
</div>
|
||||
<div @click="maintenanceallClick()" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
||||
<div @click="maintenanceallClick()" v-has="'otacx:sjwh'" class="operator-text">
|
||||
<a-icon type="setting" />
|
||||
{{ $t('datamaintenance') }}
|
||||
</div>
|
||||
<div v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
||||
<div v-has="'otacx:sjdr'" class="operator-text">
|
||||
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" @getList="getList"/>
|
||||
</div>
|
||||
<div @click="handleModule" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
|
||||
<div @click="handleModule" v-has="'otacx:mbxz'" class="operator-text">
|
||||
<a-icon type="download" />
|
||||
{{ $t('templateDownload') }}
|
||||
</div>
|
||||
@@ -126,6 +126,9 @@
|
||||
@click="deleteData(record)">{{ $t('delete') }}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div>
|
||||
{{$t('averageapprovalperiod')}} : {{number}}{{$t('day')}}
|
||||
</div>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination :show-total="total => $t('total') + ` ${total} ` + $t('strip')" show-quick-jumper show-size-changer
|
||||
:page-size.sync="pageSize" :total="total" :current="pageNo" @change="pageOnChange"
|
||||
@@ -159,6 +162,7 @@ export default {
|
||||
exportData: '/ota/otaBaCxList/exportData',
|
||||
importZipUrl: '/ota/otaBaCxList/importData',//导入
|
||||
},
|
||||
number:'',
|
||||
visible: false,
|
||||
loading: false,
|
||||
toggleSearchStatus: false,
|
||||
@@ -251,6 +255,20 @@ export default {
|
||||
width: 140,
|
||||
dataIndex: 'batjsj'
|
||||
},
|
||||
{
|
||||
title: this.$t('passreturntime'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'tgthsj'
|
||||
},
|
||||
{
|
||||
title: this.$t('approvalcycle'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
dataIndex: 'spzq'
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
align: 'left',
|
||||
@@ -321,13 +339,14 @@ export default {
|
||||
this.loading = true
|
||||
getAction('/ota/otaBaCxList/page', query).then((res) => {
|
||||
if (res.success) {
|
||||
if (res.result.current > 1 && res.result.records.length == 0) {
|
||||
if (res.result.list.current > 1 && res.result.list.records.length == 0) {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
return
|
||||
}
|
||||
this.dataSource = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.dataSource = res.result.list.records || []
|
||||
this.number = res.result.pjspzq
|
||||
this.total = res.result.list.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
|
||||
@@ -152,7 +152,7 @@ export default {
|
||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('MergeSeparator'), trigger: 'change' },
|
||||
{ min:1, max: 1, message: this.$t('onlyone'), trigger: 'blur' },
|
||||
{
|
||||
pattern: /^[\`\~\!\@\$\%\^\&\*\(\)\_\+\-\= \[\]\{\}\\\|\;\'\'\:\"\"\\.\/\<\>\?]+$/,
|
||||
pattern: /^[\`\~\!\@\$\%\^\&\*\(\)\_\+\-\= \[\]\{\}\\\|\;\'\'\:\"\"\\.\/\<\>\?\,]+$/,
|
||||
message: this.$t('punctuationmark'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
|
||||
@@ -71,6 +71,38 @@
|
||||
v-model="formInline.sdtName"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NareaOfResponsibility')">
|
||||
<span>{{$t('NareaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
: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('Required')">
|
||||
<span>{{$t('Required')}}</span>
|
||||
</div>
|
||||
<!-- <j-multi-select-tag class="box-input" v-model="formInline.isMust"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('Required')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'duty_territory'"/>-->
|
||||
<!-- <a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('Required')"-->
|
||||
<!-- v-model="formInline.isMust"></a-input>-->
|
||||
<a-select class="box-input" v-model="formInline.isMust" :placeholder="$t('PleaseSelect')+$t('Required')">
|
||||
<a-select-option :value="'1'">
|
||||
{{$t('yes')}}
|
||||
</a-select-option>
|
||||
<a-select-option :value="'0'">
|
||||
{{$t('notOnlyRz')}}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
</template>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
@@ -92,6 +124,11 @@
|
||||
<a-icon type="check-circle"/>
|
||||
{{$t('preservation')}}
|
||||
</div>
|
||||
<!-- 导出-->
|
||||
<div @click="handleExport" class="operator-text" v-has="'report:detail:export:general'">
|
||||
<a-icon type="export"/>
|
||||
{{$t('dataExport')}}
|
||||
</div>
|
||||
<div @click="ConventionalExport" class="operator-text" v-has="'report:detail:export:normal'">
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('ConventionalExport')}}
|
||||
@@ -182,7 +219,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '../../../api/manage'
|
||||
import { downloadFile, getAction, postAction } from '../../../api/manage'
|
||||
import axios from 'axios'
|
||||
import TableCollection from '@/components/tableCollection/index1'
|
||||
import conventionalModel from './commponts/conventionalmodle'
|
||||
@@ -668,6 +705,28 @@
|
||||
listReset() {
|
||||
this.formInline = {}
|
||||
},
|
||||
//导出
|
||||
handleExport() {
|
||||
this.$message.success(this.$t('Intheexport'))
|
||||
let long = localStorage.getItem('language')
|
||||
this.cut = ''
|
||||
if (long && long === 'zh-cn') {
|
||||
this.cut = 'cn'
|
||||
} else if (long && long === 'en-us') {
|
||||
this.cut = 'en'
|
||||
}
|
||||
console.log(this.selectedRowKeys)
|
||||
let query = {
|
||||
paramsManifestId: this.$route.query.id,
|
||||
cut: this.cut,
|
||||
// userTypes: this.currentPersonRole,
|
||||
ids:this.selectedRowKeys.join(','),
|
||||
...this.formInline,
|
||||
exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
|
||||
}
|
||||
let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
|
||||
downloadFile('/report/detail/exportGeneral', name, query, this.selectClear)
|
||||
},
|
||||
ConventionalExport() {
|
||||
this.$refs.conventionalModel.addModel()
|
||||
},
|
||||
|
||||
@@ -458,8 +458,9 @@
|
||||
},
|
||||
toDoCenterClick(row, isTrue) {
|
||||
let query = {}
|
||||
if (!this.form.flowType) {
|
||||
this.form.flowType = []
|
||||
let flowType = ''
|
||||
if (this.form.flowType && this.form.flowType instanceof Array){
|
||||
flowType = this.form.flowType.join(',')
|
||||
}
|
||||
row.taskId = row.taskId + ''
|
||||
if (row.taskId.length > 30) {
|
||||
@@ -488,7 +489,7 @@
|
||||
activeTab: this.activeTab,
|
||||
checked: this.form.checked,
|
||||
selectModel: this.form.selectModel,
|
||||
searchFlowType: this.form.flowType.join(',')
|
||||
searchFlowType: flowType
|
||||
}
|
||||
this.$router.push({
|
||||
path: '/phoneProcessManagement',
|
||||
@@ -512,7 +513,7 @@
|
||||
goRouter: '/phoneToDoCenter',
|
||||
searchValue: this.phoneQueryValue,
|
||||
activeTab: this.activeTab,
|
||||
searchFlowType: this.form.flowType.join(','),
|
||||
searchFlowType: flowType,
|
||||
checked: this.form.checked,
|
||||
selectModel: this.form.selectModel
|
||||
}
|
||||
@@ -534,7 +535,7 @@
|
||||
goRouter: '/phoneToDoCenter',
|
||||
searchValue: this.phoneQueryValue,
|
||||
activeTab: this.activeTab,
|
||||
searchFlowType: this.form.flowType.join(','),
|
||||
searchFlowType: flowType,
|
||||
checked: this.form.checked,
|
||||
selectModel: this.form.selectModel
|
||||
}
|
||||
|
||||
@@ -67,25 +67,25 @@
|
||||
<!-- </a-col>-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('certificationCategory')">
|
||||
<span>{{$t('certificationCategory')}}</span>
|
||||
<div class="title-text" :title="$t('NareaOfResponsibility')">
|
||||
<span>{{$t('NareaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.certCategory"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationCategory')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'cert_category'"/>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NareaOfResponsibility')">
|
||||
<span>{{$t('NareaOfResponsibility')}}</span>
|
||||
<div class="title-text" :title="$t('certificationCategory')">
|
||||
<span>{{$t('certificationCategory')}}</span>
|
||||
</div>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.certCategory"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationCategory')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'cert_category'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
@@ -247,7 +247,7 @@
|
||||
{{$t('Assignedby')}}
|
||||
</div>
|
||||
<!-- 导出-->
|
||||
<div @click="handleExport" class="operator-text" v-if='currentPersonRole == "sdt"'>
|
||||
<div @click="handleExport" class="operator-text" v-if='currentPersonRole == "sdt" || currentPersonRole == "admin" || currentPersonRole == "studio"'>
|
||||
<a-icon type="export"/>
|
||||
{{$t('dataExport')}}
|
||||
</div>
|
||||
@@ -583,6 +583,46 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 数据导出弹框-->
|
||||
<a-modal
|
||||
:title="$t('dataExport')"
|
||||
:width="500"
|
||||
:visible="dataExportFailed"
|
||||
:maskClosable="false"
|
||||
@ok="handleExportSubmit"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-form-model
|
||||
class='formAdd'
|
||||
ref='dataExportruleForm'
|
||||
:model='dataExportformInline'
|
||||
:rules='dataExportrules'
|
||||
:label-col='labelCol'
|
||||
:wrapper-col='wrapperCol'
|
||||
>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text" >
|
||||
<div class="title-text" :title="$t('exportOption')" style='margin-top: -17px;'>
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('exportOption')">
|
||||
{{$t('exportOption')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="exportOption">
|
||||
<a-select class="box-input" allowClear v-model="dataExportformInline.exportOption" :placeholder="$t('PleaseSelect')+$t('exportOption')">
|
||||
<a-select-option :value="'1'">
|
||||
{{$t('includeTitle')}}
|
||||
</a-select-option>
|
||||
<a-select-option :value="'0'">
|
||||
{{$t('Notitleincluded')}}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
|
||||
|
||||
@@ -877,6 +917,7 @@
|
||||
selectedRowKeys: [],
|
||||
textLoading: false,
|
||||
formInline: {},
|
||||
dataExportformInline: {},
|
||||
queryParamQuery: {},
|
||||
url: {
|
||||
tableHeader: 'params/collectManifest/getHeader',
|
||||
@@ -919,6 +960,7 @@
|
||||
areaVisiblereferenceparameter: false, // 引用参数弹框
|
||||
areaVisibsynchronous: false, // 同步上报库弹框
|
||||
visibleoperationFailed: false, // 数据失败的弹框
|
||||
dataExportFailed: false, // 数据失败的弹框
|
||||
currentPersonRole: '', // 当前人角色
|
||||
jurisdiction: '',
|
||||
wrapperCol: {
|
||||
@@ -930,6 +972,11 @@
|
||||
sm: { span: 7 }
|
||||
},
|
||||
rules: {},
|
||||
dataExportrules: {
|
||||
exportOption:[
|
||||
{ required: true, message: this.$t('PleaseSelect')+this.$t('exportOption'), trigger: 'change' }
|
||||
]
|
||||
},
|
||||
FreezeList: [], // 冻结字段
|
||||
roleSwitchingList: [],
|
||||
JTextLoading: false,
|
||||
@@ -1329,24 +1376,56 @@
|
||||
},
|
||||
//导出
|
||||
handleExport() {
|
||||
this.$message.success(this.$t('Intheexport'))
|
||||
let long = localStorage.getItem('language')
|
||||
this.cut = ''
|
||||
if (long && long === 'zh-cn') {
|
||||
this.cut = 'cn'
|
||||
} else if (long && long === 'en-us') {
|
||||
this.cut = 'en'
|
||||
}
|
||||
let query = {
|
||||
paramsManifestId: this.paramsManifest.id,
|
||||
paramsTemplateId: this.$route.query.paramsTemplateId,
|
||||
paramsTemplatePublishVersion: 1,
|
||||
cut: this.cut,
|
||||
userTypes: this.currentPersonRole,
|
||||
exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
|
||||
}
|
||||
let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
|
||||
downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear)
|
||||
this.dataExportFailed = true
|
||||
// this.$message.success(this.$t('Intheexport'))
|
||||
// let long = localStorage.getItem('language')
|
||||
// this.cut = ''
|
||||
// if (long && long === 'zh-cn') {
|
||||
// this.cut = 'cn'
|
||||
// } else if (long && long === 'en-us') {
|
||||
// this.cut = 'en'
|
||||
// }
|
||||
// let query = {
|
||||
// paramsManifestId: this.paramsManifest.id,
|
||||
// paramsTemplateId: this.$route.query.paramsTemplateId,
|
||||
// paramsTemplatePublishVersion: 1,
|
||||
// cut: this.cut,
|
||||
// userTypes: this.currentPersonRole,
|
||||
// exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
|
||||
// }
|
||||
// let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
|
||||
// downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear)
|
||||
},
|
||||
// 导出确定
|
||||
handleExportSubmit(){
|
||||
this.$refs.dataExportruleForm.validate(valid => {
|
||||
if(valid){
|
||||
this.$message.success(this.$t('Intheexport'))
|
||||
let long = localStorage.getItem('language')
|
||||
this.cut = ''
|
||||
if (long && long === 'zh-cn') {
|
||||
this.cut = 'cn'
|
||||
} else if (long && long === 'en-us') {
|
||||
this.cut = 'en'
|
||||
}
|
||||
let query = {
|
||||
paramsManifestId: this.paramsManifest.id,
|
||||
paramsTemplateId: this.$route.query.paramsTemplateId,
|
||||
exportOption:this.dataExportformInline.exportOption,
|
||||
paramsTemplatePublishVersion: 1,
|
||||
cut: this.cut,
|
||||
userTypes: this.currentPersonRole,
|
||||
exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
|
||||
}
|
||||
let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
|
||||
downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear)
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.dataExportformInline = {}
|
||||
this.$refs.dataExportruleForm.clearValidate()
|
||||
this.dataExportFailed = false
|
||||
},
|
||||
//填写人导出
|
||||
handleExportDre() {
|
||||
@@ -2631,7 +2710,11 @@
|
||||
height: 42px;
|
||||
line-height: 36px;
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.box-input .ant-select-selection {
|
||||
height: 38px !important;
|
||||
}
|
||||
|
||||
@@ -144,8 +144,8 @@
|
||||
],
|
||||
detectionReportLocation:[
|
||||
{
|
||||
max: 100,
|
||||
message: this.$t('testReportLocation') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
|
||||
max: 500,
|
||||
message: this.$t('testReportLocation') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
</div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')"
|
||||
class="box-input"
|
||||
mode="multiple"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="queryParam.flowStatus">
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
allowClear
|
||||
show-search
|
||||
style="width: calc(100% - 80px);"
|
||||
mode="multiple"
|
||||
optionFilterProp="label"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="queryParam[selectModel]">
|
||||
@@ -2802,6 +2803,7 @@
|
||||
if (this.updateFlowStatusList && this.updateFlowStatusList.length > 0) {
|
||||
this.updateFlowStatusBatch()
|
||||
}
|
||||
this.completeTaskList = []
|
||||
for (let i = 0; i < this.startProcessList.length; i++) {
|
||||
if (this.startProcessList[i].type == 2) {
|
||||
this.startProcessList[i].dataList.designDutyDueDate = this.formInline.designDutyDueDate
|
||||
@@ -2829,6 +2831,7 @@
|
||||
Promise.all(this.completeTaskList).then((res) => {
|
||||
if (this.requestsNum == res.length) {
|
||||
this.visible = false
|
||||
this.formInline = {}
|
||||
this.selectedRowKeys = []
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.confirmLoading = false
|
||||
|
||||
@@ -10,282 +10,355 @@
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G0">
|
||||
G0</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="zero">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G0'"
|
||||
@change="dateChange({db_field_name:'zero'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.zero"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G1">
|
||||
G1</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="one">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G1'"
|
||||
@change="dateChange({db_field_name:'one'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.one"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G2">
|
||||
G2</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="two">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G2'"
|
||||
@change="dateChange({db_field_name:'two'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.two"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G3">
|
||||
G3</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="three">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G3'"
|
||||
@change="dateChange({db_field_name:'three'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.three"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G4">
|
||||
G4</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="four">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G4'"
|
||||
@change="dateChange({db_field_name:'four'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.four"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G5">
|
||||
G5</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="five">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G5'"
|
||||
@change="dateChange({db_field_name:'five'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.five"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G6">
|
||||
G6</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="six">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G6'"
|
||||
@change="dateChange({db_field_name:'six'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.six"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="MP">
|
||||
MP</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="mp">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'MP'"
|
||||
@change="dateChange({db_field_name:'mp'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.mp"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G7">
|
||||
G7</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="seven">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G7'"
|
||||
@change="dateChange({db_field_name:'seven'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.seven"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('listPublishing')">
|
||||
{{$t('listPublishing')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="listConfirmation">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('listPublishing')+$t('time')"
|
||||
@change="dateChange({db_field_name:'listConfirmation'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.listConfirmation"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('responsibilityConfirmation')">
|
||||
{{$t('responsibilityConfirmation')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('responsibilityConfirmation')+$t('time')"
|
||||
@change="dateChange({db_field_name:'legalTaskConfirmation'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.legalTaskConfirmation"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('designVerification')">
|
||||
{{$t('designVerification')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="designDeadline">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('designVerification')+$t('time')"
|
||||
@change="dateChange({db_field_name:'designDeadline'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.designDeadline"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('getStarted')">
|
||||
{{$t('getStarted')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDeadline">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('getStarted')+$t('time')"
|
||||
@change="dateChange({db_field_name:'prehomoDeadline'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.prehomoDeadline"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationStartOne')">
|
||||
{{$t('certificationStartOne')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="attestationStartTime">
|
||||
<a-date-picker class="box-input"
|
||||
:disabledDate='this.disabledRegistrationStartDate'
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationStartOne')+$t('time')"
|
||||
@change="dateChange({db_field_name:'attestationStartTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.attestationStartTime"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationSubmission')">
|
||||
{{$t('certificationSubmission')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="certificationSubmission">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationSubmission')+$t('time')"
|
||||
@change="dateChange({db_field_name:'certificationSubmission'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.certificationSubmission"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationEnd')">
|
||||
{{$t('certificationEnd')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="attestationEndTime">
|
||||
<a-date-picker class="box-input"
|
||||
:disabledDate='this.disabledRegistrationEndDate'
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationEnd')+$t('time')"
|
||||
@change="dateChange({db_field_name:'attestationEndTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.attestationEndTime"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('verificationAndVerification')">
|
||||
{{$t('verificationAndVerification')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="verifyDeadline">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('verificationAndVerification')+$t('time')"
|
||||
@change="dateChange({db_field_name:'verifyDeadline'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.verifyDeadline"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G0">
|
||||
G0</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="zero">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G0'"
|
||||
@change="dateChange({db_field_name:'zero'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.zero"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G1">
|
||||
G1</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="one">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G1'"
|
||||
@change="dateChange({db_field_name:'one'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.one"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G2">
|
||||
G2</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="two">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G2'"
|
||||
@change="dateChange({db_field_name:'two'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.two"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G3">
|
||||
G3</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="three">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G3'"
|
||||
@change="dateChange({db_field_name:'three'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.three"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G4">
|
||||
G4</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="four">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G4'"
|
||||
@change="dateChange({db_field_name:'four'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.four"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G5">
|
||||
G5</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="five">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G5'"
|
||||
@change="dateChange({db_field_name:'five'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.five"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G6">
|
||||
G6</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="six">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G6'"
|
||||
@change="dateChange({db_field_name:'six'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.six"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" title="G7">
|
||||
G7</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="seven">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+'G7'"
|
||||
@change="dateChange({db_field_name:'seven'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.seven"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('listPublishing')">
|
||||
{{$t('listPublishing')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="listConfirmation">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('listPublishing')+$t('time')"
|
||||
@change="dateChange({db_field_name:'listConfirmation'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.listConfirmation"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('responsibilityConfirmation')">
|
||||
{{$t('responsibilityConfirmation')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('responsibilityConfirmation')+$t('time')"
|
||||
@change="dateChange({db_field_name:'legalTaskConfirmation'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.legalTaskConfirmation"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('designVerification')">
|
||||
{{$t('designVerification')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="designDeadline">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('designVerification')+$t('time')"
|
||||
@change="dateChange({db_field_name:'designDeadline'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.designDeadline"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('getStarted')">
|
||||
{{$t('getStarted')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDeadline">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('getStarted')+$t('time')"
|
||||
@change="dateChange({db_field_name:'prehomoDeadline'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.prehomoDeadline"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationStartOne')">
|
||||
{{$t('certificationStartOne')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="attestationStartTime">
|
||||
<a-date-picker class="box-input"
|
||||
:disabledDate='this.disabledRegistrationStartDate'
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationStartOne')+$t('time')"
|
||||
@change="dateChange({db_field_name:'attestationStartTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.attestationStartTime"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationSubmission')">
|
||||
{{$t('certificationSubmission')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="certificationSubmission">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationSubmission')+$t('time')"
|
||||
@change="dateChange({db_field_name:'certificationSubmission'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.certificationSubmission"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationEnd')">
|
||||
{{$t('certificationEnd')}}</span>
|
||||
<span class="title-text-text" :title="$t('localapproval1')">
|
||||
{{$t('localapproval1')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="attestationEndTime">
|
||||
<a-date-picker class="box-input"
|
||||
:disabledDate='this.disabledRegistrationEndDate'
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationEnd')+$t('time')"
|
||||
@change="dateChange({db_field_name:'attestationEndTime'})"
|
||||
:placeholder="$t('PleaseSelect')+$t('localapproval1')+$t('time')"
|
||||
@change="dateChange({db_field_name:'localapproval1'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.attestationEndTime"
|
||||
v-model="formInline.localapproval1"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
@@ -295,16 +368,16 @@
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('verificationAndVerification')">
|
||||
{{$t('verificationAndVerification')}}</span>
|
||||
<span class="title-text-text" :title="$t('localapproval2')">
|
||||
{{$t('localapproval2')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="verifyDeadline">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('verificationAndVerification')+$t('time')"
|
||||
@change="dateChange({db_field_name:'verifyDeadline'})"
|
||||
:placeholder="$t('PleaseSelect')+$t('localapproval2')+$t('time')"
|
||||
@change="dateChange({db_field_name:'localapproval2'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.verifyDeadline"
|
||||
v-model="formInline.localapproval2"
|
||||
:disabled="false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
|
||||
@@ -165,6 +165,7 @@
|
||||
this.title = val.name
|
||||
this.projectQuery = val
|
||||
this.getEchart()
|
||||
console.log(this.projectQuery.name)
|
||||
if (this.projectQuery.name == this.$t('certificationSubmission') || this.projectQuery.name == this.$t('certificationEnd')) {
|
||||
this.$nextTick(() => {
|
||||
this.num = '0'
|
||||
|
||||
@@ -5,19 +5,19 @@
|
||||
:searchQueryList="searchQueryList"
|
||||
:flag="'1'"
|
||||
:isDefault="true"
|
||||
:url="url"/>
|
||||
:url="url" />
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleCompare" v-has="'regulatoryEarlyWarning:push'"
|
||||
class="operator-text">
|
||||
<a-icon type="share-alt"/>
|
||||
{{$t('share')}}
|
||||
<a-icon type="share-alt" />
|
||||
{{ $t('share') }}
|
||||
</div>
|
||||
<div @click="handleExport"
|
||||
v-has="'regulatoryEarlyWarning:export'"
|
||||
class="operator-text">
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('export')}}
|
||||
<a-icon type="export" :rotate="-90" />
|
||||
{{ $t('export') }}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
@@ -40,39 +40,39 @@
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="serial_number" slot-scope="text,result">
|
||||
<a @click="standClick(result)" :title="text">{{text}}</a>
|
||||
<a @click="standClick(result)" :title="text">{{ text }}</a>
|
||||
</span>
|
||||
<span slot="vehicleInProductionDate" slot-scope="text,result" :title="text">
|
||||
<span v-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'yellow'">
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span v-else-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'red'">
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
</span>
|
||||
<span slot="ImplementationDate" slot-scope="text,result" :title="text">
|
||||
<span v-if="result.new_colour == 'yellow'" style="color: #fdd835">
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span v-else-if="result.new_colour == 'red'" style="color: red">
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
</span>
|
||||
<span slot="vehicleInProductionDate" slot-scope="text,result" :title="text">
|
||||
<span v-if="result.implement_colour == 'yellow'" style="color: #fdd835">
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span v-else-if="result.implement_colour == 'red'" style="color: red">
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{text}}
|
||||
{{ text }}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
@@ -98,247 +98,292 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import search from '@/components/search/index'
|
||||
import libraryPush from '@/components/libraryPush/index'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import eventBUs from '../../common/event'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import search from '@/components/search/index'
|
||||
import libraryPush from '@/components/libraryPush/index'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import eventBUs from '../../common/event'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
search,
|
||||
libraryPush
|
||||
},
|
||||
mixins: [ResizeColumnProvide,ResizeHeader],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
url: {
|
||||
seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段
|
||||
list: '/LawsWarn/queryPageInfo',
|
||||
exportData: 'LawsWarn/exportExcel',
|
||||
pullMessage: '/LawsWarn/warnPullMessage'
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
search,
|
||||
libraryPush
|
||||
},
|
||||
mixins: [ResizeColumnProvide, ResizeHeader],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
url: {
|
||||
seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段
|
||||
list: '/LawsWarn/queryPageInfo',
|
||||
exportData: 'LawsWarn/exportExcel',
|
||||
pullMessage: '/LawsWarn/warnPullMessage'
|
||||
},
|
||||
activeTab: this.$t('ImplementationDate'),
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
searchParmes: {},
|
||||
searchQueryList: [
|
||||
{
|
||||
field_show_type: 12,
|
||||
db_field_txt: this.$t('warningTime'),
|
||||
db_field_name: 'WarnTimeText',
|
||||
option: [
|
||||
{
|
||||
value: '1',
|
||||
name: this.$t('inRecentMonths3')
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
name: this.$t('inRecentMonths6')
|
||||
},
|
||||
{
|
||||
value: '5',
|
||||
name: this.$t('inRecentMonthsin6')
|
||||
},
|
||||
{
|
||||
value: '3',
|
||||
name: this.$t('inRecentYear1')
|
||||
},
|
||||
{
|
||||
value: '4',
|
||||
name: this.$t('inRecentYear2')
|
||||
},
|
||||
{
|
||||
value: '6',
|
||||
name: this.$t('inRecentYear3')
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
columnsAll: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
align: 'left',
|
||||
dataIndex: 'serial_number',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'serial_number' }
|
||||
},
|
||||
activeTab: this.$t('ImplementationDate'),
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
searchParmes: {},
|
||||
searchQueryList: [
|
||||
{
|
||||
field_show_type: 12,
|
||||
db_field_txt: this.$t('warningTime'),
|
||||
db_field_name: 'WarnTimeText',
|
||||
option: [
|
||||
{
|
||||
value: '1',
|
||||
name:this.$t('inRecentMonths3')
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
name: this.$t('inRecentMonths6')
|
||||
},
|
||||
{
|
||||
value: '5',
|
||||
name: this.$t('inRecentMonthsin6')
|
||||
},
|
||||
{
|
||||
value: '3',
|
||||
name: this.$t('inRecentYear1')
|
||||
},
|
||||
{
|
||||
value: '4',
|
||||
name: this.$t('inRecentYear2')
|
||||
},
|
||||
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
columnsAll: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
align: 'left',
|
||||
dataIndex: 'serial_number',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'serial_number' }
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'left',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'serial_number' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: 'left',
|
||||
width: 140,
|
||||
ellipsis: true,
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
align: 'left',
|
||||
width: 170,
|
||||
ellipsis: true,
|
||||
dataIndex: 'region'
|
||||
},
|
||||
{
|
||||
title: this.$t('technicalField'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'technology_territory'
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 190,
|
||||
dataIndex: 'implement_time',
|
||||
scopedSlots: { customRender: 'vehicleInProductionDate' }
|
||||
},
|
||||
{
|
||||
title: this.$t('ImplementationDate'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 190,
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
scopedSlots: { customRender: 'ImplementationDate' }
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
columns() {
|
||||
let columnsAll = JSON.parse(JSON.stringify(this.columnsAll))
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
for (let i = 0; i < columnsAll.length; i++) {
|
||||
if (columnsAll[i].dataIndex == 'implement_time') {
|
||||
columnsAll.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
}
|
||||
} else if (this.activeTab == this.$t('vehicleInProductionDate')) {
|
||||
for (let i = 0; i < columnsAll.length; i++) {
|
||||
if (columnsAll[i].dataIndex == 'xin1_che1_xing2_shi2_shi1_ri4_qi1') {
|
||||
columnsAll.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'left',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'serial_number' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: 'left',
|
||||
width: 140,
|
||||
ellipsis: true,
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
align: 'left',
|
||||
width: 170,
|
||||
ellipsis: true,
|
||||
dataIndex: 'region'
|
||||
},
|
||||
{
|
||||
title: this.$t('technicalField'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'technology_territory'
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 190,
|
||||
dataIndex: 'implement_time',
|
||||
scopedSlots: { customRender: 'vehicleInProductionDate' }
|
||||
},
|
||||
{
|
||||
title: this.$t('ImplementationDate'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 190,
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
scopedSlots: { customRender: 'ImplementationDate' }
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
columns() {
|
||||
let columnsAll = JSON.parse(JSON.stringify(this.columnsAll))
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
for (let i = 0; i < columnsAll.length; i++) {
|
||||
if (columnsAll[i].dataIndex == 'implement_time') {
|
||||
columnsAll.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
}
|
||||
return columnsAll
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.getList()
|
||||
eventBUs.$on('searchQuery', search => {
|
||||
Object.keys(search).forEach(res => {
|
||||
if (search[res] instanceof Array) {
|
||||
search[res] = search[res].join(',')
|
||||
} else if (this.activeTab == this.$t('vehicleInProductionDate')) {
|
||||
for (let i = 0; i < columnsAll.length; i++) {
|
||||
if (columnsAll[i].dataIndex == 'xin1_che1_xing2_shi2_shi1_ri4_qi1') {
|
||||
columnsAll.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
})
|
||||
this.pageNo = 1
|
||||
this.searchParmes = search
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
return columnsAll
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.getList()
|
||||
eventBUs.$on('searchQuery', search => {
|
||||
Object.keys(search).forEach(res => {
|
||||
if (search[res] instanceof Array) {
|
||||
search[res] = search[res].join(',')
|
||||
}
|
||||
})
|
||||
},
|
||||
beforeDestroy() {
|
||||
eventBUs.$off('searchQuery')
|
||||
},
|
||||
methods: {
|
||||
standClick(val){
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: val.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
callback(tab) {
|
||||
this.selectedRowKeys = []
|
||||
this.activeTab = tab
|
||||
this.getList()
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
},
|
||||
handleCompare() {
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
this.$nextTick(() => {
|
||||
let flag = ''
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
flag = 1
|
||||
} else {
|
||||
flag = 2
|
||||
}
|
||||
this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)), flag)
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
this.pageNo = 1
|
||||
this.searchParmes = search
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
beforeDestroy() {
|
||||
eventBUs.$off('searchQuery')
|
||||
},
|
||||
methods: {
|
||||
standClick(val) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: val.id
|
||||
}
|
||||
},
|
||||
handleExport() {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
let text = ''
|
||||
let flag
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
callback(tab) {
|
||||
this.selectedRowKeys = []
|
||||
this.activeTab = tab
|
||||
this.getList()
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
},
|
||||
handleCompare() {
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
this.$nextTick(() => {
|
||||
let flag = ''
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
flag = 0
|
||||
text = this.$t('ImplementationDate')
|
||||
} else {
|
||||
text = this.$t('vehicleInProductionDate')
|
||||
flag = 1
|
||||
} else {
|
||||
flag = 2
|
||||
}
|
||||
let query = {
|
||||
id: selectedRowKeys.join(','),
|
||||
...this.searchParmes,
|
||||
flag: flag
|
||||
}
|
||||
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
|
||||
this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)), flag)
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
handleExport() {
|
||||
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 {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
text = this.$t('vehicleInProductionDate')
|
||||
flag = 1
|
||||
}
|
||||
},
|
||||
Deselect() {
|
||||
this.selectedRowKeys = []
|
||||
},
|
||||
clearSelected() {
|
||||
if (!this.searchParmes['WarnTimeText']) {
|
||||
this.searchParmes['WarnTimeText'] = '2'
|
||||
let query = {
|
||||
id: selectedRowKeys.join(','),
|
||||
...this.searchParmes,
|
||||
flag: flag
|
||||
}
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
let endTime = this.getNowdate()
|
||||
this.searchParmes['WarnTime'] = [startTime, endTime]
|
||||
this.searchParmes = { ...this.searchParmes }
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
getNowdate() {
|
||||
let monthData
|
||||
let yearData
|
||||
if (this.searchParmes['WarnTimeText'] == '1') {
|
||||
monthData = 4
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '2') {
|
||||
monthData = 7
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '3') {
|
||||
monthData = 13
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '4') {
|
||||
monthData = 25
|
||||
yearData = 2
|
||||
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
Deselect() {
|
||||
this.selectedRowKeys = []
|
||||
},
|
||||
clearSelected() {
|
||||
let endTime = ''
|
||||
if (!this.searchParmes['WarnTimeText']) {
|
||||
endTime = '2099-01-01'
|
||||
} else {
|
||||
endTime = this.getNowdate()
|
||||
}
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
this.searchParmes['WarnTime'] = [startTime, endTime]
|
||||
this.searchParmes = { ...this.searchParmes }
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
getNowdate() {
|
||||
let monthData
|
||||
let yearData
|
||||
if (this.searchParmes['WarnTimeText'] == '1') {
|
||||
monthData = 4
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '2') {
|
||||
monthData = 7
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '3') {
|
||||
monthData = 13
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '4') {
|
||||
monthData = 25
|
||||
yearData = 2
|
||||
} else if (this.searchParmes['WarnTimeText'] == '5') {
|
||||
monthData = 7
|
||||
yearData = -1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '6') {
|
||||
monthData = 37
|
||||
yearData = 3
|
||||
}
|
||||
if (this.searchParmes['WarnTimeText'] == '5') {
|
||||
var time = new Date()
|
||||
time.setTime(time.getTime())
|
||||
var s2 = time.getFullYear() + '-' + (time.getMonth() + 1) + '-' + time.getDate()
|
||||
var monthNum = 6 //要减的月数(6)自己定义
|
||||
var dateArr = s2.split('-') //s2当前时间
|
||||
var year = dateArr[0] //获取当前日期的年份
|
||||
var month = dateArr[1] //获取当前日期的月份
|
||||
var day = dateArr[2] //获取当前日期的日
|
||||
var days = new Date(year, month, 0)
|
||||
days = days.getDate() //获取当前日期中月的天数
|
||||
var year2
|
||||
if (month < 6) {
|
||||
year2 = year - 1
|
||||
} else {
|
||||
year2 = year
|
||||
}
|
||||
var month2 = parseInt(month) - monthNum
|
||||
if (month2 <= 0) {
|
||||
year2 = parseInt(year2) - parseInt(month2 / 12 == 0 ? 1 : parseInt(month2) / 12)
|
||||
month2 = 12 - (Math.abs(month2) % 12)
|
||||
}
|
||||
var day2 = day
|
||||
var days2 = new Date(year2, month2, 0)
|
||||
days2 = days2.getDate()
|
||||
if (day2 > days2) {
|
||||
day2 = days2
|
||||
}
|
||||
if (month2 < 10) {
|
||||
month2 = '0' + month2
|
||||
}
|
||||
var t2 = year2 + '-' + month2 + '-' + day2
|
||||
return t2
|
||||
} else {
|
||||
var date_now = new Date()//获取当前时间
|
||||
var year = date_now.getFullYear()//获取当前时间的年份
|
||||
var month = date_now.getMonth()//获取当前时间的月份
|
||||
@@ -362,64 +407,67 @@
|
||||
}
|
||||
var time = year2 + '-' + month2 + '-' + day2
|
||||
return time
|
||||
},
|
||||
pageOnChange(page) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
let flag
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
flag = 0
|
||||
} else {
|
||||
flag = 1
|
||||
}
|
||||
let params = {
|
||||
...this.searchParmes,
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
flag: flag
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
pageOnChange(page) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
let flag
|
||||
if (this.activeTab == this.$t('ImplementationDate')) {
|
||||
flag = 0
|
||||
} else {
|
||||
flag = 1
|
||||
}
|
||||
let params = {
|
||||
...this.searchParmes,
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
flag: flag
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent !important;
|
||||
}
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
/deep/ .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
/deep/ .ant-table-placeholder {
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
+30
@@ -22,6 +22,7 @@
|
||||
</span>
|
||||
<div class="process-content-right">
|
||||
<div class="process-content-right-top" :title="item.name">{{item.name}}</div>
|
||||
<div class="process-content-right-top-user" :title="item.userName">{{item.userName}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -303,6 +304,23 @@
|
||||
})
|
||||
}
|
||||
}
|
||||
this.regulatoryCertificationTaskPlanList.forEach(val => {
|
||||
if (val.name == this.$t('initiatingProcess')) {
|
||||
val.userName = this.$t('regulatoryEngineer')
|
||||
} else if (val.name == this.$t('Taskresponsibilityrecognition')) {
|
||||
val.userName = this.$t('personLiable')
|
||||
} else if (val.name == this.$t('designComplianceReview')) {
|
||||
val.userName = this.$t('personLiable')
|
||||
} else if (val.name == this.$t('verificationComplianceReview')) {
|
||||
val.userName = this.$t('personLiable')
|
||||
} else if (val.name == this.$t('designComplianceReviewAdmin')) {
|
||||
val.userName = this.$t('Sponsor')
|
||||
} else if (val.name == this.$t('verificationComplianceExamine')) {
|
||||
val.userName = this.$t('Sponsor')
|
||||
} else {
|
||||
val.userName = ''
|
||||
}
|
||||
})
|
||||
this.regulatoryCertificationTaskPlanList = [...this.regulatoryCertificationTaskPlanList]
|
||||
}
|
||||
this.loading = false
|
||||
@@ -403,6 +421,18 @@
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
.process-content-right-top-user{
|
||||
//background: #E6FAFA;
|
||||
//padding: 5px;
|
||||
color: #9c9fac;
|
||||
font-size: 12px;
|
||||
font-weight: lighter;
|
||||
margin-top: 5px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+25
-6
@@ -49,12 +49,19 @@
|
||||
<a-radio value="Transfer" v-if="query.TaskKey == 'zrrtjjfw' || query.TaskKey == 'zrrqr'">
|
||||
{{$t('turnToDo')}}
|
||||
</a-radio>
|
||||
<a-button type="primary" v-if="isPersonnel" @click="PersonnelSelectionClick">
|
||||
{{this.$t('PersonnelSelection')}}
|
||||
</a-button>
|
||||
<span>
|
||||
{{this.formInline.dezrrSubmitUserName}}
|
||||
</span>
|
||||
<!-- <a-button type="primary" v-if="isPersonnel" @click="PersonnelSelectionClick">-->
|
||||
<!-- {{this.$t('PersonnelSelection')}}-->
|
||||
<!-- </a-button>-->
|
||||
<!-- <span>-->
|
||||
<!-- {{this.formInline.dezrrSubmitUserName}}-->
|
||||
<!-- </span>-->
|
||||
<a-form-model-item class="itemModel-per">
|
||||
<PersonnelSelection v-if="isPersonnel" :query="{db_field_name:this.query.TaskKey == 'zrrtjjfw'?'dezrrSubmitUserId':'secondChargePersonUserId',db_field_txt:$t('personnel')}"
|
||||
:isSingleChoice="true"
|
||||
:personneQuery="formInline"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.dezrrSubmitUserName"/>
|
||||
</a-form-model-item>
|
||||
</a-radio-group>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
@@ -125,6 +132,7 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
import SelectedBy from '@/components/SelectedBy/index'
|
||||
import moment from 'moment'
|
||||
@@ -133,6 +141,7 @@
|
||||
name: 'reviewedByThePersonInCharge',
|
||||
components: {
|
||||
uploadFile,
|
||||
PersonnelSelection,
|
||||
SelectedBy
|
||||
},
|
||||
props: ['queryBy', 'queryPersonInCharge', 'query'],
|
||||
@@ -210,6 +219,10 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
PersonnelSelectionChange(value, id) {
|
||||
this.formInline[value] = id
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
getData(data) {
|
||||
this.formInline.disposeResult = data.operatorResult
|
||||
this.formInline.approvalOpinion = data.approvalOpinion
|
||||
@@ -397,4 +410,10 @@
|
||||
border: 1px #00B3BE solid;
|
||||
color: #00B3BE;
|
||||
}
|
||||
.itemModel-per{
|
||||
width: calc(50% - 130px) !important;
|
||||
display: inline-block !important;
|
||||
margin-top: -6px !important;
|
||||
height: 40px !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user