| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /*******************************************************************************
- * Copyright(c) 2022 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:
- * 2.组织机构列表
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 王英杰 2024-2-12 1.00
- *******************************************************************************/
- const Constants = require('@/utils/Constants.js');
- const mixins = require('@/mixins/index.js')
- const util = require('@/utils/util.js')
- const app = getApp()
- Page({
- mixins: [mixins],
- /**
- * 页面的初始数据
- */
- data: {
- show:true,
- addForm: {},
- // 路由
- routeObjName: 'org',
- // 不分页
- pageFlag: false,
- // 一级部门
- tableTopData: [],
- // 原始数据
- tableDataSocial: null,
- },
- /**
- * @desc : 设置查询参数
- * @date : 2024/2/1 15:49
- * @author : 王英杰
- */
- setSearchParams(params) {
- params.pageSize = null
- params.currentPage = null
- let item = this.data.item;
- if (item) {
- params.orgId = item.editFlag ? (item.orgId_social || null) : null
- params.parentId = item.editFlag ? (item.parentId_social || null) : null
- }
- return params
- },
- /**
- * @desc : 查询
- * @date : 2024/2/1 15:49
- * @author : 王英杰
- */
- getData(params) {
- return this.excute(this.data.service, this.data.service.selectChooseOrg, params);
- },
- /**
- * @desc : 查询 后续处理
- * @date : 2024/2/1 15:49
- * @author : 王英杰
- */
- handleSearchData(data) {
- let tableData = util.convertToChildren(data, 'parentId', 'orgId');
- // // 先获取二级
- // let filters = data.filter(it => it.levelNo == 2);
- // let childs = []
- // if (filters && filters.length > 0) {
- // filters.forEach(it => {
- // // 再获取二级的子级,根据levelCode过滤
- // childs = data.filter(t => t.levelCode.startsWith(it.levelCode) && t.levelNo > 2);
- // it.children = childs
- // tableData.push(it);
- // })
- // }
- // let tableTopData = data.filter(it => it.levelNo == 1);
- this.setData({
- tableDataSocial: data,
- tableData: tableData,
- // tableTopData: tableTopData
- })
- const myComponent = this.selectComponent('#treeSelect');
- myComponent.setDataFromPage(this.data.tableData);
- },
- /**
- * @desc : 过滤数据
- * @date : 2024/4/29 15:49
- * @author : 周兴
- */
- filterData(e) {
- let searchForm = this.data.searchForm;
- let searchText = null;
- let tableDataSocial = this.data.tableDataSocial;
- if(!tableDataSocial)return;
- tableDataSocial = [...tableDataSocial]
- if (searchForm) {
- this.setData({
- show:false
- })
- searchForm = JSON.parse(searchForm)
- searchText = searchForm.searchText;
- if (searchText) {
- // 1 先过滤出数据
- let childs = tableDataSocial.filter(it => it.orgName.indexOf(searchText) >= 0);
- let returnTable = []
- // 如果查到,需要查出其父级
- if (childs && childs.length > 0) {
- let filters = null;
- let fils = null;
- childs.forEach(it => {
- filters = tableDataSocial.filter(t=>it.levelCode.startsWith(t.levelCode));
- if(filters && filters.length > 0){
- filters.forEach(f=>{
- delete f.children
- // 判断在返回结果中是否已经包括这条数据
- fils = returnTable.filter(c=>c.orgId == f.orgId)
- if(!fils || fils.length == 0){
- returnTable.push(f);
- }
- })
- }
- })
- let data = util.convertToChildren(returnTable, 'parentId', 'orgId');
- this.setData({
- tableData:data,
- show:true
- })
- }
- }else{
- let data = util.convertToChildren(tableDataSocial, 'parentId', 'orgId');
- this.setData({
- tableData:data,
- show:true
- })
- }
- }
- },
- /**
- * @desc : 选择数据
- * @date : 2024/4/29 15:49
- * @author : 周兴
- */
- chooseData(e) {
- let item = e.currentTarget.dataset.item
- const eventChannel = this.getOpenerEventChannel();
- eventChannel.emit('bindData', {
- data: {
- id: item.orgId,
- name: item.orgName
- }
- })
- wx.navigateBack({
- delta: 1
- })
- },
- })
|