y-taro-ui
Version:
基于taro的表单解决方案 & 基础组件
1 lines • 61.7 kB
JavaScript
import e,{useRef as t,useState as n,memo as i,createContext as o,useContext as a,useMemo as c,useEffect as s,useCallback as r,Fragment as l,useImperativeHandle as d}from"react";import{jsx as m,jsxs as C}from"react/jsx-runtime";import{Text as p,View as u,Button as y,Picker as v,Input as h,Textarea as g,Image as b,Label as f,Block as O,Form as j,WebView as x,ScrollView as k}from"@tarojs/components";import N,{chooseImage as F,showToast as I,previewImage as w,hideToast as T,createSelectorQuery as P,vibrateShort as E,createOffscreenCanvas as S}from"@tarojs/taro";import A from"lodash/defaultsDeep";import{interpolate as V}from"going-merry";import{CSSTransition as _}from"react-transition-group";import $ from"lodash/throttle";function M(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}var D=M((function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],i=0;i<arguments.length;i++){var o=arguments[i];if(o){var a=typeof o;if("string"===a||"number"===a)e.push(o);else if(Array.isArray(o)){if(o.length){var c=n.apply(null,o);c&&e.push(c)}}else if("object"===a)if(o.toString===Object.prototype.toString)for(var s in o)t.call(o,s)&&o[s]&&e.push(s);else e.push(o.toString())}}return e.join(" ")}e.exports?(n.default=n,e.exports=n):window.classNames=n}()}));function R(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n}const B=e=>"[object Object]"===Object.prototype.toString.call(e),q=e=>e.then(e=>({data:e,error:null})).catch(e=>({error:e,data:null})),z=e=>q(F(e)),U=(e,t=2e3)=>{I({icon:"none",title:e,duration:t})},K=e=>{I({icon:"success",title:e})},L=(e,t=6e4)=>{I({icon:"loading",mask:!0,title:e,duration:t})},W=e=>{e.stopPropagation()},Y=(e,t=!0)=>{null==e||e.preventDefault(),t&&W(e)};function X(e=25){return new Promise(t=>{setTimeout(()=>{t(null)},e)})}const H=e=>"y-taro-ui-"+e,G=e=>Array.isArray(e)?D(e.map(H)):"",J=(e,t)=>({["--y-taro-ui-"+e]:t}),Q=e=>B(e)?Object.keys(e).reduce((t,n)=>Object.assign(Object.assign({},t),{["--y-taro-ui-"+n]:e[n]}),{}):{},Z=e=>{const{type:t,style:n,className:i,onClick:o,animated:a}=e,c=D(i,H("icon"),H("icon-"+t),{[H("icon-animate")]:a});return m(p,{className:c,onClick:o,style:n})},ee=t=>{const{border:n=!0,formType:i,onClick:o,style:a,className:c,async:s=!1,native:r=!0,type:l="primary",block:d=!1,loading:p=!1,disabled:v=!1,shape:h="default",size:g="middle",loadingText:b,loadingIcon:f,showLoadingIcon:O=!0,children:j,icon:x,flex:k=1,wait:N=1}=t,F=R(t,["border","formType","onClick","style","className","async","native","type","block","loading","disabled","shape","size","loadingText","loadingIcon","showLoadingIcon","children","icon","flex","wait"]),[I,w]=e.useState(!1),T=e.useRef(!1),P=v||p||I,E={style:Object.assign(Object.assign({},a),{flex:k}),className:D(c,H("button"),H("button-text-overflow-hide"),H("button-"+l),H("button-size-"+g),H("button-shape-"+h),{[H("button-block")]:d,[H("button-disabled")]:P,[H("button-loading")]:P,[H("button-border")]:!n}),onClick:async e=>{if(!P&&!T.current)if(s){w(!0);try{o&&await o(e)}catch(e){}finally{w(!1)}}else T.current=!0,o&&o(e),setTimeout(()=>T.current=!1,1e3*N)},disabled:P},S=e.useMemo(()=>p||I?C(u,Object.assign({className:H("button-loading-wrapper")},{children:[!!O&&m(u,Object.assign({className:H("button-loading-icon")},{children:f||m(Z,{type:"loading-outlined"})})),m(u,Object.assign({className:H("button-text-overflow-hide")},{children:b||j}))]})):x?C(u,Object.assign({className:H("button-loading-wrapper")},{children:[m(u,Object.assign({className:H("button-icon")},{children:m(Z,{type:x})})),m(u,Object.assign({className:H("button-text-overflow-hide")},{children:j}))]})):j,[p,I,O,f,b,j,x]);return r?m(y,Object.assign({formType:i},E,F,{children:S})):m(u,Object.assign({},E,{children:S}))},te=e=>m(u,Object.assign({style:e.style,className:D(H("buttons"),e.className)},{children:e.children}));te.Button=ee;const ne={components:{form:{reset:"重置",cancel:"取消",submit:"确定",requiredError:" 不可为空",validatorError:" 校验未通过"},imagePicker:{add:"添加",previewError:"图片预览失败,请稍后重试!",chooseImageError:"获取图片失败,请重新选择或拍摄图片!",loading:"上传中...",uploadError:"上传失败"}}},ie="Y-TARO-UI-KEY-YY0380";class oe{constructor(e){this.fieldEntities=[],this.values={},this.initialValues={},this.callbacks={},this.validateMessages=[],this.subscribable=!0,this.init=!0,this.config={layout:"horizontal",locale:"zh-cn",readonly:!1,textAlign:"right",language:ne},this.setConfigs=e=>{this.config=A(e,this.config)},this.getFieldValue=e=>this.values[e],this.getFieldsValue=()=>this.values,this.reRenderFieldComponent=(e,t,n,i)=>{this.getFieldEntities().forEach(({name:o,onStoreChange:a,shouldUpdate:c})=>{"function"==typeof c&&c(t,n)||c?a({}):Object.keys(e).forEach(e=>{(o===e||i)&&a({})})})},this.setFieldsValue=(e,t)=>{const n=Object.assign({},this.values),i=Object.assign(Object.assign({},this.values),e);this.values=i,this.subscribable?(this.forceRootUpdate({}),this.reRenderFieldComponent(e,n,i,t)):this.reRenderFieldComponent(e,n,i,t);const{onValuesChange:o}=this.callbacks;o&&o(e,i)},this.getFieldEntities=(e=!1)=>{if(!e)return this.fieldEntities},this.setInitialValues=(e,t)=>{(this.init||t)&&(this.initialValues=e||{},this.setFieldsValue(e),this.init=!1)},this.resetStatus=()=>{this.init=!0},this.registerField=e=>{this.fieldEntities.push(e);const{initialValue:t,name:n}=e;if(void 0!==t&&n){const e={[n]:t};this.initialValues=Object.assign(Object.assign({},this.initialValues),e),this.setFieldsValue(e)}return()=>{this.fieldEntities=this.fieldEntities.filter(t=>t!==e);const t=Object.assign({},this.values);delete t[e.name],this.values=t}},this.setCallbacks=e=>{this.callbacks=e},this.getFields=()=>this.fieldEntities.map(e=>{const t=this.getFieldValue(e.name);return Object.assign({value:t},e)}),this.getField=e=>{const[t]=this.fieldEntities.filter(t=>t.name===e),n=this.getFieldValue(t.name);return Object.assign({value:n},t)},this.getInternalHooks=e=>e===ie?{registerField:this.registerField,setInitialValues:this.setInitialValues,setCallbacks:this.setCallbacks,getFields:this.getFields,setConfigs:this.setConfigs,resetStatus:this.resetStatus}:null,this.validateFields=()=>(this.validateMessages=[],this.getFields().every(e=>{const{name:t,rules:n,label:i}=e;return!n||n.every(e=>{const n=i||"";return("function"==typeof e.required?e.required():e.required)&&!this.values[t]?(this.validateMessages.push({name:t,label:i,message:e.message||`${n}${this.config.language.components.form.requiredError}`}),!1):!(e.validator&&!e.validator(this.values[t]))||(this.validateMessages.push({name:t,label:i,message:e.message||`${n}${this.config.language.components.form.validatorError}`}),!1)})})),this.getFieldsError=()=>(this.validateFields(),this.validateMessages),this.useSubscribe=e=>{this.subscribable=e},this.reset=()=>{const e={};this.getFieldEntities().forEach(({name:t})=>{t&&(e[t]=this.initialValues[t])}),this.setFieldsValue(e,!0)},this.submit=()=>{this.validateFields()?this.callbacks.onFinish&&this.callbacks.onFinish(this.config.filterInitialValues?this.fieldEntities.reduce((e,t)=>Object.assign(Object.assign({},e),{[t.name]:this.values[t.name]}),{}):this.values):this.callbacks.onFinishFailed&&this.callbacks.onFinishFailed(this.validateMessages)},this.getForm=()=>({useSubscribe:this.useSubscribe,getFields:this.getFields,getField:this.getField,getFieldValue:this.getFieldValue,getFieldsValue:this.getFieldsValue,setFieldsValue:this.setFieldsValue,setInitialValues:this.setInitialValues,submit:this.submit,reset:this.reset,getInternalHooks:this.getInternalHooks,getFieldsError:this.getFieldsError}),this.forceRootUpdate=e}}const ae=e=>{const i=t(),[,o]=n({});return i.current||(i.current=e||new oe(o).getForm()),[i.current]},ce=i(e=>{const{options:t=[],value:n,onChange:i,vlidate:o,fieldId:a,disabled:c,direction:s="column",justify:r="flex-start",icon:l="check-circle-filled"}=e;return m(u,Object.assign({className:D(H("radio"),H("radio-direction-"+s),{[H("radio-justify-"+r)]:"row"===s})},{children:t.map(e=>C(u,Object.assign({className:D(H("radio-item"),{[H("radio-item__disabled")]:c||e.disabled}),onClick:()=>{var t;c||e.disabled||(t=e.id,(o&&o(t)||!o&&!c)&&t!==n&&i&&i(t,a))}},{children:[n===e.id?m(Z,{type:l,className:D(H("radio-item-checkbox"),{[H("radio-item-checkbox__disabled")]:c||e.disabled,[H("radio-item-checkbox__checked")]:!0})}):m(Z,{type:"uncheck-circle-outlined",className:D(H("radio-item-checkbox"),{[H("radio-item-checkbox__disabled")]:c||e.disabled})}),m(p,Object.assign({className:H("radio-item-text")},{children:e.name}))]}),e.id))}))}),se=o({readonly:!1,disabled:!1,validateFirst:!1,layout:"horizontal",textAlign:"right",locale:"zh-cn",language:ne,formInstance:{}}),re=new Map([["multiSelector",(e,t=[],n)=>t?t.map((t,i)=>{const o=e[i][t];return B(o)?o[n]:o}):null],["selector",(e,t,n)=>{const i=e[t];return B(i)?i[n]:i}]]),le=new Map([["multiSelector",(e,t=[],n,i)=>t?t.map((t,o)=>{const a=e[o].find(e=>e[i]===t);return B(a)?a[n]:a}):null],["selector",(e,t,n,i)=>{const o=e.find(e=>e[i]===t);return B(o)?o[n]:o}]]),de=new Map([["region",(e,t)=>t||[]],["date",(e,t)=>t||""],["time",(e,t)=>t||"00:00"],["multiSelector",(e,t,n)=>t?t.map((t,i)=>{let o=0;return e[i].forEach((e,i)=>{(B(e)&&e[n]===t||e===t)&&(o=i)}),o}):[]],["selector",(e,t,n)=>{let i=0;return e.forEach((e,o)=>{(B(e)&&e[n]===t||e===t)&&(i=o)}),String(i)}]]),me=i(e=>{const{icon:t="right-outlined",placeholder:n,disabled:i=!1,value:o,vlidate:c,mode:s="date",fieldId:r,start:l,end:d,fields:p="day",range:y=[],formatValue:h,rangeKey:g="name",valueKey:b="id",layout:f,onColumnChange:O}=e,{textAlign:j}=a(se),x=(Array.isArray(o)&&o.length||["string","number"].includes(typeof o))&&o;return m(u,Object.assign({className:H("picker")},{children:m(v,Object.assign({disabled:i,range:y,mode:s,onChange:t=>{if(c&&c(t.detail.value)||!c){const n=()=>re.has(s)&&re.get(s)(y,t.detail.value,b)||t.detail.value;e.onChange&&e.onChange(n(),r)}},value:de.has(s)&&de.get(s)(y,o,b),start:l,end:d,fields:p,onColumnChange:O,rangeKey:"object"==typeof y[0]?g:""},{children:C(u,Object.assign({style:"vertical"===f?{justifyContent:"space-between"}:"right"==j?{justifyContent:"flex-end"}:{},className:H("picker-item")},{children:[C(u,x?Object.assign({className:D(H("picker-item-value"),{[H("picker-item__disabled")]:i})},{children:[e.addonBefore,h&&h(o)||le.has(s)&&le.get(s)(y,o,g,b)||o,e.addonAfter]}):Object.assign({className:H("picker-placeholder")},{children:[e.addonPlaceholderBefore,n,e.addonPlaceholderAfter]})),!i&&"none"!==t&&m(Z,{className:H("picker-icon"),type:t})]}))}))}))}),Ce=i(e=>{const{value:t,onChange:n,vlidate:i,onBlur:o,addonBefore:a,addonAfter:c,type:s="text",fieldId:r,disabled:l,placeholderClass:d}=e,p=R(e,["value","onChange","vlidate","onBlur","addonBefore","addonAfter","type","fieldId","disabled","placeholderClass"]),y=D(H("input"),{[H("input-main__disabled")]:l});return C(u,Object.assign({className:y},{children:[a?m(u,Object.assign({className:H("input-addonBefore")},{children:a})):null,m(h,Object.assign({disabled:l,type:s,onInput:e=>{const{detail:{value:o}}=e;(i&&i(o)||!i)&&o!==t&&n&&n(o,r)},onBlur:e=>{const{detail:{value:t}}=e;(i&&i(t)||!i)&&o&&o(t,r)},value:t,className:H("input-main"),placeholderClass:D(H("input-placeholder"),d)},p)),c?m(u,Object.assign({className:H("input-addonAfter")},{children:c})):null]}))}),pe=e.memo(e=>{const{value:t,onChange:n,vlidate:i,fieldId:o,onBlur:a,line:c=4,disabled:s,placeholderClass:r,style:l,className:d}=e,C=R(e,["value","onChange","vlidate","fieldId","onBlur","line","disabled","placeholderClass","style","className"]),p=D(H("textarea"),{[H("textarea-main__disabled")]:s});return m(u,Object.assign({className:p},{children:m(g,Object.assign({disabled:s,onInput:e=>{const{detail:{value:a}}=e;(i&&i(a)||!i)&&a!==t&&n&&n(a,o)},onBlur:e=>{const{detail:{value:t}}=e;(i&&i(t)||!i)&&a&&a(t,o)},value:t,placeholderClass:D(H("textarea-placeholder"),r),className:D(H("textarea-main"),d)},C,{style:Object.assign(Object.assign({},l),{height:1.5*c*14+"px"})}))}))}),ue={url:"url",id:"file_id",type:"file_type"},ye=i(e=>{const{disabled:i,value:o="",borderType:r="dashed",showAdd:l=!0,showDelete:d=!0,maxCount:y=9,mode:v="aspectFit",className:h,addonAfter:g,onUpload:f,onGetfile:O,fileConfig:j,dataFormat:x,showErrorMessage:k=!0,valueType:N="string"}=e,{language:F=ne}=a(se),[I,P]=n([]),E=t(!1),S=t(o),V=c(()=>A(j,ue),[j]);s(()=>{if(!E.current&&S.current&&O){E.current=!0;(async()=>{const e="string"===N&&"string"==typeof o?o.split(","):o,t=await e.reduce(async(e,t)=>{const n=await e.then(),i=await O(t).catch(()=>({[V.id]:"",[V.url]:""}));return x?n.push(x(i)):n.push({id:i[V.id],type:i[V.type],url:i[V.url]}),Promise.resolve(n)},Promise.resolve([]));P(t)})()}},[o,O,V,x,E,N]);const _=e=>{const t=e.map(e=>e.id);return N===typeof o?t.toString():t},$=D(H("image-picker-item"));return C(u,Object.assign({className:D(H("image-picker"),h)},{children:[I.map((t,n)=>m(u,Object.assign({className:$},{children:C(u,Object.assign({className:D(H("image-picker-content"),H("image-picker-content__"+r))},{children:[!i&&d&&m(Z,{type:"close-filled",className:H("image-picker-content-delete"),onClick:()=>(t=>{const{onChange:n}=e,i=[...I];i.splice(t,1),P(i),n&&n(_(i))})(n)}),t.url?m(b,{className:H("image-picker-content-img"),src:t.url,mode:v,onClick:n=>{n.stopPropagation(),(t=>{const{onPreview:n}=e;n&&n(),w({current:t,urls:[t]}).catch(()=>{U(F.components.imagePicker.previewError)})})(t.url)}}):null]}))}),`${t.id}-${n}`)),!i&&l&&I.length<y?m(u,Object.assign({className:$},{children:m(u,Object.assign({className:D(H("image-picker-content"),H("image-picker-content__"+r))},{children:C(u,Object.assign({className:H("image-picker-content-wrap"),onClick:async()=>{const{onChange:t}=e,{data:n,error:i}=await z({count:1,sourceType:["camera","album"],sizeType:["original","compressed"]});if(i){const{errMsg:e=""}=i;if("chooseImage:fail cancel"===e)return;U(e)}const{tempFilePaths:[o]}=n;if(!o)return console.log("chooseImage api success but tempFilePaths is empty!"),U(F.components.imagePicker.chooseImageError);if(f){L(F.components.imagePicker.loading);const e=await f(o).finally(()=>{T()}).catch(({message:e=F.components.imagePicker.uploadError})=>{k&&U(e)});if(e){const n=[...I,{id:e[V.id],type:e[V.type],url:e[V.url]||o}];P(n),t&&t(_(n))}}}},{children:[m(Z,{type:"camera-add-filled",className:H("image-picker-content-add")}),m(p,Object.assign({className:H("image-picker-content-add-text")},{children:F.components.imagePicker.add}))]}))}))})):null,g]}))}),ve=i(e=>{const{fieldId:t,onChange:n}=e,i=R(e,["fieldId","onChange"]);return m(u,Object.assign({className:H("upload")},{children:m(ye,Object.assign({},i,{onChange:e=>{n&&n(e,t)}}))}))}),he=e.createContext(null),ge=e.memo(t=>{const{children:n,label:i,disabled:o,checked:a=!1,onChange:c,icon:s="check-circle-filled"}=t,r=e.useContext(he);return C(u,Object.assign({className:D(H("checkbox"),{[H("checkbox__disabled")]:o}),onClick:()=>{o||((null==r?void 0:r.onToggle)&&r.onToggle(Object.assign({},t)),c&&c(!a))}},{children:[m(Z,a?{type:s,className:D(H("checkbox-checkbox"),{[H("checkbox-checkbox__disabled")]:o,[H("checkbox-checkbox__checked")]:!0})}:{type:"uncheck-circle-outlined",className:D(H("checkbox-checkbox"),{[H("checkbox-checkbox__disabled")]:o})}),i&&m(p,Object.assign({className:H("checkbox-text")},{children:i})),n]}))}),be=e.memo(e=>{const{options:t=[],value:n=[],onChange:i,vlidate:o,fieldId:a,disabled:c,max:s=0,direction:r="column",justify:l="flex-start",icon:d="check-circle-filled",children:p}=e,y=e=>{(o&&o(e)||!o&&!c)&&i&&i(e,a)},v={value:n,disabled:c,name:a,onToggle:e=>{const t=n.indexOf(e.value),i=[...n];-1===t?0!==s?i.length+1<=s&&i.push(e.value):i.push(e.value):i.splice(t,1),y(i)},max:s};return m(u,Object.assign({className:D(H("checkbox-group"),H("checkbox-group-direction-"+r),{[H("checkbox-group-justify-"+l)]:"row"===r})},{children:C(he.Provider,Object.assign({value:v},{children:[t&&t.map(e=>m(ge,{checked:null==n?void 0:n.includes(e.id),className:e.className,style:e.style,disabled:c||e.disabled,value:e.id,label:e.name,icon:d},`${e.name}-${e.id}`)),p]}))}))}),fe=new Map([["TEXT",e=>m(u,{children:e.value})],["INPUT",e=>m(Ce,Object.assign({},e))],["PICKER",e=>m(me,Object.assign({},e))],["RADIO",e=>m(ce,Object.assign({},e))],["TEXTAREA",e=>m(pe,Object.assign({},e))],["UPLOAD",e=>m(ve,Object.assign({},e))],["CHECKBOX",e=>m(be,Object.assign({},e))]]),Oe=i(i=>{const{initialValue:o,children:c,type:l,label:d,name:y,rules:v,render:h,componentProps:g,shouldUpdate:b,isShow:O,layout:j}=i,[,x]=n({}),{textAlign:k,formInstance:N,layout:F="horizontal",readonly:I,disabled:w}=a(se),T=t({touched:!1,shouldUpdate:void 0!==O||b,rules:v,name:y,label:d,initialValue:o,onStoreChange:x}),{setFieldsValue:P,getInternalHooks:E,getFieldValue:S}=N,{registerField:V}=E(ie),_=j||F;s(()=>{let e=()=>{};return e=V(T.current),()=>{e()}},[V]);const $=r(e=>y?A({disabled:w||I,value:S(y)||o,layout:_,onChange:t=>{P({[y]:t}),e&&e(t)}},Object.assign({},g)):Object.assign(Object.assign({disabled:w||I},g),{layout:_}),[y,g,S,P,w,I,_]);let M=m(p,{children:"not support this type"});e.isValidElement(c)?M=e.cloneElement(c,A($(c.props.onChange),c.props)):fe.has(l)&&(M=fe.get(l)($(null==g?void 0:g.onChange)));const R=v&&v.find(e=>"function"==typeof e.required?e.required():!!e.required);return _?C(f,Object.assign({className:D(H("forms-layout"),H("forms-layout-"+_)),for:y},{children:[d?m(u,Object.assign({className:D(H(`forms-layout-${_}-name`),{[H("forms-layout-name__required")]:R,[H("forms-layout-name")]:!0})},{children:m(u,Object.assign({className:H("forms-layout-name-text")},{children:d}))})):null,m(u,Object.assign({style:"horizontal"===_?{textAlign:k}:{},className:H("forms-layout-value"),id:y},{children:"function"==typeof c?c(N):h?h(N):M}))]})):M}),je=e=>{const{isShow:t,dependences:n}=e,{formInstance:i}=a(se),{getFieldsValue:o,getFieldValue:c}=i,s=o();if(!1===t||"function"==typeof t&&!t({getFieldsValue:o,getFieldValue:c}))return null;if("string"==typeof n&&!s[n])return null;if("function"==typeof n&&!n({getFieldsValue:o,getFieldValue:c}))return null;if(B(n)&&!n.value.test(s[n.name]))return null;if(Array.isArray(n)){if(!n.every(e=>"string"==typeof e?!!s[e]:B(e)?!!e.value.test(s[e.name]):(console.warn("依赖的数组项不正确, 请修改为 (string | { name: string; value: RegExp })[]"),!1)))return null}return e.name||e.label?m(Oe,Object.assign({},e)):"function"==typeof e.children?e.children(i):e.children},xe=t=>{const{children:n}=t,{formInstance:i}=a(se),{submit:o,reset:c}=i,s=t=>e.isValidElement(t)?e.cloneElement(t):Array.isArray(t)?t.map(t=>{if(e.isValidElement(t)){const{props:n}=t;return"submit"===n.formType?e.cloneElement(t,Object.assign(Object.assign({},n),{onClick:()=>{n.onClick&&n.onClick(),o&&o()}})):"reset"===n.formType?e.cloneElement(t,Object.assign(Object.assign({},n),{onClick:()=>{n.onClick&&n.onClick(),c&&c()}})):e.cloneElement(t)}return Array.isArray(t)?s(t):B(t)?m(je,Object.assign({},t)):void 0}):void 0;return m(l,{children:s(n)})},ke=new Map([["zh-cn",ne],["en",{components:{form:{reset:"Reset",cancel:"Cancel",submit:"Submit",requiredError:" is required",validatorError:" check failed"},imagePicker:{add:"Add Image",previewError:"Image preview failed, please try again later!",chooseImageError:"Failed to get the picture, please select again or take a picture!",loading:"Uploading...",uploadError:"upload failed"}}}]]),Ne=t=>{if(e.isValidElement(t)){const{props:e}=t;return!!["submit","reset"].includes(e.formType)}if(Array.isArray(t))return t.some(t=>{if(e.isValidElement(t)){const{props:e}=t;return!!["submit","reset"].includes(e.formType)}return Array.isArray(t)?Ne(t):!B(t)&&void 0})},Fe=e.forwardRef((e,t)=>{const{filterInitialValues:n=!0,readonly:i,layout:o="horizontal",textAlign:a="right",locale:r="zh-cn",fields:l=[],submitter:y,onValuesChange:v,initialValues:h={},disabled:g,onFinish:b,onFinishFailed:f,children:x,form:k,loading:N=!1,loadingIcon:F=m(p,{}),className:I,style:w}=e,[T]=ae(k),{getInternalHooks:P,submit:E,reset:S}=T,{setCallbacks:A,setInitialValues:V,setConfigs:_}=P(ie);d(t,()=>T);const $=ke.get(r);s(()=>{A({onFinish:b,onFinishFailed:f,onValuesChange:v}),_({disabled:g,readonly:i,layout:o,textAlign:a,locale:r,language:$,filterInitialValues:n})},[g,_,b,f,v,i,o,a,r,$,A,n]),N||V(h);const M=c(()=>x?m(xe,{children:x}):l?m(xe,{children:l}):void 0,[l,x]),R=c(()=>{if(i)return null;if(null===y)return y;if("function"==typeof y)return y({onSubmit:E,onReset:S});if(x&&Ne(x))return null;if(!y)return m(O,{children:m(ee,Object.assign({block:!0,onClick:E},{children:null==$?void 0:$.components.form.submit}))});const{resetButton:e,cancelButton:t,submitButton:n={},render:o}=y;return o?o({onSubmit:E,onReset:S}):C(O,{children:[e&&m(ee,Object.assign({block:!0,formType:"reset"},e,{onClick:S},{children:B(e)&&e.text||(null==$?void 0:$.components.form.reset)})),t&&m(ee,Object.assign({block:!0},t,{children:B(t)&&t.text||(null==$?void 0:$.components.form.cancel)})),m(ee,Object.assign({block:!0,formType:"submit"},n,{onClick:E},{children:B(n)&&n.text||(null==$?void 0:$.components.form.submit)}))]})},[y,$,E,S,i,x]),q=c(()=>({readonly:i,layout:o,disabled:g,textAlign:a,locale:r,language:$,formInstance:T}),[i,o,g,a,r,$,T]);return!1===N?m(u,Object.assign({className:H("forms")},{children:m(se.Provider,Object.assign({value:q},{children:C(j,Object.assign({className:D(H("form"),I),style:w},{children:[M,R]}))}))})):F});Fe.Field=je,Fe.Fields=xe,Fe.useForm=ae,Fe.formContext=se;const Ie=[{provinceCode:"110000",name:"北京市",CityTaxFullInfos:[{cityCode:"110100",name:"北京市",provinceCode:"110000"}]},{provinceCode:"120000",name:"天津市",CityTaxFullInfos:[{cityCode:"120100",name:"天津市",provinceCode:"120000"}]},{provinceCode:"130000",name:"河北省",CityTaxFullInfos:[{cityCode:"130100",name:"石家庄市",provinceCode:"130000"},{cityCode:"130200",name:"唐山市",provinceCode:"130000"},{cityCode:"130300",name:"秦皇岛市",provinceCode:"130000"},{cityCode:"130400",name:"邯郸市",provinceCode:"130000"},{cityCode:"130500",name:"邢台市",provinceCode:"130000"},{cityCode:"130600",name:"保定市",provinceCode:"130000"},{cityCode:"130700",name:"张家口市",provinceCode:"130000"},{cityCode:"130800",name:"承德市",provinceCode:"130000"},{cityCode:"130900",name:"沧州市",provinceCode:"130000"},{cityCode:"131000",name:"廊坊市",provinceCode:"130000"},{cityCode:"131100",name:"衡水市",provinceCode:"130000"}]},{provinceCode:"140000",name:"山西省",CityTaxFullInfos:[{cityCode:"140100",name:"太原市",provinceCode:"140000"},{cityCode:"140200",name:"大同市",provinceCode:"140000"},{cityCode:"140300",name:"阳泉市",provinceCode:"140000"},{cityCode:"140400",name:"长治市",provinceCode:"140000"},{cityCode:"140500",name:"晋城市",provinceCode:"140000"},{cityCode:"140600",name:"朔州市",provinceCode:"140000"},{cityCode:"140700",name:"晋中市",provinceCode:"140000"},{cityCode:"140800",name:"运城市",provinceCode:"140000"},{cityCode:"140900",name:"忻州市",provinceCode:"140000"},{cityCode:"141000",name:"临汾市",provinceCode:"140000"},{cityCode:"141100",name:"吕梁市",provinceCode:"140000"}]},{provinceCode:"150000",name:"内蒙古自治区",CityTaxFullInfos:[{cityCode:"150100",name:"呼和浩特市",provinceCode:"150000"},{cityCode:"150200",name:"包头市",provinceCode:"150000"},{cityCode:"150300",name:"乌海市",provinceCode:"150000"},{cityCode:"150400",name:"赤峰市",provinceCode:"150000"},{cityCode:"150500",name:"通辽市",provinceCode:"150000"},{cityCode:"150600",name:"鄂尔多斯市",provinceCode:"150000"},{cityCode:"150700",name:"呼伦贝尔市",provinceCode:"150000"},{cityCode:"150800",name:"巴彦淖尔市",provinceCode:"150000"},{cityCode:"150900",name:"乌兰察布市",provinceCode:"150000"},{cityCode:"152200",name:"兴安盟",provinceCode:"150000"},{cityCode:"152500",name:"锡林郭勒盟",provinceCode:"150000"},{cityCode:"152900",name:"阿拉善盟",provinceCode:"150000"}]},{provinceCode:"210000",name:"辽宁省",CityTaxFullInfos:[{cityCode:"210100",name:"沈阳市",provinceCode:"210000"},{cityCode:"210200",name:"大连市",provinceCode:"210000"},{cityCode:"210300",name:"鞍山市",provinceCode:"210000"},{cityCode:"210400",name:"抚顺市",provinceCode:"210000"},{cityCode:"210500",name:"本溪市",provinceCode:"210000"},{cityCode:"210600",name:"丹东市",provinceCode:"210000"},{cityCode:"210700",name:"锦州市",provinceCode:"210000"},{cityCode:"210800",name:"营口市",provinceCode:"210000"},{cityCode:"210900",name:"阜新市",provinceCode:"210000"},{cityCode:"211000",name:"辽阳市",provinceCode:"210000"},{cityCode:"211100",name:"盘锦市",provinceCode:"210000"},{cityCode:"211200",name:"铁岭市",provinceCode:"210000"},{cityCode:"211300",name:"朝阳市",provinceCode:"210000"},{cityCode:"211400",name:"葫芦岛市",provinceCode:"210000"}]},{provinceCode:"220000",name:"吉林省",CityTaxFullInfos:[{cityCode:"220100",name:"长春市",provinceCode:"220000"},{cityCode:"220200",name:"吉林市",provinceCode:"220000"},{cityCode:"220300",name:"四平市",provinceCode:"220000"},{cityCode:"220400",name:"辽源市",provinceCode:"220000"},{cityCode:"220500",name:"通化市",provinceCode:"220000"},{cityCode:"220600",name:"白山市",provinceCode:"220000"},{cityCode:"220700",name:"松原市",provinceCode:"220000"},{cityCode:"220800",name:"白城市",provinceCode:"220000"},{cityCode:"222400",name:"延边朝鲜族自治州",provinceCode:"220000"}]},{provinceCode:"230000",name:"黑龙江省",CityTaxFullInfos:[{cityCode:"230100",name:"哈尔滨市",provinceCode:"230000"},{cityCode:"230200",name:"齐齐哈尔市",provinceCode:"230000"},{cityCode:"230300",name:"鸡西市",provinceCode:"230000"},{cityCode:"230400",name:"鹤岗市",provinceCode:"230000"},{cityCode:"230500",name:"双鸭山市",provinceCode:"230000"},{cityCode:"230600",name:"大庆市",provinceCode:"230000"},{cityCode:"230700",name:"伊春市",provinceCode:"230000"},{cityCode:"230800",name:"佳木斯市",provinceCode:"230000"},{cityCode:"230900",name:"七台河市",provinceCode:"230000"},{cityCode:"231000",name:"牡丹江市",provinceCode:"230000"},{cityCode:"231100",name:"黑河市",provinceCode:"230000"},{cityCode:"231200",name:"绥化市",provinceCode:"230000"},{cityCode:"232700",name:"大兴安岭地区",provinceCode:"230000"}]},{provinceCode:"310000",name:"上海市",CityTaxFullInfos:[{cityCode:"310100",name:"上海市",provinceCode:"310000"}]},{provinceCode:"320000",name:"江苏省",CityTaxFullInfos:[{cityCode:"320100",name:"南京市",provinceCode:"320000"},{cityCode:"320200",name:"无锡市",provinceCode:"320000"},{cityCode:"320300",name:"徐州市",provinceCode:"320000"},{cityCode:"320400",name:"常州市",provinceCode:"320000"},{cityCode:"320500",name:"苏州市",provinceCode:"320000"},{cityCode:"320600",name:"南通市",provinceCode:"320000"},{cityCode:"320700",name:"连云港市",provinceCode:"320000"},{cityCode:"320800",name:"淮安市",provinceCode:"320000"},{cityCode:"320900",name:"盐城市",provinceCode:"320000"},{cityCode:"321000",name:"扬州市",provinceCode:"320000"},{cityCode:"321100",name:"镇江市",provinceCode:"320000"},{cityCode:"321200",name:"泰州市",provinceCode:"320000"},{cityCode:"321300",name:"宿迁市",provinceCode:"320000"}]},{provinceCode:"330000",name:"浙江省",CityTaxFullInfos:[{cityCode:"330100",name:"杭州市",provinceCode:"330000"},{cityCode:"330200",name:"宁波市",provinceCode:"330000"},{cityCode:"330300",name:"温州市",provinceCode:"330000"},{cityCode:"330400",name:"嘉兴市",provinceCode:"330000"},{cityCode:"330500",name:"湖州市",provinceCode:"330000"},{cityCode:"330600",name:"绍兴市",provinceCode:"330000"},{cityCode:"330700",name:"金华市",provinceCode:"330000"},{cityCode:"330800",name:"衢州市",provinceCode:"330000"},{cityCode:"330900",name:"舟山市",provinceCode:"330000"},{cityCode:"331000",name:"台州市",provinceCode:"330000"},{cityCode:"331100",name:"丽水市",provinceCode:"330000"}]},{provinceCode:"340000",name:"安徽省",CityTaxFullInfos:[{cityCode:"340100",name:"合肥市",provinceCode:"340000"},{cityCode:"340200",name:"芜湖市",provinceCode:"340000"},{cityCode:"340300",name:"蚌埠市",provinceCode:"340000"},{cityCode:"340400",name:"淮南市",provinceCode:"340000"},{cityCode:"340500",name:"马鞍山市",provinceCode:"340000"},{cityCode:"340600",name:"淮北市",provinceCode:"340000"},{cityCode:"340700",name:"铜陵市",provinceCode:"340000"},{cityCode:"340800",name:"安庆市",provinceCode:"340000"},{cityCode:"341000",name:"黄山市",provinceCode:"340000"},{cityCode:"341100",name:"滁州市",provinceCode:"340000"},{cityCode:"341200",name:"阜阳市",provinceCode:"340000"},{cityCode:"341300",name:"宿州市",provinceCode:"340000"},{cityCode:"341500",name:"六安市",provinceCode:"340000"},{cityCode:"341600",name:"亳州市",provinceCode:"340000"},{cityCode:"341700",name:"池州市",provinceCode:"340000"},{cityCode:"341800",name:"宣城市",provinceCode:"340000"}]},{provinceCode:"350000",name:"福建省",CityTaxFullInfos:[{cityCode:"350100",name:"福州市",provinceCode:"350000"},{cityCode:"350200",name:"厦门市",provinceCode:"350000"},{cityCode:"350300",name:"莆田市",provinceCode:"350000"},{cityCode:"350400",name:"三明市",provinceCode:"350000"},{cityCode:"350500",name:"泉州市",provinceCode:"350000"},{cityCode:"350600",name:"漳州市",provinceCode:"350000"},{cityCode:"350700",name:"南平市",provinceCode:"350000"},{cityCode:"350800",name:"龙岩市",provinceCode:"350000"},{cityCode:"350900",name:"宁德市",provinceCode:"350000"}]},{provinceCode:"360000",name:"江西省",CityTaxFullInfos:[{cityCode:"360100",name:"南昌市",provinceCode:"360000"},{cityCode:"360200",name:"景德镇市",provinceCode:"360000"},{cityCode:"360300",name:"萍乡市",provinceCode:"360000"},{cityCode:"360400",name:"九江市",provinceCode:"360000"},{cityCode:"360500",name:"新余市",provinceCode:"360000"},{cityCode:"360600",name:"鹰潭市",provinceCode:"360000"},{cityCode:"360700",name:"赣州市",provinceCode:"360000"},{cityCode:"360800",name:"吉安市",provinceCode:"360000"},{cityCode:"360900",name:"宜春市",provinceCode:"360000"},{cityCode:"361000",name:"抚州市",provinceCode:"360000"},{cityCode:"361100",name:"上饶市",provinceCode:"360000"}]},{provinceCode:"370000",name:"山东省",CityTaxFullInfos:[{cityCode:"370100",name:"济南市",provinceCode:"370000"},{cityCode:"370200",name:"青岛市",provinceCode:"370000"},{cityCode:"370300",name:"淄博市",provinceCode:"370000"},{cityCode:"370400",name:"枣庄市",provinceCode:"370000"},{cityCode:"370500",name:"东营市",provinceCode:"370000"},{cityCode:"370600",name:"烟台市",provinceCode:"370000"},{cityCode:"370700",name:"潍坊市",provinceCode:"370000"},{cityCode:"370800",name:"济宁市",provinceCode:"370000"},{cityCode:"370900",name:"泰安市",provinceCode:"370000"},{cityCode:"371000",name:"威海市",provinceCode:"370000"},{cityCode:"371100",name:"日照市",provinceCode:"370000"},{cityCode:"371200",name:"莱芜市",provinceCode:"370000"},{cityCode:"371300",name:"临沂市",provinceCode:"370000"},{cityCode:"371400",name:"德州市",provinceCode:"370000"},{cityCode:"371500",name:"聊城市",provinceCode:"370000"},{cityCode:"371600",name:"滨州市",provinceCode:"370000"},{cityCode:"371700",name:"菏泽市",provinceCode:"370000"}]},{provinceCode:"410000",name:"河南省",CityTaxFullInfos:[{cityCode:"410100",name:"郑州市",provinceCode:"410000"},{cityCode:"410200",name:"开封市",provinceCode:"410000"},{cityCode:"410300",name:"洛阳市",provinceCode:"410000"},{cityCode:"410400",name:"平顶山市",provinceCode:"410000"},{cityCode:"410500",name:"安阳市",provinceCode:"410000"},{cityCode:"410600",name:"鹤壁市",provinceCode:"410000"},{cityCode:"410700",name:"新乡市",provinceCode:"410000"},{cityCode:"410800",name:"焦作市",provinceCode:"410000"},{cityCode:"410900",name:"濮阳市",provinceCode:"410000"},{cityCode:"411000",name:"许昌市",provinceCode:"410000"},{cityCode:"411100",name:"漯河市",provinceCode:"410000"},{cityCode:"411200",name:"三门峡市",provinceCode:"410000"},{cityCode:"411300",name:"南阳市",provinceCode:"410000"},{cityCode:"411400",name:"商丘市",provinceCode:"410000"},{cityCode:"411500",name:"信阳市",provinceCode:"410000"},{cityCode:"411600",name:"周口市",provinceCode:"410000"},{cityCode:"411700",name:"驻马店市",provinceCode:"410000"}]},{provinceCode:"420000",name:"湖北省",CityTaxFullInfos:[{cityCode:"420100",name:"武汉市",provinceCode:"420000"},{cityCode:"420200",name:"黄石市",provinceCode:"420000"},{cityCode:"420300",name:"十堰市",provinceCode:"420000"},{cityCode:"420500",name:"宜昌市",provinceCode:"420000"},{cityCode:"420600",name:"襄阳市",provinceCode:"420000"},{cityCode:"420700",name:"鄂州市",provinceCode:"420000"},{cityCode:"420800",name:"荆门市",provinceCode:"420000"},{cityCode:"420900",name:"孝感市",provinceCode:"420000"},{cityCode:"421000",name:"荆州市",provinceCode:"420000"},{cityCode:"421100",name:"黄冈市",provinceCode:"420000"},{cityCode:"421200",name:"咸宁市",provinceCode:"420000"},{cityCode:"421300",name:"随州市",provinceCode:"420000"},{cityCode:"422800",name:"恩施土家族苗族自治州",provinceCode:"420000"}]},{provinceCode:"430000",name:"湖南省",CityTaxFullInfos:[{cityCode:"430100",name:"长沙市",provinceCode:"430000"},{cityCode:"430200",name:"株洲市",provinceCode:"430000"},{cityCode:"430300",name:"湘潭市",provinceCode:"430000"},{cityCode:"430400",name:"衡阳市",provinceCode:"430000"},{cityCode:"430500",name:"邵阳市",provinceCode:"430000"},{cityCode:"430600",name:"岳阳市",provinceCode:"430000"},{cityCode:"430700",name:"常德市",provinceCode:"430000"},{cityCode:"430800",name:"张家界市",provinceCode:"430000"},{cityCode:"430900",name:"益阳市",provinceCode:"430000"},{cityCode:"431000",name:"郴州市",provinceCode:"430000"},{cityCode:"431100",name:"永州市",provinceCode:"430000"},{cityCode:"431200",name:"怀化市",provinceCode:"430000"},{cityCode:"431300",name:"娄底市",provinceCode:"430000"},{cityCode:"433100",name:"湘西土家族苗族自治州",provinceCode:"430000"}]},{provinceCode:"440000",name:"广东省",CityTaxFullInfos:[{cityCode:"440100",name:"广州市",provinceCode:"440000"},{cityCode:"440200",name:"韶关市",provinceCode:"440000"},{cityCode:"440300",name:"深圳市",provinceCode:"440000"},{cityCode:"440400",name:"珠海市",provinceCode:"440000"},{cityCode:"440500",name:"汕头市",provinceCode:"440000"},{cityCode:"440600",name:"佛山市",provinceCode:"440000"},{cityCode:"440700",name:"江门市",provinceCode:"440000"},{cityCode:"440800",name:"湛江市",provinceCode:"440000"},{cityCode:"440900",name:"茂名市",provinceCode:"440000"},{cityCode:"441200",name:"肇庆市",provinceCode:"440000"},{cityCode:"441300",name:"惠州市",provinceCode:"440000"},{cityCode:"441400",name:"梅州市",provinceCode:"440000"},{cityCode:"441500",name:"汕尾市",provinceCode:"440000"},{cityCode:"441600",name:"河源市",provinceCode:"440000"},{cityCode:"441700",name:"阳江市",provinceCode:"440000"},{cityCode:"441800",name:"清远市",provinceCode:"440000"},{cityCode:"441900",name:"东莞市",provinceCode:"440000"},{cityCode:"442000",name:"中山市",provinceCode:"440000"},{cityCode:"445100",name:"潮州市",provinceCode:"440000"},{cityCode:"445200",name:"揭阳市",provinceCode:"440000"},{cityCode:"445300",name:"云浮市",provinceCode:"440000"}]},{provinceCode:"450000",name:"广西壮族自治区",CityTaxFullInfos:[{cityCode:"450100",name:"南宁市",provinceCode:"450000"},{cityCode:"450200",name:"柳州市",provinceCode:"450000"},{cityCode:"450300",name:"桂林市",provinceCode:"450000"},{cityCode:"450400",name:"梧州市",provinceCode:"450000"},{cityCode:"450500",name:"北海市",provinceCode:"450000"},{cityCode:"450600",name:"防城港市",provinceCode:"450000"},{cityCode:"450700",name:"钦州市",provinceCode:"450000"},{cityCode:"450800",name:"贵港市",provinceCode:"450000"},{cityCode:"450900",name:"玉林市",provinceCode:"450000"},{cityCode:"451000",name:"百色市",provinceCode:"450000"},{cityCode:"451100",name:"贺州市",provinceCode:"450000"},{cityCode:"451200",name:"河池市",provinceCode:"450000"},{cityCode:"451300",name:"来宾市",provinceCode:"450000"},{cityCode:"451400",name:"崇左市",provinceCode:"450000"}]},{provinceCode:"460000",name:"海南省",CityTaxFullInfos:[{cityCode:"460100",name:"海口市",provinceCode:"460000"},{cityCode:"460200",name:"三亚市",provinceCode:"460000"},{cityCode:"460300",name:"三沙市",provinceCode:"460000"},{cityCode:"460400",name:"儋州市",provinceCode:"460000"}]},{provinceCode:"500000",name:"重庆市",CityTaxFullInfos:[{cityCode:"500100",name:"重庆市",provinceCode:"500000"}]},{provinceCode:"510000",name:"四川省",CityTaxFullInfos:[{cityCode:"510100",name:"成都市",provinceCode:"510000"},{cityCode:"510300",name:"自贡市",provinceCode:"510000"},{cityCode:"510400",name:"攀枝花市",provinceCode:"510000"},{cityCode:"510500",name:"泸州市",provinceCode:"510000"},{cityCode:"510600",name:"德阳市",provinceCode:"510000"},{cityCode:"510700",name:"绵阳市",provinceCode:"510000"},{cityCode:"510800",name:"广元市",provinceCode:"510000"},{cityCode:"510900",name:"遂宁市",provinceCode:"510000"},{cityCode:"511000",name:"内江市",provinceCode:"510000"},{cityCode:"511100",name:"乐山市",provinceCode:"510000"},{cityCode:"511300",name:"南充市",provinceCode:"510000"},{cityCode:"511400",name:"眉山市",provinceCode:"510000"},{cityCode:"511500",name:"宜宾市",provinceCode:"510000"},{cityCode:"511600",name:"广安市",provinceCode:"510000"},{cityCode:"511700",name:"达州市",provinceCode:"510000"},{cityCode:"511800",name:"雅安市",provinceCode:"510000"},{cityCode:"511900",name:"巴中市",provinceCode:"510000"},{cityCode:"512000",name:"资阳市",provinceCode:"510000"},{cityCode:"513200",name:"阿坝藏族羌族自治州",provinceCode:"510000"},{cityCode:"513300",name:"甘孜藏族自治州",provinceCode:"510000"},{cityCode:"513400",name:"凉山彝族自治州",provinceCode:"510000"}]},{provinceCode:"520000",name:"贵州省",CityTaxFullInfos:[{cityCode:"520100",name:"贵阳市",provinceCode:"520000"},{cityCode:"520200",name:"六盘水市",provinceCode:"520000"},{cityCode:"520300",name:"遵义市",provinceCode:"520000"},{cityCode:"520400",name:"安顺市",provinceCode:"520000"},{cityCode:"520500",name:"毕节市",provinceCode:"520000"},{cityCode:"520600",name:"铜仁市",provinceCode:"520000"},{cityCode:"522300",name:"黔西南布依族苗族自治州",provinceCode:"520000"},{cityCode:"522600",name:"黔东南苗族侗族自治州",provinceCode:"520000"},{cityCode:"522700",name:"黔南布依族苗族自治州",provinceCode:"520000"}]},{provinceCode:"530000",name:"云南省",CityTaxFullInfos:[{cityCode:"530100",name:"昆明市",provinceCode:"530000"},{cityCode:"530300",name:"曲靖市",provinceCode:"530000"},{cityCode:"530400",name:"玉溪市",provinceCode:"530000"},{cityCode:"530500",name:"保山市",provinceCode:"530000"},{cityCode:"530600",name:"昭通市",provinceCode:"530000"},{cityCode:"530700",name:"丽江市",provinceCode:"530000"},{cityCode:"530800",name:"普洱市",provinceCode:"530000"},{cityCode:"530900",name:"临沧市",provinceCode:"530000"}]},{provinceCode:"540000",name:"西藏自治区",CityTaxFullInfos:[{cityCode:"540100",name:"拉萨市",provinceCode:"540000"}]},{provinceCode:"610000",name:"陕西省",CityTaxFullInfos:[{cityCode:"610100",name:"西安市",provinceCode:"610000"},{cityCode:"610200",name:"铜川市",provinceCode:"610000"},{cityCode:"610300",name:"宝鸡市",provinceCode:"610000"},{cityCode:"610400",name:"咸阳市",provinceCode:"610000"},{cityCode:"610500",name:"渭南市",provinceCode:"610000"},{cityCode:"610600",name:"延安市",provinceCode:"610000"},{cityCode:"610700",name:"汉中市",provinceCode:"610000"},{cityCode:"610800",name:"榆林市",provinceCode:"610000"},{cityCode:"610900",name:"安康市",provinceCode:"610000"},{cityCode:"611000",name:"商洛市",provinceCode:"610000"}]},{provinceCode:"620000",name:"甘肃省",CityTaxFullInfos:[{cityCode:"620100",name:"兰州市",provinceCode:"620000"},{cityCode:"620200",name:"嘉峪关市",provinceCode:"620000"},{cityCode:"620300",name:"金昌市",provinceCode:"620000"},{cityCode:"620400",name:"白银市",provinceCode:"620000"},{cityCode:"620500",name:"天水市",provinceCode:"620000"},{cityCode:"620600",name:"武威市",provinceCode:"620000"},{cityCode:"620700",name:"张掖市",provinceCode:"620000"},{cityCode:"620800",name:"平凉市",provinceCode:"620000"},{cityCode:"620900",name:"酒泉市",provinceCode:"620000"},{cityCode:"621000",name:"庆阳市",provinceCode:"620000"},{cityCode:"621100",name:"定西市",provinceCode:"620000"},{cityCode:"621200",name:"陇南市",provinceCode:"620000"}]},{provinceCode:"630000",name:"青海省",CityTaxFullInfos:[{cityCode:"630100",name:"西宁市",provinceCode:"630000"},{cityCode:"630200",name:"海东市",provinceCode:"630000"}]},{provinceCode:"640000",name:"宁夏回族自治区",CityTaxFullInfos:[{cityCode:"640100",name:"银川市",provinceCode:"640000"},{cityCode:"640200",name:"石嘴山市",provinceCode:"640000"},{cityCode:"640300",name:"吴忠市",provinceCode:"640000"},{cityCode:"640400",name:"固原市",provinceCode:"640000"},{cityCode:"640500",name:"中卫市",provinceCode:"640000"}]},{provinceCode:"650000",name:"新疆维吾尔自治区",CityTaxFullInfos:[{cityCode:"650100",name:"乌鲁木齐市",provinceCode:"650000"},{cityCode:"650200",name:"克拉玛依市",provinceCode:"650000"},{cityCode:"650400",name:"吐鲁番市",provinceCode:"650000"},{cityCode:"650500",name:"哈密市",provinceCode:"650000"}]}];class we extends e.PureComponent{constructor(){super(...arguments),this.state={range:[],v:[0,0]},this.handleColumnChange=e=>{const{column:t,value:n}=e.detail;if(0!==t)return;const i=Ie,o=i[n].CityTaxFullInfos;console.log([i,o])},this.handleChange=e=>{const[t,n]=e.detail.value,i=Number(n)||0;this.setState({v:[t,i]});const{range:[o=[],a=[]]}=this.state;a[i].cityCode!==this.props.value&&this.props.onChange({province:o[t],city:a[i]})}}componentDidMount(){this.resolveState(this.props.value)}componentWillReceiveProps(e){e.value!==this.props.value&&this.resolveState(e.value)}resolveState(e){const t=Ie;let n=0,i=0;e:for(n=t.length;n>0;n--){const o=t[n-1].CityTaxFullInfos;for(i=o.length;i>0;i--){if(o[i-1].cityCode===e){n--,i--;break e}}}this.setState({range:[t,t[n].CityTaxFullInfos],v:[n,i]});const o=t[n].CityTaxFullInfos[Number(i)||0];this.props.onPreview&&this.props.onPreview({province:t[n],city:o}),o.cityCode!==e&&this.props.onChange({province:t[n],city:o})}render(){const{disabled:e=!1,className:t}=this.props,{range:n,v:i}=this.state;return m(v,Object.assign({disabled:e,className:t,mode:"multiSelector",rangeKey:"name",range:n,value:i,onColumnChange:this.handleColumnChange,onChange:this.handleChange},{children:this.props.children}))}}const Te=60;class Pe extends e.PureComponent{constructor(e){super(e),this.intervalTimerId=void 0,this.countDown=()=>{this.intervalTimerId=setInterval(()=>{if(1===this.state.delay)return clearInterval(this.intervalTimerId),void this.setState(()=>({delay:this.props.delay||Te,buttonDisableStatus:!1}));this.setState(e=>({delay:e.delay-1,buttonDisableStatus:!0}))},1e3)},this.handleClick=async e=>{const{buttonDisableStatus:t}=this.state,{onClick:n,delay:i=Te}=this.props;if(t)e.preventDefault();else if(n)try{await n(),this.setState(()=>({delay:i,buttonDisableStatus:!0}),()=>{clearInterval(this.intervalTimerId),this.countDown()})}catch(e){}};const{delay:t=Te}=this.props;this.state={delay:t,buttonDisableStatus:!1}}async componentDidMount(){const{mode:e,auto:t}=this.props;("auto"===e||t)&&this.countDown()}componentWillUnmount(){clearInterval(this.intervalTimerId)}render(){const e=this.props,{textInterpolate:t,text:n,children:i}=e,o=R(e,["textInterpolate","text","children"]),{buttonDisableStatus:a}=this.state,c=Object.assign(Object.assign({},o),{disabled:a,onClick:this.handleClick}),s=a?V(t,Object.assign(Object.assign({},this.props),this.state)):n||i;return m(u,Object.assign({className:H("countdown-button")},{children:m(ee,Object.assign({},c,{children:s}))}))}}Pe.defaultProps={block:!0,delay:Te,type:"link",text:"发送",textInterpolate:"{{delay}} s"};const Ee=t=>{const{quantity:n=6,onInput:i,onComplete:o,style:a,className:c}=t,s=e.useRef(),r=e.useRef(Math.random().toString(32).slice(2)),[{formatCodes:l,placeholder:d,focus:p},y]=e.useState({formatCodes:[],placeholder:Array(n).fill(""),focus:!1}),v=()=>{p||(s.current&&s.current.firstChild&&s.current.firstChild.focus?s.current.firstChild.focus():s.current&&s.current.focus&&s.current.focus(),y(e=>Object.assign(Object.assign({},e),{focus:!0})))};return e.useEffect(()=>{t.focus&&setTimeout(()=>{v()},100)},[t.focus]),m(u,Object.assign({className:D(H("verify-code"),c),style:a},{children:m(u,Object.assign({style:{width:"100%"}},{children:C(f,Object.assign({for:r.current,onClick:v},{children:[m(h,{ref:s,className:H("verify-code-input"),onInput:e=>{const{value:t}=e.detail,a=String(t).split("");if(!(a.length>n))return i&&i(t),y(e=>Object.assign(Object.assign({},e),{formatCodes:a})),a.length===n?(s.current&&s.current.firstChild&&s.current.firstChild.blur?s.current.firstChild.blur():s.current&&s.current.blur&&s.current.blur(),o&&o(t)):void 0},onFocus:v,onBlur:()=>{y(e=>Object.assign(Object.assign({},e),{focus:!1}))},maxlength:n,type:"number",adjustPosition:!1,id:r.current}),m(u,Object.assign({className:H("verify-code-label")},{children:d.map((e,t)=>m(u,Object.assign({className:D(H("verify-code-view"),{focus:p&&(l.length===t||t+1===n&&l.length===n),cursor:p&&l.length===t})},{children:l[t]}),`${e}-${t}`))}))]}))}))}))},Se=e.memo(e=>{const{title:t,subtitle:n,children:i}=e;return C(u,Object.assign({className:H("title")},{children:[m(p,Object.assign({className:H("title-title")},{children:t})),n&&m(p,Object.assign({className:H("title-subtitle")},{children:n})),i]}))}),Ae={account:Symbol("account"),verifyCode:Symbol("verifyCode")},Ve={titleProps:{title:"欢迎登录",subtitle:""},formProps:{},fieldsProps:[{type:"INPUT",name:"id",label:"",componentProps:{placeholder:"请输入登录名"},rules:[{required:!0,message:"请输入登录名"}]},{type:"INPUT",name:"password",label:"",componentProps:{password:!0,placeholder:"请输入密码"},rules:[{required:!0,message:"请输入密码"}]}],buttonProps:{async:!0,disabled:!1,children:"确定"}},_e={verifyCodeKey:"verifyCode",autoComplete:!1,titleProps:{title:"验证码",subtitle:"验证码已发送至 "},verifyCodeProps:{quantity:6},countDownButtonProps:{style:{margin:"16px 0"},delay:5,auto:!0,type:"link",text:"重新发送",textInterpolate:"{{delay}}s 后重新发送",async:!0},buttonProps:{block:!0,children:"提交",async:!0}},$e=e.memo(t=>{const{pageConfig:{account:n={},verifyCode:i={}}={},onFinish:o,onFinishFailed:a,onSubmit:c,disabled:s=!1,onChangeStatusSuccess:r}=t,l=e.useRef({}),[d]=Fe.useForm();Object.keys(d.getFieldsValue()).length&&(l.current=d.getFieldsValue());const[p,y]=e.useState(!1),[v,h]=e.useState(""),g=e.useMemo(()=>A(n,Ve),[n]),b=e.useMemo(()=>A({verifyCodeProps:{onInput:e=>{h(e)}},countDownButtonProps:{onClick:()=>o(l.current)}},i,_e),[o,i]),[f,O]=e.useState(Ae.account);return b.autoComplete&&!b.verifyCodeProps.onComplete&&(b.verifyCodeProps.onComplete=e=>c(Object.assign({[i.verifyCodeKey]:e},l.current))),C(u,Object.assign({style:Object.assign(Object.assign({},J("form-layout-padding-right","0px")),J("form-layout-padding-left","0px"))},{children:[f===Ae.account&&C(u,{children:[m(Se,Object.assign({},g.titleProps)),m(Fe,Object.assign({form:d,textAlign:"left",onFinish:async e=>{try{y(!0),await o(e),O(Ae.verifyCode),r&&r(Ae.verifyCode)}catch(e){}finally{y(!1)}},onFinishFailed:a,submitter:{submitButton:{async:!0,loading:p,text:g.buttonProps.children,disabled:!g.fieldsProps.every(e=>l.current[e.name]&&!s)}}},{children:g.fieldsProps}))]}),f===Ae.verifyCode&&C(u,{children:[m(Se,Object.assign({},b.titleProps)),C(u,Object.assign({style:J("verify-code-label-padding","0px")},{children:[m(Ee,Object.assign({},b.verifyCodeProps)),m(Pe,Object.assign({},b.countDownButtonProps)),!b.autoComplete&&m(ee,Object.assign({},b.buttonProps,{disabled:!(v.length===b.verifyCodeProps.quantity),onClick:()=>c(Object.assign({verifyCode:v},l.current))}))]}))]})]}))}),Me=e.createContext({}),De=t=>{const{current:n,animated:i}=e.useContext(Me),o=n.key===t.$$key;return m(u,Object.assign({className:D(H("tabs-pane"),{[H("tabs-pane__inactive")]:!o,[H("tabs-pane__active")]:o,[H("tabs-pane__animated")]:i})},{children:t.children}))},Re="auto";function Be(t){const{activeKey:n,children:i,animated:o=!0,sticky:a=!1,onChange:c,height:s=Re,right:r}=t,l=e.useRef(n||i&&i[0].key),d=e.useRef(Array.isArray(i)&&i.reduce((e,t,n)=>t.key===l.current?n:e,0)||0),[p,y]=e.useState({key:l.current,index:d.current,left:0});e.useEffect(()=>{setTimeout(()=>{P().selectAll(".y-taro-ui-tabs-titles-item").boundingClientRect().exec(([e])=>{const{left:t,width:n}=e[d.current]||{};y(e=>Object.assign(Object.assign({},e),{left:t?t+n/2-9:0}))})},0)},[d]);const v=e.Children.map(i,({props:e,type:t,key:n},i)=>{if(t===De){const t=n===p.key;return m(u,Object.assign({className:D(H("tabs-titles-item"),H("tabs-titles-item-"+i),{active:t}),id:"tabs-titles-item-"+i,onClick:e=>{t||P().select("#"+e.target.id).boundingClientRect().exec(([{left:t,width:o}])=>{const a={key:n,index:i,left:(e.target.offsetLeft||t)+o/2-9};y(a),c&&c(a)})}},{children:e.title}),n)}});return m(Me.Provider,Object.assign({value:{current:p,animated:o}},{children:C(u,Object.assign({className:D(H("tabs"),{[H("tabs__sticky")]:s!==Re}),style:{height:s}},{children:[!!v.length&&C(u,Object.assign({className:D(H("tabs-titles"),{[H("tabs-titles__sticky")]:a,[H("tabs-titles__right")]:r})},{children:[m(u,Object.assign({className:D(H("tabs-titles-items"))},{children:v})),m(u,Object.assign({className:D(H("tabs-titles-right"))},{children:r})),m(u,{className:D(H("tabs-titles-item__active")),style:{left:p.left+"PX"}})]})),m(u,Object.assign({className:D(H("tabs-main-wrap"))},{children:m(u,Object.assign({className:D(H("tabs-main"),{[H("tabs-main__animated")]:o,[H("tabs-main__sticky")]:a}),style:{marginLeft:`-${100*p.index}%`}},{children:e.Children.map(t.children,t=>e.cloneElement(t,{$$key:t.key}))}))}))]}))}))}Be.TabPane=De;const qe=H("internal-css-transition"),ze=e.memo(e=>{const{style:t,mountOnEnter:n=!0,timeout:i=300,placement:o,unmountOnExit:a=!0}=e,c=R(e,["style","mountOnEnter","timeout","placement","unmountOnExit"]);return m(_,Object.assign({},c,{mountOnEnter:n,unmountOnExit:a,timeout:i,classNames:(s=o,{appear:`${qe}-${s}-appear`,appearActive:`${qe}-${s}-active-appear`,appearDone:`${qe}-${s}-done-appear`,enter:`${qe}-${s}-enter`,enterActive:`${qe}-${s}-active-enter`,enterDone:`${qe}-${s}-done-enter`,exit:`${qe}-${s}-exit`,exitActive:`${qe}-${s}-active-exit`,exitDone:`${qe}-${s}-done-exit`})}));var s}),Ue=e.createContext({visable:!1,onClose:()=>{}}),Ke=e.memo(t=>{const{style:n,className:i,timeout:o=300,maskClosable:a=!0,children:c,visable:s,onClose:r}=t,l=R(t,["style","className","timeout","maskClosable","children","visable","onClose"]),{visable:d,onClose:C,duration:p}=e.useContext(Ue),y=e.useCallback(()=>{a&&(null==C||C(),null==r||r())},[a]);return m(ze,Object.assign({},l,{in:d||s,timeout:o,placement:"fade"},{children:m(u,Object.assign({style:Object.assign(Object.assign({},n),J("animation-durationr",p+"s")),className:D(H("back-drop"),i),onClick:y,catchMove:!0,onTouchMove:Y},{children:m(u,Object.assign({catchMove:!0,onClick:W,onTouchMove:Y},{children:c}))}))}))}),Le="WEAPP"===N.getEnv(),We=e.memo(e=>{const{style:t,className:n,visable:i,placement:o="bottom",onClose:a=(()=>{}),duration:c=.3,children:s,title:r,closable:l,maskClosable:d,destroyOnClose:p=!1,closeIcon:y=m(Z,{type:"close"}),catchMove:v=!0,contentStyle:h,contentClassName:g}=e,b=R(e,["style","className","visable","placement","onClose","duration","children","title","closable","maskClosable","destroyOnClose","closeIcon","catchMove","contentStyle","contentClassName"]