Merge branch 'master' of http://122.51.230.86:3000/dianliang/dl_uniapp
This commit is contained in:
commit
078509a382
141
components/biner-input-tags/biner-input-tags.vue
Normal file
141
components/biner-input-tags/biner-input-tags.vue
Normal file
@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<view class="box-border">
|
||||
<view class="u-tag clearfixed">
|
||||
<block v-for="(item,index) in selectlist" :key='index'>
|
||||
<view class="tag-label" @click="del(index)">
|
||||
{{item.title}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view>
|
||||
<input class="input-tag" v-model="inputzy" type="text" :placeholder="placeholder" @confirm="confirm">
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
inputzy: ""
|
||||
}
|
||||
},
|
||||
props: {
|
||||
selectlist: {
|
||||
type: Array,
|
||||
default: function() {
|
||||
return []
|
||||
}
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
inputzy(news, olds) {
|
||||
var key = news.trim();
|
||||
var title = key;
|
||||
if (news[0] == ' ' || news[0] == ',' || news[0] == ',') {
|
||||
var title = news.split(news[0])[1];
|
||||
this.inputzy = title;
|
||||
return;
|
||||
}
|
||||
if (news.length != '1' && news[news.length - 1] == ' ' || news[news.length - 1] == ',' || news[news
|
||||
.length - 1] ==
|
||||
',') {
|
||||
title = key.split(news[news.length - 1])[0];
|
||||
title = title.trim();
|
||||
var obj = this.selectlist.find(item => item.title == title);
|
||||
if (obj) {
|
||||
this.inputzy = '';
|
||||
return;
|
||||
}
|
||||
this.selectlist.push({
|
||||
title
|
||||
});
|
||||
this.inputzy = '';
|
||||
this.change();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
confirm(e) {
|
||||
this.changeVal(e.mp.detail.value);
|
||||
},
|
||||
changeVal(news) {
|
||||
var key = news.trim();
|
||||
if (key == '') {
|
||||
this.inputzy = '';
|
||||
return;
|
||||
}
|
||||
var title = key;
|
||||
var obj = this.selectlist.find(item => item.title == title);
|
||||
if (obj) {
|
||||
this.inputzy = '';
|
||||
return;
|
||||
}
|
||||
this.selectlist.push({
|
||||
title
|
||||
});
|
||||
this.inputzy = '';
|
||||
this.change();
|
||||
},
|
||||
del(index) {
|
||||
this.selectlist.splice(index, 1);
|
||||
this.change();
|
||||
},
|
||||
change() {
|
||||
this.$emit('change', this.selectlist);
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.clearfixed::after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.box-border {
|
||||
padding: 20upx 32upx;
|
||||
border-radius: 8upx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/*
|
||||
* u-tag
|
||||
*/
|
||||
.u-tag {
|
||||
.tag-label {
|
||||
border: 1rpx solid #CCCCCC;
|
||||
position: relative;
|
||||
float: left;
|
||||
font-size: 28upx;
|
||||
padding-top: 6rpx;
|
||||
padding-bottom: 6rpx;
|
||||
padding-left: 18rpx;
|
||||
padding-right: 50upx;
|
||||
border-radius: 15rpx;
|
||||
background: white;
|
||||
color: #363636;
|
||||
margin-right: 20upx;
|
||||
margin-bottom: 30upx;
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
content: '×';
|
||||
margin-top: -2upx;
|
||||
right: 20upx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.input-tag {
|
||||
line-height: 50upx;
|
||||
font-size: 28upx;
|
||||
}
|
||||
</style>
|
@ -185,6 +185,11 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
}, {
|
||||
"path": "set/evaluate",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "auth/auth-choose",
|
||||
|
@ -16,6 +16,7 @@
|
||||
<view class="opt-item" v-if="item.approvalStatus=='2'" @click="updateStatus(1,item.id)">重启</view>
|
||||
<view class="opt-item" @click="goDetail(item.id)">查看详情</view>
|
||||
<view class="opt-item" @click="publish(item)">发类似</view>
|
||||
<view class="opt-item" @click="evaluate(item)">评价(demo)</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -45,6 +46,9 @@
|
||||
publish(item) {
|
||||
this.$tab.navigateTo('/pages/notice/public-notice?sameId=' + item.id)
|
||||
},
|
||||
evaluate(){
|
||||
this.$tab.navigateTo('/pages/mine/set/evaluate')
|
||||
},
|
||||
updateStatus(status, id) {
|
||||
let data = {
|
||||
publishTakeDown: status,
|
||||
@ -134,7 +138,7 @@
|
||||
|
||||
.opt-button-box {
|
||||
width: 100%;
|
||||
font-size: 30rpx;
|
||||
font-size: 26rpx;
|
||||
padding-top: 10rpx;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
@ -14,8 +14,8 @@
|
||||
<view class="dl-item-box">
|
||||
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower="onReachBottomCus" refresher-enabled
|
||||
@refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered">
|
||||
<my-notice-item-tg v-if="dataList.length>0" :dataList="dataList"
|
||||
@goDetail="goDetail()"></my-notice-item-tg>
|
||||
<my-notice-item-tg v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"
|
||||
@goEvaluate="goEvaluate()"></my-notice-item-tg>
|
||||
<view style="text-align: center" v-if="dataList.length==0">
|
||||
<image class="" src="@/static/images/nothing.png"></image>
|
||||
</view>
|
||||
@ -153,6 +153,10 @@
|
||||
*/
|
||||
goDetail(id) {
|
||||
this.$tab.navigateTo('/pages/notice/detail?viewMy=true&id=' + id)
|
||||
},
|
||||
goEvaluate() {
|
||||
this.$tab.navigateTo('/pages/mine/set/evaluate')
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
216
pages/mine/set/evaluate.vue
Normal file
216
pages/mine/set/evaluate.vue
Normal file
@ -0,0 +1,216 @@
|
||||
<template>
|
||||
<view class="suggest-content">
|
||||
<navigation-bar-vue title="评价" style="width: 100%;" background-color="#ffffff"
|
||||
title-color="#000000"></navigation-bar-vue>
|
||||
<view class="card-detail">
|
||||
<view class="item-field">
|
||||
<view class="item-lable is-required">
|
||||
你觉得参与本次通告体验如何?<text>(1-10分)</text>
|
||||
</view>
|
||||
<view class="item-value">
|
||||
<uni-rate :max="10" :value="dataObj.rate" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-field">
|
||||
<view class="item-lable is-required">
|
||||
分享你的参与感受,帮助更多小伙伴~
|
||||
</view>
|
||||
<view class="item-value">
|
||||
<biner-input-tags @change="change" :selectlist='selectlist' :disabled='disabled'
|
||||
:placeholder='placeholder'></biner-input-tags>
|
||||
<view class="item-dom-box">
|
||||
<view class="item-dom" v-for="(item,index) in tips" @click="chooseObj(item)">{{item}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="line-row-bottom">
|
||||
<uni-data-checkbox @change="chooseBoxFun($event,'isRead')" multiple :localdata="readBookList" />
|
||||
<text class="text-red">你的头像和昵称将在评价中隐藏</text>
|
||||
</view>
|
||||
<view class="item-field" style="align-items: center;">
|
||||
<view class="submit-box" @click="submitForm">提交</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||
// 引入biner-input-tags
|
||||
import binerInputTags from '@/components/biner-input-tags/biner-input-tags'
|
||||
export default {
|
||||
components: {
|
||||
navigationBarVue,
|
||||
binerInputTags
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
disabled: false, //不禁用
|
||||
// 默认的数组 不填默认的是空数组
|
||||
selectlist: [{
|
||||
title: '专业'
|
||||
}],
|
||||
// 默认提示
|
||||
placeholder: '请输入评价',
|
||||
dataObj: {
|
||||
rate: 0,
|
||||
},
|
||||
tips: ["定人快", "审稿快", "提现快"],
|
||||
readBookList: [{
|
||||
text: '匿名评价',
|
||||
value: true
|
||||
}],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 监听变化的数据
|
||||
change(arr) {
|
||||
this.selectlist = arr
|
||||
},
|
||||
/**提交*/
|
||||
submitForm() {},
|
||||
/**
|
||||
* 去我的建议列表
|
||||
*/
|
||||
goMySuggest() {
|
||||
this.$tab.navigateTo('/pages/mine/set/my-suggest')
|
||||
},
|
||||
chooseObj(item) {
|
||||
this.selectlist.push({
|
||||
title: item
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.suggest-content {
|
||||
padding-top: calc(90rpx + var(--status-bar-height));
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
color: #363636;
|
||||
font-size: 32rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
.card-detail {
|
||||
border-top: 1rpx solid #F2F2F2;
|
||||
width: 100%;
|
||||
padding: 20rpx 30rpx;
|
||||
background-color: white;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
.line-row-bottom {
|
||||
width: 100%;
|
||||
margin-top: 20rpx;
|
||||
font-size: 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.text-red {
|
||||
font-size: 24rpx;
|
||||
color: #929292;
|
||||
}
|
||||
}
|
||||
|
||||
.item-field {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
|
||||
.item-lable {
|
||||
padding: 15rpx 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
text {
|
||||
color: #929292;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.item-value {
|
||||
width: 100%;
|
||||
|
||||
input {
|
||||
padding-left: 20rpx;
|
||||
line-height: 1;
|
||||
height: 70rpx;
|
||||
border: 1rpx solid #dcdfe6;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
.choose-add {
|
||||
color: #686868;
|
||||
padding: 10rpx 0 10rpx 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
border: 1rpx solid #dcdfe6;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
height: 150rpx;
|
||||
color: #686868;
|
||||
padding: 10rpx 0 10rpx 20rpx;
|
||||
border: 1rpx solid #dcdfe6;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
.item-dom-box {
|
||||
width: 100%;
|
||||
|
||||
.item-dom {
|
||||
font-size: 28rpx;
|
||||
border: 1rpx solid #CCCCCC;
|
||||
border-radius: 15rpx;
|
||||
float: left;
|
||||
padding: 6rpx 18rpx;
|
||||
margin: 0 0 20rpx 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.submit-box {
|
||||
padding: 15rpx 0;
|
||||
background-color: #FC1F3E;
|
||||
color: white;
|
||||
width: 70%;
|
||||
border-radius: 10rpx;
|
||||
margin-top: 15rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.my-suggest-dom {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 22rpx;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.checklist-box {
|
||||
margin-right: 10rpx !important;
|
||||
}
|
||||
</style>
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="suggest-content">
|
||||
<navigation-bar-vue title="意见反馈" style="width: 100%;" background-color="#ffffff"
|
||||
<navigation-bar-vue title="评价" style="width: 100%;" background-color="#ffffff"
|
||||
title-color="#000000"></navigation-bar-vue>
|
||||
<view class="card-detail">
|
||||
<view class="item-field">
|
||||
|
@ -4,6 +4,7 @@
|
||||
<view class="file-picker__box-content" :style="borderStyle">
|
||||
<image class="file-image" :src="item.url" mode="aspectFill" @click.stop="prviewImage(item,index)">
|
||||
</image>
|
||||
<text>{{item.url}}</text>
|
||||
<view v-if="delIcon && !readonly" class="icon-del-box" @click.stop="delFile(index)">
|
||||
<view class="icon-del"></view>
|
||||
<view class="icon-del rotate"></view>
|
||||
|
Loading…
Reference in New Issue
Block a user