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>
<view class="">
<view class="form_line">
<!-- <view class="form_left">
名称
</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 class="">
<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="text1" 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>
<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="wTime" :border="false" :clearIcon="false"/>
</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>
<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>
<script>
import http from "../../request/interface.js";
export default {
data() {
return {
name: "",
typeId: "",
showType: false,
type: "",
radiolist1: [],
text1: "",
text2: "",
showTime: false,
timeTab: 0,
eTime: "",
wTime: "",
timeValue: Number(new Date()),
showUser: false,
userType: "",
userTypeValue: "wyrc,zyz",
radiovalue2: [],
radiolist2: [],
morePer: true,
perNumber: 1,
fileList3: [],
ok: true,
count: 5, //
score: 1, //
};
},
onShow() {
this.getTypeList();
this.getUserList();
},
onLoad() {
this.getCurrentTime();
},
methods: {
getCurrentTime() {
//
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
let gettime = yy + "-" + mm + "-" + dd;
this.eTime = gettime;
this.wTime = gettime;
},
//
getTypeList() {
this.http
.request("/hallType/list", {}, "GET")
.then((res) => {
if (res.code == 200) {
this.radiolist1 = res.data.records;
}
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
//
getUserList() {
this.http
.request("/hall/yhlx", {}, "GET")
.then((res) => {
if (res.code == 200) {
this.radiolist2 = res.data;
}
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
close() {
this.showType = false;
this.showTime = false;
this.showUser = false;
},
selectForm1(form) {
let _this = this;
this.radiolist1.forEach(function (item) {
if (item.name == form) {
_this.typeId = item.code;
}
});
},
chooseTime(val) {
this.showTime = true;
this.timeTab = val;
},
sureTime(e) {
if (this.timeTab == 0) {
this.eTime = uni.$u.timeFormat(e.value, "yyyy-mm-dd hh:MM");
} else {
this.wTime = uni.$u.timeFormat(e.value, "yyyy-mm-dd hh:MM");
}
this.showTime = false;
},
selectForm2() {
let _this = this;
let code = [];
this.radiolist2.forEach(function (item) {
_this.radiovalue2.forEach(function (ele) {
if (item.label == ele) {
code.push(item.value);
}
});
});
this.userTypeValue = code.join(",");
this.userType = this.radiovalue2.join(",");
this.showUser = false;
},
changeTrue(e) {
console.log("change", e);
},
valChange(e) {
console.log("当前值为: " + e.value);
},
//
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();
}
},
});
});
},
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",
});
});
}
},
},
};
import http from "../../request/interface.js";
export default {
data() {
return {
id: '',
text2: "",
fileList3: [],
ok: true,
count: 5, //
score: 1, //
};
},
onLoad(op) {
this.id = op.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();
}
},
});
});
},
next() {
this.ok = true;
if (this.text2 == "") {
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.ok) {
let image = [];
this.fileList3.forEach(function(item) {
image.push(item.url);
});
let data = image.join(",");
this.http
.request(
"/artCountryside/evaluate", {
id: this.id,
evaluate: this.text2,
score: this.score,
photos: data,
},
"POST"
)
.then((res) => {
if (res.code == 200) {
uni.showToast({
title: '评价完成',
icon: 'none',
});
setTimeout(() => {
uni.navigateBack();
}, 1200)
}
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
}
},
},
};
</script>
<style></style>
<style lang="scss" scoped>
/deep/ .uni-icons {
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;
/deep/ .uni-icons {
display: none;
}
.form_right {
width: 450rpx;
}
}
/deep/ .uni-date-x {
text-align: right;
padding: 0;
}
.form_box {
width: 686rpx;
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;
.form_left {
margin-right: 22rpx;
}
}
.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;
.text_box {
width: 686rpx;
height: 343rpx;
padding: 0 32rpx;
.form_right {
width: 450rpx;
}
}
::v-deep .u-textarea {
padding: 9px 0rpx;
border: 0rpx solid #000 !important;
}
}
.form_box {
width: 686rpx;
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 {
color: #afadb0;
background: #f5f5f5;
opacity: 1;
padding: 10rpx 32rpx;
font-size: 32rpx;
}
// ::v-deep .u-upload__wrap {
// padding: 32rpx;
// }
.form_left {
margin-right: 22rpx;
}
}
.upload {
padding: 32rpx;
margin-bottom: 130rpx;
}
.text_box {
width: 686rpx;
height: 343rpx;
padding: 0 32rpx;
.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;
}
::v-deep .u-textarea {
padding: 9px 0rpx;
border: 0rpx solid #000 !important;
}
}
.gap {
color: #afadb0;
background: #f5f5f5;
opacity: 1;
padding: 10rpx 32rpx;
font-size: 32rpx;
}
// ::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>
<view class="">
<!-- <view class="">
<view class="">
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view> -->
<!-- v-if="load == false" -->
<view class="page">
<view class="return" @click="back">
<image src="../../static/orderLeftArrow.png" mode="scaleToFill"></image>
</view>
<view class="pageImg">
<u-swiper
v-if="list.length > 0"
:list="list"
:autoplay="true"
@change="(e) => (currentNum = e.current)"
indicatorStyle="right: 20px"
height="440rpx"
>
<view slot="indicator" class="indicator-num">
<text class="indicator-num__text"
>{{ currentNum + 1 }}/{{ list.length }}</text
>
</view>
</u-swiper>
</view>
<view class="main">
<view class="mainTitle">{{ data.title }}</view>
<view class="textList">
<view class="type">
<view class="text1" style="margin-right: 12rpx"
>{{ data.name }}
</view>
<view class="text2 text3">{{ data.demand }}</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>
</view>
<view class="page" v-if="load == false">
<view class="pageImg" v-if="list.length > 0">
<u-swiper v-if="list.length > 0" :list="list" :autoplay="true" @change="(e) => (currentNum = e.current)"
indicatorStyle="right: 20px" height="440rpx">
<view slot="indicator" class="indicator-num">
<text class="indicator-num__text">{{ currentNum + 1 }}/{{ list.length }}</text>
</view>
</u-swiper>
</view>
<view class="main">
<!-- <view class="mainTitle">{{ data.title }}</view> -->
<view class="textList">
<view class="type">
<view class="text1" style="margin-right: 12rpx">{{ data.name }}
</view>
<view class="text2 text3">{{ data.villageName }}</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.introduce }}
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
load: true,
id: "",
data: {
name: "xx团队",
content: "555555",
demand: "丹东街道",
contacts: "张丹",
phone: "13564852145",
},
list: [
{
image: "https://cdn.uviewui.com/uview/swiper/1.jpg",
title: "昨夜星辰昨夜风,画楼西畔桂堂东",
},
],
list2: [],
userList: [],
currentNum: 0,
isCheck: 0,
};
},
// onLoad(op) {
// this.id = op.id
// if(op.isCheck){
// this.isCheck = op.isCheck
// }
// },
// onShow() {
// this.getData()
// },
methods: {
// getData() {
// 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();
},
},
};
export default {
data() {
return {
load: true,
id: "",
data: {},
list: [],
currentNum: 0,
isCheck: 0,
};
},
onLoad(op) {
this.id = op.id
},
onShow() {
this.getData()
},
methods: {
getData() {
let _this = this
this.http.request('/artTeam/details', {
id: this.id,
}, "GET").then(res => {
if (res.code == 200) {
//
if (res.data.file) {
this.list = res.data.file.split(',')
}
this.data = res.data
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
},
};
</script>
<style lang="scss" scoped>
image {
height: 100%;
width: 100%;
}
.page {
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
image {
height: 100%;
width: 100%;
}
image {
width: 48rpx;
height: 48rpx;
}
}
.page {
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
.pageImg {
height: 440rpx;
image {
width: 48rpx;
height: 48rpx;
}
}
.img {
width: 100%;
height: 100%;
}
}
.pageImg {
height: 440rpx;
.main {
padding: 32rpx;
.img {
width: 100%;
height: 100%;
}
}
.mainTitle {
font-size: 36rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.main {
padding: 32rpx;
.textList {
margin-bottom: 24rpx;
.mainTitle {
font-size: 36rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.type {
display: flex;
height: 48rpx;
line-height: 48rpx;
.textList {
margin-bottom: 24rpx;
.textImg {
width: 32rpx;
height: 32rpx;
margin-top: 10rpx;
margin-right: 16rpx;
}
.type {
display: flex;
height: 48rpx;
line-height: 48rpx;
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #32333c;
}
}
.textImg {
width: 32rpx;
height: 32rpx;
margin-top: 10rpx;
margin-right: 16rpx;
}
.text2 {
font-size: 28rpx;
color: #32333c;
line-height: 40rpx;
}
.text3 {
color: #99241b;
border-radius: 50rpx;
padding: 4rpx 20rpx;
background-color: #eeeeee;
}
}
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #32333c;
}
}
.file_box {
width: 92%;
height: 64px;
margin: 10px 4%;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #251b1d;
background: #f4f5f7;
border-radius: 6px;
overflow: hidden;
.text2 {
font-size: 28rpx;
color: #32333c;
line-height: 40rpx;
}
.file_box_left {
width: 40px;
height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.text3 {
color: #99241b;
border-radius: 50rpx;
padding: 4rpx 20rpx;
background-color: #eeeeee;
}
}
.file_box_left_img {
width: 40px;
height: 40px;
}
}
.file_box {
width: 92%;
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 {
margin-left: 20px;
float: left;
.file_box_left {
width: 40px;
height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.file_box_name {
height: 64px;
line-height: 64px;
font-size: 16px;
font-weight: 600;
color: #251b1d;
}
}
}
}
.file_box_left_img {
width: 40px;
height: 40px;
}
}
.line {
height: 16rpx;
background: #f4f5f7;
}
.file_box_right {
margin-left: 20px;
float: left;
.activityDetails {
.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 {
padding: 16rpx 32rpx 32rpx;
margin: 16rpx 0;
border-bottom: 2rpx solid #f1f1f1;
display: flex;
// justify-content: space-between;
align-items: center;
font-weight: 600;
.file_box_name {
height: 64px;
line-height: 64px;
font-size: 16px;
font-weight: 600;
color: #251b1d;
}
}
}
}
.standard {
display: flex;
align-items: center;
margin-right: 10rpx;
.line {
height: 16rpx;
background: #f4f5f7;
}
.icon {
width: 32rpx;
height: 32rpx;
// display: none;
}
.activityDetails {
.item_ul {
.title {
font-size: 32rpx;
font-weight: bold;
padding: 24rpx;
display: flex;
background: #f4f5f7;
text {
color: #251b1d;
// color: $gray;
margin-left: 8rpx;
}
}
.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 {
display: flex;
align-items: center;
margin-right: 10rpx;
.icon {
width: 32rpx;
height: 32rpx;
// display: none;
}
text {
color: #251b1d;
// color: $gray;
margin-left: 8rpx;
}
}
}
}
}
}
}
}
.orderBtn {
width: 100%;
background-color: #fff;
padding-bottom: 20rpx;
.orderBtn {
width: 100%;
background-color: #fff;
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;
}
}
.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;
}
.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;
.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;
}
}
.oer_image {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
margin-left: 30rpx;
}
}
}
.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>
<view class="">
<!-- <view class="">
<view class="">
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view> -->
<!-- v-if="load == false" -->
<view class="page">
<view class="return" @click="back">
<image src="../../static/orderLeftArrow.png" mode="scaleToFill"></image>
</view>
<view class="pageImg">
<u-swiper
v-if="list.length > 0"
:list="list"
:autoplay="true"
@change="(e) => (currentNum = e.current)"
indicatorStyle="right: 20px"
height="440rpx"
>
<view slot="indicator" class="indicator-num">
<text class="indicator-num__text"
>{{ currentNum + 1 }}/{{ list.length }}</text
>
</view>
</u-swiper>
</view>
<view class="main">
<view class="mainTitle">{{ data.title }}</view>
<view class="textList">
<view class="type">
<view class="text1" style="margin-right: 12rpx"
>{{ data.name }}
</view>
<view class="text2 text3">{{ data.demand }}</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 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>
</view>
<view class="page" v-if="load == false">
<view class="pageImg" v-if="list.length > 0">
<u-swiper v-if="list.length > 0" :list="list" :autoplay="true" @change="(e) => (currentNum = e.current)"
indicatorStyle="right: 20px" height="440rpx">
<view slot="indicator" class="indicator-num">
<text class="indicator-num__text">{{ currentNum + 1 }}/{{ list.length }}</text>
</view>
</u-swiper>
</view>
<view class="main">
<view class="textList">
<view class="type">
<view class="text1" style="margin-right: 12rpx">{{ data.name }}
</view>
<view class="text2 text3">{{ data.villageName }}</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.introduce }}
</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>
<script>
export default {
data() {
return {
load: true,
id: "",
data: {
name: "xx团队",
content: "555555",
demand: "丹东街道",
contacts: "张丹",
phone: "13564852145",
},
list: [
{
image: "https://cdn.uviewui.com/uview/swiper/1.jpg",
title: "昨夜星辰昨夜风,画楼西畔桂堂东",
},
],
list2: [],
userList: [],
currentNum: 0,
isCheck: 0,
};
},
// onLoad(op) {
// this.id = op.id
// if(op.isCheck){
// this.isCheck = op.isCheck
// }
// },
// onShow() {
// this.getData()
// },
methods: {
back() {
uni.navigateBack();
},
},
};
export default {
data() {
return {
load: true,
id: "",
data: {},
list: [],
currentNum: 0,
isCheck: 0,
};
},
onLoad(op) {
this.id = op.id
},
onShow() {
this.getData()
},
methods: {
getData() {
let _this = this
this.http.request('/artTeam/details', {
id: this.id,
}, "GET").then(res => {
if (res.code == 200) {
//
if (res.data.file) {
this.list = res.data.file.split(',')
}
this.data = res.data
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
},
};
</script>
<style lang="scss" scoped>
image {
height: 100%;
width: 100%;
}
.page {
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
image {
height: 100%;
width: 100%;
}
image {
width: 48rpx;
height: 48rpx;
}
}
.page {
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
.pageImg {
height: 440rpx;
image {
width: 48rpx;
height: 48rpx;
}
}
.img {
width: 100%;
height: 100%;
}
}
.pageImg {
height: 440rpx;
.main {
padding: 32rpx;
.img {
width: 100%;
height: 100%;
}
}
.mainTitle {
font-size: 36rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.main {
padding: 32rpx;
.textList {
margin-bottom: 24rpx;
.mainTitle {
font-size: 36rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 28rpx;
}
.type {
display: flex;
height: 48rpx;
line-height: 48rpx;
.textList {
margin-bottom: 24rpx;
.textImg {
width: 32rpx;
height: 32rpx;
margin-top: 10rpx;
margin-right: 16rpx;
}
.type {
display: flex;
height: 48rpx;
line-height: 48rpx;
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #32333c;
}
}
.textImg {
width: 32rpx;
height: 32rpx;
margin-top: 10rpx;
margin-right: 16rpx;
}
.text2 {
font-size: 28rpx;
color: #32333c;
line-height: 40rpx;
}
.text3 {
color: #99241b;
border-radius: 50rpx;
padding: 4rpx 20rpx;
background-color: #eeeeee;
}
}
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #32333c;
}
}
.file_box {
width: 92%;
height: 64px;
margin: 10px 4%;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #251b1d;
background: #f4f5f7;
border-radius: 6px;
overflow: hidden;
.text2 {
font-size: 28rpx;
color: #32333c;
line-height: 40rpx;
}
.file_box_left {
width: 40px;
height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.text3 {
color: #99241b;
border-radius: 50rpx;
padding: 4rpx 20rpx;
background-color: #eeeeee;
}
}
.file_box_left_img {
width: 40px;
height: 40px;
}
}
.file_box {
width: 92%;
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 {
margin-left: 20px;
float: left;
.file_box_left {
width: 40px;
height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.file_box_name {
height: 64px;
line-height: 64px;
font-size: 16px;
font-weight: 600;
color: #251b1d;
}
}
}
}
.file_box_left_img {
width: 40px;
height: 40px;
}
}
.line {
height: 16rpx;
background: #f4f5f7;
}
.file_box_right {
margin-left: 20px;
float: left;
.activityDetails {
.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 {
padding: 16rpx 32rpx 32rpx;
margin: 16rpx 0;
border-bottom: 2rpx solid #f1f1f1;
display: flex;
// justify-content: space-between;
align-items: center;
font-weight: 600;
.file_box_name {
height: 64px;
line-height: 64px;
font-size: 16px;
font-weight: 600;
color: #251b1d;
}
}
}
}
.standard {
display: flex;
align-items: center;
margin-right: 10rpx;
.line {
height: 16rpx;
background: #f4f5f7;
}
.icon {
width: 32rpx;
height: 32rpx;
// display: none;
}
.activityDetails {
.item_ul {
.title {
font-size: 32rpx;
font-weight: bold;
padding: 24rpx;
display: flex;
background: #f4f5f7;
text {
color: #251b1d;
// color: $gray;
margin-left: 8rpx;
}
}
.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 {
display: flex;
align-items: center;
margin-right: 10rpx;
.icon {
width: 32rpx;
height: 32rpx;
// display: none;
}
text {
color: #251b1d;
// color: $gray;
margin-left: 8rpx;
}
}
}
}
}
}
}
}
.orderBtn {
width: 100%;
background-color: #fff;
padding-bottom: 20rpx;
.orderBtn {
width: 100%;
background-color: #fff;
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;
}
}
.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;
}
.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;
.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;
}
}
.oer_image {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
margin-left: 30rpx;
}
}
}
.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="standard">
<image class="icon" src="../../static/detailIcon/icon7.png" mode="scaleToFill"></image>
<text> 节目:</text>
<text>节目安排:</text>
</view>
<view class="content"><text> {{ data.teamName }}</text></view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon6.png" mode="scaleToFill"></image>
<text> 团队:</text>
<text>团队安排:</text>
</view>
<view class="content"><text> {{ data.showName }}</text></view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon8.png" mode="scaleToFill"></image>
<text> 地址:</text>
<text>下乡地址:</text>
</view>
<view class="content"><text> {{ data.villageName }}</text></view>
</view>
@ -50,6 +50,54 @@
</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>
</template>
@ -92,10 +140,11 @@
this.load = false
})
},
back() {
uni.navigateBack()
},
//
toDp() {
uni.navigateTo({
url: `/pagesD/wyxx/addOrder?id=${this.id}`,
});
}
}
}
</script>
@ -115,6 +164,21 @@
.activityDetails {
.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 {
padding: 16rpx 32rpx 32rpx;
margin: 0rpx 0 32rpx;
@ -144,6 +208,26 @@
.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>
<!-- 文艺下乡 -->
<view class="wyxx">
<view class="tabTitle">
<view :class="tabC == '0' ? 'tabsC' : 'tabs'" @click="toTab('0')">
<view> 文艺团队 </view>
<view class="line"></view>
</view>
<view :class="tabC == '1' ? 'tabsC' : 'tabs'" @click="toTab('1')">
<view> 文艺节目 </view>
<view class="line"></view>
</view>
<view :class="tabC == '2' ? 'tabsC' : 'tabs'" @click="toTab('2')">
<view> 下乡计划 </view>
<view class="line"></view>
</view>
</view>
<view class="forms" v-if="tabC == '0'">
<view v-if="team.length > 0">
<view
class="teamBox"
v-for="(item, index) in team"
@click="goDetails(item.id, 0)"
>
<view class="teamBox-right">
<!-- <image :src="item.file" mode=""></image> -->
<image src="../../static/txIcon.png" mode=""></image>
<!-- txIcon -->
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">{{ item.name }}</view>
<view class="street">{{ item.villageName }}</view>
</view>
<view class="teamMinbox-bottom">
{{ item.introduce }}
</view>
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
<view class="forms" v-if="tabC == '1'">
<view v-if="program.length > 0">
<view
class="teamBox"
v-for="(item, index) in program"
@click="goDetails(item.id, 1)"
>
<view class="teamBox-right">
<!-- <image :src="item.file" mode=""></image> -->
<image src="../../static/txIcon.png" mode=""></image>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">{{ item.name }}</view>
<view class="street">{{ item.villageName }}</view>
</view>
<view class="teamMinbox-bottom">
{{ item.introduce }}
</view>
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
<view class="forms" v-if="tabC == '2'">
<view class="addIcon" @click="toAddOrder" v-if="isadmin">
<image src="../../static/orderHall/addOrder.png"></image>
</view>
<view class="main" v-if="mainList.length > 0">
<view
class="mainList"
v-for="(item, i) in mainList"
:key="i"
@click="toDetail(item.id)"
>
<view class="text">
<view class="text1">{{ item.title ? item.title : "暂无" }}</view>
<view class="text3">
<view class="time"
>节目{{ item.teamName ? item.teamName : "暂无" }}</view
>
</view>
<view class="text3">
<view class="time"
>团队{{ item.showName ? item.showName : "暂无" }}</view
>
</view>
<view class="text3">
<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>
<!-- 文艺下乡 -->
<view class="wyxx">
<view class="tabTitle">
<view :class="tabC == '0' ? 'tabsC' : 'tabs'" @click="toTab('0')">
<view> 文艺团队 </view>
<view class="line"></view>
</view>
<view :class="tabC == '1' ? 'tabsC' : 'tabs'" @click="toTab('1')">
<view> 文艺节目 </view>
<view class="line"></view>
</view>
<view :class="tabC == '2' ? 'tabsC' : 'tabs'" @click="toTab('2')">
<view> 下乡计划 </view>
<view class="line"></view>
</view>
</view>
<view class="forms" v-if="tabC == '0'">
<view v-if="team.length > 0">
<view class="teamBox" v-for="(item, index) in team" @click="goDetails(item.id, 0)">
<view class="teamBox-right">
<image :src="item.file" mode=""></image>
<!-- <image src="../../static/txIcon.png" mode=""></image> -->
<!-- txIcon -->
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">{{ item.name }}</view>
<view class="street">{{ item.villageName }}</view>
</view>
<view class="teamMinbox-bottom">
{{ item.introduce }}
</view>
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
<view class="forms" v-if="tabC == '1'">
<view v-if="program.length > 0">
<view class="teamBox" v-for="(item, index) in program" @click="goDetails(item.id, 1)">
<view class="teamBox-right">
<image :src="item.file" mode=""></image>
<!-- <image src="../../static/txIcon.png" mode=""></image> -->
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">{{ item.name }}</view>
<view class="street">{{ item.villageName }}</view>
</view>
<view class="teamMinbox-bottom">
{{ item.introduce }}
</view>
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
<view class="forms" v-if="tabC == '2'">
<view class="addIcon" @click="toAddOrder" v-if="isadmin">
<image src="../../static/orderHall/addOrder.png"></image>
</view>
<view class="main" v-if="mainList.length > 0">
<view class="mainList" v-for="(item, i) in mainList" :key="i" @click="toDetail(item.id)">
<view class="text">
<view class="text1">{{ item.title ? item.title : "暂无" }}</view>
<view class="text3">
<view class="time">节目{{ item.teamName ? item.teamName : "暂无" }}</view>
</view>
<view class="text3">
<view class="time">团队{{ item.showName ? item.showName : "暂无" }}</view>
</view>
<view class="text3">
<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>
<script>
export default {
data() {
return {
tabC: "0",
mainList: [],
villageId: "",
team: [],
program: [],
loadings: true,
isadmin: false,
};
},
methods: {
toTab(val) {
this.tabC = val;
},
goDetails(value, i) {
if (i == 0) {
uni.navigateTo({
url: `/pagesD/wyxx/artTeam?id=${value}`,
});
} else {
uni.navigateTo({
url: `/pagesD/wyxx/artProgram?id=${value}`,
});
}
},
RuralDevelopmentPlanlist() {
this.loadings = true;
let data = {
villageId: this.villageId,
};
this.http
.request(`/artCountryside/list`, data, "GET")
.then((res) => {
if (res.code === 200) {
this.mainList = res.data.records;
this.loadings = false;
} else {
this.loadings = false;
uni.showToast({
title: res.message,
icon: "error",
});
}
})
.catch((err) => {
this.loadings = false;
});
},
toAddOrder() {
uni.navigateTo({
url: `/pagesD/wyxx/addindex`,
});
},
teamandprogram() {
this.http
.request("/artTeam/list", {}, "GET")
.then((res) => {
if (res.code === 200) {
this.team = [];
this.program = [];
res.data.records.forEach((item, index) => {
if (item.type == "team") {
this.team.push(item);
} else {
this.program.push(item);
}
});
} else {
uni.showToast({
title: res.data.message,
icon: "error",
});
}
})
.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();
},
};
export default {
data() {
return {
tabC: "0",
mainList: [],
villageId: "",
team: [],
program: [],
loadings: true,
isadmin: false,
page: 1,
size: 9999,
};
},
methods: {
toTab(val) {
this.tabC = val;
},
goDetails(value, i) {
if (i == 0) {
uni.navigateTo({
url: `/pagesD/wyxx/artTeam?id=${value}`,
});
} else {
uni.navigateTo({
url: `/pagesD/wyxx/artProgram?id=${value}`,
});
}
},
RuralDevelopmentPlanlist() {
this.loadings = true;
let data = {
villageId: this.villageId,
current: this.page,
size: this.size
};
this.http
.request(`/artCountryside/list`, data, "GET")
.then((res) => {
if (res.code === 200) {
this.mainList = res.data.records;
this.loadings = false;
} else {
this.loadings = false;
uni.showToast({
title: res.message,
icon: "error",
});
}
})
.catch((err) => {
this.loadings = false;
});
},
toAddOrder() {
uni.navigateTo({
url: `/pagesD/wyxx/addindex`,
});
},
teamandprogram() {
this.http
.request("/artTeam/list", {
current: this.page,
size: this.size
}, "GET")
.then((res) => {
if (res.code === 200) {
this.team = [];
this.program = [];
res.data.records.forEach((item, index) => {
let image = []
if(item.file){
image = item.file.split(',')
item.file = image[0]
}else{
item.file = '../../static/txIcon.png'
}
if (item.type == "team") {
this.team.push(item);
} else {
this.program.push(item);
}
});
} else {
uni.showToast({
title: res.data.message,
icon: "error",
});
}
})
.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>
<style lang="scss" scoped>
.wyxx {
background-color: #fefefe;
}
.wyxx {
background-color: #fefefe;
}
.tabTitle {
display: flex;
width: 100%;
background: #ffffff;
.tabTitle {
display: flex;
width: 100%;
background: #ffffff;
.tabs {
width: 33.3%;
text-align: center;
padding: 32rpx 0 0rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
.tabs {
width: 33.3%;
text-align: center;
padding: 32rpx 0 0rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
.line {
width: 36rpx;
height: 4rpx;
margin: 10rpx auto 8rpx;
}
}
.line {
width: 36rpx;
height: 4rpx;
margin: 10rpx auto 8rpx;
}
}
.tabsC {
width: 33.3%;
text-align: center;
padding: 32rpx 0 0;
font-size: 28rpx;
font-weight: 600;
color: #000;
.tabsC {
width: 33.3%;
text-align: center;
padding: 32rpx 0 0;
font-size: 28rpx;
font-weight: 600;
color: #000;
.line {
width: 44rpx;
height: 4rpx;
margin: 10rpx auto 8rpx;
background-color: #a02521;
}
}
}
.line {
width: 44rpx;
height: 4rpx;
margin: 10rpx auto 8rpx;
background-color: #a02521;
}
}
}
.forms {
width: 98%;
// height: 40rpx;
// background-color: skyblue;
margin: 20rpx auto;
// max-height: calc(100vh - 106px);
// border: 1px solid #333333;
// overflow-y: auto;
.forms {
width: 98%;
// height: 40rpx;
// background-color: skyblue;
margin: 20rpx auto;
// max-height: calc(100vh - 106px);
// border: 1px solid #333333;
// overflow-y: auto;
.teamBox {
height: 180rpx;
padding: 18rpx 10rpx;
background-color: #fff;
// background-color: rgb(241, 243, 244);
border: 1px solid rgb(241, 243, 244);
margin-bottom: 20rpx;
display: flex;
.teamBox {
height: 180rpx;
padding: 18rpx 10rpx;
background-color: #fff;
// background-color: rgb(241, 243, 244);
border: 1px solid rgb(241, 243, 244);
margin-bottom: 20rpx;
display: flex;
.teamBox-right {
margin-right: 20rpx;
.teamBox-right {
margin-right: 20rpx;
image {
width: 180rpx;
height: 180rpx;
background-size: contain;
}
}
image {
width: 180rpx;
height: 180rpx;
background-size: contain;
}
}
.teamBox-left {
// width: 400rpx;
.teamMinbox-top {
display: flex;
margin-bottom: 16rpx;
.teamBox-left {
.title {
font-weight: 600;
font-size: 32rpx;
max-width: 160rpx;
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
// width: 400rpx;
.teamMinbox-top {
display: flex;
margin-bottom: 16rpx;
.street {
height: 40rpx;
border-radius: 30rpx;
background-color: rgba(240, 240, 240, 1);
color: #a02521;
margin-left: 18rpx;
padding: 2rpx 20rpx;
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
.title {
font-weight: 600;
font-size: 32rpx;
max-width: 160rpx;
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
.teamMinbox-bottom {
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
}
}
.street {
height: 40rpx;
border-radius: 30rpx;
background-color: rgba(240, 240, 240, 1);
color: #a02521;
margin-left: 18rpx;
padding: 2rpx 20rpx;
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
image {
width: 100%;
height: 100%;
}
.teamMinbox-bottom {
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
}
}
.main {
padding: 32rpx;
// background-color: #F4F5F7;
// background-color: rgb(241, 243, 244);
border-radius: 16rpx;
image {
width: 100%;
height: 100%;
}
.mainList {
border-radius: 16rpx;
// background-color: rgb(241, 243, 244);
margin-bottom: 20rpx;
border: 1px solid rgb(241, 243, 244);
overflow: hidden;
.main {
padding: 32rpx;
// background-color: #F4F5F7;
// background-color: rgb(241, 243, 244);
border-radius: 16rpx;
.mainListImg {
height: 400rpx;
position: relative;
.mainList {
border-radius: 16rpx;
// background-color: rgb(241, 243, 244);
margin-bottom: 20rpx;
border: 1px solid rgb(241, 243, 244);
overflow: hidden;
.img {
width: 100%;
height: 100%;
}
.mainListImg {
height: 400rpx;
position: relative;
.imgTags {
position: absolute;
right: 0;
bottom: 0;
}
}
.img {
width: 100%;
height: 100%;
}
.text {
padding: 32rpx;
// background-color: #FFF;
.imgTags {
position: absolute;
right: 0;
bottom: 0;
}
}
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 5rpx;
}
.text {
padding: 32rpx;
// background-color: #FFF;
.text2 {
font-size: 28rpx;
font-weight: 400;
color: #989898;
}
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #251b1d;
margin-bottom: 5rpx;
}
.text3 {
display: flex;
margin-top: 16rpx;
.text2 {
font-size: 28rpx;
font-weight: 400;
color: #989898;
}
.mainListTime {
width: 26rpx;
height: 26rpx;
margin-top: 4rpx;
margin-right: 8rpx;
}
.text3 {
display: flex;
margin-top: 16rpx;
.time {
font-size: 24rpx;
font-weight: 400;
color: #989898;
}
}
}
}
}
.mainListTime {
width: 26rpx;
height: 26rpx;
margin-top: 4rpx;
margin-right: 8rpx;
}
.addIcon {
position: fixed;
right: 24rpx;
bottom: 242rpx;
width: 104rpx;
height: 104rpx;
border-radius: 50%;
z-index: 999;
}
.time {
font-size: 24rpx;
font-weight: 400;
color: #989898;
}
}
}
}
}
.loading {
width: 100%;
height: 100%;
position: absolute;
left: 0px;
top: 0px;
}
.addIcon {
position: fixed;
right: 24rpx;
bottom: 242rpx;
width: 104rpx;
height: 104rpx;
border-radius: 50%;
z-index: 999;
}
.loading {
width: 100%;
height: 100%;
position: absolute;
left: 0px;
top: 0px;
}
</style>

View File

@ -1,11 +1,7 @@
<template>
<view>
<view v-if="isAdmin || isVillageAdmin" class="tabss" style="
display: flex;
justify-content: space-between;
align-items: center;
background-color: #ffffff;
">
<view v-if="isAdmin || isVillageAdmin" class="tabss"
style="display: flex;justify-content: space-between;align-items: center;background-color: #ffffff;">
<view @click="clickTab(1)" :class="{ acttiveSty: tabNum == 1 }"
style="flex: 1; text-align: center; height: 40px; line-height: 40px">
<text>已发布</text>
@ -19,475 +15,195 @@
<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>
<view class="bottom_part" style="padding: 0 12px">
<view class="ddd" style="
display: flex;
justify-content: space-between;
align-items: center;
">
<view class="ddd" style="display: flex;justify-content: space-between;align-items: center;">
<view class="title">
{{ item.title }}
</view>
<view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view>
<!-- <view class="tag_sta_fail" v-if="item.state == '4'">
未接单
</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_fail" v-if="item.state == '3'">已逾期</view>
<view class="tag_sta_end" v-if="item.state == '1'"> 进行中 </view>
<view class="tag_sta_end" v-if="item.state == '0'">
待上传图片
未开始
</view>
</view>
<view class="act_time">
活动时间 {{ onDate(item.startTime) }} -
{{ onDate(item.endTime) }}
</view>
<view class="but_box" style="margin-top: 20rpx" v-if="!(item.state == '4')">
<view style="width: 236rpx; margin: 0 10rpx" v-if="!(item.state == '0')">
<u-button icon="photo-fill" shape="circle" text="已传图片" @click="touploadedimg(item.id)">
</u-button>
</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 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="!(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 class="art_act_itm" v-for="(item, i) in receivingList" :key="i">
<image @click="goActDeat(item.id)" :src="item.photos" mode=""></image>
<view class="bottom_part" style="padding: 0 12px">
<view class="ddd" style="
display: flex;
justify-content: space-between;
align-items: center;
"
>
<view class="title">
{{ item.title }}
</view>
<view class="tag_sta" v-if="item.state == '0'"> 待上传图片 </view>
<view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view>
<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 v-if="tabNum == 2">
<view class="art_act_itm" v-for="(item, i) in receivingList" :key="i">
<image @click="goActDeat(item.id)" :src="item.photos" mode=""></image>
<view class="bottom_part" style="padding: 0 12px">
<view class="ddd" style="display: flex;justify-content: space-between;align-items: center;">
<view class="tag_sta_end" v-if="item.state == '2'"> 已完成 </view>
<view class="tag_sta_fail" v-if="item.state == '3'">已逾期</view>
<view class="tag_sta_end" v-if="item.state == '1'"> 进行中 </view>
<view class="tag_sta_end" v-if="item.state == '0'">
未开始
</view>
</view>
<view class="act_time">
活动时间 {{ onDate(item.startTime) }} -
{{ onDate(item.endTime) }}
</view>
</view>
</view>
</view>
<view v-if="!(receivingList.length > 0)">
<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
</u-empty>
<view v-if="!(receivingList.length > 0)">
<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
</u-empty>
</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>
</template>
<script>
export default {
data() {
return {
showShoudao: false,
show: false,
showS: false,
count: 4,
value: 2,
rate2: 2,
total: 0,
score: [
{
name: "jack",
star: 0,
},
],
starvalue: 0,
orderList: [],
tabNum: 1,
pingjiaobj: {},
baomingpingjia: [],
starsvalue: 0,
page: 1,
size: 20,
current: null,
isAdmin: null, //
isVillageAdmin: null, //
issueList: [],
receivingList: [],
evaluate: "",
id: "",
};
},
onShow() {
this.isAdmin = uni.getStorageSync("isAdmin");
this.isVillageAdmin = uni.getStorageSync("isVillageAdmin");
this.tabNum = this.isAdmin ? 1 : this.isVillageAdmin ? 2 : null;
this.clickTab(this.tabNum);
},
//
onPullDownRefresh() {
this.clickTab(this.tabNum);
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
},
//
onReachBottom() {
if (this.current > this.page) {
this.page++;
this.moreOrder();
}
},
methods: {
clickTab(num) {
this.orderList = [];
this.receivingList = [];
this.issueList = [];
this.tabNum = num;
this.page = 1;
if (num == 1) {
this.myPosts();
} else if (num == 2) {
this.myArtCountryside();
}
},
myArtCountryside() {
let obj = {
page: this.page,
size: this.size,
};
this.http
.request("/artCountryside/myArtCountryside", obj, "GET")
.then((res) => {
if (res.code == 200) {
this.receivingList = [...this.receivingList, ...res.data.records];
this.page = res.data.current;
this.current = res.data.current;
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
myPosts() {
let obj = {
page: this.page,
size: this.size,
};
this.http
.request("/artCountryside/myPosts", obj, "GET")
.then((res) => {
if (res.code == 200) {
this.issueList = [...this.issueList, ...res.data.records];
this.page = res.data.current;
this.current = res.data.current;
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
onDate(time) {
let date = new Date(time);
return date.toLocaleString();
},
onPhoto(photo) {
let src = "";
if (photo) {
let list = photo.split(",");
src = list[0];
}
return src;
},
toUpimgPage(id) {
uni.navigateTo({
url: `/pagesD/xxgl/upload?id=${id}`,
});
},
touploadedimg(id) {
uni.navigateTo({
url: `/pagesD/xxgl/uploadShow?id=${id}`,
});
},
close() {
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}`,
// });
// }
// },
export default {
data() {
return {
showShoudao: false,
show: false,
showS: false,
count: 4,
value: 2,
rate2: 2,
total: 0,
score: [{
name: "jack",
star: 0,
}, ],
starvalue: 0,
orderList: [],
tabNum: 1,
pingjiaobj: {},
baomingpingjia: [],
starsvalue: 0,
page: 1,
size: 20,
current: null,
isAdmin: null, //
isVillageAdmin: null, //
issueList: [],
receivingList: [],
evaluate: "",
id: "",
};
},
onShow() {
this.isAdmin = uni.getStorageSync("isAdmin");
this.isVillageAdmin = uni.getStorageSync("isVillageAdmin");
this.tabNum = this.isAdmin ? 1 : this.isVillageAdmin ? 2 : null;
this.clickTab(this.tabNum);
},
//
onPullDownRefresh() {
this.clickTab(this.tabNum);
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
//
onReachBottom() {
if (this.current > this.page) {
this.page++;
this.moreOrder();
}
},
methods: {
clickTab(num) {
this.orderList = [];
this.receivingList = [];
this.issueList = [];
this.tabNum = num;
this.page = 1;
if (num == 1) {
this.myPosts();
} else if (num == 2) {
this.myArtCountryside();
}
},
myArtCountryside() {
let obj = {
page: this.page,
size: this.size,
};
this.http
.request("/artCountryside/myArtCountryside", obj, "GET")
.then((res) => {
if (res.code == 200) {
this.receivingList = [...this.receivingList, ...res.data.records];
this.page = res.data.current;
this.current = res.data.current;
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
myPosts() {
let obj = {
page: this.page,
size: this.size,
};
this.http
.request("/artCountryside/myPosts", obj, "GET")
.then((res) => {
if (res.code == 200) {
this.issueList = [...this.issueList, ...res.data.records];
this.page = res.data.current;
this.current = res.data.current;
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
onDate(time) {
let date = new Date(time);
return date.toLocaleString();
},
onPhoto(photo) {
let src = "";
if (photo) {
let list = photo.split(",");
src = list[0];
}
return src;
},
moreOrder(page = null) {
if (page) {
this.page = 1;
}
if (this.tabNum == 1) {
this.myPosts();
} else if (this.tabNum == 2) {
this.myArtCountryside();
}
},
goActDeat(id) {
uni.navigateTo({
url: `/pagesD/wyxx/detail?id=${id}`,
});
},
toEvlauedpg(value) {
this.show = true;
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>

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 {
config: {
// baseUrl: "http://192.168.1.3:8080/h5/api", //俞燕红-小程序不能配跨域
baseUrl: "/pre", //俞燕红-跨域
// baseUrl: "https://yxx.ydool.net/h5/api", //线上
// baseUrl: "/pre", //俞燕红-跨域
baseUrl: "https://yxx.ydool.net/h5/api", //线上
// baseUrl: "/h5/api", //h5
header: {
'Content-Type': 'application/json;charset=UTF-8',