From a3ff86d0726ce9bdbb7fa7167e01a3037137e7d7 Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: 星期三, 10 八月 2022 15:47:52 +0800
Subject: [PATCH] 对接
---
src/components/userCheckbox/index.vue | 240 ++++++++++++++++++++++++++++++------------------------------
1 files changed, 120 insertions(+), 120 deletions(-)
diff --git a/src/components/userCheckbox/index.vue b/src/components/userCheckbox/index.vue
index 9dda92a..5fc0b7a 100644
--- a/src/components/userCheckbox/index.vue
+++ b/src/components/userCheckbox/index.vue
@@ -17,14 +17,15 @@
:data="data"
:props="defaultProps"
default-expand-all
+ @node-click="handleNodeClick"
:filter-node-method="filterNode"
/>
</el-aside>
<el-container style="margin: 0 15px;min-width:560px;">
<el-header style="font-size: 12px">
- <el-form :inline="true" :model="formInline" class="demo-form-inline">
+ <el-form :inline="true" :model="ruleForm" class="demo-form-inline">
<el-form-item>
- <el-input size="default" v-model="formInline.name" placeholder="登录名"> </el-input>
+ <el-input size="default" v-model="ruleForm.name" placeholder="登录名"> </el-input>
</el-form-item>
<el-form-item>
<el-button size="default" type="primary" class="ml10" @click="onSubmit">
@@ -40,29 +41,37 @@
<el-table
:data="tableData"
:header-cell-style="{background:'#f6f7fa',color:'#909399',fontWeight:400}"
+ @cell-click="checkbox"
>
- <el-table-column type="selection" width="55"/>
- <el-table-column prop="date" label="登录名" width="100" show-overflow-tooltip sortable />
- <el-table-column prop="name" label="用户名" width="100" show-overflow-tooltip sortable />
- <el-table-column prop="address" label="所属机构" width="115" show-overflow-tooltip sortable />
- <el-table-column prop="department" label="所属部门" width="115" show-overflow-tooltip sortable/>
- <el-table-column label="状态"
- width="80"
- prop="tag"
- :filters="[
- { text: '正常', value: 'Home' },
- { text: '不正常', value: 'Office' },
- ]"
- :filter-method="filterTag"
- filter-placement="bottom-end">
+ <el-table-column type="selection" width="55">
<template #default="scope">
- <el-tag
- :type="scope.row.tag === 'Home' ? '' : 'success'"
- disable-transitions
- >{{ scope.row.tag }}</el-tag
- >
+ <el-checkbox-group v-model="checkbox1">
+ <el-checkbox :label="scope.row.uid" size="large">{{ null }}</el-checkbox>
+ </el-checkbox-group>
</template>
</el-table-column>
+ <el-table-column prop="realName" label="登录名" width="100" show-overflow-tooltip sortable />
+ <el-table-column prop="username" label="用户名" width="100" show-overflow-tooltip sortable />
+ <el-table-column prop="address" label="所属机构" width="115" show-overflow-tooltip sortable />
+ <el-table-column prop="address" label="所属部门" width="115" show-overflow-tooltip sortable/>
+ <el-table-column align="center" prop="type" label="状态" />
+<!-- <el-table-column label="状态"-->
+<!-- width="80"-->
+<!-- prop="tag"-->
+<!-- :filters="[-->
+<!-- { text: '正常', value: 'Home' },-->
+<!-- { text: '不正常', value: 'Office' },-->
+<!-- ]"-->
+<!-- :filter-method="filterTag"-->
+<!-- filter-placement="bottom-end">-->
+<!-- <template #default="scope">-->
+<!-- <el-tag-->
+<!-- :type="scope.row.tag === 'Home' ? '' : 'success'"-->
+<!-- disable-transitions-->
+<!-- >{{ scope.row.tag }}</el-tag-->
+<!-- >-->
+<!-- </template>-->
+<!-- </el-table-column>-->
</el-table>
<div class="pages">
<el-pagination
@@ -70,11 +79,8 @@
v-model:page-size="pageSize"
:page-sizes="[10, 20, 30]"
:pager-count="5"
- :small="small"
- :disabled="disabled"
- :background="background"
layout="total, sizes, prev, pager, next, jumper"
- :total="40"
+ :total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
@@ -82,9 +88,19 @@
</el-main>
</el-container>
<div style="width: 200px;">
- <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
- {{ tag }}
- </el-tag>
+ <div v-if="dynamicTags[0]==''?false:true">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag.realName }}
+ </el-tag>
+ </div>
</div>
</el-container>
<template #footer>
@@ -103,6 +119,7 @@
defineComponent,
watch,
reactive,
+ onMounted,
} from 'vue';
import type {
@@ -110,8 +127,12 @@
// ElTable,
} from 'element-plus'
import {
+ ElMessage,
+} from 'element-plus';
+import {
FullScreen
} from '@element-plus/icons-vue'
+import {goalManagementApi} from "/@/api/goalManagement";
interface Tree {
id: number
label: string
@@ -127,10 +148,11 @@
components: {
// Search,
},
- setup() {
+ setup(props, { emit }) {
const isShowDialog = ref(false)
// 打开弹窗
- const openDialog = () => {
+ const openDialog = (type:any) => {
+ types.value=type
isShowDialog.value = true;
};
// 关闭弹窗
@@ -142,68 +164,62 @@
closeDialog();
};
-
+ //部门树
+ const department = () => {
+ goalManagementApi()
+ .getTreedepartment()
+ .then((res) => {
+ if (res.data.code == 200) {
+ data.value = res.data.data;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ const defaultProps = {
+ label: 'depName',
+ children: 'children',
+ value: 'depId',
+ }
+ //部门树查询
const filterText = ref('')
const treeRef = ref<InstanceType<typeof ElTree>>() //实例化
-
- const defaultProps = {
- children: 'children',
- label: 'label',
+ watch(filterText, (val) => {
+ treeRef.value!.filter(val);
+ });
+ // 节点过滤模糊搜索
+ const filterNode = (depName: string, data: Tree) => {
+ if (!depName) return true
+ return data.depName.includes(depName)
}
+ onMounted(() => {
+ department();
+ });
+ //左边树形部分点击获取回调
+ const names = ref<any>();
+ const handleNodeClick = (data: Tree) => {
+ goalManagementApi()
+ .getManName(data.depId)
+ .then((res) => {
+ if (res.data.code == 200) {
+ tableData.value=res.data.data
+ }else{
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+
// 监听搜索关键字改变
watch(filterText, (val) => {
treeRef.value!.filter(val)
})
-
- // 节点过滤模糊搜索
- const filterNode = (value: string, data: Tree) => {
- if (!value) return true
- return data.label.includes(value)
- }
-
// 树形结构内容
- const data: Tree[] = [
- {
- id: 1,
- label: '广汇能源综合物流发展有限责任公司',
- children: [
- {
- id: 4,
- label: '经营班子',
- children: []
- },
- ],
- },
- {
- id: 2,
- label: '生产运行部',
- children: [
- {
- id: 5,
- label: '工艺二班',
- },
- {
- id: 6,
- label: '灌装一班',
- },
- ],
- },
- {
- id: 3,
- label: '设备部',
- children: [
- {
- id: 7,
- label: '仪表班',
- },
- {
- id: 8,
- label: '机修班',
- },
- ],
- },
- ]
+ const data = ref()
+
+
+
+
// const item = {
// date: '孙刚',
// name: '龚赛健',
@@ -211,52 +227,31 @@
// tag: '正常',
// }
// const tableData = ref(Array.from({ length: 7 }).fill(item))
- const tableData = [
- {
- date: '孙刚',
- name: '孙刚',
- address: '',
- department: '经营班子',
- tag: '正常',
- },
- {
- date: '谭柏',
- name: '谭柏',
- address: '',
- department: '经营班子',
- tag: '正常',
- },
- {
- date: '倪威',
- name: '倪威',
- address: '',
- department: '经营班子',
- tag: '正常',
- },
- {
- date: '倪玲婕',
- name: '倪玲婕',
- address: '',
- department: '经营班子',
- tag: '正常',
- },
- ];
// 定义表单搜索
- const formInline = reactive({
+ const ruleForm = reactive({
name: '',
})
+ const types=ref()
// 搜索按钮
const onSubmit = () => {
- console.log('submit!')
+ let obj = JSON.parse(JSON.stringify(dynamicTags.value));
+ emit('SearchUser', obj[0],types.value);
+ isShowDialog.value = false;
}
// const multipleTableRef = ref<InstanceType<typeof ElTable>>()
// 右方点击添加后显示标签
- const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
- const handleClose = (tag: string) => {
- dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ const dynamicTags = ref(['']);
+ const handleClose = () => {
+ dynamicTags.value.push(checkbox1.value)
+ // dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ checkbox1.value = '';
};
-
+ const checkbox1 = ref('');
+ const checkbox = (event: any) => {
+ dynamicTags.value[0] = event;
+ };
+ const tableData = ref();
// 分页
const pageIndex = ref(4);
const pageSize = ref(10);
@@ -286,7 +281,7 @@
filterNode,
data,
tableData,
- formInline,
+ ruleForm,
onSubmit,
// multipleTableRef,
handleClose,
@@ -298,6 +293,11 @@
toggleFullscreen,
FullScreen,
full,
+ names,
+ handleNodeClick,
+ types,
+ checkbox1,
+ checkbox,
};
},
});
--
Gitblit v1.9.2