修改UAT提出的问题

This commit is contained in:
范强强
2023-10-24 17:47:34 +08:00
parent 5ba3ad988d
commit 974b25c47e
5 changed files with 707 additions and 511 deletions
@@ -167,6 +167,7 @@
</div>
</div>
<projectStatus ref="projectStatusRef"
:queryForm="queryForm"
@currentStatus="currentStatus"
@projectStatusForm="projectStatusForm"/>
<versionStatistics ref="versionStatisticsRef" @versionStatisticsForm="versionStatisticsForm"/>
@@ -239,6 +240,9 @@
if (res.success) {
this.cut = res.cut
this.queryForm = res.result[0] || {}
if (this.$refs.projectStatusRef){
this.$refs.projectStatusRef.getData(this.queryForm)
}
if (this.cut == 'en') {
this.queryForm.brandText = this.queryForm.brandTextEn
} else {
File diff suppressed because it is too large Load Diff
@@ -29,7 +29,8 @@
<otastatus @currentStatus="currentStatus" :idList="idList" v-if="activeKey == $t('otastatus')"/>
</a-tab-pane>
<a-tab-pane :key="$t('Problemanagement')" :tab="$t('Problemanagement')">
<nonConformance @currentStatus="currentStatus" v-if="activeKey == $t('Problemanagement')"/>
<nonConformance ref="nonConformanceRef" @currentStatus="currentStatus"
v-if="activeKey == $t('Problemanagement')"/>
</a-tab-pane>
</a-tabs>
</a-card>
@@ -56,12 +57,25 @@
return {
activeKey: this.$t('regulatoryComplianceManagement'),
selectedRowKeys: [],
idList: []
idList: [],
queryForm: {}
}
},
methods: {
getData(data) {
this.queryForm = data
this.queryForm = { ...this.queryForm }
if (this.$refs.nonConformanceRef) {
this.$refs.nonConformanceRef.getData(this.queryForm)
}
},
activeKeyChange() {
this.$emit('projectStatusForm', this.activeKey)
if (this.activeKey == this.$t('Problemanagement')) {
this.$nextTick(() => {
this.$refs.nonConformanceRef.getData(this.queryForm)
})
}
},
currentStatus(item) {
this.$emit('currentStatus', item)
@@ -89,10 +89,50 @@
</div>
<a-form-model-item class="itemModel" prop="contentTemplate">
<a-select allowClear
class="box-input"
v-model="formInline.projectType"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch
@change="platformChange"
:style="formInline.projectType == 'none' ? 'width:100%' : 'width:50%'"
optionFilterProp="label"
:autoClearSearchValue="false"
:placeholder="$t('PleaseSelect')+$t('type')">
<a-select-option v-for="(item, key) in platformList"
: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
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
style="width: 50%;float: right"
mode="multiple"
optionFilterProp="label"
:autoClearSearchValue="false"
@@ -271,17 +311,17 @@
v-for="(item,index) in formInline.progressTrackingList" :key="index">
<!-- <span>{{item}}</span>-->
<div style="width: calc(100% - 116px);display: inline-block">
<!-- <quill-editor-->
<!-- class="text-editor trackingClass"-->
<!-- ref="myQuillEditorRef"-->
<!-- :disabled="true"-->
<!-- v-if="!item.isDescription"-->
<!-- v-model="item.progressTracking"-->
<!-- :content="item.progressTracking"-->
<!-- style="width: 100%;height: 200px;display: inline-block"-->
<!-- :options="editorOption"-->
<!-- />-->
<div class="text-box" v-if="!item.isDescription" v-html="item.progressTracking"></div>
<!-- <quill-editor-->
<!-- class="text-editor trackingClass"-->
<!-- ref="myQuillEditorRef"-->
<!-- :disabled="true"-->
<!-- v-if="!item.isDescription"-->
<!-- v-model="item.progressTracking"-->
<!-- :content="item.progressTracking"-->
<!-- style="width: 100%;height: 200px;display: inline-block"-->
<!-- :options="editorOption"-->
<!-- />-->
<div class="text-box" v-if="!item.isDescription" v-html="item.progressTracking"></div>
<a-input class="box-input"
v-if="item.isDescription"
v-model='item.progressTracking'
@@ -479,6 +519,24 @@
},
data() {
return {
platformList: [
{
name: this.$t('DigitalPlatform'),
value: 'numberPlatform'
},
{
name: this.$t('ModelPlatform'),
value: 'carPlatform'
},
{
name: this.$t('Model'),
value: 'model'
},
{
name: this.$t('nothing'),
value: 'none'
}
],
editorOption: { // 富文本框配置
placeholder: '',
theme: 'snow', // or 'bubble'
@@ -545,7 +603,7 @@
formInline: {
fileLinkList: [{}],
progressTrackingList: [{
isDescription:true,
isDescription: true
}],
approvalEvidenceLinkList: [{}],
dutyTerritory: undefined,
@@ -561,6 +619,7 @@
chapterContentsList: [],
firstLevelDutyTerritoryList: [],
projectNameList: [],
relatedItemsList: [],
ProblemstateList: [this.$t('red'), this.$t('yellow'), this.$t('green')],
templateDisabled: false,
contentTemplateList: [
@@ -641,7 +700,7 @@
this.problemState = this.$t('emptyc')
}
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">' + this.userInfo().username + ' ' + time + '</p>' + ' ' + this.$t('Problemstate') + this.$t('by') + '\'' + this.problemState + '\'' + this.$t('Changeto') + '\'' + value + '\''
if (JSON.stringify(this.formInline.progressTrackingList[0]) == '{}' || this.formInline.progressTrackingList[0].progressTracking == '') {
this.formInline.progressTrackingList.forEach((item, index) => {
item.progressTracking = text
@@ -681,7 +740,7 @@
...mapGetters(['userInfo']),
add() {
this.templateDisabled = false
this.getNameList()
// this.getNameList()
this.getFirstLevelDutyTerritory()
this.title = this.$t('newlyAdded')
this.visible = true
@@ -699,8 +758,17 @@
})
},
edit(row) {
console.log(row)
this.getNameList()
this.projectNameList = []
if (row.projectType == 'model') {
this.getNameList()
if (this.formInline.projectId != null) {
this.formInline.projectId = this.formInline.projectId.split(',')
} else {
this.formInline.projectId = undefined
}
} else if (row.projectType == 'numberPlatform' || row.projectType == 'carPlatform') {
this.getPlatform(row.projectType)
}
this.getFirstLevelDutyTerritory()
this.title = this.$t('edit')
this.problemState = row.problemState
@@ -722,11 +790,6 @@
if (this.formInline.fileLinkList == null) {
this.formInline.fileLinkList = [{}]
}
if (this.formInline.projectId != null) {
this.formInline.projectId = this.formInline.projectId.split(',')
} else {
this.formInline.projectId = undefined
}
this.visible = true
this.disabled = false
this.templateDisabled = true
@@ -753,7 +816,7 @@
TrackingModelForm(row) {
let time = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
console.log(row)
let text = '<p class="text-class">'+this.userInfo().username + ' ' + time +'</p>' + row
let text = '<p class="text-class">' + this.userInfo().username + ' ' + time + '</p>' + row
console.log(text)
this.formInline.progressTrackingList.forEach((item, index) => {
if (!item.progressTracking) {
@@ -807,7 +870,6 @@
})
},
handleSubmit() {
console.log(this.formInline)
this.$refs.ruleForm.validate(valid => {
if (valid) {
this.confirmLoading = true
@@ -970,10 +1032,29 @@
putAwayClick() {
this.isDescription = !this.isDescription
},
openClick(item){
openClick(item) {
item.isDescription = !item.isDescription
this.formInline = {...this.formInline}
this.formInline = { ...this.formInline }
},
platformChange(value) {
this.projectNameList = []
this.relatedItemsList = []
if (value == 'model') {
this.formInline.projectId = []
this.getNameList()
} else if (value == 'numberPlatform' || value == 'carPlatform') {
this.formInline.projectId = undefined
this.getPlatform(value)
}else{
this.formInline.projectId = undefined
}
this.formInline = { ...this.formInline }
},
getPlatform(platform) {
getAction('/project/projectLibraryBase/getPlatform', { platform: platform }).then((res) => {
this.relatedItemsList = res || []
})
}
}
}
</script>
@@ -985,11 +1066,13 @@
.ant-input-disabled {
color: rgba(0, 0, 0, 0.65) !important;
}
.text-class{
.text-class {
color: rgba(0, 0, 0, 0.65);
font-weight: bold;
}
p{
p {
margin: 0;
padding: 0;
}
@@ -1117,7 +1200,8 @@
::v-deep .itemModel-explain .ql-container {
height: calc(100% - 100px);
}
.text-box{
.text-box {
width: 100%;
height: 200px;
display: inline-block;
@@ -82,14 +82,56 @@
</div>
<a-form-model-item class="itemModel" prop="contentTemplate">
<a-select allowClear
class="box-input"
v-model="formInline.projectType"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
showSearch
:disabled="true"
:style="formInline.projectType == 'none' ? 'width:100%' : 'width:50%'"
optionFilterProp="label"
:autoClearSearchValue="false"
:placeholder="$t('PleaseSelect')+$t('type')">
<a-select-option v-for="(item, key) in platformList"
: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
mode="multiple"
:disabled="disabled"
:disabled="true"
style="width: 50%;float: right"
optionFilterProp="label"
:autoClearSearchValue="false">
: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"
@@ -302,6 +344,25 @@
}
]
},
relatedItemsList:[],
platformList: [
{
name: this.$t('DigitalPlatform'),
value: 'numberPlatform'
},
{
name: this.$t('ModelPlatform'),
value: 'carPlatform'
},
{
name: this.$t('Model'),
value: 'model'
},
{
name: this.$t('nothing'),
value: 'none'
}
],
visible: false,
visibletrack: false,
rulestracking: {
@@ -381,7 +442,18 @@
},
...mapGetters(['userInfo']),
edit(row) {
this.getNameList()
this.projectNameList = []
if (row.projectType == 'model') {
this.getNameList()
if (this.formInline.projectId != null) {
this.formInline.projectId = this.formInline.projectId.split(',')
} else {
this.formInline.projectId = undefined
}
} else if (row.projectType == 'numberPlatform' || row.projectType == 'carPlatform') {
this.getPlatform(row.projectType)
}
// this.getNameList()
this.getFirstLevelDutyTerritory()
this.title = this.$t('view')
this.formInline = row
@@ -420,6 +492,11 @@
},
handleCancel() {
this.visible = false
},
getPlatform(platform) {
getAction('/project/projectLibraryBase/getPlatform', { platform: platform }).then((res) => {
this.relatedItemsList = res || []
})
}
}
}