This commit is contained in:
duanxiaohai 2023-08-11 09:35:31 +08:00
commit 871bba4d5e
39 changed files with 13922 additions and 12215 deletions

169
package-lock.json generated
View File

@ -3121,6 +3121,44 @@
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"css-loader": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-3.6.0.tgz",
@ -3194,6 +3232,13 @@
"slash": "^2.0.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"hash-sum": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz",
@ -3308,6 +3353,42 @@
"requires": {
"minipass": "^3.1.1"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"loader-utils": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
}
}
}
}
},
@ -16640,94 +16721,6 @@
"vue-style-loader": "^4.1.0"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"hash-sum": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
"integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-style-loader": {
"version": "4.1.3",
"resolved": "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz",

View File

@ -65,6 +65,12 @@
"lazyCodeLoading" : "requiredComponents",
"optimization" : {
"subPackages" : true
},
"plugins" : {
"player" : {
"version" : "2.1.1",
"provider" : "wxa75efa648b60994b"
}
}
},
"mp-alipay" : {
@ -90,7 +96,7 @@
// vueproxyTable,
"/pre" : {
//
"target" : "http://10.0.0.61:8080/h5/api", //
"target" : "http://192.168.1.3:8080/h5/api", //
// "target" : "https://yxx.ydool.net/h5/api", //
"changeOrigin" : true, //

View File

@ -9,18 +9,20 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
},
{
"path": "pages/pageHome/pdfView",
"style": {
"navigationBarTitleText": "文件浏览",
"enablePullDownRefresh": false
}
}
],
"subPackages": [{
"subPackages": [
{
"root": "pagesA/",
"pages": [{
"pages": [
{
"path": "msg/msg",
"style": {
"enablePullDownRefresh": true,
@ -49,7 +51,6 @@
"navigationBarTitleText": "修改地址",
"enablePullDownRefresh": false
}
},
{
"path": "activeManage/activeManage",
@ -58,7 +59,6 @@
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
},
{
"path": "activeManage/signIn",
@ -66,7 +66,6 @@
"navigationBarTitleText": "签到管理",
"enablePullDownRefresh": false
}
},
{
"path": "activeManage/examine",
@ -74,7 +73,6 @@
"navigationBarTitleText": "审核管理",
"enablePullDownRefresh": false
}
},
{
"path": "activeManage/examineList",
@ -83,7 +81,6 @@
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
},
{
"path": "activeManage/toGm",
@ -91,7 +88,6 @@
"navigationBarTitleText": "申请冠名",
"enablePullDownRefresh": false
}
},
{
"path": "activeManage/qdList",
@ -99,7 +95,6 @@
"navigationBarTitleText": "签到详情",
"enablePullDownRefresh": false
}
},
//
{
@ -176,7 +171,6 @@
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
},
{
"path": "my/imgUpload",
@ -184,14 +178,13 @@
"navigationBarTitleText": "图片上传",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "my/evaluated",
"style": {
"navigationBarTitleText": "已评价",
"enablePullDownRefresh": false
}
},
{
"path": "my/uploadedImgShow",
@ -199,34 +192,41 @@
"navigationBarTitleText": "已传图片",
"enablePullDownRefresh": false
}
}
]
},
{
"root": "pagesB/",
"pages": [{
"pages": [
{
"path": "ArtRace/ArtRace",
"style": {
"navigationBarTitleText": "文艺比赛",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "ArtRace/ArtRaceDetail",
"style": {
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
},
{
"path": "ArtRace/ThrowWork",
"style": {
"navigationBarTitleText": "投稿",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "ArtRace/raceWork",
"style": {
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path": "ConfirmOrder/ConfirmOrder",
"style": {
"navigationBarTitleText": "确认订单",
@ -234,7 +234,8 @@
}
}
//-线
, {
,
{
"path": "ConfirmOrder/fictitiousOrder",
"style": {
"navigationBarTitleText": "确认订单",
@ -242,21 +243,23 @@
}
}
//-
, {
,
{
"path": "ConfirmOrder/purchaseDetail",
"style": {
"navigationBarTitleText": "购买详情",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "MyOrder/MyOrder",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}, {
},
{
"path": "MyOrder/detail",
"style": {
"navigationBarTitleText": "订单详情",
@ -277,7 +280,6 @@
"navigationBarTitleText": "我的积分",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
//
@ -312,84 +314,85 @@
}
}
//
, {
,
{
"path": "ArtWorks/ArtWorks",
"style": {
"navigationBarTitleText": "文艺作品",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}, {
},
{
"path": "ArtWorks/artWorkDetail",
"style": {
"navigationBarTitleText": "作品详情",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "ArtWorks/webView",
"style": {
"navigationBarTitleText": "文件浏览",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "improveData/improveData",
"style": {
"navigationBarTitleText": "完善资料",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "PersonalCenter/PersonalCenter",
"style": {
"navigationBarTitleText": "个人中心",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "PersonalCenter/ReEditSingleInfo",
"style": {
"navigationBarTitleText": "信息修改",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "PersonalCenter/changePasw",
"style": {
"navigationBarTitleText": "修改密码",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "PublishWorks/PublishWorks",
"style": {
"navigationBarTitleText": "发布作品",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "PublishWorks/PublishWorksNext",
"style": {
"navigationBarTitleText": "发布作品",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "literFamily/literFamily",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}, {
},
{
"path": "literFamily/ActJianDetail",
"style": {
"navigationBarTitleText": "活动剪影详情",
"enablePullDownRefresh": false
}
}
]
},
@ -412,35 +415,49 @@
}
}
//
, {
,
{
"path": "activity/activityDetail",
"style": {
"navigationBarTitleText": "动态详情",
"enablePullDownRefresh": false
}
} //
, {
,
{
"path": "ArtActivities/ArtActivities",
"style": {
"navigationBarTitleText": "文艺活动",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "AwardWinningWork/AwardWinningWork",
"style": {
"navigationBarTitleText": "艺起战疫获奖作品",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "DataSearch/DataSearch",
"style": {
"navigationBarTitleText": "资料查找",
"enablePullDownRefresh": false
}
},
{
"path": "DataSearch/addNew",
"style": {
"navigationBarTitleText": "新建文件夹",
"enablePullDownRefresh": false
}
},
{
"path": "DataSearch/upload",
"style": {
"navigationBarTitleText": "上传文件",
"enablePullDownRefresh": false
}
},
{
"path": "enjoy/enjoy",
@ -456,18 +473,18 @@
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}, {
},
{
"path": "famousArts/famousArts",
"style": {
"enablePullDownRefresh": false
}
}, {
},
{
"path": "folderDetail/folderDetail",
"style": {
"enablePullDownRefresh": false
}
},
{
"path": "literHelp/literHelp",
@ -475,31 +492,32 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
},
{
"path": "Login/Login",
"style": {
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
},
{
"path": "Login/Register",
"style": {
"enablePullDownRefresh": false
}
}, {
},
{
"path": "Login/setPas",
"style": {
"navigationBarTitleText": "绑定账号",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "Login/RemeberPW",
"style": {
"enablePullDownRefresh": false
}
},
{
"path": "Login/binding",
@ -536,14 +554,13 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
},
{
"path": "SelectId/SelectId",
"style": {
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path": "shop/Shop",
@ -552,41 +569,40 @@
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}, {
},
{
"path": "ShoppingCart/ShoppingCart",
"style": {
"navigationBarTitleText": "购物车",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}
//
, {
,
{
"path": "PolicyExpress/PolicyExpress",
"style": {
"navigationBarTitleText": "政策速通",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
}
//
, {
,
{
"path": "PolicyExpress/PolicyExpressDetail",
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false
}
}, {
},
{
"path": "PingJiaList/PingJiaList",
"style": {
"navigationBarTitleText": "评价列表",
"enablePullDownRefresh": false
}
}
]
},
@ -609,6 +625,44 @@
"enablePullDownRefresh": false
}
},
{
"path": "wyxx/detail",
"style": {
"navigationBarTitleText": "文艺下乡详情",
"enablePullDownRefresh": false
}
},
// :
{
"path": "wyxx/addindex",
"style": {
"navigationBarTitleText": "文艺下乡新增",
"enablePullDownRefresh": false
}
},
//
{
"path": "xxgl/index",
"style": {
"navigationBarTitleText": "下乡管理",
"enablePullDownRefresh": false
}
},
// -
{
"path": "xxgl/upload",
"style": {
"navigationBarTitleText": "图片上传",
"enablePullDownRefresh": false
}
}, // -
{
"path": "xxgl/uploadShow",
"style": {
"navigationBarTitleText": "查看图片",
"enablePullDownRefresh": false
}
},
// 线
{
"path": "xskz/index",
@ -617,15 +671,27 @@
"enablePullDownRefresh": false
}
}
// 线-
// {
// "path": "xskz/details",
// "style": {
// "navigationBarTitleText": "线上看展-详情",
// "enablePullDownRefresh": false
// // "usingComponents": {
// // "player-component": "plugin://player/video"
// // }
// }
// }
]
}
],
"preloadRule": {
"pages/pageHome/pageHome": {
"network": "all",
"packages": [
"pagesA/", "pagesB/", "pagesC/"
"pagesA/",
"pagesB/",
"pagesC/"
]
}
},

View File

@ -237,8 +237,13 @@
if (res.code == 200) {
uni.removeStorageSync('isAdmin');
uni.removeStorageSync('userType');
uni.removeStorageSync('isExpert');
uni.removeStorageSync('isVillageAdmin');
uni.removeStorageSync('isExpert');
uni.setStorageSync('isAdmin', res.data.isAdmin)
uni.setStorageSync('userType', res.data.userType)
uni.setStorageSync('isExpert', res.data.isExpert)
uni.setStorageSync('isVillageAdmin', res.data.isVillageAdmin)
this.getSwpper()
}
}).catch(e => {

View File

@ -165,7 +165,7 @@
<u-empty v-if="list2.length == 0" mode="data" icon="../../static/orderE.png" marginTop="120"></u-empty>
</view>
<!-- 取消报名-原因 -->
<u-popup :show="showB" mode="center" :round="10" @close="closeZ">
<u-popup :show="showB" mode="center" :round="10" @close="closeZ" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 36rpx; font-weight: 800;">
@ -188,7 +188,7 @@
</view>
</u-popup>
<!-- 取消报名-确认 -->
<u-popup :show="showS" mode="center" :round="10" @close="closeS">
<u-popup :show="showS" mode="center" :round="10" @close="closeS" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 32rpx; font-weight: 800;">
@ -208,7 +208,7 @@
</view>
</u-popup>
<!-- 评分 -->
<u-popup :show="showH" mode="center" :round="10" @close="closeH">
<u-popup :show="showH" mode="center" :round="10" @close="closeH" :safeAreaInsetBottom="false">
<view>
<view style="padding: 32rpx;">
<u-rate v-model="star" size='36'></u-rate>

View File

@ -46,7 +46,7 @@
</u--input>
</view>
</view>
<u-popup :show="showType" @close="close" closeOnClickOverlay :round="5" customStyle="padding: 16px;">
<u-popup :show="showType" @close="close" closeOnClickOverlay :round="5" customStyle="padding: 16px;" :safeAreaInsetBottom="false">
<u-radio-group @change="selectForm1" v-model="hdType" :borderBottom="true" placement="column"
iconPlacement="right">
<u-radio :customStyle="{marginBottom: '16px' }" v-for="(item, index) in radiolist1" :key="index"

View File

@ -4,7 +4,7 @@
<u-loading-page :loading="load"></u-loading-page>
</view>
<view v-if="load == false">
<view class="top" :style="{'height':titleHeight+'px'}">
<view class="top" :style="{ height: titleHeight + 'px' }">
<image class="bg" src="../../static/MyBg.png" mode=""></image>
<view class="avator_box" @click="GoPersonalCenter">
<view class="tou">
@ -33,25 +33,19 @@
<view class="nums">
{{ care }}
</view>
<view class="itms_name">
关注
</view>
<view class="itms_name"> 关注 </view>
</view>
<view class="fans_itm" @click="toCol()">
<view class="nums">
{{ colNum }}
</view>
<view class="itms_name">
收藏
</view>
<view class="itms_name"> 收藏 </view>
</view>
<view class="fans_itm" @click="toFans()">
<view class="nums">
{{ fans }}
</view>
<view class="itms_name">
粉丝
</view>
<view class="itms_name"> 粉丝 </view>
</view>
</view>
<view class="jifen_box">
@ -73,37 +67,39 @@
<image src="../../static/DunIcon.png" mode=""></image>
</view>
<view class="ji_word_box">
<view class="ji_word_title">
我的交易
</view>
<view class="ji_con">
作品交易订单
</view>
<view class="ji_word_title"> 我的交易 </view>
<view class="ji_con"> 作品交易订单 </view>
</view>
</view>
</view>
<view class="content_bott">
<view class="content_bott_itm" @click="toWork()">
<view class="content_bott_wods">
我的作品
</view>
<view class="content_bott_wods"> 我的作品 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" @click="tohdM()">
<view class="content_bott_wods">
活动管理
</view>
<view class="content_bott_wods"> 活动管理 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" @click="toOrderControl()">
<view class="content_bott_wods">
点单管理
<view class="content_bott_wods"> 点单管理 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view
class="content_bott_itm"
@click="toCountryside()"
v-if="isAdmin || isVillageAdmin"
>
<!-- @click="" -->
<view class="content_bott_wods"> 下乡管理 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
@ -117,19 +113,14 @@
</view>
</view> -->
<view class="content_bott_itm" @click="myNews()">
<view class="content_bott_wods">
消息
</view>
<view class="content_bott_wods"> 消息 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" @click="toSz()">
<view class="content_bott_wods">
设置
</view>
<view class="content_bott_wods"> 设置 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
@ -137,7 +128,7 @@
</view>
</view>
<u-gap height="50" bgColor="#F4F5F7"></u-gap>
<tabbar tabbarId='5'></tabbar>
<tabbar tabbarId="5"></tabbar>
</view>
</view>
</template>
@ -147,205 +138,232 @@
data() {
return {
load: true,
image: '',
userName:'',
userId:'',
point: '',
colNum: '',
fans:'',
care:'',
yhsf: '',
image: "",
userName: "",
userId: "",
point: "",
colNum: "",
fans: "",
care: "",
yhsf: "",
isUnread: false,
statusHeight: 0,
titleHeight: 90,
isAdmin: null,
isVillageAdmin: null,
};
},
onReady() {
const systemMsg = uni.getSystemInfoSync();
this.statusHeight = systemMsg.statusBarHeight
this.statusHeight = systemMsg.statusBarHeight;
// #ifdef MP-WEIXIN
const menuButtonInfo = uni.getMenuButtonBoundingClientRect() //
this.titleHeight = 90 + menuButtonInfo.height + (menuButtonInfo.top - systemMsg.statusBarHeight) * 2
const menuButtonInfo = uni.getMenuButtonBoundingClientRect(); //
this.titleHeight =
90 +
menuButtonInfo.height +
(menuButtonInfo.top - systemMsg.statusBarHeight) * 2;
// #endif
},
onShow() {
this.getUserInfo()
this.getUserInfo();
this.isAdmin = uni.getStorageSync("isAdmin");
this.isVillageAdmin = uni.getStorageSync("isVillageAdmin");
},
methods: {
//
getUserInfo() {
let _this = this
this.http.request('/user/userInfo', {}, "GET").then(res => {
let _this = this;
this.http
.request("/user/userInfo", {}, "GET")
.then((res) => {
if (res.code == 200) {
// let img = JSON.parse(res.data.images)
this.image = res.data.images
this.userName = res.data.userName
this.userId = res.data.id
this.yhsf = res.data.yhsf
this.point = res.data.point
this.getCol()
this.image = res.data.images;
this.userName = res.data.userName;
this.userId = res.data.id;
this.yhsf = res.data.yhsf;
this.point = res.data.point;
this.getCol();
}
}).catch(e => {
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
});
},
//
getCol() {
this.http.request('/worksCollection', {}, "GET").then(res => {
this.http
.request("/worksCollection", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length == 0) {
this.colNum = 0
this.colNum = 0;
} else {
this.colNum = res.data.total
this.colNum = res.data.total;
}
this.getCare()
this.getCare();
}
}).catch(e => {
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
});
},
//
getCare() {
this.http.request('/userFollow/myFollow', {}, "GET").then(res => {
this.http
.request("/userFollow/myFollow", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length == 0) {
this.care = 0
this.care = 0;
} else {
this.care = res.data.total
this.care = res.data.total;
}
this.getFans()
this.getFans();
}
}).catch(e => {
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
});
},
//
getFans() {
this.http.request('/userFollow/myFans', {}, "GET").then(res => {
this.http
.request("/userFollow/myFans", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length == 0) {
this.fans = 0
this.fans = 0;
} else {
this.fans = res.data.total
this.fans = res.data.total;
}
this.load = false
this.load = false;
}
}).catch(e => {
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
});
},
//
getTalkList() {
let _this = this
this.http.request('/chat/lists', {}, "GET").then(res => {
let _this = this;
this.http
.request("/chat/lists", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length > 0) {
res.data.forEach(function (item) {
if(item.unread > 0)
_this.isUnread = true
if (item.unread > 0) _this.isUnread = true;
});
}
}
})
}
}
}).catch(e => {
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
});
},
//
gopointsPg() {
uni.navigateTo({
url: "/pagesB/MyPoints/MyPoints"
})
url: "/pagesB/MyPoints/MyPoints",
});
},
//
goOrderDetails() {
uni.navigateTo({
url: "/pagesB/MyOrder/MyOrder"
})
url: "/pagesB/MyOrder/MyOrder",
});
},
//
GoPersonalCenter() {
uni.navigateTo({
url: "/pagesB/PersonalCenter/PersonalCenter"
})
url: "/pagesB/PersonalCenter/PersonalCenter",
});
},
//
toCol() {
uni.navigateTo({
url: "/pagesA/my/myCollection"
})
url: "/pagesA/my/myCollection",
});
},
//
toFollow() {
uni.navigateTo({
url: "/pagesA/my/myFollow?tab=0"
})
url: "/pagesA/my/myFollow?tab=0",
});
},
//
toFans() {
uni.navigateTo({
url: "/pagesA/my/myFollow?tab=1"
})
url: "/pagesA/my/myFollow?tab=1",
});
},
//
toWork() {
uni.navigateTo({
url: "/pagesA/my/myWoekList",
})
});
},
//
toOrderControl() {
uni.navigateTo({
//
url: "OrderActControl",
})
});
},
//
toCountryside() {
uni.navigateTo({
//
url: "/pagesD/xxgl/index",
});
},
//
toAddress() {
uni.navigateTo({
url: "/pagesA/ReceivingAddress/ReceivingAddress",
})
});
},
//
toSz() {
uni.navigateTo({
url: "/pagesA/my/logOut"
})
url: "/pagesA/my/logOut",
});
},
//
tohdM() {
uni.navigateTo({
url: "/pagesA/activeManage/activeManage",
})
});
},
//
myNews() {
uni.navigateTo({
url: "/pagesA/msg/msg"
})
}
}
}
url: "/pagesA/msg/msg",
});
},
},
};
</script>
<style>
page {
background-color: #F4F5F7;
background-color: #f4f5f7;
}
</style>
@ -385,19 +403,22 @@
margin-left: 24rpx;
.user_name_de {
color: #251B1D;
color: #251b1d;
font-size: 40rpx;
font-weight: 600;
.sf_textA {
width: 146rpx;
height: 48rpx;
margin-top: 12rpx;
}
.sf_textB {
width: 166rpx;
height: 48rpx;
margin-top: 12rpx;
}
.sf_textC {
width: 186rpx;
height: 48rpx;
@ -407,10 +428,9 @@
.words {
margin-top: 16rpx;
color: #AFADB0;
color: #afadb0;
font-size: 24rpx;
}
}
.arrow {
@ -418,10 +438,8 @@
height: 48rpx;
}
}
}
.content_area {
padding: 0 32rpx;
margin-bottom: 120rpx;
@ -434,18 +452,18 @@
height: 160rpx;
border: 1px solid transparent;
border-radius: 8px;
background-color: #FFFFFF;
background-color: #ffffff;
.fans_itm {
.nums {
color: #251B1D;
color: #251b1d;
font-weight: bold;
font-family: DIN-Bold, DIN;
font-size: 16px;
}
.itms_name {
color: #AFADB0;
color: #afadb0;
font-size: 24rpx;
margin-top: 16rpx;
}
@ -464,7 +482,7 @@
display: flex;
width: 332rpx;
height: 136rpx;
background-color: #FFFFFF;
background-color: #ffffff;
border-radius: 8px;
.ji_ico {
@ -479,12 +497,12 @@
.ji_word_title {
font-size: 28rpx;
color: #251B1D;
color: #251b1d;
font-weight: 600;
}
.ji_con {
color: #AFADB0;
color: #afadb0;
font-size: 24rpx;
font-weight: 400;
margin-top: 8rpx;
@ -495,7 +513,7 @@
.content_bott {
padding: 32rpx;
background-color: #FFFFFF;
background-color: #ffffff;
border-radius: 8px;
.content_bott_itm {
@ -506,7 +524,7 @@
.content_bott_wods {
font-size: 28rpx;
color: #251B1D;
color: #251b1d;
font-weight: 600;
}

View File

@ -36,7 +36,7 @@
</view>
</view>
</view>
<u-popup :show="showStar" @close="close" closeOnClickOverlay mode="center" :round="5">
<u-popup :show="showStar" @close="close" closeOnClickOverlay mode="center" :round="5" :safeAreaInsetBottom="false">
<view style="padding: 100rpx 100rpx 40rpx 100rpx;">
<text>确认取消关注</text>
</view>

View File

@ -1,29 +1,31 @@
<template>
<view class="im">
<image v-for=" (v,i) in imgArr" class="imgSt" :src="v" mode=""></image>
<image
v-for="(v, i) in imgArr"
class="imgSt"
:src="v"
mode=""
:key="i"
></image>
</view>
</template>
<script>
export default {
data() {
return {
imgArr:[]
imgArr: [],
};
},
onLoad(op) {
console.log("ddddd",op.imgstring);
let imgarrs=[]
let imgarrs = [];
op.imgstring.split(",").forEach(function (eml, index) {
imgarrs.push(eml)
})
this.imgArr=imgarrs
imgarrs.push(eml);
});
this.imgArr = imgarrs;
console.log("ar", imgarrs);
}
}
},
};
</script>
<style lang="scss">

View File

@ -1,18 +1,27 @@
<template>
<view>
<view class="">
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view>
<view v-if="!load">
<view class="topTabs">
<u-tabs :list="list1" @click="click" lineColor="#99241B"></u-tabs>
</view>
<view class="art_race_itm" v-for="(v,i) in dataList" :key="i" @click="goRaceDetail(v.id)">
<image style="width: 100%; height: 296rpx;" src="../../static/orderE.png" mode=""></image>
<view v-if="dataList.length > 0" class="art_race_itm" v-for="(v,i) in dataList" :key="i" @click="goRaceDetail(v.id)">
<image style="width: 100%; height: 296rpx;" :src="v.file" mode=""></image>
<view class="art_race_bot">
<text class="art_title">{{v.title}}</text>
<text class="art_title">{{v.name}}</text>
<view class="art_race_con u-line-2">{{v.content}}</view>
<view class="art_race_con">
截止时间{{v.time}}
截止时间{{v.endTime}}
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
</view>
</template>
@ -20,70 +29,96 @@
export default {
data() {
return {
load: true,
list1: [{
name: '关注',
},
{
name: '推荐',
},
{
name: '电影'
},
{
name: '科技'
},
{
name: '音乐'
},
{
name: '美食'
},
{
name: '文化'
},
{
name: '财经'
},
{
name: '手工'
}
],
dataList: [{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
},
{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
},
{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
},
{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
}
]
name: '全部',
value: '',
}],
dataList: [],
pages: 1,
size: 20,
type: ''
};
},
onLoad() {
this.getType()
},
//
onPullDownRefresh() {
this.pages = 1
this.dataList = []
this.getData()
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
//
onReachBottom() {
this.pages++
this.load = true
this.getData();
},
methods: {
goRaceDetail(id) {
console.log(id);
uni.navigateTo({
url: "/pagesB/ArtRace/ArtRaceDetail?id=" + String(id),
})
},
click(item) {
console.log('item', item);
this.type = item.value
this.pages = 1
this.dataList = []
this.getData()
},
getType() {
let that = this
this.http.request('/competition/types', {}, "GET").then(res => {
if (res.code == 200) {
res.data.forEach(item => {
that.list1.push({
name: item.label,
value: item.value
})
})
this.getData()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
getData() {
let that = this
let par = {
page: this.pages,
size: this.size,
type: this.type
}
this.http.request('/competition/list', par, "GET").then(res => {
if (res.code == 200) {
if (res.data.records.length > 0) {
res.data.records.forEach(function(item) {
if (item.file) {
let fileArr = item.file.split(',')
item.file = fileArr[0]
}
that.dataList.push(item)
})
} else {
this.pages--
}
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
}
}

View File

@ -16,14 +16,7 @@
</u-swiper>
</view>
<view class="main">
<view class="mainTitle">{{data.title}}</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.demand}}</view>
</view>
<view class="mainTitle">{{data.name}}</view>
<view class="textList">
<view class="type">
<img class='textImg' src="../../static/detailIcon/icon10.png" alt="">
@ -51,32 +44,32 @@
<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 style=" color: #99241B;"> {{data.jdrs}}</text>/{{data.quantity}}
<view class="content"><text style=" color: #99241B;"> {{data.enrollment}}</text>/{{data.maxNum}}
</view>
</view>
<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"> {{data.deadline}}</view>
<view class="content"> {{data.startTime}}</view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon4.png" mode="scaleToFill"></image>
<text>活动时间:</text>
<text>活动结束时间:</text>
</view>
<view class="content"> {{data.activityTime}} </view>
<view class="content"> {{data.endTime}} </view>
</view>
</view>
</view>
<!-- 红色按钮 -->
<view>
<view class="" v-if="data.hallState == 1">
<view class="orderBtn" v-if="data.isBaoming">
<view class="btnQ" @click="throwWork">取消报名</view>
<view class="" v-if="data.status == 0">
<view class="orderBtn" v-if="data.isApplication">
<view class="btnQ">您已报名</view>
</view>
<view class="orderBtn" v-else>
<view class="btn" @click="throwWork">报名</view>
@ -95,16 +88,24 @@
<image class="icon" src="../../static/detailIcon/icon0.png" mode="scaleToFill"></image>
<text>参赛作品展示</text>
</view>
<view class="worksPart">
<view class="workItems" v-for="(v,i) in workList" :key="i">
<view class="worksPart" v-if="workList.length > 0">
<view class="workItems" v-for="(v,i) in workList" :key="i" @click="goWorkDetail(v.id)">
<view class="sort" v-if="data.status != 0">
<text>NO.<text style="font-size: 32rpx;">{{ i+1 }}</text></text>
<text>{{ v.averageScore }}</text>
</view>
<view class="workImg">
<image :src="v.img" style="width: 100%; height: 100%;"></image>
<image :src="v.file" style="width: 100%; height: 100%;"></image>
</view>
<view class="workText">
{{v.name}}
</view>
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</view>
</view>
</view>
@ -115,59 +116,16 @@
export default {
data() {
return {
load: false,
id: '',
load: true,
statusHeight: 0,
titleHeight: 50,
currentNum: 0,
list: [
'../../static/blackArrow.png'
],
data: {
title: '标题',
demand: '简介',
content: 'FDA施工队发生噶v通过热巴v我提个阿萨出发',
deadline: '2023-02-02',
activityTime: '2023-02-02',
jdrs: '10',
quantity: '10',
typeName: '类型',
hallState: '1',
isBaoming: false
},
workList: [
{
name: '111',
img: '../../static/detailIcon/icon0.png'
},
{
name: '222',
img: '../../static/detailIcon/icon0.png'
},
{
name: '333',
img: '../../static/detailIcon/icon0.png'
},
{
name: '444',
img: '../../static/detailIcon/icon0.png'
},
{
name: '555',
img: '../../static/detailIcon/icon0.png'
}
]
list: [],
data: {},
workList: []
};
},
methods: {
back() {
uni.navigateBack()
},
throwWork() {
uni.navigateTo({
url: "/pagesB/ArtRace/ThrowWork"
})
}
},
onReady() {
const systemMsg = uni.getSystemInfoSync();
this.statusHeight = systemMsg.statusBarHeight
@ -184,9 +142,79 @@
// #endif
},
onLoad(opt) {
console.log(opt.id);
this.id = opt.id
},
onShow() {
this.workList = []
this.load = true
this.getDate()
},
methods: {
goWorkDetail(id) {
uni.navigateTo({
url: "/pagesB/ArtRace/raceWork?id=" + String(id),
})
},
back() {
uni.navigateBack()
},
throwWork() {
uni.navigateTo({
url: "/pagesB/ArtRace/ThrowWork?id=" + this.id
})
},
getDate() {
let that = this
let par = {
id: this.id,
}
this.http.request('/competition/details', par, "GET").then(res => {
if (res.code == 200) {
if (res.data.file) {
this.list = res.data.file.split(',')
}
if (res.data.list && res.data.list.length > 0) {
res.data.list.forEach(function(item) {
if (item.file) {
let fileArr = item.file.split(',')
item.file = fileArr[0]
}
that.workList.push(item)
})
}
this.workList = this.workList.sort(this.sortBy('averageScore', false))
this.data = res.data
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
sortBy(attr, rev) {
//
if (rev == undefined) {
rev = 1;
} else {
rev = (rev) ? 1 : -1;
}
return function(a, b) {
a = a[attr];
b = b[attr];
if (a < b) {
return rev * -1;
}
if (a > b) {
return rev * 1;
}
return 0;
}
}
},
}
</script>
@ -345,18 +373,27 @@
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.workItems {
width: 320rpx;
height: 240rpx;
height: 280rpx;
margin-bottom: 24rpx;
.workImg {
width: 320rpx;
height: 200rpx;
}
.workText {
width: 320rpx;
height: 40rpx;
}
.sort{
width: 320rpx;
height: 40rpx;
display: flex;
justify-content: space-between;
}
}
}
@ -381,6 +418,7 @@
color: #FFFFFF;
margin: 0 auto;
}
.btnQ {
width: calc(100% - 64rpx);
height: 96rpx;
@ -396,5 +434,4 @@
}
}
</style>

View File

@ -1,54 +1,56 @@
<template>
<view>
<u--form :model="model2" :rules="rules" ref="form2">
<u-form-item prop="userInfo.name" ref="item2" class="data_itm"></u-form-item>
</u--form>
<u--input style="padding: 32rpx;" placeholder="请输入作品名称" border="none" clearable></u--input>
<u--textarea style="padding: 32rpx; height: 200rpx;" v-model="value" placeholder="请输入作品说明" border="none"></u--textarea>
<view class="gap">
作品内容可上传图片/视频/音频等
<view class="">
<view class="form_line">
<view class="form_left">
名称
</view>
<u-upload class="upload" accept="media" width="172rpx" height="172rpx" :fileList="fileList3"
@afterRead="afterRead" @delete="deletePic" name="3" multiple :maxCount="2">
<view class="form_right">
<u--input placeholder="请输入名称" v-model="name" clearable border="none" inputAlign="right"
style="color: #251B1D;">
</u--input>
</view>
</view>
<view class="form_box">
<view class="form_left">
作品简介
</view>
</view>
<view class="text_box">
<u--textarea v-model="text2" placeholder="请输入作品简介" maxlength="-1"></u--textarea>
</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">
<button type="default" class="next" @click="throwMyWork">投稿</button>
</view>
<view class="zhanwei">
<view class="operation" @click="next">
发布
</view>
</view>
</template>
<script>
import http from '../../request/interface.js'
export default {
data() {
return {
value: '',
id: '',
name: '',
text2: '',
fileList3: [],
model2:{
workName:'',
workDesc:''
},
rules:{
ok: true,
}
};
},
onLoad(op){
this.id = op.id
},
methods: {
throwMyWork() {
uni.showToast({
title:"投稿作品"
})
/* uni.navigateTo({
url: "/pagesB/PublishWorks/PublishWorksNext"
}) */
},
//
deletePic(event) {
this[`fileList${event.name}`].splice(event.index, 1)
@ -80,7 +82,7 @@
let token = uni.getStorageSync('token');
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: 'http://192.168.2.21:7001/upload', //
url: http.config.baseUrl + '/file/upload',
filePath: url,
name: 'file',
formData: {
@ -90,34 +92,126 @@
"X-Token": token
},
success: (res) => {
if (JSON.parse(res.data).code == 200) {
setTimeout(() => {
resolve(res.data.data)
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.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('/competitionUser/addCompetition', {
competitionId: this.id,
introduce: this.text2,
name: this.name,
file: data
}, "POST").then(res => {
if (res.code == 200) {
uni.navigateBack()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
}
}
}
</script>
<style lang="scss">
image {
width: 100%;
height: 100%;
<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;
.form_right {
width: 450rpx;
}
}
.form_box {
width: 686rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
font-size: 32rpx;
justify-content: space-between;
height: 104rpx;
}
.text_box {
width: 686rpx;
padding: 0 32rpx;
}
.gap {
font-size: 24rpx;
color: #AFADB0;
height: 80rpx;
background: #F5F5F5;
border-radius: 0px 0px 0px 0px;
opacity: 1;
line-height: 80rpx;
padding: 0 32rpx;
padding: 10rpx 32rpx;
font-size: 32rpx;
}
::v-deep .u-upload__wrap {
padding: 32rpx;
}
.upload {
@ -125,39 +219,14 @@
}
.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);
.next {
width: calc(100% - 48rpx);
height: 80rpx;
line-height: 80rpx;
width: 654rpx;
height: 96rpx;
margin: 32rpx 48rpx 48rpx;
text-align: center;
line-height: 96rpx;
background-color: #99241B;
color: #fff;
font-size: 32rpx;
font-size: 36rpx;
font-weight: 600;
border: none;
button {
&::after {
border: none;
}
}
}
}
.zhanwei {
height: 460rpx;
}
</style>

View File

@ -0,0 +1,395 @@
<template>
<view>
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view>
<view class="art_race_itm" v-if="!load">
<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.name}}</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 class="textList" v-if="isExpert">
<view class="type">
<img class='textImg' src="../../static/detailIcon/icon10.png" alt="">
<view class="text1">您的评分<text class="redText">{{ data.myScore }}</text></view>
</view>
</view>
<view class="textList" v-if="isExpert">
<view class="type">
<img class='textImg' src="../../static/detailIcon/icon10.png" alt="">
<view class="text1">作品平均分<text class="redText">{{ data.averageScore }}</text></view>
</view>
</view>
</view>
<view class="line"></view>
<!-- 红色按钮 -->
<view>
<view class="" v-if="isExpert">
<view class="orderBtn" v-if="data.isScore">
<view class="btnQ">已评分</view>
</view>
<view class="orderBtn" v-else>
<view class="btn" @click="toScore">评分</view>
</view>
</view>
<view class="" v-else>
<view class="orderBtn">
<view class="btnQ">您无法评分</view>
</view>
</view>
</view>
<!-- 红色按钮ed -->
<!-- 打分弹窗 -->
<u-popup :show="showB" mode="center" :round="10" @close="close" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 36rpx; font-weight: 800;">
请打分
</view>
</view>
<view style="margin: 0 32rpx 32rpx;">
<u--input type="number" placeholder="请输入分数" border="surround" v-model="value"></u--input>
</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="close">
取消
</view>
<view
style="width: 319rpx; border-right:1rpx solid #E7E7E7; text-align: center; color: #3F84FD;"
@click="sure">
确定
</view>
</view>
</view>
</u-popup>
</view>
</view>
</template>
<script>
export default {
data() {
return {
id: '',
load: true,
statusHeight: 0,
titleHeight: 50,
currentNum: 0,
list: [],
data: {},
workList: [],
isExpert: true,
showB: false,
value: 0,
};
},
onReady() {
const systemMsg = uni.getSystemInfoSync();
this.statusHeight = systemMsg.statusBarHeight
// #ifdef MP-WEIXIN
const menuButtonInfo = uni.getMenuButtonBoundingClientRect() //
this.titleHeight = menuButtonInfo.height + (menuButtonInfo.top - systemMsg.statusBarHeight) * 2
this.topHeight = this.statusHeight + this.titleHeight
// #endif
// #ifndef MP-WEIXIN
//
this.topHeight = this.statusHeight + this.titleHeight
// #endif
},
onLoad(opt) {
this.id = opt.id
},
onShow() {
this.isExpert = uni.getStorageSync('isExpert');
this.load = true
this.getDate()
},
methods: {
back() {
uni.navigateBack()
},
getDate() {
let that = this
let par = {
id: this.id,
}
this.http.request('/competitionUser/details', par, "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",
});
})
},
close() {
this.showB = false
this.value = ''
},
toScore() {
this.showB = true
},
sure() {
this.http.request('/competitionUser/score?id=' + this.id + '&sorce=' + this.value, "POST").then(res => {
if (res.code == 200) {
this.showB = false
this.value = ''
this.load = true
this.getDate()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
},
}
</script>
<style lang="scss">
.art_race_itm {
overflow: hidden;
.return {
position: fixed;
left: 24rpx;
top: 110rpx;
z-index: 10;
image {
width: 48rpx;
height: 48rpx;
}
}
.pageImg {
height: 440rpx;
}
.main {
padding: 32rpx;
.mainTitle {
font-size: 36rpx;
font-weight: 600;
color: #251B1D;
margin-bottom: 28rpx;
}
.textList {
margin-bottom: 24rpx;
.type {
display: flex;
height: 48rpx;
line-height: 48rpx;
.textImg {
width: 32rpx;
height: 32rpx;
margin-top: 10rpx;
margin-right: 16rpx;
}
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #32333C;
.redText {
color: #99241B;
font-size: 36rpx;
}
}
}
.text2 {
font-size: 28rpx;
color: #32333C;
line-height: 48rpx;
}
}
.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_left {
width: 40px;
height: 40px;
margin-top: 12px;
margin-left: 12px;
float: left;
.file_box_left_img {
width: 40px;
height: 40px;
}
}
.file_box_right {
margin-left: 20px;
float: left;
.file_box_name {
height: 64px;
line-height: 64px;
font-size: 16px;
font-weight: 600;
color: #251B1D;
}
}
}
}
.line {
height: 16rpx;
background: #F4F5F7;
}
.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;
.standard {
display: flex;
align-items: center;
margin-right: 10rpx;
.icon {
width: 32rpx;
height: 32rpx;
// display: none;
}
text {
color: #251B1D;
// color: $gray;
margin-left: 8rpx;
}
}
.content {}
}
.worksPart {
padding: 32rpx;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.workItems {
width: 320rpx;
height: 240rpx;
margin-bottom: 24rpx;
.workImg {
width: 320rpx;
height: 200rpx;
}
.workText {
width: 320rpx;
height: 40rpx;
}
}
}
}
}
.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;
}
}
}
</style>

View File

@ -85,7 +85,7 @@
</view>
</view>
<u-popup :show="showStar" @close="close" closeOnClickOverlay mode="center" :round="10">
<u-popup :show="showStar" @close="close" closeOnClickOverlay mode="center" :round="10" :safeAreaInsetBottom="false">
<view style="padding: 100rpx 100rpx 40rpx 100rpx;">
<u-rate count=5 v-model="orStar" size='30'></u-rate>
</view>

View File

@ -16,10 +16,10 @@
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="person_itm_sign" @click="goChangeInfo('出生日期',userInfoObj.birthDay )">
<text class="person_itm_sign_tit">出生日期</text>
<view class="person_itm_sign" @click="goChangeInfo('出生年月',userInfoObj.dateBirth )">
<text class="person_itm_sign_tit">出生年月</text>
<view class="person_itm_sign_right">
<text> {{userInfoObj.birthDay}}</text>
<text> {{userInfoObj.dateBirth}}</text>
<u-icon name="calendar"></u-icon>
</view>
</view>

View File

@ -28,7 +28,7 @@
<!-- 性别选择ed -->
<view class="date m16" @click="DatePicker"
v-if="Edkey=='出生日期'||Edkey=='入会时间'||Edkey=='服务开始时间'||Edkey=='服务结束时间'">
v-if="Edkey=='出生年月'||Edkey=='入会时间'||Edkey=='服务开始时间'||Edkey=='服务结束时间'">
<u--input class='p32 gray' readonly v-model="Edvalue" border="none">
</u--input>
</view>
@ -124,7 +124,7 @@
:columns="Edkey=='政治面貌'? Zhengcolumns : Edkey=='会员级别'? peopleSkillColums:Edkey=='所属协会'? xiecolumns:Edkey=='学历'? educolumns:[]">
</u-picker>
<u-datetime-picker confirmColor="#99241B" :minDate="-2207520000000" :maxDate="1786778555000"
:show="showBirthday" v-if="Edkey=='出生日期'||Edkey=='入会时间'||Edkey=='服务开始时间'||Edkey=='服务结束时间'" :value="Edvalue"
:show="showBirthday" v-if="Edkey=='出生年月' || Edkey=='入会时间'||Edkey=='服务开始时间'||Edkey=='服务结束时间'" :value="Edvalue"
:mode="timeMode" closeOnClickOverlay @confirm="birthdayConfirm" @cancel="birthdayClose"
@close="birthdayClose">
</u-datetime-picker>
@ -159,7 +159,7 @@
'人才类型': 'rcType',
// '':,
'身份证号码': 'idCard',
'出生日期': 'birthDay',
'出生年月': 'dateBirth',
'入会时间': 'comeTime',
'服务开始时间': 'timeStart',
'服务结束时间': 'timeEnd',
@ -228,8 +228,10 @@
}
}
//
if (this.Edkey == '出生日期' || this.Edkey == '入会时间') {
if (this.Edkey == '入会时间') {
this.timeMode = 'date'
}else if (this.Edkey == '出生年月') {
this.timeMode = 'year-month'
} else {
this.timeMode = 'time'
}
@ -398,8 +400,10 @@
},
birthdayConfirm(e) {
this.showBirthday = false
if (this.Edkey == '出生日期' || this.Edkey == '入会时间') {
if (this.Edkey == '入会时间') {
this.Edvalue = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
} else if(this.Edkey == '出生年月') {
this.Edvalue = uni.$u.timeFormat(e.value, 'yyyy.mm')
}else {
this.Edvalue = e.value
}

View File

@ -18,8 +18,8 @@
</u--input>
</u-form-item>
<u-form-item ref="item1" @click="showBirthday=true" class="data_itm">
<text class="label_t"><text style="color: #99241B;">*</text>出生日期</text>
<u--input class="p32" placeholder="请填选择出生日期" v-model="model1.userInfo.birthday" readonly
<text class="label_t"><text style="color: #99241B;">*</text>出生年月</text>
<u--input class="p32" placeholder="请填选择出生年月" v-model="model1.userInfo.dateBirth" readonly
inputAlign="right" border="none">
<u-icon slot="suffix" name="calendar"></u-icon>
</u--input>
@ -220,7 +220,7 @@
<!-- 弹框区 ed -->
<!-- 日期选择器 -->
<u-datetime-picker confirmColor="#99241B" :minDate="-2207520000000" :show="showBirthday"
:value="model1.userInfo.birthday" mode="date" closeOnClickOverlay @confirm="birthdayConfirm"
:value="model1.userInfo.dateBirth" mode="year-month" closeOnClickOverlay @confirm="birthdayConfirm"
@close="close('showBirthday')" @cancel="close('showBirthday')">
</u-datetime-picker>
<!-- 日期选择器ed -->
@ -338,6 +338,7 @@
name: '',
sex: '',
birthday: "2000-01-01",
dateBirth: "2000.01",
idCOde: '',
phoneNum: '',
meeting: '',
@ -488,6 +489,7 @@
this.model1.userInfo.unitName = this.userData.unitName
this.model1.userInfo.mailAddress = this.userData.mailAddress
this.model1.userInfo.birthday = this.userData.birthDay
this.model1.userInfo.dateBirth = this.userData.dateBirth
}
},
onReady() {
@ -562,7 +564,7 @@
},
birthdayConfirm(e) {
this.showBirthday = false
this.model1.userInfo.birthday = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
this.model1.userInfo.dateBirth = uni.$u.timeFormat(e.value, 'yyyy.mm')
// this.$refs.form1.validateField('userInfo.birthday')
},
ServeTimeConfirm(e) {
@ -747,6 +749,7 @@
associationId: this.xiehuiId,
base: this.jiguan,
birthDay: that.birthday,
dateBirth: that.dateBirth,
cfPhoto: fl4,
comeTime: that.jionTime,
greats: rongyujx,
@ -779,7 +782,7 @@
member: that.member,
}
console.log(data)
if (!data.userName || !data.sex || !data.birthDay || !data.images || !data.password || !data.education || !
if (!data.userName || !data.sex || !data.dateBirth || !data.images || !data.password || !data.education || !
data.mailAddress || !data.politics) {
this.upLoadReady = false
console.log(zyz)

View File

@ -161,10 +161,12 @@
page {
background-color: #f8f8f8;
}
image {
width: 100%;
height: 100%;
}
.on {
font-weight: 600;
}
@ -212,10 +214,12 @@
.mainListImg {
height: 400rpx;
position: relative;
.img {
width: 100%;
height: 100%;
}
.imgTags {
position: absolute;
right: 0;

View File

@ -119,7 +119,7 @@
</view>
</view>
<!-- 取消报名-原因 -->
<u-popup :show="showB" mode="center" :round="10" @close="closeZ">
<u-popup :show="showB" mode="center" :round="10" @close="closeZ" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 36rpx; font-weight: 800;">
@ -142,7 +142,7 @@
</view>
</u-popup>
<!-- 取消报名-确认 -->
<u-popup :show="showS" mode="center" :round="10" @close="closeS">
<u-popup :show="showS" mode="center" :round="10" @close="closeS" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 32rpx; font-weight: 800;">
@ -162,7 +162,7 @@
</view>
</u-popup>
<!-- 报名-确认 -->
<u-popup :show="showH" mode="center" :round="10" @close="closeH">
<u-popup :show="showH" mode="center" :round="10" @close="closeH" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 32rpx; font-weight: 800;">

View File

@ -1,116 +1,123 @@
<template>
<view>
<view class="">
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view>
<view v-if="!load">
<view class="search_box">
<view style="width: 100rpx; text-align: center;" @click="backTo()">
返回
</view>
<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" v-if="false">
<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>
<view class="itm" v-for="(v,i) in folderList" :key="i">
<view class="fileImg">
<image src="../../static/DataSearch/Floder.png" mode=""></image>
</view>
<view class="data_detail_box" @click="GofileDetail(i)">
<view class="data_detail_box" @click="GofileDetail(v.id)">
<view class="file_title">
{{v.folderName}}
{{ v.name }}
</view>
<view class="file_time">
2021-12-18 17:08
{{ v.createdAt }}
</view>
</view>
<view class="moreImg" @click="clickDot(i)" style="position: relative;" :ref="'tankuang'+String(i)">
<view class="moreImg" @click="clickDot(v.id)" style="position: relative;">
<image src="../../static/DataSearch/moreFCUN.png" mode=""></image>
<view class="poup_edit_box" v-if="i===dotNum">
<view class="poup_edit" @click="editDir">
<image style="width: 32rpx;height: 32rpx; margin-right: 4rpx;"
src="../../static/DataSearch/dirEdit.png" mode="">
</image> 编辑目录
</view>
<view class="poup_del" @click="delDir">
<image style="width: 32rpx; height: 32rpx;margin-right: 4rpx;"
src="../../static/DataSearch/dirDel.png" mode="">
</image> 删除目录
</view>
</view>
<checkbox-group @change="changeCheckbox">
<view class="itm" v-for="(item,index) in checkboxData" :key="item.id">
<view class="fileImg">
<image :src="item.url" mode="" v-if="item.type == 'photo'"></image>
<image src="../../static/DataSearch/TxtImg.png" mode="" v-else-if="item.type == 'txt'"></image>
<image src="../../static/DataSearch/musicImg.png" mode="" v-else-if="item.type == 'music'">
</image>
<image src="../../static/DataSearch/other.png" mode="" v-else></image>
</view>
<view class="moreImg" v-if="false">
<image src="../../static/DataSearch/radioImg.png" v-if="false" mode=""></image>
<view class="data_detail_box">
<view class="file_title">
<!-- 资料查找 -->
{{ item.name }}
</view>
<view class="file_time">
{{ item.createdAt }}
</view>
</view>
<view class="moreImg" v-if="isSelect" @click="delFile(item.id)">
<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="item.id" :checked="checkedArr.includes(item.id)" />
</label>
</view>
</view>
</checkbox-group>
<view class="bottm" @click="show=!show">
<image src="../../static/orderHall/addOrder.png" mode=""></image>
</view>
<!-- 底部对文件的操作栏 -->
<view class="bottom_tab" v-if="!isSelect">
<view class="bottom_yx">
<!-- <view class="bottom_tab_itm" @click="downLoadAll()">
<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" @click="delAll()">
<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 -->
<!-- 加号弹出框 -->
<u-popup :show="show" closeOnClickOverlay @close="() => show = false" @open="open" round=5>
<u-popup :show="show" closeOnClickOverlay @close="() => show = false" round=5>
<view class="tan_con">
<view class="tit">
上传文件
新建/上传
</view>
<view class="up_itm_box">
<view class="img_itm">
<view class="img_itm" @click="addDir(0)">
<view class="img">
<image src="../../static/DataSearch/Floder.png" mode=""></image>
</view>
<view class="Up_tit">
新建文件夹
</view>
</view>
<view class="img_itm" @click="addDir(1)">
<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 -->
@ -119,70 +126,201 @@
@confirm="confirmModel" @cancel="() => showModel = false">
<text style="font-size: 32rpx; font-weight: 600;color: #251B1D;margin: 25rpx 0;">确认删除目录</text>
</u-modal>
<!-- 三个点ed -->
</view>
</view>
</template>
<script>
export default {
data() {
return {
load: true,
isSelect: true,
dirIds: '',
tempNum: '',
dataVal: "",
show: false,
showDir: false,
allChecked: false,
listDir: [{
name: '删除文件夹'
}],
dotNum: '',
showModel: false,
folderList: [{
id: 1,
folderName: "资料查找"
}, {
id: 2,
folderName: "珍贵资料"
}, {
id: 3,
folderName: "影音文件夹"
}, {
id: 4,
folderName: "怀旧文件夹"
}, {
id: 5,
folderName: "资料查找"
}]
folderList: [],
checkboxData: [],
pages: 1,
size: 20,
checkedArr: [], //
parentId: '',
oldID: [],
};
},
// onLoad() {
// this.getList()
// },
onShow() {
this.folderList = []
this.checkboxData = []
this.getList()
},
methods: {
//
confirmModel() {
this.showModel = false;
console.log("++++++",this);
// this ref
this.http.request('/information/delete?ids=' + this.dotNum, "POST").then(res => {
if (res.code == 200) {
this.showModel = false
this.pages = 1
this.folderList = []
this.checkboxData = []
this.load = false
this.showDir = false
this.getList()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
clickDot(num) {
this.dotNum = num
this.tempNum = Number(num)
this.delDir()
// this.showDir = true
},
editDir() {
uni.showToast({
title: "编辑目录"
})
},
delDir() {
delFile(index) {
this.dotNum = index
this.showModel = true
},
GofileDetail(id) {
selectClick(index) {
if (index.name == '编辑文件夹') {
} else {
this.delDir()
}
},
delDir() {
this.showModel = true
},
moreSelected() {
this.allSelect = !this.allSelect
},
//
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 = item.id;
if (!this.checkedArr.includes(itemVal)) {
this.checkedArr.push(itemVal);
}
}
} else {
//
this.allChecked = false;
this.checkedArr = [];
}
},
//
// outList() {
// let urlPath = http.config.baseUrl + '/activityUser/sign_export/' + this.activityId + '/' + this.type
// const token = uni.getStorageSync('token')
// if (this.isWx) {
// wx.downloadFile({
// url: urlPath, //
// header: {
// 'Authorization': "Bearer " + token,
// 'x-token': token
// },
// success(res) {
// // success
// if (res.statusCode === 200) {
// const filePath = res.tempFilePath;
// wx.openDocument({
// filePath: filePath,
// showMenu: true,
// success: function(res) {
// console.log(res, '');
// }
// });
// }
// }
// })
// } else {
// window.location.href = urlPath
// }
// }
delAll() {
this.dotNum = this.checkedArr.join(',')
this.confirmModel()
},
GofileDetail(id) {
this.oldID.push(this.parentId)
console.log(this.oldID)
this.parentId = id
this.dirIds = id
this.folderList = []
this.checkboxData = []
this.getList()
},
backTo(){
this.parentId = this.oldID.slice(-1).join(',')
this.dirIds = this.oldID.slice(-1).join(',')
this.oldID.splice(-1,1)
this.folderList = []
this.checkboxData = []
this.getList()
},
addDir(val) {
if (val == '0') {
uni.navigateTo({
url: "/pagesC/folderDetail/folderDetail?id=" + String(id)
url: "/pagesC/DataSearch/addNew?id=" + this.parentId
})
} else if (val == '1') {
uni.navigateTo({
url: "/pagesC/DataSearch/upload?id=" + this.parentId
})
}
},
getList() {
let that = this
let par = {
dirIds: this.dirIds,
name: this.dataVal
}
this.http.request('/information/list', par, "GET").then(res => {
if (res.code == 200) {
res.data.records.forEach(item => {
if (item.type == 'dir') {
that.folderList.push(item)
} else {
that.checkboxData.push(item)
}
})
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
}
}
</script>
@ -195,14 +333,19 @@
.search_box {
padding: 32rpx;
display: flex;
align-items: center;
box-sizing: border-box;
.car_box {
width: 24px;
height: 24px;
margin-left: 12px;
width: 48rpx;
height: 48rpx;
margin-left: 24rpx;
.dd {
width: 48rpx;
height: 48rpx;
}
}
}
@ -279,6 +422,36 @@
overflow: hidden;
}
.bottom_tab {
height: 170rpx;
// border: 1px solid red;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
.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 {

View File

@ -0,0 +1,64 @@
<template>
<view style="margin: 0rpx 48rpx;">
<view class="">
<u--input placeholder="请输入文件夹名称" clearable v-model="registInfo.name">
</u--input>
</view>
<view style="margin-top: 80rpx;">
<u-button text="确认" size="large" color="#99241B"
@click="submitNext"></u-button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tips: '',
registInfo: {
name: '',
userRole: 'zyz,wyrc',
parentId: '',
isExtent: '',
dirIds: '/',
}
};
},
onLoad(op) {
this.registInfo.parentId = op.id
if(op.id){
this.registInfo.dirIds = op.id
}else{
this.registInfo.dirIds = '/'
}
},
methods: {
submitNext() {
let data = {
name: this.registInfo.name,
userRole: this.registInfo.userRole,
parentId: this.registInfo.parentId,
dirIds: this.registInfo.dirIds,
}
this.http.request('/information/add', data, "POST").then(res => {
if (res.code == 200) {
uni.navigateBack()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
},
}
</script>
<style lang="scss">
.data_itm {
margin: 30rpx 0px;
}
</style>

View File

@ -0,0 +1,246 @@
<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" inputAlign="right"
style="color: #251B1D;">
</u--input>
</view>
</view>
<view class="form_line">
<view class="form_left">
类型
</view>
<view class="form_right">
<u--input placeholder="请输入类型" v-model="text2" clearable border="none" inputAlign="right"
style="color: #251B1D;">
</u--input>
</view>
</view>
<view class="gap">
文件上传
</view>
<u-upload v-if="isWx" class="upload" width="172rpx" height="172rpx" :fileList="fileList3" accept="all"
@afterRead="afterRead" @delete="deletePic" name="3" multiple :maxCount="1">
<image style="width: 172rpx;height: 172rpx;" src="../../static/improveData/jia.png"></image>
</u-upload>
<u-upload v-else class="upload" width="172rpx" height="172rpx" :fileList="fileList3" accept="file"
@afterRead="afterRead" @delete="deletePic" name="3" multiple :maxCount="1">
<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 {
id: '',
name: '',
text2: '',
fileList3: [],
ok: true,
isWx: true,
}
},
onLoad(op){
if(op.id){
this.id = op.id
}else{
this.id = '/'
}
},
onReady() {
// #ifdef MP-WEIXIN
this.isWx = true
// #endif
// #ifndef MP-WEIXIN
//
this.isWx = false
// #endif
},
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/uploadUnlimited',
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.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('/information/upload?dirIds=' + this.id + '&type=' + this.text2 + '&name=' + this.name + '&url=' + data , {}, "POST").then(res => {
if (res.code == 200) {
uni.navigateBack()
}
}).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;
.form_right {
width: 450rpx;
}
}
.form_box {
width: 686rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
font-size: 32rpx;
justify-content: space-between;
height: 104rpx;
}
.text_box {
width: 686rpx;
padding: 0 32rpx;
}
.gap {
color: #AFADB0;
background: #F5F5F5;
opacity: 1;
padding: 10rpx 32rpx;
font-size: 32rpx;
}
::v-deep .u-upload__wrap {
padding: 32rpx;
}
.upload {
padding: 32rpx;
}
.operation {
width: 654rpx;
height: 96rpx;
margin: 32rpx 48rpx 48rpx;
text-align: center;
line-height: 96rpx;
background-color: #99241B;
color: #fff;
font-size: 36rpx;
font-weight: 600;
}
</style>

View File

@ -21,7 +21,7 @@
</view>
</view>
<!-- 确认 -->
<u-popup :show="show" mode="center" :round="10" @close="close">
<u-popup :show="show" mode="center" :round="10" @close="close" :safeAreaInsetBottom="false">
<view style="width: 640rpx;">
<view style="padding: 32rpx;">
<view style="font-size: 36rpx; font-weight: 800;">
@ -37,7 +37,7 @@
<view style="width: 319rpx; border-right:1rpx solid #E7E7E7; text-align: center;" @click="close">
取消
</view>
<view style="width: 319rpx; border-right:1rpx solid #E7E7E7; text-align: center; color: #99241B;"
<view style="width: 319rpx; border-left:1rpx solid #E7E7E7; text-align: center; color: #99241B;"
@click="sure">
确定
</view>

View File

@ -1,8 +1,6 @@
<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">
@ -11,26 +9,21 @@
<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}}
@ -38,27 +31,19 @@
<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">
@ -68,8 +53,6 @@
下载
</view>
</view>
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/share.png" mode=""></image>
@ -78,7 +61,6 @@
分享
</view>
</view>
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/Delet.png" mode=""></image>
@ -88,8 +70,6 @@
</view>
</view>
</view>
<view class="bottom_yx" v-if="checkedArr.length > 0">
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
@ -100,16 +80,6 @@
</view>
</view>
<view class="bottom_tab_itm">
<view class="bottom_tab_itm_img">
<image src="../../static/DataSearch/shareSelected.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>
@ -121,17 +91,10 @@
</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">
@ -147,8 +110,6 @@
上传图片
</view>
</view>
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/uploadDoc.png" mode=""></image>
@ -157,7 +118,6 @@
上传文档
</view>
</view>
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/UploadVideo.png" mode=""></image>
@ -166,7 +126,6 @@
上传视频
</view>
</view>
<view class="img_itm">
<view class="img">
<image src="../../static/DataSearch/UploadMusic.png" mode=""></image>
@ -184,9 +143,7 @@
@confirm="fileOprModelConfirm" @cancel="() => showModel = false">
<text style="font-size: 32rpx; font-weight: 600;color: #251B1D;margin: 25rpx 0;">确认删除文件</text>
</u-modal>
<!-- 三个点ed -->
</view>
</template>

View File

@ -25,7 +25,8 @@
<view class="codeTitle">公众号链接/二维码</view>
<view class="codeImg">
<view class="codeEle">
<uqrcode :id="'uQRCode'+index" ref="uQRCode0" :size='QRsize' :text='item' />
<uqrcode ref="uQRCode" canvas-id="uQRCode" :value="item.text" :size="QRsize" :start="true" :auto="true"></uqrcode>
<!-- <uqrcode :id="'uQRCode'+index" ref="uQRCode0" :size='QRsize' :text='item' /> -->
<!-- <image src="../../static/icon12.jpg" mode="" class="code"></image> -->
</view>
<view class="remark">
@ -49,7 +50,11 @@
opCalue: 0,
pageTitle: "媒体宣传",
QRsize: 136,
QRlist: ['https://www.uviewui.com/components/tooltip.html']
QRlist: [
{
text: 'https://www.uviewui.com/components/tooltip.html'
},
]
};
},
onPageScroll(e) {

View File

@ -16,25 +16,11 @@
</view>
</view>
<view class="forms" v-if="tabC == '0'">
<view class="teamBox" v-for="(item, index) in 6">
<view class="teamBox" v-for="(item, index) in 2" :key="index">
<view class="teamBox-right">
<view class="item-image">
<image src="../../static/txIcon.png" mode=""></image>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">张三</view>
<view class="street">会长</view>
</view>
<view class="teamMinbox-bottom">
xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队
</view>
</view>
</view>
</view>
<view class="forms" v-if="tabC == '1'" >
<view class="teamBox" v-for="(item, index) in 2">
<view class="teamBox-right">
<image src="../../static/txIcon.png" mode=""></image>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
@ -47,11 +33,37 @@
</view>
</view>
</view>
<view class="forms" v-if="tabC == '2'" >
<view class="teamBox" v-for="(item, index) in 3">
<view class="forms" v-if="tabC == '1'">
<view
class="teamBox"
v-for="item in list"
:key="item.id"
@click="onInfo(item.id)"
>
<view class="teamBox-right">
<view class="item-image">
{{ item.userName }}
<!-- <image src="../../static/txIcon.png" mode=""></image> -->
</view>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">{{ item.userName }}</view>
<view class="street">{{ item.identity }}</view>
</view>
<view class="teamMinbox-bottom">
{{ item.introduce }}
</view>
</view>
</view>
</view>
<view class="forms" v-if="tabC == '2'">
<view class="teamBox" v-for="(item, index) in 3" :key="index">
<view class="teamBox-right">
<view class="item-image">
<image src="../../static/txIcon.png" mode=""></image>
</view>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">xx团队</view>
@ -71,15 +83,44 @@ export default {
data() {
return {
tabC: "0",
list: [],
};
},
onShow() {
// this.getData();
this.get();
},
methods: {
get() {
this.http
.request("/organPerson/list", {}, "GET")
.then((res) => {
if (res.code == 200) {
this.list = res.data.records;
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
toTab(val) {
this.tabC = val;
// this.getData()
},
onInfo(obj) {
this.http
.request("/organPerson/details", { id: obj }, "GET")
.then((res) => {
if (res.code == 200) {
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
},
};
@ -140,12 +181,28 @@ export default {
display: flex;
.teamBox-right {
margin-right: 20rpx;
width: 159rpx;
height: 159rpx;
.item-image {
width: 159rpx;
height: 159rpx;
display: flex;
align-items: center;
justify-content: center;
background: rgba(152, 149, 149, 0.5);
color: rgb(240, 239, 239);
font-style: 64rpx;
font-weight: bolder;
border-radius: 50%;
overflow: hidden;
image {
width: 180rpx;
height: 130rpx;
width: 159rpx;
height: 159rpx;
border-radius: 50%;
background-size: contain;
}
}
}
.teamBox-left {
// width: 400rpx;
.teamMinbox-top {

View File

@ -0,0 +1,350 @@
<template>
<view class="box">
<view class="form_line">
<view class="form_left">
标题
</view>
<view class="form_right">
<u--input placeholder="请输入名称" v-model="title" clearable border="none" inputAlign="right" 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="programs" 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="programs" :borderBottom="true" placement="column"
iconPlacement="right">
<u-radio :customStyle="{ marginBottom: '16px' }" v-for="(item, index) in program" :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_line">
<view class="form_left">
团队
</view>
<view class="form_right" @click="showTypes = true">
<u--input placeholder="请选择" clearable border="none" inputAlign="right" style="color: #251B1D;"
suffixIcon="arrow-right" readonly v-model="teams" disabledColor="#ffffff">
</u--input>
</view>
</view>
<u-popup :show="showTypes" @close="close" closeOnClickOverlay :round="5" customStyle="padding: 16px;">
<u-radio-group @change="selectForm2" v-model="teams" :borderBottom="true" placement="column" iconPlacement="right">
<u-radio :customStyle="{ marginBottom: '16px' }" v-for="(item, index) in team" :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="showTypes = false">确认</u-button>
</u-radio-group>
</u-popup>
<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" />
<!-- <u--input placeholder="请选择" clearable border="none" inputAlign="right" style="color: #251B1D;"
suffixIcon="calendar" readonly v-model="wTime" disabledColor="#ffffff">
</u--input> -->
</view>
</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" />
<!-- <u--input placeholder="请选择" clearable border="none" inputAlign="right" style="color: #251B1D;"
suffixIcon="calendar" readonly v-model="eTime" disabledColor="#ffffff">
</u--input> -->
</view>
</view>
<view class="operation" @click="next">
发布
</view>
</view>
</template>
<script>
import http from '../../request/interface.js'
export default {
data () {
return {
title: '',
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,
team: [],
teams: '',
teamsId: '',
program: [],
programs: '',
programsId: '',
showTypes: false
}
},
onShow () {
},
async onLoad () {
await this.getCurrentTime()
await this.teamandprogram()
},
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
},
close () {
this.showType = false
this.showTime = false
this.showUser = false
this.showTypes = false
},
selectForm1 (form) {
let _this = this
this.program.forEach((item) => {
if (item.name == form) {
_this.teamsId = item.id
}
})
},
selectForm2 (form) {
let _this = this
this.team.forEach(function (item) {
if (item.name == form) {
_this.programsId = item.id
}
})
},
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
},
next () {
this.ok = true
if (this.title == '') {
uni.showToast({
title: '请输入名称',
icon: "none",
});
this.ok = false
return
}
if (this.teams == '') {
uni.showToast({
title: '请选择团队',
icon: "none",
});
this.ok = false
return
}
if (this.programs == '') {
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.ok) {
this.http.request('/artCountryside/add', {
title: this.title,
showId: this.programsId,
teamId: this.teamsId,
endTime: this.eTime,
startTime: this.wTime,
}, "POST").then(res => {
if (res.code == 200) {
uni.navigateBack()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
},
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 => {
})
}
}
}
</script>
<style></style>
<style lang="scss" scoped>
.box {
width: 100%;
height: 100%;
overflow-y: auto;
position: relative;
}
/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;
.form_right {
width: 450rpx;
}
}
.form_box {
width: 686rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
font-size: 32rpx;
justify-content: space-between;
height: 104rpx;
}
.text_box {
width: 686rpx;
padding: 0 32rpx;
}
.gap {
color: #AFADB0;
background: #F5F5F5;
opacity: 1;
padding: 10rpx 32rpx;
font-size: 32rpx;
}
::v-deep .u-upload__wrap {
padding: 32rpx;
}
.upload {
padding: 32rpx;
}
.operation {
width: 654rpx;
height: 96rpx;
margin: 32rpx 48rpx 48rpx;
text-align: center;
line-height: 96rpx;
background-color: #99241B;
color: #fff;
font-size: 36rpx;
font-weight: 600;
position: absolute;
bottom: 0rpx;
}
</style>

205
src/pagesD/wyxx/detail.vue Normal file
View File

@ -0,0 +1,205 @@
<template>
<view class="box">
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view>
<view class="page" v-if="load == false">
<view class="activityDetails">
<view class="item_ul">
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon10.png" mode="scaleToFill"></image>
<text>标题:</text>
</view>
<view class="content">{{ data.title }}</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"><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>
</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>
</view>
<view class="content"><text> {{ data.villageName }}</text></view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon1.png" mode="scaleToFill"></image>
<text>开始时间:</text>
</view>
<view class="content"> {{ data.startTime }}</view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon2.png" mode="scaleToFill"></image>
<text>截止时间:</text>
</view>
<view class="content"> {{ data.endTime }} </view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
load: true,
id: '',
data: {},
list: [],
list2: [],
userList: [],
currentNum: 0,
isCheck: 0,
}
},
onLoad(op) {
this.id = op.id
},
onShow() {
this.getData()
},
methods: {
getData() {
this.load = true
this.http.request(`/artCountryside/details?id=${this.id}`, {}, 'GET').then(res => {
if (res.code == 200) {
this.data = res.data
this.load = false
} else {
this.load = false
uni.showToast({
title: res.message,
icon: "error",
});
}
}).catch(err => {
this.load = false
})
},
back() {
uni.navigateBack()
},
//
}
}
</script>
<style lang="scss" scoped>
.box {
width: 100%;
position: relative;
}
image {
// height: 100%;
width: 100%;
}
.page {
.activityDetails {
.item_ul {
.item_li {
padding: 16rpx 32rpx 32rpx;
margin: 0rpx 0 32rpx;
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;
}
}
.content {}
}
}
}
.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;
}
}
.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,53 +16,83 @@
</view>
</view>
<view class="forms" v-if="tabC == '0'">
<view class="teamBox" v-for="(item, index) in 6">
<view v-if="team.length > 0">
<view class="teamBox" v-for="(item, index) in team">
<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">xx团队</view>
<view class="street">丹东街道</view>
<view class="title">{{ item.name }}</view>
<view class="street">{{ item.villageName }}</view>
</view>
<view class="teamMinbox-bottom">
xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队
{{ 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 class="teamBox" v-for="(item, index) in 2">
<view v-if="program.length > 0">
<view class="teamBox" v-for="(item, index) in program">
<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">xx团队</view>
<view class="street">丹东街道</view>
<view class="title">{{ item.name }}</view>
<view class="street">{{ item.villageName }}</view>
</view>
<view class="teamMinbox-bottom">
xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队
{{ 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="teamBox" v-for="(item, index) in 3">
<view class="teamBox-right">
<image src="../../static/txIcon.png" mode=""></image>
<view class="addIcon" @click="toAddOrder" v-if="isadmin">
<image src="../../static/orderHall/addOrder.png"></image>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">xx团队</view>
<view class="street">丹东街道</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="teamMinbox-bottom">
xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队
<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>
@ -71,21 +101,80 @@ export default {
data () {
return {
tabC: "0",
mainList: [],
villageId: '',
team: [],
program: [],
loadings: true,
isadmin: false
};
},
onShow() {
// this.getData();
},
methods: {
toTab (val) {
this.tabC = val;
// this.getData()
},
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()
},
};
</script>
<style lang="scss">
<style lang="scss" scoped>
.wyxx {
background-color: #fefefe;
}
@ -128,37 +217,51 @@ export default {
}
.forms {
width: 90%;
width: 98%;
// height: 40rpx;
// background-color: skyblue;
margin: 40rpx auto 0rpx;
margin: 20rpx auto;
// max-height: calc(100vh - 106px);
// border: 1px solid #333333;
// overflow-y: auto;
.teamBox {
height: 140rpx;
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;
image {
width: 180rpx;
height: 130rpx;
height: 180rpx;
background-size: contain;
}
}
.teamBox-left {
// width: 400rpx;
.teamMinbox-top {
display: flex;
margin-bottom: 16rpx;
.title {
font-weight: 600;
font-size: 32rpx;
max-width: 160rpx;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
.street {
height: 40rpx;
border-radius: 30rpx;
@ -166,21 +269,114 @@ export default {
color: #a02521;
margin-left: 18rpx;
padding: 2rpx 20rpx;
max-width:120rpx;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
.teamMinbox-bottom {
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
}
}
image {
width: 100%;
height: 100%;
}
.main {
padding: 32rpx;
// background-color: #F4F5F7;
// background-color: rgb(241, 243, 244);
border-radius: 16rpx;
.mainList {
border-radius: 16rpx;
// background-color: rgb(241, 243, 244);
margin-bottom: 20rpx;
border: 1px solid rgb(241, 243, 244);
overflow: hidden;
.mainListImg {
height: 400rpx;
position: relative;
.img {
width: 100%;
height: 100%;
}
.imgTags {
position: absolute;
right: 0;
bottom: 0;
}
}
.text {
padding: 32rpx;
// background-color: #FFF;
.text1 {
font-size: 32rpx;
font-weight: 600;
color: #251B1D;
margin-bottom: 5rpx;
}
.text2 {
font-size: 28rpx;
font-weight: 400;
color: #989898;
}
.text3 {
display: flex;
margin-top: 16rpx;
.mainListTime {
width: 26rpx;
height: 26rpx;
margin-top: 4rpx;
margin-right: 8rpx;
}
.time {
font-size: 24rpx;
font-weight: 400;
color: #989898;
}
}
}
}
}
.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

@ -0,0 +1,32 @@
<template>
<view>
<!-- <player-component
playerid="tvp"
id="tvp-id"
vid="p0743x9grjv"
></player-component> -->
</view>
</template>
<script>
export default {
data() {
return {
store: null,
player: null,
};
},
onShow() {
// this.store = requirePlugin("player");
// this.player = this.selectComponent('#tvp-id');
// this.player = this.store.get("tvp");
// console.log(this.store);
// console.log(this.player);
},
mounted() {},
methods: {},
};
</script>
<style>
</style>

View File

@ -1,56 +1,34 @@
<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> 分类1 </view>
<view class="line"></view>
</view>
<view :class="tabC == '2' ? 'tabsC' : 'tabs'" @click="toTab('2')">
<view> 分类2 </view>
<view class="line"></view>
</view>
<view :class="tabC == '3' ? 'tabsC' : 'tabs'" @click="toTab('3')">
<view> 分类3 </view>
<view class="line"></view>
</view>
<view :class="tabC == '4' ? 'tabsC' : 'tabs'" @click="toTab('4')">
<view> 分类4 </view>
<view class="line"></view>
</view>
</view>
<view class="forms" v-if="tabC == '0'">
<view class="teamBox" v-for="(item, index) in videoList">
<view class="forms">
<view class="teamBox" v-for="item in list" :key="item.id">
<view class="teamBox-top">
<video
id="video"
style="width: 100%; height: 100%"
object-fit="cover"
controls
:src="item.video"
poster="../../static/orderE.png"
></video>
<view class="mask" @click="playMask(index)" v-if="item.play">
<text>{{ item.title }}</text>
<image src="../../static/play.png"></image>
</view>
<video id="myVideo" :src="item.file" @error="videoErrorCallback"
style="width: 750rpx;height: 500rpx;" controls></video>
</view>
<view class="teamBox-bottom">
<view class="interactive">
<image src="../../static/play.png" mode=""></image>
<view class="title">{{ item.playback }}</view>
<image src="../../static/play-1.png" mode=""></image>
<view class="title">{{ item.views }}</view>
</view>
<view class="interactive">
<image src="../../static/workDetail/heart1.png" mode=""></image>
<view class="title">{{ item.like }}</view>
<image src="../../static/workDetail/heart2.png" class="bot_img" v-if="item.isGreat"
@click="clickHeart()">
</image>
<image src="../../static/workDetail/heart1.png" class="bot_img" v-else @click="clickHeart(item.isGreat,item.id)">
</image>
<view class="title" @click="clickHeart(item.isGreat,item.id)">
{{item.likes}}
</view>
</view>
<view class="interactive">
<image src="../../static/workDetail/star1.png" mode=""></image>
<view class="title">{{ item.collect }}</view>
<image src="../../static/workDetail/star2.png" class="bot_img" v-if="item.isColl"
@click="clickStar()"></image>
<image src="../../static/workDetail/star1.png" class="bot_img" v-else @click="clickStar(item.isColl,item.id)">
</image>
<view class="title" @click="clickStar(item.isColl,item.id)">
{{item.collections}}
</view>
</view>
</view>
</view>
@ -62,25 +40,17 @@
export default {
data() {
return {
tabC: "0",
videoList: [
{
title:
"美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学美丽科学",
playback: "40.123",
like: "8.112.490",
collect: "8.112.490",
video: "../../static/a1.mp4",
play: true,
// tabC: "0",
list: [],
query: {
page: 1,
size: 20,
},
],
};
},
onLoad() {
this.exhibitionList();
},
onShow() {
// this.getData();
this.get();
},
mounted() {},
methods: {
@ -88,45 +58,103 @@ export default {
this.tabC = val;
// this.getData()
},
playMask(index) {
this.videoList[index].play = false;
var video = document.getElementById("video");
//
video.addEventListener("pause", function (e) {
console.log("暂停播放");
console.log(e);
//
clickHeart(val0,val1) {
console.log(val1)
if (val0) {
this.http.request('/worksGreat/delGreat?type=3&workId=' + val1, "POST").then(res => {
if (res.code == 200) {
this.get()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
// 15ended
video.addEventListener("ended", function (e) {
console.log("视频播放完了");
console.log(e);
})
} else {
this.http.request('/worksGreat/addGreat?type=3&workId=' + val1, "POST").then(res => {
if (res.code == 200) {
this.get()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
},
exhibitionList() {
//
clickStar(val0,val1) {
if (val0) {
this.http.request('/worksCollection/delCollection?workId=' + val1 + '&type=3', "POST").then(res => {
if (res.code == 200) {
this.get()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
} else {
this.http.request('/worksCollection/addCollection?workId=' + val1 + '&type=3', "POST").then(res => {
if (res.code == 200) {
this.get()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
},
get() {
this.http
.request("/exhibition/list", {}, "get")
.request("/exhibition/list", this.query, "GET")
.then((res) => {
console.log(res.data);
// this.releasesNum[6].num = res.data.allCreateCount;
// this.releasesNum[6].time = res.data.lastUpdateAt;
// this.releasesNum[6].moon = res.data.monthReadCount;
// this.releasesNum[6].assemble = res.data.allReadCount;
if (res.code == 200) {
this.list = res.data.records;
this.query.page = res.data.current;
this.query.size = res.data.size;
}
})
.catch((err) => {
console.log(err);
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
collect() {
this.http
.request("/worksCollection/addCollection", {}, "post")
.then((res) => {
console.log(res.data);
})
.catch((err) => {
console.log(err);
skip(query = {}) {
uni.navigateTo({
//
url: "/pagesD/xskz/details",
});
},
videoErrorCallback: function(e) {
console.log(e.target.errMsg)
uni.showModal({
content: e.target.errMsg,
showCancel: false
})
},
playMask(obj) {
// this.videoList[index].play = false;
// var video = document.getElementById("video");
// //
// video.addEventListener("pause", function (e) {
// console.log("");
// console.log(e);
// });
// // 15ended
// video.addEventListener("ended", function (e) {
// console.log("");
// console.log(e);
// });
},
},
};
</script>
@ -174,48 +202,69 @@ export default {
}
.forms {
width: 90%;
margin: 40rpx auto 0rpx;
.teamBox {
.teamBox-top {
height: 400rpx;
position: relative;
// video {
// position: relative;
// }
.content {
position: relative;
z-index: 4;
.content-title {
position: absolute;
z-index: 10;
padding: 18rpx;
text {
color: #fff;
max-width: 500rpx;
overflow: hidden;
/* 超出一行文字自动隐藏 */
text-overflow: ellipsis;
/*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
.team-image {
width: 100%;
height: 400rpx;
}
}
.mask {
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.1);
z-index: 99;
text {
// position: absolute;
// left: 60rpx;
color: #fff;
max-width: 500rpx;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
white-space: nowrap;
}
left: 0;
right: 0;
bottom: 0;
z-index: 12;
display: flex;
align-items: center;
justify-content: center;
.mask-play {
image {
width: 60rpx;
height: 60rpx;
margin: 110rpx 0 0 300rpx;
}
}
}
}
.teamBox-bottom {
display: flex;
justify-content: space-between;
width: 100%;
padding: 15rpx 15rpx;
padding: 15rpx 32rpx;
background-color: #fff;
box-sizing: border-box;
.interactive {
display: flex;
align-items: center;
image {
width: 30rpx;
height: 30rpx;

602
src/pagesD/xxgl/index.vue Normal file
View File

@ -0,0 +1,602 @@
<template>
<view>
<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>
</view>
<view style="flex: 1; text-align: center" :class="{ acttiveSty: tabNum == 2 }" @click="clickTab(2)">
<text>已接单</text>
</view>
</view>
<view class="main">
<view v-if="tabNum == 1">
<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="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_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>
<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>
</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>
</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}`,
// });
// }
// },
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>
<style lang="scss">
page {
/* width: calc(100% - 64rpx);
margin: 0rpx 32rpx; */
background-color: #f5f5f5 !important;
}
.main {
padding: 0rpx 32rpx;
}
image {
width: 100%;
height: 60%;
}
.acttiveSty {
color: #9a2720;
font-weight: 700;
}
.but_box {
display: flex;
justify-content: flex-end;
align-items: center;
}
.tag_sta {
width: 160rpx;
height: 48rpx;
background: #f9f2f2;
border-radius: 8rpx;
line-height: 48rpx;
color: #99241b;
text-align: center;
font-size: 24rpx;
}
.tag_sta_going {
width: 100rpx;
height: 48rpx;
background: rgba(238, 73, 60, 0.09);
border-radius: 8rpx;
line-height: 48rpx;
color: #ee493c;
text-align: center;
font-size: 24rpx;
}
.tag_sta_end {
width: 160rpx;
height: 48rpx;
background: #fff4ed;
border-radius: 8rpx;
line-height: 48rpx;
color: #ff6600;
text-align: center;
font-size: 24rpx;
}
.tag_sta_fail {
width: 100rpx;
height: 48rpx;
background: #f5f5f5;
border-radius: 8rpx;
line-height: 48rpx;
color: #7a7a7a;
text-align: center;
font-size: 24rpx;
}
.act_time {
margin: 26rpx 0;
height: 34rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #afadb0;
line-height: 34rpx;
}
.art_act_itm {
margin-top: 24rpx;
height: 628rpx;
border-radius: 8px;
border: 2rpx solid transparnt;
position: relative;
border-radius: 20rpx;
overflow: hidden;
background-color: #ffffff;
.title {
width: 580rpx;
color: #000000;
font-size: 32rpx;
font-weight: 600;
color: #251b1d;
}
}
.pinContent {
margin-top: 16rpx;
textarea {
margin: 12rpx;
}
}
</style>

250
src/pagesD/xxgl/upload.vue Normal file
View File

@ -0,0 +1,250 @@
<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

@ -0,0 +1,59 @@
<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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

BIN
src/static/play-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

18763
yarn.lock

File diff suppressed because it is too large Load Diff