jobsys-explore 4.0.2 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ ---
2
+ "jobsys-explore": patch
3
+ ---
4
+
5
+ add key_cn
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # jobsys-explore
2
2
 
3
+ ## 4.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - address
8
+ - add key_cn
9
+ - e
10
+
3
11
  ## 4.0.2
4
12
 
5
13
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { computed, defineComponent, inject, ref, watch } from "vue"
1
+ import { computed, defineComponent, inject, ref, watch, nextTick } from "vue"
2
2
  import { Cascader } from "vant"
3
3
  import localData from "./addressData.json"
4
4
  import PickerWrapper, { pickerProps, pickerSlots } from "./PickerWrapper.jsx"
@@ -38,8 +38,12 @@ export default defineComponent({
38
38
  * 空值或all: 所有, last:最后
39
39
  */
40
40
  displayTextType: { type: String, default: "" },
41
+ /**
42
+ * 显示值 为了更新cn值
43
+ */
44
+ displayText: { type: [String, Number, Array], default: () => [] },
41
45
  },
42
- emits: ["update:modelValue"],
46
+ emits: ["update:modelValue", "update:displayText"],
43
47
  setup(props, { emit, slots, expose }) {
44
48
  const addressProvider = inject(EX_ADDRESS, () => ({}))
45
49
  const defaultAddressUrl = addressProvider.addressUrl || ""
@@ -101,6 +105,9 @@ export default defineComponent({
101
105
  "update:modelValue",
102
106
  selectedOptions.map((item) => item[valueKey]),
103
107
  )
108
+ nextTick(() => {
109
+ emit("update:displayText", displayText.value)
110
+ })
104
111
  }
105
112
 
106
113
  expose({ displayText })
@@ -1,4 +1,4 @@
1
- import { computed, defineComponent, ref, watch } from "vue"
1
+ import { computed, defineComponent, ref, watch, nextTick } from "vue"
2
2
  import PickerWrapper, { pickerProps, pickerSlots } from "./PickerWrapper.jsx"
3
3
  import { Button, Cascader, Search } from "vant"
4
4
  import { defaultFieldProps, defaultOptionsProps, useOptionTrait } from "../utils"
@@ -25,8 +25,18 @@ export default defineComponent({
25
25
  * 是否显示清除按钮
26
26
  */
27
27
  clearable: { type: Boolean, default: false },
28
+
29
+ /**
30
+ * 显示值的类型
31
+ * 空值或all: 所有, last:最后
32
+ */
33
+ displayTextType: { type: String, default: "" },
34
+ /**
35
+ * 显示值 为了更新cn值
36
+ */
37
+ displayText: { type: [String, Number, Array], default: () => [] },
28
38
  },
29
- emits: ["update:modelValue", "change"],
39
+ emits: ["update:modelValue", "update:displayText", "change"],
30
40
  setup(props, { emit, slots, expose }) {
31
41
  const defaultValue = props.modelValue?.[props.modelValue.length - 1] || ""
32
42
 
@@ -94,19 +104,24 @@ export default defineComponent({
94
104
  if (props.modelValue.length === 0) {
95
105
  return ""
96
106
  }
97
- return useFindTextsFromPath(options.value, props.modelValue).join("/")
107
+ const optionsTexts = useFindTextsFromPath(options.value, props.modelValue)
108
+ return props.displayTextType === "last" ? optionsTexts[optionsTexts.length - 1] : optionsTexts.join("/")
98
109
  })
99
110
 
100
111
  const onFinish = ({ selectedOptions }) => {
101
112
  const value = selectedOptions.map((item) => item.value)
102
113
  emit("change", value)
103
114
  emit("update:modelValue", value)
115
+ nextTick(() => {
116
+ emit("update:displayText", displayText.value)
117
+ })
104
118
  pickerRef.value.close()
105
119
  }
106
120
 
107
121
  const onClear = () => {
108
122
  emit("change", [])
109
123
  emit("update:modelValue", [])
124
+ emit("update:displayText", "")
110
125
  pickerRef.value.close()
111
126
  }
112
127
 
@@ -148,18 +148,40 @@ const render = (item, submitForm, { props, slots }) => {
148
148
  )
149
149
  break
150
150
  case "address":
151
- renderItem = (
152
- <ExAddress v-model={submitForm[item.key]} {...fieldProps}>
153
- {componentSlots}
154
- </ExAddress>
155
- )
151
+ if (item.key_cn) {
152
+ if (!submitForm[item.key_cn]) {
153
+ submitForm[item.key_cn] = ""
154
+ }
155
+ renderItem = (
156
+ <ExAddress v-model={submitForm[item.key]} v-model:displayText={submitForm[item.key_cn]} {...fieldProps}>
157
+ {componentSlots}
158
+ </ExAddress>
159
+ )
160
+ } else {
161
+ renderItem = (
162
+ <ExAddress v-model={submitForm[item.key]} {...fieldProps}>
163
+ {componentSlots}
164
+ </ExAddress>
165
+ )
166
+ }
156
167
  break
157
168
  case "cascade":
158
- renderItem = (
159
- <ExCascader v-model={submitForm[item.key]} {...componentProps} {...fieldProps}>
160
- {componentSlots}
161
- </ExCascader>
162
- )
169
+ if (item.key_cn) {
170
+ if (!submitForm[item.key_cn]) {
171
+ submitForm[item.key_cn] = ""
172
+ }
173
+ renderItem = (
174
+ <ExCascader v-model={submitForm[item.key]} v-model:displayText={submitForm[item.key_cn]} {...componentProps} {...fieldProps}>
175
+ {componentSlots}
176
+ </ExCascader>
177
+ )
178
+ } else {
179
+ renderItem = (
180
+ <ExCascader v-model={submitForm[item.key]} {...componentProps} {...fieldProps}>
181
+ {componentSlots}
182
+ </ExCascader>
183
+ )
184
+ }
163
185
  break
164
186
  case "number":
165
187
  renderItem = (