Commit 354e3811f7b1fad2df183449dbd719b6fe199b48
1 parent
65b37b05
'验收'
Showing
86 changed files
with
4448 additions
and
1138 deletions
main.js
| ... | ... | @@ -10,8 +10,11 @@ import DialogBox from './components/DialogBox/DialogBox'; |
| 10 | 10 | Vue.config.productionTip = false |
| 11 | 11 | Vue.prototype.$http = http |
| 12 | 12 | Vue.prototype.$imgUrl = (url) => { |
| 13 | - return ("http://8.130.38.56:8027/local/file/static" + url); | |
| 14 | -}; | |
| 13 | + return ("https://jy.scjysm.asia:18086/mefile/file/static" + url); | |
| 14 | +} | |
| 15 | +// Vue.prototype.$upload = "http://172.16.61.48/admin-server/file/upload" | |
| 16 | + | |
| 17 | +Vue.prototype.$upload = "https://jy.scjysm.asia:18086/admin-server/file/upload" | |
| 15 | 18 | |
| 16 | 19 | // 全局组件 |
| 17 | 20 | Vue.component('DialogBox', DialogBox); | ... | ... |
manifest.json
| ... | ... | @@ -101,9 +101,13 @@ |
| 101 | 101 | "mp-weixin" : { |
| 102 | 102 | "appid" : "wx005c61919377e6af", |
| 103 | 103 | "setting" : { |
| 104 | - "urlCheck" : false | |
| 104 | + "urlCheck" : false, | |
| 105 | + "es6" : true, | |
| 106 | + "postcss" : false, | |
| 107 | + "minified" : false | |
| 105 | 108 | }, |
| 106 | - "usingComponents" : true | |
| 109 | + "usingComponents" : true, | |
| 110 | + "permission" : {} | |
| 107 | 111 | }, |
| 108 | 112 | "mp-alipay" : { |
| 109 | 113 | "usingComponents" : true |
| ... | ... | @@ -116,7 +120,8 @@ |
| 116 | 120 | }, |
| 117 | 121 | "h5" : { |
| 118 | 122 | "router" : { |
| 119 | - "mode" : "history" | |
| 123 | + "mode" : "hash", | |
| 124 | + "base" : "./" | |
| 120 | 125 | }, |
| 121 | 126 | "title" : "商城", |
| 122 | 127 | "devServer" : { |
| ... | ... | @@ -129,6 +134,7 @@ |
| 129 | 134 | "key" : "6YVBZ-Z6EC4-JYNUH-FGQKA-G6PAE-JVF3U" |
| 130 | 135 | } |
| 131 | 136 | } |
| 132 | - } | |
| 137 | + }, | |
| 138 | + "template" : "home.vue" | |
| 133 | 139 | } |
| 134 | 140 | } | ... | ... |
pages.json
| ... | ... | @@ -99,7 +99,7 @@ |
| 99 | 99 | { |
| 100 | 100 | "path": "pages/recordService/recordService", |
| 101 | 101 | "style": { |
| 102 | - "navigationBarTitleText": "服务记录", | |
| 102 | + "navigationBarTitleText": "申请记录", | |
| 103 | 103 | "navigationBarBackgroundColor": "#FFFFFF" |
| 104 | 104 | } |
| 105 | 105 | }, |
| ... | ... | @@ -120,7 +120,7 @@ |
| 120 | 120 | { |
| 121 | 121 | "path": "pages/repair/repair", |
| 122 | 122 | "style": { |
| 123 | - "navigationBarTitleText": "故障报修", | |
| 123 | + "navigationBarTitleText": "报事报修", | |
| 124 | 124 | "navigationBarBackgroundColor": "#FFFFFF" |
| 125 | 125 | } |
| 126 | 126 | }, |
| ... | ... | @@ -301,8 +301,80 @@ |
| 301 | 301 | "navigationBarTitleText": "缴费记录", |
| 302 | 302 | "navigationBarBackgroundColor": "#FFFFFF" |
| 303 | 303 | } |
| 304 | - } | |
| 305 | - | |
| 304 | + }, | |
| 305 | + { | |
| 306 | + "path": "pages/privacy/privacy", | |
| 307 | + "style": { | |
| 308 | + "navigationBarTitleText": "用户隐私政策", | |
| 309 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 310 | + } | |
| 311 | + }, | |
| 312 | + { | |
| 313 | + "path": "pages/ticketBooking/ticketBooking", | |
| 314 | + "style": { | |
| 315 | + "navigationBarTitleText": "票务预定", | |
| 316 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 317 | + } | |
| 318 | + }, | |
| 319 | + { | |
| 320 | + "path" : "pages/saleReport/saleReport", | |
| 321 | + "style" : | |
| 322 | + { | |
| 323 | + "navigationBarTitleText" : "销售上报", | |
| 324 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 325 | + } | |
| 326 | + }, | |
| 327 | + { | |
| 328 | + "path" : "pages/procedureDetail/procedureDetail", | |
| 329 | + "style" : | |
| 330 | + { | |
| 331 | + "navigationBarTitleText" : "通知详情", | |
| 332 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 333 | + } | |
| 334 | + }, | |
| 335 | + { | |
| 336 | + "path" : "pages/dialogue/dialogue", | |
| 337 | + "style" : | |
| 338 | + { | |
| 339 | + "navigationBarTitleText" : "" | |
| 340 | + } | |
| 341 | + }, | |
| 342 | + { | |
| 343 | + "path" : "pages/serve/serve", | |
| 344 | + "style": { | |
| 345 | + "navigationBarTitleText": "服务记录", | |
| 346 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 347 | + } | |
| 348 | + },{ | |
| 349 | + "path" : "pages/activityDetail/activityDetail", | |
| 350 | + "style": { | |
| 351 | + "navigationBarTitleText": "详情", | |
| 352 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 353 | + } | |
| 354 | + }, | |
| 355 | + { | |
| 356 | + "path" : "pages/serve/jiDed", | |
| 357 | + "style": { | |
| 358 | + "navigationBarTitleText": "详情", | |
| 359 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 360 | + } | |
| 361 | + }, | |
| 362 | + { | |
| 363 | + "path" : "pages/setPage/setPage", | |
| 364 | + "style": { | |
| 365 | + "navigationBarTitleText": "创建问卷", | |
| 366 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 367 | + } | |
| 368 | + }, | |
| 369 | + { | |
| 370 | + "path" : "pages/questionnaire/questDetail/questDetail", | |
| 371 | + "style": { | |
| 372 | + "navigationBarTitleText": "问卷详情", | |
| 373 | + "navigationBarBackgroundColor": "#FFFFFF" | |
| 374 | + } | |
| 375 | + } | |
| 376 | + | |
| 377 | + | |
| 306 | 378 | ], |
| 307 | 379 | "globalStyle": { |
| 308 | 380 | "navigationBarTextStyle": "black" | ... | ... |
pages/accepting/accepting.vue
| ... | ... | @@ -4,21 +4,30 @@ |
| 4 | 4 | <view class="record-list"> |
| 5 | 5 | <view class="good-item"> |
| 6 | 6 | <view class="img"> |
| 7 | - <u-image width="100%" height="100%" :src="$imgUrl('/img/2.jpg')"></u-image> | |
| 7 | + <u-image width="100%" height="100%" :src="record.cereBasicInformationShop&&record.cereBasicInformationShop.displayMainImage?record.cereBasicInformationShop.displayMainImage:record.cereBasicInformationVenue&&record.cereBasicInformationVenue.displayImage?record.cereBasicInformationVenue.displayImage:record.cereAdvertisingInformation&&record.cereAdvertisingInformation.locationDiagram?record.cereAdvertisingInformation.locationDiagram:''"></u-image> | |
| 8 | 8 | </view> |
| 9 | 9 | <view class="info"> |
| 10 | - <view class="title">这里有标题这里有标题这里有...</view> | |
| 11 | - <view class="info-item" style="margin-bottom: 30rpx;"> | |
| 10 | + <view class="title">{{ | |
| 11 | + record.cereBasicInformationShop&&record.cereBasicInformationShop.shopName?record.cereBasicInformationShop.shopName:record.cereBasicInformationVenue&&record.cereBasicInformationVenue.venueName?record.cereBasicInformationVenue.venueName:record.cereAdvertisingInformation&&record.cereAdvertisingInformation.advertisingName?record.cereAdvertisingInformation.advertisingName:''}}</view> | |
| 12 | + <!-- <view class="info-item" style="margin-bottom: 30rpx;"> | |
| 12 | 13 | <u-tag text="标签标签" type="success" size="mini"/> |
| 13 | 14 | <u-tag text="标签标签" type="success" size="mini"/> |
| 15 | + </view> --> | |
| 16 | + <view class="info-item" style="margin-bottom: 24rpx;" v-if="!record.advertisingSpaceType"> | |
| 17 | + <u-image :showLoading="true" :src="$imgUrl('/location-icon.png')" width="20rpx" height="20rpx"></u-image> | |
| 18 | + <text>{{ | |
| 19 | + record.cereBasicInformationShop&&record.cereBasicInformationShop.detailedLocation?record.cereBasicInformationShop.detailedLocation:record.cereBasicInformationVenue&&record.cereBasicInformationVenue.detailedLocation?record.cereBasicInformationVenue.detailedLocation:'' | |
| 20 | + }}</text> | |
| 14 | 21 | </view> |
| 15 | - <view class="info-item" style="margin-bottom: 24rpx;"> | |
| 16 | - <u-image :showLoading="true" src="/static/images/location-icon.png" width="20rpx" height="20rpx"></u-image> | |
| 17 | - <text>这里有地址这里有地址这里...</text> | |
| 22 | + <view class="info-item" style="margin-bottom: 24rpx;" v-if="record.advertisingSpaceType"> | |
| 23 | + <text style="padding-right: 20rpx;">广告位类型:</text> | |
| 24 | + <text>{{record.advertisingSpaceType?record.advertisingSpaceType:'' | |
| 25 | + }}</text> | |
| 18 | 26 | </view> |
| 19 | 27 | <view class="info-item"> |
| 20 | - <text style="padding-right: 20rpx;">租金:<span>¥1067/月</span></text> | |
| 21 | - <text>面积:<span>81/m²</span></text> | |
| 28 | + <text style="padding-right: 20rpx;" v-if="!record.advertisingSpaceType">租金:<span>¥1067/月</span></text> | |
| 29 | + <text style="padding-right: 20rpx;" v-if="record.advertisingSpaceType">租金:<span>¥1067/天</span></text> | |
| 30 | + <text v-if="!record.advertisingSpaceType">面积:<span>81/m²</span></text> | |
| 22 | 31 | </view> |
| 23 | 32 | </view> |
| 24 | 33 | </view> |
| ... | ... | @@ -27,77 +36,89 @@ |
| 27 | 36 | <!-- 租赁详情 --> |
| 28 | 37 | <view class="form-item"> |
| 29 | 38 | <view class="label">申请时间</view> |
| 30 | - <text>2022-02-22 14:00</text> | |
| 39 | + <text>{{record.applicationTime}}</text> | |
| 31 | 40 | </view> |
| 32 | 41 | <view class="form-item"> |
| 33 | 42 | <view class="label">申请状态</view> |
| 34 | - <text>申请中</text> | |
| 43 | + <text>{{record.auditStatus == '1'?'待审核':record.auditStatus == '2'?'审核通过':record.auditStatus == '3'?'已驳回':''}}</text> | |
| 35 | 44 | </view> |
| 36 | - <view class="form-item"> | |
| 45 | + <view class="form-item" v-if="!record.advertisingSpaceType"> | |
| 37 | 46 | <view class="label">经营用途</view> |
| 38 | - <text>火锅店</text> | |
| 47 | + <text>{{record.businessPurpose}}</text> | |
| 39 | 48 | </view> |
| 40 | - <view class="form-item"> | |
| 49 | + <view class="form-item" v-if="record.advertisingSpaceType"> | |
| 50 | + <view class="label">投放时段</view> | |
| 51 | + <text>{{record.scheduleTime}}</text> | |
| 52 | + </view> | |
| 53 | + <view class="form-item" v-if="record.advertisingSpaceType"> | |
| 54 | + <view class="label">链接</view> | |
| 55 | + <text>{{record.redirectUrl}}</text> | |
| 56 | + </view> | |
| 57 | + <view class="form-item" v-if="record.advertisingSpaceType"> | |
| 58 | + <view class="label">广告标题</view> | |
| 59 | + <text>{{record.adTitle}}</text> | |
| 60 | + </view> | |
| 61 | + <view class="form-item" v-if="!record.advertisingSpaceType"> | |
| 41 | 62 | <view class="label">意向租期</view> |
| 42 | - <text>2022-03-22 至 2024-02-22</text> | |
| 63 | + <text>{{record.intendedLeaseTerm}}</text> | |
| 43 | 64 | </view> |
| 44 | - <view class="form-item"> | |
| 65 | + <view class="form-item" v-if="!record.advertisingSpaceType"> | |
| 45 | 66 | <view class="label">经营主体</view> |
| 46 | - <text>企业</text> | |
| 67 | + <text>{{record.operatingEntity}}</text> | |
| 47 | 68 | </view> |
| 48 | 69 | <!-- 广告显示 --> |
| 49 | - <view class="form-item" label-top> | |
| 70 | + <view class="form-item" label-top v-if="record.advertisingSpaceType"> | |
| 50 | 71 | <view class="label">广告图片</view> |
| 51 | 72 | <view class="img"> |
| 52 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 73 | + <u-image width="304rpx" height="182rpx" :src="record.coverImage" ></u-image> | |
| 53 | 74 | </view> |
| 54 | 75 | </view> |
| 55 | 76 | </view> |
| 56 | 77 | <view class="msglist"> |
| 57 | 78 | <view class="form-item"> |
| 58 | 79 | <view class="label">经营者姓名</view> |
| 59 | - <text>张三</text> | |
| 80 | + <text>{{record.operatorName||record.lesseeName}}</text> | |
| 60 | 81 | </view> |
| 61 | 82 | <view class="form-item"> |
| 62 | 83 | <view class="label">证件类型</view> |
| 63 | - <text>身份证</text> | |
| 84 | + <text>{{record.idCardType}}</text> | |
| 64 | 85 | </view> |
| 65 | 86 | <view class="form-item"> |
| 66 | 87 | <view class="label">身份证号码</view> |
| 67 | - <text>1646448898498</text> | |
| 88 | + <text>{{record.idNumber || record.idCardNumber}}</text> | |
| 68 | 89 | </view> |
| 69 | 90 | <view class="form-item"> |
| 70 | 91 | <view class="label">身份证有效期</view> |
| 71 | - <text>2022-03-22 至 2024-02-22</text> | |
| 92 | + <text>{{record.idValidStart || record.idCardValidStart}}至 {{record.idValidEnd || record.idCardValidEnd}}</text> | |
| 72 | 93 | </view> |
| 73 | 94 | <view class="form-item" label-top> |
| 74 | 95 | <view class="label">身份证照片</view> |
| 75 | 96 | <view class="deom-box"> |
| 76 | 97 | <view class="img-deom"> |
| 77 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 98 | + <u-image width="304rpx" height="182rpx" :src="record.idPhotoFront || record.idCardPhotoFront"></u-image> | |
| 78 | 99 | </view> |
| 79 | 100 | <view class="img-deom"> |
| 80 | - <u-image width="304rpx" height="182rpx" src="/static/images/back-icon.png"></u-image> | |
| 101 | + <u-image width="304rpx" height="182rpx" :src="record.idPhotoBack || record.idCardPhotoBack"></u-image> | |
| 81 | 102 | </view> |
| 82 | 103 | </view> |
| 83 | 104 | </view> |
| 84 | 105 | <view class="form-item" label-top> |
| 85 | 106 | <view class="label">企业授权书</view> |
| 86 | 107 | <view class="img"> |
| 87 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 108 | + <u-image width="304rpx" height="182rpx" :src="record.enterpriseAuthorization" ></u-image> | |
| 88 | 109 | </view> |
| 89 | 110 | </view> |
| 90 | 111 | </view> |
| 91 | - <view style="height: 180rpx;" v-if="record.state == '已通过'"></view> | |
| 92 | - <view class="footbtn" v-if="record.state == '已通过'"> | |
| 112 | + <view style="height: 180rpx;" v-if="record.auditStatus == '2'"></view> | |
| 113 | + <view class="footbtn" v-if="record.auditStatus == '2'"> | |
| 93 | 114 | <view class="info-total"> |
| 94 | - <view>租期:<span>2年</span></view> | |
| 95 | - <view>租金:<span>1067/月</span></view> | |
| 96 | - <view>合计:<span>10,646.00元</span></view> | |
| 115 | + <view >租期:<span v-if="!record.advertisingSpaceType">2年</span> <span v-if="record.advertisingSpaceType">2/天</span></view> | |
| 116 | + <view >租金:<span v-if="!record.advertisingSpaceType">1067/月</span> <span v-if="record.advertisingSpaceType">150/天</span></view> | |
| 117 | + <view>合计:<span>元</span></view> | |
| 97 | 118 | </view> |
| 98 | 119 | <view class="footer-btn"> |
| 99 | - <u-button type="primary" shape="circle">查看合同</u-button> | |
| 100 | - <u-button type="success" shape="circle">立即支付</u-button> | |
| 120 | + <!-- <u-button type="primary" shape="circle">查看合同</u-button> --> | |
| 121 | + <u-button type="success" shape="circle" @click="Zhicheck()">立即支付</u-button> | |
| 101 | 122 | </view> |
| 102 | 123 | </view> |
| 103 | 124 | </view> |
| ... | ... | @@ -108,21 +129,8 @@ |
| 108 | 129 | data() { |
| 109 | 130 | return { |
| 110 | 131 | record:{}, |
| 111 | - recordList:[ | |
| 112 | - { | |
| 113 | - recordName:'这里有名称这里有名称', | |
| 114 | - porName:'徐丽', | |
| 115 | - tTime:'2022-02-22 12:00:00', | |
| 116 | - state:'受理中' | |
| 117 | - }, | |
| 118 | - { | |
| 119 | - recordName:'这里有名称这里有名称', | |
| 120 | - porName:'徐丽', | |
| 121 | - tTime:'2022-02-22 12:00:00', | |
| 122 | - state:'已通过' | |
| 123 | - } | |
| 124 | - ] | |
| 125 | - }; | |
| 132 | + | |
| 133 | + } | |
| 126 | 134 | }, |
| 127 | 135 | onLoad(options) { |
| 128 | 136 | const item = JSON.parse(decodeURIComponent(options.item)); |
| ... | ... | @@ -130,7 +138,49 @@ |
| 130 | 138 | this.record = item |
| 131 | 139 | }, |
| 132 | 140 | methods: { |
| 133 | - | |
| 141 | + Zhicheck(){ | |
| 142 | + let payList ={ | |
| 143 | + additional: "附加交易授权", | |
| 144 | + backUrl: "", | |
| 145 | + channelId: "", | |
| 146 | + expireTime: 1800, | |
| 147 | + finishUrl: "", | |
| 148 | + latitude: "1", | |
| 149 | + longitude: "1", | |
| 150 | + orderNo: "", | |
| 151 | + payId: "", | |
| 152 | + payMerData: [ | |
| 153 | + { | |
| 154 | + amount: 100, | |
| 155 | + body: "租赁信息", | |
| 156 | + } | |
| 157 | + ], | |
| 158 | + payType: "Online", | |
| 159 | + returnUrl: "", | |
| 160 | + showBtn: "1", | |
| 161 | + siteId: "", | |
| 162 | + toApp: "0", | |
| 163 | + totalAmount: 100, | |
| 164 | + uid: "1693617316237021185", | |
| 165 | + universalLink: "" | |
| 166 | + } | |
| 167 | + const randomNumber = Math.floor(Math.random() * 10000); // 生成一个0到9999之间的随机数 | |
| 168 | + const timestamp = new Date().getTime(); // 获取当前时间的时间戳 | |
| 169 | + payList.orderNo = `${randomNumber}${timestamp}` | |
| 170 | + | |
| 171 | + payList.uid =uni.getStorageSync('shopId') | |
| 172 | + this.$http.sendRequest('/aggregationPayment/createOrder', 'POST', payList,1).then(res => { | |
| 173 | + uni.showModal({ | |
| 174 | + title: res.data.message, | |
| 175 | + showCancel:false, | |
| 176 | + success:ress => { | |
| 177 | + uni.switchTab({ | |
| 178 | + url: '/pages/my/my' | |
| 179 | + }) | |
| 180 | + } | |
| 181 | + }) | |
| 182 | + }) | |
| 183 | + } | |
| 134 | 184 | } |
| 135 | 185 | } |
| 136 | 186 | </script> | ... | ... |
pages/activityAdd/activityAdd.vue
| ... | ... | @@ -3,12 +3,12 @@ |
| 3 | 3 | <u-form :model="form" ref="uForm" label-position="left" :label-width="150"> |
| 4 | 4 | <view class="add-list" style="padding-bottom: 0;"> |
| 5 | 5 | <u-form-item label="封面图片" borderBottom labelPosition="top"> |
| 6 | - <u-upload :active="active" :file-list="form.fileList" :max-count="1"></u-upload> | |
| 6 | + <u-upload :action="$upload" :auto-upload="true" ref="uUpload" :max-count="1" ></u-upload> | |
| 7 | 7 | </u-form-item> |
| 8 | 8 | </view> |
| 9 | 9 | <view class="add-list" style="padding-bottom: 0;"> |
| 10 | 10 | <u-form-item label="活动名称" borderBottom> |
| 11 | - <u-input v-model="form.name" /> | |
| 11 | + <u-input v-model="form.activityName" /> | |
| 12 | 12 | </u-form-item> |
| 13 | 13 | <u-form-item label="开始时间" borderBottom> |
| 14 | 14 | <u-input v-model="form.startTime" type="select" @click="startShow = true" placeholder="请选择"/> |
| ... | ... | @@ -19,26 +19,26 @@ |
| 19 | 19 | <u-picker mode="time" v-model="endShow" :params="params" @confirm="endTimeChange"></u-picker> |
| 20 | 20 | </u-form-item> |
| 21 | 21 | <u-form-item label="活动类型" borderBottom> |
| 22 | - <u-input v-model="form.type" type="select" @click="typeShow = true" placeholder="请选择"/> | |
| 22 | + <u-input v-model="form.activityType" type="select" @click="typeShow = true" placeholder="请选择"/> | |
| 23 | 23 | <u-select v-model="typeShow" :list="typeList" @confirm="typeChange"></u-select> |
| 24 | 24 | </u-form-item> |
| 25 | 25 | <u-form-item label="可参与人数" borderBottom> |
| 26 | - <u-number-box v-model="form.num" :input-width="'100%'" :min="0"></u-number-box> | |
| 26 | + <u-number-box v-model="form.maxParticipants" :input-width="'100%'" :min="0"></u-number-box> | |
| 27 | 27 | </u-form-item> |
| 28 | 28 | <u-form-item label="举办区域" borderBottom> |
| 29 | - <u-input v-model="form.name" /> | |
| 29 | + <u-input v-model="form.region" /> | |
| 30 | 30 | </u-form-item> |
| 31 | - </view> | |
| 32 | - <!-- <view class="add-list" style="padding-bottom: 0;"> | |
| 33 | - <u-form-item label="活动内容" borderBottom labelPosition="top"> | |
| 31 | + <u-form-item label="活动内容" type = 'textarea' borderBottom auto-height="100"> | |
| 32 | + <u-input v-model="form.content" /> | |
| 34 | 33 | </u-form-item> |
| 35 | - </view> --> | |
| 34 | + </view> | |
| 35 | + | |
| 36 | 36 | </u-form> |
| 37 | 37 | <u-toast ref="uToast" /> |
| 38 | 38 | <!-- 保存按钮 --> |
| 39 | 39 | <view style="height: 120rpx;"></view> |
| 40 | 40 | <view class="page-footer"> |
| 41 | - <u-button type="success">提交</u-button> | |
| 41 | + <u-button type="success" @click="submit">提交</u-button> | |
| 42 | 42 | </view> |
| 43 | 43 | </view> |
| 44 | 44 | </template> |
| ... | ... | @@ -47,13 +47,20 @@ |
| 47 | 47 | export default { |
| 48 | 48 | data() { |
| 49 | 49 | return { |
| 50 | + fileList: [], | |
| 50 | 51 | form: { |
| 51 | - fileList: [], | |
| 52 | - name: '', | |
| 53 | - type: '', | |
| 52 | + activityName: '', | |
| 53 | + startTime:'', | |
| 54 | + endTime:'', | |
| 55 | + activityType:'', | |
| 56 | + maxParticipants:'', | |
| 57 | + region:'', | |
| 58 | + content:'', | |
| 59 | + auditStatus:'1', | |
| 60 | + createUser:'', | |
| 61 | + createDate:'', | |
| 62 | + coverImage:'', | |
| 54 | 63 | num: 0, |
| 55 | - startTime: '', | |
| 56 | - endTime: '', | |
| 57 | 64 | }, |
| 58 | 65 | active: '', // 文件上传地址 |
| 59 | 66 | startShow: false, |
| ... | ... | @@ -93,8 +100,62 @@ |
| 93 | 100 | return `${year}-${month}-${day} ${hour}:${minute}:${second}`; |
| 94 | 101 | }, |
| 95 | 102 | typeChange(val) { |
| 96 | - this.form.type = val[0].name; | |
| 103 | + this.form.activityType = val[0].label; | |
| 97 | 104 | }, |
| 105 | + submit() { | |
| 106 | + | |
| 107 | + let files = [] | |
| 108 | + // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作) | |
| 109 | + files = this.$refs.uUpload.lists.filter(val => { | |
| 110 | + return val.progress == 100; | |
| 111 | + }) | |
| 112 | + // 如果您不需要进行太多的处理,直接如下即可 | |
| 113 | + // files = this.$refs.uUpload.lists; | |
| 114 | + files.map(item=>{ | |
| 115 | + let fileList ={ | |
| 116 | + name:item.file.name, | |
| 117 | + url:item.response.data.url | |
| 118 | + } | |
| 119 | + this.fileList.push(fileList) | |
| 120 | + | |
| 121 | + }) | |
| 122 | + if(this.fileList.length!=0){ | |
| 123 | + this.form.coverImage = this.fileList[0].url | |
| 124 | + } | |
| 125 | + this.form.createUser = uni.getStorageSync('shopId') | |
| 126 | + this.form.createDate = this.currentTime() | |
| 127 | + | |
| 128 | + this.$http.sendRequest('/cereActivityApplication/add', 'POST',this.form,1).then(res => { | |
| 129 | + uni.navigateTo({ | |
| 130 | + url: '/pages/mycreated/mycreated' | |
| 131 | + }) | |
| 132 | + }).catch(err => { | |
| 133 | + console.log(err) | |
| 134 | + //请求失败 | |
| 135 | + }) | |
| 136 | + | |
| 137 | + }, | |
| 138 | + // 获取时间 | |
| 139 | + currentTime() { | |
| 140 | + let date = new Date(); | |
| 141 | + let year = date.getFullYear(); | |
| 142 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 143 | + let day = date.getDate(); | |
| 144 | + let hours = date.getHours(); | |
| 145 | + let minutes = date.getMinutes(); | |
| 146 | + let seconds = date.getSeconds(); | |
| 147 | + | |
| 148 | + // 为月、日、时、分、秒添加前导零(如果需要) | |
| 149 | + month = month < 10 ? '0' + month : month; | |
| 150 | + day = day < 10 ? '0' + day : day; | |
| 151 | + hours = hours < 10 ? '0' + hours : hours; | |
| 152 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 153 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 154 | + | |
| 155 | + // 拼接日期和时间字符串 | |
| 156 | + let strDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 157 | + return strDate; | |
| 158 | + }, | |
| 98 | 159 | } |
| 99 | 160 | } |
| 100 | 161 | </script> | ... | ... |
pages/activityDetail/activityDetail.scss
0 → 100644
| 1 | +.page { | |
| 2 | + position: relative; | |
| 3 | + width: 100%; | |
| 4 | + // height: 100%; | |
| 5 | + overflow-x: hidden; | |
| 6 | + // overflow-y: auto; | |
| 7 | +} | |
| 8 | +.page-info { | |
| 9 | + width: 100%; | |
| 10 | + padding: 24rpx; | |
| 11 | +} | |
| 12 | +// 活动详情 | |
| 13 | +.banner { | |
| 14 | + width: 100%; | |
| 15 | + margin-top: 10rpx; | |
| 16 | + border-radius: 30rpx; | |
| 17 | + background-color: #fff; | |
| 18 | + padding: 24rpx 30rpx; | |
| 19 | + color: #888D9C; | |
| 20 | + .title { | |
| 21 | + font-weight: 700; | |
| 22 | + color: #3D3D3D; | |
| 23 | + font-size: 28rpx; | |
| 24 | + margin-bottom: 30rpx; | |
| 25 | + } | |
| 26 | + .banner-info-top { | |
| 27 | + display: flex; | |
| 28 | + align-items: center; | |
| 29 | + justify-content: space-between; | |
| 30 | + margin-bottom: 30rpx; | |
| 31 | + } | |
| 32 | +} | |
| 33 | +// 活动信息 | |
| 34 | +.info-box { | |
| 35 | + margin-top: 30rpx; | |
| 36 | + .title { | |
| 37 | + font-weight: 700; | |
| 38 | + color: #3D3D3D; | |
| 39 | + font-size: 28rpx; | |
| 40 | + margin-bottom: 10rpx; | |
| 41 | + } | |
| 42 | + .info-item { | |
| 43 | + font-size: 26rpx; | |
| 44 | + line-height: 50rpx; | |
| 45 | + } | |
| 46 | +} | |
| 47 | + | |
| 48 | +/* 底部 */ | |
| 49 | +.page-footer{ | |
| 50 | + position: fixed; | |
| 51 | + left: 0; | |
| 52 | + bottom: 0; | |
| 53 | + display: flex; | |
| 54 | + align-items: center; | |
| 55 | + justify-content: center; | |
| 56 | + width: 100%; | |
| 57 | + height: 125rpx; | |
| 58 | + background-color: #FFFFFF; | |
| 59 | + padding-bottom: constant(safe-area-inset-bottom); | |
| 60 | + padding-bottom: env(safe-area-inset-bottom); | |
| 61 | + .footer-btn { | |
| 62 | + display: flex; | |
| 63 | + width: 70vw; | |
| 64 | + } | |
| 65 | + .footer-service { | |
| 66 | + display: flex; | |
| 67 | + flex-direction: column; | |
| 68 | + align-items: center; | |
| 69 | + text { | |
| 70 | + margin-top: 6rpx; | |
| 71 | + line-height: 42rpx; | |
| 72 | + } | |
| 73 | + } | |
| 74 | +} | |
| 75 | + | |
| 76 | +.userForm { | |
| 77 | + .form-box { | |
| 78 | + padding: 28rpx; | |
| 79 | + } | |
| 80 | + .title { | |
| 81 | + font-size: 32rpx; | |
| 82 | + font-weight: 700; | |
| 83 | + } | |
| 84 | +} | |
| 0 | 85 | \ No newline at end of file | ... | ... |
pages/activityDetail/activityDetail.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="page"> | |
| 3 | + <view class="page-info"> | |
| 4 | + <view class="banner"> | |
| 5 | + <view class="title">{{tableData.activityName}}</view> | |
| 6 | + <view class="banner-info-top"> | |
| 7 | + <view>{{tableData.startTime}}</view> | |
| 8 | + <view><u-icon name="eye"></u-icon>{{tableData.maxParticipants}}人</view> | |
| 9 | + </view> | |
| 10 | + <view class="banner-info-item"> | |
| 11 | + <text> | |
| 12 | + {{tableData.content}} | |
| 13 | + </text> | |
| 14 | + <image :src="tableData.coverImage" style="width: 100%; height: 100vw; border-radius: 10rpx; margin-top: 30rpx;"></image> | |
| 15 | + </view> | |
| 16 | + </view> | |
| 17 | + <view class="info-box"> | |
| 18 | + <view class="title">活动信息</view> | |
| 19 | + <view class="info-item">举办区域:{{tableData.region}}</view> | |
| 20 | + <view class="info-item">起止时间:{{tableData.startTime}} 至 {{tableData.endTime}}</view> | |
| 21 | + <view class="info-item">活动类型:{{tableData.activityType}}</view> | |
| 22 | + </view> | |
| 23 | + </view> | |
| 24 | + | |
| 25 | + | |
| 26 | + <!-- 底部 --> | |
| 27 | + <view style="height: 125rpx;"></view> | |
| 28 | + <view class="page-footer"> | |
| 29 | + <!-- <view class="footer-service"> | |
| 30 | + <u-image :showLoading="true" :src="$imgUrl('/sevice-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 31 | + <text>客服</text> | |
| 32 | + </view> --> | |
| 33 | + <!-- <view class="footer-btn"> | |
| 34 | + <u-button type="success" style="width: 80%;" @click="joinShow = true">报名参加</u-button> | |
| 35 | + </view> --> | |
| 36 | + <!-- <view class="footer-service"> | |
| 37 | + <u-image :showLoading="true" :src="$imgUrl('/share-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 38 | + <text>分享</text> | |
| 39 | + </view> --> | |
| 40 | + </view> | |
| 41 | + <u-popup class="userForm" v-model="joinShow" mode="center" :closeable="true" width="90%"> | |
| 42 | + <u-form class="form-box" :model="form" ref="uForm" :label-width="120"> | |
| 43 | + <view class="title">请填写您的报名信息</view> | |
| 44 | + <u-form-item label="姓名"><u-input v-model="form.name" /></u-form-item> | |
| 45 | + <u-form-item label="联系电话"><u-input v-model="form.pahone" /></u-form-item> | |
| 46 | + <u-button type="success" @click="submit">提交</u-button> | |
| 47 | + </u-form> | |
| 48 | + </u-popup> | |
| 49 | + </view> | |
| 50 | +</template> | |
| 51 | + | |
| 52 | +<script> | |
| 53 | + | |
| 54 | +export default { | |
| 55 | + data() { | |
| 56 | + return { | |
| 57 | + tableData:{}, | |
| 58 | + swiperList: [ | |
| 59 | + { | |
| 60 | + id: 0, | |
| 61 | + type: 'image', | |
| 62 | + url: this.$imgUrl('/img/1.jpg') | |
| 63 | + } | |
| 64 | + ], | |
| 65 | + joinShow: false, | |
| 66 | + form: { | |
| 67 | + name: '', | |
| 68 | + pahone: '', | |
| 69 | + }, | |
| 70 | + pagesize: { | |
| 71 | + pageNumber: 1, | |
| 72 | + pageSize: 2, | |
| 73 | + id:'', | |
| 74 | + } | |
| 75 | + }; | |
| 76 | + }, | |
| 77 | + onLoad(option){ | |
| 78 | + | |
| 79 | + let str = unescape(option.scene); | |
| 80 | + | |
| 81 | + if(option.scene){ | |
| 82 | + let str = unescape(option.scene) | |
| 83 | + // 使用 split() 方法按等号分割字符串,并获取第二个元素(索引为1),即带单引号的值 | |
| 84 | + let valueWithQuotes = str.split('=')[1]; | |
| 85 | + | |
| 86 | + // 使用 slice() 或 substring() 去除两端的单引号 | |
| 87 | + let value = valueWithQuotes.slice(1, -1); | |
| 88 | + this.pagesize.id = value | |
| 89 | + console.log('olo',value) | |
| 90 | + }else{ | |
| 91 | + this.pagesize.id = option.item | |
| 92 | + | |
| 93 | + } | |
| 94 | + console.log('olo',this.pagesize) | |
| 95 | + this.$http.sendRequest('/cereActivityApplication/queryById', 'POST',this.pagesize,1).then(res => { | |
| 96 | + this.tableData =res.data.data | |
| 97 | + }) | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + }, | |
| 103 | + mounted() { | |
| 104 | + | |
| 105 | + }, | |
| 106 | + methods: { | |
| 107 | + submit() { | |
| 108 | + this.joinShow = false; | |
| 109 | + uni.switchTab({ | |
| 110 | + url: '/pages/home/home' | |
| 111 | + }) | |
| 112 | + }, | |
| 113 | + leaseAdd(){ | |
| 114 | + uni.navigateTo({ | |
| 115 | + url: '/pages/leaseAdd/leaseAdd' | |
| 116 | + }) | |
| 117 | + }, | |
| 118 | + } | |
| 119 | +}; | |
| 120 | +</script> | |
| 121 | + | |
| 122 | +<style scoped lang="scss"> | |
| 123 | +@import 'activityDetail.scss'; | |
| 124 | +</style> | ... | ... |
pages/advertisement/advertisement.vue
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | <view class="page"> |
| 3 | 3 | <!-- 搜索 --> |
| 4 | 4 | <view class="head-search"> |
| 5 | - <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search> | |
| 5 | + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.advertisingName" :show-action="false" @search="search"></u-search> | |
| 6 | 6 | <u-button type="success" @click="search">搜索</u-button> |
| 7 | 7 | </view> |
| 8 | 8 | <view class="screen-list"> |
| ... | ... | @@ -11,18 +11,15 @@ |
| 11 | 11 | <image :src="$imgUrl('/down.png')"></image> |
| 12 | 12 | <u-select v-model="typeshow" :list="typeList" @confirm="(v) => {queryChange('advertisingType', v)}"></u-select> |
| 13 | 13 | </view> |
| 14 | - <view class="list" @click="setList(1)"> | |
| 14 | + <!-- <view class="list" @click="setList(1)"> | |
| 15 | 15 | <text>租金</text> |
| 16 | 16 | <image :src="$imgUrl('/down.png')"></image> |
| 17 | 17 | </view> |
| 18 | - <!-- <view class="list"> | |
| 19 | - <text>默认排序</text> | |
| 20 | - <image src="../../static/down.png"></image> | |
| 21 | - </view> --> | |
| 18 | + | |
| 22 | 19 | <view class="list" @click="setList(2)"> |
| 23 | 20 | <text>筛选</text> |
| 24 | 21 | <image :src="$imgUrl('/down.png')"></image> |
| 25 | - </view> | |
| 22 | + </view> --> | |
| 26 | 23 | <u-select v-model="show" :list="companys" @confirm="handleCompanyConfirm" mini borderless></u-select> |
| 27 | 24 | </view> |
| 28 | 25 | <!-- 订单列表 --> |
| ... | ... | @@ -60,7 +57,7 @@ |
| 60 | 57 | return { |
| 61 | 58 | tableData: [], |
| 62 | 59 | query: { |
| 63 | - keyword: '', | |
| 60 | + advertisingName: '', | |
| 64 | 61 | advertisingType: '', |
| 65 | 62 | }, |
| 66 | 63 | pageindex: { |
| ... | ... | @@ -93,7 +90,7 @@ |
| 93 | 90 | //查询全数据 |
| 94 | 91 | getAll() { |
| 95 | 92 | let query = Object.assign(this.pageindex, this.query); |
| 96 | - this.$http.sendRequest('/cereAdvertisingInformation/likeGet', 'POST', query, 1).then(res => { | |
| 93 | + this.$http.sendRequest('/cereAdvertisingInformation/queryByPage', 'POST', query, 1).then(res => { | |
| 97 | 94 | //成功回调 |
| 98 | 95 | this.tableData = res.data.data.content; |
| 99 | 96 | }).catch(err => { |
| ... | ... | @@ -105,8 +102,8 @@ |
| 105 | 102 | this.pageindex = { |
| 106 | 103 | pageNumber: 1, |
| 107 | 104 | pageSize: 10, |
| 108 | - }; | |
| 109 | - this.getAll(); | |
| 105 | + } | |
| 106 | + this.getAll() | |
| 110 | 107 | }, |
| 111 | 108 | queryChange(key, val) { |
| 112 | 109 | this.query[`${key}`] = val[0].value; | ... | ... |
pages/advertisementAdd/advertisementAdd.vue
| ... | ... | @@ -4,140 +4,178 @@ |
| 4 | 4 | <u-steps :list="numList" :current="active"></u-steps> |
| 5 | 5 | </view> |
| 6 | 6 | <view> |
| 7 | - <view v-if="active == 0"> | |
| 7 | + <view v-show="active == 0"> | |
| 8 | 8 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 9 | 9 | <view class="add-list"> |
| 10 | - <u-form-item label="投放时段" prop="name" borderBottom> | |
| 11 | - <u-input v-model="model1.name" type="select" @click="toChangeTime"></u-input> | |
| 10 | + <u-form-item label="投放时段" prop="scheduleTime" borderBottom> | |
| 11 | + <!-- <u-input v-model="model1.name" type="select" @click="toChangeTime"></u-input> --> | |
| 12 | + <u-input v-model="model1.scheduleTime" type="select" @click="TimeStratshow = true" | |
| 13 | + placeholder="请选择" /> | |
| 14 | + <u-picker mode="time" v-model="TimeStratshow" :params="params" | |
| 15 | + @confirm="startTimeChange"></u-picker> | |
| 12 | 16 | </u-form-item> |
| 13 | 17 | </view> |
| 14 | 18 | <view class="add-list"> |
| 15 | - <u-form-item label="跳转类型" prop="name" borderBottom> | |
| 16 | - <u-input v-model="model1.name" ></u-input> | |
| 19 | + <u-form-item label="跳转类型" prop="advertisementContent" borderBottom> | |
| 20 | + <u-input v-model="model1.advertisementContent"></u-input> | |
| 17 | 21 | </u-form-item> |
| 18 | - <u-form-item label="链接" prop="name" borderBottom> | |
| 19 | - <u-input v-model="model1.name" ></u-input> | |
| 22 | + <u-form-item label="链接" prop="redirectUrl" borderBottom> | |
| 23 | + <u-input v-model="model1.redirectUrl"></u-input> | |
| 20 | 24 | </u-form-item> |
| 21 | 25 | </view> |
| 22 | 26 | <view class="add-list"> |
| 23 | - <u-form-item label="封面图片" prop="name" borderBottom labelPosition="top"> | |
| 24 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 27 | + <u-form-item label="封面图片" prop="coverImage" borderBottom labelPosition="top"> | |
| 28 | + <u-upload :action="$upload" :auto-upload="true" ref="coverImage" :max-count="1"></u-upload> | |
| 25 | 29 | </u-form-item> |
| 26 | 30 | </view> |
| 27 | 31 | <view class="add-list"> |
| 28 | - <u-form-item label="广告标题" prop="name" borderBottom labelPosition="top"> | |
| 29 | - <u-input v-model="model1.name" /> | |
| 32 | + <u-form-item label="广告标题" prop="adTitle" borderBottom labelPosition="top"> | |
| 33 | + <u-input v-model="model1.adTitle" /> | |
| 30 | 34 | </u-form-item> |
| 31 | 35 | </view> |
| 32 | - | |
| 36 | + | |
| 33 | 37 | </u-form> |
| 34 | 38 | </view> |
| 35 | - <view class="add-list" v-else-if='active == 1'> | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + <view class="add-list" v-show='active == 1'> | |
| 36 | 44 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 37 | - <u-form-item label="主体名称" prop="name" borderBottom> | |
| 38 | - <u-input v-model="model1.name" ></u-input> | |
| 45 | + <u-form-item label="主体名称" prop="subjectName" borderBottom> | |
| 46 | + <u-input v-model="model1.subjectName"></u-input> | |
| 39 | 47 | </u-form-item> |
| 40 | - <u-form-item label="统一社会信用代码" prop="name" borderBottom> | |
| 41 | - <u-input v-model="model1.name" ></u-input> | |
| 48 | + <u-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode" borderBottom> | |
| 49 | + <u-input v-model="model1.unifiedSocialCreditCode"></u-input> | |
| 42 | 50 | </u-form-item> |
| 43 | 51 | <u-form-item label="类型" prop="type" borderBottom> |
| 44 | - <u-input v-model="model1.type" type="select" @click="model1.typeShow = true" placeholder='请选择类型'/> | |
| 45 | - <u-select v-model="model1.typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 52 | + <u-input v-model="model1.type" type="select" @click="typeShow = true" placeholder='请选择类型' /> | |
| 53 | + </u-form-item> | |
| 54 | + <u-form-item label="法定代表人" prop="legalRepresentative" borderBottom> | |
| 55 | + <u-input v-model="model1.legalRepresentative"></u-input> | |
| 46 | 56 | </u-form-item> |
| 47 | - <u-form-item label="法定代表人" prop="name" borderBottom> | |
| 48 | - <u-input v-model="model1.name" ></u-input> | |
| 57 | + <u-form-item label="经营范围" prop="businessScope" borderBottom> | |
| 58 | + <u-input v-model="model1.businessScope"></u-input> | |
| 49 | 59 | </u-form-item> |
| 50 | - <u-form-item label="经营范围" prop="name" borderBottom> | |
| 51 | - <u-input v-model="model1.name" ></u-input> | |
| 60 | + <u-form-item label="注册资本" prop="registeredCapital" borderBottom> | |
| 61 | + <u-input v-model="model1.registeredCapital"></u-input> | |
| 52 | 62 | </u-form-item> |
| 53 | - <u-form-item label="注册资本" prop="name" borderBottom> | |
| 54 | - <u-input v-model="model1.name" ></u-input> | |
| 63 | + <u-form-item label="成立日期" prop="establishmentDate" borderBottom> | |
| 64 | + <u-input v-model="model1.establishmentDate"></u-input> | |
| 55 | 65 | </u-form-item> |
| 56 | - <u-form-item label="成立日期" prop="name" borderBottom> | |
| 57 | - <u-input v-model="model1.name" ></u-input> | |
| 66 | + <u-form-item label="住所" prop="address" borderBottom> | |
| 67 | + <u-input v-model="model1.address"></u-input> | |
| 58 | 68 | </u-form-item> |
| 59 | - <u-form-item label="住所" prop="name" borderBottom> | |
| 60 | - <u-input v-model="model1.name" ></u-input> | |
| 69 | + <u-form-item label="邮箱地址" prop="emailAddress" borderBottom> | |
| 70 | + <u-input v-model="model1.emailAddress"></u-input> | |
| 61 | 71 | </u-form-item> |
| 62 | - <u-form-item label="邮箱地址" prop="name" borderBottom> | |
| 63 | - <u-input v-model="model1.name" ></u-input> | |
| 72 | + <u-form-item label="经营开始时间" prop="businessStartDate" borderBottom> | |
| 73 | + <u-input v-model="model1.businessStartDate" type="select" @click="busStartshow = true" | |
| 74 | + placeholder="请选择" /> | |
| 75 | + <u-picker mode="time" v-model="busStartshow" :params="params" | |
| 76 | + @confirm="busStTimeChange"></u-picker> | |
| 64 | 77 | </u-form-item> |
| 65 | - <u-form-item label="经营期限" prop="name" borderBottom> | |
| 66 | - <u-input v-model="model1.name" ></u-input> | |
| 78 | + <u-form-item label="经营结束时间" prop="businessEndDate" borderBottom> | |
| 79 | + <u-input v-model="model1.businessEndDate" type="select" @click="busEndtshow = true" | |
| 80 | + placeholder="请选择" /> | |
| 81 | + <u-picker mode="time" v-model="busEndtshow" :params="params" | |
| 82 | + @confirm="busEndTimeChange"></u-picker> | |
| 67 | 83 | </u-form-item> |
| 68 | - <u-form-item label="营业执照" prop="name" borderBottom labelPosition="top"> | |
| 69 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 84 | + <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top"> | |
| 85 | + <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload> | |
| 70 | 86 | </u-form-item> |
| 71 | 87 | </u-form> |
| 72 | 88 | </view> |
| 73 | - <view v-else> | |
| 89 | + | |
| 90 | + | |
| 91 | + <view v-show="active == 2"> | |
| 74 | 92 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 75 | 93 | <view class="add-list"> |
| 76 | - <u-form-item label="经营者姓名" prop="name" borderBottom> | |
| 77 | - <u-input v-model="model1.name" ></u-input> | |
| 94 | + <u-form-item label="经营者姓名" prop="lesseeName" borderBottom> | |
| 95 | + <u-input v-model="model1.lesseeName"></u-input> | |
| 96 | + </u-form-item> | |
| 97 | + <u-form-item label="证件类型" prop="idCardType" borderBottom> | |
| 98 | + <u-input v-model="model1.idCardType" type="select" @click="IdtypeShow = true" | |
| 99 | + placeholder='请选择类型' /> | |
| 78 | 100 | </u-form-item> |
| 79 | - <u-form-item label="证件类型" prop="type" borderBottom> | |
| 80 | - <u-input v-model="model1.type" type="select" @click="model1.typeShow = true" placeholder='请选择类型'/> | |
| 81 | - <u-select v-model="model1.typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 101 | + <u-form-item label="身份证号码" prop="idCardNumber" borderBottom> | |
| 102 | + <u-input v-model="model1.idCardNumber"></u-input> | |
| 82 | 103 | </u-form-item> |
| 83 | - <u-form-item label="身份证号码" prop="name" borderBottom> | |
| 84 | - <u-input v-model="model1.name" ></u-input> | |
| 104 | + <u-form-item label="身份证有效开始时间" prop="idCardValidStart" borderBottom> | |
| 105 | + <u-input v-model="model1.idCardValidStart" type="select" @click="idCardStartshow = true" | |
| 106 | + placeholder="请选择" /> | |
| 107 | + <u-picker mode="time" v-model="idCardStartshow" :params="params1" | |
| 108 | + @confirm="idCardStTimeChange"></u-picker> | |
| 85 | 109 | </u-form-item> |
| 86 | - <u-form-item label="身份证有效期" prop="name" borderBottom> | |
| 87 | - <u-input v-model="model1.name" ></u-input> | |
| 110 | + <u-form-item label="身份证有效结束时间" prop="idCardValidEnd" borderBottom> | |
| 111 | + <u-input v-model="model1.idCardValidEnd" type="select" @click="idCardEndtshow = true" | |
| 112 | + placeholder="请选择" /> | |
| 113 | + <u-picker mode="time" v-model="idCardEndtshow" :params="params1" | |
| 114 | + @confirm="idCardEndTimeChange"></u-picker> | |
| 88 | 115 | </u-form-item> |
| 89 | 116 | </view> |
| 90 | 117 | <view class="add-list"> |
| 91 | 118 | <view class="deom-box"> |
| 92 | 119 | <view class="img-deom"> |
| 93 | - <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1"> | |
| 94 | - <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150"> | |
| 95 | - <u-image width="304rpx" height="182rpx" src="/static/images/uploadID1.png"></u-image> | |
| 96 | - </view> | |
| 120 | + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardPhotoFront"> | |
| 121 | + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" | |
| 122 | + hover-stay-time="150"> | |
| 123 | + <u-image width="304rpx" height="182rpx" | |
| 124 | + :src="$imgUrl('/uploadID1.png')"></u-image> | |
| 125 | + </view> | |
| 97 | 126 | </u-upload> |
| 98 | 127 | <text>点击上传证件人像面</text> |
| 99 | 128 | </view> |
| 100 | 129 | <view class="img-deom"> |
| 101 | - <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1"> | |
| 102 | - <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150"> | |
| 103 | - <u-image width="304rpx" height="182rpx" src="/static/images/uploadID2.png"></u-image> | |
| 130 | + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardPhotoBack"> | |
| 131 | + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" | |
| 132 | + hover-stay-time="150"> | |
| 133 | + <u-image width="304rpx" height="182rpx" | |
| 134 | + :src="$imgUrl('/uploadID2.png')"></u-image> | |
| 104 | 135 | </view> |
| 105 | 136 | </u-upload> |
| 106 | 137 | <text>点击上传证件国徽面</text> |
| 107 | 138 | </view> |
| 108 | 139 | </view> |
| 109 | - </view> | |
| 140 | + </view> | |
| 110 | 141 | <view class="add-list"> |
| 111 | 142 | <view style="line-height: 60rpx;">上传示例</view> |
| 112 | 143 | <view class="deom-box"> |
| 113 | 144 | <view class="img-deom"> |
| 114 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 145 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/front-icon.png')"></u-image> | |
| 115 | 146 | <text>人脸示例图</text> |
| 116 | 147 | </view> |
| 117 | 148 | <view class="img-deom"> |
| 118 | - <u-image width="304rpx" height="182rpx" src="/static/images/back-icon.png"></u-image> | |
| 149 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/back-icon.png')"></u-image> | |
| 119 | 150 | <text>国徽面示例图</text> |
| 120 | 151 | </view> |
| 121 | 152 | </view> |
| 122 | 153 | </view> |
| 123 | - <text style="display: inline-block; font-size: 24rpx; line-height: 30px; margin: 24rpx 30rpx 0;">请拍摄证件原件,保证照片拍摄清晰,取图完整,不反光。</text> | |
| 124 | - <view class="add-list" labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> | |
| 125 | - <u-form-item label="是否为法人" prop="name" borderBottom> | |
| 126 | - <u-radio-group v-model="model1.name"> | |
| 127 | - <u-radio :name="1">是</u-radio> | |
| 128 | - <u-radio :name="2">否</u-radio> | |
| 154 | + <text | |
| 155 | + style="display: inline-block; font-size: 24rpx; line-height: 30px; margin: 24rpx 30rpx 0;">请拍摄证件原件,保证照片拍摄清晰,取图完整,不反光。</text> | |
| 156 | + <view class="add-list" labelPosition="left" :model="model1" :rules="rules" ref="uForm" | |
| 157 | + :labelWidth="250"> | |
| 158 | + <u-form-item label="是否为法人" prop="isLegalPerson" borderBottom> | |
| 159 | + <u-radio-group v-model="model1.isLegalPerson"> | |
| 160 | + <u-radio name="1" value="1">是</u-radio> | |
| 161 | + <u-radio name="0" value="0">否</u-radio> | |
| 129 | 162 | </u-radio-group> |
| 130 | 163 | </u-form-item> |
| 131 | - <u-form-item label="企业授权书" prop="name" borderBottom labelPosition="top"> | |
| 132 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 164 | + <u-form-item label="企业授权书" prop="enterpriseAuthorization" borderBottom labelPosition="top"> | |
| 165 | + | |
| 166 | + <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload> | |
| 133 | 167 | </u-form-item> |
| 134 | 168 | </view> |
| 135 | 169 | </u-form> |
| 136 | 170 | </view> |
| 137 | 171 | </view> |
| 172 | + | |
| 173 | + <u-select v-model="typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 174 | + <u-select v-model="IdtypeShow" :list="idType" @confirm="IdtypeChange"></u-select> | |
| 138 | 175 | <!-- 保存按钮 --> |
| 139 | 176 | <view class="page-footer"> |
| 140 | - <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor" v-if="active != 0">上一步</u-button> | |
| 177 | + <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor" | |
| 178 | + v-if="active != 0">上一步</u-button> | |
| 141 | 179 | <u-button type="success" style="flex: 1; margin: 0 10px;" @click="toNext" v-if="active != 2">下一步</u-button> |
| 142 | 180 | <u-button type="success" style="flex: 1; margin: 0 10px;" @click="go" v-if="active == 2">提交申请</u-button> |
| 143 | 181 | </view> |
| ... | ... | @@ -148,50 +186,191 @@ |
| 148 | 186 | export default { |
| 149 | 187 | data() { |
| 150 | 188 | return { |
| 151 | - active: 2, | |
| 152 | - numList: [{name: '租赁信息'}, {name: '主体信息'}, {name: '经营者信息'}], | |
| 189 | + active: 0, | |
| 190 | + numList: [{ | |
| 191 | + name: '租赁信息' | |
| 192 | + }, { | |
| 193 | + name: '主体信息' | |
| 194 | + }, { | |
| 195 | + name: '经营者信息' | |
| 196 | + }], | |
| 153 | 197 | model1: { |
| 154 | - name: '', | |
| 198 | + scheduleTime: '', | |
| 199 | + advertisementContent: '', | |
| 200 | + redirectUrl: '', | |
| 201 | + coverImage: '', | |
| 202 | + adTitle: '', | |
| 203 | + subjectName: '', | |
| 204 | + unifiedSocialCreditCode: '', | |
| 155 | 205 | type: '', |
| 156 | - typeShow: false, | |
| 157 | - fileList: [], // 文件列表 | |
| 206 | + legalRepresentative: '', | |
| 207 | + businessScope: '', | |
| 208 | + registeredCapital: '', | |
| 209 | + establishmentDate: '', | |
| 210 | + address: '', | |
| 211 | + emailAddress: '', | |
| 212 | + businessStartDate: '', | |
| 213 | + businessEndDate: '', | |
| 214 | + businessLicense: '', | |
| 215 | + lesseeName: '', | |
| 216 | + idCardType: '', | |
| 217 | + idCardNumber: '', | |
| 218 | + idCardValidStart: '', | |
| 219 | + idCardValidEnd: '', | |
| 220 | + isLegalPerson: '0', | |
| 221 | + idCardPhotoFront:'', | |
| 222 | + idCardPhotoBack:'', | |
| 223 | + enterpriseAuthorization: '', | |
| 224 | + auditStatus: '1' | |
| 158 | 225 | }, |
| 159 | 226 | rules: {}, |
| 160 | 227 | // 类型 |
| 161 | 228 | showType: false, |
| 162 | - activesType: [ | |
| 163 | - {value: 1, label: '类型1'}, | |
| 164 | - {value: 2, label: '类型2'}, | |
| 165 | - ], | |
| 166 | - // 上传文件 | |
| 167 | - active: '', // 地址 | |
| 168 | - | |
| 169 | - }; | |
| 229 | + params: { | |
| 230 | + year: true, | |
| 231 | + month: true, | |
| 232 | + day: true, | |
| 233 | + hour: true, | |
| 234 | + minute: true, | |
| 235 | + second: true | |
| 236 | + }, | |
| 237 | + params1: { | |
| 238 | + year: true, | |
| 239 | + month: true, | |
| 240 | + day: true | |
| 241 | + }, | |
| 242 | + TimeStratshow: false, | |
| 243 | + typeShow: false, | |
| 244 | + activesType: [{ | |
| 245 | + value: 1, | |
| 246 | + label: '个人' | |
| 247 | + }, { | |
| 248 | + value: 2, | |
| 249 | + label: '企业' | |
| 250 | + }], | |
| 251 | + idType: [{ | |
| 252 | + value: 1, | |
| 253 | + label: '身份证' | |
| 254 | + }, ], | |
| 255 | + IdtypeShow: false, | |
| 256 | + busStartshow: false, | |
| 257 | + busEndtshow: false, | |
| 258 | + idCardStartshow: false, | |
| 259 | + idCardEndtshow: false, | |
| 260 | + params: { | |
| 261 | + year: true, | |
| 262 | + month: true, | |
| 263 | + day: true, | |
| 264 | + }, | |
| 265 | + ziyuanId: '', | |
| 266 | + ziyuanType:'', | |
| 267 | + | |
| 268 | + } | |
| 269 | + }, | |
| 270 | + onLoad(option) { | |
| 271 | + this.ziyuanId = option.ids | |
| 272 | + this.ziyuanType = option.type | |
| 170 | 273 | }, |
| 171 | - onLoad() { | |
| 172 | - // 检查用户是否登录 | |
| 173 | - const isLogin = uni.getStorageSync('token') || false; | |
| 174 | - if (!isLogin) { | |
| 175 | - // 如果未登录,跳转到登录页面 | |
| 176 | - uni.redirectTo({ | |
| 177 | - url: '/pages/login/login' | |
| 178 | - }); | |
| 179 | - } | |
| 180 | - }, | |
| 181 | - methods:{ | |
| 274 | + onShow() { | |
| 275 | + let shopId = { | |
| 276 | + shopId:uni.getStorageSync('shopId') || '' | |
| 277 | + } | |
| 278 | + const isLogin = uni.getStorageSync('token'); | |
| 279 | + if (isLogin =='') { | |
| 280 | + // 如果未登录,跳转到登录页面 | |
| 281 | + uni.navigateTo({ | |
| 282 | + url: '/pages/login/login' | |
| 283 | + }) | |
| 284 | + }else{ | |
| 285 | + let page={ | |
| 286 | + condition:2 | |
| 287 | + } | |
| 288 | + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => { | |
| 289 | + if(res.data.code !="20004"){ | |
| 290 | + this.shopMsg = res.data.data | |
| 291 | + this.Islogin= false | |
| 292 | + this.$http.sendRequest('/index/index', 'POST',page).then(res => { | |
| 293 | + //成功回调 | |
| 294 | + this.tongji = res.data.data | |
| 295 | + }) | |
| 296 | + }else{ | |
| 297 | + uni.navigateTo({ | |
| 298 | + url: '/pages/login/login' | |
| 299 | + }) | |
| 300 | + } | |
| 301 | + }) | |
| 302 | + } | |
| 303 | + | |
| 304 | + }, | |
| 305 | + methods: { | |
| 182 | 306 | typeChange(e) { |
| 183 | 307 | this.model1.type = e[0].label; |
| 184 | 308 | }, |
| 185 | - go(){ | |
| 186 | - uni.navigateTo({ | |
| 187 | - url: '/pages/record/record' | |
| 309 | + getCurrentTime() { | |
| 310 | + const now = new Date(); | |
| 311 | + const year = now.getFullYear(); | |
| 312 | + const month = ('0' + (now.getMonth() + 1)).slice(-2); | |
| 313 | + const day = ('0' + now.getDate()).slice(-2); | |
| 314 | + const hours = ('0' + now.getHours()).slice(-2); | |
| 315 | + const minutes = ('0' + now.getMinutes()).slice(-2); | |
| 316 | + const seconds = ('0' + now.getSeconds()).slice(-2); | |
| 317 | + | |
| 318 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 319 | + }, | |
| 320 | + go() { | |
| 321 | + let coverImg = [] | |
| 322 | + let files = [] | |
| 323 | + let idCardOne = [] | |
| 324 | + let idCardTwo = [] | |
| 325 | + let enterS = [] | |
| 326 | + // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作) | |
| 327 | + coverImg = this.$refs.coverImage.lists.filter(val => { | |
| 328 | + return val.progress == 100; | |
| 188 | 329 | }) |
| 189 | - }, | |
| 190 | - toChangeTime(val) { | |
| 191 | - uni.navigateTo({ | |
| 192 | - url: `/pages/advertisementTime/advertisementTime?val=${val}` | |
| 330 | + coverImg.map(item => { | |
| 331 | + this.model1.coverImage = item.response.data.url | |
| 332 | + }) | |
| 333 | + files = this.$refs.businessLicense.lists.filter(val => { | |
| 334 | + return val.progress == 100; | |
| 335 | + }) | |
| 336 | + | |
| 337 | + files.map(item => { | |
| 338 | + this.model1.businessLicense = item.response.data.url | |
| 339 | + }) | |
| 340 | + idCardOne = this.$refs.idCardPhotoFront.lists.filter(val => { | |
| 341 | + return val.progress == 100; | |
| 342 | + }) | |
| 343 | + idCardOne.map(item => { | |
| 344 | + this.model1.idCardPhotoFront = item.response.data.url | |
| 345 | + | |
| 346 | + }) | |
| 347 | + idCardTwo = this.$refs.idCardPhotoBack.lists.filter(val => { | |
| 348 | + return val.progress == 100; | |
| 349 | + }) | |
| 350 | + idCardTwo.map(item => { | |
| 351 | + this.model1.idCardPhotoBack = item.response.data.url | |
| 352 | + }) | |
| 353 | + enterS = this.$refs.enter.lists.filter(val => { | |
| 354 | + return val.progress == 100; | |
| 355 | + }) | |
| 356 | + enterS.map(item => { | |
| 357 | + this.model1.enterpriseAuthorization = item.response.data.url | |
| 358 | + }) | |
| 359 | + this.model1.rentalResourcesId = this.ziyuanId | |
| 360 | + this.model1.advertisingSpaceType = this.ziyuanType | |
| 361 | + this.model1.applicant = uni.getStorageSync('shopId') | |
| 362 | + this.model1.applicationTime = this.getCurrentTime() | |
| 363 | + this.$http.sendRequest('/cereAdvertiserInfo/add', 'POST', this.model1, 1).then(res => { | |
| 364 | + uni.navigateTo({ | |
| 365 | + url: '/pages/record/record' | |
| 366 | + }) | |
| 193 | 367 | }) |
| 194 | 368 | }, |
| 369 | + // toChangeTime(val) { | |
| 370 | + // uni.navigateTo({ | |
| 371 | + // url: `/pages/advertisementTime/advertisementTime?val=${val}` | |
| 372 | + // }) | |
| 373 | + // }, | |
| 195 | 374 | // 上一步 |
| 196 | 375 | toBefor() { |
| 197 | 376 | this.active = +this.active - 1; |
| ... | ... | @@ -199,11 +378,66 @@ |
| 199 | 378 | // 下一步 |
| 200 | 379 | toNext() { |
| 201 | 380 | this.active = +this.active + 1; |
| 202 | - } | |
| 381 | + }, | |
| 382 | + startTimeChange(val) { | |
| 383 | + this.model1.scheduleTime = this.timeChange(val) | |
| 384 | + }, | |
| 385 | + timeChange(val) { | |
| 386 | + const { | |
| 387 | + year, | |
| 388 | + month, | |
| 389 | + day, | |
| 390 | + } = val; | |
| 391 | + return `${year}-${month}-${day}`; | |
| 392 | + }, | |
| 393 | + leiXpops(val) { | |
| 394 | + this.model1.intentionalBusinessType = val[0].label | |
| 395 | + }, | |
| 396 | + busStTimeChange(val) { | |
| 397 | + this.model1.businessStartDate = this.timeChange(val) | |
| 398 | + this.model1.businessEndDate = '' | |
| 399 | + }, | |
| 400 | + busEndTimeChange(val) { | |
| 401 | + const time = this.timeChange(val); | |
| 402 | + if (new Date(time).getTime() > new Date(this.model1.businessStartDate).getTime()) { | |
| 403 | + this.model1.businessEndDate = time | |
| 404 | + } else { | |
| 405 | + this.$refs.uToast.show({ | |
| 406 | + title: '结束时间不能小于开始时间', | |
| 407 | + type: 'error', | |
| 408 | + }) | |
| 409 | + } | |
| 410 | + }, | |
| 411 | + idCardStTimeChange(val) { | |
| 412 | + this.model1.idCardValidStart = this.timeChange1(val) | |
| 413 | + this.model1.idCardValidEnd = '' | |
| 414 | + }, | |
| 415 | + idCardEndTimeChange(val) { | |
| 416 | + const time = this.timeChange1(val); | |
| 417 | + if (new Date(time).getTime() > new Date(this.model1.idCardValidStart).getTime()) { | |
| 418 | + this.model1.idCardValidEnd = time | |
| 419 | + } else { | |
| 420 | + this.$refs.uToast.show({ | |
| 421 | + title: '结束时间不能小于开始时间', | |
| 422 | + type: 'error', | |
| 423 | + }) | |
| 424 | + } | |
| 425 | + }, | |
| 426 | + IdtypeChange(e) { | |
| 427 | + this.model1.idCardType = e[0].label; | |
| 428 | + }, | |
| 429 | + timeChange1(val) { | |
| 430 | + const { | |
| 431 | + year, | |
| 432 | + month, | |
| 433 | + day | |
| 434 | + } = val; | |
| 435 | + return `${year}-${month}-${day}`; | |
| 436 | + }, | |
| 203 | 437 | } |
| 204 | 438 | } |
| 205 | 439 | </script> |
| 206 | 440 | |
| 207 | 441 | <style scoped lang="scss"> |
| 208 | 442 | @import 'advertisementAdd.scss'; |
| 209 | 443 | -</style> |
| 444 | +</style> | |
| 210 | 445 | \ No newline at end of file | ... | ... |
pages/advertisementApply/advertisementApply.vue
| ... | ... | @@ -77,7 +77,7 @@ |
| 77 | 77 | <view class="img-deom"> |
| 78 | 78 | <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1"> |
| 79 | 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> | |
| 80 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/uploadID1.png')" ></u-image> | |
| 81 | 81 | </view> |
| 82 | 82 | </u-upload> |
| 83 | 83 | <text>点击上传证件人像面</text> |
| ... | ... | @@ -85,7 +85,7 @@ |
| 85 | 85 | <view class="img-deom"> |
| 86 | 86 | <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1"> |
| 87 | 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> | |
| 88 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/uploadID2.png')"></u-image> | |
| 89 | 89 | </view> |
| 90 | 90 | </u-upload> |
| 91 | 91 | <text>点击上传证件国徽面</text> |
| ... | ... | @@ -96,11 +96,11 @@ |
| 96 | 96 | <view style="line-height: 60rpx;">上传示例</view> |
| 97 | 97 | <view class="deom-box"> |
| 98 | 98 | <view class="img-deom"> |
| 99 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 99 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/front-icon.png')"></u-image> | |
| 100 | 100 | <text>人脸示例图</text> |
| 101 | 101 | </view> |
| 102 | 102 | <view class="img-deom"> |
| 103 | - <u-image width="304rpx" height="182rpx" src="/static/images/back-icon.png"></u-image> | |
| 103 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/back-icon.png')"></u-image> | |
| 104 | 104 | <text>国徽面示例图</text> |
| 105 | 105 | </view> |
| 106 | 106 | </view> | ... | ... |
pages/advertisementDetail/advertisementDetail.scss
pages/advertisementDetail/advertisementDetail.vue
| ... | ... | @@ -66,19 +66,20 @@ |
| 66 | 66 | </view> |
| 67 | 67 | <!-- 底部 --> |
| 68 | 68 | <view class="page-footer"> |
| 69 | - <view class="footer-service"> | |
| 70 | - <u-image :showLoading="true" src="/static/images/sevice-icon.png" width="30rpx" height="30rpx"></u-image> | |
| 69 | + <!-- <view class="footer-service"> | |
| 70 | + <u-image :showLoading="true" :src="$imgUrl('/sevice-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 71 | 71 | <text>客服</text> |
| 72 | - </view> | |
| 73 | - <view class="footer-btn"> | |
| 74 | - <u-button type="primary" @click="leaseAdd('/pages/intentionApply/intentionApply')">意向申请</u-button> | |
| 75 | - <u-button type="success" style="margin-left: unset;" @click="leaseAdd('/pages/advertisementAdd/advertisementAdd')">租赁申请</u-button> | |
| 76 | - <!-- <u-button type="success" style="margin-left: unset;" @click="leaseAdd">广告申请</u-button> --> | |
| 77 | - </view> | |
| 78 | - <view class="footer-service"> | |
| 79 | - <u-image :showLoading="true" src="/static/images/share-icon.png" width="30rpx" height="30rpx"></u-image> | |
| 72 | + </view> --> | |
| 73 | + <view class="footer-btn"> | |
| 74 | + <u-button type="primary" @click="leaseAdd('/pages/intentionApply/intentionApply')" style="margin-right:10px;height: 35px;">意向申请</u-button> | |
| 75 | + <u-button type="success" style="height: 35px;" @click="leaseAdd('/pages/advertisementAdd/advertisementAdd')">租赁申请</u-button> | |
| 76 | + <!-- <u-button type="success" style="margin-left: unset;" @click="leaseAdd">广告申请</u-button> --> | |
| 77 | + </view> | |
| 78 | + <!-- <view class="footer-service"> | |
| 79 | + <u-image :showLoading="true" :src="$imgUrl('/share-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 80 | 80 | <text>分享</text> |
| 81 | - </view> | |
| 81 | + </view> --> | |
| 82 | + | |
| 82 | 83 | </view> |
| 83 | 84 | </view> |
| 84 | 85 | </template> |
| ... | ... | @@ -103,13 +104,13 @@ export default { |
| 103 | 104 | onLoad(option){ |
| 104 | 105 | let data = JSON.parse(option.item) |
| 105 | 106 | this.tableData = data; |
| 106 | - console.log(this.tableData); | |
| 107 | 107 | }, |
| 108 | 108 | methods: { |
| 109 | 109 | leaseAdd(url){ |
| 110 | - uni.navigateTo({ | |
| 111 | - url | |
| 112 | - }) | |
| 110 | + console.log(this.tableData) | |
| 111 | + uni.navigateTo({ | |
| 112 | + url:`${url}?ids=${this.tableData.id}&type=${this.tableData.advertisingType}` | |
| 113 | + }) | |
| 113 | 114 | } |
| 114 | 115 | } |
| 115 | 116 | }; | ... | ... |
pages/advertisementTime/advertisementTime.vue
| 1 | 1 | <template> |
| 2 | 2 | <view class="page"> |
| 3 | - <view class="calendar-box"> | |
| 3 | + <!-- <view class="calendar-box"> | |
| 4 | 4 | <wn-calendar |
| 5 | 5 | ref="calendar" |
| 6 | 6 | :data="[{date:'2024/10/25', text:'显示文本', type: 2}]" |
| ... | ... | @@ -10,8 +10,8 @@ |
| 10 | 10 | :isEn="false" |
| 11 | 11 | format="/" |
| 12 | 12 | ></wn-calendar> |
| 13 | - </view> | |
| 14 | - <u-form class="form-box" labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> | |
| 13 | + </view> --> | |
| 14 | + <!-- <u-form class="form-box" labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> | |
| 15 | 15 | <view class="add-list"> |
| 16 | 16 | <u-form-item label="开始时间" prop="val" borderBottom> |
| 17 | 17 | <u-input v-model="model1.val" ></u-input> |
| ... | ... | @@ -28,7 +28,7 @@ |
| 28 | 28 | <u-button size="medium">3天</u-button> |
| 29 | 29 | <u-button size="medium">4天</u-button> |
| 30 | 30 | </view> |
| 31 | - </u-form> | |
| 31 | + </u-form> --> | |
| 32 | 32 | <view style="height: 120rpx;"></view> |
| 33 | 33 | <view class="page-footer"> |
| 34 | 34 | <u-button type="success">确定</u-button> |
| ... | ... | @@ -61,5 +61,5 @@ |
| 61 | 61 | </script> |
| 62 | 62 | |
| 63 | 63 | <style> |
| 64 | - @import 'advertisementTime.scss'; | |
| 64 | + /* @import 'advertisementTime.scss'; */ | |
| 65 | 65 | </style> |
| 66 | 66 | \ No newline at end of file | ... | ... |
pages/business/businessDetail/businessDetail.vue
| ... | ... | @@ -3,18 +3,13 @@ |
| 3 | 3 | <view class="page"> |
| 4 | 4 | <view class="page-info"> |
| 5 | 5 | <view class="banner"> |
| 6 | - <view class="title">商务合作标题商务合作标题</view> | |
| 6 | + <view class="title">{{tableData.title}}</view> | |
| 7 | 7 | <view class="banner-info-top"> |
| 8 | - <view>2022-02-22 22:56</view> | |
| 9 | - <view><u-icon name="eye"></u-icon>36人</view> | |
| 8 | + <!-- <view class="times">{{tableData.startTime}}至{{tableData.endTime}}</view> --> | |
| 9 | + <view><u-icon name="eye"></u-icon>{{tableData.contactPhone}}人</view> | |
| 10 | 10 | </view> |
| 11 | 11 | <view class="banner-info-item"> |
| 12 | - <text> | |
| 13 | - 1.优越的地理位置:锦江绿道位于城市繁华地段,交通便利,人流密集,是商业活动的理想选择。 | |
| 14 | - 2.丰富的活动空间:绿道沿线设有多个宽敞的活动场地,适合举办各类户外活动、体育赛事、文化演出等。 | |
| 15 | - 3.广泛的受众群体:绿道吸引了大量市民和游客前来休闲游玩,为商务合作提供了庞大的潜在客户群体。 | |
| 16 | - 4.完善的配套设施:绿道周边配备有完善的停车、餐饮、卫生等设施,能够满足各类商务活动的基本需求。 | |
| 17 | - </text> | |
| 12 | + <u-parse :html="tableData.content"></u-parse> | |
| 18 | 13 | </view> |
| 19 | 14 | </view> |
| 20 | 15 | <view class="info-box banner good-item"> |
| ... | ... | @@ -22,14 +17,14 @@ |
| 22 | 17 | <u-image width="100%" height="100%" :src="$imgUrl('/img/2.jpg')"></u-image> |
| 23 | 18 | </view> |
| 24 | 19 | <view class="info"> |
| 25 | - <view class="title">商务合作标题商务合作标题商务合作标题商务合作标题</view> | |
| 26 | - <view class="info-item" style="margin-bottom: 30rpx;"> | |
| 20 | + <view class="title">{{tableData.contactPerson}}</view> | |
| 21 | + <!-- <view class="info-item" style="margin-bottom: 30rpx;"> | |
| 27 | 22 | <u-tag text="标签标签" type="success" size="mini"/> |
| 28 | 23 | <u-tag text="标签标签" type="success" size="mini"/> |
| 29 | - </view> | |
| 24 | + </view> --> | |
| 30 | 25 | <view class="info-item"> |
| 31 | - <u-image :showLoading="true" src="/static/images/location-icon.png" width="20rpx" height="20rpx"></u-image> | |
| 32 | - <text>这里有地址这里有地址这里...</text> | |
| 26 | + <u-image :showLoading="true" :src="tableData.coverImage" width="20rpx" height="20rpx"></u-image> | |
| 27 | + <text>{{tableData.cooperationType}}</text> | |
| 33 | 28 | </view> |
| 34 | 29 | </view> |
| 35 | 30 | </view> |
| ... | ... | @@ -37,9 +32,9 @@ |
| 37 | 32 | <view class="title">场地往期活动回顾</view> |
| 38 | 33 | <u-row gutter="16"> |
| 39 | 34 | <u-col span="4"> |
| 40 | - <image :src="$imgUrl('/img/2.jpg')" mode="widthFix" style="width: 100%; border-radius: 10rpx;"></image> | |
| 35 | + <image :src="tableData.previousEvents" mode="widthFix" style="width: 100%; border-radius: 10rpx;"></image> | |
| 41 | 36 | </u-col> |
| 42 | - <u-col span="4"> | |
| 37 | + <!-- <u-col span="4"> | |
| 43 | 38 | <image :src="$imgUrl('/img/3.jpg')" mode="widthFix" style="width: 100%; border-radius: 10rpx;"></image> |
| 44 | 39 | </u-col> |
| 45 | 40 | <u-col span="4"> |
| ... | ... | @@ -53,16 +48,16 @@ |
| 53 | 48 | </u-col> |
| 54 | 49 | <u-col span="4"> |
| 55 | 50 | <image :src="$imgUrl('/img/3.jpg')" mode="widthFix" style="width: 100%; border-radius: 10rpx;"></image> |
| 56 | - </u-col> | |
| 51 | + </u-col> --> | |
| 57 | 52 | </u-row> |
| 58 | 53 | </view> |
| 59 | - <view class="info-box banner"> | |
| 54 | + <!-- <view class="info-box banner"> | |
| 60 | 55 | <view class="title">联系我们</view> |
| 61 | 56 | <view class="info-item">合作类型:品牌推广合作</view> |
| 62 | 57 | <view class="info-item">联系人:张三</view> |
| 63 | 58 | <view class="info-item">联系方式:135465489</view> |
| 64 | 59 | <view class="info-item">邮箱:89499814@qq.com</view> |
| 65 | - </view> | |
| 60 | + </view> --> | |
| 66 | 61 | </view> |
| 67 | 62 | </view> |
| 68 | 63 | </template> |
| ... | ... | @@ -87,7 +82,10 @@ export default { |
| 87 | 82 | } |
| 88 | 83 | }; |
| 89 | 84 | }, |
| 90 | - onLoad(option){}, | |
| 85 | + onLoad(option){ | |
| 86 | + this.tableData = JSON.parse(option.item) | |
| 87 | + console.log(this.tableData) | |
| 88 | + }, | |
| 91 | 89 | methods: { |
| 92 | 90 | submit() { |
| 93 | 91 | this.joinShow = false; | ... | ... |
pages/business/businessList/businessList.vue
| ... | ... | @@ -3,18 +3,18 @@ |
| 3 | 3 | <view class="page"> |
| 4 | 4 | <!-- 搜索 --> |
| 5 | 5 | <view class="head-search"> |
| 6 | - <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search> | |
| 6 | + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.title" :show-action="false" @search="search"></u-search> | |
| 7 | 7 | <u-button type="success" @click="search">搜索</u-button> |
| 8 | 8 | </view> |
| 9 | 9 | <view class="goods-data"> |
| 10 | 10 | <view class="goods-list"> |
| 11 | - <view class="good-item" v-for="(v, i) in datalist" :key="i" @click="toDetail"> | |
| 11 | + <view class="good-item" v-for="(v, i) in list" :key="i" @click="toDetail(v)"> | |
| 12 | 12 | <view class="body"> |
| 13 | 13 | <view class="info"> |
| 14 | - <view class="title">商务合作标题商务合作标题商务合作标题商务合作标题</view> | |
| 15 | - <view class="info-item">2023-02-02 14:54</view> | |
| 14 | + <view class="title">{{v.title}}</view> | |
| 15 | + <!-- <view class="info-item">{{v.}}</view> --> | |
| 16 | 16 | </view> |
| 17 | - <image :src="$imgUrl('/img/2.jpg')" ></image> | |
| 17 | + <image :src="v.coverImage" ></image> | |
| 18 | 18 | </view> |
| 19 | 19 | </view> |
| 20 | 20 | <u-loadmore :status="statuslist" @loadmore='loading' style="width: 100%; text-align: center;"/> |
| ... | ... | @@ -37,24 +37,29 @@ |
| 37 | 37 | { name: '已结束' }, |
| 38 | 38 | ], |
| 39 | 39 | current: 0, |
| 40 | - datalist: [{}, {}, {}], | |
| 40 | + datalist: [], | |
| 41 | 41 | total: 2, |
| 42 | 42 | statuslist: 'loadmore', |
| 43 | - query: { | |
| 44 | - keyword: '', | |
| 45 | - pageSize: 10, | |
| 46 | - pageNum: 0, | |
| 47 | - }, | |
| 43 | + query: { | |
| 44 | + title: '', | |
| 45 | + pageNumber: 1, | |
| 46 | + pageSize: 10, | |
| 47 | + | |
| 48 | + }, | |
| 48 | 49 | listIn:0, |
| 49 | 50 | num:0, |
| 51 | + list:[] | |
| 50 | 52 | |
| 51 | 53 | }; |
| 52 | 54 | }, |
| 53 | 55 | onLoad(option) { |
| 54 | - console.log(option.id); | |
| 55 | - this.num = option.id; | |
| 56 | + // console.log(option.id); | |
| 57 | + // this.num = option.id; | |
| 56 | 58 | this.statuslist = 'nomore'; |
| 57 | 59 | }, |
| 60 | + mounted() { | |
| 61 | + this.getALL() | |
| 62 | + }, | |
| 58 | 63 | onPullDownRefresh(e) { |
| 59 | 64 | let that = this |
| 60 | 65 | that.statuslist = 'loading'; |
| ... | ... | @@ -72,7 +77,27 @@ |
| 72 | 77 | tabsChange(val) { |
| 73 | 78 | this.current = val; |
| 74 | 79 | }, |
| 75 | - search() {}, | |
| 80 | + search() { | |
| 81 | + this.$http.sendRequest('/cereBusinessCooperation/queryByPage', 'POST', this.query,1).then(res => { | |
| 82 | + this.list =res.data.data.content | |
| 83 | + this.query ={ | |
| 84 | + title: '', | |
| 85 | + pageNumber: 1, | |
| 86 | + pageSize: 10, | |
| 87 | + | |
| 88 | + } | |
| 89 | + }) | |
| 90 | + }, | |
| 91 | + getALL(){ | |
| 92 | + let pagesize = { | |
| 93 | + pageNumber: 1, | |
| 94 | + pageSize: 2 | |
| 95 | + } | |
| 96 | + | |
| 97 | + this.$http.sendRequest('/cereBusinessCooperation/queryByPage', 'POST', pagesize,1).then(res => { | |
| 98 | + this.list =res.data.data.content | |
| 99 | + }) | |
| 100 | + }, | |
| 76 | 101 | loading() { |
| 77 | 102 | let that = this |
| 78 | 103 | if(that.statuslist == 'nomore') return; |
| ... | ... | @@ -88,10 +113,12 @@ |
| 88 | 113 | sel(val){ |
| 89 | 114 | this.listIn = val |
| 90 | 115 | }, |
| 91 | - toDetail() { | |
| 116 | + toDetail(items) { | |
| 117 | + let msg = JSON.stringify(items) | |
| 92 | 118 | uni.navigateTo({ |
| 93 | - url: '/pages/business/businessDetail/businessDetail' | |
| 119 | + url: `/pages/business/businessDetail/businessDetail?item=${msg}` | |
| 94 | 120 | }) |
| 121 | + | |
| 95 | 122 | }, |
| 96 | 123 | reconciliationdetail() { |
| 97 | 124 | ... | ... |
pages/complaint/complaint.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 | - <text class="star">*</text> | |
| 8 | - </view> | |
| 9 | - <view class="content"> | |
| 10 | - <input type="text" placeholder="请输入"> | |
| 3 | + <view class="item"> | |
| 4 | + <view class="contents"> | |
| 5 | + <view class="add-list"> | |
| 6 | + <view class="list"> | |
| 7 | + <view class="title"> | |
| 8 | + <text style="font-weight: bold;">投诉类型</text> | |
| 9 | + <!-- <text class="star">*</text> --> | |
| 10 | + </view> | |
| 11 | + <view class="content" @click="chooseLocation(1)" style="width: 25%;"> | |
| 12 | + <u-input v-model="ruleForm.complaintType" type="select" disabledColor="#ffffff" | |
| 13 | + placeholder="请选择" :border="false" suffixIcon="arrow-right" style="pointer-events:none"> | |
| 14 | + </u-input> | |
| 15 | + </view> | |
| 16 | + </view> | |
| 17 | + <view class="list"> | |
| 18 | + <view class="title"> | |
| 19 | + <text style="font-weight: bold;">问题描述</text> | |
| 20 | + <!-- <text class="star">*</text> --> | |
| 21 | + </view> | |
| 22 | + <view class="content"> | |
| 23 | + <input type="text" placeholder="请输入" v-model="ruleForm.problemDescription"> | |
| 24 | + </view> | |
| 25 | + </view> | |
| 26 | + | |
| 11 | 27 | </view> |
| 12 | 28 | </view> |
| 13 | - <view class="list"> | |
| 14 | - <view class="title"> | |
| 15 | - <text>问题描述</text> | |
| 16 | - <text class="star">*</text> | |
| 17 | - </view> | |
| 18 | - <view class="content"> | |
| 19 | - <input type="text" placeholder="请输入"> | |
| 29 | + </view> | |
| 30 | + | |
| 31 | + <view class="item"> | |
| 32 | + <view class="contents" style="background-color:#fff;padding:10px 20px;"> | |
| 33 | + <view class="feedback-data"> | |
| 34 | + <view > | |
| 35 | + <view class="title"> | |
| 36 | + <text style="font-weight: bold;">现场照片</text> | |
| 37 | + <!-- <text class="star">*</text> --> | |
| 38 | + </view> | |
| 39 | + </view> | |
| 40 | + <view class="voucher-img"> | |
| 41 | + <view class="voucher-list"> | |
| 42 | + <!-- <image :src="$imgUrl('/voucher_bg.png')" ></image> --> | |
| 43 | + <u-upload :action="$upload" :auto-upload="true" ref="uUpload" ></u-upload> | |
| 44 | + </view> | |
| 45 | + </view> | |
| 20 | 46 | </view> |
| 21 | 47 | </view> |
| 22 | - <view class="feedback-data"> | |
| 23 | - <view> | |
| 24 | - <view class="title"> | |
| 25 | - <text>现场照片</text> | |
| 26 | - <text class="star">*</text> | |
| 48 | + </view> | |
| 49 | + | |
| 50 | + <view class="item"> | |
| 51 | + <view class="contents" style="background-color:#fff;padding:10px 20px;"> | |
| 52 | + <view class="feedback-data"> | |
| 53 | + <view> | |
| 54 | + <view class="title"> | |
| 55 | + <text style="font-weight: bold;">备注信息</text> | |
| 56 | + <!-- <text class="star">*</text> --> | |
| 57 | + </view> | |
| 27 | 58 | </view> |
| 28 | - </view> | |
| 29 | - <view class="voucher-img"> | |
| 30 | - <view class="voucher-list"> | |
| 31 | - <image :src="$imgUrl('/voucher_bg.png')" ></image> | |
| 59 | + <view class="voucher-img"> | |
| 60 | + <view class="voucher-list" style="width: 100%;"> | |
| 61 | + <view class="" style="background-color: #F0F0F0;border-radius: 20rpx;"> | |
| 62 | + <textarea name="" id="" cols="30" rows="10" placeholder="请输入" style="font-size: 24rpx;background-color: #F0F0F0;border-radius: 20rpx;width: 96%;margin: 0 auto;padding: 20rpx 0;" v-model="ruleForm.remark"></textarea> | |
| 63 | + </view> | |
| 64 | + </view> | |
| 32 | 65 | </view> |
| 33 | 66 | </view> |
| 34 | 67 | </view> |
| 35 | 68 | </view> |
| 69 | + <u-select v-model="popup1" mode="mutil-column-auto" :list="list" @confirm="pops" label-name="label" value-name="value"></u-select> | |
| 36 | 70 | <!-- 保存按钮 --> |
| 37 | 71 | <view class="page-footer"> |
| 38 | 72 | <view class="footer-buy"> |
| 39 | - <view class="cart-add"> | |
| 73 | + <view class="cart-add" @click="submit"> | |
| 40 | 74 | <text>提交</text> |
| 41 | 75 | </view> |
| 42 | 76 | </view> |
| ... | ... | @@ -48,10 +82,80 @@ |
| 48 | 82 | export default { |
| 49 | 83 | data() { |
| 50 | 84 | return { |
| 51 | - | |
| 52 | - }; | |
| 85 | + fileList:[], | |
| 86 | + ruleForm:{ | |
| 87 | + onSitePhoto:'', | |
| 88 | + complaintType:'', | |
| 89 | + problemDescription:'', | |
| 90 | + remark:'', | |
| 91 | + applicationTime:'', | |
| 92 | + status:'1' | |
| 93 | + }, | |
| 94 | + list: [{ | |
| 95 | + value: '物业投诉', | |
| 96 | + label: '物业投诉' | |
| 97 | + }, | |
| 98 | + { | |
| 99 | + value: '违规投诉', | |
| 100 | + label: '违规投诉' | |
| 101 | + } | |
| 102 | + ], | |
| 103 | + popup1:false | |
| 104 | + } | |
| 53 | 105 | }, |
| 54 | 106 | methods:{ |
| 107 | + chooseLocation(val, item) { | |
| 108 | + this.popup1 = true | |
| 109 | + }, | |
| 110 | + pops(val) { | |
| 111 | + this.ruleForm.complaintType = val[0].label | |
| 112 | + | |
| 113 | + }, | |
| 114 | + submit() { | |
| 115 | + let files = [] | |
| 116 | + // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作) | |
| 117 | + files = this.$refs.uUpload.lists.filter(val => { | |
| 118 | + return val.progress == 100; | |
| 119 | + }) | |
| 120 | + // 如果您不需要进行太多的处理,直接如下即可 | |
| 121 | + // files = this.$refs.uUpload.lists; | |
| 122 | + files.map(item=>{ | |
| 123 | + this.ruleForm.onSitePhoto = item.response.data.url | |
| 124 | + }) | |
| 125 | + this.ruleForm.applicationTime = this.currentTime() | |
| 126 | + | |
| 127 | + this.ruleForm.applicant = uni.getStorageSync('shopId') | |
| 128 | + this.$http.sendRequest('/cereComplaintsSuggestions/add', 'POST',this.ruleForm,1).then(res => { | |
| 129 | + uni.navigateTo({ | |
| 130 | + url: '/pages/serve/serve' | |
| 131 | + }) | |
| 132 | + }).catch(err => { | |
| 133 | + console.log(err) | |
| 134 | + //请求失败 | |
| 135 | + }) | |
| 136 | + | |
| 137 | + }, | |
| 138 | + // 获取时间 | |
| 139 | + currentTime() { | |
| 140 | + let date = new Date(); | |
| 141 | + let year = date.getFullYear(); | |
| 142 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 143 | + let day = date.getDate(); | |
| 144 | + let hours = date.getHours(); | |
| 145 | + let minutes = date.getMinutes(); | |
| 146 | + let seconds = date.getSeconds(); | |
| 147 | + | |
| 148 | + // 为月、日、时、分、秒添加前导零(如果需要) | |
| 149 | + month = month < 10 ? '0' + month : month; | |
| 150 | + day = day < 10 ? '0' + day : day; | |
| 151 | + hours = hours < 10 ? '0' + hours : hours; | |
| 152 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 153 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 154 | + | |
| 155 | + // 拼接日期和时间字符串 | |
| 156 | + let strDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 157 | + return strDate; | |
| 158 | + }, | |
| 55 | 159 | } |
| 56 | 160 | } |
| 57 | 161 | </script> | ... | ... |
pages/createQuestionnaire/createQuestionnaire.scss
| ... | ... | @@ -10,6 +10,11 @@ |
| 10 | 10 | border-radius: 20rpx; |
| 11 | 11 | margin-top: 20rpx; |
| 12 | 12 | width: 100%; |
| 13 | + | |
| 14 | + } | |
| 15 | + ::v-deep .u-form-item--left{ | |
| 16 | + width:20%; | |
| 17 | + flex:none; | |
| 13 | 18 | } |
| 14 | 19 | .select-item { |
| 15 | 20 | background-color: #FFFFFF; |
| ... | ... | @@ -57,6 +62,7 @@ |
| 57 | 62 | background-color: #FFFFFF; |
| 58 | 63 | padding-bottom: constant(safe-area-inset-bottom); |
| 59 | 64 | padding-bottom: env(safe-area-inset-bottom); |
| 65 | + z-index: 10; | |
| 60 | 66 | .u-btn { |
| 61 | 67 | width: 30%; |
| 62 | 68 | } | ... | ... |
pages/createQuestionnaire/createQuestionnaire.vue
| ... | ... | @@ -2,35 +2,45 @@ |
| 2 | 2 | <view class="page"> |
| 3 | 3 | <u-form :model="form" ref="uForm" :label-width="120"> |
| 4 | 4 | <view class="form-box"> |
| 5 | - <u-form-item label="问卷名称"><u-input v-model="form.name" /></u-form-item> | |
| 5 | + <u-form-item label="问卷名称"><u-input v-model="form.title" /></u-form-item> | |
| 6 | 6 | </view> |
| 7 | 7 | <view class="form-box"> |
| 8 | - <u-form-item label="问卷说明" label-position="top"><u-input v-model="form.name" type="textarea"/></u-form-item> | |
| 8 | + <u-form-item label="问卷说明" label-position="top"><u-input v-model="form.remarks" type="textarea"/></u-form-item> | |
| 9 | 9 | </view> |
| 10 | - <view class="select-item" v-for="i in 2" :key="2"> | |
| 10 | + <view class="select-item" v-for="(val,index) in items" :key="index"> | |
| 11 | 11 | <view class="top"> |
| 12 | - <view class="title"> | |
| 13 | - 1.这里有标题这里有标题这里有标题 | |
| 12 | + <view class="title" style="display: flex;align-items: center;"> | |
| 13 | + {{index + 1}}.<u-input v-model="val.tikuTitle" type="text" :border="false" style="margin-left: 10px;"/> | |
| 14 | 14 | </view> |
| 15 | - <u-radio-group class="radio-box"> | |
| 16 | - <u-radio shape="circle">这里有选项这里有选项</u-radio> | |
| 17 | - <u-radio shape="circle">这里有选项这里有选项</u-radio> | |
| 15 | + <u-form-item label="题型" borderBottom> | |
| 16 | + <u-input v-model="val.questionType" type="select" @click="tixin(index)" | |
| 17 | + placeholder='请选择题型' /> | |
| 18 | + </u-form-item> | |
| 19 | + <u-radio-group class="radio-box" v-if="val.questionType=='单选'"> | |
| 20 | + <u-radio shape="circle" v-for="(item,val) in val.optionSettings"><u-input v-model="item.ules" type="text" :border="false" style="margin-left: 10px;" /></u-radio> | |
| 18 | 21 | </u-radio-group> |
| 22 | + <u-checkbox-group v-if="val.questionType=='多选'"> | |
| 23 | + <u-checkbox | |
| 24 | + v-for="(item,val) in val.optionSettings" | |
| 25 | + ><u-input v-model="item.ules" type="text" :border="false" style="margin-left: 10px;" /></u-checkbox> | |
| 26 | + </u-checkbox-group> | |
| 19 | 27 | </view> |
| 20 | 28 | <view class="bottom"> |
| 21 | - <u-button type="primary" size="mini">编辑</u-button> | |
| 22 | - <u-button type="success" size="mini">复制</u-button> | |
| 23 | - <u-button type="success" size="mini">上移</u-button> | |
| 24 | - <u-button type="success" size="mini">下移</u-button> | |
| 25 | - <u-button type="error" size="mini">删除</u-button> | |
| 29 | + <!-- <u-button type="primary" size="mini">编辑</u-button> --> | |
| 30 | + <u-button type="success" size="mini" @click="addxuan(index)" v-if="val.questionType!=''">添加选项</u-button> | |
| 31 | + <u-button type="success" size="mini" @click="moveUp(index)">上移</u-button> | |
| 32 | + <u-button type="success" size="mini" @click="moveDown(index)">下移</u-button> | |
| 33 | + <u-button type="error" size="mini" @click="del(index)">删除</u-button> | |
| 26 | 34 | </view> |
| 27 | 35 | </view> |
| 36 | + <view style="padding: 20px 45%;margin-bottom: 40px;color: #0FBB59;" @click="addItems"> + 添加</view> | |
| 28 | 37 | </u-form> |
| 29 | 38 | <view class="page-footer"> |
| 30 | - <u-button type="info"><u-icon name="setting"></u-icon>设置</u-button> | |
| 31 | - <u-button type="info"><u-icon name="eye"></u-icon>预览</u-button> | |
| 32 | - <u-button type="success"><u-icon name="checkmark-circle"></u-icon>提交</u-button> | |
| 39 | + <u-button type="info" @click="go('/pages/setPage/setPage')"><u-icon name="setting" ></u-icon>设置</u-button> | |
| 40 | + <u-button type="info" @click="goDetail()"><u-icon name="eye"></u-icon>预览</u-button> | |
| 41 | + <u-button type="success" @click="tijiao"><u-icon name="checkmark-circle"></u-icon>提交</u-button> | |
| 33 | 42 | </view> |
| 43 | + <u-select v-model="typeShow" :list="questionnaireType" @confirm="typeChange"></u-select> | |
| 34 | 44 | </view> |
| 35 | 45 | </template> |
| 36 | 46 | |
| ... | ... | @@ -40,14 +50,125 @@ |
| 40 | 50 | return { |
| 41 | 51 | form: { |
| 42 | 52 | name: '', |
| 53 | + remarks:'', | |
| 54 | + questionId:'', | |
| 55 | + | |
| 43 | 56 | }, |
| 44 | - value:0 | |
| 45 | - }; | |
| 57 | + items: [{ | |
| 58 | + tikuTitle: '', | |
| 59 | + questionBank:'用户端题库', | |
| 60 | + questionType: '', | |
| 61 | + optionSettings: [{ | |
| 62 | + ules:'' | |
| 63 | + }], | |
| 64 | + }], | |
| 65 | + xuanSet:[{ | |
| 66 | + ules:'' | |
| 67 | + }], | |
| 68 | + value:0, | |
| 69 | + typeShow:false, | |
| 70 | + questionnaireType: [{ | |
| 71 | + value: 1, | |
| 72 | + label: '单选' | |
| 73 | + }, | |
| 74 | + { | |
| 75 | + value: 2, | |
| 76 | + label: '多选' | |
| 77 | + } | |
| 78 | + ], | |
| 79 | + tixinIndex:0, | |
| 80 | + formS:{ | |
| 81 | + | |
| 82 | + } | |
| 83 | + } | |
| 84 | + }, | |
| 85 | + onLoad(option) { | |
| 86 | + if(option.data){ | |
| 87 | + this.form = {...this.form,...JSON.parse(option.data)} | |
| 88 | + this.formS = JSON.parse(option.data) | |
| 89 | + } | |
| 90 | + | |
| 46 | 91 | }, |
| 47 | 92 | methods:{ |
| 93 | + go(urls){ | |
| 94 | + uni.navigateTo({ | |
| 95 | + url:`${urls}` | |
| 96 | + }) | |
| 97 | + }, | |
| 48 | 98 | bindTextAreaBlur: function (e) { |
| 49 | 99 | console.log(e.detail.value) |
| 50 | - } | |
| 100 | + }, | |
| 101 | + addItems() { | |
| 102 | + this.items.push({ | |
| 103 | + tikuTitle: '', | |
| 104 | + questionBank:'用户端题库', | |
| 105 | + questionType: '', | |
| 106 | + optionSettings: [{ | |
| 107 | + ules:'' | |
| 108 | + }], | |
| 109 | + }) | |
| 110 | + }, | |
| 111 | + addxuan(index){ | |
| 112 | + this.items[index].optionSettings.push({ | |
| 113 | + ules:'', | |
| 114 | + }) | |
| 115 | + }, | |
| 116 | + del(index){ | |
| 117 | + this.items.splice(index, 1) | |
| 118 | + | |
| 119 | + }, | |
| 120 | + moveUp(index) { | |
| 121 | + if (index > 0) { | |
| 122 | + // 使用数组的 splice 方法交换元素位置 | |
| 123 | + this.items.splice(index - 1, 0, this.items.splice(index, 1)[0]); | |
| 124 | + } | |
| 125 | + }, | |
| 126 | + moveDown(index) { | |
| 127 | + if (index < this.items.length - 1) { | |
| 128 | + // 使用数组的 splice 方法交换元素位置 | |
| 129 | + this.items.splice(index + 1, 0, this.items.splice(index, 1)[0]); | |
| 130 | + } | |
| 131 | + }, | |
| 132 | + tijiao(){ | |
| 133 | + let Ids = []; | |
| 134 | + let promises = this.items.map(tem => { | |
| 135 | + tem.optionSettings = tem.optionSettings.map(item => `"ules":"${item.ules}"`).join(',') | |
| 136 | + tem.user = uni.getStorageSync('shopId'); | |
| 137 | + return this.$http.sendRequest('/cereQuestionManagement/add', 'POST', tem, 1).then(res => { | |
| 138 | + Ids.push(res.data.data.id) | |
| 139 | + }) | |
| 140 | + }) | |
| 141 | + | |
| 142 | + Promise.all(promises).then(() => { | |
| 143 | + this.form.questionId = Ids.join(','); | |
| 144 | + let obj = { ...this.form, ...this.formS } | |
| 145 | + this.$http.sendRequest('/cereQuestionnaireTable/add', 'POST', obj, 1).then(res => { | |
| 146 | + uni.redirectTo({ | |
| 147 | + url: '/pages/questionnaire/questionnaire' | |
| 148 | + }) | |
| 149 | + }) | |
| 150 | + }).catch(error => { | |
| 151 | + console.error('Error:', error); | |
| 152 | + }) | |
| 153 | + }, | |
| 154 | + tixin(index){ | |
| 155 | + this.typeShow = true | |
| 156 | + this.tixinIndex = index | |
| 157 | + }, | |
| 158 | + typeChange(e) { | |
| 159 | + this.items[this.tixinIndex].questionType = e[0].label | |
| 160 | + }, | |
| 161 | + goDetail(){ | |
| 162 | + | |
| 163 | + let obj ={ | |
| 164 | + msg :this.items | |
| 165 | + } | |
| 166 | + obj = JSON.stringify(obj) | |
| 167 | + uni.navigateTo({ | |
| 168 | + url: `/pages/questionnaire/questDetail/questDetail?detail=${JSON.stringify(obj)}` | |
| 169 | + }) | |
| 170 | + | |
| 171 | + }, | |
| 51 | 172 | } |
| 52 | 173 | } |
| 53 | 174 | </script> | ... | ... |
pages/details/details.scss
| ... | ... | @@ -150,7 +150,6 @@ |
| 150 | 150 | padding-bottom: env(safe-area-inset-bottom); |
| 151 | 151 | .footer-btn { |
| 152 | 152 | display: flex; |
| 153 | - width: 70vw; | |
| 154 | 153 | } |
| 155 | 154 | .footer-service { |
| 156 | 155 | display: flex; |
| ... | ... | @@ -158,7 +157,7 @@ |
| 158 | 157 | align-items: center; |
| 159 | 158 | text { |
| 160 | 159 | margin-top: 6rpx; |
| 161 | - line-height: 42rpx; | |
| 160 | + line-height: 32rpx; | |
| 162 | 161 | } |
| 163 | 162 | } |
| 164 | 163 | } |
| 165 | 164 | \ No newline at end of file | ... | ... |
pages/details/details.vue
| 1 | 1 | <template> |
| 2 | 2 | <view> |
| 3 | 3 | <view class="banner-img"> |
| 4 | - <u-image :showLoading="true" :src="tableData.displayMainImage" width="100%" height="100%"></u-image> | |
| 4 | + <u-image :showLoading="true" :src="tableData.displayMainImage || tableData.displayImage" width="100%" height="100%"></u-image> | |
| 5 | 5 | </view> |
| 6 | 6 | <view class="banner"> |
| 7 | 7 | <view class="banner-item info"> |
| 8 | 8 | <view class="info-title"> |
| 9 | - {{tableData.shopName}}{{tableData.venueNumber}}, | |
| 10 | - {{tableData.detailedLocation}} | |
| 11 | - <!-- {{tableData.houseNumber}} --> | |
| 12 | - <!-- <span>|</span> --> | |
| 9 | + {{tableData.shopName || tableData.venueName}} | |
| 10 | + | |
| 13 | 11 | </view> |
| 14 | 12 | <view class="info-text">{{tableData.shopDescription}}</view> |
| 15 | 13 | <view class="info-racord"> |
| 16 | - <view class="info-price"><span>1000</span>元/月</view> | |
| 17 | - <view class="info-intention">2456人有意向</view> | |
| 14 | + <view class="info-price"><span>{{tableData.id *160}}</span>元/月</view> | |
| 15 | + <view class="info-intention">{{tableData.id}}人有意向</view> | |
| 18 | 16 | </view> |
| 19 | 17 | </view> |
| 20 | 18 | <view class="banner-item field"> |
| ... | ... | @@ -24,19 +22,19 @@ |
| 24 | 22 | <u-col span="6"> |
| 25 | 23 | <view class="form-item"> |
| 26 | 24 | <view class="label">场地类型:</view> |
| 27 | - <text>{{tableData.architecturalForm}}</text> | |
| 25 | + <text>{{tableData.architecturalForm || tableData.venueType}}</text> | |
| 28 | 26 | </view> |
| 29 | 27 | </u-col> |
| 30 | 28 | <u-col span="6"> |
| 31 | 29 | <view class="form-item"> |
| 32 | 30 | <view class="label">实际使用面积:</view> |
| 33 | - <text>{{tableData.actualUsableArea}}m²</text> | |
| 31 | + <text>{{tableData.actualUsableArea || tableData.actualArea}}m²</text> | |
| 34 | 32 | </view> |
| 35 | 33 | </u-col> |
| 36 | 34 | <u-col span="6"> |
| 37 | 35 | <view class="form-item"> |
| 38 | 36 | <view class="label">所属区域:</view> |
| 39 | - <text>{{tableData.belongingRegion}}</text> | |
| 37 | + <text>{{tableData.belongingRegion || tableData.district}}</text> | |
| 40 | 38 | </view> |
| 41 | 39 | </u-col> |
| 42 | 40 | <u-col span="12"> |
| ... | ... | @@ -51,7 +49,7 @@ |
| 51 | 49 | <u-col span="12"> |
| 52 | 50 | <view class="form-item"> |
| 53 | 51 | <view class="label" style="width: 142rpx;">位置描述:</view> |
| 54 | - <text style='flex: 1;'>{{tableData.detailedLocation}}</text> | |
| 52 | + <text style='flex: 1;'>{{tableData.detailedLocation }}</text> | |
| 55 | 53 | </view> |
| 56 | 54 | </u-col> |
| 57 | 55 | </u-row> |
| ... | ... | @@ -62,13 +60,13 @@ |
| 62 | 60 | <view style="margin-top: 16rpx;"> |
| 63 | 61 | <map style="width: 100%; height: 150rpx;"> |
| 64 | 62 | <view class="position-info"> |
| 65 | - <u-image :showLoading="true" src="/static/images/location-icon.png" width="20rpx" height="20rpx"></u-image> | |
| 66 | - <text>{{tableData.shopName}}{{tableData.venueNumber}}</text> | |
| 63 | + <u-image :showLoading="true" :src="$imgUrl('/location-icon.png')" width="20rpx" height="20rpx"></u-image> | |
| 64 | + <text>{{tableData.shopName || tableData.venueName}}</text> | |
| 67 | 65 | </view> |
| 68 | 66 | </map> |
| 69 | 67 | </view> |
| 70 | 68 | </view> |
| 71 | - <view class="banner-item other-business"> | |
| 69 | + <!-- <view class="banner-item other-business"> | |
| 72 | 70 | <view class="banner-item-title">周边商铺</view> |
| 73 | 71 | <view style="margin-top: 16rpx;"> |
| 74 | 72 | <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120"> |
| ... | ... | @@ -84,23 +82,24 @@ |
| 84 | 82 | </view> |
| 85 | 83 | </scroll-view> |
| 86 | 84 | </view> |
| 87 | - </view> | |
| 85 | + </view> --> | |
| 88 | 86 | </view> |
| 89 | 87 | <!-- 底部 --> |
| 90 | 88 | <view class="page-footer"> |
| 91 | - <view class="footer-service"> | |
| 92 | - <u-image :showLoading="true" src="/static/images/sevice-icon.png" width="30rpx" height="30rpx"></u-image> | |
| 93 | - <text>客服</text> | |
| 94 | - </view> | |
| 89 | + <!-- <view class="footer-service"> | |
| 90 | + <u-image :showLoading="true" :src="$imgUrl('/sevice-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 91 | + <text>客服</text> | |
| 92 | + </view> --> | |
| 95 | 93 | <view class="footer-btn"> |
| 96 | - <u-button type="primary" @click="leaseAdd('/pages/intentionApply/intentionApply')">意向申请</u-button> | |
| 97 | - <u-button type="success" style="margin-left: unset;" @click="leaseAdd('/pages/leaseAdd/leaseAdd')">租赁申请</u-button> | |
| 94 | + <u-button type="primary" @click="leaseAdd('/pages/intentionApply/intentionApply')" style="margin-right:10px;height: 35px;">意向申请</u-button> | |
| 95 | + <u-button type="success" style="height: 35px;" @click="leaseAdd('/pages/leaseAdd/leaseAdd')" >租赁申请</u-button> | |
| 98 | 96 | <!-- <u-button type="success" style="margin-left: unset;" @click="leaseAdd">广告申请</u-button> --> |
| 99 | 97 | </view> |
| 100 | - <view class="footer-service"> | |
| 101 | - <u-image :showLoading="true" src="/static/images/share-icon.png" width="30rpx" height="30rpx"></u-image> | |
| 102 | - <text>分享</text> | |
| 103 | - </view> | |
| 98 | + <!-- <view class="footer-service"> | |
| 99 | + <u-image :showLoading="true" :src="$imgUrl('/share-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 100 | + <text>分享</text> | |
| 101 | + </view> --> | |
| 102 | + | |
| 104 | 103 | </view> |
| 105 | 104 | </view> |
| 106 | 105 | </template> |
| ... | ... | @@ -120,21 +119,34 @@ export default { |
| 120 | 119 | ], |
| 121 | 120 | latitude: 39.909, |
| 122 | 121 | longitude: 116.39742, |
| 122 | + qianzui:'', | |
| 123 | 123 | }; |
| 124 | 124 | }, |
| 125 | 125 | onLoad(option){ |
| 126 | + | |
| 126 | 127 | let data = JSON.parse(option.item) |
| 128 | + console.log(data) | |
| 129 | + if(data.shopName){ | |
| 130 | + this.qianzui = 'sp' | |
| 131 | + }else{ | |
| 132 | + this.qianzui = 'cd' | |
| 133 | + } | |
| 127 | 134 | this.swiperList[0].url = data.displayMainImage || data.locationDiagram |
| 128 | - this.tableData = data; | |
| 129 | - let location = JSON.parse(data.mapPunctuation) | |
| 135 | + this.tableData = data | |
| 136 | + let location | |
| 137 | + if(data.mapPunctuation){ | |
| 138 | + location = JSON.parse(data.mapPunctuation) | |
| 139 | + }else{ | |
| 140 | + location = JSON.parse(data.mapMarker) | |
| 141 | + } | |
| 130 | 142 | this.latitude = location.latitude; |
| 131 | 143 | this.longitude = location.longitude; |
| 132 | - console.log(this.swiperList, this.tableData); | |
| 144 | + | |
| 133 | 145 | }, |
| 134 | 146 | methods: { |
| 135 | 147 | leaseAdd(url){ |
| 136 | 148 | uni.navigateTo({ |
| 137 | - url | |
| 149 | + url:`${url}?ids=${this.qianzui+this.tableData.id}` | |
| 138 | 150 | }) |
| 139 | 151 | } |
| 140 | 152 | } | ... | ... |
pages/dialogue/dialogue.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="pages"> | |
| 3 | + <view class="diaBox"> | |
| 4 | + <view class="contents"> | |
| 5 | + <view class="left"> | |
| 6 | + <view class="time"> | |
| 7 | + 11:00 | |
| 8 | + </view> | |
| 9 | + <view class="leftCon"> | |
| 10 | + 这里有内容这里有内容这里有内容这里有内容 | |
| 11 | + </view> | |
| 12 | + </view> | |
| 13 | + | |
| 14 | + <view class="right"> | |
| 15 | + <view class="time"> | |
| 16 | + 11:05 | |
| 17 | + </view> | |
| 18 | + <view class="leftCon"> | |
| 19 | + 这里有内容这里有内容这里有内容这里有内容 | |
| 20 | + </view> | |
| 21 | + </view> | |
| 22 | + </view> | |
| 23 | + </view> | |
| 24 | + <!-- 输入框 --> | |
| 25 | + <view class="footer"> | |
| 26 | + <view class="" style="width: 90%;margin: 0 auto;"> | |
| 27 | + <view class="footer_box"> | |
| 28 | + <input type="text" placeholder="请输入" style="font-size: 24rpx;" name="" id=""> | |
| 29 | + <view class="right"> | |
| 30 | + 发送 | |
| 31 | + </view> | |
| 32 | + </view> | |
| 33 | + </view> | |
| 34 | + </view> | |
| 35 | + </view> | |
| 36 | +</template> | |
| 37 | + | |
| 38 | +<script> | |
| 39 | + export default { | |
| 40 | + data() { | |
| 41 | + return { | |
| 42 | + | |
| 43 | + } | |
| 44 | + }, | |
| 45 | + methods: { | |
| 46 | + | |
| 47 | + } | |
| 48 | + } | |
| 49 | +</script> | |
| 50 | + | |
| 51 | +<style lang="scss" scoped> | |
| 52 | + .pages{ | |
| 53 | + width: 100vw; | |
| 54 | + height: 100%; | |
| 55 | + position: relative; | |
| 56 | + overflow-y: auto; | |
| 57 | + background-color: #f6f6f6; | |
| 58 | + | |
| 59 | + .diaBox{ | |
| 60 | + width: 100%; | |
| 61 | + .contents{ | |
| 62 | + width: 90%; | |
| 63 | + margin: 0 auto; | |
| 64 | + .left{ | |
| 65 | + margin-top: 20rpx; | |
| 66 | + .time{ | |
| 67 | + margin: 0 auto; | |
| 68 | + font-size: 21rpx; | |
| 69 | + text-align: center; | |
| 70 | + color: #939393; | |
| 71 | + } | |
| 72 | + .leftCon{ | |
| 73 | + width: 60%; | |
| 74 | + padding: 20rpx; | |
| 75 | + background-color: #fff; | |
| 76 | + border-radius: 20rpx; | |
| 77 | + border-top-left-radius: 0; | |
| 78 | + margin-top: 20rpx; | |
| 79 | + } | |
| 80 | + } | |
| 81 | + | |
| 82 | + .right{ | |
| 83 | + margin-top: 20rpx; | |
| 84 | + .time{ | |
| 85 | + margin: 0 auto; | |
| 86 | + font-size: 21rpx; | |
| 87 | + text-align: center; | |
| 88 | + color: #939393; | |
| 89 | + } | |
| 90 | + .leftCon{ | |
| 91 | + float: right; | |
| 92 | + width: 60%; | |
| 93 | + padding: 20rpx; | |
| 94 | + background-color: #95EC69; | |
| 95 | + border-radius: 20rpx; | |
| 96 | + border-top-right-radius: 0; | |
| 97 | + margin-top: 20rpx; | |
| 98 | + } | |
| 99 | + } | |
| 100 | + } | |
| 101 | + } | |
| 102 | + | |
| 103 | + .footer{ | |
| 104 | + position: fixed; | |
| 105 | + bottom: 0; | |
| 106 | + width: 100%; | |
| 107 | + height: 166rpx; | |
| 108 | + background-color: #fff; | |
| 109 | + display: flex; | |
| 110 | + align-items: center; | |
| 111 | + .footer_box{ | |
| 112 | + width: 100%; | |
| 113 | + display: flex; | |
| 114 | + align-items: center; | |
| 115 | + input{ | |
| 116 | + background-color: #F1F1F1; | |
| 117 | + width: 100%; | |
| 118 | + margin: 0 auto; | |
| 119 | + height: 80rpx; | |
| 120 | + border-radius: 30rpx; | |
| 121 | + line-height: 80rpx; | |
| 122 | + } | |
| 123 | + .input-placeholder{ | |
| 124 | + margin-left: 20rpx; | |
| 125 | + } | |
| 126 | + | |
| 127 | + .right{ | |
| 128 | + text-align: center; | |
| 129 | + width: 144rpx; | |
| 130 | + height: 80rpx; | |
| 131 | + line-height: 80rpx; | |
| 132 | + color: #fff; | |
| 133 | + background-color: #0FBB59; | |
| 134 | + border-radius: 40rpx; | |
| 135 | + margin-left: 20rpx; | |
| 136 | + } | |
| 137 | + } | |
| 138 | + } | |
| 139 | + } | |
| 140 | +</style> | ... | ... |
pages/field/field.scss
| ... | ... | @@ -13,39 +13,25 @@ |
| 13 | 13 | margin: 20rpx; |
| 14 | 14 | .search{ |
| 15 | 15 | display: flex; |
| 16 | + width:100%; | |
| 16 | 17 | 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; | |
| 18 | + justify-content: space-between; | |
| 19 | + position: relative; | |
| 20 | + background-color: #FFFFFF; | |
| 21 | + border-radius: 35rpx; | |
| 22 | + padding: 0 10rpx; | |
| 23 | + border: 2rpx solid #E8E8E8; | |
| 24 | + | |
| 25 | + .u-search { | |
| 34 | 26 | 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 | - } | |
| 27 | + } | |
| 28 | + .u-btn { | |
| 29 | + border: unset; | |
| 30 | + border: 0px transparent; | |
| 31 | + height: 46rpx; | |
| 32 | + width: 88rpx; | |
| 33 | + font-size: 24rpx; | |
| 34 | + border-radius: 35rpx; | |
| 49 | 35 | } |
| 50 | 36 | } |
| 51 | 37 | } |
| ... | ... | @@ -85,7 +71,10 @@ |
| 85 | 71 | padding: 0 25rpx; |
| 86 | 72 | .list{ |
| 87 | 73 | display: flex; |
| 88 | - margin-bottom: 40rpx; | |
| 74 | + margin-bottom: 20rpx; | |
| 75 | + background-color: #fff; | |
| 76 | + padding: 14rpx; | |
| 77 | + border-radius: 14rpx; | |
| 89 | 78 | .thumb{ |
| 90 | 79 | display: flex; |
| 91 | 80 | align-items: center; | ... | ... |
pages/field/field.vue
| ... | ... | @@ -4,22 +4,17 @@ |
| 4 | 4 | <view class="head-search"> |
| 5 | 5 | |
| 6 | 6 | <view class="search"> |
| 7 | - <u-search placeholder="请输入" v-model="keyword" @search="sousu" @custom="sousu"></u-search> | |
| 8 | - <!-- <view class="icon"> | |
| 9 | - <image :src="$imgUrl('/search.png')" mode=""></image> | |
| 10 | - </view> | |
| 11 | - <view class="hint"> | |
| 12 | - <text class="min">请输入关键词</text> | |
| 13 | - <text class="max">搜索</text> | |
| 14 | - </view> --> | |
| 7 | + <u-search bg-color="#fff" placeholder="请输入" v-model="query.venueName" :show-action="false" @search="search" @clear="clearGet"></u-search> | |
| 8 | + <u-button type="success" @click="search">搜索</u-button> | |
| 15 | 9 | </view> |
| 16 | 10 | </view> |
| 17 | 11 | <view class="screen-list"> |
| 18 | - <view class="list"> | |
| 12 | + <view class="list" @click="show = true"> | |
| 19 | 13 | <text>区域</text> |
| 20 | 14 | <image :src="$imgUrl('/down.png')"></image> |
| 15 | + <u-select v-model="show" :list="areList" @confirm="(v) => {queryChange('district', v)}"></u-select> | |
| 21 | 16 | </view> |
| 22 | - <view class="list"> | |
| 17 | + <!-- <view class="list"> | |
| 23 | 18 | <text>租金</text> |
| 24 | 19 | <image :src="$imgUrl('/down.png')"></image> |
| 25 | 20 | </view> |
| ... | ... | @@ -30,7 +25,7 @@ |
| 30 | 25 | <view class="list"> |
| 31 | 26 | <text>筛选</text> |
| 32 | 27 | <image :src="$imgUrl('/down.png')"></image> |
| 33 | - </view> | |
| 28 | + </view> --> | |
| 34 | 29 | </view> |
| 35 | 30 | <!-- 订单列表 --> |
| 36 | 31 | <!-- <view class="goods-data"> |
| ... | ... | @@ -90,7 +85,7 @@ |
| 90 | 85 | <view class="retail-price"> |
| 91 | 86 | <text>租金:</text> |
| 92 | 87 | <text class="min">¥</text> |
| 93 | - <text class="max">{{zujinList[index].price}}</text> | |
| 88 | + <text class="max">{{item.id*10}}</text> | |
| 94 | 89 | <text class="min">/月</text> |
| 95 | 90 | <text class="line"></text> |
| 96 | 91 | <text>面积:</text> |
| ... | ... | @@ -109,12 +104,27 @@ |
| 109 | 104 | export default { |
| 110 | 105 | data() { |
| 111 | 106 | return { |
| 112 | - keyword:'', | |
| 107 | + query:{ | |
| 108 | + venueName:'', | |
| 109 | + pageNumber: 1, | |
| 110 | + pageSize: 10, | |
| 111 | + }, | |
| 113 | 112 | pageindex: { |
| 114 | 113 | pageNumber: 1, |
| 115 | 114 | pageSize: 10, |
| 116 | 115 | }, |
| 116 | + areList: [ | |
| 117 | + {value: '武侯区', label: '武侯区'}, | |
| 118 | + {value: '锦江区', label: '锦江区'}, | |
| 119 | + {value: '青羊区', label: '青羊区'}, | |
| 120 | + {value: '金牛区', label: '金牛区'}, | |
| 121 | + {value: '双流区', label: '双流区'}, | |
| 122 | + {value: '郫都区', label: '郫都区'}, | |
| 123 | + {value: '龙泉驿区', label: '龙泉驿区'}, | |
| 124 | + {value: '温江区', label: '温江区'}, | |
| 125 | + ], // 区域列表 | |
| 117 | 126 | tableData: [], |
| 127 | + show :false | |
| 118 | 128 | }; |
| 119 | 129 | }, |
| 120 | 130 | mounted() { |
| ... | ... | @@ -133,16 +143,29 @@ |
| 133 | 143 | //请求失败 |
| 134 | 144 | }) |
| 135 | 145 | }, |
| 136 | - reconciliationdetail() { | |
| 146 | + reconciliationdetail(item) { | |
| 147 | + let items = JSON.stringify(item) | |
| 137 | 148 | uni.navigateTo({ |
| 138 | - url: '/pages/reconciliationdetail/reconciliationdetail' | |
| 149 | + url: `/pages/details/details?item=${items}` | |
| 150 | + }) | |
| 151 | + }, | |
| 152 | + search(){ | |
| 153 | + this.$http.sendRequest('/cereBasicInformationVenue/queryByPage', 'POST', this.query, 1).then(res => { | |
| 154 | + //成功回调 | |
| 155 | + this.tableData = res.data.data.content | |
| 156 | + }) | |
| 157 | + }, | |
| 158 | + clearGet(){ | |
| 159 | + this.$http.sendRequest('/cereBasicInformationVenue/queryByPage', 'POST', this.pageindex, 1).then(res => { | |
| 160 | + //成功回调 | |
| 161 | + this.tableData = res.data.data.content | |
| 139 | 162 | }) |
| 140 | 163 | }, |
| 141 | - sousu(){ | |
| 142 | - if(this.keyword != ''){ | |
| 143 | - } | |
| 164 | + queryChange(key, val) { | |
| 165 | + this.query[`${key}`] = val[0].value; | |
| 166 | + this.search(); | |
| 144 | 167 | }, |
| 145 | - } | |
| 168 | + } | |
| 146 | 169 | } |
| 147 | 170 | </script> |
| 148 | 171 | ... | ... |
pages/home/home.scss
| ... | ... | @@ -188,7 +188,7 @@ |
| 188 | 188 | flex-direction: column; |
| 189 | 189 | align-items: center; |
| 190 | 190 | justify-content: center; |
| 191 | - width: 25%; | |
| 191 | + width: 20%; | |
| 192 | 192 | .icon{ |
| 193 | 193 | position: relative; |
| 194 | 194 | display: flex; |
| ... | ... | @@ -405,6 +405,10 @@ |
| 405 | 405 | .huo-card-item{ |
| 406 | 406 | font-size: 20rpx; |
| 407 | 407 | line-height: 1.5; |
| 408 | + white-space: nowrap; /* 防止文本换行 */ | |
| 409 | + text-overflow: ellipsis; /* 显示省略号 */ | |
| 410 | + /* 如果需要设置宽度,可以添加 width 属性 */ | |
| 411 | + overflow:hidden; | |
| 408 | 412 | } |
| 409 | 413 | .introduce{ |
| 410 | 414 | display: flex; | ... | ... |
pages/home/home.vue
| ... | ... | @@ -64,7 +64,7 @@ |
| 64 | 64 | <text>租广告</text> |
| 65 | 65 | </view> |
| 66 | 66 | </view> |
| 67 | - <view class="list" @click=""> | |
| 67 | + <view class="list" @click="wuye"> | |
| 68 | 68 | <view class="icon"> |
| 69 | 69 | <image :src="$imgUrl('/home4.png')"></image> |
| 70 | 70 | </view> |
| ... | ... | @@ -72,6 +72,14 @@ |
| 72 | 72 | <text>物业缴费</text> |
| 73 | 73 | </view> |
| 74 | 74 | </view> |
| 75 | + <view class="list" @click="piaowu"> | |
| 76 | + <view class="icon"> | |
| 77 | + <image :src="$imgUrl('/home5.png')"></image> | |
| 78 | + </view> | |
| 79 | + <view class="title"> | |
| 80 | + <text>票务预定</text> | |
| 81 | + </view> | |
| 82 | + </view> | |
| 75 | 83 | </view> |
| 76 | 84 | </view> |
| 77 | 85 | |
| ... | ... | @@ -220,11 +228,11 @@ |
| 220 | 228 | <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" > |
| 221 | 229 | <view v-for="(item, index) in tableData" :key="index" class="scroll-view-item_H" @click="details(item)"> |
| 222 | 230 | <view class="business-card"> |
| 223 | - <u-image :showLoading="true" :src="item.displayMainImage || item.locationDiagram" width="100%" height="210rpx"></u-image> | |
| 231 | + <u-image :showLoading="true" :src="item.displayMainImage || item.locationDiagram || item.displayImage" width="100%" height="210rpx"></u-image> | |
| 224 | 232 | <view class="business-card-title"> |
| 225 | 233 | {{ item.shopName || item.advertisingName || item.venueName}} |
| 226 | 234 | </view> |
| 227 | - <view class="business-card-item">租金:¥<span>{{zujin[index].price}}</span>/月</view> | |
| 235 | + <view class="business-card-item">租金:¥<span>{{item.id * 10}}</span>/月</view> | |
| 228 | 236 | <view class="business-card-item">面积:<span>{{item.actualUsableArea?item.actualUsableArea:'55.4'}}</span>/m2</view> |
| 229 | 237 | <view class="introduce" v-if='item.detailedLocation'> |
| 230 | 238 | <image :src="$imgUrl('/kefu.png')"></image> |
| ... | ... | @@ -239,18 +247,18 @@ |
| 239 | 247 | <view class="cardHome"> |
| 240 | 248 | <view class="card_home"> |
| 241 | 249 | <view class="card_title">商家活动信息</view> |
| 242 | - <view class="card_more">查看更多 ></view> | |
| 250 | + <!-- <view class="card_more">查看更多 ></view> --> | |
| 243 | 251 | </view> |
| 244 | 252 | <view style="width:100%;margin-top:10px;" class="other-business"> |
| 245 | 253 | <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" > |
| 246 | - <view v-for="(item, index) in 5" :key="index" class="scroll-view-item_H" > | |
| 254 | + <view v-for="(item, index) in activity" :key="index" class="scroll-view-item_H" @click="toDetail(item.id, '/pages/activityDetail/activityDetail')" > | |
| 247 | 255 | <view class="business-card"> |
| 248 | - <u-image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg" width="100%" height="210rpx"></u-image> | |
| 256 | + <u-image :showLoading="true" :src="item.coverImage" width="100%" height="210rpx"></u-image> | |
| 249 | 257 | <view class="business-card-title"> |
| 250 | - 标题 | |
| 258 | + {{item.activityName}} | |
| 251 | 259 | </view> |
| 252 | - <view class="huo-card-item">活动日期:<span>04-13至05-10</span></view> | |
| 253 | - <view class="huo-card-item">举办方:<span>咖啡厅</span></view> | |
| 260 | + <view class="huo-card-item">创建时间:<span>{{item.startTime}}</span></view> | |
| 261 | + <view class="huo-card-item">参与人数:<span>{{item.maxParticipants}}</span></view> | |
| 254 | 262 | |
| 255 | 263 | </view> |
| 256 | 264 | </view> |
| ... | ... | @@ -261,18 +269,18 @@ |
| 261 | 269 | <view class="cardHome"> |
| 262 | 270 | <view class="card_home"> |
| 263 | 271 | <view class="card_title">营销推广活动</view> |
| 264 | - <view class="card_more">查看更多 ></view> | |
| 272 | + <view class="card_more" @click="goDetail('/pages/marketing/marketingList/marketingList')">查看更多 ></view> | |
| 265 | 273 | </view> |
| 266 | 274 | <view style="width:100%;margin-top:10px;" class="other-business"> |
| 267 | 275 | <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" > |
| 268 | - <view v-for="(item, index) in 5" :key="index" class="scroll-view-item_H" @click="toDetail(item, '/pages/marketing/marketingList/marketingList')"> | |
| 276 | + <view v-for="(item, index) in yingxiaoData" :key="item.id" class="scroll-view-item_H" @click="toDetail(item.id, '/pages/marketing/marketingDetail/marketingDetail')"> | |
| 269 | 277 | <view class="business-card"> |
| 270 | - <u-image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg" width="100%" height="210rpx"></u-image> | |
| 278 | + <u-image :showLoading="true" :src="item.coverImage" width="100%" height="210rpx"></u-image> | |
| 271 | 279 | <view class="business-card-title"> |
| 272 | - 标题 | |
| 280 | + {{item.title}} | |
| 273 | 281 | </view> |
| 274 | - <view class="huo-card-item">活动日期:<span>04-13至05-10</span></view> | |
| 275 | - <view class="huo-card-item">举办方:<span>咖啡厅</span></view> | |
| 282 | + <view class="huo-card-item">活动日期:<span>{{item.startTime}}至{{item.endTime}}</span></view> | |
| 283 | + <view class="huo-card-item">举办方:<span></span></view> | |
| 276 | 284 | |
| 277 | 285 | </view> |
| 278 | 286 | </view> |
| ... | ... | @@ -283,15 +291,15 @@ |
| 283 | 291 | <view class="cardHome"> |
| 284 | 292 | <view class="card_home"> |
| 285 | 293 | <view class="card_title">商务合作</view> |
| 286 | - <view class="card_more">查看更多 ></view> | |
| 294 | + <view class="card_more" @click="goDetail('/pages/business/businessList/businessList')">查看更多 ></view> | |
| 287 | 295 | </view> |
| 288 | 296 | <view style="width:100%;margin-top:10px;" class="other-business"> |
| 289 | 297 | <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" > |
| 290 | - <view v-for="(item, index) in 5" :key="index" class="scroll-view-item_H" @click="toDetail(item, '/pages/business/businessList/businessList')"> | |
| 298 | + <view v-for="(item, index) in shangwuData" :key="item.id" class="scroll-view-item_H" @click="toDetailTwo(item, '/pages/business/businessDetail/businessDetail')"> | |
| 291 | 299 | <view class="business-card"> |
| 292 | - <u-image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg" width="100%" height="210rpx"></u-image> | |
| 300 | + <u-image :showLoading="true" :src="item.coverImage" width="100%" height="210rpx"></u-image> | |
| 293 | 301 | <view class="business-card-title"> |
| 294 | - 标题 | |
| 302 | + {{item.title}} | |
| 295 | 303 | </view> |
| 296 | 304 | </view> |
| 297 | 305 | </view> |
| ... | ... | @@ -318,8 +326,8 @@ |
| 318 | 326 | tableData: [], |
| 319 | 327 | procedureData:[],//公告 |
| 320 | 328 | pageindex: { |
| 321 | - pageNumber: 1, | |
| 322 | - pageSize: 10 | |
| 329 | + pageNumber: 1, | |
| 330 | + pageSize: 10, | |
| 323 | 331 | }, |
| 324 | 332 | swiperList: [],//轮播 |
| 325 | 333 | zujin:[ |
| ... | ... | @@ -345,7 +353,10 @@ |
| 345 | 353 | name: '广告位' |
| 346 | 354 | } |
| 347 | 355 | ], |
| 348 | - current:0 | |
| 356 | + current:0, | |
| 357 | + yingxiaoData:[], | |
| 358 | + shangwuData:[], | |
| 359 | + activity:[] | |
| 349 | 360 | } |
| 350 | 361 | }, |
| 351 | 362 | onLoad() { |
| ... | ... | @@ -364,6 +375,21 @@ |
| 364 | 375 | pageNumber: 1, |
| 365 | 376 | pageSize: 2 |
| 366 | 377 | } |
| 378 | + let actPages = { | |
| 379 | + pageNumber: 1, | |
| 380 | + pageSize: 2, | |
| 381 | + reviewStatus:'2' | |
| 382 | + } | |
| 383 | + let shopAct = { | |
| 384 | + auditStatus:'3', | |
| 385 | + pageNumber: 1, | |
| 386 | + pageSize: 2, | |
| 387 | + } | |
| 388 | + let shanghu = { | |
| 389 | + status:'1', | |
| 390 | + pageNumber: 1, | |
| 391 | + pageSize: 2, | |
| 392 | + } | |
| 367 | 393 | this.$http.sendRequest('/cereAnnouncement/queryByPage', 'POST', pagesize,1).then(res => { |
| 368 | 394 | //成功回调 |
| 369 | 395 | |
| ... | ... | @@ -373,11 +399,24 @@ |
| 373 | 399 | //成功回调 |
| 374 | 400 | this.swiperList =res.data.data.content |
| 375 | 401 | }) |
| 402 | + this.$http.sendRequest('/cereMarketingActivity/queryByPage', 'POST',actPages,1).then(res => { | |
| 403 | + this.yingxiaoData =res.data.data.content | |
| 404 | + }) | |
| 405 | + this.$http.sendRequest('/cereBusinessCooperation/queryByPage', 'POST', shanghu,1).then(res => { | |
| 406 | + this.shangwuData =res.data.data.content | |
| 407 | + }) | |
| 408 | + this.$http.sendRequest('/cereActivityApplication/queryByPage', 'POST',shopAct,1).then(res => { | |
| 409 | + this.activity = res.data.data.content | |
| 410 | + }) | |
| 376 | 411 | }, |
| 377 | 412 | onCouponTab(type) { |
| 378 | - this.current = type; | |
| 413 | + let pagesize = { | |
| 414 | + pageNumber: 1, | |
| 415 | + pageSize: 2 | |
| 416 | + } | |
| 417 | + this.current = type | |
| 379 | 418 | if (type == 0) { |
| 380 | - this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.pageindex,1).then(res => { | |
| 419 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', pagesize,1).then(res => { | |
| 381 | 420 | //成功回调 |
| 382 | 421 | this.tableData = res.data.data.content |
| 383 | 422 | }).catch(err => { |
| ... | ... | @@ -385,7 +424,7 @@ |
| 385 | 424 | //请求失败 |
| 386 | 425 | }) |
| 387 | 426 | } else if (type == 1) { |
| 388 | - this.$http.sendRequest('/cereBasicInformationVenue/queryByPage', 'POST', this.pageindex,1).then(res => { | |
| 427 | + this.$http.sendRequest('/cereBasicInformationVenue/queryByPage', 'POST', pagesize,1).then(res => { | |
| 389 | 428 | //成功回调 |
| 390 | 429 | this.tableData = res.data.data.content |
| 391 | 430 | }).catch(err => { |
| ... | ... | @@ -394,8 +433,8 @@ |
| 394 | 433 | }) |
| 395 | 434 | |
| 396 | 435 | } else if (type == 2) { |
| 397 | - this.pageindex.advertisingType = '线上广告位' | |
| 398 | - this.$http.sendRequest('/cereAdvertisingInformation/likeGet', 'POST', this.pageindex,1).then(res => { | |
| 436 | + pagesize.advertisingType = '线上广告位' | |
| 437 | + this.$http.sendRequest('/cereAdvertisingInformation/likeGet', 'POST', pagesize,1).then(res => { | |
| 399 | 438 | //成功回调 |
| 400 | 439 | this.tableData = res.data.data.content |
| 401 | 440 | }).catch(err => { |
| ... | ... | @@ -416,9 +455,20 @@ |
| 416 | 455 | }) |
| 417 | 456 | }, |
| 418 | 457 | toDetail(item, path) { |
| 419 | - let items = JSON.stringify(item); | |
| 420 | 458 | uni.navigateTo({ |
| 421 | - url: `${path}?item=${items}` | |
| 459 | + url: `${path}?item=${item}` | |
| 460 | + }) | |
| 461 | + | |
| 462 | + }, | |
| 463 | + toDetailTwo(item, path){ | |
| 464 | + let items = JSON.stringify(item) | |
| 465 | + uni.navigateTo({ | |
| 466 | + url: `${path}?item=${items}` | |
| 467 | + }) | |
| 468 | + }, | |
| 469 | + goDetail(path) { | |
| 470 | + uni.navigateTo({ | |
| 471 | + url: `${path}` | |
| 422 | 472 | }) |
| 423 | 473 | }, |
| 424 | 474 | advertisement() { |
| ... | ... | @@ -427,10 +477,15 @@ |
| 427 | 477 | }) |
| 428 | 478 | }, |
| 429 | 479 | gaozhi(item){ |
| 480 | + // let items = JSON.stringify(item) | |
| 481 | + // uni.navigateTo({ | |
| 482 | + // url: `/pages/procedureDetail/procedureDetail?item=${items}` | |
| 483 | + // }) | |
| 430 | 484 | let items = JSON.stringify(item) |
| 431 | 485 | uni.navigateTo({ |
| 432 | 486 | url: `/pages/procedure/procedure?item=${items}` |
| 433 | 487 | }) |
| 488 | + | |
| 434 | 489 | }, |
| 435 | 490 | details(item) { |
| 436 | 491 | let items = JSON.stringify(item) |
| ... | ... | @@ -482,6 +537,17 @@ |
| 482 | 537 | tabsChange(itme){ |
| 483 | 538 | console.log(itme) |
| 484 | 539 | this.onCouponTab(itme) |
| 540 | + }, | |
| 541 | + wuye(){ | |
| 542 | + uni.navigateTo({ | |
| 543 | + url: `/pages/propertyPay/propertyPayList/propertyPayList` | |
| 544 | + }) | |
| 545 | + | |
| 546 | + }, | |
| 547 | + piaowu(){ | |
| 548 | + uni.navigateTo({ | |
| 549 | + url: `/pages/ticketBooking/ticketBooking` | |
| 550 | + }) | |
| 485 | 551 | } |
| 486 | 552 | } |
| 487 | 553 | }; | ... | ... |
pages/intentionApply/intentionApply.vue
| ... | ... | @@ -11,97 +11,116 @@ |
| 11 | 11 | <u-steps :list="numList" :current="active"></u-steps> |
| 12 | 12 | </view> |
| 13 | 13 | <view> |
| 14 | - <view class="add-list" v-if="active == 0"> | |
| 14 | + <view class="add-list" v-show="active == 0"> | |
| 15 | 15 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 16 | - <u-form-item label="租用时段" prop="name" borderBottom> | |
| 17 | - <u-input v-model="model1.name" ></u-input> | |
| 16 | + <u-form-item label="租用开始时间" prop="rentalPeriodStartTime" borderBottom> | |
| 17 | + | |
| 18 | + <u-input v-model="model1.rentalPeriodStartTime" type="select" @click="TimeStratshow = true" placeholder="请选择"/> | |
| 19 | + <u-picker mode="time" v-model="TimeStratshow" :params="params" @confirm="startTimeChange"></u-picker> | |
| 18 | 20 | </u-form-item> |
| 19 | - <u-form-item label="租期" prop="name" borderBottom> | |
| 20 | - <u-input v-model="model1.name" ></u-input> | |
| 21 | + <u-form-item label="租用结束时间" prop="rentalPeriodEndTime" borderBottom> | |
| 22 | + <u-input v-model="model1.rentalPeriodEndTime" type="select" @click="TimeEndshow = true" placeholder="请选择"/> | |
| 23 | + <u-picker mode="time" v-model="TimeEndshow" :params="params" @confirm="EndTimeChange"></u-picker> | |
| 24 | + | |
| 25 | + </u-form-item> | |
| 26 | + <u-form-item label="租期" prop="leaseTerm" borderBottom> | |
| 27 | + <u-input v-model="model1.leaseTerm" placeholder="请输入/年或/月或/日" ></u-input> | |
| 21 | 28 | </u-form-item> |
| 22 | - <u-form-item label="意向经营类型" prop="name" borderBottom> | |
| 23 | - <u-input v-model="model1.name" ></u-input> | |
| 29 | + <u-form-item label="意向经营类型" prop="intentionalBusinessType" borderBottom> | |
| 30 | + <u-input v-model="model1.intentionalBusinessType" type="select" @click="leiXpopup = true" placeholder="请选择"/> | |
| 24 | 31 | </u-form-item> |
| 25 | - <u-form-item label="意向区域(如有)" prop="name" borderBottom> | |
| 26 | - <u-input v-model="model1.name" ></u-input> | |
| 32 | + <u-form-item label="意向区域(如有)" prop="intendedArea" borderBottom> | |
| 33 | + <u-input v-model="model1.intendedArea" ></u-input> | |
| 27 | 34 | </u-form-item> |
| 28 | - <u-form-item label="意向商铺位置(如有)" prop="name" borderBottom> | |
| 29 | - <u-input v-model="model1.name" ></u-input> | |
| 35 | + <u-form-item label="意向商铺位置(如有)" prop="intentionalStoreLocation" borderBottom> | |
| 36 | + <u-input v-model="model1.intentionalStoreLocation" ></u-input> | |
| 30 | 37 | </u-form-item> |
| 31 | - <u-form-item label="意向商铺名称(如有)" prop="name" borderBottom> | |
| 32 | - <u-input v-model="model1.name" ></u-input> | |
| 38 | + <u-form-item label="意向商铺名称(如有)" prop="intentionalStoreName" borderBottom> | |
| 39 | + <u-input v-model="model1.intentionalStoreName" ></u-input> | |
| 33 | 40 | </u-form-item> |
| 34 | 41 | </u-form> |
| 35 | 42 | </view> |
| 36 | - <view class="add-list" v-else-if='active == 1'> | |
| 43 | + | |
| 44 | + <view class="add-list" v-show='active == 1'> | |
| 37 | 45 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 38 | - <u-form-item label="主体名称" prop="name" borderBottom> | |
| 39 | - <u-input v-model="model1.name" ></u-input> | |
| 46 | + <u-form-item label="主体名称" prop="subjectName" borderBottom> | |
| 47 | + <u-input v-model="model1.subjectName" ></u-input> | |
| 40 | 48 | </u-form-item> |
| 41 | - <u-form-item label="统一社会信用代码" prop="name" borderBottom> | |
| 42 | - <u-input v-model="model1.name" ></u-input> | |
| 49 | + <u-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode" borderBottom> | |
| 50 | + <u-input v-model="model1.unifiedSocialCreditCode" ></u-input> | |
| 43 | 51 | </u-form-item> |
| 44 | 52 | <u-form-item label="类型" prop="type" borderBottom> |
| 45 | - <u-input v-model="model1.type" type="select" @click="model1.typeShow = true" placeholder='请选择类型'/> | |
| 46 | - <u-select v-model="model1.typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 53 | + <u-input v-model="model1.type" type="select" @click="typeShow = true" placeholder='请选择类型'/> | |
| 54 | + </u-form-item> | |
| 55 | + <u-form-item label="法定代表人" prop="legalRepresentative" borderBottom> | |
| 56 | + <u-input v-model="model1.legalRepresentative" ></u-input> | |
| 47 | 57 | </u-form-item> |
| 48 | - <u-form-item label="法定代表人" prop="name" borderBottom> | |
| 49 | - <u-input v-model="model1.name" ></u-input> | |
| 58 | + <u-form-item label="经营范围" prop="businessScope" borderBottom> | |
| 59 | + <u-input v-model="model1.businessScope" ></u-input> | |
| 50 | 60 | </u-form-item> |
| 51 | - <u-form-item label="经营范围" prop="name" borderBottom> | |
| 52 | - <u-input v-model="model1.name" ></u-input> | |
| 61 | + <u-form-item label="注册资本" prop="registeredCapital" borderBottom> | |
| 62 | + <u-input v-model="model1.registeredCapital" ></u-input> | |
| 53 | 63 | </u-form-item> |
| 54 | - <u-form-item label="注册资本" prop="name" borderBottom> | |
| 55 | - <u-input v-model="model1.name" ></u-input> | |
| 64 | + <u-form-item label="成立日期" prop="establishmentDate" borderBottom> | |
| 65 | + <u-input v-model="model1.establishmentDate" ></u-input> | |
| 56 | 66 | </u-form-item> |
| 57 | - <u-form-item label="成立日期" prop="name" borderBottom> | |
| 58 | - <u-input v-model="model1.name" ></u-input> | |
| 67 | + <u-form-item label="住所" prop="address" borderBottom> | |
| 68 | + <u-input v-model="model1.address" ></u-input> | |
| 59 | 69 | </u-form-item> |
| 60 | - <u-form-item label="住所" prop="name" borderBottom> | |
| 61 | - <u-input v-model="model1.name" ></u-input> | |
| 70 | + <u-form-item label="邮箱地址" prop="emailAddress" borderBottom> | |
| 71 | + <u-input v-model="model1.emailAddress" ></u-input> | |
| 62 | 72 | </u-form-item> |
| 63 | - <u-form-item label="邮箱地址" prop="name" borderBottom> | |
| 64 | - <u-input v-model="model1.name" ></u-input> | |
| 73 | + <u-form-item label="经营开始时间" prop="businessStartTime" borderBottom> | |
| 74 | + <u-input v-model="model1.businessStartTime" type="select" @click="busStartshow = true" placeholder="请选择"/> | |
| 75 | + <u-picker mode="time" v-model="busStartshow" :params="params" @confirm="busStTimeChange"></u-picker> | |
| 65 | 76 | </u-form-item> |
| 66 | - <u-form-item label="经营期限" prop="name" borderBottom> | |
| 67 | - <u-input v-model="model1.name" ></u-input> | |
| 77 | + <u-form-item label="经营结束时间" prop="businessEndTime" borderBottom> | |
| 78 | + <u-input v-model="model1.businessEndTime" type="select" @click="busEndtshow = true" placeholder="请选择"/> | |
| 79 | + <u-picker mode="time" v-model="busEndtshow" :params="params" @confirm="busEndTimeChange"></u-picker> | |
| 68 | 80 | </u-form-item> |
| 69 | - <u-form-item label="营业执照" prop="name" borderBottom labelPosition="top"> | |
| 70 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 81 | + | |
| 82 | + <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top"> | |
| 83 | + <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1" ></u-upload> | |
| 71 | 84 | </u-form-item> |
| 72 | 85 | </u-form> |
| 73 | 86 | </view> |
| 74 | - <view v-else> | |
| 87 | + <view v-show='active == 2'> | |
| 75 | 88 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 76 | 89 | <view class="add-list"> |
| 77 | - <u-form-item label="经营者姓名" prop="name" borderBottom> | |
| 78 | - <u-input v-model="model1.name" ></u-input> | |
| 90 | + <u-form-item label="经营者姓名" prop="intentCustomerName" borderBottom> | |
| 91 | + <u-input v-model="model1.intentCustomerName" ></u-input> | |
| 79 | 92 | </u-form-item> |
| 80 | - <u-form-item label="证件类型" prop="type" borderBottom> | |
| 81 | - <u-input v-model="model1.type" type="select" @click="model1.typeShow = true" placeholder='请选择类型'/> | |
| 82 | - <u-select v-model="model1.typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 93 | + <u-form-item label="证件类型" prop="idCardType" borderBottom> | |
| 94 | + <u-input v-model="model1.idCardType" type="select" @click="IdtypeShow = true" placeholder='请选择类型'/> | |
| 95 | + | |
| 83 | 96 | </u-form-item> |
| 84 | - <u-form-item label="身份证号码" prop="name" borderBottom> | |
| 85 | - <u-input v-model="model1.name" ></u-input> | |
| 97 | + <u-form-item label="身份证号码" prop="idCardNumber" borderBottom> | |
| 98 | + <u-input v-model="model1.idCardNumber" ></u-input> | |
| 86 | 99 | </u-form-item> |
| 87 | - <u-form-item label="身份证有效期" prop="name" borderBottom> | |
| 88 | - <u-input v-model="model1.name" ></u-input> | |
| 100 | + | |
| 101 | + <u-form-item label="身份证有效开始时间" prop="idCardValidStart" borderBottom> | |
| 102 | + <u-input v-model="model1.idCardValidStart" type="select" @click="idCardStartshow = true" placeholder="请选择"/> | |
| 103 | + <u-picker mode="time" v-model="idCardStartshow" :params="params1" @confirm="idCardStTimeChange"></u-picker> | |
| 104 | + </u-form-item> | |
| 105 | + <u-form-item label="身份证有效结束时间" prop="idCardValidEnd" borderBottom> | |
| 106 | + <u-input v-model="model1.idCardValidEnd" type="select" @click="idCardEndtshow = true" placeholder="请选择"/> | |
| 107 | + <u-picker mode="time" v-model="idCardEndtshow" :params="params1" @confirm="idCardEndTimeChange"></u-picker> | |
| 89 | 108 | </u-form-item> |
| 90 | 109 | </view> |
| 91 | 110 | <view class="add-list"> |
| 92 | 111 | <view class="deom-box"> |
| 93 | 112 | <view class="img-deom"> |
| 94 | - <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1"> | |
| 113 | + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardzhen"> | |
| 95 | 114 | <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150"> |
| 96 | - <u-image width="304rpx" height="182rpx" src="/static/images/uploadID1.png"></u-image> | |
| 115 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/uploadID1.png')"></u-image> | |
| 97 | 116 | </view> |
| 98 | 117 | </u-upload> |
| 99 | 118 | <text>点击上传证件人像面</text> |
| 100 | 119 | </view> |
| 101 | - <view class="img-deom"> | |
| 102 | - <u-upload :active="active" :file-list="model1.fileList" :custom-btn="true" :max-count="1"> | |
| 120 | + <view class="img-deom"> | |
| 121 | + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardFan"> | |
| 103 | 122 | <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150"> |
| 104 | - <u-image width="304rpx" height="182rpx" src="/static/images/uploadID2.png"></u-image> | |
| 123 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/uploadID2.png')" ></u-image> | |
| 105 | 124 | </view> |
| 106 | 125 | </u-upload> |
| 107 | 126 | <text>点击上传证件国徽面</text> |
| ... | ... | @@ -112,30 +131,35 @@ |
| 112 | 131 | <view style="line-height: 60rpx;">上传示例</view> |
| 113 | 132 | <view class="deom-box"> |
| 114 | 133 | <view class="img-deom"> |
| 115 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 134 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/front-icon.png')"></u-image> | |
| 116 | 135 | <text>人脸示例图</text> |
| 117 | 136 | </view> |
| 118 | 137 | <view class="img-deom"> |
| 119 | - <u-image width="304rpx" height="182rpx" src="/static/images/back-icon.png"></u-image> | |
| 138 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/back-icon.png')"></u-image> | |
| 120 | 139 | <text>国徽面示例图</text> |
| 121 | 140 | </view> |
| 122 | 141 | </view> |
| 123 | 142 | </view> |
| 124 | 143 | <text style="display: inline-block; font-size: 24rpx; line-height: 30px; margin: 24rpx 30rpx 0;">请拍摄证件原件,保证照片拍摄清晰,取图完整,不反光。</text> |
| 125 | 144 | <view class="add-list" labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 126 | - <u-form-item label="是否为法人" prop="name" borderBottom> | |
| 127 | - <u-radio-group v-model="model1.name"> | |
| 145 | + <u-form-item label="是否为法人" prop="isLegalPerson" borderBottom> | |
| 146 | + <u-radio-group v-model="model1.isLegalPerson"> | |
| 128 | 147 | <u-radio :name="1">是</u-radio> |
| 129 | - <u-radio :name="2">否</u-radio> | |
| 148 | + <u-radio :name="0">否</u-radio> | |
| 130 | 149 | </u-radio-group> |
| 131 | 150 | </u-form-item> |
| 132 | - <u-form-item label="企业授权书" prop="name" borderBottom labelPosition="top"> | |
| 133 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 151 | + <u-form-item label="企业授权书" prop="enter" borderBottom labelPosition="top"> | |
| 152 | + <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1" ></u-upload> | |
| 134 | 153 | </u-form-item> |
| 135 | 154 | </view> |
| 136 | 155 | </u-form> |
| 137 | 156 | </view> |
| 138 | 157 | </view> |
| 158 | + <u-toast ref="uToast" /> | |
| 159 | + <u-select v-model="leiXpopup" mode="mutil-column-auto" :list="leiXinglist" @confirm="leiXpops" label-name="label" value-name="value"></u-select> | |
| 160 | + <u-select v-model="typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 161 | + <u-select v-model="IdtypeShow" :list="idType" @confirm="IdtypeChange"></u-select> | |
| 162 | + | |
| 139 | 163 | <!-- 保存按钮 --> |
| 140 | 164 | <view class="page-footer"> |
| 141 | 165 | <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor" v-if="active != 0">上一步</u-button> |
| ... | ... | @@ -149,44 +173,205 @@ |
| 149 | 173 | export default { |
| 150 | 174 | data() { |
| 151 | 175 | return { |
| 152 | - active: 2, | |
| 176 | + active: 0, | |
| 153 | 177 | numList: [{name: '意向申请'}, {name: '主体信息'}, {name: '经营者信息'}], |
| 178 | + // model1: { | |
| 179 | + // name: '', | |
| 180 | + // type: '', | |
| 181 | + // typeShow: false, | |
| 182 | + // fileList: [], // 文件列表 | |
| 183 | + // }, | |
| 154 | 184 | model1: { |
| 155 | - name: '', | |
| 156 | - type: '', | |
| 157 | - typeShow: false, | |
| 158 | - fileList: [], // 文件列表 | |
| 185 | + intentCustomerName: '', //意向客户名称 | |
| 186 | + contactPhone: '', //联系电话 | |
| 187 | + entityType: '', //主体类型 | |
| 188 | + customerLevel: '', //客户级别 | |
| 189 | + isLegalPerson: '', //是否为法人(0:否,1:是) | |
| 190 | + enterpriseAuthorization: '', //企业授权书 | |
| 191 | + idCardNumber: '', //身份证号 | |
| 192 | + idCardType: '', //证件类型 | |
| 193 | + idCardValidStart: '', //身份证有效开始时间 | |
| 194 | + idCardValidEnd: '', //身份证有效结束时间 | |
| 195 | + idCardPhotoFront: '', //身份证照片(正面) | |
| 196 | + idCardPhotoBack: '', //身份证照片(反面) | |
| 197 | + subjectName: '', //主体名称 | |
| 198 | + unifiedSocialCreditCode: '', //统一社会信用代码 | |
| 199 | + type: '', //类型(可能是企业类型等) | |
| 200 | + legalRepresentative: '', //法定代表人 | |
| 201 | + businessScope: '', //经营范围 | |
| 202 | + registeredCapital: '', //注册资本 | |
| 203 | + establishmentDate: '', //成立日期 | |
| 204 | + address: '', //住所 | |
| 205 | + emailAddress: '', //邮箱地址 | |
| 206 | + businessStartTime: '', //营业开始时间(如果为全天,则可为NULL或指定默认时 | |
| 207 | + businessEndTime: '', //营业结束时间(如果为全天,则可为NULL或指定默认时 | |
| 208 | + businessLicense: '', //营业执照(存储路径或URL) | |
| 209 | + intendedResources: '', //意向资源 | |
| 210 | + auditStatus:'1', | |
| 211 | + rentalPeriodStartTime:'', | |
| 212 | + rentalPeriodEndTime:'', | |
| 213 | + leaseTerm:'', | |
| 214 | + rent:'', | |
| 215 | + intentionalBusinessType:'', | |
| 216 | + intendedArea:'', | |
| 217 | + intentionalStoreLocation:'', | |
| 218 | + intentionalStoreName:'' | |
| 159 | 219 | }, |
| 220 | + TimeStratshow:false, | |
| 221 | + TimeEndshow:false, | |
| 160 | 222 | rules: {}, |
| 161 | 223 | // 类型 |
| 162 | 224 | showType: false, |
| 163 | 225 | activesType: [ |
| 164 | - {value: 1, label: '类型1'}, | |
| 165 | - {value: 2, label: '类型2'}, | |
| 226 | + {value:1 , label: '个人'}, | |
| 227 | + {value:2 , label: '企业'}, | |
| 166 | 228 | ], |
| 229 | + idType: [ | |
| 230 | + {value:1 , label: '身份证'}, | |
| 231 | + ], | |
| 232 | + | |
| 167 | 233 | // 上传文件 |
| 168 | 234 | active: '', // 地址 |
| 235 | + ziyuanId:'', | |
| 236 | + params: { | |
| 237 | + year: true, | |
| 238 | + month: true, | |
| 239 | + day: true, | |
| 240 | + }, | |
| 241 | + params1: { | |
| 242 | + year: true, | |
| 243 | + month: true, | |
| 244 | + day: true | |
| 245 | + }, | |
| 246 | + leiXinglist: [{ | |
| 247 | + value: '商铺', | |
| 248 | + label: '商铺' | |
| 249 | + }, | |
| 250 | + { | |
| 251 | + value: '场地', | |
| 252 | + label: '场地' | |
| 253 | + }, | |
| 254 | + { | |
| 255 | + value: '广告位', | |
| 256 | + label: '广告位' | |
| 257 | + } | |
| 258 | + ], | |
| 259 | + leiXpopup :false, | |
| 260 | + typeShow:false, | |
| 261 | + IdtypeShow:false, | |
| 262 | + busStartshow:false, | |
| 263 | + busEndtshow:false, | |
| 264 | + idCardStartshow:false, | |
| 169 | 265 | |
| 170 | - }; | |
| 266 | + idCardEndtshow:false, | |
| 267 | + | |
| 268 | + } | |
| 171 | 269 | }, |
| 172 | 270 | onLoad(option) { |
| 173 | - // 检查用户是否登录 | |
| 174 | - const isLogin = uni.getStorageSync('token') || false; | |
| 175 | - if (!isLogin) { | |
| 176 | - // 如果未登录,跳转到登录页面 | |
| 177 | - uni.redirectTo({ | |
| 178 | - url: '/pages/login/login' | |
| 179 | - }); | |
| 180 | - } | |
| 271 | + this.ziyuanId = option.ids | |
| 272 | + }, | |
| 273 | + onShow() { | |
| 274 | + let shopId = { | |
| 275 | + shopId:uni.getStorageSync('shopId') || '' | |
| 276 | + } | |
| 277 | + const isLogin = uni.getStorageSync('token'); | |
| 278 | + if (isLogin =='') { | |
| 279 | + // 如果未登录,跳转到登录页面 | |
| 280 | + uni.navigateTo({ | |
| 281 | + url: '/pages/login/login' | |
| 282 | + }) | |
| 283 | + }else{ | |
| 284 | + let page={ | |
| 285 | + condition:2 | |
| 286 | + } | |
| 287 | + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => { | |
| 288 | + if(res.data.code !="20004"){ | |
| 289 | + this.shopMsg = res.data.data | |
| 290 | + this.Islogin= false | |
| 291 | + this.$http.sendRequest('/index/index', 'POST',page).then(res => { | |
| 292 | + //成功回调 | |
| 293 | + this.tongji = res.data.data | |
| 294 | + }) | |
| 295 | + }else{ | |
| 296 | + uni.navigateTo({ | |
| 297 | + url: '/pages/login/login' | |
| 298 | + }) | |
| 299 | + } | |
| 300 | + }) | |
| 301 | + } | |
| 302 | + | |
| 181 | 303 | }, |
| 182 | 304 | methods:{ |
| 305 | + startTimeChange(val) { | |
| 306 | + this.model1.rentalPeriodStartTime = this.timeChange(val) | |
| 307 | + this.model1.rentalPeriodEndTime = '' | |
| 308 | + }, | |
| 309 | + EndTimeChange(val){ | |
| 310 | + const time = this.timeChange(val); | |
| 311 | + if(new Date(time).getTime() > new Date(this.model1.rentalPeriodStartTime).getTime()) { | |
| 312 | + this.model1.rentalPeriodEndTime= time | |
| 313 | + } else { | |
| 314 | + this.$refs.uToast.show({ | |
| 315 | + title: '结束时间不能小于开始时间', | |
| 316 | + type: 'error', | |
| 317 | + }) | |
| 318 | + } | |
| 319 | + }, | |
| 320 | + timeChange(val) { | |
| 321 | + const { year, month, day} = val; | |
| 322 | + return `${year}-${month}-${day}`; | |
| 323 | + }, | |
| 324 | + timeChange1(val) { | |
| 325 | + const { year, month, day } = val; | |
| 326 | + return `${year}-${month}-${day}`; | |
| 327 | + }, | |
| 183 | 328 | typeChange(e) { |
| 184 | 329 | this.model1.type = e[0].label; |
| 185 | 330 | }, |
| 331 | + IdtypeChange(e) { | |
| 332 | + this.model1.idCardType = e[0].label; | |
| 333 | + }, | |
| 186 | 334 | go(){ |
| 187 | - uni.navigateTo({ | |
| 188 | - url: '/pages/record/record' | |
| 335 | + let busfiles = [] | |
| 336 | + let idfilesz = [] | |
| 337 | + let idfilesf= [] | |
| 338 | + let enterper= [] | |
| 339 | + // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作) | |
| 340 | + busfiles = this.$refs.businessLicense.lists.filter(val => { | |
| 341 | + return val.progress == 100; | |
| 189 | 342 | }) |
| 343 | + idfilesz = this.$refs.idCardzhen.lists.filter(val => { | |
| 344 | + return val.progress == 100; | |
| 345 | + }) | |
| 346 | + idfilesf = this.$refs.idCardFan.lists.filter(val => { | |
| 347 | + return val.progress == 100; | |
| 348 | + }) | |
| 349 | + enterper = this.$refs.enter.lists.filter(val => { | |
| 350 | + return val.progress == 100; | |
| 351 | + }) | |
| 352 | + | |
| 353 | + busfiles.map(item=>{ | |
| 354 | + this.model1.businessLicense = item.response.data.url | |
| 355 | + }) | |
| 356 | + idfilesz.map(item=>{ | |
| 357 | + this.model1.idCardPhotoFront = item.response.data.url | |
| 358 | + }) | |
| 359 | + idfilesf.map(item=>{ | |
| 360 | + this.model1.idCardPhotoBack = item.response.data.url | |
| 361 | + }) | |
| 362 | + enterper.map(item=>{ | |
| 363 | + this.model1.enterpriseAuthorization = item.response.data.url | |
| 364 | + }) | |
| 365 | + this.model1.intendedResources = this.ziyuanId | |
| 366 | + this.model1.createUser = uni.getStorageSync('shopId') | |
| 367 | + this.$http.sendRequest('/cereCustomerInfo/add', 'POST',this.model1,1).then(res => { | |
| 368 | + uni.switchTab({ | |
| 369 | + url: '/pages/home/home' | |
| 370 | + }) | |
| 371 | + }) | |
| 372 | + // uni.navigateTo({ | |
| 373 | + // url: '/pages/record/record' | |
| 374 | + // }) | |
| 190 | 375 | }, |
| 191 | 376 | // 上一步 |
| 192 | 377 | toBefor() { |
| ... | ... | @@ -195,7 +380,43 @@ |
| 195 | 380 | // 下一步 |
| 196 | 381 | toNext() { |
| 197 | 382 | this.active = +this.active + 1; |
| 198 | - } | |
| 383 | + }, | |
| 384 | + leiXpops(val){ | |
| 385 | + this.model1.intentionalBusinessType = val[0].label | |
| 386 | + }, | |
| 387 | + busStTimeChange(val){ | |
| 388 | + this.model1.businessStartTime = this.timeChange(val) | |
| 389 | + this.model1.businessEndTime = '' | |
| 390 | + }, | |
| 391 | + busEndTimeChange(val){ | |
| 392 | + const time = this.timeChange(val); | |
| 393 | + | |
| 394 | + if(new Date(time).getTime() > new Date(this.model1.businessStartTime).getTime()) { | |
| 395 | + this.model1.businessEndTime= time | |
| 396 | + } else { | |
| 397 | + this.$refs.uToast.show({ | |
| 398 | + title: '结束时间不能小于开始时间', | |
| 399 | + type: 'error', | |
| 400 | + }) | |
| 401 | + } | |
| 402 | + }, | |
| 403 | + idCardStTimeChange(val){ | |
| 404 | + this.model1.idCardValidStart = this.timeChange1(val) | |
| 405 | + this.model1.idCardValidEnd = '' | |
| 406 | + }, | |
| 407 | + idCardEndTimeChange(val){ | |
| 408 | + const time = this.timeChange1(val); | |
| 409 | + | |
| 410 | + if(new Date(time).getTime() > new Date(this.model1.idCardValidStart).getTime()) { | |
| 411 | + this.model1.idCardValidEnd= time | |
| 412 | + } else { | |
| 413 | + this.$refs.uToast.show({ | |
| 414 | + title: '结束时间不能小于开始时间', | |
| 415 | + type: 'error', | |
| 416 | + }) | |
| 417 | + } | |
| 418 | + }, | |
| 419 | + | |
| 199 | 420 | } |
| 200 | 421 | } |
| 201 | 422 | </script> | ... | ... |
pages/leaseAdd/leaseAdd.vue
| ... | ... | @@ -4,125 +4,153 @@ |
| 4 | 4 | <u-steps :list="numList" :current="active"></u-steps> |
| 5 | 5 | </view> |
| 6 | 6 | <view> |
| 7 | - <view class="add-list" v-if="active == 0"> | |
| 7 | + <view class="add-list" v-show="active == 0"> | |
| 8 | 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> | |
| 9 | + <u-form-item label="经营用途" prop="businessPurpose" borderBottom> | |
| 10 | + <u-input v-model="model1.businessPurpose"></u-input> | |
| 11 | 11 | </u-form-item> |
| 12 | - <u-form-item label="意向租期" prop="name" borderBottom> | |
| 13 | - <u-input v-model="model1.name" ></u-input> | |
| 12 | + <u-form-item label="意向租期" prop="intendedLeaseTerm" placeholder="请输入月、年" borderBottom> | |
| 13 | + <u-input v-model="model1.intendedLeaseTerm"></u-input> | |
| 14 | 14 | </u-form-item> |
| 15 | - <u-form-item label="经营主体" prop="name" borderBottom> | |
| 16 | - <u-input v-model="model1.name" ></u-input> | |
| 15 | + <u-form-item label="经营主体" prop="operatingEntity" borderBottom> | |
| 16 | + <u-input v-model="model1.operatingEntity"></u-input> | |
| 17 | 17 | </u-form-item> |
| 18 | 18 | </u-form> |
| 19 | 19 | </view> |
| 20 | - <view class="add-list" v-else-if='active == 1'> | |
| 20 | + <view class="add-list" v-show='active == 1'> | |
| 21 | 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> | |
| 22 | + <u-form-item label="主体名称" prop="entityName" borderBottom> | |
| 23 | + <u-input v-model="model1.entityName"></u-input> | |
| 24 | 24 | </u-form-item> |
| 25 | - <u-form-item label="统一社会信用代码" prop="name" borderBottom> | |
| 26 | - <u-input v-model="model1.name" ></u-input> | |
| 25 | + <u-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode" borderBottom> | |
| 26 | + <u-input v-model="model1.unifiedSocialCreditCode"></u-input> | |
| 27 | 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> | |
| 28 | + <u-form-item label="类型" prop="entityType" borderBottom> | |
| 29 | + <u-input v-model="model1.entityType" type="select" @click="typeShow = true" | |
| 30 | + placeholder='请选择类型' /> | |
| 31 | 31 | </u-form-item> |
| 32 | - <u-form-item label="法定代表人" prop="name" borderBottom> | |
| 33 | - <u-input v-model="model1.name" ></u-input> | |
| 32 | + <u-form-item label="法定代表人" prop="legalRepresentative" borderBottom> | |
| 33 | + <u-input v-model="model1.legalRepresentative"></u-input> | |
| 34 | 34 | </u-form-item> |
| 35 | - <u-form-item label="经营范围" prop="name" borderBottom> | |
| 36 | - <u-input v-model="model1.name" ></u-input> | |
| 35 | + <u-form-item label="经营范围" prop="businessScope" borderBottom> | |
| 36 | + <u-input v-model="model1.businessScope"></u-input> | |
| 37 | 37 | </u-form-item> |
| 38 | - <u-form-item label="注册资本" prop="name" borderBottom> | |
| 39 | - <u-input v-model="model1.name" ></u-input> | |
| 38 | + <u-form-item label="注册资本" prop="registeredCapital" borderBottom> | |
| 39 | + <u-input v-model="model1.registeredCapital"></u-input> | |
| 40 | 40 | </u-form-item> |
| 41 | - <u-form-item label="成立日期" prop="name" borderBottom> | |
| 42 | - <u-input v-model="model1.name" ></u-input> | |
| 41 | + <u-form-item label="成立日期" prop="establishmentDate" borderBottom> | |
| 42 | + <u-input v-model="model1.establishmentDate"></u-input> | |
| 43 | 43 | </u-form-item> |
| 44 | - <u-form-item label="住所" prop="name" borderBottom> | |
| 45 | - <u-input v-model="model1.name" ></u-input> | |
| 44 | + <u-form-item label="住所" prop="residence" borderBottom> | |
| 45 | + <u-input v-model="model1.residence"></u-input> | |
| 46 | 46 | </u-form-item> |
| 47 | - <u-form-item label="邮箱地址" prop="name" borderBottom> | |
| 48 | - <u-input v-model="model1.name" ></u-input> | |
| 47 | + <u-form-item label="邮箱地址" prop="emailAddress" borderBottom> | |
| 48 | + <u-input v-model="model1.emailAddress"></u-input> | |
| 49 | 49 | </u-form-item> |
| 50 | - <u-form-item label="经营期限" prop="name" borderBottom> | |
| 51 | - <u-input v-model="model1.name" ></u-input> | |
| 50 | + <u-form-item label="经营开始时间" prop="businessStartDate" borderBottom> | |
| 51 | + <u-input v-model="model1.businessStartDate" type="select" @click="busStartshow = true" | |
| 52 | + placeholder="请选择" /> | |
| 53 | + <u-picker mode="time" v-model="busStartshow" :params="params" | |
| 54 | + @confirm="busStTimeChange"></u-picker> | |
| 52 | 55 | </u-form-item> |
| 53 | - <u-form-item label="营业执照" prop="name" borderBottom labelPosition="top"> | |
| 54 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 56 | + <u-form-item label="经营结束时间" prop="businessEndDate" borderBottom> | |
| 57 | + <u-input v-model="model1.businessEndDate" type="select" @click="busEndtshow = true" | |
| 58 | + placeholder="请选择" /> | |
| 59 | + <u-picker mode="time" v-model="busEndtshow" :params="params" | |
| 60 | + @confirm="busEndTimeChange"></u-picker> | |
| 61 | + </u-form-item> | |
| 62 | + <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top"> | |
| 63 | + <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload> | |
| 55 | 64 | </u-form-item> |
| 56 | 65 | </u-form> |
| 57 | 66 | </view> |
| 58 | - <view v-else> | |
| 67 | + <view v-show="active==2"> | |
| 59 | 68 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250"> |
| 60 | 69 | <view class="add-list"> |
| 61 | - <u-form-item label="经营者姓名" prop="name" borderBottom> | |
| 62 | - <u-input v-model="model1.name" ></u-input> | |
| 70 | + <u-form-item label="经营者姓名" prop="operatorName" borderBottom> | |
| 71 | + <u-input v-model="model1.operatorName"></u-input> | |
| 72 | + </u-form-item> | |
| 73 | + <u-form-item label="证件类型" prop="idCardType" borderBottom> | |
| 74 | + <u-input v-model="model1.idCardType" type="select" @click="IdtypeShow = true" | |
| 75 | + placeholder='请选择类型' /> | |
| 63 | 76 | </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> | |
| 77 | + <u-form-item label="身份证号码" prop="idNumber" borderBottom> | |
| 78 | + <u-input v-model="model1.idNumber"></u-input> | |
| 67 | 79 | </u-form-item> |
| 68 | - <u-form-item label="身份证号码" prop="name" borderBottom> | |
| 69 | - <u-input v-model="model1.name" ></u-input> | |
| 80 | + <u-form-item label="身份证有效开始时间" prop="idValidStart" borderBottom> | |
| 81 | + <u-input v-model="model1.idValidStart" type="select" @click="idCardStartshow = true" | |
| 82 | + placeholder="请选择" /> | |
| 83 | + <u-picker mode="time" v-model="idCardStartshow" :params="params1" | |
| 84 | + @confirm="idCardStTimeChange"></u-picker> | |
| 70 | 85 | </u-form-item> |
| 71 | - <u-form-item label="身份证有效期" prop="name" borderBottom> | |
| 72 | - <u-input v-model="model1.name" ></u-input> | |
| 86 | + <u-form-item label="身份证有效结束时间" prop="idValidEnd" borderBottom> | |
| 87 | + <u-input v-model="model1.idValidEnd" type="select" @click="idCardEndtshow = true" | |
| 88 | + placeholder="请选择" /> | |
| 89 | + <u-picker mode="time" v-model="idCardEndtshow" :params="params1" | |
| 90 | + @confirm="idCardEndTimeChange"></u-picker> | |
| 73 | 91 | </u-form-item> |
| 74 | 92 | </view> |
| 75 | 93 | <view class="add-list"> |
| 76 | 94 | <view class="deom-box"> |
| 77 | 95 | <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> | |
| 96 | + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idPhotoFront"> | |
| 97 | + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" | |
| 98 | + hover-stay-time="150"> | |
| 99 | + <u-image width="304rpx" height="182rpx" | |
| 100 | + :src="$imgUrl('/uploadID1.png')"></u-image> | |
| 81 | 101 | </view> |
| 82 | 102 | </u-upload> |
| 83 | 103 | <text>点击上传证件人像面</text> |
| 84 | 104 | </view> |
| 85 | 105 | <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> | |
| 106 | + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idPhotoBack"> | |
| 107 | + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" | |
| 108 | + hover-stay-time="150"> | |
| 109 | + <u-image width="304rpx" height="182rpx" | |
| 110 | + :src="$imgUrl('/uploadID2.png')"></u-image> | |
| 89 | 111 | </view> |
| 90 | 112 | </u-upload> |
| 91 | 113 | <text>点击上传证件国徽面</text> |
| 92 | 114 | </view> |
| 93 | 115 | </view> |
| 94 | - </view> | |
| 116 | + </view> | |
| 95 | 117 | <view class="add-list"> |
| 96 | 118 | <view style="line-height: 60rpx;">上传示例</view> |
| 97 | 119 | <view class="deom-box"> |
| 98 | 120 | <view class="img-deom"> |
| 99 | - <u-image width="304rpx" height="182rpx" src="/static/images/front-icon.png"></u-image> | |
| 121 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/front-icon.png')"></u-image> | |
| 100 | 122 | <text>人脸示例图</text> |
| 101 | 123 | </view> |
| 102 | 124 | <view class="img-deom"> |
| 103 | - <u-image width="304rpx" height="182rpx" src="/static/images/back-icon.png"></u-image> | |
| 125 | + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/back-icon.png')"></u-image> | |
| 104 | 126 | <text>国徽面示例图</text> |
| 105 | 127 | </view> |
| 106 | 128 | </view> |
| 107 | 129 | </view> |
| 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"> | |
| 130 | + <text | |
| 131 | + style="display: inline-block; font-size: 24rpx; line-height: 30px; margin: 24rpx 30rpx 0;">请拍摄证件原件,保证照片拍摄清晰,取图完整,不反光。</text> | |
| 132 | + <view class="add-list" labelPosition="left" :model="model1" :rules="rules" ref="uForm" | |
| 133 | + :labelWidth="250"> | |
| 134 | + <u-form-item label="是否为法人" prop="isLegalPerson" borderBottom> | |
| 135 | + <u-radio-group v-model="model1.isLegalPerson"> | |
| 112 | 136 | <u-radio :name="1">是</u-radio> |
| 113 | - <u-radio :name="2">否</u-radio> | |
| 137 | + <u-radio :name="0">否</u-radio> | |
| 114 | 138 | </u-radio-group> |
| 115 | 139 | </u-form-item> |
| 116 | - <u-form-item label="企业授权书" prop="name" borderBottom labelPosition="top"> | |
| 117 | - <u-upload :active="active" :file-list="model1.fileList" ></u-upload> | |
| 140 | + <u-form-item label="企业授权书" prop="enter" borderBottom labelPosition="top"> | |
| 141 | + | |
| 142 | + <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload> | |
| 118 | 143 | </u-form-item> |
| 119 | 144 | </view> |
| 120 | 145 | </u-form> |
| 121 | 146 | </view> |
| 122 | 147 | </view> |
| 148 | + <u-select v-model="typeShow" :list="activesType" @confirm="typeChange"></u-select> | |
| 149 | + <u-select v-model="IdtypeShow" :list="idType" @confirm="IdtypeChange"></u-select> | |
| 123 | 150 | <!-- 保存按钮 --> |
| 124 | 151 | <view class="page-footer"> |
| 125 | - <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor" v-if="active != 0">上一步</u-button> | |
| 152 | + <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor" | |
| 153 | + v-if="active != 0">上一步</u-button> | |
| 126 | 154 | <u-button type="success" style="flex: 1; margin: 0 10px;" @click="toNext" v-if="active != 2">下一步</u-button> |
| 127 | 155 | <u-button type="success" style="flex: 1; margin: 0 10px;" @click="go" v-if="active == 2">提交申请</u-button> |
| 128 | 156 | </view> |
| ... | ... | @@ -133,43 +161,165 @@ |
| 133 | 161 | export default { |
| 134 | 162 | data() { |
| 135 | 163 | return { |
| 136 | - active: 2, | |
| 137 | - numList: [{name: '租赁信息'}, {name: '主体信息'}, {name: '经营者信息'}], | |
| 164 | + active: 0, | |
| 165 | + numList: [{ | |
| 166 | + name: '租赁信息' | |
| 167 | + }, { | |
| 168 | + name: '主体信息' | |
| 169 | + }, { | |
| 170 | + name: '经营者信息' | |
| 171 | + }], | |
| 138 | 172 | model1: { |
| 139 | - name: '', | |
| 140 | - type: '', | |
| 141 | - typeShow: false, | |
| 142 | - fileList: [], // 文件列表 | |
| 173 | + businessPurpose: '', | |
| 174 | + intendedLeaseTerm: '', | |
| 175 | + operatingEntity: '', | |
| 176 | + entityName: '', | |
| 177 | + unifiedSocialCreditCode: '', | |
| 178 | + entityType: '', | |
| 179 | + legalRepresentative: '', | |
| 180 | + businessScope: '', | |
| 181 | + registeredCapital: '', | |
| 182 | + establishmentDate: '', | |
| 183 | + residence: '', | |
| 184 | + emailAddress: '', | |
| 185 | + businessStartDate: '', | |
| 186 | + businessEndDate: '', | |
| 187 | + operatorName: '', | |
| 188 | + idCardType: '', | |
| 189 | + idNumber: '', | |
| 190 | + idValidStart: '', | |
| 191 | + idValidEnd: '', | |
| 192 | + idPhotoFront:'', | |
| 193 | + idPhotoBack: '', | |
| 194 | + isLegalPerson: '', | |
| 195 | + enterpriseAuthorization: '', | |
| 196 | + auditStatus: '1' | |
| 143 | 197 | }, |
| 144 | 198 | rules: {}, |
| 145 | 199 | // 类型 |
| 146 | 200 | showType: false, |
| 147 | - activesType: [ | |
| 148 | - {value: 1, label: '类型1'}, | |
| 149 | - {value: 2, label: '类型2'}, | |
| 201 | + params: { | |
| 202 | + year: true, | |
| 203 | + month: true, | |
| 204 | + day: true, | |
| 205 | + }, | |
| 206 | + params1: { | |
| 207 | + year: true, | |
| 208 | + month: true, | |
| 209 | + day: true | |
| 210 | + }, | |
| 211 | + TimeStratshow: false, | |
| 212 | + typeShow: false, | |
| 213 | + activesType: [{ | |
| 214 | + value: 1, | |
| 215 | + label: '个人' | |
| 216 | + }, | |
| 217 | + { | |
| 218 | + value: 2, | |
| 219 | + label: '企业' | |
| 220 | + }, | |
| 150 | 221 | ], |
| 151 | - // 上传文件 | |
| 152 | - active: '', // 地址 | |
| 153 | - | |
| 222 | + idType: [{ | |
| 223 | + value: 1, | |
| 224 | + label: '身份证' | |
| 225 | + }, ], | |
| 226 | + IdtypeShow: false, | |
| 227 | + busStartshow: false, | |
| 228 | + busEndtshow: false, | |
| 229 | + idCardStartshow: false, | |
| 230 | + idCardEndtshow: false, | |
| 231 | + ziyuanId: '' | |
| 232 | + | |
| 154 | 233 | }; |
| 155 | 234 | }, |
| 156 | 235 | onLoad(option) { |
| 157 | - // 检查用户是否登录 | |
| 158 | - const isLogin = uni.getStorageSync('token') || false; | |
| 159 | - if (!isLogin) { | |
| 160 | - // 如果未登录,跳转到登录页面 | |
| 161 | - uni.redirectTo({ | |
| 162 | - url: '/pages/login/login' | |
| 163 | - }); | |
| 164 | - } | |
| 236 | + this.ziyuanId = option.ids | |
| 165 | 237 | }, |
| 166 | - methods:{ | |
| 238 | + onShow() { | |
| 239 | + let shopId = { | |
| 240 | + shopId:uni.getStorageSync('shopId') || '' | |
| 241 | + } | |
| 242 | + const isLogin = uni.getStorageSync('token'); | |
| 243 | + if (isLogin =='') { | |
| 244 | + // 如果未登录,跳转到登录页面 | |
| 245 | + uni.navigateTo({ | |
| 246 | + url: '/pages/login/login' | |
| 247 | + }) | |
| 248 | + }else{ | |
| 249 | + let page={ | |
| 250 | + condition:2 | |
| 251 | + } | |
| 252 | + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => { | |
| 253 | + if(res.data.code !="20004"){ | |
| 254 | + this.shopMsg = res.data.data | |
| 255 | + this.Islogin= false | |
| 256 | + this.$http.sendRequest('/index/index', 'POST',page).then(res => { | |
| 257 | + //成功回调 | |
| 258 | + this.tongji = res.data.data | |
| 259 | + }) | |
| 260 | + }else{ | |
| 261 | + uni.navigateTo({ | |
| 262 | + url: '/pages/login/login' | |
| 263 | + }) | |
| 264 | + } | |
| 265 | + }) | |
| 266 | + } | |
| 267 | + | |
| 268 | + }, | |
| 269 | + methods: { | |
| 167 | 270 | typeChange(e) { |
| 168 | - this.model1.type = e[0].label; | |
| 271 | + this.model1.entityType = e[0].label; | |
| 169 | 272 | }, |
| 170 | - go(){ | |
| 171 | - uni.navigateTo({ | |
| 172 | - url: '/pages/record/record' | |
| 273 | +getCurrentTime() { | |
| 274 | + const now = new Date(); | |
| 275 | + const year = now.getFullYear(); | |
| 276 | + const month = ('0' + (now.getMonth() + 1)).slice(-2); | |
| 277 | + const day = ('0' + now.getDate()).slice(-2); | |
| 278 | + const hours = ('0' + now.getHours()).slice(-2); | |
| 279 | + const minutes = ('0' + now.getMinutes()).slice(-2); | |
| 280 | + const seconds = ('0' + now.getSeconds()).slice(-2); | |
| 281 | + | |
| 282 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 283 | + }, | |
| 284 | + go() { | |
| 285 | + let files = [] | |
| 286 | + let idCardOne = [] | |
| 287 | + let idCardTwo = [] | |
| 288 | + let enter = [] | |
| 289 | + // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作) | |
| 290 | + files = this.$refs.businessLicense.lists.filter(val => { | |
| 291 | + return val.progress == 100; | |
| 292 | + }) | |
| 293 | + files.map(item => { | |
| 294 | + this.model1.businessLicense = item.response.data.url | |
| 295 | + }) | |
| 296 | + idCardOne = this.$refs.idPhotoFront.lists.filter(val => { | |
| 297 | + return val.progress == 100; | |
| 298 | + }) | |
| 299 | + idCardOne.map(item => { | |
| 300 | + this.model1.idPhotoFront = item.response.data.url | |
| 301 | + | |
| 302 | + }) | |
| 303 | + idCardTwo = this.$refs.idPhotoBack.lists.filter(val => { | |
| 304 | + return val.progress == 100; | |
| 305 | + }) | |
| 306 | + idCardTwo.map(item => { | |
| 307 | + this.model1.idPhotoBack = item.response.data.url | |
| 308 | + }) | |
| 309 | + enter = this.$refs.enter.lists.filter(val => { | |
| 310 | + return val.progress == 100; | |
| 311 | + }) | |
| 312 | + enter.map(item => { | |
| 313 | + this.model1.enterpriseAuthorization = item.response.data.url | |
| 314 | + }) | |
| 315 | + | |
| 316 | + this.model1.rentalResourcesId = this.ziyuanId | |
| 317 | + this.model1.applicant = uni.getStorageSync('shopId') | |
| 318 | + this.model1.applicationTime = this.getCurrentTime() | |
| 319 | + this.$http.sendRequest('/cereBusinessInfo/add', 'POST', this.model1, 1).then(res => { | |
| 320 | + uni.redirectTo({ | |
| 321 | + url: '/pages/record/record' | |
| 322 | + }) | |
| 173 | 323 | }) |
| 174 | 324 | }, |
| 175 | 325 | // 上一步 |
| ... | ... | @@ -179,11 +329,67 @@ |
| 179 | 329 | // 下一步 |
| 180 | 330 | toNext() { |
| 181 | 331 | this.active = +this.active + 1; |
| 182 | - } | |
| 332 | + }, | |
| 333 | + startTimeChange(val) { | |
| 334 | + this.model1.scheduleTime = this.timeChange(val) | |
| 335 | + }, | |
| 336 | + timeChange(val) { | |
| 337 | + const { | |
| 338 | + year, | |
| 339 | + month, | |
| 340 | + day, | |
| 341 | + } = val; | |
| 342 | + return `${year}-${month}-${day}`; | |
| 343 | + }, | |
| 344 | + leiXpops(val) { | |
| 345 | + this.model1.intentionalBusinessType = val[0].label | |
| 346 | + }, | |
| 347 | + busStTimeChange(val) { | |
| 348 | + this.model1.businessStartDate = this.timeChange(val) | |
| 349 | + this.model1.businessEndDate = '' | |
| 350 | + }, | |
| 351 | + busEndTimeChange(val) { | |
| 352 | + const time = this.timeChange(val); | |
| 353 | + if (new Date(time).getTime() > new Date(this.model1.businessStartDate).getTime()) { | |
| 354 | + this.model1.businessEndDate = time | |
| 355 | + } else { | |
| 356 | + this.$refs.uToast.show({ | |
| 357 | + title: '结束时间不能小于开始时间', | |
| 358 | + type: 'error', | |
| 359 | + }) | |
| 360 | + } | |
| 361 | + }, | |
| 362 | + idCardStTimeChange(val) { | |
| 363 | + this.model1.idValidStart = this.timeChange1(val) | |
| 364 | + this.model1.idValidEnd = '' | |
| 365 | + | |
| 366 | + }, | |
| 367 | + idCardEndTimeChange(val) { | |
| 368 | + const time = this.timeChange1(val); | |
| 369 | + if (new Date(time).getTime() > new Date(this.model1.idValidStart).getTime()) { | |
| 370 | + this.model1.idValidEnd = time | |
| 371 | + } else { | |
| 372 | + this.$refs.uToast.show({ | |
| 373 | + title: '结束时间不能小于开始时间', | |
| 374 | + type: 'error', | |
| 375 | + }) | |
| 376 | + } | |
| 377 | + }, | |
| 378 | + IdtypeChange(e) { | |
| 379 | + this.model1.idCardType = e[0].label; | |
| 380 | + }, | |
| 381 | + timeChange1(val) { | |
| 382 | + const { | |
| 383 | + year, | |
| 384 | + month, | |
| 385 | + day | |
| 386 | + } = val; | |
| 387 | + return `${year}-${month}-${day}`; | |
| 388 | + }, | |
| 183 | 389 | } |
| 184 | 390 | } |
| 185 | 391 | </script> |
| 186 | 392 | |
| 187 | 393 | <style scoped lang="scss"> |
| 188 | 394 | @import 'leaseAdd.scss'; |
| 189 | 395 | -</style> |
| 396 | +</style> | |
| 190 | 397 | \ No newline at end of file | ... | ... |
pages/login/login.vue
| ... | ... | @@ -108,7 +108,6 @@ |
| 108 | 108 | |
| 109 | 109 | }, |
| 110 | 110 | goyinsi(){ |
| 111 | - console.log('1222222222222') | |
| 112 | 111 | uni.navigateTo({ |
| 113 | 112 | url: '/pages/privacy/privacy' |
| 114 | 113 | }); |
| ... | ... | @@ -139,7 +138,7 @@ |
| 139 | 138 | uni.setStorageSync('token', res.data.data.token); |
| 140 | 139 | uni.setStorageSync('shopId', res.data.data.shopId); |
| 141 | 140 | uni.switchTab({ |
| 142 | - url: '/pages/my/my' | |
| 141 | + url: '/pages/home/home' | |
| 143 | 142 | }) |
| 144 | 143 | }else{ |
| 145 | 144 | uni.showToast({ | ... | ... |
pages/marketing/marketingDetail/marketingDetail.scss
| ... | ... | @@ -28,6 +28,13 @@ |
| 28 | 28 | align-items: center; |
| 29 | 29 | justify-content: space-between; |
| 30 | 30 | margin-bottom: 30rpx; |
| 31 | + | |
| 32 | + } | |
| 33 | + .times{ | |
| 34 | + white-space: nowrap; /* 不换行 */ | |
| 35 | + overflow: hidden; /* 隐藏超出部分 */ | |
| 36 | + text-overflow: ellipsis; /* 显示省略号 */ | |
| 37 | + width:70%; | |
| 31 | 38 | } |
| 32 | 39 | } |
| 33 | 40 | // 活动信息 |
| ... | ... | @@ -50,17 +57,17 @@ |
| 50 | 57 | position: fixed; |
| 51 | 58 | left: 0; |
| 52 | 59 | bottom: 0; |
| 53 | - display: flex; | |
| 54 | - align-items: center; | |
| 55 | - justify-content: center; | |
| 60 | + // display: flex; | |
| 61 | + // align-items: center; | |
| 62 | + // justify-content: center; | |
| 56 | 63 | width: 100%; |
| 57 | 64 | height: 125rpx; |
| 58 | 65 | background-color: #FFFFFF; |
| 59 | 66 | padding-bottom: constant(safe-area-inset-bottom); |
| 60 | 67 | padding-bottom: env(safe-area-inset-bottom); |
| 61 | 68 | .footer-btn { |
| 62 | - display: flex; | |
| 63 | - width: 70vw; | |
| 69 | + padding: 0 10%; | |
| 70 | + margin-top: 20rpx; | |
| 64 | 71 | } |
| 65 | 72 | .footer-service { |
| 66 | 73 | display: flex; |
| ... | ... | @@ -74,8 +81,10 @@ |
| 74 | 81 | } |
| 75 | 82 | |
| 76 | 83 | .userForm { |
| 84 | + margin: 0 40rpx ; | |
| 77 | 85 | .form-box { |
| 78 | 86 | padding: 28rpx; |
| 87 | + | |
| 79 | 88 | } |
| 80 | 89 | .title { |
| 81 | 90 | font-size: 32rpx; | ... | ... |
pages/marketing/marketingDetail/marketingDetail.vue
| ... | ... | @@ -2,26 +2,18 @@ |
| 2 | 2 | <view class="page"> |
| 3 | 3 | <view class="page-info"> |
| 4 | 4 | <view class="banner"> |
| 5 | - <view class="title">xxx活动标题</view> | |
| 5 | + <view class="title">{{tableData.title}}</view> | |
| 6 | 6 | <view class="banner-info-top"> |
| 7 | - <view>2022-02-22 22:56</view> | |
| 8 | - <view><u-icon name="eye"></u-icon>36人</view> | |
| 7 | + <view class="times">{{tableData.startTime}}至{{tableData.endTime}}</view> | |
| 8 | + <view><u-icon name="eye"></u-icon>{{tableData.contactPerson}}人</view> | |
| 9 | 9 | </view> |
| 10 | 10 | <view class="banner-info-item"> |
| 11 | - <text> | |
| 12 | - 在这个充满活力的季节里,我们诚挚地邀请您参与由本商家精心策划的“锦江绿道活力行”活动。 | |
| 13 | - 这不仅是一场关于健康与自然的盛宴,更是一次心灵与身体的双重放松之旅。 📅活动时间:2023年XX月XX日(星期X) | |
| 14 | - 📍活动地点:锦江绿道全程,集合点设于绿道起点广场 ⏰集合时间:上午9:00 🚶♂️🚶♀️活动内容: | |
| 15 | - 绿道徒步:沿着风景如画的锦江绿道,享受清新的空气与和煦的阳光,全程约5公里,适合全家人参与。 | |
| 16 | - 健康小站:途中设置多个健康小站,提供饮用水、轻食补给及简单的医疗支持,确保每位参与者都能保持良好的状态。 | |
| 17 | - 环保互动:参与环保知识问答,实践垃圾分类,共同守护我们的绿色家园。 摄影大赛:记录下绿道上的美好瞬间,参与摄影大赛, | |
| 18 | - 优秀作品将有机会获得精美奖品。 | |
| 19 | - 终点庆典:完成全程后,在终点广场参加庆典活动,享受美食、音乐与抽奖乐趣。 | |
| 20 | - </text> | |
| 21 | - <image :src="$imgUrl('/img/2.jpg')" style="width: 100%; height: 100vw; border-radius: 10rpx; margin-top: 30rpx;"></image> | |
| 11 | + <u-parse :html="tableData.content"></u-parse> | |
| 12 | + | |
| 13 | + <image :src="tableData.coverImage" style="width: 100%; height: 100vw; border-radius: 10rpx; margin-top: 30rpx;"></image> | |
| 22 | 14 | </view> |
| 23 | 15 | </view> |
| 24 | - <view class="info-box"> | |
| 16 | + <!-- <view class="info-box"> | |
| 25 | 17 | <view class="title">营销推广活动信息</view> |
| 26 | 18 | <view class="info-item">场地:成华公园广场</view> |
| 27 | 19 | <view class="info-item">起止时间:2022-02-22 至 2022-02-22</view> |
| ... | ... | @@ -29,33 +21,37 @@ |
| 29 | 21 | <view class="info-item">联系人:张三</view> |
| 30 | 22 | <view class="info-item">联系电话:13455425151</view> |
| 31 | 23 | <view class="info-item">已参与报名人数:<span>6489</span>人</view> |
| 32 | - </view> | |
| 24 | + </view> --> | |
| 33 | 25 | </view> |
| 34 | 26 | |
| 35 | 27 | |
| 36 | 28 | <!-- 底部 --> |
| 37 | 29 | <view style="height: 125rpx;"></view> |
| 38 | 30 | <view class="page-footer"> |
| 39 | - <view class="footer-service"> | |
| 40 | - <u-image :showLoading="true" src="/static/images/sevice-icon.png" width="30rpx" height="30rpx"></u-image> | |
| 41 | - <text>客服</text> | |
| 42 | - </view> | |
| 31 | + <!-- <view class="footer-service"> | |
| 32 | + <u-image :showLoading="true" :src="$imgUrl('/sevice-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 33 | + <text>客服</text> | |
| 34 | + </view> --> | |
| 43 | 35 | <view class="footer-btn"> |
| 44 | - <u-button type="success" style="width: 80%;" @click="joinShow = true">报名参加</u-button> | |
| 45 | - </view> | |
| 46 | - <view class="footer-service"> | |
| 47 | - <u-image :showLoading="true" src="/static/images/share-icon.png" width="30rpx" height="30rpx"></u-image> | |
| 48 | - <text>分享</text> | |
| 36 | + <u-button type="success" @click="joinShow = true">报名参加</u-button> | |
| 49 | 37 | </view> |
| 38 | + <!-- <view class="footer-service"> | |
| 39 | + <u-image :showLoading="true" :src="$imgUrl('/share-icon.png')" width="30rpx" height="30rpx"></u-image> | |
| 40 | + <text>分享</text> | |
| 41 | + </view> --> | |
| 42 | + | |
| 50 | 43 | </view> |
| 51 | - <u-popup class="userForm" v-model="joinShow" mode="center" :closeable="true" width="90%"> | |
| 52 | - <u-form class="form-box" :model="form" ref="uForm" :label-width="120"> | |
| 53 | - <view class="title">请填写您的报名信息</view> | |
| 54 | - <u-form-item label="姓名"><u-input v-model="form.name" /></u-form-item> | |
| 55 | - <u-form-item label="联系电话"><u-input v-model="form.pahone" /></u-form-item> | |
| 56 | - <u-button type="success" @click="submit">提交</u-button> | |
| 44 | + <u-popup class="userForm" v-model="joinShow" mode="center" :closeable="true" width="90%" > | |
| 45 | + <u-form class="form-box" :model="form" ref="uForm" :label-width="120" > | |
| 46 | + <view style="padding: 30rpx;"> | |
| 47 | + <view class="title">请填写您的报名信息</view> | |
| 48 | + <u-form-item label="姓名"><u-input v-model="form.userName" /></u-form-item> | |
| 49 | + <u-form-item label="电话"><u-input v-model="form.userPhone" /></u-form-item> | |
| 50 | + <u-button type="success" @click="submit">提交</u-button> | |
| 51 | + </view> | |
| 57 | 52 | </u-form> |
| 58 | 53 | </u-popup> |
| 54 | + <u-toast ref="uToast" /> | |
| 59 | 55 | </view> |
| 60 | 56 | </template> |
| 61 | 57 | |
| ... | ... | @@ -74,21 +70,79 @@ export default { |
| 74 | 70 | ], |
| 75 | 71 | joinShow: false, |
| 76 | 72 | form: { |
| 77 | - name: '', | |
| 78 | - pahone: '', | |
| 73 | + activityId:'', | |
| 74 | + userId:'', | |
| 75 | + createTime:'', | |
| 76 | + createUser:'', | |
| 77 | + userName: '', | |
| 78 | + userPhone: '', | |
| 79 | + }, | |
| 80 | + pagesize: { | |
| 81 | + pageNumber: 1, | |
| 82 | + pageSize: 2, | |
| 83 | + id:null, | |
| 79 | 84 | } |
| 80 | 85 | }; |
| 81 | 86 | }, |
| 82 | - onLoad(option){}, | |
| 87 | + onLoad(option){ | |
| 88 | + let str = unescape(option.scene); | |
| 89 | + | |
| 90 | +if(option.scene){ | |
| 91 | + let str = unescape(option.scene) | |
| 92 | + // 使用 split() 方法按等号分割字符串,并获取第二个元素(索引为1),即带单引号的值 | |
| 93 | + let valueWithQuotes = str.split('=')[1]; | |
| 94 | + | |
| 95 | + // 使用 slice() 或 substring() 去除两端的单引号 | |
| 96 | + let value = valueWithQuotes.slice(1, -1); | |
| 97 | + this.pagesize.id = value | |
| 98 | + this.form.activityId = value | |
| 99 | +}else{ | |
| 100 | + this.pagesize.id = option.item | |
| 101 | + this.form.activityId = option.item | |
| 102 | +} | |
| 103 | + this.$http.sendRequest('/cereMarketingActivity/queryById', 'POST',this.pagesize,1).then(res => { | |
| 104 | + this.tableData =res.data.data | |
| 105 | + }) | |
| 106 | + | |
| 107 | + }, | |
| 83 | 108 | methods: { |
| 84 | 109 | submit() { |
| 85 | - this.joinShow = false; | |
| 110 | + this.form.createTime = this.getCurrentDateTime() | |
| 111 | + this.$http.sendRequest('/cereEventRegistration/add', 'POST',this.form,1).then(res => { | |
| 112 | + | |
| 113 | + // uni.showToast({ | |
| 114 | + // title: res.data.message, | |
| 115 | + // duration: 2000, | |
| 116 | + | |
| 117 | + // }) | |
| 118 | + this.$refs.uToast.show({ | |
| 119 | + title: res.data.message, | |
| 120 | + url: '/pages/home/home' | |
| 121 | + }) | |
| 122 | + // uni.switchTab({ | |
| 123 | + // url: '/pages/home/home' | |
| 124 | + // }) | |
| 125 | + }) | |
| 126 | + this.joinShow = false | |
| 127 | + | |
| 128 | + | |
| 86 | 129 | }, |
| 87 | 130 | leaseAdd(){ |
| 88 | 131 | uni.navigateTo({ |
| 89 | 132 | url: '/pages/leaseAdd/leaseAdd' |
| 90 | 133 | }) |
| 91 | 134 | }, |
| 135 | + getCurrentDateTime() { | |
| 136 | + const now = new Date(); | |
| 137 | + const year = now.getFullYear(); | |
| 138 | + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份是从0开始的,所以需要+1 | |
| 139 | + const day = String(now.getDate()).padStart(2, '0'); | |
| 140 | + const hours = String(now.getHours()).padStart(2, '0'); | |
| 141 | + const minutes = String(now.getMinutes()).padStart(2, '0'); | |
| 142 | + const seconds = String(now.getSeconds()).padStart(2, '0'); | |
| 143 | + | |
| 144 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 145 | + }, | |
| 92 | 146 | } |
| 93 | 147 | }; |
| 94 | 148 | </script> | ... | ... |
pages/marketing/marketingList/marketingList.scss
pages/marketing/marketingList/marketingList.vue
| ... | ... | @@ -3,10 +3,10 @@ |
| 3 | 3 | <view class="page"> |
| 4 | 4 | <!-- 搜索 --> |
| 5 | 5 | <view class="head-search"> |
| 6 | - <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search> | |
| 6 | + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.title" :show-action="false" @search="search"></u-search> | |
| 7 | 7 | <u-button type="success" @click="search">搜索</u-button> |
| 8 | 8 | </view> |
| 9 | - <view class="screen-list"> | |
| 9 | + <!-- <view class="screen-list"> | |
| 10 | 10 | <view class="list" @click="sortshow = true"> |
| 11 | 11 | <text>默认排序</text> |
| 12 | 12 | <image :src="$imgUrl('/down.png')"></image> |
| ... | ... | @@ -17,16 +17,16 @@ |
| 17 | 17 | <image :src="$imgUrl('/down.png')"></image> |
| 18 | 18 | <u-select v-model="statusshow" :list="statusOptions" @confirm="(v) => {queryChange('status', v)}"></u-select> |
| 19 | 19 | </view> |
| 20 | - </view> | |
| 20 | + </view> --> | |
| 21 | 21 | <!-- 订单列表 --> |
| 22 | 22 | <view class="goods-data"> |
| 23 | 23 | <u-row :gutter="16" class="goods-list"> |
| 24 | - <u-col span="6" v-for="(item,index) in list" :key="index" @click="toDetail"> | |
| 24 | + <u-col span="6" v-for="(item,index) in list" :key="index" @click="toDetail(item)"> | |
| 25 | 25 | <view class="demo-layout good-item"> |
| 26 | - <image :src="$imgUrl('/img/2.jpg')" style="width: 315rpx; height: 315rpx; border-radius: 10rpx;"></image> | |
| 26 | + <image :src="item.coverImage" style="width: 315rpx; height: 315rpx; border-radius: 10rpx;"></image> | |
| 27 | 27 | <view class="info"> |
| 28 | - <view class="title">这里有标题这里有标题这里有标题</view> | |
| 29 | - <view class="name">锦江绿道官方活动</view> | |
| 28 | + <view class="title">{{item.title}}</view> | |
| 29 | + <view class="name">活动时间:{{item.startTime}}至{{item.endTime}}</view> | |
| 30 | 30 | <u-tag text="进行中" type="success" mode="dark" /> |
| 31 | 31 | </view> |
| 32 | 32 | </view> |
| ... | ... | @@ -42,13 +42,13 @@ |
| 42 | 42 | data() { |
| 43 | 43 | return { |
| 44 | 44 | status: 'loadmore', |
| 45 | - list: 3, | |
| 45 | + list: [], | |
| 46 | 46 | total: 1, |
| 47 | 47 | query: { |
| 48 | - keyword: '', // 搜索项 | |
| 48 | + title: '', // 搜索项 | |
| 49 | 49 | sortType: '', // 排序方式 |
| 50 | 50 | status: '', // 活动状态 |
| 51 | - pageNum: 0, | |
| 51 | + pageNumber:1, | |
| 52 | 52 | pageSize: 10, |
| 53 | 53 | }, |
| 54 | 54 | sortshow: false, |
| ... | ... | @@ -81,7 +81,20 @@ |
| 81 | 81 | onReachBottom(e) { |
| 82 | 82 | this.loading(); |
| 83 | 83 | }, |
| 84 | + mounted() { | |
| 85 | + this.getALL() | |
| 86 | + }, | |
| 84 | 87 | methods: { |
| 88 | + getALL(){ | |
| 89 | + let pagesize = { | |
| 90 | + pageNumber: 1, | |
| 91 | + pageSize: 2 | |
| 92 | + } | |
| 93 | + | |
| 94 | + this.$http.sendRequest('/cereMarketingActivity/queryByPage', 'POST', pagesize,1).then(res => { | |
| 95 | + this.list =res.data.data.content | |
| 96 | + }) | |
| 97 | + }, | |
| 85 | 98 | toMyAdd() { |
| 86 | 99 | // 跳转我的活动申请 |
| 87 | 100 | uni.navigateTo({ |
| ... | ... | @@ -89,8 +102,17 @@ |
| 89 | 102 | }) |
| 90 | 103 | }, |
| 91 | 104 | search() { |
| 92 | - // 搜索 | |
| 93 | - // this.loading(); | |
| 105 | + this.$http.sendRequest('/cereMarketingActivity/queryByPage', 'POST', this.query,1).then(res => { | |
| 106 | + this.list =res.data.data.content | |
| 107 | + this.query ={ | |
| 108 | + title: '', // 搜索项 | |
| 109 | + sortType: '', // 排序方式 | |
| 110 | + status: '', // 活动状态 | |
| 111 | + pageNumber: 1, | |
| 112 | + pageSize: 10, | |
| 113 | + | |
| 114 | + } | |
| 115 | + }) | |
| 94 | 116 | }, |
| 95 | 117 | queryChange(key, val) { |
| 96 | 118 | this.query[`${key}`] = val[0].value; |
| ... | ... | @@ -106,9 +128,10 @@ |
| 106 | 128 | that.status = that.list >= that.total ? 'nomore' : 'loadmore'; |
| 107 | 129 | }, 300) |
| 108 | 130 | }, |
| 109 | - toDetail() { | |
| 131 | + toDetail(items) { | |
| 132 | + let msg = JSON.stringify(items) | |
| 110 | 133 | uni.navigateTo({ |
| 111 | - url: '/pages/marketing/marketingDetail/marketingDetail' | |
| 134 | + url: `/pages/marketing/marketingDetail/marketingDetail?item=${msg}` | |
| 112 | 135 | }) |
| 113 | 136 | }, |
| 114 | 137 | join(){ | ... | ... |
pages/message/message.vue
| ... | ... | @@ -15,7 +15,7 @@ |
| 15 | 15 | </view> |
| 16 | 16 | <view class="main"> |
| 17 | 17 | <view class="message-list"> |
| 18 | - <view class="list"> | |
| 18 | + <view class="list" @click="toMsgList"> | |
| 19 | 19 | <view class="icon-data"> |
| 20 | 20 | <view class="icon"> |
| 21 | 21 | <image :src="$imgUrl('/msg1.png')" mode=""></image> |
| ... | ... | @@ -25,16 +25,16 @@ |
| 25 | 25 | <text>通知消息</text> |
| 26 | 26 | </view> |
| 27 | 27 | <view class="describe"> |
| 28 | - <text>这里有最新消息这里有最新消息这里有最新消息这里有最新消息</text> | |
| 28 | + <text>{{tableList[0].content}}</text> | |
| 29 | 29 | </view> |
| 30 | 30 | </view> |
| 31 | 31 | </view> |
| 32 | 32 | <view class="more"> |
| 33 | - <view class="more-num">2</view> | |
| 34 | - <view class="icon-more">11:28</view> | |
| 33 | + <!-- <view class="more-num">{{tableList.length}}</view> --> | |
| 34 | + <view class="icon-more">{{formatTime(tableList[0].createdAt)}}</view> | |
| 35 | 35 | </view> |
| 36 | 36 | </view> |
| 37 | - <view class="list"> | |
| 37 | + <!-- <view class="list"> | |
| 38 | 38 | <view class="icon-data"> |
| 39 | 39 | <view class="icon"> |
| 40 | 40 | <image :src="$imgUrl('/msg2.png')" mode=""></image> |
| ... | ... | @@ -147,8 +147,8 @@ |
| 147 | 147 | <view class="more-num">2</view> |
| 148 | 148 | <view class="icon-more">11:28</view> |
| 149 | 149 | </view> |
| 150 | - </view> | |
| 151 | - <view class="list"> | |
| 150 | + </view> --> | |
| 151 | + <!-- <view class="list"> | |
| 152 | 152 | <view class="icon-data"> |
| 153 | 153 | <view class="icon"> |
| 154 | 154 | <image :src="$imgUrl('/msg7.png')" mode=""></image> |
| ... | ... | @@ -166,16 +166,16 @@ |
| 166 | 166 | <view class="more-num">2</view> |
| 167 | 167 | <view class="icon-more">11:28</view> |
| 168 | 168 | </view> |
| 169 | - </view> | |
| 169 | + </view> --> | |
| 170 | 170 | </view> |
| 171 | 171 | |
| 172 | - <view class="message-list"> | |
| 172 | + <!-- <view class="message-list"> | |
| 173 | 173 | <view class="bidding-title"><view class="bidding-title-line"></view>消息<text>(5)</text></view> |
| 174 | 174 | <view class="message-list" style="padding: 0;"> |
| 175 | - <view class="list" v-for="(item,index) in 4" :key="index"> | |
| 175 | + <view class="list" v-for="(item,index) in 4" :key="index" @click="toDialogue"> | |
| 176 | 176 | <view class="icon-data"> |
| 177 | 177 | <view class="icon"> |
| 178 | - <!-- <image :src="`${this.$imgs}/img/head.jpg`" mode=""></image> --> | |
| 178 | + | |
| 179 | 179 | </view> |
| 180 | 180 | <view class="data"> |
| 181 | 181 | <view class="title"> |
| ... | ... | @@ -192,7 +192,7 @@ |
| 192 | 192 | </view> |
| 193 | 193 | </view> |
| 194 | 194 | </view> |
| 195 | - </view> | |
| 195 | + </view> --> | |
| 196 | 196 | |
| 197 | 197 | </view> |
| 198 | 198 | <!-- tabbar --> |
| ... | ... | @@ -209,17 +209,46 @@ |
| 209 | 209 | data() { |
| 210 | 210 | return { |
| 211 | 211 | scrollTop: 0, |
| 212 | - }; | |
| 212 | + tableList:[], | |
| 213 | + pagesize :{ | |
| 214 | + pageNumber: 1, | |
| 215 | + pageSize: 2 | |
| 216 | + } | |
| 217 | + } | |
| 213 | 218 | }, |
| 214 | 219 | onLoad() { |
| 215 | - // 检查用户是否登录 | |
| 216 | - const isLogin = uni.getStorageSync('token') || false; | |
| 217 | - if (!isLogin) { | |
| 220 | + | |
| 221 | + }, | |
| 222 | + onShow() { | |
| 223 | + let shopId = { | |
| 224 | + shopId:uni.getStorageSync('shopId') || '' | |
| 225 | + } | |
| 226 | + const isLogin = uni.getStorageSync('token'); | |
| 227 | + if (isLogin =='') { | |
| 218 | 228 | // 如果未登录,跳转到登录页面 |
| 219 | - | |
| 229 | + uni.navigateTo({ | |
| 230 | + url: '/pages/login/login' | |
| 231 | + }) | |
| 220 | 232 | }else{ |
| 221 | - this.cheng = false | |
| 222 | - } | |
| 233 | + let page={ | |
| 234 | + condition:2 | |
| 235 | + } | |
| 236 | + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => { | |
| 237 | + if(res.data.code !="20004"){ | |
| 238 | + this.shopMsg = res.data.data | |
| 239 | + this.Islogin= false | |
| 240 | + this.$http.sendRequest('/index/index', 'POST',page).then(res => { | |
| 241 | + //成功回调 | |
| 242 | + this.tongji = res.data.data | |
| 243 | + }) | |
| 244 | + }else{ | |
| 245 | + uni.navigateTo({ | |
| 246 | + url: '/pages/login/login' | |
| 247 | + }) | |
| 248 | + } | |
| 249 | + }) | |
| 250 | + } | |
| 251 | + | |
| 223 | 252 | }, |
| 224 | 253 | onReady() { |
| 225 | 254 | uni.hideTabBar(); |
| ... | ... | @@ -227,7 +256,37 @@ |
| 227 | 256 | onPageScroll(e) { |
| 228 | 257 | this.scrollTop = e.scrollTop; |
| 229 | 258 | }, |
| 259 | + mounted() { | |
| 260 | + this.getALL() | |
| 261 | + }, | |
| 230 | 262 | methods:{ |
| 263 | + getALL(){ | |
| 264 | + this.$http.sendRequest('/cereMessageNotification/queryByPage','POST',this.pagesize,1).then(res => { | |
| 265 | + this.tableList =res.data.data.content | |
| 266 | + }) | |
| 267 | + }, | |
| 268 | + toDialogue(){ | |
| 269 | + uni.navigateTo({ | |
| 270 | + url:'/pages/dialogue/dialogue' | |
| 271 | + }) | |
| 272 | + }, | |
| 273 | + toMsgList(){ | |
| 274 | + uni.navigateTo({ | |
| 275 | + url:'/pages/procedureDetail/procedureDetail' | |
| 276 | + }) | |
| 277 | + }, | |
| 278 | + formatTime(dateTimeString) { | |
| 279 | + let date = new Date(dateTimeString); | |
| 280 | + let hours = date.getHours(); | |
| 281 | + let minutes = date.getMinutes(); | |
| 282 | + let seconds = date.getSeconds(); | |
| 283 | + | |
| 284 | + hours = hours < 10 ? '0' + hours : hours; | |
| 285 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 286 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 287 | + | |
| 288 | + return hours + ':' + minutes + ':' + seconds; | |
| 289 | + }, | |
| 231 | 290 | } |
| 232 | 291 | } |
| 233 | 292 | </script> | ... | ... |
pages/my/my - 副本.vue
| ... | ... | @@ -209,7 +209,7 @@ |
| 209 | 209 | <image :src="$imgUrl('/right2.png')"></image> |
| 210 | 210 | </view> |
| 211 | 211 | </view> |
| 212 | - <view class="list" @click="handleApplySettle"> | |
| 212 | + <!-- <view class="list" @click="handleApplySettle"> | |
| 213 | 213 | <view class="icon-data"> |
| 214 | 214 | <view class="icon"> |
| 215 | 215 | <image :src="$imgUrl('/my-icon4.png')" mode=""></image> |
| ... | ... | @@ -223,7 +223,7 @@ |
| 223 | 223 | <view class="more"> |
| 224 | 224 | <image :src="$imgUrl('/right2.png')"></image> |
| 225 | 225 | </view> |
| 226 | - </view> | |
| 226 | + </view> --> | |
| 227 | 227 | </view> |
| 228 | 228 | </view> |
| 229 | 229 | <!-- tabbar --> |
| ... | ... | @@ -233,9 +233,9 @@ |
| 233 | 233 | |
| 234 | 234 | <script> |
| 235 | 235 | import tabbar from '../../components/tabbar/tabbar.vue'; |
| 236 | - import { | |
| 237 | - Encrypt | |
| 238 | - } from '../../utils/secret' | |
| 236 | + // import { | |
| 237 | + // Encrypt | |
| 238 | + // } from '../../utils/secret' | |
| 239 | 239 | export default { |
| 240 | 240 | components: { |
| 241 | 241 | tabbar, |
| ... | ... | @@ -378,38 +378,38 @@ |
| 378 | 378 | } |
| 379 | 379 | |
| 380 | 380 | }, |
| 381 | - handleApplySettle() { | |
| 382 | - const res = uni.getStorageSync('token'); | |
| 383 | - let token = Encrypt(res) | |
| 384 | - let username = this.shopMsg.shopName | |
| 385 | - let url = 'http://8.130.38.56:8027/settled-merchant' | |
| 386 | - // #ifdef H5 | |
| 387 | - console.log('h5 test') | |
| 388 | - window.location.href = url + `/#/?username=${ username }&user=${ token }` | |
| 389 | - // #endif | |
| 390 | - // #ifdef APP-PLUS | |
| 391 | - plus.runtime.openURL(url + `/#/?username=${ username }&user=${ token }`, function( | |
| 392 | - e) { | |
| 393 | - console.log(e); | |
| 394 | - }) | |
| 395 | - // #endif | |
| 396 | - // #ifdef MP-WEIXIN | |
| 397 | - uni.navigateTo({ | |
| 398 | - url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 399 | - // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 400 | - // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 401 | - // url:'../../../pages_category_page2/userModule/coupon' | |
| 402 | - }) | |
| 403 | - // #endif | |
| 404 | - // #ifdef MP-ALIPAY | |
| 405 | - uni.navigateTo({ | |
| 406 | - url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 407 | - // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 408 | - // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 409 | - // url:'../../../pages_category_page2/userModule/coupon' | |
| 410 | - }) | |
| 411 | - // #endif | |
| 412 | - }, | |
| 381 | + // handleApplySettle() { | |
| 382 | + // const res = uni.getStorageSync('token'); | |
| 383 | + // let token = Encrypt(res) | |
| 384 | + // let username = this.shopMsg.shopName | |
| 385 | + // let url = 'http://8.130.38.56:8027/settled-merchant' | |
| 386 | + // // #ifdef H5 | |
| 387 | + // console.log('h5 test') | |
| 388 | + // window.location.href = url + `/#/?username=${ username }&user=${ token }` | |
| 389 | + // // #endif | |
| 390 | + // // #ifdef APP-PLUS | |
| 391 | + // plus.runtime.openURL(url + `/#/?username=${ username }&user=${ token }`, function( | |
| 392 | + // e) { | |
| 393 | + // console.log(e); | |
| 394 | + // }) | |
| 395 | + // // #endif | |
| 396 | + // // #ifdef MP-WEIXIN | |
| 397 | + // uni.navigateTo({ | |
| 398 | + // url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 399 | + // // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 400 | + // // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 401 | + // // url:'../../../pages_category_page2/userModule/coupon' | |
| 402 | + // }) | |
| 403 | + // // #endif | |
| 404 | + // // #ifdef MP-ALIPAY | |
| 405 | + // uni.navigateTo({ | |
| 406 | + // url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 407 | + // // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 408 | + // // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 409 | + // // url:'../../../pages_category_page2/userModule/coupon' | |
| 410 | + // }) | |
| 411 | + // // #endif | |
| 412 | + // }, | |
| 413 | 413 | myMsg(){ |
| 414 | 414 | const res = uni.getStorageSync('token'); |
| 415 | 415 | if(res ==''){ | ... | ... |
pages/my/my.vue
| ... | ... | @@ -47,7 +47,7 @@ |
| 47 | 47 | <view class="service-list-list"> |
| 48 | 48 | <view class="thumb"> |
| 49 | 49 | <text v-if="Islogin">0</text> |
| 50 | - <text v-else>3</text> | |
| 50 | + <text v-else>{{wenjuanNum}}</text> | |
| 51 | 51 | </view> |
| 52 | 52 | <view class="name" @click="questionnaire"> |
| 53 | 53 | <text>我的问卷</text> |
| ... | ... | @@ -56,7 +56,7 @@ |
| 56 | 56 | <view class="service-list-list"> |
| 57 | 57 | <view class="thumb"> |
| 58 | 58 | <text v-if="Islogin">0</text> |
| 59 | - <text v-else>8</text> | |
| 59 | + <text v-else>{{activityNum}}</text> | |
| 60 | 60 | </view> |
| 61 | 61 | <view class="name" @click="myativity"> |
| 62 | 62 | <text>我的活动</text> |
| ... | ... | @@ -147,6 +147,21 @@ |
| 147 | 147 | </view> |
| 148 | 148 | <view class="data"> |
| 149 | 149 | <view class="title"> |
| 150 | + <text>申请记录</text> | |
| 151 | + </view> | |
| 152 | + </view> | |
| 153 | + </view> | |
| 154 | + <view class="more"> | |
| 155 | + <image :src="$imgUrl('/right2.png')"></image> | |
| 156 | + </view> | |
| 157 | + </view> | |
| 158 | + <view class="list" @click="toPage('/pages/serve/serve')"> | |
| 159 | + <view class="icon-data"> | |
| 160 | + <view class="icon"> | |
| 161 | + <image :src="$imgUrl('/my-icon2.png')" mode=""></image> | |
| 162 | + </view> | |
| 163 | + <view class="data"> | |
| 164 | + <view class="title"> | |
| 150 | 165 | <text>服务记录</text> |
| 151 | 166 | </view> |
| 152 | 167 | </view> |
| ... | ... | @@ -162,7 +177,7 @@ |
| 162 | 177 | </view> |
| 163 | 178 | <view class="data"> |
| 164 | 179 | <view class="title"> |
| 165 | - <text>故障报修</text> | |
| 180 | + <text>报事报修</text> | |
| 166 | 181 | </view> |
| 167 | 182 | </view> |
| 168 | 183 | </view> |
| ... | ... | @@ -185,7 +200,7 @@ |
| 185 | 200 | <image :src="$imgUrl('/right2.png')"></image> |
| 186 | 201 | </view> |
| 187 | 202 | </view> |
| 188 | - <view class="list" @click="handleApplySettle"> | |
| 203 | + <!-- <view class="list" @click="handleApplySettle"> | |
| 189 | 204 | <view class="icon-data"> |
| 190 | 205 | <view class="icon"> |
| 191 | 206 | <image :src="$imgUrl('/my-icon4.png')" mode=""></image> |
| ... | ... | @@ -199,7 +214,7 @@ |
| 199 | 214 | <view class="more"> |
| 200 | 215 | <image :src="$imgUrl('/right2.png')"></image> |
| 201 | 216 | </view> |
| 202 | - </view> | |
| 217 | + </view> --> | |
| 203 | 218 | </view> |
| 204 | 219 | </view> |
| 205 | 220 | <!-- tabbar --> |
| ... | ... | @@ -209,9 +224,9 @@ |
| 209 | 224 | |
| 210 | 225 | <script> |
| 211 | 226 | import tabbar from '../../components/tabbar/tabbar.vue'; |
| 212 | - import { | |
| 213 | - Encrypt | |
| 214 | - } from '../../utils/secret' | |
| 227 | + // import { | |
| 228 | + // Encrypt | |
| 229 | + // } from '../../utils/secret' | |
| 215 | 230 | export default { |
| 216 | 231 | components: { |
| 217 | 232 | tabbar, |
| ... | ... | @@ -227,7 +242,9 @@ |
| 227 | 242 | pageSize: 10 |
| 228 | 243 | }, |
| 229 | 244 | tuiguang:'', |
| 230 | - tongji:{} | |
| 245 | + tongji:{}, | |
| 246 | + activityNum:0, | |
| 247 | + wenjuanNum:0 | |
| 231 | 248 | }; |
| 232 | 249 | }, |
| 233 | 250 | onload(){ |
| ... | ... | @@ -238,7 +255,6 @@ |
| 238 | 255 | shopId:uni.getStorageSync('shopId') || '' |
| 239 | 256 | } |
| 240 | 257 | const isLogin = uni.getStorageSync('token'); |
| 241 | - console.log(isLogin) | |
| 242 | 258 | if (isLogin =='') { |
| 243 | 259 | // 如果未登录,跳转到登录页面 |
| 244 | 260 | uni.navigateTo({ |
| ... | ... | @@ -254,20 +270,14 @@ |
| 254 | 270 | this.Islogin= false |
| 255 | 271 | this.$http.sendRequest('/index/index', 'POST',page).then(res => { |
| 256 | 272 | //成功回调 |
| 257 | - console.log(res) | |
| 258 | - this.tongji = res.data.data | |
| 273 | + this.tongji = res.data.data | |
| 259 | 274 | }) |
| 260 | 275 | }else{ |
| 261 | 276 | uni.navigateTo({ |
| 262 | 277 | url: '/pages/login/login' |
| 263 | 278 | }) |
| 264 | 279 | } |
| 265 | - | |
| 266 | - | |
| 267 | - //成功回调 | |
| 268 | - | |
| 269 | 280 | }) |
| 270 | - | |
| 271 | 281 | } |
| 272 | 282 | |
| 273 | 283 | }, |
| ... | ... | @@ -286,8 +296,17 @@ |
| 286 | 296 | this.$http.sendRequest('/cerePromotion/queryByPage', 'POST', this.pageindex,1).then(res => { |
| 287 | 297 | //成功回调 |
| 288 | 298 | this.tuiguang = res.data.data.content.length |
| 289 | - | |
| 290 | 299 | }) |
| 300 | + this.$http.sendRequest('/cereActivityApplication/queryByPage', 'POST', this.pageindex,1).then(res => { | |
| 301 | + //成功回调 | |
| 302 | + this.activityNum = res.data.data.content.length | |
| 303 | + }) | |
| 304 | + this.$http.sendRequest('/cereQuestionnaireTable/queryByPage', 'POST', this.pageindex,1).then(res => { | |
| 305 | + //成功回调 | |
| 306 | + this.wenjuanNum = res.data.data.content.length | |
| 307 | + }) | |
| 308 | + | |
| 309 | + | |
| 291 | 310 | }, |
| 292 | 311 | toPage(url) { |
| 293 | 312 | uni.navigateTo({ url }); |
| ... | ... | @@ -357,38 +376,43 @@ |
| 357 | 376 | } |
| 358 | 377 | |
| 359 | 378 | }, |
| 360 | - handleApplySettle() { | |
| 361 | - const res = uni.getStorageSync('token'); | |
| 362 | - let token = Encrypt(res) | |
| 363 | - let username = this.shopMsg.shopName | |
| 364 | - let url = 'http://8.130.38.56:8027/settled-merchant' | |
| 365 | - // #ifdef H5 | |
| 366 | - console.log('h5 test') | |
| 367 | - window.location.href = url + `/#/?username=${ username }&user=${ token }` | |
| 368 | - // #endif | |
| 369 | - // #ifdef APP-PLUS | |
| 370 | - plus.runtime.openURL(url + `/#/?username=${ username }&user=${ token }`, function( | |
| 371 | - e) { | |
| 372 | - console.log(e); | |
| 373 | - }) | |
| 374 | - // #endif | |
| 375 | - // #ifdef MP-WEIXIN | |
| 376 | - uni.navigateTo({ | |
| 377 | - url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 378 | - // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 379 | - // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 380 | - // url:'../../../pages_category_page2/userModule/coupon' | |
| 381 | - }) | |
| 382 | - // #endif | |
| 383 | - // #ifdef MP-ALIPAY | |
| 384 | - uni.navigateTo({ | |
| 385 | - url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 386 | - // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 387 | - // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 388 | - // url:'../../../pages_category_page2/userModule/coupon' | |
| 389 | - }) | |
| 390 | - // #endif | |
| 391 | - }, | |
| 379 | + // handleApplySettle() { | |
| 380 | + // // uni.navigateTo({ | |
| 381 | + // // url: '/pages/myzili/myzili' | |
| 382 | + // // }) | |
| 383 | + // const res = uni.getStorageSync('token'); | |
| 384 | + // let token = Encrypt(res) | |
| 385 | + // let username = this.shopMsg.shopName | |
| 386 | + // // let url = 'http://8.130.38.56:8027/settled-merchant' | |
| 387 | + // let url = 'https://jy.scjysm.asia:18086/settled-merchant' | |
| 388 | + | |
| 389 | + // // #ifdef H5 | |
| 390 | + // console.log('h5 test') | |
| 391 | + // window.location.href = url + `/#/?username=${ username }&user=${ token }` | |
| 392 | + // // #endif | |
| 393 | + // // #ifdef APP-PLUS | |
| 394 | + // plus.runtime.openURL(url + `/#/?username=${ username }&user=${ token }`, function( | |
| 395 | + // e) { | |
| 396 | + // console.log(e); | |
| 397 | + // }) | |
| 398 | + // // #endif | |
| 399 | + // // #ifdef MP-WEIXIN | |
| 400 | + // uni.navigateTo({ | |
| 401 | + // url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 402 | + // // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 403 | + // // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 404 | + // // url:'../../../pages_category_page2/userModule/coupon' | |
| 405 | + // }) | |
| 406 | + // // #endif | |
| 407 | + // // #ifdef MP-ALIPAY | |
| 408 | + // uni.navigateTo({ | |
| 409 | + // url: `../linkOthers/index?url=${ url }&username=${ username }&user=${ token }` | |
| 410 | + // // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址 | |
| 411 | + // // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url) | |
| 412 | + // // url:'../../../pages_category_page2/userModule/coupon' | |
| 413 | + // }) | |
| 414 | + // // #endif | |
| 415 | + // }, | |
| 392 | 416 | myMsg(){ |
| 393 | 417 | const res = uni.getStorageSync('token'); |
| 394 | 418 | if(res ==''){ | ... | ... |
pages/mycreated/mycreated.vue
| ... | ... | @@ -13,33 +13,34 @@ |
| 13 | 13 | <view class="goods-list"> |
| 14 | 14 | <view class="good-item" v-for="(v, i) in datalist" :key="i"> |
| 15 | 15 | <view class="body"> |
| 16 | - <image :src="$imgUrl('/img/2.jpg')" ></image> | |
| 16 | + <image :src="v.coverImage" ></image> | |
| 17 | 17 | <view class="info"> |
| 18 | - <view class="title">绿道好物节</view> | |
| 18 | + <view class="title">{{v.activityName}}</view> | |
| 19 | 19 | <view class="info-items"> |
| 20 | 20 | <view class="info-item"> |
| 21 | 21 | <view class="label">活动时间:</view> |
| 22 | - <text>2024.10.20</text> | |
| 22 | + <text>{{v.startTime}}</text> | |
| 23 | 23 | </view> |
| 24 | 24 | <view class="info-item"> |
| 25 | 25 | <view class="label">参与商家:</view> |
| 26 | - <text>6人</text> | |
| 26 | + <text>{{v.maxParticipants}}人</text> | |
| 27 | 27 | </view> |
| 28 | 28 | <view class="info-item"> |
| 29 | 29 | <view class="label">活动状态:</view> |
| 30 | - <text>待审核</text> | |
| 30 | + <text>{{v.auditStatus =='1'?'待提交':v.auditStatus =='2'?'待审核':v.auditStatus =='3'?'审核通过':v.auditStatus =='4'?'审核驳回':''}}</text> | |
| 31 | 31 | </view> |
| 32 | 32 | </view> |
| 33 | 33 | </view> |
| 34 | 34 | </view> |
| 35 | 35 | <view class="footer"> |
| 36 | - <u-button type="primary" size="mini">编辑</u-button> | |
| 37 | - <u-button type="success" size="mini">提交审核</u-button> | |
| 38 | - <u-button type="success" size="mini">查看详情</u-button> | |
| 39 | - <u-button type="info" size="mini">撤回</u-button> | |
| 36 | + <!-- <u-button type="primary" size="mini" v-if="v.auditStatus == '1'">编辑</u-button> --> | |
| 37 | + <u-button type="success" size="mini" @click="tijiao('2',v.id)" v-if="v.auditStatus == '1'" style="margin-right: 22rpx;">提交审核</u-button> | |
| 38 | + <u-button type="success" size="mini" @click="toDetail(v.id, '/pages/activityDetail/activityDetail')" style="margin-right: 22rpx;">查看详情</u-button> | |
| 39 | + <u-button type="info" size="mini" @click="tijiao('1',v.id)" v-if="v.auditStatus == '2'" style="margin-right: 22rpx;">撤回</u-button> | |
| 40 | + <u-button type="info" size="mini" @click="delact(v.id)" v-if="v.auditStatus == '1'" style="margin-right: 22rpx;">删除</u-button> | |
| 40 | 41 | </view> |
| 41 | 42 | </view> |
| 42 | - <u-loadmore :status="statuslist" @loadmore='loading' style="width: 100%; text-align: center;"/> | |
| 43 | + <!-- <u-loadmore :status="statuslist" @loadmore='loading' style="width: 100%; text-align: center;"/> --> | |
| 43 | 44 | </view> |
| 44 | 45 | </view> |
| 45 | 46 | <view style="height: 120rpx;"></view> |
| ... | ... | @@ -63,7 +64,7 @@ |
| 63 | 64 | { name: '已结束' }, |
| 64 | 65 | ], |
| 65 | 66 | current: 0, |
| 66 | - datalist: [{}], | |
| 67 | + datalist: [], | |
| 67 | 68 | total: 2, |
| 68 | 69 | statuslist: 'loadmore', |
| 69 | 70 | query: { |
| ... | ... | @@ -73,44 +74,74 @@ |
| 73 | 74 | }, |
| 74 | 75 | listIn:0, |
| 75 | 76 | num:0, |
| 76 | - | |
| 77 | + pageIndex :{ | |
| 78 | + pageNumber: 1, | |
| 79 | + pageSize: 10, | |
| 80 | + createUser:uni.getStorageSync('shopId') | |
| 81 | + } | |
| 77 | 82 | }; |
| 78 | 83 | }, |
| 79 | 84 | onLoad(option) { |
| 80 | - console.log(option.id); | |
| 81 | 85 | this.num = option.id; |
| 82 | 86 | this.statuslist = 'nomore'; |
| 83 | 87 | }, |
| 84 | - onPullDownRefresh(e) { | |
| 85 | - let that = this | |
| 86 | - that.statuslist = 'loading'; | |
| 87 | - this.page = 0; | |
| 88 | - setTimeout(() => { | |
| 89 | - that.datalist = [{}]; | |
| 90 | - that.statuslist = that.datalist.length >= that.total ? 'nomore' : 'loadmore'; | |
| 91 | - uni.stopPullDownRefresh(); | |
| 92 | - }, 1000); | |
| 93 | - }, | |
| 88 | + | |
| 89 | + // onPullDownRefresh(e) { | |
| 90 | + // let that = this | |
| 91 | + // that.statuslist = 'loading'; | |
| 92 | + // this.page = 0; | |
| 93 | + // setTimeout(() => { | |
| 94 | + // that.datalist = [{}]; | |
| 95 | + // that.statuslist = that.datalist.length >= that.total ? 'nomore' : 'loadmore'; | |
| 96 | + // uni.stopPullDownRefresh(); | |
| 97 | + // }, 1000); | |
| 98 | + // }, | |
| 94 | 99 | onReachBottom(e) { |
| 95 | 100 | // this.loading(); |
| 96 | 101 | }, |
| 102 | + mounted() { | |
| 103 | + this.getAll() | |
| 104 | + }, | |
| 97 | 105 | methods: { |
| 106 | + toDetail(item, path) { | |
| 107 | + uni.navigateTo({ | |
| 108 | + url: `${path}?item=${item}` | |
| 109 | + }) | |
| 110 | + | |
| 111 | + }, | |
| 98 | 112 | tabsChange(val) { |
| 99 | - this.current = val; | |
| 113 | + this.current = val | |
| 114 | + | |
| 115 | + if(val == 0){ | |
| 116 | + this.getAll() | |
| 117 | + }else{ | |
| 118 | + this.getAll(val ) | |
| 119 | + } | |
| 100 | 120 | }, |
| 101 | - search() {}, | |
| 102 | - loading() { | |
| 103 | - let that = this | |
| 104 | - if(that.statuslist == 'nomore') return; | |
| 105 | - that.statuslist = 'loading'; | |
| 106 | - that.query.pageNum = ++that.query.pageNum; | |
| 107 | - setTimeout(() => { | |
| 108 | - let data = [{}, {}]; | |
| 109 | - that.datalist = [...that.datalist, ...data]; | |
| 110 | - console.log(that.datalist); | |
| 111 | - that.statuslist = that.datalist.length >= that.total ? 'nomore' : 'loadmore'; | |
| 112 | - }, 300) | |
| 121 | + getAll(val){ | |
| 122 | + if(val !=0){ | |
| 123 | + this.pageIndex.auditStatus = val | |
| 124 | + } | |
| 125 | + this.$http.sendRequest('/cereActivityApplication/queryByPage', 'POST',this.pageIndex,1).then(res => { | |
| 126 | + this.datalist = res.data.data.content | |
| 127 | + }).catch(err => { | |
| 128 | + console.log(err) | |
| 129 | + //请求失败 | |
| 130 | + }) | |
| 113 | 131 | }, |
| 132 | + search() {}, | |
| 133 | + // loading() { | |
| 134 | + // let that = this | |
| 135 | + // if(that.statuslist == 'nomore') return; | |
| 136 | + // that.statuslist = 'loading'; | |
| 137 | + // that.query.pageNum = ++that.query.pageNum; | |
| 138 | + // setTimeout(() => { | |
| 139 | + // let data = [{}, {}]; | |
| 140 | + // that.datalist = [...that.datalist, ...data]; | |
| 141 | + // console.log(that.datalist); | |
| 142 | + // that.statuslist = that.datalist.length >= that.total ? 'nomore' : 'loadmore'; | |
| 143 | + // }, 300) | |
| 144 | + // }, | |
| 114 | 145 | sel(val){ |
| 115 | 146 | this.listIn = val |
| 116 | 147 | }, |
| ... | ... | @@ -121,7 +152,32 @@ |
| 121 | 152 | uni.navigateTo({ |
| 122 | 153 | url: '/pages/activityAdd/activityAdd' |
| 123 | 154 | }) |
| 155 | + }, | |
| 156 | + tijiao(val,ids){ | |
| 157 | + let pageIndex = { | |
| 158 | + id:ids, | |
| 159 | + auditStatus:val | |
| 124 | 160 | } |
| 161 | + this.$http.sendRequest('/cereActivityApplication/edit', 'POST',pageIndex,1).then(res => { | |
| 162 | + this.current = 0 | |
| 163 | + this.getAll() | |
| 164 | + }).catch(err => { | |
| 165 | + console.log(err) | |
| 166 | + //请求失败 | |
| 167 | + }) | |
| 168 | + }, | |
| 169 | + delact(ids){ | |
| 170 | + let padge = { | |
| 171 | + id:ids | |
| 172 | + } | |
| 173 | + this.$http.sendRequest('/cereActivityApplication/deleteById', 'POST',padge,1).then(res => { | |
| 174 | + this.current = 0 | |
| 175 | + this.getAll() | |
| 176 | + }).catch(err => { | |
| 177 | + console.log(err) | |
| 178 | + //请求失败 | |
| 179 | + }) | |
| 180 | + }, | |
| 125 | 181 | } |
| 126 | 182 | } |
| 127 | 183 | </script> | ... | ... |
pages/participation/participation.scss
| ... | ... | @@ -165,3 +165,11 @@ |
| 165 | 165 | } |
| 166 | 166 | } |
| 167 | 167 | } |
| 168 | +.huo-card-item{ | |
| 169 | + font-size: 20rpx; | |
| 170 | + line-height: 1.5; | |
| 171 | + white-space: nowrap; /* 防止文本换行 */ | |
| 172 | + text-overflow: ellipsis; /* 显示省略号 */ | |
| 173 | + /* 如果需要设置宽度,可以添加 width 属性 */ | |
| 174 | + overflow:hidden; | |
| 175 | + } | |
| 168 | 176 | \ No newline at end of file | ... | ... |
pages/participation/participation.vue
| 1 | 1 | <template> |
| 2 | 2 | <!-- 活动参与 --> |
| 3 | 3 | <view class="page"> |
| 4 | - <view class="more page-box"> | |
| 5 | - <u-section :bold="false" title="我的活动申请" sub-title='' :show-line="false" color="#0FBB59" @click="toMyAdd"> | |
| 4 | + <view class="more page-box" @click="toMyAdd"> | |
| 5 | + <u-section :bold="false" title="我的活动申请" sub-title='' :show-line="false" color="#0FBB59" > | |
| 6 | 6 | <view slot="right"> |
| 7 | 7 | <u-icon name="arrow-rightward" color="#0FBB59" size="28"></u-icon> |
| 8 | 8 | </view> |
| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | </view> |
| 11 | 11 | <!-- 搜索 --> |
| 12 | 12 | <view class="head-search"> |
| 13 | - <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search> | |
| 13 | + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.activityName" :show-action="false" @search="search"></u-search> | |
| 14 | 14 | <u-button type="success" @click="search">搜索</u-button> |
| 15 | 15 | </view> |
| 16 | 16 | <view class="screen-list"> |
| ... | ... | @@ -22,12 +22,13 @@ |
| 22 | 22 | <!-- 订单列表 --> |
| 23 | 23 | <view class="goods-data"> |
| 24 | 24 | <u-row gutter="16" class="goods-list"> |
| 25 | - <u-col span="6" v-for="(item,index) in list" :key="index"> | |
| 25 | + <u-col span="6" v-for="(item,index) in datalist" :key="index" @click="toDetail(item.id, '/pages/activityDetail/activityDetail')" > | |
| 26 | 26 | <view class="demo-layout good-item"> |
| 27 | - <image :src="$imgUrl('/img/2.jpg')" style="width: 315rpx; height: 315rpx; border-radius: 10rpx;"></image> | |
| 27 | + <image :src="item.coverImage" style="width: 315rpx; height: 315rpx; border-radius: 10rpx;"></image> | |
| 28 | 28 | <view class="info"> |
| 29 | - <view class="title">绿道好物节</view> | |
| 30 | - <view class="name">绿道好物节</view> | |
| 29 | + <view class="title">{{item.activityName}}</view> | |
| 30 | + <view class="huo-card-item">活动日期:<span>{{item.startTime}}至{{item.endTime}}</span></view> | |
| 31 | + <view class="huo-card-item">参与人数:<span>{{item.maxParticipants}}</span></view> | |
| 31 | 32 | <u-tag text="进行中" type="success" mode="dark" /> |
| 32 | 33 | </view> |
| 33 | 34 | </view> |
| ... | ... | @@ -47,13 +48,13 @@ |
| 47 | 48 | data() { |
| 48 | 49 | return { |
| 49 | 50 | status: 'loadmore', |
| 50 | - list: 1, | |
| 51 | + datalist: [], | |
| 51 | 52 | total: 1, |
| 52 | 53 | query: { |
| 53 | - keyword: '', // 搜索项 | |
| 54 | + activityName: '', // 搜索项 | |
| 54 | 55 | sortType: '', // 排序方式 |
| 55 | 56 | status: '', // 活动状态 |
| 56 | - pageNum: 0, | |
| 57 | + pageNumber: 1, | |
| 57 | 58 | pageSize: 10, |
| 58 | 59 | }, |
| 59 | 60 | sortTypeOptions: [ |
| ... | ... | @@ -66,7 +67,11 @@ |
| 66 | 67 | { label: '已结束', value: 2 }, |
| 67 | 68 | { label: '未开始', value: 3 }, |
| 68 | 69 | ], |
| 69 | - }; | |
| 70 | + pageIndex :{ | |
| 71 | + pageNumber: 1, | |
| 72 | + pageSize: 10, | |
| 73 | + } | |
| 74 | + } | |
| 70 | 75 | }, |
| 71 | 76 | onLoad() { |
| 72 | 77 | this.status = 'nomore'; |
| ... | ... | @@ -84,7 +89,19 @@ |
| 84 | 89 | onReachBottom(e) { |
| 85 | 90 | this.loading(); |
| 86 | 91 | }, |
| 92 | + mounted() { | |
| 93 | + this.getAll() | |
| 94 | + }, | |
| 87 | 95 | methods: { |
| 96 | + getAll(val){ | |
| 97 | + this.pageIndex.createUser =uni.getStorageSync('shopId') | |
| 98 | + this.$http.sendRequest('/cereActivityApplication/queryByPage', 'POST',this.pageIndex,1).then(res => { | |
| 99 | + this.datalist = res.data.data.content | |
| 100 | + }).catch(err => { | |
| 101 | + console.log(err) | |
| 102 | + //请求失败 | |
| 103 | + }) | |
| 104 | + }, | |
| 88 | 105 | toMyAdd() { |
| 89 | 106 | // 跳转我的活动申请 |
| 90 | 107 | uni.navigateTo({ |
| ... | ... | @@ -92,8 +109,18 @@ |
| 92 | 109 | }) |
| 93 | 110 | }, |
| 94 | 111 | search() { |
| 95 | - // 搜索 | |
| 96 | - // this.loading(); | |
| 112 | + this.query.createUser =uni.getStorageSync('shopId') | |
| 113 | + this.$http.sendRequest('/cereActivityApplication/queryByPage', 'POST',this.query,1).then(res => { | |
| 114 | + this.datalist = res.data.data.content | |
| 115 | + this.query ={ | |
| 116 | + activityName: '', // 搜索项 | |
| 117 | + sortType: '', // 排序方式 | |
| 118 | + status: '', // 活动状态 | |
| 119 | + pageNumber: 1, | |
| 120 | + pageSize: 10, | |
| 121 | + | |
| 122 | + } | |
| 123 | + }) | |
| 97 | 124 | }, |
| 98 | 125 | loading() { |
| 99 | 126 | let that = this |
| ... | ... | @@ -111,10 +138,17 @@ |
| 111 | 138 | }) |
| 112 | 139 | }, |
| 113 | 140 | toAdd() { |
| 114 | - uni.navigateTo({ | |
| 141 | + uni.navigateTo({ | |
| 115 | 142 | url: '/pages/activityAdd/activityAdd' |
| 116 | 143 | }) |
| 117 | - } | |
| 144 | + }, | |
| 145 | + toDetail(item, path) { | |
| 146 | + | |
| 147 | + uni.navigateTo({ | |
| 148 | + url: `${path}?item=${item}` | |
| 149 | + }) | |
| 150 | + | |
| 151 | + }, | |
| 118 | 152 | } |
| 119 | 153 | } |
| 120 | 154 | </script> | ... | ... |
pages/procedureDetail/procedureDetail.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="pages"> | |
| 3 | + <view class="contents"> | |
| 4 | + <view class="box" v-for="(item,index) in tableList"> | |
| 5 | + <view class="title"> | |
| 6 | + {{item.title}} | |
| 7 | + </view> | |
| 8 | + <view class="time"> | |
| 9 | + {{item.createdAt}} | |
| 10 | + </view> | |
| 11 | + <view class="desc"> | |
| 12 | + <!-- <u-parse :html="item.announcementContent"></u-parse> --> | |
| 13 | + <view> | |
| 14 | + {{item.content}} | |
| 15 | + </view> | |
| 16 | + </view> | |
| 17 | + </view> | |
| 18 | + </view> | |
| 19 | + </view> | |
| 20 | +</template> | |
| 21 | + | |
| 22 | +<script> | |
| 23 | + export default { | |
| 24 | + data() { | |
| 25 | + return { | |
| 26 | +tableList:[], | |
| 27 | +pageindex: { | |
| 28 | + pageNumber: 1, | |
| 29 | + pageSize: 10, | |
| 30 | + }, | |
| 31 | + } | |
| 32 | + }, | |
| 33 | + onLoad(option){ | |
| 34 | + | |
| 35 | + // this.tableList = JSON.parse(option.item) | |
| 36 | + }, | |
| 37 | + mounted() { | |
| 38 | + this.getALL() | |
| 39 | + }, | |
| 40 | + methods: { | |
| 41 | +getALL(){ | |
| 42 | + this.$http.sendRequest('/cereMessageNotification/queryByPage', 'POST', this.pageindex,1).then(res => { | |
| 43 | + this.tableList =res.data.data.content | |
| 44 | + }) | |
| 45 | + }, | |
| 46 | + } | |
| 47 | + } | |
| 48 | +</script> | |
| 49 | + | |
| 50 | +<style lang="scss" scoped> | |
| 51 | + .pages { | |
| 52 | + width: 100vw; | |
| 53 | + height: 100%; | |
| 54 | + position: relative; | |
| 55 | + overflow-y: auto; | |
| 56 | + background-color: #f6f6f6; | |
| 57 | + | |
| 58 | + .contents { | |
| 59 | + width: 96%; | |
| 60 | + margin: 0 auto; | |
| 61 | + border-radius: 20rpx; | |
| 62 | + background-color: #fff; | |
| 63 | + margin-top: 20rpx; | |
| 64 | + | |
| 65 | + .box { | |
| 66 | + width: 94%; | |
| 67 | + margin: 0 auto; | |
| 68 | + padding: 28rpx 0; | |
| 69 | + | |
| 70 | + .title{ | |
| 71 | + font-size: 30rpx; | |
| 72 | + font-weight: bold; | |
| 73 | + } | |
| 74 | + .time{ | |
| 75 | + margin: 20rpx 0; | |
| 76 | + color: #888D9C; | |
| 77 | + font-size: 24rpx; | |
| 78 | + } | |
| 79 | + .desc{ | |
| 80 | + color: #888D9C; | |
| 81 | + font-size: 24rpx; | |
| 82 | + text-align: justify; | |
| 83 | + } | |
| 84 | + } | |
| 85 | + } | |
| 86 | + } | |
| 87 | +</style> | |
| 0 | 88 | \ No newline at end of file | ... | ... |
pages/propertyPay/propertyPayList/propertyPayList.vue
| ... | ... | @@ -7,7 +7,7 @@ |
| 7 | 7 | </view> |
| 8 | 8 | <view class="search-total"> |
| 9 | 9 | <view class="left"> |
| 10 | - <text class="price-total"><u-icon name="rmb" style="font-size: 24rpx;" />800.00</text> | |
| 10 | + <text class="price-total"><u-icon name="rmb" style="font-size: 24rpx;" />100.00</text> | |
| 11 | 11 | <text>(含代缴费)</text> |
| 12 | 12 | </view> |
| 13 | 13 | <div class="right" @click='toDetail'> |
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | <image :src="$imgUrl('/img/2.jpg')"></image> |
| 28 | 28 | </view> |
| 29 | 29 | <view class="info-items"> |
| 30 | - <view class="info-title">{{item.name}}:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />300.00</text></view> | |
| 30 | + <view class="info-title">{{item.name}}:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />100.00</text></view> | |
| 31 | 31 | <view class="info-item"> |
| 32 | 32 | <text>单价:¥15</text> |
| 33 | 33 | <text>费率:100%</text> |
| ... | ... | @@ -47,7 +47,7 @@ |
| 47 | 47 | </view> |
| 48 | 48 | </view> |
| 49 | 49 | <view class=""> |
| 50 | - <text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />300.00</text> | |
| 50 | + <text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />20.00</text> | |
| 51 | 51 | </view> |
| 52 | 52 | </view> |
| 53 | 53 | </u-checkbox-group> |
| ... | ... | @@ -58,12 +58,49 @@ |
| 58 | 58 | <view class="footer-buy"> |
| 59 | 59 | <u-radio shape="circle">全选</u-radio> |
| 60 | 60 | <view class=""> |
| 61 | - 合计:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />300.00</text> | |
| 61 | + 合计:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />100.00</text> | |
| 62 | 62 | </view> |
| 63 | - <u-button type="success" style="margin: 0 10rpx;">去支付</u-button> | |
| 63 | + <u-button type="success" style="margin: 0 10rpx;" @click="joinShow = true">去支付</u-button> | |
| 64 | 64 | </view> |
| 65 | 65 | </view> |
| 66 | + <u-popup class="userForm" v-model="joinShow" mode="center" :closeable="true" width="80%" > | |
| 67 | + <u-form class="form-box" ref="uForm" :label-width="120" > | |
| 68 | + <view style="padding: 30rpx;"> | |
| 69 | + <view class="title">请选择支付方式</view> | |
| 70 | + <u-radio-group v-model="fangshi" @change="radioGroupChange" :wrap="true"> | |
| 71 | + <u-radio | |
| 72 | + @change="radioChange" | |
| 73 | + v-for="(item, index) in list" :key="index" | |
| 74 | + :name="item.name" | |
| 75 | + :disabled="item.disabled" | |
| 76 | + style="padding: 5px 0;" | |
| 77 | + > | |
| 78 | + {{item.name}} | |
| 79 | + </u-radio> | |
| 80 | + </u-radio-group> | |
| 81 | + <view class="" v-if="fangshi == 'H5支付'"> | |
| 82 | + | |
| 83 | + </view> | |
| 84 | + <view class="" v-else> | |
| 85 | + <image :src="$imgUrl('/erwm.jpg')" mode="widthFix"style="width: 80%;"/> | |
| 86 | + | |
| 87 | + | |
| 88 | + </view> | |
| 89 | + <!-- <u-form-item label="微信小程序支付"> | |
| 90 | + | |
| 91 | + </u-form-item> | |
| 92 | + <u-form-item label="付款码扫码支付"></u-form-item> --> | |
| 93 | + <u-button type="success" @click="submit">提交</u-button> | |
| 94 | + | |
| 95 | + </view> | |
| 96 | + | |
| 97 | + </u-form> | |
| 98 | + | |
| 99 | + </u-popup> | |
| 100 | + | |
| 101 | + <!-- <u-loading :show="true" size="60" style="position: absolute; top:80%;left: ;" color="red"></u-loading> --> | |
| 66 | 102 | </view> |
| 103 | + | |
| 67 | 104 | </template> |
| 68 | 105 | |
| 69 | 106 | <script> |
| ... | ... | @@ -71,6 +108,7 @@ |
| 71 | 108 | data() { |
| 72 | 109 | return { |
| 73 | 110 | show: false, |
| 111 | + joinShow: false, | |
| 74 | 112 | value: '', |
| 75 | 113 | list: [{ value: '1', label: '大兴鸡排(A2144' }, { value: '2', label: '湖' }], |
| 76 | 114 | checked: [], |
| ... | ... | @@ -116,8 +154,52 @@ |
| 116 | 154 | showItem: false, |
| 117 | 155 | }, |
| 118 | 156 | ], |
| 157 | + list: [ | |
| 158 | + { | |
| 159 | + name: 'H5支付', | |
| 160 | + disabled: false | |
| 161 | + }, | |
| 162 | + // { | |
| 163 | + // name: '付款码扫码支付', | |
| 164 | + // disabled: false | |
| 165 | + // } | |
| 166 | + ], | |
| 167 | + fangshi:'H5支付', | |
| 168 | + loadShow:false, | |
| 169 | + | |
| 119 | 170 | }; |
| 120 | 171 | }, |
| 172 | + onShow() { | |
| 173 | + let shopId = { | |
| 174 | + shopId:uni.getStorageSync('shopId') || '' | |
| 175 | + } | |
| 176 | + const isLogin = uni.getStorageSync('token'); | |
| 177 | + if (isLogin =='') { | |
| 178 | + // 如果未登录,跳转到登录页面 | |
| 179 | + uni.navigateTo({ | |
| 180 | + url: '/pages/login/login' | |
| 181 | + }) | |
| 182 | + }else{ | |
| 183 | + let page={ | |
| 184 | + condition:2 | |
| 185 | + } | |
| 186 | + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => { | |
| 187 | + if(res.data.code !="20004"){ | |
| 188 | + this.shopMsg = res.data.data | |
| 189 | + this.Islogin= false | |
| 190 | + this.$http.sendRequest('/index/index', 'POST',page).then(res => { | |
| 191 | + //成功回调 | |
| 192 | + this.tongji = res.data.data | |
| 193 | + }) | |
| 194 | + }else{ | |
| 195 | + uni.navigateTo({ | |
| 196 | + url: '/pages/login/login' | |
| 197 | + }) | |
| 198 | + } | |
| 199 | + }) | |
| 200 | + } | |
| 201 | + | |
| 202 | + }, | |
| 121 | 203 | methods: { |
| 122 | 204 | recordXq(item){ |
| 123 | 205 | const encodedItem = encodeURIComponent(JSON.stringify(item)); |
| ... | ... | @@ -134,7 +216,80 @@ |
| 134 | 216 | // uni.navigateTo({ |
| 135 | 217 | |
| 136 | 218 | // }) |
| 137 | - } | |
| 219 | + }, | |
| 220 | + submit(){ | |
| 221 | + | |
| 222 | + // this.loadShow = true | |
| 223 | + // setTimeout(()=>{ | |
| 224 | + // this.loadShow = false | |
| 225 | + // },2000) | |
| 226 | + if(this.fangshi =='付款码扫码支付'){ | |
| 227 | + this.joinShow = false | |
| 228 | + | |
| 229 | + }else{ | |
| 230 | + let payList ={ | |
| 231 | + additional: "附加交易授权", | |
| 232 | + backUrl: "", | |
| 233 | + channelId: "", | |
| 234 | + expireTime: 1800, | |
| 235 | + finishUrl: "", | |
| 236 | + latitude: "1", | |
| 237 | + longitude: "1", | |
| 238 | + orderNo: "", | |
| 239 | + payId: "", | |
| 240 | + payMerData: [ | |
| 241 | + { | |
| 242 | + amount: 1, | |
| 243 | + body: "物业缴费", | |
| 244 | + } | |
| 245 | + ], | |
| 246 | + payType: "Online", | |
| 247 | + returnUrl: "", | |
| 248 | + showBtn: "1", | |
| 249 | + siteId: "", | |
| 250 | + toApp: "0", | |
| 251 | + totalAmount: 1, | |
| 252 | + uid: "1693617316237021185", | |
| 253 | + universalLink: "" | |
| 254 | + } | |
| 255 | + const randomNumber = Math.floor(Math.random() * 10000); // 生成一个0到9999之间的随机数 | |
| 256 | + const timestamp = new Date().getTime(); // 获取当前时间的时间戳 | |
| 257 | + payList.orderNo = `${randomNumber}${timestamp}` | |
| 258 | + | |
| 259 | + payList.uid =uni.getStorageSync('shopId') | |
| 260 | + this.$http.sendRequest('/aggregationPayment/createOrder', 'POST', payList,1).then(res => { | |
| 261 | + console.log(JSON.parse(res.data.data).data.codeUrl) | |
| 262 | + let url = JSON.parse(res.data.data).data.codeUrl | |
| 263 | + | |
| 264 | + // window.location.href = url | |
| 265 | + // plus.runtime.openURL(url , function(e) {console.log(e)}) | |
| 266 | + uni.showModal({ | |
| 267 | + title: res.data.message, | |
| 268 | + showCancel:false, | |
| 269 | + success:ress => { | |
| 270 | + uni.switchTab({ | |
| 271 | + url: '/pages/home/home' | |
| 272 | + }) | |
| 273 | + } | |
| 274 | + }) | |
| 275 | + }) | |
| 276 | + | |
| 277 | + this.joinShow = false | |
| 278 | + // uni.showModal({ | |
| 279 | + // title: '支付成功 ', | |
| 280 | + // showCancel:false, | |
| 281 | + // success:ress => { | |
| 282 | + // uni.switchTab({ | |
| 283 | + // url: '/pages/home/home' | |
| 284 | + // }) | |
| 285 | + // } | |
| 286 | + // }) | |
| 287 | + } | |
| 288 | + | |
| 289 | + }, | |
| 290 | + radioGroupChange(e) { | |
| 291 | + this.fangshi = e | |
| 292 | + } | |
| 138 | 293 | } |
| 139 | 294 | } |
| 140 | 295 | </script> | ... | ... |
pages/questionnaire/questDetail/questDetail.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="" style="padding: 20rpx 40rpx; background-color: #fff;"> | |
| 3 | + <view class="" v-for="(val,index) in tableList.cereQuestionManagements" style="padding: 10rpx;" v-if="tableList.cereQuestionManagements"> | |
| 4 | + <view class="" style="font-size: 20px;margin-bottom: 5px;"> | |
| 5 | + <span style="margin-right: 10px;">{{index + 1}}.</span> {{val.tikuTitle}} | |
| 6 | + </view> | |
| 7 | + <u-radio-group class="radio-box" v-model="selectedOption" :wrap="true" v-if="val.questionType == '单选'"> | |
| 8 | + <u-radio shape="circle" v-for="(value, key, ind) in val.optionSettings" :key="ind" :label="value" style="padding: 3px 0;" disabled>{{ value }}</u-radio> | |
| 9 | + </u-radio-group> | |
| 10 | + <u-checkbox-group v-model="cheOption" :wrap="true" v-if="val.questionType == '多选'"> | |
| 11 | + <u-checkbox | |
| 12 | + v-for="(value, key, ex) in val.optionSettings" :key="ex" :label="value" style="padding: 3px 0;" disabled | |
| 13 | + >{{value}}</u-checkbox> | |
| 14 | + </u-checkbox-group> | |
| 15 | + </view> | |
| 16 | + <view class="" v-for="(val,index) in tableList.msg" style="padding: 10rpx;" v-if="tableList.msg"> | |
| 17 | + <view class="" style="font-size: 20px;margin-bottom: 5px;"> | |
| 18 | + <span style="margin-right: 10px;">{{index + 1}}.</span> {{val.tikuTitle}} | |
| 19 | + </view> | |
| 20 | + <u-radio-group class="radio-box" v-model="selectedOption" :wrap="true" v-if="val.questionType == '单选'"> | |
| 21 | + <u-radio shape="circle" v-for="(value, key, ind) in val.optionSettings" :key="ind" :label="value" style="padding: 3px 0;" disabled>{{ value }}</u-radio> | |
| 22 | + </u-radio-group> | |
| 23 | + <u-checkbox-group v-model="cheOption" :wrap="true" v-if="val.questionType == '多选'"> | |
| 24 | + <u-checkbox | |
| 25 | + v-for="(value, key, ex) in val.optionSettings" :key="ex" :label="value" style="padding: 3px 0;" disabled | |
| 26 | + >{{value}}</u-checkbox> | |
| 27 | + </u-checkbox-group> | |
| 28 | + </view> | |
| 29 | + </view> | |
| 30 | +</template> | |
| 31 | + | |
| 32 | +<script> | |
| 33 | + export default { | |
| 34 | + data() { | |
| 35 | + return { | |
| 36 | + cheOption:null, | |
| 37 | + selectedOption:null, | |
| 38 | + tableList:{ | |
| 39 | + | |
| 40 | + } | |
| 41 | + }; | |
| 42 | + }, | |
| 43 | + onLoad(option) { | |
| 44 | + this.tableList = JSON.parse(option.detail) | |
| 45 | + if(this.tableList.cereQuestionManagements){ | |
| 46 | + if(this.tableList.cereQuestionManagements.length >0){ | |
| 47 | + this.tableList.cereQuestionManagements.map(item=>{ | |
| 48 | + item.optionSettings = JSON.parse(item.optionSettings) | |
| 49 | + if (Object.keys(item.optionSettings).length > 0) { | |
| 50 | + this.selectedOption = Object.keys(item.optionSettings)[0]; | |
| 51 | + } | |
| 52 | + }) | |
| 53 | + } | |
| 54 | + }else{ | |
| 55 | + console.log(JSON.parse(this.tableList)) | |
| 56 | + | |
| 57 | + this.tableList = JSON.parse(this.tableList) | |
| 58 | + // this.items.map(tem=>{ | |
| 59 | + // tem.optionSettings = `{${tem.optionSettings.map(item => `"ules":"${item.ules}"`).join(',')}}` | |
| 60 | + | |
| 61 | + // }) | |
| 62 | + this.tableList.msg.map(item=>{ | |
| 63 | + item.optionSettings = `{${item.optionSettings.map(val => `"ules":"${val.ules}"`).join(',')}}` | |
| 64 | + item.optionSettings = JSON.parse(item.optionSettings) | |
| 65 | + if (Object.keys(item.optionSettings).length > 0) { | |
| 66 | + this.selectedOption = Object.keys(item.optionSettings)[0]; | |
| 67 | + } | |
| 68 | + }) | |
| 69 | + } | |
| 70 | + | |
| 71 | + | |
| 72 | + }, | |
| 73 | + mounted() { | |
| 74 | + | |
| 75 | + }, | |
| 76 | + methods:{ | |
| 77 | + | |
| 78 | + } | |
| 79 | + } | |
| 80 | +</script> | |
| 81 | + | |
| 82 | +<style> | |
| 83 | + | |
| 84 | +</style> | |
| 0 | 85 | \ No newline at end of file | ... | ... |
pages/questionnaire/questionnaire.vue
| 1 | 1 | <template> |
| 2 | 2 | <view class="page"> |
| 3 | 3 | <view class="head-search"> |
| 4 | - <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.keyword" :show-action="false" @search="search"></u-search> | |
| 4 | + <u-search bg-color="#fff" placeholder="请输入关键词" v-model="query.title" :show-action="false" @search="search"></u-search> | |
| 5 | 5 | <u-button type="success" @click="search">搜索</u-button> |
| 6 | 6 | </view> |
| 7 | 7 | <view class="screen-list"> |
| 8 | 8 | <view class="list" @click="show = true"> |
| 9 | 9 | <text>问卷类型</text> |
| 10 | 10 | <image :src="$imgUrl('/down.png')"></image> |
| 11 | - <u-select v-model="show" :list="areList" @confirm="(v) => {queryChange('type', v)}"></u-select> | |
| 11 | + <u-select v-model="show" :list="areList" @confirm="(v) => {queryChange('questionnaireType', v)}"></u-select> | |
| 12 | 12 | </view> |
| 13 | - <view class="list" @click="setList(1)"> | |
| 13 | + <!-- <view class="list" @click="setList(1)"> | |
| 14 | 14 | <text>最新发布</text> |
| 15 | 15 | <image :src="$imgUrl('/down.png')"></image> |
| 16 | - </view> | |
| 16 | + </view> --> | |
| 17 | 17 | </view> |
| 18 | 18 | |
| 19 | 19 | <view class="list-scorll"> |
| 20 | - <view class='listbox' v-for="(item,index) in tableData"> | |
| 20 | + <view class='listbox' v-for="(item,index) in tableData" @click="go(`/pages/questionnaire/questDetail/questDetail?detail=${JSON.stringify(item)}`)"> | |
| 21 | 21 | <view class="img"> |
| 22 | - <image :src="$imgUrl('/img/2.jpg')"></image> | |
| 22 | + <image :src="item.coverImage"></image> | |
| 23 | 23 | </view> |
| 24 | 24 | <view class="info"> |
| 25 | - <view class="title" >这里有标题这里有标题这里有...</view> | |
| 26 | - <view class="info-item">填写时间:<span>{{item.tTime}}分钟</span></view> | |
| 27 | - <view class="info-item">截止时间:<span>{{item.jTime}}</span></view> | |
| 28 | - <view class="info-item">问卷类型:<span>{{item.leiXing}}</span></view> | |
| 25 | + <view class="title" >{{item.title}}</view> | |
| 26 | + <view class="info-item">填写时长:<span>{{item.estimatedTime}}分钟</span></view> | |
| 27 | + <view class="info-item">填写时段:<span>{{item.startDate}}至{{item.endDate}}</span></view> | |
| 28 | + <view class="info-item">问卷类型:<span>{{item.questionnaireType}}</span></view> | |
| 29 | 29 | </view> |
| 30 | 30 | </view> |
| 31 | 31 | </view> |
| ... | ... | @@ -42,43 +42,56 @@ |
| 42 | 42 | return { |
| 43 | 43 | show: false, |
| 44 | 44 | areList: [ |
| 45 | - {value: '武侯区', label: '武侯区'}, | |
| 46 | - {value: '锦江区', label: '锦江区'}, | |
| 47 | - {value: '青羊区', label: '青羊区'}, | |
| 48 | - {value: '金牛区', label: '金牛区'}, | |
| 49 | - {value: '双流区', label: '双流区'}, | |
| 50 | - {value: '郫都区', label: '郫都区'}, | |
| 51 | - {value: '龙泉驿区', label: '龙泉驿区'}, | |
| 52 | - {value: '温江区', label: '温江区'}, | |
| 45 | + {value: '物业问卷', label: '物业问卷'}, | |
| 46 | + {value: '招商问卷', label: '招商问卷'}, | |
| 47 | + {value: '满意度问卷', label: '满意度问卷'}, | |
| 53 | 48 | ], // 区域列表 |
| 54 | 49 | query: { |
| 55 | - type: '', | |
| 56 | - keyword: '', | |
| 57 | - }, | |
| 58 | - tableData:[ | |
| 59 | - { | |
| 60 | - Image:'', | |
| 61 | - title:'对于物业管理服务,您满意度如何?', | |
| 62 | - tTime:'15', | |
| 63 | - jTime:'2024-10-10', | |
| 64 | - leiXing:'物业满意度' | |
| 50 | + questionnaireType: '', | |
| 51 | + title: '', | |
| 52 | + pageNumber: 1, | |
| 53 | + pageSize: 2 | |
| 65 | 54 | }, |
| 66 | - { | |
| 67 | - Image:'', | |
| 68 | - title:'您是否认为公共设施设备维护及时有效?', | |
| 69 | - tTime:'10', | |
| 70 | - jTime:'2024-10-9', | |
| 71 | - leiXing:'安保服务' | |
| 55 | + tableData:[], | |
| 56 | + pagesize:{ | |
| 57 | + pageNumber: 1, | |
| 58 | + pageSize: 2 | |
| 72 | 59 | } |
| 73 | - ] | |
| 74 | 60 | }; |
| 75 | 61 | }, |
| 62 | + mounted() { | |
| 63 | + this.getAll() | |
| 64 | + | |
| 65 | + }, | |
| 76 | 66 | methods:{ |
| 67 | + getAll(){ | |
| 68 | + | |
| 69 | + this.$http.sendRequest('/cereQuestionnaireTable/queryByPage', 'POST', this.pagesize,1).then(res => { | |
| 70 | + //成功回调 | |
| 71 | + this.tableData = res.data.data.content | |
| 72 | + }) | |
| 73 | + }, | |
| 74 | + go(urls){ | |
| 75 | + uni.navigateTo({ | |
| 76 | + url: urls | |
| 77 | + }) | |
| 78 | + }, | |
| 77 | 79 | queryChange(key, val) { |
| 78 | 80 | this.query[`${key}`] = val[0].value; |
| 79 | 81 | this.search(); |
| 80 | 82 | }, |
| 81 | - search() {}, | |
| 83 | + search() { | |
| 84 | + this.$http.sendRequest('/cereQuestionnaireTable/queryByPage', 'POST', this.query,1).then(res => { | |
| 85 | + //成功回调 | |
| 86 | + this.tableData = res.data.data.content | |
| 87 | + this.query = { | |
| 88 | + questionnaireType: '', | |
| 89 | + title: '', | |
| 90 | + pageNumber: 1, | |
| 91 | + pageSize: 2 | |
| 92 | + } | |
| 93 | + }) | |
| 94 | + }, | |
| 82 | 95 | createWen(){ |
| 83 | 96 | uni.navigateTo({ |
| 84 | 97 | url: '/pages/createQuestionnaire/createQuestionnaire' | ... | ... |
pages/record/record.vue
| ... | ... | @@ -11,11 +11,11 @@ |
| 11 | 11 | <view class="record-list-box" v-for="(item,index) in recordList" :key="index" @click="recordXq(item)"> |
| 12 | 12 | <view class="list"> |
| 13 | 13 | <view class="title"> |
| 14 | - <view class="left">都江堰广场8#-2,都江堰市柏条河北路下段 I 茶坊 I 广场</view> | |
| 14 | + <view class="left">{{item.cereBasicInformationShop&&item.cereBasicInformationShop.shopName?item.cereBasicInformationShop.shopName:item.cereBasicInformationVenue&&item.cereBasicInformationVenue.venueName?item.cereBasicInformationVenue.venueName:item.cereAdvertisingInformation&&item.cereAdvertisingInformation.advertisingName?item.cereAdvertisingInformation.advertisingName:''}}</view> | |
| 15 | 15 | <view class="right"><u-icon name="arrow-rightward"></u-icon></view> |
| 16 | 16 | </view> |
| 17 | - <view class="info-item">申请时间:2022-02-22 14:00</view> | |
| 18 | - <view class="info-item">状态:<span style="color: #0FBB59;">受理中</span></view> | |
| 17 | + <view class="info-item">申请时间:{{item.applicationTime}}</view> | |
| 18 | + <view class="info-item">状态:<span style="color: #0FBB59;">{{item.auditStatus == '1'?'待审核':item.auditStatus == '2'?'审核通过':item.auditStatus == '3'?'已驳回':''}}</span></view> | |
| 19 | 19 | </view> |
| 20 | 20 | </view> |
| 21 | 21 | </view> |
| ... | ... | @@ -26,23 +26,30 @@ |
| 26 | 26 | export default { |
| 27 | 27 | data() { |
| 28 | 28 | return { |
| 29 | - recordList:[ | |
| 30 | - { | |
| 31 | - recordName:'这里有名称这里有名称', | |
| 32 | - porName:'徐丽', | |
| 33 | - tTime:'2022-02-22 12:00:00', | |
| 34 | - state:'受理中' | |
| 35 | - }, | |
| 36 | - { | |
| 37 | - recordName:'这里有名称这里有名称', | |
| 38 | - porName:'徐丽', | |
| 39 | - tTime:'2022-02-22 12:00:00', | |
| 40 | - state:'已通过' | |
| 41 | - } | |
| 42 | - ] | |
| 29 | + recordList:'', | |
| 30 | + pageindex: { | |
| 31 | + pageNumber: 1, | |
| 32 | + pageSize: 10 | |
| 33 | + }, | |
| 43 | 34 | }; |
| 44 | 35 | }, |
| 36 | + mounted(){ | |
| 37 | + this.getALL() | |
| 38 | + }, | |
| 45 | 39 | methods: { |
| 40 | + getALL(){ | |
| 41 | + this.pageindex.applicant =uni.getStorageSync('shopId') | |
| 42 | + this.$http.sendRequest('/cereBusinessInfo/queryByPage', 'POST', this.pageindex,1).then(res => { | |
| 43 | + //成功回调 | |
| 44 | + | |
| 45 | + this.$http.sendRequest('/cereAdvertiserInfo/queryByPage', 'POST', this.pageindex, 1).then(item => { | |
| 46 | + | |
| 47 | + this.recordList = [...res.data.data.content,...item.data.data.content] | |
| 48 | + console.log(this.recordList) | |
| 49 | + }) | |
| 50 | + }) | |
| 51 | + | |
| 52 | + }, | |
| 46 | 53 | recordXq(item){ |
| 47 | 54 | const encodedItem = encodeURIComponent(JSON.stringify(item)); |
| 48 | 55 | uni.navigateTo({ | ... | ... |
pages/repair/repair.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 | - <text class="star">*</text> | |
| 8 | - </view> | |
| 9 | - <view class="content"> | |
| 10 | - <input type="text" placeholder="请输入"> | |
| 11 | - </view> | |
| 12 | - </view> | |
| 13 | - <view class="list"> | |
| 14 | - <view class="title"> | |
| 15 | - <text>设备类型</text> | |
| 16 | - <text class="star">*</text> | |
| 17 | - </view> | |
| 18 | - <view class="content"> | |
| 19 | - <input type="text" placeholder="请输入"> | |
| 20 | - </view> | |
| 21 | - </view> | |
| 22 | - <view class="list"> | |
| 23 | - <view class="title"> | |
| 24 | - <text>报修问题</text> | |
| 25 | - <text class="star">*</text> | |
| 26 | - </view> | |
| 27 | - <view class="content"> | |
| 28 | - <input type="text" placeholder="请输入"> | |
| 29 | - </view> | |
| 30 | - </view> | |
| 31 | - <view class="list"> | |
| 32 | - <view class="title"> | |
| 33 | - <text>维修时间</text> | |
| 34 | - <text class="star">*</text> | |
| 35 | - </view> | |
| 36 | - <view class="content"> | |
| 37 | - <input type="text" placeholder="请输入"> | |
| 38 | - </view> | |
| 39 | - </view> | |
| 40 | - <view class="list"> | |
| 41 | - <view class="title"> | |
| 42 | - <text>报修状态</text> | |
| 43 | - <text class="star">*</text> | |
| 44 | - </view> | |
| 45 | - <view class="content"> | |
| 46 | - <input type="text" placeholder="请输入"> | |
| 3 | + <view class="item"> | |
| 4 | + <view class="contents" style="background-color:#fff;padding:10px 20px;"> | |
| 5 | + <view class="feedback-data"> | |
| 6 | + <view> | |
| 7 | + <view class="title"> | |
| 8 | + <text style="font-weight: bold;">现场照片</text> | |
| 9 | + <!-- <text class="star">*</text> --> | |
| 10 | + </view> | |
| 11 | + </view> | |
| 12 | + <view class="voucher-img"> | |
| 13 | + <view class="voucher-list"> | |
| 14 | + <!-- <image :src="$imgUrl('/voucher_bg.png')" ></image> --> | |
| 15 | + <u-upload :action="$upload" :auto-upload="true" ref="uUpload" ></u-upload> | |
| 16 | + </view> | |
| 17 | + </view> | |
| 47 | 18 | </view> |
| 48 | 19 | </view> |
| 49 | - <view class="list"> | |
| 50 | - <view class="title"> | |
| 51 | - <text>备注信息</text> | |
| 52 | - <text class="star">*</text> | |
| 53 | - </view> | |
| 54 | - <view class="content"> | |
| 55 | - <input type="text" placeholder="请输入"> | |
| 20 | + </view> | |
| 21 | + <view class="item"> | |
| 22 | + <view class="contents"> | |
| 23 | + <view class="add-list"> | |
| 24 | + <view class="list"> | |
| 25 | + <view class="title"> | |
| 26 | + <text style="font-weight: bold;">设备名称</text> | |
| 27 | + <!-- <text class="star">*</text> --> | |
| 28 | + </view> | |
| 29 | + <view class="content"> | |
| 30 | + <input type="text" placeholder="请输入" v-model="ruleForm.deviceName"> | |
| 31 | + </view> | |
| 32 | + </view> | |
| 33 | + <view class="list"> | |
| 34 | + <view class="title"> | |
| 35 | + <text style="font-weight: bold;">设备类型</text> | |
| 36 | + <!-- <text class="star">*</text> --> | |
| 37 | + </view> | |
| 38 | + <view class="content" @click="choose(1)" style="width: 25%;"> | |
| 39 | + <u-input v-model="ruleForm.deviceType" type="select" disabledColor="#ffffff" | |
| 40 | + placeholder="请选择" :border="false" suffixIcon="arrow-right" style="pointer-events:none"> | |
| 41 | + </u-input> | |
| 42 | + </view> | |
| 43 | + </view> | |
| 44 | + <view class="list"> | |
| 45 | + <view class="title"> | |
| 46 | + <text style="font-weight: bold;">保修问题</text> | |
| 47 | + <!-- <text class="star">*</text> --> | |
| 48 | + </view> | |
| 49 | + <view class="content" @click="chooseLocation(1)" style="width: 25%;"> | |
| 50 | + <u-input v-model="ruleForm.warrantyIssue" type="select" disabledColor="#ffffff" | |
| 51 | + placeholder="请选择" :border="false" suffixIcon="arrow-right" style="pointer-events:none"> | |
| 52 | + </u-input> | |
| 53 | + </view> | |
| 54 | + </view> | |
| 55 | + | |
| 56 | + | |
| 56 | 57 | </view> |
| 57 | 58 | </view> |
| 58 | - <view class="feedback-data"> | |
| 59 | - <view> | |
| 60 | - <view class="title"> | |
| 61 | - <text>现场照片</text> | |
| 62 | - <text class="star">*</text> | |
| 59 | + </view> | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + <view class="item"> | |
| 64 | + <view class="contents" style="background-color:#fff;padding:10px 20px;"> | |
| 65 | + <view class="feedback-data"> | |
| 66 | + <view> | |
| 67 | + <view class="title"> | |
| 68 | + <text style="font-weight: bold;">备注信息</text> | |
| 69 | + <!-- <text class="star">*</text> --> | |
| 70 | + </view> | |
| 63 | 71 | </view> |
| 64 | - </view> | |
| 65 | - <view class="voucher-img"> | |
| 66 | - <view class="voucher-list"> | |
| 67 | - <image :src="$imgUrl('/voucher_bg.png')" ></image> | |
| 72 | + <view class="voucher-img"> | |
| 73 | + <view class="voucher-list" style="width: 100%;"> | |
| 74 | + <view class="" style="background-color: #F0F0F0;border-radius: 20rpx;"> | |
| 75 | + <textarea name="" id="" cols="30" rows="10" placeholder="请输入" style="font-size: 24rpx;background-color: #F0F0F0;border-radius: 20rpx;width: 96%;margin: 0 auto;padding: 20rpx 0;" v-model="ruleForm.memo"></textarea> | |
| 76 | + </view> | |
| 77 | + </view> | |
| 68 | 78 | </view> |
| 69 | 79 | </view> |
| 70 | 80 | </view> |
| 71 | 81 | </view> |
| 82 | + <u-select v-model="popup1" mode="mutil-column-auto" :list="list" @confirm="pops" label-name="label" value-name="value"></u-select> | |
| 83 | + <u-select v-model="popup2" mode="mutil-column-auto" :list="list1" @confirm="pops1" label-name="label" value-name="value"></u-select> | |
| 72 | 84 | <!-- 保存按钮 --> |
| 73 | 85 | <view class="page-footer"> |
| 74 | 86 | <view class="footer-buy"> |
| 75 | - <view class="cart-add"> | |
| 87 | + <view class="cart-add" @click="submit"> | |
| 76 | 88 | <text>提交</text> |
| 77 | 89 | </view> |
| 78 | 90 | </view> |
| ... | ... | @@ -84,10 +96,97 @@ |
| 84 | 96 | export default { |
| 85 | 97 | data() { |
| 86 | 98 | return { |
| 87 | - | |
| 88 | - }; | |
| 99 | + fileList:[], | |
| 100 | + ruleForm:{ | |
| 101 | + onSitePhoto:'', | |
| 102 | + deviceName:'', | |
| 103 | + deviceType:'', | |
| 104 | + warrantyIssue:'', | |
| 105 | + memo:'', | |
| 106 | + applicationTime:'', | |
| 107 | + status:'1' | |
| 108 | + }, | |
| 109 | + lableXian:'', | |
| 110 | + shelei:'', | |
| 111 | + list: [{ | |
| 112 | + value: '水管问题', | |
| 113 | + label: '水管问题' | |
| 114 | + }, | |
| 115 | + { | |
| 116 | + value: '物业问题', | |
| 117 | + label: '物业问题' | |
| 118 | + } | |
| 119 | + ], | |
| 120 | + list1: [{ | |
| 121 | + value: '类型1', | |
| 122 | + label: '类型1' | |
| 123 | + }, | |
| 124 | + { | |
| 125 | + value: '类型2', | |
| 126 | + label: '类型2' | |
| 127 | + } | |
| 128 | + ], | |
| 129 | + popup1:false, | |
| 130 | + popup2:false | |
| 131 | + } | |
| 89 | 132 | }, |
| 90 | 133 | methods:{ |
| 134 | + chooseLocation(val, item) { | |
| 135 | + this.popup1 = true | |
| 136 | + }, | |
| 137 | + choose(val, item) { | |
| 138 | + this.popup2 = true | |
| 139 | + }, | |
| 140 | + pops(val) { | |
| 141 | + | |
| 142 | + this.ruleForm.warrantyIssue = val[0].label | |
| 143 | + }, | |
| 144 | + pops1(val) { | |
| 145 | + this.ruleForm.deviceType = val[0].label | |
| 146 | + }, | |
| 147 | + submit() { | |
| 148 | + let files = [] | |
| 149 | + // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作) | |
| 150 | + files = this.$refs.uUpload.lists.filter(val => { | |
| 151 | + return val.progress == 100; | |
| 152 | + }) | |
| 153 | + // 如果您不需要进行太多的处理,直接如下即可 | |
| 154 | + // files = this.$refs.uUpload.lists; | |
| 155 | + files.map(item=>{ | |
| 156 | + this.ruleForm.onSitePhoto = item.response.data.url | |
| 157 | + }) | |
| 158 | + this.ruleForm.applicationTime = this.currentTime() | |
| 159 | + this.$http.sendRequest('/cereReportIssuesRepairs/add', 'POST',this.ruleForm,1).then(res => { | |
| 160 | + uni.navigateTo({ | |
| 161 | + url: '/pages/serve/serve' | |
| 162 | + }) | |
| 163 | + }).catch(err => { | |
| 164 | + console.log(err) | |
| 165 | + //请求失败 | |
| 166 | + }) | |
| 167 | + | |
| 168 | + }, | |
| 169 | + // 获取时间 | |
| 170 | + currentTime() { | |
| 171 | + let date = new Date(); | |
| 172 | + let year = date.getFullYear(); | |
| 173 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 174 | + let day = date.getDate(); | |
| 175 | + let hours = date.getHours(); | |
| 176 | + let minutes = date.getMinutes(); | |
| 177 | + let seconds = date.getSeconds(); | |
| 178 | + | |
| 179 | + // 为月、日、时、分、秒添加前导零(如果需要) | |
| 180 | + month = month < 10 ? '0' + month : month; | |
| 181 | + day = day < 10 ? '0' + day : day; | |
| 182 | + hours = hours < 10 ? '0' + hours : hours; | |
| 183 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 184 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 185 | + | |
| 186 | + // 拼接日期和时间字符串 | |
| 187 | + let strDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 188 | + return strDate; | |
| 189 | + }, | |
| 91 | 190 | } |
| 92 | 191 | } |
| 93 | 192 | </script> | ... | ... |
pages/saleReport/saleReport.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="pages"> | |
| 3 | + <view class="box" v-for="(item,index) in items" :key="index"> | |
| 4 | + <view class="contents"> | |
| 5 | + <view class="item"> | |
| 6 | + <view class="title"> | |
| 7 | + 商品名称 | |
| 8 | + </view> | |
| 9 | + <view class="inputContent"> | |
| 10 | + <input type="text" v-model="item.productName" placeholder="请输入" /> | |
| 11 | + </view> | |
| 12 | + </view> | |
| 13 | + <view class="up_line"></view> | |
| 14 | + <view class="item"> | |
| 15 | + <view class="title"> | |
| 16 | + 商品类型 | |
| 17 | + </view> | |
| 18 | + <view class="inputContent"> | |
| 19 | + <input type="text" v-model="item.productType" placeholder="请输入" /> | |
| 20 | + </view> | |
| 21 | + </view> | |
| 22 | + | |
| 23 | + <view class="up_line"></view> | |
| 24 | + <view class="item"> | |
| 25 | + <view class="title"> | |
| 26 | + 品牌 | |
| 27 | + </view> | |
| 28 | + <view class="inputContent"> | |
| 29 | + <input type="text" v-model="item.brand" placeholder="请输入" /> | |
| 30 | + </view> | |
| 31 | + </view> | |
| 32 | + <view class="up_line"></view> | |
| 33 | + <view class="item"> | |
| 34 | + <view class="title"> | |
| 35 | + 价格 | |
| 36 | + </view> | |
| 37 | + <view class="inputContent"> | |
| 38 | + <input type="text" v-model="item.price" placeholder="请输入" /> | |
| 39 | + </view> | |
| 40 | + </view> | |
| 41 | + <view class="up_line"></view> | |
| 42 | + <view class="item"> | |
| 43 | + <view class="title"> | |
| 44 | + 销售时间 | |
| 45 | + </view> | |
| 46 | + <view class="inputContent"> | |
| 47 | + <u-input v-model="item.saleTime" type="select" @click="busStartshow = true" placeholder="请选择"/> | |
| 48 | + <u-picker mode="time" v-model="busStartshow" :params="params" @confirm="busStTimeChange($event,index)"></u-picker> | |
| 49 | + </view> | |
| 50 | + </view> | |
| 51 | + <view class="up_line"></view> | |
| 52 | + <view class="item"> | |
| 53 | + <view class="title"> | |
| 54 | + 销售数量 | |
| 55 | + </view> | |
| 56 | + <view class="inputContent"> | |
| 57 | + <input type="text" v-model="item.salesQuantity" placeholder="请输入" /> | |
| 58 | + </view> | |
| 59 | + </view> | |
| 60 | + <view class="up_line"></view> | |
| 61 | + </view> | |
| 62 | + </view> | |
| 63 | + <view class="addBox" @click="addItems"> | |
| 64 | + <uni-icons type="plusempty" color="#0FBB59"></uni-icons> | |
| 65 | + <span class="addName" style="color: #0FBB59;font-size: 25rpx;">添加商品</span> | |
| 66 | + </view> | |
| 67 | + <view class="postBox"> | |
| 68 | + <button @click ="go" | |
| 69 | + style="background-color: #0FBB59;color: #fff;font-size: 28rpx;border-radius: 20rpx;padding: 10rpx 0;">提交</button> | |
| 70 | + </view> | |
| 71 | + </view> | |
| 72 | +</template> | |
| 73 | + | |
| 74 | +<script> | |
| 75 | + export default { | |
| 76 | + data() { | |
| 77 | + return { | |
| 78 | + items: [{ | |
| 79 | + productName: '', | |
| 80 | + productType: '', | |
| 81 | + brand: '', | |
| 82 | + price: '', | |
| 83 | + saleTime: '', | |
| 84 | + salesQuantity: '' | |
| 85 | + }], | |
| 86 | + busStartshow:false, | |
| 87 | + params: { | |
| 88 | + year: true, | |
| 89 | + month: true, | |
| 90 | + day: true | |
| 91 | + }, | |
| 92 | + } | |
| 93 | + }, | |
| 94 | + methods: { | |
| 95 | + addItems() { | |
| 96 | + this.items.push({ | |
| 97 | + productName: '', | |
| 98 | + productType: '', | |
| 99 | + brand: '', | |
| 100 | + price: '', | |
| 101 | + saleTime: '', | |
| 102 | + salesQuantity: '' | |
| 103 | + }) | |
| 104 | + }, | |
| 105 | + busStTimeChange(val,index){ | |
| 106 | + this.items[index].saleTime = this.timeChange(val) | |
| 107 | + }, | |
| 108 | + timeChange(val) { | |
| 109 | + const { year, month, day} = val; | |
| 110 | + return `${year}-${month}-${day}`; | |
| 111 | + }, | |
| 112 | + go(){ | |
| 113 | + this.items.map(tem=>{ | |
| 114 | + tem.merchantId = uni.getStorageSync('shopId') | |
| 115 | + this.$http.sendRequest('/cereSalesReporting/add', 'POST',tem,1).then(res => { | |
| 116 | + uni.showModal({ | |
| 117 | + title: '上报成功', | |
| 118 | + showCancel:false, | |
| 119 | + success:ress => { | |
| 120 | + uni.switchTab({ | |
| 121 | + url:'/pages/workbench/workbench' | |
| 122 | + }) | |
| 123 | + } | |
| 124 | + }) | |
| 125 | + }) | |
| 126 | + }) | |
| 127 | + | |
| 128 | + | |
| 129 | + }, | |
| 130 | + } | |
| 131 | + } | |
| 132 | +</script> | |
| 133 | + | |
| 134 | +<style lang="scss" scoped> | |
| 135 | + .pages { | |
| 136 | + width: 100vw; | |
| 137 | + height: 100%; | |
| 138 | + position: relative; | |
| 139 | + overflow-y: auto; | |
| 140 | + padding-bottom: 200rpx; | |
| 141 | + | |
| 142 | + .box { | |
| 143 | + width: 96%; | |
| 144 | + margin: 0 auto; | |
| 145 | + background-color: #fff; | |
| 146 | + border-radius: 20rpx; | |
| 147 | + | |
| 148 | + .contents { | |
| 149 | + width: 92%; | |
| 150 | + margin: 0 auto; | |
| 151 | + // padding: 20rpx; | |
| 152 | + margin-top: 20rpx; | |
| 153 | + | |
| 154 | + .item { | |
| 155 | + width: 100%; | |
| 156 | + display: flex; | |
| 157 | + align-items: center; | |
| 158 | + justify-content: space-between; | |
| 159 | + padding: 20rpx 0; | |
| 160 | + | |
| 161 | + .title { | |
| 162 | + font-size: 26rpx; | |
| 163 | + font-weight: bold; | |
| 164 | + } | |
| 165 | + | |
| 166 | + .inputContent { | |
| 167 | + input { | |
| 168 | + font-size: 26rpx; | |
| 169 | + text-align: right; | |
| 170 | + } | |
| 171 | + } | |
| 172 | + } | |
| 173 | + | |
| 174 | + .up_line { | |
| 175 | + width: 100%; | |
| 176 | + background-color: #e8e8e8; | |
| 177 | + height: 1rpx; | |
| 178 | + transform: scaleY(.5); | |
| 179 | + } | |
| 180 | + } | |
| 181 | + } | |
| 182 | + | |
| 183 | + .addBox { | |
| 184 | + width: 20%; | |
| 185 | + display: flex; | |
| 186 | + align-items: center; | |
| 187 | + margin: 0 auto; | |
| 188 | + margin-top: 30rpx; | |
| 189 | + | |
| 190 | + .addName { | |
| 191 | + color: #0FBB59; | |
| 192 | + } | |
| 193 | + } | |
| 194 | + | |
| 195 | + .postBox { | |
| 196 | + position: fixed; | |
| 197 | + bottom: 40rpx; | |
| 198 | + width: 90%; | |
| 199 | + left: 50%; | |
| 200 | + transform: translateX(-50%); | |
| 201 | + } | |
| 202 | + } | |
| 203 | +</style> | |
| 0 | 204 | \ No newline at end of file | ... | ... |
pages/salesReporting/salesReporting.scss
| 1 | 1 | .zhuti{ |
| 2 | 2 | padding:20rpx 0rpx; |
| 3 | + background-color: #f6f6f6; | |
| 3 | 4 | .futi{ |
| 4 | - background-color:#fff; | |
| 5 | + // background-color:#fff; | |
| 5 | 6 | padding: 10rpx 20rpx; |
| 6 | 7 | .saleTian{ |
| 7 | 8 | background-color:#3F9B6A; |
| ... | ... | @@ -12,14 +13,21 @@ |
| 12 | 13 | .cardMu{ |
| 13 | 14 | display: flex; |
| 14 | 15 | justify-content: space-between; |
| 15 | - color: #Fff; | |
| 16 | + margin-top: 20rpx; | |
| 17 | + .title{ | |
| 18 | + font-size: 21rpx; | |
| 19 | + color: #898989; | |
| 20 | + } | |
| 21 | + // color: #Fff; | |
| 16 | 22 | .cardOne{ |
| 17 | - background-color: #3E90DE; | |
| 18 | - padding:30rpx; | |
| 23 | + // background-color: #3E90DE; | |
| 24 | + border: 2rpx solid #f6f6f6; | |
| 25 | + padding:20rpx; | |
| 19 | 26 | width: 48%; |
| 27 | + border-radius: 20rpx; | |
| 20 | 28 | .num{ |
| 21 | - padding: 20rpx 0; | |
| 22 | - font-size: 40rpx; | |
| 29 | + padding: 15rpx 0; | |
| 30 | + font-size: 42rpx; | |
| 23 | 31 | font-weight: 600; |
| 24 | 32 | } |
| 25 | 33 | } | ... | ... |
pages/salesReporting/salesReporting.vue
| 1 | 1 | <template> |
| 2 | 2 | <view class="zhuti"> |
| 3 | 3 | <view class="futi"> |
| 4 | - <view class="saleTian">上报线下销售数据</view> | |
| 5 | - <view style="margin: 20px 0 10px 0;">线下销售数据</view> | |
| 6 | - <view class="cardMu"> | |
| 7 | - <view class="cardOne"> | |
| 8 | - <view class=""> | |
| 9 | - 今日销售金额 | |
| 4 | + <!-- <view class="saleTian" @click="toSaleReport">上报线下销售数据</view> --> | |
| 5 | + <view class="" style="width: 96%;margin: 0 auto;background-color: #fff;border-radius: 20rpx;"> | |
| 6 | + <view class="" style="width: 96%;margin: 0 auto;padding: 20rpx 20rpx;"> | |
| 7 | + <view style="font-weight: bold;font-size: 28rpx;">线下销售数据</view> | |
| 8 | + <view class="cardMu"> | |
| 9 | + <view class="cardOne"> | |
| 10 | + <view class="title" style="font-size: 26rpx;"> | |
| 11 | + 今日销售金额 | |
| 12 | + </view> | |
| 13 | + <view class="num">21</view> | |
| 14 | + <view>同比昨日上升5</view> | |
| 15 | + </view> | |
| 16 | + <!-- <view class="cardOne"> | |
| 17 | + <view class="title"> | |
| 18 | + 今日销售金额 | |
| 19 | + </view> | |
| 20 | + <view class="num">10</view> | |
| 21 | + <view>同比昨日上升1</view> | |
| 22 | + </view> --> | |
| 10 | 23 | </view> |
| 11 | - <view class="num">18264.00</view> | |
| 12 | - <view>同比昨日上升1000</view> | |
| 13 | 24 | </view> |
| 14 | - <view class="cardOne"> | |
| 15 | - <view class=""> | |
| 16 | - 今日销售金额 | |
| 25 | + </view> | |
| 26 | + <view class="" style="width: 96%;margin: 0 auto;background-color: #fff;border-radius: 20rpx;margin-top: 20rpx;"> | |
| 27 | + <view class="" style="width: 96%;margin: 0 auto;padding: 20rpx 20rpx;"> | |
| 28 | + <view style="font-weight: bold;font-size: 28rpx;">营业额趋势</view> | |
| 29 | + <view style="height: 300px;width: 100%;margin-top: 20rpx;"> | |
| 30 | + <qiun-data-charts type="line" :opts="opts" :chartData="chartData" /> | |
| 17 | 31 | </view> |
| 18 | - <view class="num">18264.00</view> | |
| 19 | - <view>同比昨日上升1000</view> | |
| 20 | 32 | </view> |
| 21 | 33 | </view> |
| 22 | - <view style="margin: 20px 0 10px 0;">营业额趋势</view> | |
| 23 | - <view style="height: 300px;width: 100%;"> | |
| 24 | - <qiun-data-charts | |
| 25 | - type="line" | |
| 26 | - :opts="opts" | |
| 27 | - :chartData="chartData" | |
| 28 | - /> | |
| 29 | - </view> | |
| 30 | - <view style="margin: 20px 0 10px 0;">销量排名</view> | |
| 31 | - <view style="height: 300px;width: 100%;"> | |
| 32 | - <qiun-data-charts | |
| 33 | - type="bar" | |
| 34 | - :opts="opts1" | |
| 35 | - :chartData="chartData1" | |
| 36 | - /> | |
| 34 | + | |
| 35 | + <view class="" style="width: 96%;margin: 0 auto;background-color: #fff;border-radius: 20rpx;margin-top: 20rpx;"> | |
| 36 | + <view class="" style="width: 96%;margin: 0 auto;padding: 20rpx 20rpx;"> | |
| 37 | + <view style="font-weight: bold;font-size: 28rpx;">销量排名</view> | |
| 38 | + <view style="height: 300px;width: 100%;margin-top: 20rpx;"> | |
| 39 | + <qiun-data-charts type="bar" :opts="opts1" :chartData="chartData1" /> | |
| 40 | + </view> | |
| 41 | + </view> | |
| 37 | 42 | </view> |
| 43 | + | |
| 38 | 44 | </view> |
| 39 | 45 | </view> |
| 40 | 46 | </template> |
| 41 | 47 | |
| 42 | 48 | <script> |
| 43 | - | |
| 44 | 49 | export default { |
| 45 | 50 | data() { |
| 46 | 51 | return { |
| 47 | - chart: null, | |
| 48 | - chartData: {}, | |
| 49 | - opts: { | |
| 50 | - color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"], | |
| 51 | - padding: [15,10,0,15], | |
| 52 | - enableScroll: false, | |
| 53 | - legend: {}, | |
| 54 | - xAxis: { | |
| 55 | - disableGrid: true | |
| 56 | - }, | |
| 57 | - yAxis: { | |
| 58 | - gridType: "dash", | |
| 59 | - dashLength: 2 | |
| 60 | - }, | |
| 61 | - extra: { | |
| 62 | - line: { | |
| 63 | - type: "straight", | |
| 64 | - width: 2, | |
| 65 | - activeType: "hollow" | |
| 66 | - } | |
| 67 | - } | |
| 68 | - }, | |
| 69 | - chartData1:{}, | |
| 70 | - opts1: { | |
| 71 | - color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"], | |
| 72 | - padding: [15,30,0,5], | |
| 73 | - enableScroll: false, | |
| 74 | - legend: {}, | |
| 75 | - xAxis: { | |
| 76 | - boundaryGap: "justify", | |
| 77 | - disableGrid: false, | |
| 78 | - min: 0, | |
| 79 | - axisLine: false, | |
| 80 | - max: 70 | |
| 81 | - }, | |
| 82 | - yAxis: {}, | |
| 83 | - extra: { | |
| 84 | - bar: { | |
| 85 | - type: "stack", | |
| 86 | - width: 30, | |
| 87 | - meterBorde: 1, | |
| 88 | - meterFillColor: "#FFFFFF", | |
| 89 | - activeBgColor: "#000000", | |
| 90 | - activeBgOpacity: 0.08, | |
| 91 | - categoryGap: 2 | |
| 92 | - } | |
| 93 | - } | |
| 94 | - } | |
| 52 | + chart: null, | |
| 53 | + chartData: {}, | |
| 54 | + opts: { | |
| 55 | + color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", | |
| 56 | + "#ea7ccc" | |
| 57 | + ], | |
| 58 | + padding: [15, 10, 0, 15], | |
| 59 | + enableScroll: false, | |
| 60 | + legend: {}, | |
| 61 | + xAxis: { | |
| 62 | + disableGrid: true | |
| 63 | + }, | |
| 64 | + yAxis: { | |
| 65 | + gridType: "dash", | |
| 66 | + dashLength: 2 | |
| 67 | + }, | |
| 68 | + extra: { | |
| 69 | + line: { | |
| 70 | + type: "straight", | |
| 71 | + width: 2, | |
| 72 | + activeType: "hollow" | |
| 73 | + } | |
| 74 | + } | |
| 75 | + }, | |
| 76 | + chartData1: {}, | |
| 77 | + opts1: { | |
| 78 | + color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", | |
| 79 | + "#ea7ccc" | |
| 80 | + ], | |
| 81 | + padding: [15, 30, 0, 5], | |
| 82 | + enableScroll: false, | |
| 83 | + legend: {}, | |
| 84 | + xAxis: { | |
| 85 | + boundaryGap: "justify", | |
| 86 | + disableGrid: false, | |
| 87 | + min: 0, | |
| 88 | + axisLine: false, | |
| 89 | + max: 70 | |
| 90 | + }, | |
| 91 | + yAxis: {}, | |
| 92 | + extra: { | |
| 93 | + bar: { | |
| 94 | + type: "stack", | |
| 95 | + width: 30, | |
| 96 | + meterBorde: 1, | |
| 97 | + meterFillColor: "#FFFFFF", | |
| 98 | + activeBgColor: "#000000", | |
| 99 | + activeBgOpacity: 0.08, | |
| 100 | + categoryGap: 2 | |
| 101 | + } | |
| 102 | + } | |
| 103 | + } | |
| 95 | 104 | } |
| 96 | 105 | }, |
| 97 | - onReady() { | |
| 98 | - this.getServerData(); | |
| 99 | - }, | |
| 106 | + onReady() { | |
| 107 | + this.getServerData(); | |
| 108 | + }, | |
| 100 | 109 | mounted() { |
| 101 | - | |
| 110 | + | |
| 102 | 111 | }, |
| 103 | 112 | methods: { |
| 104 | 113 | getServerData() { |
| 105 | - //模拟从服务器获取数据时的延时 | |
| 106 | - setTimeout(() => { | |
| 107 | - //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 | |
| 108 | - let res = { | |
| 109 | - categories: ["2018","2019","2020","2021","2022","2023"], | |
| 110 | - series: [ | |
| 111 | - { | |
| 112 | - name: "成交量A", | |
| 113 | - data: [35,8,25,37,4,20] | |
| 114 | - }, | |
| 115 | - { | |
| 116 | - name: "成交量B", | |
| 117 | - data: [70,40,65,100,44,68] | |
| 118 | - }, | |
| 119 | - { | |
| 120 | - name: "成交量C", | |
| 121 | - data: [100,80,95,150,112,132] | |
| 122 | - } | |
| 123 | - ] | |
| 124 | - }; | |
| 125 | - this.chartData = JSON.parse(JSON.stringify(res)); | |
| 126 | - }, 500); | |
| 127 | - | |
| 128 | - setTimeout(() => { | |
| 129 | - //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 | |
| 130 | - let res = { | |
| 131 | - categories: ["2018","2019","2020","2021","2022","2023"], | |
| 132 | - series: [ | |
| 133 | - { | |
| 134 | - name: "目标值", | |
| 135 | - data: [35,36,31,33,13,34] | |
| 136 | - }, | |
| 137 | - { | |
| 138 | - name: "完成量", | |
| 139 | - data: [18,27,21,24,6,28] | |
| 140 | - } | |
| 141 | - ] | |
| 142 | - }; | |
| 143 | - this.chartData1 = JSON.parse(JSON.stringify(res)); | |
| 144 | - }, 500); | |
| 145 | - } | |
| 114 | + //模拟从服务器获取数据时的延时 | |
| 115 | + setTimeout(() => { | |
| 116 | + //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 | |
| 117 | + let res = { | |
| 118 | + categories: ["2020", "2021", "2022", "2023", "2024", "2025"], | |
| 119 | + series: [{ | |
| 120 | + name: "成交量A", | |
| 121 | + data: [0, 0, 0, 0, 4,0] | |
| 122 | + }, | |
| 123 | + { | |
| 124 | + name: "成交量B", | |
| 125 | + data: [0,0 ,0, 0, 44, 0] | |
| 126 | + }, | |
| 127 | + { | |
| 128 | + name: "成交量C", | |
| 129 | + data: [0, 0, 0, 0, 112, 0] | |
| 130 | + } | |
| 131 | + ] | |
| 132 | + }; | |
| 133 | + this.chartData = JSON.parse(JSON.stringify(res)); | |
| 134 | + }, 500); | |
| 146 | 135 | |
| 136 | + setTimeout(() => { | |
| 137 | + //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 | |
| 138 | + let res = { | |
| 139 | + categories: ["2020", "2021", "2022", "2023", "2024", "2025"], | |
| 140 | + series: [{ | |
| 141 | + name: "目标值", | |
| 142 | + data: [0, 0, 0,0 ,13, 0] | |
| 143 | + }, | |
| 144 | + { | |
| 145 | + name: "完成量", | |
| 146 | + data: [0, 0, 0, 0, 6, 0] | |
| 147 | + } | |
| 148 | + ] | |
| 149 | + }; | |
| 150 | + this.chartData1 = JSON.parse(JSON.stringify(res)); | |
| 151 | + }, 500); | |
| 152 | + }, | |
| 153 | + // 跳转到销售上报页面 | |
| 154 | + toSaleReport(){ | |
| 155 | + uni.navigateTo({ | |
| 156 | + url:'/pages/saleReport/saleReport' | |
| 157 | + }) | |
| 158 | + }, | |
| 147 | 159 | } |
| 148 | 160 | } |
| 149 | 161 | </script> | ... | ... |
pages/serve/jiDed.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="page"> | |
| 3 | + <view class="msglist"> | |
| 4 | + <view class="form-item"> | |
| 5 | + <view class="label">问题</view> | |
| 6 | + <text>{{record.warrantyIssue || record.complaintType}}</text> | |
| 7 | + </view> | |
| 8 | + <view class="form-item"> | |
| 9 | + <view class="label">申请时间</view> | |
| 10 | + <text>{{record.applicationTime}}</text> | |
| 11 | + </view> | |
| 12 | + <view class="form-item"> | |
| 13 | + <view class="label">类型</view> | |
| 14 | + <text>{{record.deviceType || record.problemDescription}}</text> | |
| 15 | + </view> | |
| 16 | + <view class="form-item"> | |
| 17 | + <view class="label">备注信息</view> | |
| 18 | + <text>{{record.memo || record.remark}}</text> | |
| 19 | + </view> | |
| 20 | + | |
| 21 | + </view> | |
| 22 | + | |
| 23 | + | |
| 24 | + </view> | |
| 25 | +</template> | |
| 26 | + | |
| 27 | +<script> | |
| 28 | + export default { | |
| 29 | + data() { | |
| 30 | + return { | |
| 31 | + record:{}, | |
| 32 | + } | |
| 33 | + }, | |
| 34 | + onLoad(options) { | |
| 35 | + const item = JSON.parse(decodeURIComponent(options.item)); | |
| 36 | + console.log('Received item:', item); | |
| 37 | + this.record = item | |
| 38 | + }, | |
| 39 | + methods: { | |
| 40 | + | |
| 41 | + } | |
| 42 | + } | |
| 43 | +</script> | |
| 44 | + | |
| 45 | +<style scoped lang="scss"> | |
| 46 | + .page{ | |
| 47 | + position: absolute; | |
| 48 | + left: 0; | |
| 49 | + top: 0; | |
| 50 | + width: 100%; | |
| 51 | + height: 100%; | |
| 52 | + padding: 0 24rpx; | |
| 53 | + } | |
| 54 | + /* 记录列表 */ | |
| 55 | + .record-list{ | |
| 56 | + margin-top: 20rpx; | |
| 57 | + .good-item { | |
| 58 | + width: 100%; | |
| 59 | + display: flex; | |
| 60 | + background-color: #fff; | |
| 61 | + padding: 16rpx; | |
| 62 | + border-radius: 14rpx; | |
| 63 | + margin-bottom: 26rpx; | |
| 64 | + .img { | |
| 65 | + width: 200rpx; | |
| 66 | + height: 200rpx; | |
| 67 | + } | |
| 68 | + .info { | |
| 69 | + width: calc(100% - 220rpx); | |
| 70 | + margin-left: 20rpx; | |
| 71 | + .title { | |
| 72 | + width: 100%; | |
| 73 | + font-size: 28rpx; | |
| 74 | + line-height: 44rpx; | |
| 75 | + font-weight: 700; | |
| 76 | + white-space: nowrap; | |
| 77 | + overflow : hidden; | |
| 78 | + text-overflow: ellipsis; | |
| 79 | + margin-bottom: 20rpx; | |
| 80 | + } | |
| 81 | + .info-item { | |
| 82 | + display: flex; | |
| 83 | + line-height: 30rpx; | |
| 84 | + font-size: 26rpx; | |
| 85 | + color: #717981; | |
| 86 | + text { | |
| 87 | + white-space: nowrap; | |
| 88 | + overflow : hidden; | |
| 89 | + text-overflow: ellipsis; | |
| 90 | + margin-left: 10rpx; | |
| 91 | + span { | |
| 92 | + font-size: 30rpx; | |
| 93 | + color: #000; | |
| 94 | + font-weight: 700; | |
| 95 | + } | |
| 96 | + } | |
| 97 | + .u-tag { | |
| 98 | + margin: 0 6rpx; | |
| 99 | + border: unset; | |
| 100 | + } | |
| 101 | + } | |
| 102 | + } | |
| 103 | + } | |
| 104 | + } | |
| 105 | + .msglist{ | |
| 106 | + padding: 0 30rpx; | |
| 107 | + background-color: #Fff; | |
| 108 | + border-radius: 14rpx; | |
| 109 | + margin-bottom: 20rpx; | |
| 110 | + .form-item { | |
| 111 | + display: flex; | |
| 112 | + flex-direction: row; | |
| 113 | + align-items: center; | |
| 114 | + justify-content: space-between; | |
| 115 | + line-height: 70rpx; | |
| 116 | + border-bottom: #eee solid 1rpx; | |
| 117 | + padding: 10rpx 0; | |
| 118 | + &[label-top] { | |
| 119 | + flex-direction: column; | |
| 120 | + justify-content: flex-start; | |
| 121 | + align-items: flex-start; | |
| 122 | + } | |
| 123 | + text { | |
| 124 | + font-size: 24rpx; | |
| 125 | + color: #3D3D3D; | |
| 126 | + } | |
| 127 | + .img { | |
| 128 | + padding-bottom: 18rpx; | |
| 129 | + } | |
| 130 | + .deom-box { | |
| 131 | + width: 100%; | |
| 132 | + display: flex !important; | |
| 133 | + margin: 0 -20rpx; | |
| 134 | + background-color: #FFFFFF; | |
| 135 | + border-radius: 9px; | |
| 136 | + // margin-top: 9px; | |
| 137 | + width: 100%; | |
| 138 | + // .u-upload { | |
| 139 | + // .u-add-wrap { | |
| 140 | + // width: 304rpx !important; | |
| 141 | + // height: 182rpx !important; | |
| 142 | + // } | |
| 143 | + // } | |
| 144 | + // .u-upload { | |
| 145 | + // height: 88px; | |
| 146 | + // width: 155px; | |
| 147 | + // background: url(/static/images/uploadID1.png); | |
| 148 | + // background-size:134rpx 188rpx; | |
| 149 | + // background-repeat:no-repeat; | |
| 150 | + // } | |
| 151 | + .img-deom { | |
| 152 | + flex: 1; | |
| 153 | + display: flex; | |
| 154 | + flex-direction: column; | |
| 155 | + align-items: center; | |
| 156 | + padding: 20rpx; | |
| 157 | + text { | |
| 158 | + margin-top: 18rpx; | |
| 159 | + } | |
| 160 | + } | |
| 161 | + } | |
| 162 | + } | |
| 163 | + :last-child { | |
| 164 | + border-bottom: unset; | |
| 165 | + } | |
| 166 | + } | |
| 167 | + .footbtn{ | |
| 168 | + position: fixed; | |
| 169 | + bottom: 0; | |
| 170 | + left: 0; | |
| 171 | + z-index: 10; | |
| 172 | + height:180rpx; | |
| 173 | + width: 100%; | |
| 174 | + border-radius: 26rpx 26rpx 0 0; | |
| 175 | + background-color: #fff; | |
| 176 | + .info-total { | |
| 177 | + display: flex; | |
| 178 | + flex-direction: row; | |
| 179 | + align-items: center; | |
| 180 | + justify-content: space-between; | |
| 181 | + margin: 24rpx 50rpx; | |
| 182 | + font-weight: 700; | |
| 183 | + font-size: 24rpx; | |
| 184 | + span { | |
| 185 | + color: #0FBB59; | |
| 186 | + font-size: 32rpx | |
| 187 | + } | |
| 188 | + } | |
| 189 | + .footer-btn { | |
| 190 | + display: flex; | |
| 191 | + .u-btn { | |
| 192 | + width: 40%; | |
| 193 | + } | |
| 194 | + } | |
| 195 | + } | |
| 196 | +</style> | ... | ... |
pages/serve/serve.scss
0 → 100644
| 1 | +.page{ | |
| 2 | + position: absolute; | |
| 3 | + left: 0; | |
| 4 | + top: 0; | |
| 5 | + width: 100%; | |
| 6 | + height: 100%; | |
| 7 | +} | |
| 8 | +.screen-list { | |
| 9 | + display: flex; | |
| 10 | + align-items: center; | |
| 11 | + width: 100%; | |
| 12 | + margin: 20rpx 20rpx; | |
| 13 | + padding: 0 10rpx; | |
| 14 | + .zidong{ | |
| 15 | + width: 160rpx; | |
| 16 | + background-color: #3F9B6A; | |
| 17 | + color: #fff; | |
| 18 | + padding: 10rpx; | |
| 19 | + border-radius: 30rpx; | |
| 20 | + font-size: 24rpx; | |
| 21 | + text-align: center; | |
| 22 | + } | |
| 23 | + .list { | |
| 24 | + display: flex; | |
| 25 | + justify-content: center; | |
| 26 | + align-items: center; | |
| 27 | + width: 30%; | |
| 28 | + height: 100%; | |
| 29 | + background-color: #fff; | |
| 30 | + padding: 10rpx 16rpx; | |
| 31 | + border-radius: 18rpx; | |
| 32 | + color: #0FBB59; | |
| 33 | + text { | |
| 34 | + font-size: 26rpx; | |
| 35 | + } | |
| 36 | + image { | |
| 37 | + width: 30rpx; | |
| 38 | + height: 30rpx; | |
| 39 | + margin-left: 10rpx; | |
| 40 | + } | |
| 41 | + } | |
| 42 | + .action { | |
| 43 | + text { | |
| 44 | + color: $base; | |
| 45 | + } | |
| 46 | + } | |
| 47 | + } | |
| 48 | +/* 记录列表 */ | |
| 49 | +.record-list{ | |
| 50 | + margin: 0 20rpx; | |
| 51 | + .record-list-box { | |
| 52 | + background-color: #FFFFFF; | |
| 53 | + border-radius: 20rpx; | |
| 54 | + padding: 20rpx 30rpx; | |
| 55 | + margin-bottom: 20rpx; | |
| 56 | + .title { | |
| 57 | + display: flex; | |
| 58 | + .left { | |
| 59 | + font-size: 28rpx; | |
| 60 | + font-weight: 700; | |
| 61 | + } | |
| 62 | + .right { | |
| 63 | + width: 100rpx; | |
| 64 | + text-align: right; | |
| 65 | + color: #0FBB59; | |
| 66 | + } | |
| 67 | + } | |
| 68 | + .info-item { | |
| 69 | + line-height: 50rpx; | |
| 70 | + color: #808080; | |
| 71 | + } | |
| 72 | + } | |
| 73 | +} | ... | ... |
pages/serve/serve.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="page"> | |
| 3 | + <view class="screen-list"> | |
| 4 | + <view class="list"> | |
| 5 | + <text>服务记录</text> | |
| 6 | + <image :src="$imgUrl('/down.png')" ></image> | |
| 7 | + </view> | |
| 8 | + </view> | |
| 9 | + <!-- 记录列表 --> | |
| 10 | + <view class="record-list"> | |
| 11 | + <view class="record-list-box" v-for="(item,index) in recordList" :key="index" @click="recordXq(item)"> | |
| 12 | + <view class="list"> | |
| 13 | + <view class="title"> | |
| 14 | + <view class="left">报修:{{item.warrantyIssue}}</view> | |
| 15 | + <view class="right"><u-icon name="arrow-rightward"></u-icon></view> | |
| 16 | + </view> | |
| 17 | + <view class="info-item">申请时间:{{item.applicationTime}}</view> | |
| 18 | + <view class="info-item">状态:<span style="color: #0FBB59;">{{item.status=='1'?'受理中':'已完成'}}</span></view> | |
| 19 | + </view> | |
| 20 | + </view> | |
| 21 | + <view class="record-list-box" v-for="(item,index) in toushu" :key="index" @click="recordXq(item)"> | |
| 22 | + <view class="list"> | |
| 23 | + <view class="title"> | |
| 24 | + <view class="left">投诉:{{item.complaintType}}</view> | |
| 25 | + <view class="right"><u-icon name="arrow-rightward"></u-icon></view> | |
| 26 | + </view> | |
| 27 | + <view class="info-item">申请时间:{{item.applicationTime}}</view> | |
| 28 | + <view class="info-item">状态:<span style="color: #0FBB59;">{{item.status=='1'?'受理中':'已完成'}}</span></view> | |
| 29 | + </view> | |
| 30 | + </view> | |
| 31 | + </view> | |
| 32 | + </view> | |
| 33 | +</template> | |
| 34 | + | |
| 35 | +<script> | |
| 36 | + export default { | |
| 37 | + data() { | |
| 38 | + return { | |
| 39 | + recordList:[ | |
| 40 | + | |
| 41 | + ], | |
| 42 | + toushu:[], | |
| 43 | + pageindex: { | |
| 44 | + pageNumber: 1, | |
| 45 | + pageSize: 10 | |
| 46 | + }, | |
| 47 | + } | |
| 48 | + }, | |
| 49 | + mounted(){ | |
| 50 | + this.getALL() | |
| 51 | + }, | |
| 52 | + methods: { | |
| 53 | + getALL(){ | |
| 54 | + this.pageindex.applicant =uni.getStorageSync('shopId') | |
| 55 | + this.$http.sendRequest('/cereReportIssuesRepairs/queryByPage', 'POST',this.pageindex,1).then(res => { | |
| 56 | + this.recordList = res.data.data.content | |
| 57 | + }).catch(err => { | |
| 58 | + console.log(err) | |
| 59 | + //请求失败 | |
| 60 | + }) | |
| 61 | + this.$http.sendRequest('/cereComplaintsSuggestions/queryByPage', 'POST',this.pageindex,1).then(res => { | |
| 62 | + this.toushu = res.data.data.content | |
| 63 | + }).catch(err => { | |
| 64 | + console.log(err) | |
| 65 | + //请求失败 | |
| 66 | + }) | |
| 67 | + }, | |
| 68 | + recordXq(item){ | |
| 69 | + const encodedItem = encodeURIComponent(JSON.stringify(item)); | |
| 70 | + uni.navigateTo({ | |
| 71 | + url: `/pages/serve/jiDed?item=${encodedItem}`, | |
| 72 | + }) | |
| 73 | + }, | |
| 74 | + contractdetail(){ | |
| 75 | + // uni.navigateTo({ | |
| 76 | + | |
| 77 | + // }) | |
| 78 | + } | |
| 79 | + } | |
| 80 | + } | |
| 81 | +</script> | |
| 82 | + | |
| 83 | +<style scoped lang="scss"> | |
| 84 | + @import 'serve.scss'; | |
| 85 | +</style> | ... | ... |
pages/setPage/setPage.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="page"> | |
| 3 | + <u-form :model="form" ref="uForm" :label-width="120"> | |
| 4 | + <view class="form-box"> | |
| 5 | + <u-form-item label="发布端口" prop="publishPort" borderBottom> | |
| 6 | + <u-input v-model="form.publishPort" type="select" @click="fabuShow = true" | |
| 7 | + placeholder='请选择类型' /> | |
| 8 | + </u-form-item> | |
| 9 | + </view> | |
| 10 | + <view class="form-box"> | |
| 11 | + <u-form-item label="问卷类型" prop="questionnaireType" borderBottom> | |
| 12 | + <u-input v-model="form.questionnaireType" type="select" @click="typeShow = true" | |
| 13 | + placeholder='请选择类型' /> | |
| 14 | + </u-form-item> | |
| 15 | + </view> | |
| 16 | + <view class="form-box"> | |
| 17 | + <u-form-item label="问卷开始时间" prop="startDate" borderBottom> | |
| 18 | + <u-input v-model="form.startDate" type="select" @click="TimeStratshow = true" | |
| 19 | + placeholder="请选择" /> | |
| 20 | + <u-picker mode="time" v-model="TimeStratshow" :params="params1" | |
| 21 | + @confirm="TimeStratshowChange"></u-picker> | |
| 22 | + </u-form-item> | |
| 23 | + </view> | |
| 24 | + <view class="form-box"> | |
| 25 | + <u-form-item label="问卷结束时间" prop="endDate" borderBottom> | |
| 26 | + <u-input v-model="form.endDate" type="select" @click="TimeEndshow = true" | |
| 27 | + placeholder="请选择" /> | |
| 28 | + <u-picker mode="time" v-model="TimeEndshow" :params="params1" | |
| 29 | + @confirm="TimeEndshowChange"></u-picker> | |
| 30 | + </u-form-item> | |
| 31 | + </view> | |
| 32 | + | |
| 33 | + <view class="form-box"> | |
| 34 | + <u-form-item label="预计填写时长" prop="estimatedTime" borderBottom> | |
| 35 | + <u-input v-model="form.estimatedTime"></u-input> | |
| 36 | + </u-form-item> | |
| 37 | + | |
| 38 | + </view> | |
| 39 | + <view class="form-box"> | |
| 40 | + <u-form-item label="问卷封面" prop="coverImage" borderBottom labelPosition="top"> | |
| 41 | + <u-upload :action="$upload" :auto-upload="true" ref="coverImage" :max-count="1"></u-upload> | |
| 42 | + </u-form-item> | |
| 43 | + | |
| 44 | + </view> | |
| 45 | + | |
| 46 | + | |
| 47 | + </u-form> | |
| 48 | + <u-select v-model="typeShow" :list="questionnaireType" @confirm="typeChange"></u-select> | |
| 49 | + <u-select v-model="fabuShow" :list="fabuDuan" @confirm="fabuChange"></u-select> | |
| 50 | + <view class="page-footer"> | |
| 51 | + <u-button type="success" @click="tijiao">确定</u-button> | |
| 52 | + <u-button type="success" @click="fanhui">返回</u-button> | |
| 53 | + </view> | |
| 54 | + </view> | |
| 55 | +</template> | |
| 56 | + | |
| 57 | +<script> | |
| 58 | + export default { | |
| 59 | + data() { | |
| 60 | + return { | |
| 61 | + form: { | |
| 62 | + rewardForParticipation:'不设置奖励', | |
| 63 | + publishPort:'', | |
| 64 | + questionnaireType:'', | |
| 65 | + startDate:'', | |
| 66 | + endDate:'', | |
| 67 | + estimatedTime:'', | |
| 68 | + coverImage:'', | |
| 69 | + reviewStatus:'1', | |
| 70 | + }, | |
| 71 | + fabuShow:false, | |
| 72 | + TimeStratshow: false, | |
| 73 | + TimeEndshow:false, | |
| 74 | + typeShow: false, | |
| 75 | + params1: { | |
| 76 | + year: true, | |
| 77 | + month: true, | |
| 78 | + day: true, | |
| 79 | + | |
| 80 | + }, | |
| 81 | + questionnaireType: [{ | |
| 82 | + value: 1, | |
| 83 | + label: '物业问卷' | |
| 84 | + }, | |
| 85 | + { | |
| 86 | + value: 2, | |
| 87 | + label: '招商问卷' | |
| 88 | + },{ | |
| 89 | + value: 3, | |
| 90 | + label: '满意度问卷' | |
| 91 | + } | |
| 92 | + ], | |
| 93 | + fabuDuan: [{ | |
| 94 | + value: 1, | |
| 95 | + label: '用户端' | |
| 96 | + }, { | |
| 97 | + | |
| 98 | + value: 2, | |
| 99 | + label: '商家端' | |
| 100 | + | |
| 101 | + }], | |
| 102 | + value:0, | |
| 103 | + ules:'' | |
| 104 | + } | |
| 105 | + }, | |
| 106 | + methods:{ | |
| 107 | + go(urls){ | |
| 108 | + uni.navigateTo({ | |
| 109 | + url:`${urls}` | |
| 110 | + }) | |
| 111 | + }, | |
| 112 | + typeChange(e) { | |
| 113 | + this.form.questionnaireType = e[0].label; | |
| 114 | + }, | |
| 115 | + fabuChange(e) { | |
| 116 | + this.form.publishPort = e[0].label; | |
| 117 | + }, | |
| 118 | + | |
| 119 | + TimeStratshowChange(val){ | |
| 120 | + this.form.startDate = this.timeChange(val) | |
| 121 | + this.form.endDate = '' | |
| 122 | + }, | |
| 123 | + TimeEndshowChange(val){ | |
| 124 | + const time = this.timeChange(val) | |
| 125 | + if (new Date(time).getTime() > new Date(this.form.startDate).getTime()) { | |
| 126 | + this.form.endDate = time | |
| 127 | + } else { | |
| 128 | + this.$refs.uToast.show({ | |
| 129 | + title: '结束时间不能小于开始时间', | |
| 130 | + type: 'error', | |
| 131 | + }) | |
| 132 | + } | |
| 133 | + }, | |
| 134 | + timeChange(val) { | |
| 135 | + const { | |
| 136 | + year, | |
| 137 | + month, | |
| 138 | + day | |
| 139 | + } = val; | |
| 140 | + return `${year}-${month}-${day}`; | |
| 141 | + }, | |
| 142 | + tijiao(){ | |
| 143 | + let files = [] | |
| 144 | + files = this.$refs.coverImage.lists.filter(val => { | |
| 145 | + return val.progress == 100; | |
| 146 | + }) | |
| 147 | + files.map(item => { | |
| 148 | + this.form.coverImage = item.response.data.url | |
| 149 | + }) | |
| 150 | + let data = JSON.stringify(this.form) | |
| 151 | + uni.navigateTo({ | |
| 152 | + url:`/pages/createQuestionnaire/createQuestionnaire?data=${data}` | |
| 153 | + }) | |
| 154 | + }, | |
| 155 | + fanhui(){ | |
| 156 | + uni.navigateTo({ | |
| 157 | + url:`/pages/createQuestionnaire/createQuestionnaire` | |
| 158 | + }) | |
| 159 | + }, | |
| 160 | + } | |
| 161 | + } | |
| 162 | +</script> | |
| 163 | + | |
| 164 | +<style scoped lang="scss"> | |
| 165 | + .page{ | |
| 166 | + padding: 0 20rpx 20rpx; | |
| 167 | + background-color: #f6f6f6; | |
| 168 | + font-size: 24rpx; | |
| 169 | + font-weight: 500; | |
| 170 | + position: relative; | |
| 171 | + .form-box { | |
| 172 | + padding: 0 4%; | |
| 173 | + background-color: #FFFFFF; | |
| 174 | + border-radius: 20rpx; | |
| 175 | + margin-top: 20rpx; | |
| 176 | + width: 100%; | |
| 177 | + | |
| 178 | + } | |
| 179 | + ::v-deep .u-form-item--left{ | |
| 180 | + width:20%; | |
| 181 | + flex:none; | |
| 182 | + } | |
| 183 | + .select-item { | |
| 184 | + background-color: #FFFFFF; | |
| 185 | + border-radius: 20rpx; | |
| 186 | + margin-top: 20rpx; | |
| 187 | + width: 100%; | |
| 188 | + .top { | |
| 189 | + padding: 22rpx 4%; | |
| 190 | + .title { | |
| 191 | + font-size: 30rpx; | |
| 192 | + margin-bottom: 20rpx; | |
| 193 | + } | |
| 194 | + .radio-box { | |
| 195 | + font-size: 24rpx; | |
| 196 | + color: #7c7c7c; | |
| 197 | + } | |
| 198 | + } | |
| 199 | + .bottom { | |
| 200 | + padding: 20rpx 4%; | |
| 201 | + display: flex; | |
| 202 | + background-color: #EDFFF5; | |
| 203 | + border: #0FBB59 solid 1rpx; | |
| 204 | + border-radius: 0 0 20rpx 20rpx; | |
| 205 | + .u-btn { | |
| 206 | + width: 18%; | |
| 207 | + } | |
| 208 | + :first-child { | |
| 209 | + margin-left: 0; | |
| 210 | + } | |
| 211 | + :last-child { | |
| 212 | + margin-right: 0; | |
| 213 | + } | |
| 214 | + } | |
| 215 | + } | |
| 216 | + .page-footer{ | |
| 217 | + position: fixed; | |
| 218 | + left: 0; | |
| 219 | + bottom: 0; | |
| 220 | + display: flex; | |
| 221 | + flex-direction: row; | |
| 222 | + align-items: center; | |
| 223 | + justify-content: space-between; | |
| 224 | + width: 100%; | |
| 225 | + height: 120rpx; | |
| 226 | + background-color: #FFFFFF; | |
| 227 | + padding-bottom: constant(safe-area-inset-bottom); | |
| 228 | + padding-bottom: env(safe-area-inset-bottom); | |
| 229 | + .u-btn { | |
| 230 | + width: 30%; | |
| 231 | + } | |
| 232 | + .u-icon { | |
| 233 | + margin-right: 10rpx; | |
| 234 | + } | |
| 235 | + } | |
| 236 | + } | |
| 237 | +</style> | |
| 0 | 238 | \ No newline at end of file | ... | ... |
pages/shopjcMsg/shopjcMsg.vue
| ... | ... | @@ -95,9 +95,12 @@ |
| 95 | 95 | </u-row> |
| 96 | 96 | </view> |
| 97 | 97 | </view> |
| 98 | + <view class="margin: 0 30px;"> | |
| 99 | + <u-button style="height: 35px;background-color: #3F9B6A;color: #fff" @click="quitUser" >退出登录</u-button> | |
| 100 | + </view> | |
| 98 | 101 | </view> |
| 99 | 102 | |
| 100 | - | |
| 103 | + | |
| 101 | 104 | </view> |
| 102 | 105 | </template> |
| 103 | 106 | |
| ... | ... | @@ -119,7 +122,14 @@ |
| 119 | 122 | methods: { |
| 120 | 123 | reconciliationdetail(item) { |
| 121 | 124 | let items = JSON.stringify(item) |
| 122 | - } | |
| 125 | + }, | |
| 126 | + quitUser(){ | |
| 127 | + uni.removeStorageSync('shopId') | |
| 128 | + uni.removeStorageSync('token') | |
| 129 | + uni.switchTab({ | |
| 130 | + url: '/pages/home/home' | |
| 131 | + }) | |
| 132 | + }, | |
| 123 | 133 | |
| 124 | 134 | } |
| 125 | 135 | } | ... | ... |
pages/shops/shops.scss
pages/shops/shops.vue
| ... | ... | @@ -2,8 +2,8 @@ |
| 2 | 2 | <view class="page"> |
| 3 | 3 | <!-- 搜索 --> |
| 4 | 4 | <view class="head-search"> |
| 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> | |
| 5 | + <u-search bg-color="#fff" placeholder="请输入" v-model="query.shopName" :show-action="false" @search="search" @clear="clearGet"></u-search> | |
| 6 | + <u-button type="success" @click="search" style="height:32px;">搜索</u-button> | |
| 7 | 7 | </view> |
| 8 | 8 | <view class="screen-list"> |
| 9 | 9 | <view class="list" @click="show = true"> |
| ... | ... | @@ -11,17 +11,13 @@ |
| 11 | 11 | <image :src="$imgUrl('/down.png')"></image> |
| 12 | 12 | <u-select v-model="show" :list="areList" @confirm="(v) => {queryChange('belongingRegion', v)}"></u-select> |
| 13 | 13 | </view> |
| 14 | - <view class="list" @click="setList(1)"> | |
| 14 | + <!-- <view class="list" @click="setList(1)"> | |
| 15 | 15 | <text>租金</text> |
| 16 | 16 | <image :src="$imgUrl('/down.png')"></image> |
| 17 | 17 | </view> |
| 18 | 18 | <view class="list" @click="setList(2)"> |
| 19 | 19 | <text>默认排序</text> |
| 20 | 20 | <image :src="$imgUrl('/down.png')"></image> |
| 21 | - </view> | |
| 22 | - <!-- <view class="list" @click="setList(3)"> | |
| 23 | - <text>筛选</text> | |
| 24 | - <image :src="`${this.$imgs}/down.png`" ></image> | |
| 25 | 21 | </view> --> |
| 26 | 22 | <view class="zidong" @click="zidong"> |
| 27 | 23 | 自动匹配 |
| ... | ... | @@ -52,7 +48,7 @@ |
| 52 | 48 | <view class="retail-price"> |
| 53 | 49 | <text>租金:</text> |
| 54 | 50 | <text class="min">¥</text> |
| 55 | - <text class="max">{{zujinList[index].price}}</text> | |
| 51 | + <text class="max">{{item.id * 10}}</text> | |
| 56 | 52 | <text class="min">/月</text> |
| 57 | 53 | <text class="line"></text> |
| 58 | 54 | <text>面积:</text> |
| ... | ... | @@ -77,7 +73,7 @@ |
| 77 | 73 | <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> |
| 78 | 74 | <text class="sc" style="color: #979797;font-size: 30rpx;">意向区域</text> |
| 79 | 75 | <view @click="showS(2)"> |
| 80 | - <text class="mc" style="margin-right: 10rpx;"> {{formList.quyu ==''?'请选择':formList.quyu}}</text> | |
| 76 | + <text class="mc" style="margin-right: 10rpx;"> {{formList.belongingRegion ==''?'请选择':formList.belongingRegion}}</text> | |
| 81 | 77 | <u-icon name="arrow-down"></u-icon> |
| 82 | 78 | </view> |
| 83 | 79 | </view> |
| ... | ... | @@ -102,7 +98,7 @@ |
| 102 | 98 | <u-icon name="arrow-down"></u-icon> |
| 103 | 99 | </view> |
| 104 | 100 | </view> |
| 105 | - <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 101 | + <!-- <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 106 | 102 | <view class="sc" style="color: #979797;font-size: 30rpx;line-height: 200%;">租赁人姓名</view> |
| 107 | 103 | <view style="width: 20%"> |
| 108 | 104 | <u-input v-model="formList.name" type="text" :border="false" placeholder="请输入" :clearable="false" /> |
| ... | ... | @@ -113,7 +109,7 @@ |
| 113 | 109 | <view style="width: 20%"> |
| 114 | 110 | <u-input v-model="formList.phone" type="text" :border="false" placeholder="请输入" :clearable="false"/> |
| 115 | 111 | </view> |
| 116 | - </view> | |
| 112 | + </view> --> | |
| 117 | 113 | <view class="" style="text-align: center;padding: 16rpx 0;background-color: #00BE4B;color: #fff;border-radius: 20rpx;margin: 20rpx 0;" @click="request"> |
| 118 | 114 | 确定 |
| 119 | 115 | </view> |
| ... | ... | @@ -130,8 +126,10 @@ |
| 130 | 126 | data() { |
| 131 | 127 | return { |
| 132 | 128 | query: { |
| 133 | - keyword:'', | |
| 129 | + shopName:'', | |
| 134 | 130 | belongingRegion: '', |
| 131 | + pageNumber: 1, | |
| 132 | + pageSize: 10 , | |
| 135 | 133 | }, |
| 136 | 134 | pageindex: { |
| 137 | 135 | pageNumber: 1, |
| ... | ... | @@ -153,12 +151,14 @@ |
| 153 | 151 | zidongS: false, |
| 154 | 152 | formList: { |
| 155 | 153 | zulei: '', |
| 156 | - quyu: '', | |
| 154 | + belongingRegion: '', | |
| 157 | 155 | zuqi:'', |
| 158 | 156 | zujin: '', |
| 159 | 157 | mianji:'', |
| 160 | 158 | name:'', |
| 161 | - phone:'' | |
| 159 | + phone:'', | |
| 160 | + pageNumber: 1, | |
| 161 | + pageSize: 10, | |
| 162 | 162 | }, |
| 163 | 163 | showSex: false, |
| 164 | 164 | show:false, |
| ... | ... | @@ -204,8 +204,10 @@ |
| 204 | 204 | }, |
| 205 | 205 | // 查询 |
| 206 | 206 | search() { |
| 207 | - this.pageindex = { pageNumber: 1, pageSize: 10 }; | |
| 208 | - this.getAll(); | |
| 207 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.query, 1).then(res => { | |
| 208 | + //成功回调 | |
| 209 | + this.tableData = res.data.data.content | |
| 210 | + }) | |
| 209 | 211 | }, |
| 210 | 212 | queryChange(key, val) { |
| 211 | 213 | this.query[`${key}`] = val[0].value; |
| ... | ... | @@ -231,69 +233,98 @@ |
| 231 | 233 | value: '1', |
| 232 | 234 | label: '商铺' |
| 233 | 235 | }, |
| 234 | - { | |
| 235 | - value: '2', | |
| 236 | - label: '临铺' | |
| 237 | - }, | |
| 238 | - { | |
| 239 | - value: '3', | |
| 240 | - label: '广告位' | |
| 241 | - } | |
| 236 | + // { | |
| 237 | + // value: '2', | |
| 238 | + // label: '临铺' | |
| 239 | + // }, | |
| 240 | + // { | |
| 241 | + // value: '3', | |
| 242 | + // label: '广告位' | |
| 243 | + // } | |
| 242 | 244 | ] |
| 243 | 245 | |
| 244 | 246 | }else if(val ==2 ){ |
| 245 | 247 | this.companys = [ |
| 246 | 248 | { |
| 247 | 249 | value: '1', |
| 248 | - label: '成华' | |
| 250 | + label: '成华区' | |
| 249 | 251 | }, |
| 250 | 252 | { |
| 251 | 253 | value: '2', |
| 252 | - label: '锦江' | |
| 253 | - } | |
| 254 | + label: '武侯区' | |
| 255 | + }, | |
| 256 | + { | |
| 257 | + value: '3', | |
| 258 | + label: '锦江区' | |
| 259 | + }, | |
| 260 | + { | |
| 261 | + value: '4', | |
| 262 | + label: '青羊区' | |
| 263 | + }, | |
| 264 | + { | |
| 265 | + value: '5', | |
| 266 | + label: '金牛区' | |
| 267 | + }, | |
| 268 | + { | |
| 269 | + value: '6', | |
| 270 | + label: '双流区' | |
| 271 | + }, | |
| 272 | + { | |
| 273 | + value: '7', | |
| 274 | + label: '郫都区' | |
| 275 | + }, | |
| 276 | + { | |
| 277 | + value: '8', | |
| 278 | + label: '龙泉驿区' | |
| 279 | + }, | |
| 280 | + { | |
| 281 | + value: '9', | |
| 282 | + label: '温江区' | |
| 283 | + } | |
| 284 | + | |
| 285 | + | |
| 254 | 286 | ] |
| 255 | 287 | }else if(val == 3){ |
| 256 | 288 | this.companys = [ |
| 257 | 289 | { |
| 258 | 290 | value: '1', |
| 259 | - label: '2024-10-1' | |
| 291 | + label: '1年' | |
| 260 | 292 | }, |
| 261 | 293 | { |
| 262 | 294 | value: '2', |
| 263 | - label: '2024-12-1' | |
| 295 | + label: '2年' | |
| 264 | 296 | } |
| 265 | 297 | ] |
| 266 | 298 | }else if(val == 4){ |
| 267 | 299 | this.companys = [ |
| 268 | 300 | { |
| 269 | 301 | value: '1', |
| 270 | - label: '5000' | |
| 302 | + label: '0-5000' | |
| 271 | 303 | }, |
| 272 | 304 | { |
| 273 | 305 | value: '2', |
| 274 | - label: '10000' | |
| 306 | + label: '5000-10000' | |
| 275 | 307 | } |
| 276 | 308 | ] |
| 277 | 309 | }else{ |
| 278 | 310 | this.companys = [ |
| 279 | 311 | { |
| 280 | 312 | value: '1', |
| 281 | - label: '50' | |
| 313 | + label: '0-100' | |
| 282 | 314 | }, |
| 283 | 315 | { |
| 284 | 316 | value: '2', |
| 285 | - label: '100' | |
| 317 | + label: '100-200' | |
| 286 | 318 | } |
| 287 | 319 | ] |
| 288 | 320 | } |
| 289 | 321 | this.show = true |
| 290 | 322 | }, |
| 291 | 323 | handleCompanyConfirm(e){ |
| 292 | - console.log(e) | |
| 293 | 324 | if(this.index == 1){ |
| 294 | 325 | this.formList.zulei = e[0].label |
| 295 | 326 | }else if(this.index == 2){ |
| 296 | - this.formList.quyu = e[0].label | |
| 327 | + this.formList.belongingRegion = e[0].label | |
| 297 | 328 | }else if(this.index == 3){ |
| 298 | 329 | this.formList.zuqi = e[0].label |
| 299 | 330 | }else if(this.index == 4){ |
| ... | ... | @@ -304,7 +335,6 @@ |
| 304 | 335 | |
| 305 | 336 | }, |
| 306 | 337 | setList(val){ |
| 307 | - console.log(val) | |
| 308 | 338 | this.xuanval = val |
| 309 | 339 | if(val == 0){ |
| 310 | 340 | const filteredTableData = this.tableData.filter(item => item.hasOwnProperty('belongingRegion')); |
| ... | ... | @@ -335,13 +365,29 @@ |
| 335 | 365 | this.tableData = res.data.data.content |
| 336 | 366 | }) |
| 337 | 367 | }, |
| 338 | - sousu(){ | |
| 339 | - if(this.keyword != ''){ | |
| 340 | - | |
| 341 | - } | |
| 368 | + clearGet(){ | |
| 369 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.pageindex, 1).then(res => { | |
| 370 | + //成功回调 | |
| 371 | + this.tableData = res.data.data.content | |
| 372 | + }) | |
| 342 | 373 | }, |
| 343 | 374 | request(){ |
| 344 | - console.log(this.formList) | |
| 375 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.formList, 1).then(res => { | |
| 376 | + //成功回调 | |
| 377 | + this.tableData = res.data.data.content | |
| 378 | + }) | |
| 379 | + this.formList = { | |
| 380 | + zulei: '', | |
| 381 | + belongingRegion: '', | |
| 382 | + zuqi:'', | |
| 383 | + zujin: '', | |
| 384 | + mianji:'', | |
| 385 | + name:'', | |
| 386 | + phone:'', | |
| 387 | + pageNumber: 1, | |
| 388 | + pageSize: 10, | |
| 389 | + | |
| 390 | + } | |
| 345 | 391 | this.zidongS = false |
| 346 | 392 | } |
| 347 | 393 | } | ... | ... |
pages/ticketBooking/ticketBooking.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="pages"> | |
| 3 | + <view style="padding: 10px; background-color: #fff;width: 70%;align-items: center;flex-direction: column;display: flex;margin-bottom: 10px; "> | |
| 4 | + <view class="title"> | |
| 5 | + 抖音订票渠道 | |
| 6 | + </view> | |
| 7 | + <!-- <img :src="$imgUrl('/piaowu2.png')" alt="" style="width: 90%;" @longpress="longpressEvent"> --> | |
| 8 | + <!-- <view catchtap="prImg"> | |
| 9 | + | |
| 10 | + </view>\ --> | |
| 11 | + <img :src="$imgUrl('/dy.jpg')" alt="" style="width: 90%;" /> | |
| 12 | + </view> | |
| 13 | + <view style="padding: 10px; background-color: #fff;width: 70%;align-items: center;flex-direction: column;display: flex;margin-bottom: 10px; "> | |
| 14 | + <view class="title"> | |
| 15 | + 携程官方订票渠道 | |
| 16 | + </view> | |
| 17 | + <!-- <img :src="$imgUrl('/piaowu3.png')" alt="" style="width: 90%;"> --> | |
| 18 | + <img :src="$imgUrl('/piaowu5.png')" alt="" style="width: 90%;"/> | |
| 19 | + </view> | |
| 20 | + </view> | |
| 21 | +</template> | |
| 22 | + | |
| 23 | +<script> | |
| 24 | + export default { | |
| 25 | + methods: { | |
| 26 | + | |
| 27 | + longPressHandler(e){ | |
| 28 | + let src = e.currentTarget.dataset.src | |
| 29 | + wx.scanCode({ | |
| 30 | + scanType: ['qrCode'], | |
| 31 | + success: function(res) { | |
| 32 | + console.log(res.result); | |
| 33 | + } | |
| 34 | + }) | |
| 35 | + | |
| 36 | + }, | |
| 37 | + // longpressEvent() { | |
| 38 | + // wx.scanCode({ | |
| 39 | + // success: res => { | |
| 40 | + // // 扫描成功,res.result为扫描结果 | |
| 41 | + // if (res.resultType === 'qrCode') { // 判断是否为二维码 | |
| 42 | + // // 进行跳转逻辑处理 | |
| 43 | + // } | |
| 44 | + // }, | |
| 45 | + // fail: err => { | |
| 46 | + // // 扫描失败,处理错误信息 | |
| 47 | + // } | |
| 48 | + // }) | |
| 49 | + // }, | |
| 50 | + // prImg(){ | |
| 51 | + // wx.previewImage({urls:['../../static/images/dy.jpg']}) | |
| 52 | + // } | |
| 53 | + } | |
| 54 | + } | |
| 55 | +</script> | |
| 56 | + | |
| 57 | +<style> | |
| 58 | + .pages{ | |
| 59 | + padding-top: 20px; | |
| 60 | + display: flex; | |
| 61 | + width: 100%; | |
| 62 | + align-items: center; | |
| 63 | + flex-direction: column; | |
| 64 | + } | |
| 65 | + .title{ | |
| 66 | + padding: 10px 0; | |
| 67 | + font-size: 20px; | |
| 68 | + } | |
| 69 | +</style> | |
| 0 | 70 | \ No newline at end of file | ... | ... |
pages/workbench/workbench.scss
| ... | ... | @@ -74,13 +74,12 @@ |
| 74 | 74 | .main { |
| 75 | 75 | position: relative; |
| 76 | 76 | top: 90rpx; |
| 77 | - padding-bottom: 150rpx; | |
| 77 | + padding-bottom: 20px; | |
| 78 | 78 | /* #ifdef MP */ |
| 79 | 79 | top: 170rpx; |
| 80 | - padding-bottom: 200rpx; | |
| 80 | + padding-bottom: 20px; | |
| 81 | 81 | /* #endif */ |
| 82 | 82 | margin: 0 20rpx; |
| 83 | - | |
| 84 | 83 | } |
| 85 | 84 | .banner { |
| 86 | 85 | height: 330rpx; | ... | ... |
pages/workbench/workbench.vue
| ... | ... | @@ -14,7 +14,37 @@ |
| 14 | 14 | </view> |
| 15 | 15 | </view> |
| 16 | 16 | <view class="main"> |
| 17 | - <view class="bg-white" v-for="item in pageList" :key="item.id"> | |
| 17 | + <view class="bg-white" v-for="item in pageList1" :key="item.id"> | |
| 18 | + <view class="bidding-title"><view class="bidding-title-line"></view>{{item.title}}</view> | |
| 19 | + <view class="wallet-info"> | |
| 20 | + <view class="list" v-for="v in item.children" :key="v.name" @click="toPath(v.path)"> | |
| 21 | + <view class="icon"> | |
| 22 | + <image :src="$imgUrl(`${v.img}`)"></image> | |
| 23 | + </view> | |
| 24 | + <view class="title"> | |
| 25 | + <text>{{v.name}}</text> | |
| 26 | + </view> | |
| 27 | + </view> | |
| 28 | + </view> | |
| 29 | + </view> | |
| 30 | + </view> | |
| 31 | + <view class="main"> | |
| 32 | + <view class="bg-white" v-for="item in pageList2" :key="item.id"> | |
| 33 | + <view class="bidding-title"><view class="bidding-title-line"></view>{{item.title}}</view> | |
| 34 | + <view class="wallet-info"> | |
| 35 | + <view class="list" v-for="v in item.children" :key="v.name" @click="toPath(v.path)"> | |
| 36 | + <view class="icon"> | |
| 37 | + <image :src="$imgUrl(`${v.img}`)"></image> | |
| 38 | + </view> | |
| 39 | + <view class="title"> | |
| 40 | + <text>{{v.name}}</text> | |
| 41 | + </view> | |
| 42 | + </view> | |
| 43 | + </view> | |
| 44 | + </view> | |
| 45 | + </view> | |
| 46 | + <view class="main"> | |
| 47 | + <view class="bg-white" v-for="item in pageList3" :key="item.id"> | |
| 18 | 48 | <view class="bidding-title"><view class="bidding-title-line"></view>{{item.title}}</view> |
| 19 | 49 | <view class="wallet-info"> |
| 20 | 50 | <view class="list" v-for="v in item.children" :key="v.name" @click="toPath(v.path)"> |
| ... | ... | @@ -41,16 +71,16 @@ |
| 41 | 71 | }, |
| 42 | 72 | data() { |
| 43 | 73 | return { |
| 44 | - pageList: [ | |
| 74 | + pageList1: [ | |
| 45 | 75 | { |
| 46 | 76 | id: 1, |
| 47 | 77 | title: '招商服务', |
| 48 | 78 | children: [ |
| 49 | - { name: '文件调查', img: '/workbench1.png', path: '/pages/questionnaire/questionnaire' }, | |
| 79 | + { name: '问卷调查', img: '/workbench1.png', path: '/pages/questionnaire/questionnaire' }, | |
| 50 | 80 | // { name: '招商方案', img: '/workbench2.png', path: '/pages/Iproposal/Iproposal' }, |
| 51 | - { name: '活动参与', img: '/workbench3.png', path: '/pages/participation/participation' }, | |
| 52 | - { name: '我的活动申请', img: '/workbench4.png', path: '/pages/mycreated/mycreated' }, | |
| 53 | - { name: '销售上报', img: '/workbench5.png', path: '/pages/salesReporting/salesReporting' }, | |
| 81 | + // { name: '活动参与', img: '/workbench3.png', path: '/pages/participation/participation' }, | |
| 82 | + // { name: '我的活动申请', img: '/workbench4.png', path: '/pages/mycreated/mycreated' }, | |
| 83 | + // { name: '销售上报', img: '/workbench5.png', path: '/pages/salesReporting/salesReporting' }, | |
| 54 | 84 | ] |
| 55 | 85 | }, |
| 56 | 86 | // { |
| ... | ... | @@ -84,9 +114,67 @@ |
| 84 | 114 | // ] |
| 85 | 115 | // }, |
| 86 | 116 | ], |
| 117 | + pageList2: [ | |
| 118 | + { | |
| 119 | + id: 1, | |
| 120 | + title: '活动管理', | |
| 121 | + children: [ | |
| 122 | + // { name: '文件调查', img: '/workbench1.png', path: '/pages/questionnaire/questionnaire' }, | |
| 123 | + // { name: '招商方案', img: '/workbench2.png', path: '/pages/Iproposal/Iproposal' }, | |
| 124 | + { name: '我的活动', img: '/workbench3.png', path: '/pages/participation/participation' }, | |
| 125 | + { name: '活动申请', img: '/workbench4.png', path: '/pages/mycreated/mycreated' }, | |
| 126 | + // { name: '销售上报', img: '/workbench5.png', path: '/pages/salesReporting/salesReporting' }, | |
| 127 | + ] | |
| 128 | + }, | |
| 129 | + ], | |
| 130 | + pageList3: [ | |
| 131 | + { | |
| 132 | + id: 1, | |
| 133 | + title: '销售上报与统计', | |
| 134 | + children: [ | |
| 135 | + // { name: '文件调查', img: '/workbench1.png', path: '/pages/questionnaire/questionnaire' }, | |
| 136 | + // { name: '招商方案', img: '/workbench2.png', path: '/pages/Iproposal/Iproposal' }, | |
| 137 | + // { name: '我的活动', img: '/workbench3.png', path: '/pages/participation/participation' }, | |
| 138 | + // { name: '活动申请', img: '/workbench4.png', path: '/pages/mycreated/mycreated' }, | |
| 139 | + { name: '销售上报', img: '/workbench5.png', path: '/pages/saleReport/saleReport' }, | |
| 140 | + { name: '销售统计', img: '/workbench5.png', path: '/pages/salesReporting/salesReporting' }, | |
| 141 | + ] | |
| 142 | + }, | |
| 143 | + ], | |
| 87 | 144 | scrollTop: 0, |
| 88 | 145 | }; |
| 89 | 146 | }, |
| 147 | + onShow() { | |
| 148 | + let shopId = { | |
| 149 | + shopId:uni.getStorageSync('shopId') || '' | |
| 150 | + } | |
| 151 | + const isLogin = uni.getStorageSync('token'); | |
| 152 | + if (isLogin =='') { | |
| 153 | + // 如果未登录,跳转到登录页面 | |
| 154 | + uni.navigateTo({ | |
| 155 | + url: '/pages/login/login' | |
| 156 | + }) | |
| 157 | + }else{ | |
| 158 | + let page={ | |
| 159 | + condition:2 | |
| 160 | + } | |
| 161 | + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => { | |
| 162 | + if(res.data.code !="20004"){ | |
| 163 | + this.shopMsg = res.data.data | |
| 164 | + this.Islogin= false | |
| 165 | + this.$http.sendRequest('/index/index', 'POST',page).then(res => { | |
| 166 | + //成功回调 | |
| 167 | + this.tongji = res.data.data | |
| 168 | + }) | |
| 169 | + }else{ | |
| 170 | + uni.navigateTo({ | |
| 171 | + url: '/pages/login/login' | |
| 172 | + }) | |
| 173 | + } | |
| 174 | + }) | |
| 175 | + } | |
| 176 | + | |
| 177 | + }, | |
| 90 | 178 | onReady() { |
| 91 | 179 | uni.hideTabBar() |
| 92 | 180 | }, | ... | ... |
project.config.json
0 → 100644
| 1 | +{ | |
| 2 | + "description": "项目配置文件", | |
| 3 | + "packOptions": { | |
| 4 | + "ignore": [] | |
| 5 | + }, | |
| 6 | + "setting": { | |
| 7 | + "bundle": false, | |
| 8 | + "userConfirmedBundleSwitch": false, | |
| 9 | + "urlCheck": true, | |
| 10 | + "scopeDataCheck": false, | |
| 11 | + "coverView": true, | |
| 12 | + "es6": true, | |
| 13 | + "postcss": true, | |
| 14 | + "compileHotReLoad": false, | |
| 15 | + "lazyloadPlaceholderEnable": false, | |
| 16 | + "preloadBackgroundData": false, | |
| 17 | + "minified": true, | |
| 18 | + "autoAudits": false, | |
| 19 | + "newFeature": false, | |
| 20 | + "uglifyFileName": false, | |
| 21 | + "uploadWithSourceMap": true, | |
| 22 | + "useIsolateContext": true, | |
| 23 | + "nodeModules": false, | |
| 24 | + "enhance": true, | |
| 25 | + "useMultiFrameRuntime": true, | |
| 26 | + "useApiHook": true, | |
| 27 | + "useApiHostProcess": true, | |
| 28 | + "showShadowRootInWxmlPanel": true, | |
| 29 | + "packNpmManually": false, | |
| 30 | + "enableEngineNative": false, | |
| 31 | + "packNpmRelationList": [], | |
| 32 | + "minifyWXSS": true, | |
| 33 | + "showES6CompileOption": false, | |
| 34 | + "minifyWXML": true | |
| 35 | + }, | |
| 36 | + "compileType": "miniprogram", | |
| 37 | + "libVersion": "3.6.4", | |
| 38 | + "appid": "wx005c61919377e6af", | |
| 39 | + "projectname": "miniprogram-1", | |
| 40 | + "debugOptions": { | |
| 41 | + "hidedInDevtools": [] | |
| 42 | + }, | |
| 43 | + "scripts": {}, | |
| 44 | + "staticServerOptions": { | |
| 45 | + "baseURL": "", | |
| 46 | + "servePath": "" | |
| 47 | + }, | |
| 48 | + "isGameTourist": false, | |
| 49 | + "condition": { | |
| 50 | + "search": { | |
| 51 | + "list": [] | |
| 52 | + }, | |
| 53 | + "conversation": { | |
| 54 | + "list": [] | |
| 55 | + }, | |
| 56 | + "game": { | |
| 57 | + "list": [] | |
| 58 | + }, | |
| 59 | + "plugin": { | |
| 60 | + "list": [] | |
| 61 | + }, | |
| 62 | + "gamePlugin": { | |
| 63 | + "list": [] | |
| 64 | + }, | |
| 65 | + "miniprogram": { | |
| 66 | + "list": [] | |
| 67 | + } | |
| 68 | + } | |
| 69 | +} | |
| 0 | 70 | \ No newline at end of file | ... | ... |
static/images/back-icon.png deleted
135 KB
static/images/front-icon.png deleted
135 KB
static/images/location-icon.png deleted
548 Bytes
static/images/sevice-icon.png deleted
1.7 KB
static/images/share-icon.png deleted
1.44 KB
static/images/uploadID1.png deleted
8.59 KB
static/images/uploadID2.png deleted
8.13 KB
uni_modules/wn-calendar/components/wn-calendar/wn-calendar.vue
unpackage/res/icons/1024x1024.png deleted
73.4 KB
unpackage/res/icons/120x120.png deleted
3.33 KB
unpackage/res/icons/144x144.png deleted
4.34 KB
unpackage/res/icons/152x152.png deleted
4.58 KB
unpackage/res/icons/167x167.png deleted
5.23 KB
unpackage/res/icons/180x180.png deleted
5.72 KB
unpackage/res/icons/192x192.png deleted
6.36 KB
unpackage/res/icons/20x20.png deleted
447 Bytes
unpackage/res/icons/29x29.png deleted
705 Bytes
unpackage/res/icons/40x40.png deleted
906 Bytes
unpackage/res/icons/58x58.png deleted
1.41 KB
unpackage/res/icons/60x60.png deleted
1.44 KB
unpackage/res/icons/72x72.png deleted
1.84 KB
unpackage/res/icons/76x76.png deleted
1.96 KB
unpackage/res/icons/80x80.png deleted
2.06 KB
unpackage/res/icons/87x87.png deleted
2.28 KB
unpackage/res/icons/96x96.png deleted
2.54 KB
utils/request.js
| 1 | -// #ifdef H5 | |
| 2 | -// if (process.env.NODE_ENV === 'development') { | |
| 3 | -// //本地环境,即开发环境 | |
| 4 | -// baseUrl = 'http://localhost:8000' | |
| 5 | -// } else { | |
| 6 | -// //线上环境 | |
| 7 | -// baseUrl = 'https://*******.**' | |
| 8 | -// console.log = () => {} | |
| 9 | -// } | |
| 10 | -// baseUrl = 'http://8.130.38.56:8027/admin-server' | |
| 11 | -// #endif | |
| 1 | + | |
| 12 | 2 | |
| 13 | 3 | |
| 14 | 4 | //封装request请求 |
| ... | ... | @@ -24,13 +14,16 @@ const sendRequest = (url, method = 'GET', data = {}, baseUrl,contentType) => { |
| 24 | 14 | } |
| 25 | 15 | var bases = '' |
| 26 | 16 | if(baseUrl == 1){ |
| 27 | - | |
| 17 | + // bases = 'http://8.130.38.56:8027/admin-server' + url; | |
| 28 | 18 | // bases = 'http://172.16.61.48/admin-server' + url; |
| 29 | - bases = 'http://8.130.38.56:8027/admin-server' + url; | |
| 19 | + bases = 'https://jy.scjysm.asia:18086/admin-server' + url; | |
| 20 | + | |
| 21 | + | |
| 30 | 22 | }else{ |
| 31 | - bases = 'http://8.130.38.56:8027/business-server' + url; | |
| 23 | + // bases = 'http://8.130.38.56:8027/business-server' + url; | |
| 32 | 24 | // bases = 'http://172.16.61.48/business-server' + url; |
| 33 | - // var bases = 'http://10.0.0.96:9004' + url; | |
| 25 | + bases = 'https://jy.scjysm.asia:18086/merchant-business' + url; | |
| 26 | + | |
| 34 | 27 | } |
| 35 | 28 | var token = uni.getStorageSync('token') || ''; |
| 36 | 29 | var shopId = uni.getStorageSync('shopId') || ''; | ... | ... |
utils/rsaEncrypt.js deleted
| 1 | -import JSEncrypt from './jsencrypt' | |
| 2 | - | |
| 3 | -// 密钥对生成 http://web.chacuo.net/netrsakeypair | |
| 4 | - | |
| 5 | -const publicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArEAGYSWFuRIiPS3M2rYBSXWIF9251s2AsQ8ShKR1KKJ2fhzfIH5ddGLZ7SlclG/yJTLGp6B6W76KRGz3D5Kqa2v4AEiIL1Gq/U4PWE+d6zfwMEjg1S/DGytBtYyQJ8keOqZezDDZ8cqRA02YvKBCmJ6NCXtnVGeRSLLEeTcFPFkodNtBn1G3UAzE6XOVRNq6LKnAM/Ko3gZfO/9VMdMKma72j7+woO2rfVQuPSnfrqyNo5Geo4NslZZzJc4c8H63AJHLnia1IQ45mSgsdAzeEKpLR9tb89TBEVMNr+I6tJ8k0TZ8pbU6JsqZDYwoka/Sb4IgUhhF+OV1o9+999acIQIDAQAB' | |
| 6 | - | |
| 7 | -const privateKey = 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCsQAZhJYW5EiI9LczatgFJdYgX3bnWzYCxDxKEpHUoonZ+HN8gfl10YtntKVyUb/IlMsanoHpbvopEbPcPkqpra/gASIgvUar9Tg9YT53rN/AwSODVL8MbK0G1jJAnyR46pl7MMNnxypEDTZi8oEKYno0Je2dUZ5FIssR5NwU8WSh020GfUbdQDMTpc5VE2rosqcAz8qjeBl87/1Ux0wqZrvaPv7Cg7at9VC49Kd+urI2jkZ6jg2yVlnMlzhzwfrcAkcueJrUhDjmZKCx0DN4QqktH21vz1MERUw2v4jq0nyTRNnyltTomypkNjCiRr9JvgiBSGEX45XWj37331pwhAgMBAAECggEAKo6nBNmAcHlKfFMUifTt3HhtZ3ggsjGT2isfKCZ5y9BX9lCr0Btoe5jwvue5N/NwoEArVL8RfBlXkBBb+j0CXggO/gLtosNKu8rNf8QsADGR5lwbMJDcY5oMYg6YjzvhfBwez9RCBLtHmMlTM0dlLM//iJg0r2XnP07rvAccBAybbQrobwb+t3UY3388rVWEfdU7SJ3lYA+LxneFZMhol1YhB179IzFeVJYipbrockK2LURa21xbDdsd1jFoYTIP7JDh27qfAluV5sN+5aM4QqNFCnvVEqM/1x1ITwEE9aGzoxHywJ0xAhLujqA3fGgkGuawPQkDvtHPqEZmBaM8AQKBgQDULCp7GVYI66RgUYXeF7dhs9hD+vqsQOkePZmfN0/0AlioWNUmGlybk2ivzPKuGzJrBQ/Hk7c67wyOBwQtiC4I1v/c7yQa+kp4673nJOy90OIt/1MNxMPux10cO3TrRv8uqT/LOncg35hNyBEh9UVjoWH/qlFfoXMznX2Vr4jOxQKBgQDP1LuQ/aTzORcvprmqVFAXaDjNtgp8I93TXXW2iv1Pw+EM/T1xMdjhRi5qRD0KaU7/dRuDloN94mTG/y4htMxcusJGAotJQCWE8M7cb/o27F/FikoVSoHbfBfZe1zODuksuJIsknP0W18PCo8qldg2F9IJ1GfF1pl90WsJvIVtrQKBgDnOzsQ7YvWLPn3/uDmKvKwiFApxl1rXVKyom/KFX4NcIEu96FU5WYIJ57v+WyCUyGfgOSxnUsT73K/VuY2uTNybt5q6jVvMVf4cPOF9bgNJplZh+n8F3VxxdSz8Bh8UePJ9qqP0igCq6xRGLmTSLtW2Yr0F6qXjlz+46T6fVOcBAoGBAMGsvDJMvLfQHxRP6buaIJz/idfh6flvrxt2f+jhs1fu8T2ajPR8gGDGdyCegMfABVc4ObCxxc28+S8cxE+y3bMYc0ysuEJF3fD6O7vfOiyOsF01Fv6qVUNFbDBGruBzssXzJn0U6avwrjAlJe+IfllCb4CriR0rdBR04KvNHAZtAoGBALMec9nn6PDOjCXdKjHEAkAmopfatShJI1KRC8TTnPjMvAbCsuUWezUkTj7S9ZN81F6tPaS+DdeE4CD7T7/EfjRtfxbMwPZ6b4gaXdZgCigSqa3HVh2fUD5Wlfypl3r50pKzmW6POG/o/a466bgh9CkylBpqgKfeQyNNLpE1HZA/' | |
| 8 | - | |
| 9 | - | |
| 10 | -// 加密 | |
| 11 | -export function encrypt(txt) { | |
| 12 | - const encryptor = new JSEncrypt() | |
| 13 | - encryptor.setPublicKey(publicKey) // 设置公钥 | |
| 14 | - return encryptor.encrypt(txt) // 对需要加密的数据进行加密 | |
| 15 | -} | |
| 16 | - | |
| 17 | -// 解密 | |
| 18 | -export function decrypt(txt) { | |
| 19 | - const encryptor = new JSEncrypt() | |
| 20 | - encryptor.setPrivateKey(privateKey) | |
| 21 | - return encryptor.decrypt(txt) | |
| 22 | -} | |
| 23 | - |
utils/secret.js deleted
| 1 | -const CryptoJS = require('crypto-js') // 引用AES源码js | |
| 2 | -const key = CryptoJS.enc.Utf8.parse('1234125432ABDDFF') // 十六位十六进制数作为密钥 | |
| 3 | -const iv = CryptoJS.enc.Utf8.parse('ABCDEF1234121134') // 十六位十六进制数作为密钥偏移量 | |
| 4 | - | |
| 5 | -// 加密方法 | |
| 6 | -export function Encrypt (word) { | |
| 7 | - let srcs = CryptoJS.enc.Utf8.parse(word) | |
| 8 | - let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }) | |
| 9 | - return encrypted.ciphertext.toString().toUpperCase() | |
| 10 | -} | |
| 11 | -// 解密方法 | |
| 12 | -export function Decrypt (word) { | |
| 13 | - let encryptedHexStr = CryptoJS.enc.Hex.parse(word) | |
| 14 | - let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr) | |
| 15 | - let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }) | |
| 16 | - let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8) | |
| 17 | - return decryptedStr.toString() | |
| 18 | -} |