# mobileoa
**Repository Path**: ftah/mobileoa
## Basic Information
- **Project Name**: mobileoa
- **Description**: vant移动端
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2021-05-07
- **Last Updated**: 2026-09-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vantgl
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
## 公共组件
#### 打开一个层,添加/修改/查询界面
```
src\components\ComponentPopup\index.vue
```
```
componentName组件名,一般无使用
```
```
被包含的组件CrmImtTempCustomer中执行this.$emit('postSuccess', this.postData);方法时就会调用@postSuccess并获取得到值
```
#### 打开一个层,针对明细组件行的添加/修改/查询界面
```
src\components\ComponentEntryPopup\index.vue
```
````
componentName组件名,一般无使用
````
````
被包含的组件CrmImtDeliveryDetail中执行this.$emit('addDetail', this.detailData);this.$emit('editDetail', this.detailData);方法时就会调用@addDetail,@editDetail并获取得到值
````
## 发送通知
#### 可点击跳转的
````
import { sendAgentMessage } from '@/api/sys/send-message/index.js';
sendAgentMessage({
title: `${requestCodeName(signData.dct) + signData.doc}`,
description: `申请需要安排出库,${description}`,
url: url,
msgtype: 'textcard',
touser: Array.from(
new Set(
singers
.map(item => item)
.join()
.split(',')
)
)
.join()
.replace(/,/g, '|')
});
````
## 获取UDC的值
#### 带有独立标记的,temporaryDataKey为临时数据中的唯一标识
````
import { getUdcFun } from '@/js/getUdc.js';
await getUdcFun({
temporaryDataKey: 'CrmBbhSalesOrderStoreManager',
queryCondition: {
t: {
system: 'CRM',
module: 'BBH',
type: 'ROLE',
key: 'STORE_MANAGER'
}
}
}).then(res => {
this.storeManager = res;
});
````
## list列表组件
````
documentsData是签核时查看到本单据页面时传递到本单据list页面的数据,这个数据是码云配置的视图查询出来的
:documents-data="documentsData" :documents-data 是传递给list组件的数据,这里意思是:签核页面查看时看到这个单据的list页面,并且带上了documentsData码云配置视图的数据给你,你只要documentsData再丢给list组件的documents-data,然后这些数据就会在签核页面中的哪一行数据用list单据页面展示出来
v-if="documentsData == undefined" 这里就是判断是否是普通查看列表还是通过签核查看来隐藏了
````
## idnex开单页面
```` await this.initialization([
当看到这个方法,内部会进行一些操作
await this.initialization([
{ dtlObjName: 'reimbApplyDtlList', giteeDetailName: 'detail' },
{ dtlObjName: 'reimbAttachmentList', giteeDetailName: 'detail2' }
])
或
await this.initialization('reimbApplyDtlList')
作用是如果是一个多明细单据,签核配置码云view数据返回时可以自动转换成单据需要的对象名
且,如果是在签核页面中打开单据明细,不会再搜索一次,会使用码云view的数据(码云view的数据就是最新的),传递到docDetails中
如果只有id在地址栏,打开单据idnex时,将会查询一次,赋值到docDetails对象中,也赋值到postData对象(用于页面修改变化展示),类似后期做的功能,都是列表处点击链接,跳转到开单处,带上id,查询一次
所以:可以用docDetails来判断是否是开单中,开单肯定是空。只有签核查看单据,或者列表跳转查看查询一次赋值才会有这个对象
documentPopupData是当此页面被Popup打开时的传值对象,有些功能,比如百变猴订货单列表,我想看是什么单据与当前这份A单有关联,但是通过tab路由形式在开单与列表页面跳来跳去不好,有些人需要通过一个弹框来打开查看,此时就需要这个对象来传值,列表点击A单“查看关联单据”按钮,就传值给documentPopupData来用弹框Popup打开B单,要配合component-popup组件使用
````