Commit 354e3811f7b1fad2df183449dbd719b6fe199b48

Authored by 杨鑫
1 parent 65b37b05

'验收'

Showing 86 changed files with 4448 additions and 1138 deletions
... ... @@ -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
... ... @@ -144,7 +144,7 @@
144 144 padding-bottom: env(safe-area-inset-bottom);
145 145 .footer-btn {
146 146 display: flex;
147   - width: 70vw;
  147 +
148 148 }
149 149 .footer-service {
150 150 display: flex;
... ...
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
... ... @@ -99,6 +99,10 @@
99 99 line-height: 30rpx;
100 100 color: #3D3D3D;
101 101 margin-bottom: 12rpx;
  102 + white-space: nowrap; /* 防止文本换行 */
  103 + text-overflow: ellipsis; /* 显示省略号 */
  104 + /* 如果需要设置宽度,可以添加 width 属性 */
  105 + overflow:hidden;
102 106 }
103 107 }
104 108 }
... ...
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
... ... @@ -19,10 +19,10 @@
19 19 .u-search {
20 20 position: relative;
21 21 }
22   - .u-btn {
  22 +::v-deep .u-but{
23 23 border: unset;
24 24 border: 0px transparent;
25   - height: 46rpx;
  25 + height:32px;
26 26 width: 88rpx;
27 27 font-size: 24rpx;
28 28 border-radius: 35rpx;
... ...
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
1   -<template>
  1 +<!-- <template>
2 2 <view class="wn-calendar">
3 3  
4 4 <view class="head">
... ... @@ -255,4 +255,4 @@
255 255 /* #endif */
256 256 color: #3a3a3a;
257 257 }
258   -</style>
259 258 \ No newline at end of file
  259 +</style> -->
260 260 \ No newline at end of file
... ...
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 = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
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   -}