GuLiMmo
2024-01-19 ac1391e1605f4a03cee03f3be2913b8e1997aa2e
src/views/assessment/components/addWeight.vue
@@ -3,7 +3,8 @@
        <div style="margin-bottom: 20px;" v-if="!form.deptId">
            <el-alert title="请先选择部门信息" type="warning" />
        </div>
        <el-form :model="form" ref="formRef" :rules="rules" label-width="70px">
        <el-form :model="form" ref="formRef" :rules="rules" label-width="70px" v-loading="isLoading"
            element-loading-text="数据加载中,请稍后。。。">
            <el-row>
                <el-col :span="12">
                    <el-form-item label="部门" prop="deptId">
@@ -12,13 +13,15 @@
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="候选人" prop="userId">
                        <el-select v-model="form.userId" placeholder="请选择候选人"
                    <el-form-item label="考核人" prop="userId">
                        <el-select v-model="form.userId" placeholder="请选择考核人"
                            :disabled="userSelectOption.length > 0 ? false : true" @change="userSelectChange"
                            style="width: 100%;">
                            <el-option v-for="item in userSelectOption" :label="item.name" :key="item.id"
                                :value="item.id" />
                            <div class="loading-more" @click="loadMore">{{ loadingMoreText }}</div>
                            <div v-loading="isLoading" element-loading-text="数据加载中,请稍后。。。">
                                <el-option v-for="item in userSelectOption" :label="item.name" :key="item.id"
                                    :value="item.id" />
                                <div class="loading-more" @click="loadMore">{{ loadingMoreText }}</div>
                            </div>
                        </el-select>
                    </el-form-item>
                </el-col>
@@ -29,14 +32,15 @@
                </el-col>
                <el-col :span="12">
                    <el-form-item label="权值" prop="weight">
                        <el-input v-model="form.weight" :placeholder="`请输入权值(输入的权值大于等于${weightRange})`" style="width: 100%;"></el-input>
                        <el-input v-model="form.weight" :placeholder="`请输入权值(输入的权值大于等于${weightRange})`"
                            style="width: 100%;"></el-input>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <template #footer>
            <el-button @click="() => props.dialogParams.visible = false">取消</el-button>
            <el-button type="primary" @click="submit">确定</el-button>
            <el-button type="primary" @click="submit" :loading="isLoading">确定</el-button>
        </template>
    </el-dialog>
</template>
@@ -68,6 +72,8 @@
    postName: '',
    weight: ''
})
const isLoading = ref(true)
@@ -162,11 +168,13 @@
// 初始化部门数据
const initDept = async (parentId) => {
    const deptResult = await getDeptLazyTree(parentId)
    isLoading.value = false
    return deptResult.data.data
}
// 初始化用户列表
const initUserList = (deptId) => {
    isLoading.value = true
    return getList(
        page.current,
        page.size,
@@ -176,6 +184,7 @@
        deptId,
    ).then(res => {
        page.total = res.data.data.total
        isLoading.value = false
        return res.data.data.records
    })
}
@@ -184,6 +193,8 @@
// 选择部门改变
const deptChange = async (value) => {
    const id = value[value.length - 1]
    form.userId = ''
    page.current = 1
    currentDeptId.value = id
    const userList = await initUserList(id)
    userSelectOption.value = userList