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 @@
@@ -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 @@
@@ -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 @@
@@ -1,18 +1,11 @@
|
||||
// app.ts
|
||||
App<IAppOption>({ |
||||
globalData: {}, |
||||
onLaunch() { |
||||
// 展示本地存储能力
|
||||
const logs = wx.getStorageSync('logs') || [] |
||||
logs.unshift(Date.now()) |
||||
wx.setStorageSync('logs', logs) |
||||
import page from "@/utils/page"; |
||||
|
||||
// 登录
|
||||
wx.login({ |
||||
success: res => { |
||||
console.log(res.code) |
||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
||||
App<IAppOption>({ |
||||
globalData: { |
||||
imageUrl: "https://m.wtx.hbraas.com/demo/web/images/", |
||||
}, |
||||
}) |
||||
onLaunch() { |
||||
Page = page as WechatMiniprogram.Page.Constructor; |
||||
}, |
||||
}) |
||||
}); |
||||
|
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 @@
@@ -0,0 +1 @@
|
||||
export {}; |
@ -0,0 +1,78 @@
@@ -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 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"van-icon": "../icon/index", |
||||
"van-popup": "../popup/index", |
||||
"van-loading": "../loading/index" |
||||
} |
||||
} |
@ -0,0 +1,70 @@
@@ -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 @@
@@ -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 @@
@@ -0,0 +1 @@
|
||||
export {}; |
@ -0,0 +1,235 @@
@@ -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 @@
@@ -0,0 +1,6 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"van-picker": "../picker/index" |
||||
} |
||||
} |
@ -0,0 +1,20 @@
@@ -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 @@
@@ -0,0 +1,8 @@
|
||||
/* eslint-disable */ |
||||
function displayColumns(columns, columnsNum) { |
||||
return columns.slice(0, +columnsNum); |
||||
} |
||||
|
||||
module.exports = { |
||||
displayColumns: displayColumns, |
||||
}; |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
@import '../common/index.wxss'; |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
export {}; |
@ -0,0 +1,67 @@
@@ -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 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"van-icon": "../icon/index", |
||||
"van-loading": "../loading/index" |
||||
} |
||||
} |
@ -0,0 +1,56 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -0,0 +1 @@
|
||||
export {}; |
@ -0,0 +1,45 @@
@@ -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 @@
@@ -0,0 +1,3 @@
|
||||
{ |
||||
"component": true |
||||
} |
@ -0,0 +1,16 @@
@@ -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 @@
@@ -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 @@
@@ -0,0 +1,6 @@
|
||||
export interface Day { |
||||
date: Date; |
||||
type: string; |
||||
text: number; |
||||
bottomInfo?: string; |
||||
} |