widget.qw 1.0.80 → 1.0.82

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 (104) hide show
  1. package/.env.development +9 -9
  2. package/.env.production +8 -8
  3. package/README.md +75 -75
  4. package/build/style.css +471 -471
  5. package/build/widget.qw.es.js +56 -56
  6. package/build/widget.qw.umd.js +56 -56
  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 +165 -165
  11. package/src/components/AuditBar.vue +396 -396
  12. package/src/components/BillCard.vue +164 -164
  13. package/src/components/CascaderPicker.vue +132 -132
  14. package/src/components/CascaderPop.vue +371 -371
  15. package/src/components/CheckGroup.vue +113 -113
  16. package/src/components/DatetimePicker/DatetimePop.vue +342 -342
  17. package/src/components/DatetimePicker/index.vue +124 -124
  18. package/src/components/DayDropdown.vue +56 -56
  19. package/src/components/FilePicker.vue +169 -169
  20. package/src/components/Input.vue +80 -80
  21. package/src/components/MonthDropdown.vue +51 -51
  22. package/src/components/MultiPicker.vue +123 -123
  23. package/src/components/ObjsEditor.vue +334 -334
  24. package/src/components/SecretNotify.js +5 -5
  25. package/src/components/Sheet.vue +92 -92
  26. package/src/components/SingleApiPicker.vue +108 -108
  27. package/src/components/SinglePicker.vue +102 -102
  28. package/src/components/SingleUserSelector.vue +425 -425
  29. package/src/components/Switch.vue +64 -64
  30. package/src/components/TreePicker.vue +113 -113
  31. package/src/components/UserPicker.vue +106 -106
  32. package/src/components/UserProfile.vue +129 -129
  33. package/src/components/UsersPicker.vue +118 -118
  34. package/src/components/YearDropdown.vue +59 -59
  35. package/src/components/data_selector.vue +303 -303
  36. package/src/components/image_picker.vue +123 -123
  37. package/src/components/images_picker.vue +195 -195
  38. package/src/components/index.js +162 -162
  39. package/src/components/mult_list_selector.vue +155 -155
  40. package/src/components/subdepartment_selector.vue +481 -481
  41. package/src/components/user_selector.vue +639 -639
  42. package/src/components/widget/DataPop.vue +95 -95
  43. package/src/components/widget/TreePop.vue +88 -88
  44. package/src/components/widget/UserPop.vue +347 -347
  45. package/src/env.d.ts +8 -8
  46. package/src/main.js +117 -117
  47. package/src/router/index.ts +173 -173
  48. package/src/util/array_util.js +32 -32
  49. package/src/util/auth_util.js +72 -72
  50. package/src/util/bool_util.js +5 -5
  51. package/src/util/bus.js +1 -1
  52. package/src/util/cache_util.js +18 -18
  53. package/src/util/errer_code.js +6 -6
  54. package/src/util/eval_util.js +19 -19
  55. package/src/util/icon_util.js +36 -36
  56. package/src/util/image_util.js +27 -27
  57. package/src/util/index.js +57 -57
  58. package/src/util/num_util.js +70 -70
  59. package/src/util/obj_util.js +28 -28
  60. package/src/util/request.js +73 -73
  61. package/src/util/request_json.js +71 -71
  62. package/src/util/request_json_mute.js +65 -65
  63. package/src/util/request_upload.js +79 -79
  64. package/src/util/route_util.js +31 -31
  65. package/src/util/str_util.js +143 -143
  66. package/src/util/time_util.js +406 -406
  67. package/src/util/toast_util.js +24 -24
  68. package/src/util/tree_util.js +153 -153
  69. package/src/util/uuid_util.js +9 -9
  70. package/src/util/validate.js +182 -182
  71. package/src/util/vue_filter.js +223 -223
  72. package/src/views/auditbar/index.vue +78 -78
  73. package/src/views/billcard/index.vue +48 -48
  74. package/src/views/cascaderpop/index.vue +90 -90
  75. package/src/views/checkgroup/index.vue +35 -35
  76. package/src/views/dataSelector/index.vue +48 -48
  77. package/src/views/datetimepicker/index.vue +34 -34
  78. package/src/views/daydropdown/index.vue +31 -31
  79. package/src/views/filepicker/index.vue +32 -32
  80. package/src/views/imagepicker/index.vue +31 -31
  81. package/src/views/imagespicker/index.vue +37 -31
  82. package/src/views/input/index.vue +35 -35
  83. package/src/views/monthdropdown/index.vue +31 -31
  84. package/src/views/multListSelector/index.vue +61 -61
  85. package/src/views/multipicker/index.vue +36 -36
  86. package/src/views/objseditor/index.vue +277 -277
  87. package/src/views/productSelector/index.vue +35 -35
  88. package/src/views/projectpicker/index.vue +41 -41
  89. package/src/views/secretnotify/index.vue +27 -27
  90. package/src/views/sheet/index.vue +45 -45
  91. package/src/views/singlepicker/index.vue +35 -35
  92. package/src/views/subdepartmentSelector/index.vue +40 -40
  93. package/src/views/switch/index.vue +34 -34
  94. package/src/views/treepicker/index.vue +41 -41
  95. package/src/views/userSelector/index.vue +54 -54
  96. package/src/views/userSelectorNew/index.vue +45 -45
  97. package/src/views/userpicker/index.vue +43 -43
  98. package/src/views/userprofile/index.vue +30 -30
  99. package/src/views/userspicker/index.vue +43 -43
  100. package/src/views/yeardropdown/index.vue +32 -32
  101. package/src/vm/index.js +1 -1
  102. package/tsconfig.json +19 -19
  103. package/tsconfig.node.json +8 -8
  104. package/vite.config.ts +122 -122
@@ -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>
@@ -1,46 +1,46 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-sheet v-model="data.datas" :auth="data.auth" label="子表">
4
- <template #item="{item}">
5
- <widget-qw-input label="姓名" v-model="item.name" :auth="data.auth" />
6
- <widget-qw-input label="年龄" v-model="item.age" :auth="data.auth" />
7
- <widget-qw-datetime-picker v-model="item.detectionTime" label="检测时间" placeholder="请选择检测时间" :auth="data.auth" />
8
- </template>
9
- </uiqw-sheet>
10
- </div>
11
- </template>
12
-
13
- <script setup>
14
- import { onMounted, reactive, watch } from "vue";
15
-
16
- const data = reactive({
17
- auth: 'option',
18
- datas: [{
19
- name: 'a',
20
- age: 10,
21
- detectionTime:null
22
- }]
23
- })
24
-
25
- watch(() => data.codes, (newVal, oldVal) => {
26
- console.log(newVal, oldVal)
27
- })
28
- </script>
29
-
30
- <style lang="scss" 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
- .item-box {
43
- border: 1px solid #333;
44
- }
45
- }
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-sheet v-model="data.datas" :auth="data.auth" label="子表">
4
+ <template #item="{item}">
5
+ <widget-qw-input label="姓名" v-model="item.name" :auth="data.auth" />
6
+ <widget-qw-input label="年龄" v-model="item.age" :auth="data.auth" />
7
+ <widget-qw-datetime-picker v-model="item.detectionTime" label="检测时间" placeholder="请选择检测时间" :auth="data.auth" />
8
+ </template>
9
+ </uiqw-sheet>
10
+ </div>
11
+ </template>
12
+
13
+ <script setup>
14
+ import { onMounted, reactive, watch } from "vue";
15
+
16
+ const data = reactive({
17
+ auth: 'option',
18
+ datas: [{
19
+ name: 'a',
20
+ age: 10,
21
+ detectionTime:null
22
+ }]
23
+ })
24
+
25
+ watch(() => data.codes, (newVal, oldVal) => {
26
+ console.log(newVal, oldVal)
27
+ })
28
+ </script>
29
+
30
+ <style lang="scss" 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
+ .item-box {
43
+ border: 1px solid #333;
44
+ }
45
+ }
46
46
  </style>
@@ -1,36 +1,36 @@
1
- <template>
2
- <div class="page">
3
- <WidgetQwSinglePicker
4
- v-model="data.code"
5
- id="danger_level"
6
- label="隐患等级"
7
- :auth="data.auth" />
8
- </div>
9
- </template>
10
-
11
- <script setup>
12
- import { onMounted, reactive, watch } from "vue";
13
-
14
- const data = reactive({
15
- auth:'readonly',
16
- code:'a'
17
- })
18
-
19
- watch(()=>data.code,(newVal,oldVal)=>{
20
- console.log(newVal,oldVal)
21
- })
22
- </script>
23
-
24
- <style lang="scss" scoped>
25
- .page {
26
- height: 100vh;
27
- background: #fff;
28
- text-align: center;
29
- background-size: cover;
30
- display: flex;
31
- flex-direction: column;
32
- justify-content: flex-start;
33
- padding: 80px 15px 0 15px;
34
- box-sizing: border-box;
35
- }
1
+ <template>
2
+ <div class="page">
3
+ <WidgetQwSinglePicker
4
+ v-model="data.code"
5
+ id="danger_level"
6
+ label="隐患等级"
7
+ :auth="data.auth" />
8
+ </div>
9
+ </template>
10
+
11
+ <script setup>
12
+ import { onMounted, reactive, watch } from "vue";
13
+
14
+ const data = reactive({
15
+ auth:'readonly',
16
+ code:'a'
17
+ })
18
+
19
+ watch(()=>data.code,(newVal,oldVal)=>{
20
+ console.log(newVal,oldVal)
21
+ })
22
+ </script>
23
+
24
+ <style lang="scss" scoped>
25
+ .page {
26
+ height: 100vh;
27
+ background: #fff;
28
+ text-align: center;
29
+ background-size: cover;
30
+ display: flex;
31
+ flex-direction: column;
32
+ justify-content: flex-start;
33
+ padding: 80px 15px 0 15px;
34
+ box-sizing: border-box;
35
+ }
36
36
  </style>
@@ -1,41 +1,41 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-subdepartment-selector label="责任部门"
4
- v-model="formData.departmentId"
5
- :deptRangeId = "formData.deptRangeId"
6
- :rules="[{ required: true, message: '请选择责任部门' }]"
7
- :auth="formData.auth"
8
- level="999"
9
- @select="onSelect"
10
- />
11
- </div>
12
- </template>
13
-
14
- <script setup>
15
- import { ref, onMounted, reactive, watch } from "vue";
16
-
17
- const formData = reactive({
18
- departmentId: '',
19
- deptRangeId: "production_dept_ids",
20
- auth: 'require'
21
- })
22
-
23
- const onSelect = (e)=>{
24
- console.log('+++onSelect+++', e)
25
- }
26
-
27
- </script>
28
-
29
- <style lang="scss" scoped>
30
- .page {
31
- height: 100vh;
32
- background: #fff;
33
- text-align: center;
34
- background-size: cover;
35
- display: flex;
36
- flex-direction: column;
37
- justify-content: flex-start;
38
- padding: 80px 15px 0 15px;
39
- box-sizing: border-box;
40
- }
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-subdepartment-selector label="责任部门"
4
+ v-model="formData.departmentId"
5
+ :deptRangeId = "formData.deptRangeId"
6
+ :rules="[{ required: true, message: '请选择责任部门' }]"
7
+ :auth="formData.auth"
8
+ level="999"
9
+ @select="onSelect"
10
+ />
11
+ </div>
12
+ </template>
13
+
14
+ <script setup>
15
+ import { ref, onMounted, reactive, watch } from "vue";
16
+
17
+ const formData = reactive({
18
+ departmentId: '',
19
+ deptRangeId: "production_dept_ids",
20
+ auth: 'require'
21
+ })
22
+
23
+ const onSelect = (e)=>{
24
+ console.log('+++onSelect+++', e)
25
+ }
26
+
27
+ </script>
28
+
29
+ <style lang="scss" scoped>
30
+ .page {
31
+ height: 100vh;
32
+ background: #fff;
33
+ text-align: center;
34
+ background-size: cover;
35
+ display: flex;
36
+ flex-direction: column;
37
+ justify-content: flex-start;
38
+ padding: 80px 15px 0 15px;
39
+ box-sizing: border-box;
40
+ }
41
41
  </style>
@@ -1,35 +1,35 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-switch
4
- v-model="data.isChecked"
5
- label="是否动火"
6
- :auth="data.auth" />
7
- </div>
8
- </template>
9
-
10
- <script setup>
11
- import { onMounted, reactive, watch } from "vue";
12
-
13
- const data = reactive({
14
- auth:'readonly',
15
- isChecked:null
16
- })
17
-
18
- watch(()=>data.codes,(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-switch
4
+ v-model="data.isChecked"
5
+ label="是否动火"
6
+ :auth="data.auth" />
7
+ </div>
8
+ </template>
9
+
10
+ <script setup>
11
+ import { onMounted, reactive, watch } from "vue";
12
+
13
+ const data = reactive({
14
+ auth:'readonly',
15
+ isChecked:null
16
+ })
17
+
18
+ watch(()=>data.codes,(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,42 +1,42 @@
1
- <template>
2
- <div class="page">
3
- <WidgetQwTreePicker
4
- label="访问区域"
5
- placeholder="请选择访问区域"
6
- :auth="formData.auth"
7
- id="visit_area_tree"
8
- v-model="formData.ids"
9
- @select="onSelect"
10
- />
11
- </div>
12
- </template>
13
-
14
- <script setup>
15
- import { reactive ,onMounted} from "vue";
16
- const formData = reactive({
17
- ids: ['dock2','dock3'],
18
- auth: "require",
19
- });
20
-
21
- const onSelect=(e)=>{
22
- console.log('onSelect', e)
23
- }
24
-
25
- onMounted(()=>{
26
- })
27
- </script>
28
-
29
- <style lang="scss" scoped>
30
- .page {
31
- height: 100vh;
32
- background: #fff;
33
- text-align: center;
34
- background-size: cover;
35
- display: flex;
36
- flex-direction: column;
37
- justify-content: flex-start;
38
- padding: 80px 15px 0 15px;
39
- box-sizing: border-box;
40
- }
41
- </style>
1
+ <template>
2
+ <div class="page">
3
+ <WidgetQwTreePicker
4
+ label="访问区域"
5
+ placeholder="请选择访问区域"
6
+ :auth="formData.auth"
7
+ id="visit_area_tree"
8
+ v-model="formData.ids"
9
+ @select="onSelect"
10
+ />
11
+ </div>
12
+ </template>
13
+
14
+ <script setup>
15
+ import { reactive ,onMounted} from "vue";
16
+ const formData = reactive({
17
+ ids: ['dock2','dock3'],
18
+ auth: "require",
19
+ });
20
+
21
+ const onSelect=(e)=>{
22
+ console.log('onSelect', e)
23
+ }
24
+
25
+ onMounted(()=>{
26
+ })
27
+ </script>
28
+
29
+ <style lang="scss" scoped>
30
+ .page {
31
+ height: 100vh;
32
+ background: #fff;
33
+ text-align: center;
34
+ background-size: cover;
35
+ display: flex;
36
+ flex-direction: column;
37
+ justify-content: flex-start;
38
+ padding: 80px 15px 0 15px;
39
+ box-sizing: border-box;
40
+ }
41
+ </style>
42
42
 
@@ -1,54 +1,54 @@
1
- <template>
2
- <div class="page">
3
- <widget-qw-user-selector v-model="formData.singleUser"
4
- label="单选人员"
5
- mode="single"
6
- :auth="formData.auth"
7
- @select="onSelect" />
8
-
9
- <widget-qw-user-selector v-model="formData.multUser"
10
- label="多选人员"
11
- mode="multiple"
12
- :required="true"
13
- :rules="[{ required: true, message: '请选择人员' }]"
14
- :readonly="false" />
15
-
16
- <widget-qw-user-selector v-model="formData.singleUser"
17
- label="指定部门下的人员"
18
- mode="single"
19
- :required="true"
20
- :currentDept="formData.department"
21
- :rules="[{ required: true, message: '请选择人员' }]"
22
- :readonly="false" />
23
- </div>
24
- </template>
25
-
26
- <script setup>
27
- import { ref, onMounted, reactive, watch } from "vue";
28
-
29
- const formData = ref({
30
- department: '1517', // 组件默认展开哪个部门下的数据,可为空
31
- singleUser: '014391',
32
- multUser: ['014391','014392'],
33
- auth:'require'
34
- })
35
-
36
- const onSelect=(e)=>{
37
- console.log('onSelect', e)
38
- }
39
-
40
- </script>
41
-
42
- <style lang="scss" scoped>
43
- .page {
44
- height: 100vh;
45
- background: #fff;
46
- text-align: center;
47
- background-size: cover;
48
- display: flex;
49
- flex-direction: column;
50
- justify-content: flex-start;
51
- padding: 80px 15px 0 15px;
52
- box-sizing: border-box;
53
- }
54
- </style>
1
+ <template>
2
+ <div class="page">
3
+ <widget-qw-user-selector v-model="formData.singleUser"
4
+ label="单选人员"
5
+ mode="single"
6
+ :auth="formData.auth"
7
+ @select="onSelect" />
8
+
9
+ <widget-qw-user-selector v-model="formData.multUser"
10
+ label="多选人员"
11
+ mode="multiple"
12
+ :required="true"
13
+ :rules="[{ required: true, message: '请选择人员' }]"
14
+ :readonly="false" />
15
+
16
+ <widget-qw-user-selector v-model="formData.singleUser"
17
+ label="指定部门下的人员"
18
+ mode="single"
19
+ :required="true"
20
+ :currentDept="formData.department"
21
+ :rules="[{ required: true, message: '请选择人员' }]"
22
+ :readonly="false" />
23
+ </div>
24
+ </template>
25
+
26
+ <script setup>
27
+ import { ref, onMounted, reactive, watch } from "vue";
28
+
29
+ const formData = ref({
30
+ department: '1517', // 组件默认展开哪个部门下的数据,可为空
31
+ singleUser: '014391',
32
+ multUser: ['014391','014392'],
33
+ auth:'require'
34
+ })
35
+
36
+ const onSelect=(e)=>{
37
+ console.log('onSelect', e)
38
+ }
39
+
40
+ </script>
41
+
42
+ <style lang="scss" scoped>
43
+ .page {
44
+ height: 100vh;
45
+ background: #fff;
46
+ text-align: center;
47
+ background-size: cover;
48
+ display: flex;
49
+ flex-direction: column;
50
+ justify-content: flex-start;
51
+ padding: 80px 15px 0 15px;
52
+ box-sizing: border-box;
53
+ }
54
+ </style>