This commit is contained in:
王创世 2025-03-21 16:50:18 +08:00
parent 784136ad6d
commit 573cfcdd35
464 changed files with 2456 additions and 70111 deletions

View File

@ -1,16 +1,26 @@
{ // launch.json configurations app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtypelocalremote, localremote
"version": "0.0",
"configurations": [{
"default" :
{
"launchtype" : "local"
},
"mp-weixin" :
{
"launchtype" : "local"
},
"type" : "uniCloud"
}
{
// launch.json configurations app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtypelocalremote, localremote
"version" : "0.0",
"configurations" : [
{
"app-plus" :
{
"launchtype" : "local"
},
"default" :
{
"launchtype" : "local"
},
"mp-weixin" :
{
"launchtype" : "local"
},
"type" : "uniCloud"
},
{
"playground" : "standard",
"type" : "uni-app:app-android"
}
]
}

View File

@ -1,94 +0,0 @@
<template>
<view class="demo-title">
<view>
<view v-if="type === 'first'" class="main_title">
<view v-if="leftIcon" class="main_title__icon main_title__icon--left" :class="[`tn-icon-${leftIcon}`]"></view>
<view class="main_title__content">{{ title }}</view>
<view v-if="rightIcon" class="main_title__icon main_title__icon--right" :class="[`tn-icon-${rightIcon}`]"></view>
</view>
<view v-if="type === 'second'" class="second_title">
<view class="second_title__content">{{ title }}</view>
</view>
</view>
<view class="content" :class="[{
'content--padding': contentPadding
}]">
<slot></slot>
</view>
</view>
</template>
<script>
export default {
name: 'demo-title',
options: {
// Vue(shadow)
virtualHost: true
},
props: {
//
type: {
type: String,
default: 'first'
},
//
title: {
type: String,
default: ''
},
//
leftIcon: {
type: String,
default: 'star'
},
//
rightIcon: {
type: String,
default: 'star'
},
//
contentPadding: {
type: Boolean,
default: true
}
}
}
</script>
<style lang="scss" scoped>
.main_title {
display: flex;
align-items: center;
justify-content: center;
margin-top: 50rpx;
font-size: 36rpx;
font-weight: bold;
&__content {
padding: 0 18rpx;
}
&__icon {
font-size: 34rpx;
}
}
.second_title {
margin: 24rpx 0;
margin-left: 30rpx;
&__content {
font-size: 32rpx;
font-weight: bold;
}
}
.content {
margin-top: 30rpx;
&--padding {
margin-left: 30rpx;
margin-right: 30rpx;
}
}
</style>

View File

@ -1,689 +0,0 @@
<template>
<view class="dynamic-demo">
<!-- 效果预览窗口 -->
<view v-if="!noDemo" class="demo-container" :class="{'demo-container--full': full}">
<view class="demo">
<slot></slot>
</view>
<!-- 提示信息 -->
<view v-if="haveTips">
<view class="demo__tips__icon" @click="demoTipsClick">
<view class="icon tn-icon-help"></view>
</view>
<view class="demo__tips__content"
:class="[showContentTips ? 'demo__tips__content--show' : 'demo__tips__content--hide']">
<view v-for="(item,index) in tipsData" :key="index" class="demo__tips__content--item">{{ item }}</view>
</view>
</view>
</view>
<!-- 模式切换 -->
<view v-if="multiMode" class="mode-switch">
<view class="mode-switch__container">
<view v-for="(item, index) in sectionModeListInfos" :key="index" class="mode-switch__item"
:class="[`mode-switch-item-${index}`,{'mode-switch__item--active': modeIndex === index}]"
@click="switchMode(index)">{{ item.name }}</view>
<!-- 滑块样式 -->
<view class="mode-switch__slider" :style="[modeSwitchSliderStyle]"></view>
</view>
</view>
<!-- 组件对应可选项容器 -->
<view class="section-container">
<scroll-view
class="section__scroll-view"
:class="{'section__scroll-view--auto': sectionScrollViewStyle.height === 'auto'}"
:style="[sectionScrollViewStyle]"
:scroll-y="sectionScrollViewStyle.height !== 'auto'"
>
<block v-for="(item,index) in btnsList" :key="index">
<view class="section__content" :class="{'section__content--visible': item.show}">
<view class="section__content__title">
<view class="section__content__title__left-line" :class="[`tn-main-gradient-${tuniaoColorList[index]}`]"></view>
<view class="section__content__title--text tn-text-ellipsis" :class="[`tn-main-gradient-${tuniaoColorList[index]}`]">{{ item.title }}</view>
<view class="section__content__title__right-line" :class="[`tn-main-gradient-${tuniaoColorList[index]}`]"></view>
</view>
<view class="section__content__btns">
<view v-for="(section_btn,section_index) in item.optional" :key="section_index"
class="section__content__btns__item" :class="[`tn-main-gradient-${tuniaoColorList[index]}--light`]" @click="sectionBtnClick(index, section_index)">
<view class="section__content__btns__item__bg"
:class="[`tn-main-gradient-${tuniaoColorList[index]}`, {'section__content__btns__item__bg--active':sectionIndex[modeIndex][index]['value'] === section_index}]"></view>
<view class="section__content__btns__item--text tn-text-ellipsis"
:class="[sectionIndex[modeIndex][index]['value'] === section_index ? 'section__content__btns__item--text--active' : `tn-color-${tuniaoColorList[index]}`]">{{ section_btn }}</view>
</view>
</view>
</view>
</block>
</scroll-view>
</view>
</view>
</template>
<script>
export default {
name: 'dynamic-demo-template',
props: {
//
sectionList: {
type: Array,
default() {
return []
}
},
//
tips: {
type: [String, Array],
default: ''
},
//
full: {
type: Boolean,
default: false
},
// 使
customBar: {
type: Boolean,
default: true
},
//
fullWindowsScroll: {
type: Boolean,
default: false
},
//
noDemo: {
type: Boolean,
default: false
}
},
computed: {
tipsData() {
if (typeof this.tips === 'string') {
return [this.tips]
}
return this.tips
},
haveTips() {
return this.tips && this.tips.length > 0
},
multiMode() {
return this.sectionList.length > 1
},
sectionModeList() {
return this.sectionList.map((item) => {
return item.name
})
}
},
data() {
return {
//
tuniaoColorList: this.$tn.color.getTuniaoColorList(),
// prop
_sectionList: [],
//
sectionModeListInfos: [],
//
modeIndex: 0,
//
modeSwitchSliderStyle: {
width: 0,
left: 0
},
//
showContentTips: false,
//
sectionScrollViewStyle: {
height: 0
},
//
btnsList: [],
//
sectionIndex: [],
// 使scroll-view
sectionScrollFlag: true
}
},
watch: {
sectionList: {
handler(value) {
// sectionList
this.initSectionBtns()
},
deep: true
},
sectionScrollFlag(value) {
if (!value) {
this.sectionScrollViewStyle.height = 'auto'
}
},
fullWindowsScroll: {
handler(value) {
if (value) {
this.sectionScrollViewStyle.height = 'auto'
}
},
immediate: true
}
},
created() {
//
this.sectionModeListInfos = this.sectionModeList.map((item) => {
return {
name: item
}
})
//
this.initSectionBtns()
},
mounted() {
//
// setTimeout(() => {
// // scroll-view
// this.initSectionScrollView()
// if (this.multiMode) {
// //
// this.getModeTabsInfo()
// }
// }, 10)
this.$nextTick(() => {
// scroll-view
this.initSectionScrollView()
if (this.multiMode) {
//
this.getModeTabsInfo()
}
})
},
methods: {
//
initSectionScrollView() {
//
if (this.fullWindowsScroll) {
return
}
//
uni.getSystemInfo({
success: (systemInfo) => {
//
const navBarHeight = this.customBar ? 0 : this.vuex_custom_bar_height
if (this.multiMode) {
uni.createSelectorQuery().in(this).select('.mode-switch').boundingClientRect(data => {
if (data.bottom >= systemInfo.safeArea.height) {
this.sectionScrollFlag = false
} else {
this.sectionScrollFlag = true
const containerBaseHeight = systemInfo.safeArea.height - data.bottom
this.sectionScrollViewStyle.height = (containerBaseHeight - navBarHeight) + systemInfo.statusBarHeight - uni.upx2px(75) + 'px'
}
}).exec()
} else {
if (!this.noDemo) {
uni.createSelectorQuery().in(this).select('.demo-container').boundingClientRect(data => {
if (data.bottom >= systemInfo.safeArea.height) {
this.sectionScrollFlag = false
} else {
this.sectionScrollFlag = true
const containerBaseHeight = systemInfo.safeArea.height - data.bottom
this.sectionScrollViewStyle.height = (containerBaseHeight - navBarHeight) + systemInfo.statusBarHeight - uni.upx2px(75) + 'px'
}
}).exec()
} else {
this.sectionScrollFlag = false
}
}
}
})
},
//
updateSectionScrollView() {
this.$nextTick(() => {
this.initSectionScrollView()
})
},
// tab
getModeTabsInfo() {
let view = uni.createSelectorQuery().in(this)
for (let i = 0; i < this.sectionModeListInfos.length; i++) {
view.select('.mode-switch-item-' + i).boundingClientRect()
}
view.exec(res => {
//
if (!res.length) {
setTimeout(() => {
this.getModeTabsInfo()
}, 10)
return
}
// list
res.map((item, index) => {
this.sectionModeListInfos[index].width = item.width
})
//
this.modeSwitchSliderStyle.width = this.sectionModeListInfos[0].width + 'px'
//
this.modeSliderPosition()
})
},
//
modeSliderPosition() {
let left = 0
//
this.sectionModeListInfos.map((item, index) => {
if (index < this.modeIndex) left += item.width
})
this.modeSwitchSliderStyle.left = left + 'px'
},
//
switchMode(index) {
//
if (index === this.modeIndex) return
this.modeIndex = index
this.modeSliderPosition()
this.updateSectionBtns()
this.$emit('modeClick', {
index: index
})
},
//
demoTipsClick() {
this.showContentTips = !this.showContentTips
},
//
initSectionBtns() {
this.sectionIndex = []
this.sectionIndex = this.sectionList.map((item) => {
if (item.hasOwnProperty('section') && item.section.length > 0) {
return Array(item.section.length).fill({
value: 0,
change: false
})
} else {
return []
}
})
this._sectionList = this.$tn.deepClone(this.sectionList)
// show
this._sectionList.map((item) => {
const section = item.section.map((section_item) => {
if (!section_item.hasOwnProperty('show')) {
section_item.show = true
}
return section_item
})
item.section = section
return item
})
//
this.updateSectionBtns()
},
//
updateSectionBtns(sectionIndex = -1, showState = true) {
let sectionOptional = this._sectionList[this.modeIndex]['section']
this.btnsList = sectionOptional.map((item, index) => {
//
let changeValue = this.sectionIndex[this.modeIndex][index]['change'] || false
let currentSectionIndexValue = this.sectionIndex[this.modeIndex][index]['value'] || 0
// (使)
let indexValue = changeValue ? currentSectionIndexValue : item.hasOwnProperty('current') ? item.current : 0
//
let show = (sectionIndex !== -1 && sectionIndex === index) ? showState : item.hasOwnProperty('show') ? item.show : true
//
if (indexValue < 0) {
indexValue = 0
}
if (indexValue >= item.optional.length) {
indexValue = item.optional.length
}
// this.sectionIndex[this.modeIndex][index]['value'] = indexValue
this.$set(this.sectionIndex[this.modeIndex], index, {value: indexValue, change: changeValue})
item.show = show
return item
})
},
//
updateSectionBtnsState(sectionIndex = -1, showState = true) {
// sectionIndex
if (this.$tn.array.isArray(sectionIndex)) {
if (sectionIndex.length === 0) {
return
}
sectionIndex = sectionIndex.filter((item) => item >= 0 && item < this.sectionList[this.modeIndex]['section'].length)
sectionIndex.map((item) => {
this.btnsList[item]['show'] = showState
this._sectionList[this.modeIndex]['section'][item]['show'] = showState
})
} else {
if (sectionIndex < 0 || sectionIndex >= this.sectionList[this.modeIndex]['section'].length) {
return
}
//
this.btnsList[sectionIndex]['show'] = showState
this._sectionList[this.modeIndex]['section'][sectionIndex]['show'] = showState
}
},
//
updateSectionBtnsValue(modeIndex = 0, sectionIndex = -1, value = 0) {
if (sectionIndex < 0 || sectionIndex >= this.sectionList[modeIndex]['section'].length) {
return
}
// showStatefalse
this.sectionIndex[modeIndex][sectionIndex] = {
value,
change: true
}
},
//
sectionBtnClick(index, sectionIndex) {
// if (this.sectionIndex[this.modeIndex][index] === sectionIndex) {
// return
// }
this.$set(this.sectionIndex[this.modeIndex], index, {value: sectionIndex, change: true})
this.$emit('click', {
methods: this.btnsList[index]['methods'],
index: sectionIndex,
name: this.btnsList[index]['optional'][sectionIndex]
})
}
}
}
</script>
<style lang="scss" scoped>
.dynamic-demo {
padding-top: 78rpx;
/* 顶部模式切换start */
.mode-switch {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
margin-top: 75rpx;
padding: 0 30rpx;
&__container {
position: relative;
display: flex;
flex-direction: row;
align-items: center;
width: 476rpx;
height: 62rpx;
background-color: #FFFFFF;
box-shadow: 0rpx 10rpx 50rpx 0rpx rgba(0, 3, 72, 0.1);
border-radius: 31rpx;
}
&__item {
flex: 1;
height: 62rpx;
width: 100%;
line-height: 62rpx;
text-align: center;
font-size: 28rpx;
color: $tn-font-sub-color;
z-index: 2;
transition: all 0.3s;
&--active {
color: #FFFFFF;
font-weight: bold;
}
}
&__slider {
position: absolute;
height: 62rpx;
border-radius: 31rpx;
// background-image: linear-gradient(-86deg, #FF8359 0%, #FFDF40 100%);
background-image: linear-gradient(-86deg, #00C3FF 0%, #58FFF5 100%);
box-shadow: 1rpx 10rpx 24rpx 0rpx #00C3FF77;
z-index: 1;
transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
}
/* 顶部模式切换end */
/* 演示内容展示start */
.demo-container {
min-height: 327rpx;
width: calc(100% - 60rpx);
background-color: #FFFFFF;
box-shadow: 0rpx 10rpx 50rpx 0rpx rgba(0, 3, 72, 0.1);
margin: 0 30rpx 5rpx 30rpx;
border-radius: 20rpx;
position: relative;
display: flex;
justify-content: center;
align-items: center;
&--full {
display: inline-block;
padding-bottom: 20rpx;
min-height: 0rpx;
padding: 10rpx 20rpx 30rpx;
}
.demo {
padding-top: 70rpx;
&__tips {
&__icon {
position: absolute;
top: 20rpx;
right: 16rpx;
width: 39rpx;
height: 39rpx;
line-height: 39rpx;
font-size: 39rpx;
.icon {
background: linear-gradient(-45deg, #FF8359 0%, #FFDF40 100%);
-webkit-background-clip: text;
color: transparent;
text-shadow: 0rpx 10rpx 10rpx rgba(255, 156, 82, 0.2);
}
}
&__content {
position: absolute;
top: 65rpx;
right: 16rpx;
font-size: 20rpx;
margin-left: 20rpx;
word-wrap: normal;
display: flex;
flex-direction: column;
background-color: #E6E6E6;
padding: 20rpx;
border-radius: 10rpx;
transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1);
transform-origin: 0 0;
z-index: 999999;
&--hide {
transform: scaleY(0);
}
&--show {
transform: scaleY(100%);
&::after {
content: "";
width: 0px;
height: 0px;
border-width: 4px;
border-style: solid;
border-color: transparent transparent rgba(149, 149, 149, 0.1) transparent;
position: absolute;
top: -8px;
right: 6px;
}
}
}
}
}
}
/* 演示内容展示end */
/* 可选项start */
.section-container {
width: 100%;
height: auto;
margin-top: 70rpx;
.section {
&__content {
margin-top: 70rpx;
display: none;
&--visible {
display: block;
&:last-child {
padding-bottom: calc(70rpx + env(safe-area-inset-bottom));
}
}
&:nth-child(1) {
margin-top: 0rpx;
}
&__title {
display: flex;
justify-content: center;
align-items: center;
margin: 0 30rpx;
text-align: center;
&__left-line,
&__right-line {
width: 100rpx;
height: 2rpx;
position: relative;
}
&__left-line {
&::after {
content: '';
background: inherit;
width: 12rpx;
height: 12rpx;
position: absolute;
top: -12rpx;
right: 0rpx;
border-radius: 50%;
transform: translateY(50%);
}
}
&__right-line {
&::after {
content: '';
background: inherit;
width: 12rpx;
height: 12rpx;
position: absolute;
top: -12rpx;
left: 0rpx;
border-radius: 50%;
transform: translateY(50%);
}
}
&--text {
-webkit-background-clip: text;
color: transparent;
min-width: 124rpx;
height: 30rpx;
font-size: 32rpx;
line-height: 1;
margin: 0 35rpx;
}
}
&__btns {
width: calc(100% - 60rpx);
margin: 0 30rpx;
margin-top: 29rpx;
padding: 50rpx 30rpx 0rpx 0rpx;
background-color: #FFFFFF;
box-shadow: 0rpx 10rpx 50rpx 0rpx rgba(0, 3, 72, 0.1);
border-radius: 20rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
flex-wrap: wrap;
&__item {
max-width: 30%;
padding: 17rpx 36rpx;
border-radius: 10rpx;
margin-bottom: 40rpx;
margin-left: 40rpx;
position: relative;
z-index: 1;
// &::before {
// content: " ";
// position: absolute;
// top: 10rpx;
// left: 1rpx;
// width: 100%;
// height: 100%;
// background: inherit;
// filter: blur(24rpx);
// opacity: 1;
// z-index: -1;
// }
&__bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: inherit;
z-index: -1;
opacity: 0;
transform: scale(0);
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
&--active {
opacity: 1;
transform: scale(1);
}
}
&--text {
font-size: 24rpx;
line-height: 1.2em;
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
&--active {
color: #FFFFFF;
}
}
}
}
}
}
}
/* 可选项end */
}
</style>

View File

@ -1,147 +0,0 @@
<template>
<view class="multiple-options">
<view class="list">
<block v-for="(item, index) in listData" :key="index">
<view
class="list__item"
:class="[`tn-main-gradient-${tuniaoColorList[item.bgColorIndex]}--light`]"
@tap="navOptionsPage(item.url)"
>
<view class="list__content">
<view class="list__content__title">{{ item.title }}</view>
<view class="list__content__desc">{{ item.desc }}</view>
</view>
<view class="list__icon">
<view class="list__icon__main" :class="[`tn-icon-${item.mainIcon}`, `tn-main-gradient-${tuniaoColorList[item.bgColorIndex]}`]"></view>
<view class="list__icon__sub" :class="[`tn-icon-${item.subIcon}`, `tn-main-gradient-${tuniaoColorList[item.bgColorIndex]}`]"></view>
</view>
</view>
</block>
</view>
</view>
</template>
<script>
export default {
name: 'multiple-options-demo',
props: {
//
list: {
type: Array,
default() {
return []
}
}
},
data() {
return {
//
tuniaoColorList: [
'red',
'purplered',
'purple',
'bluepurple',
'aquablue',
'blue',
'indigo',
'cyan',
'teal',
'green',
'orange',
'orangered'
],
listData: []
}
},
watch: {
list(val) {
this.initList()
}
},
created() {
this.initList()
},
methods: {
//
initList() {
//
this.listData = this.list.map((item, index) => {
item.bgColorIndex = this.getBgNum()
item.mainIcon = item?.mainIcon || 'computer-fill'
item.subIcon = item?.subIcon || 'share'
return item
})
},
//
navOptionsPage(url) {
uni.navigateTo({
url: url
})
},
//
getBgNum() {
return Math.floor((Math.random() * this.tuniaoColorList.length))
}
}
}
</script>
<style lang="scss" scoped>
.list {
&__item {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
width: calc(100% - 60rpx);
margin: 108rpx 30rpx 0rpx 30rpx;
box-shadow: 0rpx 10rpx 50rpx 0rpx rgba(0, 3, 72, 0.1);
border-radius: 20rpx;
}
&__content {
flex: 1;
// color: $tn-font-color;
margin: 34rpx 0rpx 27rpx 37rpx;
&__title {
font-size: 36rpx;
font-weight: bold;
margin-bottom: 12rpx;
}
&__desc {
font-size: 28rpx;
}
}
&__icon {
flex: 1;
margin-right: 26rpx;
position: relative;
&__main, &__sub {
-webkit-background-clip: text;
color: transparent;
position: absolute;
transition: transform 0.25s ease;
}
&__main {
font-size: 200rpx;
width: 190rpx;
line-height: 200rpx;
top: 0;
right: 0rpx;
transform: translateY(-60%);
}
&__sub {
font-size: 70rpx;
top: 0;
right: 175rpx;
transform: translateY(-5rpx);
}
}
}
</style>

View File

@ -1,169 +0,0 @@
<template>
<view class="nav-index-button" :style="{bottom: `${bottom}rpx`, right: `${right}rpx`}" @tap.stop="navIndex">
<view class="nav-index-button__content">
<view class="nav-index-button__content--icon tn-flex tn-flex-row-center tn-flex-col-center tn-shadow-blur tn-cool-bg-color-7">
<view class="tn-icon-home-vertical-fill"></view>
</view>
</view>
<view class="nav-index-button__meteor">
<view class="nav-index-button__meteor__wrapper">
<view v-for="(item,index) in 6" :key="index" class="nav-index-button__meteor__item" :style="{transform: `rotateX(${-60 + (30 * index)}deg) rotateZ(${-60 + (30 * index)}deg)`}">
<view class="nav-index-button__meteor__item--pic"></view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
name: 'nav-index-button',
props: {
//
bottom: {
type: [Number, String],
default: 300
},
//
right: {
type: [Number, String],
default: 75
},
//
indexPath: {
type: String,
default: '/pages/index/index'
}
},
methods: {
//
navIndex() {
//
const pages = getCurrentPages()
if (pages && pages.length > 0) {
const indexPath = this.indexPath || '/pages/index/index'
const firstPage = pages[0]
if (pages.length == 1 && (!firstPage.route || firstPage.route != indexPath.substring(1, indexPath.length))) {
uni.reLaunch({
url: indexPath
})
} else {
uni.navigateBack({
delta: 1
})
}
} else {
uni.reLaunch({
url: indexPath
})
}
}
}
}
</script>
<style lang="scss" scoped>
.nav-index-button {
position: fixed;
animation: suspension 3s ease-in-out infinite;
z-index: 999999;
&__content {
position: absolute;
width: 100rpx;
height: 100rpx;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
&--icon {
width: 100rpx;
height: 100rpx;
font-size: 60rpx;
border-radius: 50%;
margin-bottom: 18rpx;
position: relative;
z-index: 1;
transform: scale(0.85);
&::after {
content: " ";
position: absolute;
z-index: -1;
width: 100%;
height: 100%;
left: 0;
bottom: 0;
border-radius: inherit;
opacity: 1;
transform: scale(1, 1);
background-size: 100% 100%;
background-image: url(https://resource.tuniaokj.com/images/cool_bg_image/icon_bg6.png);
}
}
}
&__meteor {
position: absolute;
top: 50%;
left: 50%;
width: 100rpx;
height: 100rpx;
transform-style: preserve-3d;
transform: translate(-50%, -50%) rotateY(75deg) rotateZ(10deg);
&__wrapper {
width: 100rpx;
height: 100rpx;
transform-style: preserve-3d;
animation: spin 20s linear infinite;
}
&__item {
position: absolute;
width: 100rpx;
height: 100rpx;
border-radius: 1000rpx;
left: 0;
top: 0;
&--pic {
display: block;
width: 100%;
height: 100%;
background: url(https://resource.tuniaokj.com/images/cool_bg_image/arc3.png) no-repeat center center;
background-size: 100% 100%;
animation: arc 4s linear infinite;
}
}
}
}
@keyframes suspension {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-0.8rem);
}
}
@keyframes spin {
0% {
transform: rotateX(0deg);
}
100% {
transform: rotateX(-360deg);
}
}
@keyframes arc {
to {
transform: rotate(360deg);
}
}
</style>

View File

@ -1,52 +0,0 @@
/**
* 动态参数演示mixin
*/
module.exports = {
data() {
return {
// 效果显示框top的值
contentContainerTop: '0px',
contentContainerIsTop: false,
// 参数显示框top的值
sectionContainerTop: '0px'
}
},
onReady() {
this.updateSectionContainerTop()
},
methods: {
// 处理演示效果框的位置
async _handleContentConatinerPosition() {
// 获取效果演示框的节点信息
const contentContainer = await this._tGetRect('#content_container')
// 获取参数框的节点信息
this._tGetRect('#section_container').then((res) => {
// 判断参数框是否在移动,如果是则更新效果框的位置
// 如果效果框的顶部已经触控到顶部导航栏就停止跟随
if (res.top - contentContainer.bottom != 15) {
const newTop = res.top - (contentContainer.height + uni.upx2px(20))
const minTop = this.vuex_custom_bar_height + 1
if (newTop < minTop) {
this.contentContainerTop = minTop + 'px'
this.contentContainerIsTop = true
} else {
this.contentContainerTop = newTop + 'px'
this.contentContainerIsTop = false
}
}
})
},
// 更新状态切换栏位置信息
updateSectionContainerTop() {
this._tGetRect('#content_container').then((res) => {
this.contentContainerTop = (this.vuex_custom_bar_height + 148) + 'px'
this.sectionContainerTop = (res.height + 20) + 'px'
})
}
},
// 监听页面滚动
onPageScroll() {
this._handleContentConatinerPosition()
}
}

View File

@ -1,60 +0,0 @@
/**
* 演示页面mixin
*/
module.exports = {
data() {
return {
}
},
onLoad() {
// 更新顶部导航栏信息
this.updateCustomBarInfo()
},
methods: {
// 点击左上角返回按钮时触发事件
goBack() {
// 通过判断当前页面的页面栈信息,是否有上一页进行返回,如果没有则跳转到首页
const pages = getCurrentPages()
if (pages && pages.length > 0) {
const firstPage = pages[0]
if (pages.length == 1 && (!firstPage.route || firstPage.route != 'pages/index/index')) {
uni.reLaunch({
url: '/pages/index/index'
})
} else {
uni.navigateBack({
delta: 1
})
}
} else {
uni.reLaunch({
url: '/pages/index/index'
})
}
},
// 更新顶部导航栏信息
async updateCustomBarInfo() {
// 获取vuex中的自定义顶栏的高度
let customBarHeight = this.vuex_custom_bar_height
let statusBarHeight = this.vuex_status_bar_height
// 如果获取失败则重新获取
if (!customBarHeight) {
try {
const navBarInfo = await this.$tn.updateCustomBar()
customBarHeight = navBarInfo.customBarHeight
statusBarHeight = navBarInfo.statusBarHeight
} catch(e) {
setTimeout(() => {
this.updateCustomBarInfo()
}, 10)
return
}
}
// 更新vuex中的导航栏信息
this.$tn.vuex('vuex_status_bar_height', statusBarHeight)
this.$tn.vuex('vuex_custom_bar_height', customBarHeight)
}
}
}

View File

@ -71,8 +71,7 @@
],
"subPackages": [{
"root": "pages/packageA",
"pages": [
{
"pages": [{
"path": "user/apply_in",
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
@ -108,12 +107,6 @@
"navigationBarTitleText": "河南省青年企业家协会"
}
},
{
"path": "user/my_edit",
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
}
},
{
"path": "user/my_idea",
"style": {
@ -240,12 +233,23 @@
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
}
},
{
"path": "event/user_area",
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
}
},
{
"path": "news/suggestions",
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
}
}
]
}, {
"root": "pages/packageC",
"pages": [
{
"pages": [{
"path": "info/discovery",
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
@ -268,6 +272,12 @@
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
}
},
{
"path": "info/certificate",
"style": {
"navigationBarTitleText": "河南省青年企业家协会"
}
}
]
}],

View File

@ -112,7 +112,7 @@
<text class="tn-icon-down"></text>
</view>
</view>
<view v-if="pickerIndex==0" v-for="(item, index) in industry_list" :key="index"
<view v-if="pickerIndex==1" v-for="(item, index) in industry_list" :key="index"
:id="`tabbar_item_${index}`" class="tn-classify__tabbar__item tn-flex tn-flex-col-center"
:class="[tabbarItemClass(index)]" @tap.stop="clickClassifyNav(index)"
style="padding: 30rpx 20rpx;">
@ -120,7 +120,7 @@
{{ item.industry_name }}
</view>
</view>
<view v-if="pickerIndex==1" v-for="(item, index) in zz_list" :key="index"
<view v-if="pickerIndex==0" v-for="(item, index) in zz_list" :key="index"
:id="`tabbar_item_${index}`" class="tn-classify__tabbar__item tn-flex tn-flex-col-center"
:class="[tabbarItemClass(index)]" @tap.stop="clickClassifyNavZZ(index)"
style="padding: 30rpx 20rpx;">
@ -267,10 +267,10 @@
pickerShow: false,
pickerIndex: 0,
pickerList: [{
name: '按行业',
name: '按职位',
id: 1
}, {
name: '按职位',
name: '按行业',
id: 2
}, {
name: '按区域',
@ -427,7 +427,7 @@
},
rightBottom() {
if (this.leftZzId == 15 || this.pickerIndex == 0) {
if (this.leftZzId == 15 || this.pickerIndex == 1) {
uni.showLoading({
title: '加载中...'
});
@ -441,14 +441,20 @@
this.top = d.scrollTop;
},
onload() {
console.log(this.gid);
console.log(store.state.Gid);
if (this.gid == store.state.Gid && this.list.length > 0) {
console.log(this.list.length);
console.log(this.member_list.length);
this.serach_content = '';
this.coversShow = false;
this.serach_do = false;
// this.member_list = [];
// this.list = [];
if (this.list.length > 0 || this.member_list.length > 0) {
return;
}
this.currentTabbarIndex = 0;
this.gid = store.state.Gid;
this.gname = store.state.Gname;
this.getIndustryList();
this.getAssociationIndex();
this.getPositionListIndex();
@ -598,6 +604,8 @@
this.member_list = [];
this.list = [];
this.page = 1;
this.leftHyId = 0;
this.leftDqId = 0;
this.getAddressList();
this.getMemberList();
this.getLatitudeAndLongitude();
@ -668,6 +676,9 @@
this.top = this.randomBetween();
this.page = 1;
this.getAddressList();
if (this.leftZzId == 15) {
this.getMemberList();
}
//this.getMemberList();
},
clickClassifyNav(index) {

View File

@ -26,7 +26,7 @@
</view>
</view>
<view style="padding: 0px 30rpx;">
<swiper class="card-swiper" style="height: 320rpx;margin-top: 20rpx;" current="0" mode="dot"
<swiper class="card-swiper" style="height: 320rpx;margin-top: 20rpx;" mode="dot"
:circular="true" duration="500" interval="5000" @change="cardSwiper" :autoplay="true">
<swiper-item style="border-radius: 0;padding: 0;" v-for="(item,index) in carousel_list" :key="index"
:class="cardCur==index?'cur':''">
@ -34,7 +34,7 @@
:controls="false" loop autoplay object-fit="contain"
style="width: 100%;border-radius: 20rpx 20rpx 0px 0px;height: 100%;"
@error="videoErrorCallback"></video>
<image v-if="item.type==1" :src="apiImgUrl+item.image" mode="scaleToFill"
<image @click="openNewUrl({wx_url:item.url})" v-if="item.type==1" :src="apiImgUrl+item.image" mode="scaleToFill"
style="width: 100%;height: 320rpx;border-radius: 20rpx 20rpx 0px 0px;">
</image>
</swiper-item>
@ -73,7 +73,7 @@
<image class="no-img" src="/static/48098164.png"
style="width: 120rpx;position: absolute; right: 10rpx;bottom: 0;" mode="widthFix"></image>
</view>
<view @click="openUrl('/pages/index/service?type='+3)"
<view @click="openUrl('/pages/packageB/news/new_list?type='+52)"
style="position:relative;margin-top: 20rpx;padding: 20rpx;border-radius: 16rpx;height: 130rpx;background: rgba(255,151,220,0.2);">
<view style="font-size: 32rpx;font-weight: 600;;color: #181818;">品牌活动</view>
<view style="font-size: 24rpx;margin-top: 10rpx;color: rgba(24,24,24,0.5);">Brand activity</view>
@ -97,10 +97,10 @@
</image>
</view>
<view style="width: 100%;margin-left: 20rpx">
<view @click="openUrl('/pages/packageB/news/new_list')"
<view @click="openUrl('/pages/packageB/news/suggestions')"
style="position:relative;padding: 20rpx;border-radius: 16rpx;height: 130rpx;background: rgba(72,219,122,0.2);">
<view style="font-size: 32rpx;font-weight: 600;;color: #181818;">实时资讯</view>
<view style="font-size: 24rpx;margin-top: 10rpx;color: rgba(24,24,24,0.5);">Member map</view>
<view style="font-size: 32rpx;font-weight: 600;;color: #181818;">意见建议</view>
<view style="font-size: 24rpx;margin-top: 10rpx;color: rgba(24,24,24,0.5);">Suggestions</view>
<image class="no-img" src="/static/48098163.png"
style="width: 120rpx;height: 90rpx;position: absolute; right: 10rpx;bottom: 0;" mode="widthFix">
</image>
@ -202,7 +202,7 @@
style="position: relative;;display: inline-block;width: 300rpx;text-align: center;background-color: #FFF;border-radius: 20rpx;overflow: hidden;margin-right: 20rpx;">
<view>
<image lazy-load :src="apiImgUrl+item.activity_image" mode="aspectFill"
style="width: 350rpx;height: 170rpx;">
style="width: 100%;height: 170rpx;">
</image>
</view>
<view style="padding:10rpx;font-weight: 400;min-height: 100rpx;">
@ -240,11 +240,11 @@
<view v-for="(item,index) in news_list" :class="{'rounded_corner': index === 0}">
<view class="tn-flex tn-flex-row-between" @click="openNewUrl(item)"
style="padding: 20rpx;min-height: 200rpx;">
<view style="margin-left: 20rpx;" v-if="item.news_image">
<view style="margin-left: 20rpx;width: 44%;" v-if="item.news_image">
<image lazy-load :src="apiImgUrl+item.news_image" mode="aspectFill"
style="width: 280rpx;height: 180rpx;border-radius: 20rpx;"></image>
</view>
<view style="position:relative;padding:0rpx 10rpx 10rpx 15rpx">
<view style="position:relative;padding:0rpx 10rpx 10rpx 15rpx; width: 100%;">
<view class="tn-text-ellipsis-2" style="font-size: 32rpx;font-weight: bold;">
{{ item.news_title }}
</view>
@ -264,11 +264,11 @@
</view>
</view>
<!-- <view style="height: 1rpx;background-color: #E6E6E6;width: 90%;margin: 0 auto;margin-top: 30rpx;"></view> -->
<view @click="callPhone"
<!-- <view @click="callPhone"
style="padding-top:70rpx ;text-align: center;padding-bottom: 20rpx;font-size: 24rpx;color: rgba(153,153,153,0.5);letter-spacing: 2rpx;">
<view>技术支持洛阳灵睿网络</view>
<view>电话15503791530</view>
</view>
</view> -->
</view>
</template>
@ -291,7 +291,7 @@
return {
topShow: true,
new_top_list: [{
article_title: '河南省青年企业家协会走进省团校开展党史学...'
article_title: '河南省青年企业家协会'
}],
list: [],
selectShow: false,
@ -343,6 +343,7 @@
//this.getArticlePolicyListAll();
},
methods: {
getLatitudeAndLongitude() {
latitudeAndLongitude()
.then(res => {
@ -511,6 +512,7 @@
console.log(res);
if (res.code == 1) {
this.carousel_list = res.data;
//this.new_top_list[0].article_title=this.carousel_list[0].title;
}
})
.catch(error => {
@ -592,6 +594,7 @@
})
},
cardSwiper(d) {
//this.new_top_list[0].article_title=this.carousel_list[d.detail.current].title;
this.cardCur = d.detail.current;
},
ReachScroll(d) {

View File

@ -53,6 +53,19 @@
</view>
</view>
</tn-popup>
<tn-popup v-model="testShow" mode="center" height="700rpx" backgroundColor="transparent">
<view
style="width: 85vw;background-color: #ffffff;border-radius: 20rpx;padding:40rpx 30rpx 60rpx 30rpx;text-align: center;">
<view style="font-size: 40rpx;font-weight: 600;color: #000;">系统提示</view>
<view style="color: #000000;font-weight: 600;margin-top: 40rpx;font-size: 34rpx;letter-spacing: 3rpx;">
<view>河南省青年企业家协会</view>
<view>小程序试运营中</view>
</view>
<view @click="closeTestShow"
style="margin-top: 50rpx;font-size: 32rpx;color: #ffffff;text-align: center;width: 100%;height: 90rpx;border-radius: 90rpx;line-height: 90rpx;background: linear-gradient( 90deg, #446BEB 0%, #6ADCF5 100%);">
确定</view>
</view>
</tn-popup>
<tn-tabbar :show="tabShow" :outHeight="140" :height="120" v-model="currentIndex" :list="tabbarList"
activeColor="#000000" inactiveColor="#AAAAAA" activeIconColor="#3377FF" inactiveIconColor="#888888"
:animation="true" :safeAreaInsetBottom="true" :thisIndex="thisIndex" @change="switchTabbar"></tn-tabbar>
@ -123,10 +136,15 @@
name: '',
tabShow: true,
birthShow: false,
userInfo: {}
userInfo: {},
testShow: false
}
},
onLoad(options) {
console.log(options);
if (typeof(options.id) != 'undefined') {
uni.setStorageSync('recommendation_id', options.id);
}
const index = Number(options.index || 0)
// tabbar
this.tabberPageLoadFlag = this.tabbarList.map((item, tabbar_index) => {
@ -151,7 +169,12 @@
uni.setStorageSync('Gid', searchParams.gid);
}
var userInfo = uni.getStorageSync('userInfo');
this.userInfo = userInfo;
if (userInfo) {
this.userInfo = userInfo;
} else {
this.birthShow = false;
}
if (uni.getStorageSync('birthDay')) {
this.birthShow = false;
if (!this.isSameMonthDay(userInfo.birth_time)) {
@ -202,6 +225,9 @@
}
},
methods: {
closeTestShow() {
this.testShow = false;
},
closeBirth() {
var userInfo = uni.getStorageSync('userInfo');
uni.setStorageSync('birthDay', userInfo.birth_time);
@ -298,6 +324,11 @@
this.$refs.directory.onload();
}, 100)
}
if (index === 2) {
setTimeout(() => {
this.$refs.pizz.onload();
}, 100)
}
if (index === 3) {
setTimeout(() => {
this.$refs.user.onload();

View File

@ -11,7 +11,7 @@
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 10rpx;">
<view style="padding: 30rpx;" v-if="!none">
<view style="padding: 30rpx;" v-if="!none && quit==0">
<view style="background-color: #ffffff;border-radius: 20rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="padding: 30rpx;">
<view style="font-size: 34rpx;font-weight: bold;">我发布的</view>
@ -26,16 +26,16 @@
<scroll-view :scroll-x="true" style="padding:0rpx 30rpx;white-space: nowrap;width: 100%">
<view v-for="(item,index) in my_list"
style="width: 185rpx;;display: inline-block;text-align: center;background-color: #FFF;overflow: hidden;margin-right: 20rpx;">
<view style="position: relative;">
<view style="position: relative;height: 185rpx;width: 185rpx;">
<image v-if="item.files.length>0" :src="apiImgUrl+item.files[0]" mode="aspectFill"
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;">
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;position: absolute;left: 0;z-index: 1;">
</image>
<view v-if="item.files.length==0&&index != 0"
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;background-color: rgba(24,24,24,0.3);display: inline-block;">
<text style="color: #FFFFFF;line-height: 185rpx;">暂无图片</text>
</view>
<view @click="tn('/pages/packageA/user/my_add')" v-if="index == 0"
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;background: rgba(24,24,24,0.6);">
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;background: rgba(24,24,24,0.5);position: absolute;z-index: 1;">
<text style="color: #FFFFFF;line-height: 185rpx;">全部动态</text>
</view>
</view>
@ -51,10 +51,6 @@
<view style="background-color: #FFFFFF;margin-top: 20rpx;border-radius: 20rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="padding: 30rpx;">
<view style="font-size: 34rpx;font-weight: bold;">圈子动态</view>
<!-- <view style="color: #666666;">
<text style="font-size: 28rpx;">全部资源</text>
<text class="tn-icon-down-triangle"></text>
</view> -->
</view>
<view v-for="(item,index) in list" style="padding:0rpx 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
@ -73,9 +69,6 @@
<view style="font-size: 30rpx;color: #181818;font-weight: bold;">
<text
style="vertical-align: middle;margin-right: 10rpx;">{{item.member.nikename}}</text>
<!-- <tn-tag width="80rpx" shape="radius" size="sm" backgroundColor="#66B5FF"
fontColor="#FFFFFF">供给
</tn-tag> -->
</view>
<view>
<tn-button @click="tn('/pages/packageA/user/my_card?id='+item.member.id)"
@ -106,16 +99,13 @@
<view style="color: #AAAAAA;font-size: 24rpx;">
发布于:{{item.createtime}}
</view>
<!-- <view style="color: #3056D3;font-size: 28rpx;font-weight: 500;">
全文
</view> -->
</view>
<view v-if="item.files.length>0" style="margin-top: 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-wrap">
<view class="tn-flex-basic-xs" v-for="(img,img_i) in item.files"
style="text-align: center;">
<view style="padding-right: 10rpx;">
<image :src="apiImgUrl+img" @click="openImg(item,img_i)"
<image :src="apiImgUrl+img" @click="openImg(item,img_i)" mode="aspectFill"
style="width: 200rpx;height: 200rpx;border-radius:20rpx;">
</image>
</view>
@ -155,7 +145,7 @@
</view>
</view>
</view>
<view style="padding: 30rpx;" v-if="none">
<view style="padding: 30rpx;" v-if="none || quit==1">
<view
style="background-color: #ffffff;border-radius: 20rpx;padding: 30rpx;text-align: center;font-size: 32rpx;font-weight: 600">
请入会后查看
@ -205,6 +195,49 @@
</view>
</tn-modal>
</view>
<!-- <view style="background-color: #ffffff;">
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="#ffffff">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="width: 100%;">
<view
style="text-align: center;font-size: 34rpx;color: #000000;letter-spacing: 1px;font-weight: bold;">
<text>规章制度</text>
</view>
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 10rpx;">
<view data-v-a2114eee=""
style="overflow-wrap: break-word; overflow: hidden;padding: 30rpx;line-height: 50rpx;">
<view style="text-align: start; text-indent: 2ch;">本会是河南省内的青年企业家自愿组成的全省性联合性非营利性社会团体<br></view>
<view style="text-align: start;"><text style="font-weight: 600;">本会宗旨</text></view>
<view style="text-align: start; text-indent: 2ch;">
坚持以习近平新时代中国特色社会主义思想为指导深入学习贯彻党的十九大精神和习近平总书记调研指导河南时的重要讲话全面落实习近平总书记关于青年工作的重要思想围绕中心服务党政工作大局服务青年企业家成长发展充分履行沟通交流促进发展维护权益等职责引导青年企业家爱党爱国爱人民为全面建成小康社会奋力谱写新时代中原更加出彩新篇章贡献青春智慧和力量
</view>
<view style="text-align: start; text-indent: 2ch;">
本会遵守宪法法律法规和国家政策践行社会主义核心价值观遵守社会道德风尚不损害国家利益社会公共利益以及其他组织和公民的合法权益
</view>
<view style="text-align: start;"><text style="font-weight: 600;">轮值会长制度</text></view>
<view style="text-align: start; text-indent: 2ch;">
本会实行会长办公会议制度理事会闭会期间由会长办公会议领导协会日常工作会长办公会议由本会会长常务副会长副会长和秘书长组成由会长或由会长委托一名副会长召集根据需要副秘书长可以列席会长办公会议会长办公会议须经2/3以上组成人员出席方能召开其决议须经到会人员2/3以上表决通过方为有效会长办公会议原则上每半年至少召开一次情况特殊的可采用通讯形式召开
</view>
<view style="text-align: start;"><text style="font-weight: 600;">行业委员会制度</text></view>
<view style="text-align: start;">本会设立行业委员会</view>
<view style="text-align: start; text-indent: 2ch;">
行业委员会设主任1名副主任若干名人选由本会秘书长提名会长办公会议决定各行业委员会在行业范围内按入会条件积极推荐会员推荐人选由本会秘书处审核报会长办公会批准后入会并自动进入该行业委员会行业委员会围绕协会中心任务依照本章程根据会员需要开展工作
</view>
<view style="text-align: start;"><text style="font-weight: 600;">财务管理制度</text></view>
<view style="text-align: start; text-indent: 2ch;">
本会按照国家统一的会计制度确定财务制度制定财务会计报告健全内控机制规范使用票据接受财政部门的监督财产来源于国家资助或社会捐赠资助的应当接受审计机关监督
</view>
<view style="text-align: start;">本会财务收支全部纳入本会开立的银行账户不使用其他组织或者个人的银行账户</view>
<view style="text-align: start;">本会配备具有专业资格的会计人员会计不得兼任出纳会计人员调动工作或者离职时必须与接管人员办清交接手续</view>
<view style="text-align: start;">本会换届或更换法定代表人之前必须进行财务审计</view>
<view style="text-align: start;">本会的全部资产及其增值为本会所有任何单位个人不得侵占私分和挪用也不得在会员中分配</view>
</view>
</view>
</view> -->
</template>
<script>
@ -227,14 +260,21 @@
sqMode: false,
page: 1,
none: false,
my_list: []
my_list: [],
quit: 0,
}
},
mounted() {
var quit = uni.getStorageSync('quit');
this.quit = quit;
this.getTweetsList();
this.getMyTweetsList();
},
methods: {
onload() {
var quit = uni.getStorageSync('quit');
this.quit = quit;
},
getMyTweetsList() {
tweetsList({
me: 1,
@ -265,9 +305,13 @@
openImg(item, index) {
console.log(index);
console.log(item.files);
var img = item.files;
var apiImgUrl = this.apiImgUrl;
const updatedImagePaths = img.map(path => `${apiImgUrl}${path}`);
console.log(updatedImagePaths);
uni.previewImage({
current: index,
urls: item.files,
urls: updatedImagePaths,
});
},
switchTabbar(d) {

View File

@ -50,11 +50,11 @@
</view>
<view style="font-size: 24rpx;margin: 20rpx 0rpx;color: #888888;">
<text class="tn-icon-time"></text>
<text>{{formatTime(item.activity_end_time)}}-{{formatTime(item.activity_start_time)}}</text>
<text>{{formatTime(item.activity_start_time)}}-{{formatTime(item.activity_end_time)}}</text>
</view>
<view class="tn-text-ellipsis" style="font-size:26rpx;color: #888888;">
<text class="tn-icon-location" style="vertical-align: middle;"></text>
<text style="vertical-align: middle;">{{item.activity_name}}</text>
<text style="vertical-align: middle;">{{item.activity_location}}</text>
</view>
</view>
<view style="position: absolute;top: 0rpx;left: 0rpx;">

View File

@ -30,11 +30,11 @@
<view style="font-size: 34rpx;color: #181818;font-weight: bold;">
{{login ? userInfo.nikename:'' }}
<tn-button v-if="!login " open-type="getPhoneNumber"
<tn-button v-if="!login" open-type="getPhoneNumber"
@getphonenumber="PhoneLogin">点击登陆</tn-button>
</view>
<view style="color: #E83A30;">
<text v-if="userInfo.if_xianshi==3">会费未缴纳</text>
<view v-if="userInfo.if_xianshi==3 && login" style="color: #E83A30;">
<text>会费未缴纳</text>
</view>
</view>
</view>
@ -94,18 +94,26 @@
fontColor="#181818" fontSize="30rpx" :arrow="true">好友申请</tn-list-cell> -->
<tn-list-cell padding="35rpx 30rpx" @click="tn('/pages/packageA/user/my_invoice')"
fontColor="#181818" fontSize="30rpx" :arrow="true">发票开取</tn-list-cell>
<tn-list-cell padding="35rpx 30rpx" @click="tn('/pages/packageA/user/my_invite')"
fontColor="#181818" fontSize="30rpx" :arrow="true">邀请会员</tn-list-cell>
<tn-list-cell padding="35rpx 30rpx" @click="tn('/pages/packageC/info/certificate')"
fontColor="#181818" fontSize="30rpx" :arrow="true">我的证书</tn-list-cell>
<!-- <tn-list-cell padding="35rpx 30rpx" fontColor="#181818" fontSize="30rpx"
:arrow="true">数据资料导出</tn-list-cell> -->
<tn-list-cell @click="loginAut" padding="35rpx 30rpx" fontColor="#181818"
<tn-list-cell v-if="login" @click="loginAut" padding="35rpx 30rpx" fontColor="#181818"
fontSize="30rpx" :arrow="true" :unlined="true">退出账号</tn-list-cell>
</tn-list-view>
</view>
</view>
<view style="text-align: center;font-size: 12px;;color: #CCCCCC;padding: 50rpx;">V{{vuex_version}}
</view>
</view>
</view>
</view>
<tn-modal v-model="HfModal.show" :title="HfModal.title" :content="HfModal.content" :button="HfModal.button"
@click="HfModalClick"></tn-modal>
<tn-modal v-model="userEditModal.show" :maskCloseable="false" :title="userEditModal.title"
:content="userEditModal.content" :button="userEditModal.button" @click="userEditModalClick"></tn-modal>
</view>
</template>
@ -126,7 +134,17 @@
content: '您的会费未缴纳,请及时缴纳!',
button: [{
text: '确定',
backgroundColor: 'tn-bg-indigo',
backgroundColor: '#3056D3',
fontColor: '#FFFFFF'
}]
},
userEditModal: {
show: false,
title: '系统提醒',
content: '您的会员信息不完整,请补充信息!',
button: [{
text: '确定',
backgroundColor: '#3056D3',
fontColor: '#FFFFFF'
}]
},
@ -151,24 +169,35 @@
//this.getcheckCode();
},
onShow() {
console.log('show');
},
methods: {
HfModalClick(d) {
console.log(d);
this.HfModal.show = false;
},
onload() {
var uid = uni.getStorageSync('uid');
this.uid = uid;
if (uid) {
this.getUserInfo();
var quit = uni.getStorageSync('quit');
if (quit == 0) {
var uid = uni.getStorageSync('uid');
this.uid = uid;
if (uid) {
this.getUserInfo();
}
}
},
PhoneLogin(d) {
console.log(d);
var openid = uni.getStorageSync('openid');
var recommendation_id_val = uni.getStorageSync('recommendation_id');
if (!recommendation_id_val) {
recommendation_id_val = '';
}
wxphoneLogin({
code: d.code,
openid: openid
openid: openid,
recommendation_id: recommendation_id_val
})
.then(res => {
console.log(res);
@ -178,9 +207,17 @@
icon: 'none',
duration: 2000
});
uni.setStorageSync('quit', 0);
uni.setStorageSync('uid', res.data.id);
uni.setStorageSync('openid', res.data.openid);
uni.setStorageSync('userInfo', res.data);
this.userInfo = res.data;
if (res.data.if_xianshi == 3) {
this.HfModal.show = true;
}
if (res.data.if_xianshi == 1) {
this.userEditModal.show = true;
}
this.login = true;
this.loginMod = false;
} else {
@ -232,6 +269,12 @@
if (res.data.if_xianshi == 3) {
this.HfModal.show = true;
}
if (res.data.if_xianshi == 1) {
if (res.data.dimension == '' || res.data.longitude == '' || res.data.dimension ==
null || res.data.longitude == null) {
this.userEditModal.show = true;
}
}
this.login = true;
uni.setStorageSync('userInfo', res.data);
}
@ -309,7 +352,10 @@
content: '确定要退出吗?',
success: function(res) {
if (res.confirm) {
uni.setStorageSync('quit', 1);
uni.removeStorageSync('birthDay');
uni.removeStorageSync('uid');
//uni.removeStorageSync('openid');
uni.removeStorageSync('userInfo');
that.login = false;
that.loginData.openid = '';
@ -327,6 +373,12 @@
url: e
})
},
userEditModalClick() {
this.userEditModal.show = false;
uni.navigateTo({
url: '/pages/packageB/event/user_area'
})
},
tn(e) {
var uid = uni.getStorageSync('uid');
console.log(this.userInfo);
@ -338,7 +390,7 @@
});
return;
}
if (this.userInfo.if_member == 2) {
if (this.userInfo.if_xianshi != 1) {
if (e == '/pages/packageA/user/my_edit') {
uni.showToast({
title: '请入会后查看',
@ -347,7 +399,7 @@
});
return;
}
if (e.includes("/pages/packageA/user/my_invite")) {
if (e.includes("/pages/index/pizz_info")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
@ -355,7 +407,23 @@
});
return;
}
if (e.includes("/pages/index/pizz_info")) {
if (e.includes("/pages/packageA/user/my_invoice")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
if (e.includes("/pages/packageC/info/certificate")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
if (e.includes("/pages/packageA/user/my_invite")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',

View File

@ -11,6 +11,7 @@
<text v-if="current==2">入会审核</text>
<text v-if="current==3">缴纳会费</text>
<text v-if="current==4">入会成功</text>
<text v-if="current==5">入会成功</text>
</view>
</view>
</tn-nav-bar>
@ -26,7 +27,6 @@
<view style="text-align: center;margin-top: 60rpx">
<tn-checkbox activeColor="#3056D3" v-model="checked1">同意入会协议</tn-checkbox>
</view>
</view>
</view>
<view
@ -66,14 +66,15 @@
</tn-form-item>
<block v-if="formData.reporting_method==2">
<tn-form-item label="推荐人姓名" :borderBottom="false" :labelWidth="180">
<tn-input placeholder="推荐人姓名" v-model="formData.recommendation_id"
inputAlign="right" :customStyle="{width: '440rpx'}" />
<!-- <tn-select v-model="tuijian_show" mode="single" :list="member_list"
@confirm="getTuiJianId"></tn-select> -->
<tn-input placeholder="推荐人姓名" :disabled="true" :clearable="false"
v-model="formData.recommendation_name" inputAlign="right"
@click="tuijian_show = true" :customStyle="{width: '440rpx'}" />
<tn-select v-model="tuijian_show" mode="single" :list="member_list"
@confirm="getTuiJianId"></tn-select>
</tn-form-item>
<tn-form-item label="推荐人单位名称及职务" :labelWidth="350">
<tn-input placeholder="推荐人单位名称及职务" :clearable="false" inputAlign="right"
v-model="formData.recommendation_content" />
<tn-input :disabled="true" placeholder="推荐人单位名称及职务" :clearable="false"
inputAlign="right" v-model="formData.recommendation_content" />
</tn-form-item>
</block>
<block v-if="formData.reporting_method==1">
@ -135,7 +136,7 @@
@click="getGenderId"></tn-action-sheet>
</tn-form-item>
<tn-form-item label="出生日期" required>
<tn-input @click="birth_time_show = true" disabled placeholder="填写出生日期"
<tn-input @click="birth_time_show = true" disabled placeholder="填写出生日期"
:clearable="false" inputAlign="right" :customStyle="{width: '470rpx'}"
v-model="formData.birth_time" />
<tn-picker mode="time" @confirm="birth_time_chick"
@ -204,7 +205,9 @@
</tn-form-item>
<tn-form-item label="手机号" required>
<tn-input disabled placeholder="填写手机号" :clearable="false" inputAlign="right"
:customStyle="{width: '470rpx'}" v-model="formData.phone" />
v-model="formData.phone" />
<tn-button slot="right" size="sm" backgroundColor="tn-bg-blue" fontColor="tn-color-white"
open-type="getPhoneNumber" @getphonenumber="getPhone">获取手机号</tn-button>
</tn-form-item>
<tn-form-item label="邮箱">
<tn-input placeholder="填写邮箱" :clearable="false" inputAlign="right"
@ -230,7 +233,7 @@
@confirm="getDqId"></tn-select>
</tn-form-item>
<tn-form-item prop="bank" :borderBottom="false">
<!-- <tn-form-item prop="bank" :borderBottom="false">
<view>
<view style="font-size: 32rpx;font-weight: 600;">证件照</view>
<view style="color: #FF7474;">请上传证件照照片将作为会员证照</view>
@ -243,8 +246,8 @@
</view>
</view>
</view>
</tn-form-item>
<tn-form-item prop="bank" :borderBottom="false">
</tn-form-item> -->
<!-- <tn-form-item prop="bank" :borderBottom="false">
<view>
<view style="font-size: 32rpx;font-weight: 600;">身份证照</view>
<view style="text-align: center;">
@ -264,7 +267,7 @@
</view>
</view>
</view>
</tn-form-item>
</tn-form-item> -->
</tn-form>
<view style="height: 1px;background-color: rgba(0, 0, 0, 0.1);width: 100%;"></view>
<view style="padding: 30rpx 0px;">
@ -630,6 +633,8 @@
<view style="margin-top: 20rpx;">
<tn-button @click="copy" backgroundColor="#3056D3" size="sm"
fontColor="#ffffff">复制链接</tn-button>
<tn-button @click="openPDF" backgroundColor="#3056D3" size="sm"
style="margin-left: 20rpx;" fontColor="#ffffff">PDF导出</tn-button>
</view>
</view>
<view
@ -663,6 +668,9 @@
class="time-line-item__content__time">
{{ item.desc }}
</view>
<view style="margin-top: 20rpx;" v-if="item.type==-1"><tn-button
@click="insPDF" backgroundColor="#3056D3" size="sm"
fontColor="#ffffff">PDF上传</tn-button></view>
</template>
</tn-time-line-item>
</view>
@ -775,8 +783,11 @@
MemberList,
applyInAdd,
getApplyToken,
getrecommendationSelect,
examineType,
getRegion
getRegion,
updateMemberPdf,
wxphoneLogin
} from '@/util/api.js';
import store from "@/store";
import string from "@/tuniao-ui/libs/function/string";
@ -784,6 +795,7 @@
export default {
data() {
return {
pdfUrl: '',
apiImgUrl: this.$store.state.imgUrl,
apiUpUrl: this.$store.state.apiUrl,
applyToken: '',
@ -813,7 +825,7 @@
birth_time_show: false,
checked1: false,
topCurrent: 0,
current: 1,
current: 0,
info: {},
tab_list: [{
name: '入会须知'
@ -828,18 +840,8 @@
}],
region_list: [],
tuijian_region_show: false,
workList: [{
star_time: '',
end_time: '',
time: '',
address: '',
book: '',
}],
contactsList: [{
name: '',
post: '',
phone: '',
}],
workList: [],
contactsList: [],
social_duties: [],
ssShow: false,
tuijian_type_show: false,
@ -866,7 +868,7 @@
password: '',
nikename: '',
gender_name: '',
gender: 0,
gender: -1,
birth_time: '',
nation: '',
political: '',
@ -972,7 +974,7 @@
}, {
label: '无党派人士'
}, {
label: '无党派人士'
label: '群众'
}],
xl_show: false,
xl_list: [{
@ -1044,15 +1046,60 @@
console.log('---Login---', r);
this.formData.phone = r.data.phone;
})
// var recommendation_id = uni.getStorageSync('recommendation_id');
// if (typeof(recommendation_id) != 'undefined' && recommendation_id) {
// this.getRecommendationInfo()
// }
this.getAssociationInfo();
this.getPlan();
this.getIndustry();
this.getRegionList();
this.getExamineType();
this.getToken();
this.getMemberList();
},
methods: {
getPhone(d) {
console.log(d);
var openid = uni.getStorageSync('openid');
var recommendation_id_val = uni.getStorageSync('recommendation_id');
if (!recommendation_id_val) {
recommendation_id_val = '';
}
wxphoneLogin({
code: d.code,
openid: openid,
recommendation_id: recommendation_id_val
})
.then(res => {
console.log(res);
if (res.code == 1) {
uni.showToast({
title: '获取成功!',
icon: 'none',
duration: 2000
});
uni.setStorageSync('quit', 0);
uni.setStorageSync('uid', res.data.id);
uni.setStorageSync('openid', res.data.openid);
uni.setStorageSync('userInfo', res.data);
this.formData.phone = res.data.phone;
} else {
uni.showToast({
title: '登陆失败!',
icon: 'none',
duration: 2000
});
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
openLocation() {
var that = this;
uni.chooseLocation({
@ -1189,30 +1236,39 @@
})
},
copy() {
var recommendation_id = uni.getStorageSync('recommendation_id');
if (typeof(recommendation_id) === 'undefined' || !recommendation_id) {
recommendation_id = 0;
}
var info = uni.getStorageSync('userInfo');
uni.setClipboardData({
data: 'https://hnyea.0rui.cn/dist/#/register?token=' + this.applyToken + '&openid=' + info
.openid,
.openid +
"&recommendation_id=" + recommendation_id,
success: function() {
console.log('success');
}
});
},
getMemberList() {
MemberList({
association_id: store.state.Gid,
})
getrecommendationSelect()
.then(res => {
if (res.code == 1) {
var key = res.data;
var transformedSelectList = key.map(item => ({
value: item.id,
label: item.nikename
label: item.nikename,
work_unit: item.work_unit,
unit_position: item.unit_position
}));
if (this.new_info.recommendation_id != 0) {
var index = transformedSelectList.findIndex(item => item.value == this.new_info
.recommendation_id);
this.new_info.recommendation_name = transformedSelectList[index].label;
var recommendation_id = uni.getStorageSync('recommendation_id');
if (typeof(recommendation_id) != 'undefined' && recommendation_id) {
var index = transformedSelectList.findIndex(item => item.value == recommendation_id);
this.formData.recommendation_name = transformedSelectList[index].label;
this.formData.recommendation_id = transformedSelectList[index].value;
this.formData.recommendation_content = transformedSelectList[index].work_unit +
transformedSelectList[index].unit_position;
this.getTuiJianTypeId(1);
}
this.member_list = transformedSelectList;
}
@ -1296,8 +1352,11 @@
},
getTuiJianId(d) {
var info = d[0];
var index = this.member_list.findIndex(item => item.value == info.value);
this.formData.recommendation_id = info.value;
this.formData.recommendation_name = info.label;
this.formData.recommendation_content = this.member_list[index].work_unit + this.member_list[index]
.unit_position
},
getPositionId(d) {
var info = d[0];
@ -1427,6 +1486,7 @@
});
},
newSubmit() {
if (this.formData.phone == '') {
uni.showToast({
title: '请填写手机号码!',
@ -1452,6 +1512,47 @@
});
return;
}
if (this.formData.gender == -1) {
uni.showToast({
title: '请选择性别!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.birth_time == '') {
uni.showToast({
title: '请填写出生日期!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.nation == '') {
uni.showToast({
title: '请填写民族!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.political == '') {
uni.showToast({
title: '请选择政治面貌!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.card_number == '') {
uni.showToast({
title: '请填写身份证号!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.enterprise_name == '') {
uni.showToast({
title: '请填写企业名称!',
@ -1460,7 +1561,62 @@
});
return;
}
if (this.formData.work_unit == '') {
uni.showToast({
title: '请填写工作单位!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.unit_position == '') {
uni.showToast({
title: '请填写单位职务!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.mail_address == '') {
uni.showToast({
title: '请填写通讯地址!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.enterprise_name == '') {
uni.showToast({
title: '请填写企业名称!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.enterprise_location == '') {
uni.showToast({
title: '请填写企业注册地!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.unified_code == '') {
uni.showToast({
title: '请填写统一社会信用代码!',
icon: 'none',
duration: 2000
});
return;
}
if (this.formData.registered_capital == '') {
uni.showToast({
title: '请填写注册资金!',
icon: 'none',
duration: 2000
});
return;
}
if (this.workList.length > 0) {
if (this.workList[0].star_time == '') {
uni.showToast({
@ -1861,6 +2017,104 @@
}
},
insPDF() {
var that = this;
wx.chooseMessageFile({
count: 1, //100
extension: ['pdf', '.pdf'],
type: 'file',
success: function(res) {
console.log(res);
uni.showLoading({
title: '上传中...'
});
var filePath = res.tempFiles[0].path;
uni.uploadFile({
url: that.apiUpUrl + '/common/upload', //
filePath: filePath,
name: 'file',
formData: {
association_id: 1,
},
success: (uploadFileRes) => {
var data = JSON.parse(uploadFileRes.data);
console.log(data);
that.pdfUrl = data.data.url;
if (data.code == 1) {
that.insPdfDo();
} else {
uni.showToast({
title: data.msg,
icon: 'none',
duration: 2000
});
}
},
fail() {
uni.hideLoading();
}
});
},
fail() {
uni.hideLoading();
}
});
},
insPdfDo() {
updateMemberPdf({
pdf_url: this.pdfUrl,
})
.then(res => {
console.log(res);
uni.hideLoading();
if (res.code == 1) {
uni.showToast({
icon: 'none',
title: res.msg,
duration: 2000
});
}
})
.catch(error => {
uni.hideLoading();
uni.showToast({
title: error,
duration: 2000
});
})
},
openPDF() {
uni.showLoading({
title: '下载中...'
});
var openid = uni.getStorageSync('openid');
var url = `https://hnyea.0rui.cn/api/move/pdf_member/exportPdf?openid=${openid}`;
uni.downloadFile({
url: url,
success(res) {
uni.hideLoading();
console.log(res, '下载结果');
var filePath = res.tempFilePath;
if (res.statusCode == 200) {
uni.openDocument({
filePath: filePath,
showMenu: true,
success: function(res) {
console.log('打开文档成功');
}
});
} else {
uni.showToast({
title: res.errMsg,
icon: 'none',
duration: 2000
});
}
}
})
},
}
}
</script>

View File

@ -23,11 +23,12 @@
style="padding-left: 20rpx;border-radius: 20rpx 20rpx 0rpx 0rpx;color: #FF6D66;background: rgba(255,109,102,0.1);height: 100rpx;line-height: 100rpx">
拒绝原因{{item.remark}}</view>
<view style="padding:30rpx;">
<view class="tn-text-ellipsis-2"
<view class="tn-text-ellipsis-2" @click="tn('/pages/packageB/paper/paper_info?id='+item.id)"
style="font-size: 32rpx;font-weight: bold;margin-top: 20rpx;">
{{item.title}}
</view>
<view class="tn-text-ellipsis-2" style="font-size: 28rpx;color: #666666;margin-top: 20rpx;">
<view class="tn-text-ellipsis-2" style="font-size: 28rpx;color: #666666;margin-top: 20rpx;"
@click="tn('/pages/packageB/paper/paper_info?id='+item.id)">
{{item.content}}
</view>
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
@ -41,14 +42,14 @@
<view class="tn-flex-basic-xs" v-for="(img,img_i) in item.files"
style="text-align: center;">
<view style="padding-right: 10rpx;">
<image :src="apiImgUrl+img" @click="openImg(item,img_i)"
<image :src="apiImgUrl+img" @click="openImg(item,img_i)" mode="aspectFill"
style="width: 200rpx;height: 200rpx;border-radius:20rpx;">
</image>
</view>
</view>
</view>
</view>
<view style="margin-top: 30rpx;padding:30rpx;">
<!-- <view style="margin-top: 30rpx;padding:30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
<view style="text-align: center;font-size: 28rpx;">
<text class="tn-icon-send" style="font-size: 32rpx;"></text>
@ -74,7 +75,7 @@
</view>
</view>
</view>
</view> -->
<view @click="del(item)" style="text-align: right;font-size: 24rpx;color: #AAAAAA">删除
</view>
</view>
@ -100,10 +101,16 @@
list: [],
apiImgUrl: this.$store.state.imgUrl,
current: 0,
type:2,
tab_list: [{
name: '发布成功'
name: '发布成功',
type:2
},{
name: '审核中',
type:1,
}, {
name: '发布失败'
name: '发布失败',
type:3,
}],
page: 1,
}
@ -159,6 +166,7 @@
},
change(index) {
this.current = index;
this.type=this.tab_list[this.current].type;
this.page = 1;
this.list = [];
this.getTweetsList();
@ -166,9 +174,13 @@
openImg(item, index) {
console.log(index);
console.log(item.files);
var img = item.files;
var apiImgUrl = this.apiImgUrl;
const updatedImagePaths = img.map(path => `${apiImgUrl}${path}`);
console.log(updatedImagePaths);
uni.previewImage({
current: index,
urls: item.files,
urls: updatedImagePaths,
});
},
switchTabbar(d) {
@ -195,13 +207,13 @@
me: 1,
association_name: 1,
page: this.page,
state: this.current == 0 ? 2 : 3,
state: this.type,
size: 10
})
.then(res => {
console.log(res);
if (res.code == 1) {
this.list.push(...res.data.data);
this.list.push(...res.data);
}
})
.catch(error => {

View File

@ -24,19 +24,19 @@
@click="openUrl(current==0?'/pages/packageB/event/event_info?id='+item.id:'/pages/packageB/paper/paper_info?id='+item.id)"
style="background-color: #FFF;border-radius: 20rpx;">
<view class="tn-flex" style="position: relative;">
<view style="margin-left: 10rpx;" v-if="item.related_object.cover!=''">
<image :src="apiImgUrl+item.related_object.cover" mode="aspectFill"
<view style="margin-left: 10rpx;" v-if="item.cover!=''">
<image :src="apiImgUrl+item.cover" mode="aspectFill"
style="width: 250rpx;height: 180rpx;border-radius: 10rpx;"></image>
</view>
<view style="margin-left: 20rpx;">
<view class="tn-text-ellipsis-2" style="font-size: 32rpx;font-weight: bold;">
{{item.related_object.title}}
{{item.title}}
</view>
<view class="tn-text-ellipsis-2" style="font-size: 24rpx;margin-top: 20rpx;">
{{item.related_object.content}}
{{item.content}}
</view>
<view style="font-size: 24rpx;margin-top: 20rpx;color: #999999;">
{{item.createtime}}
{{item.time}}
</view>
</view>
</view>
@ -93,7 +93,28 @@
})
.then(res => {
console.log(res);
this.list.push(...res.data.data);
var list = res.data.data;
if (nw_type == 'article') {
var transformedSelectList = list.map(item => ({
content: item.related_object.activity_location,
cover: item.related_object.activity_image,
id: item.related_id,
title: item.related_object.activity_name,
time: item.createtime,
}));
console.log(transformedSelectList);
this.list.push(...transformedSelectList);
} else {
var transformedSelectList = list.map(item => ({
content: item.related_object.content,
cover: item.related_object.cover,
id: item.related_id,
title: item.related_object.title,
time: item.createtime,
}));
console.log(transformedSelectList);
this.list.push(...transformedSelectList);
}
})
.catch(error => {
uni.showToast({

View File

@ -1,674 +0,0 @@
<template>
<view class="tn-safe-area-inset-bottom" style="background: rgba(242, 241, 246, 1);">
<!-- 顶部自定义导航 -->
<tn-nav-bar :isBack="false" backTitle="" :alpha="true" :bottomShadow="false">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view class="tn-margin-top" @click="goBack()"
style="text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'信息修改'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="24"></tn-tabs>
</view>
</view>
</tn-nav-bar>
<view style="width: 100%;height: 450rpx;position: absolute;top: 0;">
<image v-if="addMod.background_image==''" src="/static/my.png" style="width: 100%;height: 450rpx;"></image>
<image v-if="addMod.background_image!=''" :src="apiImgUrl+addMod.background_image"
style="width: 100%;height: 450rpx;"></image>
<view style="bottom: 28rpx;position: absolute;left: 28rpx;">
<view @click="d_img(1)" style="width: 150rpx;height: 150rpx;position: relative;">
<image :src="apiImgUrl+addMod.photo_image" mode="aspectFill"
style="width: 150rpx;height: 150rpx;border-radius: 50%;"></image>
<image src="/static/pic.png"
style="height: 50rpx;width: 50rpx;position: absolute;right: 0;bottom: 0;">
</image>
</view>
</view>
<view style="bottom: 50rpx;right: 28rpx;position: absolute;">
<tn-button @click="d_img(3)" shape="round" padding="10rpx 40rpx" backgroundColor="#ffffff"
fontColor="rgba(65, 142, 242, 1);">更改背景</tn-button>
</view>
</view>
<view class="tn-margin-top" style="padding-top: 450rpx;z-index:1;">
<view style="font-size: 32rpx;color: rgba(119, 119, 119, 1);padding:25rpx 0rpx 30rpx 50rpx;">个人资料</view>
<view style="padding: 0px 30rpx;;">
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx" @click="openMode(0)">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">姓名</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{addMod.nikename}}</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx"
@click="position_id_show = true">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">协会职务</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{position_id_name}}</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
<tn-select v-model="position_id_show" mode="single" :list="position_list"
@confirm="getpositionId"></tn-select>
</tn-list-view>
<!-- <tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx"
@click="region_id_show = true">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">所属区域</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{region_id_name}}</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
<tn-select v-model="region_id_show" mode="single" :list="region_list"
@confirm="getregionId"></tn-select>
</tn-list-view> -->
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">性别</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center"
@click="sex_id_show = true">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{addMod.gender==0?'女':'男'}}
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
<tn-select v-model="sex_id_show" mode="single" :list="sex_list" @confirm="getsexId"></tn-select>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx" @click="openMode(1)">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">联系方式</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{addMod.phone}}</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx" @click="openMode(4)">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">个人经历</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view
style="font-size: 28rpx; color: rgba(102, 102, 102, 1);width: 400rpx;text-align: right;"
class="tn-text-ellipsis">{{addMod.introduction}}
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
<view style="font-size: 32rpx;color: rgba(119, 119, 119, 1);padding:25rpx 0rpx 30rpx 30rpx;">公司资料</view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx" @click="openMode(2)">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">公司名称</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{addMod.enterprise_name}}
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">公司行业</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center"
@click="industry_id_show = true">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">{{industry_id_name}}</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
<tn-select v-model="industry_id_show" mode="single" :list="industry_list"
@confirm="getindustryId"></tn-select>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between tn-flex-center tn-flex-col-center"
style="padding: 30rpx">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">公司Logo</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center" @click="d_img(2)">
<view>
<view v-if="addMod.company_image==''">暂无</view>
<image v-if="addMod.company_image!=''" :src="apiImgUrl+addMod.company_image"
style="width: 95rpx;" mode="widthFix"></image>
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx" @click="openMode(3)">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">公司地址</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view
style="font-size: 28rpx; color: rgba(102, 102, 102, 1);width: 400rpx;text-align: right;"
class="tn-text-ellipsis">
{{addMod.enterprise_location}}
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
<tn-list-view :customTitle="true" backgroundColor="transparent">
<view slot="title" class="tn-flex tn-flex-row-between" style="padding: 30rpx" @click="openMode(5)">
<view style="font-size: 32rpx;color: #000000;font-weight: 500;">公司介绍</view>
<view class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view
style="font-size: 28rpx; color: rgba(102, 102, 102, 1);width: 400rpx;text-align: right;"
class="tn-text-ellipsis">
{{addMod.enterprise_Introduction}}
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</view>
</tn-list-view>
</view>
<view class="tn-flex">
<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
<tn-button backgroundColor="rgb(65, 142, 242)" shape="round" fontColor="#ffffff" padding="40rpx 0"
width="90%" fontBold @click="setUserEditDo">
<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
<text>提交审核</text>
</tn-button>
</view>
</view>
</view>
<tn-modal v-model="editInput" :custom="true">
<view style="text-align: center;margin-top: 30rpx;">
<block v-if="editType==0">
<view style="text-align: center;font-size: 30rpx;margin-bottom: 20rpx;">姓名修改</view>
<tn-input :border="true" v-model="addMod.nikename" placeholder="请填写姓名"
:customStyle="{width:'400rpx'}" />
</block>
<block v-if="editType==1">
<view style="text-align: center;font-size: 30rpx;margin-bottom: 20rpx;">联系方式</view>
<tn-input :border="true" v-model="addMod.phone" placeholder="请填写联系方式"
:customStyle="{width:'400rpx'}" />
</block>
<block v-if="editType==2">
<view style="text-align: center;font-size: 30rpx;margin-bottom: 20rpx;">公司名称</view>
<tn-input :border="true" v-model="addMod.enterprise_name" placeholder="请填写公司名称"
:customStyle="{width:'400rpx'}" />
</block>
<block v-if="editType==3">
<view style="text-align: center;font-size: 30rpx;margin-bottom: 20rpx;">公司地址</view>
<tn-input :border="true" v-model="addMod.enterprise_location" placeholder="请填写公司地址"
:customStyle="{width:'400rpx'}" />
</block>
</view>
<view class="tn-flex tn-flex-row-center" style="margin-top: 50rpx;">
<tn-button @click="editInput = false" width="250rpx" backgroundColor="#82B2FF"
fontColor="#ffffff">确定</tn-button>
</view>
</tn-modal>
<tn-popup v-model="editText" mode="right" width="100%">
<tn-nav-bar :isBack="false" backTitle="" :alpha="true" :bottomShadow="false">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="editText = false">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view class="tn-margin-top"
style=";text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:editType==4?'编辑个人经历':'编辑公司介绍'}]" :current="topCurrent" activeColor="#000"
:bold="false" :fontSize="24"></tn-tabs>
</view>
</view>
</tn-nav-bar>
<view style="background: rgba(242, 241, 246, 1);height: 100%;">
<view :style="{paddingTop: vuex_custom_bar_height + 20+'px'}"></view>
<view style="margin:30rpx;background-color: #ffffff;border-radius: 40rpx;">
<view style="padding: 30rpx;">
<tn-input v-if="editType==4" :maxLength="1000" v-model="introduction" :clearable="false"
:height="400" type="textarea" :customStyle="{lineHeight:'42rpx',color:'#777777'}" />
<tn-input v-if="editType==5" :maxLength="1000" v-model="enterprise_Introduction"
:clearable="false" :height="400" type="textarea"
:customStyle="{lineHeight:'42rpx',color:'#777777'}" />
</view>
</view>
<view class="tn-flex tn-flex-center tn-flex-row-center" style="color: #ffffff;">
<view @click="editText = false"
style="width: 300rpx;height: 80rpx;background: #d9d9d9;text-align: center;line-height: 80rpx;">
取消</view>
<view @click="editTextDo()"
style="width: 300rpx;height: 80rpx;background: #418EF2;margin-left: 48rpx;text-align: center;line-height: 80rpx;">
确定</view>
</view>
</view>
</tn-popup>
<l-clipper v-if="show" :image-url="imageUrl" @success="caiDo($event,1)" @cancel="show = false" />
<l-clipper v-if="enterprise_show" :image-url="enterpriseImageUrl" @success="caiDo($event,2)"
@cancel="enterprise_show = false" />
<l-clipper v-if="back_show" width="750" height="422" max-width="750" max-height="422" :image-url="backImageUrl"
@success="caiDo($event,3)" @cancel="back_show = false" />
</view>
</template>
<script>
import {
getUserIndex,
setUserEdit,
IndustryList,
getPosition,
getRegion
} from "@/util/api";
import store from "@/store";
export default {
data() {
return {
editInput: false,
editText: false,
show: false,
enterprise_show: false,
back_show: false,
imageUrl: '',
enterpriseImageUrl: '',
backImageUrl: '',
topCurrent: 0,
showAuthorizationModal: false,
index: 0,
date: '2000-01-29',
userInfo: {},
editType: '',
introduction: '',
enterprise_Introduction: '',
addMod: {
photo_image: '',
member_id: '',
nikename: '',
phone: '',
wx_number: '',
introduction: '',
enterprise_name: '',
enterprise_location: '',
enterprise_Introduction: '',
association_id: '',
industry_id: '',
company_image: '',
background_image: '',
background_type: 3,
position_id: '',
gender: 0,
region_id: '',
},
apiImgUrl: this.$store.state.imgUrl,
apiUpUrl: this.$store.state.apiUrl,
industry_id_show: false,
industry_id_name: '',
industry_list: [],
position_id_show: false,
position_id_name: '',
position_list: [],
region_id_show: false,
region_id_name: '',
region_list: [],
sex_id_show: false,
sex_list: [{
label: '女',
value: 0
}, {
label: '男',
value: 1
}],
}
},
onLoad() {
var uid = uni.getStorageSync('uid');
this.uid = uid;
this.getUserInfo();
},
methods: {
openMode(type) {
this.editType = type;
if (type < 4) {
this.editInput = true;
} else {
if (type == 4) {
this.introduction = this.addMod.introduction;
}
if (type == 5) {
this.enterprise_Introduction = this.addMod.enterprise_Introduction;
}
this.editText = true;
}
},
editTextDo() {
if (this.editType == 4) {
this.addMod.introduction = this.introduction;
}
if (this.editType == 5) {
this.addMod.enterprise_Introduction = this.enterprise_Introduction;
}
this.editText = false;
},
getindustryId(d) {
console.log(d);
var info = d[0];
this.industry_id_name = info.label;
this.addMod.industry_id = info.value;
},
getpositionId(d) {
console.log(d);
var info = d[0];
this.position_id_name = info.label;
this.addMod.position_id = info.value;
},
getregionId(d) {
console.log(d);
var info = d[0];
this.region_id_name = info.label;
this.addMod.region_id = info.value;
},
getsexId(d) {
var info = d[0];
this.addMod.gender = info.value;
},
getRegionList() {
getRegion({
association_id: this.addMod.association_id,
})
.then(res => {
if (res.code == 1) {
var key = res.data;
const transformedSelectList = key.map(item => ({
value: item.id,
label: item.region_name
}));
this.region_list = transformedSelectList;
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
getIndustry() {
IndustryList({
association_id: this.addMod.association_id,
})
.then(res => {
if (res.code == 1) {
var key = res.data;
var transformedSelectList = key.map(item => ({
value: item.id,
label: item.industry_name
}));
transformedSelectList.push({
value: -1,
label: '其他行业'
});
this.industry_list = transformedSelectList;
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
getPositionList() {
getPosition({
association_id: this.addMod.association_id,
})
.then(res => {
if (res.code == 1) {
var key = res.data;
const transformedSelectList = key.map(item => ({
value: item.id,
label: item.position_name
}));
this.position_list = transformedSelectList;
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
caiDo(d, type) {
var that = this;
var url = d.url;
uni.uploadFile({
url: that.apiUpUrl + '/common/upload', //
filePath: url,
name: 'file',
success: (uploadFileRes) => {
var data = JSON.parse(uploadFileRes.data);
console.log(data);
if (type == 1) {
that.addMod.photo_image = data.data.url;
that.show = false;
that.imageUrl = '';
}
if (type == 2) {
that.addMod.company_image = data.data.url;
that.enterprise_show = false;
that.enterpriseImageUrl = '';
}
if (type == 3) {
that.addMod.background_image = data.data.url;
that.back_show = false;
that.backImageUrl = '';
}
}
});
},
d_img(type) {
var that = this;
uni.chooseMedia({
count: 1, //9
mediaType: ['image', 'video'],
sizeType: ['original', 'compressed'], //
sourceType: ['album'], //
success: function(res) {
console.log(res);
var url = res.tempFiles[0].tempFilePath;;
if (res.type == 'video') {
uni.showToast({
title: '暂不支持视频',
icon: 'none',
duration: 2000
});
return;
} else {
that.addMod.background_type = 2;
if (type == 1) {
that.imageUrl = url;
that.show = true;
}
if (type == 2) {
that.enterprise_show = true;
that.enterpriseImageUrl = url;
}
if (type == 3) {
that.back_show = true;
that.backImageUrl = url;
}
}
}
});
},
setUserEditDo() {
setUserEdit(this.addMod)
.then(res => {
console.log(res);
if (res.code == 1) {
uni.showToast({
title: '信息已提交审核',
icon: 'none',
duration: 2000
});
} else {
uni.showModal({
title: '提示',
content: res.msg,
});
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
getUserInfo() {
getUserIndex({
member_b_id: this.uid,
member_id: this.uid
})
.then(res => {
console.log(res);
this.addMod = {
photo_image: res.data.photo_image,
member_id: res.data.member_id,
nikename: res.data.nikename,
phone: res.data.phone,
wx_number: res.data.wx_number,
introduction: res.data.introduction == null || res.data.introduction == '' ? '无' : res
.data.introduction,
enterprise_name: res.data.enterprise_name == null || res.data.enterprise_name == '' ?
'无' : res.data.enterprise_name,
enterprise_location: res.data.enterprise_location == null || res.data
.enterprise_location == '' ? '无' : res.data
.enterprise_location,
enterprise_Introduction: res.data.enterprise_Introduction == null || res.data
.enterprise_Introduction == '' ? '无' : res.data
.enterprise_Introduction,
association_id: res.data.association_id,
industry_id: res.data.industry_id,
company_image: res.data.company_image,
background_image: res.data.background_image,
background_type: res.data.background_type,
position_id: res.data.position_id,
gender: res.data.gender,
region_id: res.data.region_id,
};
this.region_id_name = res.data.region_name == null ? '无' : res.data.region_name;
this.industry_id_name = res.data.industry_name == null ? '无' : res.data.industry_name;
this.position_id_name = res.data.position_name == null ? '无' : res.data.position_name;
this.getIndustry();
this.getPositionList();
this.getRegionList();
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
//
tn(e) {
uni.navigateTo({
url: e,
});
},
goBack() {
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.redirectTo({
url: '/pages/index/index'
})
}
},
}
}
</script>
<style lang="scss" scoped>
/* 授权 */
.login-page {
width: 100vw;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
/* 授权按钮 */
.submit-btn {
width: 100%;
background-color: #05C160;
color: #FFFFFF;
margin-top: 60rpx;
border-radius: 10rpx;
padding: 25rpx;
font-size: 32rpx;
display: flex;
align-items: center;
justify-content: center;
margin: 30rpx;
}
/* 间隔线 start*/
.tn-strip-bottom-min {
width: 100%;
border-bottom: 1rpx solid #F8F9FB;
}
.tn-strip-bottom {
width: 100%;
border-bottom: 20rpx solid rgba(241, 241, 241, 0.8);
}
/* 间隔线 end*/
/* 用户头像 start */
.logo-image {
width: 80rpx;
height: 80rpx;
position: relative;
}
.logo-pic {
background-size: cover;
background-repeat: no-repeat;
// background-attachment:fixed;
background-position: top;
border: 2rpx solid rgba(255, 255, 255, 0.05);
box-shadow: 0rpx 0rpx 80rpx 0rpx rgba(0, 0, 0, 0.15);
border-radius: 50%;
overflow: hidden;
// background-color: #FFFFFF;
}
/* 底部悬浮按钮 start*/
.tn-tabbar-height {
min-height: 100rpx;
height: calc(120rpx + env(safe-area-inset-bottom) / 2);
}
.tn-footerfixed {
position: fixed;
width: 100%;
bottom: calc(30rpx + env(safe-area-inset-bottom));
z-index: 1024;
box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0);
}
/* 底部悬浮按钮 end*/
</style>

View File

@ -1,48 +1,63 @@
<template>
<view class="template-edit tn-safe-area-inset-bottom">
<!-- 顶部自定义导航 -->
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="true" backgroundColor="#FFFFFF">
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view class="tn-margin-top"
style=";text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'邀请入会'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="36"></tn-tabs>
<view style="width: 83%;font-weight: bold;">
邀请会员
</view>
</view>
</tn-nav-bar>
<view class="tn-safe-area-inset-bottom" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding: 50rpx">
<view>
<tn-button @click="openQrcode" backgroundColor="#82B2FF" height="80rpx" :shadow="true"
fontColor="#ffffff" width="100%">生成二维码</tn-button>
<view class="tn-safe-area-inset-bottom" :style="{ paddingTop: vuex_custom_bar_height + 'px' }">
<!-- 顶部卡片 -->
<view class="invite-card tn-shadow-blur">
<view class="card-stats">
<view class="stat-item">
<text class="number">{{ inviteCount}}</text>
<text class="label">已邀请</text>
</view>
</view>
<view style="margin-top: 40rpx">
<tn-button open-type="share" backgroundColor="#82B2FF" height="80rpx" :shadow="true"
fontColor="#ffffff" width="100%">转发到微信好友</tn-button>
<!-- 按钮组 -->
<view class="button-group">
<!-- <tn-button @click="openQrcode" class="invite-btn" backgroundColor="#FFFFFF" height="80rpx"
:shadow="true" fontColor="#5C8FFF">
<text class="tn-icon-qr-code"></text> 生成二维码
</tn-button> -->
<tn-button open-type="share" width="100%" class="invite-btn" backgroundColor="#FFFFFF"
height="80rpx" :shadow="true" fontColor="#5C8FFF">
<text class="tn-icon-share"></text> 邀请好友
</tn-button>
</view>
</view>
<!-- 邀请列表 -->
<view class="invite-list">
<view class="list-header">
<text class="title">邀请记录</text>
<text class="count">{{ inviteCount }}</text>
</view>
<view class="list-content">
<view v-for="(item, index) in inviteList" :key="index" class="list-item tn-flex tn-flex-row">
<image v-if="item.photo_image!=''&&item.photo_image!=null" :src="apiImgUrl+item.photo_image"
class="avatar" mode="aspectFill">
</image>
<image v-if="item.photo_image==''||item.photo_image==null" src="/static/def.png" class="avatar"
mode="aspectFill">
</image>
<view class="info">
<view class="name">{{ item.nikename || '匿名用户' }}</view>
<view class="time">{{ item.createtime || '未知时间' }}</view>
</view>
<view class="status" :class="item.if_xianshi === 1 ? 'success' : 'pending'">
{{ item.if_xianshi === 1 ? '已入会' : '未入会' }}
</view>
</view>
</view>
</view>
<!-- <view style="padding:20rpx 40rpx">-->
<!-- <view style="font-size: 32rpx">我邀请的会员30</view>-->
<!-- <view>-->
<!-- <view class="tn-flex tn-flex-center tn-flex-col-center" style="padding: 30rpx;width: 100%;">-->
<!-- <view>-->
<!-- <image src="/static/def.png" style="width: 100rpx;height: 100rpx;border-radius: 50%;">-->
<!-- </image>-->
<!-- </view>-->
<!-- <view style="width: 100%;">-->
<!-- <view class="tn-flex tn-flex-col-center tn-flex-row-between">-->
<!-- <view style="margin-left: 20rpx;color: #000000">-->
<!-- <view style="font-size: 35rpx;">王小明</view>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
</view>
<tn-popup :closeBtn="true" v-model="show" mode="center" width="500rpx" height="700rpx">
<div style="text-align: center;padding: 30rpx;font-size: 32rpx;font-weight: 600;">使用二维码邀请入会</div>
@ -61,31 +76,36 @@
<script>
import {
getUserIndex,
getQrcode
getQrcode,
getrecommendationList
} from "@/util/api";
import store from "@/store";
export default {
data() {
return {
apiImgUrl: this.$store.state.imgUrl,
apiUpUrl: this.$store.state.apiUrl,
show: false,
topCurrent: 0,
uid: 0,
userInfo: {},
apiImgUrl: this.$store.state.imgUrl,
qrcode_url: ''
qrcode_url: '',
inviteList: [],
inviteCount: 0,
page: 1
}
},
onShareAppMessage() {
return {
title: this.userInfo.nikename + '邀请你加入【' + this.userInfo.association_name + '】',
path: '/pages/packageA/user/apply_in?id=' + this.uid + "&association_id=" + this.userInfo.association_id,
path: '/pages/index/index?id=' + this.uid,
imageUrl: this.apiImgUrl + this.userInfo.association_image,
}
},
onShareTimeline() { //
return {
title: this.userInfo.nikename + '邀请你加入【' + this.userInfo.association_name + '】',
path: '/pages/packageA/user/apply_in?id=' + this.uid + "&association_id=" + this.userInfo.association_id,
path: '/pages/index/index?id=' + this.uid,
imageUrl: this.apiImgUrl + this.userInfo.association_image,
}
},
@ -93,6 +113,11 @@
var u = uni.getStorageSync('uid');
this.uid = u;
this.getUserInfo();
this.getList();
},
onReachBottom() {
this.page += 1;
this.getList();
},
methods: {
saveBase64() {
@ -171,6 +196,27 @@
});
})
},
getList() {
console.log(1);
getrecommendationList({
page: this.page,
size: 10
})
.then(res => {
console.log(res);
if (res.code == 1) {
this.inviteList.push(...res.data.ret);
this.inviteCount = res.data.count;
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
//
tn(e) {
uni.navigateTo({
@ -224,4 +270,139 @@
}
/* 标签内容 end*/
/* 邀请卡片 */
.invite-card {
margin: 30rpx;
padding: 40rpx;
background: linear-gradient(45deg, #5C8FFF, #82B2FF);
border-radius: 24rpx;
color: #FFFFFF;
.card-title {
font-size: 32rpx;
font-weight: bold;
margin-bottom: 20rpx;
}
.card-content {
.invite-code {
font-size: 48rpx;
font-weight: bold;
letter-spacing: 4rpx;
}
}
.card-stats {
margin: 30rpx 0;
.stat-item {
text-align: center;
.number {
font-size: 80rpx;
font-weight: bold;
display: block;
}
.label {
font-size: 24rpx;
opacity: 0.8;
}
}
}
.button-group {
display: flex;
gap: 20rpx;
.invite-btn {
width: 100%;
flex: 1;
border-radius: 40rpx;
.tn-icon-qr-code,
.tn-icon-share {
margin-right: 10rpx;
}
}
}
}
/* 邀请列表 */
.invite-list {
margin: 30rpx;
background-color: #FFFFFF;
border-radius: 24rpx;
padding: 30rpx;
.list-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30rpx;
.title {
font-size: 32rpx;
font-weight: bold;
color: #333333;
}
.count {
font-size: 28rpx;
color: #999999;
}
}
.list-content {
.list-item {
display: flex;
align-items: center;
padding: 20rpx 0;
border-bottom: 1rpx solid #F5F5F5;
&:last-child {
border-bottom: none;
}
.avatar {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
margin-right: 20rpx;
}
.info {
flex: 1;
.name {
font-size: 28rpx;
color: #333333;
margin-bottom: 6rpx;
}
.time {
font-size: 24rpx;
color: #999999;
}
}
.status {
font-size: 24rpx;
padding: 4rpx 16rpx;
border-radius: 20rpx;
&.success {
background-color: #E8F3FF;
color: #5C8FFF;
}
&.pending {
background-color: #FFF7E6;
color: #FFA726;
}
}
}
}
}
</style>

View File

@ -10,8 +10,8 @@
</view>
</view>
</tn-nav-bar>
<view class="tn-safe-area-inset-bottom" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view v-if="allList.length==0" style="text-align: center;padding-top: 200rpx;">
<view class="tn-safe-area-inset-bottom" :style="{ paddingTop: vuex_custom_bar_height + 'px' }">
<view v-if="allList.length == 0" style="text-align: center;padding-top: 200rpx;">
<image class="no-img" src="/static/_6@2x.png" style="width: 250rpx;" mode="widthFix"></image>
<view style="font-size: 34rpx;font-weight: bold;margin-top: 40rpx;">暂无发票数据</view>
<view style="font-size: 28rpx;color: #BABDC7;margin-top: 20rpx;">未查找到您的发票信息赶快去申请</view>
@ -24,27 +24,27 @@
<view v-for="item in allList"
style="margin-bottom: 30rpx;background-color: #FFF;border-radius: 20rpx;padding: 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
<view style="font-size: 32rpx;font-weight: bold;">{{item.unit}}</view>
<view v-if="item.if_ssue==3" style="color: #FF9847;">
<view style="font-size: 32rpx;font-weight: bold;">{{ item.unit }}</view>
<view v-if="item.if_ssue == 3" style="color: #FF9847;">
<text>待审核</text>
<text class="tn-icon-right"></text>
</view>
<view v-if="item.if_ssue==2" style="color: #E83A30;">
<view v-if="item.if_ssue == 2" style="color: #E83A30;">
<text>被拒绝</text>
<text class="tn-icon-right"></text>
</view>
<view v-if="item.if_ssue==1" style="color: #28B93D;">
<view v-if="item.if_ssue == 1" style="color: #28B93D;">
<text>已开具</text>
<text class="tn-icon-right"></text>
</view>
</view>
<view class="view_text" style="color: #666666;">
<view>
<text>{{item.name}} / {{item.createtime}}</text>
<text>{{ item.name }} / {{ item.createtime }}</text>
</view>
<view>
<text>发票金额</text>
<text>¥{{item.money}}</text>
<text>¥{{ item.money }}</text>
</view>
</view>
<view style="height: 1rpx;border-top: #BABDC7 1rpx dashed;margin: 30rpx 0rpx;"></view>
@ -106,47 +106,49 @@
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height+'px'}"
<view :style="{ paddingTop: vuex_custom_bar_height + 'px' }"
style="background-color: #F1F2F8;min-height: 100vh;">
<view class="text" style="padding:30rpx;">
<view style="background-color: #FFF;border-radius: 20rpx;padding:10rpx 30rpx;">
<tn-form ref="form" :labelWidth="150">
<tn-form-item label="申请人" prop="name">
<tn-form-item label="申请人" prop="name" required>
<tn-input placeholder="申请人" inputAlign="right" :clearable="false"
:customStyle="{width: '470rpx'}" v-model="addForm.name" />
:customStyle="{ width: '470rpx' }" v-model="addForm.name" />
</tn-form-item>
<tn-form-item label="公司名称" prop="unit">
<tn-form-item label="公司名称" prop="unit" required>
<tn-input placeholder="公司名称" inputAlign="right" :clearable="false"
:customStyle="{width: '470rpx'}" v-model="addForm.unit" />
:customStyle="{ width: '470rpx' }" v-model="addForm.unit" />
</tn-form-item>
<tn-form-item label="纳税人识别号" :labelWidth="200" prop="taxpayer_identification_number">
<tn-form-item label="纳税人识别号" required :labelWidth="200"
prop="taxpayer_identification_number">
<tn-input placeholder="纳税人识别号" inputAlign="right" :clearable="false"
:customStyle="{width: '420rpx'}" v-model="addForm.taxpayer_identification_number" />
:customStyle="{ width: '420rpx' }"
v-model="addForm.taxpayer_identification_number" />
</tn-form-item>
<tn-form-item label="单位地址" prop="unit_address">
<tn-input placeholder="单位地址" inputAlign="right" :clearable="false"
:customStyle="{width: '470rpx'}" v-model="addForm.unit_address" />
:customStyle="{ width: '470rpx' }" v-model="addForm.unit_address" />
</tn-form-item>
<tn-form-item label="单位电话" prop="telephone">
<tn-input placeholder="单位电话" inputAlign="right" :clearable="false"
:customStyle="{width: '470rpx'}" v-model="addForm.telephone" />
:customStyle="{ width: '470rpx' }" v-model="addForm.telephone" />
</tn-form-item>
<tn-form-item label="银行基本户账号" :labelWidth="220" prop="bank_basic_account_number">
<tn-input placeholder="银行基本户账号" :clearable="false" inputAlign="right"
:customStyle="{width: '410rpx'}" v-model="addForm.bank_basic_account_number" />
:customStyle="{ width: '410rpx' }" v-model="addForm.bank_basic_account_number" />
</tn-form-item>
<tn-form-item label="开户行" prop="bank">
<tn-input placeholder="开户行" :clearable="false" inputAlign="right"
:customStyle="{width: '470rpx'}" v-model="addForm.bank" />
:customStyle="{ width: '470rpx' }" v-model="addForm.bank" />
</tn-form-item>
<tn-form-item label="发票金额" prop="bank" :borderBottom="true">
<tn-form-item label="发票金额" required prop="bank" :borderBottom="true">
<tn-input placeholder="发票金额" inputAlign="right" :clearable="false"
:customStyle="{width: '470rpx'}" v-model="addForm.money" />
:customStyle="{ width: '470rpx' }" v-model="addForm.money" />
</tn-form-item>
<tn-form-item label="支付凭证" prop="bank" :borderBottom="false">
<tn-form-item label="支付凭证" required prop="bank" :borderBottom="false">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-right">
<view style="text-align: center;">
<image v-if="addForm.voucher!=''" :src="apiImgUrl+addForm.voucher"
<image v-if="addForm.voucher != ''" :src="apiImgUrl + addForm.voucher"
style="width: 200rpx;height: 200rpx"></image>
</view>
<view style="margin-left: 20rpx;">
@ -178,64 +180,70 @@
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height+'px'}"
style="background-color: #F1F2F8;min-height: 100vh;">
<view :style="{ paddingTop: vuex_custom_bar_height + 'px' }"
style="background-color: #F1F2F8;min-height: 100vh;padding-bottom: 100rpx;">
<view style="padding: 30rpx;">
<view style="background-color: #FFF;border-radius: 20rpx;padding: 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
<view style="font-size: 32rpx;font-weight: bold;">{{info.unit}}</view>
<view v-if="info.if_ssue==3" style="color: #FF9847;">
<view style="font-size: 32rpx;font-weight: bold;">{{ info.unit }}</view>
<view v-if="info.if_ssue == 3" style="color: #FF9847;">
<text>待审核</text>
</view>
<view v-if="info.if_ssue==2" style="color: #E83A30;">
<view v-if="info.if_ssue == 2" style="color: #E83A30;">
<text>被拒绝</text>
</view>
<view v-if="info.if_ssue==1" style="color: #28B93D;">
<view v-if="info.if_ssue == 1" style="color: #28B93D;">
<text>已开具</text>
</view>
</view>
<view class="view_text" style="font-size: 28rpx;color: #666666;margin-top: 30rpx;">
<view>
<text>申请人</text>
<text>{{info.name}}</text>
<text>{{ info.name }}</text>
</view>
<view>
<text>申请时间</text>
<text>{{info.createtime}}</text>
<text>{{ info.createtime }}</text>
</view>
<view>
<text>单位电话</text>
<text>{{info.telephone}}</text>
<text>{{ info.telephone }}</text>
</view>
<view>
<text>单位地址</text>
<text>{{info.unit_address}}</text>
<text>{{ info.unit_address }}</text>
</view>
<view>
<text>银行基本户账号</text>
<text>{{info.bank_basic_account_number}}</text>
<text>{{ info.bank_basic_account_number }}</text>
</view>
<view>
<text>纳税人识别号</text>
<text>{{info.taxpayer_identification_number}}</text>
<text>{{ info.taxpayer_identification_number }}</text>
</view>
<view>
<text>开户行</text>
<text>{{info.bank}}</text>
<text>{{ info.bank }}</text>
</view>
<view>
<text>发票金额</text>
<text>¥{{info.money}}</text>
<text>¥{{ info.money }}</text>
</view>
<view>
<text>支付凭证</text>
<image @click="openImgT" :src="apiImgUrl+info.voucher"></image>
<image class="no-img" @click="openImgT(1)" :src="apiImgUrl + info.voucher"
style="width: 100%;" mode="widthFix"></image>
</view>
<view v-if="info.if_ssue == 1">
<text>电子发票</text>
<image class="no-img" @click="openImgT(2)" :src="apiImgUrl + info.invoice_image"
style="width: 100%;" mode="widthFix"></image>
</view>
</view>
</view>
</view>
</view>
<view v-if="info.if_ssue==1"
<view v-if="info.if_ssue == 1"
style="position: fixed;bottom:0px;width: 100%;background-color: #FFFFFF;box-shadow: 0rpx -2rpx 4rpx 0rpx rgba(186,189,199,0.2);padding:30rpx 30rpx 40rpx 30rpx;">
<view @click="openImg"
style="margin: 0 auto;line-height: 80rpx;height: 80rpx;font-size: 32rpx;font-weight: bold;text-align: center;width: 80%;color: #ffffff;;background: #3056D3;border: 1rpx solid #3056D3;border-radius:90rpx;">
@ -326,10 +334,16 @@
urls: [this.apiImgUrl + this.info.invoice_image],
});
},
openImgT() {
openImgT(key) {
var url = '';
if (key == 1) {
url = this.apiImgUrl + this.info.voucher;
} else {
url = this.apiImgUrl + this.info.invoice_image;
}
uni.previewImage({
current: 0,
urls: [this.apiImgUrl + this.info.voucher],
urls: [url],
});
},
openInfo(d) {
@ -368,14 +382,58 @@
},
kp_add_do() {
if (this.money == '' || this.money <= 0) {
//
if (!this.addForm.name || this.addForm.name.trim() === '') {
uni.showToast({
title: '请填写金额',
title: '请填写申请人',
icon: 'none',
duration: 2000
});
return;
}
//
if (!this.addForm.unit || this.addForm.unit.trim() === '') {
uni.showToast({
title: '请填写公司名称',
icon: 'none',
duration: 2000
});
return;
}
//
if (!this.addForm.taxpayer_identification_number ||
!/^[0-9A-Z]{15,20}$/.test(this.addForm.taxpayer_identification_number)) {
uni.showToast({
title: '请填写正确的纳税人识别号',
icon: 'none',
duration: 2000
});
return;
}
//
if (!this.addForm.money || isNaN(this.addForm.money) || this.addForm.money <= 0) {
uni.showToast({
title: '请填写正确的发票金额',
icon: 'none',
duration: 2000
});
return;
}
//
if (!this.addForm.voucher) {
uni.showToast({
title: '请上传支付凭证',
icon: 'none',
duration: 2000
});
return;
}
//
addInvoiceLog(this.addForm)
.then(res => {
console.log(res);

View File

@ -387,6 +387,7 @@
this.page = 1;
this.contentList = [];
this.current = d;
this.sqMode = false;
if (d == 0) {
this.geTmailMyMemberPost();
} else {
@ -399,7 +400,7 @@
size: 10,
})
.then(res => {
this.contentList.push(...res.data);
this.contentList = res.data;
})
.catch(error => {
uni.showToast({
@ -432,8 +433,7 @@
type: type,
})
.then(res => {
this.contentList.push(...res.data);
this.contentList = res.data;
})
.catch(error => {
uni.showToast({

View File

@ -1,6 +1,6 @@
<template>
<view>
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="true" backgroundColor="#FFFFFF">
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
@ -12,11 +12,12 @@
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 20+'px'}" v-if="info!=''">
<view :style="{paddingTop: vuex_custom_bar_height+'px'}" v-if="info!=''">
<view style="">
<image :src="apiImgUrl+info.activity_image" style="display: block;width: 100%;" mode="widthFix">
</image>
</view>
<view style="padding:0rpx 30rpx;text-align: center;">
<view style="">
<text class="tn-icon-trust-fill" style="font-size: 250rpx;color: #01BEFF;"></text>
</view>
<view style="font-size: 38rpx;font-weight: 600;margin-top: 40rpx;">{{info.activity_name}}</view>
<view style="margin-top: 100rpx;font-size: 32rpx;font-weight: 600;">
<view>开始时间{{info.activity_start_time}}</view>
@ -41,6 +42,8 @@
export default {
data() {
return {
apiImgUrl: this.$store.state.imgUrl,
apiUpUrl: this.$store.state.apiUrl,
topCurrent: 1,
activity_id: '',
member_id: '',

View File

@ -1,15 +1,14 @@
<template>
<view class="template-edit tn-safe-area-inset-bottom">
<!-- 顶部自定义导航 -->
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF">
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="transparent">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
<text class="tn-icon-left" style="font-size: 40rpx;color: #000000;"></text>
</view>
<view class="tn-margin-top"
style=";text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'积分明细'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="36"></tn-tabs>
<view
style="letter-spacing: 1px;font-size: 34rpx;text-align: center;width: 83%;font-weight: bold;color: #000000;">
<text>积分明细</text>
</view>
</view>
</tn-nav-bar>

View File

@ -1,34 +1,46 @@
<template>
<view class="template-edit tn-safe-area-inset-bottom">
<view
style="background: url('https://hnyea.0rui.cn/uploads/1/20240722/7f5a72050b9cbc409fb60fa8d32db76a.png');background-repeat: no-repeat;background-size: 100% 555rpx;">
<!-- 顶部自定义导航 -->
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF">
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="transparent">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
<text class="tn-icon-left" style="font-size: 40rpx;color: #000000;"></text>
</view>
<view class="tn-margin-top"
style=";text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'每日签到'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="36"></tn-tabs>
<view
style="letter-spacing: 1px;font-size: 34rpx;text-align: center;width: 83%;font-weight: bold;color: #000000;">
<text>每日签到</text>
</view>
</view>
</tn-nav-bar>
<view class="tn-safe-area-inset-bottom" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding: 30rpx;border-radius: 10rpx;overflow: hidden;">
<view class="shadow-content tn-shadow">
<uni-calendar :startDate="startDate" :endDate="startDate" class="uni-calendar--hook"
:selected="selected" :showMonth="true" />
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding:30rpx 30rpx 0rpx 30rpx;">
<view style="border-radius: 20rpx;overflow: hidden;box-shadow: 0rpx 6rpx 20rpx 0rpx rgba(0,0,0,0.1);">
<view>
<uni-calendar :startDate="startDate" :endDate="startDate" class="uni-calendar--hook"
:selected="selected" :showMonth="true" />
</view>
</view>
</view>
<view style="text-align: center;">
<!-- <view style="text-align: center;">
<tn-button @click="signIn" backgroundColor="#01BEFF" fontColor="#ffffff">签到</tn-button>
</view> -->
</view>
<view style="padding: 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<view style="font-size: 34rpx;font-weight: bold;">我的积分</view>
<view style="height: 30rpx;width: 1px;background-color:#6FBEFF;margin: 0rpx 10rpx;"></view>
<view style="margin-right: 10rpx;">
<image src="/static/ji.png" style="width: 30rpx;height: 30rpx;"></image>
</view>
<view style="font-size: 34rpx;font-weight: bold;color: #3056D3;">{{myNumber}}</view>
</view>
</view>
<view class="tn-padding-bottom-lg">
<view style="padding-bottom: 80rpx;">
<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding" v-for="(item,index) in integral"
:key="index">
<view class="justify-content-item">
<view class="tn-color-gray--dark tn-text-lg">
<view class="tn-text-lg" style="color:#3056D3;">
日常签到
</view>
<view class="tn-color-gray tn-padding-top-xs">
@ -36,10 +48,19 @@
</view>
</view>
<view class="justify-content-item tn-text-xl tn-padding-top">
<view style="color: #28B93D;">+{{item.number}}</view>
<view style="color: #3056D3;">+{{item.number}}</view>
</view>
</view>
</view>
<view
style="position: fixed;bottom:0px;width: 100%;background-color: #FFFFFF;box-shadow: 0rpx -2rpx 4rpx 0rpx rgba(186,189,199,0.2);padding:30rpx 30rpx 40rpx 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-center">
<view @click="signIn"
style="line-height: 80rpx;height: 80rpx;font-size: 32rpx;font-weight: bold;text-align: center;width: 80%;color: #ffffff;;background: #3056D3;border: 1rpx solid #3056D3;border-radius:90rpx;">
<text>签到</text>
</view>
</view>
</view>
<tn-toast ref="toast"></tn-toast>
</view>
@ -49,6 +70,7 @@
import {
pointsSignIn,
pointsSignMonth,
findPointsNumber,
signInRecords
} from "@/util/api";
import store from "@/store";
@ -58,14 +80,35 @@
selected: [],
startDate: '',
integral: [],
myNumber: 0,
}
},
onLoad() {
this.startDate = this.getDate().fullDate;
this.getSignInList();
this.getSignInRecords();
this.getUserNumber();
},
methods: {
getUserNumber() {
findPointsNumber()
.then(res => {
if(res.code==1){
this.myNumber = res.data;
}else{
this.myNumber = 0;
}
console.log(res);
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
getSignInRecords() {
var uid = uni.getStorageSync('uid');
signInRecords({
@ -93,7 +136,7 @@
var attendanceData = res.data;
const formattedAttendance = Object.keys(attendanceData).map(date => ({
date: date,
info: attendanceData[date] ? '已打卡' : '未打卡',
info: attendanceData[date] ? '已签到' : '未签到',
is: attendanceData[date] ? '1' : '0',
}));
this.selected = formattedAttendance;
@ -126,7 +169,7 @@
}
this.getSignInList();
this.getSignInRecords();
this.getUserNumber();
})
.catch(error => {
uni.showToast({

View File

@ -10,7 +10,7 @@
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view v-if="info!=''" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding: 30rpx;">
<image :src="apiImgUrl+info.activity_image"
style="display: block;width: 100%;border-radius: 20rpx 20rpx 0rpx 0rpx;" mode="widthFix"></image>
@ -18,7 +18,7 @@
<view style="font-size: 34rpx;font-weight: bold;">{{ info.activity_name }}</view>
<view style="font-size: 28rpx;color: #666666;margin-top: 20rpx;">
<text class="tn-icon-time"></text>
<text>{{info.activity_end_time}}-{{info.activity_start_time}}</text>
<text>{{formatTime(info.activity_start_time)}} - {{formatTime(info.activity_end_time)}}</text>
</view>
<view style="font-size: 28rpx;color: #666666;margin-top: 20rpx;">
<text class="tn-icon-location" style="vertical-align: middle;"></text>
@ -37,44 +37,44 @@
</view>
</view>
</view>
<view style="height: 330rpx;"></view>
<view v-if="info.activity_type==2" style="padding-bottom: 180rpx;">
<view style="margin-top: 60rpx;font-size: 32rpx;font-weight: 600;">问卷问题</view>
<tn-form labelPosition="top" :model="form" ref="form">
<template v-for="(item,index) in questionnaireList">
<tn-form-item v-if="item.type==2" :label="(index+1)+'、'+item.title+'(多选题)'" prop="hobby">
<tn-checkbox-group v-model="questionnaireList[index].topic" size="40" activeColor="#82B2FF"
wrap>
<tn-checkbox :name="op.name" v-for="(op,opi) in item.option">
{{ op.name }}{{ op.val }}
</tn-checkbox>
</tn-checkbox-group>
</tn-form-item>
<tn-form-item v-if="item.type==1" :label="(index+1)+'、'+item.title+'(单选题)'" prop="danxuan">
<tn-radio-group v-model="questionnaireList[index].topic" size="40" activeColor="#82B2FF"
wrap>
<tn-radio :name="op.name" v-for="(op,opi) in item.option">
{{ op.name }}{{ op.val }}
</tn-radio>
</tn-radio-group>
</tn-form-item>
<tn-form-item v-if="item.type==3" :label="(index+1)+'、'+item.title+'(问答题)'" prop="wenda">
<tn-input placeholder="请填写答案" v-model="questionnaireList[index].topic" type="textarea" />
</tn-form-item>
</template>
</tn-form>
<view v-if="info.activity_type==2" style="padding-bottom: 180rpx;padding:0rpx 30rpx;">
<view style="background-color: #ffffff;border-radius: 20rpx;padding: 30rpx;">
<view style="font-size: 34rpx;font-weight: 600;padding: 20rpx 0rpx;">问卷问题</view>
<tn-form labelPosition="top" :model="form" ref="form">
<template v-for="(item,index) in questionnaireList">
<tn-form-item v-if="item.type==2" :label="(index+1)+'、'+item.title+'(多选题)'" prop="hobby">
<tn-checkbox-group v-model="questionnaireList[index].topic" size="40"
activeColor="#82B2FF" wrap>
<tn-checkbox :name="op.name" v-for="(op,opi) in item.option">
{{ op.name }}{{ op.val }}
</tn-checkbox>
</tn-checkbox-group>
</tn-form-item>
<tn-form-item v-if="item.type==1" :label="(index+1)+'、'+item.title+'(单选题)'" prop="danxuan">
<tn-radio-group v-model="questionnaireList[index].topic" size="40" activeColor="#82B2FF"
wrap>
<tn-radio :name="op.name" v-for="(op,opi) in item.option">
{{ op.name }}{{ op.val }}
</tn-radio>
</tn-radio-group>
</tn-form-item>
<tn-form-item v-if="item.type==3" :label="(index+1)+'、'+item.title+'(问答题)'" prop="wenda">
<tn-input placeholder="请填写答案" v-model="questionnaireList[index].topic"
type="textarea" />
</tn-form-item>
</template>
</tn-form>
</view>
</view>
<view style="height: 300rpx;"></view>
<view
style="border-radius: 200rpx;background: #FFFFFF;position: fixed;bottom: 260rpx;right: 30rpx;padding: 30rpx 50rpx;box-shadow: 0rpx 4rpx 25rpx 0rpx rgba(48,86,211,0.15);">
style="border-radius: 200rpx;background: #FFFFFF;position: fixed;bottom: 220rpx;right: 20rpx;padding: 20rpx;box-shadow: 0rpx 4rpx 25rpx 0rpx rgba(48,86,211,0.15);">
<view style="text-align: center;" class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
<view>
<button hover-class="none" open-type="share">
<view style="font-size: 42rpx;">
<text class="tn-icon-send"></text>
</view>
<view style="color: #666666;">
分享
</view>
</button>
</view>
<view style="margin: 0px 40rpx;" @click="like">
@ -82,18 +82,12 @@
<text v-if="info.like==1" class="tn-icon-praise-fill tn-color-red"></text>
<text v-if="info.like==2" class="tn-icon-praise"></text>
</view>
<view style="color: #666666;">
点赞
</view>
</view>
<view @click="favs">
<view style="font-size: 42rpx;">
<text v-if="info.fav==1" class="tn-icon-star-fill tn-color-orangeyellow"></text>
<text v-if="info.fav==2" class="tn-icon-star"></text>
</view>
<view style="color: #666666;">
收藏
</view>
</view>
</view>
</view>
@ -112,7 +106,8 @@
</view>
<view style="text-align: center;padding:0 30rpx;" v-if="info.activity_type==3">
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='未开始'">捐助未开始</button>
<button class="mmy" hover-class="none" @click="juanMod=true" v-if="info.type=='进行中'">我要捐助</button>
<button class="mmy" hover-class="none" @click="juanMod=true;money=''"
v-if="info.type=='进行中'">我要捐助</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='已结束'">捐助已结束</button>
</view>
<view style="text-align: center;padding:0 30rpx;" v-if="info.activity_type==4">
@ -121,146 +116,13 @@
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='未开始'">报名未开始</button>
</view>
</view>
<!-- <view>
<view style="padding:20rpx 30rpx;">
<view style="font-size: 34rpx;font-weight: 600;">{{ info.activity_name }}</view>
<view style="margin-top: 40rpx;">
<view>
<text style="color: #26BB71;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">活动开始时间</text>
<text style="color: #979797;">{{ info.activity_start_time }}</text>
</view>
<view style="margin: 15rpx 0rpx;">
<text style="color: #BE7E28;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">活动结束时间</text>
<text style="color: #979797;">{{ info.activity_end_time }}</text>
</view>
<view>
<text style="color: #DB5022;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">活动地点</text>
<text style="color: #979797;">{{ info.activity_location }}</text>
</view>
<view style="margin: 15rpx 0rpx;">
<text style="color: #0000FF;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">活动规模</text>
<text style="color: #979797;">{{info.number==0?'不限制':info.number+'人'}}</text>
</view>
<view v-if="info.activity_type!=1&&info.activity_type!=4">
<view style="margin: 15rpx 0rpx;" v-if="info.if_display_registrants==2">
<text style="color: #0000FF;"></text>
<text v-if="info.activity_type==3"
style="margin-left: 10rpx;font-weight: 600;">捐赠人数</text>
<text v-if="info.activity_type==2"
style="margin-left: 10rpx;font-weight: 600;">填写人数</text>
<text v-if="info.activity_type==1||info.activity_type==4"
style="margin-left: 10rpx;font-weight: 600;">报名人数</text>
<text style="color: #979797;">{{ info.list.length}}</text>
</view>
<view style="margin: 15rpx 0rpx;" v-if="info.if_display_registrants==1"
class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
@click="rightMod = true">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<view style="color: #0000FF;"></view>
<view v-if="info.activity_type==3" style="margin-left: 10rpx;font-weight: 600;">
捐赠详情</view>
<view v-if="info.activity_type==2" style="margin-left: 10rpx;font-weight: 600;">
填写详情</view>
<view v-if="info.activity_type==1||info.activity_type==4"
style="margin-left: 10rpx;font-weight: 600;">报名详情</view>
<tn-avatar-group :border="false" :lists="info.list.slice(0, 10)"></tn-avatar-group>
</view>
<view>
<text style="margin-right: 10rpx">{{info.list.length}}</text>
<text class="tn-icon-right"></text>
</view>
</view>
</view>
</view>
</view>
<view v-if="info.activity_type==1||info.activity_type==4">
<view style="width: 100%;height: 10rpx;background-color: #EBF4F7"></view>
<view style="padding:20rpx 30rpx;">
<view style="margin: 15rpx 0rpx;">
<text style="color: #26BB71;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">报名开始时间</text>
<text style="color: #979797;">{{ info.signup_start_time }}</text>
</view>
<view style="margin: 15rpx 0rpx;">
<text style="color: #BE7E28;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">报名结束时间</text>
<text style="color: #979797;">{{ info.signup_end_time }}</text>
</view>
<view style="margin: 15rpx 0rpx;" v-if="info.if_display_registrants==2">
<text style="color: #0000FF;"></text>
<text style="margin-left: 10rpx;font-weight: 600;">报名人数</text>
<text style="color: #979797;">{{ info.list.length}}</text>
</view>
<view style="margin: 15rpx 0rpx;" v-if="info.if_display_registrants==1"
class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
@click="rightMod = true">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<view style="color: #0000FF;"></view>
<view style="margin-left: 10rpx;font-weight: 600;">报名详情</view>
<tn-avatar-group :border="false" :lists="info.list.slice(0, 10)"></tn-avatar-group>
</view>
<view>
<text style="margin-right: 10rpx">{{info.list.length}}</text>
<text class="tn-icon-right"></text>
</view>
</view>
</view>
</view>
<view style="width: 100%;height: 10rpx;background-color: #EBF4F7"></view>
<view style="padding:20rpx 30rpx;">
<view style="margin-top: 20rpx;font-size: 32rpx;font-weight: 600;">活动介绍</view>
<view>
<view class="ks_html" style="line-height: 50rpx;margin-top: 20rpx;">
<view v-if="info.video!=null&&info.video!=''">
<video :src="apiImgUrl+info.video" style="width: 100%;border-radius: 5rpx;"></video>
</view>
<view v-html="info.activity_content"></view>
</view>
</view>
<view v-if="info.activity_type==1||info.activity_type==3" style="height: 180rpx;"></view>
</view>
</view> -->
</view>
<!-- <view style="position: fixed;bottom: 30rpx; width: 100%;"> -->
<!-- <view class="tn-flex tn-flex-center tn-flex-row-center tn-flex-col-center"-->
<!-- style="background-color: #FDF2EC;text-align: center;padding: 30rpx;">-->
<!-- <view style="font-weight: 600;">-->
<!-- <text style="margin-right: 10rpx;">距报名结束剩<text style="color: #F73909;">119</text></text>-->
<!-- <tn-count-down fontColor="#F73909" backgroundColor="#FDF2EC" :fontSize="30" :timestamp="86400"-->
<!-- :showDays="true" :showHours="true" :showSeconds="true" :showMinutes="true"></tn-count-down>-->
<!-- </view>-->
<!-- </view>-->
<!-- <view style="text-align: center;padding:0 30rpx;" v-if="info.activity_type==1">
<button class="mmy" hover-class="none" @click="application_add" v-if="info.type=='进行中'">确认报名</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='已结束'">报名已结束</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='未开始'">报名未开始</button>
</view>
<view style="text-align: center;padding:0 30rpx;" v-if="info.activity_type==2">
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='未开始'">问卷未开始</button>
<button class="mmy" hover-class="none" @click="option_add" v-if="info.type=='进行中'">确认提交</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='已结束'">问卷已结束</button>
</view>
<view style="text-align: center;padding:0 30rpx;" v-if="info.activity_type==3">
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='未开始'">捐助未开始</button>
<button class="mmy" hover-class="none" @click="juanMod=true" v-if="info.type=='进行中'">我要捐助</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='已结束'">捐助已结束</button>
</view>
<view style="text-align: center;padding:0 30rpx;" v-if="info.activity_type==4">
<button class="mmy" hover-class="none" @click="peiMod=true" v-if="info.type=='进行中'">我要参加</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='已结束'">报名已结束</button>
<button class="mmy" hover-class="none" :disabled="true" v-if="info.type=='未开始'">报名未开始</button>
</view> -->
<!-- </view> -->
<tn-modal v-model="juanMod" :custom="true">
<view style="padding: 20rpx;text-align: center;font-size: 40rpx;">感谢您的捐助</view>
<tn-form :labelWidth="180">
<tn-form-item label="捐助金额">
<tn-input v-model="money" type="decimal" placeholder="请填写捐助金额" />
<tn-input v-model="money" :maxLength="5" type="decimal" placeholder="请填写捐助金额" />
</tn-form-item>
</tn-form>
<view class="tn-flex tn-flex-row-center" style="margin-top: 50rpx;">
@ -423,9 +285,12 @@
if (!uid) {
getApp().getUserLogin((r) => {
console.log('---Login---', r);
this.getEventInfo();
})
}else{
this.getEventInfo();
}
this.getEventInfo();
},
methods: {
like() {
@ -583,7 +448,7 @@
this.peiMod = false;
var uid = uni.getStorageSync('uid');
if (!uid) {
this.modalAdd.showLogin = true;
this.showLogin = true;
return;
}
applicationAdd({
@ -619,7 +484,15 @@
this.juanMod = false;
var uid = uni.getStorageSync('uid');
if (!uid) {
this.modalAdd.showLogin = true;
this.showLogin = true;
return;
}
if (this.money == '' || this.money == 0) {
uni.showToast({
title: '请填写金额!',
icon: 'none',
duration: 2000
});
return;
}
moneyLogAdd({
@ -654,7 +527,7 @@
option_add() {
var uid = uni.getStorageSync('uid');
if (!uid) {
this.modalAdd.showLogin = true;
this.showLogin = true;
return;
}
var that = this;
@ -706,7 +579,7 @@
application_add() {
var uid = uni.getStorageSync('uid');
if (!uid) {
this.modalAdd.showLogin = true;
this.showLogin = true;
return;
}
applicationAdd({
@ -788,7 +661,9 @@
})
},
formatTime(time) {
return time.split(" ")[0];
let date = time.split(" ")[0]; //
let hour = time.split(" ")[1].substring(0, 5); //
return date + " " + hour;
},
goBack() {
if (getCurrentPages().length > 1) {

View File

@ -0,0 +1,128 @@
<template>
<view v-cloak>
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view style="width: 83%;font-weight: bold;">
<text>信息补充</text>
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding: 30rpx;">
<tn-form ref="form" :labelWidth="150">
<tn-form-item label="公司地址" required>
<view @click="openLocation" class="tn-flex tn-flex-row-right tn-flex-center tn-flex-col-center">
<view style="font-size: 28rpx; color: rgba(102, 102, 102, 1);">
{{formData.enterprise_location}}
</view>
<view class="tn-icon-right" style="margin-left: 20rpx;"></view>
</view>
</tn-form-item>
</tn-form>
</view>
</view>
<view
style="z-index: 200;;position: fixed;bottom:0px;width: 100%;background-color: #FFFFFF;box-shadow: 0rpx -2rpx 4rpx 0rpx rgba(186,189,199,0.2);padding:30rpx 30rpx 40rpx 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-center">
<view @click="insArea()"
style="line-height: 80rpx;height: 80rpx;font-size: 32rpx;font-weight: bold;text-align: center;width: 80%;color: #ffffff;;background: #3056D3;border: 1rpx solid #3056D3;border-radius: 90rpx;">
<text>提交</text>
</view>
</view>
</view>
</view>
</template>
<script>
import {
userEditArea
} from '@/util/api.js';
import store from '@/store/index.js'
export default {
data() {
return {
apiImgUrl: this.$store.state.imgUrl,
formData: {
longitude: '',
dimension: '',
enterprise_location: '',
}
}
},
mounted() {
},
onLoad(d) {
var uid = uni.getStorageSync('uid');
this.uid = d.uid;
},
methods: {
openLocation() {
var that = this;
uni.chooseLocation({
success(res) {
console.log(res);
console.log('位置名称:' + res.name);
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
that.formData.enterprise_location = res.address;
that.formData.longitude = res.longitude;
that.formData.dimension = res.latitude;
},
fail(res) {
console.log(res);
}
});
},
insArea() {
this.formData.id = this.uid;
this.formData.association_id = store.state.Gid;
if (this.formData.dimension == '' || this.formData.longitude == '') {
uni.showToast({
title: '请选择公司地址',
icon: 'none',
duration: 2000
});
return;
}
userEditArea(this.formData)
.then(res => {
if (res.code == 1) {
uni.showToast({
title: '信息填充成功!',
duration: 2000
});
}
console.log(res);
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
goBack() {
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.redirectTo({
url: '/pages/index/index'
})
}
}
},
}
</script>
<style>
</style>

View File

@ -21,11 +21,11 @@
<view v-for="(item,index) in news_list" :class="{'rounded_corner': index === 0}">
<view class="tn-flex tn-flex-row-between" @click="openNewUrl(item)"
style="padding: 20rpx;min-height: 200rpx;">
<view style="margin-left: 20rpx;" v-if="item.news_image">
<view style="margin-left: 20rpx;width: 44%;" v-if="item.news_image">
<image :src="apiImgUrl+item.news_image" mode="aspectFill"
style="width: 280rpx;height: 180rpx;border-radius: 20rpx;"></image>
</view>
<view style="position:relative;padding:0rpx 10rpx 10rpx 15rpx">
<view style="position:relative;padding:0rpx 10rpx 10rpx 15rpx;width: 100%;">
<view class="tn-text-ellipsis-2" style="font-size: 32rpx;font-weight: bold;">
{{ item.news_title }}
</view>
@ -63,9 +63,14 @@
page: 1,
size: 10,
apiImgUrl: this.$store.state.imgUrl,
typeId: 0,
}
},
onLoad() {
onLoad(d) {
console.log(d.type);
if (typeof(d.type) != 'undefined') {
this.typeId = d.type;
}
this.getNewsGoryList();
},
onReachBottom() {
@ -118,7 +123,12 @@
// });
this.goryList = key;
this.type = 0;
this.gory_id = key[0].id;
if (this.typeId != 0) {
this.gory_id = this.typeId;
this.current = this.goryList.findIndex(item => item.id == this.typeId);
} else {
this.gory_id = key[0].id;
}
this.getNewsList();
}
})

View File

@ -0,0 +1,100 @@
<template>
<view style="letter-spacing: 1rpx;">
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="true" backgroundColor="#FFFFFF">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view style="width: 83%;font-weight: bold;">
<text>意见建议</text>
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-padding-top tn-margin">
<view class="tn-flex justify-content-item">
<view class="tn-text-lg tn-padding-right-xs tn-text-bold">建议内容<text style="color: red;">*</text>
</view>
</view>
</view>
<view class="tn-margin tn-bg-gray--light tn-padding" style="border-radius: 10rpx;">
<textarea v-model="text" maxlength="1000" placeholder="请填写内容" placeholder-style="color:#AAAAAA"
style="height: 160rpx;"></textarea>
</view>
</view>
<view style="margin-top: 80rpx;">
<view class="tn-flex-1 justify-content-item tn-text-center">
<tn-button shape="round" backgroundColor="#3B89FB" padding="40rpx 0" width="70%" fontBold
@click="doSubmit()">
<text class="tn-color-white"> </text>
</tn-button>
</view>
</view>
</view>
</template>
<script>
import {
messageAdd,
} from '@/util/api.js';
import store from '@/store/index.js'
export default {
data() {
return {
text: '',
}
},
// mounted() {
// var id = window.location.href.split("=")[1];
// this.id = id;
// this.getNewsInfo();
// },
onLoad(d) {
},
methods: {
doSubmit() {
messageAdd({
text: this.text,
})
.then(res => {
console.log(res);
if (res.code == 1) {
uni.showToast({
title: '反馈成功!',
duration: 2000
});
} else {
uni.showToast({
icon: "error",
title: res.msg,
duration: 2000
});
}
})
.catch(error => {
uni.showToast({
title: error,
duration: 2000
});
})
},
goBack() {
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.redirectTo({
url: '/pages/index/index'
})
}
},
}
}
</script>
<style>
.ks_html img {
width: 100% !important;
}
</style>

View File

@ -49,7 +49,7 @@
</view>
</view>
<view style="font-size: 14px;padding: 20rpx 0rpx;color: #999999;">
发布动态扣除{{info.consumption_poin}}积分</view>
发布动态使用{{info.consumption_poin}}积分</view>
</view>
</view>
</view>
@ -128,9 +128,7 @@
uni.showModal({
title: '提示',
content: res.msg,
success: function(res) {
uni.navigateBack()
}
success: function(res) {}
});
}
})

View File

@ -68,7 +68,7 @@
<view class="tn-flex-basic-xs" v-for="(img,img_i) in info.files"
style="text-align: center;">
<view style="padding-right: 10rpx;">
<image :src="apiImgUrl+img" @click="openImg(info,img_i)"
<image :src="apiImgUrl+img" @click="openImg(info,img_i)" mode="aspectFill"
style="width: 200rpx;height: 200rpx;border-radius:20rpx;">
</image>
</view>
@ -195,6 +195,18 @@
this.getCommentList();
},
methods: {
openImg(item, index) {
console.log(index);
console.log(item.files);
var img = item.files;
var apiImgUrl = this.apiImgUrl;
const updatedImagePaths = img.map(path => `${apiImgUrl}${path}`);
console.log(updatedImagePaths);
uni.previewImage({
current: index,
urls: updatedImagePaths,
});
},
submitDo() {
addComment({
tweet_id: this.id,

View File

@ -0,0 +1,142 @@
<template>
<view>
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="transparent">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;color: #000000;"></text>
</view>
<view
style="letter-spacing: 1px;font-size: 34rpx;text-align: center;width: 83%;font-weight: bold;color: #000000;">
<text>协会证书</text>
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding:30rpx 80rpx;">
<l-painter ref="painter">
<l-painter-view>
<l-painter-text :text="info.nikename"
css="width: 100%;position:absolute;top:350rpx;text-align:center;color: #D82212; font-size: 70rpx; fontWeight: bold" />
<l-painter-text :text="info.number_of_sessions"
css="width: 100%;position:absolute;top:460rpx;text-align:center;color: #484848; font-size: 25rpx; fontWeight: bold" />
<l-painter-view css="position:absolute;top:630rpx;text-align:center;width: 100%;">
<l-painter-image src="/static/1001.png" css="object-fit: cover; height: 70rpx;" />
<l-painter-text :text="info.position_name"
css="color: #484848; font-size: 50rpx; fontWeight: bold" />
<l-painter-image src="/static/1002.png" css="object-fit: cover; height: 70rpx;" />
</l-painter-view>
<l-painter-text :text="info.year[0]"
css="position:absolute;top:735rpx;left:120rpx;color: #E4C777; font-size: 23rpx;" />
<l-painter-text :text="info.year[1]"
css="position:absolute;top:735rpx;right:120rpx;color: #E4C777; font-size: 23rpx;" />
<l-painter-view css="position:absolute;bottom:135rpx;text-align:center;width: 100%;">
<l-painter-image src="/static/tu23.png"
css="object-fit: cover; object-position: 50% 50%; width: 100rpx;" />
</l-painter-view>
<l-painter-text :text="info.membercode"
css="position:absolute;bottom:95rpx;color: #484848; font-size: 22rpx;width: 100%;text-align:center;" />
<l-painter-image src="/static/1000.jpg"
css="object-fit: cover; object-position: 50% 50%; width: 100%; height: 100%; " />
</l-painter-view>
</l-painter>
</view>
<view
style="position: fixed;bottom:0px;width: 100%;background-color: #FFFFFF;box-shadow: 0rpx -2rpx 4rpx 0rpx rgba(186,189,199,0.2);padding:30rpx 30rpx 40rpx 30rpx;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-center">
<view @click="dImg"
style="line-height: 80rpx;height: 80rpx;font-size: 32rpx;font-weight: bold;text-align: center;width: 80%;color: #ffffff;;background: #3056D3;border: 1rpx solid #3056D3;border-radius:90rpx;">
<text>保存图片</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
handleMembercode,
} from "@/util/api";
export default {
data() {
return {
topCurrent: 0,
info: {}
}
},
onLoad() {
this.getHandleMembercode();
},
methods: {
getHandleMembercode() {
handleMembercode()
.then(res => {
var key = res.data;
key.position_name = this.spacedString(key.position_name);
//console.log(this.spacedString(key.position_name));
this.info = key;
console.log(res);
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
spacedString(originalString) {
let result = originalString.split('');
let key = '';
for (let i = 0; i < result.length; i++) {
if (i > 0) {
key += ' ';
}
key += result[i];
}
return key;
},
dImg() {
this.$refs.painter.canvasToTempFilePathSync({
// nvuejpeg
fileType: "png",
pathType: 'url',
quality: 1,
success: (res) => {
console.log(res.tempFilePath);
// H5
// H5
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: '保存成功!',
icon: 'none',
duration: 2000
});
},
fail: function(res) {
console.log(res);
}
});
},
});
},
goBack() {
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.redirectTo({
url: '/pages/index/index'
})
}
},
}
}
</script>
<style>
</style>

BIN
static/1000.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
static/1001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

BIN
static/1002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

View File

@ -39,7 +39,7 @@ const store = new Vuex.Store({
// 如果vuex_version无需保存到本地永久存储无需lifeData.vuex_version方式
// app版本
vuex_version: "1.0.0",
vuex_version: "1.0.10",
// 是否使用自定义导航栏
vuex_custom_nav_bar: true,
// 状态栏高度

View File

@ -8,8 +8,8 @@
'uni-calendar-item--after-checked':weeks.afterMultiple,
}" @click="choiceDate(weeks)">
<view class="uni-calendar-item__weeks-box-item">
<text v-if="selected&&weeks.extraInfo" class="uni-calendar-item__weeks-box-circle"
:class="{'my-circle':weeks.extraInfo.is==0,}"></text>
<text v-if="selected&&weeks.extraInfo&&weeks.extraInfo.is==1" class="uni-calendar-item__weeks-box-circle"
:class="{'my-circle':weeks.extraInfo.is==0,'my-circle-white':weeks.extraInfo.is==1&&weeks.isDay}"></text>
<text class="uni-calendar-item__weeks-box-text" :class="{
'uni-calendar-item--isDay-text': weeks.isDay,
'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
@ -18,7 +18,7 @@
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
'uni-calendar-item--disable':weeks.disable,
'my-text-data':weeks.extraInfo.is==1&&!weeks.isDay
}">{{weeks.date}}</text>
<text v-if="!lunar&&!weeks.extraInfo && weeks.isDay" class="uni-calendar-item__weeks-lunar-text" :class="{
'uni-calendar-item--isDay-text':weeks.isDay,
@ -46,7 +46,8 @@
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
'uni-calendar-item--disable':weeks.disable,
'my-text':weeks.extraInfo.is==0,
'my-text':weeks.extraInfo.is==0&&!weeks.isDay,
'my-text-white':weeks.extraInfo.is==0&&weeks.isDay || weeks.extraInfo.is==1&&weeks.isDay,
}">{{weeks.extraInfo.info}}</text>
</view>
</view>
@ -137,7 +138,7 @@
flex-direction: column;
justify-content: center;
align-items: center;
width: 100rpx;
width: 90rpx;
height: 100rpx;
}
@ -148,7 +149,7 @@
width: 8px;
height: 8px;
border-radius: 8px;
background-color: $uni-color-error;
background-color: #3056D3;
}
@ -163,12 +164,13 @@
.uni-calendar-item--isDay {
background-color: $uni-primary;
opacity: 0.8;
opacity: 1;
color: #fff;
border-radius: 12rpx;
}
.uni-calendar-item--extra {
color: $uni-color-error;
color: #3056D3;
opacity: 0.8;
}
@ -201,4 +203,17 @@
.my-circle {
background-color: #999999;
}
.my-text-data {
color: #3056D3;
}
.my-text-white {
color: #ffffff;
opacity: 1;
}
.my-circle-white {
background-color: #ffffff;
}
</style>

View File

@ -1,7 +1,9 @@
<template>
<view class="uni-calendar">
<view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}" @click="clean"></view>
<view v-if="insert || show" class="uni-calendar__content" :class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow}">
<view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}"
@click="clean"></view>
<view v-if="insert || show" class="uni-calendar__content"
:class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow}">
<view v-if="!insert" class="uni-calendar__header uni-calendar--fixed-top">
<view class="uni-calendar__header-btn-box" @click="close">
<text class="uni-calendar__header-text uni-calendar--fixed-width">{{cancelText}}</text>
@ -20,7 +22,7 @@
<view class="uni-calendar__header-btn-box" @click.stop="next">
<view class="uni-calendar__header-btn uni-calendar--right"></view>
</view>
<text class="uni-calendar__backtoday" @click="backToday">{{todayText}}</text>
<!-- <text class="uni-calendar__backtoday" @click="backToday">{{todayText}}</text> -->
</view>
<view class="uni-calendar__box">
@ -52,7 +54,8 @@
</view>
<view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex">
<view class="uni-calendar__weeks-item" v-for="(weeks,weeksIndex) in item" :key="weeksIndex">
<calendar-item class="uni-calendar-item--hook" :weeks="weeks" :calendar="calendar" :selected="selected" :lunar="lunar" @change="choiceDate"></calendar-item>
<calendar-item class="uni-calendar-item--hook" :weeks="weeks" :calendar="calendar"
:selected="selected" :lunar="lunar" @change="choiceDate"></calendar-item>
</view>
</view>
</view>
@ -64,9 +67,13 @@
import Calendar from './util.js';
import CalendarItem from './uni-calendar-item.vue'
import { initVueI18n } from '@dcloudio/uni-i18n'
import {
initVueI18n
} from '@dcloudio/uni-i18n'
import i18nMessages from './i18n/index.js'
const { t } = initVueI18n(i18nMessages)
const {
t
} = initVueI18n(i18nMessages)
/**
* Calendar 日历
@ -92,7 +99,7 @@
components: {
CalendarItem
},
emits:['close','confirm','change','monthSwitch'],
emits: ['close', 'confirm', 'change', 'monthSwitch'],
props: {
date: {
type: String,
@ -142,7 +149,7 @@
aniMaskShow: false
}
},
computed:{
computed: {
/**
* for i18n
*/
@ -183,12 +190,12 @@
// this.cale.setDate(newVal)
this.init(newVal)
},
startDate(val){
startDate(val) {
this.cale.resetSatrtDate(val)
this.cale.setDate(this.nowDate.fullDate)
this.weeks = this.cale.weeks
},
endDate(val){
endDate(val) {
this.cale.resetEndDate(val)
this.cale.setDate(this.nowDate.fullDate)
this.weeks = this.cale.weeks
@ -214,11 +221,14 @@
const value = e.detail.value + '-1'
this.setDate(value)
const { year,month } = this.cale.getDate(value)
this.$emit('monthSwitch', {
year,
month
})
const {
year,
month
} = this.cale.getDate(value)
this.$emit('monthSwitch', {
year,
month
})
},
/**
* 初始化日期显示
@ -326,13 +336,13 @@
backToday() {
const nowYearMonth = `${this.nowDate.year}-${this.nowDate.month}`
const date = this.cale.getDate(new Date())
const todayYearMonth = `${date.year}-${date.month}`
const todayYearMonth = `${date.year}-${date.month}`
this.init(date.fullDate)
if(nowYearMonth !== todayYearMonth) {
this.monthSwitch()
}
if (nowYearMonth !== todayYearMonth) {
this.monthSwitch()
}
this.change()
},
@ -370,11 +380,12 @@
$uni-bg-color-mask: rgba($color: #000000, $alpha: 0.4);
$uni-border-color: #EDEDED;
$uni-text-color: #333;
$uni-bg-color-hover:#f1f1f1;
$uni-font-size-base:14px;
$uni-bg-color-hover: #f1f1f1;
$uni-font-size-base: 14px;
$uni-text-color-placeholder: #808080;
$uni-color-subtitle: #555555;
$uni-text-color-grey:#999;
$uni-text-color-grey: #999;
.uni-calendar {
/* #ifndef APP-NVUE */
display: flex;
@ -472,8 +483,8 @@
.uni-calendar__header-text {
text-align: center;
width: 100px;
font-size: $uni-font-size-base;
color: $uni-text-color;
font-size: 30rpx;
color: #9e9e9e;
}
.uni-calendar__header-btn-box {
@ -490,10 +501,10 @@
.uni-calendar__header-btn {
width: 10px;
height: 10px;
border-left-color: $uni-text-color-placeholder;
border-left-color: #9e9e9e;
border-left-style: solid;
border-left-width: 2px;
border-top-color: $uni-color-subtitle;
border-top-color: #9e9e9e;
border-top-style: solid;
border-top-width: 2px;
}

View File

@ -1 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/user_map"],{"0e54":function(n,t,e){"use strict";e.d(t,"b",(function(){return a})),e.d(t,"c",(function(){return i})),e.d(t,"a",(function(){return o}));var o={tnNavBar:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-nav-bar/tn-nav-bar")]).then(e.bind(null,"f926"))},tnTabs:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-tabs/tn-tabs")]).then(e.bind(null,"0db1"))},tnButton:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-button/tn-button")]).then(e.bind(null,"eb0a"))},tnPopup:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-popup/tn-popup")]).then(e.bind(null,"cf07"))}},a=function(){var n=this,t=n.$createElement;n._self._c;n._isMounted||(n.e0=function(t){n.coversShow=!0})},i=[]},1750:function(n,t,e){"use strict";(function(n){var o=e("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=e("1081"),i=o(e("ac0b")),u={data:function(){return{apiImgUrl:this.$store.state.imgUrl,my_page:0,covers:[],coversShow:!1,serach_content:""}},onLoad:function(){this.getLatitudeAndLongitude();var t=n.getSystemInfoSync(),e=(n.getWindowInfo(),this.sizeDeal(120)),o=this.sizeDeal(0);this.my_page=parseInt(t.windowHeight)-parseInt(i.default.state.vuex_custom_bar_height)-parseInt(o)-parseInt(e)},methods:{openMark:function(n){console.log(n)},serach:function(){this.coversShow=!0,this.covers=[],this.getLatitudeAndLongitude()},getLatitudeAndLongitude:function(){var t=this;(0,a.latitudeAndLongitude)({nikename:this.serach_content,enterprise_name:this.serach_content}).then((function(n){console.log(n);var e=n.data,o=e.map((function(n){return{latitude:parseFloat(n.dimension),longitude:parseFloat(n.longitude),id:n.id,iconPath:"/static/make.png",width:30,height:30,title:n.enterprise_name,company_image:n.company_image,nikename:n.nikename}}));console.log(o),t.covers=o})).catch((function(t){n.showToast({title:t,icon:"none",duration:2e3})}))},tn:function(t){n.navigateTo({url:t})},sizeDeal:function(t){var e=n.upx2px(t);return e},goBack:function(){getCurrentPages().length>1?n.navigateBack():n.redirectTo({url:"/pages/index/index"})}}};t.default=u}).call(this,e("df3c")["default"])},"1d13":function(n,t,e){"use strict";e.r(t);var o=e("0e54"),a=e("8520");for(var i in a)["default"].indexOf(i)<0&&function(n){e.d(t,n,(function(){return a[n]}))}(i);e("fb41");var u=e("828b"),r=Object(u["a"])(a["default"],o["b"],o["c"],!1,null,"12695308",null,!1,o["a"],void 0);t["default"]=r.exports},7426:function(n,t,e){},8520:function(n,t,e){"use strict";e.r(t);var o=e("1750"),a=e.n(o);for(var i in o)["default"].indexOf(i)<0&&function(n){e.d(t,n,(function(){return o[n]}))}(i);t["default"]=a.a},b4ca:function(n,t,e){"use strict";(function(n,t){var o=e("47a9");e("b618");o(e("3240"));var a=o(e("1d13"));n.__webpack_require_UNI_MP_PLUGIN__=e,t(a.default)}).call(this,e("3223")["default"],e("df3c")["createPage"])},fb41:function(n,t,e){"use strict";var o=e("7426"),a=e.n(o);a.a}},[["b4ca","common/runtime","common/vendor"]]]);

View File

@ -1 +0,0 @@
<view style="background-color:#ffffff;letter-spacing:1rpx;" class="data-v-12695308"><tn-nav-bar vue-id="9810c9f0-1" isBack="{{false}}" backTitle bottomShadow="{{true}}" backgroundColor="#FFFFFF" class="data-v-12695308" bind:__l="__l" vue-slots="{{['default']}}"><view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left data-v-12695308"><view data-event-opts="{{[['tap',[['goBack']]]]}}" style="padding-left:15rpx;" bindtap="__e" class="data-v-12695308"><text class="tn-icon-left data-v-12695308" style="font-size:40rpx;"></text></view><view class="tn-margin-top data-v-12695308" style="text-shadow:1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;"><tn-tabs vue-id="{{('9810c9f0-2')+','+('9810c9f0-1')}}" list="{{[{name:'会员地图'}]}}" current="{{topCurrent}}" activeColor="#000" bold="{{false}}" fontSize="{{36}}" class="data-v-12695308" bind:__l="__l"></tn-tabs></view></view></tn-nav-bar><view style="{{'padding-top:'+(vuex_custom_bar_height+'px')+';'}}" class="data-v-12695308"></view><view style="background-color:#FFF;z-index:200;" class="data-v-12695308"><view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin data-v-12695308"><view class="justify-content-item align-content-item data-v-12695308" style="width:100%;position:relative;"><view class="tn-flex tn-flex-col-center data-v-12695308" style="border-radius:100rpx;padding:15rpx;width:100%;background-color:#F1F2F8;"><text class="tn-icon-search justify-content-item tn-padding-right-xs tn-text-lg data-v-12695308" style="color:#BABDC7;"></text><input class="justify-content-item data-v-12695308" style="width:100%;padding-right:200rpx;" placeholder="会员姓名/手机号" name="input" placeholder-style="color:#BABDC7" data-event-opts="{{[['input',[['__set_model',['','serach_content','$event',[]]]]]]}}" value="{{serach_content}}" bindinput="__e"/></view><view style="position:absolute;right:6rpx;top:6rpx;" class="data-v-12695308"><tn-button vue-id="9810c9f0-3" backgroundColor="#3056D3" shape="round" padding="10rpx 10rpx" width="150rpx" height="60rpx" data-event-opts="{{[['^click',[['serach']]]]}}" bind:click="__e" class="data-v-12695308" bind:__l="__l" vue-slots="{{['default']}}"><text style="color:#ffffff;font-weight:bold;" class="data-v-12695308">{{serach_do?'重 置':'搜 索'}}</text></tn-button></view></view></view></view><view class="data-v-12695308"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" style="position:fixed;top:50%;right:30rpx;z-index:1;" bindtap="__e" class="data-v-12695308"><image style="width:80rpx;height:80rpx;" src="/static/map.png" class="data-v-12695308"></image></view><map style="{{'width:'+('100%')+';'+('height:'+(my_page+'px')+';')}}" scale="{{5}}" latitude="{{34.75}}" longitude="{{113.66}}" markers="{{covers}}" data-event-opts="{{[['markertap',[['openMark',['$event']]]]]}}" bindmarkertap="__e" class="data-v-12695308"></map><tn-popup bind:input="__e" vue-id="9810c9f0-4" mode="bottom" mask="{{false}}" height="50%" borderRadius="{{10}}" value="{{coversShow}}" data-event-opts="{{[['^input',[['__set_model',['','coversShow','$event',[]]]]]]}}" class="data-v-12695308" bind:__l="__l" vue-slots="{{['default']}}"><scroll-view class="data-v-12695308"><block wx:for="{{covers}}" wx:for-item="item" wx:for-index="__i0__"><view style="padding:20rpx 30rpx;" class="data-v-12695308"><view data-event-opts="{{[['tap',[['tn',['/pages/packageA/user/my_card?id='+item.id]]]]]}}" class="tn-classify__content__sub-classify__content__item tn-flex tn-flex-center tn-flex-col-center data-v-12695308" bindtap="__e"><view style="width:100rpx;height:100rpx;" class="data-v-12695308"><block wx:if="{{item.company_image!=''&&item.company_image!=null}}"><image style="width:100rpx;height:100rpx;border-radius:50%;" src="{{apiImgUrl+item.company_image}}" class="data-v-12695308"></image></block><block wx:if="{{item.company_image==''||item.company_image==null}}"><image style="width:100rpx;height:100rpx;border-radius:50%;" src="/static/def.png" class="data-v-12695308"></image></block></view><view style="margin-left:20rpx;" class="data-v-12695308"><view style="font-size:28rpx;font-weight:600;" class="data-v-12695308"><text class="data-v-12695308">{{item.nikename}}</text></view><view class="tn-text-ellipsis-2 data-v-12695308" style="font-size:24rpx;margin-top:10rpx;color:#888888;"><text class="data-v-12695308">{{item.title==null?'':item.title}}</text></view></view></view></view></block></scroll-view></tn-popup></view></view>

View File

@ -1 +0,0 @@
.custom-nav.data-v-12695308{height:100%}.custom-nav__back.data-v-12695308{margin:auto 30rpx;margin-right:10rpx;flex-basis:5%;width:100rpx;position:absolute}.left-width.data-v-12695308{flex-basis:28%}.tn-classify__right-box.data-v-12695308{background-color:#f1f2f8}.tn-classify__tabbar__item.data-v-12695308:first-child{border-top-right-radius:0rpx}.tn-classify__tabbar__item.data-v-12695308:last-child{border-bottom-right-radius:0rpx}.tn-classify__tabbar__item--active.data-v-12695308{background-color:#f1f2f8;position:relative;font-weight:700;color:#3056d3}.tn-classify__tabbar__item--active--prev.data-v-12695308{border-bottom-right-radius:26rpx}.tn-classify__tabbar__item--active--next.data-v-12695308{border-top-right-radius:26rpx}.tn-classify__content.data-v-12695308{margin:18rpx}.tn-classify__content__recomm.data-v-12695308{margin-bottom:40rpx}.tn-classify__content__sub-classify.data-v-12695308{margin-bottom:20rpx;padding-bottom:40rpx}.tn-classify__content__sub-classify--title.data-v-12695308{font-weight:700;margin-bottom:18rpx}.tn-classify__content__sub-classify__content__item.data-v-12695308{padding:20rpx;background-color:#fff}.tn-bg-my-ccc.data-v-12695308{background-color:#f1f2f8}

View File

@ -1 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/packageA/user/my_add"],{"17b5":function(t,n,e){"use strict";(function(t){var i=e("47a9");Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o=i(e("af34")),a=e("1081"),c=i(e("ac0b")),s={data:function(){return{list:[],apiImgUrl:this.$store.state.imgUrl,current:0,tab_list:[{name:"发布成功"},{name:"发布失败"}],page:1}},mounted:function(){this.getTweetsList()},methods:{del:function(n){var e=this;t.showModal({title:"提示",content:"确定要删除吗?",success:function(t){t.confirm?e.delShow(n):t.cancel&&console.log("用户点击取消")}})},delShow:function(n){var e=this;(0,a.tweetsDel)({id:n.id}).then((function(n){console.log(n),1==n.code?(t.showToast({title:"删除成功!",icon:"none",duration:2e3}),e.page=1,e.list=[],e.getTweetsList()):t.showToast({title:n.msg,icon:"none",duration:2e3})})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})}))},change:function(t){this.current=t,this.page=1,this.list=[],this.getTweetsList()},openImg:function(n,e){console.log(e),console.log(n.files),t.previewImage({current:e,urls:n.files})},switchTabbar:function(n){console.log(n),c.default.commit("$tStore",{name:"Gid",value:n.id}),t.setStorageSync("Gid",n.id),t.$emit("getGid",{gid:n.id}),t.$emit("depId",{index:0})},onsubmit:function(){this.page=1,this.list=[],this.getAssociationIndex()},getTweetsList:function(){var n=this;(0,a.tweetsList)({me:1,association_name:1,page:this.page,state:0==this.current?2:3,size:10}).then((function(t){var e;(console.log(t),1==t.code)&&(e=n.list).push.apply(e,(0,o.default)(t.data.data))})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})}))},tn:function(n){t.navigateTo({url:n})},goBack:function(){getCurrentPages().length>1?t.navigateBack():t.redirectTo({url:"/pages/index/index"})}}};n.default=s}).call(this,e("df3c")["default"])},"248f":function(t,n,e){"use strict";var i=e("8b1f"),o=e.n(i);o.a},"8b1f":function(t,n,e){},"9c65":function(t,n,e){"use strict";e.r(n);var i=e("bfc7"),o=e("a926");for(var a in o)["default"].indexOf(a)<0&&function(t){e.d(n,t,(function(){return o[t]}))}(a);e("248f");var c=e("828b"),s=Object(c["a"])(o["default"],i["b"],i["c"],!1,null,null,null,!1,i["a"],void 0);n["default"]=s.exports},a926:function(t,n,e){"use strict";e.r(n);var i=e("17b5"),o=e.n(i);for(var a in i)["default"].indexOf(a)<0&&function(t){e.d(n,t,(function(){return i[t]}))}(a);n["default"]=o.a},a98e:function(t,n,e){"use strict";(function(t,n){var i=e("47a9");e("b618");i(e("3240"));var o=i(e("9c65"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(o.default)}).call(this,e("3223")["default"],e("df3c")["createPage"])},bfc7:function(t,n,e){"use strict";e.d(n,"b",(function(){return o})),e.d(n,"c",(function(){return a})),e.d(n,"a",(function(){return i}));var i={tnNavBar:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-nav-bar/tn-nav-bar")]).then(e.bind(null,"f926"))},tnTabs:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-tabs/tn-tabs")]).then(e.bind(null,"0db1"))}},o=function(){var t=this,n=t.$createElement,e=(t._self._c,t.list.length),i=t.__map(t.list,(function(n,e){var i=t.__get_orig(n),o=n.files.length;return{$orig:i,g0:o}}));t.$mp.data=Object.assign({},{$root:{g1:e,l0:i}})},a=[]}},[["a98e","common/runtime","common/vendor"]]]);

View File

@ -1 +0,0 @@
<view style="background:#F1F2F8;min-height:100vh;"><tn-nav-bar vue-id="57fc6fef-1" isBack="{{false}}" backTitle bottomShadow="{{false}}" backgroundColor="#FFFFFF" bind:__l="__l" vue-slots="{{['default']}}"><view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left"><view data-event-opts="{{[['tap',[['goBack']]]]}}" style="padding-left:15rpx;" bindtap="__e"><text class="tn-icon-left" style="font-size:40rpx;"></text></view><view style="width:83%;font-weight:bold;"><text>我的发布</text></view></view></tn-nav-bar><view style="{{'padding-bottom:10rpx;'+('padding-top:'+(vuex_custom_bar_height+'px')+';')}}"><view style="background-color:#FFFFFF;"><tn-tabs vue-id="57fc6fef-2" list="{{tab_list}}" current="{{current}}" isScroll="{{false}}" name="name" activeColor="#000000" inactiveColor="#E6E6E6" barWidth="{{25}}" data-event-opts="{{[['^change',[['change']]]]}}" bind:change="__e" bind:__l="__l"></tn-tabs></view><view style="padding:30rpx;"><view style="background-color:#FFFFFF;border-radius:20rpx;"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index"><view><block wx:if="{{current==1}}"><view style="padding-left:20rpx;border-radius:20rpx 20rpx 0rpx 0rpx;color:#FF6D66;background:rgba(255,109,102,0.1);height:100rpx;line-height:100rpx;">{{'拒绝原因:'+item.$orig.remark}}</view></block><view style="padding:30rpx;"><view class="tn-text-ellipsis-2" style="font-size:32rpx;font-weight:bold;margin-top:20rpx;">{{''+item.$orig.title+''}}</view><view class="tn-text-ellipsis-2" style="font-size:28rpx;color:#666666;margin-top:20rpx;">{{''+item.$orig.content+''}}</view><view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="margin-top:20rpx;"><view style="color:#AAAAAA;font-size:24rpx;">{{'发布于:'+item.$orig.createtime+''}}</view></view><block wx:if="{{item.g0>0}}"><view style="margin-top:30rpx;"><view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-wrap"><block wx:for="{{item.$orig.files}}" wx:for-item="img" wx:for-index="img_i"><view class="tn-flex-basic-xs" style="text-align:center;"><view style="padding-right:10rpx;"><image style="width:200rpx;height:200rpx;border-radius:20rpx;" src="{{apiImgUrl+img}}" data-event-opts="{{[['tap',[['openImg',['$0',img_i],[[['list','',index]]]]]]]}}" bindtap="__e"></image></view></view></block></view></view></block><view style="margin-top:30rpx;padding:30rpx;"><view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"><view style="text-align:center;font-size:28rpx;"><text class="tn-icon-send" style="font-size:32rpx;"></text><text style="margin-left:10rpx;">分享</text></view><view style="text-align:center;font-size:28rpx;"><block wx:if="{{item.$orig.is_like==1}}"><text class="tn-icon-praise-fill tn-color-red" style="font-size:32rpx;"></text></block><block wx:if="{{item.$orig.is_like==0}}"><text class="tn-icon-praise" style="font-size:32rpx;"></text></block><text style="margin-left:10rpx;">{{item.$orig.like_num>0?item.$orig.like_num:'点赞'}}</text></view><view style="text-align:center;font-size:28rpx;"><block wx:if="{{item.$orig.is_fav==1}}"><text class="tn-icon-star-fill tn-color-orangeyellow" style="font-size:32rpx;"></text></block><block wx:if="{{item.$orig.is_fav==0}}"><text class="tn-icon-star" style="font-size:32rpx;"></text></block><text style="margin-left:10rpx;">{{item.$orig.fav_num>0?item.$orig.fav_num:'收藏'}}</text></view><view style="text-align:center;font-size:28rpx;"><text class="tn-icon-comment" style="font-size:32rpx;"></text><text style="margin-left:10rpx;">评论</text></view></view></view><view data-event-opts="{{[['tap',[['del',['$0'],[[['list','',index]]]]]]]}}" style="text-align:right;font-size:24rpx;color:#AAAAAA;" bindtap="__e">删除</view></view><block wx:if="{{index<$root.g1-1}}"><view style="height:1px;border-top:#BABDC7 1px dashed;"></view></block></view></block></view></view></view></view>

View File

@ -1 +0,0 @@
.triangle{width:0;height:0;border-top:20rpx solid #13c296;border-right:20rpx solid transparent;border-left:20rpx solid transparent;position:absolute;left:0;right:0;margin:0 auto;bottom:-12rpx;z-index:100}

View File

@ -1 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/packageA/user/sign_details"],{"1d11":function(n,t,e){"use strict";e.r(t);var a=e("ac10"),o=e("83bb");for(var u in o)["default"].indexOf(u)<0&&function(n){e.d(t,n,(function(){return o[n]}))}(u);var r=e("828b"),i=Object(r["a"])(o["default"],a["b"],a["c"],!1,null,"940b3d78",null,!1,a["a"],void 0);t["default"]=i.exports},"2d35":function(n,t,e){"use strict";(function(n,t){var a=e("47a9");e("b618");a(e("3240"));var o=a(e("1d11"));n.__webpack_require_UNI_MP_PLUGIN__=e,t(o.default)}).call(this,e("3223")["default"],e("df3c")["createPage"])},"44ac":function(n,t,e){"use strict";(function(n){var a=e("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(e("af34")),u=e("1081"),r=(a(e("ac0b")),{data:function(){return{integral:[],page:1,number:0}},onLoad:function(){this.getIntegralIndex()},onReachBottom:function(){this.page+=1,this.getIntegralIndex()},methods:{getIntegralIndex:function(){var t=this;(0,u.integralIndex)({page:this.page}).then((function(n){var e;console.log(n),(e=t.integral).push.apply(e,(0,o.default)(n.data.ret)),t.number=n.data.number})).catch((function(t){n.showToast({title:t,icon:"none",duration:2e3})}))},tn:function(t){n.navigateTo({url:t})},goBack:function(){getCurrentPages().length>1?n.navigateBack():n.redirectTo({url:"/pages/index/index"})}}});t.default=r}).call(this,e("df3c")["default"])},"83bb":function(n,t,e){"use strict";e.r(t);var a=e("44ac"),o=e.n(a);for(var u in a)["default"].indexOf(u)<0&&function(n){e.d(t,n,(function(){return a[n]}))}(u);t["default"]=o.a},ac10:function(n,t,e){"use strict";e.d(t,"b",(function(){return o})),e.d(t,"c",(function(){return u})),e.d(t,"a",(function(){return a}));var a={tnNavBar:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-nav-bar/tn-nav-bar")]).then(e.bind(null,"f926"))},tnTabs:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-tabs/tn-tabs")]).then(e.bind(null,"0db1"))},tnToast:function(){return e.e("tuniao-ui/components/tn-toast/tn-toast").then(e.bind(null,"7115"))}},o=function(){var n=this.$createElement;this._self._c},u=[]}},[["2d35","common/runtime","common/vendor"]]]);

View File

@ -1 +0,0 @@
<view class="template-edit tn-safe-area-inset-bottom data-v-940b3d78"><tn-nav-bar vue-id="00a41dbd-1" isBack="{{false}}" backTitle bottomShadow="{{false}}" backgroundColor="#FFFFFF" class="data-v-940b3d78" bind:__l="__l" vue-slots="{{['default']}}"><view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left data-v-940b3d78"><view data-event-opts="{{[['tap',[['goBack']]]]}}" style="padding-left:15rpx;" bindtap="__e" class="data-v-940b3d78"><text class="tn-icon-left data-v-940b3d78" style="font-size:40rpx;"></text></view><view class="tn-margin-top data-v-940b3d78" style="text-shadow:1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;"><tn-tabs vue-id="{{('00a41dbd-2')+','+('00a41dbd-1')}}" list="{{[{name:'积分明细'}]}}" current="{{topCurrent}}" activeColor="#000" bold="{{false}}" fontSize="{{36}}" class="data-v-940b3d78" bind:__l="__l"></tn-tabs></view></view></tn-nav-bar><view class="tn-safe-area-inset-bottom data-v-940b3d78" style="{{'padding-top:'+(vuex_custom_bar_height+'px')+';'}}"><view class="tn-shadow tn-bg-white tn-margin data-v-940b3d78"><view class="tn-text-center tn-color-blue data-v-940b3d78" style="padding:30rpx 0;"><text style="font-size:110rpx;margin-left:-20rpx;" class="data-v-940b3d78">{{number}}</text><text class="tn-text-lg tn-padding-left-xs data-v-940b3d78">积分</text></view></view></view><view class="tn-padding-bottom-lg data-v-940b3d78"><block wx:for="{{integral}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding data-v-940b3d78"><view class="justify-content-item data-v-940b3d78"><view class="tn-color-gray--dark tn-text-lg data-v-940b3d78">{{''+item.content+''}}</view><view class="tn-color-gray tn-padding-top-xs data-v-940b3d78">{{''+item.createtime+''}}</view></view><view class="justify-content-item tn-text-xl tn-padding-top data-v-940b3d78"><block wx:if="{{item.type==1}}"><view style="color:#28B93D;" class="data-v-940b3d78">{{"+"+item.number}}</view></block><block wx:if="{{item.type==2}}"><view style="color:#E83A30;" class="data-v-940b3d78">{{"-"+item.number}}</view></block></view></view></block></view><tn-toast vue-id="00a41dbd-3" data-ref="toast" class="data-v-940b3d78 vue-ref" bind:__l="__l"></tn-toast></view>

View File

@ -1 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/packageA/user/sign_in"],{"45fc":function(n,t,e){"use strict";e.r(t);var o=e("e682"),a=e("7299");for(var i in a)["default"].indexOf(i)<0&&function(n){e.d(t,n,(function(){return a[n]}))}(i);var r=e("828b"),u=Object(r["a"])(a["default"],o["b"],o["c"],!1,null,"209624b4",null,!1,o["a"],void 0);t["default"]=u.exports},"6e6a":function(n,t,e){"use strict";(function(n,t){var o=e("47a9");e("b618");o(e("3240"));var a=o(e("45fc"));n.__webpack_require_UNI_MP_PLUGIN__=e,t(a.default)}).call(this,e("3223")["default"],e("df3c")["createPage"])},7299:function(n,t,e){"use strict";e.r(t);var o=e("b5bc"),a=e.n(o);for(var i in o)["default"].indexOf(i)<0&&function(n){e.d(t,n,(function(){return o[n]}))}(i);t["default"]=a.a},b5bc:function(n,t,e){"use strict";(function(n){var o=e("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=o(e("3b2d")),i=e("1081"),r=(o(e("ac0b")),{data:function(){return{selected:[],startDate:"",integral:[]}},onLoad:function(){this.startDate=this.getDate().fullDate,this.getSignInList(),this.getSignInRecords()},methods:{getSignInRecords:function(){var t=this,e=n.getStorageSync("uid");(0,i.signInRecords)({member_id:e}).then((function(n){console.log(n),t.integral=n.data})).catch((function(t){n.showToast({title:t,icon:"none",duration:2e3})}))},getSignInList:function(){var t=this,e=n.getStorageSync("uid");(0,i.pointsSignMonth)({member_id:e}).then((function(n){console.log(n);var e=n.data,o=Object.keys(e).map((function(n){return{date:n,info:e[n]?"已打卡":"未打卡",is:e[n]?"1":"0"}}));t.selected=o})).catch((function(t){n.showToast({title:t,icon:"none",duration:2e3})}))},signIn:function(){var t=this,e=n.getStorageSync("uid");(0,i.pointsSignIn)({member_id:e}).then((function(n){console.log(n),"error"==n.status?t.$refs.toast.show({content:n.message,duration:2e3}):t.$refs.toast.show({content:n.msg,duration:2e3}),t.getSignInList(),t.getSignInRecords()})).catch((function(t){n.showToast({title:t,icon:"none",duration:2e3})}))},getDate:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;n||(n=new Date),"object"!==(0,a.default)(n)&&(n=n.replace(/-/g,"/"));var e=new Date(n);e.setDate(e.getDate()+t);var o=e.getFullYear(),i=e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,r=e.getDate()<10?"0"+e.getDate():e.getDate();return{fullDate:o+"-"+i+"-"+r,year:o,month:i,date:r,day:e.getDay()}},tn:function(t){n.navigateTo({url:t})},goBack:function(){getCurrentPages().length>1?n.navigateBack():n.redirectTo({url:"/pages/index/index"})}}});t.default=r}).call(this,e("df3c")["default"])},e682:function(n,t,e){"use strict";e.d(t,"b",(function(){return a})),e.d(t,"c",(function(){return i})),e.d(t,"a",(function(){return o}));var o={tnNavBar:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-nav-bar/tn-nav-bar")]).then(e.bind(null,"f926"))},tnTabs:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-tabs/tn-tabs")]).then(e.bind(null,"0db1"))},uniCalendar:function(){return Promise.all([e.e("common/vendor"),e.e("uni_modules/uni-calendar/components/uni-calendar/uni-calendar")]).then(e.bind(null,"a8e4"))},tnButton:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-button/tn-button")]).then(e.bind(null,"eb0a"))},tnToast:function(){return e.e("tuniao-ui/components/tn-toast/tn-toast").then(e.bind(null,"7115"))}},a=function(){var n=this.$createElement;this._self._c},i=[]}},[["6e6a","common/runtime","common/vendor"]]]);

View File

@ -1,10 +0,0 @@
{
"navigationBarTitleText": "河南省青年企业家协会",
"usingComponents": {
"tn-nav-bar": "/tuniao-ui/components/tn-nav-bar/tn-nav-bar",
"tn-tabs": "/tuniao-ui/components/tn-tabs/tn-tabs",
"uni-calendar": "/uni_modules/uni-calendar/components/uni-calendar/uni-calendar",
"tn-button": "/tuniao-ui/components/tn-button/tn-button",
"tn-toast": "/tuniao-ui/components/tn-toast/tn-toast"
}
}

View File

@ -1 +0,0 @@
<view class="template-edit tn-safe-area-inset-bottom data-v-209624b4"><tn-nav-bar vue-id="1b7fdf78-1" isBack="{{false}}" backTitle bottomShadow="{{false}}" backgroundColor="#FFFFFF" class="data-v-209624b4" bind:__l="__l" vue-slots="{{['default']}}"><view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left data-v-209624b4"><view data-event-opts="{{[['tap',[['goBack']]]]}}" style="padding-left:15rpx;" bindtap="__e" class="data-v-209624b4"><text class="tn-icon-left data-v-209624b4" style="font-size:40rpx;"></text></view><view class="tn-margin-top data-v-209624b4" style="text-shadow:1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;"><tn-tabs vue-id="{{('1b7fdf78-2')+','+('1b7fdf78-1')}}" list="{{[{name:'每日签到'}]}}" current="{{topCurrent}}" activeColor="#000" bold="{{false}}" fontSize="{{36}}" class="data-v-209624b4" bind:__l="__l"></tn-tabs></view></view></tn-nav-bar><view class="tn-safe-area-inset-bottom data-v-209624b4" style="{{'padding-top:'+(vuex_custom_bar_height+'px')+';'}}"><view style="padding:30rpx;border-radius:10rpx;overflow:hidden;" class="data-v-209624b4"><view class="shadow-content tn-shadow data-v-209624b4"><uni-calendar class="uni-calendar--hook data-v-209624b4" vue-id="1b7fdf78-3" startDate="{{startDate}}" endDate="{{startDate}}" selected="{{selected}}" showMonth="{{true}}" bind:__l="__l"></uni-calendar></view></view><view style="text-align:center;" class="data-v-209624b4"><tn-button vue-id="1b7fdf78-4" backgroundColor="#01BEFF" fontColor="#ffffff" data-event-opts="{{[['^click',[['signIn']]]]}}" bind:click="__e" class="data-v-209624b4" bind:__l="__l" vue-slots="{{['default']}}">签到</tn-button></view></view><view class="tn-padding-bottom-lg data-v-209624b4"><block wx:for="{{integral}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding data-v-209624b4"><view class="justify-content-item data-v-209624b4"><view class="tn-color-gray--dark tn-text-lg data-v-209624b4">日常签到</view><view class="tn-color-gray tn-padding-top-xs data-v-209624b4">{{''+item.sign_date+''}}</view></view><view class="justify-content-item tn-text-xl tn-padding-top data-v-209624b4"><view style="color:#28B93D;" class="data-v-209624b4">{{"+"+item.number}}</view></view></view></block></view><tn-toast vue-id="1b7fdf78-5" data-ref="toast" class="data-v-209624b4 vue-ref" bind:__l="__l"></tn-toast></view>

View File

@ -1 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/packageB/paper/paper_info"],{5214:function(t,n,e){"use strict";var o=e("fe80"),i=e.n(o);i.a},6084:function(t,n,e){"use strict";e.d(n,"b",(function(){return i})),e.d(n,"c",(function(){return a})),e.d(n,"a",(function(){return o}));var o={tnNavBar:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-nav-bar/tn-nav-bar")]).then(e.bind(null,"f926"))},tnButton:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-button/tn-button")]).then(e.bind(null,"eb0a"))},tnInput:function(){return Promise.all([e.e("common/vendor"),e.e("tuniao-ui/components/tn-input/tn-input")]).then(e.bind(null,"6fc0"))}},i=function(){var t=this.$createElement,n=(this._self._c,this.info.files.length),e=this.com_list.length;this.$mp.data=Object.assign({},{$root:{g0:n,g1:e}})},a=[]},ba55:function(t,n,e){"use strict";(function(t){var o=e("47a9");Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(e("af34")),a=e("1081"),c=(o(e("ac0b")),{data:function(){return{id:0,info:{},apiImgUrl:this.$store.state.imgUrl,content:"",com_list:[],com_info:{},page:1,uid:0}},onLoad:function(n){var e=t.getStorageSync("uid");this.uid=e,this.id=n.id,this.getTweets(),this.getCommentList()},onReachBottom:function(){this.page+=1,this.getCommentList()},methods:{submitDo:function(){var n=this;(0,a.addComment)({tweet_id:this.id,content:this.content,member_b_id:this.info.member_id}).then((function(e){console.log(e),1==e.code?t.showToast({title:"评论成功!",icon:"none",duration:2e3}):t.showToast({title:"评论失败!",icon:"none",duration:2e3}),n.content="",n.page=1,n.com_list=[],n.getCommentList()})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})}))},getCommentList:function(){var n=this;(0,a.commentList)({tweet_id:this.id,page:this.page,size:15}).then((function(t){var e;console.log(t),(e=n.com_list).push.apply(e,(0,i.default)(t.data.data)),n.com_info=t.data})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})}))},getTweets:function(){var n=this;(0,a.tweetsInfo)({id:this.id}).then((function(t){console.log(t),n.info=t.data})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})}))},like:function(){var n=this,e=t.getStorageSync("uid");e?0==this.info.is_like?(0,a.likeDo)({member_id:e,related_id:this.id,related_type:"tweets"}).then((function(e){console.log(e),t.showToast({title:"赞成功!",icon:"none",duration:2e3}),n.info.is_like=1})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})})):(0,a.likeRevoke)({member_id:e,related_id:this.id,related_type:"tweets"}).then((function(e){console.log(e),t.showToast({title:"取消成功!",icon:"none",duration:2e3}),n.info.is_like=0})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})})):t.showToast({title:"请先登录",icon:"none",duration:2e3})},favs:function(){var n=this,e=t.getStorageSync("uid");e?0==this.info.is_fav?(0,a.favsDo)({member_id:e,related_id:this.id,related_type:"tweets"}).then((function(e){console.log(e),t.showToast({title:"收藏成功!",icon:"none",duration:2e3}),n.info.is_fav=1})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})})):(0,a.favsRevoke)({member_id:e,related_id:this.id,related_type:"tweets"}).then((function(e){console.log(e),t.showToast({title:"取消收藏成功!",icon:"none",duration:2e3}),n.info.is_fav=0})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})})):t.showToast({title:"请先登录",icon:"none",duration:2e3})},del:function(n){var e=this;(0,a.removeComment)({id:n.id}).then((function(n){console.log(n),1==n.code?(t.showToast({title:"删除成功!",icon:"none",duration:2e3}),e.page=1,e.com_list=[],e.getCommentList()):t.showToast({title:n.msg,icon:"none",duration:2e3})})).catch((function(n){t.showToast({title:n,icon:"none",duration:2e3})}))},goBack:function(){getCurrentPages().length>1?t.navigateBack():t.redirectTo({url:"/pages/index/index"})}}});n.default=c}).call(this,e("df3c")["default"])},be73:function(t,n,e){"use strict";e.r(n);var o=e("6084"),i=e("c8e2");for(var a in i)["default"].indexOf(a)<0&&function(t){e.d(n,t,(function(){return i[t]}))}(a);e("5214");var c=e("828b"),s=Object(c["a"])(i["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],void 0);n["default"]=s.exports},c8e2:function(t,n,e){"use strict";e.r(n);var o=e("ba55"),i=e.n(o);for(var a in o)["default"].indexOf(a)<0&&function(t){e.d(n,t,(function(){return o[t]}))}(a);n["default"]=i.a},d5d9:function(t,n,e){"use strict";(function(t,n){var o=e("47a9");e("b618");o(e("3240"));var i=o(e("be73"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(i.default)}).call(this,e("3223")["default"],e("df3c")["createPage"])},fe80:function(t,n,e){}},[["d5d9","common/runtime","common/vendor"]]]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
button::after{border:none}button{position:relative;display:block;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;box-sizing:border-box;text-align:center;text-decoration:none;line-height:1.35;-webkit-tap-highlight-color:transparent;overflow:hidden;background-color:initial;font-size:28rpx;width:100%;height:100%}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-action-sheet/tn-action-sheet"],{"22b2":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o={name:"tn-action-sheet",props:{value:{type:Boolean,default:!1},list:{type:Array,default:function(){return[]}},tips:{type:Object,default:function(){return{text:"",color:"",fontSize:26}}},borderRadius:{type:Number,default:0},maskCloseable:{type:Boolean,default:!0},cancelBtn:{type:Boolean,default:!0},cancelText:{type:String,default:"取消"},safeAreaInsetBottom:{type:Boolean,default:!1},zIndex:{type:Number,default:0}},computed:{tipsStyle:function(){var t={};return this.tips.color&&(t.color=this.tips.color),this.tips.fontSize&&(t.fontSize=this.tips.fontSize+"rpx"),t},itemStyle:function(){var t=this;return function(e){var n={};return t.list[e].color&&(n.color=t.list[e].color),t.list[e].fontSize&&(n.fontSize=t.list[e].fontSize+"rpx"),t.list[e].disabled&&(n.color="#AAAAAA"),n}},elZIndex:function(){return this.zIndex?this.zIndex:this.$tn.zIndex.popup}},methods:{close:function(){this.popupClose(),this.$emit("close")},popupClose:function(){this.$emit("input",!1)},itemClick:function(t){this.list[t].disabled||(this.$emit("click",t),this.popupClose())}}};e.default=o},4661:function(t,e,n){"use strict";var o=n("f597"),i=n.n(o);i.a},7856:function(t,e,n){"use strict";n.r(e);var o=n("d4b0"),i=n("e7b9");for(var u in i)["default"].indexOf(u)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(u);n("4661");var l=n("828b"),r=Object(l["a"])(i["default"],o["b"],o["c"],!1,null,"06fa708c",null,!1,o["a"],void 0);e["default"]=r.exports},d4b0:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return u})),n.d(e,"a",(function(){return o}));var o={tnPopup:function(){return Promise.all([n.e("common/vendor"),n.e("tuniao-ui/components/tn-popup/tn-popup")]).then(n.bind(null,"cf07"))}},i=function(){var t=this,e=t.$createElement,n=(t._self._c,t.value&&t.tips.text?t.__get_style([t.tipsStyle]):null),o=t.value?t.__map(t.list,(function(e,n){var o=t.__get_orig(e),i=t.__get_style([t.itemStyle(n)]),u=t.list.length;return{$orig:o,s1:i,g0:u}})):null;t.$mp.data=Object.assign({},{$root:{s0:n,l0:o}})},u=[]},e7b9:function(t,e,n){"use strict";n.r(e);var o=n("22b2"),i=n.n(o);for(var u in o)["default"].indexOf(u)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(u);e["default"]=i.a},f597:function(t,e,n){}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-action-sheet/tn-action-sheet-create-component',
{
'tuniao-ui/components/tn-action-sheet/tn-action-sheet-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("7856"))
})
},
[['tuniao-ui/components/tn-action-sheet/tn-action-sheet-create-component']]
]);

View File

@ -1,6 +0,0 @@
{
"usingComponents": {
"tn-popup": "/tuniao-ui/components/tn-popup/tn-popup"
},
"component": true
}

View File

@ -1 +0,0 @@
<block wx:if="{{value}}"><view class="tn-action-sheet-class tn-action-sheet data-v-06fa708c"><tn-popup vue-id="0da97112-1" mode="bottom" length="auto" popup="{{false}}" borderRadius="{{borderRadius}}" maskCloseable="{{maskCloseable}}" safeAreaInsetBottom="{{safeAreaInsetBottom}}" zIndex="{{elZIndex}}" value="{{value}}" data-event-opts="{{[['^close',[['close']]],['^input',[['__set_model',['','value','$event',[]]]]]]}}" bind:close="__e" bind:input="__e" class="data-v-06fa708c" bind:__l="__l" vue-slots="{{['default']}}"><block wx:if="{{tips.text}}"><view class="tn-action-sheet__tips border-solid-bottom data-v-06fa708c" style="{{$root.s0}}">{{''+tips.text+''}}</view></block><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block class="data-v-06fa708c"><view class="{{['tn-action-sheet__item','tn-text-ellipsis','data-v-06fa708c',index<item.g0-1?'border-solid-bottom':'']}}" style="{{item.s1}}" hover-class="tn-hover-class" hover-stay-time="{{150}}" data-event-opts="{{[['tap',[['itemClick',[index]]]],['touchmove',[['',['$event']]]]]}}" bindtap="__e" catchtouchmove="__e"><text class="data-v-06fa708c">{{item.$orig.text}}</text><block wx:if="{{item.$orig.subText}}"><text class="tn-action-sheet__item__subtext tn-text-ellipsis data-v-06fa708c">{{item.$orig.subText}}</text></block></view></block></block><block wx:if="{{cancelBtn}}"><block class="data-v-06fa708c"><view class="tn-action-sheet__cancel--gab data-v-06fa708c"></view><view class="tn-action-sheet__cancel tn-action-sheet__item data-v-06fa708c" hover-class="tn-hover-class" hover-stay-time="{{150}}" data-event-opts="{{[['tap',[['close',['$event']]]]]}}" bindtap="__e">{{cancelText}}</view></block></block></tn-popup></view></block>

View File

@ -1 +0,0 @@
.border-solid-bottom.data-v-06fa708c{border-bottom:1rpx solid #f8f7f8}.tn-action-sheet__tips.data-v-06fa708c{font-size:26rpx;text-align:center;padding:34rpx 0;line-height:1;color:#838383}.tn-action-sheet__item.data-v-06fa708c{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:32rpx;padding:34rpx 0}.tn-action-sheet__item__subtext.data-v-06fa708c{font-size:24rpx;color:#838383;margin-top:20rpx}.tn-action-sheet__cancel.data-v-06fa708c{color:#080808}.tn-action-sheet__cancel--gab.data-v-06fa708c{height:12rpx;background-color:#f8f7f8}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-checkbox-group/tn-checkbox-group"],{"3bef":function(t,e,n){"use strict";var a=n("b6bc"),i=n.n(a);i.a},6741:function(t,e,n){"use strict";n.r(e);var a=n("acc8"),i=n("a205");for(var u in i)["default"].indexOf(u)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(u);n("3bef");var c=n("828b"),r=Object(c["a"])(i["default"],a["b"],a["c"],!1,null,"212a7f14",null,!1,a["a"],void 0);e["default"]=r.exports},a205:function(t,e,n){"use strict";n.r(e);var a=n("bac3"),i=n.n(a);for(var u in a)["default"].indexOf(u)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(u);e["default"]=i.a},acc8:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){}));var a=function(){var t=this.$createElement;this._self._c},i=[]},b6bc:function(t,e,n){},bac3:function(t,e,n){"use strict";var a=n("47a9");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=a(n("818d")),u={mixins:[i.default],name:"tn-checkbox-group",props:{value:{type:Array,default:function(){return[]}},max:{type:Number,default:999},name:{type:String,default:""},disabled:{type:Boolean,default:!1},disabledLabel:{type:Boolean,default:!1},shape:{type:String,default:"square"},activeColor:{type:String,default:"#01BEFF"},size:{type:Number,default:34},width:{type:String,default:"auto"},wrap:{type:Boolean,default:!1},iconSize:{type:Number,default:20}},computed:{parentData:function(){return[this.value,this.disabled,this.disabledLabel,this.shape,this.activeColor,this.size,this.width,this.wrap,this.iconSize]}},data:function(){return{}},watch:{parentData:function(){this.children.length&&this.children.map((function(t){"function"===typeof t.updateParentData&&t.updateParentData()}))}},created:function(){this.children=[]},methods:{initValue:function(t){this.$emit("input",t)},emitEvent:function(){var t=this,e=[];this.children.map((function(t){t.checkValue&&e.push(t.name)})),this.$emit("change",e),this.$emit("input",e),setTimeout((function(){t.dispatch("tn-form-item","on-form-change",e)}),60)}}};e.default=u}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-checkbox-group/tn-checkbox-group-create-component',
{
'tuniao-ui/components/tn-checkbox-group/tn-checkbox-group-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("6741"))
})
},
[['tuniao-ui/components/tn-checkbox-group/tn-checkbox-group-create-component']]
]);

View File

@ -1 +0,0 @@
<view class="tn-checkbox-group-class tn-checkbox-group data-v-212a7f14"><slot></slot></view>

View File

@ -1 +0,0 @@
.tn-checkbox-group.data-v-212a7f14::after{content:" ";display:table;clear:both}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-radio-group/tn-radio-group"],{"0390":function(t,e,a){"use strict";var n=a("47a9");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=n(a("818d")),u={mixins:[i.default],name:"tn-radio-group",props:{value:{type:String,default:""},disabled:{type:Boolean,default:!1},disabledLabel:{type:Boolean,default:!1},shape:{type:String,default:"circle"},activeColor:{type:String,default:"#01BEFF"},size:{type:Number,default:34},width:{type:String,default:"auto"},wrap:{type:Boolean,default:!1},iconSize:{type:Number,default:20}},computed:{parentData:function(){return[this.value,this.disabled,this.activeColor,this.size,this.disabledLabel,this.shape,this.iconSize,this.width,this.wrap]}},data:function(){return{}},watch:{parentData:function(){this.children.length&&this.children.map((function(t){"function"===typeof t.updateParentData&&t.updateParentData()}))}},created:function(){this.children=[]},methods:{setValue:function(t){var e=this;this.children.map((function(e){e.parentData.value!==t&&(e.parentData.value="")})),this.$emit("input",t),this.$emit("change",t),setTimeout((function(){e.dispatch("tn-form-item","on-form-change",t)}),60)}}};e.default=u},"0fcb":function(t,e,a){"use strict";a.r(e);var n=a("0390"),i=a.n(n);for(var u in n)["default"].indexOf(u)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(u);e["default"]=i.a},"1e1c":function(t,e,a){"use strict";a.r(e);var n=a("bc80"),i=a("0fcb");for(var u in i)["default"].indexOf(u)<0&&function(t){a.d(e,t,(function(){return i[t]}))}(u);a("2af5");var r=a("828b"),o=Object(r["a"])(i["default"],n["b"],n["c"],!1,null,"09f5dc64",null,!1,n["a"],void 0);e["default"]=o.exports},"2af5":function(t,e,a){"use strict";var n=a("5476"),i=a.n(n);i.a},5476:function(t,e,a){},bc80:function(t,e,a){"use strict";a.d(e,"b",(function(){return n})),a.d(e,"c",(function(){return i})),a.d(e,"a",(function(){}));var n=function(){var t=this.$createElement;this._self._c},i=[]}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-radio-group/tn-radio-group-create-component',
{
'tuniao-ui/components/tn-radio-group/tn-radio-group-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("1e1c"))
})
},
[['tuniao-ui/components/tn-radio-group/tn-radio-group-create-component']]
]);

View File

@ -1 +0,0 @@
<view class="tn-radio-group-class tn-radio-group data-v-09f5dc64"><slot></slot></view>

View File

@ -1 +0,0 @@
.tn-radio-group.data-v-09f5dc64::after{content:" ";display:table;clear:both}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-radio/tn-radio"],{"28f8":function(t,e,a){"use strict";a.r(e);var i=a("f68ba"),n=a.n(i);for(var s in i)["default"].indexOf(s)<0&&function(t){a.d(e,t,(function(){return i[t]}))}(s);e["default"]=n.a},"7a03":function(t,e,a){},a62a:function(t,e,a){"use strict";a.r(e);var i=a("dfb7"),n=a("28f8");for(var s in n)["default"].indexOf(s)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(s);a("ac2a");var r=a("828b"),l=Object(r["a"])(n["default"],i["b"],i["c"],!1,null,"42b96b2d",null,!1,i["a"],void 0);e["default"]=l.exports},ac2a:function(t,e,a){"use strict";var i=a("7a03"),n=a.n(i);n.a},dfb7:function(t,e,a){"use strict";a.d(e,"b",(function(){return i})),a.d(e,"c",(function(){return n})),a.d(e,"a",(function(){}));var i=function(){var t=this.$createElement,e=(this._self._c,this.__get_style([this.radioStyle])),a=this.__get_style([this.iconStyle]);this.$mp.data=Object.assign({},{$root:{s0:e,s1:a}})},n=[]},f68ba:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i={name:"tn-radio",props:{name:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1},disabledLabel:{type:Boolean,default:!1},shape:{type:String,default:""},activeColor:{type:String,default:""},size:{type:Number,default:0},iconSize:{type:Number,default:0},labelSize:{type:Number,default:0},labelColor:{type:String,default:"#080808"},borderColor:{type:String,default:"#080808"}},computed:{isDisabled:function(){return this.disabled?this.disabled:!!this.parentData.disabled&&this.parentData.disabled},isDisabledLabel:function(){return this.disabledLabel?this.disabledLabel:!!this.parentData.disabledLabel&&this.parentData.disabledLabel},elSize:function(){return this.size?this.size:this.parentData.size?this.parentData.size:34},elActiveColor:function(){return this.activeColor?this.activeColor:this.parentData.activeColor?this.parentData.activeColor:"#01BEFF"},elShape:function(){return this.shape?this.shape:this.parentData.shape?this.parentData.shape:"circle"},iconClass:function(){var t="";return t+=" tn-radio__icon-wrap--"+this.elShape,this.parentData.value===this.name&&(t+=" tn-radio__icon-wrap--checked"),this.isDisabled&&(t+=" tn-radio__icon-wrap--disabled"),this.parentData.value===this.name&&this.isDisabled&&(t+=" tn-radio__icon-wrap--disabled--checked"),t},iconStyle:function(){var t={};return this.elActiveColor&&this.parentData.value===this.name&&!this.isDisabled&&(t.borderColor=this.elActiveColor,t.backgroundColor=this.elActiveColor),t.color=this.parentData.value===this.name?"#FFFFFF":"transparent",t.width=this.elSize+"rpx",t.height=t.width,t.fontSize=(this.iconSize?this.iconSize:this.parentData.iconSize?this.parentData.iconSize:20)+"rpx",t.borderColor=this.borderColor,t},radioStyle:function(){var t={};return this.parent&&this.parentData.width&&(t.float="left"),this.parent&&this.parentData.wrap&&(t.width="100%"),t}},data:function(){return{parentData:{value:null,disabled:null,disabledLabel:null,shape:null,activeColor:null,size:null,width:null,wrap:null,iconSize:null}}},created:function(){this.updateParentData(),this.parent.children.push(this)},methods:{updateParentData:function(){this.getParentData("tn-radio-group")},onClickLabel:function(){this.isDisabledLabel||this.isDisabled||this.setRadioCheckedStatus()},toggle:function(){this.isDisabled||this.setRadioCheckedStatus()},emitEvent:function(){this.parentData.value!==this.name&&this.$emit("change",this.name)},setRadioCheckedStatus:function(){this.emitEvent(),this.parent&&(this.parent.setValue(this.name),this.parentData.value=this.name)}}};e.default=i}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-radio/tn-radio-create-component',
{
'tuniao-ui/components/tn-radio/tn-radio-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("a62a"))
})
},
[['tuniao-ui/components/tn-radio/tn-radio-create-component']]
]);

View File

@ -1 +0,0 @@
<view class="tn-radio-class tn-radio data-v-42b96b2d" style="{{$root.s0}}"><view data-event-opts="{{[['tap',[['toggle',['$event']]]]]}}" class="{{['tn-radio__icon-wrap','data-v-42b96b2d',iconClass]}}" style="{{$root.s1}}" bindtap="__e"><view class="tn-icon-success tn-radio__icon-wrap__icon data-v-42b96b2d"></view></view><view data-event-opts="{{[['tap',[['onClickLabel',['$event']]]]]}}" class="tn-radio__label data-v-42b96b2d" style="{{'font-size:'+(labelSize?labelSize+'rpx':'')+';'+('color:'+(labelColor?labelColor:'#080808')+';')}}" bindtap="__e"><slot></slot></view></view>

View File

@ -1 +0,0 @@
.tn-radio.data-v-42b96b2d{display:inline-flex;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1.8}.tn-radio__icon-wrap.data-v-42b96b2d{color:#080808;display:flex;flex-direction:row;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:42rpx;height:42rpx;color:transparent;text-align:center;transition-property:color,border-color,background-color;font-size:20rpx;border:1rpx solid #aaa;transition-duration:.2s}.tn-radio__icon-wrap--circle.data-v-42b96b2d{border-radius:100%}.tn-radio__icon-wrap--square.data-v-42b96b2d{border-radius:6rpx}.tn-radio__icon-wrap--checked.data-v-42b96b2d{color:#fff;background-color:#01beff;border-color:#01beff}.tn-radio__icon-wrap--disabled.data-v-42b96b2d{background-color:#e6e6e6;border-color:#aaa}.tn-radio__icon-wrap--disabled--checked.data-v-42b96b2d{color:#aaa!important}.tn-radio__label.data-v-42b96b2d{word-wrap:break-word;margin-left:10rpx;margin-right:24rpx;color:#080808;font-size:30rpx}.tn-radio__label--disabled.data-v-42b96b2d{color:#aaa}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-time-line-item/tn-time-line-item"],{"058e":function(t,n,e){"use strict";e.d(n,"b",(function(){return i})),e.d(n,"c",(function(){return u})),e.d(n,"a",(function(){}));var i=function(){var t=this.$createElement,n=(this._self._c,this.__get_style([this.nodeStyle]));this.$mp.data=Object.assign({},{$root:{s0:n}})},u=[]},"3a62":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i={name:"tn-time-line-item",props:{top:{type:[String,Number],default:""}},computed:{nodeStyle:function(){var t={};return""!==this.top&&(t.top=this.top+"rpx"),t}},data:function(){return{}}};n.default=i},"8f3c":function(t,n,e){"use strict";var i=e("acb7"),u=e.n(i);u.a},9092:function(t,n,e){"use strict";e.r(n);var i=e("058e"),u=e("d4af");for(var a in u)["default"].indexOf(a)<0&&function(t){e.d(n,t,(function(){return u[t]}))}(a);e("8f3c");var o=e("828b"),r=Object(o["a"])(u["default"],i["b"],i["c"],!1,null,"50eca576",null,!1,i["a"],void 0);n["default"]=r.exports},acb7:function(t,n,e){},d4af:function(t,n,e){"use strict";e.r(n);var i=e("3a62"),u=e.n(i);for(var a in i)["default"].indexOf(a)<0&&function(t){e.d(n,t,(function(){return i[t]}))}(a);n["default"]=u.a}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-time-line-item/tn-time-line-item-create-component',
{
'tuniao-ui/components/tn-time-line-item/tn-time-line-item-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("9092"))
})
},
[['tuniao-ui/components/tn-time-line-item/tn-time-line-item-create-component']]
]);

View File

@ -1,4 +0,0 @@
{
"usingComponents": {},
"component": true
}

View File

@ -1 +0,0 @@
<view class="tn-time-line-item-class tn-time-line-item data-v-50eca576"><view class="data-v-50eca576"><slot name="content"></slot></view><view class="tn-time-line-item__node data-v-50eca576" style="{{$root.s0}}"><block wx:if="{{$slots.node}}"><slot name="node"></slot></block><block wx:else><view class="tn-time-line-item__node--dot data-v-50eca576"></view></block></view></view>

View File

@ -1 +0,0 @@
.tn-time-line-item.data-v-50eca576{display:flex;flex-direction:column;width:100%;position:relative;margin-bottom:32rpx}.tn-time-line-item__node.data-v-50eca576{display:flex;flex-direction:row;position:absolute;top:12rpx;left:-40rpx;align-items:center;justify-content:center;font-size:24rpx;-webkit-transform-origin:0;transform-origin:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1;background-color:initial}.tn-time-line-item__node--dot.data-v-50eca576{width:16rpx;height:16rpx;border-radius:100rpx;background-color:#aaa}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-time-line/tn-time-line"],{"208e":function(n,t,e){"use strict";e.d(t,"b",(function(){return u})),e.d(t,"c",(function(){return i})),e.d(t,"a",(function(){}));var u=function(){var n=this.$createElement;this._self._c},i=[]},"421e":function(n,t,e){"use strict";var u=e("c151"),i=e.n(u);i.a},"42f0":function(n,t,e){"use strict";e.r(t);var u=e("208e"),i=e("4d57");for(var c in i)["default"].indexOf(c)<0&&function(n){e.d(t,n,(function(){return i[n]}))}(c);e("421e");var r=e("828b"),a=Object(r["a"])(i["default"],u["b"],u["c"],!1,null,"bc299d1e",null,!1,u["a"],void 0);t["default"]=a.exports},"4d57":function(n,t,e){"use strict";e.r(t);var u=e("8273"),i=e.n(u);for(var c in u)["default"].indexOf(c)<0&&function(n){e.d(t,n,(function(){return u[n]}))}(c);t["default"]=i.a},8273:function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={name:"tn-time-line",props:{},data:function(){return{}}}},c151:function(n,t,e){}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-time-line/tn-time-line-create-component',
{
'tuniao-ui/components/tn-time-line/tn-time-line-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("42f0"))
})
},
[['tuniao-ui/components/tn-time-line/tn-time-line-create-component']]
]);

View File

@ -1,4 +0,0 @@
{
"usingComponents": {},
"component": true
}

View File

@ -1 +0,0 @@
<view class="tn-time-line-class tn-time-line data-v-bc299d1e"><slot></slot></view>

View File

@ -1 +0,0 @@
.tn-time-line.data-v-bc299d1e{padding-left:40rpx;position:relative}.tn-time-line.data-v-bc299d1e::before{content:"";position:absolute;width:1px;left:0;top:12rpx;bottom:0;border-left:1px solid #aaa;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["tuniao-ui/components/tn-toast/tn-toast"],{"07a1":function(t,i,n){"use strict";n.r(i);var e=n("8768"),s=n.n(e);for(var o in e)["default"].indexOf(o)<0&&function(t){n.d(i,t,(function(){return e[t]}))}(o);i["default"]=s.a},7115:function(t,i,n){"use strict";n.r(i);var e=n("ed98"),s=n("07a1");for(var o in s)["default"].indexOf(o)<0&&function(t){n.d(i,t,(function(){return s[t]}))}(o);n("d27e");var a=n("828b"),u=Object(a["a"])(s["default"],e["b"],e["c"],!1,null,"30c0fcc0",null,!1,e["a"],void 0);i["default"]=u.exports},8768:function(t,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var e={name:"tn-toast",props:{zIndex:{type:Number,default:0}},computed:{toastClass:function(){var t="";return this.visible&&(t+=" tn-toast--show"),this.content&&(t+=" tn-toast--padding"),(this.icon||this.image)&&(t+=" tn-toast--unicon"),t},toastStyle:function(){var t={width:"auto"};return this.icon||this.image,t.zIndex=this.zIndex?this.zIndex:this.$tn.zIndex.toast,t},maskStyle:function(){var t={},i=this.zIndex?this.zIndex:this.$tn.zIndex.toast;return t.zIndex=i-1,t},haveIcon:function(){return this.icon||this.image},haveContent:function(){return this.content}},data:function(){return{timer:null,visible:!1,title:"操作成功",content:"",icon:"",image:""}},methods:{show:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=i.duration,e=void 0===n?2e3:n,s=i.title,o=void 0===s?"":s,a=i.content,u=void 0===a?"":a,c=i.icon,r=void 0===c?"":c,l=i.image,d=void 0===l?"":l;if(null!==this.timer&&clearTimeout(this.timer),!r&&!d&&!o&&!u)return this._clearOptions(),void this.$emit("closed");this.visible=!0,this.title=o,this.content=u,this.icon=r,r||(this.image=d),this.timer=setTimeout((function(){t.visible=!1,clearTimeout(t.timer),t.timer=null,t._clearOptions(),t.$emit("closed")}),e)},_clearOptions:function(){this.title="",this.content="",this.icon="",this.image=""}}};i.default=e},cad5:function(t,i,n){},d27e:function(t,i,n){"use strict";var e=n("cad5"),s=n.n(e);s.a},ed98:function(t,i,n){"use strict";n.d(i,"b",(function(){return e})),n.d(i,"c",(function(){return s})),n.d(i,"a",(function(){}));var e=function(){var t=this.$createElement,i=(this._self._c,this.visible?this.__get_style([this.toastStyle]):null),n=this.visible?this.__get_style([this.maskStyle]):null;this.$mp.data=Object.assign({},{$root:{s0:i,s1:n}})},s=[]}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'tuniao-ui/components/tn-toast/tn-toast-create-component',
{
'tuniao-ui/components/tn-toast/tn-toast-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("7115"))
})
},
[['tuniao-ui/components/tn-toast/tn-toast-create-component']]
]);

View File

@ -1,4 +0,0 @@
{
"usingComponents": {},
"component": true
}

View File

@ -1 +0,0 @@
<block wx:if="{{visible}}"><view class="data-v-30c0fcc0"><view class="{{['tn-toast-class','tn-toast','data-v-30c0fcc0',toastClass]}}" style="{{$root.s0}}"><block wx:if="{{image}}"><image class="{{['tn-toast__img','data-v-30c0fcc0',(title||content)?'tn-margin-bottom-sm':'']}}" src="{{image}}"></image></block><block wx:if="{{icon}}"><view class="tn-toast__icon data-v-30c0fcc0"><view class="{{['data-v-30c0fcc0','tn-icon-'+icon]}}"></view></view></block><block wx:if="{{title}}"><view class="{{['tn-toast__text','data-v-30c0fcc0',haveIcon||haveContent?'':'tn-toast--unicon']}}">{{title}}</view></block><block wx:if="{{haveContent}}"><view class="tn-toast__text tn-toast__content data-v-30c0fcc0">{{content}}</view></block></view><view class="{{['tn-toast__mask','data-v-30c0fcc0',visible?'tn-toast__mask--show':'']}}" style="{{$root.s1}}"></view></view></block>

View File

@ -1 +0,0 @@
.tn-toast.data-v-30c0fcc0{height:auto;background-color:rgba(0,0,0,.4);border-radius:10rpx;opacity:0;position:fixed;left:50%;top:48%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:.3 ease-in-out;transition-property:opacity,visibility;display:flex;align-items:center;flex-direction:column;padding:20rpx 20rpx 20rpx 20rpx;box-sizing:border-box}.tn-toast--show.data-v-30c0fcc0{opacity:1}.tn-toast--show.tn-toast--padding.data-v-30c0fcc0{padding-top:50rpx!important;padding-bottom:50rpx!important}.tn-toast--show.tn-toast--unicon.data-v-30c0fcc0{padding:20rpx 20rpx 20rpx 20rpx!important}.tn-toast__img.data-v-30c0fcc0{width:120rpx;height:120rpx;display:block}.tn-toast__text.data-v-30c0fcc0{font-size:28rpx;line-height:28rpx;color:#fff;text-align:center}.tn-toast__icon.data-v-30c0fcc0{color:#fff;font-size:64rpx}.tn-toast__content.data-v-30c0fcc0{padding-top:10rpx;font-size:24rpx!important}.tn-toast--unicon.data-v-30c0fcc0{padding:0;word-break:break-all}.tn-toast--padding.data-v-30c0fcc0{padding:10rpx}.tn-toast__mask.data-v-30c0fcc0{width:100%;height:100%;position:fixed;top:0;left:0;right:0;border:0;background-color:transparent;transition:.3s ease-in-out;transition-property:opacity;opacity:0}.tn-toast__mask--show.data-v-30c0fcc0{height:100%;opacity:1}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item"],{"3a0b":function(e,t,n){"use strict";n.r(t);var u=n("fec3"),a=n("e32c");for(var c in a)["default"].indexOf(c)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(c);n("5657");var r=n("828b"),i=Object(r["a"])(a["default"],u["b"],u["c"],!1,null,"2da12e24",null,!1,u["a"],void 0);t["default"]=i.exports},5657:function(e,t,n){"use strict";var u=n("5acc"),a=n.n(u);a.a},"5acc":function(e,t,n){},"96ee":function(e,t,n){"use strict";var u=n("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=n("d3b4"),c=u(n("d31f")),r=(0,a.initVueI18n)(c.default),i=r.t,o={emits:["change"],props:{weeks:{type:Object,default:function(){return{}}},calendar:{type:Object,default:function(){return{}}},selected:{type:Array,default:function(){return[]}},lunar:{type:Boolean,default:!1}},computed:{todayText:function(){return i("uni-calender.today")}},methods:{choiceDate:function(e){this.$emit("change",e)}}};t.default=o},e32c:function(e,t,n){"use strict";n.r(t);var u=n("96ee"),a=n.n(u);for(var c in u)["default"].indexOf(c)<0&&function(e){n.d(t,e,(function(){return u[e]}))}(c);t["default"]=a.a},fec3:function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){}));var u=function(){var e=this.$createElement;this._self._c},a=[]}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item-create-component',
{
'uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("3a0b"))
})
},
[['uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item-create-component']]
]);

View File

@ -1,4 +0,0 @@
{
"usingComponents": {},
"component": true
}

View File

@ -1 +0,0 @@
<view data-event-opts="{{[['tap',[['choiceDate',['$0'],['weeks']]]]]}}" class="{{['uni-calendar-item__weeks-box','data-v-2da12e24',(weeks.disable)?'uni-calendar-item--disable':'',(calendar.fullDate===weeks.fullDate&&weeks.isDay)?'uni-calendar-item--isDay':'',(calendar.fullDate===weeks.fullDate&&!weeks.isDay)?'uni-calendar-item--checked':'',(weeks.beforeMultiple)?'uni-calendar-item--before-checked':'',(weeks.multiple)?'uni-calendar-item--multiple':'',(weeks.afterMultiple)?'uni-calendar-item--after-checked':'']}}" bindtap="__e"><view class="uni-calendar-item__weeks-box-item data-v-2da12e24"><block wx:if="{{selected&&weeks.extraInfo}}"><text class="{{['uni-calendar-item__weeks-box-circle','data-v-2da12e24',(weeks.extraInfo.is==0)?'my-circle':'']}}"></text></block><text class="{{['uni-calendar-item__weeks-box-text','data-v-2da12e24',(weeks.isDay)?'uni-calendar-item--isDay-text':'',(calendar.fullDate===weeks.fullDate&&weeks.isDay)?'uni-calendar-item--isDay':'',(calendar.fullDate===weeks.fullDate&&!weeks.isDay)?'uni-calendar-item--checked':'',(weeks.beforeMultiple)?'uni-calendar-item--before-checked':'',(weeks.multiple)?'uni-calendar-item--multiple':'',(weeks.afterMultiple)?'uni-calendar-item--after-checked':'',(weeks.disable)?'uni-calendar-item--disable':'']}}">{{weeks.date}}</text><block wx:if="{{!lunar&&!weeks.extraInfo&&weeks.isDay}}"><text class="{{['uni-calendar-item__weeks-lunar-text','data-v-2da12e24',(weeks.isDay)?'uni-calendar-item--isDay-text':'',(calendar.fullDate===weeks.fullDate&&weeks.isDay)?'uni-calendar-item--isDay':'',(calendar.fullDate===weeks.fullDate&&!weeks.isDay)?'uni-calendar-item--checked':'',(weeks.beforeMultiple)?'uni-calendar-item--before-checked':'',(weeks.multiple)?'uni-calendar-item--multiple':'',(weeks.afterMultiple)?'uni-calendar-item--after-checked':'']}}">{{todayText}}</text></block><block wx:if="{{lunar&&!weeks.extraInfo}}"><text class="{{['uni-calendar-item__weeks-lunar-text','data-v-2da12e24',(weeks.isDay)?'uni-calendar-item--isDay-text':'',(calendar.fullDate===weeks.fullDate&&weeks.isDay)?'uni-calendar-item--isDay':'',(calendar.fullDate===weeks.fullDate&&!weeks.isDay)?'uni-calendar-item--checked':'',(weeks.beforeMultiple)?'uni-calendar-item--before-checked':'',(weeks.multiple)?'uni-calendar-item--multiple':'',(weeks.afterMultiple)?'uni-calendar-item--after-checked':'',(weeks.disable)?'uni-calendar-item--disable':'']}}">{{weeks.isDay?todayText:weeks.lunar.IDayCn==='初一'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn}}</text></block><block wx:if="{{weeks.extraInfo&&weeks.extraInfo.info}}"><text class="{{['uni-calendar-item__weeks-lunar-text','data-v-2da12e24',(weeks.extraInfo.info)?'uni-calendar-item--extra':'',(weeks.isDay)?'uni-calendar-item--isDay-text':'',(calendar.fullDate===weeks.fullDate&&weeks.isDay)?'uni-calendar-item--isDay':'',(calendar.fullDate===weeks.fullDate&&!weeks.isDay)?'uni-calendar-item--checked':'',(weeks.beforeMultiple)?'uni-calendar-item--before-checked':'',(weeks.multiple)?'uni-calendar-item--multiple':'',(weeks.afterMultiple)?'uni-calendar-item--after-checked':'',(weeks.disable)?'uni-calendar-item--disable':'',(weeks.extraInfo.is==0)?'my-text':'']}}">{{weeks.extraInfo.info}}</text></block></view></view>

View File

@ -1 +0,0 @@
.uni-calendar-item__weeks-box.data-v-2da12e24{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.uni-calendar-item__weeks-box-text.data-v-2da12e24{font-size:14px;color:#333}.uni-calendar-item__weeks-lunar-text.data-v-2da12e24{font-size:12px;color:#333}.uni-calendar-item__weeks-box-item.data-v-2da12e24{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100rpx;height:100rpx}.uni-calendar-item__weeks-box-circle.data-v-2da12e24{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:8px;background-color:#e43d33}.uni-calendar-item--disable.data-v-2da12e24{background-color:hsla(0,0%,97.6%,.3);color:silver}.uni-calendar-item--isDay-text.data-v-2da12e24{color:#2979ff}.uni-calendar-item--isDay.data-v-2da12e24{background-color:#2979ff;opacity:.8;color:#fff}.uni-calendar-item--extra.data-v-2da12e24{color:#e43d33;opacity:.8}.uni-calendar-item--checked.data-v-2da12e24{background-color:#2979ff;color:#fff;opacity:.8}.uni-calendar-item--multiple.data-v-2da12e24{background-color:#2979ff;color:#fff;opacity:.8}.uni-calendar-item--before-checked.data-v-2da12e24{background-color:#ff5a5f;color:#fff}.uni-calendar-item--after-checked.data-v-2da12e24{background-color:#ff5a5f;color:#fff}.my-text.data-v-2da12e24{color:#999}.my-circle.data-v-2da12e24{background-color:#999}

View File

@ -1,10 +0,0 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["uni_modules/uni-calendar/components/uni-calendar/uni-calendar"],{"0627":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){}));var a=function(){var t=this.$createElement;this._self._c},i=[]},"26a1":function(t,e,n){"use strict";var a=n("71bd"),i=n.n(a);i.a},"71bd":function(t,e,n){},"80ca":function(t,e,n){"use strict";n.r(e);var a=n("bbe2"),i=n.n(a);for(var c in a)["default"].indexOf(c)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(c);e["default"]=i.a},a8e4:function(t,e,n){"use strict";n.r(e);var a=n("0627"),i=n("80ca");for(var c in i)["default"].indexOf(c)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(c);n("26a1");var s=n("828b"),o=Object(s["a"])(i["default"],a["b"],a["c"],!1,null,"58d9892f",null,!1,a["a"],void 0);e["default"]=o.exports},bbe2:function(t,e,n){"use strict";var a=n("47a9");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=a(n("1ce3")),c=n("d3b4"),s=a(n("d31f")),o=(0,c.initVueI18n)(s.default),u=o.t,l={components:{CalendarItem:function(){n.e("uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item").then(function(){return resolve(n("3a0b"))}.bind(null,n)).catch(n.oe)}},emits:["close","confirm","change","monthSwitch"],props:{date:{type:String,default:""},selected:{type:Array,default:function(){return[]}},lunar:{type:Boolean,default:!1},startDate:{type:String,default:""},endDate:{type:String,default:""},range:{type:Boolean,default:!1},insert:{type:Boolean,default:!0},showMonth:{type:Boolean,default:!0},clearDate:{type:Boolean,default:!0}},data:function(){return{show:!1,weeks:[],calendar:{},nowDate:"",aniMaskShow:!1}},computed:{okText:function(){return u("uni-calender.ok")},cancelText:function(){return u("uni-calender.cancel")},todayText:function(){return u("uni-calender.today")},monText:function(){return u("uni-calender.MON")},TUEText:function(){return u("uni-calender.TUE")},WEDText:function(){return u("uni-calender.WED")},THUText:function(){return u("uni-calender.THU")},FRIText:function(){return u("uni-calender.FRI")},SATText:function(){return u("uni-calender.SAT")},SUNText:function(){return u("uni-calender.SUN")}},watch:{date:function(t){this.init(t)},startDate:function(t){this.cale.resetSatrtDate(t),this.cale.setDate(this.nowDate.fullDate),this.weeks=this.cale.weeks},endDate:function(t){this.cale.resetEndDate(t),this.cale.setDate(this.nowDate.fullDate),this.weeks=this.cale.weeks},selected:function(t){this.cale.setSelectInfo(this.nowDate.fullDate,t),this.weeks=this.cale.weeks}},created:function(){this.cale=new i.default({selected:this.selected,startDate:this.startDate,endDate:this.endDate,range:this.range}),this.init(this.date)},methods:{clean:function(){},bindDateChange:function(t){var e=t.detail.value+"-1";this.setDate(e);var n=this.cale.getDate(e),a=n.year,i=n.month;this.$emit("monthSwitch",{year:a,month:i})},init:function(t){this.cale.setDate(t),this.weeks=this.cale.weeks,this.nowDate=this.calendar=this.cale.getInfo(t)},open:function(){var t=this;this.clearDate&&!this.insert&&(this.cale.cleanMultipleStatus(),this.init(this.date)),this.show=!0,this.$nextTick((function(){setTimeout((function(){t.aniMaskShow=!0}),50)}))},close:function(){var t=this;this.aniMaskShow=!1,this.$nextTick((function(){setTimeout((function(){t.show=!1,t.$emit("close")}),300)}))},confirm:function(){this.setEmit("confirm"),this.close()},change:function(){this.insert&&this.setEmit("change")},monthSwitch:function(){var t=this.nowDate,e=t.year,n=t.month;this.$emit("monthSwitch",{year:e,month:Number(n)})},setEmit:function(t){var e=this.calendar,n=e.year,a=e.month,i=e.date,c=e.fullDate,s=e.lunar,o=e.extraInfo;this.$emit(t,{range:this.cale.multipleStatus,year:n,month:a,date:i,fulldate:c,lunar:s,extraInfo:o||{}})},choiceDate:function(t){t.disable||(this.calendar=t,this.cale.setMultiple(this.calendar.fullDate),this.weeks=this.cale.weeks,this.change())},backToday:function(){var t="".concat(this.nowDate.year,"-").concat(this.nowDate.month),e=this.cale.getDate(new Date),n="".concat(e.year,"-").concat(e.month);this.init(e.fullDate),t!==n&&this.monthSwitch(),this.change()},pre:function(){var t=this.cale.getDate(this.nowDate.fullDate,-1,"month").fullDate;this.setDate(t),this.monthSwitch()},next:function(){var t=this.cale.getDate(this.nowDate.fullDate,1,"month").fullDate;this.setDate(t),this.monthSwitch()},setDate:function(t){this.cale.setDate(t),this.weeks=this.cale.weeks,this.nowDate=this.cale.getInfo(t)}}};e.default=l}}]);
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'uni_modules/uni-calendar/components/uni-calendar/uni-calendar-create-component',
{
'uni_modules/uni-calendar/components/uni-calendar/uni-calendar-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('df3c')['createComponent'](__webpack_require__("a8e4"))
})
},
[['uni_modules/uni-calendar/components/uni-calendar/uni-calendar-create-component']]
]);

View File

@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"calendar-item": "/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item"
}
}

View File

@ -1 +0,0 @@
<view class="uni-calendar data-v-58d9892f"><block wx:if="{{!insert&&show}}"><view data-event-opts="{{[['tap',[['clean',['$event']]]]]}}" class="{{['uni-calendar__mask','data-v-58d9892f',(aniMaskShow)?'uni-calendar--mask-show':'']}}" bindtap="__e"></view></block><block wx:if="{{insert||show}}"><view class="{{['uni-calendar__content','data-v-58d9892f',(!insert)?'uni-calendar--fixed':'',(aniMaskShow)?'uni-calendar--ani-show':'']}}"><block wx:if="{{!insert}}"><view class="uni-calendar__header uni-calendar--fixed-top data-v-58d9892f"><view data-event-opts="{{[['tap',[['close',['$event']]]]]}}" class="uni-calendar__header-btn-box data-v-58d9892f" bindtap="__e"><text class="uni-calendar__header-text uni-calendar--fixed-width data-v-58d9892f">{{cancelText}}</text></view><view data-event-opts="{{[['tap',[['confirm',['$event']]]]]}}" class="uni-calendar__header-btn-box data-v-58d9892f" bindtap="__e"><text class="uni-calendar__header-text uni-calendar--fixed-width data-v-58d9892f">{{okText}}</text></view></view></block><view class="uni-calendar__header data-v-58d9892f"><view data-event-opts="{{[['tap',[['pre',['$event']]]]]}}" class="uni-calendar__header-btn-box data-v-58d9892f" catchtap="__e"><view class="uni-calendar__header-btn uni-calendar--left data-v-58d9892f"></view></view><picker mode="date" value="{{date}}" fields="month" data-event-opts="{{[['change',[['bindDateChange',['$event']]]]]}}" bindchange="__e" class="data-v-58d9892f"><text class="uni-calendar__header-text data-v-58d9892f">{{(nowDate.year||'')+' / '+(nowDate.month||'')}}</text></picker><view data-event-opts="{{[['tap',[['next',['$event']]]]]}}" class="uni-calendar__header-btn-box data-v-58d9892f" catchtap="__e"><view class="uni-calendar__header-btn uni-calendar--right data-v-58d9892f"></view></view><text data-event-opts="{{[['tap',[['backToday',['$event']]]]]}}" class="uni-calendar__backtoday data-v-58d9892f" bindtap="__e">{{todayText}}</text></view><view class="uni-calendar__box data-v-58d9892f"><block wx:if="{{showMonth}}"><view class="uni-calendar__box-bg data-v-58d9892f"><text class="uni-calendar__box-bg-text data-v-58d9892f">{{nowDate.month}}</text></view></block><view class="uni-calendar__weeks data-v-58d9892f"><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{SUNText}}</text></view><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{monText}}</text></view><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{TUEText}}</text></view><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{WEDText}}</text></view><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{THUText}}</text></view><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{FRIText}}</text></view><view class="uni-calendar__weeks-day data-v-58d9892f"><text class="uni-calendar__weeks-day-text data-v-58d9892f">{{SATText}}</text></view></view><block wx:for="{{weeks}}" wx:for-item="item" wx:for-index="weekIndex" wx:key="weekIndex"><view class="uni-calendar__weeks data-v-58d9892f"><block wx:for="{{item}}" wx:for-item="weeks" wx:for-index="weeksIndex" wx:key="weeksIndex"><view class="uni-calendar__weeks-item data-v-58d9892f"><calendar-item class="uni-calendar-item--hook data-v-58d9892f" vue-id="{{'c9d0ae1e-1-'+weekIndex+'-'+weeksIndex}}" weeks="{{weeks}}" calendar="{{calendar}}" selected="{{selected}}" lunar="{{lunar}}" data-event-opts="{{[['^change',[['choiceDate']]]]}}" bind:change="__e" bind:__l="__l"></calendar-item></view></block></view></block></view></view></block></view>

View File

@ -1 +0,0 @@
.uni-calendar.data-v-58d9892f{display:flex;flex-direction:column}.uni-calendar__mask.data-v-58d9892f{position:fixed;bottom:0;top:0;left:0;right:0;background-color:rgba(0,0,0,.4);transition-property:opacity;transition-duration:.3s;opacity:0;z-index:99}.uni-calendar--mask-show.data-v-58d9892f{opacity:1}.uni-calendar--fixed.data-v-58d9892f{position:fixed;left:0;right:0;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-duration:.3s;-webkit-transform:translateY(460px);transform:translateY(460px);bottom:calc(0px);z-index:99}.uni-calendar--ani-show.data-v-58d9892f{-webkit-transform:translateY(0);transform:translateY(0)}.uni-calendar__content.data-v-58d9892f{background-color:#fff}.uni-calendar__header.data-v-58d9892f{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;height:50px;border-bottom-color:#ededed;border-bottom-style:solid;border-bottom-width:1px}.uni-calendar--fixed-top.data-v-58d9892f{display:flex;flex-direction:row;justify-content:space-between;border-top-color:#ededed;border-top-style:solid;border-top-width:1px}.uni-calendar--fixed-width.data-v-58d9892f{width:50px}.uni-calendar__backtoday.data-v-58d9892f{position:absolute;right:0;top:25rpx;padding:0 5px;padding-left:10px;height:25px;line-height:25px;font-size:12px;border-top-left-radius:25px;border-bottom-left-radius:25px;color:#333;background-color:#f1f1f1}.uni-calendar__header-text.data-v-58d9892f{text-align:center;width:100px;font-size:14px;color:#333}.uni-calendar__header-btn-box.data-v-58d9892f{display:flex;flex-direction:row;align-items:center;justify-content:center;width:50px;height:50px}.uni-calendar__header-btn.data-v-58d9892f{width:10px;height:10px;border-left-color:grey;border-left-style:solid;border-left-width:2px;border-top-color:#555;border-top-style:solid;border-top-width:2px}.uni-calendar--left.data-v-58d9892f{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.uni-calendar--right.data-v-58d9892f{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.uni-calendar__weeks.data-v-58d9892f{position:relative;display:flex;flex-direction:row}.uni-calendar__weeks-item.data-v-58d9892f{flex:1}.uni-calendar__weeks-day.data-v-58d9892f{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;height:45px;border-bottom-color:#f5f5f5;border-bottom-style:solid;border-bottom-width:1px}.uni-calendar__weeks-day-text.data-v-58d9892f{font-size:14px}.uni-calendar__box.data-v-58d9892f{position:relative}.uni-calendar__box-bg.data-v-58d9892f{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;right:0;bottom:0}.uni-calendar__box-bg-text.data-v-58d9892f{font-size:200px;font-weight:700;color:#999;opacity:.1;text-align:center;line-height:1}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More