vault backup: 2023-07-09 01:15:46

Affected files:
Daily Logs/2023.06 考核.md
Daily Logs/2023.07.md
Koala/README.md
Koala/_sidebar.md
Koala/atta/Pasted image 20230515161111.png
Koala/后台说明/商城管理/店铺装修/跳转到其他商城小程序.md
Koala/后台说明/商城管理/积分商城.md
Platform/README.md
Platform/_sidebar.md
Platform/atta/Snipaste_2023-02-01_14-39-14.png
Platform/atta/Snipaste_2023-03-20_09-36-39.png
Platform/atta/zd1.gif
Platform/index.html
Platform/产品管理/产品供应商-操作规范.md
Platform/产品管理/供应商信息维护.md
Platform/供应商付款/(预付款, 借款) - 申请.md
Platform/供应商付款/(预付款, 借款) - 退余额.md
Platform/供应商付款/(预付款, 借款) - 销账.md
Platform/供应商付款/ℹINFO.md
Platform/供应商付款/个人借款 - 退还, 清账单据.md
Platform/组团计划/地接组团计划.md
Platform/订单/刷单系统流程.md
Platform/订单/团款认领.md
Platform/订单/批量导入订单.md
Platform/财务/核算工具.md
Platform/财务/财务报表.md
Platform/财务/账单管理.md
Platform/需求/财务-U8对接.md
README.md
Templates/DailyLogs.md
docsify/docsify-mermaid@2.0.0_dist_docsify-mermaid.js
docsify/docsify@4.net_npm_docsify@4.js
docsify/docsify@4_lib_themes_vue.css
docsify/docsify_lib_plugins_zoom-image.min.js
docsify/fonts.google.css
docsify/mermaid-8ea29a40.js
docsify/mermaid@10_dist_mermaid.esm.min.mjs
docsify/selectAll-92b901d1.js
docsify/sequenceDiagram-1d99af4c.js
docsify/svgDrawCommon-daf0bec5.js
index-mermaid-native.html
index-mermaid-plugin.html
master
lyt 2 years ago
parent 37346c2317
commit 8431770a47

@ -0,0 +1,51 @@
---
_Created_: 2023-07-06 Thu
_Updated_: 2023-07-07 16:34 Fri
---
# 计划
### 第五季业务管理系统
1. 财务u8对接
- 业务系统账单数据与U8财务系统的对接开发和调试, 确保数据格式和内容符合对接EAI标准
- 对接测试, 检查数据传输的稳定性和准确性, 解决可能出现的问题和异常
- 数据准确性核查方案
- 根据测试反馈进行优化和完善
# 考核
## 维护
### 第五季业务管理系统
1. 优化了订单/产品管理模块: 订单/产品属性优化
2. 优化了核算工具和财务报表模块: 应收/应付核算逻辑优化
3. 修复了供应商付款和销账模块的一些问题
4. 增加了账单管理模块的一些功能: 携程酒店代理通的账单处理等
5. 样式调整和性能提升, 操作体验优化若干
## 重点工作
### 第五季业务管理系统
1. 财务U8对接
1. 应收账款凭据记账方案: 日账单 
2. 生成凭证: 业务员; 部门;
3. 数据人工映射和核对: 客户, 科目, 部门; (第五季,趣耍)
4. 合并发送API, 测试, 凭证发送U8
5. 演示和沟通会议
2. 会议后反馈:
1. 增加科目: 增值税(销项税额), 团款收入
2. 按客户+部门分别计算各科目
3. 增加下载明细附件
4. 优化U8返回的信息显示
3. 组团计划模块
1. 优化 列表供应商查询
2. 增加 组团属性, 下单信息输入, 接团要求等
3. 优化 核账的详情链接;
4. 房车项目识别提取
5. 优化 信息提取: 行程资源, 组团信息备注, 要求等
6. 行程单模板打印预览输出, 打印, 导出word.docx
## 特别项目

@ -0,0 +1,32 @@
---
_Created_: 2023-07-06 Thu
_Updated_: 2023-07-07 16:42 Fri
---
# 计划
### 第五季业务管理系统
财务u8对接
1. 红冲记账
- 账套
- 店铺来源, 收款渠道
- 供应商, 服务类型
- 产品负责人, 运营负责人
- 业务负责人, 业务组
2. 凭证查询和更新U8凭证号作废状态
- 凭证跳号, 整理后
- 状态更新
# 考核
## 维护
### 第五季业务管理系统
## 重点工作
### 第五季业务管理系统
## 特别项目

@ -2,3 +2,22 @@
# 农商旅平台
> 使用指南
## 更新
### 2023-05-15
##### 客户端: **miniapp_v5.0.1**
- 登录, 注册, 授权
- 重构: 微信小程序注册登录原微信api:getUserProfile已弃用改为手机号登录
- 优化: 小程序授权登录流程并加密传输的session_key
- 弃用: 微信小程序刷新头像、昵称功能
##### 服务端: **v3.0.0**
- 积分商城 新增
- 会员注册信息完善获得积分
- 订单完成好评获积分
- 消费返还积分
- 新增: 数据中心-商品按分类统计数据: 销售量; 销售额; 优惠额

@ -1,19 +1,23 @@
- _后台说明_
- *后台说明*
- **商城管理**
- [商城基本流程](后台说明/商城管理/商城基本流程.md)
- [商品管理](后台说明/商城管理/商品管理.md)
- [店铺装修](后台说明/商城管理/店铺装修/店铺装修.md)
- [跳转到其他商城小程序](后台说明/商城管理/店铺装修/跳转到其他商城小程序.md)
- [跳转到其他商城小程序](后台说明/商城管理/店铺装修/跳转到其他商城小程序.md)
- [管理员管理](后台说明/0.%20管理员管理.md)
- [配送设置](后台说明/配送设置.md)
- **平台商品**
- [积分商城](后台说明/商城管理/积分商城.md)
- **平台商品**(2C分销)
- [作为供应商](后台说明/平台商品/作为供应商.md)
- [作为经销商](后台说明/平台商品/作为经销商.md)
- [新订单短信提醒](新订单短信提醒/说明和配置.md)
- [新订单短信(业务员)](新订单短信提醒/说明和配置.md)
- [组合付款](组合付款/)
- _商城小程序_
- [第五季旅游商城-小程序使用说明](小程序使用说明/第五季旅游商城-小程序使用说明.md)
- *商城小程序*
- 商家版
- [入口介绍](商家版/入口介绍.md)
- [订单发货,核销](商家版/订单发货,核销.md)
- 定制的小程序
- [第五季旅游商城](小程序使用说明/第五季旅游商城-小程序使用说明.md)
- 公众号
- 盲盒活动 - 已结束

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

@ -1,9 +1,12 @@
## 需求
农商旅平台中的小程序互相跳转
## 设置方法
**操作入口**
`商城管理`>`店铺装修`>`模板管理`, 装修指定的页面模板
**操作入口**\
`商城管理`>`店铺装修`>`模板管理`, 装修指定的页面模板\
使用`广告魔方`, 右侧配置相应的图片, 选中`小程序`, 点击下方的`选择小程序`, 打开窗口后选择确认返回保存即可
![pick_miniapp_setting](../../../atta/pick_miniapp_setting.jpg)
![pick_miniapp_setting](../../../atta/pick_miniapp_setting.jpg)

@ -0,0 +1,28 @@
---
_Created_: 2023-05-12 Fri
_Updated_: 2023-05-15 17:11 Mon
---
## 积分获取配置
`商城配置`>`基础配置`>`积分配置`
## 积分商城
### 积分商城管理
`商城管理`>`积分商城`
- 积分商城中的商品均从在售的商品中来
- `添加`: 选择商品到积分商城
- 多规格商品, 可以设置指定的规格`参与`积分兑换.
- 兑换规则:
1. 积分+现金价格. 如100积分+9.9元
2. 全积分兑换. 如199积分+0元
### 小程序商城>积分商城
- 在`店铺装修`中, 把`积分商城`添加到小程序的页面中
> 添加时选择`系统链接`: `应用`>`积分商城`, 如:
> ![](../../atta/Pasted%20image%2020230515161111.png)
- 保存后, 即可在小程序商城进入积分商城

@ -1,4 +1,12 @@
# 第五季业务管理系统
[系统首页](http://47.106.208.187/#/orders/1)
[账户注册](http://172.21.24.30:875/)
> 操作指南文档
### 系统更新
点击右上角`系统更新`即可.
![Snipaste_2023-02-01_14-39-14](atta/Snipaste_2023-02-01_14-39-14.png)

@ -1,17 +1,23 @@
<!-- * [首页](/) -->
- _产品_
- [产品供应商-操作规范](产品管理/产品供应商-操作规范.md)
- _订单_
- *产品*
- [产品-操作规范](产品管理/产品供应商-操作规范.md)
- [供应商信息维护](产品管理/供应商信息维护.md)
- *订单*
- [刷单系统流程](订单/刷单系统流程.md)
- [批量导入订单](订单/批量导入订单.md)
- _财务_
- [平台账单管理](财务/平台账单管理.md)
- _供应商付款_
- [付款申请和销账](供应商付款/付款申请和销账.md)
- [团款认领](订单/团款认领.md)
- *财务*
- [账单管理](财务/账单管理.md)
- [财务报表说明](财务/财务报表.md)
- *组团计划*
- [地接组团计划](组团计划/地接组团计划.md)
- *供应商付款*
- [直接付款 - 申请和销账](供应商付款/付款申请和销账.md)
- [(预付款, 借款) - 申请](供应商付款/(预付款,%20借款)%20-%20申请.md)
- [个人借款 - 退还, 清账单据](供应商付款/个人借款%20-%20退还,%20清账单据.md)
- [(预付款, 借款) - 销账](供应商付款/(预付款,%20借款)%20-%20销账.md)
- [(预付款, 借款) - 退余额](供应商付款/(预付款,%20借款)%20-%20退余额.md)
- [线下销账补单](供应商付款/线下销账补单.md)
- [核账-工具](供应商付款/核账-工具.md)
<!-- * [info](supplier/%E2%84%B9INFO.md) -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

@ -7,21 +7,25 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css"> -->
<link rel="stylesheet" href="docsify/docsify@4_lib_themes_vue.css">
<link rel="stylesheet" href="docsify/fonts.google.css">
</head>
<body>
<div id="app"></div>
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify@4"></script> -->
<script src="docsify/docsify@4.net_npm_docsify@4.js"></script>
<script>
window.$docsify = {
name: '第五季业务管理系统',
// logo: '/logo1.jpg',
repo: 'http://172.21.24.56/lot/vault-docs/src/branch/master/Platform',
repo: 'http://172.21.24.30:88/lot/vault-docs/src/branch/master/Platform',
loadSidebar: true,
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
},
subMaxLevel: 3,
subMaxLevel: 1,
auto2top: true,
// search: 'auto', // 默认值
markdown: {
@ -85,16 +89,17 @@
// ],
}
</script>
<!-- Docsify v4 -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify@4"></script> -->
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script>
<script src="//unpkg.com/mermaid/dist/mermaid.js"></script>
<script src="//unpkg.com/docsify-mermaid@latest/dist/docsify-mermaid.js"></script>
<script>mermaid.initialize({ startOnLoad: true });</script>
<!-- <script src="https://unpkg.com/docsify-mermaid@2.0.0/dist/docsify-mermaid.js"></script> -->
<script src="docsify/docsify-mermaid@2.0.0_dist_docsify-mermaid.js"></script>
<script type="module">
// import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";
import { aP as mermaid } from "./docsify/mermaid-8ea29a40.js";
mermaid.initialize({ startOnLoad: true });
window.mermaid = mermaid;
</script>
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script> -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script> -->
<script src="docsify/docsify_lib_plugins_zoom-image.min.js"></script>
</body>
</html>

@ -1,20 +1,18 @@
---
_Created_: 2022-08-15 17:47
_Updated_: 2022-12-17 07:04 Sat
_Updated_: 2023-02-23 14:07 Thu
---
## 供应商信息维护
- 按照实际情况维护供应商信息, 如实填写
- 如实勾选是否签订协议
- 废弃`零星单位-地接`, 抓单系统中全部是真实的供应商名称和信息
- 废弃重复的供应商, 每个供应商主体在系统中仅保留一条有效
- 对于为了保存垫付的银行卡信息导致的重复, 通过其他方式解决银行信息快捷输入
- 请勿在供应商信息中填写XX垫付
## 产品信息维护/订单操作
- 正确设置产品的供应商, 订单的供应商
- 废弃`零星单位-地接`, **抓单系统中全部是真实的供应商名称和信息**
- 废弃重复的供应商, 每个供应商主体在系统中仅保留一条有效
- 对于为了保存垫付的银行卡信息导致的重复, 通过其他方式解决银行信息快捷输入
- 请勿在供应商信息中填写XX垫付-
- 价格日历表: 录入套餐的供应商后, 页面下方将会显示价格日历表.
- 此价格日历表中的值是 产品套餐的`成本价`
- 卖价/报价, 由业务根据订单实际灵活报价
## 财务

@ -0,0 +1,22 @@
---
_Created_: 2023-01-16 Mon
_Updated_: 2023-01-17 09:02 Tue
---
- ##### 服务类型
- 单选.选择每个供应商所提供的服务类型.
- 用于财务流程核算成本类型
- 综合服务的, 选择`地接社`类型. (@财务)
> - 麻烦@吴沛宸 @秦莫帮忙安排供应商信息维护的更新. 或者整理一下给我我批量导(根据我问财务, 大部分是地接社)
> - [操作方法](http://47.106.208.187/docs/#/%E4%BA%A7%E5%93%81%E7%AE%A1%E7%90%86/%E4%BE%9B%E5%BA%94%E5%95%86%E4%BF%A1%E6%81%AF%E7%BB%B4%E6%8A%A4)
---
- 按照实际情况维护供应商信息, 如实填写
- 如实勾选是否签订协议
- 废弃`零星单位-地接`, 抓单系统中全部是真实的供应商名称和信息
- 废弃重复的供应商, 每个供应商主体在系统中仅保留一条有效
- 对于为了保存垫付的银行卡信息导致的重复, 通过其他方式解决银行信息快捷输入
- 请勿在供应商信息中填写XX垫付

@ -1,6 +1,6 @@
---
_Created_: 2022-08-01 17:29
_Updated_: 2022-12-30 14:46 Fri
_Updated_: 2023-05-26 15:08 Fri
---
## 基本流程
@ -36,49 +36,6 @@ Note left of 产品: 核销完毕
#### ② 核定成本
**操作入口**
`计调服务`>`核账-基础`, 在此页面内确认成本数据, 点击`已核`即完成核定操作
==只有核定后的数据, 才能提交==
**筛选条件**
1. 科目: **成本 - 供应商报价**
2. 其他条件根据实际情况输入: 出行日期, 供应商等
#### ③ 销账 (即提交账单明细和发票)
成本数据核定之后, 才能提交到财务
**操作入口**
`产品管理`>`供应商付款申请`, 此页面内`新建`申请单并提交
1. `新建`, 弹窗内输入申请单的信息
1. *单据类型*: `付款(使用预付款)`, `付款(使用个人借款)`
2. *收款单位*: 即供应商.
在下拉菜单中选中后, 开户银行等信息会自动填充, 如果没有, 需要在供应商信息管理中填好(`产品管理`>`供应商列表`).
借款, 预付款单据, 可以根据实际情况填写收款的账号信息.
3. *付款单位*: 操作付出款项的单位. 比如国旅或者第五季
4. `添加明细`, 供应商已自动填好, `搜索`后即列出上一步<mark>已核定成本数据的订单数据</mark>, 勾选后确认, 支持多选
2. 确认保存账单信息. 收付款方, 具体明细等
> [!attention] 账单明细
>
> - 在提交之前, 账单明细勾选后仍可删除, 重新搜索添加
> - 仅在发起新建时添加账单明细, 提交保存之后, 明细不可再更改
> - 销账单据提交的要求:
> - <mark>*预付款:*</mark> `付款单位`, `供应商`, `申请人`, 应完全一致, 用于挂账、计算预付款的余额
> - <mark>*个人借款:* </mark> `付款单位`, `申请人`, 应完全一致
> - 系统完成的销账操作如下, 为了使账单明细和付款明细数据实现闭环:
> - 计算预付款, 借款当前的余额, 将账单逐一写入原预付款, 借款的单据
> - 将原预付款, 借款申请单的付款明细写入销账的单据
> - 计算预付款, 借款本次销账后的余额
### 财务操作
#### 销账 (预付款, 借款)
##### ① 确认账单
账单数据无误, 操作`账款付清`即可
[(预付款, 借款) - 销账]((预付款,%20借款)%20-%20销账.md)

@ -0,0 +1,32 @@
---
_Created_: 2022-09-21 Wed
_Updated_: 2023-05-26 14:54 Fri
---
## 目的
为了满足周期性清账的需求, 把`个人借款` `预付款`未销账的余额退还公司, 保证系统里的数据是完整的, 账目是平的
`个人借款`: 未销完的余额, 退回公司财务账户\
`预付款`: 供应商将预付款退回公司财务账户
## 操作方法
### 借款人/申请人操作
1. 在供应商付款单据列表, 找到需要清账的借款单据, 在右侧操作列, 点击`退余额`
2. 在弹出的窗口已默认填好大部分单据信息, 退还金额默认是原来申请的单据在目前的余额, 填写好`退还金额`, `备注`, `上传银行凭据`提交就可以.
*操作步骤演示图:*
![Pasted image 20220921114505](../atta/Pasted%20image%2020220921114505.png)
*填好保存之后:*
1. 生成退还单据, 包含退款的银行凭据
2. 原申请单据, 将锁定退还的金额, 避免其他业务流程和单据重复使用该金额去销账等
### 财务操作
##### ① 确认退款金额, 凭据有效
数据无误, 操作`账款付清`即可, 退借款完成

@ -0,0 +1,82 @@
---
_Created_: 2023-05-26 Fri
_Updated_: 2023-05-26 15:08 Fri
---
## 基本流程
```mermaid
sequenceDiagram
Title: 基本流程
产品->>财务: ① 提交预付款, 借款申请 (无账单明细)
activate 财务
财务->>+出纳: 付款明细
Note right of 出纳: 银行付款
出纳-->>-财务: 银行账单
Note left of 出纳: [金额,时间]
财务-->>-产品: 确认已付
Note over 产品: ② 核定成本[供应商报价]
Note over 产品: 付供应商
产品->>+财务: ③ 销账: 提交账单明细,发票
Note right of 财务: 确认账单,发票
财务-->>-产品: 销账: 预付款, 借款
Note left of 产品: 核销完毕
```
## 操作
### 业务操作
#### ① 预付款, 借款 - 申请
**操作**
[(预付款, 借款) - 申请]((预付款,%20借款)%20-%20申请.md)
#### ② 核定成本
**操作入口**\
`计调服务`>`核账-基础`, 在此页面内确认成本数据, 点击`已核`即完成核定操作
==只有核定后的数据, 才能提交==
**筛选条件**
1. 科目: **成本 - 供应商报价**
2. 其他条件根据实际情况输入: 出行日期, 供应商等
#### ③ 销账 (即提交账单明细和发票)
成本数据核定之后, 才能提交到财务
**操作入口**
`产品管理`>`供应商付款申请`, 此页面内`新建`申请单并提交
1. `新建`, 弹窗内输入申请单的信息
1. *单据类型*: `付款(使用预付款)`, `付款(使用个人借款)`
2. *收款单位*: 即供应商.
在下拉菜单中选中后, 开户银行等信息会自动填充, 如果没有, 需要在供应商信息管理中填好(`产品管理`>`供应商列表`).
借款, 预付款单据, 可以根据实际情况填写收款的账号信息.
3. *付款单位*: 操作付出款项的单位. 比如国旅或者第五季
4. `添加明细`, 供应商已自动填好, `搜索`后即列出上一步<mark>已核定成本数据的订单数据</mark>, 勾选后确认, 支持多选
2. 确认保存账单信息. 收付款方, 具体明细等
> [!attention] 账单明细
>
> - 在提交之前, 账单明细勾选后仍可删除, 重新搜索添加
> - 仅在发起新建时添加账单明细, 提交保存之后, 明细不可再更改
> - 销账单据提交的要求:
> - <mark>*预付款:*</mark> `付款单位`, `供应商`, `申请人`, 应完全一致, 用于挂账、计算预付款的余额
> - <mark>*个人借款:* </mark> `付款单位`, `申请人`, 应完全一致
> - 系统完成的销账操作如下, 为了使账单明细和付款明细数据实现闭环:
> - 计算预付款, 借款当前的余额, 将账单逐一写入原预付款, 借款的单据
> - 将原预付款, 借款申请单的付款明细写入销账的单据
> - 计算预付款, 借款本次销账后的余额
### 财务操作
#### 销账 (预付款, 借款)
##### ① 确认账单
账单数据无误, 操作`账款付清`即可

@ -1,6 +1,7 @@
---
date created: 2022-11-04 Fri
date updated: 2022-12-07 10:40 Wed
_Updated_: 2023-05-12 11:19 Fri
---
#📑docs
@ -13,7 +14,7 @@ $web\_settlement = transaction\_amount- commission$
%%
```
profit_margin = profit / web_settlement
profit_margin = profit ÷ web_settlement
web_settlement = transaction_amount - commission
```
@ -27,31 +28,4 @@ web_settlement = transaction_amount - commission
`product_package`表:商品编码`sku_code`
# 财务科编号
| **account_id** | 注释 |
| -------------- | ---------- |
| 0 | 营业收入 |
| 1 | 成本 - 佣金 |
| 2 | 成本 - 供应商报价 |
| 3 | 成本 - 保险 |
| 4 | 应收帐款 |
| 5 | 应付帐款 |
| 6 | 现金 |
| 7 | 利润 |
# 财务科账户
- 目的地
- 境外: `桂林中国国际旅行社有限责任公司`
- 境内: `广西第五季旅游有限公司`
- 店铺
- 华成: `广西趣耍旅行服务有限公司`
- 抖音, 小红书: `广西第五季旅游有限公司`
- 收款
- 线下: `广西第五季旅游有限公司`
- 供应商
- 北京胜利: `广西第五季旅游有限公司`
> 没有`sku_code`, 或者值为空, 在订单列表显示红色

@ -1,29 +0,0 @@
---
_Created_: 2022-09-21 Wed
_Updated_: 2022-12-19 21:22 Mon
---
## 目的
为了满足周期性清账的需求, 把个人借款未销账的余额退还公司, 保证系统里的数据是完整的, 账目是平的
## 操作方法
### 借款人操作
1. 在供应商付款单据列表, 找到需要清账的借款单据, 在右侧操作列, 点击`退借款`
2. 在弹出的窗口已默认填好大部分单据信息, 退还金额默认是原来申请的借款在目前的余额, 填写好`退还金额`, `备注`, `上传银行凭据`提交就可以.
*操作步骤演示图:*
![Pasted image 20220921114505](../atta/Pasted%20image%2020220921114505.png)
*填好保存之后:*
1. 生成个人借款退还单据, 包含退款的银行凭据
2. 原借款单据, 将锁定退还的金额, 避免其他业务流程和单据重复使用该金额去销账等
### 财务操作
##### ① 确认退款金额, 凭据有效
数据无误, 操作`账款付清`即可, 退借款完成

@ -0,0 +1,12 @@
---
_Created_: 2023-03-20 Mon
_Updated_: 2023-03-20 09:42 Mon
---
## 基本流程
## 操作
**入口**
`销售`>`组团计划`\
![Snipaste_2023-03-20_09-36-39](../atta/Snipaste_2023-03-20_09-36-39.png)

@ -1,6 +1,6 @@
---
_Created_: 2022-08-10 15:17
_Updated_: 2022-12-17 06:58 Sat
_Updated_: 2023-03-21 16:42 Tue
---
## 业务操作
@ -10,4 +10,20 @@ _Updated_: 2022-12-17 06:58 Sat
## 财务操作
### 审核
1. 财务在`财务-广告费用`里确认核对后,系统流程完成
### 导出结算
从`财务报表`中导出明细
> [!attention] 需要注意
>
> 1. 以出账单为准的店铺, 从`收入成本`表操作, 包含的平台:
> 1. `飞猪`
> 2. `马蜂窝`
> 3. `去哪儿`
> 4. ...等
> 2. 由于平台提供的结算出账单不包含佣金和原始成交价数据, 直接是结算金额, 因此, 使用`预估收支`表操作, 包含的平台:
> 1. `携程`

@ -0,0 +1,34 @@
---
_Created_: 2023-01-13 Fri
_Updated_: 2023-05-29 10:58 Mon
---
## 目的
各种线下收款需要把银行账单的流水记录, 认领到订单中. 确认已收到团款.
账单由财务负责导入到系统中
## 操作
1. 导航`订单`>`团款认领`, 进入手动认领页面
- *左表* : 未认领的账单流水
- *右表* : 通过筛选查询出需要操作的订单
2. 选择匹配的流水和订单
1. 选择左表的流水记录, **只能单选**
2. 选择右表相应的订单, **可以多选**
3. `选定`
3. 选定后, 所选的左右表记录将显示在下方列表, 可以**在右侧修改每个订单认领的金额**
- ❌: 去除该订单
- `删除`: 删除这一整行选定的两边
4. 支持批量认领: 重复操作步骤`2.` `3.`
5. `全部提交`: 确认提交当前选定和修改后的认领金额
### 认领金额的注意事项
- **手续费**
- 认领时的金额应填写成交的金额, 即不扣手续费的`原始金额`.
- 交易产生的手续费, 从账单中自动写到订单的手续费成本.
*图示*\
![zd1](../atta/zd1.gif)

@ -1,13 +1,13 @@
---
_Created_: 2022-12-09 Fri
_Updated_: 2022-12-17 07:30 Sat
_Updated_: 2023-07-07 13:58 Fri
---
## 目的
对于没法程序自动对接的平台, 订单需要手动在系统中创建. 现实现批量导入功能, 从平台下载到excel类型的订单列表之后, 直接导入到系统中.
## 操作
## 第五季系统操作
1. 从平台下载订单excel. 目前支持的平台和订单类型有:
- 美团>门票
@ -21,8 +21,3 @@ _Updated_: 2022-12-17 07:30 Sat
**所有订单都已存在时, 什么也不做, 不会覆盖导入**
!> **注意** 平台提供的excel表格通常只有预定的项目名称, 无法通过产品编码与系统库存匹配, <mark>请在导入成功之后, 进入`订单编辑`页, 完善正确的订单的项目套餐信息 </mark>
%%### ==注意==
平台提供的excel表格通常只有预定的项目名称, 无法通过产品编码与系统库存匹配,
==请在导入成功之后, 进入`订单编辑`页, 完善正确的订单的项目套餐信息==%%

@ -0,0 +1,54 @@
---
_Created_: 2023-02-06 Mon
_Updated_: 2023-03-21 17:16 Tue
---
## 应收账款
**销售金额**: 报价金额, 应收客人款项. (包括电商平台的佣金)\
**已收金额**: 金额已收到公司账户内\
**待收金额** = 销售金额 - 已收金额
---
## 应付账款
**成本类别**:\
根据供应商的服务类型区分: `地接社`, `房`, `餐`, `车`, `景`, `手续费`, `交通费`, `其他`\
`佣金`: 支付给电商平台的佣金, 结算价已扣除\
`汇兑损失`: 外币支付成本时, 再按人民币结汇产生的差额\
`手续费`: 支付给银行等收款渠道的手续费, 在交易过程中产生的
**已付**: 已经支付给供应商\
**待付** = 合计 - 已付
---
## 收入成本
> <mark>以出账单为准的数据</mark>, 也就是实际已产生的收支\
> 平台来的订单: 平台已经把结算金额汇款到公司账户\
> 线下订单: 通过银行或其他支付方式, 已经汇款\
> 成本支出: 已经付给供应商
**销售收入**: 已到账的收款. 等于`应收账款`表的**已收金额**\
**佣金**: 支付给电商平台的佣金\
**手续费**: 支付过程产生的手续费, 由银行或第三方支付平台(支付宝, 微信等)扣除\
**广告费**: 刷单订单, 给刷手的操作费用\
**成本-XX**: 各类型的成本, 已支付的金额. 等于`应付账款`表的**已付**\
**毛利** = 销售收入 - 支出合计\
**毛利率** = 毛利 ÷ (销售收入) × 100%
---
## 预估收支
> <mark>不查询出账单数据</mark>, 直接取订单预定时的业务数据
**销售收入**: 报价金额, 应收客人款项. (包括电商平台的佣金)\
**佣金**: 支付给电商平台的佣金, 预估数据, 根据产品的佣金比例计算\
**手续费**: 此时未产生. 支付过程产生的手续费, 由银行或第三方支付平台(支付宝, 微信等)扣除\
**广告费**: 刷单订单, 给刷手的操作费用\
**成本-XX**: 各类型的成本\
**毛利** = 销售收入 - 支出合计\
**毛利率** = 毛利 ÷ (销售收入) × 100%

@ -1,6 +1,6 @@
---
_Created_: 2022-12-09 Fri
_Updated_: 2022-12-19 21:29 Mon
_Updated_: 2023-01-13 16:51 Fri
---
## 目的
@ -9,6 +9,7 @@ _Updated_: 2022-12-19 21:29 Mon
> 1. 携程, 美团, 去哪儿, 等线上收单平台使用导入账单
> 2. 飞猪, 马蜂窝 无需导入和认领, 系统自动同步
> 3. 银行收款的账单, 需要业务手动认领团款, *参阅[团款认领](订单/团款认领.md)*
以作为实际的结算数据, 等同于认领和财务确认.
账单至少包含: 收款记录, 退款记录, 平台佣金金额等每一笔流水的详细信息.
@ -25,8 +26,7 @@ _Updated_: 2022-12-19 21:29 Mon
5. 解析成功后, 将载入到`账单明细`,
6. 补全单据的`收款渠道`, `收款公司`, `店铺`等信息
7. 点击`保存并自动匹配`, 即确认上传
> **自动匹配**: 是指这些账单自动认领到对应的订单号
> <mark>匹配失败的会以黄色高亮显示</mark>
> **自动匹配**: 是指这些账单自动认领到对应的订单号 <mark>匹配失败的会以黄色高亮显示</mark>
8. 所有明细都认领成功, 可以点击`存档`, 即这张单据的账单完成所有操作
### 匹配失败的处理

@ -0,0 +1,16 @@
---
_Created_: 2023-05-16 Tue
_Updated_: 2023-05-16 14:52 Tue
---
1. 业务系统: 营收款项表
1. 总表显示
2. 明细打印
2. 总账录入U8
- key:客户:
- 收入: 店铺
- 支出: 供应商
3. U8信息
1. 科目
2. 客户(key)
3. 客户编码

@ -15,135 +15,92 @@ docsify serve
### 文档配置:
```html
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
// Import mermaid
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
<script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
```
```js
var num = 0;
mermaid.initialize({ startOnLoad: false });
window.$docsify = {
name: 'XXX',
// logo: '/logo1.jpg',
repo: 'https://...',
loadSidebar: true,
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
},
nativeEmoji: true,
subMaxLevel: 3,
auto2top: true,
// search: 'auto', // 默认值
markdown: {
renderer: {
text: function (text) {
if (/^==/g.test(text)) {
const escapedText = text.toLowerCase().replace(/^==|==$/g, '');
return `<mark>${escapedText}</mark>`;
}
if (/^\%{2}/gm.test(text)) {
return `<!--`;
}
if (/\%{2}$/gm.test(text)) {
return `-->`;
}
return text;
},
code: function(code, lang) {
if (lang === "mermaid") {
return (
'<div class="mermaid">' + mermaid.render('mermaid-svg-' + num++, code) + "</div>"
);
}
return this.origin.code.apply(this, arguments);
}
}
},
// 完整配置参数
search0: { // seach:
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
paths: [], // or 'auto'
placeholder: '搜索',
noData: '找不到结果!',
// 搜索标题的最大层级, 1 - 6
depth: 6,
hideOtherSidebarContent: true, // 是否隐藏其他侧边栏内容
// 避免搜索索引冲突
// 同一域下的多个网站之间
namespace: 'website-1',
// 使用不同的索引作为路径前缀namespaces
// 注意:仅适用于 paths: 'auto' 模式
//
// 初始化索引时,我们从侧边栏查找第一个路径
// 如果它与列表中的前缀匹配,我们将切换到相应的索引
// pathNamespaces: ['/zh-cn', '/ru-ru', '/ru-ru/v1'],
// 您可以提供一个正则表达式来匹配前缀。在这种情况下,
// 匹配到的字符串将被用来识别索引
// pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/
},
}
```
### 插件支持
```html
...
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script>
<script src="//unpkg.com/mermaid/dist/mermaid.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script> -->
<script src="//cdn.jsdelivr.net/npm/docsify@4.10.2/lib/docsify.min.js"></script>
<!-- <script src="//unpkg.com/mermaid/dist/mermaid.js"></script>
<script src="//unpkg.com/docsify-mermaid@latest/dist/docsify-mermaid.js"></script>
<script>mermaid.initialize({ startOnLoad: true });</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
<script>mermaid.initialize({ startOnLoad: true });</script> -->
<!-- deprecated -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script> -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
```

@ -0,0 +1,18 @@
# 计划
## 重点工作
### 第五季业务管理系统
# 考核
## 维护
### 第五季业务管理系统
## 重点工作
### 第五季业务管理系统
## 特别项目

@ -0,0 +1,168 @@
// modules are defined as an array
// [ module function, map of requires ]
//
// map of requires is short require name -> numeric require
//
// anything defined in a previous bundle is accessed via the
// orig method which is the require for previous bundles
parcelRequire = (function (modules, cache, entry, globalName) {
// Save the require from previous bundle to this closure if any
var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
var nodeRequire = typeof require === 'function' && require;
function newRequire(name, jumped) {
if (!cache[name]) {
if (!modules[name]) {
// if we cannot find the module within our internal map or
// cache jump to the current global require ie. the last bundle
// that was added to the page.
var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
if (!jumped && currentRequire) {
return currentRequire(name, true);
}
// If there are other bundles on this page the require from the
// previous one is saved to 'previousRequire'. Repeat this as
// many times as there are bundles until the module is found or
// we exhaust the require chain.
if (previousRequire) {
return previousRequire(name, true);
}
// Try the node require function if it exists.
if (nodeRequire && typeof name === 'string') {
return nodeRequire(name);
}
var err = new Error('Cannot find module \'' + name + '\'');
err.code = 'MODULE_NOT_FOUND';
throw err;
}
localRequire.resolve = resolve;
localRequire.cache = {};
var module = cache[name] = new newRequire.Module(name);
modules[name][0].call(module.exports, localRequire, module, module.exports, this);
}
return cache[name].exports;
function localRequire(x){
return newRequire(localRequire.resolve(x));
}
function resolve(x){
return modules[name][1][x] || x;
}
}
function Module(moduleName) {
this.id = moduleName;
this.bundle = newRequire;
this.exports = {};
}
newRequire.isParcelRequire = true;
newRequire.Module = Module;
newRequire.modules = modules;
newRequire.cache = cache;
newRequire.parent = previousRequire;
newRequire.register = function (id, exports) {
modules[id] = [function (require, module) {
module.exports = exports;
}, {}];
};
var error;
for (var i = 0; i < entry.length; i++) {
try {
newRequire(entry[i]);
} catch (e) {
// Save first error but execute all entries
if (!error) {
error = e;
}
}
}
if (entry.length) {
// Expose entry point to Node, AMD or browser globals
// Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
var mainExports = newRequire(entry[entry.length - 1]);
// CommonJS
if (typeof exports === "object" && typeof module !== "undefined") {
module.exports = mainExports;
// RequireJS
} else if (typeof define === "function" && define.amd) {
define(function () {
return mainExports;
});
// <script>
} else if (globalName) {
this[globalName] = mainExports;
}
}
// Override the current require with this new one
parcelRequire = newRequire;
if (error) {
// throw error from earlier, _after updating parcelRequire_
throw error;
}
return newRequire;
})({"GOVZ":[function(require,module,exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var plugin = function plugin(mermaidConf) {
return function (hook) {
hook.afterEach(function (html, next) {
// We load the HTML inside a DOM node to allow for manipulation
var htmlElement = document.createElement('div');
htmlElement.innerHTML = html;
htmlElement.querySelectorAll('pre[data-lang=mermaid]').forEach(function (element) {
// Create a <div class="mermaid"> to replace the <pre>
var replacement = document.createElement('div');
replacement.textContent = element.textContent;
replacement.classList.add('mermaid'); // Replace
element.parentNode.replaceChild(replacement, element);
});
next(htmlElement.innerHTML);
});
hook.ready(function () {
return mermaid.run(mermaidConf);
});
};
};
var _default = plugin;
exports.default = _default;
},{}],"Focm":[function(require,module,exports) {
"use strict";
var _plugin = _interopRequireDefault(require("./plugin"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
if (!window.$docsify) {
window.$docsify = {};
}
var props = window.$docsify.mermaidConfig || {
querySelector: ".mermaid"
};
window.$docsify.plugins = (window.$docsify.plugins || []).concat((0, _plugin.default)(props));
},{"./plugin":"GOVZ"}]},{},["Focm"], null)
//# sourceMappingURL=/docsify-mermaid.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,216 @@
/* cyrillic-ext */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_R-W4Ep0.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhduz8A.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxduz8A.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxduz8A.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBduz8A.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBduz8A.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRduz8A.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,4 @@
import { aP as f } from "./mermaid-8ea29a40.js";
export {
f as default
};

@ -0,0 +1,7 @@
import { a1 as t, a2 as n, a3 as o } from "./mermaid-8ea29a40.js";
function r(e) {
return typeof e == "string" ? new t([document.querySelectorAll(e)], [document.documentElement]) : new t([o(e)], n);
}
export {
r as s
};

File diff suppressed because one or more lines are too long

@ -0,0 +1,70 @@
import { e as a } from "./mermaid-8ea29a40.js";
const l = function(s, t) {
const r = s.append("rect");
if (r.attr("x", t.x), r.attr("y", t.y), r.attr("fill", t.fill), r.attr("stroke", t.stroke), r.attr("width", t.width), r.attr("height", t.height), r.attr("rx", t.rx), r.attr("ry", t.ry), t.attrs !== "undefined" && t.attrs !== null)
for (let n in t.attrs)
r.attr(n, t.attrs[n]);
return t.class !== "undefined" && r.attr("class", t.class), r;
}, c = function(s, t) {
l(s, {
x: t.startx,
y: t.starty,
width: t.stopx - t.startx,
height: t.stopy - t.starty,
fill: t.fill,
stroke: t.stroke,
class: "rect"
}).lower();
}, d = function(s, t) {
const r = t.text.replace(/<br\s*\/?>/gi, " "), n = s.append("text");
n.attr("x", t.x), n.attr("y", t.y), n.attr("class", "legend"), n.style("text-anchor", t.anchor), t.class !== void 0 && n.attr("class", t.class);
const e = n.append("tspan");
return e.attr("x", t.x + t.textMargin * 2), e.text(r), n;
}, f = function(s, t, r, n) {
const e = s.append("image");
e.attr("x", t), e.attr("y", r);
var i = a(n);
e.attr("xlink:href", i);
}, x = function(s, t, r, n) {
const e = s.append("use");
e.attr("x", t), e.attr("y", r);
const i = a(n);
e.attr("xlink:href", "#" + i);
}, h = function() {
return {
x: 0,
y: 0,
width: 100,
height: 100,
fill: "#EDF2AE",
stroke: "#666",
anchor: "start",
rx: 0,
ry: 0
};
}, g = function() {
return {
x: 0,
y: 0,
width: 100,
height: 100,
fill: void 0,
anchor: void 0,
"text-anchor": "start",
style: "#666",
textMargin: 0,
rx: 0,
ry: 0,
tspan: !0,
valign: void 0
};
};
export {
c as a,
x as b,
f as c,
l as d,
g as e,
d as f,
h as g
};

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
<!-- <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4.10.2/themes/vue.css"> -->
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
</head>
<body>
<div id="app"></div>
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
<script defer>
var num = 0;
mermaid.initialize({ startOnLoad: false });
window.$docsify = {
name: '第五季业务管理系统',
// logo: '/logo1.jpg',
repo: 'http://172.21.24.56/lot/vault-docs/src/branch/master/Platform',
loadSidebar: true,
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
},
nativeEmoji: true,
subMaxLevel: 1,
auto2top: true,
// search: 'auto', // 默认值
markdown: {
renderer: {
text: function (text) {
if (/^==/g.test(text)) {
const escapedText = text.toLowerCase().replace(/^==|==$/g, '');
return `<mark>${escapedText}</mark>`;
}
if (/^\%{2}/gm.test(text)) {
return ``;
}
if (/\%{2}$/gm.test(text)) {
return ``;
}
return text;
},
code: function (code, lang) {
if (lang === "mermaid") {
return (
'<div class="mermaid">' + mermaid.render('mermaid-svg-' + num++, code) + "</div>"
);
}
return this.origin.code.apply(this, arguments);
}
}
},
// 完整配置参数
search0: {
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
paths: [], // or 'auto'
placeholder: '搜索',
noData: '找不到结果!',
// 搜索标题的最大层级, 1 - 6
depth: 6,
hideOtherSidebarContent: true, // 是否隐藏其他侧边栏内容
// 避免搜索索引冲突
// 同一域下的多个网站之间
namespace: 'website-1',
// 使用不同的索引作为路径前缀namespaces
// 注意:仅适用于 paths: 'auto' 模式
//
// 初始化索引时,我们从侧边栏查找第一个路径
// 如果它与列表中的前缀匹配,我们将切换到相应的索引
// pathNamespaces: ['/zh-cn', '/ru-ru', '/ru-ru/v1'],
// 您可以提供一个正则表达式来匹配前缀。在这种情况下,
// 匹配到的字符串将被用来识别索引
// pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/
},
// plugins: [
// function pageFooter(hook, vm) {
// var footer = [
// '<hr/>',
// '<footer>',
// '<span><a href="https://github.com/QingWei-Li">cinwell</a> &copy;2017.</span>',
// '<span>Proudly published with <a href="https://github.com/docsifyjs/docsify" target="_blank">docsify</a>.</span>',
// '</footer>',
// ].join('');
// hook.afterEach(function (html) {
// return html + footer;
// });
// },
// ],
// mermaidConfig: {
// querySelector: ".mermaid"
// },
// plugins: [
// function (hook) {
// hook.doneEach(function () {
// let mermaidConfig = {
// querySelector: ".mermaid",
// };
// mermaid.run(mermaidConfig);
// });
// },
// ],
}
</script>
<!-- Docsify v4 -->
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script> -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify@4.10.2/lib/docsify.js"></script> -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script> -->
<!-- <script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";
mermaid.initialize({ startOnLoad: true });
window.mermaid = mermaid;
</script>
<script src="//unpkg.com/docsify-mermaid@2.0.0/dist/docsify-mermaid.js"></script> -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
</body>
</html>

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
<!-- <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4.10.2/themes/vue.css"> -->
<!-- <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css"> -->
</head>
<body>
<div id="app"></div>
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<!-- <script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> -->
<script defer>
// var num = 0;
// mermaid.initialize({ startOnLoad: false });
window.$docsify = {
name: '第五季业务管理系统',
// logo: '/logo1.jpg',
repo: 'http://172.21.24.56/lot/vault-docs/src/branch/master/Platform',
loadSidebar: true,
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
},
nativeEmoji: true,
subMaxLevel: 1,
auto2top: true,
// search: 'auto', // 默认值
markdown: {
renderer: {
text: function (text) {
if (/^==/g.test(text)) {
const escapedText = text.toLowerCase().replace(/^==|==$/g, '');
return `<mark>${escapedText}</mark>`;
}
if (/^\%{2}/gm.test(text)) {
return ``;
}
if (/\%{2}$/gm.test(text)) {
return ``;
}
return text;
},
// code: function (code, lang) {
// if (lang === "mermaid") {
// return (
// '<div class="mermaid">' + mermaid.render('mermaid-svg-' + num++, code) + "</div>"
// );
// }
// return this.origin.code.apply(this, arguments);
// }
}
},
// 完整配置参数
search0: {
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
paths: [], // or 'auto'
placeholder: '搜索',
noData: '找不到结果!',
// 搜索标题的最大层级, 1 - 6
depth: 6,
hideOtherSidebarContent: true, // 是否隐藏其他侧边栏内容
// 避免搜索索引冲突
// 同一域下的多个网站之间
namespace: 'website-1',
// 使用不同的索引作为路径前缀namespaces
// 注意:仅适用于 paths: 'auto' 模式
//
// 初始化索引时,我们从侧边栏查找第一个路径
// 如果它与列表中的前缀匹配,我们将切换到相应的索引
// pathNamespaces: ['/zh-cn', '/ru-ru', '/ru-ru/v1'],
// 您可以提供一个正则表达式来匹配前缀。在这种情况下,
// 匹配到的字符串将被用来识别索引
// pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/
},
// plugins: [
// function pageFooter(hook, vm) {
// var footer = [
// '<hr/>',
// '<footer>',
// '<span><a href="https://github.com/QingWei-Li">cinwell</a> &copy;2017.</span>',
// '<span>Proudly published with <a href="https://github.com/docsifyjs/docsify" target="_blank">docsify</a>.</span>',
// '</footer>',
// ].join('');
// hook.afterEach(function (html) {
// return html + footer;
// });
// },
// ],
mermaidConfig: {
querySelector: ".mermaid"
},
plugins: [
function (hook) {
hook.doneEach(function () {
let mermaidConfig = {
querySelector: ".mermaid",
};
mermaid.run(mermaidConfig);
});
},
],
}
</script>
<!-- Docsify v4 -->
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script> -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify@4.10.2/lib/docsify.js"></script> -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script> -->
<script src="//unpkg.com/docsify-mermaid@2.0.0/dist/docsify-mermaid.js"></script>
<script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";
mermaid.initialize({ startOnLoad: true });
window.mermaid = mermaid;
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
</body>
</html>
Loading…
Cancel
Save