{"version":3,"file":"normal-picker-HPJk7HHC.mjs","sources":["../src/components/picker/normal-picker/normal-picker.vue"],"sourcesContent":["<template>\n  <div :class=\"classes\">\n    <div class=\"header\">\n      <div class=\"left\" @click=\"cancle\">取消</div>\n      <div class=\"right\" @click=\"sure\">确定</div>\n    </div>\n    <div class=\"main\">\n      <PickerSlot\n        v-for=\"(item, key) in shadowList\"\n        :key=\"item.target\"\n        :target=\"item.target\"\n        :init-item=\"initItems[key]\"\n        :list=\"item.list\"\n        @change=\"change\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, ref, computed, watch, inject } from \"vue\";\nimport PickerSlot from \"../picker-slot.vue\";\n\nconst prefixCls = \"dpzvc3-normal-picker\";\n\nexport default defineComponent({\n  name: \"NormalPicker\",\n  components: { PickerSlot },\n  props: {\n    list: { type: Array, default: () => [] },\n    initArr: { type: Array, default: () => [] },\n  },\n  setup(props, { emit }) {\n    const { pickerOnOk, pickeronFail } = inject(\"DpzVc3Picker\");\n\n    /** 初始化选中项 */\n    const initItems = ref(\n      props.initArr.length\n        ? [...props.initArr]\n        : props.list.map((item) => item.list?.[0]?.code ?? \"\"),\n    );\n\n    const normal = ref({});\n\n    /**\n     * ⚠️ 关键修复点：\n     * - 不修改 props.list\n     * - 返回全新对象\n     */\n    const shadowList = computed(() => {\n      return props.list.map((item) => {\n        const list = (item.list || []).map((child, index) => ({\n          code: child.code ?? child.value,\n          value: child.value,\n          target: child.target ?? item.target,\n          index,\n        }));\n\n        return {\n          ...item,\n          list,\n        };\n      });\n    });\n\n    const classes = computed(() => [prefixCls]);\n\n    watch(\n      () => props.initArr,\n      (val) => {\n        initItems.value =\n          val.length > 0\n            ? [...val]\n            : props.list.map((item) => item.list?.[0]?.code ?? \"\");\n      },\n    );\n\n    function cancle() {\n      pickeronFail();\n    }\n\n    function sure() {\n      pickerOnOk(normal.value);\n    }\n\n    function change(target, current) {\n      const index = shadowList.value.findIndex((i) => i.target === target);\n      if (index !== -1) {\n        initItems.value[index] = current.code;\n      }\n\n      normal.value = {\n        ...normal.value,\n        [target]: current,\n      };\n\n      emit(\"scroll\", current);\n    }\n\n    return {\n      classes,\n      shadowList,\n      initItems,\n      cancle,\n      sure,\n      change,\n    };\n  },\n});\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_openBlock","_Fragment","_renderList","_createBlock"],"mappings":";;;AAuBA,MAAM,YAAY;AAElB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,EAAE,WAAS;AAAA,EACvB,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,OAAO,SAAS,MAAM,CAAA;IACpC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAA;;EAEzC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,YAAY,iBAAiB,OAAO,cAAc;AAG1D,UAAM,YAAY;AAAA,MAChB,MAAM,QAAQ,SACV,CAAC,GAAG,MAAM,OAAO,IACjB,MAAM,KAAK,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,GAAG,QAAQ,EAAE;AAAA;AAGzD,UAAM,SAAS,IAAI,EAAE;AAOrB,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,KAAK,IAAI,CAAC,SAAS;AAC9B,cAAM,QAAQ,KAAK,QAAQ,CAAA,GAAI,IAAI,CAAC,OAAO,WAAW;AAAA,UACpD,MAAM,MAAM,QAAQ,MAAM;AAAA,UAC1B,OAAO,MAAM;AAAA,UACb,QAAQ,MAAM,UAAU,KAAK;AAAA,UAC7B;AAAA,QACF,EAAE;AAEF,eAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA;MAEJ,CAAC;AAAA,IACH,CAAC;AAED,UAAM,UAAU,SAAS,MAAM,CAAC,SAAS,CAAC;AAE1C;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,QAAQ;AACP,kBAAU,QACR,IAAI,SAAS,IACT,CAAC,GAAG,GAAG,IACP,MAAM,KAAK,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,GAAG,QAAQ,EAAE;AAAA,MAC3D;AAAA;AAGF,aAAS,SAAS;AAChB,mBAAY;AAAA,IACd;AAEA,aAAS,OAAO;AACd,iBAAW,OAAO,KAAK;AAAA,IACzB;AAEA,aAAS,OAAO,QAAQ,SAAS;AAC/B,YAAM,QAAQ,WAAW,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,MAAM;AACnE,UAAI,UAAU,IAAI;AAChB,kBAAU,MAAM,KAAK,IAAI,QAAQ;AAAA,MACnC;AAEA,aAAO,QAAQ;AAAA,QACb,GAAG,OAAO;AAAA,QACV,CAAC,MAAM,GAAG;AAAA;AAGZ,WAAK,UAAU,OAAO;AAAA,IACxB;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;EAEJ;AACF,CAAC;AA1GQ,MAAA,aAAA,EAAA,OAAM,SAAQ;AAId,MAAA,aAAA,EAAA,OAAM,OAAM;;;sBALnBA,mBAeM,OAAA;AAAA,IAfA,sBAAO,KAAA,OAAO;AAAA;IAClBC,mBAGM,OAHN,YAGM;AAAA,MAFJA,mBAA0C,OAAA;AAAA,QAArC,OAAM;AAAA,QAAQ,gDAAO,KAAA,UAAA,KAAA,OAAA,GAAA,IAAA;AAAA,SAAQ,IAAE;AAAA,MACpCA,mBAAyC,OAAA;AAAA,QAApC,OAAM;AAAA,QAAS,gDAAO,KAAA,QAAA,KAAA,KAAA,GAAA,IAAA;AAAA,SAAM,IAAE;AAAA;IAErCA,mBASM,OATN,YASM;AAAA,OARJC,UAAA,IAAA,GAAAF,mBAOEG,UAAA,MAAAC,WANsB,KAAA,YAAU,CAAxB,MAAM,QAAG;4BADnBC,YAOE,uBAAA;AAAA,UALC,KAAK,KAAK;AAAA,UACV,QAAQ,KAAK;AAAA,UACb,aAAW,KAAA,UAAU,GAAG;AAAA,UACxB,MAAM,KAAK;AAAA,UACX,UAAQ,KAAA;AAAA;;;;;;"}