This commit is contained in:
2025-09-05 21:36:48 +08:00
parent b910c6fee2
commit c9496f4400
10 changed files with 472 additions and 18 deletions

View File

@ -80,6 +80,11 @@
<el-option v-for="item in team_clock_type" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="打卡范围" prop="punchRangeList" v-if="form.isClockIn == 1">
<el-select v-model="form.punchRangeList" multiple clearable placeholder="请选择打卡范围">
<el-option v-for="item in projectTeamRangeList" :key="item.id" :label="item.punchName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
@ -98,13 +103,15 @@
</template>
<script setup name="ProjectTeam" lang="ts">
import { addProjectTeam, delProjectTeam, getProjectTeam, listProjectTeam, updateProjectTeam } from '@/api/project/projectTeam';
import { addProjectTeam, delProjectTeam, getProjectTeam, listProjectTeam, updateProjectTeam,getProjectTeamClockIn } from '@/api/project/projectTeam';
import { ProjectTeamForm, ProjectTeamQuery, ProjectTeamVO } from '@/api/project/projectTeam/types';
import { useUserStoreHook } from '@/store/modules/user';
import UserListDialog from '@/views/project/projectTeam/component/UserListDialog.vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { team_clock_type } = toRefs<any>(proxy?.useDict('team_clock_type'));
console.log(team_clock_type);
// 获取用户 store
const userStore = useUserStoreHook();
// 从 store 中获取项目列表和当前选中的项目
@ -117,6 +124,7 @@ const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const projectTeamRangeList = ref([]);
const currentRow = ref<ProjectTeamVO>({
id: undefined,
projectId: undefined,
@ -140,7 +148,8 @@ const initFormData: ProjectTeamForm = {
teamName: undefined,
isClockIn: undefined,
remark: undefined,
peopleNumber: undefined
peopleNumber: undefined,
punchRangeList: undefined
};
const data = reactive<PageData<ProjectTeamForm, ProjectTeamQuery>>({
form: { ...initFormData },
@ -171,6 +180,14 @@ const getList = async () => {
total.value = res.total;
loading.value = false;
};
/** 获取该项目的打开范围 "*/
const getClockIn = async () => {
if(currentProject.value?.id){
const res = await getProjectTeamClockIn({projectId:currentProject.value?.id});
projectTeamRangeList.value = res.rows
}
};
/** 取消按钮 */
const cancel = () => {
@ -280,5 +297,6 @@ onUnmounted(() => {
onMounted(() => {
getList();
getClockIn();
});
</script>