修改问题管理新增查看样式

This commit is contained in:
范强强
2023-12-08 18:35:18 +08:00
parent b2a1e3f883
commit 96393629cc
3 changed files with 371 additions and 275 deletions
@@ -303,6 +303,11 @@
width: 80px; width: 80px;
overflow: hidden; overflow: hidden;
padding: 0; padding: 0;
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
border: 1px solid #00BEBE;
color: #01A0AC;
} }
.drawer-bootom-button { .drawer-bootom-button {
@@ -359,7 +364,7 @@
::v-deep .box-input-select .ant-select-selection--multiple::-webkit-scrollbar { ::v-deep .box-input-select .ant-select-selection--multiple::-webkit-scrollbar {
/*height: 52px!important;*/ /*height: 52px!important;*/
display: block; display: none;
} }
.itemOption { .itemOption {
@@ -3,7 +3,7 @@
<a-drawer <a-drawer
:title="title" :title="title"
:maskClosable="false" :maskClosable="false"
:width="900" :width="1000"
placement="right" placement="right"
:closable="true" :closable="true"
@close="handleCancel" @close="handleCancel"
@@ -12,7 +12,7 @@
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="24"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <span class="Required">*</span>
@@ -27,8 +27,6 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -44,6 +42,9 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -59,8 +60,6 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -80,6 +79,9 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -94,7 +96,7 @@
:getPopupContainer="triggerNode=> triggerNode.parentNode" :getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch showSearch
@change="platformChange" @change="platformChange"
:style="formInline.projectType == 'none' ? 'width:100%' : 'width:50%'" :style="!formInline.projectType ? 'width:100%' : 'width:calc(50% - 6px);'"
optionFilterProp="label" optionFilterProp="label"
:autoClearSearchValue="false" :autoClearSearchValue="false"
:placeholder="$t('PleaseSelect')+$t('type')"> :placeholder="$t('PleaseSelect')+$t('type')">
@@ -113,7 +115,7 @@
v-model="formInline.projectId" v-model="formInline.projectId"
:getPopupContainer="triggerNode=> triggerNode.parentNode" :getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch showSearch
style="width: 50%;float: right" style="width: calc(50% - 6px);float: right;margin-left: 12px"
optionFilterProp="label" optionFilterProp="label"
:autoClearSearchValue="false" :autoClearSearchValue="false"
:placeholder="$t('PleaseSelect')+$t('RelatedItems')"> :placeholder="$t('PleaseSelect')+$t('RelatedItems')">
@@ -132,7 +134,7 @@
v-model="formInline.projectId" v-model="formInline.projectId"
:getPopupContainer="triggerNode=> triggerNode.parentNode" :getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch showSearch
style="width: 50%;float: right" style="width: calc(50% - 6px);float: right;margin-left: 10px"
mode="multiple" mode="multiple"
optionFilterProp="label" optionFilterProp="label"
:autoClearSearchValue="false" :autoClearSearchValue="false"
@@ -149,8 +151,7 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -179,6 +180,8 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -208,8 +211,6 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -236,9 +237,9 @@
</div> </div>
<a-form-model-item class="itemModel itemModel-explain ql-snow" <a-form-model-item class="itemModel itemModel-explain ql-snow"
prop="descriptions"> prop="descriptions">
<div style="width: calc(100% - 80px);display: inline-block"> <!-- v-if="!isDescription"-->
<div style="width: 100%;display: inline-block">
<quill-editor <quill-editor
v-if="!isDescription"
class="text-editor" class="text-editor"
ref="myQuillEditor" ref="myQuillEditor"
@ready="onEditorReady($event)" @ready="onEditorReady($event)"
@@ -249,13 +250,13 @@
@blur="quilleditorBlur" @blur="quilleditorBlur"
@change="onEditorChange($event)" @change="onEditorChange($event)"
/> />
<a-input class="box-input" <!-- <a-input class="box-input"-->
v-if="isDescription" <!-- v-if="isDescription"-->
v-model='formInline.description' <!-- v-model='formInline.description'-->
:disabled="true"/> <!-- :disabled="true"/>-->
</div> </div>
<span v-if="!isDescription" @click="putAwayClick" class="putAway">{{$t('putAway')}}</span> <!-- <span v-if="!isDescription" @click="putAwayClick" class="putAway">{{$t('putAway')}}</span>-->
<span v-if="isDescription" @click="putAwayClick" class="putAway">{{$t('open')}}</span> <!-- <span v-if="isDescription" @click="putAwayClick" class="putAway">{{$t('open')}}</span>-->
<!-- <a-input class="box-input"--> <!-- <a-input class="box-input"-->
<!-- v-model='formInline.description'--> <!-- v-model='formInline.description'-->
<!-- :disabled="disabled"--> <!-- :disabled="disabled"-->
@@ -273,22 +274,31 @@
:title="$t('documents')">{{$t('documents')}}</span> :title="$t('documents')">{{$t('documents')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="fileLink"> <a-form-model-item class="itemModel" prop="fileLink">
<div v-for="(item,index) in formInline.fileLinkList" :key="index"> <div style="margin-bottom: 10px" v-for="(item,index) in formInline.fileLinkList" :key="index">
<a-input class="box-input" <a-input class="box-input"
style='width: 88%' style='width: calc(100% - 48px);margin-right: 10px'
v-model='item.fileLink' v-model='item.fileLink'
:disabled="disabled" :disabled="disabled"
:placeholder="$t('PleaseEnter')+$t('Addresslink')"/> :placeholder="$t('PleaseEnter')+$t('Addresslink')"/>
<a-icon class="icon-text" @click="addClick(index)" style='margin-left: 10px;font-size: 18px;' <img @click="addClick(index)"
v-if="formInline.fileLinkList.length - 1 == index" class="box-input-img"
type="plus"/> v-if="formInline.fileLinkList.length - 1 == index"
<a-icon class="icon-text" src="../../../../assets/progressAdd.png" alt="">
v-if="formInline.fileLinkList.length > 1 && formInline.fileLinkList.length - 1 !== index" <img @click="deleteClick(index)"
style='margin-left: 10px;font-size: 18px;' class="box-input-img"
@click="deleteClick(index)" v-if="formInline.fileLinkList.length > 1 && formInline.fileLinkList.length - 1 !== index"
type="minus"/> src="../../../../assets/progressDelete.png" alt="">
<!-- <a-icon class="icon-text" @click="addClick(index)" style='margin-left: 10px;font-size: 18px;'-->
<!-- v-if="formInline.fileLinkList.length - 1 == index"-->
<!-- type="plus"/>-->
<!-- <a-icon class="icon-text"-->
<!-- v-if="formInline.fileLinkList.length > 1 && formInline.fileLinkList.length - 1 !== index"-->
<!-- style='margin-left: 10px;font-size: 18px;'-->
<!-- @click="deleteClick(index)"-->
<!-- type="minus"/>-->
</div> </div>
<a-button type="primary" class="button-text" <a-button type="primary" class="button-text"
icon="upload"
@click="clickButtonToUpload('file')"> @click="clickButtonToUpload('file')">
{{ (formInline.file === 'null' || formInline.file === '' || {{ (formInline.file === 'null' || formInline.file === '' ||
formInline.file == null) ? $t('Fileupload') : $t('viewUploadedFiles') formInline.file == null) ? $t('Fileupload') : $t('viewUploadedFiles')
@@ -307,10 +317,16 @@
:title="$t('progresstracking')">{{$t('progresstracking')}}</span> :title="$t('progresstracking')">{{$t('progresstracking')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="progresstracking"> <a-form-model-item class="itemModel" prop="progresstracking">
<div style="width: 100%;display: flex;margin-bottom: 20px" <a-button type="primary" class="button-text"
icon="plus"
style="margin-bottom: 10px"
@click="addprogresstrackingClick()">
{{ $t('newlyAdded') }}
</a-button>
<div class="progressTrackingListClass"
v-for="(item,index) in formInline.progressTrackingList" :key="index"> v-for="(item,index) in formInline.progressTrackingList" :key="index">
<!-- <span>{{item}}</span>--> <!-- <span>{{item}}</span>-->
<div style="width: calc(100% - 116px);display: inline-block"> <div style="width: calc(100%);display: inline-block;line-height: 0">
<!-- <quill-editor--> <!-- <quill-editor-->
<!-- class="text-editor trackingClass"--> <!-- class="text-editor trackingClass"-->
<!-- ref="myQuillEditorRef"--> <!-- ref="myQuillEditorRef"-->
@@ -321,11 +337,40 @@
<!-- style="width: 100%;height: 200px;display: inline-block"--> <!-- style="width: 100%;height: 200px;display: inline-block"-->
<!-- :options="editorOption"--> <!-- :options="editorOption"-->
<!-- />--> <!-- />-->
<div class="text-box" v-if="!item.isDescription" v-html="item.progressTracking"></div> <div class="text-box" v-if="!item.isDescription">
<a-input class="box-input" <div class="text-box-index-text-top" v-html="item.progressTracking"></div>
v-if="item.isDescription" <div class="text-box-index-text-right">
v-model='item.progressTracking' <div class="text-box-index-text-right-text" @click="openClick(item)">
:disabled="true"/> <img src="../../../../assets/progressExit.png" alt="">
<span style="margin-left: 2px">{{$t('putAway')}}</span>
</div>
<div class="text-box-index-text-right-text"
@click="deleteprogresstrackingClick(index,item)"
v-if="formInline.progressTrackingList.length > 0">
<img src="../../../../assets/editdelete.png" alt="">
<span style="margin-left: 2px">{{$t('delete')}}</span>
</div>
</div>
</div>
<div class="text-box-index" v-if="item.isDescription">
<div class="text-box-index-text" v-html="item.progressTracking"></div>
<div class="text-box-index-text-right">
<div class="text-box-index-text-right-text" @click="openClick(item)">
<img src="../../../../assets/medieProgress.png" alt="">
<span style="margin-left: 2px">{{$t('open')}}</span>
</div>
<div class="text-box-index-text-right-text"
@click="deleteprogresstrackingClick(index,item)"
v-if="formInline.progressTrackingList.length > 0">
<img src="../../../../assets/editdelete.png" alt="">
<span style="margin-left: 2px">{{$t('delete')}}</span>
</div>
</div>
</div>
<!-- <a-input class="box-input"-->
<!-- v-if="item.isDescription"-->
<!-- v-model='item.progressTracking'-->
<!-- :disabled="true"/>-->
</div> </div>
<!-- <a-input class="box-input"--> <!-- <a-input class="box-input"-->
<!-- style='width: 88%'--> <!-- style='width: 88%'-->
@@ -333,13 +378,13 @@
<!-- :disabled="true"--> <!-- :disabled="true"-->
<!-- :title='item.progressTracking'--> <!-- :title='item.progressTracking'-->
<!-- :placeholder="$t('PleaseEnter')+$t('progresstracking')"/>--> <!-- :placeholder="$t('PleaseEnter')+$t('progresstracking')"/>-->
<a @click="addprogresstrackingClick(index)" style='margin-left: 10px' <!-- <a @click="addprogresstrackingClick(index)" style='margin-left: 10px'-->
v-if="formInline.progressTrackingList.length - 1 == index">{{$t('newlyAdded')}}</a> <!-- v-if="formInline.progressTrackingList.length - 1 == index">{{$t('newlyAdded')}}</a>-->
<a @click="deleteprogresstrackingClick(index,item)" <!-- <a @click="deleteprogresstrackingClick(index,item)"-->
v-if="formInline.progressTrackingList.length > 0" :disabled="disabled" style='margin-left: 10px'>{{$t('delete')}}</a> <!-- v-if="formInline.progressTrackingList.length > 0" :disabled="disabled" style='margin-left: 10px'>{{$t('delete')}}</a>-->
<span v-if="!item.isDescription" @click="openClick(item)" class="putAway">{{$t('putAway')}}</span> <!-- <span v-if="!item.isDescription" @click="openClick(item)" class="putAway">{{$t('putAway')}}</span>-->
<span v-if="item.isDescription" @click="openClick(item)" class="putAway">{{$t('open')}}</span> <!-- <span v-if="item.isDescription" @click="openClick(item)" class="putAway">{{$t('open')}}</span>-->
</div> </div>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -375,21 +420,31 @@
:title="$t('examineapproveevidence')">{{$t('examineapproveevidence')}}</span> :title="$t('examineapproveevidence')">{{$t('examineapproveevidence')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="approvalEvidenceLink"> <a-form-model-item class="itemModel" prop="approvalEvidenceLink">
<div v-for="(item,index) in formInline.approvalEvidenceLinkList" :key="index"> <div style="margin-bottom: 10px"
v-for="(item,index) in formInline.approvalEvidenceLinkList" :key="index">
<a-input class="box-input" <a-input class="box-input"
style='width: 88%' style='width: calc(100% - 48px);margin-right: 10px'
v-model='item.approvalEvidenceLink' v-model='item.approvalEvidenceLink'
:disabled="disabled" :disabled="disabled"
:placeholder="$t('PleaseEnter')+$t('Addresslink')"/> :placeholder="$t('PleaseEnter')+$t('Addresslink')"/>
<a-icon class="icon-text" @click="addvidenceClick(index)" style='margin-left: 10px;font-size: 18px;' <img @click="addvidenceClick(index)"
v-if="formInline.approvalEvidenceLinkList.length - 1 == index" class="box-input-img"
type="plus"/> v-if="formInline.approvalEvidenceLinkList.length - 1 == index"
<a-icon class="icon-text" src="../../../../assets/progressAdd.png" alt="">
v-if="formInline.approvalEvidenceLinkList.length > 1 && formInline.approvalEvidenceLinkList.length - 1 !== index" <img @click="deletevidenceClick(index)"
style='margin-left: 10px;font-size: 18px;' @click="deletevidenceClick(index)" class="box-input-img"
type="minus" :disabled="disabled"/> v-if="formInline.approvalEvidenceLinkList.length > 1 && formInline.approvalEvidenceLinkList.length - 1 !== index"
src="../../../../assets/progressDelete.png" alt="">
<!-- <a-icon class="icon-text" @click="addvidenceClick(index)" style='margin-left: 10px;font-size: 18px;'-->
<!-- v-if="formInline.approvalEvidenceLinkList.length - 1 == index"-->
<!-- type="plus"/>-->
<!-- <a-icon class="icon-text"-->
<!-- v-if="formInline.approvalEvidenceLinkList.length > 1 && formInline.approvalEvidenceLinkList.length - 1 !== index"-->
<!-- style='margin-left: 10px;font-size: 18px;' @click="deletevidenceClick(index)"-->
<!-- type="minus" :disabled="disabled"/>-->
</div> </div>
<a-button type="primary" class="button-text" <a-button type="primary" class="button-text"
icon="upload"
@click="clickButtonToUpload('approvalEvidence')"> @click="clickButtonToUpload('approvalEvidence')">
{{ (formInline.approvalEvidence === 'null' || formInline.approvalEvidence === '' || {{ (formInline.approvalEvidence === 'null' || formInline.approvalEvidence === '' ||
formInline.approvalEvidence == null) ? $t('Fileupload') : $t('viewUploadedFiles') formInline.approvalEvidence == null) ? $t('Fileupload') : $t('viewUploadedFiles')
@@ -700,7 +755,7 @@
this.problemState = this.$t('emptyc') this.problemState = this.$t('emptyc')
} }
let time = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let time = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
let text = '<p class="text-class">' + this.userInfo().username + ' ' + time + '</p>' + ' ' + this.$t('Problemstate') + this.$t('by') + '\'' + this.problemState + '\'' + this.$t('Changeto') + '\'' + value + '\'' let text = '<p class="text-class">' + '<span class="usernameClass">'+this.userInfo().username + '</span> ' +'<span class="timeClass">'+ time +'</span>'+ '</p>' + '<p>' + this.$t('Problemstate') + this.$t('by') + '\'' + this.problemState + '\'' + this.$t('Changeto') + '\'' + value + '\''+'</p>'
if (JSON.stringify(this.formInline.progressTrackingList[0]) == '{}' || this.formInline.progressTrackingList[0].progressTracking == '') { if (JSON.stringify(this.formInline.progressTrackingList[0]) == '{}' || this.formInline.progressTrackingList[0].progressTracking == '') {
this.formInline.progressTrackingList.forEach((item, index) => { this.formInline.progressTrackingList.forEach((item, index) => {
item.progressTracking = text item.progressTracking = text
@@ -815,9 +870,7 @@
}, },
TrackingModelForm(row) { TrackingModelForm(row) {
let time = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let time = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
console.log(row) let text = '<p class="text-class">' + '<span class="usernameClass">' + this.userInfo().username + '</span>' + '<span class="timeClass">' + time + '</span>' + '</p>' + row
let text = '<p class="text-class">' + this.userInfo().username + ' ' + time + '</p>' + row
console.log(text)
this.formInline.progressTrackingList.forEach((item, index) => { this.formInline.progressTrackingList.forEach((item, index) => {
if (!item.progressTracking) { if (!item.progressTracking) {
this.formInline.progressTrackingList.splice(0, 1) this.formInline.progressTrackingList.splice(0, 1)
@@ -827,7 +880,7 @@
console.log(this.formInline.progressTrackingList) console.log(this.formInline.progressTrackingList)
}, },
addprogresstrackingClick(index) { addprogresstrackingClick(index) {
this.index = index this.index = this.formInline.progressTrackingList.length - 1
this.formInlinetracking = {} this.formInlinetracking = {}
this.$refs.TrackingModelRef.add() this.$refs.TrackingModelRef.add()
this.$nextTick(() => { this.$nextTick(() => {
@@ -837,12 +890,10 @@
}) })
}, },
deleteprogresstrackingClick(index, item) { deleteprogresstrackingClick(index, item) {
if (item.progressTracking && item.progressTracking != '') { if (this.formInline.progressTrackingList.length > 1) {
if (index == 0) { this.formInline.progressTrackingList.splice(index, 1)
item.progressTracking = '' } else {
} else { item.progressTracking = ''
this.formInline.progressTrackingList.splice(index, 1)
}
} }
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
}, },
@@ -1045,7 +1096,7 @@
} else if (value == 'numberPlatform' || value == 'carPlatform') { } else if (value == 'numberPlatform' || value == 'carPlatform') {
this.formInline.projectId = undefined this.formInline.projectId = undefined
this.getPlatform(value) this.getPlatform(value)
}else{ } else {
this.formInline.projectId = undefined this.formInline.projectId = undefined
} }
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
@@ -1070,14 +1121,41 @@
.text-class { .text-class {
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
font-weight: bold; font-weight: bold;
background: #F5F6F7;
width: 100%;
border-radius: 4px 4px 0px 0px;
position: absolute;
top: 0;
height: 46px;
line-height: 46px;
}
.usernameClass {
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #040B29;
margin-right: 6px;
}
.timeClass {
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #9598A4;
} }
p { p {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
</style> </style>
<style scoped> <style scoped>
::v-deep .text-box-index-text-top p {
margin: 0 !important;
padding: 0 15px !important;
}
.box-title-text { .box-title-text {
line-height: 1.4; line-height: 1.4;
@@ -1145,8 +1223,13 @@
} }
.button-text { .button-text {
height: 38px; height: 36px;
margin-top: 4px; margin-top: 4px;
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
border: 1px solid #00BEBE;
color: #01A0AC;
} }
::v-deep .ant-select-tree-treenode-switcher-close { ::v-deep .ant-select-tree-treenode-switcher-close {
@@ -1206,9 +1289,72 @@
height: 200px; height: 200px;
display: inline-block; display: inline-block;
border: 1px solid #ccc; border: 1px solid #ccc;
padding: 0;
border-radius: 4px;
position: relative;
}
.text-box-index {
width: 100%;
height: 46px;
display: inline-block;
border: 1px solid #ccc;
padding: 0 15px; padding: 0 15px;
white-space: pre-wrap;
overflow: hidden;
border-radius: 4px 4px 0px 0px;
position: relative;
}
.text-box-index-text {
width: 100%;
overflow: hidden;
white-space: pre-wrap;
}
.text-box-index-text-top {
width: 100%;
box-sizing: border-box; box-sizing: border-box;
white-space: pre-wrap; white-space: pre-wrap;
overflow: auto; overflow: auto;
height: 200px;
line-height: 1.4;
padding: 56px 0 0 0;
}
.box-input-img {
width: 38px;
height: 38px;
}
.text-box-index-text-right {
position: absolute;
display: flex;
align-items: center;
top: 13px;
right: 2px;
}
.text-box-index-text-right-text {
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #01A0AC;
display: flex;
align-items: center;
margin-right: 10px;
cursor: pointer;
}
::v-deep .text-box-index-text .text-class {
background: #fff !important;
}
.progressTrackingListClass{
width: 100%;
display: flex;
margin-bottom: 16px
}
.progressTrackingListClass:last-child{
margin-bottom: 0;
} }
</style> </style>
@@ -12,52 +12,43 @@
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="24"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="title-text-text" <span class="title-text-text"
:title="$t('title')">{{$t('title')}}</span> :title="$t('title')">{{$t('title')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="title"> <div class="itemModel" :title="formInline.title">
<a-input class="box-input" {{formInline.title}}
v-model='formInline.title' </div>
:disabled="disabled"/>
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="title-text-text" <span class="title-text-text"
:title="$t('problemType')">{{$t('problemType')}}</span> :title="$t('problemType')">{{$t('problemType')}}</span>
</div> </div>
<a-form-model-item class="itemModel-multi" prop="problemType"> <div class="itemModel" :title="formInline.problemType_dictText">
<j-dict-select-tag class="box-input" v-model="formInline.problemType" {{formInline.problemType_dictText}}
:disabled="disabled"
:type="'select'"
:triggerChange="false" :dictCode="'wen4_ti2_lei4_xing2'"/>
</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="'PS-issue'">{{'PS-issue'}}</span>
</div>
<div>
<a
style='width: 273px;display: inline-block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;margin-top: 12px;'
:title='formInline.psIssue'
@click='UserFeedback(formInline.psIssue)'>{{formInline.psIssue}}</a>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="'PS-issue'">{{'PS-issue'}}</span>
</div>
<div class="itemModel">
<a :title='formInline.psIssue'
@click='UserFeedback(formInline.psIssue)'>{{formInline.psIssue}}</a>
</div>
</div>
</a-col>
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -65,14 +56,14 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('Relevantlawsregulations')">{{$t('Relevantlawsregulations')}}</span> :title="$t('Relevantlawsregulations')">{{$t('Relevantlawsregulations')}}</span>
</div> </div>
<a-form-model-item class="itemModel-multi" prop="creator"> <div class="itemModel" :title="formInline.lawsName">
<a-input class="box-input" {{formInline.lawsName || '--'}}
:title='formInline.lawsName' </div>
v-model='formInline.lawsName'
:disabled="disabled"/>
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -80,72 +71,21 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('RelatedItems')">{{$t('RelatedItems')}}</span> :title="$t('RelatedItems')">{{$t('RelatedItems')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="contentTemplate"> <div class="itemModel"
<a-select allowClear :title="formInline.projectType ? formInline.projectType == 'numberPlatform' ||
class="box-input" formInline.projectType == 'carPlatform' ? formInline.problemType_dictText+' '+formInline.projectId :
v-model="formInline.projectType" formInline.projectType == 'model' ? formInline.problemType_dictText+' '+formInline.projectName :
:getPopupContainer="triggerNode=> triggerNode.parentNode" formInline.problemType_dictText : '--'">
showSearch <span>
:disabled="true" {{formInline.projectType ? formInline.projectType == 'numberPlatform' ||
:style="formInline.projectType == 'none' ? 'width:100%' : 'width:50%'" formInline.projectType == 'carPlatform' ? formInline.problemType_dictText+' '+formInline.projectId :
optionFilterProp="label" formInline.projectType == 'model' ? formInline.problemType_dictText+' '+formInline.projectName :
:autoClearSearchValue="false" formInline.problemType_dictText : '--'}}
:placeholder="$t('PleaseSelect')+$t('type')"> </span>
<a-select-option v-for="(item, key) in platformList" </div>
:key="key"
:label="item.name"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name}}
</span>
</a-select-option>
</a-select>
<a-select allowClear
v-if="formInline.projectType == 'numberPlatform' || formInline.projectType == 'carPlatform'"
class="box-input"
v-model="formInline.projectId"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch
:disabled="true"
style="width: 50%;float: right"
optionFilterProp="label"
:autoClearSearchValue="false"
:placeholder="$t('PleaseSelect')+$t('RelatedItems')">
<a-select-option v-for="(item, key) in relatedItemsList"
:key="key"
:label="item"
:value="item">
<span style="display: inline-block;width: 100%" :title="item ">
{{item}}
</span>
</a-select-option>
</a-select>
<a-select allowClear
class="box-input"
v-else-if="formInline.projectType == 'model'"
v-model="formInline.projectId"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch
:disabled="true"
style="width: 50%;float: right"
mode="multiple"
optionFilterProp="label"
:autoClearSearchValue="false"
:placeholder="$t('PleaseSelect')+$t('RelatedItems')">
<a-select-option v-for="(item, key) in projectNameList"
:key="key"
:label="item.projectName"
:value="item.id">
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
{{ item.projectName}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -153,71 +93,34 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('statisticalNodes')">{{$t('statisticalNodes')}}</span> :title="$t('statisticalNodes')">{{$t('statisticalNodes')}}</span>
</div> </div>
<a-form-model-item class="itemModel-multi" prop="creator"> <div class="itemModel" :title="formInline.dutyTerritory">
<a-select {{formInline.dutyTerritory}}
allowClear
show-search
mode="multiple"
:disabled="disabled"
class="box-input-search"
optionFilterProp="label"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="formInline.dutyTerritory">
<a-select-option v-for="(item, key) in firstLevelDutyTerritoryList"
:key="key"
:label="item.key"
:value="item.key">
<span style="display: inline-block;width: 100%" :title=" item.key ">
{{ item.key }}
</span>
</a-select-option>
</a-select>
</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('Problemstate')">{{$t('Problemstate')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="contentTemplate">
<a-select allowClear
class="box-input"
v-model="formInline.problemState"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch
:disabled="disabled"
optionFilterProp="label"
:autoClearSearchValue="false">
<a-select-option v-for="(item, key) in ProblemstateList"
:label='item'
:key="key"
:value="item">
<span style="display: inline-block;width: 100%" :title=" item">
{{ item }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="title-text-text"
:title="$t('Problemstate')">{{$t('Problemstate')}}</span>
</div>
<div class="itemModel" :title="formInline.problemState">
{{formInline.problemState}}
</div>
</div>
</a-col>
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="title-text-text" <span class="title-text-text"
:title="$t('problemPriority')">{{$t('problemPriority')}}</span> :title="$t('problemPriority')">{{$t('problemPriority')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="problemPriority"> <div class="itemModel" :title="formInline.problemPriority_dictText">
<j-dict-select-tag class="box-input" v-model="formInline.problemPriority" {{formInline.problemPriority_dictText}}
:disabled="true" </div>
:placeholder="$t('PleaseSelect')+$t('problemPriority')"
:type="'select'"
:triggerChange="false" :dictCode="'wen4_ti2_you1_xian1_ji2'"/>
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -228,12 +131,9 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('descriptions')">{{$t('descriptions')}}</span> :title="$t('descriptions')">{{$t('descriptions')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="descriptions"> <div class="itemModel-text"
<div class="text-box" v-html="formInline.description"></div> v-html="formInline.description">
<!-- <a-input class="box-input"--> </div>
<!-- v-model='formInline.description'-->
<!-- :disabled="disabled"/>-->
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -244,14 +144,14 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('documents')">{{$t('documents')}}</span> :title="$t('documents')">{{$t('documents')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="fileLink"> <div class="itemModel-text">
<div v-for="(item,index) in formInline.fileLinkList" :key="index"> <div class="itemModel-text-text" v-for="(item,index) in formInline.fileLinkList" :key="index">
<a @click='UserFeedback(item.fileLink)'>{{item.fileLink}}</a> <a @click='UserFeedback(item.fileLink)'>{{item.fileLink}}</a>
</div> </div>
<div v-for='(item,index) in formInline.fileList'> <div class="itemModel-text-text" v-for="(item,index) in formInline.fileList" :key="index">
<a @click='download(item)'>{{item.fileName}}</a> <a @click='download(item)'>{{item.fileName}}</a>
</div> </div>
</a-form-model-item> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -262,16 +162,11 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('progresstracking')">{{$t('progresstracking')}}</span> :title="$t('progresstracking')">{{$t('progresstracking')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="progresstracking"> <div class="itemModel">
<div v-for="(item,index) in formInline.progressTrackingList" :key="index"> <div class="text-box" v-for="(item,index) in formInline.progressTrackingList" :key="index">
<div class="text-box-one" v-html="item.progressTracking"></div> <div class="text-box-index-text-top" v-html="item.progressTracking"></div>
<!-- <a-input class="box-input"-->
<!-- style='width: 89%'-->
<!-- v-model='item.progressTracking'-->
<!-- :title='item.progressTracking'-->
<!-- :disabled="true"/>-->
</div> </div>
</a-form-model-item> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -282,11 +177,9 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('conculsion')">{{$t('conculsion')}}</span> :title="$t('conculsion')">{{$t('conculsion')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="conclusion"> <div class="itemModel">
<a-input class="box-input" {{formInline.conclusion}}
v-model='formInline.conclusion' </div>
:disabled="disabled"/>
</a-form-model-item>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -298,14 +191,16 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('examineapproveevidence')">{{$t('examineapproveevidence')}}</span> :title="$t('examineapproveevidence')">{{$t('examineapproveevidence')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="approvalEvidenceLink"> <div class="itemModel-text">
<div v-for="(item,index) in formInline.approvalEvidenceLinkList" :key="index"> <div class="itemModel-text-text" v-for="(item,index) in formInline.approvalEvidenceLinkList"
:key="index">
<a @click='UserFeedback(item.approvalEvidenceLink)'>{{item.approvalEvidenceLink}}</a> <a @click='UserFeedback(item.approvalEvidenceLink)'>{{item.approvalEvidenceLink}}</a>
</div> </div>
<div v-for='(item,index) in formInline.approvalEvidenceFileList'> <div class="itemModel-text-text" v-for="(item,index) in formInline.approvalEvidenceFileList"
:key="index">
<a @click='download(item)'>{{item.fileName}}</a> <a @click='download(item)'>{{item.fileName}}</a>
</div> </div>
</a-form-model-item> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -344,7 +239,7 @@
} }
] ]
}, },
relatedItemsList:[], relatedItemsList: [],
platformList: [ platformList: [
{ {
name: this.$t('DigitalPlatform'), name: this.$t('DigitalPlatform'),
@@ -458,11 +353,11 @@
} else if (row.projectType == 'numberPlatform' || row.projectType == 'carPlatform') { } else if (row.projectType == 'numberPlatform' || row.projectType == 'carPlatform') {
this.getPlatform(row.projectType) this.getPlatform(row.projectType)
} }
if (this.formInline.dutyTerritory != null) { // if (this.formInline.dutyTerritory != null) {
this.formInline.dutyTerritory = this.formInline.dutyTerritory.split(',') // this.formInline.dutyTerritory = this.formInline.dutyTerritory.split(',')
} else { // } else {
this.formInline.dutyTerritory = undefined // this.formInline.dutyTerritory = undefined
} // }
if (this.formInline.problemState == null) { if (this.formInline.problemState == null) {
this.formInline.problemState = undefined this.formInline.problemState = undefined
} }
@@ -472,7 +367,7 @@
this.formInline.approvalEvidenceFileList = res.result.approvalEvidenceFileList this.formInline.approvalEvidenceFileList = res.result.approvalEvidenceFileList
} }
}) })
this.formInline = {...this.formInline} this.formInline = { ...this.formInline }
console.log(this.formInline) console.log(this.formInline)
this.visible = true this.visible = true
this.disabled = true this.disabled = true
@@ -506,11 +401,13 @@
.ant-input-disabled { .ant-input-disabled {
color: rgba(0, 0, 0, 0.65) !important; color: rgba(0, 0, 0, 0.65) !important;
} }
.text-class{
.text-class {
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
font-weight: bold; font-weight: bold;
} }
p{
p {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
@@ -520,20 +417,18 @@
.box-title-text { .box-title-text {
line-height: 1.4; line-height: 1.4;
display: flex; display: flex;
justify-content: space-between;
margin-bottom: 20px;
} }
.title-text { .title-text {
width: 114px; width: 114px;
text-align: right; text-align: left;
display: inline-block; display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px; margin-right: 16px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
height: 42px;
line-height: 42px;
} }
.box-input { .box-input {
@@ -545,25 +440,23 @@
.itemModel { .itemModel {
width: calc(100% - 130px); width: calc(100% - 130px);
display: inline-block; display: inline-block;
margin-top: 2px; font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #040B29;
} }
.title-text-text { .title-text-text {
margin-top: 9px; font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #6F7385;
} }
.formAdd { .formAdd {
margin-bottom: 40px; margin-bottom: 40px;
} }
.Required {
color: red;
margin-right: 4px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd { .formAdd {
margin-bottom: 40px; margin-bottom: 40px;
@@ -611,19 +504,71 @@
display: inline-block; display: inline-block;
border: 1px solid #ccc; border: 1px solid #ccc;
padding: 0 15px; padding: 0 15px;
margin-bottom: 10px;
}
.itemModel-text {
box-sizing: border-box; box-sizing: border-box;
white-space: pre-wrap; white-space: pre-wrap;
overflow: auto; width: calc(100% - 130px);
margin-top: 1px;
} }
.text-box-one {
.itemModel-text-text {
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #040B29;
margin-bottom: 10px;
}
.text-box {
width: 100%; width: 100%;
height: 200px; height: 200px;
display: inline-block; display: inline-block;
border: 1px solid #ccc; border: 1px solid #ccc;
padding: 0 15px; padding: 0;
border-radius: 4px;
position: relative;
}
::v-deep .text-box-index-text-top p {
margin: 0 !important;
padding: 0 15px !important;
}
.text-box-index-text-top {
width: 100%;
height: 100%;
box-sizing: border-box; box-sizing: border-box;
margin-bottom: 20px;
white-space: pre-wrap; white-space: pre-wrap;
overflow: auto; overflow: auto;
padding: 56px 0 10px 0;
}
::v-deep .text-class {
color: rgba(0, 0, 0, 0.65);
font-weight: bold;
background: #F5F6F7;
width: 100%;
height: 46px;
line-height: 46px;
border-radius: 4px 4px 0px 0px;
position: absolute;
top: 0;
}
::v-deep .usernameClass {
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #040B29;
margin-right: 6px;
}
::v-deep .timeClass {
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #9598A4;
} }
</style> </style>