ÐèÇó
Óû§µã»÷±à¼Í¼±ê»áµ½±à¼Ò³Ãæ,´ø¹ýÈ¥µÄÄÚÈÝÓÐ ÊÖ»úºÅºÍÐÕÃû ÒÔ¼°±êÇ©(ÕâÀï±êÇ©ÊǸöid)
ÁªÏµÈ˺͵绰ÎÒÖªµÀÈçºÎ»ØÏÔ µ«ÊDZêÇ©²»»áÁË,»áµÄ´ó¸ç°ïæ¿´¿´ÁË,лл
Ò»ÏÂÊÇÖ÷Òª´úÂë`<template>
<view class="addLiaison-box">
<view class="addLiaison-content">
<view class="content-box">
<u-form :model="form" ref="uForm">
<u-form-item label="ÁªÏµÈË" label-width="auto" prop="name">
<u-input v-model="form.name" placeholder="ÇëÌîдÁªÏµÈËÐÕÃû" />
</u-form-item>
<u-form-item label="ÁªÏµµç»°" label-width="auto" prop="telPhone">
<u-input v-model="form.telPhone" placeholder="ÇëÌîдÁªÏµµç»°" />
</u-form-item>
</u-form>
<view class="content-tag">
ÉèÖñêÇ©
</view>
<view class="content-text">
<u-tag class="tags-text" :text="item.dictName" v-for='(item,dictValue) in dataType' :key='dictValue'
:type="item.type" mode="plain" show="true" @click="tagClick(item)" />
</view>
</view>
</view>
<view class="addLiaison-button">
<u-modal v-model="show"
show-cancel-button="isCancel"
cancel-text="È¡Ïû"
:content="content"
:show-title=isTitle
@confirm="confirm"
@cancel="cancel"
></u-modal>
<u-button @click="conserve" size="medium" type="primary" shape="circle" >±£´æ²¢Ê¹ÓÃ</u-button>
<u-button @click="delLiaison" size="medium" type="error" shape="circle" >ɾ³ý</u-button>
</view>
</view>
</template>
<script>
import { mapActions } from 'vuex';
export default {
data() {
return {
form: {
name: '',
telPhone: '',
},
show:false,
isTitle:false,
isCancel:true,
content:'È·¶¨ÒªÉ¾³ýÁªÏµÈËÂð',
dataType: [],
// ÁªÏµÐÅÏ¢
liaisonData:{},
// Ñ¡ÖеÄÁªÏµÈ˱êÇ©
drugRelation:'',
rules:{
name:[
{required: true,message: 'ÇëÊäÈëÁªÏµÈËÐÕÃû',trigger: ['change','blur']},
],
telPhone:[
{required: true,message: 'ÇëÊäÈëÁªÏµÈ˵绰',trigger: ['change','blur']},
{validator: (rule, value, callback) => {
return this.$u.test.mobile(value);
},
message: 'ÁªÏµÈ˵绰²»ÕýÈ·',
trigger: ['change','blur'],
}
]
}
}
},
onLoad (option) {
// ½ÓÊÕµ½Óû§Ñ¡ÖеÄÊý¾Ý
console.log('items',option)
this.liaisonData = option
this.form = {...option}
this.drugRelation = option.drugRelation
// if(option.drugRelation )
// this.dataType = option
// this.dataType.find(item=>item===option.drugRelation)
// this.dataType.forEach(item=>{
// console.log("111111",item)
// item.type = 'primary'
// if(item.drugRelation===option.drugRelation){
// item.type = 'primary'
// }
// })
},
onReady() {
this.$refs.uForm.setRules(this.rules);
},
methods:{
...mapActions(['ActLiaisonTag','ActUpdateMemberUser','ActDeleteMemberUser']),
tagClick(item){
// Óû§µã»÷µÄʱºòͨ¹ý¸Ä±ätypeµÄÖµÀ´ÏÔʾ
this.dataType.forEach(element => {
element.type = 'info'
});
item.type = 'primary'
this.drugRelation = item.dictValue
},
// ±£´æ
conserve(){
this.$refs.uForm.validate(async(valid) => {
if(!valid){
return
}else{
if(!this.drugRelation){
this.$refs.uToast.show({
title: 'ÇëÑ¡Ôñ±êÇ©',
})
}else{
const formData = {
name:this.form.name,
telPhone:this.form.telPhone,
drugRelation:this.drugRelation,
id:this.liaisonData.id
}
this.ActUpdateMemberUser(formData)
this.$u.route({
url:'pages/person/liaison',
type:'redirect'
})
}
}
})
},
delLiaison(){
this.show = true
},
cancel(){
this.show = false
},
confirm(){
this.ActDeleteMemberUser({id:this.liaisonData.id})
this.$u.route({
url:'pages/person/liaison',
type:'redirect'
})
},
async getTag(){
const {code,data} = await this.ActLiaisonTag()
if(code === 200 ){
this.dataType = data.map(item=>{
this.$set(item,'type','info')
return item
})
}
},
},
mounted () {
this.getTag()
}
}
</script>
<style lang="scss" scoped>
page {
height: 100%;
background-color: #f6f6f6;
}
.addLiaison-box{
margin: 0 24rpx;
.addLiaison-content{
padding: 0 24rpx;
border-radius: 16rpx;
background-color:#FFF;
margin-top: 24rpx;
.content-box{
u-form-item{
color: #333333;
font-size: 28rpx;
font-weight: 500;
}
.content-tag{
padding-top: 28rpx;
color: #333333;
font-size: 28rpx;
font-weight: 500;
}
.content-text{
padding: 32rpx 0 32rpx;
.tags-text{
margin: 12rpx;
}
}
}
}
.addLiaison-button{
padding-top: 48rpx;
u-button{
margin: 0 24rpx;
}
}
}
</style>~~~~`
:class=['´«µÝ¹ýÀ´µÄtagid'==item.id?'active':'' ]
ÕâÀïµÄactive ×÷Ϊһ¸ö͹ÏÔtagµÄcss