diff --git a/pages/resiAndHouse/resiAndHouse.js b/pages/resiAndHouse/resiAndHouse.js index c4d150d..b0ae7f8 100644 --- a/pages/resiAndHouse/resiAndHouse.js +++ b/pages/resiAndHouse/resiAndHouse.js @@ -215,6 +215,11 @@ Page({ console.log(err); }) }, + toResiDetail(){ + wx.navigateTo({ + url: `/subpages/searchResult/pages/punchCard/punchCard?resiId=${'1765976717767618562'}`, + }) + }, onFinish(e){ console.log(e); }, diff --git a/pages/resiAndHouse/resiAndHouse.wxml b/pages/resiAndHouse/resiAndHouse.wxml index 5e46ce9..19423af 100644 --- a/pages/resiAndHouse/resiAndHouse.wxml +++ b/pages/resiAndHouse/resiAndHouse.wxml @@ -46,7 +46,7 @@ - + {{item.name}} diff --git a/subpages/addResi/pages/addResi/addResi.wxss b/subpages/addResi/pages/addResi/addResi.wxss index 092b351..f42d9b6 100644 --- a/subpages/addResi/pages/addResi/addResi.wxss +++ b/subpages/addResi/pages/addResi/addResi.wxss @@ -168,7 +168,6 @@ page { box-sizing: border-box; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); - } .bot_btn .bottom_btn{ width: 240rpx; diff --git a/subpages/searchResult/pages/punchCard/punchCard.js b/subpages/searchResult/pages/punchCard/punchCard.js index e0da06d..f892dab 100644 --- a/subpages/searchResult/pages/punchCard/punchCard.js +++ b/subpages/searchResult/pages/punchCard/punchCard.js @@ -1,31 +1,561 @@ // subpages/searchResult/pages/punchCard/punchCard.js import api from "../../../../utils/api" +var http = require('../../../../utils/request.js') const QQMapWX = require('../../../../utils/qqmap-wx-jssdk') const app = getApp() -var timerId= null; +var timerId = null; Page({ /** * 页面的初始数据 */ data: { - form:{ - name:"", - birthday:"", - mobile:"", - gridName:"", - homeName:"", - genderName:"", - }, - resiId:"", - punchFlag:null, - currentTime:'', - address:'', - longitude:'', - latitude:'', + form: {}, + resiId: "", + punchFlag: null, + currentTime: '', + address: '', + longitude: '', + latitude: '', agencyLevel: '', recentTime: '', - lastLog: {} + lastLog: {}, + tabList: [{ + name: '基础信息', + filledQty: "0", + totalQty: '1' + }, { + name: '基础信息', + filledQty: "0", + totalQty: '1' + }, { + name: '基础信息', + filledQty: "0", + totalQty: '1' + }], + originalExpandList: [{ + id: "healthDto", + title: "残疾信息", + scrollId: "disability", + children: [{ + label: "残疾类别", + itemType: "select1", + formName: "disabilityCategoryCode", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "disability_category_code" + }, + opction: [], + }, + { + label: "残疾等级", + itemType: "select1", + formName: "disabilityLevel", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "disability_level" + }, + opction: [], + }, + { + label: "残疾证号", + itemType: "input1", + formName: "disabilityNum", + }, + { + label: "残疾说明", + itemType: "input1", + formName: "disabilityDesc", + }, + { + label: "监护人", + itemType: "radio1", + formName: "guardianFlag", + opction: [{ + label: "有", + formName: "", + value: 1 + }, + { + label: "无", + formName: "", + value: 0 + }, + ], + }, + { + label: "监护人姓名", + itemType: "input1", + formName: "guardianName", + }, + { + label: "监护人联系电话", + itemType: "input1", + formName: "guardianMobile", + }, + { + label: "技能特长", + itemType: "radio1", + formName: "specialSkillFlag", + opction: [{ + label: "有", + formName: "", + value: 1 + }, + { + label: "无", + formName: "", + value: 0 + }, + ], + }, + { + label: "劳动能力", + itemType: "radio1", + formName: "workCapacityFlag", + opction: [{ + label: "有", + formName: "", + value: 1 + }, + { + label: "无", + formName: "", + value: 0 + }, + ], + }, + ], + }, + { + id: "seriousIllnessDto", + title: "大病信息", + scrollId: "serious_illness", + children: [{ + label: "所患大病", + itemType: "checkbox", + formName: "illnessCodes", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "illness_code" + }, + opction: [], + }, ], + }, + { + id: "chronicDiseaseDto", + title: "慢病信息", + scrollId: "chronic_disease", + children: [{ + label: "所患慢病", + itemType: "checkbox", + formName: "chronicDiseaseCodes", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "chronic_disease_code" + }, + opction: [], + }, ], + }, + { + id: "deathDto", + title: "死亡信息", + scrollId: "death", + children: [{ + label: "死亡时间", + itemType: "datepicker1", + formName: "deathTime", + }, ], + }, + { + id: "oldPeopleDto", + title: "老年人信息", + scrollId: "old_people", + children: [{ + label: "老年人分类", + itemType: "checkbox", + multiple: true, + formName: "oldPeopleCategories", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "oldPeople_categories" + }, + }, + { + label: "居住情况", + itemType: "select1", + formName: "resideSituation", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "reside_situation" + }, + }, + { + label: "高龄补助", + itemType: "inputNum", + formName: "oldSubsidy", + }, + ], + }, + { + id: "subsistenceAllowanceDto", + title: "低保信息", + scrollId: "subsistence_allowance", + children: [{ + label: "低保类别", + itemType: "select1", + formName: "category", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "subsistence_allowance_category" + }, + }, + { + label: "低保享受原因", + itemType: "checkbox", + formName: "reasons", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "subsistence_allowance_reasons" + }, + opction: [], + }, + ], + }, + { + id: "parymemberInfoDto", + title: "党员信息", + scrollId: "party_member", + children: [{ + label: "入党时间", + itemType: "datepicker1", + formName: "joinTime", + opction: [], + }, + { + label: "转正时间", + itemType: "datepicker1", + formName: "positiveTime", + opction: [], + }, + { + label: "所属党组织", + itemType: "cascader1", + formName: "partyOrgId", + opction: [], + }, + { + label: "流动党员", + itemType: "radio1", + formName: "flowFlag", + opction: [{ + label: "是", + value: 1 + }, + { + label: "否", + value: 0 + }, + ], + }, + { + label: "流动党员活动证号", + itemType: "input1", + formName: "flowActNum", + }, + { + label: "职务", + itemType: "select1", + formName: "partyJob", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "party_job" + }, + opction: [], + }, + { + label: "工作职责", + itemType: "input1", + formName: "duty", + }, + { + label: "是否退休", + itemType: "radio1", + formName: "retiredFlag", + opction: [{ + label: "是", + value: 1 + }, + { + label: "否", + value: 0 + }, + ], + }, + { + label: "党员中心户", + itemType: "radio1", + formName: "centerFlag", + opction: [{ + label: "是", + value: 1 + }, + { + label: "否", + value: 0 + }, + ], + }, + { + label: "免学习", + itemType: "radio1", + formName: "studyNotNeed", + opction: [{ + label: "是", + value: 1 + }, + { + label: "否", + value: 0 + }, + ], + }, + { + label: "入党时所在党支部", + itemType: "input1", + formName: "joinBranchName", + }, + { + label: "组织关系转入社区时间", + itemType: "datepicker1", + formName: "joinCommunityTime", + opction: [], + }, + ], + }, + { + id: "ensureHouseDto", + title: "保障房信息", + scrollId: "ensure_house", + children: [{ + label: "所在社区", + itemType: "input1", + formName: "liveCommunity", + }, + { + label: "住房性质", + itemType: "select1", + formName: "housingNature", + opctionUrl: "sys/dict/data/house", + opctionParams: { + formCode: "resi_base_info" + }, + opction: [], + }, + ], + }, + { + id: "veteranDto", + title: "退役军人信息", + scrollId: "veteran", + children: [{ + label: "入伍时间", + itemType: "datepicker1", + formName: "joinArmyTime", + opction: [], + }, + { + label: "退伍时间", + itemType: "datepicker1", + formName: "leaveArmyTime", + opction: [], + }, + { + label: "服役单位", + itemType: "input1", + formName: "serviceUnit", + }, + { + label: "接收单位", + itemType: "input1", + formName: "receiveUnit", + }, + { + label: "待安置补助金", + itemType: "inputNum", + formName: "settlementAmount", + opction: [], + }, + { + label: "培训状况", + itemType: "input1", + formName: "trainDesc", + }, + { + label: "现就业情况", + itemType: "input1", + formName: "employmentSituation", + }, + { + label: "是否办理公益性岗位", + itemType: "radio1", + formName: "pubWelfareJobFlag", + opction: [{ + label: "是", + value: 1 + }, + { + label: "否", + value: 0 + }, + ], + }, + ], + }, + { + id: "unitedFrontDto", + title: "统战人员信息", + scrollId: "united_front", + children: [{ + label: "统战类型", + itemType: "input1", + formName: "unitedFrontType", + }, ], + }, + { + id: "volunteerDto", + title: "志愿者信息", + children: [{ + label: "志愿者类别", + itemType: "checkbox", + formName: "volunteerCategory", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "VOLUNTEER_CATEGORY" + }, + opction: [], + }, ], + }, + { + id: "specialSupportDto", + title: "特扶人员信息", + scrollId: "special_support", + children: [{ + //0 + label: "特扶类别", + itemType: "select1", + formName: "specialSupportType", + opction: [{ + value: "1", + label: "失独", + }, + { + value: "2", + label: "伤残", + }, + ], + }, + { + //1 + label: "子女姓名", + itemType: "input1", + formName: "childName", + opction: [], + }, + { + //2 + label: "子女性别", + itemType: "select1", + formName: "childGender", + opction: [{ + value: "1", + label: "男", + }, + { + value: "2", + label: "女", + }, + ], + }, + { + label: "子女死亡日期", + itemType: "datepicker1", + formName: "childDeathDate", + opction: [], + }, + { + label: "子女伤残类别", + itemType: "select1", + formName: "childDisabilityCategoryCode", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "disability_category_code" + }, + opction: [], + }, + { + label: "子女伤残等级", + itemType: "select1", + formName: "childDisabilityLevel", + opctionUrl: "sys/dict/data/dictlist", + opctionParams: { + dictType: "disability_level" + }, + opction: [], + }, + ], + }, + ], + expandList: [], + activeType: 0, + tagList: [], + idTypeList: [{ + label: '其他', + value: 0 + }, + { + label: '身份证', + value: 1 + }, + { + label: '护照', + value: 2 + }, + { + label: '港澳通行证', + value: 3 + }, + { + label: '军人证', + value: 4 + }, + { + label: '台胞证', + value: 5 + } + ], + marriageList:[ + { + label:"未婚", + value:'weihun' + }, + { + label:"初婚", + value:'chuhun' + }, + { + label:"离婚", + value:'lihun' + }, + { + label:"再婚", + value:'zaihun' + }, + { + label:"复婚", + value:'fuhun' + } + ] }, /** @@ -36,20 +566,20 @@ Page({ this.updateTime(); timerId = setInterval(this.updateTime, 1000); console.log(timerId); - if(options.resiId){ + if (options.resiId) { this.setData({ - resiId:options.resiId + resiId: options.resiId }) - this.getResiDetail() + this.getResiInfo() } - this.data.qqMapWX = new QQMapWX({ - key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' - }) - this.reverseLocation() + // this.data.qqMapWX = new QQMapWX({ + // key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' + // }) + // this.reverseLocation() this.setData({ - agencyLevel: app.globalData.user.level + agencyLevel: app.globalData.user.level }) - this.getLastLogs() + // this.getLastLogs() }, updateTime() { let date = new Date(); @@ -60,93 +590,207 @@ Page({ currentTime: `${hours}:${minutes}:${seconds}` }); }, - getResiDetail: async function() { + getResiInfo: async function () { try { - let res = await api.getResiDetail(this.data.resiId); - const {birthday,mobile,name,houseInfo,genderName} = res.data; - this.setData({ - 'form.name':name|| '--', - 'form.birthday':birthday|| '--', - 'form.mobile':mobile|| '--', - 'form.gridName' :'--', - 'form.homeName' : '--', - 'form.genderName' :genderName|| '--', - }); - console.log(this.data.form); - } catch(err) { + let res = await api.getResiInfo(this.data.resiId); + let marriageName = '--' + if (res.data.baseInfoDto.categoryInfo.categoryNames) { + res.data.baseInfoDto.categoryInfo.categoryNames = res.data.baseInfoDto.categoryInfo.categoryNames.join(',') + + } + if(res.data.familyInfoDto.marriage){ + marriageName = this.data.marriageList.filter(item=>item.value == res.data.familyInfoDto.marriage)[0].label + } + // 处理tab + this.setData({ + form: res.data, + marriageName:marriageName + }); + await this.updateTabList(res.data.integrityData.integrityQtyMap) + + } catch (err) { console.log(err); } }, - handlePunch(){ + updateTabList: async function (value) { + const nameMap = { + reside: "居住信息", + ext: "拓展信息", + united_front: "统战人员信息", + party_member: "党员信息", + death: "死亡信息", + disability: "残疾信息", + subsistence_allowance: "低保信息", + serious_illness: "大病信息", + veteran: "退役军人信息", + special_support: "特扶人员信息", + old_people: "老年人信息", + ensure_house: "保障房信息", + chronic_disease: "慢病信息", + base: "基本信息", + }; + let list = Object.entries( + value + ) + .map(([key, value]) => ({ + name: nameMap[key], + id: key, + filledQty: value.filledQty, + totalQty: value.totalQty, + })) + .reverse(); + this.setData({ + tabList: list + }) + let arr = this.data.tabList.filter( + (item) => + item.filledQty > 0 || ( + item.name == "拓展信息" || + item.name == "基本信息") + ); + let arrs = [] + arrs = this.data.originalExpandList.filter((itemA) => { + return arr.some((itemB) => itemB.name === itemA.title); + }); + await Promise.all( + arrs.map(async (item) => { + await Promise.all( + item.children.map(async (child) => { + const key = child.formName; + if (this.data.form[item.id].hasOwnProperty(key)) { + child.value = await this.getDictName( + child.opctionUrl, + child.opctionParams, + this.data.form[item.id][ + key == "partyOrgId" ? "branchId" : key + ], + child.itemType, + child.opction + ); + } + }) + ); + }) + ); + this.setData({ + expandList: arrs + }) + console.log(arrs); + console.log(arr); + }, + getDictName: async function (url, params, value, itemType, opction) { + try { + if (url) { + const { + data + } = await http.post(url, params); + if (itemType == "checkbox") { + const matchedLabels = value + .map((item) => { + const matchedItems = data.filter( + (obj) => obj.value === item + ); + if (matchedItems.length > 0) { + return matchedItems + .map((matchedItem) => matchedItem.label) + .join(","); + } else { + return ""; + } + }) + .join(","); + return matchedLabels ? matchedLabels : "--"; + } else if (itemType == "select1") { + const matchedItem = data.find((item) => item.value === value); + return matchedItem ? matchedItem.label : "--"; + } + } else { + if (itemType == "radio1") { + const matchedItem = opction.find((item) => item.value === value); + return matchedItem ? matchedItem.label : "--"; + } else if ( + itemType == "input1" || + itemType == "datepicker1" || + itemType == "cascader1" + ) { + return value ? value : "--"; + } + } + } catch (error) { + console.log(error); + } + }, + handlePunch() { this.setData({ // punchFlag:!this.data.punchFlag, - animationClass:'animate' + animationClass: 'animate' }) setTimeout(() => { - this.setData({ animationClass: '' }); + this.setData({ + animationClass: '' + }); this.clockRecords() - - }, 1500); + + }, 1500); }, - clockRecords(){ + clockRecords() { let currentDate = new Date().toISOString().split('T')[0]; // 会得到形如 "2023-09-27" 的日期 let obj = { - resiId:this.data.resiId, + resiId: this.data.resiId, clockTime: currentDate + " " + this.data.currentTime, clockAddress: this.data.address, - longitude:this.data.longitude , - latitude:this.data.latitude + longitude: this.data.longitude, + latitude: this.data.latitude } - api.clockRecords(obj).then(res=>{ - wx.showToast({ - // title: this.data.punchFlag?'打卡成功':'更新成功', - title: '打卡成功', - icon:'none' - }) - }).catch(err=>{ + api.clockRecords(obj).then(res => { + wx.showToast({ + // title: this.data.punchFlag?'打卡成功':'更新成功', + title: '打卡成功', + icon: 'none' + }) + }).catch(err => { console.log(err); }) }, - toAddResi(){ - wx.navigateTo({ - url: `/subpages/addResi/pages/editResi/editResi?type=edit&resiId=${this.data.resiId}`, - }) + toAddResi() { + wx.navigateTo({ + url: `/subpages/addResi/pages/editResi/editResi?type=edit&resiId=${this.data.resiId}`, + }) }, - toWebView(){ + toWebView() { console.log(app.globalData); - if(app.globalData.questionnaireUrl) { + if (app.globalData.questionnaireUrl) { - wx.navigateTo({ - url: '/pages/webView/webView?url=' + app.globalData.questionnaireUrl, - }) - } else { - wx.showToast({ - icon: "none", - title: '未创建满意度调查问卷', - }) - } - }, - toEvent(){ - let obj ={ - resiId : this.data.resiId, - resiMobile : this.data.form.mobile, - resiName:this.data.form.name + wx.navigateTo({ + url: '/pages/webView/webView?url=' + app.globalData.questionnaireUrl, + }) + } else { + wx.showToast({ + icon: "none", + title: '未创建满意度调查问卷', + }) } - wx.setStorageSync('resiDetail',obj) + }, + toEvent() { + let obj = { + resiId: this.data.resiId, + resiMobile: this.data.form.mobile, + resiName: this.data.form.name + } + wx.setStorageSync('resiDetail', obj) wx.navigateTo({ - url: '/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck', + url: '/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck', }) }, reverseLocation() { const _this = this this.data.qqMapWX.reverseGeocoder({ success(res) { - console.log(res); _this.setData({ - addressContent:res.result.address, + addressContent: res.result.address, address: res.result.address, - longitude:res.result.location.lng, - latitude:res.result.location.lat, + longitude: res.result.location.lng, + latitude: res.result.location.lat, }) }, fail(err) { @@ -184,7 +828,6 @@ Page({ timerId = null; } }, - /** * 页面相关事件处理函数--监听用户下拉动作 */ @@ -206,20 +849,32 @@ Page({ }, gotopage(e) { - wx.navigateTo({ - url: e.currentTarget.dataset.url, - }) - }, - getLastLogs() { - api.getLastLog({resiId:this.data.resiId}).then(res => { - this.setData({ - lastLog: res.data + wx.navigateTo({ + url: e.currentTarget.dataset.url, }) - }) }, + // getLastLogs() { + // api.getLastLog({ + // resiId: this.data.resiId + // }).then(res => { + // this.setData({ + // lastLog: res.data + // }) + // }) + // }, goResidentPortrait2() { - wx.navigateTo({ - url: '/subpages/statistics/pages/residentPortrait2/residentPortrait?id='+this.data.resiId, - }) + wx.navigateTo({ + url: '/subpages/statistics/pages/residentPortrait2/residentPortrait?id=' + this.data.resiId, + }) + }, + + handelClickTab: function(e) { + wx.pageScrollTo({ + selector: `#${e.currentTarget.dataset.item.id}`, + duration:300 + }); + this.setData({ + activeType: e.currentTarget.dataset.index + }) } }) \ No newline at end of file diff --git a/subpages/searchResult/pages/punchCard/punchCard.wxml b/subpages/searchResult/pages/punchCard/punchCard.wxml index cfa7dbf..05b908b 100644 --- a/subpages/searchResult/pages/punchCard/punchCard.wxml +++ b/subpages/searchResult/pages/punchCard/punchCard.wxml @@ -1,52 +1,116 @@ + + + + + {{form.baseInfoDto.name}} + 信息完整度: + {{form.integrityData.score}}% + + + {{item}} + + + + 编辑 + + + + 地址: + {{form + .resideInfoDtos[0].agencyName + form.resideInfoDtos[0].homeName}} + + + 创建时间: + {{form.baseInfoDto.createdTime}} + + + 最近更新时间: + {{form.baseInfoDto.updatedTime}} + + + + {{item.name}} ({{ item.filledQty }}/{{ item.totalQty }}) + + + + 基础信息 - 姓名: - {{form.name}} + 国籍: + {{form.baseInfoDto.nationalityName|| '--' }} + + + 证件类型: + {{idTypeList[form.baseInfoDto.idType].label}} + + + 证件号: + {{form.baseInfoDto.idNum}} + + + 联系电话: + {{form.baseInfoDto.mobile}} + + 文化程度: + {{form.eduInfoDto.cultureLevelName}} + + 性别: - {{form.genderName}} + {{form.baseInfoDto.genderName}} 出生日期: - {{form.birthday}} + {{form.baseInfoDto.birthday}} + + + 民族: + {{form.baseInfoDto.nationName}} - 住宅: - {{form.homeName}} + 婚姻状况: + {{marriageName}} + - 电话: - {{form.mobile}} + 籍贯: + {{form.baseInfoDto.nativePlace}} - 居民画像 - - - - - - - 走访打卡 - 打卡记录 + + {{item.title}} + + + {{itemC.label}}: + {{itemC.value|| '--' }} + + + + 打卡 {{currentTime}} 当前位置:{{addressContent}} 最近打卡时间:{{lastLog.clockInTime}} - - - - 相关操作 - 修改居民信息 - 满意度调查 - 上报居民诉求 + --> + + + + + + + \ No newline at end of file diff --git a/subpages/searchResult/pages/punchCard/punchCard.wxss b/subpages/searchResult/pages/punchCard/punchCard.wxss index 8ea03de..b266378 100644 --- a/subpages/searchResult/pages/punchCard/punchCard.wxss +++ b/subpages/searchResult/pages/punchCard/punchCard.wxss @@ -1,127 +1,235 @@ /* subpages/searchResult/pages/punchCard/punchCard.wxss */ /**index.wxss**/ page { - width: 100%; - min-height: 100vh; - overflow: hidden; - overflow-y: scroll; - background-color: #f7f7f7; - padding: 0 20rpx; - box-sizing: border-box; - } -.card{ - background-color: #fff; - border-radius: 20rpx; - display: flex; - flex-direction: column; - min-height: 350rpx; - margin-top: 20rpx; - padding: 30rpx 30rpx 40rpx; -} - -.card .title{ - position: relative; - font-size: 34rpx; -} -.card .title::after{ - position: absolute; - left: -30rpx; - top: 8rpx; - content: " "; - width: 10rpx; - height: 28rpx; - background-color: #3A80E7; -} -.info{ - margin-top: 6rpx; -} -.info .item{ - display: flex; - margin-top: 28rpx; -} -.info .item .label{ - width: fit-content; -} -.punch{ - width: 260rpx; - height: 260rpx; - background: linear-gradient(180deg,#5E9FFF, #3A80E7); - box-shadow: 0rpx 4rpx 35rpx 0rpx rgba(61,139,248,0.48); - color: #fff; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - border-radius: 50%; - margin: 50rpx auto 0; -} - -.address{ - color: #666666; - font-size: 28rpx ; - margin: 0 auto; - margin: 40rpx auto 30rpx; -} - + background-color: #f7f7f7; + height: auto; + overflow-y: scroll; + padding: 0 20rpx 160rpx ; + box-sizing: border-box; +} + +.form { + display: flex; + margin-top: 20rpx; +} + +.form .form_label { + font-size: 30rpx; + color: #999999; +} + +.form .form_value { + color: #333333; + text-align: left; + font-weight: 500; + flex: 1; +} + +.card { + background-color: #fff; + border-radius: 20rpx; + display: flex; + flex-direction: column; + margin-top: 20rpx; + padding: 30rpx 30rpx 40rpx; + box-sizing: border-box; + position: relative; + overflow: hidden; +} + +.card .title { + position: relative; + font-size: 34rpx; +} + +.card .title::after { + position: absolute; + left: -30rpx; + top: 8rpx; + content: " "; + width: 10rpx; + height: 28rpx; + background-color: #3A80E7; +} + +.info { + margin-top: 6rpx; +} + +.info .item { + display: flex; + margin-top: 28rpx; +} + +.info .item .label { + width: fit-content; +} + +.punch { + width: 260rpx; + height: 260rpx; + background: linear-gradient(180deg, #5E9FFF, #3A80E7); + box-shadow: 0rpx 4rpx 35rpx 0rpx rgba(61, 139, 248, 0.48); + color: #fff; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 50%; + margin: 50rpx auto 0; +} + +.address { + color: #666666; + font-size: 28rpx; + margin: 0 auto; + margin: 40rpx auto 30rpx; +} + @keyframes rotateAnimation { - 0% { - transform: rotateY(0deg); - } - 100% { - transform: rotateY(180deg); - } - } - -.animate { - animation: rotateAnimation 2s forwards; + 0% { + transform: rotateY(0deg); } - .btn{ - padding: 0 85rpx; - box-sizing: border-box; - min-width: 364rpx; - text-align: center; - height: 76rpx; - border-radius: 38rpx; - margin: 30rpx auto 0; - line-height: 76rpx; - border-radius: 76rpx; - } - - .blue{ - color:#3A80E7 ; - border: 2rpx solid #3A80E7; + 100% { + transform: rotateY(180deg); } - .yellow{ - color: #FF783C; - border: 2rpx solid #FF783C; - } - .green{ - color: #13C8BD; - border: 2rpx solid #13C8BD; - } +} - .flex-sb { - display: flex; - justify-content: space-between; - } - .view { - color: #999; - font-size: 24rpx; - } - .jm-btn { - position: absolute; - top: 30rpx; - right: 20rpx; - width: 146rpx; - height: 56rpx; - line-height: 56rpx; - background: #3A80E7; - border-radius: 28rpx; - color: #fff; - text-align: center; - font-size: 28rpx; - } - .card { - position: relative; - } \ No newline at end of file +.animate { + animation: rotateAnimation 2s forwards; +} + +.btn { + box-sizing: border-box; + text-align: center; + height: 76rpx; + border-radius: 38rpx; + margin: 30rpx 0; + line-height: 76rpx; + border-radius: 76rpx; + border: 2rpx solid #999999; +} + +.blue{ + background-color:#3974f6; + color: #fff; + border-color: #3974f6; +} + +.flex-sb { + display: flex; + justify-content: space-between; +} + +.view { + color: #999; + font-size: 24rpx; +} + +.jm-btn { + position: absolute; + top: 30rpx; + right: 20rpx; + width: fit-content; + height: 56rpx; + padding: 0 20rpx; + box-sizing: border-box; + line-height: 56rpx; + background: #3974f6; + border-radius: 28rpx; + color: #fff; + text-align: center; + font-size: 28rpx; +} + +.tabs { + display: flex; + justify-content: start; + flex-wrap: wrap; + border-top: 1px solid #EAEAEA; + margin-top: 30rpx; +} + +.tabs .tab_item { + display: flex; + margin-right: 20rpx; + padding-bottom: 10rpx; + width: auto; + margin-top: 20rpx; + justify-content: center; +} + +.tabs .tab_item .num { + font-weight: 400; + font-size: 36rpx; +} + +.tabs .tab_item .name { + font-size: 26rpx; + padding-bottom: 6rpx; + box-sizing: border-box; + color: #666666; +} + + + +.top { + display: flex; + align-items: center; +} + +.top .left { + flex: 1; +} + +.top .right { + width: 130rpx; + +} + +.top .left .name { + display: flex; +} + +.top .left .tags { + display: flex; + flex-grow: 0; + justify-content: start; + max-width: 645rpx; + overflow-x: scroll; + margin-top: 20rpx; + box-sizing: border-box; +} + +.top .left .tags .tag { + background-color: rgba(236, 236, 236, 0.500000); + border-radius: 4rpx; + margin-right: 6rpx; + white-space: nowrap; + padding: 7rpx 8rpx; + width: auto; + box-sizing: border-box; + font-weight: 500; + font-size: 24rpx; + color: #999999; +} +.border_bto{ + color: #3974f6 !important; + border-bottom: solid 6rpx #3974f6; +} + +.bto_btn{ + position: fixed; + bottom: 0; + display: flex; + justify-content: space-between; + align-items: center; + left: 0; + right: 0; + padding:0 20rpx; + box-sizing: border-box; + background: #fff; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} \ No newline at end of file diff --git a/utils/api.js b/utils/api.js index e48fea4..ef80634 100644 --- a/utils/api.js +++ b/utils/api.js @@ -63,7 +63,8 @@ module.exports = { icEventOldDelete, updateEvent, submitResi, - getAllOrgCategoryCount + getAllOrgCategoryCount, + getResiInfo } // 获取公钥 @@ -121,6 +122,11 @@ function getStaffbasicinfo(para) { function resiAdd(para) { return fly.post('actual/base/residentBaseInfo/save', para) } +//居民详情 +function getResiInfo(resiId) { + return fly.get(`actual/base/residentIntegratedInfo/detail/masked/${resiId}`) +} + // 民族字典 function getNationDictList() { return fly.post('sys/dict/data/nation', { formCode: "resi_base_info" })