还原标准库
This commit is contained in:
@@ -15,7 +15,6 @@
|
||||
"src/components",
|
||||
"src/common/util.js",
|
||||
"src/common/dict.js",
|
||||
"src/common/dictHlj.js",
|
||||
"src/common/monent.js",
|
||||
"src/common/modules.js",
|
||||
"src/common/http.js",
|
||||
|
||||
@@ -35,8 +35,6 @@ instance.interceptors.response.use(res => {
|
||||
return res.data
|
||||
} else if (res.config.alwaysReturn) {
|
||||
return res.data
|
||||
} else if (res.data.code == 200) { //黑龙江接口200 正常
|
||||
return res.data
|
||||
} else if (res.data.code == 0) {
|
||||
return res.data
|
||||
} else if (res.data.code === 1) {
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
/**
|
||||
* 封装字典工具类
|
||||
*/
|
||||
|
||||
const $dictHlj = {
|
||||
instance: null,
|
||||
url: "/system/dictData/types/",
|
||||
init(config) {
|
||||
this.instance = config?.instance
|
||||
this.url = config?.url || this.url
|
||||
},
|
||||
dicts() {
|
||||
let dicts = uni.getStorageSync('dicts') || null
|
||||
typeof dicts == "string" ? (dicts = JSON.parse(dicts)) : dicts
|
||||
return dicts || [];
|
||||
},
|
||||
load(...code) {
|
||||
var url = this.url + code.toString()
|
||||
return this.instance && this.instance.get(url, {
|
||||
withoutToken: true,
|
||||
}).then((res) => {
|
||||
if (res && res.data) {
|
||||
let dicts=[]
|
||||
for (var i in res.data) {
|
||||
var e = {
|
||||
key: res.data[i][0].dictType,
|
||||
values: res.data[res.data[i][0].dictType]
|
||||
}
|
||||
dicts.push(e)
|
||||
}
|
||||
this.dicts()
|
||||
uni.setStorageSync('dicts', dicts);
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
getDict(key) {
|
||||
if (this.dicts().length) {
|
||||
let dict = this.dicts().find((e) => e.key == key);
|
||||
return dict ? dict.values : [];
|
||||
} else return [];
|
||||
},
|
||||
getValue(key, label) {
|
||||
if (this.dicts().length) {
|
||||
let dict = this.dicts().find((e) => e.key == key);
|
||||
if (dict) {
|
||||
let item = dict.values.find((v) => v.label == label);
|
||||
return item ? item.value : label;
|
||||
} else return label;
|
||||
} else return label;
|
||||
},
|
||||
getLabel(key, value) {
|
||||
if (this.dicts().length) {
|
||||
let dict = this.dicts().find((e) => e.key == key);
|
||||
if (dict) {
|
||||
let item = dict.values.find((v) => v.value == value);
|
||||
return item ? item.label : value;
|
||||
} else return value ? value : '';
|
||||
} else return value ? value : '';
|
||||
},
|
||||
getColor(key, value) {
|
||||
if (this.dicts().length) {
|
||||
let dict = this.dicts().find((e) => e.key == key);
|
||||
if (dict) {
|
||||
let item = dict.values.find((v) => v.dictValue == value);
|
||||
return item ? item.dictColor : value;
|
||||
} else return value;
|
||||
} else return value;
|
||||
}
|
||||
}
|
||||
|
||||
export default $dictHlj
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import dict from "./dict"
|
||||
import dictHlj from "./dictHlj"
|
||||
import dayjs from './monent'
|
||||
import qs from 'query-string'
|
||||
import reg from "./regular";
|
||||
@@ -256,7 +255,6 @@ export const copy = any => {
|
||||
|
||||
export default {
|
||||
dict,
|
||||
dictHlj,
|
||||
confirm,
|
||||
calcAge,
|
||||
injectLib: (url, cb = () => 0) => {
|
||||
|
||||
@@ -58,10 +58,6 @@ export default {
|
||||
size: {default: 10 * 1024 * 1024},
|
||||
disabled: Boolean,
|
||||
sourceType: {default: () => ['album', 'camera']},
|
||||
withoutToken: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapState(['token']),
|
||||
@@ -143,8 +139,7 @@ export default {
|
||||
uni.hideLoading()
|
||||
} else {
|
||||
this.$http.post(this.api, formData, {
|
||||
params: {type: this.type},
|
||||
withoutToken: this.withoutToken
|
||||
params: {type: this.type}
|
||||
}).then((res) => {
|
||||
if (res?.data) {
|
||||
this.$emit('data', res.data)
|
||||
@@ -167,8 +162,6 @@ export default {
|
||||
this.fileList.push(res.data)
|
||||
} else if (this.api == '/admin/file/add-portrait') {
|
||||
this.fileList.push({url: res.data?.split(";")?.[0], id: res.data?.split(";")?.[1]})
|
||||
}else if (this.api == '/common/upload') { //黑龙江图片上传接口
|
||||
this.fileList.push({fileName: res.data.fileName, filePath: res.data.fileName})
|
||||
}
|
||||
this.$emit("update:def", this.fileList)
|
||||
this.$emit("list", this.fileList)
|
||||
|
||||
@@ -28,7 +28,6 @@ Vue.prototype.$dayjs = dayjs
|
||||
Vue.prototype.$cdn = 'https://cdn.cunwuyun.cn/dvcp/h5/';
|
||||
Object.keys(utils).map((e) => (Vue.prototype['$' + e] = utils[e]));
|
||||
utils.dict.init({instance: axios})
|
||||
utils.dictHlj.init({instance: axios})
|
||||
App.mpType = 'app';
|
||||
process.env.NODE_ENV == 'development' && new VConsole();
|
||||
// new VConsole()
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"open": true,
|
||||
"proxy": {
|
||||
"/lan": {
|
||||
"target": "http://8.148.23.227:8080",
|
||||
"target": "http://192.168.1.87:9000",
|
||||
"changeOrigin": true,
|
||||
"pathRewrite": {
|
||||
"^/lan": "/"
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
"components",
|
||||
"common/util.js",
|
||||
"common/dict.js",
|
||||
"common/dictHlj.js",
|
||||
"common/monent.js",
|
||||
"common/modules.js",
|
||||
"common/http.js",
|
||||
|
||||
@@ -1,245 +0,0 @@
|
||||
<template>
|
||||
<section class="AppChildrenDetail">
|
||||
<div class="info-list">
|
||||
<div class="item">
|
||||
<div class="title-flex" @click="view(0)">
|
||||
<div class="item-title">基本信息</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" :class="isShowBasic ? 'right-icon' : 'right-icon right-icon-active'">
|
||||
</div>
|
||||
<div class="item-content" v-if="isShowBasic">
|
||||
<div class="item-form">
|
||||
<div class="label">儿童类别</div>
|
||||
<div class="value">{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', info.childType) || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">儿童名称</div>
|
||||
<div class="value">{{info.childName || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">身份证号</div>
|
||||
<div class="value">{{info.idNumber || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">儿童编号</div>
|
||||
<div class="value">{{info.childNumber || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">性别</div>
|
||||
<div class="value">{{$dictHlj.getLabel('GENDER_CODE', info.gender) || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">年龄</div>
|
||||
<div class="value">{{info.age || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">福利证号</div>
|
||||
<div class="value">{{info.welfareCertificateNumber || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">现住址</div>
|
||||
<div class="value">{{info.presentAddress || '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="title-flex" @click="view(1)">
|
||||
<div class="item-title">生活费信息</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" :class="isShowLifeMoney ? 'right-icon' : 'right-icon right-icon-active'">
|
||||
</div>
|
||||
<div class="item-content" v-if="isShowLifeMoney">
|
||||
<div class="item-form">
|
||||
<div class="label">起领年月</div>
|
||||
<div class="value">{{info.startingDate || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">末领年月</div>
|
||||
<div class="value">{{info.lastDate || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">领取人</div>
|
||||
<div class="value">{{info.personName || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">领取人与儿童关系</div>
|
||||
<div class="value">{{info.relationshipChildren || '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="title-flex" @click="view(2)">
|
||||
<div class="item-title">福利机构信息</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" :class="isShowInstitution ? 'right-icon' : 'right-icon right-icon-active'">
|
||||
</div>
|
||||
<div class="item-content" v-if="isShowInstitution">
|
||||
<div class="item-form">
|
||||
<div class="label">机构名称</div>
|
||||
<div class="value">{{info.institutionName || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">负责人</div>
|
||||
<div class="value">{{info.legalPersonName || '-'}}</div>
|
||||
</div>
|
||||
<!-- <div class="item-form">
|
||||
<div class="label">固定电话</div>
|
||||
<div class="value">{{info.value || '-'}}</div>
|
||||
</div> -->
|
||||
<div class="item-form">
|
||||
<div class="label">联系电话</div>
|
||||
<div class="value">{{info.institutionTelephone || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">机构地址</div>
|
||||
<div class="value">{{info.houseAddress || '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="footer-btn">
|
||||
<div class="btn primary" @click="toView()">查看儿童详细信息</div>
|
||||
<div class="btn">返回</div>
|
||||
</div> -->
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppChildrenDetail",
|
||||
appName: "儿童信息详情",
|
||||
data() {
|
||||
return {
|
||||
childType: '',
|
||||
synId: '',
|
||||
info: {},
|
||||
isShowBasic: true,
|
||||
isShowLifeMoney: true,
|
||||
isShowInstitution: true
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.childType = option.childType
|
||||
this.synId = option.synId
|
||||
this.$dictHlj.load(['CHILD_CATEGORY_CODE', 'GENDER_CODE']).then(() => {
|
||||
this.getDetail()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '儿童信息详情'
|
||||
},
|
||||
methods: {
|
||||
view(type) {
|
||||
if(!type) {
|
||||
this.isShowBasic = !this.isShowBasic
|
||||
}else if(type == 1) {
|
||||
this.isShowLifeMoney = !this.isShowLifeMoney
|
||||
}else {
|
||||
this.isShowInstitution = !this.isShowInstitution
|
||||
}
|
||||
},
|
||||
toView() {
|
||||
uni.navigateTo({url: `./AppChildrenDetailView`})
|
||||
},
|
||||
getDetail() {
|
||||
this.$http.get(`/mobile/childrenInfo/findDetails/${this.synId}/${this.childType}`,
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
|
||||
this.info = {...res.data}
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppChildrenDetail {
|
||||
.info-list {
|
||||
|
||||
.item {
|
||||
padding-left: 32px;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 24px;
|
||||
background-color: #fff;
|
||||
.title-flex {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
line-height: 42px;
|
||||
.item-title {
|
||||
width: calc(100% - 80px);
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #222;
|
||||
padding: 20px 0;
|
||||
}
|
||||
.right-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 20px;
|
||||
transform: rotate(-90deg);
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
.right-icon-active {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
.item-content {
|
||||
.item-form {
|
||||
width: 100%;
|
||||
padding: 16px 20px 16px 0;
|
||||
border-bottom: 1px solid #E4E5E6;
|
||||
box-sizing: border-box;
|
||||
word-break: break-all;
|
||||
font-family: PingFangSC-Regular;
|
||||
.label {
|
||||
height: 44px;
|
||||
font-size: 32px;
|
||||
color: #999;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.value {
|
||||
line-height: 40px;
|
||||
font-size: 28px;
|
||||
color: #222;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
z-index: 9;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,150 +0,0 @@
|
||||
<template>
|
||||
<section class="AppChildrenDetailView">
|
||||
<div class="info-list">
|
||||
<div class="item" v-for="(item, index) in list" :key="index">
|
||||
<div class="title-flex">
|
||||
<div class="item-title">{{item.title}}</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" :class="item.isView ? 'right-icon' : 'right-icon right-icon-active'" @click="view(index)">
|
||||
</div>
|
||||
<div class="item-content" v-if="item.isView">
|
||||
<!-- <div class="item-form" v-for="(items, indexs) in item.infoList" :key="indexs">
|
||||
<div class="label">{{items.label}}</div>
|
||||
<div class="value">{{items.value}}</div>
|
||||
</div> -->
|
||||
<p>详细基本信息,包括儿童的健康状态、患病情况、工学情况等</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-btn">
|
||||
<div class="btn">返回</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppChildrenDetailView",
|
||||
appName: "儿童详细信息",
|
||||
data() {
|
||||
return {
|
||||
list: [
|
||||
{
|
||||
title: '详细基本信息',
|
||||
isView: false,
|
||||
},
|
||||
{
|
||||
title: '父母信息',
|
||||
isView: false,
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
document.title = '儿童详细信息'
|
||||
},
|
||||
methods: {
|
||||
view(index) {
|
||||
this.list[index].isView = !this.list[index].isView
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppChildrenDetailView {
|
||||
.info-list {
|
||||
.item {
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.title-flex {
|
||||
width: calc(100% - 32px);
|
||||
display: flex;
|
||||
line-height: 42px;
|
||||
margin-left: 32px;
|
||||
border-bottom: 1px solid #E4E5E6;
|
||||
.item-title {
|
||||
width: calc(100% - 80px);
|
||||
padding: 40px 0 34px 0;
|
||||
line-height: 42px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 30px;
|
||||
color: #333;
|
||||
}
|
||||
.right-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 20px;
|
||||
transform: rotate(-90deg);
|
||||
transition: all 0.3s ease-in-out;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.right-icon-active {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
.item-content {
|
||||
padding: 20px 32px;
|
||||
box-sizing: border-box;
|
||||
background-color: #F5F6F7;
|
||||
p {
|
||||
width: 100%;
|
||||
line-height: 40px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 28px;
|
||||
color: #999;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
// .item-form {
|
||||
// width: 100%;
|
||||
// padding: 16px 20px 16px 0;
|
||||
// border-bottom: 1px solid #E4E5E6;
|
||||
// box-sizing: border-box;
|
||||
// word-break: break-all;
|
||||
// font-family: PingFangSC-Regular;
|
||||
// .label {
|
||||
// height: 44px;
|
||||
// font-size: 32px;
|
||||
// color: #999;
|
||||
// margin-bottom: 20px;
|
||||
// }
|
||||
// .value {
|
||||
// line-height: 40px;
|
||||
// font-size: 28px;
|
||||
// color: #222;
|
||||
// letter-spacing: 0;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
z-index: 9;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,153 +0,0 @@
|
||||
<template>
|
||||
<section class="AppChildrenInfo">
|
||||
<div class="form">
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content" @click="isShowtype=true">
|
||||
<div class="label">儿童类型</div>
|
||||
<div :class="childType ? 'value' : 'value placeholder'">{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', childType) || '请选择'}}</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" class="right-icon">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">儿童姓名</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="childName" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">儿童身份证号</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="value" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="footer-btn">
|
||||
<!-- <div class="btn primary">扫描身份证</div> -->
|
||||
<div class="btn primary" @click="toList()">查询</div>
|
||||
<!-- <div class="btn" @click="back">返回</div> -->
|
||||
</div>
|
||||
<u-select v-model="isShowtype" :list="$dictHlj.getDict('CHILD_CATEGORY_CODE')" value-name="value" label-name="label" @confirm="typeChange"></u-select>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppChildrenInfo",
|
||||
appName: "各类儿童信息查询",
|
||||
data() {
|
||||
return {
|
||||
childName: '',
|
||||
childType: '',
|
||||
isShowtype: false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.$dictHlj.load(['CHILD_CATEGORY_CODE'])
|
||||
},
|
||||
onShow() {
|
||||
document.title = '各类儿童信息查询'
|
||||
},
|
||||
methods: {
|
||||
typeChange(e) {
|
||||
this.childType = e[0].value
|
||||
},
|
||||
toList() {
|
||||
if(!this.childType) {
|
||||
return this.$u.toast(`请选择儿童类型`)
|
||||
}
|
||||
if(!this.childName) {
|
||||
return this.$u.toast(`请输入儿童姓名`)
|
||||
}
|
||||
uni.navigateTo({url: `./AppChildrenList?childType=${this.childType}&childName=${this.childName}`})
|
||||
},
|
||||
back() {
|
||||
uni.navigateBack()
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppChildrenInfo {
|
||||
.form {
|
||||
background-color: #fff;
|
||||
.item {
|
||||
display: flex;
|
||||
padding-top: 16px;
|
||||
.requier {
|
||||
line-height: 44px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
color: #F46;
|
||||
padding: 0 4px 0 12px;
|
||||
}
|
||||
.item-content {
|
||||
width: calc(100% - 32px);
|
||||
padding-bottom: 16px;
|
||||
border-bottom: 1px solid #F4F4F5;
|
||||
font-family: PingFangSC-Regular;
|
||||
position: relative;
|
||||
.label {
|
||||
line-height: 44px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
color: #666;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.value {
|
||||
line-height: 40px;
|
||||
font-size: 28px;
|
||||
color: #333;
|
||||
}
|
||||
.placeholder {
|
||||
color: #999;
|
||||
}
|
||||
.right-icon {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,139 +0,0 @@
|
||||
<template>
|
||||
<section class="AppChildrenList">
|
||||
<div class="user-list">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" @click="toDetail(item)">
|
||||
<div class="name-flex">
|
||||
<div class="name">{{item.childName}}</div>
|
||||
<div class="type-list">
|
||||
<div class="type">{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', item.childType)}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" class="right-icon">
|
||||
<div class="sex-info">
|
||||
<span>{{$dictHlj.getLabel('GENDER_CODE', item.gender)}}</span>
|
||||
<span>{{item.age}}岁</span>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty v-if="!list.length"></AiEmpty>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppChildrenList",
|
||||
appName: "各类儿童信息查询",
|
||||
data() {
|
||||
return {
|
||||
childName: '',
|
||||
childType: '',
|
||||
current: 1,
|
||||
pageTotal: 2,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.childType = option.childType
|
||||
this.childName = option.childName
|
||||
this.$dictHlj.load(['CHILD_CATEGORY_CODE', 'GENDER_CODE']).then(() => {
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '各类儿童信息查询'
|
||||
},
|
||||
methods: {
|
||||
toDetail(row) {
|
||||
uni.navigateTo({url: `./AppChildrenDetail?synId=${row.synId}&childType=${row.childType}`})
|
||||
},
|
||||
getList() {
|
||||
if(this.current > this.pageTotal) return
|
||||
this.$http.post(`/mobile/childrenInfo/findListPage`,
|
||||
{
|
||||
childName: this.childName,
|
||||
childType: this.childType,
|
||||
pageNum: this.current,
|
||||
pageSize: 10,
|
||||
},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.list = this.current > 1 ? [...this.list, ...res.data.rows] : res.data.rows
|
||||
this.pageTotal = Math.ceil(res.data.total/10)
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
this.current++
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppChildrenList {
|
||||
.user-list {
|
||||
padding: 28px 32px 0 32px;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
.item {
|
||||
width: 100%;
|
||||
background: #FFF;
|
||||
border-radius: 16px;
|
||||
padding: 24px;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
margin-bottom: 24px;
|
||||
.name-flex {
|
||||
display: flex;
|
||||
margin-bottom: 16px;
|
||||
.name {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 34px;
|
||||
color: #333;
|
||||
margin-right: 32px;
|
||||
}
|
||||
.type-list {
|
||||
.type {
|
||||
display: inline-block;
|
||||
line-height: 48px;
|
||||
background: #F5FCF5;
|
||||
border: 1px solid #E2F6E1;
|
||||
border-radius: 8px;
|
||||
padding: 0 16px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #3BBC37;
|
||||
}
|
||||
}
|
||||
}
|
||||
.right-icon {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
right: 20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.sex-info {
|
||||
span {
|
||||
display: inline-block;
|
||||
line-height: 36px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #999;
|
||||
margin-right: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,71 +0,0 @@
|
||||
<template>
|
||||
<section class="AppHome">
|
||||
<div class="card-list">
|
||||
<div class="item-card" v-for="(item, index) in cardList" :key="index" @click="linkTo(item.linkUrl)">
|
||||
<img :src="item.imgUrl" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppHome",
|
||||
appName: "黑龙江儿童福利系统",
|
||||
data() {
|
||||
return {
|
||||
cardList: [
|
||||
{
|
||||
imgUrl: 'https://cdn.sinoecare.com/i/2024/09/06/66da65a3635e2.png',
|
||||
linkUrl: '../AppChildrenInfo/AppChildrenInfo'
|
||||
},
|
||||
{
|
||||
imgUrl: 'https://cdn.sinoecare.com/i/2024/09/06/66da65a41973a.png',
|
||||
linkUrl: '../AppRecognize/AppRecognize'
|
||||
},
|
||||
{
|
||||
imgUrl: 'https://cdn.sinoecare.com/i/2024/09/23/66f129149bd83.png',
|
||||
linkUrl: '../AppSecurityObject/AppSecurityObject'
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
// uni.setNavigationBarColor({
|
||||
// frontColor: '#ffffff',
|
||||
// backgroundColor: '#2183FF'
|
||||
// })
|
||||
// uni.setNavigationBarTitle({
|
||||
// title: '黑龙江儿童福利系统'
|
||||
// })
|
||||
},
|
||||
onShow() {
|
||||
document.title = '黑龙江儿童福利系统'
|
||||
},
|
||||
methods: {
|
||||
linkTo(url) {
|
||||
uni.navigateTo({url})
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #fff;
|
||||
}
|
||||
.AppHome {
|
||||
.card-list {
|
||||
padding: 28px 32px 0 32px;
|
||||
.item-card {
|
||||
margin-bottom: 28px;
|
||||
width: 100%;
|
||||
img {
|
||||
width: 100%;
|
||||
height: 180px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,243 +0,0 @@
|
||||
<template>
|
||||
<section class="AppRecognize">
|
||||
<!-- <u-navbar title="认亲助养" title-color="#fff" title-width="300" title-size="34"
|
||||
:title-bold="true" :background="backgroundNavbar" :height="44" back-icon-color="#fff">
|
||||
<div slot="right" class="btn-right" @click="showAdd=!showAdd">查询/新增</div>
|
||||
</u-navbar>
|
||||
<div class="select-content" v-if="showAdd">
|
||||
<span class="triangle-up"></span>
|
||||
<div class="item" @click="linkTo('./AppRecognizeSearchTab')">查询</div>
|
||||
<div class="item" @click="linkTo(`./AppRecognizeAdd?assistanceMethod=${tabList[tabIndex].val}`)">新增认亲助养</div>
|
||||
</div> -->
|
||||
<div class="top-fixed">
|
||||
<u-tabs u-tabs :list="tabList" :is-scroll="false" :current="tabIndex" @change="change" height="112" :bar-style="barStyle"
|
||||
bg-color="#fff" inactive-color="#666" active-color="#222" :active-item-style="activeStyle"></u-tabs>
|
||||
</div>
|
||||
<div class="user-list">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" @click="toDetail(item)">
|
||||
<div class="item-top">
|
||||
<div class="title">助养方:{{item.sponsorName}}</div>
|
||||
<div class="info">助养对象:{{item.sponsoredChildName}}</div>
|
||||
<div class="info">相信描述:{{item.details}}</div>
|
||||
</div>
|
||||
<div class="item-bottom">
|
||||
<div class="time">{{item.processingDate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty v-if="!list.length"></AiEmpty>
|
||||
</div>
|
||||
<div class="footer-btn">
|
||||
<div class="btn primary" @click="linkTo('./AppRecognizeSearchTab')">查询</div>
|
||||
<div class="btn" @click="linkTo(`./AppRecognizeAdd?assistanceMethod=${tabList[tabIndex].val}`)">新增认亲助养</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
export default {
|
||||
name: "AppRecognize",
|
||||
appName: "认亲助养",
|
||||
customNavigation: true,
|
||||
data() {
|
||||
return {
|
||||
backgroundNavbar: {
|
||||
backgroundColor: '#2183FF'
|
||||
},
|
||||
tabList: [{name: '一次性助养', val: 2}, {name: '长期助养', val: 1}],
|
||||
tabIndex: 0,
|
||||
barStyle: {
|
||||
'width': '20px',
|
||||
'bottom': '-3px',
|
||||
'background': '#4181FF',
|
||||
'border-radius': '2px'
|
||||
},
|
||||
activeStyle: {
|
||||
'font-weight' : '400',
|
||||
'color': '#222'
|
||||
},
|
||||
showAdd: false,
|
||||
current: 1,
|
||||
pageTotal: 2,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
onLoad() {
|
||||
this.getList()
|
||||
uni.$on('updateList', () => {
|
||||
this.getListInit()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '认亲助养'
|
||||
},
|
||||
methods: {
|
||||
linkTo(url) {
|
||||
this.showAdd = false
|
||||
uni.navigateTo({url})
|
||||
},
|
||||
toDetail(row) {
|
||||
uni.navigateTo({url: `./AppRecognizeDetail?id=${row.id}`})
|
||||
},
|
||||
change(e) {
|
||||
this.tabIndex = e
|
||||
this.getListInit()
|
||||
},
|
||||
getListInit() {
|
||||
this.current = 1
|
||||
this.pageTotal = 2
|
||||
this.list = []
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
if(this.current > this.pageTotal) return
|
||||
this.$http.post(`/mobile/supportRaise/findListPage`,
|
||||
{
|
||||
sponsorshipMethod: this.tabList[this.tabIndex].val,
|
||||
pageNum: this.current,
|
||||
pageSize: 10,
|
||||
divisionCode: this.user.divisionCode || ''
|
||||
},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.list = this.current > 1 ? [...this.datas, ...res.data.rows] : res.data.rows
|
||||
this.pageTotal = Math.ceil(res.data.total/10)
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
this.current++
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppRecognize {
|
||||
position: relative;
|
||||
.btn-right {
|
||||
font-family: PingFangSC-SNaNpxibold;
|
||||
font-weight: 600;
|
||||
font-size: 34px;
|
||||
color: #FFF;
|
||||
padding-right: 22px;
|
||||
}
|
||||
::v-deep .u-tabs {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
.select-content {
|
||||
border-radius: 16px;
|
||||
padding: 12px 32px 0 32px;
|
||||
background-color: #fff;
|
||||
box-shadow: 6px 6px 12px 0px #999;
|
||||
width: 256px;
|
||||
position: fixed;
|
||||
top: 104px;
|
||||
right: 32px;
|
||||
z-index: 999;
|
||||
.item {
|
||||
line-height: 88px;
|
||||
text-align: center;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-weight: 400;
|
||||
font-size: 28px;
|
||||
color: #323233;
|
||||
}
|
||||
.item:nth-of-type(1) {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.triangle-up {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-bottom: 16px solid #fff;
|
||||
border-left: 16px solid transparent;
|
||||
border-right: 16px solid transparent;
|
||||
position: absolute;
|
||||
top: -16px;
|
||||
right: 66px;
|
||||
z-index: 999;
|
||||
}
|
||||
}
|
||||
.top-fixed {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.user-list {
|
||||
padding: 144px 32px 300px 32px;
|
||||
box-sizing: border-box;
|
||||
.item {
|
||||
width: 100%;
|
||||
background: #FFF;
|
||||
border-radius: 16px;
|
||||
margin-bottom: 24px;
|
||||
.item-top {
|
||||
padding: 24px;
|
||||
.title {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 34px;
|
||||
color: #333;
|
||||
margin-bottom: 12px;
|
||||
word-break: break-all;
|
||||
}
|
||||
.info {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
.item-bottom {
|
||||
padding: 14px 0 10px 24px;
|
||||
border-top: 1px solid #E4E5E6;
|
||||
.time {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 24px;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,604 +0,0 @@
|
||||
<template>
|
||||
<section class="AppRecognizeAdd">
|
||||
<div class="step-info">
|
||||
<div class="step-list">
|
||||
<div :class="index <= stepIndex ? 'step-item step-active' : 'step-item'" v-for="(item, index) in stepTitleList" :key="index">
|
||||
<div class="index">{{index+1}}</div>
|
||||
<div class="line" v-if="index!=3"></div>
|
||||
<p class="text">{{item.name}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<u-search placeholder="搜索儿童姓名" :show-action="false" bg-color="#F5F6F7" search-icon-color="#666" color="#666"
|
||||
height="58" v-model="searchChildrenName" @search="getChildrenListInit()" v-if="stepIndex == 1"/>
|
||||
</div>
|
||||
<div class="form" v-if="stepIndex == 0">
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">助养人姓名</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="form.assistanceName" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content" @click="isShowRelationship=true">
|
||||
<div class="label">与助养对象关系</div>
|
||||
<div :class="form.relationshipWithChild ? 'value' : 'value placeholder'">{{$dictHlj.getLabel('relationship_children', form.relationshipWithChild) || '请选择'}}</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" class="right-icon">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content" @click="isShowMethod=true">
|
||||
<div class="label">助养方式</div>
|
||||
<div :class="form.assistanceMethod ? 'value' : 'value placeholder'">{{$dictHlj.getLabel('handling_Date', form.assistanceMethod) || '请选择'}}</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" class="right-icon">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">详细描述</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="form.details" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">助养人身份证号</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="form.assistanceIdNumber" maxlength="18"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content" @click="isShowDate=true">
|
||||
<div class="label">办理日期</div>
|
||||
<div :class="form.handlingDate ? 'value' : 'value placeholder'">{{form.handlingDate || '请选择'}}</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/23/66f0cbedbbd23.png" alt="" class="right-icon">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-list" v-if="stepIndex == 1">
|
||||
<div class="item" v-for="(item, index) in childrenList" :key="index">
|
||||
<div class="item-top">
|
||||
<div class="title">儿童姓名:{{item.childName}}</div>
|
||||
<div class="info">身份证号:{{item.childNumber}}</div>
|
||||
<div class="info">儿童类别:{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', item.childCategory)}}</div>
|
||||
<div class="info">出生年月:{{item.birthDate}}</div>
|
||||
<img :src="item.isCheck ? 'https://cdn.sinoecare.com/i/2024/07/16/6695ddf91113c.png' :
|
||||
'https://cdn.sinoecare.com/i/2024/07/16/6695ddf890b1e.png'" alt="" class="check-img" @click="checkChildren(index)">
|
||||
</div>
|
||||
<div class="item-bottom" @click="toChildrenDetail(item)">
|
||||
<div class="btn">详情</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty v-if="!childrenList.length"></AiEmpty>
|
||||
</div>
|
||||
<div class="form" v-if="stepIndex == 2">
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">助养者身份证信息(身份证正反面)</div>
|
||||
<div class="value">
|
||||
<AiUploader style="margin-top: 12px;" :def.sync="filesId" :limit="2" :multiple="true" action="/common/upload" :withoutToken="true" @list="changeId"></AiUploader>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">助养者经济状况证明</div>
|
||||
<div class="value">
|
||||
<AiUploader style="margin-top: 12px;" :def.sync="filesEconomy" :limit="9" :multiple="true" action="/common/upload" :withoutToken="true" @list="changeEconomy"></AiUploader>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier"></span>
|
||||
<div class="item-content">
|
||||
<div class="label">助养者健康状况</div>
|
||||
<div class="value">
|
||||
<AiUploader style="margin-top: 12px;" :def.sync="filesHealth" :limit="9" :multiple="true" action="/common/upload" :withoutToken="true" @list="changeHealth"></AiUploader>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier"></span>
|
||||
<div class="item-content">
|
||||
<div class="label">其他材料</div>
|
||||
<div class="value">
|
||||
<AiUploader style="margin-top: 12px;" :def.sync="filesOther" :limit="9" :multiple="true" action="/common/upload" :withoutToken="true" @list="changeOther"></AiUploader>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form" v-if="stepIndex == 3">
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">办理人</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="form.agentId" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">办理人联系电话</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="form.agentPhone" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">办理机构</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="form.agency" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-btn">
|
||||
<div class="btn primary" @click="next" v-if="stepIndex < 3">下一步</div>
|
||||
<div class="btn primary" @click="confirm" v-if="stepIndex == 3">确认</div>
|
||||
<div class="btn" @click="pre" v-if="stepIndex != 0">返回</div>
|
||||
</div>
|
||||
<u-select v-model="isShowRelationship" :list="$dictHlj.getDict('relationship_children')" value-name="value" label-name="label" @confirm="shipChange"></u-select>
|
||||
<u-select v-model="isShowMethod" :list="$dictHlj.getDict('handling_Date')" value-name="value" label-name="label" @confirm="methodChange"></u-select>
|
||||
<u-calendar v-model="isShowDate" @change="onDateChange" mode="date"></u-calendar>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
export default {
|
||||
name: "AppRecognizeAdd",
|
||||
appName: "认亲助养",
|
||||
data() {
|
||||
return {
|
||||
stepTitleList: [{name: '助养信息'}, {name: '助养对象'}, {name: '相关文件'}, {name: '经办人'}],
|
||||
stepIndex: 0,
|
||||
files: [],
|
||||
form: {
|
||||
assistanceName: '',
|
||||
relationshipWithChild: '',
|
||||
assistanceMethod: '',
|
||||
details: '',
|
||||
assistanceIdNumber: '',
|
||||
// 110102190001010731
|
||||
handlingDate: '',
|
||||
assistanceInformationFile: [],
|
||||
agentId: '',
|
||||
agentPhone: '',
|
||||
agency: '',
|
||||
childBusinessId: '',
|
||||
childType: '',
|
||||
},
|
||||
isShowDate: false,
|
||||
isShowRelationship: false,
|
||||
isShowMethod: false,
|
||||
current: 1,
|
||||
pageTotal: 2,
|
||||
childrenList: [],
|
||||
searchChildrenName: '',
|
||||
checkChildrenInfo: {}, //第二步选择儿童信息
|
||||
filesId: [], //身份证照片
|
||||
filesEconomy: [], //经济状况证明
|
||||
filesHealth: [], //健康证明
|
||||
filesOther: [], //其它
|
||||
imgUrlHttp: '',
|
||||
isNextFlag: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
onLoad(option) {
|
||||
this.$dictHlj.load(['handling_Date', 'relationship_children', 'CHILD_CATEGORY_CODE'])
|
||||
this.$http.get(`/system/config/configKey/upload.file.path`,
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.imgUrlHttp = res.data
|
||||
}
|
||||
})
|
||||
this.form.agentId = this.user.name
|
||||
this.form.agentPhone = this.user.phone
|
||||
this.form.assistanceMethod = option.assistanceMethod
|
||||
},
|
||||
onShow() {
|
||||
document.title = '认亲助养'
|
||||
},
|
||||
methods: {
|
||||
shipChange(e) {
|
||||
this.form.relationshipWithChild = e[0].value
|
||||
},
|
||||
methodChange(e) {
|
||||
this.form.assistanceMethod = e[0].value
|
||||
},
|
||||
onDateChange(e) {
|
||||
this.form.handlingDate = `${e.result}`
|
||||
},
|
||||
changeId(list) {
|
||||
list.map((item) => {
|
||||
item.url = this.imgUrlHttp + item.fileName
|
||||
})
|
||||
this.filesId = list
|
||||
},
|
||||
changeEconomy(list) {
|
||||
list.map((item) => {
|
||||
item.url = this.imgUrlHttp + item.fileName
|
||||
})
|
||||
this.filesEconomy = list
|
||||
},
|
||||
changeHealth(list) {
|
||||
list.map((item) => {
|
||||
item.url = this.imgUrlHttp + item.fileName
|
||||
})
|
||||
this.filesHealth = list
|
||||
},
|
||||
changeOther(list) {
|
||||
list.map((item) => {
|
||||
item.url = this.imgUrlHttp + item.fileName
|
||||
})
|
||||
this.filesOther = list
|
||||
},
|
||||
next() {
|
||||
if(!this.stepIndex) { //第一步
|
||||
return this.validateFirst()
|
||||
}
|
||||
if(this.stepIndex == 1) { //第二步选择儿童
|
||||
return this.validateSecond()
|
||||
}
|
||||
if(this.stepIndex == 2) {
|
||||
return this.validateThird() //第三步
|
||||
}
|
||||
if(this.stepIndex == 3) {
|
||||
return this.confrim()
|
||||
}
|
||||
},
|
||||
validateFirst() {
|
||||
if (!this.form.assistanceName) {
|
||||
return this.$u.toast(`请输入助养人姓名`)
|
||||
}
|
||||
if (!this.form.relationshipWithChild) {
|
||||
return this.$u.toast(`请选择与助养对象关系`)
|
||||
}
|
||||
if (!this.form.assistanceMethod) {
|
||||
return this.$u.toast(`请选择助养方式`)
|
||||
}
|
||||
if (!this.form.details) {
|
||||
return this.$u.toast(`请输入详细描述`)
|
||||
}
|
||||
if (!this.form.assistanceIdNumber) {
|
||||
return this.$u.toast(`请输入助养人身份号码`)
|
||||
}
|
||||
if (!/^[1-9]\d{5}(19\d{2}|20[0-2]\d)(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9xX])$/.test(this.form.assistanceIdNumber)) {
|
||||
return this.$u.toast('请输入正确的助养人身份证号')
|
||||
}
|
||||
if (!this.form.handlingDate) {
|
||||
return this.$u.toast(`请选择办理日期`)
|
||||
}
|
||||
this.stepIndex ++
|
||||
this.getChildrenListInit()
|
||||
},
|
||||
getChildrenListInit() {
|
||||
this.pageNum = 1
|
||||
this.pageTotal = 2
|
||||
this.childrenList = []
|
||||
this.checkChildrenInfo = {}
|
||||
this.getChildrenList()
|
||||
},
|
||||
getChildrenList() {
|
||||
if(this.current > this.pageTotal) return
|
||||
this.$http.post(`/mobile/supportRaise/findChildrenList`,
|
||||
{
|
||||
childName: this.searchChildrenName,
|
||||
pageSize: 20,
|
||||
pageNum: this.current,
|
||||
divisionCode: this.user.divisionCode || ''
|
||||
},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200 && res.data.rows?.length) {
|
||||
res.data.rows.map((item) => {
|
||||
item.isCheck = false
|
||||
})
|
||||
this.childrenList = this.current > 1 ? [...this.childrenList, ...res.data.rows] : res.data.rows
|
||||
this.pageTotal = Math.ceil(res.data.total/20)
|
||||
}else {
|
||||
this.$u.toast(`未查询到有效的儿童信息,请输入正确的助养人姓名`)
|
||||
}
|
||||
})
|
||||
},
|
||||
toChildrenDetail(row) {
|
||||
uni.navigateTo({url: `../AppChildrenInfo/AppChildrenDetail?synId=${row.childId}&childType=${row.childCategoryType}`})
|
||||
},
|
||||
checkChildren(index) {
|
||||
this.childrenList.map((item) => {
|
||||
item.isCheck = false
|
||||
})
|
||||
this.childrenList[index].isCheck = true
|
||||
this.checkChildrenInfo = this.childrenList[index]
|
||||
},
|
||||
validateSecond() {
|
||||
if(this.checkChildrenInfo.childId) {
|
||||
this.form.childType = this.checkChildrenInfo.childCategoryType
|
||||
this.form.childBusinessId = this.checkChildrenInfo.childId
|
||||
this.stepIndex ++
|
||||
}else {
|
||||
this.$u.toast(`请勾选助养儿童`)
|
||||
}
|
||||
},
|
||||
validateThird() {
|
||||
if(!this.filesId.length) {
|
||||
return this.$u.toast(`请上传助养者身份证信息`)
|
||||
}
|
||||
if(this.filesId.length < 2) {
|
||||
return this.$u.toast(`请上传助养者身份证正反面信息`)
|
||||
}
|
||||
if(!this.filesEconomy.length) {
|
||||
return this.$u.toast(`请上传经济状况证明`)
|
||||
}
|
||||
this.filesId.map((item) => {
|
||||
item.type = 1
|
||||
})
|
||||
this.filesEconomy.map((item) => {
|
||||
item.type = 2
|
||||
})
|
||||
this.filesHealth.map((item) => {
|
||||
item.type = 3
|
||||
})
|
||||
this.filesOther.map((item) => {
|
||||
item.type = 4
|
||||
})
|
||||
this.form.assistanceInformationFile = this.filesId.concat(this.filesEconomy, this.filesHealth, this.filesOther)
|
||||
this.stepIndex ++
|
||||
},
|
||||
confirm() {
|
||||
this.$http.post(`/mobile/supportRaise/insert`,
|
||||
{...this.form},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$u.toast('新增成功!')
|
||||
uni.$emit('updateList')
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
}, 800)
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
pre() {
|
||||
this.stepIndex --
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
this.current++
|
||||
this.getChildrenList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppRecognizeAdd {
|
||||
padding-bottom: 324px;
|
||||
.step-info {
|
||||
width: 100%;
|
||||
padding: 40px 32px 44px;
|
||||
background-color: #fff;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 24px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9;
|
||||
.step-list {
|
||||
display: flex;
|
||||
.step-item {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
position: relative;
|
||||
.index {
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
background: #D0D1D6;
|
||||
color: #FFF;
|
||||
margin: 0 140px 0 16px;
|
||||
}
|
||||
.line {
|
||||
width: 140px;
|
||||
height: 1px;
|
||||
background: #D0D1D6;
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 62px;
|
||||
}
|
||||
.text {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #999;
|
||||
margin-top: 18px;
|
||||
}
|
||||
}
|
||||
.step-item:nth-child(1) {
|
||||
.index {
|
||||
margin-left: 30px;
|
||||
}
|
||||
.line {
|
||||
left: 78px;
|
||||
}
|
||||
}
|
||||
.step-item:nth-child(2),
|
||||
.step-item:nth-child(3) {
|
||||
.text {
|
||||
margin-left: -10px;
|
||||
}
|
||||
}
|
||||
.step-active {
|
||||
.index, .line {
|
||||
background: #2183FF;
|
||||
}
|
||||
.text {
|
||||
color: #2183FF;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
::v-deep .u-search {
|
||||
margin-top: 24px!important;
|
||||
}
|
||||
}
|
||||
.form {
|
||||
padding-top: 200px;
|
||||
.item {
|
||||
display: flex;
|
||||
padding-top: 16px;
|
||||
background-color: #fff;
|
||||
.requier {
|
||||
line-height: 44px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
color: #F46;
|
||||
padding: 0 4px 0 12px;
|
||||
}
|
||||
.item-content {
|
||||
width: calc(100% - 32px);
|
||||
padding-bottom: 16px;
|
||||
border-bottom: 1px solid #F4F4F5;
|
||||
font-family: PingFangSC-Regular;
|
||||
position: relative;
|
||||
.label {
|
||||
line-height: 44px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
color: #666;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.value {
|
||||
line-height: 40px;
|
||||
font-size: 28px;
|
||||
color: #333;
|
||||
}
|
||||
.placeholder {
|
||||
color: #999;
|
||||
}
|
||||
.right-icon {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.user-list {
|
||||
padding: 282px 32px 0 32px;
|
||||
box-sizing: border-box;
|
||||
::v-deep .u-search {
|
||||
margin-bottom: 32px!important;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
background: #FFF;
|
||||
border-radius: 16px;
|
||||
margin-bottom: 24px;
|
||||
.item-top {
|
||||
padding: 24px;
|
||||
position: relative;
|
||||
.title {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 34px;
|
||||
color: #333;
|
||||
margin-bottom: 12px;
|
||||
word-break: break-all;
|
||||
}
|
||||
.info {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #666;
|
||||
}
|
||||
.check-img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
padding: 8px;
|
||||
position: absolute;
|
||||
top: 24px;
|
||||
right: 32px;
|
||||
}
|
||||
}
|
||||
.item-bottom {
|
||||
padding: 14px 0 10px 24px;
|
||||
height: 58px;
|
||||
border-top: 1px solid #E4E5E6;
|
||||
position: relative;
|
||||
.btn {
|
||||
line-height: 58px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 28px;
|
||||
color: #fff;
|
||||
width: 98px;
|
||||
text-align: center;
|
||||
border-radius: 4px;
|
||||
background-color: #2183FF;
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 32px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
@@ -1,351 +0,0 @@
|
||||
<template>
|
||||
<section class="AppRecognizeDetail">
|
||||
<div class="top-fixed">
|
||||
<u-tabs :list="tabList" :is-scroll="false" :current="tabIndex" @change="change" height="112" :bar-style="barStyle"
|
||||
bg-color="#fff" inactive-color="#666" active-color="#222" :active-item-style="activeStyle"></u-tabs>
|
||||
</div>
|
||||
<div class="info-content" v-if="!tabIndex">
|
||||
<div class="item">
|
||||
<div class="label">助养人姓名</div>
|
||||
<div class="value">{{info.assistanceName}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">与助养对象关系</div>
|
||||
<div class="value">{{$dictHlj.getLabel('relationship_children', info.relationshipWithChild)}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">助养方式</div>
|
||||
<div class="value">{{$dictHlj.getLabel('handling_Date', info.assistanceMethod)}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">详细描述</div>
|
||||
<div class="value">{{info.details}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">助养人身份证号</div>
|
||||
<div class="value">{{info.assistanceIdNumber}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">办理日期</div>
|
||||
<div class="value">{{info.handlingDate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-content" v-if="tabIndex == 1">
|
||||
<div class="item">
|
||||
<div class="label">儿童姓名</div>
|
||||
<div class="value">{{info.childName}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">身份证号</div>
|
||||
<div class="value">{{info.childIdNumber}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">儿童类别</div>
|
||||
<div class="value">{{$dictHlj.getLabel('child_type', info.childType)}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">出生年月</div>
|
||||
<div class="value">{{info.childBirthDate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-content" v-if="tabIndex == 2">
|
||||
<div class="item">
|
||||
<div class="label">助养者身份证信息</div>
|
||||
<div class="value">
|
||||
<div class="img-list" v-if="filesIdImg.length">
|
||||
<img :src="item.url" alt="" v-for="(item, index) in filesIdImg" :key="index" @click.stop="previewImages(filesIdImg, item.url)">
|
||||
</div>
|
||||
<div class="file-list" v-if="filesId.length">
|
||||
<div class="file-item" v-for="(item, index) in filesId" :key="index" @click="previewFile(item)">
|
||||
<img src="https://cdn.sinoecare.com/i/2024/07/16/66963dd133cfd.png" alt="">
|
||||
<div>{{ item.fileName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="!filesIdImg.length && !filesId.length">暂无数据</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">助养者经济状况证明</div>
|
||||
<div class="value">
|
||||
<div class="img-list" v-if="filesEconomyImg.length">
|
||||
<img :src="item.url" alt="" v-for="(item, index) in filesEconomyImg" :key="index" @click.stop="previewImages(filesEconomyImg, item.url)">
|
||||
</div>
|
||||
<div class="file-list" v-if="filesEconomy.length">
|
||||
<div class="file-item" v-for="(item, index) in filesEconomy" :key="index" @click="previewFile(item)">
|
||||
<img src="https://cdn.sinoecare.com/i/2024/07/16/66963dd133cfd.png" alt="">
|
||||
<div>{{ item.fileName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="!filesEconomyImg.length && !filesEconomy.length">暂无数据</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">助养者健康状况</div>
|
||||
<div class="value">
|
||||
<div class="img-list" v-if="filesHealthImg.length">
|
||||
<img :src="item.url" alt="" v-for="(item, index) in filesHealthImg" :key="index" @click.stop="previewImages(filesHealthImg, item.url)">
|
||||
</div>
|
||||
<div class="file-list" v-if="filesHealth.length">
|
||||
<div class="file-item" v-for="(item, index) in filesHealth" :key="index" @click="previewFile(item)">
|
||||
<img src="https://cdn.sinoecare.com/i/2024/07/16/66963dd133cfd.png" alt="">
|
||||
<div>{{ item.fileName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="!filesHealthImg.length && !filesHealth.length">暂无数据</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">其他材料</div>
|
||||
<div class="value">
|
||||
<div class="img-list" v-if="filesOtherImg.length">
|
||||
<img :src="item.url" alt="" v-for="(item, index) in filesOtherImg" :key="index" @click.stop="previewImages(filesOtherImg, item.url)">
|
||||
</div>
|
||||
<div class="file-list" v-if="filesOther.length">
|
||||
<div class="file-item" v-for="(item, index) in filesOther" :key="index" @click="previewFile(item)">
|
||||
<img src="https://cdn.sinoecare.com/i/2024/07/16/66963dd133cfd.png" alt="">
|
||||
<div>{{ item.fileName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="!filesOtherImg.length && !filesOther.length">暂无数据</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-content" v-if="tabIndex == 3">
|
||||
<div class="item">
|
||||
<div class="label">办理人</div>
|
||||
<div class="value">{{info.agentId || '-'}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">办理人联系电话</div>
|
||||
<div class="value">{{info.agentPhone || '-'}}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">办理机构</div>
|
||||
<div class="value">{{info.agency || '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppRecognizeDetail",
|
||||
appName: "认亲助养",
|
||||
data() {
|
||||
return {
|
||||
tabList: [{name: '助养信息'}, {name: '助养对象'}, {name: '相关文件'}, {name: '经办人'}],
|
||||
tabIndex: 0,
|
||||
barStyle: {
|
||||
'width': '20px',
|
||||
'bottom': '-3px',
|
||||
'background': '#4181FF',
|
||||
'border-radius': '2px'
|
||||
},
|
||||
activeStyle: {
|
||||
'font-weight' : '400',
|
||||
'color': '#222'
|
||||
},
|
||||
id: '',
|
||||
info: {},
|
||||
filesIdImg: [], //身份证照片
|
||||
filesId: [], //身份证附件
|
||||
filesEconomyImg: [], //经济状况证明照片
|
||||
filesEconomy: [], //经济状况证明附件
|
||||
filesHealthImg: [], //健康证明照片
|
||||
filesHealth: [], //健康证明附件
|
||||
filesOtherImg: [], //其它照片
|
||||
filesOther: [], //其它附件
|
||||
imgUrlHttp: '',
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.id = option.id
|
||||
this.$http.get(`/system/config/configKey/upload.file.path`,
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.imgUrlHttp = res.data
|
||||
}
|
||||
})
|
||||
this.$dictHlj.load(['handling_Date', 'relationship_children', 'child_type']).then(() => {
|
||||
this.getDetail()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '认亲助养'
|
||||
},
|
||||
methods: {
|
||||
linkTo(url) {
|
||||
uni.navigateTo({url})
|
||||
},
|
||||
change(e) {
|
||||
this.tabIndex = e
|
||||
},
|
||||
getDetail() {
|
||||
this.$http.get(`/mobile/supportRaise/findById/${this.id}`,
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.info = {...res.data}
|
||||
res.data.assistanceInformationFile.map((item) => {
|
||||
item.url = this.imgUrlHttp + item.fileName
|
||||
var e = item.fileName.split('.')
|
||||
item.postfix = e[e.length-1]
|
||||
if(item.type == 1) {
|
||||
if(['jpeg', 'jpg', 'png'].includes(item.postfix)) {
|
||||
this.filesIdImg.push(item)
|
||||
}else {
|
||||
this.filesId.push(item)
|
||||
}
|
||||
}
|
||||
if(item.type == 2) {
|
||||
if(['jpeg', 'jpg', 'png'].includes(item.postfix)) {
|
||||
this.filesEconomyImg.push(item)
|
||||
}else {
|
||||
this.filesEconomy.push(item)
|
||||
}
|
||||
}
|
||||
if(item.type == 3) {
|
||||
if(['jpeg', 'jpg', 'png'].includes(item.postfix)) {
|
||||
this.filesHealthImg.push(item)
|
||||
}else {
|
||||
this.filesHealth.push(item)
|
||||
}
|
||||
}
|
||||
if(item.type == 4) {
|
||||
if(['jpeg', 'jpg', 'png'].includes(item.postfix)) {
|
||||
this.filesOtherImg.push(item)
|
||||
}else {
|
||||
this.filesOther.push(item)
|
||||
}
|
||||
}
|
||||
})
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
previewImages(images, img) {
|
||||
uni.previewImage({
|
||||
urls: images.map(v => v.url),
|
||||
current: img
|
||||
})
|
||||
},
|
||||
previewFile(e) {
|
||||
uni.downloadFile({
|
||||
url: e.url,
|
||||
success: function (res) {
|
||||
var filePath = res.tempFilePath;
|
||||
uni.openDocument({
|
||||
filePath: filePath,
|
||||
fileType: e.postfix,
|
||||
showMenu: true,
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #f5f6f7;
|
||||
}
|
||||
.AppRecognizeDetail {
|
||||
::v-deep .u-tabs {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
.top-fixed {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.info-content {
|
||||
padding-top: 144px;
|
||||
.item {
|
||||
padding-left: 32px;
|
||||
background-color: #fff;
|
||||
font-family: PingFangSC-Regular;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
.label {
|
||||
padding: 16px 32px 20px 0;
|
||||
line-height: 44px;
|
||||
font-size: 32px;
|
||||
color: #999;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.value {
|
||||
padding: 0 20px 16px 0;
|
||||
box-sizing: border-box;
|
||||
line-height: 40px;
|
||||
font-size: 28px;
|
||||
color: #222;
|
||||
border-bottom: 1px solid #E4E5E6;
|
||||
.img-list {
|
||||
img {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
margin-right: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
img:nth-child(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
.file-list {
|
||||
.file-item {
|
||||
padding: 16px;
|
||||
border: 1px solid #CCCCCC;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
margin-bottom: 32px;
|
||||
img {
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
}
|
||||
div {
|
||||
align-self: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
p {
|
||||
color: #999;
|
||||
line-height: 44px;
|
||||
padding: 8px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,138 +0,0 @@
|
||||
<template>
|
||||
<section class="AppRecognizeSearch">
|
||||
<div class="form">
|
||||
<div class="item">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">{{navName == '个人助养' ? '助养人名称' : '助养方名称'}}</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="assistanceName" maxlength="10"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="item" v-if="navName == '个人助养'">
|
||||
<span class="requier">*</span>
|
||||
<div class="item-content">
|
||||
<div class="label">助养人身份证号</div>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" placeholder-style="color:#999;font-size:14px;" height="40" v-model="assistanceIdNumber" maxlength="18"/>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="footer-btn">
|
||||
<div class="btn primary" @click="toList()">查询</div>
|
||||
<!-- <div class="btn" @click="back">返回</div> -->
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppRecognizeSearch",
|
||||
appName: "查询个人助养",
|
||||
data() {
|
||||
return {
|
||||
assistanceName: '',
|
||||
assistanceIdNumber: '',
|
||||
navName: ''
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.navName = option.name
|
||||
},
|
||||
onShow() {
|
||||
document.title = this.navName == '个人助养' ? '查询个人助养' : '查询集体助养'
|
||||
},
|
||||
methods: {
|
||||
toList() {
|
||||
if(!this.assistanceName) {
|
||||
return this.$u.toast(this.navName == '个人助养' ? '请输入助养人名称' : '请输入助养方名称')
|
||||
}
|
||||
// if(this.navName == '个人助养' && !this.assistanceIdNumber) {
|
||||
// return this.$u.toast('请输入助养人身份证号')
|
||||
// }
|
||||
var assistanceMethod = this.navName == '个人助养' ? 2 : 1
|
||||
uni.navigateTo({url: `./AppRecognizeSearchList?assistanceName=${this.assistanceName}&assistanceMethod=${assistanceMethod}`})
|
||||
},
|
||||
back() {
|
||||
uni.navigateBack()
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppRecognizeSearch {
|
||||
.form {
|
||||
background-color: #fff;
|
||||
.item {
|
||||
display: flex;
|
||||
padding-top: 16px;
|
||||
.requier {
|
||||
line-height: 44px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
color: #F46;
|
||||
padding: 0 4px 0 12px;
|
||||
}
|
||||
.item-content {
|
||||
width: calc(100% - 32px);
|
||||
padding-bottom: 16px;
|
||||
border-bottom: 1px solid #F4F4F5;
|
||||
font-family: PingFangSC-Regular;
|
||||
position: relative;
|
||||
.label {
|
||||
line-height: 44px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
color: #666;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.value {
|
||||
line-height: 40px;
|
||||
font-size: 28px;
|
||||
color: #333;
|
||||
}
|
||||
.right-icon {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,123 +0,0 @@
|
||||
<template>
|
||||
<section class="AppRecognizeSearchList">
|
||||
<div class="user-list">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" @click="toDetail(item)">
|
||||
<div class="item-top">
|
||||
<div class="title">助养方:{{item.sponsorName}}</div>
|
||||
<div class="info">助养对象:{{item.sponsoredChildName}}</div>
|
||||
<div class="info">相信描述:{{item.details}}</div>
|
||||
</div>
|
||||
<div class="item-bottom">
|
||||
<div class="time">{{item.processingDate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty v-if="!list.length"></AiEmpty>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
export default {
|
||||
name: "AppRecognizeSearchList",
|
||||
appName: "查询认亲助养",
|
||||
data() {
|
||||
return {
|
||||
assistanceName: '',
|
||||
assistanceIdNumber: '',
|
||||
assistanceMethod: '',
|
||||
current: 1,
|
||||
pageTotal: 2,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
onLoad(option) {
|
||||
this.assistanceName = option.assistanceName
|
||||
// this.assistanceIdNumber = option.assistanceIdNumber
|
||||
this.assistanceMethod = option.assistanceMethod
|
||||
this.getList()
|
||||
},
|
||||
onShow() {
|
||||
document.title = '查询认亲助养'
|
||||
},
|
||||
methods: {
|
||||
toDetail(row) {
|
||||
uni.navigateTo({url: `./AppRecognizeDetail?id=${row.id}`})
|
||||
},
|
||||
getList() {
|
||||
if(this.current > this.pageTotal) return
|
||||
this.$http.post(`/mobile/supportRaise/findListPage`,
|
||||
{
|
||||
sponsorName: this.assistanceName,
|
||||
sponsorshipMethod: this.sponsorshipMethod,
|
||||
pageNum: this.current,
|
||||
pageSize: 10,
|
||||
divisionCode: this.user.divisionCode || ''
|
||||
},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.list = this.current > 1 ? [...this.datas, ...res.data.rows] : res.data.rows
|
||||
this.pageTotal = Math.ceil(res.data.total/10)
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
this.current++
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppRecognizeSearchList {
|
||||
.user-list {
|
||||
padding: 24px 32px 0 32px;
|
||||
box-sizing: border-box;
|
||||
.item {
|
||||
width: 100%;
|
||||
background: #FFF;
|
||||
border-radius: 16px;
|
||||
margin-bottom: 24px;
|
||||
.item-top {
|
||||
padding: 24px;
|
||||
.title {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 34px;
|
||||
color: #333;
|
||||
margin-bottom: 12px;
|
||||
word-break: break-all;
|
||||
}
|
||||
.info {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
.item-bottom {
|
||||
padding: 14px 0 10px 24px;
|
||||
border-top: 1px solid #E4E5E6;
|
||||
.time {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 24px;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,60 +0,0 @@
|
||||
<template>
|
||||
<section class="AppRecognizeSearchTab">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" @click="toSearch(item)">
|
||||
<div class="title-flex">
|
||||
<div class="title">{{item}}</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" class="right-icon">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AppRecognizeSearchTab",
|
||||
appName: "查询认清助养",
|
||||
data() {
|
||||
return {
|
||||
list: ['个人助养', '集体助养']
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
document.title = '查询认亲助养'
|
||||
},
|
||||
methods: {
|
||||
toSearch(name) {
|
||||
uni.navigateTo({url: `./AppRecognizeSearch?name=${name}`})
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppRecognizeSearchTab {
|
||||
.item {
|
||||
padding-left: 32px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
.title-flex {
|
||||
display: flex;
|
||||
padding: 40px 20px 34px 0;
|
||||
border-bottom: 1px solid #E4E5E6;
|
||||
justify-content: space-between;
|
||||
.title {
|
||||
line-height: 42px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 30px;
|
||||
color: #333;
|
||||
}
|
||||
.right-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,197 +0,0 @@
|
||||
<template>
|
||||
<section class="AppSecurityObject">
|
||||
<div class="top-fixed">
|
||||
<div class="tab-content">
|
||||
<u-tabs :list="tabList" :is-scroll="false" :current="tabIndex" @change="change" height="112" :bar-style="barStyle"
|
||||
bg-color="#fff" inactive-color="#666" active-color="#222" :active-item-style="activeStyle"></u-tabs>
|
||||
</div>
|
||||
<div class="select-type" @click="isShowType=true">
|
||||
{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', childTypeCode) || '儿童类别'}}<u-icon name="arrow-down" color="#999" size="28"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-list">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" @click="toDetail(item)">
|
||||
<div class="item-top">
|
||||
<div class="title">儿童姓名:{{item.name}}</div>
|
||||
<div class="info">身份证号:{{item.idNumber}}</div>
|
||||
<div class="info">儿童类别:{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', item.childTypeCode)}}</div>
|
||||
<div class="type">{{item.itemName}}</div>
|
||||
</div>
|
||||
<div class="item-bottom">
|
||||
<div class="time">{{item.applicationDate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty v-if="!list.length"></AiEmpty>
|
||||
</div>
|
||||
<u-select v-model="isShowType" :list="typeList" value-name="value" label-name="label" @confirm="typeChange"></u-select>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
export default {
|
||||
name: "AppSecurityObject",
|
||||
appName: "保障对象管理",
|
||||
data() {
|
||||
return {
|
||||
tabList: [{name: '全部', val: ''}, {name: '助医', val: 2}, {name: '助学', val: 1}, {name: '基本生活费', val: 3}],
|
||||
tabIndex: 0,
|
||||
barStyle: {
|
||||
'width': '20px',
|
||||
'bottom': '-3px',
|
||||
'background': '#4181FF',
|
||||
'border-radius': '2px'
|
||||
},
|
||||
activeStyle: {
|
||||
'font-weight' : '400',
|
||||
'color': '#222'
|
||||
},
|
||||
current: 1,
|
||||
pageTotal: 2,
|
||||
list: [],
|
||||
isShowType: false,
|
||||
typeList: [],
|
||||
childTypeCode: ''
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.$dictHlj.load(['item_Type', 'CHILD_CATEGORY_CODE']).then(() => {
|
||||
this.typeList = this.$dictHlj.getDict('CHILD_CATEGORY_CODE')
|
||||
this.typeList.unshift({label: '全部', value: ''})
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '保障对象管理'
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
methods: {
|
||||
change(e) {
|
||||
this.tabIndex = e
|
||||
this.getListInit()
|
||||
},
|
||||
getListInit() {
|
||||
this.current = 1
|
||||
this.pageTotal = 2
|
||||
this.list = []
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
if(this.current > this.pageTotal) return
|
||||
this.$http.post(`/mobile/guaranteeObject/findListPage`,
|
||||
{
|
||||
itemType: this.tabList[this.tabIndex].val,
|
||||
pageNum: this.current,
|
||||
pageSize: 10,
|
||||
divisionCode: this.user.divisionCode || '',
|
||||
childTypeCode: this.childTypeCode
|
||||
},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.list = this.current > 1 ? [...this.datas, ...res.data.rows] : res.data.rows
|
||||
this.pageTotal = Math.ceil(res.data.total/10)
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
toDetail(row) {
|
||||
uni.navigateTo({url: `./AppSecurityObjectDetail?childrenId=${row.childrenId}&childTypeCode=${row.childTypeCode}&itemType=${row.itemType}`})
|
||||
},
|
||||
typeChange(e) {
|
||||
this.childTypeCode = e[0].value
|
||||
this.getListInit()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppSecurityObject {
|
||||
.top-fixed {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 9;
|
||||
}
|
||||
.tab-content {
|
||||
padding-right: 120px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
}
|
||||
.select-type {
|
||||
width: 100%;
|
||||
line-height: 40px;
|
||||
background: #FFF;
|
||||
border-top: 1px solid #ddd;
|
||||
padding: 24px 32px;
|
||||
box-sizing: border-box;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 8px;
|
||||
color: #222;
|
||||
.u-icon {
|
||||
margin-left: 14px;
|
||||
}
|
||||
}
|
||||
.user-list {
|
||||
padding: 236px 32px 0 32px;
|
||||
box-sizing: border-box;
|
||||
.item {
|
||||
width: 100%;
|
||||
background: #FFF;
|
||||
border-radius: 16px;
|
||||
margin-bottom: 24px;
|
||||
.item-top {
|
||||
padding: 24px;
|
||||
position: relative;
|
||||
.title {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 34px;
|
||||
color: #333;
|
||||
margin-bottom: 12px;
|
||||
word-break: break-all;
|
||||
}
|
||||
.info {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #666;
|
||||
}
|
||||
.type {
|
||||
position: absolute;
|
||||
top: 24px;
|
||||
right: 24px;
|
||||
padding: 6px 16px;
|
||||
line-height: 36px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26px;
|
||||
color: #2A6DF4;
|
||||
background: #F5F7FC;
|
||||
border: 1px solid #E1E8F6;
|
||||
border-radius: 8px;
|
||||
}
|
||||
}
|
||||
.item-bottom {
|
||||
padding: 14px 0 10px 24px;
|
||||
border-top: 1px solid #E4E5E6;
|
||||
.time {
|
||||
line-height: 48px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 24px;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,250 +0,0 @@
|
||||
<template>
|
||||
<section class="AppSecurityObjectDetail">
|
||||
<div class="info-list">
|
||||
<div class="item">
|
||||
<div class="title-flex" @click="view(0)">
|
||||
<div class="item-title">基本信息</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" :class="isShowBasic ? 'right-icon' : 'right-icon right-icon-active'">
|
||||
</div>
|
||||
<div class="item-content" v-if="isShowBasic">
|
||||
<div class="item-form">
|
||||
<div class="label">儿童类别</div>
|
||||
<div class="value">{{$dictHlj.getLabel('CHILD_CATEGORY_CODE', info.childType) || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">儿童名称</div>
|
||||
<div class="value">{{info.name || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">身份证号</div>
|
||||
<div class="value">{{info.idNumber || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">性别</div>
|
||||
<div class="value">{{$dictHlj.getLabel('GENDER_CODE', info.gender) || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">户籍地址</div>
|
||||
<div class="value">{{info.householdAddress|| '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="title-flex" @click="view(1)">
|
||||
<div class="item-title">事项信息</div>
|
||||
<img src="https://cdn.sinoecare.com/i/2024/09/06/66da67b778d99.png" alt="" :class="isShowMatter ? 'right-icon' : 'right-icon right-icon-active'">
|
||||
</div>
|
||||
<div class="item-content" v-if="isShowMatter">
|
||||
<div class="item-form">
|
||||
<div class="label">事项名称</div>
|
||||
<div class="value">{{info.itemName || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">申请时间</div>
|
||||
<div class="value">{{info.applicationDate || '-'}}</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="info.itemType == 2">
|
||||
<div class="item-form">
|
||||
<div class="label">住院日期</div>
|
||||
<div class="value">{{info.hospitalizationDate || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">出院日期</div>
|
||||
<div class="value">{{info.dischargeDate || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">医疗费用</div>
|
||||
<div class="value">{{info.medicalExpenses || '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="info.itemType == 1">
|
||||
<div class="item-form">
|
||||
<div class="label">就读学校</div>
|
||||
<div class="value">{{info.school || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">学历</div>
|
||||
<div class="value">{{info.education || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">助学开始日期</div>
|
||||
<div class="value">{{info.educationStartDate || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">助学结束日期</div>
|
||||
<div class="value">{{info.educationEndDate || '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="info.itemType == 3">
|
||||
<!-- <div class="item-form">
|
||||
<div class="label">起领年月</div>
|
||||
<div class="value">{{info.startingDate || '-'}}</div>
|
||||
</div>
|
||||
<div class="item-form">
|
||||
<div class="label">末领年月</div>
|
||||
<div class="value">{{info.lastDate || '-'}}</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="footer-btn">
|
||||
<div class="btn primary" @click="toView()">查看儿童详细信息</div>
|
||||
<div class="btn">返回</div>
|
||||
</div> -->
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
export default {
|
||||
name: "AppSecurityObjectDetail",
|
||||
appName: "保障对象详情",
|
||||
data() {
|
||||
return {
|
||||
childrenId: '',
|
||||
childTypeCode: '',
|
||||
itemType: '',
|
||||
info: {},
|
||||
isShowBasic: true,
|
||||
isShowMatter: true,
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.childrenId = option.childrenId
|
||||
this.childTypeCode = option.childTypeCode
|
||||
this.itemType = option.itemType
|
||||
this.$dictHlj.load(['CHILD_CATEGORY_CODE', 'GENDER_CODE']).then(() => {
|
||||
this.getDetail()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '保障对象详情'
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
methods: {
|
||||
view(type) {
|
||||
if(!type) {
|
||||
this.isShowBasic = !this.isShowBasic
|
||||
}else if(type == 1) {
|
||||
this.isShowMatter = !this.isShowMatter
|
||||
}
|
||||
},
|
||||
getDetail() {
|
||||
this.$http.post(`/mobile/guaranteeObject/findDetails`,
|
||||
{
|
||||
childrenId: this.childrenId,
|
||||
childTypeCode: this.childTypeCode,
|
||||
divisionCode: this.user.divisionCode || "230000000000",
|
||||
itemType: this.itemType
|
||||
},
|
||||
{
|
||||
withoutToken: true
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
|
||||
this.info = {...res.data}
|
||||
}else {
|
||||
this.$u.toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-page-body {
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
.AppSecurityObjectDetail {
|
||||
.info-list {
|
||||
|
||||
.item {
|
||||
padding-left: 32px;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 24px;
|
||||
background-color: #fff;
|
||||
.title-flex {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
line-height: 42px;
|
||||
.item-title {
|
||||
width: calc(100% - 80px);
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #222;
|
||||
padding: 20px 0;
|
||||
}
|
||||
.right-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 20px;
|
||||
transform: rotate(-90deg);
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
.right-icon-active {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
.item-content {
|
||||
.item-form {
|
||||
width: 100%;
|
||||
padding: 16px 20px 16px 0;
|
||||
border-bottom: 1px solid #E4E5E6;
|
||||
box-sizing: border-box;
|
||||
word-break: break-all;
|
||||
font-family: PingFangSC-Regular;
|
||||
.label {
|
||||
height: 44px;
|
||||
font-size: 32px;
|
||||
color: #999;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.value {
|
||||
line-height: 40px;
|
||||
font-size: 28px;
|
||||
color: #222;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-btn {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px 32px 52px 16px;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
z-index: 9;
|
||||
.btn {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 96px;
|
||||
line-height: 94px;
|
||||
border: 1px solid #2183FF;
|
||||
border-radius: 8px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 32px;
|
||||
color: #2183FF;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.primary {
|
||||
background-color: #2183FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user