Merge remote-tracking branch 'origin/dev_20230526_Mobile'
# Conflicts: # jero-boot/db/蔚来标准sql/dev_2nd_period.sql
This commit is contained in:
Vendored
+64
-8
@@ -19,12 +19,14 @@
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.chromeframe {
|
||||
margin: 0.2em 0;
|
||||
background: #ccc;
|
||||
color: #000;
|
||||
padding: 0.2em 0;
|
||||
}
|
||||
|
||||
#loader-wrapper {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
@@ -33,6 +35,7 @@
|
||||
height: 100%;
|
||||
z-index: 999999;
|
||||
}
|
||||
|
||||
#loader {
|
||||
display: block;
|
||||
position: relative;
|
||||
@@ -57,6 +60,7 @@
|
||||
/* Chrome, Firefox 16+, IE 10+, Opera */
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
#loader:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
@@ -79,6 +83,7 @@
|
||||
animation: spin 3s linear infinite;
|
||||
/* Chrome, Firefox 16+, IE 10+, Opera */
|
||||
}
|
||||
|
||||
#loader:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
@@ -101,6 +106,7 @@
|
||||
animation: spin 1.5s linear infinite;
|
||||
/* Chrome, Firefox 16+, IE 10+, Opera */
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
@@ -119,6 +125,7 @@
|
||||
/* Firefox 16+, IE 10+, Opera */
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
@@ -137,6 +144,7 @@
|
||||
/* Firefox 16+, IE 10+, Opera */
|
||||
}
|
||||
}
|
||||
|
||||
#loader-wrapper .loader-section {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
@@ -152,12 +160,15 @@
|
||||
transform: translateX(0);
|
||||
/* Firefox 16+, IE 10+, Opera */
|
||||
}
|
||||
|
||||
#loader-wrapper .loader-section.section-left {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#loader-wrapper .loader-section.section-right {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/* Loaded */
|
||||
.loaded #loader-wrapper .loader-section.section-left {
|
||||
-webkit-transform: translateX(-100%);
|
||||
@@ -169,6 +180,7 @@
|
||||
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||
}
|
||||
|
||||
.loaded #loader-wrapper .loader-section.section-right {
|
||||
-webkit-transform: translateX(100%);
|
||||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||||
@@ -179,11 +191,13 @@
|
||||
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||
}
|
||||
|
||||
.loaded #loader {
|
||||
opacity: 0;
|
||||
-webkit-transition: all 0.3s ease-out;
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
|
||||
.loaded #loader-wrapper {
|
||||
visibility: hidden;
|
||||
-webkit-transform: translateY(-100%);
|
||||
@@ -195,13 +209,16 @@
|
||||
-webkit-transition: all 0.3s 1s ease-out;
|
||||
transition: all 0.3s 1s ease-out;
|
||||
}
|
||||
|
||||
/* JavaScript Turned Off */
|
||||
.no-js #loader-wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.no-js h1 {
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
#loader-wrapper .load_title {
|
||||
font-family: 'Open Sans';
|
||||
color: #FFF;
|
||||
@@ -214,6 +231,7 @@
|
||||
opacity: 1;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
#loader-wrapper .load_title span {
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
@@ -221,28 +239,66 @@
|
||||
color: #FFF;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* 滚动条优化 start */
|
||||
::-webkit-scrollbar{
|
||||
width:8px;
|
||||
height:8px;
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
::-webkit-scrollbar-track{
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #f6f6f6;
|
||||
border-radius:2px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb{
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #cdcdcd;
|
||||
border-radius:2px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover{
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #747474;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
/* 滚动条优化 end */
|
||||
</style>
|
||||
<!-- 全局配置 -->
|
||||
<script>
|
||||
// 判断当前设备
|
||||
function isMobile() {
|
||||
var userAgentInfo = navigator.userAgent
|
||||
|
||||
var mobileAgents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod']
|
||||
|
||||
var mobile_flag = false
|
||||
|
||||
//根据userAgent判断是否是手机
|
||||
for (var v = 0; v < mobileAgents.length; v++) {
|
||||
if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {
|
||||
mobile_flag = true
|
||||
break
|
||||
}
|
||||
}
|
||||
var screen_width = window.screen.width
|
||||
var screen_height = window.screen.height
|
||||
|
||||
//根据屏幕分辨率判断是否是手机
|
||||
if (screen_width < 500 && screen_height < 800) {
|
||||
mobile_flag = true
|
||||
}
|
||||
return mobile_flag
|
||||
}
|
||||
|
||||
if (isMobile()) {
|
||||
if (location.pathname == '/dashboard/analysis' || location.pathname == '/') {
|
||||
window.location.href = 'http://10.10.10.46:8102/phoneSearch'
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@@ -211,7 +211,8 @@
|
||||
height: 32px !important;
|
||||
line-height: 32px !important;
|
||||
}
|
||||
.page .ant-select-selection__rendered{
|
||||
|
||||
.page .ant-select-selection__rendered {
|
||||
height: 32px !important;
|
||||
line-height: 32px !important;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ router.beforeEach((to, from, next) => {
|
||||
router.addRoutes(store.getters.addRouters)
|
||||
let redirect = decodeURIComponent(from.query.redirect || to.path)
|
||||
if (mobile) {
|
||||
if (redirect == '/'){
|
||||
if (redirect == '/' || redirect == '/dashboard/analysis'){
|
||||
redirect = '/phoneSearch'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
pageSize: 10,
|
||||
loading: false,
|
||||
finished: false,
|
||||
isDisplay:false,
|
||||
isDisplay: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -65,7 +65,10 @@
|
||||
path: this.$route.query.goRouter,
|
||||
query: {
|
||||
searchValue: this.$route.query.searchValue,
|
||||
activeTab: this.$route.query.activeTab
|
||||
activeTab: this.$route.query.activeTab,
|
||||
searchFlowType: this.$route.query.searchFlowType,
|
||||
checked: this.$route.query.checked,
|
||||
selectModel: this.$route.query.selectModel
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -77,9 +80,9 @@
|
||||
path: '/phonePreHomoMangement',
|
||||
query: {
|
||||
taskDefinitionKey: this.$route.query.taskDefinitionKey,
|
||||
projectName:this.$route.query.projectName,
|
||||
projectName: this.$route.query.projectName,
|
||||
id: item.id,
|
||||
isDisplay:this.isDisplay
|
||||
isDisplay: this.isDisplay
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -97,9 +97,7 @@
|
||||
<van-form @submit="onSubmit" ref="form">
|
||||
<div class="resultofhandlingClass"
|
||||
v-if="$route.query.taskDefinitionKey == 'Task Review' ||
|
||||
$route.query.taskDefinitionKey == 'Task responsibility confirmation' ||
|
||||
($route.query.taskDefinitionKey == 'Task handling' && (queryForm.valueType == 'file' ||
|
||||
queryForm.valueType == 'text' || queryForm.valueType == 'select'))"
|
||||
$route.query.taskDefinitionKey == 'Task responsibility confirmation'"
|
||||
style="margin-bottom: 0.1rem">
|
||||
<span>{{$t('resultofhandling')}}</span>
|
||||
<span class="requiredClass"
|
||||
@@ -129,6 +127,7 @@
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field
|
||||
v-if="form.disposeResult == 'rzgcssc_tg'"
|
||||
v-model.trim="form.reportNumber"
|
||||
@@ -140,6 +139,7 @@
|
||||
maxlength="200"
|
||||
:placeholder="$t('pleaseEnter')+$t('reportNo')"
|
||||
/>
|
||||
|
||||
<van-field
|
||||
v-if="form.disposeResult == 'rzgcssc_tg'"
|
||||
v-model.trim="form.productModel"
|
||||
@@ -151,6 +151,7 @@
|
||||
maxlength="200"
|
||||
:placeholder="$t('pleaseEnter')+$t('productModel')"
|
||||
/>
|
||||
|
||||
<van-field
|
||||
v-if="form.disposeResult == 'rzgcssc_tg'"
|
||||
v-model.trim="form.productionEnterpriseName"
|
||||
@@ -187,7 +188,8 @@
|
||||
|
||||
<div class="resultofhandlingClass">
|
||||
<span>{{$t('DeliverablesResult')}}</span>
|
||||
<span class="requiredClass">*</span>
|
||||
<span class="requiredClass" v-if="queryForm.valueType == 'file' ||
|
||||
queryForm.valueType == 'select' || queryForm.valueType == 'text'">*</span>
|
||||
</div>
|
||||
|
||||
<van-field name="uploader" class="uploader"
|
||||
@@ -317,6 +319,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getDeliveryResult(item) {
|
||||
getAction('sys/common/getFileInfos', { id: item }).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -333,6 +336,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
disposeResultChange(value) {
|
||||
if (value == 'rzgcssc_tg') {
|
||||
this.form.reasonForReturn = ''
|
||||
@@ -349,6 +353,7 @@
|
||||
this.form = { ...this.form }
|
||||
})
|
||||
},
|
||||
|
||||
onSubmit() {
|
||||
this.$refs.form.validate().then(() => {
|
||||
this.textLoading = this.$t('Submitting')
|
||||
@@ -419,7 +424,15 @@
|
||||
//保存
|
||||
preservationClick() {
|
||||
let content = []
|
||||
content[0] = Object.assign(this.queryForm, this.form)
|
||||
let fileListId = []
|
||||
let form = JSON.parse(JSON.stringify(this.form))
|
||||
if (this.queryForm.valueType == 'file') {
|
||||
this.fileList.forEach(res => {
|
||||
fileListId.push(res.id)
|
||||
})
|
||||
form.deliveryResult = fileListId.join(',')
|
||||
}
|
||||
content[0] = Object.assign(this.queryForm, form)
|
||||
postAction(this.url.saveBatch, { 'dataList': content }).then((res) => {
|
||||
if (res.success) {
|
||||
this.ApprovedClick()
|
||||
|
||||
@@ -270,7 +270,10 @@
|
||||
path: this.$route.query.goRouter,
|
||||
query: {
|
||||
searchValue: this.$route.query.searchValue,
|
||||
activeTab: this.$route.query.activeTab
|
||||
activeTab: this.$route.query.activeTab,
|
||||
searchFlowType: this.$route.query.searchFlowType,
|
||||
checked: this.$route.query.checked,
|
||||
selectModel: this.$route.query.selectModel
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -455,7 +458,20 @@
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.show = false
|
||||
this.$router.go(-1)
|
||||
if (this.$route.query.goRouter) {
|
||||
this.$router.push({
|
||||
path: this.$route.query.goRouter,
|
||||
query: {
|
||||
searchValue: this.$route.query.searchValue,
|
||||
activeTab: this.$route.query.activeTab,
|
||||
searchFlowType: this.$route.query.searchFlowType,
|
||||
checked: this.$route.query.checked,
|
||||
selectModel: this.$route.query.selectModel
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
} else {
|
||||
this.show = false
|
||||
this.$message.warning(res.message)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
this.$router.push({
|
||||
path: '/phoneToDoCenter',
|
||||
query: {
|
||||
flowType: num
|
||||
searchFlowType: num
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -278,17 +278,21 @@
|
||||
},
|
||||
mounted() {
|
||||
document.title = 'NIO GRP'
|
||||
if (this.$route.query.flowType) {
|
||||
if (this.$route.query.searchFlowType) {
|
||||
let flowType = this.$route.query.searchFlowType
|
||||
flowType = flowType.split(',')
|
||||
this.form.flowType = []
|
||||
this.form.flowType.push(this.$route.query.flowType)
|
||||
this.form = { ...this.form }
|
||||
this.form.flowType = this.form.flowType.concat(flowType)
|
||||
}
|
||||
if (this.$route.query.searchValue){
|
||||
this.phoneQueryValue = this.$route.query.searchValue
|
||||
if (this.$route.query.searchValue) {
|
||||
this.phoneQueryValue = this.$route.query.searchValue
|
||||
}
|
||||
if (this.$route.query.activeTab) {
|
||||
this.activeTab = this.$route.query.activeTab
|
||||
this.form.checked = JSON.parse(this.$route.query.checked)
|
||||
this.form.selectModel = this.$route.query.selectModel
|
||||
}
|
||||
this.form = { ...this.form }
|
||||
// this.toDoProcessPageNo = 1
|
||||
// this.getToDoProcess()
|
||||
},
|
||||
@@ -476,8 +480,11 @@
|
||||
DueDate: 'designDueDate',
|
||||
remarks: 'designRemark',
|
||||
goRouter: '/phoneToDoCenter',
|
||||
searchValue:this.phoneQueryValue,
|
||||
activeTab:this.activeTab
|
||||
searchValue: this.phoneQueryValue,
|
||||
activeTab: this.activeTab,
|
||||
checked: this.form.checked,
|
||||
selectModel: this.form.selectModel,
|
||||
searchFlowType: this.form.flowType.join(','),
|
||||
}
|
||||
this.$router.push({
|
||||
path: '/phoneProcessManagement',
|
||||
@@ -499,8 +506,11 @@
|
||||
DueDate: 'verifyDueDate',
|
||||
remarks: 'verifyRemark',
|
||||
goRouter: '/phoneToDoCenter',
|
||||
searchValue:this.phoneQueryValue,
|
||||
activeTab:this.activeTab
|
||||
searchValue: this.phoneQueryValue,
|
||||
activeTab: this.activeTab,
|
||||
searchFlowType: this.form.flowType.join(','),
|
||||
checked: this.form.checked,
|
||||
selectModel: this.form.selectModel
|
||||
}
|
||||
this.$router.push({
|
||||
path: '/phoneProcessManagement',
|
||||
@@ -518,8 +528,11 @@
|
||||
isDisplay: isTrue,
|
||||
projectName: row.projectName,
|
||||
goRouter: '/phoneToDoCenter',
|
||||
searchValue:this.phoneQueryValue,
|
||||
activeTab:this.activeTab
|
||||
searchValue: this.phoneQueryValue,
|
||||
activeTab: this.activeTab,
|
||||
searchFlowType: this.form.flowType.join(','),
|
||||
checked: this.form.checked,
|
||||
selectModel: this.form.selectModel
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -597,6 +610,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getProcessDone() {
|
||||
let form = JSON.parse(JSON.stringify(this.form))
|
||||
if (form.flowType && form.flowType instanceof Array) {
|
||||
@@ -623,6 +637,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getSentProcess() {
|
||||
let form = JSON.parse(JSON.stringify(this.form))
|
||||
if (form.flowType && form.flowType instanceof Array) {
|
||||
@@ -649,6 +664,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
processClick(type) {
|
||||
if (!this.form.flowType) {
|
||||
this.form.flowType = []
|
||||
@@ -670,6 +686,7 @@
|
||||
}
|
||||
this.form = { ...this.form }
|
||||
},
|
||||
|
||||
checkboxGroupColor(type) {
|
||||
if (this.form.flowType && this.form.flowType.length > 0) {
|
||||
for (let i = 0; i < this.form.flowType.length; i++) {
|
||||
|
||||
@@ -74,9 +74,9 @@ export const JeroThirdLoginMixin = {
|
||||
doThirdLogin(token) {
|
||||
if (this.thirdLoginState === false) {
|
||||
this.thirdLoginState = true
|
||||
let param={};
|
||||
param.thirdType=this.thirdType
|
||||
param.token=token
|
||||
let param = {}
|
||||
param.thirdType = this.thirdType
|
||||
param.token = token
|
||||
this.ThirdLogin(param).then(res => {
|
||||
if (res.success) {
|
||||
this.loginSuccess()
|
||||
@@ -179,33 +179,63 @@ export const JeroThirdLoginMixin = {
|
||||
}
|
||||
})
|
||||
},
|
||||
loginSuccess () {
|
||||
// 判断当前设备
|
||||
isMobile() {
|
||||
var userAgentInfo = navigator.userAgent
|
||||
|
||||
var mobileAgents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod']
|
||||
|
||||
var mobile_flag = false
|
||||
|
||||
//根据userAgent判断是否是手机
|
||||
for (var v = 0; v < mobileAgents.length; v++) {
|
||||
if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {
|
||||
mobile_flag = true
|
||||
break
|
||||
}
|
||||
}
|
||||
var screen_width = window.screen.width
|
||||
var screen_height = window.screen.height
|
||||
|
||||
//根据屏幕分辨率判断是否是手机
|
||||
if (screen_width < 500 && screen_height < 800) {
|
||||
mobile_flag = true
|
||||
}
|
||||
return mobile_flag
|
||||
},
|
||||
loginSuccess() {
|
||||
// update-begin- author:sunjianlei --- date:20190812 --- for: 登录成功后不解除禁用按钮,防止多次点击
|
||||
// this.loginBtn = false
|
||||
// update-end- author:sunjianlei --- date:20190812 --- for: 登录成功后不解除禁用按钮,防止多次点击
|
||||
this.$router.push({ path: "/dashboard/analysis" }).catch(()=>{
|
||||
let fullPath = ''
|
||||
if (isMobile()) {
|
||||
fullPath = '/phoneSearch'
|
||||
} else {
|
||||
fullPath = '/dashboard/analysis'
|
||||
}
|
||||
this.$router.push({ path: fullPath }).catch(() => {
|
||||
console.log('登录跳转首页出错,这个错误从哪里来的')
|
||||
})
|
||||
this.$notification.success({
|
||||
message: '欢迎',
|
||||
description: `${timeFix()},欢迎回来`,
|
||||
});
|
||||
description: `${timeFix()},欢迎回来`
|
||||
})
|
||||
},
|
||||
cmsFailed(err){
|
||||
this.$notification[ 'error' ]({
|
||||
message: "登录失败",
|
||||
description:err,
|
||||
duration: 4,
|
||||
});
|
||||
},
|
||||
requestFailed (err) {
|
||||
this.$notification[ 'error' ]({
|
||||
cmsFailed(err) {
|
||||
this.$notification['error']({
|
||||
message: '登录失败',
|
||||
description: ((err.response || {}).data || {}).message || err.message || "请求出现错误,请稍后再试",
|
||||
duration: 4,
|
||||
});
|
||||
this.loginBtn = false;
|
||||
description: err,
|
||||
duration: 4
|
||||
})
|
||||
},
|
||||
requestFailed(err) {
|
||||
this.$notification['error']({
|
||||
message: '登录失败',
|
||||
description: ((err.response || {}).data || {}).message || err.message || '请求出现错误,请稍后再试',
|
||||
duration: 4
|
||||
})
|
||||
this.loginBtn = false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user