Subjection.vue
3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<template>
<div>
<el-dialog
v-if="show"
v-model="show" class="dialog" title="绑定隶属" :close-on-click-modal="true" width="80%"
draggable
>
<el-form
ref="queryRef" size="small" :model="queryParams" :inline="true" label-width="auto"
>
<el-row style="width: 100%;">
<el-form-item label="会员编号" prop="code" label-width="">
<el-input
v-model.trim="queryParams.code"
placeholder=""
clearable
style="width: 100%;"
@keyup.enter="selectFN"
/>
</el-form-item>
<div>
<el-button size="small" type="primary" icon="Search" @click="selectFN">搜索</el-button>
</div>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" max-height="300" border style="width: 100%">
<el-table-column type="index" width="55" label="序号" align="center" />
<el-table-column label="会员名称" align="center" prop="baseName" min-width="100" />
<el-table-column label="会员编号" align="center" prop="memCode" min-width="140px" />
<el-table-column label="协会类型" align="center" prop="" min-width="100px">
<template #default="scope">
<div v-if="scope.row.deptType==1">中跆协</div>
<div v-if="scope.row.deptType==2">一级协会</div>
<div v-if="scope.row.deptType==3">一级协会</div>
<div v-if="scope.row.deptType==4">二级协会</div>
<div v-if="scope.row.deptType==5">三级协会</div>
<div v-if="scope.row.deptType==6">职业性单位会员</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" prop="" width="100px">
<template #default="scope">
<el-button type="primary" @click="handeBang(scope.row)">绑定隶属</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script setup>
import { toRefs, ref, reactive, getCurrentInstance } from 'vue'
import { searchMemberByCode, bindUpperMember } from '/@/api/groupMember'
const { proxy } = getCurrentInstance()
const emit = defineEmits(['success'])
const data = reactive({
show: false,
list: [],
queryParams: {},
form: {}
})
const { show, list, queryParams, form } = toRefs(data)
const loading = ref(false)
function open(row) {
list.value = []
form.value = row
queryParams.value = {}
show.value = true
}
async function getList() {
loading.value = true
if (!queryParams.value.code) return proxy.$modal.msgError('请输入会员编号')
const res = await searchMemberByCode(queryParams.value)
list.value = [res.data]
loading.value = false
}
function selectFN() {
queryParams.value.pageNum = 1
getList()
}
function handeBang(row) {
if (row.memCode == form.value.memCode) return proxy.$modal.msgError('不能绑定自己')
proxy.$modal.confirm('是否确认绑定会员编号为"' + row.memCode + '的数据项').then(function() {
loading.value = true
if (form.value.deptType < row.deptType) {
return bindUpperMember({ curMemId: row.memId, upperMemId: form.value.memId })
} else {
return bindUpperMember({ curMemId: form.value.memId, upperMemId: row.memId })
}
}).then(() => {
proxy.$modal.msgSuccess('操作成功')
emit('success')
show.value = false
}).catch(() => {
}).finally(() => {
loading.value = false
})
}
defineExpose({
open
})
</script>
<style lang="scss" scoped>
</style>