ui-process-h5 0.1.33 → 0.1.40

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.
Files changed (98) hide show
  1. package/build/configure/README.md +171 -0
  2. package/build/configure/package.json +27 -0
  3. package/build/scripts/postinstall.mjs +14 -0
  4. package/build/scripts/switch-cli.mjs +4 -0
  5. package/build/scripts/utils.mjs +60 -0
  6. package/index.html +12 -0
  7. package/package.json +43 -58
  8. package/src/App.vue +151 -0
  9. package/src/assets/font-icon/iconfont.scss +57 -0
  10. package/src/assets/font-icon/iconfont.ttf +0 -0
  11. package/src/assets/img/add-file.png +0 -0
  12. package/src/assets/img/arrow-right.png +0 -0
  13. package/src/assets/img/arrow.png +0 -0
  14. package/src/assets/img/check.png +0 -0
  15. package/src/assets/img/del.png +0 -0
  16. package/src/assets/img/doc.png +0 -0
  17. package/src/assets/img/file.png +0 -0
  18. package/src/assets/img/image.png +0 -0
  19. package/src/assets/img/pdf.png +0 -0
  20. package/src/assets/img/xls.png +0 -0
  21. package/src/assets/img/zip.png +0 -0
  22. package/src/assets/js/auth.js +41 -0
  23. package/src/assets/js/errorCode.js +6 -0
  24. package/src/assets/js/message.js +352 -0
  25. package/src/assets/js/request.js +90 -0
  26. package/src/assets/js/toast.js +239 -0
  27. package/src/assets/js/top.js +229 -0
  28. package/src/assets/js/utils.js +82 -0
  29. package/src/assets/js/vuePopper.js +123 -0
  30. package/src/assets/query.png +0 -0
  31. package/src/assets/status/error.png +0 -0
  32. package/src/assets/status/loading.png +0 -0
  33. package/src/assets/status/success.png +0 -0
  34. package/src/main.js +15 -0
  35. package/src/packages/attchUpload/index.js +371 -0
  36. package/src/packages/attchUpload/index.scss +136 -0
  37. package/src/packages/attchUpload/index.vue +173 -0
  38. package/src/packages/downSelect/index.js +81 -0
  39. package/src/packages/downSelect/index.scss +82 -0
  40. package/src/packages/downSelect/index.vue +54 -0
  41. package/src/packages/index.js +6 -0
  42. package/src/packages/popup/index.js +61 -0
  43. package/src/packages/popup/index.scss +174 -0
  44. package/src/packages/popup/index.vue +79 -0
  45. package/src/packages/preview/index.js +36 -0
  46. package/src/packages/preview/index.vue +15 -0
  47. package/src/packages/previewImage/index.js +158 -0
  48. package/src/packages/previewImage/index.scss +59 -0
  49. package/src/packages/previewImage/index.vue +32 -0
  50. package/src/packages/process/index.js +679 -0
  51. package/src/packages/process/index.scss +164 -0
  52. package/src/packages/process/index.vue +189 -0
  53. package/src/packages/process/operation/backNode.vue +393 -0
  54. package/src/packages/process/operation/cancel.vue +399 -0
  55. package/src/packages/process/operation/ccTask.vue +461 -0
  56. package/src/packages/process/operation/complete.vue +488 -0
  57. package/src/packages/process/operation/counterSign.vue +485 -0
  58. package/src/packages/process/operation/delegateTask.vue +480 -0
  59. package/src/packages/process/operation/index.js +9 -0
  60. package/src/packages/process/operation/restart.vue +305 -0
  61. package/src/packages/submitPopup/index.js +296 -0
  62. package/src/packages/submitPopup/index.scss +83 -0
  63. package/src/packages/submitPopup/index.vue +138 -0
  64. package/src/packages/tab/index.js +207 -0
  65. package/src/packages/tab/index.scss +176 -0
  66. package/src/packages/tab/index.vue +155 -0
  67. package/src/packages/tip/index.js +74 -0
  68. package/src/packages/tip/index.scss +82 -0
  69. package/src/packages/tip/index.vue +57 -0
  70. package/src/packages/viewAttchList/index.js +132 -0
  71. package/src/packages/viewAttchList/index.scss +76 -0
  72. package/src/packages/viewAttchList/index.vue +112 -0
  73. package/src/style.css +80 -0
  74. package/ui-process-h5/README.md +171 -0
  75. package/ui-process-h5/package.json +27 -0
  76. package/ui-process-h5/scripts/postinstall.mjs +14 -0
  77. package/ui-process-h5/scripts/switch-cli.mjs +4 -0
  78. package/ui-process-h5/scripts/utils.mjs +60 -0
  79. package/ui-process-h5/v2/style.css +1 -0
  80. package/ui-process-h5/v2/ui-process-h5.js +13467 -0
  81. package/ui-process-h5/v2/ui-process-h5.umd.cjs +67 -0
  82. package/ui-process-h5/v2.7/style.css +1 -0
  83. package/ui-process-h5/v2.7/ui-process-h5.js +12844 -0
  84. package/ui-process-h5/v2.7/ui-process-h5.umd.cjs +67 -0
  85. package/ui-process-h5/v3/style.css +1 -0
  86. package/ui-process-h5/v3/ui-process-h5.js +10336 -0
  87. package/ui-process-h5/v3/ui-process-h5.umd.cjs +55 -0
  88. package/vite.config.ts +78 -0
  89. package/packages/components/process/index.js +0 -8
  90. package/packages/components/process/src/button.vue +0 -55
  91. package/packages/components/process/src/index.vue +0 -447
  92. package/packages/components/process/src/popup.vue +0 -128
  93. package/packages/components/process/src/tab.vue +0 -467
  94. package/packages/components/utils/request/api.ts +0 -11
  95. package/packages/components/utils/request/cache.d.ts +0 -52
  96. package/packages/components/utils/request/cache.js +0 -99
  97. package/packages/components/utils/request/request.ts +0 -62
  98. package/packages/index.js +0 -4
@@ -0,0 +1,81 @@
1
+ import { defineComponent } from "vue-demi";
2
+ import arrow from "@/assets/img/arrow.png";
3
+ import check from "@/assets/img/check.png";
4
+
5
+ export default defineComponent({
6
+ name: "TopDownSelect",
7
+ props: {
8
+ // 传入数组 控制当前选项
9
+ option: {
10
+ type: Array,
11
+ default: [],
12
+ },
13
+ // 样式控制
14
+ optionStyle: {
15
+ type: String,
16
+ default: "",
17
+ },
18
+ // 蒙层显示
19
+ maskShow: {
20
+ type: Boolean,
21
+ default: true,
22
+ },
23
+ // 边框显示
24
+ border: {
25
+ type: Boolean,
26
+ default: false,
27
+ },
28
+ },
29
+ data() {
30
+ return {
31
+ value: {
32
+ id: "",
33
+ text: "",
34
+ },
35
+ lists: [],
36
+ expand: false,
37
+ active: "",
38
+ activeItem: {},
39
+ };
40
+ },
41
+ watch: {
42
+ // 监听渲染
43
+ option: {
44
+ handler(val, preVal) {
45
+ if (val && val.length) {
46
+ this.lists = val;
47
+ this.activeItem = val[0];
48
+ this.active = this.activeItem.id;
49
+ this.$emit("change", this.activeItem);
50
+ console.log("接受下拉:::", val, this.lists);
51
+ }
52
+ },
53
+ immediate: true,
54
+ deep: true,
55
+ },
56
+ },
57
+ computed: {
58
+ arrow() {
59
+ return arrow;
60
+ },
61
+ check() {
62
+ return check;
63
+ },
64
+ },
65
+ methods: {
66
+ // 展开当前下拉
67
+ handleExpand() {
68
+ this.expand ? (this.expand = false) : (this.expand = true);
69
+ console.log("handleExpand", this.expand);
70
+ },
71
+
72
+ // 点击选择
73
+ handleClick(item, index) {
74
+ console.log("当前选择:::", item, index);
75
+ this.active = item.id;
76
+ this.activeItem = item;
77
+ this.expand = false;
78
+ this.$emit("change", this.activeItem);
79
+ },
80
+ },
81
+ });
@@ -0,0 +1,82 @@
1
+ .top-select {
2
+ width: 100%;
3
+ position: relative;
4
+ background-color: #fff;
5
+
6
+ &-menu {
7
+ width: 100%;
8
+ height: 48px;
9
+ font-size: 15px;
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+ position: relative;
14
+ z-index: 80;
15
+ background-color: #fff;
16
+ box-shadow: 0 2px 12px rgba(100, 101, 102, 0.12);
17
+
18
+ &-border {
19
+ box-shadow: none;
20
+ }
21
+
22
+ &--arrow {
23
+ width: 10px;
24
+ height: 10px;
25
+ transition: transform 0.3s ease;
26
+ margin-left: 8px;
27
+ transform: rotate(0);
28
+ }
29
+
30
+ .arrow-active {
31
+ transform: rotate(180deg);
32
+ }
33
+ }
34
+
35
+ &-option {
36
+ width: 100%;
37
+ // height: 100%;
38
+ position: fixed;
39
+ z-index: 79;
40
+ // top: 48px;
41
+ left: 0;
42
+ transition: transform 0.3s ease;
43
+
44
+ &-border {
45
+ box-shadow: 0 2px 12px rgba(100, 101, 102, 0.12);
46
+ }
47
+
48
+ .option-items {
49
+ padding: 10px 16px;
50
+ height: 44px;
51
+ box-sizing: border-box;
52
+ font-size: 14px;
53
+ display: flex;
54
+ align-items: center;
55
+ position: relative;
56
+ z-index: 70;
57
+ background-color: #fff;
58
+ justify-content: space-between;
59
+
60
+ &-active {
61
+ color: #3c9cff;
62
+ font-weight: 600;
63
+ }
64
+
65
+ &-check {
66
+ width: 20px;
67
+ height: 20px;
68
+ }
69
+ }
70
+ &-mask {
71
+ background-color: #000;
72
+ opacity: 0.7;
73
+ width: 100%;
74
+ height: 100vh;
75
+ position: fixed;
76
+ z-index: 69;
77
+ transition: all 0.3s ease;
78
+ top: 0;
79
+ left: 0;
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <div class="top-select">
3
+ <div
4
+ class="top-select-menu"
5
+ @click="handleExpand"
6
+ :class="[border && 'top-select-menu-border']"
7
+ >
8
+ {{ activeItem.name }}
9
+ <img
10
+ class="top-select-menu--arrow"
11
+ :src="arrow"
12
+ :class="[expand ? 'arrow-active' : '']"
13
+ />
14
+ </div>
15
+ <div
16
+ v-if="maskShow"
17
+ class="top-select-option-mask"
18
+ :style="
19
+ expand
20
+ ? 'visibility: visible; opacity: .7;'
21
+ : 'visibility: hidden; opacity: 0;'
22
+ "
23
+ ></div>
24
+ <div
25
+ v-if="lists && lists.length"
26
+ class="top-select-option"
27
+ :class="[border && 'top-select-option-border']"
28
+ :style="`${
29
+ expand
30
+ ? 'transform: translateY(2%);visibility: visible; opacity: 1;'
31
+ : 'transform: translateY(-100%);visibility: hidden; opacity: 0'
32
+ };${optionStyle ? optionStyle : ''}`"
33
+ >
34
+ <div
35
+ class="option-items"
36
+ v-for="(v, i) in lists"
37
+ :key="v.id"
38
+ @click="handleClick(v, i)"
39
+ :class="[active == v.id ? 'option-items-active' : '']"
40
+ >
41
+ {{ v.name }}
42
+ <img
43
+ class="option-items-check"
44
+ v-if="active == v.id"
45
+ :src="check"
46
+ />
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </template>
51
+ <script src="./index.js"></script>
52
+ <style lang="scss" scoped>
53
+ @import "./index.scss";
54
+ </style>
@@ -0,0 +1,6 @@
1
+ import TopProcess from "./process/index.vue";
2
+ import attchViews from "./attchUpload/index.vue";
3
+ import ViewAttchList from "./viewAttchList/index.vue";
4
+ import TopSumbitPopup from "./submitPopup/index.vue";
5
+
6
+ export { TopProcess, attchViews, TopSumbitPopup, ViewAttchList };
@@ -0,0 +1,61 @@
1
+ import { defineComponent } from "vue-demi";
2
+
3
+ export default defineComponent({
4
+ name: "TopPopup",
5
+ props: {
6
+ titleText: { default: "top-popup", type: String }, // 标题文本
7
+ context: { default: "内容", type: String }, // 内容文本
8
+ cancelText: { default: "取消", type: String }, // 取消按钮文案
9
+ comfigText: { default: "确定", type: String }, // 确定按钮文案
10
+ comfig: { default: null, type: Function }, // 确定方法
11
+ cancel: { default: null, type: Function }, // 取消方法
12
+ isMask: { default: true, type: Boolean }, // 是否开启蒙版
13
+ isMaskClose: { default: true, type: Boolean }, // 蒙版关闭功能
14
+ isTips: { default: false, type: Boolean }, //判断当前是否为dialog,
15
+ isDrawer: { default: false, type: Boolean }, // 抽屉模式
16
+ visible: { default: false, type: Boolean }, // 展示
17
+ isIndex: { type: Number }, // 层级
18
+ width: { type: String, default: "95vw" },
19
+ },
20
+ data() {
21
+ return {
22
+ show: false,
23
+ };
24
+ },
25
+ watch: {
26
+ visible: {
27
+ handler(val, preVal) {
28
+ this.show = val;
29
+ },
30
+ immediate: true,
31
+ },
32
+ },
33
+
34
+ methods: {
35
+ handleOpen() {
36
+ this.show = true;
37
+ },
38
+ handleClose() {
39
+ this.show = false;
40
+ this.$emit("update:visible", false);
41
+ },
42
+ handleCancel() {
43
+ typeof this.cancel === "function" && this.cancel();
44
+ this.handleClose();
45
+ },
46
+ handleComfig() {
47
+ typeof this.comfig === "function" && this.comfig();
48
+ },
49
+ },
50
+ mounted() {
51
+ // 渲染组件到body
52
+ this.$nextTick(() => {
53
+ const body = document.querySelector("body");
54
+ if (body.append) {
55
+ body.append(this.$el);
56
+ } else {
57
+ body.appendChild(this.$el);
58
+ }
59
+ });
60
+ },
61
+ });
@@ -0,0 +1,174 @@
1
+ .top-popup-zindex{
2
+ position: relative;
3
+ }
4
+
5
+ .top-popup {
6
+ width: 100%;
7
+ position: fixed;
8
+ left: 0;
9
+ background-color: #fff;
10
+ border-radius: 20px 20px 0 0;
11
+ padding: 0 20px;
12
+ box-sizing: border-box;
13
+ transition: transform 0.3s ease;
14
+ bottom: 0;
15
+ }
16
+ .top-popup-mask {
17
+ position: fixed;
18
+ width: 100vw;
19
+ height: 100vh;
20
+ background-color: #000;
21
+ opacity: 0.7;
22
+ top: 0;
23
+ left: 0;
24
+ transition: all 0.3s ease;
25
+ }
26
+ .top-popup-header {
27
+ display: flex;
28
+ justify-content: space-between;
29
+ align-items: center;
30
+ padding: 10px 0;
31
+ font-size: 15px;
32
+ background-color: #fff;
33
+ position: relative;
34
+ z-index: 209;
35
+ }
36
+
37
+ .top-popup-header .header-title {
38
+ font-size: 16px;
39
+ font-weight: 700;
40
+ color: #333;
41
+ }
42
+
43
+ .top-popup-header .header-cancel {
44
+ color: #333;
45
+ }
46
+ .top-popup-header .header-comfig {
47
+ color: #1389ff;
48
+ }
49
+
50
+ .top-popup-body {
51
+ overflow-x: hidden;
52
+ overflow-y: auto;
53
+ max-height: 80vh;
54
+ min-height: 65vh;
55
+ }
56
+
57
+ .top-tips {
58
+ width: 80vw;
59
+ /* height: 200px; */
60
+ border-radius: 11px;
61
+ background-color: #fff;
62
+ position: fixed;
63
+ top: calc(50% - 100px);
64
+ left: calc(50% - 40vw);
65
+ box-sizing: border-box;
66
+ transition: all 0.3s ease;
67
+ }
68
+
69
+ .top-tips-header {
70
+ display: flex;
71
+ flex-direction: row;
72
+ justify-content: center;
73
+ padding-top: 25px;
74
+ font-size: 15px;
75
+ color: #323233;
76
+ background-color: #fff;
77
+ border-radius: 11px;
78
+ }
79
+
80
+ .top-tips-body {
81
+ display: flex;
82
+ flex-direction: row;
83
+ justify-content: center;
84
+ align-items: center;
85
+ padding: 20px;
86
+ padding-top: 8px;
87
+ font-size: 14px;
88
+ color: #6c6c6c;
89
+ }
90
+
91
+ .top-tips-footer {
92
+ display: flex;
93
+ flex-direction: row;
94
+ border-top-color: #f5f5f5;
95
+ border-top-style: solid;
96
+ border-top-width: 1px;
97
+ position: relative;
98
+ }
99
+ .top-tips-footer::before {
100
+ content: "";
101
+ position: absolute;
102
+ width: 100%;
103
+ height: 0.5px;
104
+ top: 0;
105
+ left: 0;
106
+ background-color: #f2f2f2;
107
+ }
108
+
109
+ .top-tips-btn {
110
+ display: flex;
111
+ flex: 1;
112
+ flex-direction: row;
113
+ justify-content: center;
114
+ align-items: center;
115
+ height: 45px;
116
+ position: relative;
117
+ font-size: 16px;
118
+ color: #333;
119
+ }
120
+
121
+ .top-tips-btn:last-child {
122
+ color: #ee0a24;
123
+ }
124
+
125
+ .top-tips-btn:last-child::before {
126
+ content: "";
127
+ position: absolute;
128
+ width: 1px;
129
+ height: 100%;
130
+ top: 0;
131
+ left: 0;
132
+ background-color: #f2f2f2;
133
+ }
134
+
135
+ .top-popup-drawer {
136
+ width: 95vw;
137
+ height: 100vh;
138
+ position: fixed;
139
+ right: 0;
140
+ background-color: #f2f3ff;
141
+ box-sizing: border-box;
142
+ transition: transform 0.3s ease;
143
+ bottom: 0;
144
+ transform: translateX(100%);
145
+ }
146
+ .top-popup-drawer--active {
147
+ transform: translateX(0);
148
+ }
149
+
150
+ .top-popup-drawer-header {
151
+ display: flex;
152
+ justify-content: space-between;
153
+ align-items: center;
154
+ padding: 10px 20px;
155
+ font-size: 15px;
156
+ position: relative;
157
+ background-color: #fff;
158
+ z-index: 100;
159
+ }
160
+
161
+ .top-popup-drawer-header::after{
162
+ content: "";
163
+ position: absolute;
164
+ left: 0;
165
+ bottom: 0;
166
+ width: 100%;
167
+ height: 1px;
168
+ background-color: #f2f2f2;
169
+ }
170
+
171
+ .top-popup-drawer--body {
172
+ height: calc(100% - 40px);
173
+ overflow-y: auto;
174
+ }
@@ -0,0 +1,79 @@
1
+ <template>
2
+ <div
3
+ class="top-popup-zindex"
4
+ :style="`${isIndex ? `z-index:${isIndex}` : ''}`"
5
+ >
6
+ <div
7
+ class="top-popup-mask"
8
+ :style="
9
+ show && isMask
10
+ ? 'visibility: visible; opacity: .7;'
11
+ : 'visibility: hidden; opacity: 0;'
12
+ "
13
+ @click="isMaskClose && handleClose()"
14
+ ></div>
15
+ <div
16
+ v-if="!isTips && !isDrawer"
17
+ class="top-popup"
18
+ :style="
19
+ show
20
+ ? 'transform: translateY(0)'
21
+ : 'transform: translateY(100%)'
22
+ "
23
+ >
24
+ <div class="top-popup-header">
25
+ <div class="header-cancel" @click="handleCancel">
26
+ {{ cancelText }}
27
+ </div>
28
+ <div class="header-title">{{ titleText }}</div>
29
+ <div class="header-comfig" @click="handleComfig">
30
+ {{ comfigText }}
31
+ </div>
32
+ </div>
33
+ <div class="top-popup-body">
34
+ <slot name="default"></slot>
35
+ </div>
36
+ </div>
37
+ <div
38
+ v-else-if="!isTips && isDrawer"
39
+ class="top-popup-drawer"
40
+ :class="show ? 'top-popup-drawer--active' : ''"
41
+ :style="width ? `width:${width};` : ''"
42
+ >
43
+ <div class="top-popup-drawer-header">
44
+ <div class="header-cancel" @click="handleCancel">
45
+ 关闭
46
+ </div>
47
+ <div class="header-title">{{ titleText }}</div>
48
+ <div class="header-comfig" style="width: 20px;"></div>
49
+ </div>
50
+ <div class="top-popup-drawer--body">
51
+ <slot name="default"></slot>
52
+ </div>
53
+ </div>
54
+ <div
55
+ class="top-tips"
56
+ v-else-if="isTips && !isDrawer"
57
+ :style="
58
+ show
59
+ ? 'visibility: visible; opacity: 1; transform: scale(1)'
60
+ : 'visibility: hidden; opacity: 0; transform: scale(1.2)'
61
+ "
62
+ >
63
+ <div class="top-tips-header">{{ titleText }}</div>
64
+ <div class="top-tips-body">{{ context }}</div>
65
+ <div class="top-tips-footer">
66
+ <div class="top-tips-btn" @click="handleCancel">
67
+ {{ cancelText }}
68
+ </div>
69
+ <div class="top-tips-btn" @click="handleComfig">
70
+ {{ comfigText }}
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </template>
76
+ <script src="./index.js"></script>
77
+ <style lang="scss" scoped>
78
+ @import "./index.scss";
79
+ </style>
@@ -0,0 +1,36 @@
1
+ import { defineComponent } from "vue-demi";
2
+
3
+ export default defineComponent({
4
+ name: "PreView",
5
+ props: {
6
+ file: {
7
+ type: String,
8
+ default: "",
9
+ },
10
+ },
11
+ data() {
12
+ return {
13
+ url: "",
14
+ video: ["mp4", "avi", "rmvb"],
15
+ videoShow: false,
16
+ };
17
+ },
18
+ watch: {
19
+ file: {
20
+ handler(val, preVal) {
21
+ if (
22
+ this.video.includes(val.substring(val.lastIndexOf(".") + 1))
23
+ ) {
24
+ this.videoShow = true;
25
+ this.url = val;
26
+ } else {
27
+ this.videoShow = false;
28
+ let ssl = val.indexOf("https://") == -1 ? 0 : 1;
29
+ this.url = `https://wdyl.ddzg.cn:8089/?ssl=${ssl}&furl=${val}`;
30
+ }
31
+ },
32
+ immediate: true,
33
+ deep: true,
34
+ },
35
+ },
36
+ });
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <div style="width: 100%; height: calc(100% - 40px);">
3
+ <video style="height: 100%; width: 100vw;" controls v-if="videoShow">
4
+ <source :src="url" type="video/mp4" />
5
+ </video>
6
+
7
+ <iframe
8
+ v-else
9
+ style="height: 100%; border: unset; width: 100vw;"
10
+ :src="url"
11
+ >
12
+ </iframe>
13
+ </div>
14
+ </template>
15
+ <script src="./index.js"></script>