| api/task/taskReportForRepairs.js | ●●●●● patch | view | raw | blame | history | |
| api/user.js | ●●●●● patch | view | raw | blame | history | |
| common/setting.js | ●●●●● patch | view | raw | blame | history | |
| subPackage/house/member/index.vue | ●●●●● patch | view | raw | blame | history | |
| subPackage/house/roomDetails/index.vue | ●●●●● patch | view | raw | blame | history | |
| subPackage/workbench/views/reportAudit.vue | ●●●●● 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>