Commit bcc905cb by zhongqm

update:我要请假已经接入

parent 7ccd63cf
Pipeline #23922 failed with stage
in 0 seconds
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<meta name="format-detection" content="telephone=no"/> <meta name="format-detection" content="telephone=no"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<script src="miniapp://common/js/qing/qing.js"></script> <script src="miniapp://common/js/qing/qing.js"></script>
<!-- <script src="https://staging.jffctest.com/public/js/qing/latest/qing.js"></script>-->
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
......
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": [
"./src/shared/*"
],
"~com/*": [
"./src/shared/components/*"
],
"~lib/*": [
"./src/libraries/*"
],
"~config/*": [
"./src/shared/config/*"
] ,"~proj/*": [
"./src/projectDynamic/*"
]
}
}
}
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
"scripts": { "scripts": {
"dev": "node build/dev-server.js", "dev": "node build/dev-server.js",
"start": "npm run dev", "start": "npm run dev",
"build": "npm run build:vtest", "build": "npm run build:test",
"build:test": "cross-env PACK_ENV=prod PACK_VENV=vtest node build/build.js", "build:test": "cross-env PACK_ENV=prod PACK_VENV=vtest node build/build.js",
"build:prod": "cross-env PACK_ENV=prod PACK_VENV=vprod node build/build.js" "build:prod": "cross-env PACK_ENV=prod PACK_VENV=vprod node build/build.js"
}, },
......
// const testToken = 'T3353641990669312' // const testToken = 'T3353641990669312'
const basePreUrl = 'hr.hrself.'; const basePreUrl = 'hr.hrself.'
// export const SetToken = function (val) { // export const SetToken = function (val) {
// let env = process.env.NODE_ENV; // let env = process.env.NODE_ENV;
...@@ -14,24 +14,25 @@ const basePreUrl = 'hr.hrself.'; ...@@ -14,24 +14,25 @@ const basePreUrl = 'hr.hrself.';
// }) // })
// } // }
// } // }
//我要请假小程序appid
export const LeaveAppId = process.env.PACK_VENV === 'vprod' ? '500000125' : '500000125'
export default { export default {
LoginUrl: basePreUrl + "loginSelf", LoginUrl: basePreUrl + 'loginSelf',
AnnRollUrl: basePreUrl + "annRollListSelf", AnnRollUrl: basePreUrl + 'annRollListSelf',
PayRollUrl: basePreUrl + "payRollListSelf", PayRollUrl: basePreUrl + 'payRollListSelf',
PayRolDetailUrl: basePreUrl + "payRollInfoSelf", PayRolDetailUrl: basePreUrl + 'payRollInfoSelf',
InsurelUrl: basePreUrl + "insRecordInfoSelf", InsurelUrl: basePreUrl + 'insRecordInfoSelf',
FundUrl: basePreUrl + "fundRecordInfoSelf", FundUrl: basePreUrl + 'fundRecordInfoSelf',
AwardUrl: basePreUrl + "awardListSelf", AwardUrl: basePreUrl + 'awardListSelf',
RewUrl: basePreUrl + "rewProvideListSelf", RewUrl: basePreUrl + 'rewProvideListSelf',
UserInfoUrl: basePreUrl + "userInfoSelf", UserInfoUrl: basePreUrl + 'userInfoSelf',
UserModifyUrl: basePreUrl + "modifyUserInfoSelf", UserModifyUrl: basePreUrl + 'modifyUserInfoSelf',
AddCodeUrl: basePreUrl + "getCodeSelf", AddCodeUrl: basePreUrl + 'getCodeSelf',
HomeListUrl: basePreUrl + "homeListSelf", HomeListUrl: basePreUrl + 'homeListSelf',
HomeInfoUrl: basePreUrl + "homeInfoSelf", HomeInfoUrl: basePreUrl + 'homeInfoSelf',
HomeModifyUrl: basePreUrl + "modifyHomeInfoSelf", HomeModifyUrl: basePreUrl + 'modifyHomeInfoSelf',
DiamondUrl: basePreUrl + "diamondLifeV", DiamondUrl: basePreUrl + 'diamondLifeV',
UpdatePassword: basePreUrl + "updatePassword", UpdatePassword: basePreUrl + 'updatePassword',
SendCodeByUserName: basePreUrl + "sendCodeByUserName", SendCodeByUserName: basePreUrl + 'sendCodeByUserName',
UpdatePasswordByCode: basePreUrl + "updatePasswordByCode" UpdatePasswordByCode: basePreUrl + 'updatePasswordByCode'
} }
...@@ -17,7 +17,7 @@ const masConfig = process.env.PACK_VENV === 'vprod' ...@@ -17,7 +17,7 @@ const masConfig = process.env.PACK_VENV === 'vprod'
const mas = MAS.getInstance().config(masConfig) const mas = MAS.getInstance().config(masConfig)
Vue.prototype.$mas = mas Vue.prototype.$mas = mas
const debugToken = 'T5005556394836992' const debugToken = 'yzj_68ab62e08529511f15d5797337c1298f'
const debugUsername = 'hqhuang@cndrealty.com' const debugUsername = 'hqhuang@cndrealty.com'
// 调试模式下,为非V+包环境 // 调试模式下,为非V+包环境
const debug = process.env.NODE_ENV === 'development' const debug = process.env.NODE_ENV === 'development'
......
...@@ -71,7 +71,7 @@ export default { ...@@ -71,7 +71,7 @@ export default {
// await Api.setToken(this) // await Api.setToken(this)
// 修改导航条颜色 // 修改导航条颜色
this.$nativeApi.system.statusBarColor([255, 255, 255, 1]) // this.$nativeApi.system.statusBarColor([255, 255, 255, 1])
// 监听路由变化 // 监听路由变化
this.$router.beforeEach((to, from, next) => { this.$router.beforeEach((to, from, next) => {
......
<template> <template>
<div class="view-content has-header bg"> <div class='view-content has-header bg'>
<div class="user_info"> <div class='user_info'>
<div> <div>
<h2>{{userName}}</h2> <h2>{{ userName }}</h2>
<p>您已入职{{dayCount}}</p> <p>您已入职{{ dayCount }}</p>
<!-- <p>新的一天,新开始的开始!</p> --> <!-- <p>新的一天,新开始的开始!</p> -->
</div> </div>
<div class="photoWrapper"> <div class='photoWrapper'>
<img :src="photoUrl" class="round_icon" /> <img :src='photoUrl' class='round_icon' />
</div> </div>
</div> </div>
<!-- 钻石人生-入口 (暂时隐藏)--> <!-- 钻石人生-入口 (暂时隐藏)-->
<div class="banner" @click="onBannerClick"> <div class='banner' @click='onBannerClick'>
<img class="bannerImg" src="../../assets/images/life_banner@2x.png" alt="life"> <img class='bannerImg' src='../../assets/images/life_banner@2x.png' alt='life'>
</div> </div>
<group gutter="0"> <group gutter='0'>
<cell :is-link="true" @click.native="clickMyInfo" class="border-top"> <cell :is-link='true' @click.native='clickMyInfo' class='border-top'>
<p class="cell-title" slot="title">个人信息修改</p> <p class='cell-title' slot='title'>个人信息修改</p>
<font-icon slot="icon" class="margin-r-8" type="ic_me" /> <font-icon slot='icon' class='margin-r-8' type='ic_me' />
<!-- <span slot="value" style="color:#D23930">完整度 {{percent}}</span> --> <!-- <span slot="value" style="color:#D23930">完整度 {{percent}}</span> -->
</cell> </cell>
<cell :is-link="true" @click.native="clickLeave" class="border-top"> <cell :is-link='true' @click.native='clickLeave' class='border-top'>
<p class="cell-title" slot="title">请假</p> <p class='cell-title' slot='title'>请假</p>
<font-icon slot="icon" class="margin-r-8" type="ic_qingjia" /> <font-icon slot='icon' class='margin-r-8' type='ic_qingjia' />
</cell> </cell>
<cell :is-link="true" @click.native="clickSalary" class="border-top"> <cell :is-link='true' @click.native='clickSalary' class='border-top'>
<p class="cell-title" slot="title">薪资查询</p> <p class='cell-title' slot='title'>薪资查询</p>
<font-icon slot="icon" class="margin-r-8" type="ic_xinzi" /> <font-icon slot='icon' class='margin-r-8' type='ic_xinzi' />
</cell> </cell>
<cell :is-link="true" @click.native="clickProve" class="border-top border-bottom"> <cell :is-link='true' @click.native='clickProve' class='border-top border-bottom'>
<p class="cell-title" slot="title">开具证明</p> <p class='cell-title' slot='title'>开具证明</p>
<font-icon slot="icon" class="margin-r-8" type="ic_zhengming" /> <font-icon slot='icon' class='margin-r-8' type='ic_zhengming' />
</cell> </cell>
</group> </group>
<img :src="require('../../assets/images/bg_bottom@2x.png')" class="bottom-img"/> <img :src="require('../../assets/images/bg_bottom@2x.png')" class='bottom-img' />
<login-dialog ref="dialogOA" v-on:loginSuccess="doLogin" /> <login-dialog ref='dialogOA' v-on:loginSuccess='doLogin' />
<half-year-dialog ref="halfYearDialog" @onButtonClick="gotoChange" /> <half-year-dialog ref='halfYearDialog' @onButtonClick='gotoChange' />
</div> </div>
</template> </template>
...@@ -45,6 +45,7 @@ import FontIcon from '@/components/commom/FontIcon' ...@@ -45,6 +45,7 @@ import FontIcon from '@/components/commom/FontIcon'
import { mapState, mapActions, mapMutations } from 'vuex' import { mapState, mapActions, mapMutations } from 'vuex'
import LoginDialog from './login' import LoginDialog from './login'
import HalfYearDialog from '@/components/commom/halfYearDialog' import HalfYearDialog from '@/components/commom/halfYearDialog'
import { LeaveAppId } from '@/api'
export default { export default {
components: { components: {
...@@ -55,7 +56,7 @@ export default { ...@@ -55,7 +56,7 @@ export default {
LoginDialog, LoginDialog,
HalfYearDialog HalfYearDialog
}, },
activated () { activated() {
this.init() this.init()
/* 用自定义事件重新document事件 /* 用自定义事件重新document事件
document.addEventListener('backbutton', this.onBackKeyDown) document.addEventListener('backbutton', this.onBackKeyDown)
...@@ -65,7 +66,7 @@ export default { ...@@ -65,7 +66,7 @@ export default {
} }
customEvt.addEventListener('backbutton', this._onBackKeyDown) customEvt.addEventListener('backbutton', this._onBackKeyDown)
}, },
deactivated () { deactivated() {
/* 用自定义事件重新document事件 /* 用自定义事件重新document事件
document.removeEventListener('backbutton', this.onBackKeyDown) document.removeEventListener('backbutton', this.onBackKeyDown)
*/ */
...@@ -79,7 +80,7 @@ export default { ...@@ -79,7 +80,7 @@ export default {
} }
}, },
watch: { watch: {
username () { username() {
// V+延时触发 // V+延时触发
if (this.username) { if (this.username) {
this.init() this.init()
...@@ -93,16 +94,16 @@ export default { ...@@ -93,16 +94,16 @@ export default {
'username', 'username',
'userid' 'userid'
]), ]),
userName () { userName() {
return this.userInfo.name return this.userInfo.name
}, },
dayCount () { dayCount() {
return this.userInfo.enterDay return this.userInfo.enterDay
}, },
percent () { percent() {
return this.userInfo.infoPercent return this.userInfo.infoPercent
}, },
photoUrl () { photoUrl() {
return this.userInfo.personPhoto ? (`data:image/jpeg;base64,${this.userInfo.personPhoto}`) : require('../../assets/images/avatar.png') return this.userInfo.personPhoto ? (`data:image/jpeg;base64,${this.userInfo.personPhoto}`) : require('../../assets/images/avatar.png')
} }
}, },
...@@ -118,7 +119,7 @@ export default { ...@@ -118,7 +119,7 @@ export default {
'updateIncumbencyProveInfo', 'updateIncumbencyProveInfo',
'updateIncomeProveInfo' 'updateIncomeProveInfo'
]), ]),
init () { init() {
// 移动端触发 // 移动端触发
if (this.username) { if (this.username) {
// 未登录,弹出登录对话框 // 未登录,弹出登录对话框
...@@ -129,22 +130,26 @@ export default { ...@@ -129,22 +130,26 @@ export default {
this.$mas.userName = this.username this.$mas.userName = this.username
} }
}, },
clickMyInfo () { clickMyInfo() {
this.$router.push({ name: 'myInfo' }) this.$router.push({ name: 'myInfo' })
}, },
clickSalary () { clickSalary() {
this.$router.push({ name: 'salaryList' }) this.$router.push({ name: 'salaryList' })
}, },
clickLeave () { clickLeave() {
this.$nativeApi.navigator.showWidget(['com.cnd.hr.leave']) // this.$nativeApi.navigator.showWidget(['com.cnd.hr.leave'])
qing.call('gotoLightApp', {
urlParam: 'cloudhub://miniapp?appid=' + LeaveAppId + '&path=index.html'
})
}, },
clickProve () { clickProve() {
// 清空缓存的证明数据 // 清空缓存的证明数据
this.updateIncumbencyProveInfo({}) this.updateIncumbencyProveInfo({})
this.updateIncomeProveInfo({}) this.updateIncomeProveInfo({})
this.$router.push({ name: 'prove' }) this.$router.push({ name: 'prove' })
}, },
onBackKeyDown (e) { onBackKeyDown(e) {
// 安卓点击返回键退出 // 安卓点击返回键退出
if (this.$router.currentRoute.name === 'homepage') { if (this.$router.currentRoute.name === 'homepage') {
this.$nativeApi.navigator.exit() this.$nativeApi.navigator.exit()
...@@ -167,7 +172,7 @@ export default { ...@@ -167,7 +172,7 @@ export default {
this.showHalfYearDialog() this.showHalfYearDialog()
} }
}, },
isNeedShowHalfYearDialog () { isNeedShowHalfYearDialog() {
let show = false let show = false
let isNeedCleanDate = false let isNeedCleanDate = false
// 上次确认状态 // 上次确认状态
...@@ -184,8 +189,8 @@ export default { ...@@ -184,8 +189,8 @@ export default {
let lastMonth = last.getMonth() + 1 let lastMonth = last.getMonth() + 1
let lastDay = last.getDate() let lastDay = last.getDate()
// 如果时间到了指定的日期,则需要再次弹出确认弹窗 // 如果时间到了指定的日期,则需要再次弹出确认弹窗
if (month === this.alertMonth && day === this.alertDay) { if (month === this.alertMonth && day === this.alertDay) {
if ( lastYear === year && lastMonth === month ) { if (lastYear === year && lastMonth === month) {
isNeedCleanDate = false isNeedCleanDate = false
// console.log('同年同月,不清除') // console.log('同年同月,不清除')
} else { } else {
...@@ -210,15 +215,15 @@ export default { ...@@ -210,15 +215,15 @@ export default {
} }
return show return show
}, },
showHalfYearDialog () { showHalfYearDialog() {
// 显示半年提示框(显示员工信息确认提示框) // 显示半年提示框(显示员工信息确认提示框)
// window.localStorage.setItem('lastShowDate_' + this.$store.state.shareStore.userid, new Date().getTime()) // window.localStorage.setItem('lastShowDate_' + this.$store.state.shareStore.userid, new Date().getTime())
this.$refs.halfYearDialog.showDialog() this.$refs.halfYearDialog.showDialog()
}, },
gotoChange () { gotoChange() {
this.clickMyInfo() this.clickMyInfo()
}, },
isNeedShowDiamondLife () { isNeedShowDiamondLife() {
// 新的一年里,第一次登录,自动打开钻石人生页面 // 新的一年里,第一次登录,自动打开钻石人生页面
let show = false let show = false
let lastDate = window.localStorage.getItem('newYear_' + this.$store.state.shareStore.userid) let lastDate = window.localStorage.getItem('newYear_' + this.$store.state.shareStore.userid)
...@@ -235,63 +240,69 @@ export default { ...@@ -235,63 +240,69 @@ export default {
} }
return show return show
}, },
showDiamondLife () { showDiamondLife() {
// 显示钻石人生 // 显示钻石人生
window.localStorage.setItem('newYear_' + this.$store.state.shareStore.userid, new Date().getTime()) window.localStorage.setItem('newYear_' + this.$store.state.shareStore.userid, new Date().getTime())
this.onBannerClick() this.onBannerClick()
}, },
onBannerClick () { onBannerClick() {
return return
// 钻石人生 // 钻石人生
this.$router.push({ name: 'diamondLife' }) this.$router.push({ name: 'diamondLife' })
} }
}, },
beforeRouteEnter (to, from, next) { beforeRouteEnter(to, from, next) {
next(vm => { next(vm => {
if (from.name === 'forgotPsw' || from.name === 'resetPsw') { if (from.name === 'forgotPsw' || from.name === 'resetPsw') {
// 再次显示登录对话框 // 再次显示登录对话框
vm.showLogin() vm.showLogin()
} }
}); })
} }
} }
</script> </script>
<!-- 全局样式 --> <!-- 全局样式 -->
<style lang="less"> <style lang='less'>
.vux-header { .vux-header {
background-color: #fff!important; background-color: #fff !important;
.vux-header-left { .vux-header-left {
color: #333333!important; color: #333333 !important;
.left-arrow:before { .left-arrow:before {
border-color: #333333!important; border-color: #333333 !important;
} }
} }
} }
.bg { .bg {
background-color: #ffffff!important; background-color: #ffffff !important;
} }
.weui-cells:before, .weui-cells:before,
.weui-cell:before { .weui-cell:before {
border-top: none!important; border-top: none !important;
} }
.weui-cells:after { .weui-cells:after {
border-bottom: none!important; border-bottom: none !important;
} }
.margin-r-8 { .margin-r-8 {
margin-right: 8px; margin-right: 8px;
} }
.border-top { .border-top {
border-top: 1px solid #D9D9D9; border-top: 1px solid #D9D9D9;
} }
.border-bottom { .border-bottom {
border-bottom: 1px solid #D9D9D9; border-bottom: 1px solid #D9D9D9;
} }
</style> </style>
<style lang="less" scoped> <style lang='less' scoped>
.user_info { .user_info {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
...@@ -302,11 +313,13 @@ export default { ...@@ -302,11 +313,13 @@ export default {
font-size: 24px; font-size: 24px;
font-weight: bold; font-weight: bold;
} }
p { p {
color: #666666; color: #666666;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
} }
.photoWrapper { .photoWrapper {
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -316,21 +329,25 @@ export default { ...@@ -316,21 +329,25 @@ export default {
height: 72px; height: 72px;
border-radius: 50%; border-radius: 50%;
overflow: hidden; overflow: hidden;
.round_icon { .round_icon {
width: 100%; width: 100%;
position: absolute; position: absolute;
left:50%; left: 50%;
top:50%; top: 50%;
transform:translate(-50%,-50%); transform: translate(-50%, -50%);
} }
} }
} }
.cell-title { .cell-title {
font-size: 20px; font-size: 20px;
} }
.weui-cell { .weui-cell {
padding: 15px; padding: 15px;
} }
.banner { .banner {
position: relative; position: relative;
width: 100%; width: 100%;
...@@ -344,6 +361,7 @@ export default { ...@@ -344,6 +361,7 @@ export default {
padding: 12px 15px; padding: 12px 15px;
} }
} }
.bottom-img { .bottom-img {
position: absolute; position: absolute;
width: 100%; width: 100%;
......
;(function (global) { ;(function(global) {
var qing = global.qing var qing = global.qing
var appMap = { var appMap = {
'com.jffc.gc-bak': '500000106', 'com.jffc.gc-bak': '500000106',
'com.jffc.gc': '500000113', 'com.jffc.gc': '500000113',
'com.jffc.supplier': '500000112' 'com.jffc.supplier': '500000112',
'com.cnd.hr.leave': '500000125'
} }
function isObject (value) { function isObject(value) {
return value !== null && typeof value === 'object' return value !== null && typeof value === 'object'
} }
var qingPromise = function (fnName, params) { var qingPromise = function(fnName, params) {
return new Promise(function (resolve, reject) { return new Promise(function(resolve, reject) {
var originSuccess = params.success var originSuccess = params.success
var originError = params.error var originError = params.error
var opt = Object.assign(params, { var opt = Object.assign(params, {
success: function (res) { success: function(res) {
if (originSuccess) { if (originSuccess) {
originSuccess(res) originSuccess(res)
} }
resolve(res) resolve(res)
}, },
error: function (e) { error: function(e) {
if (originError) { if (originError) {
originError(e) originError(e)
} }
...@@ -31,6 +32,7 @@ ...@@ -31,6 +32,7 @@
qing.call(fnName, opt) qing.call(fnName, opt)
}) })
} }
// 根据“工号”查询【工号、eid、orgId】等信息 // 根据“工号”查询【工号、eid、orgId】等信息
function getPersonInfosByJobNo(jobNos) { function getPersonInfosByJobNo(jobNos) {
var opt = { var opt = {
...@@ -45,8 +47,8 @@ ...@@ -45,8 +47,8 @@
jobNos: jobNos.join(',') jobNos: jobNos.join(',')
} }
} }
return new Promise(function (resolve, reject) { return new Promise(function(resolve, reject) {
opt.success = function (result) { opt.success = function(result) {
var success = (result || {}).success || false var success = (result || {}).success || false
var data = (result || {}).data || [] var data = (result || {}).data || []
if (String(success).toLowerCase() !== 'true' || data.length === 0) { if (String(success).toLowerCase() !== 'true' || data.length === 0) {
...@@ -55,7 +57,7 @@ ...@@ -55,7 +57,7 @@
} }
resolve(result.data) resolve(result.data)
} }
opt.error = function (e) { opt.error = function(e) {
reject(e) reject(e)
} }
qing.call('request', opt) qing.call('request', opt)
...@@ -76,8 +78,8 @@ ...@@ -76,8 +78,8 @@
oIds: oIds.join(',') oIds: oIds.join(',')
} }
} }
return new Promise(function (resolve, reject) { return new Promise(function(resolve, reject) {
opt.success = function (result) { opt.success = function(result) {
var success = (result || {}).success var success = (result || {}).success
var data = (result || {}).data || [] var data = (result || {}).data || []
if (String(success).toLowerCase() !== 'true' || data.length === 0) { if (String(success).toLowerCase() !== 'true' || data.length === 0) {
...@@ -86,7 +88,7 @@ ...@@ -86,7 +88,7 @@
} }
resolve(result.data) resolve(result.data)
} }
opt.error = function (e) { opt.error = function(e) {
reject(e) reject(e)
} }
qing.call('request', opt) qing.call('request', opt)
...@@ -95,11 +97,11 @@ ...@@ -95,11 +97,11 @@
// 通过qingjs选人 // 通过qingjs选人
function selectPersonByQing(selected, isMulti) { function selectPersonByQing(selected, isMulti) {
return new Promise(function (resolve, reject) { return new Promise(function(resolve, reject) {
qing.call('selectPersons', { qing.call('selectPersons', {
isMulti: isMulti, isMulti: isMulti,
selected: selected, selected: selected,
success: function (result) { success: function(result) {
var success = (result || {}).success || false var success = (result || {}).success || false
var persons = ((result || {}).data || {}).persons || [] var persons = ((result || {}).data || {}).persons || []
if ( if (
...@@ -119,7 +121,7 @@ ...@@ -119,7 +121,7 @@
function formatData2Mx(persons) { function formatData2Mx(persons) {
// openId和人员的映射关系 // openId和人员的映射关系
var personMap = {} var personMap = {}
var openIds = persons.map(function (p) { var openIds = persons.map(function(p) {
// 将云之家的人员字段与美信的人员字段映射起来 // 将云之家的人员字段与美信的人员字段映射起来
p.telephonenumber = p.phone p.telephonenumber = p.phone
p.cn = p.name p.cn = p.name
...@@ -130,8 +132,8 @@ ...@@ -130,8 +132,8 @@
personMap[openId] = p personMap[openId] = p
return openId return openId
}) })
return getPersonInfosByoIds(openIds).then(function (ids) { return getPersonInfosByoIds(openIds).then(function(ids) {
var persons = ids.map(function (personIds) { var persons = ids.map(function(personIds) {
var openId = personIds.oId var openId = personIds.oId
var jobNo = personIds.jobNo var jobNo = personIds.jobNo
// 从缓存里面查询对应人员 // 从缓存里面查询对应人员
...@@ -154,23 +156,23 @@ ...@@ -154,23 +156,23 @@
} }
// 根据openId选人 // 根据openId选人
selectedPromise selectedPromise
.then(function (persons) { .then(function(persons) {
var oIds = persons.map(function (p) { var oIds = persons.map(function(p) {
return p.oId return p.oId
}) })
return selectPersonByQing(oIds, isMulti) return selectPersonByQing(oIds, isMulti)
}) })
.then(function (persons) { .then(function(persons) {
// 格式化选人信息 // 格式化选人信息
return formatData2Mx(persons) return formatData2Mx(persons)
}) })
.then(function (persons) { .then(function(persons) {
successFn({ successFn({
result: true, result: true,
array: persons array: persons
}) })
}) })
.catch(function () { .catch(function() {
failFn({ failFn({
result: false, result: false,
array: [] array: []
...@@ -192,7 +194,7 @@ ...@@ -192,7 +194,7 @@
qing.call('request', opt) qing.call('request', opt)
} }
function openAppWithData (appName, data, url) { function openAppWithData(appName, data, url) {
var val = '' var val = ''
if (isObject(data)) { if (isObject(data)) {
data = JSON.stringify(data) data = JSON.stringify(data)
...@@ -204,12 +206,12 @@ ...@@ -204,12 +206,12 @@
val = data.replace(/'/gm, '∆∆').replace(/"/gm, 'åå') val = data.replace(/'/gm, '∆∆').replace(/"/gm, 'åå')
} }
val = encodeURIComponent(val) val = encodeURIComponent(val)
return new Promise(function (resolve, reject) { return new Promise(function(resolve, reject) {
qing.call('storage.setItem', { qing.call('storage.setItem', {
shared: true, shared: true,
key: appName, key: appName,
value: val, value: val,
success: function (res) { success: function(res) {
if (String(res.success).toLowerCase() === 'true') { if (String(res.success).toLowerCase() === 'true') {
qing.call('gotoLightApp', { qing.call('gotoLightApp', {
urlParam: url urlParam: url
...@@ -219,7 +221,7 @@ ...@@ -219,7 +221,7 @@
reject(res.error) reject(res.error)
} }
}, },
error: function (e) { error: function(e) {
reject(e) reject(e)
} }
}) })
...@@ -228,7 +230,7 @@ ...@@ -228,7 +230,7 @@
var handlers = { var handlers = {
MIDEACOMMON: { MIDEACOMMON: {
launchExternalAPPByThird: function (params, successFn, failFn) { launchExternalAPPByThird: function(params, successFn, failFn) {
params = params || [] params = params || []
if (!params.length) { if (!params.length) {
failFn('未检测到要打开应用的包名!') failFn('未检测到要打开应用的包名!')
...@@ -244,7 +246,7 @@ ...@@ -244,7 +246,7 @@
scheme = scheme.replace('://://', '://') scheme = scheme.replace('://://', '://')
qing.call('gotoApp', { qing.call('gotoApp', {
data: `${scheme}p?`, data: `${scheme}p?`,
success: function (result) { success: function(result) {
const success = (result || {}).success || false const success = (result || {}).success || false
if (`${success}`.toLowerCase() === 'true') { if (`${success}`.toLowerCase() === 'true') {
successFn(true) successFn(true)
...@@ -252,12 +254,12 @@ ...@@ -252,12 +254,12 @@
failFn('打开应用失败!') failFn('打开应用失败!')
} }
}, },
error: function () { error: function() {
failFn('打开应用失败!') failFn('打开应用失败!')
} }
}) })
}, },
setBounces: function (p, successFn, failFn) { setBounces: function(p, successFn, failFn) {
p = p || [0] p = p || [0]
var enable = p[0] var enable = p[0]
...@@ -271,11 +273,11 @@ ...@@ -271,11 +273,11 @@
}) })
successFn('success') successFn('success')
}, },
exit: function (p, successFn, failFn) { exit: function(p, successFn, failFn) {
qing.call('closeWebView') qing.call('closeWebView')
successFn('success') successFn('success')
}, },
openSysBrowser: function (urls, successFn, failFn) { openSysBrowser: function(urls, successFn, failFn) {
var u = urls || [] var u = urls || []
if (!u.length) { if (!u.length) {
failFn('未检测到要打开的url!') failFn('未检测到要打开的url!')
...@@ -289,7 +291,7 @@ ...@@ -289,7 +291,7 @@
success: successFn success: successFn
}) })
}, },
language: function (param, successFn, failFn) { language: function(param, successFn, failFn) {
var lang = 'zh-CN' var lang = 'zh-CN'
var result = navigator.userAgent.match(/(;|^)\s*lang\s*:([^;]*)/) var result = navigator.userAgent.match(/(;|^)\s*lang\s*:([^;]*)/)
if (result && result.length === 3) { if (result && result.length === 3) {
...@@ -301,7 +303,7 @@ ...@@ -301,7 +303,7 @@
language: lang.toLowerCase() language: lang.toLowerCase()
}) })
}, },
vcard: function (uids, successFn, failFn) { vcard: function(uids, successFn, failFn) {
var jobNos = uids || [] var jobNos = uids || []
if (!jobNos.length) { if (!jobNos.length) {
failFn('未检测到要打开人员的openId!') failFn('未检测到要打开人员的openId!')
...@@ -309,18 +311,18 @@ ...@@ -309,18 +311,18 @@
} }
// 通过工号获取openId,然后用openId打开人员详情页面。 // 通过工号获取openId,然后用openId打开人员详情页面。
getPersonInfosByJobNo(jobNos) getPersonInfosByJobNo(jobNos)
.then(function (personInfos) { .then(function(personInfos) {
// 打开人员卡片只有一条信息 // 打开人员卡片只有一条信息
qing.call('personInfo', { qing.call('personInfo', {
openId: personInfos[0].oId openId: personInfos[0].oId
}) })
successFn(true) successFn(true)
}) })
.catch(function (e) { .catch(function(e) {
failFn(e) failFn(e)
}) })
}, },
openUrl: function (params, successFn, failFn) { openUrl: function(params, successFn, failFn) {
// params的第一个参数是要打开的url // params的第一个参数是要打开的url
var url = (params || [])[0] var url = (params || [])[0]
// 第二个参数是打开url的参数 // 第二个参数是打开url的参数
...@@ -334,7 +336,7 @@ ...@@ -334,7 +336,7 @@
var fnName = _p.H5CallBackFunction.replace('()', '') var fnName = _p.H5CallBackFunction.replace('()', '')
var fn = window[fnName] var fn = window[fnName]
if (fn && (typeof fn === 'function')) { if (fn && (typeof fn === 'function')) {
qing.on('appear', function () { qing.on('appear', function() {
fn() fn()
}) })
} }
...@@ -343,7 +345,7 @@ ...@@ -343,7 +345,7 @@
urlParam: url urlParam: url
}) })
}, },
showWidget: function (params, successFn, failFn) { showWidget: function(params, successFn, failFn) {
if (!Array.isArray(params) || !params[0]) { if (!Array.isArray(params) || !params[0]) {
failFn('未检测到要打开的应用地址!') failFn('未检测到要打开的应用地址!')
return return
...@@ -355,27 +357,29 @@ ...@@ -355,27 +357,29 @@
return return
} }
var data = params[1] || '' var data = params[1] || ''
console.log('showWidget>>', { appName, appId, data })
openAppWithData( openAppWithData(
encodeURIComponent(appName), encodeURIComponent(appName),
data, data,
'cloudhub://miniapp?appid=' + appId + '&path=index.html' 'cloudhub://miniapp?appid=' + appId + '&path=index.html'
).then(successFn, failFn) ).then(successFn, failFn)
}, },
getExtra: function (params, successFn, failFn) { getExtra: function(params, successFn, failFn) {
if (Array.isArray(params)) { if (Array.isArray(params)) {
var appName = params[0] var appName = params[0]
if (appName) { if (appName) {
qing.call('storage.getItem', { qing.call('storage.getItem', {
key: encodeURIComponent(appName), key: encodeURIComponent(appName),
shared: true, shared: true,
success: function (res) { success: function(res) {
if (String(res.success).toLowerCase() === 'true') { if (String(res.success).toLowerCase() === 'true') {
try { try {
var data = (res.data || {}).value || '' var data = (res.data || {}).value || ''
data = decodeURIComponent(data) data = decodeURIComponent(data)
if (data) { if (data) {
// IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。 // IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
data = data.replace(/∆∆/gm, "'").replace(/åå/gm, '"') data = data.replace(/∆∆/gm, '\'').replace(/åå/gm, '"')
// 将json数据反编译回object // 将json数据反编译回object
if (data.indexOf('__json__=') === 0) { if (data.indexOf('__json__=') === 0) {
data = data.replace(/^__json__=/, '') data = data.replace(/^__json__=/, '')
...@@ -410,14 +414,14 @@ ...@@ -410,14 +414,14 @@
} }
}, },
MIDEAUSER: { MIDEAUSER: {
orgChoose: function (p, successFn, failFn) { orgChoose: function(p, successFn, failFn) {
selectPersons([], false, successFn, failFn) selectPersons([], false, successFn, failFn)
}, },
orgMuChoose: function (selected, successFn, failFn) { orgMuChoose: function(selected, successFn, failFn) {
selectPersons(selected, true, successFn, failFn) selectPersons(selected, true, successFn, failFn)
}, },
getUser: function (param, successFn, failFn) { getUser: function(param, successFn, failFn) {
getCurrentUserInfo(function (result) { getCurrentUserInfo(function(result) {
var success = (result || {}).success var success = (result || {}).success
var error = (result || {}).error var error = (result || {}).error
var data = (result || {}).data || {} var data = (result || {}).data || {}
...@@ -439,12 +443,12 @@ ...@@ -439,12 +443,12 @@
}) })
}) })
}, },
getUserPassword: function (param, successFn, failFn) { getUserPassword: function(param, successFn, failFn) {
successFn({}) successFn({})
} }
}, },
MIDEAPDF: { MIDEAPDF: {
showTxt: function (param, successFn, failFn) { showTxt: function(param, successFn, failFn) {
var p = param || {} var p = param || {}
if (!p.url) { if (!p.url) {
failFn('未检测到要打开文件的url!') failFn('未检测到要打开文件的url!')
...@@ -471,7 +475,7 @@ ...@@ -471,7 +475,7 @@
} }
qing.call('showFile', qingParam) qing.call('showFile', qingParam)
}, },
showPdf: function (urls, successFn, failFn) { showPdf: function(urls, successFn, failFn) {
var u = urls || [] var u = urls || []
if (!u.length) { if (!u.length) {
failFn('未检测到要打开文件的url!') failFn('未检测到要打开文件的url!')
...@@ -484,11 +488,12 @@ ...@@ -484,11 +488,12 @@
error: failFn error: failFn
}) })
}, },
showRAR: function () {} showRAR: function() {
}
} }
} }
global.cordova = { global.cordova = {
exec: function (successFn, failFn, module, method, params) { exec: function(successFn, failFn, module, method, params) {
params = params || [] params = params || []
console.warn('cordova-module:' + module + ', method:' + method) console.warn('cordova-module:' + module + ', method:' + method)
var modules = handlers[module.toUpperCase()] var modules = handlers[module.toUpperCase()]
...@@ -517,13 +522,13 @@ ...@@ -517,13 +522,13 @@
// } // }
global.navigator.camera = { global.navigator.camera = {
getPicture: function (successFn, failFn, params) { getPicture: function(successFn, failFn, params) {
var sourceType = params.sourceType || 1 var sourceType = params.sourceType || 1
var opt = { var opt = {
type: sourceType === 1 ? 'camera' : 'photo' type: sourceType === 1 ? 'camera' : 'photo'
} }
qingPromise('selectPic', opt) qingPromise('selectPic', opt)
.then(function (result) { .then(function(result) {
var success = (result || {}).success || false var success = (result || {}).success || false
var data = (result || {}).data || {} var data = (result || {}).data || {}
var error = (result || {}).error || '获取图片信息失败!' var error = (result || {}).error || '获取图片信息失败!'
...@@ -533,7 +538,7 @@ ...@@ -533,7 +538,7 @@
failFn(error) failFn(error)
} }
}) })
.catch(function (e) { .catch(function(e) {
failFn(e) failFn(e)
}) })
} }
......
...@@ -254,9 +254,11 @@ export default { ...@@ -254,9 +254,11 @@ export default {
} }
}) })
.catch(err => { .catch(err => {
console.log('报错了1>>',err)
commit('networkError', err, { root: true }) commit('networkError', err, { root: true })
}) })
} catch (error) { } catch (error) {
console.log('报错了2>>',err)
commit('networkError', error, { root: true }) commit('networkError', error, { root: true })
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment