Browse Source

重写时间选择组件

ZaiZai 2 years ago
parent
commit
3772d23a02
2 changed files with 45 additions and 28 deletions
  1. 45 27
      src/components/plugins/table-form/hc-time-picker.vue
  2. 0 1
      src/plugins/HTableForm.js

+ 45 - 27
src/components/plugins/table-form/hc-time-picker.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-popover :disabled="disabled" :width="400" trigger="click">
+    <el-popover :disabled="disabled" :width="180" popper-class="is-pure el-picker__popper" trigger="click">
         <template #reference>
             <div
                 class="hc-date-time-input el-input el-input--prefix el-input--suffix el-date-editor el-date-editor--time"
@@ -13,12 +13,12 @@
                             <HcIcon class="el-icon el-input__icon" name="time"/>
                         </span>
                     </span>
-                    <input :id="keyname" ref="timePickerRef" v-model="modelValues" :disabled="disabled"
-                           :name="keyname" :placeholder="placeholder"
-                           :readonly="readonly" autocomplete="off" class="el-input__inner" type="text"
+                    <input :id="keyname" ref="timePickerRef" :disabled="disabled" :name="keyname"
+                           :placeholder="placeholder" :readonly="readonly"
+                           :value="modelValues" autocomplete="off" class="el-input__inner" type="text"
                            @blur="timePickerBlur"
                            @focus="timePickerFocus">
-                    <span v-if="clearable" class="el-input__suffix">
+                    <span v-if="clearable" v-show="modelValues" class="el-input__suffix">
                         <span class="el-input__suffix-inner">
                             <HcIcon class="el-icon el-input__icon" name="close-circle"/>
                         </span>
@@ -26,31 +26,49 @@
                 </div>
             </div>
         </template>
-        11111
+        <div class="el-time-panel">
+            <div class="el-time-panel__content has-seconds">
+                <div class="el-time-spinner has-seconds">
+                    <el-scrollbar class="el-time-spinner__wrapper">
+                        <ul class="el-scrollbar__view el-time-spinner__list">
+                            <li class="el-time-spinner__item">00</li>
+                            <li class="el-time-spinner__item">01</li>
+                            <li class="el-time-spinner__item is-active">02</li>
+                            <li class="el-time-spinner__item">02</li>
+                        </ul>
+                    </el-scrollbar>
+                    <el-scrollbar class="el-time-spinner__wrapper">
+                        <ul class="el-scrollbar__view el-time-spinner__list">
+                            <li class="el-time-spinner__item">00</li>
+                            <li class="el-time-spinner__item">01</li>
+                            <li class="el-time-spinner__item is-active">02</li>
+                            <li class="el-time-spinner__item">02</li>
+                        </ul>
+                    </el-scrollbar>
+                    <el-scrollbar class="el-time-spinner__wrapper">
+                        <ul class="el-scrollbar__view el-time-spinner__list">
+                            <li class="el-time-spinner__item">00</li>
+                            <li class="el-time-spinner__item">01</li>
+                            <li class="el-time-spinner__item is-active">02</li>
+                            <li class="el-time-spinner__item">02</li>
+                        </ul>
+                    </el-scrollbar>
+                </div>
+            </div>
+            <div class="el-time-panel__footer">
+                <button class="el-time-panel__btn cancel" type="button">取消</button>
+                <button class="el-time-panel__btn confirm" type="button">确定</button>
+            </div>
+        </div>
     </el-popover>
-    <!--el-time-picker
-        :id="keyname"
-        ref="timePickerRef"
-        v-model="modelValues"
-        :clearable="clearable"
-        :disabled="disabled"
-        :format="format"
-        :keyname="keyname"
-        :popper-class="popperClass"
-        :readonly="readonly"
-        :value-format="valueFormat"
-        style="width:100%;height:100%"
-        type="date"
-        @blur="timePickerBlur"
-        @change="timePickerChange"
-        @focus="timePickerFocus"
-        @visible-change="visibleChange"
-        @keydown.shift.up="keyupShiftUp"
-        @keydown.shift.down="keyupShiftDown"
-        @keydown.shift.left="keyupShiftLeft"
-        @keydown.shift.right="keyupShiftRight"></el-time-picker-->
 </template>
 
+<script>
+export default {
+    inheritAttrs: false,
+}
+</script>
+
 <script setup>
 import {ref, watch} from 'vue'
 import HcIcon from "~src/global/components/hc-icon/index.vue"

+ 0 - 1
src/plugins/HTableForm.js

@@ -5,7 +5,6 @@ import HcTableFormUpload from "~com/plugins/table-form/hc-form-upload.vue"
 import HcFormSelectSearch from "~com/plugins/table-form/hc-form-select-search.vue"
 import HcFormCheckboxGroup from "~com/plugins/table-form/hc-form-checkbox-group.vue"
 //import ElTimePicker from "~com/plugins/table-form/hc-time-picker.vue"
-//ElTimePicker
 
 import {
     ElButton, ElTooltip, ElInput, ElDatePicker, ElUpload,