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

This commit is contained in:
zyx.net
2023-04-02 17:25:19 +08:00
61 changed files with 2196 additions and 1032 deletions
+1
View File
@@ -1743,4 +1743,5 @@ module.exports = {
marketCertificationList:'Market Certification List',
uploadedfilelarger:'The uploaded file is larger than',
marketCertificationListDetails:'Market Certification List Details',
andTheProcessStatusTheList:'And the process status cannot be the data to be checked in the list',
}
+1
View File
@@ -1846,4 +1846,5 @@ module.exports = {
uploadedfilelarger:'文件大于50M',
marketCertificationList:'市场认证清单',
marketCertificationListDetails:'市场认证清单详情',
andTheProcessStatusTheList:'并且流程状态不能为清单待校核的数据',
}
@@ -12,7 +12,7 @@
v-html="serial_number"></span>
</template>
<span v-html="serial_number"></span>
<span> {{$t('StandardDetails')}}</span>
<!-- <span> {{$t('StandardDetails')}}</span>-->
</a-tooltip>
</div>
@@ -47,13 +47,14 @@
<div class="detail-content">
<div v-for="(item,index) in detailList" class="content-box">
<div v-for="val in Object.keys(item)" class="content">
<div class="header-text">
<div class="header-text fixedPosition">
{{val}}
</div>
<div class="content-text" v-if="val == $t('essentialInformation')">
<div class="text-field" :class="{'text-content-button-one':ol.field_show_type == 8 ? true :false}"
v-for="(ol,index1) in item[val]">
<span class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span v-if="ol.field_show_type == 10" class="text-field-left-Index" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span v-else class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span class="text-field-right text-field-right-color" v-if="ol.urlClick" @click="urlClick(ol)"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
@@ -64,85 +65,52 @@
</a-button>
<span v-else>--</span>
</span>
<span @click="relatedClick(ol)" class="text-field-right text-field-right-color"
v-else-if="ol.field_show_type == 10" :title="ol.value">
{{ol.value ? ol.value : '--'}}
<span class="text-field-right-Index"
v-else-if="ol.field_show_type == 10">
<span class="text-field-right-color-text"
:title="valItem.title"
@click="relatedClick(valItem)"
v-if="ol.list && ol.list.length > 0"
v-for="valItem in ol.list">
{{valItem.title}}
</span>
<span v-else>--</span>
</span>
<span class="text-field-right" v-else :title="ol.value">{{ol.value ? ol.value : '--'}}</span>
</div>
</div>
<div class="TextInformation" v-else-if="val == $t('textInformation')">
<table class="tableInformation">
<tr v-for="(ol,index1) in item[val]" class="trInformation">
<td class="tdInformation LeftTdInformation" :rowspan="ol.count"
v-if=" index1 == 0 || (index1 > 0 && ol.db_field_txt != item[val][index1 - 1].db_field_txt)">
{{ol.db_field_txt}}
</td>
<td class="tdInformation conteTdInformation" v-if="ol.field_show_type==='7'">
<span class="leftconteTdInformation" style="cursor: pointer"
:title="ol.value ? ol.value.fileName:''"
@click="pdfPreview(ol.value)">
{{ol.value ? ol.value.fileName : '--'}}
</span>
<span class="Standard-breakdown" v-if="ol.splitFlag == 1" @click="breakdown(ol)">{{$t('StandardBreakdown')}}</span>
<span class="rightTdInformation" v-if="ol.field_show_type==='7'" v-show="ol.value"
@click="download(ol.value)">
<a-icon type="vertical-align-bottom"/>
{{$t('download')}}
</span>
</td>
<td class="tdInformation TextInformationContentcontentButton" v-else-if="ol.field_show_type==='10'">
<span style="cursor: pointer" @click="relatedClick(ol)" v-if="ol.value"
:title="ol.value">{{ol.value}}</span>
<span style="cursor: pointer" v-else>--</span>
</td>
<td class="tdInformation TextInformationContentcontent" v-else>
<span v-if="ol.urlClick" @click="urlClick(ol)"
class="text-field-right-color"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span :title="ol.value" v-else>{{ol.value ? ol.value:'--'}}</span>
</td>
</tr>
</table>
</div>
<div class="TextInformation" v-else-if="val == $t('relatedInformation')">
<table class="tableInformation">
<tr v-for="(ol,index1) in item[val]" class="trInformation">
<td class="tdInformation LeftTdInformation" :rowspan="ol.count"
v-if=" index1 == 0 || (index1 > 0 && ol.db_field_txt != item[val][index1 - 1].db_field_txt)">
{{ol.db_field_txt}}
</td>
<td class="tdInformation conteTdInformation" v-if="ol.field_show_type==='7'">
<span class="leftconteTdInformation" style="cursor: pointer"
:title="ol.value ? ol.value.fileName:''"
@click="pdfPreview(ol.value)">
{{ol.value ? ol.value.fileName : '--'}}
</span>
<span class="Standard-breakdown" v-if="ol.splitFlag == 1" @click="breakdown(ol)">{{$t('StandardBreakdown')}}</span>
<span class="rightTdInformation" v-if="ol.field_show_type==='7'" v-show="ol.value"
@click="download(ol.value)">
<a-icon type="vertical-align-bottom"/>
{{$t('download')}}
</span>
</td>
<td class="tdInformation TextInformationContentcontentButton" v-else-if="ol.field_show_type==='10'">
<span style="cursor: pointer" @click="relatedClick(ol)" v-if="ol.value"
:title="ol.value">{{ol.value}}</span>
<span style="cursor: pointer" v-else>--</span>
</td>
<td class="tdInformation TextInformationContentcontent" v-else>
<span v-if="ol.urlClick" @click="urlClick(ol)"
class="text-field-right-color"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span :title="ol.value" v-else>{{ol.value ? ol.value:'--'}}</span>
</td>
</tr>
</table>
<div class="TextInformation-box" v-for="(ol,index1) in item[val]">
<div class="TextInformation-box-title fixedPosition">
{{ol.db_field_txt}}
</div>
<div class="TextInformation-box-box">
<div class="TextInformation-box-box-text"
v-if="ol.value && ol.value.length > 0"
v-for="valItem in ol.value">
<span @click="pdfPreview(valItem)"
:title="valItem.fileName"
class="leftconteTdInformation">{{valItem.fileName}}</span>
<a-icon class="leftconteTdInformation-icon"
@click="download(valItem)"
:title="$t('download')"
type="vertical-align-bottom"/>
<a-icon class="leftconteTdInformation-icon"
@click="breakdown(valItem)"
v-if="valItem.splitFlag == 1"
:title="$t('StandardBreakdown')"
type="profile" />
</div>
</div>
</div>
</div>
<div class="content-text" v-else>
<div class="text-field" :class="{'text-content-button-one':ol.field_show_type == 8 ? true :false}"
v-for="(ol,index1) in item[val]">
<span class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span v-if="ol.field_show_type == 10" class="text-field-left-Index" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span class="text-field-left" v-else :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span class="text-field-right text-field-right-color" v-if="ol.urlClick" @click="urlClick(ol)"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
@@ -153,9 +121,16 @@
</a-button>
<span v-else>--</span>
</span>
<span @click="relatedClick(ol)" class="text-field-right text-field-right-color"
v-else-if="ol.field_show_type == 10" :title="ol.value">
{{ol.value ? ol.value : '--'}}
<span class="text-field-right-Index"
v-else-if="ol.field_show_type == 10">
<span class="text-field-right-color-text"
@click="relatedClick(valItem)"
:title="valItem.title"
v-if="ol.list && ol.list.length > 0"
v-for="valItem in ol.list">
{{valItem.title}}
</span>
<span v-else>--</span>
</span>
<span class="text-field-right" v-else :title="ol.value">{{ol.value ? ol.value : '--'}}</span>
</div>
@@ -164,7 +139,7 @@
</div>
<div class='content-box'>
<div class="content">
<div class="header-text">
<div class="header-text fixedPosition">
{{$t('DetailsPhasedImplementation')}}
</div>
<a-table
@@ -189,6 +164,14 @@
</div>
</div>
</div>
<div class="detail-content-right">
<div class="detail-content-right-text"
:class="{'detail-content-right-text-one':item.pname ? true : false}"
v-for="(item,index) in rightTitleList"
@click="detailTextClick(index,item.name)">
{{item.name}}
</div>
</div>
</div>
</div>
<a-modal
@@ -306,14 +289,15 @@
components: {
uploadFile
},
mixins: [ResizeColumnProvide,ResizeHeader],
mixins: [ResizeColumnProvide, ResizeHeader],
data() {
return {
url: {
getInfo: 'document/bussDocumentLibraryEO/getInfoById',
list: 'log/bussLogEO/page',
getTitle: '/document/bussDocumentLibraryEO/getTitle',
getPage: '/document/phasedImplementationDetailsEO/page'
getPage: '/document/phasedImplementationDetailsEO/page',
getMenuList: 'document/bussDocumentLibraryEO/getMenuList'
},
titleHeader: '',
visibleFile: false,
@@ -345,7 +329,7 @@
],
dataSourceRelated: [],
detailList: [],
dataGrad:[],
dataGrad: [],
visible: false,
serial_number: '',
confirmLoading: false,
@@ -360,35 +344,36 @@
tabletotal: 0,
visibleRelated: false,
dataSourceFile: [],
rightTitleList: [],
columnsGrading: [
{
title: this.$t('Statutenumberclause'),
dataIndex: 'standNumberOrClause',
align: 'left',
ellipsis: true,
width: 300
width: '25%'
},
{
title: this.$t('Typeofimplementation'),
dataIndex: 'implementationTypeText',
align: 'left',
ellipsis: true,
width: 150
width: '25%'
},
{
title: this.$t('implementationDateTwo'),
dataIndex: 'implementationDate',
align: 'left',
ellipsis: true,
width: 150
width: '25%'
},
{
title: this.$t('remarks'),
dataIndex: 'remarks',
align: 'left',
ellipsis: true,
width: 350
},
width: '25%'
}
],
columns: [
{
@@ -420,10 +405,12 @@
let _this = this
this.loading = true
document.title = this.$t('documentLibraryDetails')
this.getTitle(function() {
_this.getInfoById()
})
this.getPage()
this.getRightTitle()
},
methods: {
...mapGetters(['userInfo']),
@@ -495,13 +482,17 @@
getAction(this.url.getInfo, { id: _id }).then((res) => {
if (res.success) {
this.detailList = res.result
this.$nextTick(() => {
let detailContentRightText = document.getElementsByClassName('detail-content-right-text')
detailContentRightText[0].classList.add('detail-content-right-text-color')
})
this.loading = false
} else {
this.detailList = []
}
})
},
getPage(){
getPage() {
let tablequery = {
pageNo: this.tablepageNo,
pageSize: this.tablepageSize,
@@ -510,7 +501,7 @@
getAction(this.url.getPage, tablequery).then((res) => {
if (res.success) {
this.dataGrad = res.result.records
this.tabletotal=res.result.total
this.tabletotal = res.result.total
this.loading = false
} else {
this.dataGrad = []
@@ -635,16 +626,11 @@
window.open(newUrl.href, '_blank')
},
relatedClick(val) {
if (val.list && val.list.length == 1) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: val.list[0]
})
window.open(newUrl.href, '_blank')
} else {
this.visibleRelated = true
this.dataSourceRelated = val.list
}
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: val
})
window.open(newUrl.href, '_blank')
},
breakdown(item) {
let newUrl = this.$router.resolve({
@@ -654,6 +640,41 @@
}
})
window.open(newUrl.href, '_blank')
},
detailTextClick(num, name) {
let detailContentRightTextColor = document.getElementsByClassName('detail-content-right-text-color')
if (detailContentRightTextColor && detailContentRightTextColor.length > 0) {
detailContentRightTextColor[0].classList.remove('detail-content-right-text-color')
}
let detailContentRightText = document.getElementsByClassName('detail-content-right-text')
detailContentRightText[num].classList.add('detail-content-right-text-color')
let fixedPosition = document.getElementsByClassName('fixedPosition')
if (fixedPosition && fixedPosition.length > 0) {
for (let i = 0; i < fixedPosition.length; i++) {
if (fixedPosition[i].innerText == name) {
let offsetTop = fixedPosition[i].offsetTop
let body = document.documentElement || document.body
body.scrollTop = offsetTop - 68
}
}
}
},
getRightTitle() {
let _id = this.$route.query.documentId === undefined ? this.$route.query.id : this.$route.query.documentId
let query = {
id: _id
}
getAction(this.url.getMenuList, query).then((res) => {
if (res.success) {
this.rightTitleList = res.result
this.rightTitleList.push({
name:this.$t('DetailsPhasedImplementation'),
})
} else {
this.rightTitleList = []
}
})
}
}
}
@@ -671,17 +692,27 @@
color: #333;
background-color: #fff !important;
}
.tooltipColor .ant-tooltip-arrow::before {
background-color: #fff;
}
</style>
<style lang="less" scoped>
@import'~@assets/less/common.less';
@import '~@assets/less/common.less';
body {
height: auto;
transition: all .5s linear !important;
}
.doc-detail {
background: #fff;
height: 100%;
.detail-content {
width: calc(100% - 212px);
}
.doc-detail-wrap {
.doc-detail-header {
width: 100%;
@@ -709,6 +740,7 @@
/*width: 800px;*/
line-height: 68px;
display: flex;
align-items: center;
.doc-detail-btn {
margin-left: 10px;
@@ -717,16 +749,16 @@
}
.content-box {
padding: 0 32px;
padding: 0 40px 0 32px;
box-sizing: border-box;
}
.header-text {
font-size: 16px;
font-weight: 400;
height: 80px;
font-weight: bold;
height: 90px;
color: #000F16;
line-height: 80px;
line-height: 110px;
}
.content-text {
@@ -739,7 +771,7 @@
margin-bottom: 8px;
.text-field-left {
width: 124px;
width: 114px;
display: inline-block;
font-size: 14px;
font-weight: 400;
@@ -747,19 +779,19 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 24px;
margin-right: 6px;
}
.text-field-right {
width: calc(100% - 200px);
width: calc(100% - 130px);
display: inline-block;
font-size: 16px;
font-size: 14px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
word-break: break-word;
color: #040B29;
font-weight: 400;
font-weight: bold;
}
}
@@ -767,7 +799,7 @@
width: 100%;
.text-field-left {
width: 124px;
width: 114px;
display: inline-block;
font-size: 14px;
font-weight: 400;
@@ -775,22 +807,22 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 24px;
margin-right: 6px;
float: left;
margin-top: 3px;
}
.text-field-right {
width: calc(100% - 200px);
width: calc(100% - 130px);
display: inline-block;
font-size: 16px;
font-size: 14px;
text-overflow: ellipsis;
white-space: pre-wrap;
word-break: break-word;
overflow: visible;
float: left;
color: #040B29;
font-weight: 400;
font-weight: bold;
}
}
}
@@ -804,16 +836,21 @@
.operator-text-text {
cursor: pointer;
margin-right: 53px;
margin-right: 16px;
font-size: 14px;
font-weight: 400;
color: #040B29;
display: inline-block;
width: 100px;
width: 130px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
text-align: right;
text-align: center;
height: 40px;
border: 1px solid #CED0D8;
border-radius: 4px;
line-height: 40px;
padding: 0 5px;
}
.content-box:last-child {
@@ -854,11 +891,20 @@
}
.leftconteTdInformation {
width: calc(100% - 388px);
max-width: calc(100% - 30px);
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 4px;
color: #01A0AC;
cursor: pointer;
}
.leftconteTdInformation-icon {
color: #01A0AC;
cursor: pointer;
margin-right: 6px;
}
.rightTdInformation {
@@ -910,21 +956,111 @@
cursor: pointer;
}
///deep/.table .ant-table-thead > tr > th {
// font-weight: bolder;
//}
///deep/.ant-table-thead > tr > th {
// background: #f3f6f6;
//}
///deep/.table .ant-table-tbody > tr > td {
// color: #040B29 ;
//}
/deep/ .ant-table-placeholder{
/deep/ .ant-table-placeholder {
margin-top: 0px !important;
}
.text {
margin-right: 10px
}
.TextInformation-box {
width: 100%;
height: auto;
overflow: hidden;
}
.TextInformation-box-title {
background: #F5F6F7;
border-radius: 4px;
width: 100%;
height: 56px;
padding: 0 16px;
line-height: 56px;
color: #040B29;
font-weight: 400;
font-size: 16px;
}
.TextInformation-box-box {
width: 100%;
height: auto;
padding: 10px 16px 10px 16px;
overflow: hidden;
}
.TextInformation-box-box-text {
width: calc(25% - 20px);
margin-right: 20px;
height: 36px;
float: left;
display: flex;
align-items: center;
}
.detail-content-right {
width: 212px;
position: fixed;
top: 120px;
right: 0;
padding: 0 32px 0 0;
}
.detail-content-right-text {
color: #040B29;
font-size: 14px;
font-weight: bolder;
height: 36px;
line-height: 36px;
border-left: 2px #CED0D8 solid;
padding: 0 0 0 8px;
box-sizing: border-box;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.detail-content-right-text-one {
padding: 0 0 0 20px;
}
.detail-content-right-text-color {
color: #01A0AC;
border-left: 2px #01A0AC solid;
}
.text-field-left-Index {
width: 114px;
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #6F7385;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 6px;
float: left;
}
.text-field-right-Index {
width: calc(100% - 130px);
display: inline-block;
font-size: 14px;
word-break: break-word;
float: left;
}
.text-field-right-color-text {
width: calc(50% - 20px);
margin-right: 20px;
font-size: 14px;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
cursor: pointer;
font-weight: bold;
color: #01A0AC;
}
</style>
@@ -376,8 +376,8 @@ this.$forceUpdate()
}
getAction('/ota/otaBaSjSjyxpg/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
if(res.code==200){
if(res.result.zxsj==0){
res.result.zxsj=null
if(res.result.zxsj==null){
res.result.zxsj=undefined
}
this.form=res.result==null ? {
sjmd:'',
@@ -400,7 +400,7 @@ this.$forceUpdate()
}
this.form.otaId=otaId
if(this.form.zxsj==undefined){
this.form.zxsj=0
this.form.zxsj=undefined
}
postAction('/ota/otaBaSjSjyxpg/add',this.form).then(res=>{
if(res.code==200){
@@ -231,15 +231,16 @@ export default {
} else {
this.form = res.result
if (this.$route.query.type == 1 && res.result.cxmb == null) {
this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
} else {
if (this.$route.query.type == 2 && res.result.cxmb == null) {
this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
} else {
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
}
}
this.form.otaId=''
// if (this.$route.query.type == 1 && res.result.cxmb == null) {
// this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
// } else {
// if (this.$route.query.type == 2 && res.result.cxmb == null) {
// this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
// } else {
// this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
// }
// }
if (res.result.dllx1 == null || res.result.dllx1 == "") {
this.form.dllx1 = undefined
@@ -261,17 +262,12 @@ export default {
})
},
save() {
let otaId = localStorage.getItem('otaId')
if (otaId == null) {
otaId = ''
}
// if(this.form.bapc!=null && this.form.bapc!=undefined && this.form.bapc!=''){
// this.$nextTick(()=>{
// this.$refs.ruleForm.clearValidate('bapc')
// })
// }
this.$refs.ruleForm.validate(valid => {
if (valid) {
let otaId = localStorage.getItem('otaId')
if (otaId == null|| otaId == undefined) {
otaId = ''
}
this.selectListPc.map(item => {
if (item.id == this.form.bapc) {
this.form.bapc = item.ggpc
@@ -333,10 +333,10 @@ import { message } from 'ant-design-vue'
this.form.cdotasj=res.result.cdotasj
this.form.id=res.result.id
if(this.$route.query.type == 1 && res.result.cxmb == null){
this.form.cxmb = this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
this.form.cxmb = this.form.djbh+'-'+ this.form.ggpc+'-'+this.form.cpxh
}else {
if(this.$route.query.type == 2 && res.result.cxmb == null){
this.form.cxmb = this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
this.form.cxmb = this.form.djbh+'-'+ this.form.ggpc+'-'+this.form.cpxh
}else{
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
}
@@ -384,7 +384,6 @@ import { message } from 'ant-design-vue'
if(otaId==null || otaId == undefined){
otaId=''
}
postAction('/ota/otaBaCxJbxx/add',{ otaId:otaId,...this.form}).then( res => {
if(res.code == 200){
localStorage.setItem('otaId', res.result.otaId)
@@ -27,8 +27,8 @@
<!-- 配置情况-->
<span slot="configuration" slot-scope="text,record" >
<a-radio-group v-model="record.pzqk" >
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
<a-radio :value="1"> {{ $t('have') }} </a-radio>
<a-radio :value="2"> {{ $t('nothing') }} </a-radio>
</a-radio-group>
</span>
<!-- 可升级-->
@@ -304,7 +304,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jgldBzwz',
@@ -320,7 +320,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jgldScqy',
@@ -328,7 +328,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'hmbldSl',
@@ -336,7 +336,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'hmbldBzwz',
@@ -352,7 +352,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'hmbldScqy',
@@ -360,7 +360,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'csbldSl',
@@ -368,7 +368,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'csbldBzwz',
@@ -384,7 +384,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'csbldScqy',
@@ -392,7 +392,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxthsSl',
@@ -400,7 +400,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxthsBzwz',
@@ -416,7 +416,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxthsScqy',
@@ -424,7 +424,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxtdsdSl',
@@ -432,7 +432,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxtdsdBzwz',
@@ -448,7 +448,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxtdsdScqy',
@@ -456,7 +456,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyjkSl',
@@ -464,7 +464,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyjkBzwz',
@@ -480,7 +480,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyjkScqy',
@@ -488,7 +488,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyhwSl',
@@ -496,7 +496,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyhwBzwz',
@@ -512,7 +512,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyhwScqy',
@@ -520,7 +520,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'czwxdwGgxh',
@@ -528,7 +528,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'czwxdwScqy',
@@ -536,7 +536,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gxdhGgxh',
@@ -544,7 +544,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gxdhScqy',
@@ -552,7 +552,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'lsjGgxh',
@@ -560,7 +560,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'lsjScqy',
@@ -568,7 +568,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gjddtGgxh',
@@ -576,7 +576,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('VersionNumber'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gjddtScqy',
@@ -584,7 +584,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'dzwlDxxgcs',
@@ -592,7 +592,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('qualitativelydescriberelevantplaces'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxXtmc',
@@ -600,7 +600,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('systemname'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxGgxh',
@@ -616,7 +616,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('systemproductionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxBbh',
@@ -624,7 +624,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('softwareversionnumber'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxKfqy',
@@ -632,7 +632,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('softwaredevelopmententerprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzczjMc',
@@ -640,7 +640,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('controlname'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzczjYjxh',
@@ -648,7 +648,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzczjScqy',
@@ -656,7 +656,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzzsqMc',
@@ -664,7 +664,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('nameofindicatorsignaldevice'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzzsqYjxh',
@@ -672,7 +672,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzzsqScqy',
@@ -680,7 +680,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'fxptstsMc',
@@ -688,7 +688,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('nameofindicatorsignaldevice'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'fxptstsYjxh',
@@ -696,7 +696,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'fxptstsScqy',
@@ -704,7 +704,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyzyltsMc',
@@ -712,7 +712,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('nameofindicatorsignaldevice'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyzyltsYjxh',
@@ -720,7 +720,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyzyltsScqy',
@@ -728,7 +728,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'dssadGgxh',
@@ -736,7 +736,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'dssadScqy',
@@ -744,7 +744,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'edrGgxh',
@@ -752,7 +752,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'edrScqy',
@@ -760,7 +760,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
],
queryParam: {},
@@ -691,7 +691,7 @@
Action(url, query).then((res) => {
if (res.success) {
this.confirmLoading = false
if (res.result && res.result.length > 0) {
if (res.result && res.result.length > 0 && res.result instanceof Array) {
let detailedWarningList = []
res.result.forEach(val => {
detailedWarningList.push(
@@ -1055,22 +1055,22 @@
isResultReported: false,
// fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number
fieldList: [
{
type: 'string',
value: 'correspondingStandard',
text: this.$t('correspondingStandard')
},
// {
// type: 'string',
// value: 'correspondingStandard',
// text: this.$t('correspondingStandard')
// },
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{
type: '',
value: 'implementType',
text: this.$t('implementationCategory'),
dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
// {
// type: '',
// value: 'implementType',
// text: this.$t('implementationCategory'),
// dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
// },
{
type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
@@ -1104,24 +1104,12 @@
text: this.$t('areaOfResponsibility'),
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: '',
value: 'region',
text: this.$t('zoneOfApplication'),
dictCode: 'region'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'Personnel',
value: 'regulationOwnerId',
valueName: 'regulationOwnerIdName',
text: this.$t('regulatoryEngineer')
},
{
type: 'Personnel',
value: 'homologationEngineerId',
valueName: 'homologationEngineerIdName',
text: this.$t('certifiedEngineer')
},
{
type: 'Personnel',
value: 'engineeringInterfacePerson',
@@ -1612,25 +1600,44 @@
}
}
for (let i = 0; i < content.length > 0; i++) {
if (content[i].verifyFlowStatus == 'List to be checked' ||
content[i].designFlowStatus == 'List to be checked' ||
content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
if (this.roleSwitchingCode == 0) {
if (content[i].verifyFlowStatus == 'List to be checked' ||
content[i].designFlowStatus == 'List to be checked' ||
content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
}
} else if (this.roleSwitchingCode == 1 || this.roleSwitchingCode == 30) {
if (content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
}
}
}
if (detailedWarningList && detailedWarningList.length > 0) {
this.questionWarning.push(
< div > {
detailedWarningList
.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')
} < /div>)
if (this.roleSwitchingCode == 0){
this.questionWarning.push(
< div > {
detailedWarningList.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')
} < /div>)
}else if(this.roleSwitchingCode == 1 || this.roleSwitchingCode == 30){
this.questionWarning.push(
< div > {
detailedWarningList.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')+this.$t('andTheProcessStatusTheList')
} < /div>)
}
}
if (this.questionIdList && this.questionIdList.length > 0) {
this.visibleQuestion = true
@@ -35,12 +35,14 @@
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
<a-button class="box-button" style="margin-left: 8px"
<a-button class="box-button" type="primary"
style="margin-right: 8px"
@click="searchQuery">{{ $t('query') }}</a-button>
<a-button class="box-button"
@click="searchReset">{{ $t('reset') }}</a-button>
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
</a-col>
</span>
</a-row>
@@ -58,37 +60,50 @@
:columns="columns"
>
<span slot="titleName" slot-scope="text,record" :title="text">
{{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }}
<span class="textName">
{{ text }}
</span>
</span>
<span slot="designDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.designDeliverableTemplateName,record.designDeliverableTemplate)">
{{ record.designDeliverableTemplateName }}
</a>
<a v-else-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.designDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
<span slot="standard" slot-scope="text,record" :title="text">
<a class="textName" @click="standardClick(record)">
{{ text }}
</a>
</span>
<span slot="prehomoDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.prehomoDeliverableTypeName }}</span><br v-if="record.prehomoDeliverableTypeName">
<a v-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.prehomoDeliverableTemplateName,record.prehomoDeliverableTemplate)">
{{ record.prehomoDeliverableTemplateName }}
</a>
<a v-else-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.prehomoDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,result">
<span class="viewFile"
@click="viewFileClick(result.verifyDeliverableTemplate)"
v-if="result.verifyDeliverableTemplate">
{{$t('viewFile')}}
</span>
<span v-else>--</span>
</span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.verifyDeliverableTypeName }}</span><br v-if="record.verifyDeliverableTypeName">
<a v-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.verifyDeliverableTemplateName,record.verifyDeliverableTemplate)">
{{ record.verifyDeliverableTemplateName }}
</a>
<a v-else-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.verifyDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
<span slot="designDeliverableTemplate" slot-scope="text,result">
<span class="viewFile"
@click="viewFileClick(result.designDeliverableTemplate)"
v-if="result.designDeliverableTemplate">
{{$t('viewFile')}}
</span>
<span v-else>--</span>
</span>
<span slot="designFlowStatusName" slot-scope="text,result">
<span v-if="result.designFlowStatus == 'List to be released' ||
result.designFlowStatus == 'List to be checked'"
:title="text">
{{text}}
</span>
<a v-else @click="designFlowStatusClick(result,$t('designComplianceReview'))"
:title="text">{{text}}</a>
</span>
<span slot="verifyFlowStatusName" slot-scope="text,result">
<span v-if="result.verifyFlowStatus == 'List to be released' ||
result.verifyFlowStatus == 'List to be checked'"
:title="text">
{{text}}
</span>
<a v-else @click="designFlowStatusClick(result,$t('verificationComplianceReview'))"
:title="text">{{text}}</a>
</span>
</a-table>
</div>
@@ -125,12 +140,16 @@
</span>
</a-table>
</a-modal>
<viewFileModel ref="viewFileModelRef"/>
<designCompliance ref="designComplianceRef"/>
</a-card>
</template>
<script>
import ImportFile from '@/components/ImportFile/index'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import viewFileModel from '@/components/viewFileModel/index'
import designCompliance from '../../toDoCenter/projectRegulationTasks/components/designCompliance'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64'
@@ -139,22 +158,25 @@
name: 'index',
components: {
globalAdvancedQuery,
ImportFile
ImportFile,
viewFileModel,
designCompliance
},
data() {
return {
columns: [
{
title: this.$t('standard'),
align: 'center',
align: 'left',
dataIndex: 'serialNumber',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
sorter: true,
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
width: 180,
fixed: 'left',
@@ -162,180 +184,140 @@
},
{
title: this.$t('subtitle'),
align: 'center',
align: 'left',
dataIndex: 'subtitle',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('listConfirmationStatus'),
align: 'center',
ellipsis: true,
dataIndex: 'inventoryAffirmStatusName'
width: 180
},
{
title: this.$t('taskAffirmStatus'),
align: 'center',
title: this.$t('applicableSupplement'),
align: 'left',
ellipsis: true,
dataIndex: 'taskAffirmStatusName'
},
// {
// title: this.$t('taskReleaseStatus'),
// align: 'center',
// dataIndex: 'taskReleaseStatus'
// },
{
title: this.$t('correspondingStandard'),
align: 'center',
ellipsis: true,
dataIndex: 'correspondingStandard'
},
{
title: this.$t('implementationCategory'),
align: 'center',
ellipsis: true,
dataIndex: 'implementType_dictText'
},
{
title: this.$t('ImplementationDate'),
align: 'center',
ellipsis: true,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1'
},
{
title: this.$t('vehicleInProductionDate'),
align: 'center',
ellipsis: true,
dataIndex: 'implementTime'
},
{
title: 'WVTA ID',
align: 'center',
dataIndex: 'wvtaId',
ellipsis: true
dataIndex: 'applicableSupplement',
width: 200
},
{
title: this.$t('certificationType'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'attestationType_dictText'
dataIndex: 'attestationType_dictText',
width: 180
},
{
title: this.$t('certificationLevel'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'attestationRank_dictText'
dataIndex: 'attestationRank_dictText',
width: 180
},
//
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
sorter: true,
dataIndex: 'dutyTerritory_dictText',
width: 180
},
{
title: this.$t('regulatoryEngineer'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'regulationOwnerName'
},
{
title: this.$t('certifiedEngineer'),
align: 'center',
ellipsis: true,
dataIndex: 'homologationEngineerName'
sorter: true,
dataIndex: 'regulationOwnerName',
width: 180
},
{
title: this.$t('engineeringInterfacePerson'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'engineeringInterfacePersonName'
sorter: true,
dataIndex: 'engineeringInterfacePersonName',
width: 180
},
{
title: this.$t('remarks'),
align: 'center',
ellipsis: true,
dataIndex: 'remark'
align: 'left',
dataIndex: 'remark',
width: 180,
ellipsis: true
},
{
title: this.$t('confirmationOfDesignConformity'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'designDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'designDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'designInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'designDutyName',
align: 'center'
dataIndex: 'designDutyIdName',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'designDueDate',
align: 'center'
}
]
},
{
title: this.$t('PrehomoConfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'prehomoDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'prehomoDeliverableTemplateName' }
align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('Sponsor'),
dataIndex: 'prehomoInitiatorName',
align: 'center'
title: this.$t('ProcessStatus'),
dataIndex: 'designFlowStatusName',
align: 'left',
ellipsis: true,
width: 140,
scopedSlots: { customRender: 'designFlowStatusName' }
},
{
title: this.$t('personLiable'),
dataIndex: 'prehomoDutyName',
align: 'center'
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'prehomoDueDate',
align: 'center'
title: this.$t('deliverableTemplate'),
dataIndex: 'designDeliverableTemplate',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'designDeliverableTemplate' }
}
]
},
{
title: this.$t('verificationAndConformityconfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'verifyDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'verifyInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'verifyDutyName',
align: 'center'
dataIndex: 'verifyDutyIdName',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'verifyDueDate',
align: 'center'
align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('ProcessStatus'),
dataIndex: 'verifyFlowStatusName',
align: 'left',
ellipsis: true,
width: 180,
scopedSlots: { customRender: 'verifyFlowStatusName' }
},
{
title: this.$t('deliverableTemplate'),
dataIndex: 'verifyDeliverableTemplate',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
}
]
}
// {
// title: this.$t('operation'),
// align: 'left',
// fixed: 'right',
// width: 260,
// scopedSlots: { customRender: 'operation' }
// }
],
columnsFile: [
{
@@ -345,12 +327,6 @@
width: 260,
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
],
visibleFile: false,
dataSourceFile: [],
@@ -421,6 +397,73 @@
},
methods: {
...mapGetters(['userInfo']),
//流程状态点击事件
designFlowStatusClick(row, name) {
let query = {}
let TaskKey = ''
if (name == this.$t('designComplianceReview')) {
if (row.designFlowStatus == 'Task to be confirmed') {
TaskKey = 'zrrqr'
} else if (row.designFlowStatus == 'Results to be submitted') {
TaskKey = 'zrrtjjfw'
} else if (row.designFlowStatus == 'Results to be reviewed' ||
row.designFlowStatus == 'Compliance' ||
row.designFlowStatus == 'Non-Compliance' ||
row.designFlowStatus == 'To be tracked' ||
row.designFlowStatus == 'NA') {
TaskKey = 'fggcssh'
}
query = {
actiProcInstId: row.designPId,
projectTaskInventoryId: row.id,
projectLibraryId: row.projectLibraryId,
TaskKey: TaskKey,
isDisplay: false,
flowType: 2,
Sponsor: 'regulationOwnerName',
personLiable: 'designDutyIdName',
typeOfDeliverables: 'designDeliverableTypeName',
deliverableTemplate: 'designDeliverableTemplate',
DueDate: 'designDueDate',
remarks: 'designRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId
}
} else {
if (row.verifyFlowStatus == 'Task to be confirmed') {
TaskKey = 'zrrqr'
} else if (row.verifyFlowStatus == 'Results to be submitted') {
TaskKey = 'zrrtjjfw'
} else if (row.verifyFlowStatus == 'Results to be reviewed' ||
row.verifyFlowStatus == 'Compliance' ||
row.verifyFlowStatus == 'Non-Compliance' ||
row.verifyFlowStatus == 'To be tracked' ||
row.verifyFlowStatus == 'NA') {
TaskKey = 'fggcssh'
}
query = {
actiProcInstId: row.verifyPId,
projectTaskInventoryId: row.id,
projectLibraryId: row.projectLibraryId,
TaskKey: TaskKey,
flowType: 4,
isDisplay: false,
Sponsor: 'regulationOwnerName',
personLiable: 'verifyDutyIdName',
typeOfDeliverables: 'verifyDeliverableTypeName',
deliverableTemplate: 'verifyDeliverableTemplate',
DueDate: 'verifyDueDate',
remarks: 'verifyRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId
}
}
this.$refs.designComplianceRef.getList(JSON.parse(JSON.stringify(query)), name)
},
searchQuery() {
this.getList()
},
@@ -502,6 +545,19 @@
download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id ,userName:this.userInfo().username})
},
standardClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.standId
}
})
window.open(newUrl.href, '_blank')
},
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
},
clickButtonToUpload(item) {
this.loading = true
this.visibleFile = true
@@ -521,8 +577,8 @@
this.loading = false
}
})
}
}
},
},
}
</script>
@@ -145,6 +145,25 @@
</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="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
</div>
<a-form-model-item class="itemModel" prop="deliverableTemplate">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('deliverableTemplate',index,true)">
{{ (item.deliverableTemplate === 'null' || item.deliverableTemplate === ''
||
item.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
</div>
</a-form-model>
</a-spin>
@@ -154,12 +173,14 @@
</div>
</a-drawer>
<codeNumber ref="codeNumber" @regulation="regulation" />
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
</div>
</template>
<script>
import codeNumber from './codeNumber'
import uploadFile from '@/components/uploadFile/file'
import { getAction, postAction } from '@/api/manage'
import { mapGetters } from 'vuex'
@@ -167,7 +188,8 @@ export default {
name:"addModel",
props: ['url'],
components:{
codeNumber
codeNumber,
uploadFile
},
data() {
return {
@@ -299,7 +321,45 @@ export default {
this.formInline = {... this.formInline}
this.$refs.ruleForm.validateField(['serialNumber'])
})
}
},
//交付物模板上传
clickButtonToUpload(item, index,isTrue) {
this.numIndex = index
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.uploadName = item
let ids = ''
console.log(index)
if (isTrue){
ids = this.formInline.dataList[index][item]
}else{
ids = this.formInline[item]
}
console.log(this.formInline,1111)
getAction('sys/common/getFileInfos', { id: ids }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
/** 上传文件的回调 */
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
/** 赋值给当前对应的表单文件 */
if (this.formInline.id) {
this.formInline[this.uploadName] = attIdList.join(',')
} else {
this.formInline.dataList[this.numIndex][this.uploadName] = attIdList.join(',')
}
this.formInline = { ...this.formInline }
},
}
}
</script>
@@ -366,4 +426,13 @@ export default {
font-size: 16px;
margin-right: 4px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
</style>
@@ -127,6 +127,25 @@
</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="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
</div>
<a-form-model-item class="itemModel" prop="deliverableTemplate">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('deliverableTemplate')">
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
||
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-spin>
<div class="drawer-bootom-button">
@@ -135,18 +154,21 @@
</div>
</a-drawer>
<codeNumber ref="codeNumber" @regulation="regulation" />
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
</div>
</template>
<script>
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import codeNumber from './codeNumber'
import uploadFile from '@/components/uploadFile/file'
export default {
name:'editModel',
props: ['url'],
components:{
codeNumber
codeNumber,
uploadFile
},
data() {
return {
@@ -276,7 +298,44 @@ export default {
this.formInline = {... this.formInline}
this.$refs.ruleForm.validateField(['serialNumber'])
})
}
},
//交付物模板
clickButtonToUpload(item, index,isTrue) {
this.numIndex = index
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.uploadName = item
let ids = ''
console.log(index)
if (isTrue){
ids = this.formInline.dataList[index][item]
}else{
ids = this.formInline[item]
}
getAction('sys/common/getFileInfos', { id: ids }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
/** 上传文件的回调 */
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
/** 赋值给当前对应的表单文件 */
if (this.formInline.id) {
this.formInline[this.uploadName] = attIdList.join(',')
} else {
this.formInline.dataList[this.numIndex][this.uploadName] = attIdList.join(',')
}
this.formInline = { ...this.formInline }
},
}
}
</script>
@@ -333,4 +392,13 @@ export default {
background: #fff;
border-radius: 0 0 2px 2px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
</style>
@@ -206,9 +206,17 @@
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns">
<span slot="item" slot-scope="text,record">
<a @click="itemClick(record)">{{text}}</a>
<span slot="deliverableTemplate" slot-scope="text,result">
<span class="viewFile"
@click="viewFileClick(result.deliverableTemplate)"
v-if="result.deliverableTemplate">
{{$t('viewFile')}}
</span>
<span v-else>--</span>
</span>
<!-- <span slot="item" slot-scope="text,record">-->
<!-- <a @click="itemClick(record)">{{text}}</a>-->
<!-- </span>-->
<span slot="operation" slot-scope="text,record">
<a v-if="isTrue"
class="text-operation"
@@ -236,6 +244,7 @@
<addModel :url="url" ref="addModelRef" @addModelList="addModelList"/>
<edit-model :url="url" ref="editModelRef" @editModelList="editModelList"></edit-model>
<bat-setting :url="url" ref="batSettingRef" @batSettingList="batSettingList"></bat-setting>
<viewFileModel ref="viewFileModelRef"/>
</div>
</template>
@@ -250,6 +259,7 @@
import addModel from '../components/addModel'
import editModel from '../components/editModel'
import batSetting from '../components/batSetting'
import viewFileModel from '@/components/viewFileModel/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default {
@@ -261,7 +271,8 @@
transferList,
addModel,
editModel,
batSetting
batSetting,
viewFileModel
},
mixins: [ResizeHeader, ResizeColumnProvide],
data() {
@@ -340,6 +351,14 @@
width: 330,
ellipsis: true
},
{
title: this.$t('deliverableTemplate'),
align: 'left',
dataIndex: 'deliverableTemplate',
width: 330,
ellipsis: true,
scopedSlots: { customRender: 'deliverableTemplate' }
},
{
title: this.$t('operation'),
align: 'left',
@@ -536,6 +555,10 @@
})
}
})
},
// 交付物模板
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
}
}
}
@@ -668,4 +691,9 @@
::v-deep .ant-table-placeholder {
margin-top: 8px !important;
}
.viewFile {
color: #00B3BE;
cursor: pointer;
}
</style>