Browse Source

设定调班使用的表单

qin_14
hreenshan112 9 months ago
parent
commit
d9c94409bf
  1. 33
      src/api/hr/people/index.ts
  2. 167
      src/views/hr/teams/anchorPage.vue
  3. 17
      src/views/hr/teams/classes.vue

33
src/api/hr/people/index.ts

@ -842,3 +842,36 @@ export function getSchedule(data?: any):AxiosPromise {
data: data
});
}
/**
* App
*/
export function gaveAllApp(data?: any){
return request({
// url: '/systemapi/menus/analysisMonthRulers',
url: '/systemapi/app/gaveAllApp',
method: 'post',
data: data
});
}
/**
*
*/
export function ginTeamRule(data?: any){
return request({
// url: '/systemapi/menus/analysisMonthRulers',
url: '/systemapi/app/ginTeamRule',
method: 'post',
data: data
});
}
/**
*
*/
export function setupRulerForm(data?: any){
return request({
// url: '/systemapi/menus/analysisMonthRulers',
url: '/systemapi/app/setupRulerForm',
method: 'post',
data: data
});
}

167
src/views/hr/teams/anchorPage.vue

@ -0,0 +1,167 @@
<!--
@ 作者: 秦东
@ 时间: 2025-02-18 09:22:13
@ 备注: 设置调班锚点
-->
<script lang="ts" setup>
import { gaveAllApp, ginTeamRule, setupRulerForm } from "@/api/hr/people/index";
const props = defineProps({
open: {
type: Boolean,
default: false,
},
});
const emits = defineEmits(["update:open"]);
const formContent = reactive({
appKey: "",
tableKey: "",
});
const sendData = reactive({
source_id: "",
appid: 0,
dataBaseName: "",
ip: "",
port: 0,
password: "",
data_source: "",
sqlType: "",
table_key: "",
table_name: "",
userName: "",
});
const appList = ref<any>([]);
const tableList = ref<any>([]);
/**
* 弹窗显示控制
*/
const isShow = computed({
get: () => {
if (props.open) {
}
return props.open;
},
set: (val) => {
emits("update:open", val);
},
});
/**
@ 作者: 秦东
@ 时间: 2025-02-18 09:29:28
@ 功能: 关闭表单
*/
const closeDialog = () => {
emits("update:open", false);
};
/**
@ 作者: 秦东
@ 时间: 2025-02-18 10:44:01
@ 功能: 获取app列表应用
*/
const gaveAllAppList = () => {
gaveAllApp()
.then(({ data }) => {
console.log(" 获取app列表应用", data);
appList.value = data;
})
.finally(() => {
ginTeamRule().then(({ data }) => {
console.log(" 获取app列表应用=====>", data);
if (data.appid != 0) {
formContent.appKey = data.appid.toString();
}
formContent.tableKey = data.tableKey;
});
});
};
watch(
() => formContent.appKey,
(val: any) => {
if (appList && appList.value.length > 0) {
appList.value.forEach((iten: any) => {
if (iten.app_id == val) {
tableList.value = iten.list;
}
});
}
},
{
deep: true,
}
);
/**
@ 作者: 秦东
@ 时间: 2025-02-18 11:29:53
@ 功能: 提交调班配置表
*/
const onSubmitPick = () => {
if (appList && appList.value.length > 0) {
appList.value.forEach((iten: any) => {
if (iten.app_id == formContent.appKey) {
sendData.appid = iten.app_id;
}
});
}
if (tableList.value && appList.value.length > 0) {
tableList.value.forEach((iten: any) => {
if (iten.table_key == formContent.tableKey) {
sendData.dataBaseName = iten.dataBaseName;
sendData.ip = iten.ip;
sendData.port = iten.port;
sendData.password = iten.password;
sendData.data_source = iten.data_source;
sendData.sqlType = iten.sqlType;
sendData.table_key = iten.table_key;
sendData.table_name = iten.table_name;
sendData.userName = iten.userName;
sendData.source_id = iten.source_id;
}
});
}
console.log("提交调班配置表", sendData);
setupRulerForm(sendData).then((data: any) => {
console.log("提交调班配置表===========234===========>", data);
});
};
onMounted(() => {
gaveAllAppList();
});
</script>
<template>
<el-dialog
v-model="isShow"
width="400"
title="设置调班表单"
append-to-body
:before-close="closeDialog"
>
<el-form :model="formContent" label-width="auto">
<el-form-item label="关联App">
<el-select v-model="formContent.appKey" placeholder="请选择关联App">
<el-option
v-for="item in appList"
:label="item.app_name"
:value="item.app_id"
/>
</el-select>
</el-form-item>
<el-form-item label="关联流程表单">
<el-select v-model="formContent.tableKey" placeholder="请选择关联App">
<el-option
v-for="item in tableList"
:label="item.table_name"
:value="item.table_key"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmitPick">确定</el-button>
<el-button @click="closeDialog">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style lang="scss" scoped></style>

17
src/views/hr/teams/classes.vue

@ -10,6 +10,7 @@ import { teamTimeList, editWorkTimeState } from "@/api/hr/people/index";
import AddClass from "@/views/hr/teams/classTime/addNewClass.vue";
import EditClass from "@/views/hr/teams/classTime/editNewClass.vue";
import SetupPollingPage from "@/views/hr/teams/classTime/setupPollingPage.vue";
import AnchorPage from "@/views/hr/teams/anchorPage.vue";
const searchData = reactive({
name: "",
@ -108,8 +109,19 @@ const setupPolling = (val: any) => {
teamLookInfo.value = val;
setupIsShow.value = true;
};
const anchorIsShow = ref(false);
/**
@ 作者: 秦东
@ 时间: 2025-02-18 09:17:48
@ 功能: 设置引用锚点
*/
const quoteAnchor = () => {
anchorIsShow.value = true;
};
</script>
<template>
<AnchorPage v-model:open="anchorIsShow" />
<AddClass v-model:open="addIsShow" @restdata="getTimeClassList" />
<EditClass
v-model:open="editIsShow"
@ -138,6 +150,11 @@ const setupPolling = (val: any) => {
><i class="fa fa-plus"></i>新增</el-button
>
</el-form-item>
<el-form-item>
<el-button type="success" @click="quoteAnchor"
><i class="fa fa-anchor"></i>引用调班流程</el-button
>
</el-form-item>
</el-form>
</template>
<el-table :data="timeClassList" style="width: 100%">

Loading…
Cancel
Save