Browse Source

房屋详情

work_tab_bar
juwei001 2 years ago
parent
commit
922db24dd3
  1. 27
      pages/resiAndHouse/resiAndHouse.js
  2. 2
      pages/resiAndHouse/resiAndHouse.wxml
  3. 187
      subpages/businessRecord/businessRecord.js
  4. 4
      subpages/businessRecord/businessRecord.json
  5. 48
      subpages/businessRecord/businessRecord.wxml
  6. 47
      subpages/businessRecord/index.js
  7. 6
      subpages/businessRecord/index.json
  8. 43
      subpages/businessRecord/index.wxml
  9. 18
      subpages/businessRecord/index.wxss
  10. 209
      subpages/house/pages/housePortrait/housePortrait.js
  11. 8
      subpages/house/pages/housePortrait/housePortrait.json
  12. 10
      subpages/house/pages/housePortrait/housePortrait.wxml
  13. 10
      subpages/house/pages/housePortrait/housePortrait.wxss
  14. 16
      utils/api.js
  15. 4
      utils/businessRecords.js

27
pages/resiAndHouse/resiAndHouse.js

@ -39,6 +39,7 @@ Page({
loadMoreType: "none",
loadFwMoreType: "none",
nodata: false,
nodatafw: false,
selectVale: 'resi',
keyWord: '',
angencyId: null,
@ -171,6 +172,7 @@ Page({
this.setData({
activeFwType: e.currentTarget.dataset.index,
// category: e.currentTarget.dataset.category,
loadFwMoreVisible: true,
tableFwData: [],
params1: {
...this.data.params1,
@ -254,9 +256,6 @@ Page({
onFinishFw(e) {
const { selectedOptions, value } = e.detail;
// const fieldNameFw = selectedOptions
// .map((option) => option.text || option.name)
// .join('/');
const level = selectedOptions[selectedOptions.length - 1].level
this.setData({
cascaderNameFw: e.detail.selectedOptions.map(item => item.label).join(' '),
@ -268,6 +267,7 @@ Page({
level,
},
params1: {
pageNo: 1,
...this.data.params1,
searchOrgIdPath: value,
orgId: value,
@ -367,15 +367,11 @@ Page({
})
},
toResiDetail(e) {
// '1765976717767618562'
console.log(e);
wx.navigateTo({
url: `/subpages/searchResult/pages/resiInfo/resiInfo?resiId=${e.currentTarget.dataset.resiid}`,
})
},
onClickJump(e) {
console.log('e::', e)
// '1765976717767618562'?resiId=${e.currentTarget.dataset.resiid}
wx.navigateTo({
url: `/subpages/house/pages/housePortrait/housePortrait?resiId=${e.currentTarget.dataset.resiid}`,
})
@ -405,7 +401,6 @@ Page({
}
},
onScrollFwToLower(e) {
console.log('this.data.loadFwMoreType::','zoule', this.data.loadFwMoreType)
if (this.data.loadFwMoreType === 'more') {
this.setData({
loadFwMoreVisible: true,
@ -462,8 +457,8 @@ Page({
},
getTableFwData: async function () {
this.setData({
loadMoreVisible: true,
nodata: false,
loadFwMoreVisible: true,
nodatafw: false,
loadMoreType: "more",
})
await allOrgHouseInfo({ ...this.data.params }).then(res => {
@ -488,17 +483,19 @@ Page({
loadFwMoreType: data.list.length === this.data.params1.pageSize ? 'more' : 'none',
tableFwData: this.data.tableFwData.concat(data.list),
})
if (this.data.tableData.length == 0) {
if (this.data.tableFwData.length == 0) {
this.setData({
loadMoreVisible: false,
nodata: true
loadFwMoreVisible: false,
loadFwMoreType: 'none',
nodatafw: true
})
}
} else {
this.setData({
loadMoreVisible: false,
nodata: true,
loadMoreType: 'none'
loadFwMoreVisible: false,
nodatafw: true,
loadFwMoreType: 'none'
})
}
})

2
pages/resiAndHouse/resiAndHouse.wxml

@ -140,7 +140,7 @@
</view>
</view>
<load-more loadVisible="{{loadFwMoreVisible}}" loadType="{{loadFwMoreType}}"></load-more>
<no-data isShow="{{nodata}}" wx:if="{{tableFwData.length==0}}"></no-data>
<no-data isShow="{{nodatafw}}" wx:if="{{nodatafw}}"></no-data>
</scroll-view>
</view>
</view>

187
subpages/businessRecord/businessRecord.js

@ -1,61 +1,32 @@
import {getComplainList,getShengList,getPunchRecord,getShequList,getshijianList,getxuqiuList,getfuwuList} from "../../utils/businessRecords";
// subpages/businessRecord/businessRecord.js
Page({
/**
* 页面的初始数据
*/
data: {
tabList: [{
label: "12345投诉",
value: '12345'
}, {
label: '满意度调查',
value: 'provinceSurvey'
}, {
label: '满意度自查',
value: 'selfSurvey'
}, {
label: '上报事件',
value: 'event'
}, {
label: '居民需求',
value: 'need'
}, {
label: '社区服务',
value: 'serve'
}, {
label: '打卡记录',
value: 'punchRecord'
}],
tabValue: '12345',
data: {},
residIds:[],
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log('zoule')
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
const pages = getCurrentPages();
this.setData({
tabValue: "12345",
residIds:[pages[1].options.resiId]
})
this.show12345("12345");
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
console.log('zoule')
},
/**
@ -91,153 +62,5 @@ Page({
*/
onShareAppMessage() {
},
tabChange({currentTarget: {dataset:{index}}}) {
const pages = getCurrentPages();
this.setData({
tabValue: index,
residIds:[pages[1].options.resiId]
})
if(index === "12345"){
this.show12345(index);
}else if(index === "provinceSurvey"){
let params = {
"residList": this.data.residIds
}
getShengList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.scope,
eventcontent: item.problemDesc
};
renamedArray.push(renamedItem);
});
this.data.data[index]= renamedArray;
this.setData({
data: this.data.data
})
}
})
}else if(index === "selfSurvey"){
let params = {
"residList": this.data.residIds
}
getShequList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.scope,
eventcontent: item.problemDesc
};
renamedArray.push(renamedItem);
});
this.data.data[index]= renamedArray;
this.setData({
data: this.data.data
})
}
})
}else if(index === "event"){
let params = {
"residList": this.data.residIds
}
getshijianList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.categorycode,
eventcontent: item.eventcontent
};
renamedArray.push(renamedItem);
});
this.data.data[index]= renamedArray;
this.setData({
data: this.data.data
})
}
})
}else if(index === "need"){
let params = {
"residList": this.data.residIds
}
getxuqiuList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.parentName,
eventcontent: item.content
};
renamedArray.push(renamedItem);
});
this.data.data[index]= renamedArray;
this.setData({
data: this.data.data
})
}
})
}else if(index === "serve"){
let params = {
"residList": this.data.residIds
}
getfuwuList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.serviceCategoryKey,
eventcontent: item.serviceName
};
renamedArray.push(renamedItem);
});
this.data.data[index]= renamedArray;
this.setData({
data: this.data.data
})
}
})
}else if(index === "punchRecord"){
let params = {
"residList": this.data.residIds
}
getPunchRecord(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.scope,
eventcontent: item.problemDesc
};
renamedArray.push(renamedItem);
});
this.data.data[index]= renamedArray;
this.setData({
data: this.data.data
})
}
})
}else{
console.log("else");
}
},
show12345(index){
console.log("init")
let params = {
"residList": this.data.residIds,
"eventType": "3"
}
getComplainList(params).then(res => {
this.data.data[index]= res.data.list;
this.setData({
data: this.data.data
})
console.log(this.data.data[index]);
})
}
})

4
subpages/businessRecord/businessRecord.json

@ -1,4 +0,0 @@
{
"usingComponents": {
}
}

48
subpages/businessRecord/businessRecord.wxml

@ -1,46 +1,2 @@
<view class="tag-list">
<view wx:for="{{tabList}}"
class="tag {{item.value === tabValue?'cur':''}}"
wx:key="index"
bind:tap="tabChange"
data-index="{{item.value}}">
{{item.label}}
</view>
</view>
<view class="table">
<view wx:if="{{tabValue === '12345'||tabValue === 'event'}}" class="row header">
<view class="cell">事件类型</view>
<view class="cell">事件描述</view>
</view>
<view wx:if="{{tabValue === 'provinceSurvey'||tabValue === 'selfSurvey'}}" class="row header">
<view class="cell">不满意事项类型</view>
<view class="cell">不满意事项描述</view>
</view>
<view wx:if="{{tabValue === 'need'}}" class="row header">
<view class="cell">需求类型</view>
<view class="cell">需求描述</view>
</view>
<view wx:if="{{tabValue === 'serve'}}" class="row header">
<view class="cell">需求类型</view>
<view class="cell">事件描述</view>
</view>
<view wx:if="{{tabValue === 'punchRecord'}}" class="row header">
<view class="cell1">打卡人</view>
<view class="cell1">打卡地址</view>
<view class="cell1">打卡时间</view>
</view>
<block bind:tap="gotopage" wx:if="{{tabValue !== 'punchRecord'}}" data-obj="{{item}}" wx:for="{{data[tabValue]}}" wx:key="index">
<view class="row {{index % 2 == 0 ? 'even' : 'odd'}}">
<view class="cell">{{item.categorycode}}</view>
<view class="cell">{{item.eventcontent}}</view>
</view>
</block>
<block bind:tap="gotopage" wx:if="{{tabValue == 'punchRecord'}}" data-obj="{{item}}" wx:for="{{data[tabValue]}}" wx:key="index">
<view class="row {{index % 2 == 0 ? 'even' : 'odd'}}">
<view class="cell1">{{item.name}}</view>
<view class="cell1">{{item.clockInAddress}}</view>
<view class="cell1">{{item.clockInTime}}</view>
</view>
</block>
</view>
<!--subpages/businessRecord/businessRecord.wxml-->
<text>subpages/businessRecord/businessRecord.wxml</text>

47
subpages/businessRecord/index.js

@ -0,0 +1,47 @@
Component({
properties: {
"ywData": {
"type": Object,
"value": {}
},
},
/**
* 页面的初始数据
*/
data: {
tabList: [{
label: "12345投诉",
value: '12345'
}, {
label: '满意度调查',
value: 'provinceSurvey'
}, {
label: '满意度自查',
value: 'selfSurvey'
}, {
label: '上报事件',
value: 'event'
}, {
label: '居民需求',
value: 'need'
}, {
label: '社区服务',
value: 'serve'
}, {
label: '打卡记录',
value: 'punchRecord'
}],
tabValue: '12345',
data: {},
residIds: [],
},
methods: {
tabChange({ currentTarget: { dataset: { index } } }) {
this.setData({
tabValue: index,
})
},
}
})

6
subpages/businessRecord/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"no-data": "../../../components/noData/nodata"
}
}

43
subpages/businessRecord/index.wxml

@ -0,0 +1,43 @@
<view class="tag-list">
<view wx:for="{{tabList}}" class="tag {{item.value === tabValue?'cur':''}}" wx:key="index" bind:tap="tabChange" data-index="{{item.value}}">
{{item.label}}({{ywData[item.value].length}})
</view>
</view>
<view class="table">
<view wx:if="{{tabValue === '12345'||tabValue === 'event'}}" class="row header">
<view class="cell">事件类型</view>
<view class="cell">事件描述</view>
</view>
<view wx:if="{{tabValue === 'provinceSurvey'||tabValue === 'selfSurvey'}}" class="row header">
<view class="cell">不满意事项类型</view>
<view class="cell">不满意事项描述</view>
</view>
<view wx:if="{{tabValue === 'need'}}" class="row header">
<view class="cell">需求类型</view>
<view class="cell">需求描述</view>
</view>
<view wx:if="{{tabValue === 'serve'}}" class="row header">
<view class="cell">需求类型</view>
<view class="cell">事件描述</view>
</view>
<view wx:if="{{tabValue === 'punchRecord'}}" class="row header">
<view class="cell1">打卡人</view>
<view class="cell1">打卡地址</view>
<view class="cell1">打卡时间</view>
</view>
<block bind:tap="gotopage" wx:if="{{tabValue !== 'punchRecord'}}" data-obj="{{item}}" wx:for="{{ywData[tabValue]}}" wx:key="index">
<view class="row {{index % 2 == 0 ? 'even' : 'odd'}}">
<view class="cell">{{item.categorycode}}</view>
<view class="cell">{{item.eventcontent}}</view>
</view>
</block>
<block bind:tap="gotopage" wx:if="{{tabValue == 'punchRecord'}}" data-obj="{{item}}" wx:for="{{ywData[tabValue]}}" wx:key="index">
<view class="row {{index % 2 == 0 ? 'even' : 'odd'}}">
<view class="cell1">{{item.name}}</view>
<view class="cell1">{{item.clockInAddress}}</view>
<view class="cell1">{{item.clockInTime}}</view>
</view>
</block>
<no-data isShow="{{ywData[tabValue].length===0}}" wx:if="{{ywData[tabValue].length===0}}"></no-data>
</view>

18
subpages/businessRecord/businessRecord.wxss → subpages/businessRecord/index.wxss

@ -106,13 +106,14 @@
.cell {
flex: 1;
padding: 10px 0;
padding: 20rpx 0;
font-size: 23rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.cell:nth-child(1) {
padding-left: 20rpx;
flex-basis: 30%;
font-size: 23rpx;
}
@ -123,24 +124,27 @@
}
.cell1 {
flex: 1;
padding: 10px 0;
/* flex: 1; */
/* display: flex; */
padding: 20rpx 0;
font-size: 23rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.cell1:nth-child(1) {
flex-basis: 20%;
padding-left: 20rpx;
flex-basis: 18%;
font-size: 23rpx;
}
.cell1:nth-child(2) {
flex-basis: 30%;
flex-basis: 40%;
font-size: 23rpx;
}
.cell1:nth-child(2) {
flex-basis: 30%;
.cell1:nth-child(3) {
padding-left: 20rpx;
flex-basis: 33%;
font-size: 23rpx;
}

209
subpages/house/pages/housePortrait/housePortrait.js

@ -1,32 +1,18 @@
// subpages/house/pages/housePortrait/housePortrait.js
import api from "../../../../utils/api"
import { getComplainList, getShengList, getPunchRecord, getShequList, getshijianList, getxuqiuList, getfuwuList, getMultiLogList } from "../../../../utils/businessRecords";
Page({
/**
* 页面的初始数据
*/
data: {
houseId: '',
detail: {},
logs: [
{
"resiName": "栈-1-1-101-001",
"operatorName": "王显章6",
"type": "edit",
"typeName": "修改",
"beforeChange": "是否低保户:是,",
"afterChange": "是否低保户:否,",
"changeTime": "2024-02-21 16:43:05"
},
{
"resiName": "栈-1-1-101-001",
"operatorName": "王显章6",
"type": "edit",
"typeName": "修改",
"beforeChange": "是否特殊人群:否,",
"afterChange": "是否特殊人群:是,",
"changeTime": "2024-02-20 17:58:27"
},
]
logs: [],
residIds: [],
ywData: {},
ywVisible: false,
},
/**
@ -38,21 +24,29 @@ Page({
})
this.getData()
},
getData() {// this.data.houseId
getData() {
api.getClearHouseDeatilById(this.data.houseId).then((res) => {
this.setData({
detail: res.data
})
}).catch((error) => {
});
// this.data.houseId
api.getLogList({ resiId: this.data.houseId }).then((res) => {
api.houseResidentChangeRecord({ houseId: this.data.houseId }).then((res) => {
this.setData({
logs: res.data.list
logs: res.data
})
}).catch((error) => {
console.error("发生错误:", error);
});
api.getResiList({ homeId: this.data.houseId, pageNo: 1, pageSize: 1000 }).then(res => {
const arr = res.data.list.map(item => {
return item.resiId
})
this.setData({
residIds: arr,
})
this.getTabData()
})
},
/**
* 生命周期函数--监听页面初次渲染完成
@ -105,9 +99,174 @@ Page({
gotopage({ currentTarget: { dataset } }) {
const { url } = dataset
console.log(url)
wx.navigateTo({
url
})
},
async getTabData() {
if (this.data.residIds.length === 0) {
this.setData({
ywVisible: true,
ywData: { "12345": [], "provinceSurvey": [], "selfSurvey": [], "event": [], "need": [], "serve": [], "punchRecord": [] }
})
return
}
let params1 = {
"residList": this.data.residIds,
"eventType": "3"
}
await getComplainList(params1).then(res => {
this.data.ywData['12345'] = res.data.list.map(item => {
return {
...item,
categorycode: item.categorycode || '--',
eventcontent: item.eventcontent || '--'
}
});
this.setData({
data: this.data.ywData
})
})
let params = {
"residList": this.data.residIds
}
await getShengList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.scope || '--',
eventcontent: item.problemDesc || '--'
};
renamedArray.push(renamedItem);
});
this.data.ywData['provinceSurvey'] = renamedArray;
this.setData({
ywData: this.data.ywData
})
} else {
this.data.ywData['provinceSurvey'] = [];
this.setData({
ywData: this.data.ywData
})
}
})
await getShequList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.scope || '--',
eventcontent: item.problemDesc || '--'
};
renamedArray.push(renamedItem);
});
this.data.ywData['selfSurvey'] = renamedArray;
this.setData({
ywData: this.data.ywData
})
} else {
this.data.ywData['selfSurvey'] = [];
this.setData({
ywData: this.data.ywData
})
}
})
await getshijianList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.categorycode || '--',
eventcontent: item.eventcontent || '--'
};
renamedArray.push(renamedItem);
});
this.data.ywData['event'] = renamedArray;
this.setData({
ywData: this.data.ywData
})
} else {
this.data.ywData['event'] = [];
this.setData({
ywData: this.data.ywData
})
}
})
await getxuqiuList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.parentName || '--',
eventcontent: item.content || '--'
};
renamedArray.push(renamedItem);
});
this.data.ywData['need'] = renamedArray;
this.setData({
ywData: this.data.ywData
})
} else {
this.data.ywData['need'] = [];
this.setData({
ywData: this.data.ywData
})
}
})
await getfuwuList(params).then(res => {
if (res.data && res.data.length > 0) {
let renamedArray = [];
res.data.forEach(item => {
let renamedItem = {
categorycode: item.serviceCategoryKey || '--',
eventcontent: item.serviceName || '--'
};
renamedArray.push(renamedItem);
});
this.data.ywData['serve'] = renamedArray;
this.setData({
ywData: this.data.ywData
})
} else {
this.data.ywData['serve'] = [];
this.setData({
ywData: this.data.ywData
})
}
})
const residIds = this.data.residIds.map(function(item) {
return encodeURIComponent(item);
}).join(',');
const params2 = {
"resiIdList": residIds,
pageNo: 1,
pageSize: 1000,
}
await getMultiLogList(params2).then(res => {
if (res.data && res.data.length > 0) {
let arr = [];
res.data.forEach(item => {
item.list.forEach(item1=>{
arr.push(item1)
})
})
this.data.ywData['punchRecord'] = arr;
this.setData({
ywData: this.data.ywData,
})
} else {
this.data.ywData['punchRecord'] = [];
this.setData({
ywData: this.data.ywData
})
}
})
this.setData({
ywVisible: true
})
},
})

8
subpages/house/pages/housePortrait/housePortrait.json

@ -1,7 +1,7 @@
{
{
"navigationBarTitleText": "房屋详情",
"usingComponents": {
"BusinessRecord": "../../../businessRecord/businessRecord",
"van-steps": "@vant/weapp/steps/index",
"van-step": "@vant/weapp/steps/index"
"BusinessRecord": "../../../businessRecord",
"no-data": "../../../../components/noData/nodata"
}
}

10
subpages/house/pages/housePortrait/housePortrait.wxml

@ -36,14 +36,14 @@
<view class="title">
<text>业务记录</text>
</view>
<BusinessRecord />
<BusinessRecord wx:if="{{ywVisible}}" ywData="{{ywData}}" />
</view>
<view class="card">
<view class="title">
<text>更新记录</text>
</view>
<view>
<view style="margin-top: 32rpx; padidng:0 12rpx;">
<view class="logsBox" wx:for="{{logs}}" wx:key="{{item.changeTime}}">
<view class="item-dian {{index!=0?'item-dian1':''}}">
<view class="neidian"></view>
@ -53,7 +53,7 @@
<view class="logs-top-time">{{item.changeTime}}</view>
</view>
<view class="logs-content">
<view>
<view class="logs-content-left">
<view>
<text class="logs-content-title">变更前:</text>
<text class="logs-content-txt">{{item.beforeChange}}</text>
@ -63,7 +63,7 @@
<text class="logs-content-txt">{{item.afterChange}}</text>
</view>
</view>
<view>
<view class="logs-content-right">
<view>
<text class="logs-content-title">操作人:</text>
<text class="logs-content-txt">{{item.operatorName}}</text>
@ -76,6 +76,8 @@
</view>
</view>
</view>
<no-data isShow="{{logs.length===0}}" wx:if="{{logs.length===0}}"></no-data>
</view>
</view>

10
subpages/house/pages/housePortrait/housePortrait.wxss

@ -112,7 +112,13 @@
line-height: 40rpx;
}
.logs-content-title {}
.logs-content-left {
width: 48%;
}
.logs-content-right {
width: 48%;
}
.logs-content-txt {
color: #333333;
@ -134,4 +140,4 @@
height: 18rpx;
background: #3A80E7;
border-radius: 50%;
}
}

16
utils/api.js

@ -71,7 +71,9 @@ module.exports = {
houseSearch,
allOrgHouseInfo,
getLogList,
updatetResi
updatetResi,
getResiList,
houseResidentChangeRecord
}
// 获取公钥
@ -355,7 +357,6 @@ function updatetResi(parm) {
// 社区查询-房屋查询
function houseSearch(parm) {
console.log('parmparm:', parm)
return fly.post(`actual/base/communityHouse/houseSearch`,parm)
}
// 社区查询-房屋概览查询
@ -370,9 +371,20 @@ function getTopTree(parm) {
function getNextTree(parm) {
return fly.get(`actual/base/communityBuilding/tree/nextTreeNode`,parm)
}
// 获取打卡记录
function getLogList(parm) {
return fly.get(`actual/base/clockRecords/logList`,parm)
}
// 获取房屋居民id
function getResiList(parm) {
return fly.post(`actual/base/residentBaseInfo/page`,parm)
}
// 获取更新记录
function houseResidentChangeRecord(parm) {
return fly.get(`actual/base/peopleRoomOverview/houseResidentChangeRecord`,parm)
}

4
utils/businessRecords.js

@ -42,4 +42,8 @@ export function getfuwuList(params) {
// 打卡记录
export function getPunchRecord(params) {
return request.post(`actual/base/peopleRoomOverview/provincialSatisfactionPageList`, params)
}
// 打卡记录
export function getMultiLogList(params) {
return request.get(`actual/base/clockRecords/multiLogList`, params)
}
Loading…
Cancel
Save