Lou
2024-03-21 5db9bf59a85073db5b2ecc6cedac3ca9feef2939
更新
6 files modified
276 ■■■■ changed files
pages/home/index.vue 10 ●●●● patch | view | raw | blame | history
subPackage/bs/components/form/rentForm.vue 88 ●●●● patch | view | raw | blame | history
subPackage/bs/views/rentDetail.vue 13 ●●●●● patch | view | raw | blame | history
subPackage/label/bail.vue 8 ●●●● patch | view | raw | blame | history
subPackage/workbench/components/rentForm.vue 128 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/auditRental.vue 29 ●●●● patch | view | raw | blame | history
pages/home/index.vue
@@ -422,11 +422,11 @@
                                path: "/subPackage/bs/views/zhsb",
                                icon: "/static/icon/nav-04.png"
                            },
                            // {
                            //     text: "居住证申请",
                            //     path: "/subPackage/reside/edit",
                            //     icon: "/static/icon/nav-04.png"
                            // }
                            {
                                text: "居住证申请",
                                path: "/subPackage/reside/edit",
                                icon: "/static/icon/nav-13.png"
                            }
                        ]
                    },
                    {
subPackage/bs/components/form/rentForm.vue
@@ -1,33 +1,31 @@
<template>
    <view class="">
        <u-form :model="form" class="form-box" :rules="rules" ref="refForm">
            <u-form-item class="form-item" label="姓名" required prop="name" labelWidth="80">
            <u-form-item class="form-item" label="姓名" required prop="name" labelWidth="100">
                <u-input v-model="form.name" border="none" placeholder="姓名" />
            </u-form-item>
            <u-form-item class="form-item" label="联系方式" required prop="phoneNumber" labelWidth="80">
            <u-form-item class="form-item" label="联系方式" required prop="phoneNumber" labelWidth="100">
                <u-input type="number" v-model="form.phoneNumber" border="none" placeholder="联系方式" />
            </u-form-item>
            <u-form-item class="form-item" label="身份证号码" required prop="idCard" labelWidth="80">
            <u-form-item class="form-item" label="身份证号码" required prop="idCard" labelWidth="100">
                <u-input type="idcard" v-model="form.idCard" border="none" placeholder="身份证号码" />
            </u-form-item>
            <!-- <u-form-item @click="showGenderPicker = true" class="form-item" label="性别" prop="legalGender">
            <u--input border="none" v-model="genderValue" disabled disabledColor="#ffffff" placeholder="请选择性别">
            </u--input>
            <u-icon slot="right" name="arrow-right"></u-icon>
        </u-form-item>
        <u-form-item @click="showNationPicker = true" class="form-item" label="民族" prop="ethnicity">
            <u--input border="none" v-model="nationValue" disabled disabledColor="#ffffff" placeholder="请选择民族">
            </u--input>
            <u-icon slot="right" name="arrow-right"></u-icon>
        </u-form-item> -->
            <u-form-item class="form-item" label="户籍地址" labelWidth="80">
            <u-form-item @click="showGenderPicker = true" class="form-item" label="性别" prop="legalGender"
                labelWidth="100">
                <u--input border="none" v-model="genderValue" disabled disabledColor="#ffffff" placeholder="请选择性别">
                </u--input>
                <u-icon slot="right" name="arrow-right"></u-icon>
            </u-form-item>
            <u-form-item @click="showNationPicker = true" class="form-item" label="民族" prop="ethnicity"
                labelWidth="100">
                <u--input border="none" v-model="nationValue" disabled disabledColor="#ffffff" placeholder="请选择民族">
                </u--input>
                <u-icon slot="right" name="arrow-right"></u-icon>
            </u-form-item>
            <u-form-item class="form-item" label="户籍地址" labelWidth="100">
                <u-input v-model="form.hukouRegistration" border="none" placeholder="选填" />
            </u-form-item>
            <u-form-item class="form-item" label="工作单位" labelWidth="80">
            <u-form-item class="form-item" label="工作单位" labelWidth="100">
                <u-input v-model="form.employer" border="none" placeholder="选填" />
            </u-form-item>
        </u-form>
@@ -54,7 +52,9 @@
                    phoneNumber: '',
                    idCard: '',
                    hukouRegistration: '',
                    employer: ''
                    employer: '',
                    ethnicity: '',
                    gender: ''
                },
                rules: {
                    name: [{
@@ -96,30 +96,29 @@
                        // 触发器可以同时用blur和change
                        trigger: ['change', 'blur'],
                    }],
                },
                nationTypeList: [], //民族
                nationTypeIndex: [0],
                nationValue: "",
                gender: [{ //性别
                        value: 1,
                        name: '男',
                    },
                    {
                        value: 0,
                        name: '女',
                    }
                ],
                genderIndex: [0],
                genderValue: "",
                showNationPicker: false,
                showGenderPicker: false,
                    nationTypeList: [], //民族
                    nationTypeIndex: [0],
                    nationValue: "",
                    gender: [{ //性别
                            value: 1,
                            name: '男',
                        },
                        {
                            value: 0,
                            name: '女',
                        }
                    ],
                    genderIndex: [0],
                    genderValue: "",
                    showNationPicker: false,
                    showGenderPicker: false,
                }
            }
        },
        // create(){
        //     this.getAllBizDict()
        // },
        created() {
            this.getAllBizDict()
        },
        methods: {
            async getAllBizDict() {
                // 获取民族
@@ -140,7 +139,6 @@
                })
            },
            //选择民族
            confirmNation(e) {
                this.nationIndex = e.indexs;
@@ -155,11 +153,7 @@
                this.genderValue = e.value[0].name;
                this.form.gender = e.value[0].value;
                this.showGenderPicker = false;
            },
            }
        }
    }
</script>
subPackage/bs/views/rentDetail.vue
@@ -534,6 +534,19 @@
                this.rentFormNum = householdVOList.length
                this.$nextTick(() => {
                    householdVOList.forEach((item, index) => {
                        if (item.ethnicity) {
                            let obj = this.$getIndex(this.$refs.rentform[0].nationTypeList, item
                                .ethnicity,
                                "value", "name")
                            this.$refs.rentform[index].nationValue = obj.name;
                            this.$refs.rentform[index].nationTypeIndex = obj.index;
                        }
                        if (typeof(item.gender) == 'number') {
                            let obj = this.$getIndex(this.$refs.rentform[index]
                                .gender, item.gender, "value", "name")
                            this.$refs.rentform[index].genderValue = obj.name;
                            this.$refs.rentform[index].genderIndex = obj.index;
                        }
                        this.$refs.rentform[index].form = item
                    })
                })
subPackage/label/bail.vue
@@ -5,12 +5,12 @@
            :labelStyle="{fontSize:'28rpx'}">
            <view class="content">
                <u-form-item label="姓名" prop="checkUserName" borderBottom required>
                    <u-input v-model="info.checkUserName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
                        inputAlign="right"></u-input>
                    <u-input v-model="info.checkUserName" border="none" disabled disabledColor="#fff" placeholder="请输入"
                        placeholderClass="f-28 c-99" inputAlign="right"></u-input>
                </u-form-item>
                <u-form-item label="手机" prop="checkTelephone" borderBottom required>
                    <u-input v-model="info.checkTelephone" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
                        inputAlign="right"></u-input>
                    <u-input v-model="info.checkTelephone" border="none" disabled disabledColor="#fff" placeholder="请输入"
                        placeholderClass="f-28 c-99" inputAlign="right"></u-input>
                </u-form-item>
                <u-form-item label="申请事由" prop="applyName" borderBottom required>
                    <u-input v-model="info.applyName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
subPackage/workbench/components/rentForm.vue
@@ -1,24 +1,49 @@
<template>
    <u-form :model="form" class="form-box" :rules="rules" ref="refForm">
        <u-form-item class="form-item" label="姓名" required prop="name" labelWidth="80">
            <u-input v-model="form.name" border="none" placeholder="姓名" />
        </u-form-item>
        <u-form-item class="form-item" label="联系方式" required prop="phoneNumber" labelWidth="80">
            <u-input type="number" v-model="form.phoneNumber" border="none" placeholder="联系方式" />
        </u-form-item>
        <u-form-item class="form-item" label="身份证号码" required prop="idCard" labelWidth="80">
            <u-input type="idcard" v-model="form.idCard" border="none" placeholder="身份证号码" />
        </u-form-item>
        <u-form-item class="form-item" label="户籍地址" labelWidth="80">
            <u-input v-model="form.hukouRegistration" border="none" placeholder="选填" />
        </u-form-item>
        <u-form-item class="form-item" label="工作单位" labelWidth="80">
            <u-input v-model="form.employer" border="none" placeholder="选填" />
        </u-form-item>
    </u-form>
    <view class="">
        <u-form :model="form" class="form-box" :rules="rules" ref="refForm">
            <u-form-item class="form-item" label="姓名" required prop="name" labelWidth="100">
                <u-input v-model="form.name" border="none" placeholder="姓名" />
            </u-form-item>
            <u-form-item class="form-item" label="联系方式" required prop="phoneNumber" labelWidth="100">
                <u-input type="number" v-model="form.phoneNumber" border="none" placeholder="联系方式" />
            </u-form-item>
            <u-form-item class="form-item" label="身份证号码" required prop="idCard" labelWidth="100">
                <u-input type="idcard" v-model="form.idCard" border="none" placeholder="身份证号码" />
            </u-form-item>
            <u-form-item @click="showGenderPicker = true" class="form-item" label="性别" prop="legalGender"
                labelWidth="100">
                <u--input border="none" v-model="genderValue" disabled disabledColor="#ffffff" placeholder="请选择性别">
                </u--input>
                <u-icon slot="right" name="arrow-right"></u-icon>
            </u-form-item>
            <u-form-item @click="showNationPicker = true" class="form-item" label="民族" prop="ethnicity"
                labelWidth="100">
                <u--input border="none" v-model="nationValue" disabled disabledColor="#ffffff" placeholder="请选择民族">
                </u--input>
                <u-icon slot="right" name="arrow-right"></u-icon>
            </u-form-item>
            <u-form-item class="form-item" label="户籍地址" labelWidth="100">
                <u-input v-model="form.hukouRegistration" border="none" placeholder="选填" />
            </u-form-item>
            <u-form-item class="form-item" label="工作单位" labelWidth="100">
                <u-input v-model="form.employer" border="none" placeholder="选填" />
            </u-form-item>
        </u-form>
        <u-picker :defaultIndex="nationTypeListIndex" :closeOnClickOverlay="true" :show="showNationPicker"
            :columns="[nationTypeList]" @close="showNationPicker = false" @cancel="showNationPicker = false"
            keyName="name" @confirm="confirmNation"></u-picker>
        <u-picker :defaultIndex="genderIndex" :closeOnClickOverlay="true" :show="showGenderPicker" :columns="[gender]"
            @close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
            @confirm="confirmGender"></u-picker>
    </view>
</template>
<script>
    import {
        bizDictionary
    } from '@/api/system/dict.js'
    export default {
        data() {
            return {
@@ -27,7 +52,9 @@
                    phoneNumber: '',
                    idCard: '',
                    hukouRegistration: '',
                    employer: ''
                    employer: '',
                    ethnicity: '',
                    gender: ''
                },
                rules: {
                    name: [{
@@ -68,9 +95,70 @@
                        message: '请输入正确的身份证号',
                        // 触发器可以同时用blur和change
                        trigger: ['change', 'blur'],
                    }]
                }
                    }],
                },
                nationTypeList: [], //民族
                nationTypeIndex: [0],
                nationValue: "",
                gender: [{ //性别
                        value: 1,
                        name: '男',
                    },
                    {
                        value: 0,
                        name: '女',
                    }
                ],
                genderIndex: [0],
                genderValue: "",
                showNationPicker: false,
                showGenderPicker: false,
            }
        },
        created() {
            this.getAllBizDict()
        },
        methods: {
            async getAllBizDict() {
                // 获取民族
                await this.getBizDict('nationType', this.nationTypeList);
            },
            // 获取业务字典
            async getBizDict(code, list) {
                const param = {
                    code: code
                }
                const res = await bizDictionary(param)
                res.data.forEach(e => {
                    list.push({
                        name: e.dictValue,
                        value: Number(e.dictKey)
                    })
                })
            },
            //选择民族
            confirmNation(e) {
                this.nationIndex = e.indexs;
                this.nationValue = e.value[0].name;
                this.form.ethnicity = e.value[0].value;
                this.showNationPicker = false;
            },
            //选择性别
            confirmGender(e) {
                this.genderIndex = e.indexs;
                this.genderValue = e.value[0].name;
                this.form.gender = e.value[0].value;
                this.showGenderPicker = false;
            },
        }
    }
</script>
subPackage/workbench/views/auditRental.vue
@@ -29,11 +29,19 @@
                </u-form-item>
                <view class="pic">
                    <view class="title">合同上传</view>
                    <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                    <!-- <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        uploadIcon="/static/icon/upload.png" :maxCount="uploadConfig.maxCount"
                        :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
                    </u-upload>
                    </u-upload> -->
                    <view class="f-28" style="pading:20rpx 0;" v-if="!form.images.length">
                        未完善
                    </view>
                    <view class="flex flex-wrap" v-if="form.images.length">
                        <view class="" v-for="i in form.images" style="margin:0 20rpx 20rpx 0;">
                            <u-image :src="i.link" width="160" height="160"></u-image>
                        </view>
                    </view>
                </view>
            </view>
            <view class="rent-info">
@@ -43,9 +51,9 @@
                            <view class="line"></view>
                            <view class="title">{{ '租客信息-#' + (index + 1)  }}</view>
                        </view>
                        <view class="r" v-if="(index+1) > 1">
                        <!-- <view class="r" v-if="(index+1) > 1">
                            <u-icon name="trash-fill" color="#ff0000" size="20" @click="decRentForm(index)"></u-icon>
                        </view>
                        </view> -->
                    </view>
                    <rentForm ref="rentform" />
                </view>
@@ -532,6 +540,19 @@
                this.rentFormNum = householdVOList.length
                this.$nextTick(() => {
                    householdVOList.forEach((item, index) => {
                        if (item.ethnicity) {
                            let obj = this.$getIndex(this.$refs.rentform[0].nationTypeList, item
                                .ethnicity,
                                "value", "name")
                            this.$refs.rentform[index].nationValue = obj.name;
                            this.$refs.rentform[index].nationTypeIndex = obj.index;
                        }
                        if (typeof(item.gender) == 'number') {
                            let obj = this.$getIndex(this.$refs.rentform[index]
                                .gender, item.gender, "value", "name")
                            this.$refs.rentform[index].genderValue = obj.name;
                            this.$refs.rentform[index].genderIndex = obj.index;
                        }
                        this.$refs.rentform[index].form = item
                    })
                })