cloud-web-corejs 1.0.284 → 1.0.286
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/package.json +1 -1
- package/src/components/VabUpload/mixins.js +126 -19
- package/src/components/VabUpload/view.vue +248 -209
- package/src/components/mobile/wf/addTaskUserdialog.vue +100 -80
- package/src/components/mobile/wf/content.vue +1705 -1556
- package/src/components/mobile/wf/deleteTaskUserDialog.vue +73 -54
- package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
- package/src/components/mobile/wf/selectUserDialog.vue +118 -0
- package/src/components/mobile/wf/setCandidateDialog.vue +69 -48
- package/src/components/mobile/wf/urgingDialog.vue +75 -52
- package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
- package/src/components/table/index.js +5 -2
- package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
- package/src/components/xform/docs/2026-08 xform H5 P1 /345/256/236/347/216/260/350/247/204/346/240/274.md" +412 -0
- package/src/components/xform/docs/2026-08 xform H5 P2 /345/256/236/347/216/260/350/247/204/346/240/274.md" +287 -0
- package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +400 -0
- package/src/components/xform/form-designer/designer.js +5 -0
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +1 -0
- package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +243 -227
- package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +228 -207
- package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +165 -136
- package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +2 -3
- package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +3 -3
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +2 -3
- package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +39 -1
- package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
- package/src/components/xform/form-designer/indexMixin.js +35 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +20 -9
- package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +19 -5
- package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +10 -0
- package/src/components/xform/form-designer/toolbar-panel/index.vue +6 -1
- package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +13 -0
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +22 -6
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +58 -3
- package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -0
- package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
- package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
- package/src/components/xform/form-render/container-item/list-h5-item.vue +1917 -1700
- package/src/components/xform/form-render/index.vue +7 -1
- package/src/components/xform/form-render/indexMixin.js +42 -4
- package/src/components/xform/lang/en-US.js +10 -0
- package/src/components/xform/lang/zh-CN.js +10 -0
- package/src/components/xform/styles/h5.scss +2305 -0
- package/src/directive/append-to-body/index.js +48 -0
- package/src/index.js +4 -0
- package/src/views/bd/setting/form_template/edit.vue +25 -3
- package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
- package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
- package/src/views/bd/setting/form_template/list.vue +1 -0
- package/src/views/bd/setting/form_template/mixins/edit.js +64 -0
- package/src/views/bd/setting/form_template/mixins/list.js +27 -0
- package/src/views/user/form/vform/designer.vue +3 -1
- package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
|
@@ -1,54 +1,73 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<div class="
|
|
32
|
-
|
|
33
|
-
class="
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<!-- 外壳改成 el-dialog + append-to-body,说明见 urgingDialog.vue。
|
|
3
|
+
原来的 :style="'z-index:'+zIndex" 去掉了:层级由 element 的 PopupManager
|
|
4
|
+
统一分配给 .el-dialog__wrapper,再手写一层反而会和它打架。 -->
|
|
5
|
+
<el-dialog
|
|
6
|
+
:visible.sync="dialogVisible"
|
|
7
|
+
:append-to-body="true"
|
|
8
|
+
:modal="false"
|
|
9
|
+
:show-close="false"
|
|
10
|
+
:close-on-click-modal="false"
|
|
11
|
+
:destroy-on-close="true"
|
|
12
|
+
custom-class="h5-pop-dialog"
|
|
13
|
+
width="100%"
|
|
14
|
+
top="0px"
|
|
15
|
+
@close="dialogClose"
|
|
16
|
+
>
|
|
17
|
+
<div>
|
|
18
|
+
<div class="header-box">
|
|
19
|
+
<i class="back el-icon-close" @click="dialogClose"></i>
|
|
20
|
+
{{ $t2('减签', 'components.wf.deleteIncreaseSign') }}
|
|
21
|
+
<template v-if="!wfInfo.wfAdmin">
|
|
22
|
+
({{ $t2('注:只允许删除本人新增的加签', 'components.wf.deleteIncreaseSignTip2') }})
|
|
23
|
+
</template>
|
|
24
|
+
<span>—</span>
|
|
25
|
+
<b class="f-red">
|
|
26
|
+
{{ $t2('节点', 'components.wf.node') }}:{{ wfInfo.taskName }}
|
|
27
|
+
</b>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="flex">
|
|
30
|
+
<div class="checkbox-all_list" @scroll="handleScroll">
|
|
31
|
+
<div v-for="(row,rowIndex) in page.records" :key="rowIndex" class="order-item"
|
|
32
|
+
:class="{on:checkList.includes(row.id)}" @click="changeCheck(row,rowIndex)">
|
|
33
|
+
<div class="is-checked" v-if="checkList.includes(row.id)"><i class="el-icon-check"></i>已选择</div>
|
|
34
|
+
<div class="t1">
|
|
35
|
+
<i class="icon"></i>
|
|
36
|
+
<span>{{ row.name }}</span>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="t2">
|
|
39
|
+
<p>候选人ID:{{ row.id }}</p>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="checkbox-all">
|
|
44
|
+
<div class='ca-t'>已选择候选人:</div>
|
|
45
|
+
<div class="ca-c">
|
|
46
|
+
<span v-for="(checkRow, rowIndex) in checkRows" :key="rowIndex">{{ checkRow.name }}<i
|
|
47
|
+
class="el-icon-delete" @click="changeCheck(checkRow)"></i></span>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="fixed-bottom-btns">
|
|
52
|
+
<el-button type="primary" plain class="btn" @click="dialogClose" icon="el-icon-close">取 消
|
|
53
|
+
</el-button>
|
|
54
|
+
<el-button type="primary" class="btn" @click="dialogPrimary" icon="el-icon-check">确 定</el-button>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</el-dialog>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<script>
|
|
61
|
+
import selectDialogMixins from '../../../mixins/mobile/selectDialog/index.js';
|
|
62
|
+
import mixin from './mixins/deleteTaskUserDialogMixin';
|
|
63
|
+
|
|
64
|
+
export default {
|
|
65
|
+
name: 'deleteTaskUserDialog',
|
|
66
|
+
mixins: [selectDialogMixins, mixin],
|
|
67
|
+
data() {
|
|
68
|
+
return {
|
|
69
|
+
dialogVisible: true
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
</script>
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {requireViewAsync} from "@base/utils/resolveViewComponent";
|
|
2
2
|
|
|
3
3
|
let mixin = {};
|
|
4
4
|
let configUtil = {
|
|
5
5
|
baseUrl: process.env.VUE_APP_BASE_API,
|
|
6
|
-
// 归属自己 / 包内组件本地渲染;归属别家子应用(remote
|
|
7
|
-
//
|
|
6
|
+
// 归属自己 / 包内组件本地渲染;归属别家子应用(remote)、缺文件或 chunk 加载失败时
|
|
7
|
+
// 解析为 null,不抛错崩溃。返回 Promise,调用方必须 await。
|
|
8
|
+
// 归属解析见 @base/utils/resolveViewComponent。
|
|
8
9
|
requireView: (url) => {
|
|
9
|
-
return
|
|
10
|
+
return requireViewAsync(url);
|
|
10
11
|
},
|
|
11
12
|
};
|
|
12
13
|
mixin = {
|
|
@@ -30,11 +31,12 @@ mixin = {
|
|
|
30
31
|
this.openWfModifyDialog(this.code);
|
|
31
32
|
},
|
|
32
33
|
methods: {
|
|
33
|
-
openWfModifyDialog() {
|
|
34
|
+
async openWfModifyDialog() {
|
|
34
35
|
let row = this.paramData;
|
|
35
36
|
let url = row.mobileurl + ".vue";
|
|
36
37
|
this.showModifyDialog = true;
|
|
37
|
-
|
|
38
|
+
// await 之后再 $openEditView:它是 200ms 定时放行,冷启动拉 chunk 常超过它
|
|
39
|
+
this.content = await configUtil.requireView(url);
|
|
38
40
|
this.$openEditView("showBillEdit");
|
|
39
41
|
},
|
|
40
42
|
close() {
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<!-- 移动版「选择用户」弹层(转办人 / 沟通对象 / 候选人)。
|
|
3
|
+
来源是 views/mobile/user/user/dialog.vue,那份仍被手写移动页用着、且
|
|
4
|
+
src/views 不随包发布,所以这里另起一份收进包内,原文件保持原样不动。
|
|
5
|
+
|
|
6
|
+
与原文件的差别只有三处:
|
|
7
|
+
1. 外壳从 <div class="pop-box"> 换成 el-dialog + append-to-body —— 节点挂到
|
|
8
|
+
document.body,不再依赖 position:fixed 在宿主子树里侥幸生效(祖先一旦有
|
|
9
|
+
transform / display:none 就废),层级交给 element 的 PopupManager;
|
|
10
|
+
2. 去掉 :style="'z-index:'+zIndex",同上,避免和 PopupManager 打架;
|
|
11
|
+
3. 不再 @import resources/css/h5.scss —— 那份不随包发布,且原文件用的是
|
|
12
|
+
非 scoped 的 <style>,等于把整份手写移动页样式泄成全局。本组件的骨架样式
|
|
13
|
+
走 xform/styles/h5.scss 的 .h5-pop-dialog(顶层选择器,body 挂载后才命中)。 -->
|
|
14
|
+
<el-dialog
|
|
15
|
+
:visible.sync="dialogVisible"
|
|
16
|
+
:title="$t1('选择用户')"
|
|
17
|
+
:append-to-body="true"
|
|
18
|
+
:modal="false"
|
|
19
|
+
:close-on-click-modal="false"
|
|
20
|
+
:destroy-on-close="true"
|
|
21
|
+
custom-class="dialog-style h5view-dialog"
|
|
22
|
+
width="100%"
|
|
23
|
+
top="0px"
|
|
24
|
+
@close="dialogClose"
|
|
25
|
+
>
|
|
26
|
+
<div class="selected-flex-box">
|
|
27
|
+
<div class="search-H5box">
|
|
28
|
+
<div class="txt">
|
|
29
|
+
<el-input placeholder="姓名" suffix-icon="el-icon-search" v-model="formData.nickName"
|
|
30
|
+
@keyup.enter.native="searchEvent">
|
|
31
|
+
<el-button slot="append" @click="searchEvent"> 搜索</el-button>
|
|
32
|
+
</el-input>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="icon-screen" @click="popStatus = true">
|
|
35
|
+
<i class="iconfont icon-shaixuan1"></i>
|
|
36
|
+
<span>{{ $t1('高级筛选') }}</span>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="flex">
|
|
40
|
+
<div class="checkbox-all_list" @scroll="handleScroll">
|
|
41
|
+
<div v-for="(row,rowIndex) in page.records" :key="rowIndex" class="order-item"
|
|
42
|
+
:class="{on:isChecked(row)}" @click="changeCheck(row,rowIndex)">
|
|
43
|
+
<div class="is-checked" v-if="isChecked(row)"><i class="el-icon-check"></i>已选择</div>
|
|
44
|
+
<div class="t1">
|
|
45
|
+
<i class="icon"></i>
|
|
46
|
+
<span>{{ row.nickName }}</span>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="t2">
|
|
49
|
+
<p>登录名:{{ row.loginAccount }}</p>
|
|
50
|
+
<p>角色:{{ row.roleNames }}</p>
|
|
51
|
+
<p>机构:{{ row.saleOrgNames }}</p>
|
|
52
|
+
<p>邮编:{{ row.zipCode }}</p>
|
|
53
|
+
<p>地址:{{ row.address }}</p>
|
|
54
|
+
<p>性别:{{ genderMap[row.gender] }}</p>
|
|
55
|
+
<p>所属组织:{{ row.companyNames }}</p>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="checkbox-all">
|
|
60
|
+
<div class='ca-t'>已选择用户:</div>
|
|
61
|
+
<div class="ca-c">
|
|
62
|
+
<span v-for="(checkRow, rowIndex) in checkRows" :key="rowIndex">{{ checkRow.nickName }}<i
|
|
63
|
+
class="el-icon-delete" @click="changeCheck(checkRow)"></i></span>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
<h5SearchDialog v-if="popStatus" :visiable.sync="popStatus" @searchEvent="confirmSearchDialog"
|
|
68
|
+
@resetEvent="resetSearchDialog">
|
|
69
|
+
<el-form label-position="top">
|
|
70
|
+
<el-form-item label="登录名">
|
|
71
|
+
<el-input v-model="formData.loginAccount" class="txt" clearable/>
|
|
72
|
+
</el-form-item>
|
|
73
|
+
<el-form-item label="姓名">
|
|
74
|
+
<el-input v-model="formData.nickName" class="txt" clearable/>
|
|
75
|
+
</el-form-item>
|
|
76
|
+
</el-form>
|
|
77
|
+
</h5SearchDialog>
|
|
78
|
+
</div>
|
|
79
|
+
<span slot="footer" class="dialog-footer">
|
|
80
|
+
<el-button type="primary" plain class="btn" @click="dialogClose" icon="el-icon-close">{{ $t1('取 消') }}
|
|
81
|
+
</el-button>
|
|
82
|
+
<el-button type="primary" class="btn" @click="dialogPrimary" icon="el-icon-check">{{ $t1('确 定') }}</el-button>
|
|
83
|
+
</span>
|
|
84
|
+
</el-dialog>
|
|
85
|
+
</template>
|
|
86
|
+
|
|
87
|
+
<script>
|
|
88
|
+
import mixin from "@base/mixins/mobile/selectDialog/index";
|
|
89
|
+
|
|
90
|
+
export default {
|
|
91
|
+
name: 'selectUserDialog',
|
|
92
|
+
mixins: [mixin],
|
|
93
|
+
props: ['visiable', 'multi', 'rows', 'param'],
|
|
94
|
+
data() {
|
|
95
|
+
return {
|
|
96
|
+
// 父级用 v-if 控制存活,组件一挂载就是「已打开」。关闭统一走 dialogClose()
|
|
97
|
+
// 向父级 $emit('update:visiable', false),由父级的 v-if 销毁本组件。
|
|
98
|
+
dialogVisible: true,
|
|
99
|
+
genderMap: {1: '男', 2: '女'}
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
created() {
|
|
103
|
+
this.initSetting({
|
|
104
|
+
url: USER_PREFIX + '/user/listCurrentPage',
|
|
105
|
+
param: () => {
|
|
106
|
+
return {
|
|
107
|
+
enabled: true,
|
|
108
|
+
...this.formData,
|
|
109
|
+
...this.param,
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
})
|
|
113
|
+
},
|
|
114
|
+
mounted() {
|
|
115
|
+
this.searchEvent();
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
</script>
|
|
@@ -1,48 +1,69 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
</
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<!-- 外壳改成 el-dialog + append-to-body,说明见 urgingDialog.vue。
|
|
4
|
+
下面的选用户弹层是本弹层里再弹一层,两层都由 PopupManager 递增发号,
|
|
5
|
+
后开的天然在上,不用手写 z-index。 -->
|
|
6
|
+
<el-dialog
|
|
7
|
+
:visible.sync="dialogVisible"
|
|
8
|
+
:append-to-body="true"
|
|
9
|
+
:modal="false"
|
|
10
|
+
:show-close="false"
|
|
11
|
+
:close-on-click-modal="false"
|
|
12
|
+
:destroy-on-close="true"
|
|
13
|
+
custom-class="h5-pop-dialog"
|
|
14
|
+
width="100%"
|
|
15
|
+
top="0px"
|
|
16
|
+
@close="dialogClose"
|
|
17
|
+
>
|
|
18
|
+
<div>
|
|
19
|
+
<div class="header-box">
|
|
20
|
+
<i class="back el-icon-close" @click="dialogClose"></i>
|
|
21
|
+
{{ $t2('修改候选人', 'components.wf.setCandidateTitle') }}<span>—</span>
|
|
22
|
+
<b class="f-red">{{ $t2('节点', 'components.wf.node') }}:{{ wfInfo.taskName }}</b>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="flex">
|
|
25
|
+
<div class="checkbox-all_list">
|
|
26
|
+
<div v-for="(row,rowIndex) in page.records" :key="rowIndex" class="order-item">
|
|
27
|
+
<div class="t1">
|
|
28
|
+
<i class="icon"></i>
|
|
29
|
+
<span>候选人:{{ getUsernames(row) }}</span>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="t2">
|
|
32
|
+
<p>节点名称:{{ row.nodeName }}</p>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="btns">
|
|
35
|
+
<el-button type="primary" plain class="btn" @click="openUserDialig(row, rowIndex)" icon="el-icon-edit">
|
|
36
|
+
设置候选人
|
|
37
|
+
</el-button>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="fixed-bottom-btns">
|
|
43
|
+
<el-button type="primary" plain class="btn" @click="dialogClose" icon="el-icon-close">取 消</el-button>
|
|
44
|
+
<el-button type="primary" class="btn" @click="dialogClose" icon="el-icon-check">确 定</el-button>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</el-dialog>
|
|
48
|
+
<user-dialog v-if="showUserDialog" :visiable.sync="showUserDialog" @close="showUserDialog = false"
|
|
49
|
+
@confirm="userConfirm" multi="true" :rows="userRows"></user-dialog>
|
|
50
|
+
</div>
|
|
51
|
+
</template>
|
|
52
|
+
|
|
53
|
+
<script>
|
|
54
|
+
import selectDialogMixins from '../../../mixins/mobile/selectDialog/index.js';
|
|
55
|
+
import mixin from './mixins/setCandidateDialogMixin';
|
|
56
|
+
// 选用户弹层改用包内的 selectUserDialog(el-dialog 版)。原来引的
|
|
57
|
+
// views/mobile/user/user/dialog.vue 仍是 .pop-box 版、且不随包发布,保持原样不动。
|
|
58
|
+
import userDialog from "./selectUserDialog.vue";
|
|
59
|
+
|
|
60
|
+
export default {
|
|
61
|
+
mixins: [selectDialogMixins, mixin],
|
|
62
|
+
components: {userDialog},
|
|
63
|
+
data() {
|
|
64
|
+
return {
|
|
65
|
+
dialogVisible: true
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
</script>
|
|
@@ -1,52 +1,75 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<!-- 外壳是 el-dialog + append-to-body:节点挂到 document.body,不再依赖
|
|
3
|
+
`position:fixed` 在宿主子树里侥幸生效(祖先一旦有 transform/display:none 就废),
|
|
4
|
+
层级也交给 element 的 PopupManager,不用再手写 z-index。
|
|
5
|
+
el-dialog 自带的表头关掉——标题和关闭按钮都在下面的 .header-box 里。
|
|
6
|
+
骨架样式见 xform/styles/h5.scss 的 .h5-pop-dialog(必须是顶层选择器)。 -->
|
|
7
|
+
<el-dialog
|
|
8
|
+
:visible.sync="dialogVisible"
|
|
9
|
+
:append-to-body="true"
|
|
10
|
+
:modal="false"
|
|
11
|
+
:show-close="false"
|
|
12
|
+
:close-on-click-modal="false"
|
|
13
|
+
:destroy-on-close="true"
|
|
14
|
+
custom-class="h5-pop-dialog"
|
|
15
|
+
width="100%"
|
|
16
|
+
top="0px"
|
|
17
|
+
@close="dialogClose"
|
|
18
|
+
>
|
|
19
|
+
<div>
|
|
20
|
+
<div class="header-box">
|
|
21
|
+
<i class="back el-icon-close" @click="dialogClose"></i>
|
|
22
|
+
{{ $t2('流程催办', 'components.wf.wfUrging') }}<span>—</span><b
|
|
23
|
+
class="f-red">{{ $t2('节点', 'components.wf.node') }}:{{
|
|
24
|
+
wfInfo.taskName
|
|
25
|
+
}}</b>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="flex">
|
|
28
|
+
<div class="checkbox-all_list" @scroll="handleScroll">
|
|
29
|
+
<div v-for="(row,rowIndex) in page.records" :key="rowIndex" class="order-item"
|
|
30
|
+
:class="{on:checkList.includes(row.id)}" @click="changeCheck(row,rowIndex)">
|
|
31
|
+
<div class="is-checked" v-if="checkList.includes(row.id)"><i class="el-icon-check"></i>已选择</div>
|
|
32
|
+
<div class="t1">
|
|
33
|
+
<i class="icon"></i>
|
|
34
|
+
<span>{{ row.name }}</span>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="t2">
|
|
37
|
+
<p>催办人ID:{{ row.id }}</p>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="checkbox-all">
|
|
42
|
+
<div class='ca-t'>已选择用户:</div>
|
|
43
|
+
<div class="ca-c">
|
|
44
|
+
<span v-for="(checkRow, rowIndex) in checkRows" :key="rowIndex">{{ checkRow.name }}<i
|
|
45
|
+
class="el-icon-delete" @click="changeCheck(checkRow)"></i></span>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="fixed-bottom-btns">
|
|
50
|
+
<el-button type="primary" plain class="btn" @click="dialogClose" icon="el-icon-close">取 消
|
|
51
|
+
</el-button>
|
|
52
|
+
<el-button type="primary" class="btn" @click="subUrgingForm" icon="el-icon-check">
|
|
53
|
+
{{ $t2('确认催办', 'components.wf.confirmUrging') }}
|
|
54
|
+
</el-button>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</el-dialog>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<script>
|
|
61
|
+
import selectDialogMixins from '../../../mixins/mobile/selectDialog/index.js';
|
|
62
|
+
import mixin from './mixins/urgingDialogMixin';
|
|
63
|
+
|
|
64
|
+
export default {
|
|
65
|
+
name: 'urgingDialog',
|
|
66
|
+
mixins: [selectDialogMixins, mixin],
|
|
67
|
+
data() {
|
|
68
|
+
// 父级用 v-if 控制存活,组件一挂载就是「已打开」。关闭统一走 dialogClose()
|
|
69
|
+
// 向父级 $emit('update:visiable', false),由父级的 v-if 销毁本组件。
|
|
70
|
+
return {
|
|
71
|
+
dialogVisible: true
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
</script>
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
+
<!-- 注意:这一个没有跟着「移动版流程弹层改 el-dialog + append-to-body」那一轮走,
|
|
3
|
+
仍是 .pop-box 就地渲染。原因是 H5 不需要「修改单据」——xform H5 底栏明确
|
|
4
|
+
不放这个按钮(见 form-render/container-item/detail-h5-item.vue 的说明),
|
|
5
|
+
它只从手写移动页的 buttonGroup 进。样式仍走各应用自己的 h5.scss。 -->
|
|
2
6
|
<div class="pop-box">
|
|
3
7
|
<div>
|
|
4
8
|
<div class="header-box">
|
|
@@ -97,7 +97,7 @@ async function initVxeTable(option) {
|
|
|
97
97
|
let searchColumns = null;
|
|
98
98
|
if (tableName) {
|
|
99
99
|
setTableState($grid, "tableName", tableName);
|
|
100
|
-
if (option.path) {
|
|
100
|
+
if (option.path && option.readQueryAllPage !== false) {
|
|
101
101
|
await getTableData(that, option.tableRef, "isQueryAllPage", (res1) => {
|
|
102
102
|
let result = res1.objx ? res1.objx.data : null;
|
|
103
103
|
if (result !== null && result !== undefined) {
|
|
@@ -1252,7 +1252,10 @@ function checkQueryTotal(that, tableRef, value) {
|
|
|
1252
1252
|
let pagerConfig = $grid.pagerConfig;
|
|
1253
1253
|
|
|
1254
1254
|
$grid.pagerConfig.layouts = pagerConfig.layouts || [];
|
|
1255
|
-
|
|
1255
|
+
let originOption = $grid.params && $grid.params.originOption;
|
|
1256
|
+
if (!originOption || originOption.readQueryAllPage !== false) {
|
|
1257
|
+
addTableData(that, tableRef, value);
|
|
1258
|
+
}
|
|
1256
1259
|
$grid.commitProxy("query");
|
|
1257
1260
|
}
|
|
1258
1261
|
|