widget.qw 1.0.82 → 1.0.84

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 (105) hide show
  1. package/.env.development +10 -10
  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 +132 -65
  6. package/build/widget.qw.umd.js +132 -65
  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 +373 -371
  15. package/src/components/CheckGroup.vue +113 -113
  16. package/src/components/DatetimeDropdown.vue +62 -0
  17. package/src/components/{DatetimePicker/index.vue → DatetimePicker.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 +167 -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/{DatetimePicker → widget}/DatetimePop.vue +342 -342
  44. package/src/components/widget/TreePop.vue +88 -88
  45. package/src/components/widget/UserPop.vue +347 -347
  46. package/src/main.js +117 -117
  47. package/src/router/index.ts +178 -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/cascaderpicker/index.vue +0 -0
  75. package/src/views/cascaderpop/index.vue +90 -90
  76. package/src/views/checkgroup/index.vue +35 -35
  77. package/src/views/dataSelector/index.vue +48 -48
  78. package/src/views/datetimedropdown/index.vue +34 -0
  79. package/src/views/datetimepicker/index.vue +34 -34
  80. package/src/views/daydropdown/index.vue +31 -31
  81. package/src/views/filepicker/index.vue +32 -32
  82. package/src/views/home/index.vue +0 -0
  83. package/src/views/imagepicker/index.vue +31 -31
  84. package/src/views/imagespicker/index.vue +37 -37
  85. package/src/views/input/index.vue +35 -35
  86. package/src/views/monthdropdown/index.vue +31 -31
  87. package/src/views/multListSelector/index.vue +61 -61
  88. package/src/views/multipicker/index.vue +36 -36
  89. package/src/views/objseditor/index.vue +277 -277
  90. package/src/views/productSelector/index.vue +35 -35
  91. package/src/views/projectpicker/index.vue +41 -41
  92. package/src/views/secretnotify/index.vue +27 -27
  93. package/src/views/sheet/index.vue +45 -45
  94. package/src/views/singlepicker/index.vue +35 -35
  95. package/src/views/subdepartmentSelector/index.vue +40 -40
  96. package/src/views/switch/index.vue +34 -34
  97. package/src/views/treepicker/index.vue +41 -41
  98. package/src/views/userSelector/index.vue +54 -54
  99. package/src/views/userSelectorNew/index.vue +45 -45
  100. package/src/views/userpicker/index.vue +43 -43
  101. package/src/views/userprofile/index.vue +30 -30
  102. package/src/views/userspicker/index.vue +43 -43
  103. package/src/views/yeardropdown/index.vue +32 -32
  104. package/src/vm/index.js +1 -1
  105. 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>