对接手机端

This commit is contained in:
范强强
2023-06-05 13:56:20 +08:00
parent 370924f136
commit 115f6dfc60
6 changed files with 293 additions and 59 deletions
@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 2.16699C1 1.89085 1.22386 1.66699 1.5 1.66699H14.5C14.7761 1.66699 15 1.89085 15 2.16699V11.8337C15 12.1098 14.7761 12.3337 14.5 12.3337H1.5C1.22386 12.3337 1 12.1098 1 11.8337V2.16699ZM2 11.3337H14V2.66699H2V11.3337Z" fill="#040B29"/>
<path d="M12 13.3337H4C4 13.8859 4.48842 14.3337 5.09091 14.3337H10.9091C11.5116 14.3337 12 13.8859 12 13.3337Z" fill="#040B29"/>
</svg>

After

Width:  |  Height:  |  Size: 481 B

+2
View File
@@ -1869,4 +1869,6 @@ module.exports = {
treatmentMode:'Treatment Mode',
onlyMobilePhoneAreDisplayed:'Only the tasks that can be handled by the mobile phone are displayed',
phoneReset:'Reset',
noMore:'No More',
loading:'Loading...',
}
+2
View File
@@ -1970,4 +1970,6 @@ module.exports = {
treatmentMode:'处理方式',
onlyMobilePhoneAreDisplayed:'仅展示手机端可处理的任务',
phoneReset:'重置',
noMore:'没有更多了',
loading:'加载中...',
}
+62 -6
View File
@@ -5,7 +5,8 @@
<span class="logoTitle">NIO GRP</span>
</div>
<div class="content-box">
<van-search v-model="value" @search="onSearch" left-icon="none" right-icon="search" :placeholder="$t('phoneSearch')"/>
<van-search v-model="value" @search="onSearch" left-icon="none" right-icon="search"
:placeholder="$t('phoneSearch')"/>
</div>
<div class="content-box-value">
<div class="left-img">
@@ -13,7 +14,8 @@
</div>
<div class="text-left">
<div class="text-left-top">{{$t('DocumentLibrary')}}</div>
<div class="text-left-button">{{$t('stored')+ ' '+568+' ' + $t('individual')+$t('document')}}</div>
<div class="text-left-button">{{$t('stored')+ ' '+documentLibraryTotal+' ' + $t('individual')+$t('document')}}
</div>
</div>
<div class="text-right" @click="documentDetailsClick">
{{$t('goToCheck')}}
@@ -25,7 +27,9 @@
</div>
<div class="text-left">
<div class="text-left-top">{{$t('problemKnowledgeBase')}}</div>
<div class="text-left-button">{{$t('stored')+ ' '+568+' ' + $t('individual')+$t('problemKnowledgeBase')}}</div>
<div class="text-left-button">{{$t('stored')+ ' '+problemKnowledgeBaseTotal+' ' +
$t('individual')+$t('problemKnowledgeBase')}}
</div>
</div>
<div class="text-right" @click="phoneProblemKnowledgeBaseClick">
{{$t('goToCheck')}}
@@ -37,7 +41,8 @@
</div>
<div class="text-left">
<div class="text-left-top">{{$t('monthlyReportRegulations')}}</div>
<div class="text-left-button">{{$t('stored')+ ' '+568+' ' + $t('individual')+$t('monthlyReportRegulations')}}
<div class="text-left-button">{{$t('stored')+ ' '+monthlyReportRegulationsTotal+' ' +
$t('individual')+$t('monthlyReportRegulations')}}
</div>
</div>
<div class="text-right" @click="processManagementClick">
@@ -54,16 +59,24 @@
</template>
<script>
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
export default {
name: 'phoneSearch',
data() {
return {
active: 'search',
value: ''
value: '',
documentLibraryTotal: 0,
problemKnowledgeBaseTotal: 0,
monthlyReportRegulationsTotal: 0
}
},
mounted() {
document.title = 'NIO GRP'
this.getDocumentLibrary()
this.getProblemKnowledgeBase()
this.getMonthlyReportRegulations()
},
methods: {
onChange(value) {
@@ -83,7 +96,10 @@
},
onSearch(value) {
this.$router.push({
path: '/phoneSearchList'
path: '/phoneSearchList',
query: {
searchValue: this.value
}
})
},
documentDetailsClick() {
@@ -100,6 +116,46 @@
this.$router.push({
path: '/phoneProblemKnowledgeBase'
})
},
getDocumentLibrary() {
let query = {
pageNo: '1',
pageSize: '10'
}
postAction('document/bussDocumentLibraryEO/queryPageInfo', query).then((res) => {
if (res.success) {
this.documentLibraryTotal = res.result.total
} else {
this.documentLibraryTotal = 0
}
})
},
getProblemKnowledgeBase() {
let query = {
pageNo: 1,
pageSize: 10,
releaseStatus: 'Have released'
}
getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/page', query).then((res) => {
if (res.success) {
this.problemKnowledgeBaseTotal = res.result.total
} else {
this.problemKnowledgeBaseTotal = 0
}
})
},
getMonthlyReportRegulations() {
let query = {
pageNo: 1,
pageSize: 10
}
getAction('/report/lawsMonthlyReportManageEO/page', query).then((res) => {
if (res.success) {
this.monthlyReportRegulationsTotal = res.result.total
} else {
this.monthlyReportRegulationsTotal = 0
}
})
}
}
}
@@ -97,6 +97,9 @@
},
mounted() {
document.title = 'NIO GRP'
if (this.$route.query.searchValue) {
this.value = this.$route.query.searchValue
}
},
methods: {
iconClick() {
+220 -53
View File
@@ -9,7 +9,7 @@
placeholder="搜索"/>
</div>
<div class="content">
<van-tabs v-model="activeTab">
<van-tabs v-model="activeTab" @change="activeChange">
<van-tab name="toDoProcess" :title="$t('toDoProcess')"></van-tab>
<van-tab name="processDone" :title="$t('processDone')"></van-tab>
<van-tab name="sentProcess" :title="$t('sentProcess')"></van-tab>
@@ -21,81 +21,109 @@
</div>
<div class="content-box" v-if="activeTab == 'toDoProcess'">
<div class="content-box-content" @click="toDoCenterClick" v-for="item in 8">
<div class="content-box-title">
ISO 16750-4-2003
</div>
<div class="content-box-type">
<van-list
v-model="toDoProcessLoading"
:finished="toDoProcessFinished"
:finished-text="$t('noMore')"
:loading-text="$t('loading')"
@load="toDoProcessOnLoad"
>
<div class="content-box-content"
@click="toDoCenterClick"
v-for="(item,index) in toDoProcessList"
:key="index">
<div class="content-box-title-to">
{{item.serialNumber}}
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span>
<span class="content-box-text">设计符合性流程</span>
</div>
<div class="content-box-type">
<span class="content-box-text">{{item.flowTypeShow}}</span>
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span>
<span class="content-box-text">Aries-G1.1-中国台湾-00</span>
</div>
<div class="content-box-type">
<span class="content-box-text">{{item.projectName}}</span>
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('node')}}</span>
<span class="content-box-text">符合性审查</span>
<span class="content-box-text">{{item.taskDefinitionKeyName || '--'}}</span>
</div>
<div class="content-box-right">
<img src="~@/assets/icon_single_screen.svg" alt="">
</div>
</div>
<div class="content-box-right">
符合性审查
</div>
</div>
</van-list>
</div>
<div class="content-box" v-else-if="activeTab == 'processDone'">
<div class="content-box-content" @click="toDoCenterClick" v-for="item in 8">
<div class="content-box-title">
ISO 16750-4-2003
</div>
<div class="content-box-type">
<van-list
v-model="processDoneLoading"
:finished="processDoneFinished"
:finished-text="$t('noMore')"
:loading-text="$t('loading')"
@load="processDoneOnLoad"
>
<div class="content-box-content" @click="toDoCenterClick"
v-for="(item,index) in processDoneList"
:key="index">
<div class="content-box-title">
{{item.serialNumber}}
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span>
<span class="content-box-text">设计符合性流程</span>
</div>
<div class="content-box-type">
<span class="content-box-text">{{item.flowTypeShow}}</span>
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span>
<span class="content-box-text">Aries-G1.1-中国台湾-00</span>
</div>
<div class="content-box-type">
<span class="content-box-text">{{item.projectName}}</span>
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('node')}}</span>
<span class="content-box-text">符合性审查</span>
<span class="content-box-text">{{item.taskDefinitionKeyName || '--'}}</span>
</div>
<!-- <div class="content-box-right">-->
<!-- 符合性审查-->
<!-- </div>-->
</div>
<div class="content-box-right">
符合性审查
</div>
</div>
</van-list>
</div>
<div class="content-box" v-else-if="activeTab == 'sentProcess'">
<div class="content-box-content" @click="toDoCenterClick" v-for="item in 8">
<div class="content-box-title">
ISO 16750-4-2003
</div>
<div class="content-box-type">
<van-list
v-model="sentProcessLoading"
:finished="sentProcessFinished"
:finished-text="$t('noMore')"
:loading-text="$t('loading')"
@load="sentProcessOnLoad"
>
<div class="content-box-content" @click="toDoCenterClick"
v-for="(item,index) in sentProcessList"
:key="index">
<div class="content-box-title">
{{item.serialNumber}}
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span>
<span class="content-box-text">设计符合性流程</span>
</div>
<div class="content-box-type">
<span class="content-box-text">{{item.flowTypeShow}}</span>
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span>
<span class="content-box-text">Aries-G1.1-中国台湾-00</span>
</div>
<div class="content-box-type">
<span class="content-box-text">{{item.projectName}}</span>
</div>
<div class="content-box-type">
<span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('node')}}</span>
<span class="content-box-text">符合性审查</span>
<span class="content-box-text">{{item.taskDefinitionKeyName || '--'}}</span>
</div>
</div>
<div class="content-box-right">
符合性审查
</div>
</div>
</van-list>
</div>
<van-tabbar v-model="active" @change="onChange">
<van-tabbar-item name="search" icon="search">{{$t('phoneSearch')}}</van-tabbar-item>
@@ -160,6 +188,8 @@
</template>
<script>
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
export default {
name: 'phoneToDoCenter',
data() {
@@ -173,11 +203,27 @@
value: '',
activeTab: '',
language: localStorage.getItem('language'),
form: {}
form: {},
toDoProcessList: [],
toDoProcessLoading: false,
toDoProcessFinished: false,
toDoProcessPageNo: 0,
toDoProcessPageSize: 10,
processDoneList: [],
processDoneLoading: false,
processDoneFinished: false,
processDonePageNo: 0,
processDonePageSize: 10,
sentProcessList: [],
sentProcessLoading: false,
sentProcessFinished: false,
sentProcessPageNo: 1,
sentProcessPageSize: 10
}
},
mounted() {
document.title = 'NIO GRP'
this.getToDoProcess()
},
methods: {
onChange(value) {
@@ -195,6 +241,27 @@
})
}
},
activeChange() {
if (this.activeTab == 'toDoProcess') {
this.toDoProcessLoading = true
this.toDoProcessList = []
this.toDoProcessFinished = false
this.toDoProcessPageNo = 1
this.getToDoProcess()
} else if (this.activeTab == 'processDone') {
this.processDoneLoading = true
this.processDoneList = []
this.processDoneFinished = false
this.processDonePageNo = 1
this.getProcessDone()
} else if (this.activeTab == 'sentProcess') {
this.sentProcessLoading = true
this.sentProcessList = []
this.sentProcessFinished = false
this.sentProcessPageNo = 1
this.getSentProcess()
}
},
toDoCenterClick() {
this.$router.push({
path: '/phoneHandlingPage'
@@ -209,6 +276,93 @@
onConfirm(value) {
this.value = value
this.showPicker = false
},
toDoProcessOnLoad(value) {
if (this.toDoProcessFinished) {
this.toDoProcessList = []
this.toDoProcessFinished = false
} else {
this.toDoProcessPageNo++
this.getToDoProcess()
}
},
processDoneOnLoad() {
if (this.processDoneFinished) {
this.processDoneList = []
this.processDoneFinished = false
} else {
this.processDonePageNo++
this.getProcessDone()
}
},
sentProcessOnLoad() {
if (this.sentProcessFinished) {
this.sentProcessList = []
this.sentProcessFinished = false
} else {
this.sentProcessPageNo++
this.getSentProcess()
}
},
getToDoProcess() {
let query = {
pageNo: this.toDoProcessPageNo,
pageSize: this.toDoProcessPageSize
}
getAction('/todoCenter/projectProcess/todoTaskList', query).then((res) => {
if (res.success) {
if (res.result.records.length > 0 && this.toDoProcessPageNo > 1) {
this.toDoProcessList = this.toDoProcessList.concat(res.result.records)
} else if (res.result.records.length > 0 && this.toDoProcessPageNo == 1) {
this.toDoProcessList = res.result.records
} else if (res.result.records.length == 0) {
this.toDoProcessFinished = true
}
this.toDoProcessLoading = false
} else {
this.toDoProcessList = []
}
})
},
getProcessDone() {
let query = {
pageNo: this.processDonePageNo,
pageSize: this.processDonePageSize
}
getAction('/todoCenter/projectProcess/doneProcess', query).then((res) => {
if (res.success) {
if (res.result.records.length > 0 && this.processDonePageNo > 1) {
this.processDoneList = this.processDoneList.concat(res.result.records)
} else if (res.result.records.length > 0 && this.processDonePageNo == 1) {
this.processDoneList = res.result.records
} else if (res.result.records.length == 0) {
this.processDoneFinished = true
}
this.processDoneLoading = false
} else {
this.processDoneList = []
}
})
},
getSentProcess() {
let query = {
pageNo: this.sentProcessPageNo,
pageSize: this.sentProcessPageSize
}
getAction('/todoCenter/projectProcess/issuedProcess', query).then((res) => {
if (res.success) {
if (res.result.records.length > 0 && this.sentProcessPageNo > 1) {
this.sentProcessList = this.sentProcessList.concat(res.result.records)
} else if (res.result.records.length > 0 && this.sentProcessPageNo == 1) {
this.sentProcessList = res.result.records
} else if (res.result.records.length == 0) {
this.sentProcessFinished = true
}
this.sentProcessLoading = false
} else {
this.sentProcessList = []
}
})
}
}
}
@@ -335,6 +489,15 @@
font-weight: 600;
color: #040B29;
font-size: 0.4rem;
word-break: break-all;
}
.content-box-title-to {
font-family: PingFang SC-Semibold, PingFang SC;
font-weight: 600;
color: #040B29;
font-size: 0.4rem;
width: calc(100% - 0.7rem);
word-break: break-all;
}
.content-box-type {
@@ -344,11 +507,13 @@
color: #41475E;
display: flex;
margin-top: 0.08rem;
word-break: break-all;
}
.content-box-left {
width: 1rem;
display: inline-block;
word-break: break-all;
}
.content-box-left-one {
@@ -360,8 +525,6 @@
}
.content-box-right {
padding: 0.16rem 0.4rem;
background: #00B3BE;
display: inline-block;
font-size: 0.32rem;
border-radius: 0.14rem;
@@ -371,6 +534,10 @@
top: 0.3rem;
}
.content-box-right img {
width: 0.4rem;
}
.fixed {
position: fixed;
top: 0;
@@ -459,7 +626,7 @@
margin-bottom: 0.2rem;
}
::v-deep .van-field__body {
::v-deep .van-form .van-field__body {
margin-top: 0.2rem;
}