widget.qw 0.0.1

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 (115) hide show
  1. package/README.md +73 -0
  2. package/build/favicon.ico +0 -0
  3. package/build/style.css +763 -0
  4. package/build/widget.qw.es.js +20653 -0
  5. package/build/widget.qw.umd.js +20660 -0
  6. package/index.html +17 -0
  7. package/package.json +47 -0
  8. package/public/favicon.ico +0 -0
  9. package/src/App.vue +26 -0
  10. package/src/api/index.js +126 -0
  11. package/src/assets/avatar.png +0 -0
  12. package/src/assets/banner_handle.png +0 -0
  13. package/src/assets/bg_blue.png +0 -0
  14. package/src/assets/bg_white.png +0 -0
  15. package/src/assets/down.png +0 -0
  16. package/src/assets/home.jpg +0 -0
  17. package/src/assets/icon_box.png +0 -0
  18. package/src/assets/icon_dot.png +0 -0
  19. package/src/assets/icon_draw.png +0 -0
  20. package/src/assets/icon_file.png +0 -0
  21. package/src/assets/icon_fold.png +0 -0
  22. package/src/assets/icon_shield.png +0 -0
  23. package/src/assets/logo.png +0 -0
  24. package/src/components/AuditBar.vue +341 -0
  25. package/src/components/BillCard.vue +156 -0
  26. package/src/components/CheckGroup.vue +114 -0
  27. package/src/components/DatetimePicker/DatetimePop.vue +343 -0
  28. package/src/components/DatetimePicker/index.vue +113 -0
  29. package/src/components/DayDropdown.vue +57 -0
  30. package/src/components/FilePicker.vue +114 -0
  31. package/src/components/Input.vue +72 -0
  32. package/src/components/MonthDropdown.vue +52 -0
  33. package/src/components/MultiPicker.vue +124 -0
  34. package/src/components/ProjectDropdown.vue +62 -0
  35. package/src/components/ProjectPicker.vue +111 -0
  36. package/src/components/SecretNotify.js +6 -0
  37. package/src/components/Sheet.vue +93 -0
  38. package/src/components/SinglePicker.vue +103 -0
  39. package/src/components/SingleUserSelector.vue +425 -0
  40. package/src/components/Switch.vue +65 -0
  41. package/src/components/TreePicker.vue +113 -0
  42. package/src/components/UserPicker.vue +107 -0
  43. package/src/components/UserProfile.vue +128 -0
  44. package/src/components/UsersPicker.vue +118 -0
  45. package/src/components/YearDropdown.vue +60 -0
  46. package/src/components/data_selector.vue +281 -0
  47. package/src/components/image_picker.vue +115 -0
  48. package/src/components/images_picker.vue +140 -0
  49. package/src/components/index.js +157 -0
  50. package/src/components/mult_list_selector.vue +156 -0
  51. package/src/components/product_selector.vue +186 -0
  52. package/src/components/subdepartment_selector.vue +481 -0
  53. package/src/components/user_selector.vue +639 -0
  54. package/src/components/widget/DataPop.vue +96 -0
  55. package/src/components/widget/TreePop.vue +89 -0
  56. package/src/components/widget/UserPop.vue +347 -0
  57. package/src/env.d.ts +8 -0
  58. package/src/main.js +111 -0
  59. package/src/router/index.ts +165 -0
  60. package/src/util/array_util.js +32 -0
  61. package/src/util/auth_util.js +73 -0
  62. package/src/util/bool_util.js +6 -0
  63. package/src/util/bus.js +2 -0
  64. package/src/util/cache_util.js +19 -0
  65. package/src/util/errer_code.js +7 -0
  66. package/src/util/eval_util.js +20 -0
  67. package/src/util/icon_util.js +37 -0
  68. package/src/util/image_util.js +28 -0
  69. package/src/util/index.js +56 -0
  70. package/src/util/num_util.js +71 -0
  71. package/src/util/obj_util.js +29 -0
  72. package/src/util/request.js +74 -0
  73. package/src/util/request_json.js +72 -0
  74. package/src/util/request_json_mute.js +66 -0
  75. package/src/util/request_upload.js +79 -0
  76. package/src/util/route_util.js +32 -0
  77. package/src/util/str_util.js +144 -0
  78. package/src/util/time_util.js +407 -0
  79. package/src/util/toast_util.js +25 -0
  80. package/src/util/tree_util.js +120 -0
  81. package/src/util/validate.js +183 -0
  82. package/src/util/vue_filter.js +223 -0
  83. package/src/views/auditbar/index.vue +66 -0
  84. package/src/views/billcard/index.vue +46 -0
  85. package/src/views/checkgroup/index.vue +36 -0
  86. package/src/views/dataSelector/index.vue +49 -0
  87. package/src/views/datetimepicker/index.vue +35 -0
  88. package/src/views/daydropdown/index.vue +31 -0
  89. package/src/views/filepicker/index.vue +32 -0
  90. package/src/views/home/index.vue +64 -0
  91. package/src/views/imagepicker/index.vue +32 -0
  92. package/src/views/imagespicker/index.vue +32 -0
  93. package/src/views/input/index.vue +35 -0
  94. package/src/views/monthdropdown/index.vue +31 -0
  95. package/src/views/multListSelector/index.vue +61 -0
  96. package/src/views/multipicker/index.vue +37 -0
  97. package/src/views/productSelector/index.vue +35 -0
  98. package/src/views/projectdropdown/index.vue +31 -0
  99. package/src/views/projectpicker/index.vue +42 -0
  100. package/src/views/secretnotify/index.vue +28 -0
  101. package/src/views/sheet/index.vue +46 -0
  102. package/src/views/singlepicker/index.vue +36 -0
  103. package/src/views/subdepartmentSelector/index.vue +41 -0
  104. package/src/views/switch/index.vue +35 -0
  105. package/src/views/treepicker/index.vue +42 -0
  106. package/src/views/userSelector/index.vue +54 -0
  107. package/src/views/userSelectorNew/index.vue +45 -0
  108. package/src/views/userpicker/index.vue +43 -0
  109. package/src/views/userprofile/index.vue +30 -0
  110. package/src/views/userspicker/index.vue +43 -0
  111. package/src/views/yeardropdown/index.vue +32 -0
  112. package/src/vm/index.js +6 -0
  113. package/tsconfig.json +19 -0
  114. package/tsconfig.node.json +8 -0
  115. package/vite.config.ts +73 -0
@@ -0,0 +1,64 @@
1
+ <template>
2
+ <div class="page">
3
+ <van-button class="btn" type="primary" @click="router.push('/auditbar')">流程审核栏</van-button>
4
+ <van-button class="btn" type="primary" @click="router.push('/input')">输入框</van-button>
5
+ <van-button class="btn" type="primary" @click="router.push('/singlepicker')">单选</van-button>
6
+ <van-button class="btn" type="primary" @click="router.push('/multipicker')">复选(有弹框)</van-button>
7
+ <van-button class="btn" type="primary" @click="router.push('/checkgroup')">复选(无弹框)</van-button>
8
+ <van-button class="btn" type="primary" @click="router.push('/datetimepicker')">时间选择器</van-button>
9
+ <van-button class="btn" type="primary" @click="router.push('/secretnotify')">保密警告</van-button>
10
+ <van-button class="btn" type="primary" @click="router.push('/dataSelector')">通用选择</van-button>
11
+ <van-button class="btn" type="primary" @click="router.push('/multListSelector')">确认勾选</van-button>
12
+ <van-button class="btn" type="primary" @click="router.push('/productSelector')">产品选择</van-button>
13
+
14
+ <van-button class="btn" type="primary" @click="router.push('/projectpicker')">项目选择器</van-button>
15
+
16
+ <van-button class="btn" type="primary" @click="router.push('/subdepartmentSelector')">部门选择</van-button>
17
+ <van-button class="btn" type="primary" @click="router.push('/userSelector')">人员选择</van-button>
18
+ <van-button class="btn" type="primary" @click="router.push('/userSelectorNew')">人员选择测试</van-button>
19
+ <van-button class="btn" type="primary" @click="router.push('/imagepicker')">图片</van-button>
20
+ <van-button class="btn" type="primary" @click="router.push('/imagespicker')">图片列表</van-button>
21
+ <van-button class="btn" type="primary" @click="router.push('/filepicker')">单文件</van-button>
22
+ <van-button class="btn" type="primary" @click="router.push('/billcard')">单据卡片</van-button>
23
+ <van-button class="btn" type="primary" @click="router.push('/userpicker')">单人选择器</van-button>
24
+
25
+ <van-button class="btn" type="primary" @click="router.push('/userspicker')">多人选择器</van-button>
26
+
27
+ <van-button class="btn" type="primary" @click="router.push('/userprofile')">用户详情卡片</van-button>
28
+ <van-button class="btn" type="primary" @click="router.push('/yeardropdown')">年份筛选框</van-button>
29
+ <van-button class="btn" type="primary" @click="router.push('/monthdropdown')">月份筛选框</van-button>
30
+ <van-button class="btn" type="primary" @click="router.push('/daydropdown')">日筛选框</van-button>
31
+ <van-button class="btn" type="primary" @click="router.push('/projectdropdown')">项目筛选框</van-button>
32
+ <van-button class="btn" type="primary" @click="router.push('/switch')">开关</van-button>
33
+ <van-button class="btn" type="primary" @click="router.push('/sheet')">表格</van-button>
34
+ <van-button class="btn" type="primary" @click="router.push('/treepicker')">树选择器</van-button>
35
+ </div>
36
+ </template>
37
+
38
+ <script setup>
39
+ import { onMounted, reactive } from "vue";
40
+ import router from "@/router";
41
+ import util from "../../util";
42
+
43
+ onMounted(() => {
44
+
45
+ })
46
+ </script>
47
+
48
+ <style lang="scss" scoped>
49
+ .page {
50
+ background: #fff;
51
+ text-align: center;
52
+ background-size: cover;
53
+ display: flex;
54
+ flex-direction: column;
55
+ justify-content: flex-start;
56
+ padding: 20px 15px;
57
+ box-sizing: border-box;
58
+ overflow-y: auto;
59
+
60
+ .btn {
61
+ margin-bottom: 15px;
62
+ }
63
+ }
64
+ </style>
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-image-picker label="图片" v-model="data.url" :auth="data.auth" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { onMounted, reactive, watch } from "vue";
9
+
10
+ const data = reactive({
11
+ auth:'readonly',
12
+ url: 'qqq'
13
+ })
14
+
15
+ watch(()=>data.url,(newVal,oldVal)=>{
16
+ console.log(newVal,oldVal)
17
+ })
18
+ </script>
19
+
20
+ <style lang="scss" scoped>
21
+ .page {
22
+ height: 100vh;
23
+ background: #fff;
24
+ text-align: center;
25
+ background-size: cover;
26
+ display: flex;
27
+ flex-direction: column;
28
+ justify-content: flex-start;
29
+ padding: 80px 15px 0 15px;
30
+ box-sizing: border-box;
31
+ }
32
+ </style>
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-images-picker label="图片列表" v-model="data.urls" :auth="data.auth" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { onMounted, reactive, watch } from "vue";
9
+
10
+ const data = reactive({
11
+ auth:'require',
12
+ urls: ''
13
+ })
14
+
15
+ watch(()=>data.url,(newVal,oldVal)=>{
16
+ console.log(newVal,oldVal)
17
+ })
18
+ </script>
19
+
20
+ <style lang="scss" scoped>
21
+ .page {
22
+ height: 100vh;
23
+ background: #fff;
24
+ text-align: center;
25
+ background-size: cover;
26
+ display: flex;
27
+ flex-direction: column;
28
+ justify-content: flex-start;
29
+ padding: 80px 15px 0 15px;
30
+ box-sizing: border-box;
31
+ }
32
+ </style>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-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
+ </style>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <div class="page">
3
+ <van-dropdown-menu>
4
+ <uiqw-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>
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-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>
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-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
+ </style>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-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>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <div class="page">
3
+ <van-dropdown-menu>
4
+ <uiqw-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>
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <div class="page">
3
+ <UiqwProjectPicker
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
+ </style>
@@ -0,0 +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
+ }
28
+ </style>
@@ -0,0 +1,46 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-sheet v-model="data.datas" :auth="data.auth" label="子表">
4
+ <template #item="{item}">
5
+ <uiqw-input label="姓名" v-model="item.name" :auth="data.auth" />
6
+ <uiqw-input label="年龄" v-model="item.age" :auth="data.auth" />
7
+ <uiqw-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
+ </style>
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <div class="page">
3
+ <UiqwSinglePicker
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
+ </style>
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-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
+ </style>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <div class="page">
3
+ <uiqw-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
+ </style>
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <div class="page">
3
+ <UiqwTreePicker
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
+