widget.qw 1.0.24 → 1.0.25

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 (101) hide show
  1. package/.env.development +9 -9
  2. package/.env.production +8 -8
  3. package/README.md +73 -73
  4. package/build/style.css +468 -482
  5. package/build/widget.qw.es.js +1628 -2374
  6. package/build/widget.qw.umd.js +1540 -2286
  7. package/index.html +17 -17
  8. package/package.json +47 -47
  9. package/src/App.vue +26 -26
  10. package/src/api/index.js +149 -141
  11. package/src/components/AuditBar.vue +340 -340
  12. package/src/components/BillCard.vue +155 -155
  13. package/src/components/CascaderPicker.vue +87 -87
  14. package/src/components/CascaderPop.vue +319 -330
  15. package/src/components/CheckGroup.vue +113 -113
  16. package/src/components/DatetimePicker/DatetimePop.vue +342 -342
  17. package/src/components/DatetimePicker/index.vue +112 -112
  18. package/src/components/DayDropdown.vue +56 -56
  19. package/src/components/FilePicker.vue +113 -113
  20. package/src/components/Input.vue +71 -71
  21. package/src/components/MonthDropdown.vue +51 -51
  22. package/src/components/MultiPicker.vue +123 -123
  23. package/src/components/SecretNotify.js +5 -5
  24. package/src/components/Sheet.vue +92 -92
  25. package/src/components/SingleApiPicker.vue +112 -112
  26. package/src/components/SinglePicker.vue +102 -102
  27. package/src/components/SingleUserSelector.vue +425 -425
  28. package/src/components/Switch.vue +64 -64
  29. package/src/components/TreePicker.vue +113 -113
  30. package/src/components/UserPicker.vue +106 -106
  31. package/src/components/UserProfile.vue +131 -131
  32. package/src/components/UsersPicker.vue +118 -118
  33. package/src/components/YearDropdown.vue +59 -59
  34. package/src/components/data_selector.vue +280 -280
  35. package/src/components/image_picker.vue +114 -114
  36. package/src/components/images_picker.vue +139 -139
  37. package/src/components/index.js +157 -157
  38. package/src/components/mult_list_selector.vue +155 -155
  39. package/src/components/subdepartment_selector.vue +481 -481
  40. package/src/components/user_selector.vue +639 -639
  41. package/src/components/widget/DataPop.vue +95 -95
  42. package/src/components/widget/TreePop.vue +88 -88
  43. package/src/components/widget/UserPop.vue +347 -347
  44. package/src/main.js +117 -117
  45. package/src/router/index.ts +168 -168
  46. package/src/util/array_util.js +32 -32
  47. package/src/util/auth_util.js +72 -72
  48. package/src/util/bool_util.js +5 -5
  49. package/src/util/bus.js +1 -1
  50. package/src/util/cache_util.js +18 -18
  51. package/src/util/errer_code.js +6 -6
  52. package/src/util/eval_util.js +19 -19
  53. package/src/util/icon_util.js +36 -36
  54. package/src/util/image_util.js +27 -27
  55. package/src/util/index.js +55 -55
  56. package/src/util/num_util.js +70 -70
  57. package/src/util/obj_util.js +28 -28
  58. package/src/util/request.js +73 -73
  59. package/src/util/request_json.js +71 -71
  60. package/src/util/request_json_mute.js +65 -65
  61. package/src/util/request_upload.js +79 -79
  62. package/src/util/route_util.js +31 -31
  63. package/src/util/str_util.js +143 -143
  64. package/src/util/time_util.js +406 -406
  65. package/src/util/toast_util.js +24 -24
  66. package/src/util/tree_util.js +153 -153
  67. package/src/util/validate.js +182 -182
  68. package/src/util/vue_filter.js +223 -223
  69. package/src/views/auditbar/index.vue +65 -65
  70. package/src/views/billcard/index.vue +45 -45
  71. package/src/views/cascaderpicker/index copy.vue +0 -0
  72. package/src/views/cascaderpicker/index.vue +0 -0
  73. package/src/views/cascaderpop/index.vue +90 -90
  74. package/src/views/checkgroup/index.vue +35 -35
  75. package/src/views/dataSelector/index.vue +48 -48
  76. package/src/views/datetimepicker/index.vue +34 -34
  77. package/src/views/daydropdown/index.vue +31 -31
  78. package/src/views/filepicker/index.vue +31 -31
  79. package/src/views/imagepicker/index.vue +31 -31
  80. package/src/views/imagespicker/index.vue +31 -31
  81. package/src/views/input/index.vue +34 -34
  82. package/src/views/monthdropdown/index.vue +31 -31
  83. package/src/views/multListSelector/index.vue +61 -61
  84. package/src/views/multipicker/index.vue +36 -36
  85. package/src/views/productSelector/index.vue +35 -35
  86. package/src/views/projectdropdown/index.vue +31 -31
  87. package/src/views/projectpicker/index.vue +41 -41
  88. package/src/views/secretnotify/index.vue +27 -27
  89. package/src/views/sheet/index.vue +45 -45
  90. package/src/views/singlepicker/index.vue +35 -35
  91. package/src/views/subdepartmentSelector/index.vue +40 -40
  92. package/src/views/switch/index.vue +34 -34
  93. package/src/views/treepicker/index.vue +41 -41
  94. package/src/views/userSelector/index.vue +54 -54
  95. package/src/views/userSelectorNew/index.vue +45 -45
  96. package/src/views/userpicker/index.vue +43 -43
  97. package/src/views/userprofile/index.vue +30 -30
  98. package/src/views/userspicker/index.vue +43 -43
  99. package/src/views/yeardropdown/index.vue +32 -32
  100. package/src/vm/index.js +1 -1
  101. package/vite.config.ts +122 -122
@@ -1,35 +1,35 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-input label="单号" v-model="data.text" :auth="data.auth" :type="data.type" :rows="data.rows" :autosize="data.autosize" />
4
- </div>
5
- </template>
6
-
7
- <script setup>
8
- import { onMounted, reactive, watch } from "vue";
9
-
10
- const data = reactive({
11
- auth:'require',
12
- text: 'abc',
13
- type: 'textarea',
14
- rows: 1,
15
- autosize: true
16
- })
17
-
18
- watch(()=>data.text,(newVal,oldVal)=>{
19
- console.log(newVal,oldVal)
20
- })
21
- </script>
22
-
23
- <style lang="scss" scoped>
24
- .page {
25
- height: 100vh;
26
- background: #fff;
27
- text-align: center;
28
- background-size: cover;
29
- display: flex;
30
- flex-direction: column;
31
- justify-content: flex-start;
32
- padding: 80px 15px 0 15px;
33
- box-sizing: border-box;
34
- }
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-input label="单号" v-model="data.text" :auth="data.auth" :type="data.type" :rows="data.rows" :autosize="data.autosize" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { onMounted, reactive, watch } from "vue";
9
+
10
+ const data = reactive({
11
+ auth:'require',
12
+ text: 'abc',
13
+ type: 'textarea',
14
+ rows: 1,
15
+ autosize: true
16
+ })
17
+
18
+ watch(()=>data.text,(newVal,oldVal)=>{
19
+ console.log(newVal,oldVal)
20
+ })
21
+ </script>
22
+
23
+ <style lang="scss" scoped>
24
+ .page {
25
+ height: 100vh;
26
+ background: #fff;
27
+ text-align: center;
28
+ background-size: cover;
29
+ display: flex;
30
+ flex-direction: column;
31
+ justify-content: flex-start;
32
+ padding: 80px 15px 0 15px;
33
+ box-sizing: border-box;
34
+ }
35
35
  </style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <div class="page">
3
- <van-dropdown-menu>
4
- <widget-qw-month-dropdown v-model="formData.month" />
5
- </van-dropdown-menu>
6
- </div>
7
- </template>
8
-
9
- <script setup>
10
- import { reactive, onMounted } from "vue";
11
- const formData = reactive({
12
- month: 0
13
- })
14
-
15
- onMounted(() => {
16
- })
17
- </script>
18
-
19
- <style lang="scss" scoped>
20
- .page {
21
- height: 100vh;
22
- background: #fff;
23
- text-align: center;
24
- background-size: cover;
25
- display: flex;
26
- flex-direction: column;
27
- justify-content: flex-start;
28
- padding: 80px 15px 0 15px;
29
- box-sizing: border-box;
30
- }
31
- </style>
1
+ <template>
2
+ <div class="page">
3
+ <van-dropdown-menu>
4
+ <widget-qw-month-dropdown v-model="formData.month" />
5
+ </van-dropdown-menu>
6
+ </div>
7
+ </template>
8
+
9
+ <script setup>
10
+ import { reactive, onMounted } from "vue";
11
+ const formData = reactive({
12
+ month: 0
13
+ })
14
+
15
+ onMounted(() => {
16
+ })
17
+ </script>
18
+
19
+ <style lang="scss" scoped>
20
+ .page {
21
+ height: 100vh;
22
+ background: #fff;
23
+ text-align: center;
24
+ background-size: cover;
25
+ display: flex;
26
+ flex-direction: column;
27
+ justify-content: flex-start;
28
+ padding: 80px 15px 0 15px;
29
+ box-sizing: border-box;
30
+ }
31
+ </style>
@@ -1,61 +1,61 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-mult-list-selector
4
- v-model="formData.safetyConfirmations"
5
- :options="safetyConfirmationOptions"
6
- :tips="'根据现场实际情况勾选条目'"
7
- :disabled="false"
8
- />
9
- </div>
10
- </template>
11
-
12
- <script setup>
13
- import { ref, onMounted, reactive, watch } from "vue";
14
-
15
- const formData = ref({
16
- safetyConfirmations: [],
17
- });
18
-
19
- // 数据选项
20
- const safetyConfirmationOptions = ref([
21
- { value: "1", label: "1、已对本次作业人员及监护人员进行安全交底" },
22
- {
23
- value: "2",
24
- label: "2、提供并保持足够的照明和通风设备,保持有效连续通风和照明",
25
- },
26
- {
27
- value: "3",
28
- label: "3、确保通向该有限空间的管道系统封闭/上锁/挂牌,其操作系统不可用",
29
- },
30
- {
31
- value: "4",
32
- label:
33
- "4、有限空间作业人员及监护人员已配备应急手电。进入有限空间的照明电源电压不得超过36V,特别狭小、潮湿的有限空间高使用12V以下手电筒照明,灯罩完整,所有电源线无破损",
34
- },
35
- {
36
- value: "5",
37
- label: "5、进入有限空间作业人员已配备数量不少于一台的气体检测报警仪",
38
- },
39
- {
40
- value: "6",
41
- label:
42
- "6、产品下水后,进入有通海阀、门、盖、箱等的舱室,确保其不能异常开启,防止江水(海水)灌入",
43
- },
44
- { value: "7", label: "7、进入有限空间的气体胶管应完好有效,无漏气点" },
45
- { value: "8", label: "8、其他安全措施" },
46
- ]);
47
- </script>
48
-
49
- <style lang="scss" scoped>
50
- .page {
51
- height: 100vh;
52
- background: #fff;
53
- text-align: center;
54
- background-size: cover;
55
- display: flex;
56
- flex-direction: column;
57
- justify-content: flex-start;
58
- padding: 80px 15px 0 15px;
59
- box-sizing: border-box;
60
- }
61
- </style>
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-mult-list-selector
4
+ v-model="formData.safetyConfirmations"
5
+ :options="safetyConfirmationOptions"
6
+ :tips="'根据现场实际情况勾选条目'"
7
+ :disabled="false"
8
+ />
9
+ </div>
10
+ </template>
11
+
12
+ <script setup>
13
+ import { ref, onMounted, reactive, watch } from "vue";
14
+
15
+ const formData = ref({
16
+ safetyConfirmations: [],
17
+ });
18
+
19
+ // 数据选项
20
+ const safetyConfirmationOptions = ref([
21
+ { value: "1", label: "1、已对本次作业人员及监护人员进行安全交底" },
22
+ {
23
+ value: "2",
24
+ label: "2、提供并保持足够的照明和通风设备,保持有效连续通风和照明",
25
+ },
26
+ {
27
+ value: "3",
28
+ label: "3、确保通向该有限空间的管道系统封闭/上锁/挂牌,其操作系统不可用",
29
+ },
30
+ {
31
+ value: "4",
32
+ label:
33
+ "4、有限空间作业人员及监护人员已配备应急手电。进入有限空间的照明电源电压不得超过36V,特别狭小、潮湿的有限空间高使用12V以下手电筒照明,灯罩完整,所有电源线无破损",
34
+ },
35
+ {
36
+ value: "5",
37
+ label: "5、进入有限空间作业人员已配备数量不少于一台的气体检测报警仪",
38
+ },
39
+ {
40
+ value: "6",
41
+ label:
42
+ "6、产品下水后,进入有通海阀、门、盖、箱等的舱室,确保其不能异常开启,防止江水(海水)灌入",
43
+ },
44
+ { value: "7", label: "7、进入有限空间的气体胶管应完好有效,无漏气点" },
45
+ { value: "8", label: "8、其他安全措施" },
46
+ ]);
47
+ </script>
48
+
49
+ <style lang="scss" scoped>
50
+ .page {
51
+ height: 100vh;
52
+ background: #fff;
53
+ text-align: center;
54
+ background-size: cover;
55
+ display: flex;
56
+ flex-direction: column;
57
+ justify-content: flex-start;
58
+ padding: 80px 15px 0 15px;
59
+ box-sizing: border-box;
60
+ }
61
+ </style>
@@ -1,37 +1,37 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-multi-picker
4
- v-model="data.codes"
5
- id="fire_accident_types"
6
- label="事故类型"
7
- placeholder="请选择事故类型"
8
- :auth="data.auth" />
9
- </div>
10
- </template>
11
-
12
- <script setup>
13
- import { onMounted, reactive, watch } from "vue";
14
-
15
- const data = reactive({
16
- auth:'require',
17
- codes:['a']
18
- })
19
-
20
- watch(()=>data.code,(newVal,oldVal)=>{
21
- console.log(newVal,oldVal)
22
- })
23
- </script>
24
-
25
- <style lang="scss" scoped>
26
- .page {
27
- height: 100vh;
28
- background: #fff;
29
- text-align: center;
30
- background-size: cover;
31
- display: flex;
32
- flex-direction: column;
33
- justify-content: flex-start;
34
- padding: 80px 15px 0 15px;
35
- box-sizing: border-box;
36
- }
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-multi-picker
4
+ v-model="data.codes"
5
+ id="fire_accident_types"
6
+ label="事故类型"
7
+ placeholder="请选择事故类型"
8
+ :auth="data.auth" />
9
+ </div>
10
+ </template>
11
+
12
+ <script setup>
13
+ import { onMounted, reactive, watch } from "vue";
14
+
15
+ const data = reactive({
16
+ auth:'require',
17
+ codes:['a']
18
+ })
19
+
20
+ watch(()=>data.code,(newVal,oldVal)=>{
21
+ console.log(newVal,oldVal)
22
+ })
23
+ </script>
24
+
25
+ <style lang="scss" scoped>
26
+ .page {
27
+ height: 100vh;
28
+ background: #fff;
29
+ text-align: center;
30
+ background-size: cover;
31
+ display: flex;
32
+ flex-direction: column;
33
+ justify-content: flex-start;
34
+ padding: 80px 15px 0 15px;
35
+ box-sizing: border-box;
36
+ }
37
37
  </style>
@@ -1,35 +1,35 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-product-selector
4
- v-model="formData.productInfo"
5
- :required="true"
6
- :rules="[{ required: true, message: '请选择产品信息' }]"
7
- :readonly="false"
8
- />
9
- </div>
10
- </template>
11
-
12
- <script setup>
13
- import { ref, onMounted, reactive, watch } from "vue";
14
-
15
- const formData = ref({
16
- productInfo: {
17
- productName: "",
18
- productCode: "",
19
- },
20
- });
21
- </script>
22
-
23
- <style lang="scss" scoped>
24
- .page {
25
- height: 100vh;
26
- background: #fff;
27
- text-align: center;
28
- background-size: cover;
29
- display: flex;
30
- flex-direction: column;
31
- justify-content: flex-start;
32
- padding: 80px 15px 0 15px;
33
- box-sizing: border-box;
34
- }
35
- </style>
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-product-selector
4
+ v-model="formData.productInfo"
5
+ :required="true"
6
+ :rules="[{ required: true, message: '请选择产品信息' }]"
7
+ :readonly="false"
8
+ />
9
+ </div>
10
+ </template>
11
+
12
+ <script setup>
13
+ import { ref, onMounted, reactive, watch } from "vue";
14
+
15
+ const formData = ref({
16
+ productInfo: {
17
+ productName: "",
18
+ productCode: "",
19
+ },
20
+ });
21
+ </script>
22
+
23
+ <style lang="scss" scoped>
24
+ .page {
25
+ height: 100vh;
26
+ background: #fff;
27
+ text-align: center;
28
+ background-size: cover;
29
+ display: flex;
30
+ flex-direction: column;
31
+ justify-content: flex-start;
32
+ padding: 80px 15px 0 15px;
33
+ box-sizing: border-box;
34
+ }
35
+ </style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <div class="page">
3
- <van-dropdown-menu>
4
- <widget-qw-project-dropdown v-model="formData.id" />
5
- </van-dropdown-menu>
6
- </div>
7
- </template>
8
-
9
- <script setup>
10
- import { reactive, onMounted } from "vue";
11
- const formData = reactive({
12
- id:''
13
- })
14
-
15
- onMounted(() => {
16
- })
17
- </script>
18
-
19
- <style lang="scss" scoped>
20
- .page {
21
- height: 100vh;
22
- background: #fff;
23
- text-align: center;
24
- background-size: cover;
25
- display: flex;
26
- flex-direction: column;
27
- justify-content: flex-start;
28
- padding: 80px 15px 0 15px;
29
- box-sizing: border-box;
30
- }
31
- </style>
1
+ <template>
2
+ <div class="page">
3
+ <van-dropdown-menu>
4
+ <widget-qw-project-dropdown v-model="formData.id" />
5
+ </van-dropdown-menu>
6
+ </div>
7
+ </template>
8
+
9
+ <script setup>
10
+ import { reactive, onMounted } from "vue";
11
+ const formData = reactive({
12
+ id:''
13
+ })
14
+
15
+ onMounted(() => {
16
+ })
17
+ </script>
18
+
19
+ <style lang="scss" scoped>
20
+ .page {
21
+ height: 100vh;
22
+ background: #fff;
23
+ text-align: center;
24
+ background-size: cover;
25
+ display: flex;
26
+ flex-direction: column;
27
+ justify-content: flex-start;
28
+ padding: 80px 15px 0 15px;
29
+ box-sizing: border-box;
30
+ }
31
+ </style>
@@ -1,42 +1,42 @@
1
- <template>
2
- <div class="page">
3
- <WidgetQwProjectPicker
4
- v-model="formData.code"
5
- label="项目"
6
- :auth="formData.auth"
7
- maxStage="06离厂"
8
- @select="onSelect" />
9
- </div>
10
- </template>
11
-
12
- <script setup>
13
- import { reactive,watch,onMounted} from "vue";
14
-
15
- const formData = reactive({
16
- auth: "require",
17
- code: "",
18
- selectedProject:null
19
- });
20
-
21
- const onSelect=(item)=>{
22
- formData.selectedProject = item
23
- }
24
-
25
- watch(()=>formData.code,(newVal,oldVal)=>{
26
- console.log(formData.code)
27
- })
28
- </script>
29
-
30
- <style scoped>
31
- .page {
32
- height: 100vh;
33
- background: #fff;
34
- text-align: center;
35
- background-size: cover;
36
- display: flex;
37
- flex-direction: column;
38
- justify-content: flex-start;
39
- padding: 80px 15px 0 15px;
40
- box-sizing: border-box;
41
- }
1
+ <template>
2
+ <div class="page">
3
+ <WidgetQwProjectPicker
4
+ v-model="formData.code"
5
+ label="项目"
6
+ :auth="formData.auth"
7
+ maxStage="06离厂"
8
+ @select="onSelect" />
9
+ </div>
10
+ </template>
11
+
12
+ <script setup>
13
+ import { reactive,watch,onMounted} from "vue";
14
+
15
+ const formData = reactive({
16
+ auth: "require",
17
+ code: "",
18
+ selectedProject:null
19
+ });
20
+
21
+ const onSelect=(item)=>{
22
+ formData.selectedProject = item
23
+ }
24
+
25
+ watch(()=>formData.code,(newVal,oldVal)=>{
26
+ console.log(formData.code)
27
+ })
28
+ </script>
29
+
30
+ <style scoped>
31
+ .page {
32
+ height: 100vh;
33
+ background: #fff;
34
+ text-align: center;
35
+ background-size: cover;
36
+ display: flex;
37
+ flex-direction: column;
38
+ justify-content: flex-start;
39
+ padding: 80px 15px 0 15px;
40
+ box-sizing: border-box;
41
+ }
42
42
  </style>
@@ -1,28 +1,28 @@
1
- <template>
2
- <div class="page">
3
-
4
- </div>
5
- </template>
6
-
7
- <script setup>
8
- import { onMounted, reactive, watch } from "vue";
9
- import {secret_notify} from '../../components'
10
-
11
- onMounted(()=>{
12
- secret_notify()
13
- })
14
- </script>
15
-
16
- <style lang="scss" scoped>
17
- .page {
18
- height: 100vh;
19
- background: #fff;
20
- text-align: center;
21
- background-size: cover;
22
- display: flex;
23
- flex-direction: column;
24
- justify-content: flex-start;
25
- padding: 80px 15px 0 15px;
26
- box-sizing: border-box;
27
- }
1
+ <template>
2
+ <div class="page">
3
+
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { onMounted, reactive, watch } from "vue";
9
+ import {secret_notify} from '../../components'
10
+
11
+ onMounted(()=>{
12
+ secret_notify()
13
+ })
14
+ </script>
15
+
16
+ <style lang="scss" scoped>
17
+ .page {
18
+ height: 100vh;
19
+ background: #fff;
20
+ text-align: center;
21
+ background-size: cover;
22
+ display: flex;
23
+ flex-direction: column;
24
+ justify-content: flex-start;
25
+ padding: 80px 15px 0 15px;
26
+ box-sizing: border-box;
27
+ }
28
28
  </style>