Commit 761491c3fa6bbfa92bd6fcd2f784f394bc22febe

Authored by 杨鑫
2 parents 87726dd1 8d287597

'最新'

admin-web-master/dist.zip
No preview for this file type
admin-web-master/src/api/manage.js
1 1 import request from '@/utils/request'
  2 +// 合同修改
  3 +
  4 +export function edit(data) {
  5 + return request({
  6 + url: '/cereContractInformation/edit',
  7 + method: 'post',
  8 + data
  9 + })
  10 +}
2 11 // 合同查询new
3 12  
4 13 export function contractGetAllnew(data) {
... ...
admin-web-master/src/api/newly.js
... ... @@ -6,9 +6,10 @@ export function general(data) {
6 6 url: '/oaInterconnection/general',
7 7 method: 'post',
8 8 data,
9   - // headers: {
10   - // 'Content-Type': 'Multipart/form-data'
11   - // }
  9 + headers: {
  10 + // 'Content-Type': 'application/octet-stream'
  11 + 'Content-Type': 'multipart/form-data'
  12 + }
12 13 })
13 14 }
14 15 // 生成合同附件
... ...
admin-web-master/src/components/add/addht.vue
... ... @@ -108,7 +108,7 @@ import {
108 108 // 合同附件
109 109 appendicesContract: '',
110 110 //合同状态
111   - dataStatus: '1',
  111 + dataStatus: '4',
112 112 //模版信息
113 113 templateInformation:'',
114 114 //模版url
... ...
admin-web-master/src/utils/request.js
... ... @@ -17,10 +17,8 @@ let baseURL = ''
17 17 if(host === 'localhost:8080' || host === 'localhost:8081' || host === 'localhost:9528'|| host === '192.168.31.45:9528'|| host === 'localhost:9529' ) {
18 18  
19 19 // baseURL = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server';
20   - baseURL = 'http://128.10.249.47:9003';
21   -
22 20 // baseURL = process.env.VUE_APP_DOMAIN_PREFIX_1;
23   - // baseURL = 'http://192.168.2.225:9003';
  21 + baseURL = 'http://128.10.249.47:9003';
24 22  
25 23 } else {
26 24 console.error('---------------------')
... ...
admin-web-master/src/views/promotion/contentMant.vue
... ... @@ -85,7 +85,7 @@
85 85 <el-table-column label="操作" min-width="250" fixed="right">
86 86 <template slot-scope="scope">
87 87 <div @click="addbuss(2,scope.row)" class="tableBtn greens">查看</div>
88   - <div @click="addbuss(3,scope.row)" class="tableBtn greens">宣传资料修改</div>
  88 + <div @click="addbuss(3,scope.row)" class="tableBtn greens">修改</div>
89 89 <div @click="handleDelete(scope.row)" class="tableBtn greens">删除</div>
90 90 </template>
91 91 </el-table-column>
... ... @@ -229,7 +229,7 @@
229 229 <wang-editor v-model="formInline.contentCompilation" ref="editor" :height="200" v-else></wang-editor>
230 230  
231 231 </el-form-item>
232   - <el-form-item :label="index!=3?'宣传资料上传':'宣传资料编辑'" prop="accountNumber">
  232 + <el-form-item label="宣传资料上传" prop="accountNumber">
233 233 <!-- <el-upload class="upload-demo" ref="upload" :on-remove="handleRemove"
234 234 :action="uploadFileUrl" :on-success="handleUploadSuccess" :file-list="fileData"
235 235 :auto-upload="true" v-if="index ==3 || index ==1">
... ...
admin-web-master/src/views/shopRental/manage/index.vue
... ... @@ -87,6 +87,9 @@
87 87 <span v-if='scope.row.dataStatus == 1'>使用中</span>
88 88 <span v-else-if='scope.row.dataStatus == 2'>往期合同</span>
89 89 <span v-else-if='scope.row.dataStatus == 3'>已终止</span>
  90 + <span v-else-if='scope.row.dataStatus == 4'>待发起</span>
  91 + <span v-else-if='scope.row.dataStatus == 5'>待审核</span>
  92 + <span v-else-if='scope.row.dataStatus == 6'>已拒绝</span>
90 93 <span v-else>-</span>
91 94 </template>
92 95 </el-table-column>
... ... @@ -94,7 +97,8 @@
94 97 <el-table-column label="操作" min-width="150" fixed="right">
95 98 <template slot-scope="scope">
96 99 <div @click="details(scope.row)" class="tableBtn greens">查看</div>
97   - <!-- <div @click="OA(scope.row)" class="tableBtn greens">OA</div> -->
  100 + <!-- v-if='scope.row.dataStatus == 4' -->
  101 + <div @click="OA(scope.row)" class="tableBtn greens">OA</div>
98 102 <div v-if='scope.row.dataStatus == 1' @click="removeinfo(scope.row,'合同变更')" class="tableBtn greens">合同变更</div>
99 103 <div v-if='scope.row.dataStatus == 1' @click="removeinfo(scope.row,'合同续约')" class="tableBtn greens">合同续约</div>
100 104 <div v-if='scope.row.dataStatus == 1' @click="removeinfozz(scope.row,'合同终止')" class="tableBtn greens">合同终止</div>
... ... @@ -163,6 +167,7 @@
163 167 <script>
164 168 import {
165 169 contractGetAllnew,
  170 + edit
166 171 } from '@/api/manage.js'
167 172 import add from '@/components/add/addht.vue'
168 173 import addremove from '@/components/add/addremoveht.vue'
... ... @@ -200,85 +205,91 @@
200 205 this.getAll()
201 206 },
202 207 methods: {
203   - async OA(row){
204   - const response = await axios.get(this.$baseURL+row.appendicesContract);
  208 + downloadBase64File(base64String, fileName, mimeType) {
  209 + try {
  210 + // 将 Base64 字符串解码为二进制数据
  211 + const byteCharacters = atob(base64String);
  212 + const byteNumbers = new Array(byteCharacters.length);
  213 + for (let i = 0; i < byteCharacters.length; i++) {
  214 + byteNumbers[i] = byteCharacters.charCodeAt(i);
  215 + }
  216 + const byteArray = new Uint8Array(byteNumbers);
  217 +
  218 + // 创建 Blob 对象
  219 + const blob = new Blob([byteArray], { type: mimeType });
  220 +
  221 + // 生成下载链接并触发下载
  222 + const url = window.URL.createObjectURL(blob);
  223 + const link = document.createElement('a');
  224 + link.href = url;
  225 + link.setAttribute('download', fileName); // 设置下载文件名
  226 + document.body.appendChild(link);
  227 + link.click();
205 228  
206   - // 处理二进制数据
207   - const blob = response.data;
208   - console.log(blob);
  229 + // 清理生成的 URL 对象
  230 + window.URL.revokeObjectURL(url);
  231 + document.body.removeChild(link);
  232 +
  233 + console.log('文件下载成功:', fileName);
  234 + } catch (error) {
  235 + console.error('文件下载失败:', error);
  236 + }
  237 + },
  238 + async OA(row){
  239 + console.log(this.$baseURL+row.appendicesContract)
  240 + const response = await axios({
  241 + method: 'get',
  242 + url: this.$baseURL + row.appendicesContract, // 文件 URL
  243 + responseType: 'arraybuffer' // 指定响应类型为二进制数据
  244 + });
  245 + console.log(JSON.stringify(response.data));
209 246 // return
210   - const base64Data = Buffer.from(blob, 'binary').toString('base64');
  247 + const buffer = Buffer.from(response.data);
  248 + const base64Data = buffer.toString('base64');
211 249 console.log(base64Data);
  250 + // this.downloadBase64File(base64Data, 'contract_file', response.headers['content-type']);
212 251 // return
213   - const file = new File([blob], 'filename.txt', { type: 'text/plain' });
  252 + const file = new File([response.data], 'filename.txt', { type: 'text/plain' });
214 253 console.log(file);
215 254 let fd = new FormData();
216   - fd.append('fileBytes', file); // 假设 formData 包含文件
217   - fd.append('fileName', '"合同.txt"');
  255 + fd.append('files', file); // 假设 formData 包含文件
  256 + fd.append('reviewers', '1858710592190291968');
  257 + fd.append('fileNames', '合同.docx');
  258 + fd.append('title', '这是一个流程');
218 259 console.log(fd);
219   - let c1 = {
220   - "title":"这是一个流程",
221   - "files": [
222   - {
223   - fileName:'合同.txt',
224   - fileBytes:base64Data
225   - // fileBytes:'Y4EdWbGGg6gsD4eHlUR3aUmr0Xz050KI'
226   - }
227   - ],
228   - "reviewers": ["1768540680428331008"],
229   - // "account":"zsfu-test",
230   - // "password":"000009",
231   - // "accessKey":"HfHJ1cDCX4PuwSC5hox0cvJCdvnNFGOC",
232   - // "secretAccessKey":"t05ebUtKp06004E90bfUBv1145R49Zg4",
233   - // "sponsor":"1858710592190291968",
234   - // // "id":"5c19f869063e57766b127177143e5c5d",
235   - // "isonData":"这里是外部系统需要传递数据集合",
236   - // "messageId":"外部系统唯一id",
237   - // "reviewers":['1768540680428331008','1768539930201563136']
238   - }
  260 + // return
  261 + // let c1 ={
  262 + // "reviewers": '1858710592190291968',
  263 + // "fileNames":'合同.docx',
  264 + // "files":file,
  265 + // "title": "这是一个流程"
  266 + // }
239 267 // c1.files.push(fd)
240   - console.log(c1);
241   - general(c1).then(res => {
242   -
  268 + // console.log(fd);
  269 + general(fd).then(res => {
  270 + console.log(res);
  271 + let data = JSON.parse(res.data)
  272 + if(data.code == '0'){
  273 + this.$message({
  274 + type: 'success',
  275 + message: '发起成功'
  276 + })
  277 + edit({
  278 + contractNumber: row.contractNumber,
  279 + dataStatus: '5',
  280 + }).then(res1 => {
  281 + console.error(res1)
  282 + this.resetting()
  283 + })
  284 + } else {
  285 + this.$message({
  286 + type: 'error',
  287 + message: data.message
  288 + })
  289 + }
243 290 })
244   - return
245   - // URL.createObjectURL(this.$baseURL+row.appendicesContract)
246   - const xhr = new XMLHttpRequest();
247   - xhr.open('GET', this.$baseURL+row.appendicesContract, true);
248   - xhr.responseType = 'blob'; // 设置响应类型为 blob
249   -
250   - xhr.onload = () => {
251   - if (xhr.status === 200) {
252   - const blob = xhr.response;
253   - console.log(blob);
254   - // general({
255   - // "title":"这是一个流程",
256   - // "files": [{
257   - // "fileBytes":blob,
258   - // "fileName":"合同.txt"
259   - // }]
260   - // }).then(res => {
261   -
262   - // })
263   - // 如果需要保存文件,可以创建一个 URL 对象并下载
264   - const url = window.URL.createObjectURL(blob);
265   - const link = document.createElement('a');
266   - link.href = url;
267   - console.log(link);
268   - link.setAttribute('download', 'filename.ext'); // 设置下载的文件名
269   - document.body.appendChild(link);
270   - link.click();
271   - document.body.removeChild(link);
272   - } else {
273   - console.error('下载文件时出错:', xhr.status);
274   - }
275   - };
276   -
277   - xhr.onerror = () => {
278   - console.error('下载文件时出错');
279   - };
280 291  
281   - xhr.send();
  292 +
282 293 },
283 294 gettime() {
284 295 // 获取当前时间
... ...
lvdao-miniapp/pages/propertyPay/payRecord/payRecord.vue
1 1 <template>
2 2 <view class="page">
3 3 <view class="title-top">
4   - <div class="left">
5   - <text @click="show = true">2024年<u-icon name="arrow-down"></u-icon></text>
6   - <u-picker v-model="show" mode="time" :params="{year: true}"></u-picker>
  4 + <div class="left" @click="show = true">
  5 + <text>{{year}}年<u-icon name="arrow-down"></u-icon></text>
  6 + <u-icon name="arrow-down" style="font-size: 24rpx;margin-left: 10rpx;" />
  7 + <u-picker v-model="show" mode="time" :params="{year: true}" @confirm ="change"></u-picker>
7 8 </div>
8   - <div class="right"><text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />6451.00</text></div>
  9 + <div class="right"><u-icon name="rmb" class="price" /><text class="price">0</text></div>
9 10 </view>
  11 + <view v-if="dataList.length==0" style="text-align: center;margin-top: 50rpx;" class="tit1">暂无数据</view>
10 12 <view class="record-list">
11   - <view class="record-item" v-for="(item, index) in dataList" :key="index" @click="toDetail">
  13 + <view class="record-item" v-for="(item, index) in dataList" :key="index">
12 14 <view class="info-title">
13   - <view class="title">7月</view>
14   - <view class="right"><text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />6451.00</text></view>
  15 + <view class="title">{{item.yue}}月</view>
  16 + <view class="right"><u-icon name="rmb" class="price" /><text class="price" >{{item.children | itemnum}}</text></view>
15 17 </view>
16   - <view class="info-items" v-for="(v, i) in item.children" :key="i">
  18 + <view v-if="item.children.length==0" style="text-align: center;margin-top: 50rpx;margin-bottom: 30rpx;font-size: 24rpx;">暂无缴费数据</view>
  19 + <view class="info-items" v-for="(v, i) in item.children" :key="i" @click="toDetail(item.children)">
17 20 <view class="info-item">
18   - <view class="left title">支付订单编号</view>
19   - <view class="right"><text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />500.00</text></view>
  21 + <view class="left title">{{v.transactionNumber}}</view>
  22 + <view class="right"><u-icon name="rmb" class="price" /><text class="price">{{Number(v.actualPaymentFee)/100}}</text></view>
20 23 </view>
21 24 <view class="info-item">
22   - <view class="left">物业费、服务费、卫生费</view>
23   - <view class="right" style="color: #8A8A8A;">共3项</view>
  25 + <view class="left">
  26 + <text v-for="(t,a) in v.paymentContent">{{t.itemName}}</text>
  27 + </view>
  28 + <view class="right" style="color: #8A8A8A;">共{{v.paymentContent.length}}项</view>
24 29 </view>
25 30 <view class="info-item">
26   - <view class="left" style="color: #0FBB59;">支付成功</view>
27   - <view class="right" style="color: #8A8A8A;">07.11 15:21</view>
  31 + <view class="left" :style="v.orderStatus=='0'?'color: red;':v.orderStatus=='1'?'color: #0FBB59;':v.orderStatus=='2'?'color: red;':''">{{v.orderStatus=='0'?'待支付':v.orderStatus=='1'?'支付成功':v.orderStatus=='2'?'支付失败':'-'}}</view>
  32 + <view class="right" style="color: #8A8A8A;">{{v.paymentStartTime}}</view>
28 33 </view>
29 34 </view>
30 35 </view>
... ... @@ -36,18 +41,140 @@
36 41 export default {
37 42 data() {
38 43 return {
  44 + year:'2025',
39 45 show: false,
40 46 dataList: [
41   - {
42   - children: [{}, {}]
  47 + { yue:'1',
  48 + children: [
  49 +
  50 + ]
43 51 },
44   - {
45   - children: [{}, {}]
  52 + { yue:'2',
  53 + children: [
  54 +
  55 + ]
  56 + },
  57 + { yue:'3',
  58 + children: [
  59 +
  60 + ]
  61 + },
  62 + { yue:'4',
  63 + children: [
  64 +
  65 + ]
  66 + },
  67 + { yue:'5',
  68 + children: [
  69 +
  70 + ]
  71 + },
  72 + { yue:'6',
  73 + children: [
  74 +
  75 + ]
  76 + },
  77 + { yue:'7',
  78 + children: [
  79 +
  80 + ]
  81 + },
  82 + { yue:'8',
  83 + children: [
  84 +
  85 + ]
  86 + },
  87 + { yue:'9',
  88 + children: [
  89 +
  90 + ]
  91 + },
  92 + { yue:'10',
  93 + children: [
  94 +
  95 + ]
  96 + },
  97 + { yue:'11',
  98 + children: [
  99 +
  100 + ]
  101 + },
  102 + { yue:'12',
  103 + children: [
  104 +
  105 + ]
46 106 },
47 107 ]
48 108 }
49 109 },
  110 + onLoad() {
  111 + this.gain()
  112 + },
  113 + filters:{
  114 + itemnum(e){
  115 + // console.error(e)
  116 + let num = 0
  117 + for (let n = 0; n < e.length; n++) {
  118 + num = num + (Number(e[n].actualPaymentFee)/100)
  119 + // if(e[n].isshowxz){
  120 + // num = num + Number(e[n].payPrice)
  121 + // }
  122 + }
  123 + return num
  124 + }
  125 + },
  126 + computed:{
  127 + // allnum() {
  128 + // let num = 0
  129 + // for (let i = 0; i < this.recordList.length; i++) {
  130 + // let list = this.recordList[i].itemDetailsVOList
  131 + // for (let n = 0; n < list.length; n++) {
  132 + // num = num + Number(list[n].payPrice)
  133 + // }
  134 + // }
  135 + // return num
  136 + // },
  137 + // allitemnum() {
  138 + // let num = 0
  139 + // for (let i = 0; i < this.recordList.length; i++) {
  140 + // let list = this.recordList[i].itemDetailsVOList
  141 + // for (let n = 0; n < list.length; n++) {
  142 + // if(list[n].isshowxz){
  143 + // num = num + Number(list[n].payPrice)
  144 + // }
  145 + // }
  146 + // }
  147 + // return num
  148 + // },
  149 + },
50 150 methods: {
  151 + change(e) {
  152 + console.error(e)
  153 + this.year = e.year
  154 + this.gain()
  155 + },
  156 + async gain() {
  157 + for (let i = 0; i < this.dataList.length; i++) {
  158 + let c1 ={
  159 + paymentAccount:uni.getStorageSync('user').phone, "pageSize":10,
  160 +     "pageNumber":0,
  161 +     "year":this.year,
  162 +     "month":this.dataList[i].yue,
  163 + }
  164 + await this.$http.sendRequest('cerePaymentInfo/queryByPage','POST',c1,1).then(res => {
  165 + this.dataList[i].children = res.data.data.content.map(item=>{
  166 + item.paymentContent = JSON.parse(item.paymentContent)
  167 + return item
  168 + })
  169 + // this.dataList = res.data.data.content.map(item=>{
  170 + // return item
  171 + // })
  172 + // console.error(this.dataList)
  173 + })
  174 + }
  175 + console.error(this.dataList)
  176 +
  177 + },
51 178 toDetail() {
52 179 uni.navigateTo({
53 180 url: '/pages/propertyPay/payDetail/payDetail'
... ...
lvdao-miniapp/pages/propertyPay/propertyPayList/propertyPayList.scss
... ... @@ -54,6 +54,8 @@
54 54 padding: 20rpx 30rpx;
55 55 border-bottom: #f6f6f6 solid 1rpx;
56 56 align-items: center;
  57 + font-size: 24rpx;
  58 + justify-content: space-between;
57 59 .list-item {
58 60 flex: 1;
59 61 }
... ... @@ -62,7 +64,7 @@
62 64 display: flex;
63 65 align-items: center;
64 66 .img {
65   - width: 72rpx;
  67 + // width: 72rpx;
66 68 height: 72rpx;
67 69 border-radius: 50%;
68 70 overflow: hidden;
... ... @@ -82,7 +84,7 @@
82 84 .info-item {
83 85 font-size: 24rpx;
84 86 color: #808080;
85   - margin-top: 20rpx;
  87 + margin-top: 10rpx;
86 88 }
87 89 }
88 90 }
... ...
lvdao-miniapp/pages/propertyPay/propertyPayList/propertyPayList.vue
... ... @@ -2,111 +2,114 @@
2 2 <view class="page">
3 3 <view class="search-box">
4 4 <view>
5   - <u-input v-model="value" type="select" border @click="show = true" style="background-color: #F7F7F7;"/>
  5 + <u-input v-model="value" type="select" border @click="show = true" style="background-color: #F7F7F7;" placeholder="请选择店铺"/>
6 6 <u-select v-model="show" :list="list1" @confirm="confirm"></u-select>
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;" />100.00</text>
11   - <text>(含代缴费)</text>
  10 + <text class="price-total"><u-icon name="rmb" style="font-size: 24rpx;" />{{allnum}}</text>
  11 + <text style="margin-left: 20rpx;">(含代缴费)</text>
12 12 </view>
13 13 <div class="right" @click='toDetail'>
14   - <text>缴费记录<u-icon name="arrow-right" style="margin-left: 8rpx;"></u-icon></text>
  14 + <text>缴费记录</text>
  15 + <u-icon name="arrow-right" style="margin-left: 8rpx;"></u-icon>
15 16 </div>
16 17 </view>
17 18 </view>
18 19 <!-- 记录列表 -->
19   - <view class="record-list">
  20 + <view class="record-list" v-if="recordList.length>0">
20 21 <view class="record-list-box" v-for="(item,index) in recordList" :key="index">
21 22 <u-checkbox-group class="list-group" style="width: 100%;">
22   - <view class="list">
23   - <u-checkbox v-model="recordList[index].gouxuan" shape="circle" :label-disabled="false" />
24   - <view class="list-item">
25   - <view class="list-info">
26   - <view class="img">
27   - <image :src="$imgUrl('/img/2.jpg')"></image>
28   - </view>
29   - <view class="info-items">
30   - <view class="info-title">{{item.name}}:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />100.00</text></view>
31   - <view class="info-item">
32   - <text>单价:¥15</text>
33   - <text>费率:100%</text>
34   - </view>
  23 + <view class="list">
  24 + <u-checkbox @change="e=>quanxuanitem(e,index)" v-model="item.isshowxz" shape="circle" :label-disabled="false" />
  25 + <view class="list-item">
  26 + <view class="list-info">
  27 + <view class="img">
  28 + <image v-if="item.itemName == '物业费'" src="@/static/icon/icon11.png" mode="heightFix"></image>
  29 + <image v-else-if="item.itemName == '卫生费'" src="@/static/icon/icon12.png" mode="heightFix"></image>
  30 + <image v-else-if="item.itemName == '水费'" src="@/static/icon/icon13.png" mode="heightFix"></image>
  31 + <image v-else-if="item.itemName == '电费'" src="@/static/icon/icon14.png" mode="heightFix"></image>
  32 + <image v-else-if="item.itemName == '燃气费'" src="@/static/icon/icon15.png" mode="heightFix"></image>
  33 + <image v-else src="@/static/icon/icon16.png" mode="heightFix"></image>
  34 + </view>
  35 + <view class="info-items">
  36 + <view class="info-title">{{item.itemName}}:<text class="price"><u-icon name="rmb"
  37 + style="font-size: 24rpx;" />{{ item.itemDetailsVOList | jsitem}}</text></view>
  38 + <view class="info-item">
  39 + <text style="margin-right: 20rpx;">单价:¥{{item.itemStandard}}</text>
  40 + <text>费率:{{item.cheapRate}}%</text>
35 41 </view>
36 42 </view>
37 43 </view>
38   - <view @click="recordList[index].showItem = !recordList[index].showItem"><u-icon name="arrow-right"></u-icon></view>
39 44 </view>
40   - <view class="list" v-if="recordList[index].showItem">
41   - <u-checkbox v-model="recordList[index].gouxuan" shape="circle" :label-disabled="false" />
42   - <view class="">
43   - <view class="info-item">周期:2022.02.22 - 2022.02.22</view>
44   - <view class="info-item">
45   - <text>数量:100m²</text>
46   - <text>门店号:A5646</text>
  45 + <view><u-icon @click="changeisxl(index)" :name="item.isxl?'arrow-up':'arrow-down'"></u-icon></view>
  46 + </view>
  47 + <view v-if="item.itemDetailsVOList&& item.itemDetailsVOList.length>0 && item.isxl">
  48 + <view class="list" v-for="(item1,index1) in item.itemDetailsVOList">
  49 + <view style="display: flex;align-items: center;">
  50 + <u-checkbox v-model="item1.isshowxz" shape="circle" :label-disabled="false" />
  51 + <view class="">
  52 + <view class="info-item">周期:{{item1.startDate}} - {{item1.endDate}}</view>
  53 + <view class="info-item" style="margin-top: 6rpx;">
  54 + <text style="margin-right: 20rpx;">数量:{{item1.number}}{{item1.itemUnit}}</text>
  55 + <text>门店号:A5646</text>
  56 + </view>
47 57 </view>
48 58 </view>
49 59 <view class="">
50   - <text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />20.00</text>
  60 + <text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />¥{{item1.payPrice}}</text>
51 61 </view>
52 62 </view>
  63 + </view>
53 64 </u-checkbox-group>
54 65 </view>
55 66 </view>
  67 + <view v-if="recordList.length==0" style="text-align: center;margin-top: 50rpx;" class="tit1">请选择店铺</view>
56 68 <view style="height: 120rpx;"></view>
57 69 <view class="page-footer">
58 70 <view class="footer-buy">
59   - <u-checkbox-group >
60   - <u-checkbox
61   - shape="circle"
62   - @change="quanxuan"
63   - v-model="showAll"
64   - >全选</u-checkbox>
65   - </u-checkbox-group>
  71 + <u-checkbox-group>
  72 + <u-checkbox shape="circle" @change="quanxuan" v-model="showAll">全选</u-checkbox>
  73 + </u-checkbox-group>
66 74 <view class="">
67   - 合计:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />100.00</text>
  75 + 合计:<text class="price"><u-icon name="rmb" style="font-size: 24rpx;" />{{allcknum}}</text>
68 76 </view>
69 77 <u-button type="success" style="margin: 0 10rpx;" @click="joinShow = true">去支付</u-button>
70 78 </view>
71 79 </view>
72   - <u-popup class="userForm" v-model="joinShow" mode="center" :closeable="true" width="80%" >
73   - <u-form class="form-box" ref="uForm" :label-width="120" >
  80 + <u-popup class="userForm" v-model="joinShow" mode="center" :closeable="true" width="80%">
  81 + <u-form class="form-box" ref="uForm" :label-width="120">
74 82 <view style="padding: 30rpx;">
75 83 <view class="title">请选择支付方式</view>
76 84 <u-radio-group v-model="fangshi" @change="radioGroupChange" :wrap="true">
77   - <u-radio
78   - @change="radioChange"
79   - v-for="(item, index) in list" :key="index"
80   - :name="item.name"
81   - :disabled="item.disabled"
82   - style="padding: 5px 0;"
83   - >
84   - {{item.name}}
85   - </u-radio>
86   - </u-radio-group>
87   - <view class="" v-if="fangshi == 'H5支付'">
88   -
89   - </view>
90   - <view class="" v-else>
91   - <image :src="$imgUrl('/erwm.jpg')" mode="widthFix"style="width: 80%;"/>
92   -
93   -
94   - </view>
  85 + <u-radio @change="radioChange" v-for="(item, index) in list" :key="index" :name="item.name"
  86 + :disabled="item.disabled" style="padding: 5px 0;">
  87 + {{item.name}}
  88 + </u-radio>
  89 + </u-radio-group>
  90 + <view class="" v-if="fangshi == 'H5支付'">
  91 +
  92 + </view>
  93 + <view class="" v-else>
  94 + <image :src="$imgUrl('/erwm.jpg')" mode="widthFix" style="width: 80%;" />
  95 +
  96 +
  97 + </view>
95 98 <!-- <u-form-item label="微信小程序支付">
96 99  
97 100 </u-form-item>
98 101 <u-form-item label="付款码扫码支付"></u-form-item> -->
99 102 <u-button type="success" @click="submit">提交</u-button>
100   -
  103 +
101 104 </view>
102   -
  105 +
103 106 </u-form>
104   -
  107 +
105 108 </u-popup>
106   -
  109 +
107 110 <!-- <u-loading :show="true" size="60" style="position: absolute; top:80%;left: ;" color="red"></u-loading> -->
108 111 </view>
109   -
  112 +
110 113 </template>
111 114  
112 115 <script>
... ... @@ -116,285 +119,275 @@
116 119 show: false,
117 120 joinShow: false,
118 121 value: '',
119   - list1: [{ value: '0', label: '全部' },{ value: '1', label: '物业费' }, { value: '2', label: '水费' },{ value: '3', label: '卫生费' }, { value: '4', label: '燃气费' },{ value: '5', label: '电费' } ],
120   - checked: [],
121   - recordList:[
122   - {
123   - img: '',
124   - name: '物业费',
125   - price: 15,
126   - rate: '100%',
127   - chilren: [],
128   - showItem: false,
129   - gouxuan:false
130   - },
131   - {
132   - img: '',
133   - name: '卫生费',
134   - price: 15,
135   - rate: '100%',
136   - chilren: [],
137   - showItem: false,
138   - gouxuan:false
139   - },
140   - {
141   - img: '',
142   - name: '水费',
143   - price: 15,
144   - rate: '100%',
145   - chilren: [],
146   - showItem: false,
147   - gouxuan:false
148   - },
149   - {
150   - img: '',
151   - name: '电费',
152   - price: 15,
153   - rate: '100%',
154   - chilren: [],
155   - showItem: false,
156   - gouxuan:false
157   - },
158   - {
159   - img: '',
160   - name: '燃气费',
161   - price: 15,
162   - rate: '100%',
163   - chilren: [],
164   - showItem: false,
165   - gouxuan:false
166   - },
167   - ],
168   - recordList1:[
169   - {
170   - img: '',
171   - name: '物业费',
172   - price: 15,
173   - rate: '100%',
174   - chilren: [],
175   - showItem: false,
176   - gouxuan:false
177   - },
178   - {
179   - img: '',
180   - name: '卫生费',
181   - price: 15,
182   - rate: '100%',
183   - chilren: [],
184   - showItem: false,
185   - gouxuan:false
186   - },
187   - {
188   - img: '',
189   - name: '水费',
190   - price: 15,
191   - rate: '100%',
192   - chilren: [],
193   - showItem: false,
194   - gouxuan:false
195   - },
196   - {
197   - img: '',
198   - name: '电费',
199   - price: 15,
200   - rate: '100%',
201   - chilren: [],
202   - showItem: false,
203   - gouxuan:false
204   - },
205   - {
206   - img: '',
207   - name: '燃气费',
208   - price: 15,
209   - rate: '100%',
210   - chilren: [],
211   - showItem: false,
212   - gouxuan:false
  122 + list1: [{
  123 + value: '0',
  124 + label: '全部'
  125 + }, {
  126 + value: '1',
  127 + label: '物业费'
  128 + }, {
  129 + value: '2',
  130 + label: '水费'
  131 + }, {
  132 + value: '3',
  133 + label: '卫生费'
  134 + }, {
  135 + value: '4',
  136 + label: '燃气费'
  137 + }, {
  138 + value: '5',
  139 + label: '电费'
  140 + }],
  141 + recordList: [],
  142 + list: [{
  143 + name: 'H5支付',
  144 + disabled: false
213 145 },
  146 + // {
  147 + // name: '付款码扫码支付',
  148 + // disabled: false
  149 + // }
214 150 ],
215   - list: [
216   - {
217   - name: 'H5支付',
218   - disabled: false
219   - },
220   - // {
221   - // name: '付款码扫码支付',
222   - // disabled: false
223   - // }
224   - ],
225   - fangshi:'H5支付',
226   - loadShow:false,
227   - showAll:false,
228   -
  151 + fangshi: 'H5支付',
  152 + showAll: false,
  153 +
229 154 };
230 155 },
231   - watch:{
232   - recordList:{
233   - deep:true,
234   - handler(newVal){
235   - const allTrue = this.recordList.every(item => item.gouxuan)
236   - this.showAll = allTrue
  156 + filters:{
  157 +
  158 + jsitem(e){
  159 + console.error(e)
  160 + let num = 0
  161 + for (let n = 0; n < e.length; n++) {
  162 + num = num + Number(e[n].payPrice)
  163 + // if(e[n].isshowxz){
  164 + // num = num + Number(e[n].payPrice)
  165 + // }
  166 + }
  167 + return num
  168 + }
  169 + },
  170 + computed:{
  171 + allnum() {
  172 + let num = 0
  173 + for (let i = 0; i < this.recordList.length; i++) {
  174 + let list = this.recordList[i].itemDetailsVOList
  175 + for (let n = 0; n < list.length; n++) {
  176 + num = num + Number(list[n].payPrice)
  177 + }
  178 + }
  179 + return num
  180 + },
  181 + allcknum() {
  182 + let num = 0
  183 + for (let i = 0; i < this.recordList.length; i++) {
  184 + let list = this.recordList[i].itemDetailsVOList
  185 + for (let n = 0; n < list.length; n++) {
  186 + if(list[n].isshowxz){
  187 + num = num + Number(list[n].payPrice)
  188 + }
  189 + }
  190 + }
  191 + return num
  192 + },
  193 + },
  194 + watch: {
  195 + recordList: {
  196 + deep: true,
  197 + handler(newVal) {
  198 + for (let i = 0; i < this.recordList.length; i++) {
  199 + this.recordList[i].isshowxz = this.recordList[i].itemDetailsVOList.every(item => item.isshowxz)
  200 + }
  201 + const allTrue = this.recordList.every(item => item.isshowxz)
  202 + this.showAll = allTrue
  203 +
237 204 }
238 205 }
239 206 },
240 207 onShow() {
241   - let shopId = {
242   - shopId:uni.getStorageSync('shopId') || ''
243   - }
244   - const isLogin = uni.getStorageSync('token');
245   - if (isLogin =='') {
246   - // 如果未登录,跳转到登录页面
247   - uni.navigateTo({
248   - url: '/pages/login/login'
249   - })
250   - }else{
251   - let page={
252   - condition:2
253   - }
254   - this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => {
255   - if(res.data.code !="20004"){
256   - this.shopMsg = res.data.data
257   - this.Islogin= false
258   - this.$http.sendRequest('/index/index', 'POST',page).then(res => {
259   - //成功回调
260   - this.tongji = res.data.data
261   - })
262   - }else{
263   - uni.navigateTo({
264   - url: '/pages/login/login'
265   - })
266   - }
267   - })
268   - }
269   -
  208 + let shopId = {
  209 + shopId: uni.getStorageSync('shopId') || ''
  210 + }
  211 + const isLogin = uni.getStorageSync('token');
  212 + if (isLogin == '') {
  213 + // 如果未登录,跳转到登录页面
  214 + uni.navigateTo({
  215 + url: '/pages/login/login'
  216 + })
  217 + } else {
  218 +
  219 + this.$http.sendRequest('cereAssetShopInformation/propertyQueryShopInformation', 'POST',{contactNumber:uni.getStorageSync('user').phone,pageNumber:1,pageSize:10} ,1).then(res => {
  220 + this.list1 = res.data.data.records.map(item=>{
  221 + let c1 = {
  222 + value: item.merchantId,
  223 + label: item.shopName,
  224 + }
  225 + return c1
  226 + })
  227 + // this.confirm(this.list1)
  228 + console.error(this.list1)
  229 + })
  230 + }
  231 +
270 232 },
271 233 methods: {
272   - quanxuan(e){
273   -
274   - const allTrue = this.recordList.every(item => item.gouxuan)
275   - if(allTrue){
276   - this.showAll = !this.showAll
277   - this.recordList.forEach(item => {
278   - item.gouxuan = !allTrue;
279   - });
280   - }else{
281   - this.showAll = true
282   - this.recordList.forEach(item => {
283   - item.gouxuan = !allTrue;
284   - });
285   - }
286   -
287   -
  234 +
  235 + changeisxl(e) {
  236 + this.recordList[e].isxl = !this.recordList[e].isxl
  237 + },
  238 + quanxuanitem(e,index) {
  239 + console.error(e)
  240 + console.error(this.recordList[index].itemDetailsVOList)
  241 + if (e.value) {
  242 + for (let i = 0; i < this.recordList[index].itemDetailsVOList.length; i++) {
  243 + this.recordList[index].itemDetailsVOList[i].isshowxz = true
  244 + }
  245 + } else {
  246 + for (let i = 0; i < this.recordList[index].itemDetailsVOList.length; i++) {
  247 + this.recordList[index].itemDetailsVOList[i].isshowxz = false
  248 + }
  249 + }
  250 + },
  251 + quanxuan(e) {
  252 + // this.showAll = e.value
  253 + console.error(e)
  254 + // const allTrue = this.recordList.every(item => item.gouxuan)
  255 + if (e.value) {
  256 + this.recordList = this.recordList.map(item=>{
  257 + item.isxl = true
  258 + item.isshowxz = true
  259 + item.itemDetailsVOList = item.itemDetailsVOList.map(item1=>{
  260 + item1.isshowxz = true
  261 + return item1
  262 + })
  263 + return item
  264 + })
  265 + } else {
  266 + this.recordList = this.recordList.map(item=>{
  267 + item.isxl = true
  268 + item.isshowxz = false
  269 + item.itemDetailsVOList = item.itemDetailsVOList.map(item1=>{
  270 + item1.isshowxz = false
  271 + return item1
  272 + })
  273 + return item
  274 + })
  275 + }
  276 +
  277 +
288 278 },
289   - recordXq(item){
290   - const encodedItem = encodeURIComponent(JSON.stringify(item));
  279 + recordXq(item) {
  280 + const encodedItem = encodeURIComponent(JSON.stringify(item));
291 281 uni.navigateTo({
292   - url: `/pages/accepting/accepting?item=${encodedItem}`,
293   - })
  282 + url: `/pages/accepting/accepting?item=${encodedItem}`,
  283 + })
294 284 },
295 285 toDetail() {
296 286 uni.navigateTo({
297 287 url: '/pages/propertyPay/payRecord/payRecord'
298 288 })
299 289 },
300   - contractdetail(){
  290 + contractdetail() {
301 291 // uni.navigateTo({
302   -
  292 +
303 293 // })
304 294 },
305   - submit(){
306   -
307   - // this.loadShow = true
308   - // setTimeout(()=>{
309   - // this.loadShow = false
310   - // },2000)
311   - if(this.fangshi =='付款码扫码支付'){
312   - this.joinShow = false
313   -
314   - }else{
315   - let payList ={
316   - additional: "附加交易授权",
317   - backUrl: "",
318   - channelId: "",
319   - expireTime: 1800,
320   - finishUrl: "",
321   - latitude: "1",
322   - longitude: "1",
323   - orderNo: "",
324   - payId: "",
325   - payMerData: [
326   - {
327   - amount: 1,
328   - body: "物业缴费",
329   - }
330   - ],
331   - payType: "Online",
332   - returnUrl: "",
333   - showBtn: "1",
334   - siteId: "",
335   - toApp: "0",
336   - totalAmount: 1,
337   - uid: "1693617316237021185",
338   - universalLink: ""
339   - }
340   - const randomNumber = Math.floor(Math.random() * 10000); // 生成一个0到9999之间的随机数
341   - const timestamp = new Date().getTime(); // 获取当前时间的时间戳
342   - payList.orderNo = `${randomNumber}${timestamp}`
343   -
344   - payList.uid =uni.getStorageSync('shopId')
345   - this.$http.sendRequest('/aggregationPayment/createOrder', 'POST', payList,1).then(res => {
346   - console.log(JSON.parse(res.data.data).data.codeUrl)
347   - let url = JSON.parse(res.data.data).data.codeUrl
348   -
349   - // window.location.href = url
350   - // plus.runtime.openURL(url , function(e) {console.log(e)})
351   - uni.showModal({
352   - title: res.data.message,
353   - showCancel:false,
354   - success:ress => {
355   - uni.switchTab({
356   - url: '/pages/home/home'
357   - })
  295 + submit() {
  296 + console.log(this.recordList)
  297 + return
  298 + // this.loadShow = true
  299 + // setTimeout(()=>{
  300 + // this.loadShow = false
  301 + // },2000)
  302 + if (this.fangshi == '付款码扫码支付') {
  303 + this.joinShow = false
  304 +
  305 + } else {
  306 + let payList = {
  307 + additional: "附加交易授权",
  308 + backUrl: "",
  309 + channelId: "",
  310 + expireTime: 1800,
  311 + finishUrl: "",
  312 + latitude: "1",
  313 + longitude: "1",
  314 + orderNo: "",
  315 + payId: "",
  316 + payMerData: [{
  317 + amount: 1,
  318 + body: "物业缴费",
  319 + }],
  320 + payType: "Online",
  321 + returnUrl: "",
  322 + showBtn: "1",
  323 + siteId: "",
  324 + toApp: "0",
  325 + totalAmount: 1,
  326 + uid: "1693617316237021185",
  327 + universalLink: ""
358 328 }
359   - })
360   - })
  329 + const randomNumber = Math.floor(Math.random() * 10000); // 生成一个0到9999之间的随机数
  330 + const timestamp = new Date().getTime(); // 获取当前时间的时间戳
  331 + payList.orderNo = `${randomNumber}${timestamp}`
  332 +
  333 + payList.uid = uni.getStorageSync('shopId')
  334 + this.$http.sendRequest('/aggregationPayment/createOrder', 'POST', payList, 1).then(res => {
  335 + console.log(JSON.parse(res.data.data).data.codeUrl)
  336 + let url = JSON.parse(res.data.data).data.codeUrl
  337 +
  338 + // window.location.href = url
  339 + // plus.runtime.openURL(url , function(e) {console.log(e)})
  340 + uni.showModal({
  341 + title: res.data.message,
  342 + showCancel: false,
  343 + success: ress => {
  344 + uni.switchTab({
  345 + url: '/pages/home/home'
  346 + })
  347 + }
  348 + })
  349 + })
  350 +
  351 + this.joinShow = false
  352 + // uni.showModal({
  353 + // title: '支付成功 ',
  354 + // showCancel:false,
  355 + // success:ress => {
  356 + // uni.switchTab({
  357 + // url: '/pages/home/home'
  358 + // })
  359 + // }
  360 + // })
  361 + }
361 362  
362   - this.joinShow = false
363   - // uni.showModal({
364   - // title: '支付成功 ',
365   - // showCancel:false,
366   - // success:ress => {
367   - // uni.switchTab({
368   - // url: '/pages/home/home'
369   - // })
370   - // }
371   - // })
372   - }
373   -
374 363 },
375   - confirm(e){
  364 + confirm(e) {
376 365 console.log(e)
377   - let arr =[]
378   - if(e[0].label == '全部'){
379   - this.recordList = this.recordList1
380   - }else{
381   - this.recordList1.map(item =>{
382   - if(item.name == e[0].label){
383   - arr.push(item)
384   - }
  366 + this.value = e[0].label
  367 + this.$http.sendRequest('eventReporting/propertyPayment', 'POST',{merchantId:e[0].value,pageNumber:1,pageSize:10} ,1).then(res => {
  368 + console.error(res)
  369 + this.recordList = res.data.data.itemDetailsVOList.map(item=>{
  370 + item.isxl = true
  371 + item.isshowxz = false
  372 + item.itemDetailsVOList = item.itemDetailsVOList.map(item1=>{
  373 + item1.isshowxz = false
  374 + return item1
  375 + })
  376 + return item
385 377 })
386   - this.recordList = arr
387   - }
388   - this.value = e[0].label
389   -
  378 + })
390 379 },
391 380 radioGroupChange(e) {
392   - this.fangshi = e
393   - }
  381 + this.fangshi = e
  382 + }
394 383 }
395 384 }
396 385 </script>
397 386  
398 387 <style scoped lang="scss">
399 388 @import 'propertyPayList.scss';
400   -</style>
  389 + .tit1 {
  390 + color: #7a7a7a;
  391 + font-size: 26rpx;
  392 + }
  393 +</style>
401 394 \ No newline at end of file
... ...
lvdao-miniapp/pages/workbench/workbench.vue
... ... @@ -133,8 +133,8 @@
133 133 children: [
134 134 { name: '问卷调查', img: '/wjdc.png', path: '/pages/questionnaire/questionnaire' },
135 135 // { name: '招商方案', img: '/workbench2.png', path: '/pages/Iproposal/Iproposal' },
136   - { name: '我的活动', img: '/wdhd.png', path: '/pages/participation/participation' },
137   - { name: '活动申请', img: '/hdsq.png', path: '/pages/mycreated/mycreated' },
  136 + { name: '活动参与', img: '/wdhd.png', path: '/pages/participation/participation' },
  137 + { name: '活动申请', img: '/hdsq.png', path: '/pages/activityAdd/activityAdd' },
138 138 { name: '意向申请', img: '/yxsq.png', path: '/pages/rsaManagement/rsaManagement' },
139 139 ]
140 140 },
... ...
lvdao-miniapp/pagesA/addsb/addsb.vue
... ... @@ -55,7 +55,7 @@
55 55 </view>
56 56 </view>
57 57 <scroll-view style="height: 100%;" scroll-y v-if="onindex == '我的反馈'" @scrolltolower="scrolltolower">
58   - <view v-if="mylist.length>0" style="text-align: center;margin-top: 50rpx;" class="tit1">暂无数据</view>
  58 + <view v-if="mylist.length == 0" style="text-align: center;margin-top: 50rpx;" class="tit1">暂无数据</view>
59 59 <view style="background: #fff;border-radius: 18rpx;padding: 30rpx;margin-top: 30rpx;"
60 60 v-for="(item,index) in mylist">
61 61 <view style="display: flex;line-height: 50rpx;">
... ...
lvdao-miniapp/static/icon/icon11.png 0 → 100644

1.11 KB

lvdao-miniapp/static/icon/icon12.png 0 → 100644

1.37 KB

lvdao-miniapp/static/icon/icon13.png 0 → 100644

1.32 KB

lvdao-miniapp/static/icon/icon14.png 0 → 100644

1.2 KB

lvdao-miniapp/static/icon/icon15.png 0 → 100644

1.11 KB

lvdao-miniapp/static/icon/icon16.png 0 → 100644

4.14 KB

lvdao-miniapp/static/icon/icon7.png 0 → 100644

1.3 KB

lvdao-miniapp/utils/request.js
1 1  
2 2 // let hostall = window.location.href;
3 3 // let c1 = hostall.split('cdwlMall')[0];
4   -let c1 = 'https://jy.scjysm.asia:18086/'
5   -// let c1 = 'https://zhgw-uat.028wlkj.com/'
  4 +// let c1 = 'https://jy.scjysm.asia:18086/'
  5 +let c1 = 'https://zhgw-uat.028wlkj.com/'
6 6 //封装request请求
7 7 const sendRequest = (url, method = 'GET', data = {}, baseUrl,contentType) => {
8 8 //判断header提交数据类型
... ... @@ -16,7 +16,7 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
16 16 }
17 17 var bases = ''
18 18 if(baseUrl == 1){
19   - // bases = 'http://172.16.61.125:9003/' + url;
  19 + // bases = 'http://128.10.249.32:9003/' + url;
20 20 // bases = 'http://172.16.61.123/cdwlMall/admin-server' + url;
21 21 // bases = 'https://zhgw.028wlkj.com:20443/cdwlMall/meserver/admin-server' + url;
22 22 // bases = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server' + url;
... ... @@ -63,7 +63,7 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
63 63 success(res) {
64 64 uni.hideLoading();
65 65 var code = res.data.code+'';
66   - console.log("res",res)
  66 + // console.log("res",res)
67 67 switch (code) {
68 68 case '20001':
69 69 uni.showModal({
... ...