# 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组件使用 ````