-- 项目创建修改

This commit is contained in:
yuping
2022-12-02 16:24:42 +08:00
parent d42e3442c5
commit 54031306de
10 changed files with 1204 additions and 3638 deletions

View File

@@ -0,0 +1,104 @@
<template>
<a-select
v-model:value="managerArray"
placeholder="请选择项目经理"
:filterOption="false"
style="width: 100%"
:options="options"
allowClear
showSearch
mode="multiple"
:disabled="disabled"
@popupScroll="memberScroll"
@search="searchMember"
@change="change"
>
<template v-if="loading" #notFoundContent>
<a-spin size="small"/>
</template>
</a-select>
</template>
<script>
import {reactive, toRefs, watch} from "vue";
import {scrollLoad} from "@/api/method";
import * as api1 from "@/api/index1";
export default {
name: "ProjectClass",
props: {
value: {
type: Number,
},
name: {
type: Number,
},
disabled: {
type: Boolean,
default: false
},
},
setup(props, ctx) {
const state = reactive({
options: [],
managerArray: [],
memberParam: {keyWord: '', pageNo: 1, pageSize: 10},
loading: false,
init: false
});
watch(() => state.memberParam, getMember)
watch(() => props.value, init)
function getMember() {
state.loading = true
api1.getMemberInfo(state.memberParam).then((res) => {
const list = res.data.data.rows.filter(e => !props.value?.includes(e.id + '')).map(e => ({
label: e.realName,
value: e.id
}));
state.options.push(...list)
state.loading = false
});
}
const memberScroll = (e) => {
let num = scrollLoad(e);
if (num === 2) {
// 如果滑到底部,则加载下一页
state.memberParam.pageNo++;
}
};
//搜索学员
const searchMember = (keyWord) => {
keyWord && (state.memberParam = {keyWord, pageNo: 1, pageSize: 10});
};
function init() {
if (props.value && props.name) {
const arrManager = props.name.split(',')
const arrManagerId = props.value.split(',')
state.managerArray = arrManagerId
state.options = arrManager.map((e, i) => ({label: e, value: arrManagerId[i]}))
state.init = true
getMember()
}
}
function change(e, l) {
console.log('change')
ctx.emit('update:value', e.join(','))
ctx.emit('update:name', l.map(t => t.label).join(','))
}
return {
...toRefs(state),
searchMember,
memberScroll,
change
};
},
};
</script>