Commit 8d287597d2a587408252f0c0b8a0ee89e0fa471c

Authored by wesley88
1 parent f8d9577f

1

admin-web-master/dist.zip
No preview for this file type
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/utils/request.js
... ... @@ -17,10 +17,10 @@ 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.250.209:9003';
  20 + // baseURL = 'http://128.10.250.209:9003';
21 21  
22 22 // baseURL = process.env.VUE_APP_DOMAIN_PREFIX_1;
23   - baseURL = 'http://128.10.250.209:9003';
  23 + baseURL = 'http://128.10.249.47:9003';
24 24  
25 25 } else {
26 26 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
... ... @@ -97,7 +97,8 @@
97 97 <el-table-column label="操作" min-width="150" fixed="right">
98 98 <template slot-scope="scope">
99 99 <div @click="details(scope.row)" class="tableBtn greens">查看</div>
100   - <div v-if='scope.row.dataStatus == 4' @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>
101 102 <div v-if='scope.row.dataStatus == 1' @click="removeinfo(scope.row,'合同变更')" class="tableBtn greens">合同变更</div>
102 103 <div v-if='scope.row.dataStatus == 1' @click="removeinfo(scope.row,'合同续约')" class="tableBtn greens">合同续约</div>
103 104 <div v-if='scope.row.dataStatus == 1' @click="removeinfozz(scope.row,'合同终止')" class="tableBtn greens">合同终止</div>
... ... @@ -204,41 +205,68 @@
204 205 this.getAll()
205 206 },
206 207 methods: {
207   - async OA(row){
208   - 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();
209 228  
210   - // 处理二进制数据
211   - const blob = response.data;
212   - 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));
213 246 // return
214   - const base64Data = Buffer.from(blob, 'binary').toString('base64');
  247 + const buffer = Buffer.from(response.data);
  248 + const base64Data = buffer.toString('base64');
215 249 console.log(base64Data);
  250 + // this.downloadBase64File(base64Data, 'contract_file', response.headers['content-type']);
216 251 // return
217   - const file = new File([blob], 'filename.txt', { type: 'text/plain' });
  252 + const file = new File([response.data], 'filename.txt', { type: 'text/plain' });
218 253 console.log(file);
219 254 let fd = new FormData();
220   - fd.append('fileBytes', file); // 假设 formData 包含文件
221   - fd.append('fileName', '"合同.txt"');
  255 + fd.append('files', file); // 假设 formData 包含文件
  256 + fd.append('reviewers', '1858710592190291968');
  257 + fd.append('fileNames', '合同.docx');
  258 + fd.append('title', '这是一个流程');
222 259 console.log(fd);
223   - let c1 ={
224   - "account": "zsfu-test",
225   - "password": "000009",
226   - "accessKey": "HfHJ1cDCX4PuwSC5hoxQcvJCdvnNFG0C",
227   - "secretAccessKey": "tO5ebUtKpO60o4E90bfUBvl145R49Zg4",
228   - "id": "5c19f869063e57766b127177143e5c5d",
229   - "sponsor": "1834057529668276224",
230   - "reviewers": ["1858710592190291968"],
231   - "files": [
232   - {
233   - fileName:'合同.txt',
234   - fileBytes:base64Data
235   - }
236   - ],
237   - "title": "这是一个流程"
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 => {
  268 + // console.log(fd);
  269 + general(fd).then(res => {
242 270 console.log(res);
243 271 let data = JSON.parse(res.data)
244 272 if(data.code == '0'){
... ... @@ -260,44 +288,8 @@
260 288 })
261 289 }
262 290 })
263   - return
264   - // URL.createObjectURL(this.$baseURL+row.appendicesContract)
265   - const xhr = new XMLHttpRequest();
266   - xhr.open('GET', this.$baseURL+row.appendicesContract, true);
267   - xhr.responseType = 'blob'; // 设置响应类型为 blob
268   -
269   - xhr.onload = () => {
270   - if (xhr.status === 200) {
271   - const blob = xhr.response;
272   - console.log(blob);
273   - // general({
274   - // "title":"这是一个流程",
275   - // "files": [{
276   - // "fileBytes":blob,
277   - // "fileName":"合同.txt"
278   - // }]
279   - // }).then(res => {
280   -
281   - // })
282   - // 如果需要保存文件,可以创建一个 URL 对象并下载
283   - const url = window.URL.createObjectURL(blob);
284   - const link = document.createElement('a');
285   - link.href = url;
286   - console.log(link);
287   - link.setAttribute('download', 'filename.ext'); // 设置下载的文件名
288   - document.body.appendChild(link);
289   - link.click();
290   - document.body.removeChild(link);
291   - } else {
292   - console.error('下载文件时出错:', xhr.status);
293   - }
294   - };
295   -
296   - xhr.onerror = () => {
297   - console.error('下载文件时出错');
298   - };
299 291  
300   - xhr.send();
  292 +
301 293 },
302 294 gettime() {
303 295 // 获取当前时间
... ...
lvdao-miniapp/pages/propertyPay/payRecord/payRecord.vue
... ... @@ -2,30 +2,34 @@
2 2 <view class="page">
3 3 <view class="title-top">
4 4 <div class="left" @click="show = true">
5   - <text>2024年<u-icon name="arrow-down"></u-icon></text>
  5 + <text>{{year}}年<u-icon name="arrow-down"></u-icon></text>
6 6 <u-icon name="arrow-down" style="font-size: 24rpx;margin-left: 10rpx;" />
7   - <u-picker v-model="show" mode="time" :params="{year: true}"></u-picker>
  7 + <u-picker v-model="show" mode="time" :params="{year: true}" @confirm ="change"></u-picker>
8 8 </div>
9   - <div class="right"><u-icon name="rmb" style="font-size: 24rpx;" /><text class="price">6451.00</text></div>
  9 + <div class="right"><u-icon name="rmb" class="price" /><text class="price">0</text></div>
10 10 </view>
  11 + <view v-if="dataList.length==0" style="text-align: center;margin-top: 50rpx;" class="tit1">暂无数据</view>
11 12 <view class="record-list">
12   - <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">
13 14 <view class="info-title">
14   - <view class="title">7月</view>
15   - <view class="right"><u-icon name="rmb" style="font-size: 24rpx;" /><text class="price">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>
16 17 </view>
17   - <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)">
18 20 <view class="info-item">
19   - <view class="left title">{{item.orderNumber}}</view>
20   - <view class="right"><u-icon name="rmb" style="font-size: 24rpx;" /><text class="price">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>
21 23 </view>
22 24 <view class="info-item">
23   - <view class="left">物业费、服务费、卫生费</view>
24   - <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>
25 29 </view>
26 30 <view class="info-item">
27   - <view class="left" style="color: #0FBB59;">支付成功</view>
28   - <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>
29 33 </view>
30 34 </view>
31 35 </view>
... ... @@ -37,13 +41,68 @@
37 41 export default {
38 42 data() {
39 43 return {
  44 + year:'2025',
40 45 show: false,
41 46 dataList: [
42   - {
43   - children: [{}, {}]
  47 + { yue:'1',
  48 + children: [
  49 +
  50 + ]
44 51 },
45   - {
46   - 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 + ]
47 106 },
48 107 ]
49 108 }
... ... @@ -51,17 +110,70 @@
51 110 onLoad() {
52 111 this.gain()
53 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 + },
54 150 methods: {
55   - gain() {
56   - this.$http.sendRequest('cerePaymentInfo/queryByPage', 'POST',{paymentAccount:uni.getStorageSync('user').phone, "pageSize":10,
57   -    "pageNumber":0,
58   -    "year":"2025",
59   -    "month":"3"} ,1).then(res => {
60   - this.dataList = res.data.data.content.map(item=>{
61   - return item
  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)
62 173 })
63   - console.error(this.dataList)
64   - })
  174 + }
  175 + console.error(this.dataList)
  176 +
65 177 },
66 178 toDetail() {
67 179 uni.navigateTo({
... ...
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/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://128.10.250.25: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;
... ... @@ -24,7 +24,7 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
24 24 // bases = 'http://128.10.249.21:9003'+ url;
25 25 // bases = 'https://zhld.028wlkj.com:49008/cdwlMall/admin-server' + url;
26 26  
27   - // bases = c1 + 'cdwlMall/meserver/admin-server' + url;
  27 + bases = c1 + 'cdwlMall/meserver/admin-server' + url;
28 28  
29 29 }else if(baseUrl == 3){
30 30 // bases = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api' + 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({
... ...