89 lines
2.1 KiB
Vue
89 lines
2.1 KiB
Vue
<!-- 使用审批的UI -->
|
||
<template>
|
||
<view class="check-action">
|
||
<view class="btn-wrap">
|
||
<u-form-item label="参会情况" label-width="80px">
|
||
<u-radio-group v-model="joinTypeDef" @change="groupChange">
|
||
<u-radio :customStyle="{margin: ' 0 20px 0 0' }" v-for="(item, index) in joinType" :key="index"
|
||
:label="item.name" :name="item.name" @change="radioChange">
|
||
</u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
|
||
<!-- 参会情况:-->
|
||
<!-- <view>
|
||
<u-radio-group v-model="joinTypeDef" @change="groupChange">
|
||
<u-radio :customStyle="{margin: ' 0 20px 6px 0' }" v-for="(item, index) in joinType" :key="index"
|
||
:label="item.name" :name="item.name" @change="radioChange">
|
||
</u-radio>
|
||
</u-radio-group>
|
||
</view> -->
|
||
<view v-if="!isJoin">
|
||
<u--textarea v-model="opinions" placeholder="请输入请假原因"></u--textarea>
|
||
</view>
|
||
<view class="buttons">
|
||
<u-button @click="handleCheck" class="btn first-btn" type="primary" text="确认"></u-button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
props: {},
|
||
data() {
|
||
return {
|
||
opinions: '',
|
||
isJoin: true,
|
||
joinType: [{
|
||
name: '参加',
|
||
disabled: false
|
||
},
|
||
{
|
||
name: '请假',
|
||
disabled: false
|
||
}
|
||
],
|
||
// u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中
|
||
joinTypeDef: '参加',
|
||
};
|
||
},
|
||
methods: {
|
||
radioChange() {
|
||
this.isJoin = !this.isJoin
|
||
},
|
||
handleCheck() {
|
||
if (!this.isJoin && this.opinions.length < 1) {
|
||
uni.$showErrorInfo('请输入请假原因!')
|
||
return false
|
||
} else if (this.isJoin && this.opinions.length > 1) {
|
||
this.opinions = ''
|
||
}
|
||
this.$emit('chilCheck', {
|
||
opinions: this.opinions,
|
||
isJoin: this.isJoin
|
||
}, function(res) {})
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.btn-wrap {
|
||
position: fixed;
|
||
bottom: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
padding: 12px;
|
||
z-index: 1000;
|
||
background: #fff;
|
||
box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05);
|
||
}
|
||
|
||
.buttons {
|
||
display: flex;
|
||
margin-top: 6px;
|
||
justify-content: space-between;
|
||
}
|
||
</style> |