Lou
2024-01-02 8948d82f14a526f131318f99e16afe80b95560af
更新
6 files modified
261 ■■■■ changed files
api/task/taskReportForRepairs.js 9 ●●●●● patch | view | raw | blame | history
api/user.js 2 ●●● patch | view | raw | blame | history
common/setting.js 4 ●●●● patch | view | raw | blame | history
subPackage/house/member/index.vue 52 ●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/index.vue 22 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/reportAudit.vue 172 ●●●● patch | view | raw | blame | history
api/task/taskReportForRepairs.js
@@ -59,3 +59,12 @@
        }
    })
}
//报事报修处理
export const reportSave = (data) => {
    return http.request({
        url: 'blade-task/taskRepairStep/save',
        method: 'POST',
        data
    })
}
api/user.js
@@ -120,7 +120,7 @@
// 获取人员类型
export const getPeopleType = (params) => {
    return http.request({
        url: '/blade-system/user/getPeopleType',
        url: '/blade-system/user/getUserInfoByCode',
        method: 'GET',
        params: params
    })
common/setting.js
@@ -11,8 +11,8 @@
    // 开发环境接口Url
    // devUrl: 'http://z4042833u6.wicp.vip',
    // devUrl: 'http://192.168.0.106:9528',
    // devUrl: 'https://srgdjczzxtpt.com:2080/api',
    devUrl: 'https://kt39592615.goho.co',
    devUrl: 'https://srgdjczzxtpt.com:2080/api',
    // devUrl: 'https://kt39592615.goho.co',
    minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
    // minioBaseUrl:"http://192.168.0.103:9528/",
    // 数据中台接口url
subPackage/house/member/index.vue
@@ -7,13 +7,13 @@
                        <view class="box-title">
                            <box-title title="基础信息"></box-title>
                        </view>
                        <u-form-item @click="showSelectBus('角色','roleType')" class="form-item" labelWidth="100"
                        <!-- <u-form-item @click="showSelectBus('角色','roleType')" class="form-item" labelWidth="100"
                            label="角色" required prop="roleType">
                            <u--input border="none" v-model="selectDefaultName.roleType" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        </u-form-item> -->
                        <u-form-item @click="showSelectBus('角色关系','relationship')" class="form-item" labelWidth="100"
                            label="角色关系" required prop="relationship">
@@ -95,10 +95,37 @@
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="现居住地" prop="currentAddress">
                            <u--input border="none" v-model="form.currentAddress" placeholder="请输入">
                        <u-form-item class="form-item" labelWidth="100" label="居住地区" prop="homeAdcode"
                            @click="showRegion = true">
                            <u--input border="none" v-model="homeRegion" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="标签" @click="navTo">
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item class="form-item  address-row" labelWidth="100" label="现居住地" prop="currentAddress">
                            <u--input border="none" :disabled="form.source ==1?true:false" disabledColor="#ffffff"
                                v-model="form.currentAddress" placeholder="请输入">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="居住地区" prop="homeAdcode"
                            @click="showRegion = true">
                            <u--input border="none" v-model="homeRegion" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="标签" @click="navTo">
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item @click="showSelectBus('民族','ethnicity')" class="form-item" labelWidth="100"
                            label="民族" prop="ethnicity">
@@ -236,17 +263,7 @@
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="居住地区" prop="homeAdcode"
                            @click="showRegion = true">
                            <u--input border="none" v-model="homeRegion" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="标签" @click="navTo">
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                    </view>
                </u-form>
            </view>
@@ -745,8 +762,15 @@
                border-bottom: 1rpx solid #eff1f3;
            }
            /deep/ .u-input__content__field-wrapper__field {
                height: auto;
                white-space: pre-wrap;
            }
        }
        .event-pic {
            background-color: #ffffff;
            padding: 40rpx 30rpx;
subPackage/house/roomDetails/index.vue
@@ -3,7 +3,7 @@
        <view class="main">
            <view class="content">
                <view class="base b-c-w">
                    <view class="flex a-i-c header"  v-if="houseInfo.houseTitle">
                    <view class="flex a-i-c header" v-if="houseInfo.houseTitle">
                        <u-icon name="/static/icon/map.png" width="15" height="18"></u-icon>
                        <view class="text">
                            <text>当前小区:</text>
@@ -26,15 +26,15 @@
                                text="房屋管理"></u-button>
                        </view>
                    </view>
                    <view class="flex j-c-f-e  info-content"  v-if="!houseInfo.buildingName">
                    <view class="flex j-c-f-e  info-content" v-if="!houseInfo.buildingName">
                        <view class="flex a-i-c">
                            <u-button @click="rommManage" size='small' type="primary" class="u_btn_blue"
                                text="房屋管理"></u-button>
                        </view>
                    </view>
                </view>
                <view class="mt-40 owner-box b-c-w" v-for="(item, index) in ownerInfoList" :key="index">
@@ -80,9 +80,11 @@
                            <!-- u-icon name="photo"></u-icon> -->
                            <view class="owner-img-box" v-if="item.relationship == 1">主</view>
                            <view class="ml-20" v-if="item.householdLabelList.length">
                                <block  v-for="i in item.householdLabelList">
                                    <view class="mr-10"  v-if="i.labelName">
                                        <u-tag    :text="i.labelName" plain  size="mini"> </u-tag>
                                <block v-for="i in item.householdLabelList">
                                    <view class="mr-10" v-if="i.labelName">
                                        <u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
                                            size="mini">
                                        </u-tag>
                                    </view>
                                </block>
                            </view>
@@ -317,9 +319,9 @@
                    uni.setNavigationBarTitle({
                        title: `${this.houseInfo.houseTitle}${this.houseInfo.buildingName}${this.houseInfo.unitName}${this.houseInfo.houseName }室`
                    })
                }else {
                } else {
                    uni.setNavigationBarTitle({
                        title:"房屋详情"
                        title: "房屋详情"
                    })
                }
subPackage/workbench/views/reportAudit.vue
@@ -43,21 +43,55 @@
                </u-form>
            </view>
        </view>
        <view class="upload bgc-ff">
            <view class="f-28">图片</view>
            <view class="mt-20">
                <u-upload :fileList="imageList" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
                    :capture="uploadConfig.capture" @afterRead="afterReadImg($event,'imageList')"
                    @delete="deletePics($event,'imageList')">
                    <view class="upload-item upload-icon flex_base">
                        <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                    </view>
                </u-upload>
            </view>
        </view>
        <view class="upload bgc-ff">
            <view class="f-28">视频</view>
            <view class="mt-20">
                <u-upload :fileList="videoList" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
                    :capture="uploadConfig.capture" @afterRead="afterReadImg($event,'videoList')"
                    @delete="deletePics($event,'videoList')">
                    <view class="upload-item upload-icon flex_base">
                        <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                    </view>
                </u-upload>
            </view>
        </view>
        <!-- <view class="bottom"  v-if="from == 'list'">
            <u-button type="primary" @click="submit">提交处理</u-button>
        </view> -->
        <!-- <footer-btn  @click="submit"  v-if="from == 'list'"></footer-btn> -->
        <view class="footer flex a-i-c j-c-s-b" v-if="from == 'list'">
            <button class="footer-btn" @click="submit()">处置</button>
            <button class="footer-btn">转办</button>
            <button class="footer-btn" @click="submit(0)">处置</button>
            <button class="footer-btn" @click="submit(1)">转办</button>
        </view>
        <u-picker :defaultIndex="[defaultColums]" :closeOnClickOverlay="true" @close="isPickerShow = false"
            :show="isPickerShow" ref="uPicker" :columns="columns" keyName="name" @cancel="isPickerShow = false"
            @confirm="handleConfirm"></u-picker>
        <u-picker :defaultIndex="peopleIndex" :closeOnClickOverlay="true" @close="isShowPeoplePicker = false"
            :show="isShowPeoplePicker" ref="pPicker" :columns="peopleList" keyName="distictName"
            @cancel="isShowPeoplePicker = false" @confirm="handlePeopleConfirm" @change="changePeople"></u-picker>
    </view>
</template>
@@ -65,7 +99,8 @@
    import lineItem from '../components/lineItem.vue'
    import captionRow from '@/components/caption/caption.vue'
    import {
        checkReportForRepairsData
        checkReportForRepairsData,
        reportSave
    } from '@/api/task/taskReportForRepairs.js'
    import {
        getPeopleType
@@ -73,7 +108,9 @@
    import {
        minioBaseUrl
    } from "@/common/setting.js"
    import uploadMixin from "@/mixin/uploadMixin";
    export default {
        mixins: [uploadMixin],
        components: {
            captionRow,
            lineItem
@@ -155,17 +192,22 @@
                from: "list",
                peopleList: [
                    [{
                            name: "网格员",
                            type: 1
                            distictName: "网格员",
                            type: 0
                        },
                        {
                            name: "物业人员",
                            distictName: "物业人员",
                            type: 2
                        }
                    ],
                ]
                    []
                ],
                peopleIndex: [0, 0],
                isShowPeoplePicker: false,
                transferUserId: "",
                content: "",
                imageList: [],
                videoList: []
            }
        },
        onLoad(option) {
@@ -178,15 +220,20 @@
                data
            } = option
            this.defaultData = JSON.parse(data)
            this.getPeopleList(0)
        },
        onShow() {
            this.setDefaultValue()
        },
        methods: {
            getPeopleList() {
                getPeopleType().then(res => {
            getPeopleList(type) {
                getPeopleType({
                    houseCode: this.defaultData.addressCode,
                    type
                }).then(res => {
                    console.log(res);
                    this.$set(this.peopleList, 1, res.data);
                })
            },
@@ -195,7 +242,6 @@
                    this.isPickerShow = true;
                }
            },
            setImgUrl(url) {
                return `${minioBaseUrl}${url}`
@@ -232,8 +278,8 @@
                        }, 1500)
                    }
                })
            },
            setDefaultValue() {
                console.log(this.defaultData);
                this.basicData.forEach(item => {
@@ -256,9 +302,48 @@
                this.defaultPlaceholder = columns[this.defaultColums].name
            },
            submit() {
                this.checkReportForRepairs()
            submit(type) {
                if (type == 1) {
                    this.isShowPeoplePicker = true;
                } else {
                    let data = {
                        confirmFlag: 2,
                        content: this.form.confirmNotion,
                        imageList: this.getFileName(this.imageList),
                        mobile: this.defaultData.mobile,
                        peopleType: 0,
                        repairId: this.defaultData.id,
                        videoList: this.getFileName(this.videoList)
                    }
                    this.submitRequest(data)
                }
                // this.checkReportForRepairs()
            },
            getFileName(urls) {
                if (urls.length) {
                    let arr = [];
                    for (let i of url) {
                        arr.push(i.name);
                    }
                    return arr.join(",");
                } else {
                    return ""
                }
            },
            submitRequest(data) {
                reportSave(data).then(res => {
                    if (res.code == 200) {
                        uni.showToast({
                            title: "操作成功"
                        })
                        uni.navigateBack()
                    }
                })
            },
            handleConfirm(e) {
                this.form.confirmFlag = e.value[0].name
                this.isPickerShow = false
@@ -275,6 +360,45 @@
                    urls: this.imgUrls,
                    current: url
                })
            },
            changePeople(e) {
                console.log(e);
                const {
                    columnIndex,
                    value,
                    values, // values为当前变化列的数组内容
                    index,
                    // 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.pPicker
                } = e
                if (columnIndex === 0) {
                    // picker为选择器this实例,变化第二列对应的选项
                    // picker.setColumnValues(1, this.columnData[index])
                    this.getPeopleList(value[0].type)
                }
            },
            handlePeopleConfirm(e) {
                console.log(e)
                let {
                    value,
                    indexs
                } = e;
                this.transferUserId = value[1].id
                this.peopleIndex = indexs;
                // this.content = `事件已移交至${value[0].distictName}${value[1].distictName}`
                let data = {
                    addressCode: this.defaultData.addressCode,
                    confirmFlag: 1,
                    content: `事件已移交至${value[0].distictName}${value[1].distictName}`,
                    peopleType: 1,
                    repairId: this.defaultData.id,
                    transferUserId: value[1].id
                }
                console.log(data);
                this.submitRequest(data)
            },
        }
@@ -388,4 +512,16 @@
        }
    }
    .upload {
        margin: 0 30rpx;
        padding: 30rpx;
        .upload-item {
            width: 140rpx;
            height: 140rpx;
            border: 1px solid #EEEEEE;
        }
    }
</style>