{"version":3,"file":"GDept.mjs","sources":["../../../../src/comDefault/GDept/GDept.vue"],"sourcesContent":["<template>\r\n\t<span>\r\n\t\t<span>\r\n\t\t\t<a-select\r\n          ref=\"userselect\"\r\n          :mode=\"props.mode\"\r\n          :size=\"size\"\r\n          :open=\"false\"\r\n          :style=\"{ width: props.showButton ? '85%' : '100%' }\"\r\n          v-model:value=\"currentValue\"\r\n          @click=\"showOrgPlusModal\"\r\n      >\r\n\t\t\t\t<a-select-option v-for=\"item in selectedList\" :value=\"item.orgId\" :key=\"item.orgId\">{{\r\n            item.orgName\r\n          }}</a-select-option>\r\n\t\t\t</a-select>\r\n\t\t\t<a-button\r\n          v-if=\"props.showButton\"\r\n          @click=\"showOrgPlusModal\"\r\n          :size=\"size\"\r\n          :style=\"{ width: props.showButton ? '15%' : '0%' }\"\r\n      >\r\n\t\t\t\t<template #icon>\r\n\t\t\t\t\t<select-outlined />\r\n\t\t\t\t</template>\r\n\t\t\t\t<span>选择</span>\r\n\t\t\t</a-button>\r\n\t\t</span>\r\n\t\t<org-selector-plus\r\n        ref=\"orgselectorPlus\"\r\n        :max=\"max\"\r\n        :min=\"min\"\r\n        page-url=\"/sys/org/page\"\r\n        org-url=\"/sys/org/tree\"\r\n        :radioModel=\"radioModel\"\r\n        @onBack=\"callBack\"\r\n    />\r\n\t</span>\r\n</template>\r\n<script setup name=\"GDept\">\r\nimport { ref, watch, toRaw, onMounted } from 'vue'\r\nimport  OrganizationApi from '@/api/components/Selector/orgSelectorPlusApi'\r\n// 接收属性\r\nconst props = defineProps({\r\n  mode: { type: String, default: 'combobox' },\r\n  showButton: { type: Boolean, default: false },\r\n  radioModel: { type: Boolean, default: false },\r\n  modelValue: { type: Array, default: () => [] },\r\n  callBackType: { type: String, default: 'array' },\r\n  min: { type: Number, default: 1 },\r\n  max: { type: Number, default: 100000 },\r\n  size: { type: String, default: 'default' }\r\n})\r\n\r\nconst currentValue = ref([])\r\n\r\nconst selectedList = ref([])\r\n\r\nconst orgselectorPlus = ref()\r\n\r\nwatch(\r\n    () => props.modelValue,\r\n    (newValue) => {\r\n      if (selectedList.value.length == 0) {\r\n        // 获取机构信息\r\n        if (newValue && newValue.length > 0) {\r\n          reload(newValue)\r\n        }\r\n      } else if(newValue && newValue[0] == undefined) {\r\n        currentValue.value = []\r\n        selectedList.value = []\r\n      }\r\n    }\r\n)\r\n\r\nonMounted(() => {\r\n  if (selectedList.value.length == 0) {\r\n    // 获取机构信息\r\n    if (props.modelValue && props.modelValue.length > 0) {\r\n      reload(props.modelValue)\r\n    }\r\n  }\r\n})\r\n\r\nconst reload = async (orgIds) => {\r\n  if (!Array.isArray(orgIds)) {\r\n    orgIds = [orgIds]\r\n  }\r\n  const params = []\r\n  for (let orgId of orgIds) {\r\n    params.push({ id: orgId })\r\n  }\r\n  const res = await OrganizationApi.getOrgInfoListByIds('/sys/org/ids', params)\r\n  if (res.data) {\r\n    res.data.forEach((item) => {\r\n      currentValue.value.push(item.orgId)\r\n      selectedList.value.push(item)\r\n    })\r\n  }\r\n}\r\n\r\nconst showOrgPlusModal = () => {\r\n  orgselectorPlus.value.showOrgPlusModal(selectedList.value)\r\n}\r\n\r\n/* const removeSelectedItem = record => {\r\n  remove(selectedList.value, item => item.orgId === record.orgId);\r\n  remove(currentValue.value, item => item === record.orgId);\r\n  // 只有ID\r\n  orgselectorPlus.value.delRecord(record);\r\n  emit('update:modelValue', currentValue.value);\r\n  emit(\r\n    'update:label',\r\n    selectedList.value.map(a => a.orgName)\r\n  );\r\n  emit('update:data', selectedList);\r\n}; */\r\n\r\nconst emit = defineEmits(['update:modelValue', 'update:data', 'update:label', 'change'])\r\n\r\n/**\r\n * 确定\r\n * @param {*} record\r\n */\r\nconst callBack = (records) => {\r\n  selectedList.value = []\r\n  currentValue.value = []\r\n  for (let index = 0; index < records.length; index++) {\r\n    const element = {\r\n      orgId: records[index].id,\r\n      orgName: records[index].name\r\n    }\r\n    selectedList.value.push(element)\r\n    // 只有ID\r\n    currentValue.value.push(records[index].id)\r\n  }\r\n  if (props.callBackType == 'array') {\r\n    emit('update:modelValue', toRaw(currentValue.value))\r\n    const label = selectedList.value.map((a) => a.orgName)\r\n    emit('update:label', label)\r\n    emit('change', toRaw(currentValue.value))\r\n  } else {\r\n    emit('update:modelValue', toRaw(currentValue.value[0]))\r\n    const label = selectedList.value.map((a) => a.orgName)\r\n    emit('update:label', label[0])\r\n    emit('change', toRaw(currentValue.value[0]))\r\n  }\r\n  emit('update:data', selectedList)\r\n}\r\n\r\ndefineExpose({})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.add-user-wrapper {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  min-height: 40px;\r\n  padding-left: 5px;\r\n  .add-user-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 40px;\r\n    height: 32px;\r\n    border-radius: 100px;\r\n    border: 1px solid #3370ff;\r\n    justify-content: center;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n    cursor: pointer;\r\n  }\r\n  .add-user-item {\r\n    display: flex;\r\n    align-items: center;\r\n    min-width: 70px;\r\n    max-width: 50%;\r\n    height: 32px;\r\n    background: #eff0f1;\r\n    border-radius: 16px;\r\n    padding: 0 4px;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n\r\n    img {\r\n      width: 24px;\r\n      height: 24px;\r\n      border-radius: 12px;\r\n    }\r\n    div {\r\n      padding: 0;\r\n      margin: 0 4px;\r\n      min-width: 28px;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n    i {\r\n      margin-right: 10px;\r\n      color: #646a73;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.selected-items {\r\n  overflow-y: auto;\r\n  margin: 0 10px 0;\r\n  border: 1px dashed #ccc;\r\n  padding: 4px 4px 0;\r\n  min-height: 34px;\r\n  max-height: 60px;\r\n  .ant-tag {\r\n    margin-bottom: 4px;\r\n  }\r\n}\r\n</style>\r\n"],"names":["OrganizationApi","_createElementBlock","_createElementVNode","_createVNode","_normalizeStyle","_Fragment","_renderList","_createBlock","_createTextVNode","_toDisplayString"],"mappings":"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"}