vue2-client 1.15.14 → 1.15.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jest.config.js +22 -22
- package/package.json +1 -1
- package/src/base-client/components/common/XForm/demo.vue +105 -105
- package/src/base-client/components/common/XRate/demo.vue +102 -102
- package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +16 -311
- package/src/pages/WorkflowDetail/WorkflowDetail.vue +20 -4
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +475 -148
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +677 -188
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +1 -1
- package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +25 -23
- package/src/pages/addressSelect/addressDemo.vue +24 -24
- package/src/router/async/router.map.js +1 -1
- package/src/router/index.js +27 -27
- package/src/services/api/workFlow.js +0 -4
- package/test/request.test.js +17 -17
- package/vue.config.js +2 -2
@@ -1,28 +1,30 @@
|
|
1
1
|
<template>
|
2
2
|
<div v-if="workflowHandleWrap.needSelectPerson">
|
3
|
-
<!-- 多分支选择(包含WF_RESULT
|
4
|
-
<template v-if="workflowHandleWrap.
|
5
|
-
<
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
<a-select
|
12
|
-
:value="getBranchPersonValue(node.stepId)"
|
13
|
-
:getPopupContainer="(triggerNode) => triggerNode.parentNode"
|
14
|
-
@change="setBranchPersonValue(node.stepId, $event, node.chargePersonOptions)"
|
15
|
-
:placeholder="`请选择${node.stepName}的处理人`"
|
16
|
-
:options="node.chargePersonOptions"
|
17
|
-
:filter-option="filterOption"
|
18
|
-
style="width: 195px"
|
19
|
-
show-search
|
3
|
+
<!-- 多分支选择(包含WF_RESULT的条件分支或并行分支的情况) -->
|
4
|
+
<template v-if="workflowHandleWrap.needMultipleBranchSelection && workflowHandleWrap.branchNodes.length > 0">
|
5
|
+
<template v-for="node in workflowHandleWrap.branchNodes">
|
6
|
+
<a-form-item
|
7
|
+
v-if="node.needSelectPerson"
|
8
|
+
:key="node.stepId"
|
9
|
+
:label="`${node.stepName}处理人`"
|
10
|
+
required
|
20
11
|
>
|
21
|
-
<a-select
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
12
|
+
<a-select
|
13
|
+
:value="getBranchPersonValue(node.stepId)"
|
14
|
+
:getPopupContainer="(triggerNode) => triggerNode.parentNode"
|
15
|
+
@change="setBranchPersonValue(node.stepId, $event, node.chargePersonOptions)"
|
16
|
+
:placeholder="`请选择${node.stepName}的处理人`"
|
17
|
+
:options="node.chargePersonOptions"
|
18
|
+
:filter-option="filterOption"
|
19
|
+
style="width: 195px"
|
20
|
+
show-search
|
21
|
+
>
|
22
|
+
<a-select-option v-for="option in node.chargePersonOptions" :key="option.value" :value="option.value">
|
23
|
+
{{ option.label }}
|
24
|
+
</a-select-option>
|
25
|
+
</a-select>
|
26
|
+
</a-form-item>
|
27
|
+
</template>
|
26
28
|
</template>
|
27
29
|
|
28
30
|
<!-- 单分支选择(前台可计算的情况) -->
|
@@ -90,7 +92,7 @@ export default {
|
|
90
92
|
|
91
93
|
// 获取分支选择标签文本
|
92
94
|
getBranchSelectionLabel () {
|
93
|
-
if (this.workflowHandleWrap.
|
95
|
+
if (this.workflowHandleWrap.needMultipleBranchSelection) {
|
94
96
|
return '分支节点处理人选择'
|
95
97
|
} else if (this.workflowHandleWrap.calculatedTargetNode) {
|
96
98
|
return `请选择${this.workflowHandleWrap.getStepNameByStepId(this.workflowHandleWrap.calculatedTargetNode)}处理人`
|
@@ -1,24 +1,24 @@
|
|
1
|
-
<template>
|
2
|
-
<!-- 测试界面——测试地址选择新增组件-->
|
3
|
-
<div>
|
4
|
-
<a-button @click="open">打开选择地址弹窗</a-button>
|
5
|
-
<address-select :addressShow="showDialog"/>
|
6
|
-
</div>
|
7
|
-
</template>
|
8
|
-
|
9
|
-
<script>
|
10
|
-
import AddressSelect from '@/pages/addressSelect'
|
11
|
-
|
12
|
-
export default {
|
13
|
-
components: { AddressSelect },
|
14
|
-
data: () => ({
|
15
|
-
showDialog: false
|
16
|
-
}),
|
17
|
-
methods: {
|
18
|
-
open () {
|
19
|
-
console.log('打开选择地址弹窗')
|
20
|
-
this.showDialog = true
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<!-- 测试界面——测试地址选择新增组件-->
|
3
|
+
<div>
|
4
|
+
<a-button @click="open">打开选择地址弹窗</a-button>
|
5
|
+
<address-select :addressShow="showDialog"/>
|
6
|
+
</div>
|
7
|
+
</template>
|
8
|
+
|
9
|
+
<script>
|
10
|
+
import AddressSelect from '@/pages/addressSelect'
|
11
|
+
|
12
|
+
export default {
|
13
|
+
components: { AddressSelect },
|
14
|
+
data: () => ({
|
15
|
+
showDialog: false
|
16
|
+
}),
|
17
|
+
methods: {
|
18
|
+
open () {
|
19
|
+
console.log('打开选择地址弹窗')
|
20
|
+
this.showDialog = true
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
</script>
|
@@ -51,7 +51,7 @@ routerResource.dynamicStatistics = () => import('@vue2-client/pages/DynamicStati
|
|
51
51
|
routerResource.newDynamicStatistics = () => import('@vue2-client/pages/NewDynamicStatistics')
|
52
52
|
// 示例页面
|
53
53
|
routerResource.example = {
|
54
|
-
|
54
|
+
path: 'example',
|
55
55
|
name: '示例主页面',
|
56
56
|
component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo2.vue'),
|
57
57
|
// component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
|
package/src/router/index.js
CHANGED
@@ -1,27 +1,27 @@
|
|
1
|
-
import { formatRoutes } from '@vue2-client/utils/routerUtil'
|
2
|
-
|
3
|
-
// 不需要登录拦截的路由配置
|
4
|
-
const loginIgnore = {
|
5
|
-
names: ['404', '403'], // 根据路由名称匹配
|
6
|
-
paths: ['/login', '/example', '/system/example', '/system/example/default', '/system/example/sub-example', '/submitTicket', '/submitTicket/', '/ServiceReview', '/DynamicStatistics', '/NewDynamicStatistics'], // 根据路由fullPath匹配
|
7
|
-
/**
|
8
|
-
* 判断路由是否包含在该配置中
|
9
|
-
* @param route vue-router 的 route 对象
|
10
|
-
* @returns {boolean}
|
11
|
-
*/
|
12
|
-
includes (route) {
|
13
|
-
return this.names.includes(route.name) || this.paths.includes(route.path)
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
/**
|
18
|
-
* 初始化路由实例
|
19
|
-
* @param isAsync 是否异步路由模式
|
20
|
-
* @returns {RouterOptions}
|
21
|
-
*/
|
22
|
-
function initRouter (isAsync) {
|
23
|
-
const options = require('./async/config.async').default
|
24
|
-
formatRoutes(options.routes)
|
25
|
-
return options
|
26
|
-
}
|
27
|
-
export { loginIgnore, initRouter }
|
1
|
+
import { formatRoutes } from '@vue2-client/utils/routerUtil'
|
2
|
+
|
3
|
+
// 不需要登录拦截的路由配置
|
4
|
+
const loginIgnore = {
|
5
|
+
names: ['404', '403'], // 根据路由名称匹配
|
6
|
+
paths: ['/login', '/example', '/system/example', '/system/example/default', '/system/example/sub-example', '/submitTicket', '/submitTicket/', '/ServiceReview', '/DynamicStatistics', '/NewDynamicStatistics'], // 根据路由fullPath匹配
|
7
|
+
/**
|
8
|
+
* 判断路由是否包含在该配置中
|
9
|
+
* @param route vue-router 的 route 对象
|
10
|
+
* @returns {boolean}
|
11
|
+
*/
|
12
|
+
includes (route) {
|
13
|
+
return this.names.includes(route.name) || this.paths.includes(route.path)
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
/**
|
18
|
+
* 初始化路由实例
|
19
|
+
* @param isAsync 是否异步路由模式
|
20
|
+
* @returns {RouterOptions}
|
21
|
+
*/
|
22
|
+
function initRouter (isAsync) {
|
23
|
+
const options = require('./async/config.async').default
|
24
|
+
formatRoutes(options.routes)
|
25
|
+
return options
|
26
|
+
}
|
27
|
+
export { loginIgnore, initRouter }
|
@@ -18,16 +18,12 @@ const workFlowViewApi = {
|
|
18
18
|
afterWorkFlowFinalStepSubmit: '/logic/afterWorkFlowFinalStepSubmit',
|
19
19
|
// 获取步骤留言和表单填写人姓名
|
20
20
|
getStepNoteAndHandler: '/logic/getStepNoteAndHandler',
|
21
|
-
// 更新步骤信息
|
22
|
-
updateWorkFlowStepData: '/logic/updateWorkFlowStepData',
|
23
21
|
// 保存工作流日志
|
24
22
|
saveWorkFlowLog: '/logic/saveWorkFlowLog',
|
25
23
|
// 获取工作流日志
|
26
24
|
getWorkFlowLog: '/logic/getWorkFlowLog',
|
27
25
|
// 获取员工任务详情信息
|
28
26
|
getEmployeeTaskDetail: '/logic/getEmployeeTaskDetail',
|
29
|
-
// 根据流程名称获取所有步骤名称
|
30
|
-
getWorkFlowStepNames: '/logic/getWorkFlowStepNames',
|
31
27
|
// 获取工作流任务留言
|
32
28
|
getWorkFlowLeaveMessage: '/logic/getWorkFlowLeaveMessage',
|
33
29
|
// 更新任务完成时间
|
package/test/request.test.js
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
import EncryptUtil from '@vue2-client/utils/EncryptUtil'
|
2
|
-
import { test, describe } from '@jest/globals'
|
3
|
-
|
4
|
-
describe('请求加密模块', () => {
|
5
|
-
const VALID_KEY = 'a964287a2cef8781ed76bd63dcadd578'
|
6
|
-
const TEST_PAYLOAD = {
|
7
|
-
username: 'admin',
|
8
|
-
password: 'P@ssw0rd_测试',
|
9
|
-
timestamp: Date.now()
|
10
|
-
}
|
11
|
-
|
12
|
-
// CBC加密测试
|
13
|
-
test('应生成有效的加密字符串', () => {
|
14
|
-
const encrypted = EncryptUtil.AESEncryptCBC(TEST_PAYLOAD, VALID_KEY)
|
15
|
-
console.log(encrypted)
|
16
|
-
})
|
17
|
-
})
|
1
|
+
import EncryptUtil from '@vue2-client/utils/EncryptUtil'
|
2
|
+
import { test, describe } from '@jest/globals'
|
3
|
+
|
4
|
+
describe('请求加密模块', () => {
|
5
|
+
const VALID_KEY = 'a964287a2cef8781ed76bd63dcadd578'
|
6
|
+
const TEST_PAYLOAD = {
|
7
|
+
username: 'admin',
|
8
|
+
password: 'P@ssw0rd_测试',
|
9
|
+
timestamp: Date.now()
|
10
|
+
}
|
11
|
+
|
12
|
+
// CBC加密测试
|
13
|
+
test('应生成有效的加密字符串', () => {
|
14
|
+
const encrypted = EncryptUtil.AESEncryptCBC(TEST_PAYLOAD, VALID_KEY)
|
15
|
+
console.log(encrypted)
|
16
|
+
})
|
17
|
+
})
|
package/vue.config.js
CHANGED
@@ -53,8 +53,8 @@ module.exports = {
|
|
53
53
|
changeOrigin: true
|
54
54
|
},
|
55
55
|
'/api/af-apply': {
|
56
|
-
|
57
|
-
target:
|
56
|
+
pathRewrite: { '^/api/af-apply': '/' },
|
57
|
+
target: 'http://127.0.0.1:9031',
|
58
58
|
changeOrigin: true
|
59
59
|
},
|
60
60
|
'/api/af-scada': {
|