Browse Source

添加下载班组操作

qin_v16
herenshan112 9 months ago
parent
commit
cf73730339
  1. 961
      src/components/DesignForm/app/index.vue
  2. 141
      src/components/DesignForm/public/expand/org.vue
  3. 14
      src/components/DesignForm/public/form/form.vue
  4. 3
      src/components/DesignForm/public/form/formGroup.vue
  5. 908
      src/components/DesignForm/tableListPage/index.vue
  6. 79
      src/views/hr/teams/index.vue
  7. 13
      src/views/sysworkflow/lowcodepage/appPage/appMenus.vue
  8. 3
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageList.vue
  9. 3
      src/views/sysworkflow/lowcodepage/appPage/appSetUp/setup.vue

961
src/components/DesignForm/app/index.vue

File diff suppressed because it is too large

141
src/components/DesignForm/public/expand/org.vue

@ -3,88 +3,87 @@
@ 时间: 2024-09-12 10:03:22 @ 时间: 2024-09-12 10:03:22
@ 备注: 行政组织选择 @ 备注: 行政组织选择
--> -->
<script lang='ts' setup> <script lang="ts" setup>
import { orgInfo } from '@/api/hr/org/type' import { orgInfo } from "@/api/hr/org/type";
import { getOrgTreeList } from '@/api/hr/org/index' import { getOrgTreeList } from "@/api/hr/org/index";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
modelValue?: string modelValue?: string;
disabled?: boolean disabled?: boolean;
}>(), }>(),
{} {}
) );
const emits = defineEmits<{ const emits = defineEmits<{
(e: 'update:modelValue', value: string): void (e: "update:modelValue", value: string): void;
}>() }>();
const value = computed({ const value = computed({
get: () => { get: () => {
if (props.modelValue != "" && props.modelValue != undefined){ if (props.modelValue != "" && props.modelValue != undefined) {
return props.modelValue*1 return props.modelValue * 1;
}else{ } else {
return props.modelValue return props.modelValue;
} }
},
}, set: (newVal: any) => {
set: (newVal: any) => { emits("update:modelValue", newVal);
emits('update:modelValue', newVal) // let newValJson:criteriaForPeopleList[] = JSON.parse(newVal)
// let newValJson:criteriaForPeopleList[] = JSON.parse(newVal) // if(newValJson.length > 0){
// if(newValJson.length > 0){ // let userAry = new Array
// let userAry = new Array // let userKeyAry = new Array
// let userKeyAry = new Array // newValJson.forEach(item =>{
// newValJson.forEach(item =>{ // userAry.push(item.name+"("+item.number+")")
// userAry.push(item.name+"("+item.number+")") // userKeyAry.push(item.userkey.toString())
// userKeyAry.push(item.userkey.toString()) // })
// }) // emits('update:modelValue', userAry.join(','))
// emits('update:modelValue', userAry.join(',')) // // userlist.value = userAry.join(',')
// // userlist.value = userAry.join(',') // //
// // // }else{
// }else{ // emits('update:modelValue', "")
// emits('update:modelValue', "") // }
// } },
},
}); });
const orgTreeList = ref<orgInfo[]>(); const orgTreeList = ref<orgInfo[]>();
const orgTreeLoading = ref(false); // const orgTreeLoading = ref(false); //
const orgTreeProps ={ const orgTreeProps = {
children: 'child', children: "child",
label: 'name', label: "name",
} // }; //
function haveOrgTreeInfo(){ function haveOrgTreeInfo() {
orgTreeLoading.value = true; orgTreeLoading.value = true;
getOrgTreeList({"orgid": 309}) getOrgTreeList({ orgid: 309 })
.then(({ data })=>{ .then(({ data }) => {
orgTreeList.value = data console.log("行政组织树对照值", data);
}).finally(()=>{orgTreeLoading.value = false;}) orgTreeList.value = data;
})
.finally(() => {
orgTreeLoading.value = false;
});
} }
onBeforeMount(() => { onBeforeMount(() => {
haveOrgTreeInfo(); haveOrgTreeInfo();
}) });
onMounted(() => { onMounted(() => {
// console.log("value---1--",value.value,props.modelValue) // console.log("value---1--",value.value,props.modelValue)
nextTick(() => {}) nextTick(() => {
}) haveOrgTreeInfo();
});
});
</script> </script>
<template> <template>
<el-tree-select <el-tree-select
v-bind="$props" v-bind="$props"
v-model="value" v-model="value"
v-loading="orgTreeLoading" v-loading="orgTreeLoading"
node-key="id" node-key="id"
:props="orgTreeProps" :props="orgTreeProps"
:data="orgTreeList" :data="orgTreeList"
check-strictly check-strictly
:render-after-expand="false" :render-after-expand="false"
/> />
<div></div>
</template> </template>
<style lang='scss' scoped> <style lang="scss" scoped></style>
</style>

14
src/components/DesignForm/public/form/form.vue

@ -486,13 +486,13 @@ watch(
// tProp // tProp
provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any) => { provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any) => {
/* console.log("----------1--------->",key) // console.log("----------1--------->", key);
console.log("表单组件值改变事件----------2--------->",value) // console.log("----------2--------->", value);
console.log("表单组件值改变事件----------3--------->",data) // console.log("----------3--------->", data);
console.log("表单组件值改变事件----------4--------->",tProp) // console.log("----------4--------->", tProp);
console.log("表单组件值改变事件----------5--------->",type) // console.log("----------5--------->", type);
console.log("表单组件值改变事件----------6--------->",attribute) // console.log("----------6--------->", attribute);
console.log("表单组件值改变事件----------11--------->",model.value) */ // console.log("----------11--------->", model.value);
let fieldVal = {}; let fieldVal = {};
for (let i in model.value) { for (let i in model.value) {
if (i == key) { if (i == key) {

3
src/components/DesignForm/public/form/formGroup.vue

@ -265,13 +265,14 @@ const groupClick = (item: any, ele?: string) => {
inputStyle: {}, inputStyle: {},
}; };
} }
// console.log("--->",getGroupName(item))
store.setActiveKey(getGroupName(item)); store.setActiveKey(getGroupName(item));
store.setControlAttr(item); store.setControlAttr(item);
// grid // grid
state.gridAdd = item.type === "grid"; state.gridAdd = item.type === "grid";
// state.clone = !notNested(item.type) // state.clone = !notNested(item.type)
state.clone = !notNestedTableFlex(item.type); state.clone = !notNestedTableFlex(item.type);
console.log("点击激活当前--->", store);
}; };
// //
const getFormItemStyle = (ele: FormList) => { const getFormItemStyle = (ele: FormList) => {

908
src/components/DesignForm/tableListPage/index.vue

File diff suppressed because it is too large

79
src/views/hr/teams/index.vue

@ -10,8 +10,11 @@ import {
addteamcont, addteamcont,
eiteteamcont, eiteteamcont,
} from "@/api/hr/org/index"; } from "@/api/hr/org/index";
import { govthree } from "@/api/opk/opk/api";
import BatchImportTimePeople from "@/views/hr/teams/batchImportTimePeople.vue"; import BatchImportTimePeople from "@/views/hr/teams/batchImportTimePeople.vue";
const downloadUrlStis =
import.meta.env.VITE_APP_BASE_API + "/systemapi/rongxin/downLoadTearms";
const searchFormRef = ref(ElForm); const searchFormRef = ref(ElForm);
const addFormRef = ref(ElForm); const addFormRef = ref(ElForm);
@ -26,6 +29,8 @@ const tiemList = ref([]);
const selectTableLength = ref(0); const selectTableLength = ref(0);
const tableIds = ref<string[]>([]); //ID const tableIds = ref<string[]>([]); //ID
const daochuOpen = ref(false);
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2025-01-13 13:48:00 @ 时间: 2025-01-13 13:48:00
@ -42,7 +47,17 @@ const gainTimeList = () => {
loadLing.value = false; loadLing.value = false;
}); });
}; };
/**
@ 作者: 秦东
@ 时间: 2025-02-27 10:47:14
@ 功能: 获取公司信息
*/
const orgList = ref<any>([]);
const govthrees = () => {
govthree({ id: 309, all: 1 }).then((data) => {
orgList.value = data.data;
});
};
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2025-01-13 13:54:15 @ 时间: 2025-01-13 13:54:15
@ -50,6 +65,7 @@ const gainTimeList = () => {
*/ */
onMounted(() => { onMounted(() => {
gainTimeList(); gainTimeList();
govthrees();
}); });
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ -253,6 +269,26 @@ const closeBatchImport = () => {
setupTeimTitle.value = ""; setupTeimTitle.value = "";
setupOpen.value = false; setupOpen.value = false;
}; };
/**
@ 作者: 秦东
@ 时间: 2025-02-27 10:34:02
@ 功能: 打开导出页面
*/
const upLoadOrg = reactive({
orgId: "",
});
const openUploadPage = () => {
daochuOpen.value = true;
};
const closeUploadPeople = () => {
daochuOpen.value = false;
};
const orgTreeProps = {
label: "name",
children: "child",
};
//
const downloadPage = () => {};
</script> </script>
<template> <template>
<div class="app-container"> <div class="app-container">
@ -289,16 +325,16 @@ const closeBatchImport = () => {
<i-ep-plus /> <i-ep-plus />
新增 新增
</el-button> </el-button>
<!-- <el-button <el-button
v-hasPerm="['339372760021086208']" v-hasPerm="['339372760021086208']"
plain plain
type="primary" type="primary"
:disabled="tiemList.length === 0" :disabled="tiemList.length === 0"
@click="handleDeleteOrgClass()" @click="openUploadPage()"
> >
<i-ep-delete />删除 <i class="fa fa-upload" />导出人员
</el-button> </el-button>
<span class="select-text">已选 {{ selectTableLength }} </span> --> <!--<span class="select-text">已选 {{ selectTableLength }} </span> -->
</div> </div>
<el-table <el-table
@ -425,6 +461,39 @@ const closeBatchImport = () => {
@closeOpen="closeBatchImport" @closeOpen="closeBatchImport"
/> />
</el-dialog> </el-dialog>
<el-dialog
v-model="daochuOpen"
title="导出班组人员"
width="250"
:before-close="closeUploadPeople"
>
<el-form ref="addFormRef" :model="upLoadOrg">
<el-form-item label="行政组织" prop="orgId">
<el-tree-select
v-model="upLoadOrg.orgId"
:data="orgList"
filterable
check-strictly
style="width: 240px"
:props="orgTreeProps"
node-key="id"
clearable
/>
</el-form-item>
<el-form-item>
<el-link
type="primary"
:underline="false"
:href="downloadUrlStis + '?org=' + upLoadOrg.orgId"
target="_blank"
>
<el-button type="primary"> 确定下载 </el-button>
</el-link>
<el-button @click="closeUploadPeople"> 取消 </el-button>
</el-form-item>
</el-form>
</el-dialog>
</div> </div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>

13
src/views/sysworkflow/lowcodepage/appPage/appMenus.vue

@ -326,7 +326,18 @@ const openAppPage = (val: any) => {
<template #default="{ node, data }"> <template #default="{ node, data }">
<div class="appMenuTitle"> <div class="appMenuTitle">
<el-space wrap> <el-space wrap>
<svg-icon prefix="icon" :icon-class="data.svg" @click="setAppMenusSvg(data)" /> <el-image
v-if="data.icon != ''"
style="width: 15px; height: 15px"
:src="data.icon"
:fit="fit"
/>
<svg-icon
v-else
prefix="icon"
:icon-class="data.svg"
@click="setAppMenusSvg(data)"
/>
<!-- <el-tooltip :content="node.label" placement="top" effect="dark"> <!-- <el-tooltip :content="node.label" placement="top" effect="dark">
<el-text class="w-120px mb-2" truncated @click="openAppPage(data)">{{node.label}}</el-text> <el-text class="w-120px mb-2" truncated @click="openAppPage(data)">{{node.label}}</el-text>
</el-tooltip> --> </el-tooltip> -->

3
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageList.vue

@ -1665,7 +1665,8 @@ const dialogConfirm = (editVal: string) => {
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
</div> </div>
<el-divider content-position="left">功能按钮</el-divider><!-- liwenxuan --> <el-divider content-position="left">功能按钮</el-divider
><!-- liwenxuan 添加扫码功能 -->
<div class="form_tabs"> <div class="form_tabs">
<el-table <el-table
ref="tableAttrBut" ref="tableAttrBut"

3
src/views/sysworkflow/lowcodepage/appPage/appSetUp/setup.vue

@ -134,8 +134,7 @@ const beforeAvatarUpload: UploadProps["beforeUpload"] = (rawFile) => {
}; };
</script> </script>
<template> <template>
<el-card shadow="always" <el-card shadow="always">
>{{ props }}
<el-divider content-position="left">App基础设置</el-divider> <el-divider content-position="left">App基础设置</el-divider>
<el-form <el-form
ref="ruleFormRef" ref="ruleFormRef"

Loading…
Cancel
Save