Ben Lin
2024-05-29 c89adfd5c5df23b6b102766092867adc2330ebb7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { onMounted, reactive, ref, watch } from 'vue';
import type { State, UseTreeTransfer, TransferProps, TransferData } from '../types/transfer';
 
export function useTransfer(props: TransferProps): UseTreeTransfer {
  const state = reactive<State>({
    transferRef: undefined,
    targetKeys: [],
    originTargetKeys: [],
    dataSource: props.dataSource,
    emitKeys: [],
    leftColumns: [],
    rightColumns: [],
    editKey: [],
    titles: [],
  });
 
  //const disabled = ref<boolean>(false);
  //const showSearch = ref<boolean>(false);
 
  // watch(props.titles, (newVal, oldVal) => {
  //   state.titles = newVal;
  //   console.log('old', oldVal);
  // });
 
  onMounted(() => {
    //processTreeData();
  });
 
  /** 穿梭更改 */
  const onChange = (nextTargetKeys: string[]) => {
    console.log('nextTargetKeys', nextTargetKeys);
    state.targetKeys = nextTargetKeys;
  };
 
  const seDatas = (
    titles: string[],
    DataSource: TransferData[],
    originTargetKeys: string[],
    RightColumns: [],
    LeftColumns: [],
  ) => {
    state.titles = titles;
    state.dataSource = DataSource;
    state.originTargetKeys = originTargetKeys;
    state.targetKeys = state.originTargetKeys;
    // state.originTargetKeys = state.dataSource
    //   .filter((item) => item.key == 'CK011')
    //   .map((item) => item.key);
    // state.targetKeys = state.originTargetKeys;
    state.leftColumns = LeftColumns; //props.leftColumns;
    state.rightColumns = RightColumns; //props.rightColumns;
  };
 
  return {
    state,
    onChange,
    seDatas,
  };
}