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/
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
"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/
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
"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
}
// 如果showState为false则移除对应的选项按钮,否则往对应的位置添加上对应的选项按钮
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": "河南省青年企业家协会"
}
}
]
}],
@ -279,4 +289,4 @@
"backgroundColor": "#F1F2F8"
},
"uniIdRouter": {}
}
}

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) {
@ -680,4 +683,4 @@
align-items: center;
justify-content: space-between;
}
</style>
</style>

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*/
</style>
/* 邀请卡片 */
.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({
// 在nvue里是jpeg
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;
}
@ -564,4 +575,4 @@
line-height: 1;
/* #endif */
}
</style>
</style>

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