完成水电表列表

This commit is contained in:
Zy
2026-04-18 18:14:07 +08:00
parent 9a95e2b7e3
commit d0888c6afb
115 changed files with 2842 additions and 343 deletions

View File

@@ -41,7 +41,7 @@
<div class="userinfo_item img">
<div class="title_item">身份证正面:</div>
<div class="userinfo_itme_img">
<el-image class="w-full h-full" fit="fill" :src="userInfo.cardImageFront"></el-image>
<el-image class="w-full h-full" fit="fill" :src="splitImages(userInfo.cardImageFront)"></el-image>
</div>
</div>
</el-col>
@@ -143,6 +143,7 @@ import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getResident, getresidentReviewlistAPI, UpdateResidentReviewAPI } from '@/api/system/resident';
import { ResidentVO } from '@/api/system/resident/type';
import { splitImages } from '@/utils';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_review } = toRefs<any>(proxy?.useDict('com_review'));

View File

@@ -140,25 +140,25 @@ const rules = ref({
houseId: [{ required: true, message: '请选择房屋', trigger: 'blur' }],
name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
gender: [{ required: true, message: '请选择性别', trigger: 'blur' }],
// cardImageFront: [{ required: true, message: '请上传身份证照片', trigger: 'blur' }],
// cardImageBack: [{ required: true, message: '请上传身份证照片', trigger: 'blur' }],
// idCard: [
// { required: true, message: '请输入身份证号', trigger: 'blur' },
// {
// validator: (_, value) => validator(value, 'idCard'),
// message: '请输入正确的18位身份证号码',
// trigger: 'blur'
// }
// ],
type: [{ required: true, message: '请选择与业主关系', trigger: 'blur' }]
// phone: [
// { required: true, message: '请输入手机号', trigger: 'blur' },
// {
// validator: (_, value) => validator(value, 'phone'),
// message: '请输入正确的手机号码',
// trigger: 'blur'
// }
// ]
cardImageFront: [{ required: true, message: '请上传身份证照片', trigger: 'blur' }],
cardImageBack: [{ required: true, message: '请上传身份证照片', trigger: 'blur' }],
idCard: [
{ required: true, message: '请输入身份证号', trigger: 'blur' },
{
validator: (_, value) => validator(value, 'idCard'),
message: '请输入正确的18位身份证号码',
trigger: 'blur'
}
],
type: [{ required: true, message: '请选择与业主关系', trigger: 'blur' }],
phone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{
validator: (_, value) => validator(value, 'phone'),
message: '请输入正确的手机号码',
trigger: 'blur'
}
]
});
// !== 楼栋房屋 =============================================================================
@@ -190,15 +190,11 @@ const upload2 = ref<UploadInstance>();
const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
if (response.data && response.data.url) {
form.value.cardImageFront = response.data.url;
} else {
ElMessage.error('短时间内不允许重复提交,请稍候再试');
}
};
const handleAvatar2Success: UploadProps['onSuccess'] = (response, uploadFile) => {
if (response.data && response.data.url) {
form.value.cardImageBack = response.data.url;
} else {
ElMessage.error('短时间内不允许重复提交,请稍候再试');
}
};
const handleExceed: UploadProps['onExceed'] = (files) => {
@@ -227,12 +223,12 @@ const handleError2: UploadProps['onError'] = (error: Error, uploadFile: UploadFi
const submitForm = () => {
formRef.value?.validate(async (valid: boolean) => {
if (valid) {
// if (!form.value.cardImageFront.trim()) {
// return ElMessage.error('请上传身份证正面照片');
// }
// if (!form.value.cardImageBack.trim()) {
// return ElMessage.error('请上传身份证背面照片');
// }
if (!form.value.cardImageFront.trim()) {
return ElMessage.error('请上传身份证正面照片');
}
if (!form.value.cardImageBack.trim()) {
return ElMessage.error('请上传身份证背面照片');
}
const obj = {
...form.value
};

View File

@@ -264,6 +264,7 @@ const defaultProps = {
// ! 树形------------------------------------------------------------------------
const treedata = ref([]);
function gettree() {
treedata.value = [];
houseStore.getCurrentVilageTreeHouse().then((res) => {
treedata.value = res;
});
@@ -274,6 +275,7 @@ gettree();
/** 查询住户管理列表 */
const getList = async () => {
loading.value = true;
residentList.value = [];
const res = await listResident(queryParams.value);
residentList.value = res.rows;
residentList.value.forEach((item) => {
@@ -363,7 +365,6 @@ onMounted(() => {
<style lang="scss" scoped>
.residentBody {
display: flex;
align-items: center;
.treebox {
width: 250px;
margin-right: 10px;