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.
- package/README.md +73 -0
- package/build/favicon.ico +0 -0
- package/build/style.css +763 -0
- package/build/widget.qw.es.js +20653 -0
- package/build/widget.qw.umd.js +20660 -0
- package/index.html +17 -0
- package/package.json +47 -0
- package/public/favicon.ico +0 -0
- package/src/App.vue +26 -0
- package/src/api/index.js +126 -0
- package/src/assets/avatar.png +0 -0
- package/src/assets/banner_handle.png +0 -0
- package/src/assets/bg_blue.png +0 -0
- package/src/assets/bg_white.png +0 -0
- package/src/assets/down.png +0 -0
- package/src/assets/home.jpg +0 -0
- package/src/assets/icon_box.png +0 -0
- package/src/assets/icon_dot.png +0 -0
- package/src/assets/icon_draw.png +0 -0
- package/src/assets/icon_file.png +0 -0
- package/src/assets/icon_fold.png +0 -0
- package/src/assets/icon_shield.png +0 -0
- package/src/assets/logo.png +0 -0
- package/src/components/AuditBar.vue +341 -0
- package/src/components/BillCard.vue +156 -0
- package/src/components/CheckGroup.vue +114 -0
- package/src/components/DatetimePicker/DatetimePop.vue +343 -0
- package/src/components/DatetimePicker/index.vue +113 -0
- package/src/components/DayDropdown.vue +57 -0
- package/src/components/FilePicker.vue +114 -0
- package/src/components/Input.vue +72 -0
- package/src/components/MonthDropdown.vue +52 -0
- package/src/components/MultiPicker.vue +124 -0
- package/src/components/ProjectDropdown.vue +62 -0
- package/src/components/ProjectPicker.vue +111 -0
- package/src/components/SecretNotify.js +6 -0
- package/src/components/Sheet.vue +93 -0
- package/src/components/SinglePicker.vue +103 -0
- package/src/components/SingleUserSelector.vue +425 -0
- package/src/components/Switch.vue +65 -0
- package/src/components/TreePicker.vue +113 -0
- package/src/components/UserPicker.vue +107 -0
- package/src/components/UserProfile.vue +128 -0
- package/src/components/UsersPicker.vue +118 -0
- package/src/components/YearDropdown.vue +60 -0
- package/src/components/data_selector.vue +281 -0
- package/src/components/image_picker.vue +115 -0
- package/src/components/images_picker.vue +140 -0
- package/src/components/index.js +157 -0
- package/src/components/mult_list_selector.vue +156 -0
- package/src/components/product_selector.vue +186 -0
- package/src/components/subdepartment_selector.vue +481 -0
- package/src/components/user_selector.vue +639 -0
- package/src/components/widget/DataPop.vue +96 -0
- package/src/components/widget/TreePop.vue +89 -0
- package/src/components/widget/UserPop.vue +347 -0
- package/src/env.d.ts +8 -0
- package/src/main.js +111 -0
- package/src/router/index.ts +165 -0
- package/src/util/array_util.js +32 -0
- package/src/util/auth_util.js +73 -0
- package/src/util/bool_util.js +6 -0
- package/src/util/bus.js +2 -0
- package/src/util/cache_util.js +19 -0
- package/src/util/errer_code.js +7 -0
- package/src/util/eval_util.js +20 -0
- package/src/util/icon_util.js +37 -0
- package/src/util/image_util.js +28 -0
- package/src/util/index.js +56 -0
- package/src/util/num_util.js +71 -0
- package/src/util/obj_util.js +29 -0
- package/src/util/request.js +74 -0
- package/src/util/request_json.js +72 -0
- package/src/util/request_json_mute.js +66 -0
- package/src/util/request_upload.js +79 -0
- package/src/util/route_util.js +32 -0
- package/src/util/str_util.js +144 -0
- package/src/util/time_util.js +407 -0
- package/src/util/toast_util.js +25 -0
- package/src/util/tree_util.js +120 -0
- package/src/util/validate.js +183 -0
- package/src/util/vue_filter.js +223 -0
- package/src/views/auditbar/index.vue +66 -0
- package/src/views/billcard/index.vue +46 -0
- package/src/views/checkgroup/index.vue +36 -0
- package/src/views/dataSelector/index.vue +49 -0
- package/src/views/datetimepicker/index.vue +35 -0
- package/src/views/daydropdown/index.vue +31 -0
- package/src/views/filepicker/index.vue +32 -0
- package/src/views/home/index.vue +64 -0
- package/src/views/imagepicker/index.vue +32 -0
- package/src/views/imagespicker/index.vue +32 -0
- package/src/views/input/index.vue +35 -0
- package/src/views/monthdropdown/index.vue +31 -0
- package/src/views/multListSelector/index.vue +61 -0
- package/src/views/multipicker/index.vue +37 -0
- package/src/views/productSelector/index.vue +35 -0
- package/src/views/projectdropdown/index.vue +31 -0
- package/src/views/projectpicker/index.vue +42 -0
- package/src/views/secretnotify/index.vue +28 -0
- package/src/views/sheet/index.vue +46 -0
- package/src/views/singlepicker/index.vue +36 -0
- package/src/views/subdepartmentSelector/index.vue +41 -0
- package/src/views/switch/index.vue +35 -0
- package/src/views/treepicker/index.vue +42 -0
- package/src/views/userSelector/index.vue +54 -0
- package/src/views/userSelectorNew/index.vue +45 -0
- package/src/views/userpicker/index.vue +43 -0
- package/src/views/userprofile/index.vue +30 -0
- package/src/views/userspicker/index.vue +43 -0
- package/src/views/yeardropdown/index.vue +32 -0
- package/src/vm/index.js +6 -0
- package/tsconfig.json +19 -0
- package/tsconfig.node.json +8 -0
- 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
|
+
|