[抖火申请支付]
This commit is contained in:
58
components/mould-checkbox.vue
Normal file
58
components/mould-checkbox.vue
Normal file
@@ -0,0 +1,58 @@
|
||||
<template>
|
||||
<view>
|
||||
<checkbox-group @change="checkboxChange">
|
||||
<view class="idcardAdd-multi-write" v-for="(letterItem, letterIndex) in checkboxList" :key="letterIndex">
|
||||
<checkbox :value="letterIndex.toString()" :checked="isChecked(letterIndex)" color="#4e7bfe" style="transform:scale(.6); margin-top: -3rpx;"/>
|
||||
<text>{{letterItem}}</text>
|
||||
</view>
|
||||
</checkbox-group>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
name: 'mouldCheckbox',
|
||||
data(){
|
||||
return {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
isChecked(){
|
||||
return (index) => {
|
||||
return this.checkboxVlaue.findIndex(val => val == index) >= 0
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
checkboxVlaue: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
checkboxList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
|
||||
},
|
||||
methods: {
|
||||
checkboxChange(e){
|
||||
this.$emit('onCheckbox', e.detail.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.idcardAdd-multi-write {
|
||||
line-height: 70rpx;
|
||||
margin-top: $margin;
|
||||
display: flex;
|
||||
color: #999999;
|
||||
}
|
||||
</style>
|
||||
62
components/mould-date.vue
Normal file
62
components/mould-date.vue
Normal file
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<picker mode="date" :value="valueDate" :start="startDate" :end="endDate" @change="bindDateChange">
|
||||
<view class="uni-input">{{valueDate}}</view>
|
||||
</picker>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'mouldDate',
|
||||
props: {
|
||||
bankList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
valueDate: {
|
||||
type : String,
|
||||
default : ''
|
||||
}
|
||||
},
|
||||
data(){
|
||||
const currentDate = this.getDate({
|
||||
format: true
|
||||
})
|
||||
return {}
|
||||
},
|
||||
computed: {
|
||||
startDate() {
|
||||
return this.getDate('start');
|
||||
},
|
||||
endDate() {
|
||||
return this.getDate('end');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
bindDateChange(e){
|
||||
this.$emit('onDate', e.detail.value)
|
||||
},
|
||||
getDate(type) {
|
||||
const date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
|
||||
if (type === 'start') {
|
||||
year = year - 60;
|
||||
} else if (type === 'end') {
|
||||
year = year + 2;
|
||||
}
|
||||
month = month > 9 ? month : '0' + month;
|
||||
day = day > 9 ? day : '0' + day;
|
||||
return `${year}-${month}-${day}`;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
63
components/mould-input.vue
Normal file
63
components/mould-input.vue
Normal file
@@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<view>
|
||||
<block v-if="inputType == 'price'">
|
||||
<input type="digit" placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
<text>元</text>
|
||||
</block>
|
||||
<block v-else-if="inputType == 'number'">
|
||||
<input type="number" placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
</block>
|
||||
<block v-else-if="inputType == 'day'">
|
||||
<input type="number" placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
<text>天</text>
|
||||
</block>
|
||||
<block v-else-if="inputType == 'password'">
|
||||
<input type="text" password placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
</block>
|
||||
<block v-else-if="inputType == 'mobile'">
|
||||
<input type="number" maxlength="11" placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
</block>
|
||||
<block v-else>
|
||||
<input v-if="inputKey == 'card_no'" type="number" placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
<input v-else type="text" placeholder="请输入" placeholder-class="placeholderClass" :value="blurValue" @blur="blurInput"/>
|
||||
</block>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
name: 'mouldInput',
|
||||
data(){
|
||||
return {
|
||||
workIndex: 0
|
||||
}
|
||||
},
|
||||
props: {
|
||||
inputKey: {
|
||||
type : String,
|
||||
default : ''
|
||||
},
|
||||
inputType: {
|
||||
type : String,
|
||||
default : ''
|
||||
},
|
||||
blurValue: {
|
||||
type : String,
|
||||
default : ''
|
||||
}
|
||||
},
|
||||
onLoad() {},
|
||||
methods: {
|
||||
blurInput(e){
|
||||
this.$emit('onValue', e.detail.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
55
components/mould-picker.vue
Normal file
55
components/mould-picker.vue
Normal file
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<view>
|
||||
<picker
|
||||
v-if="bankList.length > 0"
|
||||
:range="bankList"
|
||||
range-key="title"
|
||||
:value="bankValue"
|
||||
@change="bindPickerChange"
|
||||
>
|
||||
<view class="uni-input">{{bankList[bankIndex].title}}</view>
|
||||
</picker>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'mouldPicker',
|
||||
props: {
|
||||
bankList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
bankValue: {
|
||||
type: Number,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
bankIndex: 0
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
bankList(e, old){
|
||||
this.bankIndex = 0;
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
},
|
||||
methods: {
|
||||
bindPickerChange(e){
|
||||
this.bankIndex = e.detail.value
|
||||
this.$emit('bankPicker', this.bankList[e.detail.value].institution_id)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
53
components/mould-radio.vue
Normal file
53
components/mould-radio.vue
Normal file
@@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<view>
|
||||
<radio-group @change="radioChange">
|
||||
<label class="idcardAdd-aline-write" v-for="(limitItem, limitIndex) in radioList" :key="limitIndex">
|
||||
<!-- <radio :value="limitIndex.toString()" :checked="checkboxVlaue.toString() == limitIndex.toString()" color="#4e7bfe" style="transform:scale(.65)"/> -->
|
||||
<radio :value="limitIndex.toString()" :checked="radioVlaue == limitIndex.toString()" color="#4e7bfe" style="transform:scale(.65)"/>
|
||||
<text>{{limitItem}}</text>
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
name: 'mouldRadio',
|
||||
data(){
|
||||
return {
|
||||
radioVlaue: null // 选中的会员卡ID
|
||||
}
|
||||
},
|
||||
props: {
|
||||
radioList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
// radioVlaue: {
|
||||
// type : String,
|
||||
// default : ''
|
||||
// },
|
||||
},
|
||||
watch:{
|
||||
radioList(e, old){
|
||||
this.radioVlaue = null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
radioChange(e){
|
||||
this.radioVlaue = e.detail.value
|
||||
this.$emit('onRadio', e.detail.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.idcardAdd-aline-write {
|
||||
display: inline-block;
|
||||
font-size: $title-size-lg;
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
</style>
|
||||
48
components/mould-text.vue
Normal file
48
components/mould-text.vue
Normal file
@@ -0,0 +1,48 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<textarea placeholder-style="color:#999999; font-size: 30rpx" maxlength="500" :value="blurValue" :placeholder="blurPlaceholder" @input="blurInput"/>
|
||||
<view class="idcardAdd-depict-number">500字以内</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
name: 'mouldText',
|
||||
data(){
|
||||
return {}
|
||||
},
|
||||
props: {
|
||||
blurValue : {
|
||||
type : String,
|
||||
default : ''
|
||||
},
|
||||
blurPlaceholder: {
|
||||
type : String,
|
||||
default : ''
|
||||
},
|
||||
depictNumber: {
|
||||
type : String,
|
||||
default : ''
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
},
|
||||
methods: {
|
||||
blurInput(e){
|
||||
this.$emit('onTextarea', e.detail.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.idcardAdd-depict-number {
|
||||
text-align: right;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
</style>
|
||||
98
components/mould-tips.vue
Normal file
98
components/mould-tips.vue
Normal file
@@ -0,0 +1,98 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="tipsBack" v-if="seeData.seeShow"></view>
|
||||
<view class="tipsCont" v-if="seeData.seeShow">
|
||||
<view class="tipsWhite">
|
||||
<view class="tipsWhite-top">
|
||||
<view class="tipsWhite-name">
|
||||
{{seeData.seeTitle}}
|
||||
</view>
|
||||
<view class="tipsWhite-text">
|
||||
{{seeData.seeText}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="tipsWhite-btn" @click="tipsClick">
|
||||
知道了
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
name: 'mouldTips',
|
||||
data(){
|
||||
return {}
|
||||
},
|
||||
props: {
|
||||
seeData: {
|
||||
type : Object,
|
||||
default : ''
|
||||
},
|
||||
},
|
||||
onLoad() {
|
||||
},
|
||||
methods: {
|
||||
tipsClick(){
|
||||
this.$emit('tipsClose', false)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.tipsBack {
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 9;
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
}
|
||||
.tipsCont {
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-pack: center;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 10;
|
||||
padding: 0 10%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.tipsWhite {
|
||||
background-color: #ffffff;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.tipsWhite-top {
|
||||
padding: 30rpx 50rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.tipsWhite-name {
|
||||
text-align: center;
|
||||
color: #111111;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.tipsWhite-text {
|
||||
font-size: 30rpx;
|
||||
color: #666666;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
|
||||
.tipsWhite-btn {
|
||||
color: #446EFE;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
border-top: 2rpx solid #F6F6F6;
|
||||
}
|
||||
</style>
|
||||
43
components/mould_select.vue
Normal file
43
components/mould_select.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<view>
|
||||
<picker
|
||||
v-if="selectList.length > 0"
|
||||
:range="selectList"
|
||||
:value="selectValue"
|
||||
@change="bindPickerChange"
|
||||
>
|
||||
<view class="uni-input">{{selectList[selectValue]}}</view>
|
||||
</picker>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'mouldSelect',
|
||||
props: {
|
||||
selectList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
selectValue: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data(){
|
||||
return {}
|
||||
},
|
||||
onShow() {},
|
||||
methods: {
|
||||
bindPickerChange(e){
|
||||
this.$emit('bankPicker', e.detail.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user