业务组件使用
1.0 介绍
对接要求:
- 接入小程序组件库:
@flyriselink/pai-mp-ui
; - 使用
uview组件库
:uview-ui": "^2.0.14
; - 引入支付组件库:
@flyriselink/pai-mp-widget
": "^1.0.1
。
2.0 业务组件
2.1 引入组件库
// package.json
"@flyriselink/pai-mp-widget": "^1.0.1"
2.2 初始化
存在两类组件:
- pai-widget :基础小组件,包含园区、消息、搜索;
- pai-address:主要是企业切换、组织结构、人员邀请。
//pages.js中初始化
"easycom": {
"autoscan": true,
"custom": {
"^pai-widget-(.*)": "@flyriselink/pai-mp-widget/widget/pai-widget-$1/pai-widget-$1.vue",
"^pai-address-(.*)": "@flyriselink/pai-mp-widget/widget/pai-address-$1/pai-address-$1.vue"
}
}
2.3 vue.config.js
//根目录/vue.config.js
module.exports = {
transpileDependencies: ['luch-request', '@flyriselink/pai-mp-ui', '@flyriselink/pai-mp-widget'],
css: {
loaderOptions: {
scss: {
prependData: `@import "~@/uni.scss";`
}
}
}
}
2.4 引入界面
以组织结构为示例:
//分包的情况下:pages_view/view/address/tree
<template>
<pai-address-tree></pai-address-tree>
</template>
<script>
export default {
data() {
return {
}
},
onLoad(e) {
this.$nextTick(() => {
this.$refs.tree.initData(e)
})
}
}
</script>
3.0 address组件
组件名 | 介绍 | 上线状态 |
---|---|---|
pai-address-tree |
组织机构 | 已上线 |
pai-address-candidate |
候选人 | 已上线 |
pai-address-contactslist |
手机通讯录列表 | 已上线 |
pai-address-entlist |
企业列表 | 已上线 |
pai-address-home |
通讯录主界面 | 已上线 |
pai-address-user |
员工详情 | 已上线 |
pai-address-invite |
邀请首页 | 已上线 |
pai-address-invitecode |
二维码邀请 | 已上线 |
pai-address-invitereview |
邀请审批 | 已上线 |
pai-address-invitephone |
手机号邀请 | 已上线 |
pai-address-pickpost |
选择岗位 | 已上线 |
pai-address-treemulti |
多选界面 | 已上线 |
3.1 选人:pai-address-tree
参数
参数名 | 默认值 | 介绍 |
---|---|---|
isPick |
False | 是否为选人 |
isPickPost |
False | 是否为选部门 |
isMulti |
False | 是否为多选 |
confirm |
Json | 确认后返回事件 |
路由
参数名 | 默认值 | 介绍 |
---|---|---|
router |
Null | 多选界面,绑定pai-address-treemulti 组件的界面 |
router2 |
Null | 用户详情,绑定pai-address-user 组件的界面 |
router3 |
Null | 岗位选择,绑定pai-address-pickpost 组件的界面 |
router4 |
Null | 候选人,绑定pai-address-candidate 组件的界面 |
代码
//分包的情况下:pages_view/view/address/tree
<template>
<pai-address-tree ref="tree" :router="router" :router2="router2" :router3="router3" :router4="router4"
:isPick="true" :isPickDept="false" :isPickPost="false" :isMulti="true" @confirm="confirm">
</pai-address-tree>
</template>
<script>
export default {
data() {
return {
router: "/pages_view/view/address/tree-multi", //多选界面
router2: "/pages_view/view/address/index", //用户详情
router3: "/pages_view/view/address/pick-post", //岗位选择
router4: "/pages_view/view/address/candidate" //候选人
}
},
onLoad(e) {
this.$nextTick(() => {
this.$refs.tree.initData(e)
})
},
methods: {
confirm(data) {
console.log("--result:", data)
}
}
}
</script>
//多选界面:pages_view/view/address/tree-multi
<template>
<pai-address-treemulti ref="treeMulti"></pai-address-treemulti>
</template>
<script>
export default {
onLoad(e) {
this.$nextTick(() => {
this.$refs.treeMulti.initData(e)
})
}
}
</script>
3.2 通讯录:pai-address-home
路由
参数名 | 默认值 | 介绍 |
---|---|---|
router |
Null | 用户信息,绑定pai-widget-user 组件的界面 |
router2 |
Null | 切换企业,绑定pai-address-entlist 组件的界面 |
router3 |
Null | 组织机构,绑定pai-address-tree 组件的界面 |
router4 |
Null | 邀请员工,绑定pai-address-invite 组件的界面 |
router5 |
Null | 人员审核,绑定pai-address-invitereview 组件的界面 |
代码
//分包的情况下:pages_view/view/address/home
<template>
<pai-address-home ref="home" :router="router" :router2="router2" :router3="router3"
:router4="router4" :router5="router5"></pai-address-home>
</template>
<script>
export default {
data() {
return {
router: "/pages_view/view/user/index", //用户信息
router2: "/pages_view/view/address/entList", //切换企业
router3: "/pages_view/view/address/tree", //组织机构
router4: "/pages_view/view/address/invite", //邀请人员
router5: "/pages_view/view/address/inviteReview" //人员审核
}
},
onShow() {
this.$nextTick(() => {
this.$refs.home.initData()
})
}
}
</script>
//分包的情况下:pages_view/view/user/index
<template>
<pai-widget-user ref="user"></pai-widget-user>
</template>
<script>
export default {
onLoad(e) {
this.$nextTick(() => {
this.$refs.user.initData(e)
})
},
onUnLoad() {
this.$refs.user.unLoad()
}
}
</script>
3.3 企业切换:pai-address-entlist
参数
参数名 | 默认值 | 介绍 |
---|---|---|
isPick |
False | 是否为选企业 |
hideInvite |
False | 是否隐藏邀请功能 |
confirm |
Json | 选择企业返回值 |
路由
参数名 | 默认值 | 介绍 |
---|---|---|
router |
Null | 邀请员工,绑定pai-address-invite 组件的界面 |
router2 |
Null | 加入企业,绑定pai-widget-work 组件的界面 |
代码
//分包的情况下:pages_view/view/address/entList
<template>
<pai-address-entlist ref="entList" :isPick="true" :hideInvite="true" :router="router" :router2="router2"
@confirm="confirm"></pai-address-entlist>
</template>
<script>
export default {
data() {
return {
result: {},
router: "/pages_view/view/address/invite",
router2: "/pages_view/view/work/index"
}
},
onLoad(e) {
this.result = e
},
onShow() {
this.$nextTick(() => {
this.$refs.entList.initData(this.result)ß
})
},
methods: {
confirm(item) {
console.log("-->>>item:", item)
}
}
}
</script>
//分包的情况下:pages_view/view/address/invite
<template>
<pai-address-invite ref="invite"></pai-address-invite>
</template>
<script>
export default {
onLoad() {
this.$nextTick(() => {
this.$refs.invite.initData()
})
}
}
</script>
4.0 widget组件
组件名 | 介绍 | 上架状态 |
---|---|---|
pai-widget-login |
登录页 | 已上线 |
pai-widget-password |
修改密码 | |
pai-widget-message |
消息中心 | |
pai-widget-messagesub |
消息中心子项 | |
pai-widget-micro |
应用列表 | |
pai-widget-park |
园区切换 | 已上线 |
pai-widget-search |
全文检索 | |
pai-widget-setting |
设置页 | 已上线 |
pai-widget-about |
关于页 | 已上线 |
pai-widget-user |
用户详情 | 已上线 |
pai-widget-modify |
用户修改 | 已上线 |
pai-widget-webview |
h5显示 | 已上线 |
pai-widget-work |
加入企业 | 已上线 |
pai-widget-worksubmit |
加入企业提交 | 已上线 |
4.1 园区切换:pai-widget-park
参数
参数名 | 默认值 | 介绍 |
---|---|---|
isPick |
False | 是否园区 |
confirm |
Json | 选择园区返回值 |
switch_park |
Json | 园区切换成功回调 |
refresh_main |
Json | 通知刷新主界面 |
代码
//分包的情况下:pages_view/view/park/index
<template>
<view>
<pai-widget-park ref="pMpPark" :isPick="true" @confirm="confirm"></pai-widget-park>
</view>
</template>
<script>
export default {
onPullDownRefresh() {
this.$refs.pMpPark.onRefresh()
},
onReachBottom() {
this.$refs.pMpPark.onLoadMore()
},
onLoad() {
uni.$on("switch_park", (data) => { //园区切换成功
this.onRefreshMain()
})
},
onUnload() {
uni.$off("switch_park", null)
},
methods: {
onRefreshMain() {
console.log("-->>> 切换成功")
//切换园区回调成功后,刷新主界面
uni.$emit("refresh_main", null)
},
confirm(item){
console.log("--->>item:",item)
}
}
}
</script>
<style>
</style>
4.2 登录:pai-widget-login
参数
参数名 | 默认值 | 介绍 |
---|---|---|
router |
Null | 查看隐私协议 |
router2 |
Null | 登录成功跳转的页面 |
router3 |
Null | 登录失败跳转的页面 |
代码
//分包的情况下:pages_view/view/login/index
<template>
<pai-widget-login ref="login" :router="router" :router2="router2" :router3="router3"></pai-widget-login>
</template>
<script>
// import Login from '@/pages_view/model/pai-mp-view/widget/login'
export default {
data() {
return {
router: "/pages_view/view/webview/index",//隐私协议
router2: "/pages/main/index",//登录成功
router3: "", //登录失败
}
},
onLoad() {
this.$nextTick(() => {
this.$refs.login.initData()
})
}
}
</script>
4.3 应用列表:pai-widget-micro
参数
参数名 | 默认值 | 介绍 |
---|---|---|
router |
Null | 查看应用详情 |
代码
//分包的情况下:pages_view/view/micro/index
<template>
<pai-widget-micro ref="microApp" :router="router"></pai-widget-micro>
</template>
<script>
export default {
data() {
return {
router: '/pages_view/view/webview/index'
}
},
onLoad() {
this.$nextTick(() => {
this.$refs.microApp.initData()
})
}
}
</script>
4.4 测试:pai-widget-testing
参数
参数名 | 默认值 | 介绍 |
---|---|---|
router |
Null | 查看应用详情 |
代码
//分包的情况下:pages/index/index
<template>
<view class="container">
<image class="logo" src="/static/pi_mian_logo.png" />
<pai-widget-testing></pai-widget-testing>
</view>
</template>
<style>
.container{
display: flex;
flex-direction: column;
align-items: center;
}
.logo {
height: 120rpx;
width: 120rpx;
margin-top: 32rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 24rpx;
}
</style>
文档更新时间: 2024-04-16 14:58 作者:陈冕