75
cuiqian2004
2025-11-28 e92aeae89a7430b326ab2157ed5004cc5c87d659
components/oi-form/list/select/index.vue
@@ -1,18 +1,36 @@
<template>
   <view class="oi-form-select">
      <!-- 下拉选择框 -->
      <uni-data-picker v-if="model" class="data-picker" :class="data.disabled?'input-disabled':''"
      <!-- <uni-data-picker v-if="model" class="data-picker" :class="data.disabled?'input-disabled':''"
         v-model="model[data.fieldId]" :localdata="data.useDict ? data.dict : data.selections" @change="onChange"
         :readonly="data.disabled" :clear-icon="false" :popup-title="data.label"></uni-data-picker>
      <uni-data-picker v-else class="data-picker" :class="data.disabled?'input-disabled':''" v-model="data.value"
         :localdata="data.useDict ? data.dict : data.selections" @change="onChange" :readonly="data.disabled"
         :clear-icon="false" :popup-title="data.label"></uni-data-picker>
         :clear-icon="false" :popup-title="data.label"></uni-data-picker> -->
      <!--       <OISelect v-if="model" v-model:value="model[data.fieldId]"
         :dataList="data.useDict ? data.dict : data.selections" @change="onChange" :disabled="data.disabled"
         :clearable="data.setting.clearable" :filterable="data.setting.filterable"></OISelect>
      <OISelect v-else v-model:value="data.value" :dataList="data.useDict ? data.dict : data.selections"
         @change="onChange" :disabled="data.disabled" :clearable="data.setting.clearable"
         :filterable="data.setting.filterable"></OISelect> -->
      <OIDataSelect v-if="model" v-model="model[data.fieldId]" :localdata="data.useDict ? data.dict : data.selections"
         @change="onChange" :disabled="data.disabled" :clear="data.setting.clearable"
         :filterable="data.setting.filterable"></OIDataSelect>
      <OIDataSelect v-else v-model="data.value" :localdata="data.useDict ? data.dict : data.selections"
         @change="onChange" :disabled="data.disabled" :clear="data.setting.clearable"
         :filterable="data.setting.filterable"></OIDataSelect>
   </view>
</template>
<script>
   import OIDataSelect from '@/components/data-select/index.vue'
   export default {
      name: "OIFormSelect",
      components: {
         OIDataSelect
      },
      props: {
         data: {
            type: Object,
@@ -22,6 +40,10 @@
      },
      methods: {
         onChange(e) {
            if (this.model)
               console.log(e, this.model[this.data.fieldId])
            else
               console.log(e, this.data.value)
            this.$emit("on-change", e)
         },
@@ -33,37 +55,8 @@
   .oi-form-select {
      width: 100%;
      .data-picker {
         width: 100%;
         background: #FFF;
         border-radius: 0 !important;
         color: #2d8cf0;
         /* padding: 10rpx 8rpx 12rpx; */
         font-size: 34rpx;
         font-family: inherit;
         box-shadow: none !important;
         transition-duration: 0.1s;
         margin-top: 0rpx;
         /* vertical-align: 10px; */
         vertical-align: middle;
         .uni-select {
            border: 1px solid #ccc;
            border-radius: 0 !important;
            color: #2d8cf0;
         }
         .uni-select__input-text {
            color: #2d8cf0;
         }
      }
      .input-disabled {
         background-color: #f3f3f3 !important;
      }
   }
</style>