Blame view

juvenile-prosecution-vue/src/components/jeecgbiz/JSelectUserByDep.vue 2.49 KB
6c637641   wxy   no message
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
  <template>
    <div>
      <a-input-search
        v-model="userNames"
        placeholder="请先选择用户"
        readOnly
        unselectable="on"
        @search="onSearchDepUser">
        <a-button slot="enterButton" :disabled="disabled">选择用户</a-button>
      </a-input-search>
      <j-select-user-by-dep-modal ref="selectModal" :modal-width="modalWidth" :multi="multi" @ok="selectOK" :user-ids="value" @initComp="initComp"/>
    </div>
  </template>
  
  <script>
    import JSelectUserByDepModal from './modal/JSelectUserByDepModal'
  
    export default {
      name: 'JSelectUserByDep',
      components: {JSelectUserByDepModal},
      props: {
        modalWidth: {
          type: Number,
          default: 1250,
          required: false
        },
        value: {
          type: String,
          required: false
        },
        disabled: {
          type: Boolean,
          required: false,
          default: false
        },
        multi: {
          type: Boolean,
          default: true,
          required: false
        },
        backUser: {
          type: Boolean,
          default: false,
          required: false
        }
      },
      data() {
        return {
          userIds: "",
          userNames: ""
        }
      },
      mounted() {
        this.userIds = this.value
      },
      watch: {
        value(val) {
          this.userIds = val
        }
      },
      model: {
        prop: 'value',
        event: 'change'
      },
      methods: {
        initComp(userNames) {
          this.userNames = userNames
        },
        //返回选中的用户信息
        backDeparInfo(){
          if(this.backUser===true){
            if(this.userIds && this.userIds.length>0){
              let arr1 = this.userIds.split(',')
              let arr2 = this.userNames.split(',')
              let info = []
              for(let i=0;i<arr1.length;i++){
                info.push({
                  value: arr1[i],
                  text: arr2[i]
                })
              }
              this.$emit('back', info)
            }
          }
        },
        onSearchDepUser() {
          this.$refs.selectModal.showModal()
        },
        selectOK(rows, idstr) {
          console.log("当前选中用户", rows)
          console.log("当前选中用户ID", idstr)
          if (!rows) {
            this.userNames = ''
            this.userIds = ''
          } else {
            let temp = ''
            for (let item of rows) {
              temp += ',' + item.realname
            }
            this.userNames = temp.substring(1)
            this.userIds = idstr
          }
          this.$emit("change", this.userIds)
        }
      }
    }
  </script>
  
  <style scoped>
  
  </style>