四邻联动

This commit is contained in:
liuye
2022-04-18 18:52:27 +08:00
parent c5fa49a5e4
commit d261e10dc8
5 changed files with 188 additions and 61 deletions

View File

@@ -5,16 +5,17 @@
<span class="tips">*</span>党员信息
</div>
<div class="value">
<span class="color-999">请选择</span>
<u-icon name="arrow-right" color="#ddd" size="28"></u-icon>
<AiPagePicker type="party" @select="handlePartySelect" single>
<AiMore v-model="form.partyName" placeholder="请选择"/>
</AiPagePicker>
</div>
</div>
<div class="flex mar-b16">
<div class="label">
<span class="tips">*</span>四邻对象
</div>
<div class="value">
<span class="color-999">请选择</span>
<div class="value" @click="selectUser">
<span :class="form.residentName ? '' : 'color-999'">{{form.residentName || '请选择'}}</span>
<u-icon name="arrow-right" color="#ddd" size="28"></u-icon>
</div>
</div>
@@ -22,8 +23,8 @@
<div class="label">
<span class="tips">*</span>事件日期
</div>
<div class="value">
<span class="color-999">请选择</span>
<div class="value" @click="showTimeSelect=true">
<span :class="form.linksageDate ? '' : 'color-999'">{{form.linksageDate || '请选择'}}</span>
<u-icon name="arrow-right" color="#ddd" size="28"></u-icon>
</div>
</div>
@@ -33,12 +34,14 @@
</div>
</div>
<div class="text-area">
<u-input v-model="value" type="textarea" :height="150" :auto-height="true" maxlength="500" placeholder="请输入事件内容描述" placeholder-style="font-size:16px;" />
<div class="hint">{{ value.length }}/500</div>
<u-input v-model="form.description" type="textarea" :height="150" :auto-height="true" maxlength="500" placeholder="请输入事件内容描述" placeholder-style="font-size:16px;" />
<div class="hint">{{ form.description.length }}/500</div>
</div>
<div class="footer">
<div class="footer" @click="confirm">
<div class="btn">确认提交</div>
</div>
<u-picker v-model="showTimeSelect" mode="time" :params="params" @confirm="confirmSelectTime"></u-picker>
<u-select :list="userList" value-name="id" label-name="name" v-model="showUserSelect" @confirm="confirmSelectUser"></u-select>
</div>
</template>
@@ -49,7 +52,19 @@ export default {
name: 'Add',
data() {
return {
value: ''
value: '',
form: {
partyName: '',
partyId: '',
residentName: '',
residentId: '',
linksageDate: '',
description: ''
},
showTimeSelect: false,
userList: [],
showUserSelect: false,
params: {year: true, month: true, day: true, hour: false, minute: false, second: false},
}
},
computed: {
@@ -61,10 +76,65 @@ export default {
},
onShow() {
document.title = '新增'
},
methods: {
rules() {
return {
partyId: '请选择党员信息',
residentId: '请选择四邻对象',
linksageDate: '请选择事件日期',
description: '请输入事件描述',
}
},
confirm() {
const rules = this.rules()
for (let v of Object.keys(rules)) {
if (!this.form[v]) {
return this.$u.toast(rules[v])
}
}
this.$http.post('/app/apppartyfourlinkage/addOrUpdate', {...this.form}).then(res => {
if (res.code == 0) {
this.$u.toast('提交成功')
uni.$emit('reload')
uni.navigateBack({
delta: 1
})
}
}).catch((err) => {
this.$u.toast(err)
})
},
confirmSelectTime(e) {
this.form.linksageDate = e.year + '-' + e.month + '-' + e.day
},
selectUser() {
if(!this.form.partyId) {
return this.$u.toast('请先选择党员信息')
}
this.showUserSelect = true
},
confirmSelectUser(e) {
this.form.residentId = e[0].value
this.form.residentName = e[0].label
},
handlePartySelect(e) {
this.form.partyId = e[0].id
this.form.partyName = e[0].name
this.getUserList()
},
getUserList() {
this.$http.post('/app/apppartyfourresident/listFourResident', null, {
params: {
size: 10,
partyId: this.form.partyId,
},
}).then((res) => {
if (res.code == 0) {
this.userList = res.data.records
}
})
}
},
}
</script>