Selaa lähdekoodia

Merge branch 'master' of http://192.168.10.18:3000/sooka_shop/sooka_consult_uniapp

付宇航 1 vuosi sitten
vanhempi
commit
b91fee5373

+ 19 - 0
api/cooperative/cooperative.js

@@ -0,0 +1,19 @@
+import upload from '@/utils/upload'
+import request from '@/utils/request'
+
+// 查询合作社列表
+export function getCooperative() {
+  return request({
+    url: '/system/user/listAll',
+    method: 'get'
+  })
+}
+
+// 查询合作社详情
+export function updateUserProfile(data) {
+  return request({
+    url: '/system/user/profile',
+    method: 'put',
+    data: data
+  })
+}

+ 19 - 0
api/specialService/financialInfrastructure.js

@@ -0,0 +1,19 @@
+import upload from '@/utils/upload'
+import request from '@/utils/request'
+
+// 查询金融基建列表
+export function getCooperative() {
+  return request({
+    url: '/system/user/listAll',
+    method: 'get'
+  })
+}
+
+// 查询金融基建详情
+export function updateUserProfile(data) {
+  return request({
+    url: '/system/user/profile',
+    method: 'put',
+    data: data
+  })
+}

+ 19 - 0
api/specialService/legalService.js

@@ -0,0 +1,19 @@
+import upload from '@/utils/upload'
+import request from '@/utils/request'
+
+// 查询法律服务列表
+export function getCooperative() {
+  return request({
+    url: '/system/user/listAll',
+    method: 'get'
+  })
+}
+
+// 查询法律服务详情
+export function updateUserProfile(data) {
+  return request({
+    url: '/system/user/profile',
+    method: 'put',
+    data: data
+  })
+}

+ 19 - 0
api/specialService/loveAtVillage.js

@@ -0,0 +1,19 @@
+import upload from '@/utils/upload'
+import request from '@/utils/request'
+
+// 查询乡村婚恋列表
+export function getCooperative() {
+  return request({
+    url: '/system/user/listAll',
+    method: 'get'
+  })
+}
+
+// 查询乡村婚恋详情
+export function updateUserProfile(data) {
+  return request({
+    url: '/system/user/profile',
+    method: 'put',
+    data: data
+  })
+}

+ 227 - 180
components/upload/index.vue

@@ -1,191 +1,238 @@
 <template>
-	<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
-		<view class="container" style="color: #b2b2b2;">*请上传照片</view>
-		<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px; margin-left: 10px;">
-			<image src="../../static/images/upload/updateimg.png" mode=""
-				style="width: 200rpx; height: 150rpx; margin: 0 12rpx; " @click="choose()"></image>
-			<view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
-				<view
-					v-if="item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg'||item.picUrl.substring(item.picUrl.length-4)=='jpeg' ">
-					<image :src="loadImgSrcLocalhost(item)" mode="" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"
-						@click="showPhoto(index)">
-					</image>
-				</view>
-				<view v-else>
-					<video :src="loadImgSrcLocalhost(item)" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
-				</view>
-				<view @click="remove(index)"
-					style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
-					<image src="../../static/images/upload/icon_close.png" style=" width: 15px; height: 15px;">
-					</image>
-				</view>
-			</view>
-		</view>
-	</view>
+  <view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
+    <view class="container" style="color: #b2b2b2;">*请上传照片</view>
+    <view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px; margin-left: 10px;">
+      <image src="../../static/images/upload/updateimg.png" mode=""
+             style="width: 200rpx; height: 150rpx; margin: 0 12rpx; " @click="choose()"></image>
+      <view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
+        <view
+            v-if="item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg'|| item.substring(item.length-4)=='jpeg' ">
+          <image :src="loadImgSrcLocalhost(item)" mode="" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"
+                 @click="showPhoto(index)">
+          </image>
+        </view>
+        <view v-else>
+          <video :src="loadImgSrcLocalhost(item)" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+        </view>
+        <view @click="remove(index)"
+              style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
+          <image src="../../static/images/upload/icon_close.png" style=" width: 15px; height: 15px;">
+          </image>
+        </view>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	import { getToken } from '@/utils/auth'
-	export default {
-		data() {
-			return {
-				headers: {
-					Authorization: "Bearer " + getToken()
-				},
-				loading: false,
-				// imgArr: [],
-			}
-		},
-		props:{
-			imgArr:{
-				type: Array,
-				default: () => []
-			},
-		},
-		methods: {
-			//上传图片
-			choose() {
-				let _this = this;
-				uni.showActionSheet({
-					title: '上传',
-					itemList: ['图片', '视频'],
-					success: (res) => {
-						if (res.tapIndex == 0) {
-							this.chooseimage()
-						} else {
-							this.choosevideo()
-						}
-					}
-				})
-			},
-			chooseimage() {
-				let _this = this;
-				uni.chooseImage({
-					sizeType: ['album', 'camera'],
-					success(resp) {
-						resp.tempFiles.forEach((item, index) => {
-							const task = uni.uploadFile({
-								url: _this.$HTTP + `/common/upload`,
-								filePath: item.path,
-								name: 'file',
-								formData: {},
-								header: _this.headers,
-								success: res => {
-									// 判断是否json字符串,将其转为json格式
-									let data = JSON.parse(res.data);
-									if (![200].includes(data.code)) {
-										_this.$modal.msg(data.msg)
-									} else {
-										if (_this.progress === 100) {
-											_this.imgArr.push(data.fileName)
-											_this.$modal.msg('上传成功!')
-											_this.photo = false;
-                      _this.$emit('updateImg',_this.imgArr);
-										}
-									}
-								},
-								fail: e => {
-									console.log(e)
-									_this.$modal.msg('上传失败!')
-								},
-								complete: res => {
-									uni.hideLoading();
-									_this.uploading = false;
+import {getToken} from '@/utils/auth'
 
-								}
-							});
-							task.onProgressUpdate(res => {
-								_this.progress = res.progress;
-								uni.showLoading({
-									title: '上传中'
-								})
-								if (_this.progress != 100) {
-									_this.loading = false
-								} else {
-									_this.loading = true
-								}
-							});
+export default {
+  data() {
+    return {
+      headers: {
+        Authorization: "Bearer " + getToken()
+      },
+      loading: false,
+	  progress:0,
+      // imgArr: [],
+    }
+  },
+  props: {
+    imgArr: {
+      type: Array,
+      default: () => []
+    },
+    // 图片数量限制
+    limit: {
+      type: Number,
+      default: 100,
+    },
+    // 大小限制(MB)
+    fileSize: {
+      type: Number,
+      default: 10,
+    },
+    // 文件类型, 例如['png', 'jpg', 'jpeg']
+    fileType: {
+      type: Array,
+      default: () => ["png", "jpg", "jpeg"],
+    },
+  },
+  methods: {
+    //上传图片
+    choose() {
+      // if(this.imgArr>limit)
+      let _this = this;
+      uni.showActionSheet({
+        title: '上传',
+        itemList: ['图片', '视频'],
+        success: (res) => {
+          if (res.tapIndex == 0) {
+            this.chooseimage()
+          } else {
+            this.choosevideo()
+          }
+        }
+      })
+    },
+    chooseimage() {
+      let _this = this;
+      uni.chooseImage({
+        // count: 1, //最多可以选择的图片张数,默认9
+        sizeType: ['album', 'camera'],
+        success(resp) {
+          let fileCount=resp.tempFiles.length+_this.imgArr.length
+          if ( fileCount> _this.limit) {
+            uni.showToast({
+              title: '上传文件数量不能超过 '+_this.limit+' 个!',
+              icon: 'none'
+            })
+            return;
+          }
+          resp.tempFiles.forEach((item, index) => {
+            if (item.size / 1024 / 1024 > _this.fileSize) {
+              uni.showToast({
+                title: '上传头像图片大小不能超过 '+_this.fileSize+' MB!',
+                icon: 'none'
+              })
+              return;
+            }
+            const task = uni.uploadFile({
+              url: _this.$HTTP + `/common/upload`,
+              filePath: item.path,
+              name: 'file',
+              formData: {},
+              header: _this.headers,
+              success: res => {
+                // 判断是否json字符串,将其转为json格式
+                let data = JSON.parse(res.data);
+                if (![200].includes(data.code)) {
+                  _this.$modal.msg(data.msg)
+                } else {
+                  if (_this.progress === 100) {
+                    _this.imgArr.push(data.fileName)
+                    _this.$modal.msg('上传成功!')
+                    _this.photo = false;
+                    _this.$emit('updateImg', _this.imgArr);
+                  }
+                }
+              },
+              fail: e => {
+                console.log(e)
+                _this.$modal.msg('上传失败!')
+              },
+              complete: res => {
+                uni.hideLoading();
+                _this.uploading = false;
 
-						})
+              }
+            });
+            task.onProgressUpdate(res => {
+              _this.progress = res.progress;
+              uni.showLoading({
+                title: '上传中'
+              })
+              if (_this.progress != 100) {
+                _this.loading = false
+              } else {
+                _this.loading = true
+              }
+            });
+          })
+        },
+      })
+    },
 
-					},
-				})
-			},
+    choosevideo() {
+      let _this = this;
+      uni.chooseVideo({
+        sourceType: ['album', 'camera'],
+        maxDuration: 30,
+        success(resp) {
+          console.log('视频')
+          let fileCount=1 +_this.imgArr.length
+          if ( fileCount> _this.limit) {
+            uni.showToast({
+              title: '上传文件数量不能超过 '+_this.limit+' 个!',
+              icon: 'none'
+            })
+            return;
+          }
+          if (resp.size / 1024 / 1024 > _this.fileSize) {
+            uni.showToast({
+              title: '上传视频大小不能超过 '+_this.fileSize+' MB!',
+              icon: 'none'
+            })
+            return;
+          }
+          const task = uni.uploadFile({
+            url: _this.$HTTP + `/common/upload`,
+            filePath: resp.tempFilePath,
+            name: 'file',
+            formData: {},
+            header: _this.headers,
+            success: res => {
+              // 判断是否json字符串,将其转为json格式
+              let data = JSON.parse(res.data);
+              if (![200].includes(res.statusCode)) {
+                this.uploadError(index, data);
+              } else {
+                //上传成功
+                if (_this.progress === 100) {
+                  _this.imgArr.push(data.fileName)
+                  _this.$modal.msg('上传成功!')
+                  _this.photo = false;
+                  _this.$emit('updateImg', _this.imgArr);
+                }
+              }
+            },
+            fail: e => {
+              _this.$modal.msg('上传失败!')
+              this.uploadError(index, e);
+            },
+            complete: res => {
+              uni.hideLoading();
+              _this.uploading = false;
+            }
+          });
+          task.onProgressUpdate(res => {
+            _this.progress = res.progress;
+            uni.showLoading({
+              title: '上传中'
+            })
+            if (_this.progress != 100) {
+              _this.loading = false
+            } else {
+              _this.loading = true
+            }
+          });
 
-			choosevideo() {
-				let _this = this;
-				console.log('视频')
-				uni.chooseVideo({
-					sourceType: ['album', 'camera'],
-					maxDuration: 30,
-					success(resp) {
-						const task = uni.uploadFile({
-							url: _this.$HTTP + `/common/upload`,
-							filePath: resp.tempFilePath,
-							name: 'file',
-							formData: {},
-							header: _this.headers,
-							success: res => {
-								// 判断是否json字符串,将其转为json格式
-								let data = JSON.parse(res.data);
-								if (![200].includes(res.statusCode)) {
-									this.uploadError(index, data);
-								} else {
-									//上传成功
-									if (_this.progress === 100) {
-										_this.imgArr.push(data.fileName)
-										_this.$modal.msg('上传成功!')
-										_this.photo = false;
-                    _this.$emit('updateImg',_this.imgArr);
-									}
-								}
-							},
-							fail: e => {
-								_this.$modal.msg('上传失败!')
-								this.uploadError(index, e);
-							},
-							complete: res => {
-								uni.hideLoading();
-								_this.uploading = false;
-							}
-						});
-						task.onProgressUpdate(res => {
-							_this.progress = res.progress;
-							uni.showLoading({
-								title: '上传中'
-							})
-							if (_this.progress != 100) {
-								_this.loading = false
-							} else {
-								_this.loading = true
-							}
-						});
-
-					},
-				})
-			},
-			//查看图片
-			showPhoto(index) {
-				uni.previewImage({
-					current: index,
-					urls: this.imgArr,
-				})
-			},
-			//删除图片
-			remove(index) {
-				uni.showModal({
-					title: '提示',
-					content: '是否删除该图片或视频?',
-					success: (res) => {
-						if (res.confirm) {
-							this.imgArr.splice(index, 1);
-							this.$emit('updateImg',this.imgArr);
-						}
-					}
-				})
-			},
-		}
-	}
+        },
+      })
+    },
+    //查看图片
+    showPhoto(index) {
+      uni.previewImage({
+        current: index,
+        urls: this.imgArr,
+      })
+    },
+    //删除图片
+    remove(index) {
+      uni.showModal({
+        title: '提示',
+        content: '是否删除该图片或视频?',
+        success: (res) => {
+          if (res.confirm) {
+            this.imgArr.splice(index, 1);
+            this.$emit('updateImg', this.imgArr);
+          }
+        }
+      })
+    },
+  }
+}
 
 </script>
 

+ 2 - 1
config.js

@@ -6,7 +6,8 @@ module.exports = {
 	baseUrl: 'http://192.168.4.28:8080',
 	// baseUrl: 'http://192.168.4.11:8080',
 	// baseUrl: 'http://192.168.4.14:8089',
-	baseIconUrl: 'http://119.3.201.155:9000',
+	// baseIconUrl: 'http://119.3.201.155:9000',
+	baseIconUrl: 'http://192.168.4.14:8080',
 	// 应用信息
 	appInfo: {
 		// 应用名称

+ 6 - 0
package.json

@@ -9,6 +9,12 @@
   "license": "ISC",
   "description": "",
   "dependencies": {
+    "@dcloudio/uni-ui": "^1.5.2",
+    "dayjs": "^1.11.10",
     "quill": "^1.3.7"
+  },
+  "devDependencies": {
+    "sass": "^1.71.1",
+    "sass-loader": "^10.1.1"
   }
 }

+ 46 - 0
pages.json

@@ -17,6 +17,15 @@
 			}
 		},
 		{
+			"path": "pages/specialService/loveAtVillage/loveAtVillage",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "乡村婚恋"
+			}
+		},
+		{
 			"path": "pages/cooperative/details",
 			"style": {
 				"usingComponents": {},
@@ -151,6 +160,17 @@
 				"navigationBarTitleText": "主题配置类型"
 
 			}
+		},
+		{
+			"path": "pages/quotations/quotations",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "行情"
+
+
+			}
 		},{
 			"path": "pages/toGovernmentList/toGovernmentList",
 			"style": {
@@ -179,8 +199,34 @@
 				"navigationBarTitleText": "网格详情"
 
 			}
+		},
+		{
+			"path" : "pages/liveBroadcast/liveBroadcast",
+			"style" : 
+			{
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "直播带货"
+			}
+		},
+		{
+			"path" : "pages/liveBroadcastDetails/liveBroadcastDetails",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "直播带货详情"
+			}
 		}
 	],
+	"easycom": {
+		"autoscan": true,
+		"custom": {
+			// uni-ui 规则如下配置
+			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
+		}
+	},
 	"tabBar": {
 		"index": "-1",
 		"color": "#737373",

+ 1 - 110
pages/cooperative/cooperative.vue

@@ -1,9 +1,7 @@
 <template>
-    <!-- pages/fuwu/fuwu.wxml -->
     <view class="container">
         <!-- 供销社列表 -->
         <view class="rnwdList" @tap="goDetails" v-for="(item, index) in list" :key="index">
-            <!--<span class="lb">{{ item.name }}</span>-->
             <view class="cooperativeImgBox">
                 <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg" @tap="goDetails"></image>
             </view>
@@ -19,81 +17,10 @@
             </view>
             <em class="iconfont icon-xiangyoujiantou"></em>
         </view>
-
-
-        <!-- 问答类别 -->
-
-        <!--<ul class="wendaFL">-->
-            <!--<li class="sanNong">-->
-                <!--<image :src="loadImgSrc('/snbj.png')" class="lbBj" @tap="goSanNong"></image>-->
-                <!--<h2>三农</h2>-->
-                <!--<span>1566</span>-->
-            <!--</li>-->
-            <!--<li class="jiuYe">-->
-                <!--<image :src="loadImgSrc('/jybj.png')" class="lbBj"></image>-->
-                <!--<h2>就业</h2>-->
-                <!--<span>1589</span>-->
-            <!--</li>-->
-        <!--</ul>-->
-        <!--<ul class="wendaFL">-->
-            <!--<li class="faLv">-->
-                <!--<image :src="loadImgSrc('/flbj.png')" class="lbBj"></image>-->
-                <!--<h2>法律</h2>-->
-                <!--<span>6589</span>-->
-            <!--</li>-->
-            <!--<li class="jiuZhen">-->
-                <!--<image :src="loadImgSrc('/jzbj.png')" class="lbBj"></image>-->
-                <!--<h2>就诊</h2>-->
-                <!--<span>1566</span>-->
-            <!--</li>-->
-        <!--</ul>-->
-        <!--<ul class="wendaFL">-->
-            <!--<li class="jiuYe">-->
-                <!--<image :src="loadImgSrc('/zkbj.png')" class="lbBj"></image>-->
-                <!--<h2>智库</h2>-->
-                <!--<span>1589</span>-->
-            <!--</li>-->
-            <!--<li class="sanNong">-->
-                <!--<image :src="loadImgSrc('/lybj.png')" class="lbBj"></image>-->
-                <!--<h2>旅游</h2>-->
-                <!--<span>6589</span>-->
-            <!--</li>-->
-        <!--</ul>-->
-        <!-- 问答列表 -->
-        <!--<view class="rnwdList" @tap="goDetails" v-for="(item, index) in wb" :key="index">-->
-            <!--<span class="lb">{{ item.type }}</span>-->
-
-            <!--<view class="list">-->
-                <!--<span class="listTitle">{{ item.title }}</span>-->
-                <!--<view class="jlSj">-->
-                    <!--<span class="jf">-->
-                        <!--{{ item.jf }}-->
-                        <!--<em class="iconfont icon-jifen"></em>-->
-                    <!--</span>-->
-                    <!--<view class="ck">-->
-                        <!--<span>-->
-                            <!--<em class="iconfont icon-pinglun"></em>-->
-                            <!--{{ item.pl }}-->
-                        <!--</span>-->
-                        <!--<span>-->
-                            <!--<em class="iconfont icon-chakan"></em>-->
-                            <!--{{ item.ck }}-->
-                        <!--</span>-->
-                        <!--<span>-->
-                            <!--<em class="iconfont icon-shoucang"></em>-->
-                            <!--{{ item.dz }}-->
-                        <!--</span>-->
-                    <!--</view>-->
-                <!--</view>-->
-            <!--</view>-->
-
-            <!--<em class="iconfont icon-xiangyoujiantou"></em>-->
-        <!--</view>-->
     </view>
 </template>
 
 <script>
-// pages/fuwu/fuwu.js
 export default {
     data() {
         return {
@@ -120,51 +47,15 @@ export default {
                     imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
                 }
             ],
-
-
-            wb: [
-				{
-					ck: '10',
-					dz: '120',
-					id: 1,
-					jf: '100',
-					pl: '10',
-					title: '探索乡村能源供给新模式',
-					type: '三农'
-				},
-				{
-					ck: '20',
-					dz: '220',
-					id: 2,
-					jf: '200',
-					ly: '20',
-					title: '探索乡村能源供给新模式 美丽新画卷',
-					type: '三农'
-				},
-				{
-					ck: '30',
-					dz: '30',
-					id: 3,
-					jf: '300',
-					pl: '30',
-					title: '探索乡村能源供给新模式 绘就乡村振兴美丽新画卷',
-					type: '三农'
-				}
-			]
         };
     }
     /**
      * 生命周期函数--监听页面加载
      */,
     onLoad(options) {
+
     },
     methods: {
-        goSanNong() {
-            uni.navigateTo({
-                url: '/pages/sannong/sannong'
-            });
-        },
-
         goDetails() {
             uni.navigateTo({
                 url: '/pages/cooperative/details'

+ 36 - 0
pages/cooperative/details.css

@@ -0,0 +1,36 @@
+.container{
+    padding: 0;
+}
+
+.cooperativeImgBox{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 480rpx;
+}
+.cooperativeImg{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+
+.itemBox {
+    width: 100%;
+    font-size: 50rpx;
+}
+.itemBox:nth-child(2n-1){
+    background: #ccc;
+}
+.itemBox:nth-child(2n){
+    background: #ddd;
+}
+
+.item{
+    /*width: 100%;*/
+    /*background-color: #57f5a1;*/
+}

+ 32 - 146
pages/cooperative/details.vue

@@ -1,178 +1,64 @@
 <template>
-    <!-- pages/fuwu/fuwu.wxml -->
     <view class="container">
-        <!-- 供销社列表 -->
-        <view class="rnwdList" @tap="goDetails" v-for="(item, index) in list" :key="index">
-            <!--<span class="lb">{{ item.name }}</span>-->
-            <view class="cooperativeImgBox">
-                <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg" @tap="goDetails"></image>
-            </view>
-            <view class="cooperativeBox">
-                <view class="list">
-                    <span class="listTitle">{{ item.name }}</span>
-                    <view class="jlSj">
-                        <span class="jf">
-                            {{ item.address }}
-                        </span>
-                    </view>
-                </view>
+        <!-- 供销社详情 -->
+        <view class="cooperativeImgBox">
+            <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg"></image>
+        </view>
+        <view class="itemBox" v-for="(item, index) in list" :key="index">
+            <view class="item">
+                <span>
+                    {{ item.title }}:
+                </span>
+                <span>
+                    {{ item.content }}
+                </span>
             </view>
-            <em class="iconfont icon-xiangyoujiantou"></em>
         </view>
-
-
-        <!-- 问答类别 -->
-
-        <!--<ul class="wendaFL">-->
-            <!--<li class="sanNong">-->
-                <!--<image :src="loadImgSrc('/snbj.png')" class="lbBj" @tap="goSanNong"></image>-->
-                <!--<h2>三农</h2>-->
-                <!--<span>1566</span>-->
-            <!--</li>-->
-            <!--<li class="jiuYe">-->
-                <!--<image :src="loadImgSrc('/jybj.png')" class="lbBj"></image>-->
-                <!--<h2>就业</h2>-->
-                <!--<span>1589</span>-->
-            <!--</li>-->
-        <!--</ul>-->
-        <!--<ul class="wendaFL">-->
-            <!--<li class="faLv">-->
-                <!--<image :src="loadImgSrc('/flbj.png')" class="lbBj"></image>-->
-                <!--<h2>法律</h2>-->
-                <!--<span>6589</span>-->
-            <!--</li>-->
-            <!--<li class="jiuZhen">-->
-                <!--<image :src="loadImgSrc('/jzbj.png')" class="lbBj"></image>-->
-                <!--<h2>就诊</h2>-->
-                <!--<span>1566</span>-->
-            <!--</li>-->
-        <!--</ul>-->
-        <!--<ul class="wendaFL">-->
-            <!--<li class="jiuYe">-->
-                <!--<image :src="loadImgSrc('/zkbj.png')" class="lbBj"></image>-->
-                <!--<h2>智库</h2>-->
-                <!--<span>1589</span>-->
-            <!--</li>-->
-            <!--<li class="sanNong">-->
-                <!--<image :src="loadImgSrc('/lybj.png')" class="lbBj"></image>-->
-                <!--<h2>旅游</h2>-->
-                <!--<span>6589</span>-->
-            <!--</li>-->
-        <!--</ul>-->
-        <!-- 问答列表 -->
-        <!--<view class="rnwdList" @tap="goDetails" v-for="(item, index) in wb" :key="index">-->
-            <!--<span class="lb">{{ item.type }}</span>-->
-
-            <!--<view class="list">-->
-                <!--<span class="listTitle">{{ item.title }}</span>-->
-                <!--<view class="jlSj">-->
-                    <!--<span class="jf">-->
-                        <!--{{ item.jf }}-->
-                        <!--<em class="iconfont icon-jifen"></em>-->
-                    <!--</span>-->
-                    <!--<view class="ck">-->
-                        <!--<span>-->
-                            <!--<em class="iconfont icon-pinglun"></em>-->
-                            <!--{{ item.pl }}-->
-                        <!--</span>-->
-                        <!--<span>-->
-                            <!--<em class="iconfont icon-chakan"></em>-->
-                            <!--{{ item.ck }}-->
-                        <!--</span>-->
-                        <!--<span>-->
-                            <!--<em class="iconfont icon-shoucang"></em>-->
-                            <!--{{ item.dz }}-->
-                        <!--</span>-->
-                    <!--</view>-->
-                <!--</view>-->
-            <!--</view>-->
-
-            <!--<em class="iconfont icon-xiangyoujiantou"></em>-->
-        <!--</view>-->
     </view>
 </template>
 
 <script>
-// pages/fuwu/fuwu.js
 export default {
     data() {
         return {
             list: [
                 {
-                    name:"供销社1",
-                    address:"供销社地址1",
-                    chargePeople:"负责人1",
-                    chargePhone:"13103215236",
-                    imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+                    title: "名称",
+                    content: "第十三号供销社",
                 },
                 {
-                    name:"供销社2",
-                    address:"供销社地址2",
-                    chargePeople:"负责人2",
-                    chargePhone:"09876543210",
-                    imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+                    title: "地址",
+                    content: "十三号街区地下研究所",
                 },
                 {
-                    name:"供销社3",
-                    address:"供销社地址3",
-                    chargePeople:"负责人3",
-                    chargePhone:"12345678910",
-                    imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+                    title: "负责人",
+                    content: "高耀",
+                },
+                {
+                    title: "负责人电话",
+                    content: "13178945612",
                 }
             ],
-
-
-            wb: [
-				{
-					ck: '10',
-					dz: '120',
-					id: 1,
-					jf: '100',
-					pl: '10',
-					title: '探索乡村能源供给新模式',
-					type: '三农'
-				},
-				{
-					ck: '20',
-					dz: '220',
-					id: 2,
-					jf: '200',
-					ly: '20',
-					title: '探索乡村能源供给新模式 美丽新画卷',
-					type: '三农'
-				},
-				{
-					ck: '30',
-					dz: '30',
-					id: 3,
-					jf: '300',
-					pl: '30',
-					title: '探索乡村能源供给新模式 绘就乡村振兴美丽新画卷',
-					type: '三农'
-				}
-			]
-        };
+            cooperative: {
+                name:"供销社1",
+                address:"供销社地址1",
+                chargePeople:"负责人1",
+                chargePhone:"13103215236",
+                imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+            }
+        }
     }
     /**
      * 生命周期函数--监听页面加载
      */,
     onLoad(options) {
+        console.log(666)
     },
     methods: {
-        goSanNong() {
-            uni.navigateTo({
-                url: '/pages/sannong/sannong'
-            });
-        },
 
-        goDetails() {
-            uni.navigateTo({
-                url: '/pages/cooperative/details'
-            });
-        }
     }
 };
 </script>
 <style>
-@import './cooperative.css';
+@import './details.css';
 </style>

+ 28 - 4
pages/index/index.vue

@@ -111,7 +111,7 @@
                     </li>
                     <li>
                         <view class="gxs" @tap="goCooperative"><em class="iconfont icon-gongxiaoshelogo"></em></view>
-                        <span>供销社</span>
+                        <span @tap="goSpecialService">供销社</span>
                     </li>
                     <li>
                         <view class="xlzx"><em class="iconfont icon-linshijiuzhu"></em></view>
@@ -122,7 +122,7 @@
                         <span>知识库</span>
                     </li>
                     <li>
-                        <view class="lvxd"><em class="iconfont icon-zhibo"></em></view>
+                        <view class="lvxd"><em class="iconfont icon-zhibo" @tap="gozbdh"></em></view>
                         <span>直播带货</span>
                     </li>
                     <li>
@@ -356,7 +356,7 @@ export default {
         },
       goHangQing() {
         uni.navigateTo({
-          url: '/pages/hangqing/hangqing'
+          url: '/pages/quotations/quotations'
         });
       },
         goShangCheng() {
@@ -376,11 +376,35 @@ export default {
                 url: '/pages/cooperative/cooperative'
             });
         },
+        goSpecialService() {
+		    console.log(66666)
+            uni.navigateTo({
+                url: '/pages/specialService/loveAtVillage/loveAtVillage'
+            });
+        },
+        goLegalService() {
+            uni.navigateTo({
+                url: '/pages/specialService/legalService/legalService'
+            });
+        },
+        goFinancialInfrastructure() {
+            uni.navigateTo({
+                url: '/pages/specialService/financialInfrastructure/financialInfrastructure'
+            });
+        },
 		goBanShi() {
 			uni.navigateTo({
 				url: '/pages/handleAffairs/handleAffairs'
 			});
-		}
+		},
+		/**
+		 * 跳转直播带货页面
+		 */
+		gozbdh(){
+			uni.navigateTo({
+			    url: '/pages/liveBroadcast/liveBroadcast'
+			});
+		},
     }
 };
 </script>

+ 103 - 0
pages/liveBroadcast/liveBroadcast.css

@@ -0,0 +1,103 @@
+/* pages/wenda/wenda.wxss */
+.wendaFL {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0 0 0;
+}
+.wendaFL li {
+    width: 48%;
+    height: 168rpx;
+    position: relative;
+}
+.lbBj {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+.wendaFL li h2 {
+    font-size: 36rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 40rpx;
+    z-index: 1;
+    font-weight: bold;
+}
+.wendaFL li span {
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 88rpx;
+    z-index: 1;
+}
+.wendaFL li.sanNong {
+    color: #0d9970;
+}
+.wendaFL li.jiuYe {
+    color: #1e8fb4;
+}
+.wendaFL li.faLv {
+    color: #1e5dab;
+}
+.wendaFL li.jiuZhen {
+    color: #4a700d;
+}
+/* 列表 */
+.rnwdList {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 20rpx 0;
+}
+.list {
+    width: 79%;
+}
+.lb {
+    background: #0d9970;
+    color: #fff;
+    font-size: 24rpx;
+    width: 12%;
+    text-align: center;
+    padding: 2rpx 0;
+    line-height: 40rpx;
+    height: 40rpx;
+    border-radius: 10rpx;
+}
+.listTitle {
+    font-size: 32rpx;
+    color: #333;
+    line-height: 40rpx;
+}
+.jlSj {
+    height: 40rpx;
+    display: flex;
+    justify-content: space-between;
+    font-size: 24rpx;
+    margin: 20rpx 0 0 0;
+}
+.jf {
+    color: #07c160;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+}
+.icon-pinglun,
+.icon-chakan,
+.icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+}
+.icon-xiangyoujiantou {
+    font-size: 30rpx;
+    color: #c4c4c4;
+    line-height: 60rpx;
+}

+ 86 - 0
pages/liveBroadcast/liveBroadcast.vue

@@ -0,0 +1,86 @@
+<template>
+	<!-- 直播带货列表 -->
+	<view>
+		<view class="rnwdList" @tap="goDetails" v-for="(item, index) in dataSource" :key="index">
+			<span class="lb">{{ item.type }}</span>
+
+			<view class="list">
+				<span class="listTitle">{{ item.title }}</span>
+				<view class="jlSj">
+					<span class="jf">
+						{{ item.jf }}
+						<em class="iconfont icon-jifen"></em>
+					</span>
+					<view class="ck">
+						<span>
+							<em class="iconfont icon-pinglun"></em>
+							{{ item.pl }}
+						</span>
+						<span>
+							<em class="iconfont icon-chakan"></em>
+							{{ item.ck }}
+						</span>
+						<span>
+							<em class="iconfont icon-shoucang"></em>
+							{{ item.dz }}
+						</span>
+					</view>
+				</view>
+			</view>
+
+			<em class="iconfont icon-xiangyoujiantou"></em>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				dataSource: [{
+						ck: '10',
+						dz: '120',
+						id: 1,
+						jf: '100',
+						pl: '10',
+						title: '探索乡村能源供给新模式',
+						type: '三农'
+					},
+					{
+						ck: '20',
+						dz: '220',
+						id: 2,
+						jf: '200',
+						pl: '20',
+						title: '探索乡村能源供给新模式 美丽新画卷',
+						type: '三农'
+					},
+					{
+						ck: '30',
+						dz: '30',
+						id: 3,
+						jf: '300',
+						pl: '30',
+						title: '探索乡村能源供给新模式 绘就乡村振兴美丽新画卷',
+						type: '三农'
+					}
+				]
+			}
+		},
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		onLoad(options) {},
+		methods: {
+			goDetails() {
+			    uni.navigateTo({
+			        url: '/pages/liveBroadcastDetails/liveBroadcastDetails'
+			    });
+			},
+		}
+	}
+</script>
+
+<style>
+	@import './liveBroadcast.css';
+</style>

+ 160 - 0
pages/liveBroadcastDetails/liveBroadcastDetails.css

@@ -0,0 +1,160 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 248 - 0
pages/liveBroadcastDetails/liveBroadcastDetails.vue


+ 0 - 0
pages/quotations/quotations.css


+ 159 - 0
pages/quotations/quotations.vue

@@ -0,0 +1,159 @@
+<template>
+  <view>
+    <view>
+      <scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll" scroll-left="120">
+        <uni-grid :column="5" @change="change" showBorder="false" square="false">
+          <uni-grid-item v-for="item in categories" :index="item.id">
+            <view class="grid-item-box">
+              <image class="image" :src="loadImgSrc(item.icon)" mode="aspectFit"></image>
+              <text class="text">{{ item.productName }}</text>
+            </view>
+          </uni-grid-item>
+        </uni-grid>
+      </scroll-view>
+    </view>
+    <view class="uni-container">
+      <uni-table>
+        <uni-tr>
+          <uni-th width="80" align="center">名称</uni-th>
+          <uni-th width="80" align="center">类型</uni-th>
+          <uni-th width="80" align="center">价格</uni-th>
+          <uni-th width="100" align="center">时间</uni-th>
+        </uni-tr>
+        <uni-tr v-for="(item, index) in quotationsList" :key="index">
+          <uni-td align="center">{{ item.productName }}
+          </uni-td>
+          <uni-td align="center">
+            <view class="name">{{ item.type }}</view>
+          </uni-td>
+          <uni-td align="center">{{ item.price }}
+          </uni-td>
+          <uni-td align="center">{{ item.createTime }}
+          </uni-td>
+        </uni-tr>
+      </uni-table>
+      <uni-fab ref="fab"  :horizontal="right" :vertical="bottom"
+                 @fabClick="fabClick('bottom')"/>
+    </view>
+    <uni-popup ref="popup" background-color="#fff" @change="popup">
+    <view class="example">
+      <!-- 基础用法,不包含校验规则 -->
+      <uni-forms ref="baseForm" :modelValue="form" >
+        <uni-forms-item label="产品名称" required>
+          <uni-easyinput v-model="form.productName" placeholder="请输入产品名称" />
+        </uni-forms-item>
+        <uni-forms-item label="地区" required>
+          <uni-easyinput v-model="form.area" placeholder="请输入地区" />
+        </uni-forms-item>
+        <uni-forms-item label="价格" required>
+          <uni-easyinput v-model="form.price" placeholder="请输入价格" />
+        </uni-forms-item>
+        <uni-forms-item label="地址" required>
+          <uni-easyinput v-model="form.address" placeholder="请输入地址" />
+        </uni-forms-item>
+        <uni-forms-item label="手机号" required>
+          <uni-easyinput v-model="form.phone" placeholder="请输入手机号" />
+        </uni-forms-item>
+        <uni-forms-item label="图片" required>
+        <upload :imgArr="imageList" :fileSize="1" :limit="3" @updateImg="updateImg"></upload>
+        </uni-forms-item>
+      </uni-forms>
+    </view>
+    </uni-popup>
+  </view>
+</template>
+
+<script>
+import {listConfig, listQuotations} from "@/api/quotations/quotations";
+
+export default {
+  data() {
+    return {
+      //是否显示弹出层
+      open: false,
+      //悬浮按钮右对齐
+      right:'right',
+      //悬浮按钮下对齐
+      bottom:'bottom',
+      //分类列表
+      categories: [
+        // 这里是一级分类的数据
+      ],
+      // 行情列表
+      quotationsList: [
+        // 这里是列表的数据
+      ],
+      //查询参数
+      queryParams: {
+        // pageNum: 1,
+        // pageSize: 10,
+        id: null,
+      },
+      //表单数据
+      form:{},
+      imageList:[]
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    getList(row) {
+      // 这里是获取列表的方法
+      listQuotations().then(response => {
+        this.quotationsList = response.rows.map(item => {
+          let date = new Date(item.createTime);
+          item.createTime = date.toLocaleDateString('zh-CN', {dateStyle: 'short'});
+          return item;
+        });
+      });
+      //获取分类树的方法
+      listConfig().then(response => {
+        this.categories = response.data.quotations;
+      });
+    },
+    //根据分类id查询列表
+    change(e) {
+      this.queryParams.type = e.detail.index;
+      listQuotations(this.queryParams).then(response => {
+        this.quotationsList = response.rows.map(item => {
+          let date = new Date(item.createTime);
+          item.createTime = date.toLocaleDateString('zh-CN', {dateStyle: 'short'});
+          return item;
+        });
+      });
+    },
+    //悬浮按钮点击事件
+    fabClick(type){
+      this.type = type
+      // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+      this.$refs.popup.open(type)
+    },
+    popup(){
+
+    }
+
+  }
+}
+</script>
+
+<style>
+.grid-item-box {
+  flex: 1;
+// position: relative;
+  /* #ifndef APP-NVUE */
+  display: flex;
+  /* #endif */
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 0px 0;
+}
+
+.image {
+  height: 100%;
+  width: 100%;
+}
+
+
+</style>

+ 36 - 0
pages/specialService/financialInfrastructure/details.css

@@ -0,0 +1,36 @@
+.container{
+    padding: 0;
+}
+
+.cooperativeImgBox{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 480rpx;
+}
+.cooperativeImg{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+
+.itemBox {
+    width: 100%;
+    font-size: 50rpx;
+}
+.itemBox:nth-child(2n-1){
+    background: #ccc;
+}
+.itemBox:nth-child(2n){
+    background: #ddd;
+}
+
+.item{
+    /*width: 100%;*/
+    /*background-color: #57f5a1;*/
+}

+ 64 - 0
pages/specialService/financialInfrastructure/details.vue

@@ -0,0 +1,64 @@
+<template>
+    <view class="container">
+        <!-- 供销社详情 -->
+        <view class="cooperativeImgBox">
+            <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg"></image>
+        </view>
+        <view class="itemBox" v-for="(item, index) in list" :key="index">
+            <view class="item">
+                <span>
+                    {{ item.title }}:
+                </span>
+                <span>
+                    {{ item.content }}
+                </span>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            list: [
+                {
+                    title: "名称",
+                    content: "第十三号供销社",
+                },
+                {
+                    title: "地址",
+                    content: "十三号街区地下研究所",
+                },
+                {
+                    title: "负责人",
+                    content: "高耀",
+                },
+                {
+                    title: "负责人电话",
+                    content: "13178945612",
+                }
+            ],
+            cooperative: {
+                name:"供销社1",
+                address:"供销社地址1",
+                chargePeople:"负责人1",
+                chargePhone:"13103215236",
+                imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+            }
+        }
+    }
+    /**
+     * 生命周期函数--监听页面加载
+     */,
+    onLoad(options) {
+        console.log(666)
+    },
+    methods: {
+
+    }
+};
+</script>
+<style>
+@import './details.css';
+</style>

+ 36 - 0
pages/specialService/legalService/details.css

@@ -0,0 +1,36 @@
+.container{
+    padding: 0;
+}
+
+.cooperativeImgBox{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 480rpx;
+}
+.cooperativeImg{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+
+.itemBox {
+    width: 100%;
+    font-size: 50rpx;
+}
+.itemBox:nth-child(2n-1){
+    background: #ccc;
+}
+.itemBox:nth-child(2n){
+    background: #ddd;
+}
+
+.item{
+    /*width: 100%;*/
+    /*background-color: #57f5a1;*/
+}

+ 64 - 0
pages/specialService/legalService/details.vue

@@ -0,0 +1,64 @@
+<template>
+    <view class="container">
+        <!-- 供销社详情 -->
+        <view class="cooperativeImgBox">
+            <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg"></image>
+        </view>
+        <view class="itemBox" v-for="(item, index) in list" :key="index">
+            <view class="item">
+                <span>
+                    {{ item.title }}:
+                </span>
+                <span>
+                    {{ item.content }}
+                </span>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            list: [
+                {
+                    title: "名称",
+                    content: "第十三号供销社",
+                },
+                {
+                    title: "地址",
+                    content: "十三号街区地下研究所",
+                },
+                {
+                    title: "负责人",
+                    content: "高耀",
+                },
+                {
+                    title: "负责人电话",
+                    content: "13178945612",
+                }
+            ],
+            cooperative: {
+                name:"供销社1",
+                address:"供销社地址1",
+                chargePeople:"负责人1",
+                chargePhone:"13103215236",
+                imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+            }
+        }
+    }
+    /**
+     * 生命周期函数--监听页面加载
+     */,
+    onLoad(options) {
+        console.log(666)
+    },
+    methods: {
+
+    }
+};
+</script>
+<style>
+@import './details.css';
+</style>

+ 36 - 0
pages/specialService/loveAtVillage/details.css

@@ -0,0 +1,36 @@
+.container{
+    padding: 0;
+}
+
+.cooperativeImgBox{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 480rpx;
+}
+.cooperativeImg{
+    position: static;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+
+.itemBox {
+    width: 100%;
+    font-size: 50rpx;
+}
+.itemBox:nth-child(2n-1){
+    background: #ccc;
+}
+.itemBox:nth-child(2n){
+    background: #ddd;
+}
+
+.item{
+    /*width: 100%;*/
+    /*background-color: #57f5a1;*/
+}

+ 64 - 0
pages/specialService/loveAtVillage/details.vue

@@ -0,0 +1,64 @@
+<template>
+    <view class="container">
+        <!-- 供销社详情 -->
+        <view class="cooperativeImgBox">
+            <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg"></image>
+        </view>
+        <view class="itemBox" v-for="(item, index) in list" :key="index">
+            <view class="item">
+                <span>
+                    {{ item.title }}:
+                </span>
+                <span>
+                    {{ item.content }}
+                </span>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            list: [
+                {
+                    title: "名称",
+                    content: "第十三号供销社",
+                },
+                {
+                    title: "地址",
+                    content: "十三号街区地下研究所",
+                },
+                {
+                    title: "负责人",
+                    content: "高耀",
+                },
+                {
+                    title: "负责人电话",
+                    content: "13178945612",
+                }
+            ],
+            cooperative: {
+                name:"供销社1",
+                address:"供销社地址1",
+                chargePeople:"负责人1",
+                chargePhone:"13103215236",
+                imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+            }
+        }
+    }
+    /**
+     * 生命周期函数--监听页面加载
+     */,
+    onLoad(options) {
+        console.log(666)
+    },
+    methods: {
+
+    }
+};
+</script>
+<style>
+@import './details.css';
+</style>

+ 128 - 0
pages/specialService/loveAtVillage/loveAtVillage.css

@@ -0,0 +1,128 @@
+/* pages/wenda/wenda.wxss */
+.wendaFL {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0 0 0;
+}
+.wendaFL li {
+    width: 48%;
+    height: 168rpx;
+    position: relative;
+}
+.cooperativeBox{
+    position: relative;
+    left: 30rpx;
+    top: 10rpx;
+    z-index: 0;
+    width: 800rpx;
+    height: 100rpx;
+}
+.cooperativeImgBox{
+    position: relative;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 330rpx;
+    height: 100rpx;
+}
+.cooperativeImg{
+    position: relative;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+
+.lbBj {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+.wendaFL li h2 {
+    font-size: 36rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 40rpx;
+    z-index: 1;
+    font-weight: bold;
+}
+.wendaFL li span {
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 88rpx;
+    z-index: 1;
+}
+.wendaFL li.sanNong {
+    color: #0d9970;
+}
+.wendaFL li.jiuYe {
+    color: #1e8fb4;
+}
+.wendaFL li.faLv {
+    color: #1e5dab;
+}
+.wendaFL li.jiuZhen {
+    color: #4a700d;
+}
+/* 列表 */
+.rnwdList {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 20rpx 0;
+}
+.list {
+    width: 79%;
+}
+.lb {
+    background: #0d9970;
+    color: #fff;
+    font-size: 24rpx;
+    width: 12%;
+    text-align: center;
+    padding: 2rpx 0;
+    line-height: 40rpx;
+    height: 40rpx;
+    border-radius: 10rpx;
+}
+.listTitle {
+    font-size: 32rpx;
+    color: #333;
+    line-height: 40rpx;
+}
+.jlSj {
+    height: 40rpx;
+    display: flex;
+    justify-content: space-between;
+    font-size: 24rpx;
+    margin: 20rpx 0 0 0;
+}
+.jf {
+    color: #07c160;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+}
+.icon-pinglun,
+.icon-chakan,
+.icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+}
+.icon-xiangyoujiantou {
+    font-size: 30rpx;
+    color: #c4c4c4;
+    line-height: 60rpx;
+}

+ 69 - 0
pages/specialService/loveAtVillage/loveAtVillage.vue

@@ -0,0 +1,69 @@
+<template>
+    <view class="container">
+        <!-- 供销社列表 -->
+        <view class="rnwdList" @tap="goDetails" v-for="(item, index) in list" :key="index">
+            <view class="cooperativeImgBox">
+                <image :src="loadImgSrc('/snbj.png')" class="cooperativeImg" @tap="goDetails"></image>
+            </view>
+            <view class="cooperativeBox">
+                <view class="list">
+                    <span class="listTitle">{{ item.name }}</span>
+                    <view class="jlSj">
+                        <span class="jf">
+                            {{ item.address }}
+                        </span>
+                    </view>
+                </view>
+            </view>
+            <em class="iconfont icon-xiangyoujiantou"></em>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            list: [
+                {
+                    name:"供销社1",
+                    address:"供销社地址1",
+                    chargePeople:"负责人1",
+                    chargePhone:"13103215236",
+                    imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+                },
+                {
+                    name:"供销社2",
+                    address:"供销社地址2",
+                    chargePeople:"负责人2",
+                    chargePhone:"09876543210",
+                    imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+                },
+                {
+                    name:"供销社3",
+                    address:"供销社地址3",
+                    chargePeople:"负责人3",
+                    chargePhone:"12345678910",
+                    imgUrl:"/profile/upload/2024/03/01/nacos_20240301145836A002.png"
+                }
+            ],
+        };
+    }
+    /**
+     * 生命周期函数--监听页面加载
+     */,
+    onLoad(options) {
+
+    },
+    methods: {
+        goDetails() {
+            uni.navigateTo({
+                url: '/pages/cooperative/details'
+            });
+        }
+    }
+};
+</script>
+<style>
+@import './loveAtVillage.css';
+</style>

+ 1 - 1
pages/wenba/wenba.vue

@@ -69,7 +69,7 @@
 
             <em class="iconfont icon-xiangyoujiantou"></em>
         </view>
-		<upload :imgArr="imageList" @updateImg="updateImg"></upload>
+		<upload :imgArr="imageList" :fileSize="1" :limit="3" @updateImg="updateImg"></upload>
     </view>
 </template>
 

+ 2 - 1
plugins/modal.js

@@ -3,7 +3,8 @@ export default {
   msg(content) {
     uni.showToast({
       title: content,
-      icon: 'none'
+      icon: 'none',
+      duration: 2000
     })
   },
   // 错误消息

+ 4 - 0
vue.config.js

@@ -0,0 +1,4 @@
+
+module.exports = {
+    transpileDependencies: ['@dcloudio/uni-ui']
+}