Просмотр исходного кода

子表输入框输入时,左上角出现白色三角形

cyy 1 год назад
Родитель
Сommit
c57da812b2

+ 34 - 8
src/business/platform/form/formrender/dynamic-form/dynamic-form-field.vue

@@ -8,15 +8,34 @@
                     {{ dataModel || '/' }}
                 </div>
             </template>
-
-            <el-dropdown
+            <div v-else-if="fieldType === 'text' || fieldType === 'textarea'" :style="{ width: width }">
+                <el-tooltip effect="dark" :content="dataModel" placement="top" :disabled="!isShowTooltip">
+                    <el-input
+                        v-model="dataModel"
+                        :placeholder="placeholder"
+                        :type="fieldType"
+                        :name="field.name"
+                        :autosize="autosize"
+                        :rows="fieldOptions.rows || 3"
+                        :readonly="readonly"
+                        unselectable="on"
+                        :style="{ width: width }"
+                        :clearable="clearable && hasFocus"
+                        @focus="() => hasFocus = true"
+                        @blur="() => hasFocus = false"
+                        @mouseover.native="inputOnMouseOver($event)"
+                        v-on="$listeners"
+                    />
+                </el-tooltip>
+            </div>
+            <!-- <el-dropdown
                 v-else-if="fieldType === 'text' || fieldType === 'textarea'"
                 :style="{ width: width }"
                 size="mini"
                 placement="top-start"
                 trigger="click"
                 @command="handleCommand"
-            >
+            > -->
             <!-- <el-dropdown
                 v-else-if="fieldType==='text'||fieldType==='textarea'"
                 :style="{width:width}"
@@ -26,7 +45,7 @@
                 trigger="click"
                 @command="handleCommand"
             > -->
-                <el-input
+                <!-- <el-input
                     v-model="dataModel"
                     :placeholder="placeholder"
                     :type="fieldType"
@@ -38,7 +57,7 @@
                     :style="{ width: width }"
                     clearable
                     v-on="$listeners"
-                />
+                /> -->
 
                 <!-- <el-button
                     v-if="(!fieldOptions.custom_class || fieldOptions.custom_class>=120) && !dataModel"
@@ -51,7 +70,7 @@
                     @click.stop="addDict($store.getters.userInfo.employee.groupID,field,field.label)"
                 /> -->
 
-                <el-dropdown-menu v-show="menuHide" slot="dropdown">
+                <!-- <el-dropdown-menu v-show="menuHide" slot="dropdown">
                     <el-dropdown-item
                         v-for="(item, index) in selectModel"
                         :key="index"
@@ -61,7 +80,7 @@
                         <span style="float: right; margin-left: 50px; color: #eb6709;" @click.stop="deleteDicts(item.uuId, field.label)">删</span>
                     </el-dropdown-item>
                 </el-dropdown-menu>
-            </el-dropdown>
+            </el-dropdown> -->
 
             <el-input
                 v-else
@@ -666,7 +685,10 @@
                 selectModel: [],
                 watchKey: false,
                 inputKey: '',
-                dict_add: false
+                dict_add: false,
+                // selectDataResult: [],
+                hasFocus: false,
+                isShowTooltip: true
             }
         },
         computed: {
@@ -990,6 +1012,10 @@
             }
         },
         methods: {
+            inputOnMouseOver (e) {
+                const { offsetWidth, scrollWidth } = e.target || {}
+                this.isShowTooltip = this.isTable && (offsetWidth < scrollWidth)
+            },
             // 日期格式调整
             selectTime (val) {
                 const date = new Date(new Date())

+ 0 - 1
src/business/platform/form/formrender/dynamic-form/dynamic-form-table.vue

@@ -44,7 +44,6 @@
                             <el-table-column
                                 v-if="!columnHidden(column) && column.field_type != 'desc' && column.label != ''"
                                 :key="j"
-                                show-overflow-tooltip
                                 :prop="column.name"
                                 :width="column.field_options.custom_class || null"
                             >