Merge branch 'main' of https://fcd.gdyditc.com/itc/GAS-SCM/front into main
# Conflicts: # .env.development # .env.production # Dockerfile # docs/index.html # package.json # src/api/system/login/index.ts # src/api/system/subSystem/index.ts # src/components/SecondDev/OpinionDialog.vue # src/layouts/default/header/MultipleHeader.vue # src/layouts/default/sider/index.vue # src/model/workflow/workflowConfig.ts # src/router/guard/paramMenuGuard.ts # src/router/guard/permissionGuard.ts # src/store/modules/permission.ts # src/utils/env.ts # src/utils/http/axios/Axios.ts # src/utils/http/axios/index.ts # src/views/secondDev/Login.vue # src/views/secondDev/LoginForm.vue # src/views/secondDev/approveFlowPage.vue # src/views/system/loginSetting/loginInfo.vue # src/views/workflow/design/bpmn/components/BasicPanel.vue # src/views/workflow/design/bpmn/config/propertyConfig.ts # src/views/workflow/design/bpmn/config/sequenceConfig.ts # src/views/workflow/design/bpmn/panel/SequenceFlow.vue # src/views/workflow/design/bpmn/panel/User.vue # src/views/workflow/task/ProcessMonitor.vue # src/views/workflow/task/components/flow/ProcessInformation.vue # yarn.lock
This commit is contained in:
39
.github/ISSUE_TEMPLATE/1-bug.md
vendored
Normal file
39
.github/ISSUE_TEMPLATE/1-bug.md
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
name: 🐛 Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: 'bug: pending triage'
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
抱歉,您遇到了一个错误。感谢您抽出宝贵的时间进行举报!
|
||||||
|
|
||||||
|
请尽可能填写以下模板。
|
||||||
|
|
||||||
|
Ouch, sorry you’ve run into a bug. Thank for taking the time to report it!
|
||||||
|
|
||||||
|
Please fill in as much of the template below as you’re able.
|
||||||
|
|
||||||
|
P.S. have you seen our support and contributing docs?
|
||||||
|
-->
|
||||||
|
|
||||||
|
**⚠️ IMPORTANT ⚠️ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.**
|
||||||
|
|
||||||
|
- [ ] Read [the docs](https://anncwb.github.io/vue-vben-admin-doc/).
|
||||||
|
- [ ] Make sure the code is up to date. (Some bugs have been fixed in the latest code)
|
||||||
|
- [ ] This is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/anncwb/vue-vben-admin/discussions) or join our [Discord](https://discord.gg/8GuAdwDhj6) Chat Server.
|
||||||
|
|
||||||
|
### Describe the bug
|
||||||
|
|
||||||
|
A clear and concise description of what the bug is..
|
||||||
|
|
||||||
|
### Reproduction
|
||||||
|
|
||||||
|
Please describe the steps of the problem in detail to ensure that we can restore the correct problem
|
||||||
|
|
||||||
|
## System Info
|
||||||
|
|
||||||
|
- Operating System:
|
||||||
|
- Node version:
|
||||||
|
- Package manager (npm/yarn/pnpm) and version:
|
||||||
32
.github/ISSUE_TEMPLATE/2-feature.md
vendored
Normal file
32
.github/ISSUE_TEMPLATE/2-feature.md
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: 🚀 Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
感谢您提出使这个项目更好的想法!
|
||||||
|
请尽可能填写以下模板。
|
||||||
|
|
||||||
|
Thank you for suggesting an idea to make this project better!
|
||||||
|
Please fill in as much of the template below as you’re able.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
### Subject of the feature
|
||||||
|
|
||||||
|
Describe your issue here.
|
||||||
|
|
||||||
|
### Problem
|
||||||
|
|
||||||
|
If the feature requests relates to a problem, please describe the problem you are trying to solve here.
|
||||||
|
|
||||||
|
### Expected behaviour
|
||||||
|
|
||||||
|
What should happen? Please describe the desired behaviour.
|
||||||
|
|
||||||
|
### Alternatives
|
||||||
|
|
||||||
|
What are the alternative solutions? Please describe what else you have considered?
|
||||||
28
.github/ISSUE_TEMPLATE/3-bug-cn.md
vendored
Normal file
28
.github/ISSUE_TEMPLATE/3-bug-cn.md
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
name: 🐛 Bug 报告
|
||||||
|
about: 向我们报告一个Bug以帮助我们改进
|
||||||
|
title: ''
|
||||||
|
labels: 'bug: pending triage'
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
**⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭**
|
||||||
|
|
||||||
|
- [ ] 已阅读 [文档](https://anncwb.github.io/vue-vben-admin-doc/).
|
||||||
|
- [ ] 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
|
||||||
|
- [ ] 已在 Issues 中搜索了相关的关键词
|
||||||
|
- [ ] 不是 ant design vue 组件库的 Bug
|
||||||
|
|
||||||
|
### 描述 Bug
|
||||||
|
|
||||||
|
请清晰地描述此 Bug 的具体表现。
|
||||||
|
|
||||||
|
### 复现 Bug
|
||||||
|
|
||||||
|
请描述在演示页面中复现 Bug 的详细步骤,以确保我们可以理解并定位问题。部分 Bug 如果未在 Demo 中涉及,请务必提供关键代码
|
||||||
|
|
||||||
|
## 系统信息
|
||||||
|
|
||||||
|
- 操作系统:
|
||||||
|
- Node 版本:
|
||||||
|
- 包管理器 (npm/yarn/pnpm) 及其版本:
|
||||||
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Discord Chat
|
||||||
|
url: https://discord.gg/8GuAdwDhj6
|
||||||
|
about: Ask questions and discuss with other Vben users in real time.
|
||||||
|
- name: Questions & Discussions
|
||||||
|
url: https://github.com/anncwb/vue-vben-admin/discussions
|
||||||
|
about: Use GitHub discussions for message-board style questions and discussions.
|
||||||
89
.github/commit-convention.md
vendored
Normal file
89
.github/commit-convention.md
vendored
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
## Git Commit Message Convention
|
||||||
|
|
||||||
|
> This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular).
|
||||||
|
|
||||||
|
#### TL;DR:
|
||||||
|
|
||||||
|
Messages must be matched by the following regex:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/^(revert: )?(feat|fix|docs|style|refactor|perf|test|workflow|build|ci|chore|types|wip): .{1,50}/;
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Examples
|
||||||
|
|
||||||
|
Appears under "Features" header, `dev` subheader:
|
||||||
|
|
||||||
|
```
|
||||||
|
feat(dev): add 'comments' option
|
||||||
|
```
|
||||||
|
|
||||||
|
Appears under "Bug Fixes" header, `dev` subheader, with a link to issue #28:
|
||||||
|
|
||||||
|
```
|
||||||
|
fix(dev): fix dev error
|
||||||
|
|
||||||
|
close #28
|
||||||
|
```
|
||||||
|
|
||||||
|
Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation:
|
||||||
|
|
||||||
|
```
|
||||||
|
perf(build): remove 'foo' option
|
||||||
|
|
||||||
|
BREAKING CHANGE: The 'foo' option has been removed.
|
||||||
|
```
|
||||||
|
|
||||||
|
The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header.
|
||||||
|
|
||||||
|
```
|
||||||
|
revert: feat(compiler): add 'comments' option
|
||||||
|
|
||||||
|
This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Full Message Format
|
||||||
|
|
||||||
|
A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**:
|
||||||
|
|
||||||
|
```
|
||||||
|
<type>(<scope>): <subject>
|
||||||
|
<BLANK LINE>
|
||||||
|
<body>
|
||||||
|
<BLANK LINE>
|
||||||
|
<footer>
|
||||||
|
```
|
||||||
|
|
||||||
|
The **header** is mandatory and the **scope** of the header is optional.
|
||||||
|
|
||||||
|
### Revert
|
||||||
|
|
||||||
|
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body, it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.
|
||||||
|
|
||||||
|
### Type
|
||||||
|
|
||||||
|
If the prefix is `feat`, `fix` or `perf`, it will appear in the changelog. However, if there is any [BREAKING CHANGE](#footer), the commit will always appear in the changelog.
|
||||||
|
|
||||||
|
Other prefixes are up to your discretion. Suggested prefixes are `docs`, `chore`, `style`, `refactor`, and `test` for non-changelog related tasks.
|
||||||
|
|
||||||
|
### Scope
|
||||||
|
|
||||||
|
The scope could be anything specifying the place of the commit change. For example `dev`, `build`, `workflow`, `cli` etc...
|
||||||
|
|
||||||
|
### Subject
|
||||||
|
|
||||||
|
The subject contains a succinct description of the change:
|
||||||
|
|
||||||
|
- use the imperative, present tense: "change" not "changed" nor "changes"
|
||||||
|
- don't capitalize the first letter
|
||||||
|
- no dot (.) at the end
|
||||||
|
|
||||||
|
### Body
|
||||||
|
|
||||||
|
Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.
|
||||||
|
|
||||||
|
### Footer
|
||||||
|
|
||||||
|
The footer should contain any information about **Breaking Changes** and is also the place to reference GitHub issues that this commit **Closes**.
|
||||||
|
|
||||||
|
**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this.
|
||||||
5
.github/contributing.md
vendored
Normal file
5
.github/contributing.md
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Contributing Guide
|
||||||
|
|
||||||
|
1. Make sure you put things in the right category!
|
||||||
|
2. Always add your items to the end of a list. To be fair, the order is first-come-first-serve.
|
||||||
|
3. If you think something belongs in the wrong category, or think there needs to be a new category, feel free to edit things too.
|
||||||
34
.github/pull_request_template.md
vendored
Normal file
34
.github/pull_request_template.md
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
### `General`
|
||||||
|
|
||||||
|
> ✏️ Mark the necessary items without changing the structure of the PR template.
|
||||||
|
|
||||||
|
- [ ] Pull request template structure not broken
|
||||||
|
|
||||||
|
### `Type`
|
||||||
|
|
||||||
|
> ℹ️ What types of changes does your code introduce?
|
||||||
|
|
||||||
|
> 👉 _Put an `x` in the boxes that apply_
|
||||||
|
|
||||||
|
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||||
|
- [ ] New feature (non-breaking change which adds functionality)
|
||||||
|
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||||
|
- [ ] This change requires a documentation update
|
||||||
|
|
||||||
|
### `Checklist`
|
||||||
|
|
||||||
|
> ℹ️ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in [CONTRIBUTING](contributing.md).
|
||||||
|
|
||||||
|
> 👉 _Put an `x` in the boxes that apply._
|
||||||
|
|
||||||
|
- [ ] My code follows the style guidelines of this project
|
||||||
|
- [ ] Is the code format correct
|
||||||
|
- [ ] Is the git submission information standard?
|
||||||
|
- [ ] My code follows the style guidelines of this project
|
||||||
|
- [ ] I have performed a self-review of my own code
|
||||||
|
- [ ] I have commented my code, particularly in hard-to-understand areas
|
||||||
|
- [ ] I have made corresponding changes to the documentation
|
||||||
|
- [ ] My changes generate no new warnings
|
||||||
|
- [ ] I have added tests that prove my fix is effective or that my feature works
|
||||||
|
- [ ] New and existing unit tests pass locally with my changes
|
||||||
|
- [ ] Any dependent changes have been merged and published in downstream modules
|
||||||
118
.github/workflows/deploy.yml
vendored
Normal file
118
.github/workflows/deploy.yml
vendored
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
name: deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# push-to-ftp:
|
||||||
|
# if: "contains(github.event.head_commit.message, '[deploy]')"
|
||||||
|
# runs-on: ubuntu-latest
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout
|
||||||
|
# uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# - name: Sed Config Base
|
||||||
|
# shell: bash
|
||||||
|
# run: |
|
||||||
|
# sed -i 's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /next/#g' ./.env.production
|
||||||
|
# sed -i "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
|
||||||
|
# cat ./.env.production
|
||||||
|
|
||||||
|
# - name: use Node.js 14
|
||||||
|
# uses: actions/setup-node@v2.1.2
|
||||||
|
# with:
|
||||||
|
# node-version: '14.x'
|
||||||
|
|
||||||
|
# - name: Get yarn cache
|
||||||
|
# id: yarn-cache
|
||||||
|
# run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
|
||||||
|
# - name: Cache dependencies
|
||||||
|
# uses: actions/cache@v2
|
||||||
|
# with:
|
||||||
|
# path: ${{ steps.yarn-cache.outputs.dir }}
|
||||||
|
# key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
# restore-keys: |
|
||||||
|
# ${{ runner.os }}-yarn-
|
||||||
|
|
||||||
|
# - name: Build
|
||||||
|
# run: |
|
||||||
|
# yarn install
|
||||||
|
# yarn run build
|
||||||
|
|
||||||
|
# - name: Deploy
|
||||||
|
# uses: SamKirkland/FTP-Deploy-Action@2.0.0
|
||||||
|
# env:
|
||||||
|
# FTP_SERVER: ${{ secrets.FTP_SERVER }}
|
||||||
|
# FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
|
||||||
|
# FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
|
||||||
|
# METHOD: sftp
|
||||||
|
# PORT: ${{ secrets.FTP_PORT }}
|
||||||
|
# LOCAL_DIR: dist
|
||||||
|
# REMOTE_DIR: /srv/www/vben-admin
|
||||||
|
# ARGS: --delete --verbose --parallel=80
|
||||||
|
|
||||||
|
push-to-gh-pages:
|
||||||
|
if: "contains(github.event.head_commit.message, '[release]')"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Sed Config Base
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sed -i 's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /vue-vben-admin/#g' ./.env.production
|
||||||
|
sed -i "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
|
||||||
|
cat ./.env.production
|
||||||
|
|
||||||
|
- name: use Node.js 16
|
||||||
|
uses: actions/setup-node@v2.1.2
|
||||||
|
with:
|
||||||
|
node-version: '16.x'
|
||||||
|
|
||||||
|
- name: Get yarn cache
|
||||||
|
id: yarn-cache
|
||||||
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
|
||||||
|
- name: Cache dependencies
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarn-cache.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-yarn-
|
||||||
|
|
||||||
|
- name: Set SSH Environment
|
||||||
|
env:
|
||||||
|
DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ssh/
|
||||||
|
echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa
|
||||||
|
chmod 600 ~/.ssh/id_rsa
|
||||||
|
ssh-keyscan github.com > ~/.ssh/known_hosts
|
||||||
|
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
|
||||||
|
git config --local user.email "vbenadmin@163.com"
|
||||||
|
git config --local user.name "vbenAdmin"
|
||||||
|
|
||||||
|
- name: Delete gh-pages branch
|
||||||
|
run: |
|
||||||
|
git push origin --delete gh-pages
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
yarn install
|
||||||
|
yarn run build
|
||||||
|
touch dist/.nojekyll
|
||||||
|
cp dist/index.html dist/404.html
|
||||||
|
|
||||||
|
- name: Deploy
|
||||||
|
uses: peaceiris/actions-gh-pages@v2.5.0
|
||||||
|
env:
|
||||||
|
ACTIONS_DEPLOY_KEY: ${{secrets.ACTIONS_DEPLOY_KEY}}
|
||||||
|
PUBLISH_BRANCH: gh-pages
|
||||||
|
PUBLISH_DIR: ./dist
|
||||||
|
with:
|
||||||
|
forceOrphan: true
|
||||||
56
.github/workflows/ftp-schedule.yml
vendored
Normal file
56
.github/workflows/ftp-schedule.yml
vendored
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
name: schedule-push-to-ftp
|
||||||
|
|
||||||
|
# Timed deployment project
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 20 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
schedule-push-to-ftp:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Sed Config Base
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sed -i 's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /next/#g' ./.env.production
|
||||||
|
sed -i "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
|
||||||
|
sed -i "s#VITE_DROP_CONSOLE\s*=.*#VITE_DROP_CONSOLE = true#g" ./.env.production
|
||||||
|
cat ./.env.production
|
||||||
|
|
||||||
|
- name: use Node.js 16
|
||||||
|
uses: actions/setup-node@v2.1.2
|
||||||
|
with:
|
||||||
|
node-version: '16.x'
|
||||||
|
|
||||||
|
- name: Get yarn cache
|
||||||
|
id: yarn-cache
|
||||||
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
|
||||||
|
- name: Cache dependencies
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarn-cache.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-yarn-
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
yarn install
|
||||||
|
yarn run build
|
||||||
|
|
||||||
|
- name: Deploy
|
||||||
|
uses: SamKirkland/FTP-Deploy-Action@2.0.0
|
||||||
|
env:
|
||||||
|
FTP_SERVER: ${{ secrets.FTP_SERVER }}
|
||||||
|
FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
|
||||||
|
FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
|
||||||
|
METHOD: sftp
|
||||||
|
PORT: ${{ secrets.FTP_PORT }}
|
||||||
|
LOCAL_DIR: dist
|
||||||
|
REMOTE_DIR: /srv/www/vben-admin
|
||||||
|
ARGS: --delete --verbose --parallel=80
|
||||||
17
.github/workflows/issue-close-require.yml
vendored
Normal file
17
.github/workflows/issue-close-require.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
name: Issue Close Require
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-issues:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: need reproduction
|
||||||
|
uses: actions-cool/issues-helper@v2.1.1
|
||||||
|
with:
|
||||||
|
actions: 'close-issues'
|
||||||
|
token: ${{ secrets.OPER_TOKEN }}
|
||||||
|
labels: 'need reproduction'
|
||||||
|
inactive-day: 3
|
||||||
29
.github/workflows/issue-labeled.yml
vendored
Normal file
29
.github/workflows/issue-labeled.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
name: Issue Labeled
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
reply-labeled:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: remove pending
|
||||||
|
if: github.event.label.name == 'enhancement' || github.event.label.name == 'bug'
|
||||||
|
uses: actions-cool/issues-helper@v2.1.1
|
||||||
|
with:
|
||||||
|
actions: 'remove-labels'
|
||||||
|
token: ${{ secrets.OPER_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
labels: 'bug: pending triage'
|
||||||
|
|
||||||
|
- name: need reproduction
|
||||||
|
if: github.event.label.name == 'need reproduction'
|
||||||
|
uses: actions-cool/issues-helper@v2.1.1
|
||||||
|
with:
|
||||||
|
actions: 'create-comment, remove-labels'
|
||||||
|
token: ${{ secrets.OPER_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}. Please provide the complete reproduction steps and code. Issues labeled by `need reproduction` will be closed if no activities in 3 days.
|
||||||
|
labels: 'bug: pending triage'
|
||||||
24
.github/workflows/release.yml
vendored
Normal file
24
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: Create Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Create Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@master
|
||||||
|
|
||||||
|
- name: Create Release for Tag
|
||||||
|
id: release_tag
|
||||||
|
uses: yyx990803/release-tag@master
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.OPER_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
body: |
|
||||||
|
Please refer to [CHANGELOG.md](https://github.com/anncwb/vue-vben-admin/blob/main/CHANGELOG.md) for details.
|
||||||
36
.ide/.ide.yaml
Normal file
36
.ide/.ide.yaml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
version: smartide/v0.3
|
||||||
|
orchestrator:
|
||||||
|
type: docker-compose
|
||||||
|
version: 3
|
||||||
|
workspace:
|
||||||
|
dev-container:
|
||||||
|
service-name: itc-framework-vue3
|
||||||
|
|
||||||
|
ports: # 申明端口
|
||||||
|
tools-webide-vscode: 6800
|
||||||
|
tools-ssh: 6822
|
||||||
|
apps-application: 3100
|
||||||
|
|
||||||
|
ide-type: vscode #vscode/theia
|
||||||
|
volumes:
|
||||||
|
git-config: true
|
||||||
|
ssh-key: true
|
||||||
|
services:
|
||||||
|
xjrsoft-vue3:
|
||||||
|
image: registry.cn-hangzhou.aliyuncs.com/smartide/smartide-node-v2-vscode:all-version
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
ROOT_PASSWORD: root123
|
||||||
|
LOCAL_USER_PASSWORD: root123
|
||||||
|
volumes:
|
||||||
|
- .:/home/project
|
||||||
|
ports:
|
||||||
|
- 3100:3100
|
||||||
|
- 6822:22
|
||||||
|
- 6800:3000
|
||||||
|
networks:
|
||||||
|
- smartide-network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
smartide-network:
|
||||||
|
external: true
|
||||||
0
.ide/.keep
Normal file
0
.ide/.keep
Normal file
13
.vscode/extensions.json
vendored
Normal file
13
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"johnsoncodehk.volar",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"stylelint.vscode-stylelint",
|
||||||
|
"esbenp.prettier-vscode",
|
||||||
|
"mrmlnc.vscode-less",
|
||||||
|
"lokalise.i18n-ally",
|
||||||
|
"antfu.iconify",
|
||||||
|
"mikestead.dotenv",
|
||||||
|
"heybourn.headwind"
|
||||||
|
]
|
||||||
|
}
|
||||||
13
.vscode/launch.json
vendored
Normal file
13
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "chrome",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch Chrome",
|
||||||
|
"url": "http://localhost:3100",
|
||||||
|
"webRoot": "${workspaceFolder}/src",
|
||||||
|
"sourceMaps": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
144
.vscode/settings.json
vendored
Normal file
144
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
"typescript.tsdk": "./node_modules/typescript/lib",
|
||||||
|
"volar.tsPlugin": true,
|
||||||
|
"volar.tsPluginStatus": false,
|
||||||
|
"npm.packageManager": "pnpm",
|
||||||
|
"editor.tabSize": 2,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"files.eol": "\n",
|
||||||
|
"search.exclude": {
|
||||||
|
"**/node_modules": true,
|
||||||
|
"**/*.log": true,
|
||||||
|
"**/*.log*": true,
|
||||||
|
"**/bower_components": true,
|
||||||
|
"**/dist": true,
|
||||||
|
"**/elehukouben": true,
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.gitignore": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/.DS_Store": true,
|
||||||
|
"**/.idea": true,
|
||||||
|
"**/.vscode": false,
|
||||||
|
"**/yarn.lock": true,
|
||||||
|
"**/tmp": true,
|
||||||
|
"out": true,
|
||||||
|
"dist": true,
|
||||||
|
"node_modules": true,
|
||||||
|
"CHANGELOG.md": true,
|
||||||
|
"examples": true,
|
||||||
|
"res": true,
|
||||||
|
"screenshots": true,
|
||||||
|
"yarn-error.log": true,
|
||||||
|
"**/.yarn": true
|
||||||
|
},
|
||||||
|
"files.exclude": {
|
||||||
|
"**/.cache": true,
|
||||||
|
"**/.editorconfig": true,
|
||||||
|
"**/.eslintcache": true,
|
||||||
|
"**/bower_components": true,
|
||||||
|
"**/.idea": true,
|
||||||
|
"**/tmp": true,
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/.hg": true,
|
||||||
|
"**/CVS": true,
|
||||||
|
"**/.DS_Store": true
|
||||||
|
},
|
||||||
|
"files.watcherExclude": {
|
||||||
|
"**/.git/objects/**": true,
|
||||||
|
"**/.git/subtree-cache/**": true,
|
||||||
|
"**/.vscode/**": true,
|
||||||
|
"**/node_modules/**": true,
|
||||||
|
"**/tmp/**": true,
|
||||||
|
"**/bower_components/**": true,
|
||||||
|
"**/dist/**": true,
|
||||||
|
"**/yarn.lock": true
|
||||||
|
},
|
||||||
|
"stylelint.enable": true,
|
||||||
|
"stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"],
|
||||||
|
"path-intellisense.mappings": {
|
||||||
|
"/@/": "${workspaceRoot}/src"
|
||||||
|
},
|
||||||
|
"[javascriptreact]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[typescriptreact]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[html]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[css]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[less]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[scss]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[markdown]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": "explicit"
|
||||||
|
},
|
||||||
|
// "[vue]": {
|
||||||
|
// "editor.codeActionsOnSave": {
|
||||||
|
// "source.fixAll.eslint": "explicit",
|
||||||
|
// "source.fixAll.stylelint": "explicit"
|
||||||
|
// },
|
||||||
|
// "editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
// },
|
||||||
|
"i18n-ally.localesPaths": ["src/locales/lang"],
|
||||||
|
"i18n-ally.keystyle": "nested",
|
||||||
|
"i18n-ally.sortKeys": true,
|
||||||
|
"i18n-ally.namespace": true,
|
||||||
|
"i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}",
|
||||||
|
"i18n-ally.enabledParsers": ["ts"],
|
||||||
|
"i18n-ally.sourceLanguage": "en",
|
||||||
|
"i18n-ally.displayLanguage": "zh-CN",
|
||||||
|
"i18n-ally.enabledFrameworks": ["vue", "react"],
|
||||||
|
"cSpell.words": [
|
||||||
|
"vben",
|
||||||
|
"windi",
|
||||||
|
"browserslist",
|
||||||
|
"tailwindcss",
|
||||||
|
"esnext",
|
||||||
|
"antv",
|
||||||
|
"tinymce",
|
||||||
|
"qrcode",
|
||||||
|
"sider",
|
||||||
|
"pinia",
|
||||||
|
"sider",
|
||||||
|
"nprogress",
|
||||||
|
"INTLIFY",
|
||||||
|
"stylelint",
|
||||||
|
"esno",
|
||||||
|
"vitejs",
|
||||||
|
"sortablejs",
|
||||||
|
"mockjs",
|
||||||
|
"codemirror",
|
||||||
|
"iconify",
|
||||||
|
"commitlint",
|
||||||
|
"vditor",
|
||||||
|
"echarts",
|
||||||
|
"cropperjs",
|
||||||
|
"logicflow",
|
||||||
|
"vueuse",
|
||||||
|
"zxcvbn",
|
||||||
|
"lintstagedrc",
|
||||||
|
"brotli",
|
||||||
|
"tailwindcss",
|
||||||
|
"sider",
|
||||||
|
"pnpm",
|
||||||
|
"antd"
|
||||||
|
],
|
||||||
|
// "files.autoSave": "onFocusChange",
|
||||||
|
// "editor.formatOnSave": true,
|
||||||
|
"eslint.codeActionsOnSave.rules": null,
|
||||||
|
"vue3snippets.enable-compile-vue-file-on-did-save-code": false
|
||||||
|
}
|
||||||
133
docs/index.html
133
docs/index.html
File diff suppressed because one or more lines are too long
@ -11,11 +11,10 @@ enum Api {
|
|||||||
/**
|
/**
|
||||||
* @description: 查询当前用户授权子系统(不分页包括主系统)
|
* @description: 查询当前用户授权子系统(不分页包括主系统)
|
||||||
*/
|
*/
|
||||||
export async function getSubSystemList(params,mode: ErrorMessageMode = 'modal') {
|
export async function getSubSystemList(mode: ErrorMessageMode = 'modal') {
|
||||||
return defHttp.get<any[]>(
|
return defHttp.get<any[]>(
|
||||||
{
|
{
|
||||||
url: Api.List,
|
url: Api.List,
|
||||||
params
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
errorMessageMode: mode,
|
errorMessageMode: mode,
|
||||||
|
|||||||
@ -81,7 +81,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getNextNodesName() {
|
function getNextNodesName() {
|
||||||
|
<<<<<<< HEAD
|
||||||
return flowNextNodes.value.length > 1 ? '多个节点,请选择流向节点' : flowNextNodes?.value[0]?.activityName;
|
return flowNextNodes.value.length > 1 ? '多个节点,请选择流向节点' : flowNextNodes?.value[0]?.activityName;
|
||||||
|
=======
|
||||||
|
return flowNextNodes.value.length > 1 ? '多个并行节点' : flowNextNodes.value[0].activityName;
|
||||||
|
>>>>>>> f660a35ca6ca9e659382f0a2ac5b1f63f196936f
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleDialog({ isClose, action, callback, rejectCancel, processId, taskId, nextNodes } = {}) {
|
function toggleDialog({ isClose, action, callback, rejectCancel, processId, taskId, nextNodes } = {}) {
|
||||||
@ -104,7 +108,10 @@
|
|||||||
const nNode = nextNodes[0];
|
const nNode = nextNodes[0];
|
||||||
//formState.nextNodeName = nNode.activityName;
|
//formState.nextNodeName = nNode.activityName;
|
||||||
isEnd.value = nNode.isEnd;
|
isEnd.value = nNode.isEnd;
|
||||||
|
<<<<<<< HEAD
|
||||||
const typeCount = nextNodes.length <= 1 ? nextNodes.length : (new Set(nextNodes.map(nNode => nNode.nodeType))).size;
|
const typeCount = nextNodes.length <= 1 ? nextNodes.length : (new Set(nextNodes.map(nNode => nNode.nodeType))).size;
|
||||||
|
=======
|
||||||
|
>>>>>>> f660a35ca6ca9e659382f0a2ac5b1f63f196936f
|
||||||
nextNodes.forEach((nNode) => {
|
nextNodes.forEach((nNode) => {
|
||||||
if (!nNode.userList?.length) {
|
if (!nNode.userList?.length) {
|
||||||
return;
|
return;
|
||||||
@ -127,6 +134,7 @@
|
|||||||
nNode.assignees = nNode.userList.map((item) => item['F_UserId']);
|
nNode.assignees = nNode.userList.map((item) => item['F_UserId']);
|
||||||
}
|
}
|
||||||
nNode.chooseAssign = nNode.chooseAssign;
|
nNode.chooseAssign = nNode.chooseAssign;
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
if (nNode.nodeType === 'commitToNode') {
|
if (nNode.nodeType === 'commitToNode') {
|
||||||
nNode.nodeTypeLabel = '提交到退回节点:';
|
nNode.nodeTypeLabel = '提交到退回节点:';
|
||||||
@ -144,6 +152,8 @@
|
|||||||
nNode.hiddenNode = false;
|
nNode.hiddenNode = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
>>>>>>> f660a35ca6ca9e659382f0a2ac5b1f63f196936f
|
||||||
});
|
});
|
||||||
flowNextNodes.value = nextNodes;
|
flowNextNodes.value = nextNodes;
|
||||||
}
|
}
|
||||||
@ -152,6 +162,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
function agreeNodeChange(node) {
|
function agreeNodeChange(node) {
|
||||||
if (node.chooseNode) {
|
if (node.chooseNode) {
|
||||||
// 如果是必选并行节点,取消选择时,警告并返回
|
// 如果是必选并行节点,取消选择时,警告并返回
|
||||||
@ -189,6 +200,8 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> f660a35ca6ca9e659382f0a2ac5b1f63f196936f
|
||||||
function search(inputValue, option){
|
function search(inputValue, option){
|
||||||
return inputValue?(option.item.F_Account.indexOf(inputValue)>-1||option.item.F_RealName.indexOf(inputValue)>-1):true;
|
return inputValue?(option.item.F_Account.indexOf(inputValue)>-1||option.item.F_RealName.indexOf(inputValue)>-1):true;
|
||||||
}
|
}
|
||||||
@ -230,6 +243,7 @@
|
|||||||
function onClickOK() {
|
function onClickOK() {
|
||||||
const nextTaskUser = {};
|
const nextTaskUser = {};
|
||||||
if (_action.value === 'agree' && !isEnd.value) {
|
if (_action.value === 'agree' && !isEnd.value) {
|
||||||
|
<<<<<<< HEAD
|
||||||
// 如果是同意,并且没有选择节点 报错
|
// 如果是同意,并且没有选择节点 报错
|
||||||
const choose = flowNextNodes.value.find((node) => (node.chooseNode));
|
const choose = flowNextNodes.value.find((node) => (node.chooseNode));
|
||||||
if (!choose) {
|
if (!choose) {
|
||||||
@ -241,6 +255,13 @@
|
|||||||
return message.error('请选择审批人');
|
return message.error('请选择审批人');
|
||||||
}
|
}
|
||||||
flowNextNodes.value.filter((node)=>node.chooseNode).forEach((nNode) => {
|
flowNextNodes.value.filter((node)=>node.chooseNode).forEach((nNode) => {
|
||||||
|
=======
|
||||||
|
const isEmpty = flowNextNodes.value.find((node) => !node.assignees?.length);
|
||||||
|
if (isEmpty) {
|
||||||
|
return message.error('请选择审批人');
|
||||||
|
}
|
||||||
|
flowNextNodes.value.forEach((nNode) => {
|
||||||
|
>>>>>>> f660a35ca6ca9e659382f0a2ac5b1f63f196936f
|
||||||
nextTaskUser[nNode.activityId] = isEnd.value ? '' : (typeof(nNode.assignees) == 'string' ? nNode.assignees : nNode.assignees.join(','));
|
nextTaskUser[nNode.activityId] = isEnd.value ? '' : (typeof(nNode.assignees) == 'string' ? nNode.assignees : nNode.assignees.join(','));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -286,6 +307,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
<<<<<<< HEAD
|
||||||
.dialog-wrap {
|
.dialog-wrap {
|
||||||
padding: 10px 15px 0 0;
|
padding: 10px 15px 0 0;
|
||||||
}
|
}
|
||||||
@ -311,4 +333,9 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
.dialog-wrap {
|
||||||
|
padding: 10px 15px 0 0;
|
||||||
|
}
|
||||||
|
>>>>>>> f660a35ca6ca9e659382f0a2ac5b1f63f196936f
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user