Compare commits
4 Commits
Author | SHA1 | Date |
---|---|---|
|
7036768ed7 | 3 weeks ago |
|
046247d526 | 3 weeks ago |
|
5b2538e47b | 3 weeks ago |
|
d66792316c | 3 weeks ago |
@ -0,0 +1,28 @@ |
|||||||
|
{ |
||||||
|
"$schema":"https://json.schemastore.org/prettierrc.json", |
||||||
|
"printWidth": 120, |
||||||
|
"tabWidth": 2, |
||||||
|
"useTabs": false, |
||||||
|
"semi": true, |
||||||
|
"singleQuote": false, |
||||||
|
"bracketSpacing": true, |
||||||
|
"trailingComma": "all", |
||||||
|
"arrowParens": "always", |
||||||
|
"endOfLine": "auto", |
||||||
|
"htmlWhitespaceSensitivity": "ignore", |
||||||
|
"singleAttributePerLine": false, |
||||||
|
"overrides": [ |
||||||
|
{ |
||||||
|
"files": "*.wxml", |
||||||
|
"options": { "parser": "html" } |
||||||
|
}, |
||||||
|
{ |
||||||
|
"files": "*.wxss", |
||||||
|
"options": { "parser": "css" } |
||||||
|
}, |
||||||
|
{ |
||||||
|
"files": "*.wxs", |
||||||
|
"options": { "parser": "babel" } |
||||||
|
} |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,8 @@ |
|||||||
|
# Change to the src/images directory, or exit if the directory doesn't exist |
||||||
|
Set-Location -Path ./src/images/ -ErrorAction Stop |
||||||
|
|
||||||
|
# Add all files to svn, including ignored files and forced additions |
||||||
|
svn add . --no-ignore --force |
||||||
|
|
||||||
|
# Commit the changes with a message |
||||||
|
svn ci -m "update" |
@ -1,18 +1,11 @@ |
|||||||
// app.ts
|
// app.ts
|
||||||
|
import page from "@/utils/page"; |
||||||
|
|
||||||
App<IAppOption>({ |
App<IAppOption>({ |
||||||
globalData: {}, |
globalData: { |
||||||
|
imageUrl: "https://m.wtx.hbraas.com/demo/web/images/", |
||||||
|
}, |
||||||
onLaunch() { |
onLaunch() { |
||||||
// 展示本地存储能力
|
Page = page as WechatMiniprogram.Page.Constructor; |
||||||
const logs = wx.getStorageSync('logs') || [] |
|
||||||
logs.unshift(Date.now()) |
|
||||||
wx.setStorageSync('logs', logs) |
|
||||||
|
|
||||||
// 登录
|
|
||||||
wx.login({ |
|
||||||
success: res => { |
|
||||||
console.log(res.code) |
|
||||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
|
||||||
}, |
|
||||||
}) |
|
||||||
}, |
}, |
||||||
}) |
}); |
||||||
|
After Width: | Height: | Size: 720 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 365 KiB |
After Width: | Height: | Size: 338 KiB |
After Width: | Height: | Size: 823 KiB |
After Width: | Height: | Size: 328 KiB |
After Width: | Height: | Size: 516 KiB |
After Width: | Height: | Size: 277 KiB |
After Width: | Height: | Size: 646 KiB |
After Width: | Height: | Size: 473 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 118 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 121 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 402 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 121 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 156 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 178 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 438 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 350 KiB |
After Width: | Height: | Size: 443 KiB |
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 427 KiB |
After Width: | Height: | Size: 348 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 408 KiB |
After Width: | Height: | Size: 411 KiB |
After Width: | Height: | Size: 317 KiB |
After Width: | Height: | Size: 238 KiB |
After Width: | Height: | Size: 213 KiB |
After Width: | Height: | Size: 246 KiB |
After Width: | Height: | Size: 582 KiB |
After Width: | Height: | Size: 246 KiB |
After Width: | Height: | Size: 327 KiB |
After Width: | Height: | Size: 365 KiB |
After Width: | Height: | Size: 418 KiB |
After Width: | Height: | Size: 234 KiB |
After Width: | Height: | Size: 715 B |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 8.8 KiB |
@ -0,0 +1 @@ |
|||||||
|
export {}; |
@ -0,0 +1,78 @@ |
|||||||
|
"use strict"; |
||||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||||
|
var component_1 = require("../common/component"); |
||||||
|
var button_1 = require("../mixins/button"); |
||||||
|
(0, component_1.VantComponent)({ |
||||||
|
classes: ['list-class'], |
||||||
|
mixins: [button_1.button], |
||||||
|
props: { |
||||||
|
show: Boolean, |
||||||
|
title: String, |
||||||
|
cancelText: String, |
||||||
|
description: String, |
||||||
|
round: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, |
||||||
|
zIndex: { |
||||||
|
type: Number, |
||||||
|
value: 100, |
||||||
|
}, |
||||||
|
actions: { |
||||||
|
type: Array, |
||||||
|
value: [], |
||||||
|
}, |
||||||
|
overlay: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, |
||||||
|
closeOnClickOverlay: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, |
||||||
|
closeOnClickAction: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, |
||||||
|
safeAreaInsetBottom: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, |
||||||
|
rootPortal: { |
||||||
|
type: Boolean, |
||||||
|
value: false, |
||||||
|
}, |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
onSelect: function (event) { |
||||||
|
var _this = this; |
||||||
|
var index = event.currentTarget.dataset.index; |
||||||
|
var _a = this.data, actions = _a.actions, closeOnClickAction = _a.closeOnClickAction, canIUseGetUserProfile = _a.canIUseGetUserProfile; |
||||||
|
var item = actions[index]; |
||||||
|
if (item) { |
||||||
|
this.$emit('select', item); |
||||||
|
if (closeOnClickAction) { |
||||||
|
this.onClose(); |
||||||
|
} |
||||||
|
if (item.openType === 'getUserInfo' && canIUseGetUserProfile) { |
||||||
|
wx.getUserProfile({ |
||||||
|
desc: item.getUserProfileDesc || ' ', |
||||||
|
complete: function (userProfile) { |
||||||
|
_this.$emit('getuserinfo', userProfile); |
||||||
|
}, |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
onCancel: function () { |
||||||
|
this.$emit('cancel'); |
||||||
|
}, |
||||||
|
onClose: function () { |
||||||
|
this.$emit('close'); |
||||||
|
}, |
||||||
|
onClickOverlay: function () { |
||||||
|
this.$emit('click-overlay'); |
||||||
|
this.onClose(); |
||||||
|
}, |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,8 @@ |
|||||||
|
{ |
||||||
|
"component": true, |
||||||
|
"usingComponents": { |
||||||
|
"van-icon": "../icon/index", |
||||||
|
"van-popup": "../popup/index", |
||||||
|
"van-loading": "../loading/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
<wxs src="../wxs/utils.wxs" module="utils" /> |
||||||
|
|
||||||
|
<van-popup |
||||||
|
show="{{ show }}" |
||||||
|
position="bottom" |
||||||
|
round="{{ round }}" |
||||||
|
z-index="{{ zIndex }}" |
||||||
|
overlay="{{ overlay }}" |
||||||
|
custom-class="van-action-sheet custom-class" |
||||||
|
safe-area-inset-bottom="{{ safeAreaInsetBottom }}" |
||||||
|
close-on-click-overlay="{{ closeOnClickOverlay }}" |
||||||
|
root-portal="{{ rootPortal }}" |
||||||
|
bind:close="onClickOverlay" |
||||||
|
> |
||||||
|
<view wx:if="{{ title }}" class="van-action-sheet__header"> |
||||||
|
{{ title }} |
||||||
|
<van-icon |
||||||
|
name="cross" |
||||||
|
custom-class="van-action-sheet__close" |
||||||
|
bind:click="onClose" |
||||||
|
/> |
||||||
|
</view> |
||||||
|
<view wx:if="{{ description }}" class="van-action-sheet__description van-hairline--bottom"> |
||||||
|
{{ description }} |
||||||
|
</view> |
||||||
|
<view wx:if="{{ actions && actions.length }}" class="list-class"> |
||||||
|
<!-- button外包一层view,防止actions动态变化,导致渲染时button被打散 --> |
||||||
|
<button |
||||||
|
wx:for="{{ actions }}" |
||||||
|
wx:key="index" |
||||||
|
open-type="{{ item.disabled || item.loading || (canIUseGetUserProfile && item.openType === 'getUserInfo') ? '' : item.openType }}" |
||||||
|
style="{{ item.color ? 'color: ' + item.color : '' }}" |
||||||
|
class="{{ utils.bem('action-sheet__item', { disabled: item.disabled || item.loading }) }} {{ item.className || '' }}" |
||||||
|
hover-class="van-action-sheet__item--hover" |
||||||
|
data-index="{{ index }}" |
||||||
|
bindtap="{{ item.disabled || item.loading ? '' : 'onSelect' }}" |
||||||
|
bindgetuserinfo="onGetUserInfo" |
||||||
|
bindcontact="onContact" |
||||||
|
bindgetphonenumber="onGetPhoneNumber" |
||||||
|
binderror="onError" |
||||||
|
bindlaunchapp="onLaunchApp" |
||||||
|
bindopensetting="onOpenSetting" |
||||||
|
lang="{{ lang }}" |
||||||
|
session-from="{{ sessionFrom }}" |
||||||
|
send-message-title="{{ sendMessageTitle }}" |
||||||
|
send-message-path="{{ sendMessagePath }}" |
||||||
|
send-message-img="{{ sendMessageImg }}" |
||||||
|
show-message-card="{{ showMessageCard }}" |
||||||
|
app-parameter="{{ appParameter }}" |
||||||
|
> |
||||||
|
<block wx:if="{{ !item.loading }}"> |
||||||
|
{{ item.name }} |
||||||
|
<view wx:if="{{ item.subname }}" class="van-action-sheet__subname" >{{ item.subname }}</view> |
||||||
|
</block> |
||||||
|
<van-loading wx:else custom-class="van-action-sheet__loading" size="22px" /> |
||||||
|
</button> |
||||||
|
</view> |
||||||
|
<slot /> |
||||||
|
<block wx:if="{{ cancelText }}"> |
||||||
|
<view class="van-action-sheet__gap" /> |
||||||
|
<view |
||||||
|
class="van-action-sheet__cancel" |
||||||
|
hover-class="van-action-sheet__cancel--hover" |
||||||
|
hover-stay-time="70" |
||||||
|
bind:tap="onCancel" |
||||||
|
> |
||||||
|
{{ cancelText }} |
||||||
|
</view> |
||||||
|
</block> |
||||||
|
</van-popup> |
@ -0,0 +1 @@ |
|||||||
|
@import '../common/index.wxss';.van-action-sheet{color:var(--action-sheet-item-text-color,#323233);max-height:var(--action-sheet-max-height,90%)!important}.van-action-sheet__cancel,.van-action-sheet__item{background-color:var(--action-sheet-item-background,#fff);font-size:var(--action-sheet-item-font-size,16px);line-height:var(--action-sheet-item-line-height,22px);padding:14px 16px;text-align:center}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel:after,.van-action-sheet__item:after{border-width:0}.van-action-sheet__cancel{color:var(--action-sheet-cancel-text-color,#646566)}.van-action-sheet__gap{background-color:var(--action-sheet-cancel-padding-color,#f7f8fa);display:block;height:var(--action-sheet-cancel-padding-top,8px)}.van-action-sheet__item--disabled{color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{color:var(--action-sheet-subname-color,#969799);font-size:var(--action-sheet-subname-font-size,12px);line-height:var(--action-sheet-subname-line-height,20px);margin-top:var(--padding-xs,8px)}.van-action-sheet__header{font-size:var(--action-sheet-header-font-size,16px);font-weight:var(--font-weight-bold,500);line-height:var(--action-sheet-header-height,48px);text-align:center}.van-action-sheet__description{color:var(--action-sheet-description-color,#969799);font-size:var(--action-sheet-description-font-size,14px);line-height:var(--action-sheet-description-line-height,20px);padding:20px var(--padding-md,16px);text-align:center}.van-action-sheet__close{color:var(--action-sheet-close-icon-color,#c8c9cc);font-size:var(--action-sheet-close-icon-size,22px)!important;line-height:inherit!important;padding:var(--action-sheet-close-icon-padding,0 16px);position:absolute!important;right:0;top:0}.van-action-sheet__loading{display:flex!important} |
@ -0,0 +1 @@ |
|||||||
|
export {}; |
@ -0,0 +1,235 @@ |
|||||||
|
"use strict"; |
||||||
|
var __assign = (this && this.__assign) || function () { |
||||||
|
__assign = Object.assign || function(t) { |
||||||
|
for (var s, i = 1, n = arguments.length; i < n; i++) { |
||||||
|
s = arguments[i]; |
||||||
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) |
||||||
|
t[p] = s[p]; |
||||||
|
} |
||||||
|
return t; |
||||||
|
}; |
||||||
|
return __assign.apply(this, arguments); |
||||||
|
}; |
||||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||||
|
var component_1 = require("../common/component"); |
||||||
|
var shared_1 = require("../picker/shared"); |
||||||
|
var utils_1 = require("../common/utils"); |
||||||
|
var EMPTY_CODE = '000000'; |
||||||
|
(0, component_1.VantComponent)({ |
||||||
|
classes: ['active-class', 'toolbar-class', 'column-class'], |
||||||
|
props: __assign(__assign({}, shared_1.pickerProps), { showToolbar: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, value: { |
||||||
|
type: String, |
||||||
|
observer: function (value) { |
||||||
|
this.code = value; |
||||||
|
this.setValues(); |
||||||
|
}, |
||||||
|
}, areaList: { |
||||||
|
type: Object, |
||||||
|
value: {}, |
||||||
|
observer: 'setValues', |
||||||
|
}, columnsNum: { |
||||||
|
type: null, |
||||||
|
value: 3, |
||||||
|
}, columnsPlaceholder: { |
||||||
|
type: Array, |
||||||
|
observer: function (val) { |
||||||
|
this.setData({ |
||||||
|
typeToColumnsPlaceholder: { |
||||||
|
province: val[0] || '', |
||||||
|
city: val[1] || '', |
||||||
|
county: val[2] || '', |
||||||
|
}, |
||||||
|
}); |
||||||
|
}, |
||||||
|
} }), |
||||||
|
data: { |
||||||
|
columns: [{ values: [] }, { values: [] }, { values: [] }], |
||||||
|
typeToColumnsPlaceholder: {}, |
||||||
|
}, |
||||||
|
mounted: function () { |
||||||
|
var _this = this; |
||||||
|
(0, utils_1.requestAnimationFrame)(function () { |
||||||
|
_this.setValues(); |
||||||
|
}); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getPicker: function () { |
||||||
|
if (this.picker == null) { |
||||||
|
this.picker = this.selectComponent('.van-area__picker'); |
||||||
|
} |
||||||
|
return this.picker; |
||||||
|
}, |
||||||
|
onCancel: function (event) { |
||||||
|
this.emit('cancel', event.detail); |
||||||
|
}, |
||||||
|
onConfirm: function (event) { |
||||||
|
var index = event.detail.index; |
||||||
|
var value = event.detail.value; |
||||||
|
value = this.parseValues(value); |
||||||
|
this.emit('confirm', { value: value, index: index }); |
||||||
|
}, |
||||||
|
emit: function (type, detail) { |
||||||
|
detail.values = detail.value; |
||||||
|
delete detail.value; |
||||||
|
this.$emit(type, detail); |
||||||
|
}, |
||||||
|
parseValues: function (values) { |
||||||
|
var columnsPlaceholder = this.data.columnsPlaceholder; |
||||||
|
return values.map(function (value, index) { |
||||||
|
if (value && |
||||||
|
(!value.code || value.name === columnsPlaceholder[index])) { |
||||||
|
return __assign(__assign({}, value), { code: '', name: '' }); |
||||||
|
} |
||||||
|
return value; |
||||||
|
}); |
||||||
|
}, |
||||||
|
onChange: function (event) { |
||||||
|
var _this = this; |
||||||
|
var _a; |
||||||
|
var _b = event.detail, index = _b.index, picker = _b.picker, value = _b.value; |
||||||
|
this.code = value[index].code; |
||||||
|
(_a = this.setValues()) === null || _a === void 0 ? void 0 : _a.then(function () { |
||||||
|
_this.$emit('change', { |
||||||
|
picker: picker, |
||||||
|
values: _this.parseValues(picker.getValues()), |
||||||
|
index: index, |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
getConfig: function (type) { |
||||||
|
var areaList = this.data.areaList; |
||||||
|
return (areaList && areaList["".concat(type, "_list")]) || {}; |
||||||
|
}, |
||||||
|
getList: function (type, code) { |
||||||
|
if (type !== 'province' && !code) { |
||||||
|
return []; |
||||||
|
} |
||||||
|
var typeToColumnsPlaceholder = this.data.typeToColumnsPlaceholder; |
||||||
|
var list = this.getConfig(type); |
||||||
|
var result = Object.keys(list).map(function (code) { return ({ |
||||||
|
code: code, |
||||||
|
name: list[code], |
||||||
|
}); }); |
||||||
|
if (code != null) { |
||||||
|
// oversea code
|
||||||
|
if (code[0] === '9' && type === 'city') { |
||||||
|
code = '9'; |
||||||
|
} |
||||||
|
result = result.filter(function (item) { return item.code.indexOf(code) === 0; }); |
||||||
|
} |
||||||
|
if (typeToColumnsPlaceholder[type] && result.length) { |
||||||
|
// set columns placeholder
|
||||||
|
var codeFill = type === 'province' |
||||||
|
? '' |
||||||
|
: type === 'city' |
||||||
|
? EMPTY_CODE.slice(2, 4) |
||||||
|
: EMPTY_CODE.slice(4, 6); |
||||||
|
result.unshift({ |
||||||
|
code: "".concat(code).concat(codeFill), |
||||||
|
name: typeToColumnsPlaceholder[type], |
||||||
|
}); |
||||||
|
} |
||||||
|
return result; |
||||||
|
}, |
||||||
|
getIndex: function (type, code) { |
||||||
|
var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6; |
||||||
|
var list = this.getList(type, code.slice(0, compareNum - 2)); |
||||||
|
// oversea code
|
||||||
|
if (code[0] === '9' && type === 'province') { |
||||||
|
compareNum = 1; |
||||||
|
} |
||||||
|
code = code.slice(0, compareNum); |
||||||
|
for (var i = 0; i < list.length; i++) { |
||||||
|
if (list[i].code.slice(0, compareNum) === code) { |
||||||
|
return i; |
||||||
|
} |
||||||
|
} |
||||||
|
return 0; |
||||||
|
}, |
||||||
|
setValues: function () { |
||||||
|
var picker = this.getPicker(); |
||||||
|
if (!picker) { |
||||||
|
return; |
||||||
|
} |
||||||
|
var code = this.code || this.getDefaultCode(); |
||||||
|
var provinceList = this.getList('province'); |
||||||
|
var cityList = this.getList('city', code.slice(0, 2)); |
||||||
|
var stack = []; |
||||||
|
var indexes = []; |
||||||
|
var columnsNum = this.data.columnsNum; |
||||||
|
if (columnsNum >= 1) { |
||||||
|
stack.push(picker.setColumnValues(0, provinceList, false)); |
||||||
|
indexes.push(this.getIndex('province', code)); |
||||||
|
} |
||||||
|
if (columnsNum >= 2) { |
||||||
|
stack.push(picker.setColumnValues(1, cityList, false)); |
||||||
|
indexes.push(this.getIndex('city', code)); |
||||||
|
if (cityList.length && code.slice(2, 4) === '00') { |
||||||
|
code = cityList[0].code; |
||||||
|
} |
||||||
|
} |
||||||
|
if (columnsNum === 3) { |
||||||
|
stack.push(picker.setColumnValues(2, this.getList('county', code.slice(0, 4)), false)); |
||||||
|
indexes.push(this.getIndex('county', code)); |
||||||
|
} |
||||||
|
return Promise.all(stack) |
||||||
|
.catch(function () { }) |
||||||
|
.then(function () { return picker.setIndexes(indexes); }) |
||||||
|
.catch(function () { }); |
||||||
|
}, |
||||||
|
getDefaultCode: function () { |
||||||
|
var columnsPlaceholder = this.data.columnsPlaceholder; |
||||||
|
if (columnsPlaceholder.length) { |
||||||
|
return EMPTY_CODE; |
||||||
|
} |
||||||
|
var countyCodes = Object.keys(this.getConfig('county')); |
||||||
|
if (countyCodes[0]) { |
||||||
|
return countyCodes[0]; |
||||||
|
} |
||||||
|
var cityCodes = Object.keys(this.getConfig('city')); |
||||||
|
if (cityCodes[0]) { |
||||||
|
return cityCodes[0]; |
||||||
|
} |
||||||
|
return ''; |
||||||
|
}, |
||||||
|
getValues: function () { |
||||||
|
var picker = this.getPicker(); |
||||||
|
if (!picker) { |
||||||
|
return []; |
||||||
|
} |
||||||
|
return this.parseValues(picker.getValues().filter(function (value) { return !!value; })); |
||||||
|
}, |
||||||
|
getDetail: function () { |
||||||
|
var values = this.getValues(); |
||||||
|
var area = { |
||||||
|
code: '', |
||||||
|
country: '', |
||||||
|
province: '', |
||||||
|
city: '', |
||||||
|
county: '', |
||||||
|
}; |
||||||
|
if (!values.length) { |
||||||
|
return area; |
||||||
|
} |
||||||
|
var names = values.map(function (item) { return item.name; }); |
||||||
|
area.code = values[values.length - 1].code; |
||||||
|
if (area.code[0] === '9') { |
||||||
|
area.country = names[1] || ''; |
||||||
|
area.province = names[2] || ''; |
||||||
|
} |
||||||
|
else { |
||||||
|
area.province = names[0] || ''; |
||||||
|
area.city = names[1] || ''; |
||||||
|
area.county = names[2] || ''; |
||||||
|
} |
||||||
|
return area; |
||||||
|
}, |
||||||
|
reset: function (code) { |
||||||
|
this.code = code || ''; |
||||||
|
return this.setValues(); |
||||||
|
}, |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,6 @@ |
|||||||
|
{ |
||||||
|
"component": true, |
||||||
|
"usingComponents": { |
||||||
|
"van-picker": "../picker/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
<wxs src="./index.wxs" module="computed" /> |
||||||
|
|
||||||
|
<van-picker |
||||||
|
class="van-area__picker" |
||||||
|
active-class="active-class" |
||||||
|
toolbar-class="toolbar-class" |
||||||
|
column-class="column-class" |
||||||
|
show-toolbar="{{ showToolbar }}" |
||||||
|
value-key="name" |
||||||
|
title="{{ title }}" |
||||||
|
loading="{{ loading }}" |
||||||
|
columns="{{ computed.displayColumns(columns, columnsNum) }}" |
||||||
|
item-height="{{ itemHeight }}" |
||||||
|
visible-item-count="{{ visibleItemCount }}" |
||||||
|
cancel-button-text="{{ cancelButtonText }}" |
||||||
|
confirm-button-text="{{ confirmButtonText }}" |
||||||
|
bind:change="onChange" |
||||||
|
bind:confirm="onConfirm" |
||||||
|
bind:cancel="onCancel" |
||||||
|
/> |
@ -0,0 +1,8 @@ |
|||||||
|
/* eslint-disable */ |
||||||
|
function displayColumns(columns, columnsNum) { |
||||||
|
return columns.slice(0, +columnsNum); |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
displayColumns: displayColumns, |
||||||
|
}; |
@ -0,0 +1 @@ |
|||||||
|
@import '../common/index.wxss'; |
@ -0,0 +1 @@ |
|||||||
|
export {}; |
@ -0,0 +1,67 @@ |
|||||||
|
"use strict"; |
||||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||||
|
var component_1 = require("../common/component"); |
||||||
|
var button_1 = require("../mixins/button"); |
||||||
|
var version_1 = require("../common/version"); |
||||||
|
var mixins = [button_1.button]; |
||||||
|
if ((0, version_1.canIUseFormFieldButton)()) { |
||||||
|
mixins.push('wx://form-field-button'); |
||||||
|
} |
||||||
|
(0, component_1.VantComponent)({ |
||||||
|
mixins: mixins, |
||||||
|
classes: ['hover-class', 'loading-class'], |
||||||
|
data: { |
||||||
|
baseStyle: '', |
||||||
|
}, |
||||||
|
props: { |
||||||
|
formType: String, |
||||||
|
icon: String, |
||||||
|
classPrefix: { |
||||||
|
type: String, |
||||||
|
value: 'van-icon', |
||||||
|
}, |
||||||
|
plain: Boolean, |
||||||
|
block: Boolean, |
||||||
|
round: Boolean, |
||||||
|
square: Boolean, |
||||||
|
loading: Boolean, |
||||||
|
hairline: Boolean, |
||||||
|
disabled: Boolean, |
||||||
|
loadingText: String, |
||||||
|
customStyle: String, |
||||||
|
loadingType: { |
||||||
|
type: String, |
||||||
|
value: 'circular', |
||||||
|
}, |
||||||
|
type: { |
||||||
|
type: String, |
||||||
|
value: 'default', |
||||||
|
}, |
||||||
|
dataset: null, |
||||||
|
size: { |
||||||
|
type: String, |
||||||
|
value: 'normal', |
||||||
|
}, |
||||||
|
loadingSize: { |
||||||
|
type: String, |
||||||
|
value: '20px', |
||||||
|
}, |
||||||
|
color: String, |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
onClick: function (event) { |
||||||
|
var _this = this; |
||||||
|
this.$emit('click', event); |
||||||
|
var _a = this.data, canIUseGetUserProfile = _a.canIUseGetUserProfile, openType = _a.openType, getUserProfileDesc = _a.getUserProfileDesc, lang = _a.lang; |
||||||
|
if (openType === 'getUserInfo' && canIUseGetUserProfile) { |
||||||
|
wx.getUserProfile({ |
||||||
|
desc: getUserProfileDesc || ' ', |
||||||
|
lang: lang || 'en', |
||||||
|
complete: function (userProfile) { |
||||||
|
_this.$emit('getuserinfo', userProfile); |
||||||
|
}, |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"component": true, |
||||||
|
"usingComponents": { |
||||||
|
"van-icon": "../icon/index", |
||||||
|
"van-loading": "../loading/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
<wxs src="../wxs/utils.wxs" module="utils" /> |
||||||
|
<wxs src="./index.wxs" module="computed" /> |
||||||
|
|
||||||
|
<button |
||||||
|
id="{{ id || buttonId }}" |
||||||
|
data-detail="{{ dataset }}" |
||||||
|
class="custom-class {{ utils.bem('button', [type, size, { block, round, plain, square, loading, disabled, hairline, unclickable: disabled || loading }]) }} {{ hairline ? 'van-hairline--surround' : '' }}" |
||||||
|
hover-class="{{ disabled || loading ? '' : 'van-button--active hover-class'}}" |
||||||
|
lang="{{ lang }}" |
||||||
|
form-type="{{ formType }}" |
||||||
|
style="{{ computed.rootStyle({ plain, color, customStyle }) }}" |
||||||
|
open-type="{{ disabled || loading || (canIUseGetUserProfile && openType === 'getUserInfo') ? '' : openType }}" |
||||||
|
business-id="{{ businessId }}" |
||||||
|
session-from="{{ sessionFrom }}" |
||||||
|
send-message-title="{{ sendMessageTitle }}" |
||||||
|
send-message-path="{{ sendMessagePath }}" |
||||||
|
send-message-img="{{ sendMessageImg }}" |
||||||
|
show-message-card="{{ showMessageCard }}" |
||||||
|
app-parameter="{{ appParameter }}" |
||||||
|
aria-label="{{ ariaLabel }}" |
||||||
|
bindtap="{{ disabled || loading ? '' : 'onClick' }}" |
||||||
|
bindgetuserinfo="onGetUserInfo" |
||||||
|
bindcontact="onContact" |
||||||
|
bindgetphonenumber="onGetPhoneNumber" |
||||||
|
bindgetrealtimephonenumber="onGetRealTimePhoneNumber" |
||||||
|
bindagreeprivacyauthorization="onAgreePrivacyAuthorization" |
||||||
|
binderror="onError" |
||||||
|
bindlaunchapp="onLaunchApp" |
||||||
|
bindopensetting="onOpenSetting" |
||||||
|
bindchooseavatar="onChooseAvatar" |
||||||
|
> |
||||||
|
<block wx:if="{{ loading }}"> |
||||||
|
<van-loading |
||||||
|
custom-class="loading-class" |
||||||
|
size="{{ loadingSize }}" |
||||||
|
type="{{ loadingType }}" |
||||||
|
color="{{ computed.loadingColor({ type, color, plain }) }}" |
||||||
|
/> |
||||||
|
<view wx:if="{{ loadingText }}" class="van-button__loading-text"> |
||||||
|
{{ loadingText }} |
||||||
|
</view> |
||||||
|
</block> |
||||||
|
<block wx:else> |
||||||
|
<van-icon |
||||||
|
wx:if="{{ icon }}" |
||||||
|
size="1.2em" |
||||||
|
name="{{ icon }}" |
||||||
|
class-prefix="{{ classPrefix }}" |
||||||
|
class="van-button__icon" |
||||||
|
custom-style="line-height: inherit;" |
||||||
|
/> |
||||||
|
<view class="van-button__text"> |
||||||
|
<slot /> |
||||||
|
</view> |
||||||
|
</block> |
||||||
|
</button> |
@ -0,0 +1,39 @@ |
|||||||
|
/* eslint-disable */ |
||||||
|
var style = require('../wxs/style.wxs'); |
||||||
|
|
||||||
|
function rootStyle(data) { |
||||||
|
if (!data.color) { |
||||||
|
return data.customStyle; |
||||||
|
} |
||||||
|
|
||||||
|
var properties = { |
||||||
|
color: data.plain ? data.color : '#fff', |
||||||
|
background: data.plain ? null : data.color, |
||||||
|
}; |
||||||
|
|
||||||
|
// hide border when color is linear-gradient |
||||||
|
if (data.color.indexOf('gradient') !== -1) { |
||||||
|
properties.border = 0; |
||||||
|
} else { |
||||||
|
properties['border-color'] = data.color; |
||||||
|
} |
||||||
|
|
||||||
|
return style([properties, data.customStyle]); |
||||||
|
} |
||||||
|
|
||||||
|
function loadingColor(data) { |
||||||
|
if (data.plain) { |
||||||
|
return data.color ? data.color : '#c9c9c9'; |
||||||
|
} |
||||||
|
|
||||||
|
if (data.type === 'default') { |
||||||
|
return '#c9c9c9'; |
||||||
|
} |
||||||
|
|
||||||
|
return '#fff'; |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
rootStyle: rootStyle, |
||||||
|
loadingColor: loadingColor, |
||||||
|
}; |
@ -0,0 +1 @@ |
|||||||
|
@import '../common/index.wxss';.van-button{-webkit-text-size-adjust:100%;align-items:center;-webkit-appearance:none;border-radius:var(--button-border-radius,2px);box-sizing:border-box;display:inline-flex;font-size:var(--button-default-font-size,16px);height:var(--button-default-height,44px);justify-content:center;line-height:var(--button-line-height,20px);padding:0;position:relative;text-align:center;transition:opacity .2s;vertical-align:middle}.van-button:before{background-color:#000;border:inherit;border-color:#000;border-radius:inherit;content:" ";height:100%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.van-button:after{border-width:0}.van-button--active:before{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{background:var(--button-default-background-color,#fff);border:var(--button-border-width,1px) solid var(--button-default-border-color,#ebedf0);color:var(--button-default-color,#323233)}.van-button--primary{background:var(--button-primary-background-color,#07c160);border:var(--button-border-width,1px) solid var(--button-primary-border-color,#07c160);color:var(--button-primary-color,#fff)}.van-button--info{background:var(--button-info-background-color,#1989fa);border:var(--button-border-width,1px) solid var(--button-info-border-color,#1989fa);color:var(--button-info-color,#fff)}.van-button--danger{background:var(--button-danger-background-color,#ee0a24);border:var(--button-border-width,1px) solid var(--button-danger-border-color,#ee0a24);color:var(--button-danger-color,#fff)}.van-button--warning{background:var(--button-warning-background-color,#ff976a);border:var(--button-border-width,1px) solid var(--button-warning-border-color,#ff976a);color:var(--button-warning-color,#fff)}.van-button--plain{background:var(--button-plain-background-color,#fff)}.van-button--plain.van-button--primary{color:var(--button-primary-background-color,#07c160)}.van-button--plain.van-button--info{color:var(--button-info-background-color,#1989fa)}.van-button--plain.van-button--danger{color:var(--button-danger-background-color,#ee0a24)}.van-button--plain.van-button--warning{color:var(--button-warning-background-color,#ff976a)}.van-button--large{height:var(--button-large-height,50px);width:100%}.van-button--normal{font-size:var(--button-normal-font-size,14px);padding:0 15px}.van-button--small{font-size:var(--button-small-font-size,12px);height:var(--button-small-height,30px);min-width:var(--button-small-min-width,60px);padding:0 var(--padding-xs,8px)}.van-button--mini{display:inline-block;font-size:var(--button-mini-font-size,10px);height:var(--button-mini-height,22px);min-width:var(--button-mini-min-width,50px)}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:flex;width:100%}.van-button--round{border-radius:var(--button-round-border-radius,999px)}.van-button--square{border-radius:0}.van-button--disabled{opacity:var(--button-disabled-opacity,.5)}.van-button__text{display:inline}.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text{margin-left:4px}.van-button__icon{line-height:inherit!important;min-width:1em;vertical-align:top}.van-button--hairline{border-width:0;padding-top:1px}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--button-border-radius, 2px)*2);border-width:1px}.van-button--hairline.van-button--round:after{border-radius:var(--button-round-border-radius,999px)}.van-button--hairline.van-button--square:after{border-radius:0} |
@ -0,0 +1,70 @@ |
|||||||
|
<wxs src="./index.wxs" module="computed" /> |
||||||
|
<wxs src="../wxs/utils.wxs" module="utils" /> |
||||||
|
<view class="van-calendar"> |
||||||
|
<header |
||||||
|
title="{{ title }}" |
||||||
|
showTitle="{{ showTitle }}" |
||||||
|
subtitle="{{ subtitle }}" |
||||||
|
showSubtitle="{{ showSubtitle }}" |
||||||
|
firstDayOfWeek="{{ firstDayOfWeek }}" |
||||||
|
bind:click-subtitle="onClickSubtitle" |
||||||
|
> |
||||||
|
<slot name="title" slot="title"></slot> |
||||||
|
</header> |
||||||
|
|
||||||
|
<scroll-view |
||||||
|
class="van-calendar__body" |
||||||
|
scroll-y |
||||||
|
scroll-into-view="{{ scrollIntoView }}" |
||||||
|
> |
||||||
|
<month |
||||||
|
wx:for="{{ computed.getMonths(minDate, maxDate) }}" |
||||||
|
wx:key="index" |
||||||
|
id="month{{ index }}" |
||||||
|
class="month" |
||||||
|
data-date="{{ item }}" |
||||||
|
date="{{ item }}" |
||||||
|
type="{{ type }}" |
||||||
|
color="{{ color }}" |
||||||
|
minDate="{{ minDate }}" |
||||||
|
maxDate="{{ maxDate }}" |
||||||
|
showMark="{{ showMark }}" |
||||||
|
formatter="{{ formatter }}" |
||||||
|
rowHeight="{{ rowHeight }}" |
||||||
|
currentDate="{{ currentDate }}" |
||||||
|
showSubtitle="{{ showSubtitle }}" |
||||||
|
allowSameDay="{{ allowSameDay }}" |
||||||
|
showMonthTitle="{{ index !== 0 || !showSubtitle }}" |
||||||
|
firstDayOfWeek="{{ firstDayOfWeek }}" |
||||||
|
bind:click="onClickDay" |
||||||
|
/> |
||||||
|
</scroll-view> |
||||||
|
|
||||||
|
<view |
||||||
|
class="{{ utils.bem('calendar__footer', { safeAreaInsetBottom }) }}" |
||||||
|
> |
||||||
|
<slot name="footer"></slot> |
||||||
|
</view> |
||||||
|
|
||||||
|
<view |
||||||
|
class="{{ utils.bem('calendar__footer', { safeAreaInsetBottom }) }}" |
||||||
|
> |
||||||
|
<van-button |
||||||
|
wx:if="{{ showConfirm }}" |
||||||
|
round |
||||||
|
block |
||||||
|
type="danger" |
||||||
|
color="{{ color }}" |
||||||
|
custom-class="van-calendar__confirm" |
||||||
|
disabled="{{ computed.getButtonDisabled(type, currentDate, minRange) }}" |
||||||
|
nativeType="text" |
||||||
|
bind:click="onConfirm" |
||||||
|
> |
||||||
|
{{ |
||||||
|
computed.getButtonDisabled(type, currentDate, minRange) |
||||||
|
? confirmDisabledText |
||||||
|
: confirmText |
||||||
|
}} |
||||||
|
</van-button> |
||||||
|
</view> |
||||||
|
</view> |
@ -0,0 +1 @@ |
|||||||
|
export {}; |
@ -0,0 +1,45 @@ |
|||||||
|
"use strict"; |
||||||
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { |
||||||
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { |
||||||
|
if (ar || !(i in from)) { |
||||||
|
if (!ar) ar = Array.prototype.slice.call(from, 0, i); |
||||||
|
ar[i] = from[i]; |
||||||
|
} |
||||||
|
} |
||||||
|
return to.concat(ar || Array.prototype.slice.call(from)); |
||||||
|
}; |
||||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||||
|
var component_1 = require("../../../common/component"); |
||||||
|
(0, component_1.VantComponent)({ |
||||||
|
props: { |
||||||
|
title: { |
||||||
|
type: String, |
||||||
|
value: '日期选择', |
||||||
|
}, |
||||||
|
subtitle: String, |
||||||
|
showTitle: Boolean, |
||||||
|
showSubtitle: Boolean, |
||||||
|
firstDayOfWeek: { |
||||||
|
type: Number, |
||||||
|
observer: 'initWeekDay', |
||||||
|
}, |
||||||
|
}, |
||||||
|
data: { |
||||||
|
weekdays: [], |
||||||
|
}, |
||||||
|
created: function () { |
||||||
|
this.initWeekDay(); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
initWeekDay: function () { |
||||||
|
var defaultWeeks = ['日', '一', '二', '三', '四', '五', '六']; |
||||||
|
var firstDayOfWeek = this.data.firstDayOfWeek || 0; |
||||||
|
this.setData({ |
||||||
|
weekdays: __spreadArray(__spreadArray([], defaultWeeks.slice(firstDayOfWeek, 7), true), defaultWeeks.slice(0, firstDayOfWeek), true), |
||||||
|
}); |
||||||
|
}, |
||||||
|
onClickSubtitle: function (event) { |
||||||
|
this.$emit('click-subtitle', event); |
||||||
|
}, |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,3 @@ |
|||||||
|
{ |
||||||
|
"component": true |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
<view class="van-calendar__header"> |
||||||
|
<block wx:if="{{ showTitle }}"> |
||||||
|
<view class="van-calendar__header-title"><slot name="title"></slot></view> |
||||||
|
<view class="van-calendar__header-title">{{ title }}</view> |
||||||
|
</block> |
||||||
|
|
||||||
|
<view wx:if="{{ showSubtitle }}" class="van-calendar__header-subtitle" bind:tap="onClickSubtitle"> |
||||||
|
{{ subtitle }} |
||||||
|
</view> |
||||||
|
|
||||||
|
<view class="van-calendar__weekdays"> |
||||||
|
<view wx:for="{{ weekdays }}" wx:key="index" class="van-calendar__weekday"> |
||||||
|
{{ item }} |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
@ -0,0 +1 @@ |
|||||||
|
@import '../../../common/index.wxss';.van-calendar__header{box-shadow:var(--calendar-header-box-shadow,0 2px 10px hsla(220,1%,50%,.16));flex-shrink:0}.van-calendar__header-subtitle,.van-calendar__header-title{font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__header-title+.van-calendar__header-title,.van-calendar__header-title:empty{display:none}.van-calendar__header-title:empty+.van-calendar__header-title{display:block!important}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--calendar-weekdays-font-size,12px);line-height:var(--calendar-weekdays-height,30px);text-align:center} |
@ -0,0 +1,6 @@ |
|||||||
|
export interface Day { |
||||||
|
date: Date; |
||||||
|
type: string; |
||||||
|
text: number; |
||||||
|
bottomInfo?: string; |
||||||
|
} |