浏览代码

⚙️ 修改细节问题

快乐的梦鱼 3 天之前
父节点
当前提交
b9cb1e0c67

+ 8 - 0
src/components/form/CascadePicker.vue

@@ -62,6 +62,7 @@ const props = withDefaults(defineProps<CascadePickerProps>(), {
 
 const pickerVisibleCols = ref<CascadePickerItem[][]>([]);
 const pickerSelectIndex = ref<number[]>([]);
+const currentText = ref<string>('');
 
 function bindChange(e: any) {
   const val = e.detail.value as number[];
@@ -94,6 +95,7 @@ function bindChange(e: any) {
 
   emit('update:value', resultValue);
   emit('selectTextChange', selectText.join(' '));
+  currentText.value = selectText.join(' ');
 }
 function loadCols() {
   const selectText : string[] = [];
@@ -111,6 +113,7 @@ function loadCols() {
     } 
   }
   emit('selectTextChange', selectText.join(' '), true);
+  currentText.value = selectText.join(' ');
 }
 
 watch(() => props.value, (v) => {
@@ -120,6 +123,11 @@ onMounted(() => {
   loadCols();
 })
 
+defineExpose({
+  getSelectedText: () => {
+    return currentText.value;
+  },
+});
 defineOptions({
   options: {
     styleIsolation: "shared",

+ 3 - 3
src/components/form/CascadePickerField.vue

@@ -13,6 +13,7 @@
       @confirm="onConfirm"
     />
     <CascadePicker 
+      ref="pickerRef"
       v-bind="props"
       v-model:value="tempValue"
     />
@@ -89,7 +90,7 @@ const props = withDefaults(defineProps<CascadePickerFieldProps>(), {
 });
 
 const popupShow = ref(false);
-
+const pickerRef = ref();
 const {
   value,
   updateValue,
@@ -118,8 +119,7 @@ const {
   (v) => {
     if (!v || v.length === 0)
       return '';
-    //
-    return '';
+    return pickerRef.value?.getSelectedText() ?? '';
   },
   undefined,
   popupShow,

+ 1 - 0
src/pages/collect/assessment/components/EvaluationFormBlock.vue

@@ -28,6 +28,7 @@
                   :max="20"
                   :step="1"
                   :modelValue="getCheckedItemCount(child.id) ?? 0" 
+                  addonAfter="次"
                   @update:modelValue="setCheckedItem(item as CheckItemInfo, child as CheckItemInfo, $event)" 
                 />
                 <view v-else></view>