{"version":3,"file":"PickerInput.mjs","sources":["../../../../src/components/PickerInput/PickerInput.vue"],"sourcesContent":["<template>\r\n  <div style=\"display: none\">{{ _ids }}</div>\r\n  <div class=\"PickerInput\">\r\n    <div v-if=\"loading\" class=\"inputInner disabled\">\r\n      <a-spin size=\"small\" :indicator=\"indicator\">\r\n      </a-spin>\r\n    </div>\r\n    <div v-if=\"!loading\" class=\"inputInner\" :class=\"{disabled}\" @click=\"open\">\r\n      <div class=\"tagBox\">\r\n        <template v-if=\"type=='人员'\">\r\n          <a-tag :key=\"key\" :color=\"disabled?'':'blue'\" v-for=\"(item,key) in selectedMembers\">{{ item.name }} {{\r\n              item.empNo\r\n            }}\r\n          </a-tag>\r\n        </template>\r\n        <template v-if=\"type=='部门'\">\r\n          <a-tag :key=\"key\" :color=\"disabled?'':'blue'\" v-for=\"(item,key) in selectedDepts\">{{ item.name }}\r\n          </a-tag>\r\n        </template>\r\n        <template v-if=\"type=='岗位'\">\r\n          <a-tag :key=\"key\" :color=\"disabled?'':'blue'\" v-for=\"(item,key) in selectedRoles\">{{ item.name }}\r\n          </a-tag>\r\n        </template>\r\n      </div>\r\n      <div class=\"closeBox\">\r\n        <SvgClose v-if=\"_ids && Array.isArray(_ids) && _ids.length>0\" class=\"close\" @click.stop.prevent=\"clear\"/>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <DrawerPicker ref=\"drawerPicker\" :show-selected-user=\"true\" @ok=\"drawerOk\" @cancel=\"drawerCancel\"\r\n                :show-check-box=\"true\" :multiple=\"multiple\"\r\n                v-model:visible=\"visibleDrawer\" :type=\"type\"/>\r\n</template>\r\n<script setup name=\"PickerInput\">\r\nimport userSelectorPlusApi from '@/api/components/Selector/userSelectorPlusApi'\r\nimport orgApi from '@/api/sys/orgApi'\r\nimport roleApi from '@/api/sys/roleApi'\r\nimport {listToTree, trans} from \"@/utils/util\";\r\nimport {LoadingOutlined} from '@ant-design/icons-vue';\r\nimport SvgClose from \"@/components/SvgIcons/SvgClose\";\r\nconst indicator = h(LoadingOutlined, {\r\n  style: {\r\n    fontSize: '16px',\r\n  },\r\n  spin: true,\r\n});\r\nlet selectedMembers = ref()\r\nlet selectedDepts = ref()\r\nlet selectedRoles = ref()\r\nconst panesValues = ['人员', '部门', '岗位']\r\nconst emit = defineEmits({\r\n  'update:ids': undefined\r\n})\r\nlet drawerPicker = ref()\r\nlet listDepts = ref()\r\nlet listRoels = ref()\r\nlet loading = ref(false)\r\nconst props = defineProps({\r\n  type: {\r\n    type: String,\r\n    default: ''\r\n  },\r\n  ids: {\r\n    type: Array,\r\n    default: () => undefined\r\n  },\r\n  disabled: {\r\n    type: Boolean,\r\n    default: false\r\n  },\r\n  multiple: {\r\n    type: Boolean,\r\n    default: true\r\n  },\r\n})\r\nlet clear = () => {\r\n  _ids.value = undefined\r\n}\r\nlet _ids = computed({\r\n  get: () => {\r\n    loading.value = true\r\n    if (props.ids && Array.isArray(props.ids) && props.ids.length > 0) {\r\n      //人员\r\n      if (props.type == panesValues[0]) {\r\n        userSelectorPlusApi\r\n            .getUsersByUserIds(\r\n                '/sys/user/ids',\r\n                props.ids.map((res) => {\r\n                  return {\r\n                    id: res\r\n                  }\r\n                })\r\n            ).then((res) => {\r\n          selectedMembers.value = res\r\n          loading.value = false\r\n        })\r\n      }\r\n      //部门\r\n      else if (props.type == panesValues[1]) {\r\n        orgApi.orgTree().then((res) => {\r\n          listDepts.value = trans(res)\r\n          selectedDepts.value = listDepts.value.filter((res) => {\r\n            return props.ids.includes(res.id)\r\n          })\r\n          loading.value = false\r\n        })\r\n      }\r\n      //岗位\r\n      else if (props.type == panesValues[2]) {\r\n        roleApi\r\n            .rolePage({\r\n              current: 1,\r\n              size: 9999\r\n            })\r\n            .then((res) => {\r\n              listRoels.value = res.records\r\n              selectedRoles.value = listRoels.value.filter((res) => {\r\n                return props.ids.includes(res.id)\r\n              })\r\n              loading.value = false\r\n            })\r\n      }\r\n    } else {\r\n      //人员\r\n      if (props.type == panesValues[0]) {\r\n        selectedMembers.value = []\r\n        loading.value = false\r\n      }\r\n      //部门\r\n      else if (props.type == panesValues[1]) {\r\n        selectedDepts.value = []\r\n        loading.value = false\r\n      }\r\n      //岗位\r\n      else if (props.type == panesValues[2]) {\r\n        selectedRoles.value = []\r\n        loading.value = false\r\n      }\r\n    }\r\n    return props.ids\r\n  },\r\n  set: (val) => {\r\n    emit('update:ids', val)\r\n  }\r\n})\r\nconst visibleDrawer = ref(false)\r\nconst drawerOk = (data) => {\r\n  switch (props.type) {\r\n    case panesValues[0]: {\r\n      if (data.data.members && Array.isArray(data.data.members) && data.data.members.length > 0) {\r\n        let result = JSON.parse(JSON.stringify(data.data.members.map((res) => {\r\n          return res.id\r\n        })))\r\n        _ids.value = result\r\n      } else {\r\n        _ids.value = undefined\r\n      }\r\n      break\r\n    }\r\n    case panesValues[1]: {\r\n      if (data.data.depts && Array.isArray(data.data.depts) && data.data.depts.length > 0) {\r\n        let result = JSON.parse(JSON.stringify(data.data.depts.map((res) => {\r\n          return res.id\r\n        })))\r\n        _ids.value = result\r\n      } else {\r\n        _ids.value = undefined\r\n      }\r\n      break\r\n    }\r\n    case panesValues[2]: {\r\n      if (data.data.roles && Array.isArray(data.data.roles) && data.data.roles.length > 0) {\r\n        let result = JSON.parse(JSON.stringify(data.data.roles.map((res) => {\r\n          return res.id\r\n        })))\r\n        _ids.value = result\r\n      } else {\r\n        _ids.value = undefined\r\n      }\r\n      break\r\n    }\r\n  }\r\n}\r\nonMounted(() => {\r\n})\r\nconst drawerCancel = () => {\r\n}\r\nconst open = () => {\r\n  if (props.disabled) {\r\n    return\r\n  }\r\n  visibleDrawer.value = true\r\n  setTimeout(() => {\r\n    if (_ids.value && Array.isArray(_ids.value) && _ids.value.length > 0) {\r\n      //人员\r\n      if (props.type == panesValues[0]) {\r\n        drawerPicker.value.setMembersSelectedLoading(true)\r\n        userSelectorPlusApi\r\n            .getUsersByUserIds(\r\n                '/sys/user/ids',\r\n                _ids.value.map((res) => {\r\n                  return {\r\n                    id: res\r\n                  }\r\n                })\r\n            ).then((res) => {\r\n          drawerPicker.value.setMembers(res)\r\n          drawerPicker.value.setMembersSelectedLoading(false)\r\n        })\r\n      } else if (props.type == panesValues[1]) {\r\n        drawerPicker.value.setDepts(selectedDepts.value)\r\n      } else if (props.type == panesValues[2]) {\r\n        drawerPicker.value.setRoles(selectedRoles.value)\r\n      }\r\n    }\r\n  }, 100)\r\n}\r\n</script>\r\n<style scoped lang=\"less\">\r\n.PickerInput {\r\n  .inputInner {\r\n    width: 100%;\r\n    border-radius: 4px;\r\n    border: 1px solid #d9d9d9;\r\n    height: 34px;\r\n    cursor: pointer;\r\n    display: flex;\r\n    flex-direction: row;\r\n    justify-content: flex-start;\r\n    align-items: center;\r\n    flex-wrap: nowrap;\r\n    overflow: hidden;\r\n    position: relative;\r\n    display: flex;\r\n    flex-direction: row;\r\n    align-items: center;\r\n    justify-content: flex-start;\r\n    .tagBox {\r\n      &::-webkit-scrollbar {\r\n        height: 3px;\r\n      }\r\n      & > span:first-child {\r\n        margin-left: 12px;\r\n      }\r\n      &.disabled {\r\n        border-color: #d9d9d9;\r\n        color: #00000040;\r\n        background-color: #0000000a;\r\n        cursor: not-allowed;\r\n      }\r\n      flex: 1 1 100%;\r\n      display: flex;\r\n      flex-direction: row;\r\n      justify-content: flex-start;\r\n      align-items: center;\r\n      overflow: hidden;\r\n      overflow-x: auto;\r\n    }\r\n    .closeBox {\r\n      flex: 20px;\r\n      .close {\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n"],"names":["res","_createElementVNode","_toDisplayString","_unref","_openBlock","_createElementBlock","_createVNode","_normalizeClass","_Fragment","_renderList","_createBlock","_createTextVNode"],"mappings":"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"}