UNPKG

dm-vue3-ui

Version:

This Components Library will help get you started developing in Vue 3.

2 lines (1 loc) 3.25 kB
"use strict";const e=require("ant-design-vue/es"),a=require("vue"),t=require("../../../utils"),l=require("../../../i18n/index"),r=require("ant-design-vue/es/date-picker/locale/zh_CN"),u=require("ant-design-vue/es/date-picker/locale/en_US"),o=require("dayjs"),i={class:"dm-date-picker__absolute"},n={class:"custom-time-box"},v={class:"time-type"},c={class:"date-picker-box"},s="YYYY-MM-DD HH:mm:ss",d=a.defineComponent({__name:"index",props:{dateFormatBack:{default:"YYYY-MM-DD HH:mm:ss"}},emits:["change"],setup(d,{expose:f,emit:m}){const k=d,p=a.ref("between"),x=a.ref(""),b=a.ref([]),g=a.ref(!1),w=a.ref(""),h=()=>{switch(g.value=!1,w.value="",p.value){case"before":case"after":""==x.value&&(g.value=!0,w.value=l.$t("datePicker.validateMsg")[0]);break;case"between":Array.isArray(b.value)&&2==b.value.length?new Date(b.value[0]).getTime()==new Date(b.value[1]).getTime()&&(g.value=!0,w.value=l.$t("datePicker.validateMsg")[1]):(g.value=!0,w.value=l.$t("datePicker.validateMsg")[0])}},N=m,y=e=>k.dateFormatBack?"unix"===k.dateFormatBack?o(e).unix():o(e).format(k.dateFormatBack):e,V=()=>{if(h(),g.value)return!1;{let e={date:[],type:"absolute"};if("between"==p.value)e.date=[y(b.value[0]),y(b.value[1])];else if("before"==p.value){let a="",t=y(x.value);e.date=[a,t]}else{let a=y(x.value),t="";e.date=[a,t]}N("change",e)}};let D=a.ref(""),_=t.store("lang")||t.store("currentLang")||"zh_CN";D.value="zh_CN"===_?r:u;return f({setValue:(e,a)=>{"unix"===k.dateFormatBack?""==a?(p.value="after",x.value=o.unix(e).format(s)):""==e?(p.value="before",x.value=o.unix(a).format(s)):(p.value="between",b.value=[o.unix(e).format(s),o.unix(a).format(s)]):""==a?(p.value="after",x.value=e):""==e?(p.value="before",x.value=a):(p.value="between",b.value=[e,a])}}),(t,r)=>{const u=e.SelectOption,o=e.Select,d=e.RangePicker,f=e.DatePicker,m=e.Button;return a.openBlock(),a.createElementBlock("div",i,[a.createElementVNode("div",n,[a.createElementVNode("div",v,[a.createVNode(o,{value:p.value,"onUpdate:value":r[0]||(r[0]=e=>p.value=e)},{default:a.withCtx((()=>[a.createVNode(u,{value:"between"},{default:a.withCtx((()=>[a.createTextVNode(a.toDisplayString(a.unref(l.$t)("datePicker.absolute.between")),1)])),_:1}),a.createVNode(u,{value:"before"},{default:a.withCtx((()=>[a.createTextVNode(a.toDisplayString(a.unref(l.$t)("datePicker.absolute.before")),1)])),_:1}),a.createVNode(u,{value:"after"},{default:a.withCtx((()=>[a.createTextVNode(a.toDisplayString(a.unref(l.$t)("datePicker.absolute.since")),1)])),_:1})])),_:1},8,["value"])]),a.createElementVNode("div",c,["between"==p.value?(a.openBlock(),a.createBlock(d,{key:0,locale:a.unref(D),value:b.value,"onUpdate:value":r[1]||(r[1]=e=>b.value=e),format:s,valueFormat:s,"show-time":"",onChange:h},null,8,["locale","value"])):(a.openBlock(),a.createBlock(f,{key:1,format:s,valueFormat:s,locale:a.unref(D),value:x.value,"onUpdate:value":r[2]||(r[2]=e=>x.value=e),"show-time":"",onChange:h},null,8,["locale","value"])),a.createVNode(m,{type:"primary",onClick:V},{default:a.withCtx((()=>[a.createTextVNode(a.toDisplayString(a.unref(l.$t)("datePicker.confirm")),1)])),_:1})]),a.withDirectives(a.createElementVNode("div",{class:"error-text"},a.toDisplayString(w.value),513),[[a.vShow,g.value]])])])}}});module.exports=d;