ui-process-h5 0.1.36 → 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 (102) 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 +48 -20
  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/arrow-right.png +0 -0
  12. package/src/assets/img/arrow.png +0 -0
  13. package/src/assets/img/check.png +0 -0
  14. package/src/assets/js/auth.js +41 -0
  15. package/src/assets/js/errorCode.js +6 -0
  16. package/src/assets/js/message.js +352 -0
  17. package/src/assets/js/request.js +90 -0
  18. package/src/assets/js/toast.js +239 -0
  19. package/src/assets/js/top.js +229 -0
  20. package/src/assets/js/utils.js +82 -0
  21. package/src/assets/js/vuePopper.js +123 -0
  22. package/src/assets/query.png +0 -0
  23. package/src/main.js +15 -0
  24. package/src/packages/attchUpload/index.js +371 -0
  25. package/src/packages/attchUpload/index.scss +136 -0
  26. package/src/packages/attchUpload/index.vue +173 -0
  27. package/src/packages/downSelect/index.js +81 -0
  28. package/src/packages/downSelect/index.scss +82 -0
  29. package/src/packages/downSelect/index.vue +54 -0
  30. package/src/packages/index.js +6 -0
  31. package/src/packages/popup/index.js +61 -0
  32. package/src/packages/popup/index.scss +174 -0
  33. package/src/packages/popup/index.vue +79 -0
  34. package/src/packages/preview/index.js +36 -0
  35. package/src/packages/preview/index.vue +15 -0
  36. package/src/packages/previewImage/index.js +158 -0
  37. package/src/packages/previewImage/index.scss +59 -0
  38. package/src/packages/previewImage/index.vue +32 -0
  39. package/{packages/components/process/src/process.vue → src/packages/process/index.js} +219 -440
  40. package/src/packages/process/index.scss +164 -0
  41. package/src/packages/process/index.vue +189 -0
  42. package/src/packages/process/operation/backNode.vue +393 -0
  43. package/src/packages/process/operation/cancel.vue +399 -0
  44. package/src/packages/process/operation/ccTask.vue +461 -0
  45. package/src/packages/process/operation/complete.vue +488 -0
  46. package/src/packages/process/operation/counterSign.vue +485 -0
  47. package/src/packages/process/operation/delegateTask.vue +480 -0
  48. package/src/packages/process/operation/restart.vue +305 -0
  49. package/src/packages/submitPopup/index.js +296 -0
  50. package/src/packages/submitPopup/index.scss +83 -0
  51. package/src/packages/submitPopup/index.vue +138 -0
  52. package/src/packages/tab/index.js +207 -0
  53. package/src/packages/tab/index.scss +176 -0
  54. package/src/packages/tab/index.vue +155 -0
  55. package/src/packages/tip/index.js +74 -0
  56. package/src/packages/tip/index.scss +82 -0
  57. package/src/packages/tip/index.vue +57 -0
  58. package/src/packages/viewAttchList/index.js +132 -0
  59. package/src/packages/viewAttchList/index.scss +76 -0
  60. package/src/packages/viewAttchList/index.vue +112 -0
  61. package/src/style.css +80 -0
  62. package/ui-process-h5/README.md +171 -0
  63. package/ui-process-h5/package.json +27 -0
  64. package/ui-process-h5/scripts/postinstall.mjs +14 -0
  65. package/ui-process-h5/scripts/switch-cli.mjs +4 -0
  66. package/ui-process-h5/scripts/utils.mjs +60 -0
  67. package/ui-process-h5/v2/style.css +1 -0
  68. package/ui-process-h5/v2/ui-process-h5.js +13467 -0
  69. package/ui-process-h5/v2/ui-process-h5.umd.cjs +67 -0
  70. package/ui-process-h5/v2.7/style.css +1 -0
  71. package/ui-process-h5/v2.7/ui-process-h5.js +12844 -0
  72. package/ui-process-h5/v2.7/ui-process-h5.umd.cjs +67 -0
  73. package/ui-process-h5/v3/style.css +1 -0
  74. package/ui-process-h5/v3/ui-process-h5.js +10336 -0
  75. package/ui-process-h5/v3/ui-process-h5.umd.cjs +55 -0
  76. package/vite.config.ts +78 -0
  77. package/packages/components/approval/index.js +0 -0
  78. package/packages/components/process/index.js +0 -8
  79. package/packages/components/process/src/attchlist-upload.vue +0 -585
  80. package/packages/components/process/src/operation/backNode.vue +0 -141
  81. package/packages/components/process/src/operation/cancel.vue +0 -170
  82. package/packages/components/process/src/operation/ccTask.vue +0 -170
  83. package/packages/components/process/src/operation/complete.vue +0 -224
  84. package/packages/components/process/src/operation/counterSign.vue +0 -178
  85. package/packages/components/process/src/operation/delegateTask.vue +0 -168
  86. package/packages/components/process/src/operation/restart.vue +0 -172
  87. package/packages/components/process/src/popup.vue +0 -230
  88. package/packages/components/process/src/tab.vue +0 -459
  89. package/packages/components/process/src/tip.vue +0 -207
  90. package/packages/index.js +0 -4
  91. /package/{packages/components/process/theme → src/assets}/img/add-file.png +0 -0
  92. /package/{packages/components/process/theme → src/assets}/img/del.png +0 -0
  93. /package/{packages/components/process/theme → src/assets}/img/doc.png +0 -0
  94. /package/{packages/components/process/theme → src/assets}/img/file.png +0 -0
  95. /package/{packages/components/process/theme → src/assets}/img/image.png +0 -0
  96. /package/{packages/components/process/theme → src/assets}/img/pdf.png +0 -0
  97. /package/{packages/components/process/theme → src/assets}/img/xls.png +0 -0
  98. /package/{packages/components/process/theme → src/assets}/img/zip.png +0 -0
  99. /package/{packages/components/process/theme → src/assets}/status/error.png +0 -0
  100. /package/{packages/components/process/theme → src/assets}/status/loading.png +0 -0
  101. /package/{packages/components/process/theme → src/assets}/status/success.png +0 -0
  102. /package/{packages/components/process/src → src/packages/process}/operation/index.js +0 -0
@@ -0,0 +1,171 @@
1
+ # ui-process-h5
2
+
3
+ > App 端 流程、附件上传、附件列表、送审插件
4
+
5
+ ## 安装
6
+
7
+ > vue2.7 以上版本安装指令
8
+ >
9
+ > > ```bash
10
+ > > npm i ui-process-h5 -D
11
+ > > ```
12
+
13
+ > vue2.7 以下版本安装指令
14
+ >
15
+ > > ```bash
16
+ > > npm i @vue/composition-api -D
17
+ > > npm i ui-process-h5 -D
18
+ > > ```
19
+
20
+ ## 使用
21
+
22
+ 在需要使用的组件内引入
23
+
24
+ ```js
25
+ import {
26
+ TopProcess,
27
+ attchViews,
28
+ TopSumbitPopup,
29
+ ViewAttchList,
30
+ } from "ui-process-h5";
31
+ export default {
32
+ components: { TopProcess, attchViews, TopSumbitPopup, ViewAttchList },
33
+ };
34
+ ```
35
+
36
+ ```html
37
+ <template>
38
+ <TopProcess
39
+ :processInstId="processInstId"
40
+ :processDefId="processDefId"
41
+ :formData="formData"
42
+ :appId="appId"
43
+ :isView="isView"
44
+ :userId="userId"
45
+ :request="request"
46
+ :tapList="tapList"
47
+ :selfTapList="selfTapList"
48
+ >
49
+ <slot></slot>
50
+ </TopProcess>
51
+ <attchViews
52
+ v-if="labels == '1'"
53
+ :limit="limit ? limit : -1"
54
+ :requires="requires"
55
+ :request="param.request"
56
+ :linkUrl="param.linkUrl"
57
+ @getValue="getValues"
58
+ />
59
+ <ViewAttchList :inList="inList"></ViewAttchList>
60
+ <TopSumbitPopup
61
+ :visible="visible"
62
+ :request="request"
63
+ :appId="appId"
64
+ :resubmit="resubmit"
65
+ :id="businessKey"
66
+ :businessType="businessType"
67
+ :todoParameter="todoParameter"
68
+ :isClearHistory="isClearHistory"
69
+ :title="title"
70
+ ></TopSumbitPopup>
71
+ </template>
72
+ <script>
73
+ import "ui-process-h5/ui-process-h5.css";
74
+ import {
75
+ TopProcess,
76
+ attchViews,
77
+ TopSumbitPopup,
78
+ ViewAttchList,
79
+ } from "ui-process-h5";
80
+ export default {
81
+ components: { TopProcess, attchViews, TopSumbitPopup, ViewAttchList },
82
+ data() {
83
+ return {
84
+ formData: {
85
+ businessKey: businessKey,
86
+ processInstId: processInstId,
87
+ processDefId: processDefId,
88
+ title: title,
89
+ subjectId: subjectId,
90
+ userId: userId,
91
+ userName: userName,
92
+ reason: reason,
93
+ meetingTheme: meetingTheme,
94
+ },
95
+ };
96
+ },
97
+ methods: {},
98
+ };
99
+ </script>
100
+ ```
101
+
102
+ ## 属性-Attributes (TopProcess)
103
+
104
+ | 参数 | 类型 | 默认值 | 说明 |
105
+ | ------------- | -------- | ------ | ----------------------------------------------- |
106
+ | tapList | Array | [] | tab 节点插入、自定义附件等信息 |
107
+ | selfTapList | Array | [] | 自定义 tab 节点,传入后覆盖原本参数 |
108
+ | processDefId | String | '' | 流程 ID |
109
+ | request | Object | null | axios 接口请求方法 [需要包含 get post 请求方式] |
110
+ | processInstId | String | '' | 流程实例 ID |
111
+ | userId | String | '' | 当前角色 id |
112
+ | formData | Object | {} | 集合数据 内部存储流程相关信息 |
113
+ | appId | String | '' | appId |
114
+ | getVars | Function | null | 业务方法 |
115
+ | endFunction | Function | null | 弹窗结束后执行方法 |
116
+
117
+ ## 属性-Attributes (attchViews)
118
+
119
+ | 参数 | 类型 | 默认值 | 说明 |
120
+ | -------- | -------- | ------- | ----------------------------------------------- |
121
+ | request | Object | null | axios 接口请求方法 [需要包含 get post 请求方式] |
122
+ | limit | [Number | String] | 4 | 最大上传数 |
123
+ | getValue | Function | null | 返回上传数据 url |
124
+ | requires | Boolean | false | 必填 |
125
+ | inComing | Array | Array | 回显已上传列表 |
126
+ | deletFn | Function | null | 组件本身提供静态删除功能,动态删除需传入相应方法 |
127
+
128
+ ## 属性-Attributes (ViewAttchList)
129
+
130
+ | 参数 | 类型 | 默认值 | 说明 |
131
+ | ------ | ----- | ------ | ------------ |
132
+ | inList | Array | [] | 附件列表展示 |
133
+
134
+ ## 属性-Attributes (TopSumbitPopup)
135
+
136
+ | 参数 | 类型 | 默认值 | 说明 |
137
+ | -------------- | ---------------- | ------ | ----------------------------------------------- |
138
+ | visible | Boolean | false | 展示参数 |
139
+ | isClearHistory | Boolean | false | 是否清除送审记录 |
140
+ | title | String | "" | 送审提交标题参数 |
141
+ | todoParameter | Object | {} | 发起流程时的其他参数 |
142
+ | businessType | [String, Number] | null | 业务类型 |
143
+ | id | String | "" | 业务 Id |
144
+ | resubmit | Boolean | false | 是否为重新提交 |
145
+ | request | Object | null | axios 接口请求方法 [需要包含 get post 请求方式] |
146
+ | appId | String | '' | appId |
147
+
148
+ > ### tapList-对象说明
149
+ >
150
+ | 属性名 | 类型 | 说明 |
151
+ | ------ | ------ | ---------------------------------------------------------------------------- |
152
+ | label | String | 选项卡 title |
153
+ | key | String | 选项卡 ID 请勿重复 defaultTabList 内已拥有的默认 key(a、b、c 为默认节点 key) |
154
+ | type | String | 插槽类型 默认 default 插槽 slot |
155
+ | slot | String | 插槽名 |
156
+ | sort | Number | 排序参数,无参数默认插入末尾 |
157
+
158
+ ### selfTapList-对象说明 同上
159
+
160
+ ### formData-对象说明
161
+
162
+ | 属性名 | 类型 | 说明 |
163
+ | ------------------------- | ------ | ----------- |
164
+ | businessKey | String | 业务 ID |
165
+ | processDefId | String | 流程 ID |
166
+ | processInstId | String | 流程实例 ID |
167
+ | title reason meetingTheme | String | 标题 |
168
+ | userId | String | 角色 id |
169
+ | userName | String | 姓名 |
170
+
171
+ 附件相关列表,参考 getValue 回调参数
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "ui-process-h5",
3
+ "version": "1.0.5",
4
+ "description": "> app端 流程插件",
5
+ "main": "./ui-process-h5.umd.cjs",
6
+ "style": "./style.css",
7
+ "type": "module",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./ui-process-h5.js",
11
+ "require": "./ui-process-h5.umd.cjs"
12
+ },
13
+ "./style.css": {
14
+ "import": "./style.css",
15
+ "require": "./style.css"
16
+ }
17
+ },
18
+ "scripts": {
19
+ "test": "echo \"Error: no test specified\" && exit 1",
20
+ "postinstall": "node scripts/postinstall.mjs"
21
+ },
22
+ "devDependencies": {
23
+ "checked-pick-app": "^1.0.5"
24
+ },
25
+ "author": "",
26
+ "license": "ISC"
27
+ }
@@ -0,0 +1,14 @@
1
+ import { isNull, switchVersion } from './utils.mjs'
2
+ try {
3
+ import('vue').then(res => {
4
+ const version = isNull(res.version) ? res.default.version : res.version
5
+ if (isNull(version))
6
+ console.warn('[vue-demi-sfc-component-template] Vue is not found. Please run "npm install vue" to install.')
7
+ else
8
+ switchVersion(version)
9
+ })
10
+ } catch (error) {
11
+ console.log('error', error)
12
+ }
13
+
14
+
@@ -0,0 +1,4 @@
1
+ import { switchVersion } from './utils.mjs'
2
+
3
+ const version = process.argv[2]
4
+ switchVersion(version)
@@ -0,0 +1,60 @@
1
+ import path from 'path'
2
+ import fs from 'fs'
3
+ import { fileURLToPath } from 'url'
4
+ const __filename = fileURLToPath(import.meta.url)
5
+ const __dirname = path.dirname(__filename)
6
+
7
+ function switchVersion(version) {
8
+ const src = getLibDir(version)
9
+ const dest = path.join(src, '..')
10
+ console.log(`[frontend-shared] switch ui-process-h5 to vue version ${version}`)
11
+ copyDir(src, dest)
12
+ }
13
+
14
+ function getLibDir(version) {
15
+ const dirname = getDirName(version)
16
+ return path.join(__dirname, `../../ui-process-h5/${dirname}`)
17
+ }
18
+
19
+ function getDirName(version) {
20
+ return String(version).startsWith('2.7.') ? 'v2.7' : String(version).startsWith('2') ? 'v2' : 'v3'
21
+ }
22
+
23
+ function copyDir(src, dest) {
24
+ console.log(`copying from ${src} to ${dest}`)
25
+ // unlink for pnpm, #92
26
+ try {
27
+ fs.unlinkSync(dest)
28
+ } catch (error) { }
29
+ try {
30
+ copyRecursiveSync(src, dest)
31
+ } catch (error) {
32
+ console.error(error)
33
+ }
34
+ }
35
+
36
+ function copyRecursiveSync(src, dest) {
37
+ const exists = fs.existsSync(src)
38
+ const stats = exists && fs.statSync(src)
39
+ const isDirectory = stats && stats.isDirectory()
40
+ if (isDirectory) {
41
+ !fs.existsSync(dest) && fs.mkdirSync(dest)
42
+ fs.readdirSync(src).forEach((childItemName) => {
43
+ copyRecursiveSync(path.join(src, childItemName), path.join(dest, childItemName))
44
+ })
45
+ } else {
46
+ fs.copyFileSync(src, dest)
47
+ }
48
+ }
49
+ // 判断是否为空
50
+ function isNull(str) {
51
+ if (str === null) return true;
52
+ if (str === undefined) return true;
53
+ if (str === "null") return true;
54
+ if (str === "NaN") return true;
55
+ if (str === "undefined") return true;
56
+ if (str.length === 0) return true;
57
+ // if (/^\s*$/i.test(str)) return true;
58
+ return false;
59
+ }
60
+ export { getLibDir, copyDir, switchVersion, isNull }
package/index.html ADDED
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <meta name="format-detection" content="telephone=yes"/>
7
+ </head>
8
+ <body>
9
+ <div id="app"></div>
10
+ <script type="module" src="/src/main.js"></script>
11
+ </body>
12
+ </html>
package/package.json CHANGED
@@ -2,28 +2,56 @@
2
2
  "name": "ui-process-h5",
3
3
  "private": false,
4
4
  "description": "流程组件",
5
- "version": "0.1.36",
5
+ "version": "0.1.40",
6
6
  "type": "module",
7
- "files": [
8
- "packages/*",
9
- "Readme.md",
10
- "package.json"
11
- ],
12
- "publicConfig": {
13
- "registry": "http://registry.npmjs.org/"
14
- },
15
- "main": "./packages/index.js",
16
- "module": "./packages/index.js",
17
- "exports": {
18
- ".": {
19
- "import": "./packages/index.js",
20
- "require": "./packages/index.js"
21
- }
7
+ "scripts": {
8
+ "dev": "vite --host 0.0.0.0",
9
+ "build": "npm run clean && run-s build:*",
10
+ "clean": "rimraf ./ui-process-h5",
11
+ "dev:2": "npm run switch:2 && vite",
12
+ "dev:2.7": "npm run switch:2.7 && vite",
13
+ "dev:3": "npm run switch:3 && vite --force",
14
+ "switch:2": "vue-demi-switch 2 vue2",
15
+ "switch:2.7": "vue-demi-switch 2.7 vue2.7",
16
+ "switch:3": "vue-demi-switch 3 vue3",
17
+ "build:2": "npm run switch:2 && vite build",
18
+ "build:2.7": "npm run switch:2.7 && vite build",
19
+ "build:3": "npm run switch:3 && vite build"
22
20
  },
23
21
  "dependencies": {
24
- "vue-demi": "^0.14.0"
22
+ "@types/node": "^18.16.3",
23
+ "@vue/composition-api": "^1.7.1",
24
+ "axios": "^1.3.6",
25
+ "js-cookie": "^3.0.5",
26
+ "json-bigint": "^1.0.0",
27
+ "npm-run-all": "^4.1.5",
28
+ "perfect-scrollbar": "^1.5.5",
29
+ "sass": "^1.62.1",
30
+ "vue-demi": "^0.13.8"
31
+ },
32
+ "peerDependencies": {
33
+ "@vue/composition-api": "^1.7.0",
34
+ "vue": "^2.0.0 || >=3.0.0"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "@vue/composition-api": {
38
+ "optional": true
39
+ }
25
40
  },
26
- "engines": {
27
- "node": ">=16.0.0"
41
+ "devDependencies": {
42
+ "@vitejs/plugin-vue": "^3.0.3",
43
+ "checked-pick-app": "1.0.5",
44
+ "postcss-relaxed-unit": "^1.1.1",
45
+ "rimraf": "^3.0.2",
46
+ "rollup-plugin-copy": "^3.4.0",
47
+ "vite": "^3.0.7",
48
+ "vite-plugin-vue2": "^2.0.2",
49
+ "vue": "2.6.14",
50
+ "vue-eslint-parser": "^9.0.3",
51
+ "vue-template-compiler": "2.6.14",
52
+ "vue-tsc": "^0.39.5",
53
+ "vue2": "npm:vue@2.6.14",
54
+ "vue2.7": "npm:vue@2.7.14",
55
+ "vue3": "npm:vue@^3.2.36"
28
56
  }
29
- }
57
+ }
package/src/App.vue ADDED
@@ -0,0 +1,151 @@
1
+ <template>
2
+ <TopProcess
3
+ processInstId="572405e4-e0dc-40fc-9a95-2b20f5bdfbf1"
4
+ processDefId="obj_f81cf369ac6e4bf889fc69be430ca6da"
5
+ :formData="formData"
6
+ appId="com.awspaas.user.apps.leave"
7
+ :isView="false"
8
+
9
+ userId="8c7d012761a680dff78b19e10e794c99"
10
+ :request="request"
11
+ >
12
+ <!-- :getVars="getVars" -->
13
+ <div>展示当前形态</div>
14
+ </TopProcess>
15
+ </template>
16
+ <script>
17
+ import { TopProcess } from "@/packages/index.js";
18
+ import request from "@/assets/js/request";
19
+ import { defineComponent } from "vue-demi";
20
+ import { setToken } from "@/assets/js/auth";
21
+ import { departPerson } from "checked-pick-app";
22
+ export default {
23
+ data() {
24
+ return {
25
+ formData: {
26
+ businessKey: "6a9aaf5742572e82b5d89d6f7e52e2f2",
27
+ processInstId: "572405e4-e0dc-40fc-9a95-2b20f5bdfbf1",
28
+ processDefId: "obj_f81cf369ac6e4bf889fc69be430ca6da",
29
+ title: "测试",
30
+ subjectId: "3a4ef115e32c85a78239e3f5f76b9637",
31
+ tel: "15107910151",
32
+ userId: "8c7d012761a680dff78b19e10e794c99",
33
+ userName: "刘博文",
34
+ },
35
+ appId: "com.awspaas.user.apps.leave",
36
+ isView: false,
37
+ info: {},
38
+ bizId: "",
39
+ style: {
40
+ color: "#333",
41
+ disableColor: "#F7F6F6",
42
+ },
43
+ param: {
44
+ realStartTime: "",
45
+ realEndTime: "",
46
+ estimateHours: 0,
47
+ estimateMinutes: 0,
48
+ },
49
+ realDays: "",
50
+ timeLoading: false,
51
+ processIDS: "",
52
+ request: request,
53
+ // 选人组件
54
+ visible: false,
55
+ entity: {
56
+ source: "0",
57
+ type: "5",
58
+ request: this.request, //'http://59.53.91.231:2100' 0002
59
+ businessId: "0003",
60
+ codeType: [1, 2, 3], // 可选类型 1-主体 2-部门 3-人员
61
+ multiple: true, // 是否多选
62
+ },
63
+ };
64
+ },
65
+ components: {
66
+ /* topProcess, */
67
+ TopProcess,
68
+ departPerson,
69
+ },
70
+ onLoad(e) {
71
+ this.bizId = e.bizId;
72
+ this.getInfo();
73
+
74
+ this.processIDS = e.processId;
75
+ },
76
+ mounted() {
77
+ console.log("this.request", this.request);
78
+ setToken("7d9af038-caae-46b7-b93a-e7a7fcb7d4a4");
79
+ console.log("processIDS", request);
80
+ },
81
+ methods: {
82
+ getVars() {
83
+ console.log("getVars");
84
+ return true;
85
+ },
86
+ },
87
+ };
88
+ </script>
89
+ <style lang="scss">
90
+ body {
91
+ margin: 0;
92
+ }
93
+ #app {
94
+ font-family: Avenir, Helvetica, Arial, sans-serif;
95
+ -webkit-font-smoothing: antialiased;
96
+ -moz-osx-font-smoothing: grayscale;
97
+ text-align: center;
98
+ color: #2c3e50;
99
+ width: 100vw;
100
+ height: 100vh;
101
+ }
102
+ .info-box {
103
+ background-color: #fff;
104
+ padding: 10px;
105
+ .info {
106
+ display: flex;
107
+ justify-content: space-between;
108
+ font-size: 14px;
109
+ margin-bottom: 10px;
110
+ b {
111
+ font-weight: 400;
112
+ color: #959595;
113
+ }
114
+ }
115
+ .time-info {
116
+ background-color: #f6f6f6;
117
+ padding: 10px;
118
+ border-radius: 10px;
119
+ margin-bottom: 10px;
120
+ div {
121
+ margin-bottom: 10px;
122
+ font-size: 14px;
123
+ display: flex;
124
+ justify-content: space-between;
125
+ i {
126
+ color: #000;
127
+ font-style: normal;
128
+ font-weight: bold;
129
+ }
130
+ em {
131
+ font-style: normal;
132
+ font-size: 12px;
133
+ color: #4e87d4;
134
+ }
135
+ }
136
+ }
137
+ }
138
+ ::v-deep .uni-date-x--border {
139
+ border: none;
140
+ }
141
+ em {
142
+ font-style: normal;
143
+ font-size: 12px;
144
+ color: #4e87d4;
145
+ }
146
+ .ren-title {
147
+ font-weight: bold;
148
+ font-size: 16px;
149
+ margin-bottom: 18px;
150
+ }
151
+ </style>
@@ -0,0 +1,57 @@
1
+ @font-face {
2
+ font-family: "iconfont";
3
+ src: url("iconfont.ttf") format("truetype");
4
+ }
5
+
6
+ .iconfont {
7
+ font-family: "iconfont" !important;
8
+ font-size: 16px;
9
+ font-style: normal;
10
+ -webkit-font-smoothing: antialiased;
11
+ -moz-osx-font-smoothing: grayscale;
12
+ }
13
+
14
+ .icon-jiantouyou:before {
15
+ content: "\e62d";
16
+ }
17
+
18
+ .icon-chaxun:before {
19
+ content: "\e6b4";
20
+ }
21
+
22
+ .icon-warning-circle-fill:before {
23
+ content: "\e848";
24
+ }
25
+
26
+ .icon-error-fill:before {
27
+ content: "\e839";
28
+ }
29
+
30
+ .icon-info-fill:before {
31
+ content: "\e83d";
32
+ }
33
+
34
+ .icon-success-fill:before {
35
+ content: "\e842";
36
+ }
37
+
38
+ .icon-nan:before {
39
+ content: "\e623";
40
+ }
41
+
42
+ .icon-nv:before {
43
+ content: "\e624";
44
+ }
45
+
46
+ .icon-cuowuguanbiquxiao:before {
47
+ content: "\e8e7";
48
+ }
49
+
50
+ .icon-zuzhijigou:before {
51
+ content: "\e608";
52
+ }
53
+
54
+ .icon-pedigree:before {
55
+ content: "\e60e";
56
+ }
57
+
Binary file
Binary file
Binary file
@@ -0,0 +1,41 @@
1
+ import Cookies from 'js-cookie'
2
+
3
+ const TokenKey = 'Admin-Token'
4
+
5
+ const ExpiresInKey = 'Admin-Expires-In'
6
+
7
+ export function getToken() {
8
+ return Cookies.get(TokenKey)
9
+ }
10
+
11
+ export function setToken(token) {
12
+ return Cookies.set(TokenKey, token)
13
+ }
14
+
15
+ export function removeToken() {
16
+ return Cookies.remove(TokenKey)
17
+ }
18
+
19
+ export function getExpiresIn() {
20
+ return Cookies.get(ExpiresInKey) || -1
21
+ }
22
+
23
+ export function setExpiresIn(time) {
24
+ return Cookies.set(ExpiresInKey, time)
25
+ }
26
+
27
+ export function removeExpiresIn() {
28
+ return Cookies.remove(ExpiresInKey)
29
+ }
30
+
31
+ export function setSystemId(systemId) {
32
+ return Cookies.set('systemId', systemId)
33
+ }
34
+
35
+ export function getSystemId() {
36
+ return Cookies.get('systemId') || 'oa'
37
+ }
38
+
39
+ export function removeSystemId() {
40
+ return Cookies.remove('systemId')
41
+ }
@@ -0,0 +1,6 @@
1
+ export default {
2
+ '401': '认证失败,无法访问系统资源',
3
+ '403': '当前操作没有权限',
4
+ '404': '访问资源不存在',
5
+ 'default': '系统未知错误,请反馈给管理员'
6
+ }