网格调整完毕

This commit is contained in:
aixianling
2022-06-01 18:22:19 +08:00
parent 18bffaf517
commit 0bda297fda
82 changed files with 10733 additions and 952 deletions

28
src/components/AiGap.vue Normal file
View File

@@ -0,0 +1,28 @@
<template>
<section class="AiGap" :style="{height,width}"/>
</template>
<script>
export default {
name: "AiGap",
props: {
h: {default: 30},
w: {default: '100%'}
},
computed: {
height() {
let {h} = this
return /\d/.test(h) ? `${h}rpx` : h
},
width() {
let {w} = this
return /\d/.test(w) ? `${w}rpx` : w
}
}
}
</script>
<style lang="scss" scoped>
.AiGap {
}
</style>

View File

@@ -1,8 +1,8 @@
<template>
<section class="AiItem">
<section class="AiItem" :class="{border}">
<div v-if="topLabel" class="topLabel">
<div class="labelPane" flex>
<div class="label" :class="{required}" v-text="label"/>
<div class="label" :class="{required,labelBold}" v-text="label"/>
<slot name="sub" v-if="$slots.sub"/>
</div>
<div class="content">
@@ -12,11 +12,13 @@
</div>
<div v-else class="normal" flex>
<div class="fill" flex>
<div class="label" :class="{required}" v-text="label"/>
<div class="label" :class="{required,labelBold}" v-text="label"/>
<slot name="sub" v-if="$slots.sub"/>
</div>
<slot v-if="$slots.default"/>
<div v-else v-text="value"/>
<div class="flexContent">
<slot v-if="$slots.default"/>
<div v-else v-text="value"/>
</div>
</div>
</section>
</template>
@@ -28,7 +30,9 @@ export default {
value: {default: ""},
label: {default: ""},
required: Boolean,
topLabel: Boolean
topLabel: Boolean,
border: {default: true},
labelBold: Boolean
},
data() {
return {}
@@ -40,12 +44,25 @@ export default {
.AiItem {
font-family: PingFangSC-Regular, PingFang SC;
.border {
.normal {
border-bottom: 2px solid #ddd;
}
.topLabel {
border-bottom: 2px solid #ddd;
}
}
.normal {
width: 100%;
border-bottom: 2px solid #ddd;
padding-right: 32px;
box-sizing: border-box;
height: 112px;
.flexContent {
max-width: 62vw;
}
}
.label {
@@ -64,11 +81,15 @@ export default {
content: "*";
color: #f46;
}
&.labelBold {
font-weight: bold;
font-size: 34px;
}
}
.topLabel {
::v-deep.topLabel {
padding: 32px 32px 32px 0;
border-bottom: 2px solid #ddd;
.labelPane {
margin-bottom: 32px;
@@ -76,6 +97,10 @@ export default {
.content {
padding-left: 20px;
.AiMore > .u-icon {
width: 100%;
}
}
}
}

View File

@@ -28,7 +28,7 @@ export default {
return {
configList: {
resident: {url: "/components/pages/selectResident", label: "name"},
sysUser:{url: "/components/pages/selectSysUser", label: "name"},
sysUser: {url: "/components/pages/selectSysUser", label: "name"},
gird: {url: "/components/pages/selectGird", label: "girdName"},
party: {url: "/components/pages/selectParty", label: "name"},
custom: {...this.ops}
@@ -56,7 +56,7 @@ export default {
})
let url = `${config.url}`,
qsstr = qs.stringify({
selected, ...this.$attrs
selected, nodeKey, ...this.$attrs
})
if (!!qsstr) {
url += `?${qsstr}`

View File

@@ -0,0 +1,30 @@
<template>
<section class="AiPhone">
<img :src="$cdn + 'common/phone.png'" alt="" @click="callPhone(phone)" class="phone-icon" v-if="phone"/>
</section>
</template>
<script>
export default {
name: "AiPhone",
props: {
phone: {default: ""}
},
methods: {
callPhone(phoneNumber) {
uni.makePhoneCall({phoneNumber})
}
}
}
</script>
<style lang="scss" scoped>
.AiPhone {
.phone-icon {
width: 40px;
height: 40px;
vertical-align: sub;
margin-left: 16px;
}
}
</style>

View File

@@ -48,6 +48,9 @@ export default {
...mapState(['user']),
isSingle() {
return this.$route.query.single
},
nodeKey() {
return this.$route.query.nodeKey || "idNumber"
}
},
onLoad(query) {
@@ -67,7 +70,7 @@ export default {
if (res?.data) {
this.total = res.data.pages || 0
res.data.records.forEach(e => {
e.isCheck = this.selected.includes(e.idNumber)
e.isCheck = this.selected.includes(e[this.nodeKey])
})
this.list = [current == 1 ? [] : this.list, res.data.records || []].flat()
}