Commit 1b38b4ce7d747d73cc6b3c1ba168064c8cc1a4e1

Authored by monkeyhouyi
1 parent 00e7322c

商铺、广告-列表、详情

pages.json
... ... @@ -53,6 +53,12 @@
53 53 "navigationBarBackgroundColor": "#FFFFFF"
54 54 }
55 55 },{
  56 + "path": "pages/advertisementDetail/advertisementDetail",
  57 + "style": {
  58 + "navigationBarTitleText": "详情",
  59 + "navigationBarBackgroundColor": "#FFFFFF"
  60 + }
  61 + },{
56 62 "path": "pages/advertisement/advertisement",
57 63 "style": {
58 64 "navigationBarTitleText": "租广告",
... ... @@ -103,7 +109,7 @@
103 109 },{
104 110 "path": "pages/advertisementAdd/advertisementAdd",
105 111 "style": {
106   - "navigationBarTitleText": "申请",
  112 + "navigationBarTitleText": "广告申请",
107 113 "navigationBarBackgroundColor": "#FFFFFF"
108 114 }
109 115 },
... ...
pages/activityAdd/activityAdd.vue
... ... @@ -31,7 +31,6 @@
31 31 </view>
32 32 <!-- <view class="add-list" style="padding-bottom: 0;">
33 33 <u-form-item label="活动内容" borderBottom labelPosition="top">
34   - <u-upload :active="active" :file-list="form.fileList" :max-count="1"></u-upload>
35 34 </u-form-item>
36 35 </view> -->
37 36 </u-form>
... ... @@ -69,6 +68,8 @@
69 68 },
70 69 typeShow: false,
71 70 typeList: [{ value: '1', label: '类型1' }, { value: '2', label: '类型2' }],
  71 + readOnly: false,
  72 + formats: {}
72 73 };
73 74 },
74 75 methods:{
... ... @@ -93,7 +94,7 @@
93 94 },
94 95 typeChange(val) {
95 96 this.form.type = val[0].name;
96   - }
  97 + },
97 98 }
98 99 }
99 100 </script>
... ...
pages/advertisement/advertisement.scss
... ... @@ -6,49 +6,28 @@
6 6 height: 100%;
7 7 }
8 8 .head-search{
9   - display: flex;
10   - align-items: center;
11   - justify-content: space-between;
  9 + display: flex;
  10 + align-items: center;
  11 + justify-content: space-between;
  12 + position: relative;
  13 + margin: 20rpx 0;
  14 + background-color: #FFFFFF;
  15 + border-radius: 35rpx;
  16 + padding: 0 10rpx;
  17 + border: 2rpx solid #E8E8E8;
  18 + margin: 22rpx 24rpx;
  19 + .u-search {
12 20 position: relative;
13   - margin: 20rpx;
14   - .search{
15   - display: flex;
16   - align-items: center;
17   - width: 100%;
18   - height: 72rpx;
19   - // border: 2rpx solid #E8E8E8;
20   - border-radius: 100rpx;
21   - .icon{
22   - display: flex;
23   - align-items: center;
24   - margin-left: 20rpx;
25   - margin-right: 15rpx;
26   - image{
27   - width: 29rpx;
28   - height: 29rpx;
29   - }
30   - }
31   - .hint{
32   - display: flex;
33   - align-items: center;
34   - position: relative;
35   - width: 100%;
36   - .max{
37   - font-size: 26rpx;
38   - color: #fff;
39   - background-color:#3F9B6A;
40   - border-radius: 100rpx;
41   - padding: 10rpx 25rpx;
42   - position: absolute;
43   - right: 0;
44   - }
45   - .min{
46   - font-size: 26rpx;
47   - color: #B5B5B5;
48   - }
49   - }
50   - }
51 21 }
  22 + .u-btn {
  23 + border: unset;
  24 + border: 0px transparent;
  25 + height: 46rpx;
  26 + width: 88rpx;
  27 + font-size: 24rpx;
  28 + border-radius: 35rpx;
  29 + }
  30 +}
52 31 /* 订单列表 */
53 32 .screen-list {
54 33 display: flex;
... ... @@ -85,11 +64,14 @@
85 64 padding: 0 25rpx;
86 65 .list{
87 66 display: flex;
88   - margin-bottom: 40rpx;
  67 + margin-bottom: 20rpx;
  68 + background-color: #fff;
  69 + padding: 14rpx;
  70 + border-radius: 14rpx;
89 71 .thumb{
90 72 display: flex;
91 73 align-items: center;
92   - width: 30%;
  74 + width: 20vw;
93 75 image{
94 76 width: 100%;
95 77 // height: 280rpx;
... ...
pages/advertisement/advertisement.vue
... ... @@ -2,21 +2,14 @@
2 2 <view class="page">
3 3 <!-- 搜索 -->
4 4 <view class="head-search">
5   - <view class="search">
6   - <!-- <view class="icon">
7   - <image src="/static/search.png" mode=""></image>
8   - </view>
9   - <view class="hint">
10   - <text class="min">请输入关键词</text>
11   - <text class="max">搜索</text>
12   - </view> -->
13   - <u-search placeholder="请输入" v-model="keyword" @search="sousu" @custom="sousu"></u-search>
14   - </view>
  5 + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search>
  6 + <u-button type="success" @click="search">搜索</u-button>
15 7 </view>
16 8 <view class="screen-list">
17   - <view class="list" @click="setList(0)">
  9 + <view class="list" @click="typeshow = true">
18 10 <text>类型</text>
19   - <image :src="$imgUrl('/down.png')"></image>
  11 + <image :src="$imgUrl('/down.png')"></image>
  12 + <u-select v-model="typeshow" :list="typeList" @confirm="(v) => {queryChange('advertisingType', v)}"></u-select>
20 13 </view>
21 14 <view class="list" @click="setList(1)">
22 15 <text>租金</text>
... ... @@ -35,9 +28,10 @@
35 28 <!-- 订单列表 -->
36 29 <view class="goods-data">
37 30 <view class="goods-list">
38   - <view class="list" v-for="(item,index) in tableData" :key="index">
  31 + <view class="list" v-for="(item,index) in tableData" :key="index" @click="toDetail(item)">
39 32 <view class="thumb">
40   - <image :src="item.locationDiagram" mode="widthFix"></image>
  33 + <u-image width="20vw" height="20vw" :src="item.locationDiagram"></u-image>
  34 + <!-- <image :src="item.locationDiagram" mode="widthFix"></image> -->
41 35 </view>
42 36 <view class="item">
43 37 <view class="title">
... ... @@ -50,17 +44,9 @@
50 44 </view>
51 45 <view class="goods-list-text">
52 46 <view class="goods-list-txt">投放定价:<text>100元/天</text></view>
53   - <view class="goods-list-txt">历史平均点击率:<text>80%</text></view>
54   - </view>
55   - <view class="goods-list-text">
56   - <view class="goods-list-txt">高频时段:<text>18:00 - 20:00</text></view>
57 47 <view class="goods-list-txt">单次可租赁时间:<text>1天</text></view>
58 48 </view>
59 49 </view>
60   - <view>
61   - <view @click="advertisementTime" class="goods-btn">可租赁时段
62   - <image :src="$imgUrl('/right1.png')"></image></view>
63   - </view>
64 50 </view>
65 51 </view>
66 52 </view>
... ... @@ -73,13 +59,21 @@
73 59 data() {
74 60 return {
75 61 tableData: [],
  62 + query: {
  63 + keyword: '',
  64 + advertisingType: '',
  65 + },
76 66 pageindex: {
77 67 pageNumber: 1,
78 68 pageSize: 10,
79   - advertisingType:'线上广告位'
80 69 },
81   - keyword:'',
  70 + typeshow: false,
  71 + typeList: [
  72 + { value: '线上广告位', label: '线上广告位'},
  73 + { value: '实体广告位', label: '实体广告位'},
  74 + ],
82 75 show:false,
  76 +
83 77 companys:[
84 78 {
85 79 value: '1',
... ... @@ -96,23 +90,41 @@
96 90 this.getAll()
97 91 },
98 92 methods: {
99   - advertisementTime() {
100   - uni.navigateTo({
101   - url: '/pages/advertisementTime/advertisementTime'
102   - })
103   - },
104 93 //查询全数据
105   - getAll() {
106   -
107   - this.$http.sendRequest('/cereAdvertisingInformation/likeGet', 'POST', this.pageindex,1).then(res => {
108   - //成功回调
109   - this.tableData = res.data.data.content
110   - console.log(res.data.data.content)
111   - }).catch(err => {
112   - console.log(err)
  94 + getAll() {
  95 + let query = Object.assign(this.pageindex, this.query);
  96 + this.$http.sendRequest('/cereAdvertisingInformation/likeGet', 'POST', query, 1).then(res => {
  97 + //成功回调
  98 + this.tableData = res.data.data.content;
  99 + }).catch(err => {
  100 + console.log(err)
113 101 //请求失败
114   - })
  102 + })
  103 + },
  104 + search() {
  105 + this.pageindex = {
  106 + pageNumber: 1,
  107 + pageSize: 10,
  108 + };
  109 + this.getAll();
  110 + },
  111 + queryChange(key, val) {
  112 + this.query[`${key}`] = val[0].value;
  113 + this.search();
  114 + },
  115 + toDetail(item) {
  116 + let items = JSON.stringify(item)
  117 + uni.navigateTo({
  118 + url: `/pages/advertisementDetail/advertisementDetail?item=${items}`
  119 + })
115 120 },
  121 +
  122 +
  123 + // advertisementTime() {
  124 + // uni.navigateTo({
  125 + // url: '/pages/advertisementTime/advertisementTime'
  126 + // })
  127 + // },
116 128 setList(val){
117 129 console.log(val)
118 130 if(val == 0){
... ...
pages/advertisementAdd/advertisementAdd.scss
... ... @@ -3,9 +3,13 @@
3 3 left: 0;
4 4 top: 0;
5 5 width: 100%;
6   - height: 100%;
  6 + overflow-y: scroll;
  7 + height: calc(100% - 120rpx);
7 8 background-color: #f6f6f6;
8 9 }
  10 +.steps-box {
  11 + padding-top: 40rpx;
  12 +}
9 13  
10 14 .add-list{
11 15 padding: 0 4%;
... ... @@ -55,6 +59,38 @@
55 59 }
56 60 }
57 61 }
  62 + .deom-box {
  63 + width: 100vw;
  64 + display: flex !important;
  65 + padding: 14rpx 0;
  66 + background-color: #FFFFFF;
  67 + border-radius: 9px;
  68 + // margin-top: 9px;
  69 + width: 100%;
  70 + // .u-upload {
  71 + // .u-add-wrap {
  72 + // width: 304rpx !important;
  73 + // height: 182rpx !important;
  74 + // }
  75 + // }
  76 + // .u-upload {
  77 + // height: 88px;
  78 + // width: 155px;
  79 + // background: url(/static/images/uploadID1.png);
  80 + // background-size:134rpx 188rpx;
  81 + // background-repeat:no-repeat;
  82 + // }
  83 + .img-deom {
  84 + flex: 1;
  85 + display: flex;
  86 + flex-direction: column;
  87 + align-items: center;
  88 + padding: 20rpx;
  89 + text {
  90 + margin-top: 18rpx;
  91 + }
  92 + }
  93 + }
58 94 }
59 95  
60 96 /* 保存按钮 */
... ... @@ -63,8 +99,9 @@
63 99 left: 0;
64 100 bottom: 0;
65 101 display: flex;
  102 + align-items: center;
66 103 width: 100%;
67   - height: 100rpx;
  104 + height: 125rpx;
68 105 background-color: #FFFFFF;
69 106 padding-bottom: constant(safe-area-inset-bottom);
70 107 padding-bottom: env(safe-area-inset-bottom);
... ... @@ -89,37 +126,6 @@
89 126 }
90 127 }
91 128  
92   -.page-footera {
93   - position: fixed;
94   - left: 0;
95   - bottom: 100rpx;
96   - display: flex;
97   - width: 100%;
98   - height: 100rpx;
99   - background-color: #FFFFFF;
100   - .footer-buya{
101   - display: flex;
102   - align-items: center;
103   - justify-content: space-between;
104   - width: 100%;
105   - padding: 0 30rpx;
106   - .cart-adda{
107   - display: flex;
108   - align-items: center;
109   - justify-content: center;
110   - text{
111   - font-size: 28rpx;
112   - }
113   - }
114   - .cart-addb {
115   - text{
116   - font-size: 28rpx;
117   - font-weight: bold;
118   - }
119   - }
120   - }
121   -}
122   -
123 129 .feedback-data{
124 130 width: 100%;
125 131 padding-bottom: 20rpx;
... ...
pages/advertisementAdd/advertisementAdd.vue
1 1 <template>
2 2 <view class="page">
3   - <view class="add-list">
4   - <view class="list">
5   - <view class="title">
6   - <text>申请投放广告位</text>
7   - </view>
8   - <view class="content">
9   - A小程序首页顶部banner
10   - </view>
11   - </view>
12   - <view class="list">
13   - <view class="title">
14   - <text>所属移动端</text>
15   - </view>
16   - <view class="content">
17   - A小程序
18   - </view>
19   - </view>
20   - <view class="list">
21   - <view class="title">
22   - <text>申请人姓名</text>
23   - <text class="star">*</text>
24   - </view>
25   - <view class="content">
26   - <input type="text" placeholder="请输入">
27   - </view>
28   - </view>
29   - <view class="list">
30   - <view class="title">
31   - <text>活动内容</text>
32   - <text class="star">*</text>
33   - </view>
34   - <view class="content">
35   - <input type="text" placeholder="请输入">
36   - </view>
37   - </view>
38   - <view class="list">
39   - <view class="title">
40   - <text>联系方式</text>
41   - <text class="star">*</text>
42   - </view>
43   - <view class="content">
44   - <input type="text" placeholder="请输入">
45   - </view>
46   - </view>
47   - <view class="list">
48   - <view class="title">
49   - <text>投放时间</text>
50   - <text class="star">*</text>
51   - </view>
52   - <view class="content">
53   - <input type="text" placeholder="请选择">
54   - <image :src="$imgUrl('/right2.png')"></image>
55   - </view>
56   - </view>
57   - <view class="list">
58   - <view class="title">
59   - <text>广告标题</text>
60   - <text class="star">*</text>
61   - </view>
62   - <view class="content">
63   - <input type="text" placeholder="请输入">
64   - </view>
65   - </view>
66   - <view class="list">
67   - <view class="title">
68   - <text>跳转链接</text>
69   - <text class="star">*</text>
70   - </view>
71   - <view class="content">
72   - <input type="text" placeholder="请输入">
73   - </view>
  3 + <view class="steps-box">
  4 + <u-steps :list="numList" :current="active"></u-steps>
  5 + </view>
  6 + <view>
  7 + <view class="add-list" v-if="active == 0">
  8 + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  9 + <u-form-item label="经营用途" prop="name" borderBottom>
  10 + <u-input v-model="model1.name" ></u-input>
  11 + </u-form-item>
  12 + <u-form-item label="意向租期" prop="name" borderBottom>
  13 + <u-input v-model="model1.name" ></u-input>
  14 + </u-form-item>
  15 + <u-form-item label="经营主体" prop="name" borderBottom>
  16 + <u-input v-model="model1.name" ></u-input>
  17 + </u-form-item>
  18 + </u-form>
74 19 </view>
75   - <view class="list">
76   - <view class="title">
77   - <text>投放内容</text>
78   - <text class="star">*</text>
79   - </view>
80   - <view class="content">
81   - <input type="text" placeholder="请输入">
82   - </view>
  20 + <view class="add-list" v-else-if='active == 1'>
  21 + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  22 + <u-form-item label="主体名称" prop="name" borderBottom>
  23 + <u-input v-model="model1.name" ></u-input>
  24 + </u-form-item>
  25 + <u-form-item label="统一社会信用代码" prop="name" borderBottom>
  26 + <u-input v-model="model1.name" ></u-input>
  27 + </u-form-item>
  28 + <u-form-item label="类型" prop="type" borderBottom>
  29 + <u-input v-model="model1.type" type="select" @click="model1.typeShow = true" placeholder='请选择类型'/>
  30 + <u-select v-model="model1.typeShow" :list="activesType" @confirm="typeChange"></u-select>
  31 + </u-form-item>
  32 + <u-form-item label="法定代表人" prop="name" borderBottom>
  33 + <u-input v-model="model1.name" ></u-input>
  34 + </u-form-item>
  35 + <u-form-item label="经营范围" prop="name" borderBottom>
  36 + <u-input v-model="model1.name" ></u-input>
  37 + </u-form-item>
  38 + <u-form-item label="注册资本" prop="name" borderBottom>
  39 + <u-input v-model="model1.name" ></u-input>
  40 + </u-form-item>
  41 + <u-form-item label="成立日期" prop="name" borderBottom>
  42 + <u-input v-model="model1.name" ></u-input>
  43 + </u-form-item>
  44 + <u-form-item label="住所" prop="name" borderBottom>
  45 + <u-input v-model="model1.name" ></u-input>
  46 + </u-form-item>
  47 + <u-form-item label="邮箱地址" prop="name" borderBottom>
  48 + <u-input v-model="model1.name" ></u-input>
  49 + </u-form-item>
  50 + <u-form-item label="经营期限" prop="name" borderBottom>
  51 + <u-input v-model="model1.name" ></u-input>
  52 + </u-form-item>
  53 + <u-form-item label="营业执照" prop="name" borderBottom labelPosition="top">
  54 + <u-upload :active="active" :file-list="model1.fileList" ></u-upload>
  55 + </u-form-item>
  56 + </u-form>
83 57 </view>
84   - <view class="feedback-data">
85   - <view>
86   - <view class="title">
87   - <text>图片</text>
88   - <text class="star">*</text>
  58 + <view v-else>
  59 + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  60 + <view class="add-list">
  61 + <u-form-item label="经营者姓名" prop="name" borderBottom>
  62 + <u-input v-model="model1.name" ></u-input>
  63 + </u-form-item>
  64 + <u-form-item label="证件类型" prop="type" borderBottom>
  65 + <u-input v-model="model1.type" type="select" @click="model1.typeShow = true" placeholder='请选择类型'/>
  66 + <u-select v-model="model1.typeShow" :list="activesType" @confirm="typeChange"></u-select>
  67 + </u-form-item>
  68 + <u-form-item label="身份证号码" prop="name" borderBottom>
  69 + <u-input v-model="model1.name" ></u-input>
  70 + </u-form-item>
  71 + <u-form-item label="身份证有效期" prop="name" borderBottom>
  72 + <u-input v-model="model1.name" ></u-input>
  73 + </u-form-item>
  74 + </view>
  75 + <view class="add-list">
  76 + <view class="deom-box">
  77 + <view class="img-deom">
  78 + <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1">
  79 + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
  80 + <u-image width="304rpx" height="182rpx" src="/static/images/uploadID1.png"></u-image>
  81 + </view>
  82 + </u-upload>
  83 + <text>点击上传证件人像面</text>
  84 + </view>
  85 + <view class="img-deom">
  86 + <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1">
  87 + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
  88 + <u-image width="304rpx" height="182rpx" src="/static/images/uploadID2.png"></u-image>
  89 + </view>
  90 + </u-upload>
  91 + <text>点击上传证件国徽面</text>
  92 + </view>
  93 + </view>
  94 + </view>
  95 + <view class="add-list">
  96 + <view style="line-height: 60rpx;">上传示例</view>
  97 + <view class="deom-box">
  98 + <view class="img-deom">
  99 + <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image>
  100 + <text>人脸示例图</text>
  101 + </view>
  102 + <view class="img-deom">
  103 + <u-image width="304rpx" height="182rpx" src="/static/images/back-icon.png"></u-image>
  104 + <text>国徽面示例图</text>
  105 + </view>
  106 + </view>
89 107 </view>
90   - </view>
91   - <view class="voucher-img">
92   - <view class="voucher-list">
93   - <image :src="$imgUrl('/voucher_bg.png')" ></image>
  108 + <text style="display: inline-block; font-size: 24rpx; line-height: 30px; margin: 24rpx 30rpx 0;">请拍摄证件原件,保证照片拍摄清晰,取图完整,不反光。</text>
  109 + <view class="add-list" labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  110 + <u-form-item label="是否为法人" prop="name" borderBottom>
  111 + <u-radio-group v-model="model1.name">
  112 + <u-radio :name="1">是</u-radio>
  113 + <u-radio :name="2">否</u-radio>
  114 + </u-radio-group>
  115 + </u-form-item>
  116 + <u-form-item label="企业授权书" prop="name" borderBottom labelPosition="top">
  117 + <u-upload :active="active" :file-list="model1.fileList" ></u-upload>
  118 + </u-form-item>
94 119 </view>
95   - </view>
  120 + </u-form>
96 121 </view>
97 122 </view>
98 123 <!-- 保存按钮 -->
99   - <view class="page-footera">
100   - <view class="footer-buya">
101   - <view class="cart-adda">
102   - <text>合计</text>
103   - </view>
104   - <view class="cart-addb">
105   - <text>1896.00元/4天</text>
106   - </view>
107   - </view>
108   - </view>
109   - <view class="page-footer" @click="shenq">
110   - <view class="footer-buy">
111   - <view class="cart-add">
112   - <text>立即申请</text>
113   - </view>
114   - </view>
  124 + <view class="page-footer">
  125 + <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor" v-if="active != 0">上一步</u-button>
  126 + <u-button type="success" style="flex: 1; margin: 0 10px;" @click="toNext" v-if="active != 2">下一步</u-button>
  127 + <u-button type="success" style="flex: 1; margin: 0 10px;" @click="go" v-if="active == 2">提交申请</u-button>
115 128 </view>
116 129 </view>
117 130 </template>
... ... @@ -120,29 +133,53 @@
120 133 export default {
121 134 data() {
122 135 return {
  136 + active: 2,
  137 + numList: [{name: '租赁信息'}, {name: '主体信息'}, {name: '经营者信息'}],
  138 + model1: {
  139 + name: '',
  140 + type: '',
  141 + typeShow: false,
  142 + fileList: [], // 文件列表
  143 + },
  144 + rules: {},
  145 + // 类型
  146 + showType: false,
  147 + activesType: [
  148 + {value: 1, label: '类型1'},
  149 + {value: 2, label: '类型2'},
  150 + ],
  151 + // 上传文件
  152 + active: '', // 地址
123 153  
124 154 };
125 155 },
126   - onShow() {
127   -
128   -
129   - },
  156 + onLoad() {
  157 + // 检查用户是否登录
  158 + const isLogin = uni.getStorageSync('token') || false;
  159 + if (!isLogin) {
  160 + // 如果未登录,跳转到登录页面
  161 + uni.redirectTo({
  162 + url: '/pages/login/login'
  163 + });
  164 + }
  165 + },
130 166 methods:{
131   - shenq(){
132   - const isLogin = uni.getStorageSync('token') || false;
133   - if (!isLogin) {
134   - // 如果未登录,跳转到登录页面
135   - uni.navigateTo({
136   - url: '/pages/login/login',
137   - })
138   - }else{
139   - uni.navigateTo({
140   - url: '/pages/servicerecords/servicerecords',
141   - })
142   - }
143   -
  167 + typeChange(e) {
  168 + this.model1.type = e[0].label;
  169 + },
  170 + go(){
  171 + uni.navigateTo({
  172 + url: '/pages/record/record'
  173 + })
  174 + },
  175 + // 上一步
  176 + toBefor() {
  177 + this.active = +this.active - 1;
  178 + },
  179 + // 下一步
  180 + toNext() {
  181 + this.active = +this.active + 1;
144 182 }
145   -
146 183 }
147 184 }
148 185 </script>
... ...
pages/details/details.scss
... ... @@ -30,10 +30,12 @@
30 30 }
31 31 .banner-item-form {
32 32 .form-item {
  33 + line-height: 30rpx;
  34 + font-size: 24rpx;
33 35 display: flex;
34 36 justify-content: flex-start;
35 37 align-items: top;
36   - padding: 8rpx 0;
  38 + padding: 14rpx 0;
37 39 }
38 40 }
39 41 &:last-child {
... ...
pages/details/details.vue
... ... @@ -20,33 +20,41 @@
20 20 <view class="banner-item field">
21 21 <view class="banner-item-title">场地信息</view>
22 22 <view class="banner-item-form">
23   - <view class="form-item" style="width: 50%;">
24   - <view class="label">场地类型:</view>
25   - <text>{{tableData.architecturalForm}}</text>
26   - </view>
27   - <view class="form-item" style="width: 50%;">
28   - <view class="label">实际使用面积:</view>
29   - <text>{{tableData.actualUsableArea}}</text>
30   - </view>
31   - <view class="form-item">
32   - <view class="label">所属区域:</view>
33   - <text>{{tableData.belongingRegion}}</text>
34   - </view>
35   - <view class="form-item">
36   - <view class="label">规划图纸:</view>
37   - <view>
38   - <u-image v-if="tableData.architecturalDrawings" :showLoading="true" :src="tableData.architecturalDrawings" width="calc(90vw - 140rpx)" height="300rpx"></u-image>
39   - <text v-else>暂无</text>
40   - </view>
41   - <!-- architecturalDrawings -->
42   - </view>
43   - <view class="form-item">
44   -
45   - </view>
46   - <view class="form-item">
47   - <view class="label" style="width: 142rpx;">位置描述:</view>
48   - <text style='flex: 1;'>{{tableData.detailedLocation}}</text>
49   - </view>
  23 + <u-row gutter="10">
  24 + <u-col span="6">
  25 + <view class="form-item">
  26 + <view class="label">场地类型:</view>
  27 + <text>{{tableData.architecturalForm}}</text>
  28 + </view>
  29 + </u-col>
  30 + <u-col span="6">
  31 + <view class="form-item">
  32 + <view class="label">实际使用面积:</view>
  33 + <text>{{tableData.actualUsableArea}}m²</text>
  34 + </view>
  35 + </u-col>
  36 + <u-col span="6">
  37 + <view class="form-item">
  38 + <view class="label">所属区域:</view>
  39 + <text>{{tableData.belongingRegion}}</text>
  40 + </view>
  41 + </u-col>
  42 + <u-col span="12">
  43 + <view class="form-item">
  44 + <view class="label">规划图纸:</view>
  45 + <view>
  46 + <u-image v-if="tableData.architecturalDrawings" :showLoading="true" :src="tableData.architecturalDrawings" width="calc(90vw - 140rpx)" height="300rpx"></u-image>
  47 + <text v-else>暂无</text>
  48 + </view>
  49 + </view>
  50 + </u-col>
  51 + <u-col span="12">
  52 + <view class="form-item">
  53 + <view class="label" style="width: 142rpx;">位置描述:</view>
  54 + <text style='flex: 1;'>{{tableData.detailedLocation}}</text>
  55 + </view>
  56 + </u-col>
  57 + </u-row>
50 58 </view>
51 59 </view>
52 60 <view class="banner-item position">
... ... @@ -87,6 +95,7 @@
87 95 <view class="footer-btn">
88 96 <u-button type="primary">意向申请</u-button>
89 97 <u-button type="success" style="margin-left: unset;" @click="leaseAdd">租赁申请</u-button>
  98 + <!-- <u-button type="success" style="margin-left: unset;" @click="leaseAdd">广告申请</u-button> -->
90 99 </view>
91 100 <view class="footer-service">
92 101 <u-image :showLoading="true" src="/static/images/share-icon.png" width="30rpx" height="30rpx"></u-image>
... ...
pages/mycreated/mycreated.scss
... ... @@ -3,7 +3,7 @@
3 3 left: 0;
4 4 top: 0;
5 5 width: 100%;
6   - min-height: 100vh;
  6 + height: 100%;
7 7 // padding: 0 40rpx;
8 8 // background-color: #fff;
9 9 }
... ...
pages/mycreated/mycreated.vue
1 1 <template>
2 2 <view class="page">
3 3 <view class="tabs-box">
4   - <u-tabs-swiper ref="tabs" :current="current" :list="tabList" @change="tabsChange" :is-scroll="false" :font-size="24" active-color="#0FBB59" :height="70"></u-tabs-swiper>
  4 + <u-tabs-swiper ref="tabs" :current="current" :list="tabList" @change="tabsChange" :is-scroll="false" :font-size="24" active-color="#0FBB59" :height="70">
  5 + </u-tabs-swiper>
5 6 </view>
6 7 <!-- 搜索 -->
7 8 <view class="head-search">
... ...
pages/participation/participation.scss
... ... @@ -4,22 +4,20 @@
4 4 top: 0;
5 5 width: 100%;
6 6 height: 100%;
7   - padding: 0 24rpx;
8 7 }
9 8 .more {
10   - width: 100%;
11 9 height: 74rpx;
12 10 background-color: #fff;
13 11 border-radius: 21rpx;
14 12 padding: 24rpx 32rpx 18rpx;
15   - margin-top: 26rpx;
  13 + margin: 26rpx 24rpx 0;
16 14 }
17 15 .head-search{
18 16 display: flex;
19 17 align-items: center;
20 18 justify-content: space-between;
21 19 position: relative;
22   - margin: 20rpx 0;
  20 + margin: 20rpx 24rpx;
23 21 background-color: #FFFFFF;
24 22 border-radius: 35rpx;
25 23 padding: 0 10rpx;
... ... @@ -38,33 +36,32 @@
38 36 }
39 37 /* 订单列表 */
40 38 .screen-list {
  39 + display: flex;
  40 + align-items: center;
  41 + width: 100%;
  42 + margin-bottom: 20rpx;
  43 + width: 100%;
  44 + .list {
41 45 display: flex;
  46 + justify-content: center;
42 47 align-items: center;
43   - width: 100%;
44   - margin: 40rpx 0;
45   - width: 100%;
46   - .list {
47   - display: flex;
48   - justify-content: center;
49   - align-items: center;
50   - width: 25%;
51   - height: 100%;
52   - text {
53   - font-size: 26rpx;
54   - color: #555555;
55   - }
56   - image {
57   - width: 30rpx;
58   - height: 30rpx;
59   - margin-left: 10rpx;
60   - }
  48 + width: 25%;
  49 + height: 100%;
  50 + text {
  51 + font-size: 26rpx;
  52 + color: #555555;
  53 + }
  54 + image {
  55 + width: 30rpx;
  56 + height: 30rpx;
  57 + margin-left: 10rpx;
61 58 }
62   -
63   -
64 59 }
  60 +}
65 61  
66 62 .goods-data{
67 63 width: 100%;
  64 + padding: 0 24rpx;
68 65 // height: calc(100% - 300rpx - 120rpx);
69 66 // overflow-y: scroll;
70 67 .goods-list{
... ...
pages/participation/participation.vue
... ... @@ -14,7 +14,7 @@
14 14 <u-button type="success" @click="search">搜索</u-button>
15 15 </view>
16 16 <view class="screen-list">
17   - <u-dropdown menu-icon="arrow-down-fill">
  17 + <u-dropdown menu-icon="arrow-down-fill" :title-size="24" :height="40">
18 18 <u-dropdown-item v-model="query.sortType" title="时间排序" :options="sortTypeOptions" @change="search"></u-dropdown-item>
19 19 <u-dropdown-item v-model="query.status" title="活动状态" :options="statusOptions" @change="search"></u-dropdown-item>
20 20 </u-dropdown>
... ...
pages/shops/shops.scss
... ... @@ -6,51 +6,28 @@
6 6 height: 100%;
7 7 }
8 8 .head-search{
9   - display: flex;
10   - align-items: center;
11   - justify-content: space-between;
  9 + display: flex;
  10 + align-items: center;
  11 + justify-content: space-between;
  12 + position: relative;
  13 + margin: 20rpx 0;
  14 + background-color: #FFFFFF;
  15 + border-radius: 35rpx;
  16 + padding: 0 10rpx;
  17 + border: 2rpx solid #E8E8E8;
  18 + margin: 22rpx 24rpx;
  19 + .u-search {
12 20 position: relative;
13   - margin: 20rpx;
14   - .search{
15   - display: flex;
16   - align-items: center;
17   - width: 100%;
18   - // padding: 0 10rpx;
19   - height: 72rpx;
20   - // background-color: #fff;
21   - border: 2rpx solid #E8E8E8;
22   - border-radius: 100rpx;
23   - .icon{
24   - display: flex;
25   - align-items: center;
26   - margin-left: 20rpx;
27   - margin-right: 15rpx;
28   - image{
29   - width: 29rpx;
30   - height: 29rpx;
31   - }
32   - }
33   - .hint{
34   - display: flex;
35   - align-items: center;
36   - position: relative;
37   - width: 100%;
38   - .max{
39   - font-size: 26rpx;
40   - color: #fff;
41   - background-color:#3F9B6A;
42   - border-radius: 100rpx;
43   - padding: 10rpx 25rpx;
44   - position: absolute;
45   - right: 0;
46   - }
47   - .min{
48   - font-size: 26rpx;
49   - color: #B5B5B5;
50   - }
51   - }
52   - }
53 21 }
  22 + .u-btn {
  23 + border: unset;
  24 + border: 0px transparent;
  25 + height: 46rpx;
  26 + width: 88rpx;
  27 + font-size: 24rpx;
  28 + border-radius: 35rpx;
  29 + }
  30 +}
54 31 /* 订单列表 */
55 32 .screen-list {
56 33 display: flex;
... ... @@ -97,11 +74,15 @@
97 74 padding: 0 25rpx;
98 75 .list{
99 76 display: flex;
100   - margin-bottom: 40rpx;
  77 + margin-bottom: 20rpx;
  78 + background-color: #fff;
  79 + padding: 14rpx;
  80 + border-radius: 14rpx;
101 81 .thumb{
102 82 display: flex;
103 83 align-items: center;
104   - width: 36%;
  84 + // width: 36%;
  85 + width: 25vw;
105 86 image{
106 87 width: 230rpx;
107 88 height: 230rpx;
... ...
pages/shops/shops.vue
... ... @@ -2,14 +2,14 @@
2 2 <view class="page">
3 3 <!-- 搜索 -->
4 4 <view class="head-search">
5   - <view class="search">
6   - <u-search placeholder="请输入" v-model="keyword" @search="sousu" @custom="sousu"></u-search>
7   - </view>
  5 + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search>
  6 + <u-button type="success" @click="search">搜索</u-button>
8 7 </view>
9 8 <view class="screen-list">
10   - <view class="list" @click="setList(0)">
  9 + <view class="list" @click="show = true">
11 10 <text>区域</text>
12 11 <image :src="$imgUrl('/down.png')"></image>
  12 + <u-select v-model="show" :list="areList" @confirm="(v) => {queryChange('belongingRegion', v)}"></u-select>
13 13 </view>
14 14 <view class="list" @click="setList(1)">
15 15 <text>租金</text>
... ... @@ -19,7 +19,7 @@
19 19 <text>默认排序</text>
20 20 <image :src="$imgUrl('/down.png')"></image>
21 21 </view>
22   - <!-- <view class="list" @click="setList(3)">
  22 + <!-- <view class="list" @click="setList(3)">
23 23 <text>筛选</text>
24 24 <image :src="`${this.$imgs}/down.png`" ></image>
25 25 </view> -->
... ... @@ -33,7 +33,8 @@
33 33 <view class="goods-list">
34 34 <view class="list" v-for="(item,index) in tableData" :key="index" @click="reconciliationdetail(item)">
35 35 <view class="thumb">
36   - <image :src="item.displayMainImage" mode=""></image>
  36 + <u-image width="25vw" height="25vw" :src="item.displayMainImage"></u-image>
  37 + <!-- <image :src="item.displayMainImage" mode=""></image> -->
37 38 </view>
38 39 <view class="item">
39 40 <view class="title">
... ... @@ -128,11 +129,27 @@
128 129 export default {
129 130 data() {
130 131 return {
131   - tableData: [],
  132 + query: {
  133 + keyword:'',
  134 + belongingRegion: '',
  135 + },
132 136 pageindex: {
133 137 pageNumber: 1,
134 138 pageSize: 10,
135 139 },
  140 + tableData: [],
  141 + areList: [
  142 + {value: '武侯区', label: '武侯区'},
  143 + {value: '锦江区', label: '锦江区'},
  144 + {value: '青羊区', label: '青羊区'},
  145 + {value: '金牛区', label: '金牛区'},
  146 + {value: '双流区', label: '双流区'},
  147 + {value: '郫都区', label: '郫都区'},
  148 + {value: '龙泉驿区', label: '龙泉驿区'},
  149 + {value: '温江区', label: '温江区'},
  150 + ], // 区域列表
  151 +
  152 +
136 153 zidongS: false,
137 154 formList: {
138 155 zulei: '',
... ... @@ -168,24 +185,16 @@
168 185 show1:false,
169 186 list:[],
170 187 xuanval:0,
171   - keyword:''
172   -
173 188 }
174 189 },
175 190 mounted() {
176 191 this.getAll()
177 192 },
178 193 methods: {
179   - reconciliationdetail(item) {
180   - let items = JSON.stringify(item)
181   - uni.navigateTo({
182   - url: `/pages/details/details?item=${items}`
183   - })
184   - },
185   - //查询全数据
  194 + //请求列表数据
186 195 getAll() {
187   -
188   - this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.pageindex, 1).then(res => {
  196 + let query = Object.assign(this.query, this.pageindex);
  197 + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', query, 1).then(res => {
189 198 //成功回调
190 199 this.tableData = res.data.data.content
191 200 }).catch(err => {
... ... @@ -193,6 +202,24 @@
193 202 //请求失败
194 203 })
195 204 },
  205 + // 查询
  206 + search() {
  207 + this.pageindex = { pageNumber: 1, pageSize: 10 };
  208 + this.getAll();
  209 + },
  210 + queryChange(key, val) {
  211 + this.query[`${key}`] = val[0].value;
  212 + this.search();
  213 + },
  214 + reconciliationdetail(item) {
  215 + let items = JSON.stringify(item)
  216 + uni.navigateTo({
  217 + url: `/pages/details/details?item=${items}`
  218 + })
  219 + },
  220 +
  221 +
  222 + // 自动匹配
196 223 zidong() {
197 224 this.zidongS = true
198 225 },
... ... @@ -283,9 +310,9 @@
283 310 const filteredTableData = this.tableData.filter(item => item.hasOwnProperty('belongingRegion'));
284 311  
285 312 // 提取 belongingRegion 字段并进行去重
286   - const labeledBelongingRegions = filteredTableData.map(item => ({
287   - label: item.belongingRegion
288   - }));
  313 + const labeledBelongingRegions = filteredTableData.map(item => ({
  314 + label: item.belongingRegion
  315 + }));
289 316  
290 317 const uniqueBelongingRegions = [...new Set(labeledBelongingRegions)];
291 318 console.log(uniqueBelongingRegions)
... ...