123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836 |
- <!-- 日期组件 -->
- <template>
- <view class="tm-pickersDateView flex-start px-24" :class="[black_tmeme?'grey-darken-5':bgColor]">
- <block v-for="(item_data,index_pub) in listData" :key="index_pub">
- <view v-if="(index_pub==0&&dataCauser.year)
- ||(index_pub==1&&dataCauser.month)
- ||(index_pub==2&&dataCauser.day)
- ||(index_pub==3&&dataCauser.hour)
- ||(index_pub==4&&dataCauser.min)
- ||(index_pub==5&&dataCauser.sec)
- " class="tm-pickersDateView-wk " :style="{
- height:itemHeight*5+'px',
- width:jswid() + '%',
- marginLeft:index_pub==0?0:1 + '%',
- }">
- <scroll-view
- @touchstart="setChildreIndex(index_pub)"
- :show-scrollbar='false'
- v-if="dataType!==null&&item_data"
- :scroll-top="listIndex[index_pub]?listIndex[index_pub]['wz']:''"
- scroll-y
- @touchend="scrllEnd"
- @scroll="scroll($event,index_pub)"
- scroll-with-animation class="tm-pickersDateView-showbg"
- :style="{
- height:itemHeight*5+'px'
- }">
- <!-- #ifdef H5 -->
- <view :id='"_bar_"+(index4)+"_bar_"' v-for="(item4,index4) in 2" :key="index4+'_a'" class="tm-pickersDateView-item "
- :style="{height:itemHeight+'px'}">
- <text class="opacity-1"></text>
- </view>
- <!-- #endif -->
- <!-- #ifndef H5 -->
- <view :id='"_bar_"+(index4)+"_bar_"' v-for="(item4,index4) in 2" :key="index4" class="tm-pickersDateView-item "
- :style="{height:itemHeight+'px'}">
- <text class="opacity-1"></text>
- </view>
- <!-- #endif -->
-
- <view :id='"_bar_"+(index+2)+"_bar_"' v-for="(item,index) in item_data" :key="index"
- class="tm-pickersDateView-item flex-center" :style="{
- height:itemHeight+'px'
- }">
- <view class="text-size-g tm-pickersDateView-item-text" :class="[
- listIndex[index_pub].itemIndex==index? (black_tmeme?'text-white':'text-black'):(black_tmeme?'':'opacity-4'),
- listIndex[index_pub].itemIndex+1==index||listIndex[index_pub].itemIndex-1==index?'textLevel_1':'',
- listIndex[index_pub].itemIndex+2==index||listIndex[index_pub].itemIndex-2==index?'textLevel_2':'',
-
- ]">
- <text >{{fullNumber?buqi(item):item}}{{index_pub==0&&mode?'年':''}}{{index_pub==1&&mode?'月':''}}{{index_pub==2&&mode?'日':''}}{{index_pub==3&&mode?'时':''}}{{index_pub==4&&mode?'分':''}}{{index_pub==5&&mode?'秒':''}}</text>
- </view>
- </view>
-
- <!-- #ifdef H5 -->
- <view v-for="(item4,index4) in 2" :key="index4+'_bb'" class="tm-pickersDateView-item"
- :style="{height:itemHeight+'px'}">
- <text></text>
- </view>
- <!-- #endif -->
- <!-- #ifndef H5 -->
- <view v-for="(item4,index4) in 2" :key="index4" class="tm-pickersDateView-item"
- :style="{height:itemHeight+'px'}">
- <text></text>
- </view>
- <!-- #endif -->
- </scroll-view>
- <view class="tm-pickersDateView-fg overflow round-5 shadow-5 flex-center"
- :class="[
- black_tmeme?'white opacity-1':'grey-darken-1 opacity-1'
- ]" :style="{
- height:itemHeight+'px',
- top:itemHeight*2+'px'
- }">
-
- </view>
- </view>
- </block>
- </view>
- </template>
- <script>
- /**
- * 日期下拉选择器(嵌入式)
- * @description 多级关联,单级关联选择
- * @property {Array} default-value = [] 默认:当前的时间,初始显示的时间
- * @property {String|Number} item-height = [34|42|50|58|62] 项目的高度单位px
- * @property {String|Boolean} black = [true|false] 是否开启暗黑模式。
- * @property {String|Boolean} disabled = [true|false] 是否禁用
- * @property {String} bg-color = [white|blue] 默认:white,白色背景;请填写背景的主题色名称。
- * @property {Object} show-detail = [{year:true,month:true,day:true,hour:false,min:false,sec:false}] 默认:{year:true,month:true,day:true,hour:false,min:false,sec:false}
- * @property {String} start = [1900-1-1 00:00:00] 默认:1900-1-1 00:00:00,开始的时间
- * @property {String} end = [] 默认:当前,结束的时间
- * @property {String|Boolean} mode = [true|false] 默认:true,是否显示中文年,月后缀
- * @property {String|Boolean} full-number = [true|false] 默认:true,是否把个位数补齐双位数
- */
- export default {
- name: "tm-pickersDateView",
- props: {
- // 行高。
- itemHeight: {
- type: String | Number,
- default: 40
- },
- black:{
- type:String|Boolean,
- default:null
- },
- // 是否禁用
- disabled:{
- type:String|Boolean,
- default:false
- },
- // 背景颜色,主题色名称。
- bgColor:{
- type:String,
- default:'white'
- },
- //要展示的时间。
- showDetail:{
- type:Object,
- default:()=>{
- return {
- year:true,//年
- month:true,//月
- day:true,//天
- hour:false,//小时
- min:false,//分
- sec:false//秒
- }
- }
- },
- start:{
- type:String,
- default:'1900-1-1 00:00:00'
- },
- end:{
- type:String,
- default:''
- },
- defaultValue:'',
- // 是否显示中文年,月后缀
- mode:{
- type:String|Boolean,
- default:true
- },
- // 是否把个位数补齐双位数
- fullNumber:{
- type:String|Boolean,
- default:true
- }
-
- },
- data() {
- return {
- scrollEvent: 0,
- childrenIndex: 0,
- scrollChildrenIndex:0,
- listIndex: [],
- listData: [[],[],[],[],[],[]],
- dataCauser:{
- year:true,//年
- month:true,//月
- day:true,//天
- hour:true,//小时
- min:true,//分
- sec:true//秒
- },
-
- startTime:null,
- endTime:null,
-
- };
- },
- mounted() {
- for(let i =0 ; i <this.listData.length;i++){
- this.listIndex.push({
- itemIndex: 0,
- childrenIndex: 0,
- wz: 0
- })
- }
- this.chulisdata()
-
- this.$nextTick(function(){
-
- this.setDefaultValue();
- })
-
- },
-
- watch:{
- defaultValue:async function(){
- await this.setDefaultValue();
-
- },
- start:async function(){
- await this.setDefaultValue();
-
- },
- end:async function(){
- await this.setDefaultValue();
-
- },
- },
- computed: {
- dataType: function() {
- return 'string';
- },
- gridNum: function() {
- let t = this;
- let d = 0;
- for(let key in this.showDetail){
- if(this.showDetail[key]==true){
- d++
- }
- }
-
- return d;
- },
- black_tmeme: function() {
- if (this.black !== null) return this.black;
- return this.$tm.vx.state().tmVuetify.black;
- }
- },
- methods: {
- buqi(val){
- return (val > 9) ? ("" + val) : ("0" + val);
- },
- // 获取当前选中的数据。
- getSelectedValue(){
- let t = this;
- let ap = [];
- this.listIndex.forEach((item,index)=>{
- ap.push(t.listData[index][item.itemIndex])
- })
- let jg = {
- year:ap[0],//年
- month:ap[1],//月
- day:ap[2],//天
- hour:ap[3],//小时
- min:ap[4],//分
- sec:ap[5]//秒
- }
- let ar = Object.keys(this.dataCauser);
- ar.forEach(item=>{
- if(t.dataCauser[item]===false){
- delete jg[item]
- }
- })
- return jg;
- },
- chulisdata() {
- if(typeof this.showDetail === 'object'){
- this.dataCauser = {...this.dataCauser,...this.showDetail};
- }
- this.startTime = new Date(this.start.replace(/-/g,'/'))
- if(isNaN(this.startTime.getFullYear())){
- this.startTime = new Date('1900/1/1 00:00:00')
- }
- this.endTime = new Date(this.end.replace(/-/g,'/'))
-
- if(isNaN(this.endTime.getFullYear()) ){
- this.endTime = new Date()
- }
- // this.dataCauser.year===
- if(true){
- let pyear = [];
- for(let i=this.startTime.getFullYear();i<=this.endTime.getFullYear(); i++){
- pyear.push(i)
- }
- this.listData.splice(0,1,pyear)
- }
- // this.dataCauser.month===
- if(true){
- let pmonth = [];
- let x_year = this.startTime.getFullYear();
- let xz_year= this.listData[0][this.listIndex[0].itemIndex];
- if(xz_year === x_year){
- for(let i=this.startTime.getMonth()+1;i<=12; i++){
- pmonth.push(i)
- }
- }else{
-
- // 不能大于endtime.
- if(xz_year >= this.endTime.getFullYear()){
- for(let i=1;i<=this.endTime.getMonth()+1; i++){
- pmonth.push(i)
- }
-
- }else{
- for(let i=1;i<=12; i++){
- pmonth.push(i)
- }
- }
-
-
- }
-
- this.listData.splice(1,1,pmonth)
- }
- // this.dataCauser.day===
- if(true){
- function monthDay(year, month) {
- var date = new Date(year, month, 1, 0, 0, 0)
- var yesterDay = new Date(date - 1000)
- return yesterDay.getDate()
- }
- let pday = [];
- let year = this.startTime.getFullYear();
- let xzyear = this.listData[0][this.listIndex[0].itemIndex];
- if(xzyear){
- year = xzyear;
- }
- let month = this.startTime.getMonth();
- let xzmonth = this.listData[1][this.listIndex[1].itemIndex]-1;
- if(xzmonth){
- month = xzmonth;
- }
- let months = [31,monthDay(year,month+1),31,30,31,30,31,31,30,31,30,31];
-
-
-
- if(year === this.startTime.getFullYear() && month === this.startTime.getMonth()){
-
- if(year == this.endTime.getFullYear()&&
- month == this.endTime.getMonth()+1
-
- ){
- for(let i=this.startTime.getDate();i<=this.endTime.getDate(); i++){
- pday.push(i)
- }
- }else{
- for(let i=this.startTime.getDate();i<=months[month]; i++){
- pday.push(i)
- }
- }
-
-
- }else{
-
- if(year >= this.endTime.getFullYear()&& month >= this.endTime.getMonth()){
- for(let i=1;i<=this.endTime.getDate(); i++){
- pday.push(i)
- }
-
- }else{
- for(let i=1;i<=months[month]; i++){
- pday.push(i)
- }
- }
-
-
- }
-
- this.listData.splice(2,1,pday)
- }
- // this.dataCauser.hour===
- if(true){
- let phour = [];
- let s_year = this.startTime.getFullYear();
- let o_year = this.listData[0][this.listIndex[0].itemIndex];
- let s_month = this.startTime.getMonth()+1;
- let o_month = this.listData[1][this.listIndex[1].itemIndex];
- let s_day = this.startTime.getDate();
- let o_day = this.listData[2][this.listIndex[2].itemIndex];
- // let s_hour = this.startTime.getMinutes();
- // let o_hour = this.listData[3][this.listIndex[3].itemIndex];
-
- if(s_year===o_year&&s_month===o_month&&s_day===o_day){
-
- if(s_year == this.endTime.getFullYear()&&
- s_month == this.endTime.getMonth()+1 &&
- s_day == this.endTime.getDate()
- ){
- for(let i=this.startTime.getHours();i<=this.endTime.getHours(); i++){
- phour.push(i)
- }
- }else{
- for(let i=this.startTime.getHours();i<24; i++){
- phour.push(i)
- }
- }
-
- }else{
-
- if(o_year >= this.endTime.getFullYear() && o_month >= this.endTime.getMonth()&& o_day >= this.endTime.getDate()){
- for(let i=0;i<=this.endTime.getHours(); i++){
- phour.push(i)
- }
-
- }else{
- for(let i=0;i<24; i++){
- phour.push(i)
- }
- }
-
-
- }
- this.listData.splice(3,1,phour)
- }
- // this.dataCauser.min===true
- if(true){
- let pmin = [];
- let s_year = this.startTime.getFullYear();
- let o_year = this.listData[0][this.listIndex[0].itemIndex];
- let s_month = this.startTime.getMonth()+1;
- let o_month = this.listData[1][this.listIndex[1].itemIndex];
- let s_day = this.startTime.getDate();
- let o_day = this.listData[2][this.listIndex[2].itemIndex];
- let s_hour = this.startTime.getHours();
- let o_hour = this.listData[3][this.listIndex[3].itemIndex];
- if(s_year===o_year&&s_month===o_month&&s_day===o_day&&s_hour===o_hour){
-
-
- if(s_year == this.endTime.getFullYear()&&
- s_month == this.endTime.getMonth()+1 &&
- s_day == this.endTime.getDate()&&
- s_hour == this.endTime.getHours()
- ){
- for(let i=this.startTime.getMinutes();i<=this.endTime.getMinutes(); i++){
- pmin.push(i)
- }
- }else{
- for(let i=this.startTime.getMinutes();i<60; i++){
- pmin.push(i)
- }
- }
-
-
- }else{
-
- if(o_year >= this.endTime.getFullYear() && o_month >= this.endTime.getMonth()&& o_day >= this.endTime.getDate() && o_hour >= this.endTime.getHours()){
- for(let i=1;i<=this.endTime.getMinutes(); i++){
- pmin.push(i)
- }
-
- }else{
- for(let i=0;i<60; i++){
- pmin.push(i)
- }
- }
-
-
- }
-
- this.listData.splice(4,1,pmin)
- }
- // this.dataCauser.sec===
- if(true){
- let psec = [];
- let s_year = this.startTime.getFullYear();
- let o_year = this.listData[0][this.listIndex[0].itemIndex];
- let s_month = this.startTime.getMonth()+1;
- let o_month = this.listData[1][this.listIndex[1].itemIndex];
- let s_day = this.startTime.getDate();
- let o_day = this.listData[2][this.listIndex[2].itemIndex];
- let s_hour = this.startTime.getHours();
- let o_hour = this.listData[3][this.listIndex[3].itemIndex];
- let s_min = this.startTime.getMinutes();
- let o_min = this.listData[4][this.listIndex[4].itemIndex];
- if(s_year===o_year&&s_month===o_month&&s_day===o_day&&s_hour===o_hour&&s_min===o_min){
-
- if(s_year == this.endTime.getFullYear()&&
- s_month == this.endTime.getMonth()+1 &&
- s_day == this.endTime.getDate()&&
- s_hour == this.endTime.getHours()&&
- s_min == this.endTime.getMinutes()
- ){
- for(let i=this.startTime.getSeconds();i<=this.endTime.getSeconds(); i++){
- psec.push(i)
- }
- }else{
- for(let i=this.startTime.getSeconds();i<60; i++){
- psec.push(i)
- }
- }
-
-
- }else{
-
- if(o_year >= this.endTime.getFullYear() && o_month >= this.endTime.getMonth()&& o_day >= this.endTime.getDate() && o_hour >= this.endTime.getHours()&& o_min >= this.endTime.getMinutes()){
- for(let i=1;i<=this.endTime.getSeconds(); i++){
- psec.push(i)
- }
-
- }else{
- for(let i=0;i<60; i++){
- psec.push(i)
- }
- }
-
- }
- this.listData.splice(5,1,psec)
- }
-
- return this.listData;
- },
- async setDefaultValue(date){
- let t = this;
- let mobj;
- if(date){
- mobj = new Date(date.replace(/-/g,'/'));
- }else{
- try{
- mobj = new Date(this.defaultValue.replace(/-/g,'/'));
- }catch(e){
- mobj = new Date();
- }
- if(!this.defaultValue || isNaN(mobj.getFullYear())){
- mobj = new Date();
- }
- }
-
- await uni.$tm.sleep(20)
- // this.dataCauser.year===
- if(true){
- let pyear = mobj.getFullYear();
-
- if(pyear <= this.startTime.getFullYear()){
-
- pyear = this.startTime.getFullYear()
-
- }else if(pyear >= this.endTime.getFullYear()){
- pyear = this.endTime.getFullYear()
- }
-
- let itemIndex = this.listData[0].indexOf(pyear)
- if(itemIndex>-1){
- this.$set(this.listIndex[0], 'itemIndex', itemIndex);
- this.$set(t.listIndex[0], 'wz', itemIndex * t.itemHeight);
- this.chulisdata();
- }
- }
- await uni.$tm.sleep(20)
- // this.dataCauser.month===
- if(true){
- let pmonth = mobj.getMonth()+1;
- if(mobj.getFullYear() <= this.startTime.getFullYear()&&pmonth <= this.startTime.getMonth()+1){
- pmonth = this.startTime.getMonth()+1
- }else if(mobj.getFullYear() >= this.endTime.getFullYear()&&pmonth >= this.endTime.getMonth()+1){
- pmonth = this.endTime.getMonth()+1
- }
-
-
- let itemIndex = this.listData[1].indexOf(pmonth)
-
- if(itemIndex>-1){
- this.chulisdata();
- this.$set(this.listIndex[1], 'itemIndex', itemIndex);
- this.$set(t.listIndex[1], 'wz', itemIndex * t.itemHeight-0.1);
- setTimeout(function() {
- t.$set(t.listIndex[1], 'wz', itemIndex * t.itemHeight);
- }, 10);
-
- }
- }
- await uni.$tm.sleep(20)
- // this.dataCauser.day===
- if(true){
- let pday = mobj.getDate();
- let pmonth = mobj.getMonth()+1;
- if(mobj.getFullYear() <= this.startTime.getFullYear()&&
- pmonth <= this.startTime.getMonth()+1&&
- pday <= this.startTime.getDate()
- ){
- pday = this.startTime.getDate()
- }else if(mobj.getFullYear() >= this.endTime.getFullYear()&&
- pmonth >= this.endTime.getMonth()+1&&
- pday >= this.endTime.getDate()
- ){
- pday = this.endTime.getDate()
- }
-
-
-
- let itemIndex = this.listData[2].indexOf(pday)
-
- if(itemIndex>-1){
- this.chulisdata();
- this.$set(this.listIndex[2], 'itemIndex', itemIndex);
- this.$set(t.listIndex[2], 'wz', itemIndex * t.itemHeight);
- }
- }
- await uni.$tm.sleep(20)
- // this.dataCauser.hour===
- if(true){
- let phour = mobj.getHours();
- let pday = mobj.getDate();
- let pmonth = mobj.getMonth()+1;
-
- if(mobj.getFullYear() <= this.startTime.getFullYear()&&
- pmonth <= this.startTime.getMonth()+1&&
- pday <= this.startTime.getDate()&&
- phour <= this.startTime.getHours()
- ){
- phour = this.startTime.getHours()
- }else if(mobj.getFullYear() >= this.endTime.getFullYear()&&
- pmonth >= this.endTime.getMonth()+1&&
- pday >= this.endTime.getDate()&&
- phour >= this.endTime.getHours()
- ){
- phour = this.endTime.getHours()
- }
-
-
-
- let itemIndex = this.listData[3].indexOf(phour)
- if(itemIndex>-1){
- this.chulisdata();
-
- this.$set(this.listIndex[3], 'itemIndex', itemIndex);
- this.$set(t.listIndex[3], 'wz', itemIndex * t.itemHeight);
-
- }
-
- }
- await uni.$tm.sleep(20)
- // this.dataCauser.min===
- if(true){
- let pmin = mobj.getMinutes();
- let phour = mobj.getHours();
- let pday = mobj.getDate();
- let pmonth = mobj.getMonth()+1;
-
- if(mobj.getFullYear() <= this.startTime.getFullYear()&&
- pmonth <= this.startTime.getMonth()+1&&
- pday <= this.startTime.getDate()&&
- phour <= this.startTime.getHours()&&
- pmin <= this.startTime.getMinutes()
- ){
- phour = this.startTime.getMinutes()
- }else if(mobj.getFullYear() >= this.endTime.getFullYear()&&
- pmonth >= this.endTime.getMonth()+1&&
- pday >= this.endTime.getDate()&&
- phour >= this.endTime.getHours()&&
- pmin >= this.endTime.getMinutes()
- ){
- phour = this.endTime.getMinutes()
- }
-
-
- let itemIndex = this.listData[4].indexOf(pmin)
- if(itemIndex>-1){
-
- this.$set(this.listIndex[4], 'itemIndex', itemIndex);
- this.$set(t.listIndex[4], 'wz', itemIndex * t.itemHeight);
- }
- }
- await uni.$tm.sleep(20)
- // this.dataCauser.sec===
- if(true){
- let psec = mobj.getSeconds();
- let pmin = mobj.getMinutes();
- let phour = mobj.getHours();
- let pday = mobj.getDate();
- let pmonth = mobj.getMonth()+1;
-
- if(mobj.getFullYear() <= this.startTime.getFullYear()&&
- pmonth <= this.startTime.getMonth()+1&&
- pday <= this.startTime.getDate()&&
- phour <= this.startTime.getHours()&&
- pmin <= this.startTime.getMinutes()&&
- psec <= this.startTime.getSeconds()
- ){
- psec = this.startTime.getMinutes()
- }else if(mobj.getFullYear() >= this.endTime.getFullYear()&&
- pmonth >= this.endTime.getMonth()+1&&
- pday >= this.endTime.getDate()&&
- phour >= this.endTime.getHours()&&
- pmin >= this.endTime.getMinutes()&&
- psec >= this.endTime.getSeconds()
- ){
- psec = this.endTime.getSeconds()
- }
-
- let itemIndex = this.listData[5].indexOf(psec)
- if(itemIndex>-1){
-
- this.$set(this.listIndex[5], 'itemIndex', itemIndex);
- this.$set(t.listIndex[5], 'wz', itemIndex * t.itemHeight);
- }
- }
-
- },
- setChildreIndex(index){
- this.childrenIndex = index;
- },
- scroll(e, index) {
- console.log(e);
- this.scrollEvent = e;
- this.scrollChildrenIndex = index;
-
- },
- jswid(){
- let wd =(this.gridNum-1)-2
- if(wd<=0) wd = 1;
- return 100/wd;
- },
- scrllEnd(e) {
-
-
- function monthDay(year, month) {
- var date = new Date(year, month, 1, 0, 0, 0)
- var yesterDay = new Date(date - 1000)
- return yesterDay.getDate()
- }
- if (!this.scrollEvent) return;
- let dNum = this.gridNum;
- let d;
- let t = this;
- let idb = 88;
- let idc = 884;
- let srcllTop = this.scrollEvent.detail.scrollTop ;
- if(srcllTop<=0){
- srcllTop = 0;
- }else if(srcllTop >= this.scrollEvent.detail.srcollHeigh){
- srcllTop = this.scrollEvent.detail.srcollHeigh;
- }
-
- d = Math.ceil((srcllTop - (this.itemHeight / 2)) / this.itemHeight);
-
- if(d>= t.listData[t.childrenIndex].length-1){
- d = t.listData[t.childrenIndex].length-1
- }
-
- t.$set(t.listIndex[t.childrenIndex], 'wz', srcllTop)
- let old_index = this.listIndex[this.childrenIndex].itemIndex || 0;
- if(t.disabled){
- clearTimeout(idb)
- idb = setTimeout(function() {
- t.$nextTick(function(){
- t.$set(t.listIndex[t.childrenIndex], 'wz', old_index * t.itemHeight)
- })
- }, 5);
- return;
- }
- this.$set(this.listIndex[t.childrenIndex], 'itemIndex', d)
- t.chulisdata();
-
- clearTimeout(idb);
- idb = setTimeout(function() {
- t.$nextTick(function(){
- t.$set(t.listIndex[t.childrenIndex], 'wz', d * t.itemHeight)
-
- for(let lsindex = t.childrenIndex+1;lsindex<6;lsindex++){
-
- if( t.listData[lsindex][t.listIndex[lsindex].itemIndex] == undefined){
- let pda = t.listData[lsindex].length-1;
-
- if(d>=pda){
- this.$set(this.listIndex[lsindex], 'itemIndex',pda)
- t.$set(t.listIndex[lsindex], 'wz', pda * t.itemHeight)
-
- }else{
- this.$set(this.listIndex[lsindex], 'itemIndex',0)
- t.$set(t.listIndex[lsindex], 'wz', 0)
- }
-
- }else{
- let srcllTop_s = t.listIndex[lsindex].wz;
- const tsdd = t.listIndex[lsindex].itemIndex;
-
- t.$set(t.listIndex[lsindex], 'wz', (tsdd) * t.itemHeight-1)
- this.$nextTick(function(){
- t.$set(t.listIndex[lsindex], 'wz', (tsdd) * t.itemHeight)
- })
-
- }
- }
- })
- }, 10);
-
-
-
-
- }
- },
- }
- </script>
- <style lang="scss" scoped>
- .tm-pickersDateView {
- .tm-pickersDateView-wk {
- position: relative;
-
- .tm-pickersDateView-showbg {
- position: absolute;
- left: 0;
- height: 0;
- z-index: 5;
- .tm-pickersDateView-item {
- .tm-pickersDateView-item-text {
- text {
- transition: all 0.5s;
- }
- &.textLevel_1 {
- text {
- font-size: 28upx !important;
-
- }
- }
- &.textLevel_2 {
- text {
- font-size: 26upx !important;
- }
- }
- }
- }
- }
- .tm-pickersDateView-fg {
- position: relative;
- z-index: 3;
- }
- }
- }
- </style>
|