diff --git a/src/components/AiPagePicker/AiPagePicker.vue b/src/components/AiPagePicker/AiPagePicker.vue index 9c31a68..bdfdb50 100644 --- a/src/components/AiPagePicker/AiPagePicker.vue +++ b/src/components/AiPagePicker/AiPagePicker.vue @@ -14,20 +14,28 @@ export default { name: "AiPagePicker", model: { prop: "value", - event: "change" + event: "input" }, props: { value: {default: ""}, type: {default: "resident"}, nodeKey: {default: "idNumber"}, selected: {default: () => []}, - placeholder: {default: "选择人员"} + placeholder: {default: "选择人员"}, + ops: {default: () => ({})}, + valueObj: Boolean, + params: {default: () => ({})}, + multiple: Boolean }, data() { return { configList: { resident: {url: "/components/pages/selectResident", label: "name"}, - gird: {url: "/components/pages/selectGird", label: "girdName"} + sysUser: {url: "/components/pages/selectSysUser", label: "name"}, + gird: {url: "/components/pages/selectGird", label: "girdName"}, + party: {url: "/components/pages/selectParty", label: "name"}, + dept: {url: "/components/pages/selectDept", label: "name"}, + custom: {...this.ops} }, } }, @@ -42,16 +50,18 @@ export default { }, methods: { handleJump() { - let {config, nodeKey} = this, - selected = this.value || this.selected?.map(e => e[nodeKey]) - uni.$once('pagePicker', data => { + let {config, nodeKey, valueObj, multiple} = this, + selected = (valueObj ? this.value[nodeKey] : this.value) || this.selected?.map(e => e[nodeKey]) + uni.$once('pagePicker:' + this.type, data => { + console.log('发送', data) this.$emit("update:selected", data) this.$emit("select", data) - this.$emit("change", data.map(e => e[nodeKey])) + this.$emit("input", valueObj ? data : + data ? (multiple ? [data].flat()?.map(e => e[nodeKey]) : data[nodeKey]) : "") }) let url = `${config.url}`, qsstr = qs.stringify({ - selected, ...this.$attrs + selected, nodeKey, multiple, ...this.params }) if (!!qsstr) { url += `?${qsstr}` diff --git a/src/components/pages/selectGird.vue b/src/components/pages/selectGird.vue index 3c9b8c6..9b42cc4 100644 --- a/src/components/pages/selectGird.vue +++ b/src/components/pages/selectGird.vue @@ -1,213 +1,188 @@