mirror of
https://gitee.com/myxzgzs/boyue-vue-pro.git
synced 2025-08-10 17:32:45 +08:00
!291 升级 vue2 && 完善 vue3 vxe demo
Merge pull request !291 from xingyu/dev
This commit is contained in:
commit
bef3511c6e
@ -67,13 +67,13 @@
|
|||||||
#set ($comment=$column.columnComment)
|
#set ($comment=$column.columnComment)
|
||||||
#if ($column.javaType == "Date")## 时间类型
|
#if ($column.javaType == "Date")## 时间类型
|
||||||
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
|
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.${javaField}) }}</span>
|
<span>{{ parseTime(scope.row.${javaField}) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
#elseif("" != $column.dictType)## 数据字典
|
#elseif("" != $column.dictType)## 数据字典
|
||||||
<el-table-column label="${comment}" align="center" prop="${javaField}">
|
<el-table-column label="${comment}" align="center" prop="${javaField}">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.$dictType.toUpperCase()" :value="scope.row.${column.javaField}" />
|
<dict-tag :type="DICT_TYPE.$dictType.toUpperCase()" :value="scope.row.${column.javaField}" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -83,7 +83,7 @@
|
|||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['${permissionPrefix}:update']">修改</el-button>
|
v-hasPermi="['${permissionPrefix}:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
@ -97,17 +97,20 @@ getList()
|
|||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<!-- 操作工具栏 -->
|
<!-- 操作工具栏 -->
|
||||||
<div class="mb-10px">
|
<div class="mb-10px">
|
||||||
<el-button type="primary" v-hasPermi="['${permissionPrefix}:create']" @click="handleCreate">
|
<XButton
|
||||||
<Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
|
type="primary"
|
||||||
</el-button>
|
preIcon="ep:zoom-in"
|
||||||
<el-button
|
:title="t('action.add')"
|
||||||
|
v-hasPermi="['${permissionPrefix}:create']"
|
||||||
|
@click="handleCreate()"
|
||||||
|
/>
|
||||||
|
<XButton
|
||||||
type="warning"
|
type="warning"
|
||||||
|
preIcon="ep:download"
|
||||||
|
:title="t('action.export')"
|
||||||
v-hasPermi="['${permissionPrefix}:export']"
|
v-hasPermi="['${permissionPrefix}:export']"
|
||||||
:loading="tableObject.exportLoading"
|
|
||||||
@click="exportList('数据.xls')"
|
@click="exportList('数据.xls')"
|
||||||
>
|
/>
|
||||||
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
|
|
||||||
</el-button>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<Table
|
<Table
|
||||||
@ -137,30 +140,30 @@ getList()
|
|||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
<template #action="{ row }">
|
<template #action="{ row }">
|
||||||
<el-button
|
<XButton
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
|
preIcon="ep:edit"
|
||||||
|
:title="t('action.edit')"
|
||||||
v-hasPermi="['${permissionPrefix}:update']"
|
v-hasPermi="['${permissionPrefix}:update']"
|
||||||
@click="handleUpdate(row)"
|
@click="handleUpdate(row.id)"
|
||||||
>
|
/>
|
||||||
<Icon icon="ep:edit" class="mr-1px" /> {{ t('action.edit') }}
|
<XButton
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
|
preIcon="ep:view"
|
||||||
|
:title="t('action.detail')"
|
||||||
v-hasPermi="['${permissionPrefix}:update']"
|
v-hasPermi="['${permissionPrefix}:update']"
|
||||||
@click="handleDetail(row)"
|
@click="handleDetail(row)"
|
||||||
>
|
/>
|
||||||
<Icon icon="ep:view" class="mr-1px" /> {{ t('action.detail') }}
|
<XButton
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
|
preIcon="ep:delete"
|
||||||
|
:title="t('action.del')"
|
||||||
v-hasPermi="['${permissionPrefix}:delete']"
|
v-hasPermi="['${permissionPrefix}:delete']"
|
||||||
@click="delList(row.id, false)"
|
@click="handleDelete(row.id)"
|
||||||
>
|
/>
|
||||||
<Icon icon="ep:delete" class="mr-1px" /> {{ t('action.del') }}
|
|
||||||
</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</Table>
|
</Table>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
@ -196,15 +199,14 @@ getList()
|
|||||||
</Descriptions>
|
</Descriptions>
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button
|
<XButton
|
||||||
v-if="['create', 'update'].includes(actionType)"
|
v-if="['create', 'update'].includes(actionType)"
|
||||||
type="primary"
|
|
||||||
:loading="actionLoading"
|
:loading="actionLoading"
|
||||||
|
:title="t('action.save')"
|
||||||
|
type="primary"
|
||||||
@click="submitForm"
|
@click="submitForm"
|
||||||
>
|
/>
|
||||||
{{ t('action.save') }}
|
<XButton :loading="actionLoading" :title="t('dialog.close')" @click="dialogVisible = false" />
|
||||||
</el-button>
|
|
||||||
<el-button @click="dialogVisible = false">{{ t('dialog.close') }}</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ruoyi-vue-pro-vue3",
|
"name": "ruoyi-vue-pro-vue3",
|
||||||
"version": "1.6.4.1831",
|
"version": "1.6.4.1841",
|
||||||
"description": "基于vue3、vite3、element-plus、typesScript",
|
"description": "基于vue3、vite3、element-plus、typesScript",
|
||||||
"author": "xingyu",
|
"author": "xingyu",
|
||||||
"private": false,
|
"private": false,
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"@wangeditor/editor-for-vue": "^5.1.10",
|
"@wangeditor/editor-for-vue": "^5.1.10",
|
||||||
"@zxcvbn-ts/core": "^2.1.0",
|
"@zxcvbn-ts/core": "^2.1.0",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"axios": "^0.27.2",
|
"axios": "^1.1.3",
|
||||||
"crypto-js": "^4.1.1",
|
"crypto-js": "^4.1.1",
|
||||||
"dayjs": "^1.11.6",
|
"dayjs": "^1.11.6",
|
||||||
"echarts": "^5.4.0",
|
"echarts": "^5.4.0",
|
||||||
@ -64,14 +64,14 @@
|
|||||||
"@purge-icons/generated": "^0.9.0",
|
"@purge-icons/generated": "^0.9.0",
|
||||||
"@types/intro.js": "^5.1.0",
|
"@types/intro.js": "^5.1.0",
|
||||||
"@types/lodash-es": "^4.17.6",
|
"@types/lodash-es": "^4.17.6",
|
||||||
"@types/node": "^18.8.0",
|
"@types/node": "^18.11.9",
|
||||||
"@types/nprogress": "^0.2.0",
|
"@types/nprogress": "^0.2.0",
|
||||||
"@types/qrcode": "^1.5.0",
|
"@types/qrcode": "^1.5.0",
|
||||||
"@types/qs": "^6.9.7",
|
"@types/qs": "^6.9.7",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.42.0",
|
"@typescript-eslint/eslint-plugin": "^5.42.1",
|
||||||
"@typescript-eslint/parser": "^5.42.0",
|
"@typescript-eslint/parser": "^5.42.1",
|
||||||
"@vitejs/plugin-vue": "^3.2.0",
|
"@vitejs/plugin-vue": "^3.2.0",
|
||||||
"@vitejs/plugin-vue-jsx": "^2.1.0",
|
"@vitejs/plugin-vue-jsx": "^2.1.1",
|
||||||
"autoprefixer": "^10.4.13",
|
"autoprefixer": "^10.4.13",
|
||||||
"eslint": "^8.27.0",
|
"eslint": "^8.27.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
@ -94,8 +94,8 @@
|
|||||||
"stylelint-config-standard": "^29.0.0",
|
"stylelint-config-standard": "^29.0.0",
|
||||||
"stylelint-order": "^5.0.0",
|
"stylelint-order": "^5.0.0",
|
||||||
"typescript": "4.8.4",
|
"typescript": "4.8.4",
|
||||||
"unplugin-vue-macros": "^0.16.0",
|
"unplugin-vue-macros": "^0.16.1",
|
||||||
"vite": "3.2.2",
|
"vite": "3.2.3",
|
||||||
"vite-plugin-compression": "^0.5.1",
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vite-plugin-eslint": "^1.8.1",
|
"vite-plugin-eslint": "^1.8.1",
|
||||||
"vite-plugin-html": "^3.2.0",
|
"vite-plugin-html": "^3.2.0",
|
||||||
|
278
yudao-ui-admin-vue3/pnpm-lock.yaml
generated
278
yudao-ui-admin-vue3/pnpm-lock.yaml
generated
@ -9,21 +9,21 @@ specifiers:
|
|||||||
'@purge-icons/generated': ^0.9.0
|
'@purge-icons/generated': ^0.9.0
|
||||||
'@types/intro.js': ^5.1.0
|
'@types/intro.js': ^5.1.0
|
||||||
'@types/lodash-es': ^4.17.6
|
'@types/lodash-es': ^4.17.6
|
||||||
'@types/node': ^18.8.0
|
'@types/node': ^18.11.9
|
||||||
'@types/nprogress': ^0.2.0
|
'@types/nprogress': ^0.2.0
|
||||||
'@types/qrcode': ^1.5.0
|
'@types/qrcode': ^1.5.0
|
||||||
'@types/qs': ^6.9.7
|
'@types/qs': ^6.9.7
|
||||||
'@typescript-eslint/eslint-plugin': ^5.42.0
|
'@typescript-eslint/eslint-plugin': ^5.42.1
|
||||||
'@typescript-eslint/parser': ^5.42.0
|
'@typescript-eslint/parser': ^5.42.1
|
||||||
'@vitejs/plugin-vue': ^3.2.0
|
'@vitejs/plugin-vue': ^3.2.0
|
||||||
'@vitejs/plugin-vue-jsx': ^2.1.0
|
'@vitejs/plugin-vue-jsx': ^2.1.1
|
||||||
'@vueuse/core': ^9.4.0
|
'@vueuse/core': ^9.4.0
|
||||||
'@wangeditor/editor': ^5.1.22
|
'@wangeditor/editor': ^5.1.22
|
||||||
'@wangeditor/editor-for-vue': ^5.1.10
|
'@wangeditor/editor-for-vue': ^5.1.10
|
||||||
'@zxcvbn-ts/core': ^2.1.0
|
'@zxcvbn-ts/core': ^2.1.0
|
||||||
animate.css: ^4.1.1
|
animate.css: ^4.1.1
|
||||||
autoprefixer: ^10.4.13
|
autoprefixer: ^10.4.13
|
||||||
axios: ^0.27.2
|
axios: ^1.1.3
|
||||||
crypto-js: ^4.1.1
|
crypto-js: ^4.1.1
|
||||||
dayjs: ^1.11.6
|
dayjs: ^1.11.6
|
||||||
echarts: ^5.4.0
|
echarts: ^5.4.0
|
||||||
@ -59,9 +59,9 @@ specifiers:
|
|||||||
stylelint-config-standard: ^29.0.0
|
stylelint-config-standard: ^29.0.0
|
||||||
stylelint-order: ^5.0.0
|
stylelint-order: ^5.0.0
|
||||||
typescript: 4.8.4
|
typescript: 4.8.4
|
||||||
unplugin-vue-macros: ^0.16.0
|
unplugin-vue-macros: ^0.16.1
|
||||||
url: ^0.11.0
|
url: ^0.11.0
|
||||||
vite: 3.2.2
|
vite: 3.2.3
|
||||||
vite-plugin-compression: ^0.5.1
|
vite-plugin-compression: ^0.5.1
|
||||||
vite-plugin-eslint: ^1.8.1
|
vite-plugin-eslint: ^1.8.1
|
||||||
vite-plugin-html: ^3.2.0
|
vite-plugin-html: ^3.2.0
|
||||||
@ -87,7 +87,7 @@ dependencies:
|
|||||||
'@wangeditor/editor-for-vue': 5.1.12_wrllzy32b3ic46yjdgf3mkhqlq
|
'@wangeditor/editor-for-vue': 5.1.12_wrllzy32b3ic46yjdgf3mkhqlq
|
||||||
'@zxcvbn-ts/core': 2.1.0
|
'@zxcvbn-ts/core': 2.1.0
|
||||||
animate.css: 4.1.1
|
animate.css: 4.1.1
|
||||||
axios: 0.27.2
|
axios: 1.1.3
|
||||||
crypto-js: 4.1.1
|
crypto-js: 4.1.1
|
||||||
dayjs: 1.11.6
|
dayjs: 1.11.6
|
||||||
echarts: 5.4.0
|
echarts: 5.4.0
|
||||||
@ -116,18 +116,18 @@ devDependencies:
|
|||||||
'@commitlint/cli': 17.2.0
|
'@commitlint/cli': 17.2.0
|
||||||
'@commitlint/config-conventional': 17.2.0
|
'@commitlint/config-conventional': 17.2.0
|
||||||
'@iconify/json': 2.1.134
|
'@iconify/json': 2.1.134
|
||||||
'@intlify/vite-plugin-vue-i18n': 6.0.3_vite@3.2.2+vue-i18n@9.2.2
|
'@intlify/vite-plugin-vue-i18n': 6.0.3_vite@3.2.3+vue-i18n@9.2.2
|
||||||
'@purge-icons/generated': 0.9.0
|
'@purge-icons/generated': 0.9.0
|
||||||
'@types/intro.js': 5.1.0
|
'@types/intro.js': 5.1.0
|
||||||
'@types/lodash-es': 4.17.6
|
'@types/lodash-es': 4.17.6
|
||||||
'@types/node': 18.11.2
|
'@types/node': 18.11.9
|
||||||
'@types/nprogress': 0.2.0
|
'@types/nprogress': 0.2.0
|
||||||
'@types/qrcode': 1.5.0
|
'@types/qrcode': 1.5.0
|
||||||
'@types/qs': 6.9.7
|
'@types/qs': 6.9.7
|
||||||
'@typescript-eslint/eslint-plugin': 5.42.0_ofgjrzjuekeo7s3hdyz2yuzw34
|
'@typescript-eslint/eslint-plugin': 5.42.1_2udltptbznfmezdozpdoa2aemq
|
||||||
'@typescript-eslint/parser': 5.42.0_rmayb2veg2btbq6mbmnyivgasy
|
'@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
|
||||||
'@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41
|
'@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.41
|
||||||
'@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.41
|
'@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.41
|
||||||
autoprefixer: 10.4.13_postcss@8.4.18
|
autoprefixer: 10.4.13_postcss@8.4.18
|
||||||
eslint: 8.27.0
|
eslint: 8.27.0
|
||||||
eslint-config-prettier: 8.5.0_eslint@8.27.0
|
eslint-config-prettier: 8.5.0_eslint@8.27.0
|
||||||
@ -150,15 +150,15 @@ devDependencies:
|
|||||||
stylelint-config-standard: 29.0.0_stylelint@14.14.1
|
stylelint-config-standard: 29.0.0_stylelint@14.14.1
|
||||||
stylelint-order: 5.0.0_stylelint@14.14.1
|
stylelint-order: 5.0.0_stylelint@14.14.1
|
||||||
typescript: 4.8.4
|
typescript: 4.8.4
|
||||||
unplugin-vue-macros: 0.16.0_f6zolwli45a6dkgzq5zhbk2c7e
|
unplugin-vue-macros: 0.16.1_y7pktweo3ai2nyo3s3skrzfcku
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
vite-plugin-compression: 0.5.1_vite@3.2.2
|
vite-plugin-compression: 0.5.1_vite@3.2.3
|
||||||
vite-plugin-eslint: 1.8.1_eslint@8.27.0+vite@3.2.2
|
vite-plugin-eslint: 1.8.1_eslint@8.27.0+vite@3.2.3
|
||||||
vite-plugin-html: 3.2.0_vite@3.2.2
|
vite-plugin-html: 3.2.0_vite@3.2.3
|
||||||
vite-plugin-purge-icons: 0.9.1_vite@3.2.2
|
vite-plugin-purge-icons: 0.9.1_vite@3.2.3
|
||||||
vite-plugin-style-import: 2.0.0_vite@3.2.2
|
vite-plugin-style-import: 2.0.0_vite@3.2.3
|
||||||
vite-plugin-svg-icons: 2.0.1_vite@3.2.2
|
vite-plugin-svg-icons: 2.0.1_vite@3.2.3
|
||||||
vite-plugin-windicss: 1.8.8_vite@3.2.2
|
vite-plugin-windicss: 1.8.8_vite@3.2.3
|
||||||
vue-tsc: 1.0.9_typescript@4.8.4
|
vue-tsc: 1.0.9_typescript@4.8.4
|
||||||
windicss: 3.5.6
|
windicss: 3.5.6
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ packages:
|
|||||||
'@babel/parser': 7.20.0
|
'@babel/parser': 7.20.0
|
||||||
'@babel/template': 7.18.10
|
'@babel/template': 7.18.10
|
||||||
'@babel/traverse': 7.20.0
|
'@babel/traverse': 7.20.0
|
||||||
'@babel/types': 7.19.4
|
'@babel/types': 7.20.0
|
||||||
convert-source-map: 1.8.0
|
convert-source-map: 1.8.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
gensync: 1.0.0-beta.2
|
gensync: 1.0.0-beta.2
|
||||||
@ -244,8 +244,8 @@ packages:
|
|||||||
semver: 6.3.0
|
semver: 6.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/helper-create-class-features-plugin/7.19.0_@babel+core@7.19.6:
|
/@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.19.6:
|
||||||
resolution: {integrity: sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==}
|
resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@babel/core': ^7.0.0
|
'@babel/core': ^7.0.0
|
||||||
@ -307,7 +307,7 @@ packages:
|
|||||||
'@babel/helper-validator-identifier': 7.19.1
|
'@babel/helper-validator-identifier': 7.19.1
|
||||||
'@babel/template': 7.18.10
|
'@babel/template': 7.18.10
|
||||||
'@babel/traverse': 7.20.0
|
'@babel/traverse': 7.20.0
|
||||||
'@babel/types': 7.19.4
|
'@babel/types': 7.20.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
@ -319,8 +319,8 @@ packages:
|
|||||||
'@babel/types': 7.20.0
|
'@babel/types': 7.20.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/helper-plugin-utils/7.19.0:
|
/@babel/helper-plugin-utils/7.20.2:
|
||||||
resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==}
|
resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -401,7 +401,7 @@ packages:
|
|||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/types': 7.19.4
|
'@babel/types': 7.20.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.6:
|
/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.6:
|
||||||
@ -411,29 +411,29 @@ packages:
|
|||||||
'@babel/core': ^7.0.0-0
|
'@babel/core': ^7.0.0-0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.19.6
|
'@babel/core': 7.19.6
|
||||||
'@babel/helper-plugin-utils': 7.19.0
|
'@babel/helper-plugin-utils': 7.20.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.19.6:
|
/@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.19.6:
|
||||||
resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==}
|
resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@babel/core': ^7.0.0-0
|
'@babel/core': ^7.0.0-0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.19.6
|
'@babel/core': 7.19.6
|
||||||
'@babel/helper-plugin-utils': 7.19.0
|
'@babel/helper-plugin-utils': 7.20.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/plugin-transform-typescript/7.19.3_@babel+core@7.19.6:
|
/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.19.6:
|
||||||
resolution: {integrity: sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==}
|
resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@babel/core': ^7.0.0-0
|
'@babel/core': ^7.0.0-0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.19.6
|
'@babel/core': 7.19.6
|
||||||
'@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6
|
'@babel/helper-create-class-features-plugin': 7.20.2_@babel+core@7.19.6
|
||||||
'@babel/helper-plugin-utils': 7.19.0
|
'@babel/helper-plugin-utils': 7.20.2
|
||||||
'@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.6
|
'@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.19.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
@ -454,24 +454,6 @@ packages:
|
|||||||
'@babel/types': 7.20.0
|
'@babel/types': 7.20.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/traverse/7.19.3:
|
|
||||||
resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/code-frame': 7.18.6
|
|
||||||
'@babel/generator': 7.20.0
|
|
||||||
'@babel/helper-environment-visitor': 7.18.9
|
|
||||||
'@babel/helper-function-name': 7.19.0
|
|
||||||
'@babel/helper-hoist-variables': 7.18.6
|
|
||||||
'@babel/helper-split-export-declaration': 7.18.6
|
|
||||||
'@babel/parser': 7.20.0
|
|
||||||
'@babel/types': 7.20.0
|
|
||||||
debug: 4.3.4
|
|
||||||
globals: 11.12.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/traverse/7.20.0:
|
/@babel/traverse/7.20.0:
|
||||||
resolution: {integrity: sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ==}
|
resolution: {integrity: sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -498,15 +480,6 @@ packages:
|
|||||||
'@babel/helper-validator-identifier': 7.19.1
|
'@babel/helper-validator-identifier': 7.19.1
|
||||||
to-fast-properties: 2.0.0
|
to-fast-properties: 2.0.0
|
||||||
|
|
||||||
/@babel/types/7.19.4:
|
|
||||||
resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/helper-string-parser': 7.19.4
|
|
||||||
'@babel/helper-validator-identifier': 7.19.1
|
|
||||||
to-fast-properties: 2.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/types/7.20.0:
|
/@babel/types/7.20.0:
|
||||||
resolution: {integrity: sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==}
|
resolution: {integrity: sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -856,7 +829,7 @@ packages:
|
|||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@intlify/vite-plugin-vue-i18n/6.0.3_vite@3.2.2+vue-i18n@9.2.2:
|
/@intlify/vite-plugin-vue-i18n/6.0.3_vite@3.2.3+vue-i18n@9.2.2:
|
||||||
resolution: {integrity: sha512-6SgNzPAOCR90wvt368lKzi7f/5ZEWJn22UCGvhFsP3XvKqlF3cVzojahgQ6o+LTdCkExeM6wPgd+haFf28E9VQ==}
|
resolution: {integrity: sha512-6SgNzPAOCR90wvt368lKzi7f/5ZEWJn22UCGvhFsP3XvKqlF3cVzojahgQ6o+LTdCkExeM6wPgd+haFf28E9VQ==}
|
||||||
engines: {node: '>= 14.6'}
|
engines: {node: '>= 14.6'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -877,7 +850,7 @@ packages:
|
|||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
fast-glob: 3.2.12
|
fast-glob: 3.2.12
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
vue-i18n: 9.2.2_vue@3.2.41
|
vue-i18n: 9.2.2_vue@3.2.41
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@ -1056,7 +1029,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==}
|
resolution: {integrity: sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/fined': 1.1.3
|
'@types/fined': 1.1.3
|
||||||
'@types/node': 18.11.2
|
'@types/node': 18.11.9
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/lodash-es/4.17.6:
|
/@types/lodash-es/4.17.6:
|
||||||
@ -1075,8 +1048,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw==}
|
resolution: {integrity: sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/node/18.11.2:
|
/@types/node/18.11.9:
|
||||||
resolution: {integrity: sha512-BWN3M23gLO2jVG8g/XHIRFWiiV4/GckeFIqbU/C4V3xpoBBWSMk4OZomouN0wCkfQFPqgZikyLr7DOYDysIkkw==}
|
resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/normalize-package-data/2.4.1:
|
/@types/normalize-package-data/2.4.1:
|
||||||
@ -1094,7 +1067,7 @@ packages:
|
|||||||
/@types/qrcode/1.5.0:
|
/@types/qrcode/1.5.0:
|
||||||
resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==}
|
resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.11.2
|
'@types/node': 18.11.9
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/qs/6.9.7:
|
/@types/qs/6.9.7:
|
||||||
@ -1108,20 +1081,20 @@ packages:
|
|||||||
/@types/svgo/2.6.4:
|
/@types/svgo/2.6.4:
|
||||||
resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==}
|
resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.11.2
|
'@types/node': 18.11.9
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/through/0.0.30:
|
/@types/through/0.0.30:
|
||||||
resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==}
|
resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.11.2
|
'@types/node': 18.11.9
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/web-bluetooth/0.0.16:
|
/@types/web-bluetooth/0.0.16:
|
||||||
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
|
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin/5.42.0_ofgjrzjuekeo7s3hdyz2yuzw34:
|
/@typescript-eslint/eslint-plugin/5.42.1_2udltptbznfmezdozpdoa2aemq:
|
||||||
resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==}
|
resolution: {integrity: sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@typescript-eslint/parser': ^5.0.0
|
'@typescript-eslint/parser': ^5.0.0
|
||||||
@ -1131,10 +1104,10 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.42.0_rmayb2veg2btbq6mbmnyivgasy
|
'@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
|
||||||
'@typescript-eslint/scope-manager': 5.42.0
|
'@typescript-eslint/scope-manager': 5.42.1
|
||||||
'@typescript-eslint/type-utils': 5.42.0_rmayb2veg2btbq6mbmnyivgasy
|
'@typescript-eslint/type-utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
|
||||||
'@typescript-eslint/utils': 5.42.0_rmayb2veg2btbq6mbmnyivgasy
|
'@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.27.0
|
eslint: 8.27.0
|
||||||
ignore: 5.2.0
|
ignore: 5.2.0
|
||||||
@ -1147,8 +1120,8 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser/5.42.0_rmayb2veg2btbq6mbmnyivgasy:
|
/@typescript-eslint/parser/5.42.1_rmayb2veg2btbq6mbmnyivgasy:
|
||||||
resolution: {integrity: sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==}
|
resolution: {integrity: sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
@ -1157,9 +1130,9 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 5.42.0
|
'@typescript-eslint/scope-manager': 5.42.1
|
||||||
'@typescript-eslint/types': 5.42.0
|
'@typescript-eslint/types': 5.42.1
|
||||||
'@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4
|
'@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.27.0
|
eslint: 8.27.0
|
||||||
typescript: 4.8.4
|
typescript: 4.8.4
|
||||||
@ -1167,16 +1140,16 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/scope-manager/5.42.0:
|
/@typescript-eslint/scope-manager/5.42.1:
|
||||||
resolution: {integrity: sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==}
|
resolution: {integrity: sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.42.0
|
'@typescript-eslint/types': 5.42.1
|
||||||
'@typescript-eslint/visitor-keys': 5.42.0
|
'@typescript-eslint/visitor-keys': 5.42.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils/5.42.0_rmayb2veg2btbq6mbmnyivgasy:
|
/@typescript-eslint/type-utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy:
|
||||||
resolution: {integrity: sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==}
|
resolution: {integrity: sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '*'
|
eslint: '*'
|
||||||
@ -1185,8 +1158,8 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4
|
'@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4
|
||||||
'@typescript-eslint/utils': 5.42.0_rmayb2veg2btbq6mbmnyivgasy
|
'@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.27.0
|
eslint: 8.27.0
|
||||||
tsutils: 3.21.0_typescript@4.8.4
|
tsutils: 3.21.0_typescript@4.8.4
|
||||||
@ -1195,13 +1168,13 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/types/5.42.0:
|
/@typescript-eslint/types/5.42.1:
|
||||||
resolution: {integrity: sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==}
|
resolution: {integrity: sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree/5.42.0_typescript@4.8.4:
|
/@typescript-eslint/typescript-estree/5.42.1_typescript@4.8.4:
|
||||||
resolution: {integrity: sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==}
|
resolution: {integrity: sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
@ -1209,8 +1182,8 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.42.0
|
'@typescript-eslint/types': 5.42.1
|
||||||
'@typescript-eslint/visitor-keys': 5.42.0
|
'@typescript-eslint/visitor-keys': 5.42.1
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@ -1221,17 +1194,17 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils/5.42.0_rmayb2veg2btbq6mbmnyivgasy:
|
/@typescript-eslint/utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy:
|
||||||
resolution: {integrity: sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==}
|
resolution: {integrity: sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/json-schema': 7.0.11
|
'@types/json-schema': 7.0.11
|
||||||
'@types/semver': 7.3.12
|
'@types/semver': 7.3.12
|
||||||
'@typescript-eslint/scope-manager': 5.42.0
|
'@typescript-eslint/scope-manager': 5.42.1
|
||||||
'@typescript-eslint/types': 5.42.0
|
'@typescript-eslint/types': 5.42.1
|
||||||
'@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4
|
'@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4
|
||||||
eslint: 8.27.0
|
eslint: 8.27.0
|
||||||
eslint-scope: 5.1.1
|
eslint-scope: 5.1.1
|
||||||
eslint-utils: 3.0.0_eslint@8.27.0
|
eslint-utils: 3.0.0_eslint@8.27.0
|
||||||
@ -1241,11 +1214,11 @@ packages:
|
|||||||
- typescript
|
- typescript
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/visitor-keys/5.42.0:
|
/@typescript-eslint/visitor-keys/5.42.1:
|
||||||
resolution: {integrity: sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==}
|
resolution: {integrity: sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.42.0
|
'@typescript-eslint/types': 5.42.1
|
||||||
eslint-visitor-keys: 3.3.0
|
eslint-visitor-keys: 3.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -1290,30 +1263,30 @@ packages:
|
|||||||
nanoid: 3.3.4
|
nanoid: 3.3.4
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.41:
|
/@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.3+vue@3.2.41:
|
||||||
resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==}
|
resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^3.0.0
|
vite: ^3.0.0
|
||||||
vue: ^3.0.0
|
vue: ^3.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.19.6
|
'@babel/core': 7.19.6
|
||||||
'@babel/plugin-transform-typescript': 7.19.3_@babel+core@7.19.6
|
'@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.19.6
|
||||||
'@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6
|
'@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
vue: 3.2.41
|
vue: 3.2.41
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.41:
|
/@vitejs/plugin-vue/3.2.0_vite@3.2.3+vue@3.2.41:
|
||||||
resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==}
|
resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^3.0.0
|
vite: ^3.0.0
|
||||||
vue: ^3.2.25
|
vue: ^3.2.25
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
vue: 3.2.41
|
vue: 3.2.41
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -1365,8 +1338,8 @@ packages:
|
|||||||
'@vue-macros/common': 0.13.3
|
'@vue-macros/common': 0.13.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue-macros/better-define/0.0.4:
|
/@vue-macros/better-define/0.1.0:
|
||||||
resolution: {integrity: sha512-wp4C7Oom1P80oKvCtrpEDtotdIsTHXt0OqgBn47xUqdj4S/baG7Ji6qQ3MUtHxBTQ+nyC+7g9nxSADl+s1Px/Q==}
|
resolution: {integrity: sha512-ujuB6G/1+/2Y789CGZegyyRzGoW8bTWzGUXgpNPiIF9H+o3r+1/Ksd1wYC9J08jZrtaXh9q4a6m6b0otbABQ8g==}
|
||||||
engines: {node: '>=14.19.0'}
|
engines: {node: '>=14.19.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 4.2.1
|
'@rollup/pluginutils': 4.2.1
|
||||||
@ -1445,16 +1418,16 @@ packages:
|
|||||||
unplugin: 0.10.2
|
unplugin: 0.10.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue-macros/named-template/0.0.5_kfit4shdbw4ah6piqfzpu53piy:
|
/@vue-macros/named-template/0.0.5_t3l5nd4o5yt7e6vilzibgbljou:
|
||||||
resolution: {integrity: sha512-bZRUljNyvOOqeE9dyqXvKPQCLUCcPt1EkThmXqSbxagV29ohyviF8+CCs/8OdmNygLTBIChjP8DexQ3nUIFzUg==}
|
resolution: {integrity: sha512-bZRUljNyvOOqeE9dyqXvKPQCLUCcPt1EkThmXqSbxagV29ohyviF8+CCs/8OdmNygLTBIChjP8DexQ3nUIFzUg==}
|
||||||
engines: {node: '>=14.19.0'}
|
engines: {node: '>=14.19.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 4.2.1
|
'@rollup/pluginutils': 4.2.1
|
||||||
'@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41
|
'@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.41
|
||||||
'@vue-macros/common': 0.13.3
|
'@vue-macros/common': 0.13.3
|
||||||
'@vue/compiler-dom': 3.2.41
|
'@vue/compiler-dom': 3.2.41
|
||||||
unplugin: 0.10.2
|
unplugin: 0.10.2
|
||||||
unplugin-combine: 0.2.8_rollup@3.2.5+vite@3.2.2
|
unplugin-combine: 0.2.8_rollup@3.2.5+vite@3.2.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- esbuild
|
- esbuild
|
||||||
- rollup
|
- rollup
|
||||||
@ -1463,14 +1436,14 @@ packages:
|
|||||||
- webpack
|
- webpack
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue-macros/setup-component/0.12.7_rollup@3.2.5+vite@3.2.2:
|
/@vue-macros/setup-component/0.12.7_rollup@3.2.5+vite@3.2.3:
|
||||||
resolution: {integrity: sha512-L0WkJgw0QDwZh4tOjjKIDR0DMIybiOunsaxVqkJjicTb2YaiRUSLq4Wadl8Ttrsd0IEfI51CSlg7Sx0/dKLrlQ==}
|
resolution: {integrity: sha512-L0WkJgw0QDwZh4tOjjKIDR0DMIybiOunsaxVqkJjicTb2YaiRUSLq4Wadl8Ttrsd0IEfI51CSlg7Sx0/dKLrlQ==}
|
||||||
engines: {node: '>=14.19.0'}
|
engines: {node: '>=14.19.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 4.2.1
|
'@rollup/pluginutils': 4.2.1
|
||||||
'@vue-macros/common': 0.13.3
|
'@vue-macros/common': 0.13.3
|
||||||
unplugin: 0.10.2
|
unplugin: 0.10.2
|
||||||
unplugin-combine: 0.2.8_rollup@3.2.5+vite@3.2.2
|
unplugin-combine: 0.2.8_rollup@3.2.5+vite@3.2.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- esbuild
|
- esbuild
|
||||||
- rollup
|
- rollup
|
||||||
@ -1506,8 +1479,8 @@ packages:
|
|||||||
'@babel/helper-module-imports': 7.18.6
|
'@babel/helper-module-imports': 7.18.6
|
||||||
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.6
|
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.6
|
||||||
'@babel/template': 7.18.10
|
'@babel/template': 7.18.10
|
||||||
'@babel/traverse': 7.19.3
|
'@babel/traverse': 7.20.0
|
||||||
'@babel/types': 7.19.4
|
'@babel/types': 7.20.0
|
||||||
'@vue/babel-helper-vue-transform-on': 1.0.2
|
'@vue/babel-helper-vue-transform-on': 1.0.2
|
||||||
camelcase: 6.3.0
|
camelcase: 6.3.0
|
||||||
html-tags: 3.2.0
|
html-tags: 3.2.0
|
||||||
@ -2072,11 +2045,12 @@ packages:
|
|||||||
- debug
|
- debug
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/axios/0.27.2:
|
/axios/1.1.3:
|
||||||
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
|
resolution: {integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
follow-redirects: 1.15.2
|
follow-redirects: 1.15.2
|
||||||
form-data: 4.0.0
|
form-data: 4.0.0
|
||||||
|
proxy-from-env: 1.1.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- debug
|
- debug
|
||||||
dev: false
|
dev: false
|
||||||
@ -5709,6 +5683,10 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/proxy-from-env/1.1.0:
|
||||||
|
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/prr/1.0.1:
|
/prr/1.0.1:
|
||||||
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
|
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -6757,7 +6735,7 @@ packages:
|
|||||||
engines: {node: '>= 10.0.0'}
|
engines: {node: '>= 10.0.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/unplugin-combine/0.2.8_rollup@3.2.5+vite@3.2.2:
|
/unplugin-combine/0.2.8_rollup@3.2.5+vite@3.2.3:
|
||||||
resolution: {integrity: sha512-Z38AC/TEjXbVyZ5HjVqo+lADj0/dcfwWC0Z4y0LNhybJzJQwmcMxm+ZsqHY3faauj4YigmlRMdptR5JEW9RuLg==}
|
resolution: {integrity: sha512-Z38AC/TEjXbVyZ5HjVqo+lADj0/dcfwWC0Z4y0LNhybJzJQwmcMxm+ZsqHY3faauj4YigmlRMdptR5JEW9RuLg==}
|
||||||
engines: {node: '>=14.19.0'}
|
engines: {node: '>=14.19.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -6778,7 +6756,7 @@ packages:
|
|||||||
'@antfu/utils': 0.6.0
|
'@antfu/utils': 0.6.0
|
||||||
rollup: 3.2.5
|
rollup: 3.2.5
|
||||||
unplugin: 0.10.2
|
unplugin: 0.10.2
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/unplugin-vue-define-options/0.12.7:
|
/unplugin-vue-define-options/0.12.7:
|
||||||
@ -6791,25 +6769,25 @@ packages:
|
|||||||
unplugin: 0.10.2
|
unplugin: 0.10.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/unplugin-vue-macros/0.16.0_f6zolwli45a6dkgzq5zhbk2c7e:
|
/unplugin-vue-macros/0.16.1_y7pktweo3ai2nyo3s3skrzfcku:
|
||||||
resolution: {integrity: sha512-GdSJT+8Anc5zrGtZTvEnya2XVOneG0MEyyRrWWhVtn5xYEsUkrB0IxsHiT/mGjR5U+tjyQ/9sNL+FhhC54NFnQ==}
|
resolution: {integrity: sha512-EPgAiESpFj8o2pOdYrtD4hkmbXVzUq6f+6votCS90t3Ke2aJAnukxU2nuM9+P81PAkgggnzolXwZwdJMspHzPA==}
|
||||||
engines: {node: '>=14.19.0'}
|
engines: {node: '>=14.19.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vue: ^2.7.0 || ^3.2.25
|
vue: ^2.7.0 || ^3.2.25
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 4.2.1
|
'@rollup/pluginutils': 4.2.1
|
||||||
'@vue-macros/better-define': 0.0.4
|
'@vue-macros/better-define': 0.1.0
|
||||||
'@vue-macros/define-model': 0.13.8_@vueuse+core@9.4.0
|
'@vue-macros/define-model': 0.13.8_@vueuse+core@9.4.0
|
||||||
'@vue-macros/define-props': 0.0.1_vue@3.2.41
|
'@vue-macros/define-props': 0.0.1_vue@3.2.41
|
||||||
'@vue-macros/define-render': 0.13.8_vue@3.2.41
|
'@vue-macros/define-render': 0.13.8_vue@3.2.41
|
||||||
'@vue-macros/define-slots': 0.0.5_vue@3.2.41
|
'@vue-macros/define-slots': 0.0.5_vue@3.2.41
|
||||||
'@vue-macros/hoist-static': 0.12.7
|
'@vue-macros/hoist-static': 0.12.7
|
||||||
'@vue-macros/named-template': 0.0.5_kfit4shdbw4ah6piqfzpu53piy
|
'@vue-macros/named-template': 0.0.5_t3l5nd4o5yt7e6vilzibgbljou
|
||||||
'@vue-macros/setup-component': 0.12.7_rollup@3.2.5+vite@3.2.2
|
'@vue-macros/setup-component': 0.12.7_rollup@3.2.5+vite@3.2.3
|
||||||
'@vue-macros/setup-sfc': 0.12.7
|
'@vue-macros/setup-sfc': 0.12.7
|
||||||
'@vue-macros/short-emits': 0.12.8
|
'@vue-macros/short-emits': 0.12.8
|
||||||
local-pkg: 0.4.2
|
local-pkg: 0.4.2
|
||||||
unplugin-combine: 0.2.8_rollup@3.2.5+vite@3.2.2
|
unplugin-combine: 0.2.8_rollup@3.2.5+vite@3.2.3
|
||||||
unplugin-vue-define-options: 0.12.7
|
unplugin-vue-define-options: 0.12.7
|
||||||
vue: 3.2.41
|
vue: 3.2.41
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@ -6912,7 +6890,7 @@ packages:
|
|||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-compression/0.5.1_vite@3.2.2:
|
/vite-plugin-compression/0.5.1_vite@3.2.3:
|
||||||
resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
|
resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: '>=2.0.0'
|
vite: '>=2.0.0'
|
||||||
@ -6920,12 +6898,12 @@ packages:
|
|||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
fs-extra: 10.1.0
|
fs-extra: 10.1.0
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-eslint/1.8.1_eslint@8.27.0+vite@3.2.2:
|
/vite-plugin-eslint/1.8.1_eslint@8.27.0+vite@3.2.3:
|
||||||
resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==}
|
resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=7'
|
eslint: '>=7'
|
||||||
@ -6935,10 +6913,10 @@ packages:
|
|||||||
'@types/eslint': 8.4.6
|
'@types/eslint': 8.4.6
|
||||||
eslint: 8.27.0
|
eslint: 8.27.0
|
||||||
rollup: 2.79.1
|
rollup: 2.79.1
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-html/3.2.0_vite@3.2.2:
|
/vite-plugin-html/3.2.0_vite@3.2.3:
|
||||||
resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==}
|
resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: '>=2.0.0'
|
vite: '>=2.0.0'
|
||||||
@ -6955,10 +6933,10 @@ packages:
|
|||||||
html-minifier-terser: 6.1.0
|
html-minifier-terser: 6.1.0
|
||||||
node-html-parser: 5.4.2
|
node-html-parser: 5.4.2
|
||||||
pathe: 0.2.0
|
pathe: 0.2.0
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-purge-icons/0.9.1_vite@3.2.2:
|
/vite-plugin-purge-icons/0.9.1_vite@3.2.3:
|
||||||
resolution: {integrity: sha512-oS0Y9Iq6vGnTDVRzB8xJNhA/gGlyR0lfCICU6+9FRKdrO5PnT34fRjvd8YWEsegCrk91+w3GVZc0HJDj/dPp5Q==}
|
resolution: {integrity: sha512-oS0Y9Iq6vGnTDVRzB8xJNhA/gGlyR0lfCICU6+9FRKdrO5PnT34fRjvd8YWEsegCrk91+w3GVZc0HJDj/dPp5Q==}
|
||||||
engines: {node: '>= 12'}
|
engines: {node: '>= 12'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -6967,13 +6945,13 @@ packages:
|
|||||||
'@purge-icons/core': 0.9.1
|
'@purge-icons/core': 0.9.1
|
||||||
'@purge-icons/generated': 0.9.0
|
'@purge-icons/generated': 0.9.0
|
||||||
rollup-plugin-purge-icons: 0.9.1
|
rollup-plugin-purge-icons: 0.9.1
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-style-import/2.0.0_vite@3.2.2:
|
/vite-plugin-style-import/2.0.0_vite@3.2.3:
|
||||||
resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==}
|
resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: '>=2.0.0'
|
vite: '>=2.0.0'
|
||||||
@ -6985,10 +6963,10 @@ packages:
|
|||||||
fs-extra: 10.1.0
|
fs-extra: 10.1.0
|
||||||
magic-string: 0.25.9
|
magic-string: 0.25.9
|
||||||
pathe: 0.2.0
|
pathe: 0.2.0
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-svg-icons/2.0.1_vite@3.2.2:
|
/vite-plugin-svg-icons/2.0.1_vite@3.2.3:
|
||||||
resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
|
resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: '>=2.0.0'
|
vite: '>=2.0.0'
|
||||||
@ -7001,12 +6979,12 @@ packages:
|
|||||||
pathe: 0.2.0
|
pathe: 0.2.0
|
||||||
svg-baker: 1.7.0
|
svg-baker: 1.7.0
|
||||||
svgo: 2.8.0
|
svgo: 2.8.0
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-plugin-windicss/1.8.8_vite@3.2.2:
|
/vite-plugin-windicss/1.8.8_vite@3.2.3:
|
||||||
resolution: {integrity: sha512-iyu+ZX0NmhNEUaLPv7xtC+EFRBpWMmw0nhd9a9upayfuNG/thwslKiQKmRB7U/dG0k/2oWLvPDvN/B9i7oRgSA==}
|
resolution: {integrity: sha512-iyu+ZX0NmhNEUaLPv7xtC+EFRBpWMmw0nhd9a9upayfuNG/thwslKiQKmRB7U/dG0k/2oWLvPDvN/B9i7oRgSA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^2.0.1 || ^3.0.0
|
vite: ^2.0.1 || ^3.0.0
|
||||||
@ -7014,23 +6992,26 @@ packages:
|
|||||||
'@windicss/plugin-utils': 1.8.8
|
'@windicss/plugin-utils': 1.8.8
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
kolorist: 1.6.0
|
kolorist: 1.6.0
|
||||||
vite: 3.2.2_less@4.1.3
|
vite: 3.2.3_mp5lu76ee5qtwstsyca37sdhqi
|
||||||
windicss: 3.5.6
|
windicss: 3.5.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite/3.2.2_less@4.1.3:
|
/vite/3.2.3_mp5lu76ee5qtwstsyca37sdhqi:
|
||||||
resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==}
|
resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
'@types/node': '>= 14'
|
||||||
less: '*'
|
less: '*'
|
||||||
sass: '*'
|
sass: '*'
|
||||||
stylus: '*'
|
stylus: '*'
|
||||||
sugarss: '*'
|
sugarss: '*'
|
||||||
terser: ^5.4.0
|
terser: ^5.4.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
|
'@types/node':
|
||||||
|
optional: true
|
||||||
less:
|
less:
|
||||||
optional: true
|
optional: true
|
||||||
sass:
|
sass:
|
||||||
@ -7042,6 +7023,7 @@ packages:
|
|||||||
terser:
|
terser:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@types/node': 18.11.9
|
||||||
esbuild: 0.15.10
|
esbuild: 0.15.10
|
||||||
less: 4.1.3
|
less: 4.1.3
|
||||||
postcss: 8.4.18
|
postcss: 8.4.18
|
||||||
|
@ -5,7 +5,7 @@ export type PostVO = {
|
|||||||
sort: number
|
sort: number
|
||||||
status: number
|
status: number
|
||||||
remark: string
|
remark: string
|
||||||
createTime: string
|
createTime?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type PostPageReqVO = {
|
export type PostPageReqVO = {
|
||||||
|
@ -226,6 +226,11 @@ export default defineComponent({
|
|||||||
vModel={formModel.value[item.field]}
|
vModel={formModel.value[item.field]}
|
||||||
{...(autoSetPlaceholder && setTextPlaceholder(item))}
|
{...(autoSetPlaceholder && setTextPlaceholder(item))}
|
||||||
{...setComponentProps(item)}
|
{...setComponentProps(item)}
|
||||||
|
style={
|
||||||
|
item?.component === 'Input'
|
||||||
|
? { width: '189.5px', ...item.componentProps?.style }
|
||||||
|
: { ...item.componentProps?.style }
|
||||||
|
}
|
||||||
{...(notRenderOptions.includes(item?.component as string) &&
|
{...(notRenderOptions.includes(item?.component as string) &&
|
||||||
item?.componentProps?.options
|
item?.componentProps?.options
|
||||||
? { options: item?.componentProps?.options || [] }
|
? { options: item?.componentProps?.options || [] }
|
||||||
|
@ -10,6 +10,7 @@ import {
|
|||||||
ElRate,
|
ElRate,
|
||||||
ElSelect,
|
ElSelect,
|
||||||
ElSelectV2,
|
ElSelectV2,
|
||||||
|
ElTreeSelect,
|
||||||
ElSlider,
|
ElSlider,
|
||||||
ElSwitch,
|
ElSwitch,
|
||||||
ElTimePicker,
|
ElTimePicker,
|
||||||
@ -41,6 +42,7 @@ const componentMap: Recordable<Component, ComponentName> = {
|
|||||||
Divider: ElDivider,
|
Divider: ElDivider,
|
||||||
TimeSelect: ElTimeSelect,
|
TimeSelect: ElTimeSelect,
|
||||||
SelectV2: ElSelectV2,
|
SelectV2: ElSelectV2,
|
||||||
|
TreeSelect: ElTreeSelect,
|
||||||
RadioButton: ElRadioGroup,
|
RadioButton: ElRadioGroup,
|
||||||
InputPassword: InputPassword,
|
InputPassword: InputPassword,
|
||||||
Editor: Editor
|
Editor: Editor
|
||||||
|
@ -11,7 +11,12 @@ export const useRenderCheckbox = () => {
|
|||||||
typeof defineComponent
|
typeof defineComponent
|
||||||
>
|
>
|
||||||
return item?.componentProps?.options?.map((option) => {
|
return item?.componentProps?.options?.map((option) => {
|
||||||
return <Com label={option[labelAlias || 'value']}>{option[valueAlias || 'label']}</Com>
|
const { ...other } = option
|
||||||
|
return (
|
||||||
|
<Com label={option[labelAlias || 'value']} {...other}>
|
||||||
|
{option[valueAlias || 'label']}
|
||||||
|
</Com>
|
||||||
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,12 @@ export const useRenderRadio = () => {
|
|||||||
typeof defineComponent
|
typeof defineComponent
|
||||||
>
|
>
|
||||||
return item?.componentProps?.options?.map((option) => {
|
return item?.componentProps?.options?.map((option) => {
|
||||||
return <Com label={option[labelAlias || 'value']}>{option[valueAlias || 'label']}</Com>
|
const { ...other } = option
|
||||||
|
return (
|
||||||
|
<Com label={option[labelAlias || 'value']} {...other}>
|
||||||
|
{option[valueAlias || 'label']}
|
||||||
|
</Com>
|
||||||
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,10 +220,10 @@ export default defineComponent({
|
|||||||
|
|
||||||
// 水平菜单
|
// 水平菜单
|
||||||
&__horizontal {
|
&__horizontal {
|
||||||
height: calc(~'var( - -top-tool-height)') !important;
|
height: calc(~'var(--top-tool-height)') !important;
|
||||||
|
|
||||||
:deep(.@{elNamespace}-menu--horizontal) {
|
:deep(.@{elNamespace}-menu--horizontal) {
|
||||||
height: calc(~'var( - -top-tool-height)');
|
height: calc(~'var(--top-tool-height)');
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
// 重新设置底部高亮颜色
|
// 重新设置底部高亮颜色
|
||||||
& > .@{elNamespace}-sub-menu.is-active {
|
& > .@{elNamespace}-sub-menu.is-active {
|
||||||
|
@ -48,7 +48,7 @@ service.interceptors.request.use(
|
|||||||
// 设置租户
|
// 设置租户
|
||||||
if (tenantEnable) {
|
if (tenantEnable) {
|
||||||
const tenantId = getTenantId()
|
const tenantId = getTenantId()
|
||||||
if (tenantId) (config as Recordable).headers.common['tenant-id'] = tenantId
|
if (tenantId) service.defaults.headers.common['tenant-id'] = tenantId
|
||||||
}
|
}
|
||||||
const params = config.params || {}
|
const params = config.params || {}
|
||||||
const data = config.data || false
|
const data = config.data || false
|
||||||
@ -94,7 +94,7 @@ service.interceptors.request.use(
|
|||||||
|
|
||||||
// response 拦截器
|
// response 拦截器
|
||||||
service.interceptors.response.use(
|
service.interceptors.response.use(
|
||||||
async (response: AxiosResponse<Recordable>) => {
|
async (response: AxiosResponse<any>) => {
|
||||||
const { data } = response
|
const { data } = response
|
||||||
const config = response.config
|
const config = response.config
|
||||||
if (!data) {
|
if (!data) {
|
||||||
@ -104,7 +104,6 @@ service.interceptors.response.use(
|
|||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
// 未设置状态码则默认成功状态
|
// 未设置状态码则默认成功状态
|
||||||
const code = data.code || result_code
|
const code = data.code || result_code
|
||||||
// 二进制数据则直接返回
|
|
||||||
if (
|
if (
|
||||||
response.request.responseType === 'blob' ||
|
response.request.responseType === 'blob' ||
|
||||||
response.request.responseType === 'arraybuffer'
|
response.request.responseType === 'arraybuffer'
|
||||||
@ -126,10 +125,11 @@ service.interceptors.response.use(
|
|||||||
}
|
}
|
||||||
// 2. 进行刷新访问令牌
|
// 2. 进行刷新访问令牌
|
||||||
try {
|
try {
|
||||||
const refreshTokenRes = await refreshToken()
|
const refreshTokenRes = refreshToken()
|
||||||
// 2.1 刷新成功,则回放队列的请求 + 当前请求
|
// 2.1 刷新成功,则回放队列的请求 + 当前请求
|
||||||
setToken(refreshTokenRes.data.data)
|
setToken((await refreshTokenRes).data.data)
|
||||||
config.headers!.Authorization = 'Bearer ' + getAccessToken()
|
config.headers!.Authorization = 'Bearer ' + getAccessToken()
|
||||||
|
service.defaults.headers.Authorization = 'Bearer ' + getAccessToken()
|
||||||
requestList.forEach((cb: any) => {
|
requestList.forEach((cb: any) => {
|
||||||
cb()
|
cb()
|
||||||
})
|
})
|
||||||
|
@ -52,13 +52,25 @@ export const useMessage = () => {
|
|||||||
ElNotification.warning(content)
|
ElNotification.warning(content)
|
||||||
},
|
},
|
||||||
// 确认窗体
|
// 确认窗体
|
||||||
confirm(content: string, tip: string) {
|
confirm(content: string, tip?: string) {
|
||||||
return ElMessageBox.confirm(content, tip, {
|
return ElMessageBox.confirm(content, tip ? tip : t('common.confirmTitle'), {
|
||||||
confirmButtonText: t('common.ok'),
|
confirmButtonText: t('common.ok'),
|
||||||
cancelButtonText: t('common.cancel'),
|
cancelButtonText: t('common.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 删除窗体
|
||||||
|
delConfirm(content?: string, tip?: string) {
|
||||||
|
return ElMessageBox.confirm(
|
||||||
|
content ? content : t('common.delMessage'),
|
||||||
|
tip ? tip : t('common.confirmTitle'),
|
||||||
|
{
|
||||||
|
confirmButtonText: t('common.ok'),
|
||||||
|
cancelButtonText: t('common.cancel'),
|
||||||
|
type: 'warning'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
// 提交内容
|
// 提交内容
|
||||||
prompt(content: string, tip: string) {
|
prompt(content: string, tip: string) {
|
||||||
return ElMessageBox.prompt(content, tip, {
|
return ElMessageBox.prompt(content, tip, {
|
||||||
|
@ -3,6 +3,7 @@ import { getIntDictOptions } from '@/utils/dict'
|
|||||||
import { reactive } from 'vue'
|
import { reactive } from 'vue'
|
||||||
import {
|
import {
|
||||||
FormItemRenderOptions,
|
FormItemRenderOptions,
|
||||||
|
VxeColumnPropTypes,
|
||||||
VxeFormItemProps,
|
VxeFormItemProps,
|
||||||
VxeGridPropTypes,
|
VxeGridPropTypes,
|
||||||
VxeTableDefines
|
VxeTableDefines
|
||||||
@ -10,15 +11,18 @@ import {
|
|||||||
import { eachTree } from 'xe-utils'
|
import { eachTree } from 'xe-utils'
|
||||||
import { useI18n } from '@/hooks/web/useI18n'
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
import { VxeTableColumn } from '@/types/table'
|
import { VxeTableColumn } from '@/types/table'
|
||||||
|
import { FormSchema } from '@/types/form'
|
||||||
|
import { ComponentOptions } from '@/types/components'
|
||||||
|
|
||||||
export type VxeCrudSchema = Omit<VxeTableColumn, 'children'> & {
|
export type VxeCrudSchema = Omit<VxeTableColumn, 'children'> & {
|
||||||
field: string
|
field: string
|
||||||
title?: string
|
title?: string
|
||||||
|
formatter?: VxeColumnPropTypes.Formatter
|
||||||
search?: CrudSearchParams
|
search?: CrudSearchParams
|
||||||
table?: CrudTableParams
|
table?: CrudTableParams
|
||||||
form?: CrudFormParams
|
form?: CrudFormParams
|
||||||
detail?: CrudDescriptionsParams
|
detail?: CrudDescriptionsParams
|
||||||
print?: boolean
|
print?: CrudPrintParams
|
||||||
children?: VxeCrudSchema[]
|
children?: VxeCrudSchema[]
|
||||||
dictType?: string
|
dictType?: string
|
||||||
}
|
}
|
||||||
@ -35,17 +39,22 @@ type CrudTableParams = {
|
|||||||
type CrudFormParams = {
|
type CrudFormParams = {
|
||||||
// 是否显示表单项
|
// 是否显示表单项
|
||||||
show?: boolean
|
show?: boolean
|
||||||
} & Omit<VxeFormItemProps, 'field'>
|
} & Omit<FormSchema, 'field'>
|
||||||
|
|
||||||
type CrudDescriptionsParams = {
|
type CrudDescriptionsParams = {
|
||||||
// 是否显示表单项
|
// 是否显示表单项
|
||||||
show?: boolean
|
show?: boolean
|
||||||
} & Omit<DescriptionsSchema, 'field'>
|
} & Omit<DescriptionsSchema, 'field'>
|
||||||
|
|
||||||
interface VxeAllSchemas {
|
type CrudPrintParams = {
|
||||||
|
// 是否显示表单项
|
||||||
|
show?: boolean
|
||||||
|
} & Omit<VxeTableDefines.ColumnInfo[], 'field'>
|
||||||
|
|
||||||
|
export type VxeAllSchemas = {
|
||||||
searchSchema: VxeFormItemProps[]
|
searchSchema: VxeFormItemProps[]
|
||||||
tableSchema: VxeGridPropTypes.Columns
|
tableSchema: VxeGridPropTypes.Columns
|
||||||
formSchema: VxeFormItemProps[]
|
formSchema: FormSchema[]
|
||||||
detailSchema: DescriptionsSchema[]
|
detailSchema: DescriptionsSchema[]
|
||||||
printSchema: VxeTableDefines.ColumnInfo[]
|
printSchema: VxeTableDefines.ColumnInfo[]
|
||||||
}
|
}
|
||||||
@ -155,6 +164,9 @@ const filterTableSchema = (crudSchema: VxeCrudSchema[]): VxeGridPropTypes.Column
|
|||||||
field: schemaItem.field,
|
field: schemaItem.field,
|
||||||
title: schemaItem.table?.title || schemaItem.title
|
title: schemaItem.table?.title || schemaItem.title
|
||||||
}
|
}
|
||||||
|
if (schemaItem?.formatter) {
|
||||||
|
tableSchemaItem.formatter = schemaItem.formatter
|
||||||
|
}
|
||||||
|
|
||||||
// 删除不必要的字段
|
// 删除不必要的字段
|
||||||
delete tableSchemaItem.show
|
delete tableSchemaItem.show
|
||||||
@ -166,32 +178,31 @@ const filterTableSchema = (crudSchema: VxeCrudSchema[]): VxeGridPropTypes.Column
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 过滤 form 结构
|
// 过滤 form 结构
|
||||||
const filterFormSchema = (crudSchema: VxeCrudSchema[]): VxeFormItemProps[] => {
|
const filterFormSchema = (crudSchema: VxeCrudSchema[]): FormSchema[] => {
|
||||||
const formSchema: VxeFormItemProps[] = []
|
const formSchema: FormSchema[] = []
|
||||||
const { t } = useI18n()
|
|
||||||
eachTree(crudSchema, (schemaItem: VxeCrudSchema) => {
|
eachTree(crudSchema, (schemaItem: VxeCrudSchema) => {
|
||||||
// 判断是否显示
|
// 判断是否显示
|
||||||
if (schemaItem?.form?.show !== false) {
|
if (schemaItem?.form?.show !== false) {
|
||||||
let itemRenderName = schemaItem?.form?.itemRender?.name || '$input'
|
let component = schemaItem?.form?.component || 'Input'
|
||||||
let itemRender: FormItemRenderOptions = {
|
const options: ComponentOptions[] = []
|
||||||
name: itemRenderName,
|
let comonentProps = {}
|
||||||
props: { placeholder: t('common.inputText') }
|
|
||||||
}
|
|
||||||
if (schemaItem.dictType) {
|
if (schemaItem.dictType) {
|
||||||
if (!(schemaItem.form && schemaItem.form.itemRender?.name)) itemRenderName = '$select'
|
getIntDictOptions(schemaItem.dictType).forEach((dict) => {
|
||||||
itemRender = {
|
options.push(dict)
|
||||||
name: itemRenderName,
|
})
|
||||||
options: getIntDictOptions(schemaItem.dictType),
|
comonentProps = {
|
||||||
props: { placeholder: t('common.selectText') }
|
options: options
|
||||||
}
|
}
|
||||||
|
if (!(schemaItem.form && schemaItem.form.component)) component = 'Select'
|
||||||
}
|
}
|
||||||
const formSchemaItem = {
|
const formSchemaItem = {
|
||||||
// 默认为 input
|
// 默认为 input
|
||||||
itemRender: itemRender,
|
component: component,
|
||||||
|
componentProps: comonentProps,
|
||||||
...schemaItem.form,
|
...schemaItem.form,
|
||||||
span: schemaItem.form?.span || 12,
|
|
||||||
field: schemaItem.field,
|
field: schemaItem.field,
|
||||||
title: schemaItem.form?.title || schemaItem.title
|
label: schemaItem.form?.label || schemaItem.title
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除不必要的字段
|
// 删除不必要的字段
|
||||||
@ -233,7 +244,7 @@ const filterPrintSchema = (crudSchema: VxeCrudSchema[]): any[] => {
|
|||||||
|
|
||||||
eachTree(crudSchema, (schemaItem: VxeCrudSchema) => {
|
eachTree(crudSchema, (schemaItem: VxeCrudSchema) => {
|
||||||
// 判断是否显示
|
// 判断是否显示
|
||||||
if (schemaItem?.detail?.show !== false) {
|
if (schemaItem?.print?.show !== false) {
|
||||||
const printSchemaItem = {
|
const printSchemaItem = {
|
||||||
field: schemaItem.field
|
field: schemaItem.field
|
||||||
}
|
}
|
||||||
|
@ -1,34 +1,66 @@
|
|||||||
import { reactive } from 'vue'
|
import { computed, reactive } from 'vue'
|
||||||
import { VxeGridProps } from 'vxe-table'
|
import { VxeGridProps } from 'vxe-table'
|
||||||
|
import { useAppStore } from '@/store/modules/app'
|
||||||
|
import { VxeAllSchemas } from './useVxeCrudSchemas'
|
||||||
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
|
import { useMessage } from '@/hooks/web/useMessage'
|
||||||
|
|
||||||
export const useVxeGrid = (allSchemas, getPageApi) => {
|
const { t } = useI18n()
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
interface UseVxeGridConfig<T = any> {
|
||||||
|
allSchemas: VxeAllSchemas
|
||||||
|
getListApi: (option: any) => Promise<T>
|
||||||
|
delListApi?: (option: any) => Promise<T>
|
||||||
|
exportListApi?: (option: any) => Promise<T>
|
||||||
|
}
|
||||||
|
|
||||||
|
const appStore = useAppStore()
|
||||||
|
|
||||||
|
const currentSize = computed(() => {
|
||||||
|
if (appStore.getCurrentSize === 'small') {
|
||||||
|
return 'small'
|
||||||
|
} else if (appStore.getCurrentSize === 'large') {
|
||||||
|
return 'mini'
|
||||||
|
} else {
|
||||||
|
return 'medium'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
export const useVxeGrid = <T = any>(config?: UseVxeGridConfig<T>) => {
|
||||||
const gridOptions = reactive<VxeGridProps>({
|
const gridOptions = reactive<VxeGridProps>({
|
||||||
loading: false,
|
loading: true,
|
||||||
|
size: currentSize.value,
|
||||||
height: 800,
|
height: 800,
|
||||||
rowConfig: {
|
rowConfig: {
|
||||||
keyField: 'id',
|
isCurrent: true, // 当鼠标点击行时,是否要高亮当前行
|
||||||
isHover: true
|
isHover: true // 当鼠标移到行时,是否要高亮当前行
|
||||||
|
},
|
||||||
|
showOverflow: 'tooltip', // 当内容溢出时显示为省略号
|
||||||
|
tooltipConfig: {
|
||||||
|
showAll: true // 开启全表工具提示
|
||||||
},
|
},
|
||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
custom: true,
|
custom: true,
|
||||||
slots: { buttons: 'toolbar_buttons' }
|
slots: { buttons: 'toolbar_buttons' }
|
||||||
},
|
},
|
||||||
printConfig: {
|
printConfig: {
|
||||||
columns: allSchemas.printSchema
|
columns: config?.allSchemas.printSchema
|
||||||
},
|
},
|
||||||
formConfig: {
|
formConfig: {
|
||||||
titleWidth: 100,
|
titleWidth: 100,
|
||||||
titleAlign: 'right',
|
titleAlign: 'right',
|
||||||
items: allSchemas.searchSchema
|
items: config?.allSchemas.searchSchema
|
||||||
},
|
},
|
||||||
columns: allSchemas.tableSchema,
|
columns: config?.allSchemas.tableSchema,
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
border: false,
|
border: false, // 带边框
|
||||||
background: false,
|
background: true, // 带背景颜色
|
||||||
perfect: true,
|
perfect: true, // 配套的样式
|
||||||
pageSize: 10,
|
pageSize: 10, // 每页大小
|
||||||
pagerCount: 7,
|
pagerCount: 7, // 显示页码按钮的数量
|
||||||
pageSizes: [5, 10, 15, 20, 50, 100, 200, 500],
|
autoHidden: true, // 当只有一页时自动隐藏
|
||||||
|
pageSizes: [5, 10, 15, 20, 50, 100, 200, 500], // 每页大小选项列表
|
||||||
layouts: [
|
layouts: [
|
||||||
'PrevJump',
|
'PrevJump',
|
||||||
'PrevPage',
|
'PrevPage',
|
||||||
@ -49,12 +81,22 @@ export const useVxeGrid = (allSchemas, getPageApi) => {
|
|||||||
const queryParams = Object.assign({}, form)
|
const queryParams = Object.assign({}, form)
|
||||||
queryParams.pageSize = page.pageSize
|
queryParams.pageSize = page.pageSize
|
||||||
queryParams.pageNo = page.currentPage
|
queryParams.pageNo = page.currentPage
|
||||||
|
gridOptions.loading = false
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
resolve(await getPageApi(queryParams))
|
resolve(await config?.getListApi(queryParams))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return gridOptions
|
const delList = (ids: string | number | string[] | number[]) => {
|
||||||
|
message.delConfirm().then(() => {
|
||||||
|
config?.delListApi && config?.delListApi(ids)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
gridOptions,
|
||||||
|
delList
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,6 @@ VXETable.setup({
|
|||||||
grid: {
|
grid: {
|
||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
refresh: true,
|
refresh: true,
|
||||||
import: true,
|
|
||||||
export: true,
|
export: true,
|
||||||
print: true,
|
print: true,
|
||||||
zoom: true,
|
zoom: true,
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
@import './var.css';
|
@import './var.css';
|
||||||
|
@import './vxe.css';
|
||||||
@import 'element-plus/theme-chalk/dark/css-vars.css';
|
@import 'element-plus/theme-chalk/dark/css-vars.css';
|
||||||
|
26
yudao-ui-admin-vue3/src/styles/vxe.css
Normal file
26
yudao-ui-admin-vue3/src/styles/vxe.css
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/*滚动条整体部分*/
|
||||||
|
.xtable-scrollbar ::-webkit-scrollbar {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
/*滚动条的轨道*/
|
||||||
|
.xtable-scrollbar ::-webkit-scrollbar-track {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
/*滚动条里面的小方块,能向上向下移动*/
|
||||||
|
.xtable-scrollbar ::-webkit-scrollbar-thumb {
|
||||||
|
background-color: #bfbfbf;
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 1px solid #f1f1f1;
|
||||||
|
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
.xtable-scrollbar ::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: #a8a8a8;
|
||||||
|
}
|
||||||
|
.xtable-scrollbar ::-webkit-scrollbar-thumb:active {
|
||||||
|
background-color: #787878;
|
||||||
|
}
|
||||||
|
/*边角,即两个滚动条的交汇处*/
|
||||||
|
.xtable-scrollbar ::-webkit-scrollbar-corner {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
@ -18,6 +18,7 @@ export type ComponentName =
|
|||||||
| 'Divider'
|
| 'Divider'
|
||||||
| 'TimeSelect'
|
| 'TimeSelect'
|
||||||
| 'SelectV2'
|
| 'SelectV2'
|
||||||
|
| 'TreeSelect'
|
||||||
| 'InputPassword'
|
| 'InputPassword'
|
||||||
| 'Editor'
|
| 'Editor'
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ const handleLogin = async (params) => {
|
|||||||
redirect.value = '/'
|
redirect.value = '/'
|
||||||
}
|
}
|
||||||
push({ path: redirect.value || permissionStore.addRouters[0].path })
|
push({ path: redirect.value || permissionStore.addRouters[0].path })
|
||||||
} finally {
|
} catch {
|
||||||
loginLoading.value = false
|
loginLoading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ElTable, ElTableColumn, ElInput, ElSelect, ElOption, ElCheckbox } from 'element-plus'
|
|
||||||
import { onMounted, PropType, ref } from 'vue'
|
import { onMounted, PropType, ref } from 'vue'
|
||||||
|
import { ElInput, ElSelect, ElOption } from 'element-plus'
|
||||||
import { CodegenColumnVO } from '@/api/infra/codegen/types'
|
import { CodegenColumnVO } from '@/api/infra/codegen/types'
|
||||||
import { listSimpleDictTypeApi } from '@/api/system/dict/dict.type'
|
import { listSimpleDictTypeApi } from '@/api/system/dict/dict.type'
|
||||||
import { DictTypeVO } from '@/api/system/dict/types'
|
import { DictTypeVO } from '@/api/system/dict/types'
|
||||||
@ -16,7 +16,6 @@ const getDictOptions = async () => {
|
|||||||
const res = await listSimpleDictTypeApi()
|
const res = await listSimpleDictTypeApi()
|
||||||
dictOptions.value = res
|
dictOptions.value = res
|
||||||
}
|
}
|
||||||
const tableHeight = document.documentElement.scrollHeight - 245 + 'px'
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getDictOptions()
|
await getDictOptions()
|
||||||
})
|
})
|
||||||
@ -25,25 +24,15 @@ defineExpose({
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<el-table ref="dragTable" :data="info" row-key="columnId" :max-height="tableHeight">
|
<vxe-table ref="dragTable" :data="info" stripe :column-config="{ resizable: true }">
|
||||||
<el-table-column
|
<vxe-column title="字段列名" field="columnName" width="10%" />
|
||||||
label="字段列名"
|
<vxe-column title="字段描述" field="columnComment">
|
||||||
prop="columnName"
|
|
||||||
min-width="10%"
|
|
||||||
:show-overflow-tooltip="true"
|
|
||||||
/>
|
|
||||||
<el-table-column label="字段描述" min-width="10%" prop="columnComment">
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.columnComment" />
|
<el-input v-model="row.columnComment" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column
|
<vxe-column title="物理类型" field="dataType" width="10%" />
|
||||||
label="物理类型"
|
<vxe-column title="Java类型" width="10%" field="javaType">
|
||||||
prop="dataType"
|
|
||||||
min-width="10%"
|
|
||||||
:show-overflow-tooltip="true"
|
|
||||||
/>
|
|
||||||
<el-table-column label="Java类型" min-width="11%" prop="javaType">
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select v-model="row.javaType">
|
<el-select v-model="row.javaType">
|
||||||
<el-option label="Long" value="Long" />
|
<el-option label="Long" value="Long" />
|
||||||
@ -55,33 +44,33 @@ defineExpose({
|
|||||||
<el-option label="Boolean" value="Boolean" />
|
<el-option label="Boolean" value="Boolean" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="java属性" min-width="10%" prop="javaField">
|
<vxe-column title="java属性" width="10%" field="javaField">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.javaField" />
|
<el-input v-model="row.javaField" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="插入" min-width="4%" prop="createOperation">
|
<vxe-column title="插入" width="4%" field="createOperation">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="row.createOperation" />
|
<vxe-checkbox true-label="true" false-label="false" v-model="row.createOperation" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="编辑" min-width="4%" prop="updateOperation">
|
<vxe-column title="编辑" width="4%" field="updateOperation">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="row.updateOperation" />
|
<vxe-checkbox true-label="true" false-label="false" v-model="row.updateOperation" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="列表" min-width="4%" prop="listOperationResult">
|
<vxe-column title="列表" width="4%" field="listOperationResult">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="row.listOperationResult" />
|
<vxe-checkbox true-label="true" false-label="false" v-model="row.listOperationResult" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="查询" min-width="4%" prop="listOperation">
|
<vxe-column title="查询" width="4%" field="listOperation">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="row.listOperation" />
|
<vxe-checkbox true-label="true" false-label="false" v-model="row.listOperation" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="查询方式" min-width="10%" prop="listOperationCondition">
|
<vxe-column title="查询方式" width="8%" field="listOperationCondition">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select v-model="row.listOperationCondition">
|
<el-select v-model="row.listOperationCondition">
|
||||||
<el-option label="=" value="=" />
|
<el-option label="=" value="=" />
|
||||||
@ -94,13 +83,13 @@ defineExpose({
|
|||||||
<el-option label="BETWEEN" value="BETWEEN" />
|
<el-option label="BETWEEN" value="BETWEEN" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="允许空" min-width="5%" prop="nullable">
|
<vxe-column title="允许空" width="4%" field="nullable">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="row.nullable" />
|
<vxe-checkbox true-label="true" false-label="false" v-model="row.nullable" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="显示类型" min-width="12%" prop="htmlType">
|
<vxe-column title="显示类型" width="10%" field="htmlType">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select v-model="row.htmlType">
|
<el-select v-model="row.htmlType">
|
||||||
<el-option label="文本框" value="input" />
|
<el-option label="文本框" value="input" />
|
||||||
@ -114,8 +103,8 @@ defineExpose({
|
|||||||
<el-option label="富文本控件" value="editor" />
|
<el-option label="富文本控件" value="editor" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="字典类型" min-width="12%" prop="dictType">
|
<vxe-column title="字典类型" width="10%" field="dictType">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select v-model="row.dictType" clearable filterable placeholder="请选择">
|
<el-select v-model="row.dictType" clearable filterable placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
@ -126,11 +115,11 @@ defineExpose({
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
<el-table-column label="示例" min-width="10%" prop="example">
|
<vxe-column title="示例" field="example">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.example" />
|
<el-input v-model="row.example" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</vxe-column>
|
||||||
</el-table>
|
</vxe-table>
|
||||||
</template>
|
</template>
|
||||||
|
@ -318,8 +318,8 @@ const queryParams = reactive({
|
|||||||
status: null
|
status: null
|
||||||
})
|
})
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
statusOption.value = getIntDictOptions(DICT_TYPE.COMMON_STATUS)
|
|
||||||
tableLoading.value = true
|
tableLoading.value = true
|
||||||
|
statusOption.value = getIntDictOptions(DICT_TYPE.COMMON_STATUS)
|
||||||
const res = await MenuApi.getMenuListApi(queryParams)
|
const res = await MenuApi.getMenuListApi(queryParams)
|
||||||
tableData.value = res
|
tableData.value = res
|
||||||
tableLoading.value = false
|
tableLoading.value = false
|
||||||
|
@ -44,12 +44,11 @@
|
|||||||
<XModal id="postModel" v-model="dialogVisible" :title="dialogTitle">
|
<XModal id="postModel" v-model="dialogVisible" :title="dialogTitle">
|
||||||
<template #default>
|
<template #default>
|
||||||
<!-- 对话框(添加 / 修改) -->
|
<!-- 对话框(添加 / 修改) -->
|
||||||
<vxe-form
|
<Form
|
||||||
ref="xForm"
|
|
||||||
v-if="['create', 'update'].includes(actionType)"
|
v-if="['create', 'update'].includes(actionType)"
|
||||||
:data="formData"
|
:schema="allSchemas.formSchema"
|
||||||
:items="formItems"
|
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
|
ref="formRef"
|
||||||
/>
|
/>
|
||||||
<Descriptions
|
<Descriptions
|
||||||
v-if="actionType === 'detail'"
|
v-if="actionType === 'detail'"
|
||||||
@ -69,42 +68,39 @@
|
|||||||
v-if="['create', 'update'].includes(actionType)"
|
v-if="['create', 'update'].includes(actionType)"
|
||||||
:loading="actionLoading"
|
:loading="actionLoading"
|
||||||
:title="t('action.save')"
|
:title="t('action.save')"
|
||||||
|
type="primary"
|
||||||
@click="submitForm"
|
@click="submitForm"
|
||||||
/>
|
/>
|
||||||
<XButton
|
<XButton :loading="actionLoading" :title="t('dialog.close')" @click="dialogVisible = false" />
|
||||||
v-if="['create', 'update'].includes(actionType)"
|
|
||||||
:loading="actionLoading"
|
|
||||||
:title="t('dialog.close')"
|
|
||||||
@click="dialogVisible = false"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</XModal>
|
</XModal>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue'
|
import { ref, unref } from 'vue'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import { useI18n } from '@/hooks/web/useI18n'
|
|
||||||
import { VxeFormEvents, VxeFormInstance, VxeFormItemProps, VxeGridInstance } from 'vxe-table'
|
|
||||||
import * as PostApi from '@/api/system/post'
|
|
||||||
import { DICT_TYPE } from '@/utils/dict'
|
import { DICT_TYPE } from '@/utils/dict'
|
||||||
import { ContentWrap } from '@/components/ContentWrap'
|
import * as PostApi from '@/api/system/post'
|
||||||
import { PostVO } from '@/api/system/post/types'
|
import { PostVO } from '@/api/system/post/types'
|
||||||
import { rules, allSchemas } from './post.data'
|
import { rules, allSchemas } from './post.data'
|
||||||
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
import { useMessage } from '@/hooks/web/useMessage'
|
import { useMessage } from '@/hooks/web/useMessage'
|
||||||
import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
||||||
|
import { VxeFormEvents, VxeGridInstance } from 'vxe-table'
|
||||||
|
import { FormExpose } from '@/components/Form'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage()
|
const message = useMessage() // 消息弹窗
|
||||||
const xGrid = ref<VxeGridInstance>()
|
const xGrid = ref<VxeGridInstance>()
|
||||||
const xForm = ref<VxeFormInstance>()
|
const formRef = ref<FormExpose>() // 表单 Ref
|
||||||
const dialogVisible = ref(false) // 是否显示弹出层
|
const dialogVisible = ref(false) // 是否显示弹出层
|
||||||
const dialogTitle = ref('edit') // 弹出层标题
|
const dialogTitle = ref('edit') // 弹出层标题
|
||||||
const actionType = ref('') // 操作按钮的类型
|
const actionType = ref('') // 操作按钮的类型
|
||||||
const actionLoading = ref(false) // 遮罩层
|
const actionLoading = ref(false) // 按钮Loading
|
||||||
|
|
||||||
const gridOptions = useVxeGrid(allSchemas, PostApi.getPostPageApi)
|
const { gridOptions } = useVxeGrid<PostVO>({
|
||||||
const formData = ref<PostVO>()
|
allSchemas: allSchemas,
|
||||||
const formItems = ref<VxeFormItemProps[]>(allSchemas.formSchema)
|
getListApi: PostApi.getPostPageApi
|
||||||
|
})
|
||||||
// 设置标题
|
// 设置标题
|
||||||
const setDialogTile = (type: string) => {
|
const setDialogTile = (type: string) => {
|
||||||
dialogTitle.value = t('action.' + type)
|
dialogTitle.value = t('action.' + type)
|
||||||
@ -121,7 +117,8 @@ const handleDetail = (row: PostVO) => {
|
|||||||
// 新增操作
|
// 新增操作
|
||||||
const handleCreate = () => {
|
const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
formData.value = undefined
|
// 重置表单
|
||||||
|
unref(formRef)?.getElFormRef()?.resetFields()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
@ -129,12 +126,12 @@ const handleUpdate = async (rowId: number) => {
|
|||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
// 设置数据
|
// 设置数据
|
||||||
const res = await PostApi.getPostApi(rowId)
|
const res = await PostApi.getPostApi(rowId)
|
||||||
formData.value = res
|
unref(formRef)?.setValues(res)
|
||||||
}
|
}
|
||||||
// 删除操作
|
// 删除操作
|
||||||
const handleDelete = (rowId: number) => {
|
const handleDelete = async (rowId: number) => {
|
||||||
message
|
message
|
||||||
.confirm(t('common.delMessage'), t('common.confirmTitle'))
|
.delConfirm()
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
await PostApi.deletePostApi(rowId)
|
await PostApi.deletePostApi(rowId)
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
@ -145,22 +142,28 @@ const handleDelete = (rowId: number) => {
|
|||||||
}
|
}
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm: VxeFormEvents.Submit = async () => {
|
const submitForm: VxeFormEvents.Submit = async () => {
|
||||||
actionLoading.value = true
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
// 提交请求
|
if (!elForm) return
|
||||||
try {
|
elForm.validate(async (valid) => {
|
||||||
const data = formData.value as PostVO
|
if (valid) {
|
||||||
if (actionType.value === 'create') {
|
actionLoading.value = true
|
||||||
await PostApi.createPostApi(data)
|
// 提交请求
|
||||||
message.success(t('common.createSuccess'))
|
try {
|
||||||
} else {
|
const data = unref(formRef)?.formModel as PostVO
|
||||||
await PostApi.updatePostApi(data)
|
if (actionType.value === 'create') {
|
||||||
message.success(t('common.updateSuccess'))
|
await PostApi.createPostApi(data)
|
||||||
|
message.success(t('common.createSuccess'))
|
||||||
|
} else {
|
||||||
|
await PostApi.updatePostApi(data)
|
||||||
|
message.success(t('common.updateSuccess'))
|
||||||
|
}
|
||||||
|
// 操作成功,重新加载列表
|
||||||
|
dialogVisible.value = false
|
||||||
|
} finally {
|
||||||
|
actionLoading.value = false
|
||||||
|
xGrid.value?.commitProxy('query')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 操作成功,重新加载列表
|
})
|
||||||
dialogVisible.value = false
|
|
||||||
} finally {
|
|
||||||
actionLoading.value = false
|
|
||||||
xGrid.value?.commitProxy('query')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -56,9 +56,17 @@ const crudSchemas = reactive<VxeCrudSchema[]>([
|
|||||||
show: true
|
show: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '备注',
|
||||||
|
field: 'remark',
|
||||||
|
table: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: t('common.createTime'),
|
title: t('common.createTime'),
|
||||||
field: 'createTime',
|
field: 'createTime',
|
||||||
|
formatter: 'formatDate',
|
||||||
form: {
|
form: {
|
||||||
show: false
|
show: false
|
||||||
}
|
}
|
||||||
@ -66,10 +74,8 @@ const crudSchemas = reactive<VxeCrudSchema[]>([
|
|||||||
{
|
{
|
||||||
title: t('table.action'),
|
title: t('table.action'),
|
||||||
field: 'action',
|
field: 'action',
|
||||||
width: '240px',
|
|
||||||
table: {
|
table: {
|
||||||
width: '240px',
|
width: '240px',
|
||||||
showOverflow: true,
|
|
||||||
slots: {
|
slots: {
|
||||||
default: 'action_default'
|
default: 'action_default'
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,6 @@ module.exports = {
|
|||||||
// add your custom rules here
|
// add your custom rules here
|
||||||
//it is base on https://github.com/vuejs/eslint-config-vue
|
//it is base on https://github.com/vuejs/eslint-config-vue
|
||||||
rules: {
|
rules: {
|
||||||
"vue/max-attributes-per-line": [2, {
|
|
||||||
"singleline": 10,
|
|
||||||
"multiline": {
|
|
||||||
"max": 1,
|
|
||||||
"allowFirstLine": false
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
"vue/singleline-html-element-content-newline": "off",
|
"vue/singleline-html-element-content-newline": "off",
|
||||||
"vue/multiline-html-element-content-newline":"off",
|
"vue/multiline-html-element-content-newline":"off",
|
||||||
"vue/name-property-casing": ["error", "PascalCase"],
|
"vue/name-property-casing": ["error", "PascalCase"],
|
||||||
|
@ -12,8 +12,8 @@ if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
|
|||||||
const port = 9526
|
const port = 9526
|
||||||
const publicPath = config.publicPath
|
const publicPath = config.publicPath
|
||||||
|
|
||||||
var connect = require('connect')
|
const connect = require('connect')
|
||||||
var serveStatic = require('serve-static')
|
const serveStatic = require('serve-static')
|
||||||
const app = connect()
|
const app = connect()
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
|
@ -40,63 +40,61 @@
|
|||||||
"url": "https://github.com/YunaiV/ruoyi-vue-pro"
|
"url": "https://github.com/YunaiV/ruoyi-vue-pro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/parser": "7.7.4",
|
||||||
"@riophae/vue-treeselect": "0.4.0",
|
"@riophae/vue-treeselect": "0.4.0",
|
||||||
"axios": "0.24.0",
|
"axios": "0.27.2",
|
||||||
|
"bpmn-js-token-simulation": "0.10.0",
|
||||||
"clipboard": "2.0.8",
|
"clipboard": "2.0.8",
|
||||||
"core-js": "^3.21.1",
|
"core-js": "^3.26.0",
|
||||||
|
"crypto-js": "^4.0.0",
|
||||||
"echarts": "4.9.0",
|
"echarts": "4.9.0",
|
||||||
"element-ui": "2.15.8",
|
"element-ui": "2.15.10",
|
||||||
"file-saver": "2.0.5",
|
"file-saver": "2.0.5",
|
||||||
"fuse.js": "6.4.3",
|
"fuse.js": "6.6.2",
|
||||||
"highlight.js": "9.18.5",
|
"highlight.js": "9.18.5",
|
||||||
"js-beautify": "1.13.0",
|
"js-beautify": "1.13.0",
|
||||||
"jsencrypt": "3.0.0-rc.1",
|
"jsencrypt": "3.3.1",
|
||||||
"crypto-js": "^4.0.0",
|
"min-dash": "3.5.2",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"quill": "1.3.7",
|
"quill": "1.3.7",
|
||||||
"screenfull": "5.0.2",
|
"screenfull": "5.0.2",
|
||||||
"sortablejs": "1.10.2",
|
"sortablejs": "1.10.2",
|
||||||
"vue": "2.6.12",
|
"throttle-debounce": "2.1.0",
|
||||||
|
"vue": "2.7.0",
|
||||||
"vue-count-to": "1.0.13",
|
"vue-count-to": "1.0.13",
|
||||||
"vue-cropper": "0.5.5",
|
"vue-cropper": "0.5.8",
|
||||||
"vue-meta": "^2.4.0",
|
"vue-meta": "^2.4.0",
|
||||||
"vue-router": "3.4.9",
|
"vue-router": "3.4.9",
|
||||||
"vuedraggable": "2.24.3",
|
"vuedraggable": "2.24.3",
|
||||||
"vuex": "3.6.0",
|
"vuex": "3.6.2",
|
||||||
"bpmn-js-token-simulation": "0.10.0",
|
"xml-js": "1.6.11"
|
||||||
"min-dash": "3.5.2",
|
|
||||||
"xml-js": "1.6.11",
|
|
||||||
"@babel/parser": "7.7.4",
|
|
||||||
"throttle-debounce": "2.1.0"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "4.4.6",
|
"@vue/cli-plugin-babel": "4.5.18",
|
||||||
"@vue/cli-plugin-eslint": "4.4.6",
|
"@vue/cli-plugin-eslint": "4.5.18",
|
||||||
"@vue/cli-service": "4.4.6",
|
"@vue/cli-service": "4.5.18",
|
||||||
|
"@vue/compiler-sfc": "^3.0.1",
|
||||||
|
"@vue/eslint-config-prettier": "^5.0.0",
|
||||||
"babel-eslint": "10.1.0",
|
"babel-eslint": "10.1.0",
|
||||||
|
"bpmn-js": "8.9.0",
|
||||||
|
"bpmn-js-properties-panel": "0.46.0",
|
||||||
"chalk": "4.1.0",
|
"chalk": "4.1.0",
|
||||||
"compression-webpack-plugin": "5.0.2",
|
"compression-webpack-plugin": "5.0.2",
|
||||||
"connect": "3.6.6",
|
"connect": "3.6.6",
|
||||||
"eslint": "7.15.0",
|
"eslint": "7.15.0",
|
||||||
"eslint-plugin-vue": "7.2.0",
|
"eslint-config-airbnb-base": "^14.0.0",
|
||||||
|
"eslint-plugin-import": "^2.26.0",
|
||||||
|
"eslint-plugin-prettier": "^3.1.0",
|
||||||
|
"eslint-plugin-vue": "9.0.0",
|
||||||
|
"fs-extra": "^8.1.0",
|
||||||
"lint-staged": "10.5.3",
|
"lint-staged": "10.5.3",
|
||||||
"sass": "1.32.13",
|
|
||||||
"runjs": "4.4.2",
|
"runjs": "4.4.2",
|
||||||
"sass-loader": "10.1.1",
|
"sass": "1.56.0",
|
||||||
|
"sass-loader": "13.1.0",
|
||||||
"script-ext-html-webpack-plugin": "2.1.5",
|
"script-ext-html-webpack-plugin": "2.1.5",
|
||||||
"svg-sprite-loader": "5.1.1",
|
"svg-sprite-loader": "5.1.1",
|
||||||
"vue-template-compiler": "2.6.12",
|
|
||||||
"vue2-ace-editor": "^0.0.15",
|
|
||||||
"@vue/compiler-sfc": "^3.0.1",
|
|
||||||
"@vue/eslint-config-prettier": "^5.0.0",
|
|
||||||
"bpmn-js": "8.9.0",
|
|
||||||
"bpmn-js-properties-panel": "0.46.0",
|
|
||||||
"eslint-plugin-prettier": "^3.1.0",
|
|
||||||
"fs-extra": "^8.1.0",
|
|
||||||
"terser-webpack-plugin": "^4.2.3",
|
"terser-webpack-plugin": "^4.2.3",
|
||||||
"webpack-bundle-analyzer": "^3.9.0",
|
"webpack-bundle-analyzer": "^3.9.0"
|
||||||
"eslint-config-airbnb-base": "^14.0.0",
|
|
||||||
"eslint-plugin-import": "^2.20.0"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8.9",
|
"node": ">=8.9",
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<el-breadcrumb class="app-breadcrumb" separator="/">
|
<el-breadcrumb class="app-breadcrumb" separator="/">
|
||||||
<transition-group name="breadcrumb">
|
<transition-group name="breadcrumb">
|
||||||
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
|
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
|
||||||
<span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
|
<span v-if="item.redirect==='noRedirect'||index===levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
|
||||||
<a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
|
<a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
|
||||||
</el-breadcrumb-item>
|
</el-breadcrumb-item>
|
||||||
</transition-group>
|
</transition-group>
|
||||||
|
@ -103,25 +103,25 @@ export default {
|
|||||||
},
|
},
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'day', this.cycleTotal);
|
this.$emit('update', 'day', this.cycleTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'day', this.averageTotal);
|
this.$emit('update', 'day', this.averageTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 最近工作日值变化时
|
// 最近工作日值变化时
|
||||||
workdayChange() {
|
workdayChange() {
|
||||||
if (this.radioValue == '5') {
|
if (this.radioValue === '5') {
|
||||||
this.$emit('update', 'day', this.workdayCheck + 'W');
|
this.$emit('update', 'day', this.workdayCheck + 'W');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '7') {
|
if (this.radioValue === '7') {
|
||||||
this.$emit('update', 'day', this.checkboxString);
|
this.$emit('update', 'day', this.checkboxString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -148,13 +148,12 @@ export default {
|
|||||||
},
|
},
|
||||||
// 计算工作日格式
|
// 计算工作日格式
|
||||||
workdayCheck: function () {
|
workdayCheck: function () {
|
||||||
const workday = this.checkNum(this.workday, 1, 31)
|
return this.checkNum(this.workday, 1, 31);
|
||||||
return workday;
|
|
||||||
},
|
},
|
||||||
// 计算勾选的checkbox值合集
|
// 计算勾选的checkbox值合集
|
||||||
checkboxString: function () {
|
checkboxString: function () {
|
||||||
let str = this.checkboxList.join();
|
let str = this.checkboxList.join();
|
||||||
return str == '' ? '*' : str;
|
return str === '' ? '*' : str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,19 +68,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '2') {
|
if (this.radioValue === '2') {
|
||||||
this.$emit('update', 'hour', this.cycleTotal);
|
this.$emit('update', 'hour', this.cycleTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'hour', this.averageTotal);
|
this.$emit('update', 'hour', this.averageTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'hour', this.checkboxString);
|
this.$emit('update', 'hour', this.checkboxString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -107,7 +107,7 @@ export default {
|
|||||||
// 计算勾选的checkbox值合集
|
// 计算勾选的checkbox值合集
|
||||||
checkboxString: function () {
|
checkboxString: function () {
|
||||||
let str = this.checkboxList.join();
|
let str = this.checkboxList.join();
|
||||||
return str == '' ? '*' : str;
|
return str === '' ? '*' : str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -143,8 +143,8 @@ export default {
|
|||||||
props: ["expression", "hideComponent"],
|
props: ["expression", "hideComponent"],
|
||||||
methods: {
|
methods: {
|
||||||
shouldHide(key) {
|
shouldHide(key) {
|
||||||
if (this.hideComponent && this.hideComponent.includes(key)) return false;
|
return !(this.hideComponent && this.hideComponent.includes(key));
|
||||||
return true;
|
|
||||||
},
|
},
|
||||||
resolveExp() {
|
resolveExp() {
|
||||||
// 反解析 表达式
|
// 反解析 表达式
|
||||||
@ -215,10 +215,10 @@ export default {
|
|||||||
insValue = 4;
|
insValue = 4;
|
||||||
this.$refs[refName].checkboxList = value.split(",");
|
this.$refs[refName].checkboxList = value.split(",");
|
||||||
}
|
}
|
||||||
} else if (name == "day") {
|
} else if (name === "day") {
|
||||||
if (value === "*") {
|
if (value === "*") {
|
||||||
insValue = 1;
|
insValue = 1;
|
||||||
} else if (value == "?") {
|
} else if (value === "?") {
|
||||||
insValue = 2;
|
insValue = 2;
|
||||||
} else if (value.indexOf("-") > -1) {
|
} else if (value.indexOf("-") > -1) {
|
||||||
let indexArr = value.split("-");
|
let indexArr = value.split("-");
|
||||||
@ -246,10 +246,10 @@ export default {
|
|||||||
this.$refs[refName].checkboxList = value.split(",");
|
this.$refs[refName].checkboxList = value.split(",");
|
||||||
insValue = 7;
|
insValue = 7;
|
||||||
}
|
}
|
||||||
} else if (name == "week") {
|
} else if (name === "week") {
|
||||||
if (value === "*") {
|
if (value === "*") {
|
||||||
insValue = 1;
|
insValue = 1;
|
||||||
} else if (value == "?") {
|
} else if (value === "?") {
|
||||||
insValue = 2;
|
insValue = 2;
|
||||||
} else if (value.indexOf("-") > -1) {
|
} else if (value.indexOf("-") > -1) {
|
||||||
let indexArr = value.split("-");
|
let indexArr = value.split("-");
|
||||||
@ -275,10 +275,10 @@ export default {
|
|||||||
this.$refs[refName].checkboxList = value.split(",");
|
this.$refs[refName].checkboxList = value.split(",");
|
||||||
insValue = 6;
|
insValue = 6;
|
||||||
}
|
}
|
||||||
} else if (name == "year") {
|
} else if (name === "year") {
|
||||||
if (value == "") {
|
if (value === "") {
|
||||||
insValue = 1;
|
insValue = 1;
|
||||||
} else if (value == "*") {
|
} else if (value === "*") {
|
||||||
insValue = 2;
|
insValue = 2;
|
||||||
} else if (value.indexOf("-") > -1) {
|
} else if (value.indexOf("-") > -1) {
|
||||||
insValue = 3;
|
insValue = 3;
|
||||||
@ -343,7 +343,7 @@ export default {
|
|||||||
obj.month +
|
obj.month +
|
||||||
" " +
|
" " +
|
||||||
obj.week +
|
obj.week +
|
||||||
(obj.year == "" ? "" : " " + obj.year);
|
(obj.year === "" ? "" : " " + obj.year);
|
||||||
return str;
|
return str;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -69,19 +69,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '2') {
|
if (this.radioValue === '2') {
|
||||||
this.$emit('update', 'min', this.cycleTotal, 'min');
|
this.$emit('update', 'min', this.cycleTotal, 'min');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'min', this.averageTotal, 'min');
|
this.$emit('update', 'min', this.averageTotal, 'min');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'min', this.checkboxString, 'min');
|
this.$emit('update', 'min', this.checkboxString, 'min');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -109,8 +109,8 @@ export default {
|
|||||||
// 计算勾选的checkbox值合集
|
// 计算勾选的checkbox值合集
|
||||||
checkboxString: function () {
|
checkboxString: function () {
|
||||||
let str = this.checkboxList.join();
|
let str = this.checkboxList.join();
|
||||||
return str == '' ? '*' : str;
|
return str === '' ? '*' : str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -68,19 +68,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '2') {
|
if (this.radioValue === '2') {
|
||||||
this.$emit('update', 'month', this.cycleTotal);
|
this.$emit('update', 'month', this.cycleTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'month', this.averageTotal);
|
this.$emit('update', 'month', this.averageTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'month', this.checkboxString);
|
this.$emit('update', 'month', this.checkboxString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -107,7 +107,7 @@ export default {
|
|||||||
// 计算勾选的checkbox值合集
|
// 计算勾选的checkbox值合集
|
||||||
checkboxString: function () {
|
checkboxString: function () {
|
||||||
let str = this.checkboxList.join();
|
let str = this.checkboxList.join();
|
||||||
return str == '' ? '*' : str;
|
return str === '' ? '*' : str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,7 @@ export default {
|
|||||||
// 如果到达最大值时
|
// 如果到达最大值时
|
||||||
if (nDay > DDate[DDate.length - 1]) {
|
if (nDay > DDate[DDate.length - 1]) {
|
||||||
resetDay();
|
resetDay();
|
||||||
if (Mi == MDate.length - 1) {
|
if (Mi === MDate.length - 1) {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
continue goYear;
|
continue goYear;
|
||||||
}
|
}
|
||||||
@ -141,9 +141,9 @@ export default {
|
|||||||
// 如果到达最大值时
|
// 如果到达最大值时
|
||||||
if (nHour > hDate[hDate.length - 1]) {
|
if (nHour > hDate[hDate.length - 1]) {
|
||||||
resetHour();
|
resetHour();
|
||||||
if (Di == DDate.length - 1) {
|
if (Di === DDate.length - 1) {
|
||||||
resetDay();
|
resetDay();
|
||||||
if (Mi == MDate.length - 1) {
|
if (Mi === MDate.length - 1) {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
continue goYear;
|
continue goYear;
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ export default {
|
|||||||
continue goMonth;
|
continue goMonth;
|
||||||
}
|
}
|
||||||
// 如果日期规则中有值时
|
// 如果日期规则中有值时
|
||||||
if (this.dayRule == 'lastDay') {
|
if (this.dayRule === 'lastDay') {
|
||||||
// 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天
|
// 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天
|
||||||
|
|
||||||
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
||||||
@ -168,7 +168,7 @@ export default {
|
|||||||
thisDD = DD < 10 ? '0' + DD : DD;
|
thisDD = DD < 10 ? '0' + DD : DD;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (this.dayRule == 'workDay') {
|
} else if (this.dayRule === 'workDay') {
|
||||||
// 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
|
// 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
|
||||||
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
||||||
while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
||||||
@ -179,7 +179,7 @@ export default {
|
|||||||
// 获取达到条件的日期是星期X
|
// 获取达到条件的日期是星期X
|
||||||
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
|
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
|
||||||
// 当星期日时
|
// 当星期日时
|
||||||
if (thisWeek == 1) {
|
if (thisWeek === 1) {
|
||||||
// 先找下一个日,并判断是否为月底
|
// 先找下一个日,并判断是否为月底
|
||||||
DD++;
|
DD++;
|
||||||
thisDD = DD < 10 ? '0' + DD : DD;
|
thisDD = DD < 10 ? '0' + DD : DD;
|
||||||
@ -187,7 +187,7 @@ export default {
|
|||||||
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
||||||
DD -= 3;
|
DD -= 3;
|
||||||
}
|
}
|
||||||
} else if (thisWeek == 7) {
|
} else if (thisWeek === 7) {
|
||||||
// 当星期6时只需判断不是1号就可进行操作
|
// 当星期6时只需判断不是1号就可进行操作
|
||||||
if (this.dayRuleSup !== 1) {
|
if (this.dayRuleSup !== 1) {
|
||||||
DD--;
|
DD--;
|
||||||
@ -195,16 +195,16 @@ export default {
|
|||||||
DD += 2;
|
DD += 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (this.dayRule == 'weekDay') {
|
} else if (this.dayRule === 'weekDay') {
|
||||||
// 如果指定了是星期几
|
// 如果指定了是星期几
|
||||||
// 获取当前日期是属于星期几
|
// 获取当前日期是属于星期几
|
||||||
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
|
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
|
||||||
// 校验当前星期是否在星期池(dayRuleSup)中
|
// 校验当前星期是否在星期池(dayRuleSup)中
|
||||||
if (this.dayRuleSup.indexOf(thisWeek) < 0) {
|
if (this.dayRuleSup.indexOf(thisWeek) < 0) {
|
||||||
// 如果到达最大值时
|
// 如果到达最大值时
|
||||||
if (Di == DDate.length - 1) {
|
if (Di === DDate.length - 1) {
|
||||||
resetDay();
|
resetDay();
|
||||||
if (Mi == MDate.length - 1) {
|
if (Mi === MDate.length - 1) {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
continue goYear;
|
continue goYear;
|
||||||
}
|
}
|
||||||
@ -212,7 +212,7 @@ export default {
|
|||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else if (this.dayRule == 'assWeek') {
|
} else if (this.dayRule === 'assWeek') {
|
||||||
// 如果指定了是第几周的星期几
|
// 如果指定了是第几周的星期几
|
||||||
// 获取每月1号是属于星期几
|
// 获取每月1号是属于星期几
|
||||||
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
|
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
|
||||||
@ -221,7 +221,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
DD = this.dayRuleSup[0] * 7 + this.dayRuleSup[1] - thisWeek + 1;
|
DD = this.dayRuleSup[0] * 7 + this.dayRuleSup[1] - thisWeek + 1;
|
||||||
}
|
}
|
||||||
} else if (this.dayRule == 'lastWeek') {
|
} else if (this.dayRule === 'lastWeek') {
|
||||||
// 如果指定了每月最后一个星期几
|
// 如果指定了每月最后一个星期几
|
||||||
// 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
|
// 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
|
||||||
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
||||||
@ -249,11 +249,11 @@ export default {
|
|||||||
// 如果到达最大值时
|
// 如果到达最大值时
|
||||||
if (nMin > mDate[mDate.length - 1]) {
|
if (nMin > mDate[mDate.length - 1]) {
|
||||||
resetMin();
|
resetMin();
|
||||||
if (hi == hDate.length - 1) {
|
if (hi === hDate.length - 1) {
|
||||||
resetHour();
|
resetHour();
|
||||||
if (Di == DDate.length - 1) {
|
if (Di === DDate.length - 1) {
|
||||||
resetDay();
|
resetDay();
|
||||||
if (Mi == MDate.length - 1) {
|
if (Mi === MDate.length - 1) {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
continue goYear;
|
continue goYear;
|
||||||
}
|
}
|
||||||
@ -270,13 +270,13 @@ export default {
|
|||||||
// 如果到达最大值时
|
// 如果到达最大值时
|
||||||
if (nSecond > sDate[sDate.length - 1]) {
|
if (nSecond > sDate[sDate.length - 1]) {
|
||||||
resetSecond();
|
resetSecond();
|
||||||
if (mi == mDate.length - 1) {
|
if (mi === mDate.length - 1) {
|
||||||
resetMin();
|
resetMin();
|
||||||
if (hi == hDate.length - 1) {
|
if (hi === hDate.length - 1) {
|
||||||
resetHour();
|
resetHour();
|
||||||
if (Di == DDate.length - 1) {
|
if (Di === DDate.length - 1) {
|
||||||
resetDay();
|
resetDay();
|
||||||
if (Mi == MDate.length - 1) {
|
if (Mi === MDate.length - 1) {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
continue goYear;
|
continue goYear;
|
||||||
}
|
}
|
||||||
@ -297,17 +297,17 @@ export default {
|
|||||||
nums++;
|
nums++;
|
||||||
}
|
}
|
||||||
// 如果条数满了就退出循环
|
// 如果条数满了就退出循环
|
||||||
if (nums == 5) break goYear;
|
if (nums === 5) break goYear;
|
||||||
// 如果到达最大值时
|
// 如果到达最大值时
|
||||||
if (si == sDate.length - 1) {
|
if (si === sDate.length - 1) {
|
||||||
resetSecond();
|
resetSecond();
|
||||||
if (mi == mDate.length - 1) {
|
if (mi === mDate.length - 1) {
|
||||||
resetMin();
|
resetMin();
|
||||||
if (hi == hDate.length - 1) {
|
if (hi === hDate.length - 1) {
|
||||||
resetHour();
|
resetHour();
|
||||||
if (Di == DDate.length - 1) {
|
if (Di === DDate.length - 1) {
|
||||||
resetDay();
|
resetDay();
|
||||||
if (Mi == MDate.length - 1) {
|
if (Mi === MDate.length - 1) {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
continue goYear;
|
continue goYear;
|
||||||
}
|
}
|
||||||
@ -326,7 +326,7 @@ export default {
|
|||||||
}//goMonth
|
}//goMonth
|
||||||
}
|
}
|
||||||
// 判断100年内的结果条数
|
// 判断100年内的结果条数
|
||||||
if (resultArr.length == 0) {
|
if (resultArr.length === 0) {
|
||||||
this.resultList = ['没有达到条件的结果!'];
|
this.resultList = ['没有达到条件的结果!'];
|
||||||
} else {
|
} else {
|
||||||
this.resultList = resultArr;
|
this.resultList = resultArr;
|
||||||
@ -378,23 +378,23 @@ export default {
|
|||||||
// 获取"日"数组-主要为日期规则
|
// 获取"日"数组-主要为日期规则
|
||||||
getWeekArr(rule) {
|
getWeekArr(rule) {
|
||||||
// 只有当日期规则的两个值均为“”时则表达日期是有选项的
|
// 只有当日期规则的两个值均为“”时则表达日期是有选项的
|
||||||
if (this.dayRule == '' && this.dayRuleSup == '') {
|
if (this.dayRule === '' && this.dayRuleSup === '') {
|
||||||
if (rule.indexOf('-') >= 0) {
|
if (rule.indexOf('-') >= 0) {
|
||||||
this.dayRule = 'weekDay';
|
this.dayRule = 'weekDay';
|
||||||
this.dayRuleSup = this.getCycleArr(rule, 7, false)
|
this.dayRuleSup = this.getCycleArr(rule, 7, false)
|
||||||
} else if (rule.indexOf('#') >= 0) {
|
} else if (rule.indexOf('#') >= 0) {
|
||||||
this.dayRule = 'assWeek';
|
this.dayRule = 'assWeek';
|
||||||
let matchRule = rule.match(/[0-9]{1}/g);
|
let matchRule = rule.match(/[0-9]/g);
|
||||||
this.dayRuleSup = [Number(matchRule[1]), Number(matchRule[0])];
|
this.dayRuleSup = [Number(matchRule[1]), Number(matchRule[0])];
|
||||||
this.dateArr[3] = [1];
|
this.dateArr[3] = [1];
|
||||||
if (this.dayRuleSup[1] == 7) {
|
if (this.dayRuleSup[1] === 7) {
|
||||||
this.dayRuleSup[1] = 0;
|
this.dayRuleSup[1] = 0;
|
||||||
}
|
}
|
||||||
} else if (rule.indexOf('L') >= 0) {
|
} else if (rule.indexOf('L') >= 0) {
|
||||||
this.dayRule = 'lastWeek';
|
this.dayRule = 'lastWeek';
|
||||||
this.dayRuleSup = Number(rule.match(/[0-9]{1,2}/g)[0]);
|
this.dayRuleSup = Number(rule.match(/[0-9]{1,2}/g)[0]);
|
||||||
this.dateArr[3] = [31];
|
this.dateArr[3] = [31];
|
||||||
if (this.dayRuleSup == 7) {
|
if (this.dayRuleSup === 7) {
|
||||||
this.dayRuleSup = 0;
|
this.dayRuleSup = 0;
|
||||||
}
|
}
|
||||||
} else if (rule !== '*' && rule !== '?') {
|
} else if (rule !== '*' && rule !== '?') {
|
||||||
@ -425,7 +425,7 @@ export default {
|
|||||||
} else if (rule !== '*' && rule !== '?') {
|
} else if (rule !== '*' && rule !== '?') {
|
||||||
this.dateArr[3] = this.getAssignArr(rule)
|
this.dateArr[3] = this.getAssignArr(rule)
|
||||||
this.dayRuleSup = 'null';
|
this.dayRuleSup = 'null';
|
||||||
} else if (rule == '*') {
|
} else if (rule === '*') {
|
||||||
this.dayRuleSup = 'null';
|
this.dayRuleSup = 'null';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -504,7 +504,7 @@ export default {
|
|||||||
}
|
}
|
||||||
for (let i = min; i <= max; i++) {
|
for (let i = min; i <= max; i++) {
|
||||||
let add = 0;
|
let add = 0;
|
||||||
if (status == false && i % limit == 0) {
|
if (status === false && i % limit === 0) {
|
||||||
add = limit;
|
add = limit;
|
||||||
}
|
}
|
||||||
arr.push(Math.round(i % limit + add))
|
arr.push(Math.round(i % limit + add))
|
||||||
@ -532,9 +532,9 @@ export default {
|
|||||||
let s = time.getSeconds();
|
let s = time.getSeconds();
|
||||||
let week = time.getDay();
|
let week = time.getDay();
|
||||||
// 如果传递了type的话
|
// 如果传递了type的话
|
||||||
if (type == undefined) {
|
if (type === undefined) {
|
||||||
return Y + '-' + (M < 10 ? '0' + M : M) + '-' + (D < 10 ? '0' + D : D) + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s);
|
return Y + '-' + (M < 10 ? '0' + M : M) + '-' + (D < 10 ? '0' + D : D) + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s);
|
||||||
} else if (type == 'week') {
|
} else if (type === 'week') {
|
||||||
// 在quartz中 1为星期日
|
// 在quartz中 1为星期日
|
||||||
return week + 1;
|
return week + 1;
|
||||||
}
|
}
|
||||||
|
@ -68,19 +68,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '2') {
|
if (this.radioValue === '2') {
|
||||||
this.$emit('update', 'second', this.cycleTotal);
|
this.$emit('update', 'second', this.cycleTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'second', this.averageTotal);
|
this.$emit('update', 'second', this.averageTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'second', this.checkboxString);
|
this.$emit('update', 'second', this.checkboxString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ export default {
|
|||||||
// 计算勾选的checkbox值合集
|
// 计算勾选的checkbox值合集
|
||||||
checkboxString: function () {
|
checkboxString: function () {
|
||||||
let str = this.checkboxList.join();
|
let str = this.checkboxList.join();
|
||||||
return str == '' ? '*' : str;
|
return str === '' ? '*' : str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -144,25 +144,25 @@ export default {
|
|||||||
|
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'week', this.cycleTotal);
|
this.$emit('update', 'week', this.cycleTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'week', this.averageTotal);
|
this.$emit('update', 'week', this.averageTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 最近工作日值变化时
|
// 最近工作日值变化时
|
||||||
weekdayChange() {
|
weekdayChange() {
|
||||||
if (this.radioValue == '5') {
|
if (this.radioValue === '5') {
|
||||||
this.$emit('update', 'week', this.weekday + 'L');
|
this.$emit('update', 'week', this.weekday + 'L');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '6') {
|
if (this.radioValue === '6') {
|
||||||
this.$emit('update', 'week', this.checkboxString);
|
this.$emit('update', 'week', this.checkboxString);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -195,7 +195,7 @@ export default {
|
|||||||
// 计算勾选的checkbox值合集
|
// 计算勾选的checkbox值合集
|
||||||
checkboxString: function () {
|
checkboxString: function () {
|
||||||
let str = this.checkboxList.join();
|
let str = this.checkboxList.join();
|
||||||
return str == '' ? '*' : str;
|
return str === '' ? '*' : str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,19 +79,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 周期两个值变化时
|
// 周期两个值变化时
|
||||||
cycleChange() {
|
cycleChange() {
|
||||||
if (this.radioValue == '3') {
|
if (this.radioValue === '3') {
|
||||||
this.$emit('update', 'year', this.cycleTotal);
|
this.$emit('update', 'year', this.cycleTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 平均两个值变化时
|
// 平均两个值变化时
|
||||||
averageChange() {
|
averageChange() {
|
||||||
if (this.radioValue == '4') {
|
if (this.radioValue === '4') {
|
||||||
this.$emit('update', 'year', this.averageTotal);
|
this.$emit('update', 'year', this.averageTotal);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// checkbox值变化时
|
// checkbox值变化时
|
||||||
checkboxChange() {
|
checkboxChange() {
|
||||||
if (this.radioValue == '5') {
|
if (this.radioValue === '5') {
|
||||||
this.$emit('update', 'year', this.checkboxString);
|
this.$emit('update', 'year', this.checkboxString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -167,7 +167,7 @@ export default {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|
||||||
::v-deep .el-input__inner {
|
:deep(.el-input__inner) {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
|
@ -64,14 +64,14 @@ export default {
|
|||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
background-color: #ebeef5;
|
background-color: #ebeef5;
|
||||||
box-shadow: 0 0 5px 1px #ccc;
|
box-shadow: 0 0 5px 1px #ccc;
|
||||||
::v-deep .el-image__inner {
|
:deep(.el-image__inner) {
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
transform: scale(1.2);
|
transform: scale(1.2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep .image-slot {
|
:deep(.image-slot) {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -141,8 +141,7 @@ export default {
|
|||||||
}
|
}
|
||||||
isImg = this.fileType.some(type => {
|
isImg = this.fileType.some(type => {
|
||||||
if (file.type.indexOf(type) > -1) return true;
|
if (file.type.indexOf(type) > -1) return true;
|
||||||
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
|
return !!(fileExtension && fileExtension.indexOf(type) > -1);
|
||||||
return false;
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
isImg = file.type.indexOf("image") > -1;
|
isImg = file.type.indexOf("image") > -1;
|
||||||
@ -190,16 +189,15 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
// .el-upload--picture-card 控制加号部分
|
// .el-upload--picture-card 控制加号部分
|
||||||
::v-deep.hide .el-upload--picture-card {
|
:deep(.hide .el-upload--picture-card) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
// 去掉动画效果
|
// 去掉动画效果
|
||||||
::v-deep .el-list-enter-active,
|
:deep(.el-list-enter-active, .el-list-leave-active) {
|
||||||
::v-deep .el-list-leave-active {
|
|
||||||
transition: all 0s;
|
transition: all 0s;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-list-enter, .el-list-leave-active {
|
:deep(.el-list-enter, .el-list-leave-active) {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(0);
|
transform: translateY(0);
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,6 @@ export default {
|
|||||||
|
|
||||||
.pan-info p a {
|
.pan-info p a {
|
||||||
display: block;
|
display: block;
|
||||||
color: #333;
|
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
background: rgba(255, 255, 255, 0.3);
|
background: rgba(255, 255, 255, 0.3);
|
||||||
|
@ -62,7 +62,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 右侧列表元素变化
|
// 右侧列表元素变化
|
||||||
dataChange(data) {
|
dataChange(data) {
|
||||||
for (var item in this.columns) {
|
for (let item in this.columns) {
|
||||||
const key = this.columns[item].key;
|
const key = this.columns[item].key;
|
||||||
this.columns[item].visible = !data.includes(key);
|
this.columns[item].visible = !data.includes(key);
|
||||||
}
|
}
|
||||||
@ -75,13 +75,13 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
::v-deep .el-transfer__button {
|
:deep(.el-transfer__button) {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
display: block;
|
display: block;
|
||||||
margin-left: 0px;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
::v-deep .el-transfer__button:first-child {
|
:deep(.el-transfer__button:first-child) {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -69,7 +69,7 @@ export default {
|
|||||||
childrenMenus() {
|
childrenMenus() {
|
||||||
const childrenMenus = [];
|
const childrenMenus = [];
|
||||||
this.routers.map((router) => {
|
this.routers.map((router) => {
|
||||||
for (var item in router.children) {
|
for (let item in router.children) {
|
||||||
if (router.children[item].parentPath === undefined) {
|
if (router.children[item].parentPath === undefined) {
|
||||||
if(router.path === "/") {
|
if(router.path === "/") {
|
||||||
router.children[item].path = "/" + router.children[item].path;
|
router.children[item].path = "/" + router.children[item].path;
|
||||||
@ -135,10 +135,10 @@ export default {
|
|||||||
},
|
},
|
||||||
// 当前激活的路由
|
// 当前激活的路由
|
||||||
activeRoutes(key) {
|
activeRoutes(key) {
|
||||||
var routes = [];
|
const routes = []
|
||||||
if (this.childrenMenus && this.childrenMenus.length > 0) {
|
if (this.childrenMenus && this.childrenMenus.length > 0) {
|
||||||
this.childrenMenus.map((item) => {
|
this.childrenMenus.map((item) => {
|
||||||
if (key == item.parentPath || (key == "index" && "" == item.path)) {
|
if (key === item.parentPath || (key === "index" && "" === item.path)) {
|
||||||
routes.push(item);
|
routes.push(item);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
File diff suppressed because one or more lines are too long
@ -58,7 +58,7 @@
|
|||||||
* VerifyPoints
|
* VerifyPoints
|
||||||
* @description 点选
|
* @description 点选
|
||||||
* */
|
* */
|
||||||
import { resetSize, _code_chars, _code_color1, _code_color2 } from './../utils/util'
|
import { resetSize } from './../utils/util'
|
||||||
import { aesEncrypt } from '@/utils/ase'
|
import { aesEncrypt } from '@/utils/ase'
|
||||||
import { reqGet, reqCheck } from './../api/index'
|
import { reqGet, reqCheck } from './../api/index'
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ export default {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// var flag = this.comparePos(this.fontPos, this.checkPosArr);
|
// var flag = this.comparePos(this.fontPos, this.checkPosArr);
|
||||||
// 发送后端请求
|
// 发送后端请求
|
||||||
var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify(this.checkPosArr), this.secretKey) : this.backToken + '---' + JSON.stringify(this.checkPosArr)
|
const captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify(this.checkPosArr), this.secretKey) : this.backToken + '---' + JSON.stringify(this.checkPosArr)
|
||||||
const data = {
|
const data = {
|
||||||
captchaType: this.captchaType,
|
captchaType: this.captchaType,
|
||||||
'pointJson': this.secretKey ? aesEncrypt(JSON.stringify(this.checkPosArr), this.secretKey) : JSON.stringify(this.checkPosArr),
|
'pointJson': this.secretKey ? aesEncrypt(JSON.stringify(this.checkPosArr), this.secretKey) : JSON.stringify(this.checkPosArr),
|
||||||
@ -205,8 +205,8 @@ export default {
|
|||||||
|
|
||||||
// 获取坐标
|
// 获取坐标
|
||||||
getMousePos: function(obj, e) {
|
getMousePos: function(obj, e) {
|
||||||
var x = e.offsetX
|
const x = e.offsetX
|
||||||
var y = e.offsetY
|
const y = e.offsetY
|
||||||
return { x, y }
|
return { x, y }
|
||||||
},
|
},
|
||||||
// 创建坐标点
|
// 创建坐标点
|
||||||
@ -253,7 +253,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 坐标转换函数
|
// 坐标转换函数
|
||||||
pointTransfrom(pointArr, imgSize) {
|
pointTransfrom(pointArr, imgSize) {
|
||||||
var newPointArr = pointArr.map(p => {
|
const newPointArr = pointArr.map(p => {
|
||||||
const x = Math.round(310 * p.x / parseInt(imgSize.imgWidth))
|
const x = Math.round(310 * p.x / parseInt(imgSize.imgWidth))
|
||||||
const y = Math.round(155 * p.y / parseInt(imgSize.imgHeight))
|
const y = Math.round(155 * p.y / parseInt(imgSize.imgHeight))
|
||||||
return { x, y }
|
return { x, y }
|
||||||
|
@ -193,7 +193,7 @@ export default {
|
|||||||
this.$parent.$emit('ready', this)
|
this.$parent.$emit('ready', this)
|
||||||
})
|
})
|
||||||
|
|
||||||
var _this = this
|
const _this = this
|
||||||
|
|
||||||
window.removeEventListener('touchmove', function(e) {
|
window.removeEventListener('touchmove', function(e) {
|
||||||
_this.move(e)
|
_this.move(e)
|
||||||
@ -228,11 +228,12 @@ export default {
|
|||||||
|
|
||||||
// 鼠标按下
|
// 鼠标按下
|
||||||
start: function(e) {
|
start: function(e) {
|
||||||
|
let x
|
||||||
e = e || window.event
|
e = e || window.event
|
||||||
if (!e.touches) { // 兼容PC端
|
if (!e.touches) { // 兼容PC端
|
||||||
var x = e.clientX
|
x = e.clientX
|
||||||
} else { // 兼容移动端
|
} else { // 兼容移动端
|
||||||
var x = e.touches[0].pageX
|
x = e.touches[0].pageX
|
||||||
}
|
}
|
||||||
this.startLeft = Math.floor(x - this.barArea.getBoundingClientRect().left)
|
this.startLeft = Math.floor(x - this.barArea.getBoundingClientRect().left)
|
||||||
this.startMoveTime = +new Date() // 开始滑动的时间
|
this.startMoveTime = +new Date() // 开始滑动的时间
|
||||||
@ -247,15 +248,16 @@ export default {
|
|||||||
},
|
},
|
||||||
// 鼠标移动
|
// 鼠标移动
|
||||||
move: function(e) {
|
move: function(e) {
|
||||||
|
let x
|
||||||
e = e || window.event
|
e = e || window.event
|
||||||
if (this.status && this.isEnd === false) {
|
if (this.status && this.isEnd === false) {
|
||||||
if (!e.touches) { // 兼容PC端
|
if (!e.touches) { // 兼容PC端
|
||||||
var x = e.clientX
|
x = e.clientX
|
||||||
} else { // 兼容移动端
|
} else { // 兼容移动端
|
||||||
var x = e.touches[0].pageX
|
x = e.touches[0].pageX
|
||||||
}
|
}
|
||||||
var bar_area_left = this.barArea.getBoundingClientRect().left
|
const bar_area_left = this.barArea.getBoundingClientRect().left
|
||||||
var move_block_left = x - bar_area_left // 小方块相对于父元素的left值
|
let move_block_left = x - bar_area_left // 小方块相对于父元素的left值
|
||||||
if (move_block_left >= this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2) {
|
if (move_block_left >= this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2) {
|
||||||
move_block_left = this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2
|
move_block_left = this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2
|
||||||
}
|
}
|
||||||
@ -271,10 +273,10 @@ export default {
|
|||||||
// 鼠标松开
|
// 鼠标松开
|
||||||
end: function() {
|
end: function() {
|
||||||
this.endMovetime = +new Date()
|
this.endMovetime = +new Date()
|
||||||
var _this = this
|
const _this = this
|
||||||
// 判断是否重合
|
// 判断是否重合
|
||||||
if (this.status && this.isEnd === false) {
|
if (this.status && this.isEnd === false) {
|
||||||
var moveLeftDistance = parseInt((this.moveBlockLeft || '').replace('px', ''))
|
const moveLeftDistance = parseInt((this.moveBlockLeft || '').replace('px', ''))
|
||||||
moveLeftDistance = moveLeftDistance * 310 / parseInt(this.setSize.imgWidth)
|
moveLeftDistance = moveLeftDistance * 310 / parseInt(this.setSize.imgWidth)
|
||||||
const data = {
|
const data = {
|
||||||
captchaType: this.captchaType,
|
captchaType: this.captchaType,
|
||||||
@ -297,7 +299,10 @@ export default {
|
|||||||
}
|
}
|
||||||
this.passFlag = true
|
this.passFlag = true
|
||||||
this.tipWords = `${((this.endMovetime - this.startMoveTime) / 1000).toFixed(2)}s验证成功`
|
this.tipWords = `${((this.endMovetime - this.startMoveTime) / 1000).toFixed(2)}s验证成功`
|
||||||
var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }), this.secretKey) : this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 })
|
const captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify({
|
||||||
|
x: moveLeftDistance,
|
||||||
|
y: 5.0
|
||||||
|
}), this.secretKey) : this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 })
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.tipWords = ''
|
this.tipWords = ''
|
||||||
this.$parent.closeBox()
|
this.$parent.closeBox()
|
||||||
|
@ -21,8 +21,7 @@ service.interceptors.request.use(
|
|||||||
// response interceptor
|
// response interceptor
|
||||||
service.interceptors.response.use(
|
service.interceptors.response.use(
|
||||||
response => {
|
response => {
|
||||||
const res = response.data
|
return response.data
|
||||||
return res
|
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
}
|
}
|
||||||
|
@ -346,13 +346,13 @@ export default {
|
|||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.highlight-todo.djs-connection > .djs-visual > path {
|
:deep(.highlight-todo.djs-connection > .djs-visual > path) {
|
||||||
stroke: #1890ff !important;
|
stroke: #1890ff !important;
|
||||||
stroke-dasharray: 4px !important;
|
stroke-dasharray: 4px !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
marker-end: url(#sequenceflow-end-_E7DFDF-_E7DFDF-803g1kf6zwzmcig1y2ulm5egr);
|
marker-end: url(#sequenceflow-end-_E7DFDF-_E7DFDF-803g1kf6zwzmcig1y2ulm5egr);
|
||||||
}
|
}
|
||||||
/deep/.highlight-todo.djs-shape .djs-visual > :nth-child(1) {
|
:deep(.highlight-todo.djs-shape .djs-visual > :nth-child(1)) {
|
||||||
fill: #1890ff !important;
|
fill: #1890ff !important;
|
||||||
stroke: #1890ff !important;
|
stroke: #1890ff !important;
|
||||||
stroke-dasharray: 4px !important;
|
stroke-dasharray: 4px !important;
|
||||||
@ -381,20 +381,20 @@ export default {
|
|||||||
fill: green !important; /* color elements as green */
|
fill: green !important; /* color elements as green */
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.highlight.djs-shape .djs-visual > :nth-child(1) {
|
:deep(.highlight.djs-shape .djs-visual > :nth-child(1)) {
|
||||||
fill: green !important;
|
fill: green !important;
|
||||||
stroke: green !important;
|
stroke: green !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight.djs-shape .djs-visual > :nth-child(2) {
|
:deep(.highlight.djs-shape .djs-visual > :nth-child(2)) {
|
||||||
fill: green !important;
|
fill: green !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight.djs-shape .djs-visual > path {
|
:deep(.highlight.djs-shape .djs-visual > path) {
|
||||||
fill: green !important;
|
fill: green !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
stroke: green !important;
|
stroke: green !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight.djs-connection > .djs-visual > path {
|
:deep(.highlight.djs-connection > .djs-visual > path) {
|
||||||
stroke: green !important;
|
stroke: green !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,20 +420,20 @@ export default {
|
|||||||
fill: red !important; /* color elements as green */
|
fill: red !important; /* color elements as green */
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.highlight-reject.djs-shape .djs-visual > :nth-child(1) {
|
:deep(.highlight-reject.djs-shape .djs-visual > :nth-child(1)) {
|
||||||
fill: red !important;
|
fill: red !important;
|
||||||
stroke: red !important;
|
stroke: red !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight-reject.djs-shape .djs-visual > :nth-child(2) {
|
:deep(.highlight-reject.djs-shape .djs-visual > :nth-child(2)) {
|
||||||
fill: red !important;
|
fill: red !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight-reject.djs-shape .djs-visual > path {
|
:deep(.highlight-reject.djs-shape .djs-visual > path) {
|
||||||
fill: red !important;
|
fill: red !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
stroke: red !important;
|
stroke: red !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight-reject.djs-connection > .djs-visual > path {
|
:deep(.highlight-reject.djs-connection > .djs-visual > path) {
|
||||||
stroke: red !important;
|
stroke: red !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -459,20 +459,20 @@ export default {
|
|||||||
fill: grey !important; /* color elements as green */
|
fill: grey !important; /* color elements as green */
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.highlight-cancel.djs-shape .djs-visual > :nth-child(1) {
|
:deep(.highlight-cancel.djs-shape .djs-visual > :nth-child(1)) {
|
||||||
fill: grey !important;
|
fill: grey !important;
|
||||||
stroke: grey !important;
|
stroke: grey !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight-cancel.djs-shape .djs-visual > :nth-child(2) {
|
:deep(.highlight-cancel.djs-shape .djs-visual > :nth-child(2)) {
|
||||||
fill: grey !important;
|
fill: grey !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight-cancel.djs-shape .djs-visual > path {
|
:deep(.highlight-cancel.djs-shape .djs-visual > path) {
|
||||||
fill: grey !important;
|
fill: grey !important;
|
||||||
fill-opacity: 0.2 !important;
|
fill-opacity: 0.2 !important;
|
||||||
stroke: grey !important;
|
stroke: grey !important;
|
||||||
}
|
}
|
||||||
/deep/.highlight-cancel.djs-connection > .djs-visual > path {
|
:deep(.highlight-cancel.djs-connection > .djs-visual > path) {
|
||||||
stroke: grey !important;
|
stroke: grey !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,4 +484,4 @@ export default {
|
|||||||
color: #fafafa;
|
color: #fafafa;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -49,14 +49,14 @@ export default function ContextPadProvider(
|
|||||||
}
|
}
|
||||||
|
|
||||||
eventBus.on("create.end", 250, function(event) {
|
eventBus.on("create.end", 250, function(event) {
|
||||||
var context = event.context,
|
const context = event.context,
|
||||||
shape = context.shape;
|
shape = context.shape
|
||||||
|
|
||||||
if (!hasPrimaryModifier(event) || !contextPad.isOpen(shape)) {
|
if (!hasPrimaryModifier(event) || !contextPad.isOpen(shape)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var entries = contextPad.getEntries(shape);
|
const entries = contextPad.getEntries(shape)
|
||||||
|
|
||||||
if (entries.replace) {
|
if (entries.replace) {
|
||||||
entries.replace.action.click(event, shape);
|
entries.replace.action.click(event, shape);
|
||||||
@ -81,7 +81,7 @@ ContextPadProvider.$inject = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
||||||
var contextPad = this._contextPad,
|
const contextPad = this._contextPad,
|
||||||
modeling = this._modeling,
|
modeling = this._modeling,
|
||||||
elementFactory = this._elementFactory,
|
elementFactory = this._elementFactory,
|
||||||
connect = this._connect,
|
connect = this._connect,
|
||||||
@ -90,15 +90,15 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
canvas = this._canvas,
|
canvas = this._canvas,
|
||||||
rules = this._rules,
|
rules = this._rules,
|
||||||
autoPlace = this._autoPlace,
|
autoPlace = this._autoPlace,
|
||||||
translate = this._translate;
|
translate = this._translate
|
||||||
|
|
||||||
var actions = {};
|
const actions = {}
|
||||||
|
|
||||||
if (element.type === "label") {
|
if (element.type === "label") {
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
var businessObject = element.businessObject;
|
const businessObject = element.businessObject
|
||||||
|
|
||||||
function startConnect(event, element) {
|
function startConnect(event, element) {
|
||||||
connect.start(event, element);
|
connect.start(event, element);
|
||||||
@ -109,21 +109,21 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getReplaceMenuPosition(element) {
|
function getReplaceMenuPosition(element) {
|
||||||
var Y_OFFSET = 5;
|
const Y_OFFSET = 5
|
||||||
|
|
||||||
var diagramContainer = canvas.getContainer(),
|
const diagramContainer = canvas.getContainer(),
|
||||||
pad = contextPad.getPad(element).html;
|
pad = contextPad.getPad(element).html
|
||||||
|
|
||||||
var diagramRect = diagramContainer.getBoundingClientRect(),
|
const diagramRect = diagramContainer.getBoundingClientRect(),
|
||||||
padRect = pad.getBoundingClientRect();
|
padRect = pad.getBoundingClientRect()
|
||||||
|
|
||||||
var top = padRect.top - diagramRect.top;
|
const top = padRect.top - diagramRect.top
|
||||||
var left = padRect.left - diagramRect.left;
|
const left = padRect.left - diagramRect.left
|
||||||
|
|
||||||
var pos = {
|
const pos = {
|
||||||
x: left,
|
x: left,
|
||||||
y: top + padRect.height + Y_OFFSET
|
y: top + padRect.height + Y_OFFSET
|
||||||
};
|
}
|
||||||
|
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
@ -145,19 +145,19 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function appendStart(event, element) {
|
function appendStart(event, element) {
|
||||||
var shape = elementFactory.createShape(assign({ type: type }, options));
|
const shape = elementFactory.createShape(assign({ type: type }, options))
|
||||||
create.start(event, shape, {
|
create.start(event, shape, {
|
||||||
source: element
|
source: element
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var append = autoPlace
|
const append = autoPlace
|
||||||
? function(event, element) {
|
? function(event, element) {
|
||||||
var shape = elementFactory.createShape(assign({ type: type }, options));
|
const shape = elementFactory.createShape(assign({ type: type }, options))
|
||||||
|
|
||||||
autoPlace.append(element, shape);
|
autoPlace.append(element, shape)
|
||||||
}
|
}
|
||||||
: appendStart;
|
: appendStart
|
||||||
|
|
||||||
return {
|
return {
|
||||||
group: "model",
|
group: "model",
|
||||||
@ -182,7 +182,7 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isAny(businessObject, ["bpmn:Lane", "bpmn:Participant"]) && isExpanded(businessObject)) {
|
if (isAny(businessObject, ["bpmn:Lane", "bpmn:Participant"]) && isExpanded(businessObject)) {
|
||||||
var childLanes = getChildLanes(element);
|
const childLanes = getChildLanes(element)
|
||||||
|
|
||||||
assign(actions, {
|
assign(actions, {
|
||||||
"lane-insert-above": {
|
"lane-insert-above": {
|
||||||
@ -302,9 +302,9 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
title: translate("Change type"),
|
title: translate("Change type"),
|
||||||
action: {
|
action: {
|
||||||
click: function(event, element) {
|
click: function(event, element) {
|
||||||
var position = assign(getReplaceMenuPosition(element), {
|
const position = assign(getReplaceMenuPosition(element), {
|
||||||
cursor: { x: event.x, y: event.y }
|
cursor: { x: event.x, y: event.y }
|
||||||
});
|
})
|
||||||
|
|
||||||
popupMenu.open(element, "bpmn-replace", position);
|
popupMenu.open(element, "bpmn-replace", position);
|
||||||
}
|
}
|
||||||
@ -350,7 +350,7 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// delete element entry, only show if allowed by rules
|
// delete element entry, only show if allowed by rules
|
||||||
var deleteAllowed = rules.allowed("elements.delete", { elements: [element] });
|
let deleteAllowed = rules.allowed('elements.delete', { elements: [element] })
|
||||||
|
|
||||||
if (isArray(deleteAllowed)) {
|
if (isArray(deleteAllowed)) {
|
||||||
// was the element returned as a deletion candidate?
|
// was the element returned as a deletion candidate?
|
||||||
@ -376,10 +376,10 @@ ContextPadProvider.prototype.getContextPadEntries = function(element) {
|
|||||||
// helpers /////////
|
// helpers /////////
|
||||||
|
|
||||||
function isEventType(eventBo, type, definition) {
|
function isEventType(eventBo, type, definition) {
|
||||||
var isType = eventBo.$instanceOf(type);
|
const isType = eventBo.$instanceOf(type)
|
||||||
var isDefinition = false;
|
let isDefinition = false
|
||||||
|
|
||||||
var definitions = eventBo.eventDefinitions || [];
|
const definitions = eventBo.eventDefinitions || []
|
||||||
forEach(definitions, function(def) {
|
forEach(definitions, function(def) {
|
||||||
if (def.$type === definition) {
|
if (def.$type === definition) {
|
||||||
isDefinition = true;
|
isDefinition = true;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var some = require("min-dash").some;
|
const some = require('min-dash').some
|
||||||
|
|
||||||
var ALLOWED_TYPES = {
|
const ALLOWED_TYPES = {
|
||||||
FailedJobRetryTimeCycle: ["bpmn:StartEvent", "bpmn:BoundaryEvent", "bpmn:IntermediateCatchEvent", "bpmn:Activity"],
|
FailedJobRetryTimeCycle: ['bpmn:StartEvent', 'bpmn:BoundaryEvent', 'bpmn:IntermediateCatchEvent', 'bpmn:Activity'],
|
||||||
Connector: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"],
|
Connector: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent'],
|
||||||
Field: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"]
|
Field: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent']
|
||||||
};
|
}
|
||||||
|
|
||||||
function is(element, type) {
|
function is(element, type) {
|
||||||
return element && typeof element.$instanceOf === "function" && element.$instanceOf(type);
|
return element && typeof element.$instanceOf === "function" && element.$instanceOf(type);
|
||||||
@ -32,8 +32,8 @@ function anyType(element, types) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isAllowed(propName, propDescriptor, newElement) {
|
function isAllowed(propName, propDescriptor, newElement) {
|
||||||
var name = propDescriptor.name,
|
const name = propDescriptor.name,
|
||||||
types = ALLOWED_TYPES[name.replace(/activiti:/, "")];
|
types = ALLOWED_TYPES[name.replace(/activiti:/, '')]
|
||||||
|
|
||||||
return name === propName && anyType(newElement, types);
|
return name === propName && anyType(newElement, types);
|
||||||
}
|
}
|
||||||
@ -42,8 +42,8 @@ function ActivitiModdleExtension(eventBus) {
|
|||||||
eventBus.on(
|
eventBus.on(
|
||||||
"property.clone",
|
"property.clone",
|
||||||
function(context) {
|
function(context) {
|
||||||
var newElement = context.newElement,
|
const newElement = context.newElement,
|
||||||
propDescriptor = context.propertyDescriptor;
|
propDescriptor = context.propertyDescriptor
|
||||||
|
|
||||||
this.canCloneProperty(newElement, propDescriptor);
|
this.canCloneProperty(newElement, propDescriptor);
|
||||||
},
|
},
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var isFunction = require("min-dash").isFunction,
|
const isFunction = require('min-dash').isFunction,
|
||||||
isObject = require("min-dash").isObject,
|
isObject = require('min-dash').isObject,
|
||||||
some = require("min-dash").some;
|
some = require('min-dash').some
|
||||||
|
|
||||||
var WILDCARD = "*";
|
const WILDCARD = '*'
|
||||||
|
|
||||||
function CamundaModdleExtension(eventBus) {
|
function CamundaModdleExtension(eventBus) {
|
||||||
var self = this;
|
const self = this
|
||||||
|
|
||||||
eventBus.on("moddleCopy.canCopyProperty", function(context) {
|
eventBus.on("moddleCopy.canCopyProperty", function(context) {
|
||||||
var property = context.property,
|
const property = context.property,
|
||||||
parent = context.parent;
|
parent = context.parent
|
||||||
|
|
||||||
return self.canCopyProperty(property, parent);
|
return self.canCopyProperty(property, parent);
|
||||||
});
|
});
|
||||||
@ -45,14 +45,14 @@ CamundaModdleExtension.prototype.canCopyProperty = function(property, parent) {
|
|||||||
|
|
||||||
CamundaModdleExtension.prototype.canHostInputOutput = function(parent) {
|
CamundaModdleExtension.prototype.canHostInputOutput = function(parent) {
|
||||||
// allowed in camunda:Connector
|
// allowed in camunda:Connector
|
||||||
var connector = getParent(parent, "camunda:Connector");
|
const connector = getParent(parent, 'camunda:Connector')
|
||||||
|
|
||||||
if (connector) {
|
if (connector) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// special rules inside bpmn:FlowNode
|
// special rules inside bpmn:FlowNode
|
||||||
var flowNode = getParent(parent, "bpmn:FlowNode");
|
const flowNode = getParent(parent, 'bpmn:FlowNode')
|
||||||
|
|
||||||
if (!flowNode) {
|
if (!flowNode) {
|
||||||
return false;
|
return false;
|
||||||
@ -62,15 +62,13 @@ CamundaModdleExtension.prototype.canHostInputOutput = function(parent) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is(flowNode, "bpmn:SubProcess") && flowNode.get("triggeredByEvent")) {
|
return !(is(flowNode, "bpmn:SubProcess") && flowNode.get("triggeredByEvent"));
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CamundaModdleExtension.prototype.canHostConnector = function(parent) {
|
CamundaModdleExtension.prototype.canHostConnector = function(parent) {
|
||||||
var serviceTaskLike = getParent(parent, "camunda:ServiceTaskLike");
|
const serviceTaskLike = getParent(parent, 'camunda:ServiceTaskLike')
|
||||||
|
|
||||||
if (is(serviceTaskLike, "bpmn:MessageEventDefinition")) {
|
if (is(serviceTaskLike, "bpmn:MessageEventDefinition")) {
|
||||||
// only allow on throw and end events
|
// only allow on throw and end events
|
||||||
@ -81,13 +79,13 @@ CamundaModdleExtension.prototype.canHostConnector = function(parent) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
CamundaModdleExtension.prototype.canHostIn = function(parent) {
|
CamundaModdleExtension.prototype.canHostIn = function(parent) {
|
||||||
var callActivity = getParent(parent, "bpmn:CallActivity");
|
const callActivity = getParent(parent, 'bpmn:CallActivity')
|
||||||
|
|
||||||
if (callActivity) {
|
if (callActivity) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
var signalEventDefinition = getParent(parent, "bpmn:SignalEventDefinition");
|
const signalEventDefinition = getParent(parent, 'bpmn:SignalEventDefinition')
|
||||||
|
|
||||||
if (signalEventDefinition) {
|
if (signalEventDefinition) {
|
||||||
// only allow on throw and end events
|
// only allow on throw and end events
|
||||||
@ -129,9 +127,9 @@ function getParent(element, type) {
|
|||||||
|
|
||||||
function isAllowedInParent(property, parent) {
|
function isAllowedInParent(property, parent) {
|
||||||
// (1) find property descriptor
|
// (1) find property descriptor
|
||||||
var descriptor = property.$type && property.$model.getTypeDescriptor(property.$type);
|
const descriptor = property.$type && property.$model.getTypeDescriptor(property.$type)
|
||||||
|
|
||||||
var allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn;
|
const allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn
|
||||||
|
|
||||||
if (!allowedIn || isWildcard(allowedIn)) {
|
if (!allowedIn || isWildcard(allowedIn)) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var some = require("min-dash").some;
|
const some = require('min-dash').some
|
||||||
|
|
||||||
var ALLOWED_TYPES = {
|
const ALLOWED_TYPES = {
|
||||||
FailedJobRetryTimeCycle: ["bpmn:StartEvent", "bpmn:BoundaryEvent", "bpmn:IntermediateCatchEvent", "bpmn:Activity"],
|
FailedJobRetryTimeCycle: ['bpmn:StartEvent', 'bpmn:BoundaryEvent', 'bpmn:IntermediateCatchEvent', 'bpmn:Activity'],
|
||||||
Connector: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"],
|
Connector: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent'],
|
||||||
Field: ["bpmn:EndEvent", "bpmn:IntermediateThrowEvent"]
|
Field: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent']
|
||||||
};
|
}
|
||||||
|
|
||||||
function is(element, type) {
|
function is(element, type) {
|
||||||
return element && typeof element.$instanceOf === "function" && element.$instanceOf(type);
|
return element && typeof element.$instanceOf === "function" && element.$instanceOf(type);
|
||||||
@ -32,8 +32,8 @@ function anyType(element, types) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isAllowed(propName, propDescriptor, newElement) {
|
function isAllowed(propName, propDescriptor, newElement) {
|
||||||
var name = propDescriptor.name,
|
const name = propDescriptor.name,
|
||||||
types = ALLOWED_TYPES[name.replace(/flowable:/, "")];
|
types = ALLOWED_TYPES[name.replace(/flowable:/, '')]
|
||||||
|
|
||||||
return name === propName && anyType(newElement, types);
|
return name === propName && anyType(newElement, types);
|
||||||
}
|
}
|
||||||
@ -42,8 +42,8 @@ function FlowableModdleExtension(eventBus) {
|
|||||||
eventBus.on(
|
eventBus.on(
|
||||||
"property.clone",
|
"property.clone",
|
||||||
function(context) {
|
function(context) {
|
||||||
var newElement = context.newElement,
|
const newElement = context.newElement,
|
||||||
propDescriptor = context.propertyDescriptor;
|
propDescriptor = context.propertyDescriptor
|
||||||
|
|
||||||
this.canCloneProperty(newElement, propDescriptor);
|
this.canCloneProperty(newElement, propDescriptor);
|
||||||
},
|
},
|
||||||
|
@ -10,18 +10,18 @@ F.prototype = PaletteProvider.prototype; // 核心,将父类的原型赋值给
|
|||||||
|
|
||||||
// 利用中介函数重写原型链方法
|
// 利用中介函数重写原型链方法
|
||||||
F.prototype.getPaletteEntries = function() {
|
F.prototype.getPaletteEntries = function() {
|
||||||
var actions = {},
|
const actions = {},
|
||||||
create = this._create,
|
create = this._create,
|
||||||
elementFactory = this._elementFactory,
|
elementFactory = this._elementFactory,
|
||||||
spaceTool = this._spaceTool,
|
spaceTool = this._spaceTool,
|
||||||
lassoTool = this._lassoTool,
|
lassoTool = this._lassoTool,
|
||||||
handTool = this._handTool,
|
handTool = this._handTool,
|
||||||
globalConnect = this._globalConnect,
|
globalConnect = this._globalConnect,
|
||||||
translate = this._translate;
|
translate = this._translate
|
||||||
|
|
||||||
function createAction(type, group, className, title, options) {
|
function createAction(type, group, className, title, options) {
|
||||||
function createListener(event) {
|
function createListener(event) {
|
||||||
var shape = elementFactory.createShape(assign({ type: type }, options));
|
const shape = elementFactory.createShape(assign({ type: type }, options))
|
||||||
|
|
||||||
if (options) {
|
if (options) {
|
||||||
shape.businessObject.di.isExpanded = options.isExpanded;
|
shape.businessObject.di.isExpanded = options.isExpanded;
|
||||||
@ -30,7 +30,7 @@ F.prototype.getPaletteEntries = function() {
|
|||||||
create.start(event, shape);
|
create.start(event, shape);
|
||||||
}
|
}
|
||||||
|
|
||||||
var shortType = type.replace(/^bpmn:/, "");
|
const shortType = type.replace(/^bpmn:/, '')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
group: group,
|
group: group,
|
||||||
@ -44,19 +44,19 @@ F.prototype.getPaletteEntries = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createSubprocess(event) {
|
function createSubprocess(event) {
|
||||||
var subProcess = elementFactory.createShape({
|
const subProcess = elementFactory.createShape({
|
||||||
type: "bpmn:SubProcess",
|
type: 'bpmn:SubProcess',
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
isExpanded: true
|
isExpanded: true
|
||||||
});
|
})
|
||||||
|
|
||||||
var startEvent = elementFactory.createShape({
|
const startEvent = elementFactory.createShape({
|
||||||
type: "bpmn:StartEvent",
|
type: 'bpmn:StartEvent',
|
||||||
x: 40,
|
x: 40,
|
||||||
y: 82,
|
y: 82,
|
||||||
parent: subProcess
|
parent: subProcess
|
||||||
});
|
})
|
||||||
|
|
||||||
create.start(event, [subProcess, startEvent], {
|
create.start(event, [subProcess, startEvent], {
|
||||||
hints: {
|
hints: {
|
||||||
|
@ -19,18 +19,18 @@ export default function PaletteProvider(palette, create, elementFactory, spaceTo
|
|||||||
PaletteProvider.$inject = ["palette", "create", "elementFactory", "spaceTool", "lassoTool", "handTool", "globalConnect", "translate"];
|
PaletteProvider.$inject = ["palette", "create", "elementFactory", "spaceTool", "lassoTool", "handTool", "globalConnect", "translate"];
|
||||||
|
|
||||||
PaletteProvider.prototype.getPaletteEntries = function() {
|
PaletteProvider.prototype.getPaletteEntries = function() {
|
||||||
var actions = {},
|
const actions = {},
|
||||||
create = this._create,
|
create = this._create,
|
||||||
elementFactory = this._elementFactory,
|
elementFactory = this._elementFactory,
|
||||||
spaceTool = this._spaceTool,
|
spaceTool = this._spaceTool,
|
||||||
lassoTool = this._lassoTool,
|
lassoTool = this._lassoTool,
|
||||||
handTool = this._handTool,
|
handTool = this._handTool,
|
||||||
globalConnect = this._globalConnect,
|
globalConnect = this._globalConnect,
|
||||||
translate = this._translate;
|
translate = this._translate
|
||||||
|
|
||||||
function createAction(type, group, className, title, options) {
|
function createAction(type, group, className, title, options) {
|
||||||
function createListener(event) {
|
function createListener(event) {
|
||||||
var shape = elementFactory.createShape(assign({ type: type }, options));
|
const shape = elementFactory.createShape(assign({ type: type }, options))
|
||||||
|
|
||||||
if (options) {
|
if (options) {
|
||||||
shape.businessObject.di.isExpanded = options.isExpanded;
|
shape.businessObject.di.isExpanded = options.isExpanded;
|
||||||
@ -39,7 +39,7 @@ PaletteProvider.prototype.getPaletteEntries = function() {
|
|||||||
create.start(event, shape);
|
create.start(event, shape);
|
||||||
}
|
}
|
||||||
|
|
||||||
var shortType = type.replace(/^bpmn:/, "");
|
const shortType = type.replace(/^bpmn:/, '')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
group: group,
|
group: group,
|
||||||
@ -53,19 +53,19 @@ PaletteProvider.prototype.getPaletteEntries = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createSubprocess(event) {
|
function createSubprocess(event) {
|
||||||
var subProcess = elementFactory.createShape({
|
const subProcess = elementFactory.createShape({
|
||||||
type: "bpmn:SubProcess",
|
type: 'bpmn:SubProcess',
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
isExpanded: true
|
isExpanded: true
|
||||||
});
|
})
|
||||||
|
|
||||||
var startEvent = elementFactory.createShape({
|
const startEvent = elementFactory.createShape({
|
||||||
type: "bpmn:StartEvent",
|
type: 'bpmn:StartEvent',
|
||||||
x: 40,
|
x: 40,
|
||||||
y: 82,
|
y: 82,
|
||||||
parent: subProcess
|
parent: subProcess
|
||||||
});
|
})
|
||||||
|
|
||||||
create.start(event, [subProcess, startEvent], {
|
create.start(event, [subProcess, startEvent], {
|
||||||
hints: {
|
hints: {
|
||||||
|
@ -76,7 +76,7 @@ export default {
|
|||||||
if (!value) {
|
if (!value) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!value.match(/[a-zA-Z_][\-_.0-9_a-zA-Z$]*/)) {
|
if (!value.match(/[a-zA-Z_][\-_.0-9a-zA-Z$]*/)) {
|
||||||
console.log('key 不满足 XML NCName 规则,所以不进行赋值');
|
console.log('key 不满足 XML NCName 规则,所以不进行赋值');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { isArray } from 'util'
|
import { isArray } from 'util'
|
||||||
import { exportDefault, titleCase, deepClone } from '@/utils/index'
|
import { exportDefault, titleCase, deepClone } from '@/utils'
|
||||||
import ruleTrigger from './ruleTrigger'
|
import ruleTrigger from './ruleTrigger'
|
||||||
|
|
||||||
const units = {
|
const units = {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
export default {
|
export default {
|
||||||
bind(el, binding, vnode, oldVnode) {
|
bind(el, binding, vnode, oldVnode) {
|
||||||
const value = binding.value
|
const value = binding.value
|
||||||
if (value == false) return
|
if (value === false) return
|
||||||
// 获取拖拽内容头部
|
// 获取拖拽内容头部
|
||||||
const dialogHeaderEl = el.querySelector('.el-dialog__header');
|
const dialogHeaderEl = el.querySelector('.el-dialog__header');
|
||||||
const dragDom = el.querySelector('.el-dialog');
|
const dragDom = el.querySelector('.el-dialog');
|
||||||
@ -16,7 +16,7 @@ export default {
|
|||||||
dragDom.style.marginTop = 0;
|
dragDom.style.marginTop = 0;
|
||||||
let width = dragDom.style.width;
|
let width = dragDom.style.width;
|
||||||
if (width.includes('%')) {
|
if (width.includes('%')) {
|
||||||
width = +document.body.clientWidth * (+width.replace(/\%/g, '') / 100);
|
width = +document.body.clientWidth * (+width.replace(/%/g, '') / 100);
|
||||||
} else {
|
} else {
|
||||||
width = +width.replace(/\px/g, '');
|
width = +width.replace(/\px/g, '');
|
||||||
}
|
}
|
||||||
@ -32,12 +32,12 @@ export default {
|
|||||||
|
|
||||||
// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
||||||
if (sty.left.includes('%')) {
|
if (sty.left.includes('%')) {
|
||||||
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
|
styL = +document.body.clientWidth * (+sty.left.replace(/%/g, '') / 100);
|
||||||
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
|
styT = +document.body.clientHeight * (+sty.top.replace(/%/g, '') / 100);
|
||||||
} else {
|
} else {
|
||||||
styL = +sty.left.replace(/\px/g, '');
|
styL = +sty.left.replace(/\px/g, '');
|
||||||
styT = +sty.top.replace(/\px/g, '');
|
styT = +sty.top.replace(/\px/g, '');
|
||||||
};
|
}
|
||||||
|
|
||||||
// 鼠标拖拽事件
|
// 鼠标拖拽事件
|
||||||
document.onmousemove = function (e) {
|
document.onmousemove = function (e) {
|
||||||
|
@ -82,13 +82,11 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
::v-deep {
|
:deep(.el-scrollbar__bar) {
|
||||||
.el-scrollbar__bar {
|
bottom: 0;
|
||||||
bottom: 0px;
|
|
||||||
}
|
}
|
||||||
.el-scrollbar__wrap {
|
:deep(.el-scrollbar__wrap) {
|
||||||
height: 49px;
|
height: 49px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -56,7 +56,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 添加tab页签
|
// 添加tab页签
|
||||||
openPage(title, url, params) {
|
openPage(title, url, params) {
|
||||||
var obj = { path: url, meta: { title: title } }
|
const obj = { path: url, meta: { title: title } }
|
||||||
store.dispatch('tagsView/addView', obj);
|
store.dispatch('tagsView/addView', obj);
|
||||||
return router.push({ path: url, query: params });
|
return router.push({ path: url, query: params });
|
||||||
},
|
},
|
||||||
|
@ -86,7 +86,7 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function filterChildren(childrenMap, lastRouter = false) {
|
function filterChildren(childrenMap, lastRouter = false) {
|
||||||
var children = []
|
let children = []
|
||||||
childrenMap.forEach((el, index) => {
|
childrenMap.forEach((el, index) => {
|
||||||
if (el.children && el.children.length) {
|
if (el.children && el.children.length) {
|
||||||
if (el.component === 'ParentView' && !lastRouter) {
|
if (el.component === 'ParentView' && !lastRouter) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import {login, logout, getInfo, socialLogin, socialBindLogin, smsLogin} from '@/api/login'
|
import {login, logout, getInfo, socialLogin, smsLogin} from '@/api/login'
|
||||||
import {setToken, removeToken} from '@/utils/auth'
|
import {setToken, removeToken} from '@/utils/auth'
|
||||||
|
|
||||||
const user = {
|
const user = {
|
||||||
|
@ -4,14 +4,14 @@ import { parseTime } from './ruoyi'
|
|||||||
* 表格时间格式化
|
* 表格时间格式化
|
||||||
*/
|
*/
|
||||||
export function formatDate(cellValue) {
|
export function formatDate(cellValue) {
|
||||||
if (cellValue == null || cellValue == "") return "";
|
if (cellValue == null || cellValue === "") return "";
|
||||||
var date = new Date(cellValue)
|
const date = new Date(cellValue)
|
||||||
var year = date.getFullYear()
|
const year = date.getFullYear()
|
||||||
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
|
const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
|
||||||
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
|
const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
|
||||||
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
|
const hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
|
||||||
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
|
const minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
|
||||||
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
|
const seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
|
||||||
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
|
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,13 +78,13 @@ export function getQueryObject(url) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} input value
|
* @param str
|
||||||
* @returns {number} output value
|
* @param str
|
||||||
*/
|
*/
|
||||||
export function byteLength(str) {
|
export function byteLength(str) {
|
||||||
// returns the byte length of an utf8 string
|
// returns the byte length of an utf8 string
|
||||||
let s = str.length
|
let s = str.length
|
||||||
for (var i = str.length - 1; i >= 0; i--) {
|
for (let i = str.length - 1; i >= 0; i--) {
|
||||||
const code = str.charCodeAt(i)
|
const code = str.charCodeAt(i)
|
||||||
if (code > 0x7f && code <= 0x7ff) s++
|
if (code > 0x7f && code <= 0x7ff) s++
|
||||||
else if (code > 0x7ff && code <= 0xffff) s += 2
|
else if (code > 0x7ff && code <= 0xffff) s += 2
|
||||||
@ -136,8 +136,7 @@ export function param2Obj(url) {
|
|||||||
const index = v.indexOf('=')
|
const index = v.indexOf('=')
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
const name = v.substring(0, index)
|
const name = v.substring(0, index)
|
||||||
const val = v.substring(index + 1, v.length)
|
obj[name] = v.substring(index + 1, v.length)
|
||||||
obj[name] = val
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return obj
|
return obj
|
||||||
@ -330,7 +329,7 @@ export function createUniqueString() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if an element has a class
|
* Check if an element has a class
|
||||||
* @param {HTMLElement} elm
|
* @param ele
|
||||||
* @param {string} cls
|
* @param {string} cls
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
@ -340,7 +339,7 @@ export function hasClass(ele, cls) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Add class to element
|
* Add class to element
|
||||||
* @param {HTMLElement} elm
|
* @param ele
|
||||||
* @param {string} cls
|
* @param {string} cls
|
||||||
*/
|
*/
|
||||||
export function addClass(ele, cls) {
|
export function addClass(ele, cls) {
|
||||||
@ -349,7 +348,7 @@ export function addClass(ele, cls) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove class from element
|
* Remove class from element
|
||||||
* @param {HTMLElement} elm
|
* @param ele
|
||||||
* @param {string} cls
|
* @param {string} cls
|
||||||
*/
|
*/
|
||||||
export function removeClass(ele, cls) {
|
export function removeClass(ele, cls) {
|
||||||
|
@ -15,10 +15,8 @@ export function checkPermi(value) {
|
|||||||
return all_permission === permission || permissionDatas.includes(permission)
|
return all_permission === permission || permissionDatas.includes(permission)
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!hasPermission) {
|
return hasPermission;
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
|
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
|
||||||
return false
|
return false
|
||||||
@ -40,12 +38,10 @@ export function checkRole(value) {
|
|||||||
return super_admin === role || permissionRoles.includes(role)
|
return super_admin === role || permissionRoles.includes(role)
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!hasRole) {
|
return hasRole;
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like checkRole="['admin','editor']"`)
|
console.error(`need roles! Like checkRole="['admin','editor']"`)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,12 +49,12 @@ service.interceptors.request.use(config => {
|
|||||||
let url = config.url + '?';
|
let url = config.url + '?';
|
||||||
for (const propName of Object.keys(config.params)) {
|
for (const propName of Object.keys(config.params)) {
|
||||||
const value = config.params[propName];
|
const value = config.params[propName];
|
||||||
var part = encodeURIComponent(propName) + "=";
|
const part = encodeURIComponent(propName) + '='
|
||||||
if (value !== null && typeof(value) !== "undefined") {
|
if (value !== null && typeof(value) !== "undefined") {
|
||||||
if (typeof value === 'object') {
|
if (typeof value === 'object') {
|
||||||
for (const key of Object.keys(value)) {
|
for (const key of Object.keys(value)) {
|
||||||
let params = propName + '[' + key + ']';
|
let params = propName + '[' + key + ']';
|
||||||
var subPart = encodeURIComponent(params) + "=";
|
const subPart = encodeURIComponent(params) + '='
|
||||||
url += subPart + encodeURIComponent(value[key]) + "&";
|
url += subPart + encodeURIComponent(value[key]) + "&";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -18,7 +18,7 @@ export function parseTime(time, pattern) {
|
|||||||
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
|
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
|
||||||
time = parseInt(time)
|
time = parseInt(time)
|
||||||
} else if (typeof time === 'string') {
|
} else if (typeof time === 'string') {
|
||||||
time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm),'');
|
time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.\d{3}/gm),'');
|
||||||
}
|
}
|
||||||
if ((typeof time === 'number') && (time.toString().length === 10)) {
|
if ((typeof time === 'number') && (time.toString().length === 10)) {
|
||||||
time = time * 1000
|
time = time * 1000
|
||||||
@ -34,7 +34,7 @@ export function parseTime(time, pattern) {
|
|||||||
s: date.getSeconds(),
|
s: date.getSeconds(),
|
||||||
a: date.getDay()
|
a: date.getDay()
|
||||||
}
|
}
|
||||||
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
|
const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
|
||||||
let value = formatObj[key]
|
let value = formatObj[key]
|
||||||
// Note: getDay() returns 0 on Sunday
|
// Note: getDay() returns 0 on Sunday
|
||||||
if (key === 'a') {
|
if (key === 'a') {
|
||||||
@ -102,9 +102,11 @@ export function addBeginAndEndTime(params, dateRange, propName) {
|
|||||||
|
|
||||||
// 字符串格式化(%s )
|
// 字符串格式化(%s )
|
||||||
export function sprintf(str) {
|
export function sprintf(str) {
|
||||||
var args = arguments, flag = true, i = 1;
|
const args = arguments
|
||||||
|
let flag = true
|
||||||
|
const i = 1
|
||||||
str = str.replace(/%s/g, function () {
|
str = str.replace(/%s/g, function () {
|
||||||
var arg = args[i++];
|
const arg = args[i++]
|
||||||
if (typeof arg === 'undefined') {
|
if (typeof arg === 'undefined') {
|
||||||
flag = false;
|
flag = false;
|
||||||
return '';
|
return '';
|
||||||
@ -116,7 +118,7 @@ export function sprintf(str) {
|
|||||||
|
|
||||||
// 转换字符串,undefined,null等转化为""
|
// 转换字符串,undefined,null等转化为""
|
||||||
export function praseStrEmpty(str) {
|
export function praseStrEmpty(str) {
|
||||||
if (!str || str == "undefined" || str == "null") {
|
if (!str || str === "undefined" || str === "null") {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
@ -244,7 +246,7 @@ export function getPath(path) {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function divide(divisor, dividend) {
|
export function divide(divisor, dividend) {
|
||||||
if(divisor == null || dividend == null || dividend == 0){
|
if(divisor == null || dividend == null || dividend === 0){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return Math.floor(divisor/dividend*100)/100;
|
return Math.floor(divisor/dividend*100)/100;
|
||||||
|
@ -8,8 +8,10 @@ Math.easeInOutQuad = function(t, b, c, d) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts
|
// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts
|
||||||
var requestAnimFrame = (function() {
|
const requestAnimFrame = (function() {
|
||||||
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }
|
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) {
|
||||||
|
window.setTimeout(callback, 1000 / 60)
|
||||||
|
}
|
||||||
})()
|
})()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -37,11 +39,11 @@ export function scrollTo(to, duration, callback) {
|
|||||||
const increment = 20
|
const increment = 20
|
||||||
let currentTime = 0
|
let currentTime = 0
|
||||||
duration = (typeof (duration) === 'undefined') ? 500 : duration
|
duration = (typeof (duration) === 'undefined') ? 500 : duration
|
||||||
var animateScroll = function() {
|
const animateScroll = function() {
|
||||||
// increment the time
|
// increment the time
|
||||||
currentTime += increment
|
currentTime += increment
|
||||||
// find the value with the quadratic in-out easing function
|
// find the value with the quadratic in-out easing function
|
||||||
var val = Math.easeInOutQuad(currentTime, start, change, duration)
|
const val = Math.easeInOutQuad(currentTime, start, change, duration)
|
||||||
// move the document.body
|
// move the document.body
|
||||||
move(val)
|
move(val)
|
||||||
// do the animation unless its over
|
// do the animation unless its over
|
||||||
|
@ -56,7 +56,7 @@ export function validAlphabets(str) {
|
|||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
export function validEmail(email) {
|
export function validEmail(email) {
|
||||||
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
|
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
|
||||||
return reg.test(email)
|
return reg.test(email)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,10 +65,8 @@ export function validEmail(email) {
|
|||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
export function isString(str) {
|
export function isString(str) {
|
||||||
if (typeof str === 'string' || str instanceof String) {
|
return typeof str === 'string' || str instanceof String;
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,19 +6,19 @@
|
|||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list">
|
||||||
<el-table-column label="定义编号" align="center" prop="id" width="400" />
|
<el-table-column label="定义编号" align="center" prop="id" width="400" />
|
||||||
<el-table-column label="定义名称" align="center" prop="name" width="100">
|
<el-table-column label="定义名称" align="center" prop="name" width="100">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" @click="handleBpmnDetail(scope.row)">
|
<el-button type="text" @click="handleBpmnDetail(scope.row)">
|
||||||
<span>{{ scope.row.name }}</span>
|
<span>{{ scope.row.name }}</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="定义分类" align="center" prop="category" width="100">
|
<el-table-column label="定义分类" align="center" prop="category" width="100">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="表单信息" align="center" prop="formType" width="200">
|
<el-table-column label="表单信息" align="center" prop="formType" width="200">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button v-if="scope.row.formId" type="text" @click="handleFormDetail(scope.row)">
|
<el-button v-if="scope.row.formId" type="text" @click="handleFormDetail(scope.row)">
|
||||||
<span>{{ scope.row.formName }}</span>
|
<span>{{ scope.row.formName }}</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -29,25 +29,25 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
|
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-tag size="medium" v-if="scope.row">v{{ scope.row.version }}</el-tag>
|
<el-tag size="medium" v-if="scope.row">v{{ scope.row.version }}</el-tag>
|
||||||
<el-tag size="medium" type="warning" v-else>未部署</el-tag>
|
<el-tag size="medium" type="warning" v-else>未部署</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" align="center" prop="version" width="80">
|
<el-table-column label="状态" align="center" prop="version" width="80">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
|
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
|
||||||
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
|
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="部署时间" align="center" prop="deploymentTime" width="180">
|
<el-table-column label="部署时间" align="center" prop="deploymentTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.deploymentTime) }}</span>
|
<span>{{ parseTime(scope.row.deploymentTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="定义描述" align="center" prop="description" width="300" show-overflow-tooltip />
|
<el-table-column label="定义描述" align="center" prop="description" width="300" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" align="center" width="150" fixed="right">
|
<el-table-column label="操作" align="center" width="150" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-s-custom" @click="handleAssignRule(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-s-custom" @click="handleAssignRule(scope.row)"
|
||||||
v-hasPermi="['bpm:task-assign-rule:update']">分配规则</el-button>
|
v-hasPermi="['bpm:task-assign-rule:update']">分配规则</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -76,7 +76,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import {getProcessDefinitionBpmnXML, getProcessDefinitionPage} from "@/api/bpm/definition";
|
import {getProcessDefinitionBpmnXML, getProcessDefinitionPage} from "@/api/bpm/definition";
|
||||||
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
|
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
|
||||||
import {getForm} from "@/api/bpm/form";
|
|
||||||
import {decodeFields} from "@/utils/formGenerator";
|
import {decodeFields} from "@/utils/formGenerator";
|
||||||
import Parser from '@/components/parser/Parser'
|
import Parser from '@/components/parser/Parser'
|
||||||
import taskAssignRuleDialog from "../taskAssignRule/taskAssignRuleDialog";
|
import taskAssignRuleDialog from "../taskAssignRule/taskAssignRuleDialog";
|
||||||
|
@ -151,9 +151,7 @@ import RightPanel from '@/views/infra/build/RightPanel'
|
|||||||
import {
|
import {
|
||||||
inputComponents, selectComponents, layoutComponents, formConf
|
inputComponents, selectComponents, layoutComponents, formConf
|
||||||
} from '@/components/generator/config'
|
} from '@/components/generator/config'
|
||||||
import {
|
import {beautifierConf, titleCase, deepClone, isObjectObject} from '@/utils'
|
||||||
exportDefault, beautifierConf, isNumberStr, titleCase, deepClone, isObjectObject
|
|
||||||
} from '@/utils/index'
|
|
||||||
import {
|
import {
|
||||||
makeUpHtml, vueTemplate, vueScript, cssStyle
|
makeUpHtml, vueTemplate, vueScript, cssStyle
|
||||||
} from '@/components/generator/html'
|
} from '@/components/generator/html'
|
||||||
|
@ -27,18 +27,18 @@
|
|||||||
<el-table-column label="编号" align="center" prop="id" />
|
<el-table-column label="编号" align="center" prop="id" />
|
||||||
<el-table-column label="表单名" align="center" prop="name" />
|
<el-table-column label="表单名" align="center" prop="name" />
|
||||||
<el-table-column label="开启状态" align="center" prop="status">
|
<el-table-column label="开启状态" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status"/>
|
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
|
||||||
v-hasPermi="['bpm:form:query']">详情</el-button>
|
v-hasPermi="['bpm:form:query']">详情</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
|
@ -38,24 +38,24 @@
|
|||||||
<el-table-column label="组名" align="center" prop="name" />
|
<el-table-column label="组名" align="center" prop="name" />
|
||||||
<el-table-column label="描述" align="center" prop="description" />
|
<el-table-column label="描述" align="center" prop="description" />
|
||||||
<el-table-column label="成员" align="center">
|
<el-table-column label="成员" align="center">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span v-for="userId in scope.row.memberUserIds">
|
<span v-for="userId in scope.row.memberUserIds">
|
||||||
{{ getUserNickname(userId) }}
|
{{ getUserNickname(userId) }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<el-table-column label="状态" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
|
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['bpm:user-group:update']">修改</el-button>
|
v-hasPermi="['bpm:user-group:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
@ -40,19 +40,19 @@
|
|||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list">
|
||||||
<el-table-column label="流程标识" align="center" prop="key" />
|
<el-table-column label="流程标识" align="center" prop="key" />
|
||||||
<el-table-column label="流程名称" align="center" prop="name" width="200">
|
<el-table-column label="流程名称" align="center" prop="name" width="200">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" @click="handleBpmnDetail(scope.row)">
|
<el-button type="text" @click="handleBpmnDetail(scope.row)">
|
||||||
<span>{{ scope.row.name }}</span>
|
<span>{{ scope.row.name }}</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="流程分类" align="center" prop="category" width="100">
|
<el-table-column label="流程分类" align="center" prop="category" width="100">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="表单信息" align="center" prop="formType" width="200">
|
<el-table-column label="表单信息" align="center" prop="formType" width="200">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button v-if="scope.row.formId" type="text" @click="handleFormDetail(scope.row)">
|
<el-button v-if="scope.row.formId" type="text" @click="handleFormDetail(scope.row)">
|
||||||
<span>{{ scope.row.formName }}</span>
|
<span>{{ scope.row.formName }}</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -63,31 +63,31 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="最新部署的流程定义" align="center">
|
<el-table-column label="最新部署的流程定义" align="center">
|
||||||
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
|
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-tag size="medium" v-if="scope.row.processDefinition">v{{ scope.row.processDefinition.version }}</el-tag>
|
<el-tag size="medium" v-if="scope.row.processDefinition">v{{ scope.row.processDefinition.version }}</el-tag>
|
||||||
<el-tag size="medium" type="warning" v-else>未部署</el-tag>
|
<el-tag size="medium" type="warning" v-else>未部署</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="激活状态" align="center" prop="processDefinition.version" width="80">
|
<el-table-column label="激活状态" align="center" prop="processDefinition.version" width="80">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-switch v-if="scope.row.processDefinition" v-model="scope.row.processDefinition.suspensionState"
|
<el-switch v-if="scope.row.processDefinition" v-model="scope.row.processDefinition.suspensionState"
|
||||||
:active-value="1" :inactive-value="2" @change="handleChangeState(scope.row)" />
|
:active-value="1" :inactive-value="2" @change="handleChangeState(scope.row)" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="部署时间" align="center" prop="deploymentTime" width="180">
|
<el-table-column label="部署时间" align="center" prop="deploymentTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span v-if="scope.row.processDefinition">{{ parseTime(scope.row.processDefinition.deploymentTime) }}</span>
|
<span v-if="scope.row.processDefinition">{{ parseTime(scope.row.processDefinition.deploymentTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="450" fixed="right">
|
<el-table-column label="操作" align="center" width="450" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['bpm:model:update']">修改流程</el-button>
|
v-hasPermi="['bpm:model:update']">修改流程</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-setting" @click="handleDesign(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-setting" @click="handleDesign(scope.row)"
|
||||||
|
@ -41,33 +41,33 @@
|
|||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list">
|
||||||
<el-table-column label="申请编号" align="center" prop="id" />
|
<el-table-column label="申请编号" align="center" prop="id" />
|
||||||
<el-table-column label="状态" align="center" prop="result">
|
<el-table-column label="状态" align="center" prop="result">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
|
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
|
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.startTime) }}</span>
|
<span>{{ parseTime(scope.row.startTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="结束时间" align="center" prop="endTime" width="180">
|
<el-table-column label="结束时间" align="center" prop="endTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.endTime) }}</span>
|
<span>{{ parseTime(scope.row.endTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="请假类型" align="center" prop="type">
|
<el-table-column label="请假类型" align="center" prop="type">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_OA_LEAVE_TYPE" :value="scope.row.type"/>
|
<dict-tag :type="DICT_TYPE.BPM_OA_LEAVE_TYPE" :value="scope.row.type"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="原因" align="center" prop="reason" />
|
<el-table-column label="原因" align="center" prop="reason" />
|
||||||
<el-table-column label="申请时间" align="center" prop="applyTime" width="180">
|
<el-table-column label="申请时间" align="center" prop="applyTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleCancel(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleCancel(scope.row)"
|
||||||
v-hasPermi="['bpm:oa-leave:create']" v-if="scope.row.result === 1">取消请假</el-button>
|
v-hasPermi="['bpm:oa-leave:create']" v-if="scope.row.result === 1">取消请假</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)"
|
||||||
@ -159,7 +159,7 @@ export default {
|
|||||||
type: 'warning',
|
type: 'warning',
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/, // 判断非空,且非空格
|
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
|
||||||
inputErrorMessage: "取消原因不能为空",
|
inputErrorMessage: "取消原因不能为空",
|
||||||
}).then(({ value }) => {
|
}).then(({ value }) => {
|
||||||
return cancelProcessInstance(id, value);
|
return cancelProcessInstance(id, value);
|
||||||
|
@ -4,25 +4,25 @@
|
|||||||
<div v-if="!selectProcessInstance">
|
<div v-if="!selectProcessInstance">
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list">
|
||||||
<el-table-column label="流程名称" align="center" prop="name" width="200">
|
<el-table-column label="流程名称" align="center" prop="name" width="200">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" @click="handleBpmnDetail(scope.row)">
|
<el-button type="text" @click="handleBpmnDetail(scope.row)">
|
||||||
<span>{{ scope.row.name }}</span>
|
<span>{{ scope.row.name }}</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="流程分类" align="center" prop="category" width="100">
|
<el-table-column label="流程分类" align="center" prop="category" width="100">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
|
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-tag size="medium" v-if="scope.row">v{{ scope.row.version }}</el-tag>
|
<el-tag size="medium" v-if="scope.row">v{{ scope.row.version }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="流程描述" align="center" prop="description" width="300" show-overflow-tooltip />
|
<el-table-column label="流程描述" align="center" prop="description" width="300" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" size="small" icon="el-icon-plus" @click="handleSelect(scope.row)">选择</el-button>
|
<el-button type="text" size="small" icon="el-icon-plus" @click="handleSelect(scope.row)">选择</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -110,8 +110,8 @@ import {DICT_TYPE, getDictDatas} from "@/utils/dict";
|
|||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
import {decodeFields} from "@/utils/formGenerator";
|
import {decodeFields} from "@/utils/formGenerator";
|
||||||
import Parser from '@/components/parser/Parser'
|
import Parser from '@/components/parser/Parser'
|
||||||
import {createProcessInstance, getProcessInstance} from "@/api/bpm/processInstance";
|
import {getProcessInstance} from "@/api/bpm/processInstance";
|
||||||
import {approveTask, getTaskListByProcessInstanceId, rejectTask, updateTaskAssignee,backTask} from "@/api/bpm/task";
|
import {approveTask, getTaskListByProcessInstanceId, rejectTask, updateTaskAssignee} from "@/api/bpm/task";
|
||||||
import {getDate} from "@/utils/dateUtils";
|
import {getDate} from "@/utils/dateUtils";
|
||||||
import {listSimpleUsers} from "@/api/system/user";
|
import {listSimpleUsers} from "@/api/system/user";
|
||||||
import {getActivityList} from "@/api/bpm/activity";
|
import {getActivityList} from "@/api/bpm/activity";
|
||||||
|
@ -52,39 +52,39 @@
|
|||||||
<el-table-column label="编号" align="center" prop="id" width="320" />
|
<el-table-column label="编号" align="center" prop="id" width="320" />
|
||||||
<el-table-column label="流程名" align="center" prop="name" />
|
<el-table-column label="流程名" align="center" prop="name" />
|
||||||
<el-table-column label="流程分类" align="center" prop="category">
|
<el-table-column label="流程分类" align="center" prop="category">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="当前审批任务" align="center" prop="tasks">
|
<el-table-column label="当前审批任务" align="center" prop="tasks">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button v-for="task in scope.row.tasks" :key="task.id" type="text" @click="handleFormDetail(task.id)">
|
<el-button v-for="task in scope.row.tasks" :key="task.id" type="text" @click="handleFormDetail(task.id)">
|
||||||
<span>{{ task.name }}</span>
|
<span>{{ task.name }}</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<el-table-column label="状态" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS" :value="scope.row.status" />
|
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS" :value="scope.row.status" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="结果" align="center" prop="result">
|
<el-table-column label="结果" align="center" prop="result">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
|
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="提交时间" align="center" prop="createTime" width="180">
|
<el-table-column label="提交时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="结束时间" align="center" prop="createTime" width="180">
|
<el-table-column label="结束时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.endTime) }}</span>
|
<span>{{ parseTime(scope.row.endTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" size="small" icon="el-icon-delete" v-if="scope.row.result === 1"
|
<el-button type="text" size="small" icon="el-icon-delete" v-if="scope.row.result === 1"
|
||||||
v-hasPermi="['bpm:process-instance:cancel']" @click="handleCancel(scope.row)">取消</el-button>
|
v-hasPermi="['bpm:process-instance:cancel']" @click="handleCancel(scope.row)">取消</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
|
||||||
@ -164,7 +164,7 @@ export default {
|
|||||||
type: 'warning',
|
type: 'warning',
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/, // 判断非空,且非空格
|
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
|
||||||
inputErrorMessage: "取消原因不能为空",
|
inputErrorMessage: "取消原因不能为空",
|
||||||
}).then(({ value }) => {
|
}).then(({ value }) => {
|
||||||
return cancelProcessInstance(id, value);
|
return cancelProcessInstance(id, value);
|
||||||
|
@ -24,28 +24,28 @@
|
|||||||
<el-table-column label="所属流程" align="center" prop="processInstance.name" width="200" />
|
<el-table-column label="所属流程" align="center" prop="processInstance.name" width="200" />
|
||||||
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" width="120" />
|
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" width="120" />
|
||||||
<el-table-column label="结果" align="center" prop="result">
|
<el-table-column label="结果" align="center" prop="result">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
|
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="审批意见" align="center" prop="reason" width="200" />
|
<el-table-column label="审批意见" align="center" prop="reason" width="200" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="审批时间" align="center" prop="endTime" width="180">
|
<el-table-column label="审批时间" align="center" prop="endTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.endTime) }}</span>
|
<span>{{ parseTime(scope.row.endTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="耗时" align="center" prop="durationInMillis" width="180">
|
<el-table-column label="耗时" align="center" prop="durationInMillis" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ getDateStar(scope.row.durationInMillis) }}</span>
|
<span>{{ getDateStar(scope.row.durationInMillis) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
|
||||||
v-hasPermi="['bpm:task:query']">详情</el-button>
|
v-hasPermi="['bpm:task:query']">详情</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -24,18 +24,18 @@
|
|||||||
<el-table-column label="所属流程" align="center" prop="processInstance.name" />
|
<el-table-column label="所属流程" align="center" prop="processInstance.name" />
|
||||||
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" />
|
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" align="center" prop="version" width="80">
|
<el-table-column label="状态" align="center" prop="version" width="80">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
|
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
|
||||||
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
|
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
|
||||||
v-hasPermi="['bpm:task:update']">审批</el-button>
|
v-hasPermi="['bpm:task:update']">审批</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -50,7 +50,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getTodoTaskPage} from '@/api/bpm/task'
|
import {getTodoTaskPage} from '@/api/bpm/task'
|
||||||
import {listSimpleUsers} from "@/api/system/user";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Todo",
|
name: "Todo",
|
||||||
|
@ -6,19 +6,19 @@
|
|||||||
<el-table-column label="任务名" align="center" prop="taskDefinitionName" width="120" fixed />
|
<el-table-column label="任务名" align="center" prop="taskDefinitionName" width="120" fixed />
|
||||||
<el-table-column label="任务标识" align="center" prop="taskDefinitionKey" width="120" show-tooltip-when-overflow />
|
<el-table-column label="任务标识" align="center" prop="taskDefinitionKey" width="120" show-tooltip-when-overflow />
|
||||||
<el-table-column label="规则类型" align="center" prop="type" width="120">
|
<el-table-column label="规则类型" align="center" prop="type" width="120">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.BPM_TASK_ASSIGN_RULE_TYPE" :value="scope.row.type" />
|
<dict-tag :type="DICT_TYPE.BPM_TASK_ASSIGN_RULE_TYPE" :value="scope.row.type" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="规则范围" align="center" prop="options" width="440px">
|
<el-table-column label="规则范围" align="center" prop="options" width="440px">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-tag size="medium" v-if="scope.row.options" :key="option" v-for="option in scope.row.options">
|
<el-tag size="medium" v-if="scope.row.options" :key="option" v-for="option in scope.row.options">
|
||||||
{{ getAssignRuleOptionName(scope.row.type, option) }}
|
{{ getAssignRuleOptionName(scope.row.type, option) }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="modelId" label="操作" align="center" width="80" fixed="right">
|
<el-table-column v-if="modelId" label="操作" align="center" width="80" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdateTaskAssignRule(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdateTaskAssignRule(scope.row)"
|
||||||
v-hasPermi="['bpm:task-assign-rule:update']">修改</el-button>
|
v-hasPermi="['bpm:task-assign-rule:update']">修改</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -143,8 +143,7 @@ export default {
|
|||||||
.card-panel-description {
|
.card-panel-description {
|
||||||
float: right;
|
float: right;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin: 26px;
|
margin: 26px 26px 26px 0;
|
||||||
margin-left: 0px;
|
|
||||||
|
|
||||||
.card-panel-text {
|
.card-panel-text {
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
|
@ -1,570 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="app-container home">
|
|
||||||
<el-row :gutter="20">
|
|
||||||
<el-col :sm="24" :lg="24">
|
|
||||||
<blockquote class="text-warning" style="font-size: 14px">
|
|
||||||
领取阿里云通用云产品1888优惠券
|
|
||||||
<br />
|
|
||||||
<el-link
|
|
||||||
href="https://www.aliyun.com/minisite/goods?userCode=brki8iof"
|
|
||||||
type="primary"
|
|
||||||
target="_blank"
|
|
||||||
>https://www.aliyun.com/minisite/goods?userCode=brki8iof</el-link
|
|
||||||
>
|
|
||||||
<br />
|
|
||||||
领取腾讯云通用云产品2860优惠券
|
|
||||||
<br />
|
|
||||||
<el-link
|
|
||||||
href="https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console"
|
|
||||||
type="primary"
|
|
||||||
target="_blank"
|
|
||||||
>https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console</el-link
|
|
||||||
>
|
|
||||||
<br />
|
|
||||||
阿里云服务器折扣区
|
|
||||||
<el-link href="http://aly.ruoyi.vip" type="primary" target="_blank"
|
|
||||||
>>☛☛点我进入☚☚</el-link
|
|
||||||
>
|
|
||||||
腾讯云服务器秒杀区
|
|
||||||
<el-link href="http://txy.ruoyi.vip" type="primary" target="_blank"
|
|
||||||
>>☛☛点我进入☚☚</el-link
|
|
||||||
><br />
|
|
||||||
<h4 class="text-danger">
|
|
||||||
云产品通用红包,可叠加官网常规优惠使用。(仅限新用户)
|
|
||||||
</h4>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="20">
|
|
||||||
<el-col :sm="24" :lg="12" style="padding-left: 20px">
|
|
||||||
<h2>芋道后台管理框架</h2>
|
|
||||||
<p>
|
|
||||||
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了芋道管理系统。,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<b>当前版本:</b> <span>v{{ version }}</span>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<el-tag type="danger">¥免费开源</el-tag>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
size="mini"
|
|
||||||
icon="el-icon-cloudy"
|
|
||||||
plain
|
|
||||||
@click="goTarget('https://gitee.com/zhijiantianya/ruoyi-vue-pro')"
|
|
||||||
>访问码云</el-button
|
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
icon="el-icon-s-home"
|
|
||||||
plain
|
|
||||||
@click="goTarget('http://ruoyi.vip')"
|
|
||||||
>访问主页</el-button
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :sm="24" :lg="12" style="padding-left: 50px">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<h2>技术选型</h2>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="6">
|
|
||||||
<h4>后端技术</h4>
|
|
||||||
<ul>
|
|
||||||
<li>SpringBoot</li>
|
|
||||||
<li>Spring Security</li>
|
|
||||||
<li>JWT</li>
|
|
||||||
<li>MyBatis</li>
|
|
||||||
<li>Druid</li>
|
|
||||||
<li>Fastjson</li>
|
|
||||||
<li>...</li>
|
|
||||||
</ul>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<h4>前端技术</h4>
|
|
||||||
<ul>
|
|
||||||
<li>Vue</li>
|
|
||||||
<li>Vuex</li>
|
|
||||||
<li>Element-ui</li>
|
|
||||||
<li>Axios</li>
|
|
||||||
<li>Sass</li>
|
|
||||||
<li>Quill</li>
|
|
||||||
<li>...</li>
|
|
||||||
</ul>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-divider />
|
|
||||||
<el-row :gutter="20">
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8">
|
|
||||||
<el-card class="update-log">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>联系信息</span>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-s-promotion"></i> 官网:<el-link
|
|
||||||
href="http://www.ruoyi.vip"
|
|
||||||
target="_blank"
|
|
||||||
>http://www.ruoyi.vip</el-link
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-user-solid"></i> QQ群:<s>满937441</s>
|
|
||||||
<s>满887144332</s> <s>满180251782</s>
|
|
||||||
<a href="https://jq.qq.com/?_wv=1027&k=4WWwqNxN" target="_blank"
|
|
||||||
> 104180207</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-chat-dot-round"></i> 微信:<a
|
|
||||||
href="javascript:;"
|
|
||||||
>/ *芋道</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-money"></i> 支付宝:<a
|
|
||||||
href="javascript:;"
|
|
||||||
class="支付宝信息"
|
|
||||||
>/ *芋道</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8">
|
|
||||||
<el-card class="update-log">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>更新日志</span>
|
|
||||||
</div>
|
|
||||||
<el-collapse accordion>
|
|
||||||
<el-collapse-item title="v3.3.0 - 2020-12-14">
|
|
||||||
<ol>
|
|
||||||
<li>新增缓存监控功能</li>
|
|
||||||
<li>支持主题风格配置</li>
|
|
||||||
<li>修复多级菜单之间切换无法缓存的问题</li>
|
|
||||||
<li>多级菜单自动配置组件</li>
|
|
||||||
<li>代码生成预览支持高亮显示</li>
|
|
||||||
<li>支持Get请求映射Params参数</li>
|
|
||||||
<li>删除用户和角色解绑关联</li>
|
|
||||||
<li>去除用户手机邮箱部门必填验证</li>
|
|
||||||
<li>Excel支持注解align对齐方式</li>
|
|
||||||
<li>Excel支持导入Boolean型数据</li>
|
|
||||||
<li>优化头像样式,鼠标移入悬停遮罩</li>
|
|
||||||
<li>代码生成预览提供滚动机制</li>
|
|
||||||
<li>代码生成删除多余的数字float类型</li>
|
|
||||||
<li>修正转换字符串的目标字符集属性</li>
|
|
||||||
<li>回显数据字典防止空值报错</li>
|
|
||||||
<li>日志记录增加过滤多文件场景</li>
|
|
||||||
<li>修改缓存Set方法可能导致嵌套的问题</li>
|
|
||||||
<li>移除前端一些多余的依赖</li>
|
|
||||||
<li>防止安全扫描YUI出现的风险提示</li>
|
|
||||||
<li>修改node-sass为dart-sass</li>
|
|
||||||
<li>升级SpringBoot到最新版本2.1.18</li>
|
|
||||||
<li>升级poi到最新版本4.1.2</li>
|
|
||||||
<li>升级oshi到最新版本v5.3.6</li>
|
|
||||||
<li>升级bitwalker到最新版本1.21</li>
|
|
||||||
<li>升级axios到最新版本0.21.0</li>
|
|
||||||
<li>升级element-ui到最新版本2.14.1</li>
|
|
||||||
<li>升级vue到最新版本2.6.12</li>
|
|
||||||
<li>升级vuex到最新版本3.6.0</li>
|
|
||||||
<li>升级vue-cli到版本4.5.9</li>
|
|
||||||
<li>升级vue-router到最新版本3.4.9</li>
|
|
||||||
<li>升级vue-cli到最新版本4.4.6</li>
|
|
||||||
<li>升级vue-cropper到最新版本0.5.5</li>
|
|
||||||
<li>升级clipboard到最新版本2.0.6</li>
|
|
||||||
<li>升级core-js到最新版本3.8.1</li>
|
|
||||||
<li>升级echarts到最新版本4.9.0</li>
|
|
||||||
<li>升级file-saver到最新版本2.0.4</li>
|
|
||||||
<li>升级fuse.js到最新版本6.4.3</li>
|
|
||||||
<li>升级js-beautify到最新版本1.13.0</li>
|
|
||||||
<li>升级js-cookie到最新版本2.2.1</li>
|
|
||||||
<li>升级path-to-regexp到最新版本6.2.0</li>
|
|
||||||
<li>升级quill到最新版本1.3.7</li>
|
|
||||||
<li>升级screenfull到最新版本5.0.2</li>
|
|
||||||
<li>升级sortablejs到最新版本1.10.2</li>
|
|
||||||
<li>升级vuedraggable到最新版本2.24.3</li>
|
|
||||||
<li>升级chalk到最新版本4.1.0</li>
|
|
||||||
<li>升级eslint到最新版本7.15.0</li>
|
|
||||||
<li>升级eslint-plugin-vue到最新版本7.2.0</li>
|
|
||||||
<li>升级lint-staged到最新版本10.5.3</li>
|
|
||||||
<li>升级runjs到最新版本4.4.2</li>
|
|
||||||
<li>升级sass-loader到最新版本10.1.0</li>
|
|
||||||
<li>升级script-ext-html-webpack-plugin到最新版本2.1.5</li>
|
|
||||||
<li>升级svg-sprite-loader到最新版本5.1.1</li>
|
|
||||||
<li>升级vue-template-compiler到最新版本2.6.12</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v3.2.1 - 2020-11-18">
|
|
||||||
<ol>
|
|
||||||
<li>阻止任意文件下载漏洞</li>
|
|
||||||
<li>代码生成支持上传控件</li>
|
|
||||||
<li>新增图片上传组件</li>
|
|
||||||
<li>调整默认首页</li>
|
|
||||||
<li>升级druid到最新版本v1.2.2</li>
|
|
||||||
<li>mapperLocations配置支持分隔符</li>
|
|
||||||
<li>权限信息调整</li>
|
|
||||||
<li>调整sql默认时间</li>
|
|
||||||
<li>解决代码生成没有bit类型的问题</li>
|
|
||||||
<li>升级pagehelper到最新版1.3.0</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v3.2.0 - 2020-10-10">
|
|
||||||
<ol>
|
|
||||||
<li>升级springboot版本到2.1.17 提升安全性</li>
|
|
||||||
<li>升级oshi到最新版本v5.2.5</li>
|
|
||||||
<li>升级druid到最新版本v1.2.1</li>
|
|
||||||
<li>升级jjwt到版本0.9.1</li>
|
|
||||||
<li>升级fastjson到最新版1.2.74</li>
|
|
||||||
<li>修改sass为node-sass,避免el-icon图标乱码</li>
|
|
||||||
<li>代码生成支持同步数据库</li>
|
|
||||||
<li>代码生成支持富文本控件</li>
|
|
||||||
<li>代码生成页面时不忽略remark属性</li>
|
|
||||||
<li>代码生成添加select必填选项</li>
|
|
||||||
<li>Excel导出类型NUMERIC支持精度浮点类型</li>
|
|
||||||
<li>Excel导出targetAttr优化获取值,防止get方法不规范</li>
|
|
||||||
<li>Excel注解支持自动统计数据总和</li>
|
|
||||||
<li>Excel注解支持设置BigDecimal精度&舍入规则</li>
|
|
||||||
<li>菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)</li>
|
|
||||||
<li>允许用户分配到部门父节点</li>
|
|
||||||
<li>菜单新增是否缓存keep-alive</li>
|
|
||||||
<li>表格操作列间距调整</li>
|
|
||||||
<li>限制系统内置参数不允许删除</li>
|
|
||||||
<li>富文本组件优化,支持自定义高度&图片冲突问题</li>
|
|
||||||
<li>富文本工具栏样式对齐</li>
|
|
||||||
<li>导入excel整形值校验优化</li>
|
|
||||||
<li>修复页签关闭所有时固定标签路由不刷新问题</li>
|
|
||||||
<li>表单构建布局型组件新增按钮</li>
|
|
||||||
<li>左侧菜单文字过长显示省略号</li>
|
|
||||||
<li>修正根节点为子部门时,树状结构显示问题</li>
|
|
||||||
<li>修正调用目标字符串最大长度</li>
|
|
||||||
<li>修正菜单提示信息错误</li>
|
|
||||||
<li>修正定时任务执行一次权限标识</li>
|
|
||||||
<li>修正数据库字符串类型nvarchar</li>
|
|
||||||
<li>优化递归子节点</li>
|
|
||||||
<li>优化数据权限判断</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v3.1.0 - 2020-08-13">
|
|
||||||
<ol>
|
|
||||||
<li>表格工具栏右侧添加刷新&显隐查询组件</li>
|
|
||||||
<li>后端支持CORS跨域请求</li>
|
|
||||||
<li>代码生成支持选择上级菜单</li>
|
|
||||||
<li>代码生成支持自定义路径</li>
|
|
||||||
<li>代码生成支持复选框</li>
|
|
||||||
<li>Excel导出导入支持dictType字典类型</li>
|
|
||||||
<li>Excel支持分割字符串组内容</li>
|
|
||||||
<li>验证码类型支持(数组计算、字符验证)</li>
|
|
||||||
<li>升级vue-cli版本到4.4.4</li>
|
|
||||||
<li>修改 node-sass 为 dart-sass</li>
|
|
||||||
<li>表单类型为Integer/Long设置整形默认值</li>
|
|
||||||
<li>代码生成器默认mapper路径与默认mapperScan路径不一致</li>
|
|
||||||
<li>优化防重复提交拦截器</li>
|
|
||||||
<li>优化上级菜单不能选择自己</li>
|
|
||||||
<li>修复角色的权限分配后,未实时生效问题</li>
|
|
||||||
<li>修复在线用户日志记录类型</li>
|
|
||||||
<li>修复富文本空格和缩进保存后不生效问题</li>
|
|
||||||
<li>修复在线用户判断逻辑</li>
|
|
||||||
<li>唯一限制条件只返回单条数据</li>
|
|
||||||
<li>添加获取当前的环境配置方法</li>
|
|
||||||
<li>超时登录后页面跳转到首页</li>
|
|
||||||
<li>全局异常状态汉化拦截处理</li>
|
|
||||||
<li>HTML过滤器改为将html转义</li>
|
|
||||||
<li>检查字符支持小数点&降级改成异常提醒</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v3.0.0 - 2020-07-20">
|
|
||||||
<ol>
|
|
||||||
<li>单应用调整为多模块项目</li>
|
|
||||||
<li>升级element-ui版本到2.13.2</li>
|
|
||||||
<li>删除babel,提高编译速度。</li>
|
|
||||||
<li>新增菜单默认主类目</li>
|
|
||||||
<li>编码文件名修改为uuid方式</li>
|
|
||||||
<li>定时任务cron表达式验证</li>
|
|
||||||
<li>角色权限修改时已有权限未自动勾选异常修复</li>
|
|
||||||
<li>防止切换权限用户后登录出现404</li>
|
|
||||||
<li>Excel支持sort导出排序</li>
|
|
||||||
<li>创建用户不允许选择超级管理员角色</li>
|
|
||||||
<li>修复代码生成导入表结构出现异常页面不提醒问题</li>
|
|
||||||
<li>修复代码生成点击多次表修改数据不变化的问题</li>
|
|
||||||
<li>修复头像上传成功二次打开无法改变裁剪框大小和位置问题</li>
|
|
||||||
<li>修复布局为small者mini用户表单显示错位问题</li>
|
|
||||||
<li>修复热部署导致的强换异常问题</li>
|
|
||||||
<li>修改用户管理复选框宽度,防止部分浏览器出现省略号</li>
|
|
||||||
<li>IpUtils工具,清除Xss特殊字符,防止Xff注入攻击</li>
|
|
||||||
<li>生成domain 如果是浮点型 统一用BigDecimal</li>
|
|
||||||
<li>定时任务调整label-width,防止部署出现错位</li>
|
|
||||||
<li>调整表头固定列默认样式</li>
|
|
||||||
<li>代码生成模板调整,字段为String并且必填则加空串条件</li>
|
|
||||||
<li>代码生成字典Integer/Long使用parseInt</li>
|
|
||||||
<li>
|
|
||||||
修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序
|
|
||||||
</li>
|
|
||||||
<li>修正岗位导出权限注解</li>
|
|
||||||
<li>禁止加密密文返回前端</li>
|
|
||||||
<li>修复代码生成页面中的查询条件创建时间未生效的问题</li>
|
|
||||||
<li>修复首页搜索菜单外链无法点击跳转问题</li>
|
|
||||||
<li>修复菜单管理选择图标,backspace删除时不过滤数据</li>
|
|
||||||
<li>用户管理部门分支节点不可检查&显示计数</li>
|
|
||||||
<li>数据范围过滤属性调整</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.3.0 - 2020-06-01">
|
|
||||||
<ol>
|
|
||||||
<li>升级fastjson到最新版1.2.70 修复高危安全漏洞</li>
|
|
||||||
<li>dev启动默认打开浏览器</li>
|
|
||||||
<li>vue-cli使用默认source-map</li>
|
|
||||||
<li>slidebar eslint报错优化</li>
|
|
||||||
<li>当tags-view滚动关闭右键菜单</li>
|
|
||||||
<li>字典管理添加缓存读取</li>
|
|
||||||
<li>参数管理支持缓存操作</li>
|
|
||||||
<li>支持一级菜单(和主页同级)在main区域显示</li>
|
|
||||||
<li>限制外链地址必须以http(s)开头</li>
|
|
||||||
<li>tagview & sidebar 主题颜色与element ui(全局)同步</li>
|
|
||||||
<li>修改数据源类型优先级,先根据方法,再根据类</li>
|
|
||||||
<li>支持是否需要设置token属性,自定义返回码消息。</li>
|
|
||||||
<li>swagger请求前缀加入配置。</li>
|
|
||||||
<li>登录地点设置内容过长则隐藏显示</li>
|
|
||||||
<li>修复定时任务执行一次按钮后不提示消息问题</li>
|
|
||||||
<li>修改上级部门(选择项排除本身和下级)</li>
|
|
||||||
<li>通用http发送方法增加参数 contentType 编码类型</li>
|
|
||||||
<li>更换IP地址查询接口</li>
|
|
||||||
<li>修复页签变量undefined</li>
|
|
||||||
<li>添加校验部门包含未停用的子部门</li>
|
|
||||||
<li>修改定时任务详情下次执行时间日期显示错误</li>
|
|
||||||
<li>角色管理查询设置默认排序字段</li>
|
|
||||||
<li>swagger添加enable参数控制是否启用</li>
|
|
||||||
<li>只对json类型请求构建可重复读取inputStream的request</li>
|
|
||||||
<li>修改代码生成字典字段int类型没有自动选中问题</li>
|
|
||||||
<li>vuex用户名取值修正</li>
|
|
||||||
<li>表格树模板去掉多余的)</li>
|
|
||||||
<li>代码生成序号修正</li>
|
|
||||||
<li>全屏情况下不调整上外边距</li>
|
|
||||||
<li>代码生成Date字段添加默认格式</li>
|
|
||||||
<li>用户管理角色选择权限控制</li>
|
|
||||||
<li>修复路由懒加载报错问题</li>
|
|
||||||
<li>模板sql.vm添加菜单状态</li>
|
|
||||||
<li>设置用户名称不能修改</li>
|
|
||||||
<li>dialog添加append-to-body属性,防止ie遮罩</li>
|
|
||||||
<li>菜单区分状态和显示隐藏功能</li>
|
|
||||||
<li>升级fastjson到最新版1.2.68 修复安全加固</li>
|
|
||||||
<li>修复代码生成如果选择字典类型缺失逗号问题</li>
|
|
||||||
<li>登录请求params更换为data,防止暴露url</li>
|
|
||||||
<li>日志返回时间格式处理</li>
|
|
||||||
<li>添加handle控制允许拖动的元素</li>
|
|
||||||
<li>布局设置点击扩大范围</li>
|
|
||||||
<li>代码生成列属性排序查询</li>
|
|
||||||
<li>代码生成列支持拖动排序</li>
|
|
||||||
<li>修复时间格式不支持ios问题</li>
|
|
||||||
<li>表单构建添加父级class,防止冲突</li>
|
|
||||||
<li>定时任务并发属性修正</li>
|
|
||||||
<li>角色禁用&菜单隐藏不查询权限</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.2.0 - 2020-03-18">
|
|
||||||
<ol>
|
|
||||||
<li>系统监控新增定时任务功能</li>
|
|
||||||
<li>添加一个打包Web工程bat</li>
|
|
||||||
<li>修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag</li>
|
|
||||||
<li>修复点击退出登录有时会无提示问题</li>
|
|
||||||
<li>修复防重复提交注解无效问题</li>
|
|
||||||
<li>修复通知公告批量删除异常问题</li>
|
|
||||||
<li>添加菜单时路由地址必填限制</li>
|
|
||||||
<li>代码生成字段描述可编辑</li>
|
|
||||||
<li>修复用户修改个人信息导致缓存不过期问题</li>
|
|
||||||
<li>个人信息创建时间获取正确属性值</li>
|
|
||||||
<li>操作日志详细显示正确类型</li>
|
|
||||||
<li>导入表单击行数据时选中对应的复选框</li>
|
|
||||||
<li>批量替换表前缀逻辑调整</li>
|
|
||||||
<li>固定重定向路径表达式</li>
|
|
||||||
<li>升级element-ui版本到2.13.0</li>
|
|
||||||
<li>操作日志排序调整</li>
|
|
||||||
<li>修复charts切换侧边栏或者缩放窗口显示bug</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.1.0 - 2020-02-24">
|
|
||||||
<ol>
|
|
||||||
<li>新增表单构建</li>
|
|
||||||
<li>代码生成支持树表结构</li>
|
|
||||||
<li>新增用户导入</li>
|
|
||||||
<li>修复动态加载路由页面刷新问题</li>
|
|
||||||
<li>修复地址开关无效问题</li>
|
|
||||||
<li>汉化错误提示页面</li>
|
|
||||||
<li>代码生成已知问题修改</li>
|
|
||||||
<li>修复多数据源下配置关闭出现异常处理</li>
|
|
||||||
<li>添加HTML过滤器,用于去除XSS漏洞隐患</li>
|
|
||||||
<li>修复上传头像控制台出现异常</li>
|
|
||||||
<li>修改用户管理分页不正确的问题</li>
|
|
||||||
<li>修复验证码记录提示错误</li>
|
|
||||||
<li>修复request.js缺少Message引用</li>
|
|
||||||
<li>修复表格时间为空出现的异常</li>
|
|
||||||
<li>添加Jackson日期反序列化时区配置</li>
|
|
||||||
<li>调整根据用户权限加载菜单数据树形结构</li>
|
|
||||||
<li>调整成功登录不恢复按钮,防止多次点击</li>
|
|
||||||
<li>修改用户个人资料同步缓存信息</li>
|
|
||||||
<li>修复页面同时出现el-upload和Editor不显示处理</li>
|
|
||||||
<li>修复在角色管理页修改菜单权限偶尔未选中问题</li>
|
|
||||||
<li>配置文件新增redis密码属性</li>
|
|
||||||
<li>设置mybatis全局的配置文件</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.0.0 - 2019-12-02">
|
|
||||||
<ol>
|
|
||||||
<li>新增代码生成</li>
|
|
||||||
<li>新增@RepeatSubmit注解,防止重复提交</li>
|
|
||||||
<li>新增菜单主目录添加/删除操作</li>
|
|
||||||
<li>日志记录过滤特殊对象,防止转换异常</li>
|
|
||||||
<li>修改代码生成路由脚本错误</li>
|
|
||||||
<li>用户上传头像实时同步缓存,无需重新登录</li>
|
|
||||||
<li>调整切换页签后不重新加载数据</li>
|
|
||||||
<li>添加jsencrypt实现参数的前端加密</li>
|
|
||||||
<li>系统退出删除用户缓存记录</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v1.1.0 - 2019-11-11">
|
|
||||||
<ol>
|
|
||||||
<li>新增在线用户管理</li>
|
|
||||||
<li>新增按钮组功能实现(批量删除、导出、清空)</li>
|
|
||||||
<li>新增查询条件重置按钮</li>
|
|
||||||
<li>新增Swagger全局Token配置</li>
|
|
||||||
<li>新增后端参数校验</li>
|
|
||||||
<li>修复字典管理页面的日期查询异常</li>
|
|
||||||
<li>修改时间函数命名防止冲突</li>
|
|
||||||
<li>去除菜单上级校验,默认为顶级</li>
|
|
||||||
<li>修复用户密码无法修改问题</li>
|
|
||||||
<li>修复菜单类型为按钮时不显示权限标识</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v1.0.0 - 2019-10-08">
|
|
||||||
<ol>
|
|
||||||
<li>芋道前后端分离系统正式发布</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
</el-collapse>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8">
|
|
||||||
<el-card class="update-log">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>捐赠支持</span>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<img
|
|
||||||
src="https://oscimg.oschina.net/oscnet/up-d6695f82666e5018f715c41cb7ee60d3b73.png"
|
|
||||||
alt="donate"
|
|
||||||
width="100%"
|
|
||||||
/>
|
|
||||||
<span style="display: inline-block; height: 30px; line-height: 30px"
|
|
||||||
>你可以请作者喝杯咖啡表示鼓励</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: "Index",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
// 版本号
|
|
||||||
version: "3.3.0",
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
goTarget(href) {
|
|
||||||
window.open(href, "_blank");
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.home {
|
|
||||||
blockquote {
|
|
||||||
padding: 10px 20px;
|
|
||||||
margin: 0 0 20px;
|
|
||||||
font-size: 17.5px;
|
|
||||||
border-left: 5px solid #eee;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
margin-top: 20px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border: 0;
|
|
||||||
border-top: 1px solid #eee;
|
|
||||||
}
|
|
||||||
.col-item {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #676a6c;
|
|
||||||
overflow-x: hidden;
|
|
||||||
|
|
||||||
ul {
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
margin-top: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
margin-top: 10px;
|
|
||||||
font-size: 26px;
|
|
||||||
font-weight: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin-top: 10px;
|
|
||||||
|
|
||||||
b {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.update-log {
|
|
||||||
ol {
|
|
||||||
display: block;
|
|
||||||
list-style-type: decimal;
|
|
||||||
margin-block-start: 1em;
|
|
||||||
margin-block-end: 1em;
|
|
||||||
margin-inline-start: 0;
|
|
||||||
margin-inline-end: 0;
|
|
||||||
padding-inline-start: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -48,7 +48,7 @@
|
|||||||
<el-table-column label="日志编号" align="center" prop="id" />
|
<el-table-column label="日志编号" align="center" prop="id" />
|
||||||
<el-table-column label="用户编号" align="center" prop="userId" />
|
<el-table-column label="用户编号" align="center" prop="userId" />
|
||||||
<el-table-column label="用户类型" align="center" prop="userType">
|
<el-table-column label="用户类型" align="center" prop="userType">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.USER_TYPE" :value="scope.row.userType"/>
|
<dict-tag :type="DICT_TYPE.USER_TYPE" :value="scope.row.userType"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>>
|
</el-table-column>>
|
||||||
@ -56,22 +56,22 @@
|
|||||||
<el-table-column label="请求方法名" align="center" prop="requestMethod" />
|
<el-table-column label="请求方法名" align="center" prop="requestMethod" />
|
||||||
<el-table-column label="请求地址" align="center" prop="requestUrl" width="250" />
|
<el-table-column label="请求地址" align="center" prop="requestUrl" width="250" />
|
||||||
<el-table-column label="请求时间" align="center" prop="beginTime" width="180">
|
<el-table-column label="请求时间" align="center" prop="beginTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.beginTime) }}</span>
|
<span>{{ parseTime(scope.row.beginTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="执行时长" align="center" prop="startTime">
|
<el-table-column label="执行时长" align="center" prop="startTime">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ scope.row.duration }} ms</span>
|
<span>{{ scope.row.duration }} ms</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作结果" align="center" prop="status">
|
<el-table-column label="操作结果" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ scope.row.resultCode === 0 ? '成功' : '失败(' + scope.row.resultMsg + ')' }}</span>
|
<span>{{ scope.row.resultCode === 0 ? '成功' : '失败(' + scope.row.resultMsg + ')' }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row,scope.index)"
|
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row,scope.index)"
|
||||||
v-hasPermi="['infra:api-access-log:query']">详细</el-button>
|
v-hasPermi="['infra:api-access-log:query']">详细</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
<el-table-column label="日志编号" align="center" prop="id" />
|
<el-table-column label="日志编号" align="center" prop="id" />
|
||||||
<el-table-column label="用户编号" align="center" prop="userId" />
|
<el-table-column label="用户编号" align="center" prop="userId" />
|
||||||
<el-table-column label="用户类型" align="center" prop="userType">
|
<el-table-column label="用户类型" align="center" prop="userType">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.USER_TYPE" :value="scope.row.userType"/>
|
<dict-tag :type="DICT_TYPE.USER_TYPE" :value="scope.row.userType"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>>
|
</el-table-column>>
|
||||||
@ -56,18 +56,18 @@
|
|||||||
<el-table-column label="请求方法名" align="center" prop="requestMethod" />
|
<el-table-column label="请求方法名" align="center" prop="requestMethod" />
|
||||||
<el-table-column label="请求地址" align="center" prop="requestUrl" width="250" />
|
<el-table-column label="请求地址" align="center" prop="requestUrl" width="250" />
|
||||||
<el-table-column label="异常发生时间" align="center" prop="exceptionTime" width="180">
|
<el-table-column label="异常发生时间" align="center" prop="exceptionTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.exceptionTime) }}</span>
|
<span>{{ parseTime(scope.row.exceptionTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="异常名" align="center" prop="exceptionName" width="250" />
|
<el-table-column label="异常名" align="center" prop="exceptionName" width="250" />
|
||||||
<el-table-column label="处理状态" align="center" prop="processStatus">
|
<el-table-column label="处理状态" align="center" prop="processStatus">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.INFRA_API_ERROR_LOG_PROCESS_STATUS" :value="scope.row.processStatus" />
|
<dict-tag :type="DICT_TYPE.INFRA_API_ERROR_LOG_PROCESS_STATUS" :value="scope.row.processStatus" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row,scope.index)"
|
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row,scope.index)"
|
||||||
v-hasPermi="['infra:api-access-log:query']">详细</el-button>
|
v-hasPermi="['infra:api-access-log:query']">详细</el-button>
|
||||||
<el-button type="text" size="mini" icon="el-icon-check"
|
<el-button type="text" size="mini" icon="el-icon-check"
|
||||||
|
@ -84,7 +84,7 @@ import {
|
|||||||
} from '@/components/generator/html'
|
} from '@/components/generator/html'
|
||||||
import { makeUpJs } from '@/components/generator/js'
|
import { makeUpJs } from '@/components/generator/js'
|
||||||
import { makeUpCss } from '@/components/generator/css'
|
import { makeUpCss } from '@/components/generator/css'
|
||||||
import { exportDefault, beautifierConf, titleCase } from '@/utils/index'
|
import { exportDefault, beautifierConf } from '@/utils'
|
||||||
import ResourceDialog from './ResourceDialog'
|
import ResourceDialog from './ResourceDialog'
|
||||||
import loadMonaco from '@/utils/loadMonaco'
|
import loadMonaco from '@/utils/loadMonaco'
|
||||||
import loadBeautifier from '@/utils/loadBeautifier'
|
import loadBeautifier from '@/utils/loadBeautifier'
|
||||||
@ -325,7 +325,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@include action-bar;
|
@include action-bar;
|
||||||
::v-deep .el-drawer__header {
|
:deep(.el-drawer__header) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -101,7 +101,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.icon-dialog {
|
.icon-dialog {
|
||||||
::v-deep .el-dialog {
|
:deep(.el-dialog) {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
margin-top: 4vh !important;
|
margin-top: 4vh !important;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { beautifierConf } from '@/utils/index'
|
import { beautifierConf } from '@/utils'
|
||||||
import ClipboardJS from 'clipboard'
|
import ClipboardJS from 'clipboard'
|
||||||
import { saveAs } from 'file-saver'
|
import { saveAs } from 'file-saver'
|
||||||
import loadMonaco from '@/utils/loadMonaco'
|
import loadMonaco from '@/utils/loadMonaco'
|
||||||
@ -133,7 +133,7 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/styles/mixin.scss';
|
@import '@/styles/mixin.scss';
|
||||||
|
|
||||||
::v-deep .el-drawer__header {
|
:deep(.el-drawer__header) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@include action-bar;
|
@include action-bar;
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { deepClone } from '@/utils/index'
|
import { deepClone } from '@/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
components: {},
|
||||||
|
@ -651,10 +651,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import { isArray } from 'util'
|
import { isArray } from 'util'
|
||||||
import TreeNodeDialog from './TreeNodeDialog'
|
import TreeNodeDialog from './TreeNodeDialog'
|
||||||
import { isNumberStr } from '@/utils/index'
|
import { isNumberStr } from '@/utils'
|
||||||
import IconsDialog from './IconsDialog'
|
import IconsDialog from './IconsDialog'
|
||||||
import {
|
import {
|
||||||
inputComponents, selectComponents, layoutComponents
|
inputComponents, selectComponents
|
||||||
} from '@/components/generator/config'
|
} from '@/components/generator/config'
|
||||||
import { saveFormConf } from '@/utils/db'
|
import { saveFormConf } from '@/utils/db'
|
||||||
|
|
||||||
@ -1021,7 +1021,7 @@ export default {
|
|||||||
.el-date-editor {
|
.el-date-editor {
|
||||||
width: 227px;
|
width: 227px;
|
||||||
}
|
}
|
||||||
::v-deep .el-icon-time {
|
:deep(.el-icon-time) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { isNumberStr } from '@/utils/index'
|
import { isNumberStr } from '@/utils'
|
||||||
import { getTreeNodeId, saveTreeNodeId } from '@/utils/db'
|
import { getTreeNodeId, saveTreeNodeId } from '@/utils/db'
|
||||||
|
|
||||||
const id = getTreeNodeId()
|
const id = getTreeNodeId()
|
||||||
|
@ -133,8 +133,8 @@ import {
|
|||||||
inputComponents, selectComponents, layoutComponents, formConf
|
inputComponents, selectComponents, layoutComponents, formConf
|
||||||
} from '@/components/generator/config'
|
} from '@/components/generator/config'
|
||||||
import {
|
import {
|
||||||
exportDefault, beautifierConf, isNumberStr, titleCase, deepClone
|
beautifierConf, titleCase, deepClone
|
||||||
} from '@/utils/index'
|
} from '@/utils'
|
||||||
import {
|
import {
|
||||||
makeUpHtml, vueTemplate, vueScript, cssStyle
|
makeUpHtml, vueTemplate, vueScript, cssStyle
|
||||||
} from '@/components/generator/html'
|
} from '@/components/generator/html'
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="字段描述" min-width="10%">
|
<el-table-column label="字段描述" min-width="10%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-input v-model="scope.row.columnComment"></el-input>
|
<el-input v-model="scope.row.columnComment"></el-input>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="Java类型" min-width="11%">
|
<el-table-column label="Java类型" min-width="11%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-select v-model="scope.row.javaType">
|
<el-select v-model="scope.row.javaType">
|
||||||
<el-option label="Long" value="Long" />
|
<el-option label="Long" value="Long" />
|
||||||
<el-option label="String" value="String" />
|
<el-option label="String" value="String" />
|
||||||
@ -37,32 +37,32 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="java属性" min-width="10%">
|
<el-table-column label="java属性" min-width="10%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-input v-model="scope.row.javaField"></el-input>
|
<el-input v-model="scope.row.javaField"></el-input>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="插入" min-width="4%">
|
<el-table-column label="插入" min-width="4%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="scope.row.createOperation"></el-checkbox>
|
<el-checkbox true-label="true" false-label="false" v-model="scope.row.createOperation"></el-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="编辑" min-width="4%">
|
<el-table-column label="编辑" min-width="4%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="scope.row.updateOperation"></el-checkbox>
|
<el-checkbox true-label="true" false-label="false" v-model="scope.row.updateOperation"></el-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="列表" min-width="4%">
|
<el-table-column label="列表" min-width="4%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="scope.row.listOperationResult"></el-checkbox>
|
<el-checkbox true-label="true" false-label="false" v-model="scope.row.listOperationResult"></el-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="查询" min-width="4%">
|
<el-table-column label="查询" min-width="4%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="scope.row.listOperation"></el-checkbox>
|
<el-checkbox true-label="true" false-label="false" v-model="scope.row.listOperation"></el-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="查询方式" min-width="10%">
|
<el-table-column label="查询方式" min-width="10%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-select v-model="scope.row.listOperationCondition">
|
<el-select v-model="scope.row.listOperationCondition">
|
||||||
<el-option label="=" value="=" />
|
<el-option label="=" value="=" />
|
||||||
<el-option label="!=" value="!=" />
|
<el-option label="!=" value="!=" />
|
||||||
@ -76,12 +76,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="允许空" min-width="5%">
|
<el-table-column label="允许空" min-width="5%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-checkbox true-label="true" false-label="false" v-model="scope.row.nullable"></el-checkbox>
|
<el-checkbox true-label="true" false-label="false" v-model="scope.row.nullable"></el-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="显示类型" min-width="12%">
|
<el-table-column label="显示类型" min-width="12%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-select v-model="scope.row.htmlType">
|
<el-select v-model="scope.row.htmlType">
|
||||||
<el-option label="文本框" value="input" />
|
<el-option label="文本框" value="input" />
|
||||||
<el-option label="文本域" value="textarea" />
|
<el-option label="文本域" value="textarea" />
|
||||||
@ -96,7 +96,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="字典类型" min-width="12%">
|
<el-table-column label="字典类型" min-width="12%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-select v-model="scope.row.dictType" clearable filterable placeholder="请选择">
|
<el-select v-model="scope.row.dictType" clearable filterable placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in dictOptions"
|
v-for="dict in dictOptions"
|
||||||
@ -108,7 +108,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="示例" min-width="10%">
|
<el-table-column label="示例" min-width="10%">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-input v-model="scope.row.example"></el-input>
|
<el-input v-model="scope.row.example"></el-input>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -105,7 +105,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="24" v-if="info.genType == '1'">
|
<el-col :span="24" v-if="info.genType === '1'">
|
||||||
<el-form-item prop="genPath">
|
<el-form-item prop="genPath">
|
||||||
<span slot="label">
|
<span slot="label">
|
||||||
自定义路径
|
自定义路径
|
||||||
@ -128,7 +128,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row v-show="info.tplCategory == 'tree'">
|
<el-row v-show="info.tplCategory === 'tree'">
|
||||||
<h4 class="form-header">其他信息</h4>
|
<h4 class="form-header">其他信息</h4>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -185,7 +185,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row v-show="info.tplCategory == 'sub'">
|
<el-row v-show="info.tplCategory === 'sub'">
|
||||||
<h4 class="form-header">关联信息</h4>
|
<h4 class="form-header">关联信息</h4>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -314,7 +314,7 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 设置关联外键 */
|
/** 设置关联外键 */
|
||||||
setSubTableColumns(value) {
|
setSubTableColumns(value) {
|
||||||
for (var item in this.tables) {
|
for (let item in this.tables) {
|
||||||
const name = this.tables[item].tableName;
|
const name = this.tables[item].tableName;
|
||||||
if (value === name) {
|
if (value === name) {
|
||||||
this.subColumns = this.tables[item].columns;
|
this.subColumns = this.tables[item].columns;
|
||||||
|
@ -38,17 +38,17 @@
|
|||||||
<el-table-column label="表描述" align="center" prop="tableComment" :show-overflow-tooltip="true" width="120"/>
|
<el-table-column label="表描述" align="center" prop="tableComment" :show-overflow-tooltip="true" width="120"/>
|
||||||
<el-table-column label="实体" align="center" prop="className" width="200"/>
|
<el-table-column label="实体" align="center" prop="className" width="200"/>
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="更新时间" align="center" prop="createTime" width="180">
|
<el-table-column label="更新时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.updateTime) }}</span>
|
<span>{{ parseTime(scope.row.updateTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="300px" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" width="300px" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" size="small" icon="el-icon-view" @click="handlePreview(scope.row)" v-hasPermi="['infra:codegen:preview']">预览</el-button>
|
<el-button type="text" size="small" icon="el-icon-view" @click="handlePreview(scope.row)" v-hasPermi="['infra:codegen:preview']">预览</el-button>
|
||||||
<el-button type="text" size="small" icon="el-icon-edit" @click="handleEditTable(scope.row)" v-hasPermi="['infra:codegen:update']">编辑</el-button>
|
<el-button type="text" size="small" icon="el-icon-edit" @click="handleEditTable(scope.row)" v-hasPermi="['infra:codegen:update']">编辑</el-button>
|
||||||
<el-button type="text" size="small" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['infra:codegen:delete']">删除</el-button>
|
<el-button type="text" size="small" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['infra:codegen:delete']">删除</el-button>
|
||||||
@ -209,7 +209,7 @@ export default {
|
|||||||
highlightedCode(item) {
|
highlightedCode(item) {
|
||||||
// const vmName = key.substring(key.lastIndexOf("/") + 1, key.indexOf(".vm"));
|
// const vmName = key.substring(key.lastIndexOf("/") + 1, key.indexOf(".vm"));
|
||||||
// var language = vmName.substring(vmName.indexOf(".") + 1, vmName.length);
|
// var language = vmName.substring(vmName.indexOf(".") + 1, vmName.length);
|
||||||
var language = item.filePath.substring(item.filePath.lastIndexOf(".") + 1);
|
const language = item.filePath.substring(item.filePath.lastIndexOf('.') + 1)
|
||||||
const result = hljs.highlight(language, item.code || "", true);
|
const result = hljs.highlight(language, item.code || "", true);
|
||||||
return result.value || ' ';
|
return result.value || ' ';
|
||||||
},
|
},
|
||||||
|
@ -46,23 +46,23 @@
|
|||||||
<el-table-column label="参数键名" align="center" prop="key" :show-overflow-tooltip="true" />
|
<el-table-column label="参数键名" align="center" prop="key" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="参数键值" align="center" prop="value" />
|
<el-table-column label="参数键值" align="center" prop="value" />
|
||||||
<el-table-column label="系统内置" align="center" prop="type">
|
<el-table-column label="系统内置" align="center" prop="type">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.INFRA_CONFIG_TYPE" :value="scope.row.type" />
|
<dict-tag :type="DICT_TYPE.INFRA_CONFIG_TYPE" :value="scope.row.type" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否可见" align="center" prop="visible">
|
<el-table-column label="是否可见" align="center" prop="visible">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ scope.row.visible ? '是' : '否' }}</span>
|
<span>{{ scope.row.visible ? '是' : '否' }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
|
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['infra:config:update']">修改</el-button>
|
v-hasPermi="['infra:config:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
@ -15,12 +15,12 @@
|
|||||||
<el-table-column label="数据源连接" align="center" prop="url" />
|
<el-table-column label="数据源连接" align="center" prop="url" />
|
||||||
<el-table-column label="用户名" align="center" prop="username" />
|
<el-table-column label="用户名" align="center" prop="username" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['infra:data-source-config:update']">修改</el-button>
|
v-hasPermi="['infra:data-source-config:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<el-table-column label="文件大小" align="center" prop="size" min-width="120px" :formatter="sizeFormat"/>
|
<el-table-column label="文件大小" align="center" prop="size" min-width="120px" :formatter="sizeFormat"/>
|
||||||
<el-table-column label="文件类型" :show-overflow-tooltip="true" align="center" prop="type" width="180px"/>
|
<el-table-column label="文件类型" :show-overflow-tooltip="true" align="center" prop="type" width="180px"/>
|
||||||
<el-table-column label="文件内容" align="center" prop="content" min-width="150px">
|
<el-table-column label="文件内容" align="center" prop="content" min-width="150px">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<image-preview v-if="scope.row.type&&scope.row.type.indexOf('image/') === 0" :src="scope.row.url"
|
<image-preview v-if="scope.row.type&&scope.row.type.indexOf('image/') === 0" :src="scope.row.url"
|
||||||
:width="'100px'"></image-preview>
|
:width="'100px'"></image-preview>
|
||||||
<i v-else>无法预览,点击
|
<i v-else>无法预览,点击
|
||||||
@ -43,12 +43,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="上传时间" align="center" prop="createTime" min-width="170px">
|
<el-table-column label="上传时间" align="center" prop="createTime" min-width="170px">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="100px">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="100px">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['infra:file:delete']">删除
|
v-hasPermi="['infra:file:delete']">删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -36,23 +36,23 @@
|
|||||||
<el-table-column label="编号" align="center" prop="id" />
|
<el-table-column label="编号" align="center" prop="id" />
|
||||||
<el-table-column label="配置名" align="center" prop="name" />
|
<el-table-column label="配置名" align="center" prop="name" />
|
||||||
<el-table-column label="存储器" align="center" prop="storage">
|
<el-table-column label="存储器" align="center" prop="storage">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.INFRA_FILE_STORAGE" :value="scope.row.storage" />
|
<dict-tag :type="DICT_TYPE.INFRA_FILE_STORAGE" :value="scope.row.storage" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="主配置" align="center" prop="primary">
|
<el-table-column label="主配置" align="center" prop="primary">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.master" />
|
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.master" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="240">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="240">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['infra:file-config:update']">修改</el-button>
|
v-hasPermi="['infra:file-config:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-attract" @click="handleMaster(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-attract" @click="handleMaster(scope.row)"
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<el-table-column label="任务编号" align="center" prop="id" />
|
<el-table-column label="任务编号" align="center" prop="id" />
|
||||||
<el-table-column label="任务名称" align="center" prop="name" />
|
<el-table-column label="任务名称" align="center" prop="name" />
|
||||||
<el-table-column label="任务状态" align="center" prop="status">
|
<el-table-column label="任务状态" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.INFRA_JOB_STATUS" :value="scope.row.status" />
|
<dict-tag :type="DICT_TYPE.INFRA_JOB_STATUS" :value="scope.row.status" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>>
|
</el-table-column>>
|
||||||
@ -51,7 +51,7 @@
|
|||||||
<el-table-column label="处理器的参数" align="center" prop="handlerParam" />
|
<el-table-column label="处理器的参数" align="center" prop="handlerParam" />
|
||||||
<el-table-column label="CRON 表达式" align="center" prop="cronExpression" />
|
<el-table-column label="CRON 表达式" align="center" prop="cronExpression" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['infra:job:update']">修改</el-button>
|
v-hasPermi="['infra:job:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-check" @click="handleChangeStatus(scope.row, true)"
|
<el-button size="mini" type="text" icon="el-icon-check" @click="handleChangeStatus(scope.row, true)"
|
||||||
|
@ -41,22 +41,22 @@
|
|||||||
<el-table-column label="处理器的参数" align="center" prop="handlerParam" />
|
<el-table-column label="处理器的参数" align="center" prop="handlerParam" />
|
||||||
<el-table-column label="第几次执行" align="center" prop="executeIndex" />
|
<el-table-column label="第几次执行" align="center" prop="executeIndex" />
|
||||||
<el-table-column label="执行时间" align="center" width="180">
|
<el-table-column label="执行时间" align="center" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.beginTime) + ' ~ ' + parseTime(scope.row.endTime) }}</span>
|
<span>{{ parseTime(scope.row.beginTime) + ' ~ ' + parseTime(scope.row.endTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="执行时长" align="center" prop="duration">
|
<el-table-column label="执行时长" align="center" prop="duration">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ scope.row.duration + ' 毫秒' }}</span>
|
<span>{{ scope.row.duration + ' 毫秒' }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="任务状态" align="center" prop="status">
|
<el-table-column label="任务状态" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag :type="DICT_TYPE.INFRA_JOB_LOG_STATUS" :value="scope.row.status" />
|
<dict-tag :type="DICT_TYPE.INFRA_JOB_LOG_STATUS" :value="scope.row.status" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)" :loading="exportLoading"
|
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)" :loading="exportLoading"
|
||||||
v-hasPermi="['infra:job:query']">详细</el-button>
|
v-hasPermi="['infra:job:query']">详细</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<td><div class="cell">Redis版本</div></td>
|
<td><div class="cell">Redis版本</div></td>
|
||||||
<td><div class="cell" v-if="cache.info">{{ cache.info.redis_version }}</div></td>
|
<td><div class="cell" v-if="cache.info">{{ cache.info.redis_version }}</div></td>
|
||||||
<td><div class="cell">运行模式</div></td>
|
<td><div class="cell">运行模式</div></td>
|
||||||
<td><div class="cell" v-if="cache.info">{{ cache.info.redis_mode == "standalone" ? "单机" : "集群" }}</div></td>
|
<td><div class="cell" v-if="cache.info">{{ cache.info.redis_mode === "standalone" ? "单机" : "集群" }}</div></td>
|
||||||
<td><div class="cell">端口</div></td>
|
<td><div class="cell">端口</div></td>
|
||||||
<td><div class="cell" v-if="cache.info">{{ cache.info.tcp_port }}</div></td>
|
<td><div class="cell" v-if="cache.info">{{ cache.info.tcp_port }}</div></td>
|
||||||
<td><div class="cell">客户端数</div></td>
|
<td><div class="cell">客户端数</div></td>
|
||||||
@ -71,7 +71,7 @@
|
|||||||
<el-table-column prop="keyType" label="Key 类型" width="100" />
|
<el-table-column prop="keyType" label="Key 类型" width="100" />
|
||||||
<el-table-column prop="valueType" label="Value 类型" />
|
<el-table-column prop="valueType" label="Value 类型" />
|
||||||
<el-table-column prop="timeoutType" label="超时时间" width="200">
|
<el-table-column prop="timeoutType" label="超时时间" width="200">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<dict-tag
|
<dict-tag
|
||||||
:type="DICT_TYPE.INFRA_REDIS_TIMEOUT_TYPE"
|
:type="DICT_TYPE.INFRA_REDIS_TIMEOUT_TYPE"
|
||||||
:value="scope.row.timeoutType"
|
:value="scope.row.timeoutType"
|
||||||
@ -95,10 +95,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-table :data="cacheKeys" style="width: 100%" @row-click="handleKeyValue">
|
<el-table :data="cacheKeys" style="width: 100%" @row-click="handleKeyValue">
|
||||||
<el-table-column label="缓存键名" align="center" :show-overflow-tooltip="true">
|
<el-table-column label="缓存键名" align="center" :show-overflow-tooltip="true">
|
||||||
<template slot-scope="scope">{{ scope.row }}</template>
|
<template v-slot="scope">{{ scope.row }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="60" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" width="60" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteKey(scope.row)" />
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteKey(scope.row)" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -54,12 +54,12 @@
|
|||||||
<el-table-column label="分类" align="center" prop="category" />
|
<el-table-column label="分类" align="center" prop="category" />
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['infra:test-demo:update']">修改</el-button>
|
v-hasPermi="['infra:test-demo:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user