| | |
| | | /** |
| | | * CDatePicker - 选择日期范围操作 |
| | | * 日期选择组件,用于在表单中选择日期或日期范围 |
| | | * 支持三种选择模式:日期选择、日期时间选择和日期范围选择 |
| | | * 可限制日期选择范围,支持清除功能和只读模式 |
| | | * @author Tevin |
| | | */ |
| | | |
| | | <template> |
| | | <view |
| | | class="c-date-picker" |
| | | :class="readOnly?'read-only':''" |
| | | > |
| | | <view class="c-date-picker" :class="readOnly ? 'read-only' : ''"> |
| | | <CDateRangeAction |
| | | v-if="mode==='dateRange'" |
| | | v-if="mode === 'dateRange'" |
| | | :value="itemRes.formData[itemRes.name]" |
| | | :onChange="evt=>handleChange(evt)" |
| | | :onChange="evt => handleChange(evt)" |
| | | :placeholder="placeholder" |
| | | :rangeTypes="rangeTypes" |
| | | > |
| | | <AtInput |
| | | :name="itemRes.name" |
| | |
| | | </AtInput> |
| | | </CDateRangeAction> |
| | | <CDateTimeAction |
| | | v-else-if="mode==='dateTime'" |
| | | v-else-if="mode === 'dateTime'" |
| | | :value="itemRes.formData[itemRes.name]" |
| | | :onChange="evt=>handleChange(evt)" |
| | | :onChange="evt => handleChange(evt)" |
| | | :placeholder="placeholder" |
| | | > |
| | | <AtInput |
| | |
| | | ></view> |
| | | </AtInput> |
| | | </CDateTimeAction> |
| | | <view v-else-if="mode==='date'"> |
| | | <view v-else-if="mode === 'date'"> |
| | | <picker |
| | | mode="date" |
| | | :start="limitStart || pickerStart" |
| | | :end="limitEnd || pickerEnd" |
| | | :fields="fields" |
| | | :value="itemRes.formData[itemRes.name]" |
| | | @change="evt=>handleChange(evt.detail.value)" |
| | | @change="evt => handleChange(evt.detail.value)" |
| | | > |
| | | <AtInput |
| | | :name="itemRes.name" |
| | |
| | | limitStart: String, |
| | | // 结束日期 |
| | | limitEnd: String, |
| | | // 选择器类型,选日期、选周、选月 |
| | | picker: String, //date,week,month |
| | | // 预设类型 |
| | | rangeTypes: Array, |
| | | // 日期选择粒度 year、month、day |
| | | fields: { |
| | | type: String, |