|
|
@ -12,13 +12,14 @@ |
|
|
<div class="subsearch"> |
|
|
<div class="subsearch"> |
|
|
<input class="searchbox" v-model="searchParam.deptName" placeholder="请输入部门名称"/> |
|
|
<input class="searchbox" v-model="searchParam.deptName" placeholder="请输入部门名称"/> |
|
|
<van-icon class="ibtn-reset" name="clear" @click="cancel()" title="重置"/> |
|
|
<van-icon class="ibtn-reset" name="clear" @click="cancel()" title="重置"/> |
|
|
<button class='btn-search' @click="queryUserList()">搜索</button> |
|
|
<!-- <button class='btn-search' @click="queryUserList()">搜索</button> --> |
|
|
|
|
|
<button class='btn-search' @click="queryList()">搜索</button> |
|
|
<button class='btn-search' @click="selectData()">确定</button> |
|
|
<button class='btn-search' @click="selectData()">确定</button> |
|
|
</div> |
|
|
</div> |
|
|
<div class="search-result"> |
|
|
<div class="search-result"> |
|
|
<van-checkbox-group v-model="checked"> |
|
|
<van-checkbox-group v-model="checked"> |
|
|
<van-cell-group inset> |
|
|
<van-cell-group inset> |
|
|
<van-cell v-for="(item, index) in deptList" :key="item"> |
|
|
<van-cell v-for="(item, index) in data.deptInList" :key="index"> |
|
|
<div style="display: flex; justify-content: space-between;"> |
|
|
<div style="display: flex; justify-content: space-between;"> |
|
|
<div @click="toggle(item.deptId)"> |
|
|
<div @click="toggle(item.deptId)"> |
|
|
<van-checkbox :name="item.deptId+';-;'+item.deptName" :ref="el => checkboxRefs[item.deptId] = el" @click.stop> |
|
|
<van-checkbox :name="item.deptId+';-;'+item.deptName" :ref="el => checkboxRefs[item.deptId] = el" @click.stop> |
|
|
@ -45,7 +46,7 @@ |
|
|
<script setup> |
|
|
<script setup> |
|
|
import {queryDepts, nextDeptByparentId, queryUsersNoPermission} from '@/api/user' |
|
|
import {queryDepts, nextDeptByparentId, queryUsersNoPermission} from '@/api/user' |
|
|
import {Icon, showSuccessToast,showToast } from 'vant'; |
|
|
import {Icon, showSuccessToast,showToast } from 'vant'; |
|
|
import {ref,defineEmits,getCurrentInstance,defineProps } from 'vue'; |
|
|
import {ref,defineEmits,getCurrentInstance,defineProps, reactive } from 'vue'; |
|
|
const {useCommon} = $globalStore |
|
|
const {useCommon} = $globalStore |
|
|
const emits = defineEmits(['reciveData','close']); |
|
|
const emits = defineEmits(['reciveData','close']); |
|
|
const router = useRouter(); |
|
|
const router = useRouter(); |
|
|
@ -59,6 +60,9 @@ |
|
|
default: false |
|
|
default: false |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
|
|
|
const data = reactive({ |
|
|
|
|
|
deptInList: [] |
|
|
|
|
|
}) |
|
|
const searchParam = reactive( { |
|
|
const searchParam = reactive( { |
|
|
//搜索框 |
|
|
//搜索框 |
|
|
dataScopeId: useCommon.userId, |
|
|
dataScopeId: useCommon.userId, |
|
|
@ -98,10 +102,14 @@ |
|
|
emits('close'); |
|
|
emits('close'); |
|
|
} |
|
|
} |
|
|
const queryList = () =>{ |
|
|
const queryList = () =>{ |
|
|
|
|
|
if (null == searchParam.deptName || "" == searchParam.deptName) { |
|
|
|
|
|
showSuccessToast('部门过多, 请输入关键字!'); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
queryDepts(searchParam, success => { |
|
|
queryDepts(searchParam, success => { |
|
|
if (null != success.data && success.data.length > 0) { |
|
|
if (null != success.data && success.data.length > 0) { |
|
|
userList = []; |
|
|
data.deptInList = []; |
|
|
dataList = success.data |
|
|
data.deptInList = success.data |
|
|
} else { |
|
|
} else { |
|
|
showToast ("暂无数据!") |
|
|
showToast ("暂无数据!") |
|
|
} |
|
|
} |
|
|
@ -114,8 +122,8 @@ |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
queryUsersNoPermission({"userName": searchKey}, success => { |
|
|
queryUsersNoPermission({"userName": searchKey}, success => { |
|
|
dataList = []; |
|
|
userList = []; |
|
|
userList = success.data; |
|
|
userList = success.data; |
|
|
}, error => { |
|
|
}, error => { |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
@ -126,10 +134,8 @@ |
|
|
const selectData = () => { |
|
|
const selectData = () => { |
|
|
const res = ref([]); |
|
|
const res = ref([]); |
|
|
let checkeds = JSON.parse(JSON.stringify(checked.value)); |
|
|
let checkeds = JSON.parse(JSON.stringify(checked.value)); |
|
|
console.log(checkeds); |
|
|
|
|
|
for (var i=0; i<checkeds.length; i++) { |
|
|
for (var i=0; i<checkeds.length; i++) { |
|
|
var item = checkeds[i].split(";-;"); |
|
|
var item = checkeds[i].split(";-;"); |
|
|
console.log(item) |
|
|
|
|
|
res.value.push({"deptId":item[0], "deptName":item[1]}); |
|
|
res.value.push({"deptId":item[0], "deptName":item[1]}); |
|
|
} |
|
|
} |
|
|
emits("reciveData", res.value); |
|
|
emits("reciveData", res.value); |
|
|
|