对接手机端

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', treatmentMode:'Treatment Mode',
onlyMobilePhoneAreDisplayed:'Only the tasks that can be handled by the mobile phone are displayed', onlyMobilePhoneAreDisplayed:'Only the tasks that can be handled by the mobile phone are displayed',
phoneReset:'Reset', phoneReset:'Reset',
noMore:'No More',
loading:'Loading...',
} }
+2
View File
@@ -1970,4 +1970,6 @@ module.exports = {
treatmentMode:'处理方式', treatmentMode:'处理方式',
onlyMobilePhoneAreDisplayed:'仅展示手机端可处理的任务', onlyMobilePhoneAreDisplayed:'仅展示手机端可处理的任务',
phoneReset:'重置', phoneReset:'重置',
noMore:'没有更多了',
loading:'加载中...',
} }
+62 -6
View File
@@ -5,7 +5,8 @@
<span class="logoTitle">NIO GRP</span> <span class="logoTitle">NIO GRP</span>
</div> </div>
<div class="content-box"> <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>
<div class="content-box-value"> <div class="content-box-value">
<div class="left-img"> <div class="left-img">
@@ -13,7 +14,8 @@
</div> </div>
<div class="text-left"> <div class="text-left">
<div class="text-left-top">{{$t('DocumentLibrary')}}</div> <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>
<div class="text-right" @click="documentDetailsClick"> <div class="text-right" @click="documentDetailsClick">
{{$t('goToCheck')}} {{$t('goToCheck')}}
@@ -25,7 +27,9 @@
</div> </div>
<div class="text-left"> <div class="text-left">
<div class="text-left-top">{{$t('problemKnowledgeBase')}}</div> <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>
<div class="text-right" @click="phoneProblemKnowledgeBaseClick"> <div class="text-right" @click="phoneProblemKnowledgeBaseClick">
{{$t('goToCheck')}} {{$t('goToCheck')}}
@@ -37,7 +41,8 @@
</div> </div>
<div class="text-left"> <div class="text-left">
<div class="text-left-top">{{$t('monthlyReportRegulations')}}</div> <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> </div>
<div class="text-right" @click="processManagementClick"> <div class="text-right" @click="processManagementClick">
@@ -54,16 +59,24 @@
</template> </template>
<script> <script>
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
export default { export default {
name: 'phoneSearch', name: 'phoneSearch',
data() { data() {
return { return {
active: 'search', active: 'search',
value: '' value: '',
documentLibraryTotal: 0,
problemKnowledgeBaseTotal: 0,
monthlyReportRegulationsTotal: 0
} }
}, },
mounted() { mounted() {
document.title = 'NIO GRP' document.title = 'NIO GRP'
this.getDocumentLibrary()
this.getProblemKnowledgeBase()
this.getMonthlyReportRegulations()
}, },
methods: { methods: {
onChange(value) { onChange(value) {
@@ -83,7 +96,10 @@
}, },
onSearch(value) { onSearch(value) {
this.$router.push({ this.$router.push({
path: '/phoneSearchList' path: '/phoneSearchList',
query: {
searchValue: this.value
}
}) })
}, },
documentDetailsClick() { documentDetailsClick() {
@@ -100,6 +116,46 @@
this.$router.push({ this.$router.push({
path: '/phoneProblemKnowledgeBase' 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() { mounted() {
document.title = 'NIO GRP' document.title = 'NIO GRP'
if (this.$route.query.searchValue) {
this.value = this.$route.query.searchValue
}
}, },
methods: { methods: {
iconClick() { iconClick() {
+220 -53
View File
@@ -9,7 +9,7 @@
placeholder="搜索"/> placeholder="搜索"/>
</div> </div>
<div class="content"> <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="toDoProcess" :title="$t('toDoProcess')"></van-tab>
<van-tab name="processDone" :title="$t('processDone')"></van-tab> <van-tab name="processDone" :title="$t('processDone')"></van-tab>
<van-tab name="sentProcess" :title="$t('sentProcess')"></van-tab> <van-tab name="sentProcess" :title="$t('sentProcess')"></van-tab>
@@ -21,81 +21,109 @@
</div> </div>
<div class="content-box" v-if="activeTab == 'toDoProcess'"> <div class="content-box" v-if="activeTab == 'toDoProcess'">
<div class="content-box-content" @click="toDoCenterClick" v-for="item in 8"> <van-list
<div class="content-box-title"> v-model="toDoProcessLoading"
ISO 16750-4-2003 :finished="toDoProcessFinished"
</div> :finished-text="$t('noMore')"
<div class="content-box-type"> :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" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span> :class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span>
<span class="content-box-text">设计符合性流程</span> <span class="content-box-text">{{item.flowTypeShow}}</span>
</div> </div>
<div class="content-box-type"> <div class="content-box-type">
<span class="content-box-left" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span> :class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span>
<span class="content-box-text">Aries-G1.1-中国台湾-00</span> <span class="content-box-text">{{item.projectName}}</span>
</div> </div>
<div class="content-box-type"> <div class="content-box-type">
<span class="content-box-left" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('node')}}</span> :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>
<div class="content-box-right"> </van-list>
符合性审查
</div>
</div>
</div> </div>
<div class="content-box" v-else-if="activeTab == 'processDone'"> <div class="content-box" v-else-if="activeTab == 'processDone'">
<div class="content-box-content" @click="toDoCenterClick" v-for="item in 8"> <van-list
<div class="content-box-title"> v-model="processDoneLoading"
ISO 16750-4-2003 :finished="processDoneFinished"
</div> :finished-text="$t('noMore')"
<div class="content-box-type"> :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" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span> :class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span>
<span class="content-box-text">设计符合性流程</span> <span class="content-box-text">{{item.flowTypeShow}}</span>
</div> </div>
<div class="content-box-type"> <div class="content-box-type">
<span class="content-box-left" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span> :class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span>
<span class="content-box-text">Aries-G1.1-中国台湾-00</span> <span class="content-box-text">{{item.projectName}}</span>
</div> </div>
<div class="content-box-type"> <div class="content-box-type">
<span class="content-box-left" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('node')}}</span> :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>
<div class="content-box-right"> </van-list>
符合性审查
</div>
</div>
</div> </div>
<div class="content-box" v-else-if="activeTab == 'sentProcess'"> <div class="content-box" v-else-if="activeTab == 'sentProcess'">
<div class="content-box-content" @click="toDoCenterClick" v-for="item in 8"> <van-list
<div class="content-box-title"> v-model="sentProcessLoading"
ISO 16750-4-2003 :finished="sentProcessFinished"
</div> :finished-text="$t('noMore')"
<div class="content-box-type"> :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" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span> :class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('category')}}</span>
<span class="content-box-text">设计符合性流程</span> <span class="content-box-text">{{item.flowTypeShow}}</span>
</div> </div>
<div class="content-box-type"> <div class="content-box-type">
<span class="content-box-left" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span> :class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('project')}}</span>
<span class="content-box-text">Aries-G1.1-中国台湾-00</span> <span class="content-box-text">{{item.projectName}}</span>
</div> </div>
<div class="content-box-type"> <div class="content-box-type">
<span class="content-box-left" <span class="content-box-left"
:class="{'content-box-left-one':language == 'en-us' ? true : false}">{{$t('node')}}</span> :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>
<div class="content-box-right"> </van-list>
符合性审查
</div>
</div>
</div> </div>
<van-tabbar v-model="active" @change="onChange"> <van-tabbar v-model="active" @change="onChange">
<van-tabbar-item name="search" icon="search">{{$t('phoneSearch')}}</van-tabbar-item> <van-tabbar-item name="search" icon="search">{{$t('phoneSearch')}}</van-tabbar-item>
@@ -160,6 +188,8 @@
</template> </template>
<script> <script>
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
export default { export default {
name: 'phoneToDoCenter', name: 'phoneToDoCenter',
data() { data() {
@@ -173,11 +203,27 @@
value: '', value: '',
activeTab: '', activeTab: '',
language: localStorage.getItem('language'), 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() { mounted() {
document.title = 'NIO GRP' document.title = 'NIO GRP'
this.getToDoProcess()
}, },
methods: { methods: {
onChange(value) { 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() { toDoCenterClick() {
this.$router.push({ this.$router.push({
path: '/phoneHandlingPage' path: '/phoneHandlingPage'
@@ -209,6 +276,93 @@
onConfirm(value) { onConfirm(value) {
this.value = value this.value = value
this.showPicker = false 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; font-weight: 600;
color: #040B29; color: #040B29;
font-size: 0.4rem; 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 { .content-box-type {
@@ -344,11 +507,13 @@
color: #41475E; color: #41475E;
display: flex; display: flex;
margin-top: 0.08rem; margin-top: 0.08rem;
word-break: break-all;
} }
.content-box-left { .content-box-left {
width: 1rem; width: 1rem;
display: inline-block; display: inline-block;
word-break: break-all;
} }
.content-box-left-one { .content-box-left-one {
@@ -360,8 +525,6 @@
} }
.content-box-right { .content-box-right {
padding: 0.16rem 0.4rem;
background: #00B3BE;
display: inline-block; display: inline-block;
font-size: 0.32rem; font-size: 0.32rem;
border-radius: 0.14rem; border-radius: 0.14rem;
@@ -371,6 +534,10 @@
top: 0.3rem; top: 0.3rem;
} }
.content-box-right img {
width: 0.4rem;
}
.fixed { .fixed {
position: fixed; position: fixed;
top: 0; top: 0;
@@ -459,7 +626,7 @@
margin-bottom: 0.2rem; margin-bottom: 0.2rem;
} }
::v-deep .van-field__body { ::v-deep .van-form .van-field__body {
margin-top: 0.2rem; margin-top: 0.2rem;
} }