<template>
|
|
<el-dialog
|
:title="isEdit ? '编辑志愿者队伍' : '新增志愿者队伍'"
|
:visible="value"
|
width="50%"
|
:modal="false"
|
:show-close="false"
|
:before-close="onCancel"
|
>
|
<el-form
|
ref="form"
|
:model="form"
|
:rules="rules"
|
label-position="right"
|
label-width="150px"
|
class="orgForm"
|
>
|
<el-form-item label="组织名称" prop="parentId">
|
<el-select v-model="form.parentId" placeholder="请选择">
|
<el-option
|
v-for="item in volunteerList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="队伍名称:" prop="name">
|
<el-input
|
v-model.trim="form.name"
|
class="input-width"
|
placeholder="请输入队伍名称"
|
size="small"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="服务类型" prop="serviceTypeId">
|
<el-select v-model="form.serviceTypeId" placeholder="请选择">
|
<el-option
|
v-for="item in serveroptions"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item>
|
<el-button @click="onCancel()">取消</el-button>
|
<el-button type="primary" @click="send('form')">确认</el-button>
|
</el-form-item>
|
</el-form>
|
</el-dialog>
|
</template>
|
|
<script>
|
// import * as organizationServicer from '@/services/organizationServicer';
|
|
export default {
|
components: { },
|
props: {
|
value: { type: Boolean },
|
rankItem: { },
|
isEdit: { type: Boolean }
|
},
|
|
data() {
|
return {
|
form: {
|
serviceTypeId: '',
|
name: '',
|
parentId: ''
|
},
|
rules: {
|
name: [
|
{ required: true, message: '请输入队伍名称', trigger: 'blur' }
|
],
|
parentId: [
|
{ required: true, message: '请输入选择组织名称', trigger: 'change' }
|
],
|
serviceTypeId: [
|
{ required: true, message: '请输入选择服务类型', trigger: 'change' }
|
]
|
|
},
|
serveroptions: [], // 服务类型
|
volunteerList: []
|
}
|
},
|
watch: {
|
rankItem(val) {
|
this.orgList();
|
this.form = {
|
serviceTypeId: val.serviceTypeId,
|
name: val.name,
|
parentId: val.parantId,
|
id: val.id
|
}
|
}
|
},
|
mounted() {
|
this.serverList()
|
},
|
methods: {
|
async orgList() {
|
// return
|
this.$api.get('volunteer/org/list','',res=>{
|
this.volunteerList = res.map(d => {
|
return {
|
value: d.id,
|
label: d.name,
|
id: d.id
|
}
|
})
|
})
|
},
|
async serverList() {
|
// return
|
// const res = await organizationServicer.serverList();
|
this.$api.get('volunteer/service/type/list','',res=>{
|
this.serveroptions = res.map(d => {
|
return {
|
label: d.name,
|
value: d.id
|
}
|
});
|
})
|
|
},
|
/** 取消 */
|
onCancel () {
|
this.$refs['form'].resetFields();
|
this.$emit('change', false);
|
this.form = {
|
serviceTypeId: '',
|
name: '',
|
parentId: ''
|
}
|
},
|
|
/** 确认 */
|
send(formName) {
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
// console.log(this.form)
|
console.log(this.rankItem)
|
if (this.rankItem.id) {
|
this.editExamine()
|
} else {
|
this.saveExamine()
|
}
|
} else {
|
return false;
|
}
|
});
|
},
|
|
async saveExamine() {
|
// return
|
// await organizationServicer.addteam(this.form)
|
this.$api.post('volunteer/org/team/add',this.form,res=>{
|
this.$message('新增成功');
|
this.form = {
|
serviceTypeId: '',
|
name: '',
|
parentId: ''
|
}
|
this.$refs['form'].resetFields();
|
this.$emit('success');
|
})
|
|
},
|
async editExamine() {
|
// return
|
// await organizationServicer.editteam(this.form)
|
this.$api.post('volunteer/org/team/edit',this.form,res=>{
|
this.$message('编辑成功');
|
this.$refs['form'].resetFields();
|
this.$emit('success');
|
})
|
|
}
|
|
}
|
|
}
|
</script>
|
|
<style lang="less" scoped>
|
</style>
|