This commit is contained in:
lnn19986213 2023-08-14 08:59:07 +08:00
parent 79650dc9c8
commit dd621898c1
11 changed files with 2105 additions and 3526 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,476 +0,0 @@
<template>
<view>
<view class="search_box">
<u-search height=42 margin="12px 0" searchIconColor="black" bgColor="#f8f8f8" searchIconSize="40rpx"
shape="square" :showAction="false" v-model="dataVal" placeholder="请输入资料名称"></u-search>
<view class="car_box " @click="isSelect=false">
<view class="dd" v-if="isSelect">
<image src="../../static/DataSearch/chexboxs.png" mode=""></image>
<text style="font-size: 20rpx;">选择</text>
</view>
<view class="dd" v-if="!isSelect" @click="moreSelected">
<checkbox-group @change="allChoose">
<label class="wr" style="display: flex; flex-direction: column;align-items: center; justify-content: space-around;">
<checkbox value="all" :checked="allChecked?true:false" />
<text style="font-size: 15rpx;margin-top: 8rpx;">全选</text>
</label>
</checkbox-group>
</view>
</view>
</view>
<checkbox-group @change="changeCheckbox">
<view class="itm" v-for="(item,index) in checkboxData" :key="item.value">
<view class="fileImg">
<image src="../../static/DataSearch/musicImg.png" mode=""></image>
</view>
<view class="data_detail_box">
<view class="file_title">
<!-- 资料查找 -->
{{item.label}}
</view>
<view class="file_time">
2021-12-18 17:08 220KB
</view>
</view>
<view class="moreImg" v-if="isSelect" @click="delFile(index)">
<image src="../../static/DataSearch/dirDel.png" mode=""></image>
</view>
<view class="moreImg" style="width: 32rpx;height: 32rpx;" v-if="!isSelect">
<label class="wr">
<checkbox :value="String(item.value)" :checked="checkedArr.includes(String(item.value))" />
</label>
</view>
</view>
</checkbox-group>
<!-- 底部对文件的操作栏 -->
<view class="bottom_tab" v-if="!isSelect">
<view class="bottom_wx" v-if="checkedArr.length > 0 ? false: true">
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/dowm.png" mode=""></image>
</view>
<view class="bottom_tab_itm_txt">
下载
</view>
</view>
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/share.png" mode=""></image>
</view>
<view class="bottom_tab_itm_txt">
分享
</view>
</view>
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/Delet.png" mode=""></image>
</view>
<view class="bottom_tab_itm_txt">
删除
</view>
</view>
</view>
<view class="bottom_yx" v-if="checkedArr.length > 0">
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/dowmSelected.png" mode=""></image>
</view>
<view class="bottom_tab_itm_txt">
下载
</view>
</view>
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/Deletselected.png" mode=""></image>
</view>
<view class="bottom_tab_itm_txt">
删除
</view>
</view>
</view>
</view>
<!-- 底部对文件的操作栏 ed -->
<view class="bottm" @click="zhanKai">
<image src="../../static/orderHall/addOrder.png" mode=""></image>
</view>
<!-- 弹出框 加号的弹出框-->
<u-popup :show="show" closeOnClickOverlay @close="() => show = false" @open="open" round=5>
<view class="tan_con">
<view class="tit">
上传文件
</view>
<view class="up_itm_box">
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/UploadImg.png" mode=""></image>
</view>
<view class="Up_tit">
上传图片
</view>
</view>
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/uploadDoc.png" mode=""></image>
</view>
<view class="Up_tit">
上传文档
</view>
</view>
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/UploadVideo.png" mode=""></image>
</view>
<view class="Up_tit">
上传视频
</view>
</view>
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/UploadMusic.png" mode=""></image>
</view>
<view class="Up_tit">
上传音频
</view>
</view>
</view>
</view>
</u-popup>
<!-- 弹出框 底部 加号的弹出框 ed-->
<!-- 删除 删除文件 的弹出确认删除 -->
<u-modal width="550rpx" confirmText="确认删除" confirmColor='#E34D59' :show="showModel" showCancelButton
@confirm="fileOprModelConfirm" @cancel="() => showModel = false">
<text style="font-size: 32rpx; font-weight: 600;color: #251B1D;margin: 25rpx 0;">确认删除文件</text>
</u-modal>
<!-- 三个点ed -->
</view>
</template>
<script>
export default {
data() {
return {
tempNum: '',
dataVal: "",
isSelect: true,
show: false,
showModel: false,
allSelect: true,
checkboxData: [{
'value': 0,
'label': '选项一'
},
{
'value': 1,
'label': '选项二'
},
{
'value': 2,
'label': '选项三'
},
{
'value': 3,
'label': '选项四'
},
{
'value': 4,
'label': '选项五'
},
{
'value': 5,
'label': '选项六'
},
{
'value': 6,
'label': '选项七'
},
{
'value': 7,
'label': '选项八'
},
{
'value': 8,
'label': '选项九'
},
{
'value': 9,
'label': '选项十'
}
],
allChecked: false,
checkedArr: [], //
};
},
methods: {
delFile(index) {
console.log(index);
this.tempNum = Number(index)
this.showModel = true
},
fileOprModelConfirm() {
this.showModel = false;
var num = this.tempNum
this.checkboxData.splice(num, 1)
},
zhanKai() {
console.log("展开");
// this.allChecked=false
this.isSelect = true
this.show = true
this.checkedArr = []
this.allChecked = false
},
moreSelected() {
this.allSelect = !this.allSelect
},
checkboxChange(e) {
console.log(e.detail.value);
},
//
changeCheckbox(e) {
this.checkedArr = e.detail.value;
//
if (this.checkedArr.length > 0 && this.checkedArr.length == this.checkboxData.length) {
this.allChecked = true;
} else {
this.allChecked = false;
}
},
//
allChoose(e) {
let chooseItem = e.detail.value;
//
if (chooseItem[0] == 'all') {
this.allChecked = true;
for (let item of this.checkboxData) {
let itemVal = String(item.value);
if (!this.checkedArr.includes(itemVal)) {
this.checkedArr.push(itemVal);
}
}
} else {
//
this.allChecked = false;
this.checkedArr = [];
}
}
},
onLoad(opt) {
console.log(opt.id);
},
options: {
styleIsolation: 'shared'
}
}
</script>
<style lang="scss">
image {
width: 100%;
height: 100%;
}
.wr {
/deep/ .uni-checkbox-input {
border-radius: 50% !important;
color: #4CD964 !important;
width: 32rpx;
height: 32rpx;
}
checkbox{
border-radius: 50% !important;
color: #4CD964 !important;
width: 32rpx!important;
height: 32rpx!important;
}
}
/* #ifdef MP-WEIXIN */
checkbox .wx-checkbox-input {
border-radius: 50% !important;
color: #ffffff !important;
width: 32rpx;
height: 32rpx;
}
checkbox .wx-checkbox-input.wx-checkbox-input-checked {
color: #fff;
background: #4CD964;
width: 32rpx;
height: 32rpx;
}
/* .wx-checkbox-input.wx-checkbox-input-checked {
border: none !important;
} */
/* #endif*/
/deep/ .uni-checkbox-input-checked::before {
background-color: #4CD964!important ;
color: #FFFFFF!important;
border-radius: 50%;
}
.search_box {
padding: 32rpx;
display: flex;
align-items: center;
box-sizing: border-box;
.car_box {
width: 48rpx;
height: 48rpx;
margin-left: 24rpx;
.dd {
width: 48rpx;
height: 48rpx;
}
}
}
.itm {
display: flex;
align-items: center;
justify-content: space-between;
padding: 48rpx;
height: 140rpx;
box-sizing: border-box;
.fileImg {
width: 48rpx;
height: 48rpx;
margin-right: 24rpx;
}
.data_detail_box {
flex: 1;
.file_title {
color: $black;
font-size: 28rpx;
}
.file_time {
color: $gray;
font-size: 24rpx;
}
}
.moreImg {
width: 40rpx;
height: 40rpx;
}
}
.bottom_tab {
height: 170rpx;
// border: 1px solid red;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
.bottom_wx {
display: flex;
justify-content: space-around;
color: #AFADB0;
background-color: #F7F7F7;
height: 170rpx;
.bottom_tab_itm {
display: flex;
align-items: center;
.bottom_tab_itm_img {
width: 32rpx;
height: 32rpx;
margin-right: 8rpx;
}
}
}
.bottom_yx {
color: $black;
display: flex;
justify-content: space-around;
background-color: #F7F7F7;
height: 170rpx;
.bottom_tab_itm {
display: flex;
align-items: center;
.bottom_tab_itm_img {
width: 32rpx;
height: 32rpx;
margin-right: 8rpx;
}
}
}
}
.tan_con {
padding: 32rpx;
.tit {
font-size: 32rpx;
color: #251B1D;
font-weight: 600;
}
.up_itm_box {
margin: 50rpx;
padding: 32rpx;
display: flex;
justify-content: space-around;
align-items: center;
.img_itm {
display: flex;
flex-direction: column;
align-items: center;
.img {
width: 64rpx;
height: 64rpx;
margin-bottom: 24rpx;
}
.Up_tit {
font-size: 12px;
color: #251B1D;
font-weight: 600;
}
}
}
}
.bottm {
border-radius: 50%;
overflow: hidden;
width: 96rpx;
height: 96rpx;
position: fixed;
bottom: 160rpx;
right: 32rpx;
}
</style>

View File

@ -1,525 +1,235 @@
<template> <template>
<view class=""> <view class="">
<view class="form_line"> <view class="form_box">
<!-- <view class="form_left"> <view class="form_left"> 综合评分 </view>
名称 <u-rate :count="count" v-model="score"></u-rate>
</view> -->
<view class="form_right">
<u--input
placeholder="请输入"
v-model="name"
clearable
border="none"
style="color: #251b1d"
>
</u--input>
</view>
</view>
<!-- <view class="form_line">
<view class="form_left">
类型
</view>
<view class="form_right" @click="showType=true">
<u--input placeholder="请选择类型" clearable border="none" inputAlign="right" style="color: #251B1D;"
suffixIcon="arrow-right" readonly v-model="type" disabledColor="#ffffff">
</u--input>
</view>
</view>
<u-popup :show="showType" @close="close" closeOnClickOverlay :round="5" customStyle="padding: 16px;">
<u-radio-group @change="selectForm1" v-model="type" :borderBottom="true" placement="column"
iconPlacement="right">
<u-radio :customStyle="{marginBottom: '16px' }" v-for="(item, index) in radiolist1" :key="index"
:label="item.name" labelSize="28rpx" labelColor="#231F1C" :name="item.name" activeColor="#99241B ">
</u-radio>
<u-button class="custom-style" style="background-color:#99241B ; color: #FFFFFF; margin-top: 32rpx;"
type="default" @click="showType=false">确认</u-button>
</u-radio-group>
</u-popup> -->
<!-- <view class="form_box">
<view class="form_left">
需求清单
</view>
</view> </view>
<view class="text_box"> <view class="text_box">
<u--textarea v-model="text1" placeholder="请输入需求清单" maxlength="-1"></u--textarea> <u--textarea v-model="text2" placeholder="请点评" maxlength="-1"></u--textarea>
</view>-->
<view class="form_box">
<view class="form_left"> 综合评分 </view>
<u-rate :count="count" v-model="score"></u-rate>
</view>
<view class="text_box">
<u--textarea
v-model="text2"
placeholder="请点评"
maxlength="-1"
></u--textarea>
</view>
<!-- <view class="form_line">
<view class="form_left">
截止时间
</view>
<view class="form_right">
<uni-datetime-picker type="datetime" v-model="eTime" :border="false" :clearIcon="false"/>
</view>
</view> </view>
<view class="form_line"> <u-upload class="upload" width="172rpx" height="172rpx" :fileList="fileList3" @afterRead="afterRead"
<view class="form_left"> @delete="deletePic" name="3" multiple>
活动时间 <image style="width: 172rpx; height: 172rpx" src="../../static/improveData/jia.png"></image>
</view> </u-upload>
<view class="form_right"> <view class="operation" @click="next"> 点评提交 </view>
<uni-datetime-picker type="datetime" v-model="wTime" :border="false" :clearIcon="false"/> </view>
</view>
</view> -->
<!-- <u-datetime-picker :show="showTime" v-model="timeValue" value-format="yyyy-MM-dd hh:MM:ss" mode="datetime" @close="close"
@cancel="close" @confirm="sureTime"></u-datetime-picker> -->
<!-- <view class="gap">
接单设置
</view>
<view class="form_line">
<view class="form_left">
是否支持多人接单
</view>
<view>
<u-switch v-model="morePer" @change="changeTrue"></u-switch>
</view>
</view>
<view class="form_line">
<view class="form_left">
可接单人数
</view>
<view>
<u-number-box v-model="perNumber" @change="valChange"></u-number-box>
</view>
</view>
<view class="gap">
附件上传
</view>
<view class="gap" style="line-height: 30rpx;font-size: 28rpx;">
可上传图片(png/jpg/jpeg/bmp/gif/tif/tiff)
</view> -->
<u-upload
class="upload"
width="172rpx"
height="172rpx"
:fileList="fileList3"
@afterRead="afterRead"
@delete="deletePic"
name="3"
multiple
>
<image
style="width: 172rpx; height: 172rpx"
src="../../static/improveData/jia.png"
></image>
</u-upload>
<view class="operation" @click="next"> 点评提交 </view>
</view>
</template> </template>
<script> <script>
import http from "../../request/interface.js"; import http from "../../request/interface.js";
export default { export default {
data() { data() {
return { return {
name: "", id: '',
typeId: "", text2: "",
showType: false, fileList3: [],
type: "", ok: true,
radiolist1: [], count: 5, //
text1: "", score: 1, //
text2: "", };
showTime: false, },
timeTab: 0, onLoad(op) {
eTime: "", this.id = op.id
wTime: "", },
timeValue: Number(new Date()), methods: {
showUser: false, //
userType: "", deletePic(event) {
userTypeValue: "wyrc,zyz", this[`fileList${event.name}`].splice(event.index, 1);
radiovalue2: [], },
radiolist2: [], //
morePer: true, async afterRead(event) {
perNumber: 1, // mutiple true , file
fileList3: [], let lists = [].concat(event.file);
ok: true, let fileListLen = this[`fileList${event.name}`].length;
count: 5, // lists.map((item) => {
score: 1, // this[`fileList${event.name}`].push({
}; ...item,
}, status: "uploading",
onShow() { message: "上传中",
this.getTypeList(); });
this.getUserList(); });
}, for (let i = 0; i < lists.length; i++) {
onLoad() { const result = await this.uploadFilePromise(lists[i].url);
this.getCurrentTime(); let item = this[`fileList${event.name}`][fileListLen];
}, this[`fileList${event.name}`].splice(
methods: { fileListLen,
getCurrentTime() { 1,
// Object.assign(item, {
let yy = new Date().getFullYear(); status: "success",
let mm = new Date().getMonth() + 1; message: "",
let dd = new Date().getDate(); url: result,
let gettime = yy + "-" + mm + "-" + dd; })
this.eTime = gettime; );
this.wTime = gettime; fileListLen++;
}, }
// },
getTypeList() { uploadFilePromise(url) {
this.http let token = uni.getStorageSync("token");
.request("/hallType/list", {}, "GET") return new Promise((resolve, reject) => {
.then((res) => { let a = uni.uploadFile({
if (res.code == 200) { url: http.config.baseUrl + "/file/upload",
this.radiolist1 = res.data.records; filePath: url,
} name: "file",
}) formData: {
.catch((e) => { user: "test",
uni.showToast({ },
title: e.data.message, header: {
icon: "none", "X-Token": token,
}); },
}); success: (res) => {
}, if (JSON.parse(res.data).code == 200) {
// setTimeout(() => {
getUserList() { resolve(JSON.parse(res.data).data.path);
this.http }, 1000);
.request("/hall/yhlx", {}, "GET") } else {
.then((res) => { uni.showToast({
if (res.code == 200) { title: JSON.parse(res.data).message,
this.radiolist2 = res.data; icon: "none",
} });
}) this.fileList3.pop();
.catch((e) => { }
uni.showToast({ },
title: e.data.message, });
icon: "none", });
}); },
}); next() {
}, this.ok = true;
close() { if (this.text2 == "") {
this.showType = false; uni.showToast({
this.showTime = false; title: "请点评",
this.showUser = false; icon: "none",
}, });
selectForm1(form) { this.ok = false;
let _this = this; return;
this.radiolist1.forEach(function (item) { }
if (item.name == form) { if (this.fileList3.length == 0) {
_this.typeId = item.code; uni.showToast({
} title: "请上传附件",
}); icon: "none",
}, });
chooseTime(val) { this.ok = false;
this.showTime = true; return;
this.timeTab = val; }
}, if (this.ok) {
sureTime(e) { let image = [];
if (this.timeTab == 0) { this.fileList3.forEach(function(item) {
this.eTime = uni.$u.timeFormat(e.value, "yyyy-mm-dd hh:MM"); image.push(item.url);
} else { });
this.wTime = uni.$u.timeFormat(e.value, "yyyy-mm-dd hh:MM"); let data = image.join(",");
} this.http
this.showTime = false; .request(
}, "/artCountryside/evaluate", {
selectForm2() { id: this.id,
let _this = this; evaluate: this.text2,
let code = []; score: this.score,
this.radiolist2.forEach(function (item) { photos: data,
_this.radiovalue2.forEach(function (ele) { },
if (item.label == ele) { "POST"
code.push(item.value); )
} .then((res) => {
}); if (res.code == 200) {
}); uni.showToast({
this.userTypeValue = code.join(","); title: '评价完成',
this.userType = this.radiovalue2.join(","); icon: 'none',
this.showUser = false; });
}, setTimeout(() => {
changeTrue(e) { uni.navigateBack();
console.log("change", e); }, 1200)
}, }
valChange(e) { })
console.log("当前值为: " + e.value); .catch((e) => {
}, uni.showToast({
// title: e.data.message,
deletePic(event) { icon: "none",
this[`fileList${event.name}`].splice(event.index, 1); });
}, });
// }
async afterRead(event) { },
// mutiple true , file },
let lists = [].concat(event.file); };
let fileListLen = this[`fileList${event.name}`].length;
lists.map((item) => {
this[`fileList${event.name}`].push({
...item,
status: "uploading",
message: "上传中",
});
});
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url);
let item = this[`fileList${event.name}`][fileListLen];
this[`fileList${event.name}`].splice(
fileListLen,
1,
Object.assign(item, {
status: "success",
message: "",
url: result,
})
);
fileListLen++;
}
},
uploadFilePromise(url) {
let token = uni.getStorageSync("token");
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: http.config.baseUrl + "/file/upload",
filePath: url,
name: "file",
formData: {
user: "test",
},
header: {
"X-Token": token,
},
success: (res) => {
if (JSON.parse(res.data).code == 200) {
setTimeout(() => {
resolve(JSON.parse(res.data).data.path);
}, 1000);
} else {
uni.showToast({
title: JSON.parse(res.data).message,
icon: "none",
});
this.fileList3.pop();
}
},
});
});
},
next() {
this.ok = true;
if (this.name == "") {
uni.showToast({
title: "请输入名称",
icon: "none",
});
this.ok = false;
return;
}
if (this.typeId == "") {
uni.showToast({
title: "请选择类型",
icon: "none",
});
this.ok = false;
return;
}
if (this.text1 == "") {
uni.showToast({
title: "请输入需求清单",
icon: "none",
});
this.ok = false;
return;
}
if (this.text2 == "") {
uni.showToast({
title: "请输入具体内容",
icon: "none",
});
this.ok = false;
return;
}
if (this.eTime == "") {
uni.showToast({
title: "请选择截止日期",
icon: "none",
});
this.ok = false;
return;
}
if (this.wTime == "") {
uni.showToast({
title: "请选择活动日期",
icon: "none",
});
this.ok = false;
return;
}
if (this.eTime.length < 12) {
uni.showToast({
title: "请选择截止时间",
icon: "none",
});
this.ok = false;
return;
}
if (this.wTime.length < 12) {
uni.showToast({
title: "请选择活动时间",
icon: "none",
});
this.ok = false;
return;
}
if (this.userTypeValue == "") {
uni.showToast({
title: "请选择可接单用户",
icon: "none",
});
this.ok = false;
return;
}
if (this.fileList3.length == 0) {
uni.showToast({
title: "请上传附件",
icon: "none",
});
this.ok = false;
return;
}
if (this.morePer) {
if (this.perNumber < 2) {
uni.showToast({
title: "支持多人接单时可接单人数应大于1",
icon: "none",
});
this.ok = false;
return;
}
} else {
if (this.perNumber > 1) {
uni.showToast({
title: "不支持多人接单时可接单人数应等于1",
icon: "none",
});
this.ok = false;
return;
}
}
if (this.ok) {
let image = [];
this.fileList3.forEach(function (item) {
image.push(item.url);
});
let data = image.join(",");
this.http
.request(
"/hall/addHall",
{
activityTime: this.wTime,
content: this.text2,
deadline: this.eTime,
demand: this.text1,
isMultiple: this.morePer,
quantity: this.perNumber,
receiverType: this.userTypeValue,
title: this.name,
type: this.typeId,
enclosure: data,
},
"POST"
)
.then((res) => {
if (res.code == 200) {
uni.navigateBack();
}
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
}
},
},
};
</script> </script>
<style></style> <style></style>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/ .uni-icons { /deep/ .uni-icons {
display: none; display: none;
} }
/deep/ .uni-date-x {
text-align: right;
padding: 0;
}
.form_line {
width: 686rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
font-size: 32rpx;
justify-content: space-between;
height: 104rpx;
border-bottom: 1rpx solid #dadbde;
.form_right { /deep/ .uni-date-x {
width: 450rpx; text-align: right;
} padding: 0;
} }
.form_box { .form_line {
width: 686rpx; width: 686rpx;
padding: 0 32rpx; padding: 0 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 32rpx; font-size: 32rpx;
// justify-content: space-between; justify-content: space-between;
height: 104rpx; height: 104rpx;
border-bottom: 1rpx solid #dadbde; border-bottom: 1rpx solid #dadbde;
margin-bottom: 4rpx;
.form_left {
margin-right: 22rpx;
}
}
.text_box { .form_right {
width: 686rpx; width: 450rpx;
height: 343rpx; }
padding: 0 32rpx; }
::v-deep .u-textarea { .form_box {
padding: 9px 0rpx; width: 686rpx;
border: 0rpx solid #000 !important; padding: 0 32rpx;
} display: flex;
} align-items: center;
font-size: 32rpx;
// justify-content: space-between;
height: 104rpx;
border-bottom: 1rpx solid #dadbde;
margin-bottom: 4rpx;
.gap { .form_left {
color: #afadb0; margin-right: 22rpx;
background: #f5f5f5; }
opacity: 1; }
padding: 10rpx 32rpx;
font-size: 32rpx;
}
// ::v-deep .u-upload__wrap {
// padding: 32rpx;
// }
.upload { .text_box {
padding: 32rpx; width: 686rpx;
margin-bottom: 130rpx; height: 343rpx;
} padding: 0 32rpx;
.operation { ::v-deep .u-textarea {
width: 654rpx; padding: 9px 0rpx;
height: 96rpx; border: 0rpx solid #000 !important;
margin: 32rpx 48rpx 48rpx; }
text-align: center; }
line-height: 96rpx;
background-color: #99241b; .gap {
color: #fff; color: #afadb0;
font-size: 32rpx; background: #f5f5f5;
font-weight: 500; opacity: 1;
letter-spacing: 4rpx; padding: 10rpx 32rpx;
} font-size: 32rpx;
</style> }
// ::v-deep .u-upload__wrap {
// padding: 32rpx;
// }
.upload {
padding: 32rpx;
margin-bottom: 130rpx;
}
.operation {
width: 654rpx;
height: 96rpx;
margin: 32rpx 48rpx 48rpx;
text-align: center;
line-height: 96rpx;
background-color: #99241b;
color: #fff;
font-size: 32rpx;
font-weight: 500;
letter-spacing: 4rpx;
}
</style>

View File

@ -1,366 +1,302 @@
<template> <template>
<view class=""> <view class="">
<!-- <view class=""> <view class="">
<u-loading-page :loading="load"></u-loading-page> <u-loading-page :loading="load"></u-loading-page>
</view> --> </view>
<!-- v-if="load == false" --> <view class="page" v-if="load == false">
<view class="page"> <view class="pageImg" v-if="list.length > 0">
<view class="return" @click="back"> <u-swiper v-if="list.length > 0" :list="list" :autoplay="true" @change="(e) => (currentNum = e.current)"
<image src="../../static/orderLeftArrow.png" mode="scaleToFill"></image> indicatorStyle="right: 20px" height="440rpx">
</view> <view slot="indicator" class="indicator-num">
<view class="pageImg"> <text class="indicator-num__text">{{ currentNum + 1 }}/{{ list.length }}</text>
<u-swiper </view>
v-if="list.length > 0" </u-swiper>
:list="list" </view>
:autoplay="true" <view class="main">
@change="(e) => (currentNum = e.current)" <!-- <view class="mainTitle">{{ data.title }}</view> -->
indicatorStyle="right: 20px" <view class="textList">
height="440rpx" <view class="type">
> <view class="text1" style="margin-right: 12rpx">{{ data.name }}
<view slot="indicator" class="indicator-num"> </view>
<text class="indicator-num__text" <view class="text2 text3">{{ data.villageName }}</view>
>{{ currentNum + 1 }}/{{ list.length }}</text </view>
> </view>
</view> <view class="textList">
</u-swiper> <view class="type">
</view> <img class="textImg" src="../../static/detailIcon/icon10.png" alt="" />
<view class="main"> <view class="text1">简介</view>
<view class="mainTitle">{{ data.title }}</view> </view>
<view class="textList"> <view class="text2">
<view class="type"> {{ data.introduce }}
<view class="text1" style="margin-right: 12rpx" </view>
>{{ data.name }} </view>
</view> </view>
<view class="text2 text3">{{ data.demand }}</view> </view>
</view> </view>
</view>
<view class="textList">
<view class="type">
<img
class="textImg"
src="../../static/detailIcon/icon10.png"
alt=""
/>
<view class="text1">简介</view>
</view>
<view class="text2">
{{ data.content }}
</view>
</view>
<view
class="file_box"
v-for="(item, index) in list2"
:key="index"
@click="downLoad(item.url)"
>
<view class="file_box_left">
<image :src="item.img" class="file_box_left_img"></image>
</view>
<view class="file_box_right">
<view class="file_box_name">
{{ item.name }}
</view>
</view>
</view>
</view>
</view>
</view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
load: true, load: true,
id: "", id: "",
data: { data: {},
name: "xx团队", list: [],
content: "555555", currentNum: 0,
demand: "丹东街道", isCheck: 0,
contacts: "张丹", };
phone: "13564852145", },
}, onLoad(op) {
list: [ this.id = op.id
{ },
image: "https://cdn.uviewui.com/uview/swiper/1.jpg", onShow() {
title: "昨夜星辰昨夜风,画楼西畔桂堂东", this.getData()
}, },
], methods: {
list2: [], getData() {
userList: [], let _this = this
currentNum: 0, this.http.request('/artTeam/details', {
isCheck: 0, id: this.id,
}; }, "GET").then(res => {
}, if (res.code == 200) {
// onLoad(op) { //
// this.id = op.id if (res.data.file) {
// if(op.isCheck){ this.list = res.data.file.split(',')
// this.isCheck = op.isCheck }
// } this.data = res.data
// }, this.load = false
// onShow() { }
// this.getData() }).catch(e => {
// }, uni.showToast({
methods: { title: e.data.message,
// getData() { icon: "none",
// let _this = this });
// this.http.request('/hall/details', { })
// id: this.id, },
// }, "GET").then(res => { },
// if (res.code == 200) { };
// //
// if (res.data.enclosure) {
// let fileArr = res.data.enclosure.split(',')
// fileArr.forEach(function(item) {
// let gs = item.substr(item.lastIndexOf(".") + 1)
// if (gs == 'jpg' || gs == 'jpeg' || gs == 'png' || gs == 'bmp' || gs ==
// 'gif' || gs == 'tif' || gs == 'tiff') {
// _this.list.push(item)
// } else if (gs == 'pdf') {
// _this.list2.push({
// name: res.data.name + '.' + gs,
// img: '../../static/fileImg/pdfS.png',
// url: item,
// })
// }
// })
// }
// this.data = res.data
// this.data.rclx = this.data.yhsf.join(',')
// this.userList = res.data.users
// this.userList.forEach(function(el){
// let img = JSON.stringify(el.userTx)
// el.userTx = img
// })
// this.load = false
// }
// }).catch(e => {
// uni.showToast({
// title: e.data.message,
// icon: "none",
// });
// })
// },
back() {
uni.navigateBack();
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
image { image {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.page {
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
image { .page {
width: 48rpx; .return {
height: 48rpx; position: fixed;
} left: 24rpx;
} top: 110rpx;
z-index: 10;
.pageImg { image {
height: 440rpx; width: 48rpx;
height: 48rpx;
}
}
.img { .pageImg {
width: 100%; height: 440rpx;
height: 100%;
}
}
.main { .img {
padding: 32rpx; width: 100%;
height: 100%;
}
}
.mainTitle { .main {
font-size: 36rpx; padding: 32rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.textList { .mainTitle {
margin-bottom: 24rpx; font-size: 36rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.type { .textList {
display: flex; margin-bottom: 24rpx;
height: 48rpx;
line-height: 48rpx;
.textImg { .type {
width: 32rpx; display: flex;
height: 32rpx; height: 48rpx;
margin-top: 10rpx; line-height: 48rpx;
margin-right: 16rpx;
}
.text1 { .textImg {
font-size: 32rpx; width: 32rpx;
font-weight: 600; height: 32rpx;
color: #32333c; margin-top: 10rpx;
} margin-right: 16rpx;
} }
.text2 { .text1 {
font-size: 28rpx; font-size: 32rpx;
color: #32333c; font-weight: 600;
line-height: 40rpx; color: #32333c;
} }
.text3 { }
color: #99241b;
border-radius: 50rpx;
padding: 4rpx 20rpx;
background-color: #eeeeee;
}
}
.file_box { .text2 {
width: 92%; font-size: 28rpx;
height: 64px; color: #32333c;
margin: 10px 4%; line-height: 40rpx;
font-family: PingFangSC-Semibold, PingFang SC; }
font-weight: 600;
color: #251b1d;
background: #f4f5f7;
border-radius: 6px;
overflow: hidden;
.file_box_left { .text3 {
width: 40px; color: #99241b;
height: 40px; border-radius: 50rpx;
margin-top: 12px; padding: 4rpx 20rpx;
margin-left: 12px; background-color: #eeeeee;
float: left; }
}
.file_box_left_img { .file_box {
width: 40px; width: 92%;
height: 40px; height: 64px;
} margin: 10px 4%;
} font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #251b1d;
background: #f4f5f7;
border-radius: 6px;
overflow: hidden;
.file_box_right { .file_box_left {
margin-left: 20px; width: 40px;
float: left; height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.file_box_name { .file_box_left_img {
height: 64px; width: 40px;
line-height: 64px; height: 40px;
font-size: 16px; }
font-weight: 600; }
color: #251b1d;
}
}
}
}
.line { .file_box_right {
height: 16rpx; margin-left: 20px;
background: #f4f5f7; float: left;
}
.activityDetails { .file_box_name {
.item_ul { height: 64px;
.title { line-height: 64px;
font-size: 32rpx; font-size: 16px;
font-weight: bold; font-weight: 600;
padding: 24rpx; color: #251b1d;
display: flex; }
background: #f4f5f7; }
.icon { }
width: 40rpx; }
height: 40rpx;
margin-right: 10rpx;
// display: none;
}
}
.item_li {
padding: 16rpx 32rpx 32rpx;
margin: 16rpx 0;
border-bottom: 2rpx solid #f1f1f1;
display: flex;
// justify-content: space-between;
align-items: center;
font-weight: 600;
.standard { .line {
display: flex; height: 16rpx;
align-items: center; background: #f4f5f7;
margin-right: 10rpx; }
.icon { .activityDetails {
width: 32rpx; .item_ul {
height: 32rpx; .title {
// display: none; font-size: 32rpx;
} font-weight: bold;
padding: 24rpx;
display: flex;
background: #f4f5f7;
text { .icon {
color: #251b1d; width: 40rpx;
// color: $gray; height: 40rpx;
margin-left: 8rpx; margin-right: 10rpx;
} // display: none;
} }
}
.item_li {
} padding: 16rpx 32rpx 32rpx;
} margin: 16rpx 0;
} border-bottom: 2rpx solid #f1f1f1;
display: flex;
// justify-content: space-between;
align-items: center;
font-weight: 600;
.orderBtn { .standard {
width: 100%; display: flex;
background-color: #fff; align-items: center;
padding-bottom: 20rpx; margin-right: 10rpx;
.btn { .icon {
width: calc(100% - 64rpx); width: 32rpx;
height: 96rpx; height: 32rpx;
line-height: 96rpx; // display: none;
text-align: center; }
background: #99241b;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #ffffff;
margin: 0 auto;
}
.btnQ {
width: calc(100% - 64rpx);
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #f9f2f2;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #99241b;
margin: 0 auto;
}
}
.bao_title { text {
width: 686rpx; color: #251b1d;
margin: 20rpx 32rpx; // color: $gray;
font-size: 28rpx; margin-left: 8rpx;
font-weight: 500; }
color: #32333c; }
}
.per_line {
width: 686rpx;
margin: 10rpx 32rpx;
display: flex;
align-items: center;
.oer_image {
width: 88rpx; }
height: 88rpx; }
border-radius: 50%; }
margin-left: 30rpx;
} .orderBtn {
} width: 100%;
} background-color: #fff;
</style> padding-bottom: 20rpx;
.btn {
width: calc(100% - 64rpx);
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #99241b;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #ffffff;
margin: 0 auto;
}
.btnQ {
width: calc(100% - 64rpx);
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #f9f2f2;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #99241b;
margin: 0 auto;
}
}
.bao_title {
width: 686rpx;
margin: 20rpx 32rpx;
font-size: 28rpx;
font-weight: 500;
color: #32333c;
}
.per_line {
width: 686rpx;
margin: 10rpx 32rpx;
display: flex;
align-items: center;
.oer_image {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
margin-left: 30rpx;
}
}
}
</style>

View File

@ -1,362 +1,324 @@
<template> <template>
<view class=""> <view class="">
<!-- <view class=""> <view class="">
<u-loading-page :loading="load"></u-loading-page> <u-loading-page :loading="load"></u-loading-page>
</view> --> </view>
<!-- v-if="load == false" --> <view class="page" v-if="load == false">
<view class="page"> <view class="pageImg" v-if="list.length > 0">
<view class="return" @click="back"> <u-swiper v-if="list.length > 0" :list="list" :autoplay="true" @change="(e) => (currentNum = e.current)"
<image src="../../static/orderLeftArrow.png" mode="scaleToFill"></image> indicatorStyle="right: 20px" height="440rpx">
</view> <view slot="indicator" class="indicator-num">
<view class="pageImg"> <text class="indicator-num__text">{{ currentNum + 1 }}/{{ list.length }}</text>
<u-swiper </view>
v-if="list.length > 0" </u-swiper>
:list="list" </view>
:autoplay="true" <view class="main">
@change="(e) => (currentNum = e.current)" <view class="textList">
indicatorStyle="right: 20px" <view class="type">
height="440rpx" <view class="text1" style="margin-right: 12rpx">{{ data.name }}
> </view>
<view slot="indicator" class="indicator-num"> <view class="text2 text3">{{ data.villageName }}</view>
<text class="indicator-num__text" </view>
>{{ currentNum + 1 }}/{{ list.length }}</text </view>
> <view class="textList">
</view> <view class="type">
</u-swiper> <img class="textImg" src="../../static/detailIcon/icon10.png" alt="" />
</view> <view class="text1">简介</view>
<view class="main"> </view>
<view class="mainTitle">{{ data.title }}</view> <view class="text2">
<view class="textList"> {{ data.introduce }}
<view class="type"> </view>
<view class="text1" style="margin-right: 12rpx" </view>
>{{ data.name }} </view>
</view> <view class="line"></view>
<view class="text2 text3">{{ data.demand }}</view> <view class="activityDetails">
</view> <view class="item_ul">
</view> <view class="title">
<view class="textList"> <image class="icon" src="../../static/detailIcon/icon0.png" mode="scaleToFill"></image>
<view class="type"> <text>联系方式</text>
<img </view>
class="textImg" <view class="item_li">
src="../../static/detailIcon/icon10.png" <view class="standard">
alt="" <image class="icon" src="../../static/detailIcon/icon6.png" mode="scaleToFill"></image>
/> <text> 联系人:</text>
<view class="text1">简介</view> </view>
</view> <view class="content">{{ data.contacts }} </view>
<view class="text2"> </view>
{{ data.content }} <view class="item_li">
</view> <view class="standard">
</view> <image class="icon" src="../../static/detailIcon/icon7.png" mode="scaleToFill"></image>
<view <text>电话:</text>
class="file_box" </view>
v-for="(item, index) in list2" <view class="content"> {{ data.phone }}</view>
:key="index" </view>
@click="downLoad(item.url)" </view>
> </view>
<view class="file_box_left"> </view>
<image :src="item.img" class="file_box_left_img"></image> </view>
</view>
<view class="file_box_right">
<view class="file_box_name">
{{ item.name }}
</view>
</view>
</view>
</view>
<view class="line"></view>
<view class="activityDetails">
<view class="item_ul">
<view class="title">
<image
class="icon"
src="../../static/detailIcon/icon0.png"
mode="scaleToFill"
></image>
<text>联系方式</text>
</view>
<view class="item_li">
<view class="standard">
<image
class="icon"
src="../../static/detailIcon/icon6.png"
mode="scaleToFill"
></image>
<text> 联系人:</text>
</view>
<view class="content">{{ data.contacts }} </view>
</view>
<view class="item_li">
<view class="standard">
<image
class="icon"
src="../../static/detailIcon/icon7.png"
mode="scaleToFill"
></image>
<text>电话:</text>
</view>
<view class="content"> {{ data.phone }}</view>
</view>
</view>
</view>
</view>
</view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
load: true, load: true,
id: "", id: "",
data: { data: {},
name: "xx团队", list: [],
content: "555555", currentNum: 0,
demand: "丹东街道", isCheck: 0,
contacts: "张丹", };
phone: "13564852145", },
}, onLoad(op) {
list: [ this.id = op.id
{ },
image: "https://cdn.uviewui.com/uview/swiper/1.jpg", onShow() {
title: "昨夜星辰昨夜风,画楼西畔桂堂东", this.getData()
}, },
], methods: {
list2: [], getData() {
userList: [], let _this = this
currentNum: 0, this.http.request('/artTeam/details', {
isCheck: 0, id: this.id,
}; }, "GET").then(res => {
}, if (res.code == 200) {
// onLoad(op) { //
// this.id = op.id if (res.data.file) {
// if(op.isCheck){ this.list = res.data.file.split(',')
// this.isCheck = op.isCheck }
// } this.data = res.data
// }, this.load = false
// onShow() { }
// this.getData() }).catch(e => {
// }, uni.showToast({
methods: { title: e.data.message,
back() { icon: "none",
uni.navigateBack(); });
}, })
}, },
}; },
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
image { image {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.page {
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
image { .page {
width: 48rpx; .return {
height: 48rpx; position: fixed;
} left: 24rpx;
} top: 110rpx;
z-index: 10;
.pageImg { image {
height: 440rpx; width: 48rpx;
height: 48rpx;
}
}
.img { .pageImg {
width: 100%; height: 440rpx;
height: 100%;
}
}
.main { .img {
padding: 32rpx; width: 100%;
height: 100%;
}
}
.mainTitle { .main {
font-size: 36rpx; padding: 32rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.textList { .mainTitle {
margin-bottom: 24rpx; font-size: 36rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.type { .textList {
display: flex; margin-bottom: 24rpx;
height: 48rpx;
line-height: 48rpx;
.textImg { .type {
width: 32rpx; display: flex;
height: 32rpx; height: 48rpx;
margin-top: 10rpx; line-height: 48rpx;
margin-right: 16rpx;
}
.text1 { .textImg {
font-size: 32rpx; width: 32rpx;
font-weight: 600; height: 32rpx;
color: #32333c; margin-top: 10rpx;
} margin-right: 16rpx;
} }
.text2 { .text1 {
font-size: 28rpx; font-size: 32rpx;
color: #32333c; font-weight: 600;
line-height: 40rpx; color: #32333c;
} }
.text3 { }
color: #99241b;
border-radius: 50rpx;
padding: 4rpx 20rpx;
background-color: #eeeeee;
}
}
.file_box { .text2 {
width: 92%; font-size: 28rpx;
height: 64px; color: #32333c;
margin: 10px 4%; line-height: 40rpx;
font-family: PingFangSC-Semibold, PingFang SC; }
font-weight: 600;
color: #251b1d;
background: #f4f5f7;
border-radius: 6px;
overflow: hidden;
.file_box_left { .text3 {
width: 40px; color: #99241b;
height: 40px; border-radius: 50rpx;
margin-top: 12px; padding: 4rpx 20rpx;
margin-left: 12px; background-color: #eeeeee;
float: left; }
}
.file_box_left_img { .file_box {
width: 40px; width: 92%;
height: 40px; height: 64px;
} margin: 10px 4%;
} font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #251b1d;
background: #f4f5f7;
border-radius: 6px;
overflow: hidden;
.file_box_right { .file_box_left {
margin-left: 20px; width: 40px;
float: left; height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.file_box_name { .file_box_left_img {
height: 64px; width: 40px;
line-height: 64px; height: 40px;
font-size: 16px; }
font-weight: 600; }
color: #251b1d;
}
}
}
}
.line { .file_box_right {
height: 16rpx; margin-left: 20px;
background: #f4f5f7; float: left;
}
.activityDetails { .file_box_name {
.item_ul { height: 64px;
.title { line-height: 64px;
font-size: 32rpx; font-size: 16px;
font-weight: bold; font-weight: 600;
padding: 24rpx; color: #251b1d;
display: flex; }
background: #f4f5f7; }
.icon { }
width: 40rpx; }
height: 40rpx;
margin-right: 10rpx;
// display: none;
}
}
.item_li {
padding: 16rpx 32rpx 32rpx;
margin: 16rpx 0;
border-bottom: 2rpx solid #f1f1f1;
display: flex;
// justify-content: space-between;
align-items: center;
font-weight: 600;
.standard { .line {
display: flex; height: 16rpx;
align-items: center; background: #f4f5f7;
margin-right: 10rpx; }
.icon { .activityDetails {
width: 32rpx; .item_ul {
height: 32rpx; .title {
// display: none; font-size: 32rpx;
} font-weight: bold;
padding: 24rpx;
display: flex;
background: #f4f5f7;
text { .icon {
color: #251b1d; width: 40rpx;
// color: $gray; height: 40rpx;
margin-left: 8rpx; margin-right: 10rpx;
} // display: none;
} }
}
.item_li {
} padding: 16rpx 32rpx 32rpx;
} margin: 16rpx 0;
} border-bottom: 2rpx solid #f1f1f1;
display: flex;
// justify-content: space-between;
align-items: center;
font-weight: 600;
.orderBtn { .standard {
width: 100%; display: flex;
background-color: #fff; align-items: center;
padding-bottom: 20rpx; margin-right: 10rpx;
.btn { .icon {
width: calc(100% - 64rpx); width: 32rpx;
height: 96rpx; height: 32rpx;
line-height: 96rpx; // display: none;
text-align: center; }
background: #99241b;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #ffffff;
margin: 0 auto;
}
.btnQ {
width: calc(100% - 64rpx);
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #f9f2f2;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #99241b;
margin: 0 auto;
}
}
.bao_title { text {
width: 686rpx; color: #251b1d;
margin: 20rpx 32rpx; // color: $gray;
font-size: 28rpx; margin-left: 8rpx;
font-weight: 500; }
color: #32333c; }
}
.per_line {
width: 686rpx;
margin: 10rpx 32rpx;
display: flex;
align-items: center;
.oer_image {
width: 88rpx; }
height: 88rpx; }
border-radius: 50%; }
margin-left: 30rpx;
} .orderBtn {
} width: 100%;
} background-color: #fff;
</style> padding-bottom: 20rpx;
.btn {
width: calc(100% - 64rpx);
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #99241b;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #ffffff;
margin: 0 auto;
}
.btnQ {
width: calc(100% - 64rpx);
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #f9f2f2;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 600;
color: #99241b;
margin: 0 auto;
}
}
.bao_title {
width: 686rpx;
margin: 20rpx 32rpx;
font-size: 28rpx;
font-weight: 500;
color: #32333c;
}
.per_line {
width: 686rpx;
margin: 10rpx 32rpx;
display: flex;
align-items: center;
.oer_image {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
margin-left: 30rpx;
}
}
}
</style>

View File

@ -16,21 +16,21 @@
<view class="item_li"> <view class="item_li">
<view class="standard"> <view class="standard">
<image class="icon" src="../../static/detailIcon/icon7.png" mode="scaleToFill"></image> <image class="icon" src="../../static/detailIcon/icon7.png" mode="scaleToFill"></image>
<text> 节目:</text> <text>节目安排:</text>
</view> </view>
<view class="content"><text> {{ data.teamName }}</text></view> <view class="content"><text> {{ data.teamName }}</text></view>
</view> </view>
<view class="item_li"> <view class="item_li">
<view class="standard"> <view class="standard">
<image class="icon" src="../../static/detailIcon/icon6.png" mode="scaleToFill"></image> <image class="icon" src="../../static/detailIcon/icon6.png" mode="scaleToFill"></image>
<text> 团队:</text> <text>团队安排:</text>
</view> </view>
<view class="content"><text> {{ data.showName }}</text></view> <view class="content"><text> {{ data.showName }}</text></view>
</view> </view>
<view class="item_li"> <view class="item_li">
<view class="standard"> <view class="standard">
<image class="icon" src="../../static/detailIcon/icon8.png" mode="scaleToFill"></image> <image class="icon" src="../../static/detailIcon/icon8.png" mode="scaleToFill"></image>
<text> 地址:</text> <text>下乡地址:</text>
</view> </view>
<view class="content"><text> {{ data.villageName }}</text></view> <view class="content"><text> {{ data.villageName }}</text></view>
</view> </view>
@ -50,6 +50,54 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 红色按钮 -->
<view v-if="data.isEvaluate">
<view class="" v-if="data.artCountrysideState == 1 && data.state == 0">
<view class="orderBtn">
<view class="btn" @click="toDp">下乡点评</view>
</view>
</view>
<view class="" v-else-if="data.artCountrysideState == 1 && data.state == 1">
<view class="orderBtn">
<view class="btnQ">已评价</view>
</view>
</view>
<view class="" v-else-if="data.artCountrysideState == 3">
<view class="orderBtn">
<view class="btnQ">已逾期</view>
</view>
</view>
</view>
<!-- 红色按钮ed -->
<view class="activityDetails">
<view class="item_ul">
<view class="title">
<image class="icon" src="../../static/detailIcon/icon0.png" mode="scaleToFill"></image>
<text>下乡点评</text>
</view>
<view class="pgPart">
<view class="ppTop">
<view class="pptImg">
<image :src="data.headSculpture" style="width: 100%; height: 100%;"></image>
</view>
<view class="pptNews">
<view class="pptnNane">
{{ data.evaluateName }}
</view>
<view class="">
<u-rate v-model="data.score" readonly></u-rate>
</view>
</view>
</view>
<view class="ppTime">
{{ data.evaluateTime }}
</view>
<view class="ppEva">
{{ data.evaluate }}
</view>
</view>
</view>
</view>
</view> </view>
</view> </view>
</template> </template>
@ -92,10 +140,11 @@
this.load = false this.load = false
}) })
}, },
back() { toDp() {
uni.navigateBack() uni.navigateTo({
}, url: `/pagesD/wyxx/addOrder?id=${this.id}`,
// });
}
} }
} }
</script> </script>
@ -115,6 +164,21 @@
.activityDetails { .activityDetails {
.item_ul { .item_ul {
.title {
font-size: 32rpx;
font-weight: bold;
padding: 24rpx;
display: flex;
background: #F4F5F7;
.icon {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
// display: none;
}
}
.item_li { .item_li {
padding: 16rpx 32rpx 32rpx; padding: 16rpx 32rpx 32rpx;
margin: 0rpx 0 32rpx; margin: 0rpx 0 32rpx;
@ -144,6 +208,26 @@
.content {} .content {}
} }
.pgPart{
padding: 24rpx;
.ppTop{
display: flex;
font-size: 32rpx;
.pptImg{
width: 88rpx;
height: 88rpx;
margin-right: 20rpx;
}
}
.ppTime{
font-size: 24rpx;
margin: 20rpx 0 0;
}
.ppEva{
padding: 20rpx 0;
}
}
} }
} }

View File

@ -1,428 +1,410 @@
<template> <template>
<!-- 文艺下乡 --> <!-- 文艺下乡 -->
<view class="wyxx"> <view class="wyxx">
<view class="tabTitle"> <view class="tabTitle">
<view :class="tabC == '0' ? 'tabsC' : 'tabs'" @click="toTab('0')"> <view :class="tabC == '0' ? 'tabsC' : 'tabs'" @click="toTab('0')">
<view> 文艺团队 </view> <view> 文艺团队 </view>
<view class="line"></view> <view class="line"></view>
</view> </view>
<view :class="tabC == '1' ? 'tabsC' : 'tabs'" @click="toTab('1')"> <view :class="tabC == '1' ? 'tabsC' : 'tabs'" @click="toTab('1')">
<view> 文艺节目 </view> <view> 文艺节目 </view>
<view class="line"></view> <view class="line"></view>
</view> </view>
<view :class="tabC == '2' ? 'tabsC' : 'tabs'" @click="toTab('2')"> <view :class="tabC == '2' ? 'tabsC' : 'tabs'" @click="toTab('2')">
<view> 下乡计划 </view> <view> 下乡计划 </view>
<view class="line"></view> <view class="line"></view>
</view> </view>
</view> </view>
<view class="forms" v-if="tabC == '0'"> <view class="forms" v-if="tabC == '0'">
<view v-if="team.length > 0"> <view v-if="team.length > 0">
<view <view class="teamBox" v-for="(item, index) in team" @click="goDetails(item.id, 0)">
class="teamBox" <view class="teamBox-right">
v-for="(item, index) in team" <image :src="item.file" mode=""></image>
@click="goDetails(item.id, 0)" <!-- <image src="../../static/txIcon.png" mode=""></image> -->
> <!-- txIcon -->
<view class="teamBox-right"> </view>
<!-- <image :src="item.file" mode=""></image> --> <view class="teamBox-left">
<image src="../../static/txIcon.png" mode=""></image> <view class="teamMinbox-top">
<!-- txIcon --> <view class="title">{{ item.name }}</view>
</view> <view class="street">{{ item.villageName }}</view>
<view class="teamBox-left"> </view>
<view class="teamMinbox-top"> <view class="teamMinbox-bottom">
<view class="title">{{ item.name }}</view> {{ item.introduce }}
<view class="street">{{ item.villageName }}</view> </view>
</view> </view>
<view class="teamMinbox-bottom"> </view>
{{ item.introduce }} </view>
</view> <view v-else>
</view> <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</view> </u-empty>
</view> </view>
<view v-else> </view>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png"> <view class="forms" v-if="tabC == '1'">
</u-empty> <view v-if="program.length > 0">
</view> <view class="teamBox" v-for="(item, index) in program" @click="goDetails(item.id, 1)">
</view> <view class="teamBox-right">
<view class="forms" v-if="tabC == '1'"> <image :src="item.file" mode=""></image>
<view v-if="program.length > 0"> <!-- <image src="../../static/txIcon.png" mode=""></image> -->
<view </view>
class="teamBox" <view class="teamBox-left">
v-for="(item, index) in program" <view class="teamMinbox-top">
@click="goDetails(item.id, 1)" <view class="title">{{ item.name }}</view>
> <view class="street">{{ item.villageName }}</view>
<view class="teamBox-right"> </view>
<!-- <image :src="item.file" mode=""></image> --> <view class="teamMinbox-bottom">
<image src="../../static/txIcon.png" mode=""></image> {{ item.introduce }}
</view> </view>
<view class="teamBox-left"> </view>
<view class="teamMinbox-top"> </view>
<view class="title">{{ item.name }}</view> </view>
<view class="street">{{ item.villageName }}</view> <view v-else>
</view> <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
<view class="teamMinbox-bottom"> </u-empty>
{{ item.introduce }} </view>
</view> </view>
</view> <view class="forms" v-if="tabC == '2'">
</view> <view class="addIcon" @click="toAddOrder" v-if="isadmin">
</view> <image src="../../static/orderHall/addOrder.png"></image>
<view v-else> </view>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png"> <view class="main" v-if="mainList.length > 0">
</u-empty> <view class="mainList" v-for="(item, i) in mainList" :key="i" @click="toDetail(item.id)">
</view> <view class="text">
</view> <view class="text1">{{ item.title ? item.title : "暂无" }}</view>
<view class="forms" v-if="tabC == '2'"> <view class="text3">
<view class="addIcon" @click="toAddOrder" v-if="isadmin"> <view class="time">节目{{ item.teamName ? item.teamName : "暂无" }}</view>
<image src="../../static/orderHall/addOrder.png"></image> </view>
</view> <view class="text3">
<view class="main" v-if="mainList.length > 0"> <view class="time">团队{{ item.showName ? item.showName : "暂无" }}</view>
<view </view>
class="mainList" <view class="text3">
v-for="(item, i) in mainList" <img class="mainListTime" src="../../static/orderHall/mainListTime.png" alt="" />
:key="i" <view class="time">开始时间{{ item.startTime ? item.startTime : "暂无" }}</view>
@click="toDetail(item.id)" </view>
> <view class="text3">
<view class="text"> <img class="mainListTime" src="../../static/orderHall/mainListTime.png" alt="" />
<view class="text1">{{ item.title ? item.title : "暂无" }}</view> <view class="time">截止时间{{ item.endTime ? item.endTime : "暂无" }}</view>
<view class="text3"> </view>
<view class="time" </view>
>节目{{ item.teamName ? item.teamName : "暂无" }}</view </view>
> </view>
</view> <view v-else>
<view class="text3"> <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
<view class="time" </u-empty>
>团队{{ item.showName ? item.showName : "暂无" }}</view </view>
> </view>
</view> <u-loading-page class="loading" loading-text="加载中" :loading="loadings"></u-loading-page>
<view class="text3"> </view>
<img
class="mainListTime"
src="../../static/orderHall/mainListTime.png"
alt=""
/>
<view class="time"
>开始时间{{ item.startTime ? item.startTime : "暂无" }}</view
>
</view>
<view class="text3">
<img
class="mainListTime"
src="../../static/orderHall/mainListTime.png"
alt=""
/>
<view class="time"
>截止时间{{ item.endTime ? item.endTime : "暂无" }}</view
>
</view>
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
<u-loading-page
class="loading"
loading-text="加载中"
:loading="loadings"
></u-loading-page>
</view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
tabC: "0", tabC: "0",
mainList: [], mainList: [],
villageId: "", villageId: "",
team: [], team: [],
program: [], program: [],
loadings: true, loadings: true,
isadmin: false, isadmin: false,
}; page: 1,
}, size: 9999,
methods: { };
toTab(val) { },
this.tabC = val; methods: {
}, toTab(val) {
goDetails(value, i) { this.tabC = val;
if (i == 0) { },
uni.navigateTo({ goDetails(value, i) {
url: `/pagesD/wyxx/artTeam?id=${value}`, if (i == 0) {
}); uni.navigateTo({
} else { url: `/pagesD/wyxx/artTeam?id=${value}`,
uni.navigateTo({ });
url: `/pagesD/wyxx/artProgram?id=${value}`, } else {
}); uni.navigateTo({
} url: `/pagesD/wyxx/artProgram?id=${value}`,
}, });
RuralDevelopmentPlanlist() { }
this.loadings = true; },
let data = { RuralDevelopmentPlanlist() {
villageId: this.villageId, this.loadings = true;
}; let data = {
this.http villageId: this.villageId,
.request(`/artCountryside/list`, data, "GET") current: this.page,
.then((res) => { size: this.size
if (res.code === 200) { };
this.mainList = res.data.records; this.http
this.loadings = false; .request(`/artCountryside/list`, data, "GET")
} else { .then((res) => {
this.loadings = false; if (res.code === 200) {
uni.showToast({ this.mainList = res.data.records;
title: res.message, this.loadings = false;
icon: "error", } else {
}); this.loadings = false;
} uni.showToast({
}) title: res.message,
.catch((err) => { icon: "error",
this.loadings = false; });
}); }
}, })
toAddOrder() { .catch((err) => {
uni.navigateTo({ this.loadings = false;
url: `/pagesD/wyxx/addindex`, });
}); },
}, toAddOrder() {
teamandprogram() { uni.navigateTo({
this.http url: `/pagesD/wyxx/addindex`,
.request("/artTeam/list", {}, "GET") });
.then((res) => { },
if (res.code === 200) { teamandprogram() {
this.team = []; this.http
this.program = []; .request("/artTeam/list", {
res.data.records.forEach((item, index) => { current: this.page,
if (item.type == "team") { size: this.size
this.team.push(item); }, "GET")
} else { .then((res) => {
this.program.push(item); if (res.code === 200) {
} this.team = [];
}); this.program = [];
} else { res.data.records.forEach((item, index) => {
uni.showToast({ let image = []
title: res.data.message, if(item.file){
icon: "error", image = item.file.split(',')
}); item.file = image[0]
} }else{
}) item.file = '../../static/txIcon.png'
.catch((err) => {}); }
}, if (item.type == "team") {
toDetail(value) { this.team.push(item);
uni.navigateTo({ } else {
url: `/pagesD/wyxx/detail?id=${value}`, this.program.push(item);
}); }
}, });
}, } else {
async onShow() { uni.showToast({
this.isadmin = uni.getStorageSync("isAdmin"); title: res.data.message,
await this.teamandprogram(); icon: "error",
await this.RuralDevelopmentPlanlist(); });
}, }
}; })
.catch((err) => {});
},
toDetail(value) {
uni.navigateTo({
url: `/pagesD/wyxx/detail?id=${value}`,
});
},
},
async onShow() {
this.isadmin = uni.getStorageSync("isAdmin");
await this.teamandprogram();
await this.RuralDevelopmentPlanlist();
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.wyxx { .wyxx {
background-color: #fefefe; background-color: #fefefe;
} }
.tabTitle { .tabTitle {
display: flex; display: flex;
width: 100%; width: 100%;
background: #ffffff; background: #ffffff;
.tabs { .tabs {
width: 33.3%; width: 33.3%;
text-align: center; text-align: center;
padding: 32rpx 0 0rpx; padding: 32rpx 0 0rpx;
font-size: 28rpx; font-size: 28rpx;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
.line { .line {
width: 36rpx; width: 36rpx;
height: 4rpx; height: 4rpx;
margin: 10rpx auto 8rpx; margin: 10rpx auto 8rpx;
} }
} }
.tabsC { .tabsC {
width: 33.3%; width: 33.3%;
text-align: center; text-align: center;
padding: 32rpx 0 0; padding: 32rpx 0 0;
font-size: 28rpx; font-size: 28rpx;
font-weight: 600; font-weight: 600;
color: #000; color: #000;
.line { .line {
width: 44rpx; width: 44rpx;
height: 4rpx; height: 4rpx;
margin: 10rpx auto 8rpx; margin: 10rpx auto 8rpx;
background-color: #a02521; background-color: #a02521;
} }
} }
} }
.forms { .forms {
width: 98%; width: 98%;
// height: 40rpx; // height: 40rpx;
// background-color: skyblue; // background-color: skyblue;
margin: 20rpx auto; margin: 20rpx auto;
// max-height: calc(100vh - 106px); // max-height: calc(100vh - 106px);
// border: 1px solid #333333; // border: 1px solid #333333;
// overflow-y: auto; // overflow-y: auto;
.teamBox { .teamBox {
height: 180rpx; height: 180rpx;
padding: 18rpx 10rpx; padding: 18rpx 10rpx;
background-color: #fff; background-color: #fff;
// background-color: rgb(241, 243, 244); // background-color: rgb(241, 243, 244);
border: 1px solid rgb(241, 243, 244); border: 1px solid rgb(241, 243, 244);
margin-bottom: 20rpx; margin-bottom: 20rpx;
display: flex; display: flex;
.teamBox-right { .teamBox-right {
margin-right: 20rpx; margin-right: 20rpx;
image { image {
width: 180rpx; width: 180rpx;
height: 180rpx; height: 180rpx;
background-size: contain; background-size: contain;
} }
} }
.teamBox-left { .teamBox-left {
// width: 400rpx;
.teamMinbox-top {
display: flex;
margin-bottom: 16rpx;
.title { // width: 400rpx;
font-weight: 600; .teamMinbox-top {
font-size: 32rpx; display: flex;
max-width: 160rpx; margin-bottom: 16rpx;
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
.street { .title {
height: 40rpx; font-weight: 600;
border-radius: 30rpx; font-size: 32rpx;
background-color: rgba(240, 240, 240, 1); max-width: 160rpx;
color: #a02521; overflow: hidden;
margin-left: 18rpx; /* 超出一行文字自动隐藏 */
padding: 2rpx 20rpx; text-overflow: ellipsis;
overflow: hidden; /*文字隐藏后添加省略号*/
/* 超出一行文字自动隐藏 */ white-space: nowrap;
text-overflow: ellipsis; }
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
.teamMinbox-bottom { .street {
font-size: 28rpx; height: 40rpx;
overflow: hidden; border-radius: 30rpx;
text-overflow: ellipsis; background-color: rgba(240, 240, 240, 1);
display: -webkit-box; color: #a02521;
-webkit-line-clamp: 3; margin-left: 18rpx;
-webkit-box-orient: vertical; padding: 2rpx 20rpx;
} overflow: hidden;
} /* 超出一行文字自动隐藏 */
} text-overflow: ellipsis;
} /*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
image { .teamMinbox-bottom {
width: 100%; font-size: 28rpx;
height: 100%; overflow: hidden;
} text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
}
}
.main { image {
padding: 32rpx; width: 100%;
// background-color: #F4F5F7; height: 100%;
// background-color: rgb(241, 243, 244); }
border-radius: 16rpx;
.mainList { .main {
border-radius: 16rpx; padding: 32rpx;
// background-color: rgb(241, 243, 244); // background-color: #F4F5F7;
margin-bottom: 20rpx; // background-color: rgb(241, 243, 244);
border: 1px solid rgb(241, 243, 244); border-radius: 16rpx;
overflow: hidden;
.mainListImg { .mainList {
height: 400rpx; border-radius: 16rpx;
position: relative; // background-color: rgb(241, 243, 244);
margin-bottom: 20rpx;
border: 1px solid rgb(241, 243, 244);
overflow: hidden;
.img { .mainListImg {
width: 100%; height: 400rpx;
height: 100%; position: relative;
}
.imgTags { .img {
position: absolute; width: 100%;
right: 0; height: 100%;
bottom: 0; }
}
}
.text { .imgTags {
padding: 32rpx; position: absolute;
// background-color: #FFF; right: 0;
bottom: 0;
}
}
.text1 { .text {
font-size: 32rpx; padding: 32rpx;
font-weight: 600; // background-color: #FFF;
color: #251b1d;
margin-bottom: 5rpx;
}
.text2 { .text1 {
font-size: 28rpx; font-size: 32rpx;
font-weight: 400; font-weight: 600;
color: #989898; color: #251b1d;
} margin-bottom: 5rpx;
}
.text3 { .text2 {
display: flex; font-size: 28rpx;
margin-top: 16rpx; font-weight: 400;
color: #989898;
}
.mainListTime { .text3 {
width: 26rpx; display: flex;
height: 26rpx; margin-top: 16rpx;
margin-top: 4rpx;
margin-right: 8rpx;
}
.time { .mainListTime {
font-size: 24rpx; width: 26rpx;
font-weight: 400; height: 26rpx;
color: #989898; margin-top: 4rpx;
} margin-right: 8rpx;
} }
}
}
}
.addIcon { .time {
position: fixed; font-size: 24rpx;
right: 24rpx; font-weight: 400;
bottom: 242rpx; color: #989898;
width: 104rpx; }
height: 104rpx; }
border-radius: 50%; }
z-index: 999; }
} }
.loading { .addIcon {
width: 100%; position: fixed;
height: 100%; right: 24rpx;
position: absolute; bottom: 242rpx;
left: 0px; width: 104rpx;
top: 0px; height: 104rpx;
} border-radius: 50%;
</style> z-index: 999;
}
.loading {
width: 100%;
height: 100%;
position: absolute;
left: 0px;
top: 0px;
}
</style>

View File

@ -1,11 +1,7 @@
<template> <template>
<view> <view>
<view v-if="isAdmin || isVillageAdmin" class="tabss" style=" <view v-if="isAdmin || isVillageAdmin" class="tabss"
display: flex; style="display: flex;justify-content: space-between;align-items: center;background-color: #ffffff;">
justify-content: space-between;
align-items: center;
background-color: #ffffff;
">
<view @click="clickTab(1)" :class="{ acttiveSty: tabNum == 1 }" <view @click="clickTab(1)" :class="{ acttiveSty: tabNum == 1 }"
style="flex: 1; text-align: center; height: 40px; line-height: 40px"> style="flex: 1; text-align: center; height: 40px; line-height: 40px">
<text>已发布</text> <text>已发布</text>
@ -19,475 +15,195 @@
<view class="art_act_itm" v-for="(item, i) in issueList" :key="i"> <view class="art_act_itm" v-for="(item, i) in issueList" :key="i">
<image :src="onPhoto(item.photos)" alt="图片加载错误" mode="" @click="goActDeat(item.id, 1)"></image> <image :src="onPhoto(item.photos)" alt="图片加载错误" mode="" @click="goActDeat(item.id, 1)"></image>
<view class="bottom_part" style="padding: 0 12px"> <view class="bottom_part" style="padding: 0 12px">
<view class="ddd" style=" <view class="ddd" style="display: flex;justify-content: space-between;align-items: center;">
display: flex;
justify-content: space-between;
align-items: center;
">
<view class="title"> <view class="title">
{{ item.title }} {{ item.title }}
</view> </view>
<view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view> <view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view>
<!-- <view class="tag_sta_fail" v-if="item.state == '4'"> <view class="tag_sta_fail" v-if="item.state == '3'">已逾期</view>
未接单 <view class="tag_sta_end" v-if="item.state == '1'"> 进行中 </view>
</view> -->
<!-- <view
class="tag_sta_going"
v-if="item.state == '1' || item.state == '0'"
>
进行中
</view> -->
<view class="tag_sta_end" v-if="item.state == '1'"> 待评价 </view>
<view class="tag_sta_end" v-if="item.state == '0'"> <view class="tag_sta_end" v-if="item.state == '0'">
待上传图片 未开始
</view> </view>
</view> </view>
<view class="act_time"> <view class="act_time">
活动时间 {{ onDate(item.startTime) }} - 活动时间 {{ onDate(item.startTime) }} -
{{ onDate(item.endTime) }} {{ onDate(item.endTime) }}
</view> </view>
<view class="but_box" style="margin-top: 20rpx" v-if="!(item.state == '4')"> </view>
<view style="width: 236rpx; margin: 0 10rpx" v-if="!(item.state == '0')"> <view v-if="!(issueList.length > 0)">
<u-button icon="photo-fill" shape="circle" text="已传图片" @click="touploadedimg(item.id)"> <u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
</u-button> </u-empty>
</view>
<!-- <view
style="width: 236rpx; margin: 0 10rpx"
v-if="item.state == '1'"
@click="done(item.id)"
>
<u-button
color="#99241B"
shape="circle"
text="确认完成"
></u-button>
</view> -->
<!-- <view
style="width: 236rpx; margin: 0 10rpx"
@click="undone(item.id)"
v-if="item.state != '2' && item.state != '3'"
>
<u-button
color="#99241B"
shape="circle"
text="未完成"
></u-button>
</view> -->
<view style="width: 236rpx; margin: 0 10rpx" v-if="item.state == '0'">
<u-button icon="photo-fill" shape="circle" color="#99241B" plain text="图片上传"
@click="toUpimgPage(item.id)"></u-button>
</view>
<view style="width: 190rpx; margin: 0 10rpx" v-if="item.state == '1'">
<u-button plain color="#99241B" shape="circle" text="评价" @click="pingjia(item.id)">
</u-button>
</view>
<view style="width: 190rpx; margin: 0 10rpx" v-if="item.state == '2'">
<!-- <view style="width: 190rpx;margin: 0 10rpx; " > -->
<u-button shape="circle" text="已评价" @click="toEvlauedpg(item.evaluate)"></u-button>
</view>
</view>
<view style="
margin-top: 50rpx;
text-align: center;
width: 100%;
font-size: 36rpx;
font-weight: 600;
" v-if="item.state == '4'">
活动已逾期
</view>
</view> </view>
</view> </view>
<view v-if="!(issueList.length > 0)">
<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
</u-empty>
</view>
</view>
<view v-if="tabNum == 2"> <view v-if="tabNum == 2">
<view class="art_act_itm" v-for="(item, i) in receivingList" :key="i"> <view class="art_act_itm" v-for="(item, i) in receivingList" :key="i">
<image @click="goActDeat(item.id)" :src="item.photos" mode=""></image> <image @click="goActDeat(item.id)" :src="item.photos" mode=""></image>
<view class="bottom_part" style="padding: 0 12px"> <view class="bottom_part" style="padding: 0 12px">
<view class="ddd" style=" <view class="ddd" style="display: flex;justify-content: space-between;align-items: center;">
display: flex; <view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view>
justify-content: space-between; <view class="tag_sta_fail" v-if="item.state == '3'">已逾期</view>
align-items: center; <view class="tag_sta_end" v-if="item.state == '1'"> 进行中 </view>
" <view class="tag_sta_end" v-if="item.state == '0'">
> 未开始
<view class="title"> </view>
{{ item.title }} </view>
</view> <view class="act_time">
<view class="tag_sta" v-if="item.state == '0'"> 待上传图片 </view> 活动时间 {{ onDate(item.startTime) }} -
<view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view> {{ onDate(item.endTime) }}
<view class="tag_sta_going" v-if="item.state == '1'">
进行中
</view>
</view>
<view class="act_time">
活动时间 {{ onDate(item.startTime) }} -
{{ onDate(item.endTime) }}
</view>
<view class="but_box" style="margin-top: 20rpx">
<!-- <view
style="width: 236rpx; margin: 0 10rpx"
v-if="item.state == '0'"
>
<u-button
shape="circle"
text="取消报名"
@click="cancleBM(item.id)"
></u-button>
</view> -->
<view style="width: 236rpx; margin: 0 10rpx" v-if="item.state == '2'">
<u-button shape="circle" text="收到的评价" @click="toEvlauedpg(item.evaluate)"></u-button>
</view> </view>
</view> </view>
</view> </view>
</view> <view v-if="!(receivingList.length > 0)">
<view v-if="!(receivingList.length > 0)"> <u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png"> </u-empty>
</u-empty> </view>
</view> </view>
</view> </view>
</view> </view>
<u-popup :show="showS" @close="closeS" mode="center" :round="10" :safeAreaInsetBottom="false">
<view style="width: 640rpx">
<view style="padding: 32rpx">
<view style="font-size: 32rpx; font-weight: 800">
确认接单者未完成或已逾期
</view>
</view>
<view style="
display: flex;
border-top: 2rpx solid #e7e7e7;
height: 112rpx;
width: 640rpx;
line-height: 112rpx;
font-size: 32rpx;
font-weight: 600;
">
<view style="
width: 319rpx;
border-right: 1rpx solid #e7e7e7;
text-align: center;
" @click="closeS">
取消
</view>
<view style="
width: 319rpx;
border-right: 1rpx solid #e7e7e7;
text-align: center;
color: #3f84fd;
" @click="sureS">
确定
</view>
</view>
</view>
</u-popup>
<!-- 评价 -->
<u-modal :show="show" title="评价" @close="close()" :closeOnClickOverlay="true">
<view class="pinContent">
<textarea :disabled="id == ''" cols="30" rows="10" v-model="evaluate" placeholder="请输入评价..."></textarea>
</view>
<view slot="confirmButton" style="display: flex; justify-content: center; align-items: center">
<view style="width: 400rpx">
<u-button v-if="id != ''" color="#99241B" shape="circle" text="提交" @click="onSubmit()"></u-button>
<u-button v-else color="#99241B" shape="circle" text="确认" @click="show = false"></u-button>
</view>
</view>
</u-modal>
<u-modal :show="showShoudao" @close="closeRecive()" title="收到的评价" :closeOnClickOverlay="true">
<u-rate count="5" v-model="starsvalue" readonly></u-rate>
<view slot="confirmButton" style="display: flex; justify-content: center; align-items: center">
<view style="width: 400rpx">
<u-button color="#99241B" shape="circle" text="确定" @click="showShoudao = false"></u-button>
</view>
</view>
</u-modal>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
showShoudao: false, showShoudao: false,
show: false, show: false,
showS: false, showS: false,
count: 4, count: 4,
value: 2, value: 2,
rate2: 2, rate2: 2,
total: 0, total: 0,
score: [ score: [{
{ name: "jack",
name: "jack", star: 0,
star: 0, }, ],
}, starvalue: 0,
], orderList: [],
starvalue: 0, tabNum: 1,
orderList: [], pingjiaobj: {},
tabNum: 1, baomingpingjia: [],
pingjiaobj: {}, starsvalue: 0,
baomingpingjia: [], page: 1,
starsvalue: 0, size: 20,
page: 1, current: null,
size: 20, isAdmin: null, //
current: null, isVillageAdmin: null, //
isAdmin: null, // issueList: [],
isVillageAdmin: null, // receivingList: [],
issueList: [], evaluate: "",
receivingList: [], id: "",
evaluate: "", };
id: "", },
}; onShow() {
}, this.isAdmin = uni.getStorageSync("isAdmin");
onShow() { this.isVillageAdmin = uni.getStorageSync("isVillageAdmin");
this.isAdmin = uni.getStorageSync("isAdmin"); this.tabNum = this.isAdmin ? 1 : this.isVillageAdmin ? 2 : null;
this.isVillageAdmin = uni.getStorageSync("isVillageAdmin"); this.clickTab(this.tabNum);
this.tabNum = this.isAdmin ? 1 : this.isVillageAdmin ? 2 : null; },
this.clickTab(this.tabNum); //
}, onPullDownRefresh() {
// this.clickTab(this.tabNum);
onPullDownRefresh() { setTimeout(function() {
this.clickTab(this.tabNum); uni.stopPullDownRefresh();
setTimeout(function () { }, 1000);
uni.stopPullDownRefresh(); },
}, 1000); //
}, onReachBottom() {
// if (this.current > this.page) {
onReachBottom() { this.page++;
if (this.current > this.page) { this.moreOrder();
this.page++; }
this.moreOrder(); },
} methods: {
}, clickTab(num) {
methods: { this.orderList = [];
clickTab(num) { this.receivingList = [];
this.orderList = []; this.issueList = [];
this.receivingList = []; this.tabNum = num;
this.issueList = []; this.page = 1;
this.tabNum = num; if (num == 1) {
this.page = 1; this.myPosts();
if (num == 1) { } else if (num == 2) {
this.myPosts(); this.myArtCountryside();
} else if (num == 2) { }
this.myArtCountryside(); },
} myArtCountryside() {
}, let obj = {
myArtCountryside() { page: this.page,
let obj = { size: this.size,
page: this.page, };
size: this.size, this.http
}; .request("/artCountryside/myArtCountryside", obj, "GET")
this.http .then((res) => {
.request("/artCountryside/myArtCountryside", obj, "GET") if (res.code == 200) {
.then((res) => { this.receivingList = [...this.receivingList, ...res.data.records];
if (res.code == 200) { this.page = res.data.current;
this.receivingList = [...this.receivingList, ...res.data.records]; this.current = res.data.current;
this.page = res.data.current; }
this.current = res.data.current; })
} .catch((err) => {
}) uni.showToast({
.catch((err) => { title: e.data.message,
uni.showToast({ icon: "none",
title: e.data.message, });
icon: "none", });
}); },
}); myPosts() {
}, let obj = {
myPosts() { page: this.page,
let obj = { size: this.size,
page: this.page, };
size: this.size, this.http
}; .request("/artCountryside/myPosts", obj, "GET")
this.http .then((res) => {
.request("/artCountryside/myPosts", obj, "GET") if (res.code == 200) {
.then((res) => { this.issueList = [...this.issueList, ...res.data.records];
if (res.code == 200) { this.page = res.data.current;
this.issueList = [...this.issueList, ...res.data.records]; this.current = res.data.current;
this.page = res.data.current; }
this.current = res.data.current; })
} .catch((err) => {
}) uni.showToast({
.catch((err) => { title: e.data.message,
uni.showToast({ icon: "none",
title: e.data.message, });
icon: "none", });
}); },
}); onDate(time) {
}, let date = new Date(time);
onDate(time) { return date.toLocaleString();
let date = new Date(time); },
return date.toLocaleString(); onPhoto(photo) {
}, let src = "";
onPhoto(photo) { if (photo) {
let src = ""; let list = photo.split(",");
if (photo) { src = list[0];
let list = photo.split(","); }
src = list[0]; return src;
} },
return src; moreOrder(page = null) {
}, if (page) {
toUpimgPage(id) { this.page = 1;
uni.navigateTo({ }
url: `/pagesD/xxgl/upload?id=${id}`, if (this.tabNum == 1) {
}); this.myPosts();
}, } else if (this.tabNum == 2) {
touploadedimg(id) { this.myArtCountryside();
uni.navigateTo({ }
url: `/pagesD/xxgl/uploadShow?id=${id}`, },
}); goActDeat(id) {
}, uni.navigateTo({
close() { url: `/pagesD/wyxx/detail?id=${id}`,
this.id = ""; });
this.show = false; },
},
closeRecive() {
this.id = "";
this.showShoudao = false;
},
undone(val) {
this.undoneId = val;
this.showS = true;
},
closeS() {
this.showS = false;
},
pingjia(id) {
this.id = id;
this.show = true;
},
onSubmit() {
if (this.id == "") {
this.show = false;
return;
}
this.http
.request(
`/artCountryside/evaluate?id=${this.id}&evaluate=${this.evaluate}`,
{},
"POST"
)
.then((res) => {
if (res.code == 200) {
uni.showToast({
title: "评价成功",
});
this.show = false;
this.moreOrder(true);
this.id = "";
this.evaluate = "";
} else {
uni.showToast({
title: err.data.message,
icon: "none",
});
}
})
.catch((err) => {
uni.showToast({
title: err.data.message,
icon: "none",
});
});
},
moreOrder(page = null) {
if (page) {
this.page = 1;
}
if (this.tabNum == 1) {
this.myPosts();
} else if (this.tabNum == 2) {
this.myArtCountryside();
}
},
// receiveevlaue(id) {
// this.showShoudao = true;
// this.http
// .request("/hallUser/sdpj?id=" + id, {}, "POST")
// .then((res) => {
// if (res.code == 200) {
// this.starsvalue = res.data.evaluate;
// this.showShoudao = true;
// }
// })
// .catch((e) => {
// uni.showToast({
// title: e.data.message,
// icon: "none",
// });
// });
// },
// done(id) {
// this.http
// .request("/hallUser/complete?id=" + id, {}, "POST")
// .then((res) => {
// if (res.code == 200) {
// this.clickTab(1);
// }
// })
// .catch((e) => {
// uni.showToast({
// title: e.data.message,
// icon: "none",
// });
// });
// },
//
// cancleBM(id) {
// let that = this;
// this.http
// .request("/hallUser/qxSingUp?hallId=" + id, {}, "POST")
// .then((res) => {
// if (res.code == 200) {
// this.clickTab(2);
// uni.showToast({
// title: "",
// icon: "none",
// });
// }
// })
// .catch((e) => {
// uni.showToast({
// title: e.data.message,
// icon: "none",
// });
// });
// },
// goActDeat(id, typEnum) {
// if (typEnum) {
// uni.navigateTo({
// url: `/pagesB/orderHall/orderHallDetails?id=${id}&isCheck=${typEnum}`,
// });
// } else {
// uni.navigateTo({
// url: `/pagesB/orderHall/orderHallDetails?id=${id}`,
// });
// }
// },
toEvlauedpg(value) { toEvlauedpg(value) {
this.show = true; this.show = true;
this.evaluate = value; this.evaluate = value;
}, },
// sureS() {
// this.http
// .request("/hallUser/undone?id=" + this.undoneId, {}, "POST")
// .then((res) => {
// if (res.code == 200) {
// this.clickTab(this.tabNum);
// this.showS = false;
// }
// })
// .catch((e) => {
// uni.showToast({
// title: e.data.message,
// icon: "none",
// });
// });
// },
}, },
}; };
</script> </script>

View File

@ -1,250 +0,0 @@
<template>
<view>
<view class="wanShan">
<view class="data_itm_box" style="padding: 32rpx">
<view class="data_itm">
<view class="data_itm_key label_t"> 图片上传 </view>
</view>
<u-upload
class="upload"
accept="image"
width="172rpx"
height="172rpx"
:fileList="fileList3"
@afterRead="afterRead"
@delete="deletePic"
name="3"
multiple
>
<image
style="width: 172rpx; height: 172rpx"
src="../../static/improveData/jia.png"
></image>
</u-upload>
</view>
</view>
<view class="operation">
<button type="default" class="next" @click="submit">确定</button>
</view>
<view class="zhan_w">
<!-- zhanwei -->
</view>
</view>
</template>
<script>
import http from "../../request/interface.js";
export default {
data() {
return {
fileList3: [], //
id: "",
};
},
onLoad(option) {
this.id = option.id;
},
methods: {
//
deletePic(event) {
this[`fileList${event.name}`].splice(event.index, 1);
},
//
async afterRead(event) {
// mutiple true , file
let lists = [].concat(event.file);
let fileListLen = this[`fileList${event.name}`].length;
lists.map((item) => {
this[`fileList${event.name}`].push({
...item,
status: "uploading",
message: "上传中",
});
});
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url);
let item = this[`fileList${event.name}`][fileListLen];
this[`fileList${event.name}`].splice(
fileListLen,
1,
Object.assign(item, {
status: "success",
message: "",
url: result,
})
);
fileListLen++;
}
},
uploadFilePromise(url) {
let token = uni.getStorageSync("token");
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: http.config.baseUrl + "/file/upload",
filePath: url,
name: "file",
formData: {
user: "test",
},
header: {
"X-Token": token,
},
success: (res) => {
if (JSON.parse(res.data).code == 200) {
setTimeout(() => {
resolve(JSON.parse(res.data).data.path);
}, 1000);
} else {
uni.showToast({
title: JSON.parse(res.data).message,
icon: "none",
});
this.fileList3.pop();
}
},
});
});
},
submit() {
let image = [];
this.fileList3.forEach(function (item) {
image.push(item.url);
});
let data = image.join(",");
console.log(data);
this.http
.request(
"/artCountryside/addPhotos?id=" + this.id + "&photos=" + data,
{},
"POST"
)
.then((res) => {
if (res.code == 200) {
uni.navigateBack();
}
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
},
};
</script>
<style lang="scss">
/* page {
background-color: #F5F5F5;
}
*/
.p32 {
padding: 20rpx !important;
}
.WenYiUpload {
margin-top: 16rpx;
}
.te /deep/ .u-form-item__body__right__content__slot {
flex-wrap: wrap !important;
}
image {
width: 100%;
height: 100%;
}
.upload {
padding-top: 32rpx;
}
.data_itm_box {
padding: 32rpx 0rpx;
.chen_itm {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
.right_img_box {
width: 80rpx;
height: 80rpx;
margin-left: 16rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
margin-bottom: 16rpx;
border: 1px solid transparent;
padding: 0 32rpx;
background-color: #ffffff;
.data_itm {
.label_t {
font-size: 28rpx;
color: $black;
font-weight: 600;
}
}
.xie {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.upload_box {
width: 166rpx;
height: 166rpx;
margin-left: 32rpx;
position: relative;
background-color: #f8f8f8;
margin-bottom: 64rpx;
}
}
.operation {
display: flex;
justify-content: space-between;
align-items: center;
padding: 32rpx 32rpx 48rpx;
position: fixed;
left: 0;
bottom: 0;
right: 0;
background-color: #ffffff;
box-shadow: 0px -4px 10px 1px rgba(192, 192, 192, 0.12);
z-index: 99;
.next {
width: calc(100% - 48rpx);
height: 80rpx;
line-height: 80rpx;
background-color: #99241b;
color: #fff;
font-size: 32rpx;
font-weight: 600;
border: none;
button {
&::after {
border: none;
}
}
}
}
.zhan_w {
height: 160rpx;
}
</style>

View File

@ -1,59 +0,0 @@
<template>
<view class="im">
<image
v-for="(v, i) in imgArr"
class="imgSt"
:src="v"
mode=""
:key="i"
></image>
</view>
</template>
<script>
export default {
data() {
return {
id: "",
imgArr: [],
};
},
onLoad(query) {
this.id = query.id;
// let imgarrs = [];
// op.imgstring.split(",").forEach(function (eml, index) {
// imgarrs.push(eml);
// });
// this.imgArr = imgarrs;
},
onShow() {
this.onInfo();
},
methods: {
onInfo() {
this.http
.request(`/artCountryside/details`, { id: this.id }, "GET")
.then((res) => {
if (res.code == 200) {
this.imgArr = res.data.photos.split(",");
}
});
},
},
};
</script>
<style lang="scss">
.imgSt {
width: 200rpx;
height: 200rpx;
border-radius: 10rpx;
overflow: hidden;
margin: 0 10rpx;
}
page {
padding-top: 24rpx;
width: calc(100% - 32rpx);
margin: 0 auto;
}
</style>

View File

@ -6,8 +6,8 @@
export default { export default {
config: { config: {
// baseUrl: "http://192.168.1.3:8080/h5/api", //俞燕红-小程序不能配跨域 // baseUrl: "http://192.168.1.3:8080/h5/api", //俞燕红-小程序不能配跨域
baseUrl: "/pre", //俞燕红-跨域 // baseUrl: "/pre", //俞燕红-跨域
// baseUrl: "https://yxx.ydool.net/h5/api", //线上 baseUrl: "https://yxx.ydool.net/h5/api", //线上
// baseUrl: "/h5/api", //h5 // baseUrl: "/h5/api", //h5
header: { header: {
'Content-Type': 'application/json;charset=UTF-8', 'Content-Type': 'application/json;charset=UTF-8',