19 files modified
4 files added
| | |
| | | method: 'POST', |
| | | data: params |
| | | }) |
| | | } |
| | | |
| | | // 添加积分数量 |
| | | export const addPointsNumber = (params) => { |
| | | return http.request({ |
| | | url: '/blade-article/article/addNumber', |
| | | method: 'POST', |
| | | data: params |
| | | }) |
| | | } |
| | |
| | | }
|
| | |
|
| | |
|
| | | export const getDetail = (params) => {
|
| | | return http.request({
|
| | | url: '/blade-taskReportForRepairs/taskReportForRepairs/detail',
|
| | | method: 'GET',
|
| | | params: {
|
| | | ...params
|
| | | }
|
| | | })
|
| | | }
|
| | |
|
| | |
|
| | | //添加
|
| | | export const save = (data) => {
|
| | | return http.request({
|
| | |
| | | iconPath: '/static/img/tabbar-01.png', |
| | | url: '/pages/home/index' |
| | | }, |
| | | // { |
| | | // name: '圈子', |
| | | // iconPathSelected: '/static/img/tabbar-02-selected.png', |
| | | // iconPath: '/static/img/tabbar-02.png', |
| | | // url: '/pages/circle/index' |
| | | // }, |
| | | { |
| | | name: '圈子', |
| | | iconPathSelected: '/static/img/tabbar-02-selected.png', |
| | | iconPath: '/static/img/tabbar-02.png', |
| | | url: '/pages/circle/index' |
| | | }, |
| | | { |
| | | name: '我的', |
| | | iconPathSelected: '/static/img/tabbar-03-selected.png', |
| | |
| | | iconPathSelected: '/static/img/tabbar-04-selected.png', |
| | | iconPath: '/static/img/tabbar-04.png', |
| | | url: '/pages/home/index' |
| | | }, |
| | | { |
| | | name: '圈子', |
| | | iconPathSelected: '/static/img/tabbar-08-selected.png', |
| | | iconPath: '/static/img/tabbar-08.png', |
| | | url: '/pages/circle/index' |
| | | }, |
| | | |
| | | { |
| | |
| | | iconPath: '/static/img/tabbar-01.png', |
| | | url: '/pages/home/index' |
| | | }, |
| | | |
| | | // { |
| | | // name: '圈子', |
| | | // iconPathSelected: '/static/img/tabbar-02-selected.png', |
| | | // iconPath: '/static/img/tabbar-02.png', |
| | | // url: '/pages/circle/index' |
| | | // }, |
| | | { |
| | | name: '圈子', |
| | | iconPathSelected: '/static/img/tabbar-02-selected.png', |
| | | iconPath: '/static/img/tabbar-02.png', |
| | | url: '/pages/circle/index' |
| | | }, |
| | | { |
| | | name: '驾驶舱', |
| | | iconPathSelected: '/static/img/tabbar-07-selected.png', |
| | |
| | | url: '/pages/home/index' |
| | | }, |
| | | { |
| | | name: '圈子', |
| | | iconPathSelected: '/static/img/tabbar-02-selected.png', |
| | | iconPath: '/static/img/tabbar-02.png', |
| | | url: '/pages/circle/index' |
| | | }, |
| | | { |
| | | name: '驾驶舱', |
| | | iconPathSelected: '/static/img/tabbar-07-selected.png', |
| | | iconPath: '/static/img/tabbar-07.png', |
| | |
| | | version: '2.0.0', |
| | | // 开发环境接口Url |
| | | // devUrl: 'http://z4042833u6.wicp.vip', |
| | | // devUrl: 'http://192.168.2.111:9528', |
| | | devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | devUrl: 'http://192.168.2.111:9528', |
| | | // devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | // devUrl: 'https://kt39592615.goho.co', |
| | | minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/", |
| | | // minioBaseUrl: "http://192.168.0.101:9528/", |
| | |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | //反诈 |
| | | { |
| | | "root": "subPackage/contradiction", |
| | | "pages": [{ |
| | | "path": "add", |
| | | "style": { |
| | | "navigationBarTitleText": "矛调矛排 ", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }] |
| | | } |
| | | ], |
| | | "globalStyle": { |
| | |
| | | "iconPath": "static/img/tabbar-01.png", |
| | | "text": "首页" |
| | | }, |
| | | // { |
| | | // "pagePath": "pages/circle/index", |
| | | // "iconPath": "static/img/tabbar-02.png", |
| | | // "selectedIconPath": "static/img/tabbar-02-selected.png", |
| | | // "text": "圈子" |
| | | // }, |
| | | { |
| | | "pagePath": "pages/circle/index", |
| | | "iconPath": "static/img/tabbar-02.png", |
| | | "selectedIconPath": "static/img/tabbar-02-selected.png", |
| | | "text": "圈子" |
| | | }, |
| | | { |
| | | "pagePath": "pages/statistics/index", |
| | | "iconPath": "static/img/tabbar-02.png", |
| | |
| | | <template> |
| | | <view class=""> |
| | | <z-paging ref="paging" v-model="list" @query="queryList" @onRefresh="refreshList" |
| | | loading-more-no-more-text="没有更多了"> |
| | | loading-more-no-more-text="没有更多了" :auto="false"> |
| | | <view class="" slot="top"> |
| | | <u-navbar :autoBack="false"> |
| | | <view class="" slot="left" style="width:500rpx"> |
| | |
| | | <view class="topic-content f-28"> |
| | | {{item.circleText}} |
| | | </view> |
| | | |
| | | <view class="link-btn flex a-i-c" @click="linkTo(item.eventId)" v-if="item.eventId"> |
| | | <u-icon name="attach"></u-icon> |
| | | <text class="c-main ml-10 f-28">查看详情</text> |
| | | </view> |
| | | |
| | | |
| | | <u-album v-if="item.circleImages" :urls="setImgUrl(item.circleImages)" singleSize="100" |
| | | multipleSize="100"></u-album> |
| | | <view class="topic-action flex j-c-f-e"> |
| | |
| | | }, |
| | | |
| | | onLoad() { |
| | | |
| | | |
| | | let role = uni.getStorageSync('activeRole') |
| | | if (role.roleName == "居民") { |
| | | this.tabList = getTabbarList(1); |
| | | this.roleType = 0 |
| | | } else { |
| | | if (role.roleName == '网格员') { |
| | | this.tabList = getTabbarList(3); |
| | | } |
| | | |
| | | this.roleType = 1; |
| | | } |
| | | |
| | | |
| | | // this.getCircleList() |
| | | uni.$on("refreshList", () => { |
| | | // this.getCircleList() |
| | |
| | | onShow() { |
| | | let accountInfo = wx.getAccountInfoSync(); |
| | | this.envVersion = accountInfo.miniProgram.envVersion; |
| | | let role = uni.getStorageSync('activeRole') |
| | | if (role.roleName == "居民") { |
| | | this.tabList = getTabbarList(1); |
| | | this.roleType = 0 |
| | | } else { |
| | | if (role.roleName == '网格员') { |
| | | console.log(111) |
| | | this.tabList = getTabbarList(3); |
| | | } else if (role.roleName == '民警') { |
| | | this.tabList = getTabbarList(2); |
| | | } else if (role.roleName == '系统管理员') { |
| | | this.tabList = getTabbarList(4); |
| | | } |
| | | |
| | | this.roleType = 1; |
| | | } |
| | | this.$refs.paging.reload(); |
| | | }, |
| | | |
| | | // onPullDownRefresh() { |
| | |
| | | uni.navigateTo({ |
| | | url: "publish" |
| | | }) |
| | | }, |
| | | linkTo(id) { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/workbench/views/reportDetail?id=${id}&from=circle` |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | .popup-content { |
| | | width: 100%; |
| | | padding-bottom: 100rpx; |
| | | |
| | | .popup-top { |
| | | text-align: center; |
| | |
| | | text-align: center; |
| | | } |
| | | } |
| | | |
| | | .link-btn { |
| | | padding: 10rpx 0; |
| | | width: 200rpx; |
| | | } |
| | | </style> |
| | |
| | | icon: "/static/icon/nav-15.png",
|
| | | path: "/subPackage/article/list?type=1"
|
| | |
|
| | | },
|
| | | {
|
| | | text: "反诈宣传",
|
| | | icon: "/static/icon/nav-18.png",
|
| | | path: "/subPackage/article/list?type=6"
|
| | |
|
| | | }
|
| | | ]
|
| | | }
|
| | |
| | | icon: "/static/icon/nav-15.png",
|
| | | path: "/subPackage/article/list?type=1"
|
| | |
|
| | | },
|
| | | {
|
| | | text: "反诈宣传",
|
| | | icon: "/static/icon/nav-18.png",
|
| | | path: "/subPackage/article/list?type=6"
|
| | |
|
| | | }
|
| | | ]
|
| | | }
|
| | |
| | | } = uni.getStorageSync("activeRole"); |
| | | if (roleName == "网格员") { |
| | | this.tabList = getTabbarList(3); |
| | | this.tabbarIndex = 1; |
| | | // this.tabbarIndex = 1; |
| | | this.tabbarIndex = 2; |
| | | } |
| | | if (roleName == "民警") { |
| | | this.tabList = getTabbarList(2); |
| | | this.tabbarIndex = 1; |
| | | this.tabbarIndex = 2; |
| | | } |
| | | |
| | | if (roleName == "系统管理员") { |
| | | this.tabList = getTabbarList(4); |
| | | this.tabbarIndex = 1; |
| | | this.tabbarIndex = 2; |
| | | } |
| | | |
| | | this.refreshData(); |
| | |
| | | this.tabbarList = getTabbarList(1) |
| | | this.roleType = 1 |
| | | this.color = "#017BFC" |
| | | this.tabbarIndex = 1; |
| | | // this.tabbarIndex = 1; |
| | | this.tabbarIndex = 2 |
| | | } else if (role.roleName == "民警") { |
| | | this.tabbarList = getTabbarList(2) |
| | | this.roleType = 2; |
| | | this.color = "#003399" |
| | | this.tabbarIndex = 2; |
| | | this.tabbarIndex = 3; |
| | | } else if (role.roleName == "系统管理员") { |
| | | this.tabbarList = getTabbarList(4) |
| | | this.roleType = 1 |
| | | this.color = "#017BFC"; |
| | | this.tabbarIndex = 2; |
| | | this.tabbarIndex = 3; |
| | | } else if (role.roleName == "网格员") { |
| | | this.tabbarList = getTabbarList(3) |
| | | this.roleType = 1 |
| | | this.color = "#017BFC"; |
| | | this.tabbarIndex = 2; |
| | | // this.tabbarIndex = 2; |
| | | this.tabbarIndex = 3; |
| | | } |
| | | this.addressType = uni.getStorageSync("siteInfo").addressType; |
| | | }, |
| | |
| | | <text class="f-30 fw">{{item.discussContent}}</text> |
| | | <text class="f-26 ml-10" v-if="item.optionRange == 0">(单选)</text> |
| | | <text class="f-26 ml-10" v-if="item.optionRange == 1 && !item.optionNumber">(多选)</text> |
| | | <text class="f-26 ml-10" v-if="item.optionRange == 1 && item.optionNumber>0"> |
| | | <text class="f-26 ml-10" |
| | | v-if="item.optionRange == 1 && item.optionNumber>0 && !item.optionNumberMin"> |
| | | (多选{{`最多可选${item.optionNumber}项`}}) |
| | | </text> |
| | | <text class="f-26 ml-10" |
| | | v-if="item.optionRange == 1 && item.optionNumber>0 && item.optionNumberMin > 0"> |
| | | (多选 {{`最少需选${item.optionNumberMin}项`}},{{`最多可选${item.optionNumber}项`}}) |
| | | </text> |
| | | </view> |
| | | <view class="file-btn f-26 " v-if="item.attachment" |
| | |
| | | <script> |
| | | import { |
| | | getDetail, |
| | | getCommentList |
| | | getCommentList, |
| | | addPointsNumber |
| | | } from '@/api/article/article.js' |
| | | import * as communityModel from "@/api/community/community.js" |
| | | import tagCell from '@/components/noticeList/tagCell.vue' |
| | |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | console.log(option) |
| | | this.$set(this.params, "id", option.id); |
| | | if (option.type) { |
| | | // this.$set(this.params, "eventType", option.type); |
| | |
| | | // this.pdId = option.pdId; |
| | | this.$set(this.params, "type", option.type); |
| | | this.curSite = uni.getStorageSync("siteInfo") |
| | | if (option.type == 6) { |
| | | console.log(222) |
| | | this.addNumber(option.id); |
| | | } |
| | | } |
| | | this.getDetailInfo() |
| | | this.getAritcleComment(); |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | addNumber(id) { |
| | | addPointsNumber({ |
| | | houseCode: this.curSite.houseCode, |
| | | id |
| | | }).then(res => { |
| | | console.log(res) |
| | | }) |
| | | }, |
| | | |
| | | toNumber(val) { |
| | | return Number(val) |
| | |
| | | |
| | | |
| | | checkOption() { |
| | | for (let i of this.voteTopicList) { |
| | | if (!i.selected && i.mandatoryFlag == 2) { |
| | | this.$showTips('必填议题请选择选项') |
| | | return false; |
| | | let list = this.voteTopicList; |
| | | for (let i = 0, ii = list.length; i < ii; i++) { |
| | | if (list[i].optionRange == 0) { |
| | | if (!list[i].selected && list[i].mandatoryFlag == 2) { |
| | | this.$showTips('必填议题请选择选项') |
| | | return false; |
| | | } |
| | | } else { |
| | | if (list[i].mandatoryFlag == 2) { |
| | | if (list[i].selected) { |
| | | if (list[i].optionNumberMin && (list[i].optionNumberMin > list[i].selected |
| | | .length)) { //判断最少需选 |
| | | this.$showTips(`第${i+1}个议题最少需选${list[i].optionNumberMin}项`) |
| | | return false; |
| | | } |
| | | } else { |
| | | this.$showTips('必填议题请选择选项') |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | |
| | | confirmValidationCode() { |
| | | this.voteRequest() |
| | |
| | | :inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs> |
| | | </view> |
| | | <view class="list bgc-ff"> |
| | | <notice-list :data="list" /> |
| | | <notice-list :data="list" :page-type="type" /> |
| | | </view> |
| | | </z-paging> |
| | | <!-- <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line /> --> |
| | |
| | | }, |
| | | onLoad(option) { |
| | | console.log(option); |
| | | if (option.type) { |
| | | if (option.type == 1) { |
| | | // this.eventType = option.type; |
| | | // if (option.type == 0) { |
| | | // this.tabList = [{ |
| | |
| | | this.type = option.type; |
| | | this.$refs.paging.reload(); |
| | | |
| | | } else if (option.type == 6) { |
| | | uni.setNavigationBarTitle({ |
| | | title: "反诈宣传" |
| | | }) |
| | | this.type = option.type; |
| | | this.$refs.paging.reload(); |
| | | } else { |
| | | this.getCateList() |
| | | } |
| | |
| | | const data = JSON.stringify(item) |
| | | // this.$u.func.globalNavigator('/subPackage/workbench/views/reportAudit?id='+id) |
| | | // this.$u.func.globalNavigator(`/subPackage/workbench/views/reportAudit?data=${data}&from=record`) |
| | | this.$u.func.globalNavigator(`/subPackage/workbench/views/reportDetail?data=${data}&from=record`) |
| | | |
| | | // this.$u.func.globalNavigator(`/subPackage/workbench/views/reportDetail?data=${data}&from=record`) |
| | | this.$u.func.globalNavigator(`/subPackage/workbench/views/reportDetail?id=${item.id}&from=record`) |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view class="site-box bgc-ff flex"> |
| | | <view class="flex a-i-c"> |
| | | <u-icon name="map-fill" color="#AAAAAA"></u-icon> |
| | | <text class="f-28 c-aa ml-20">当前小区:</text> |
| | | </view> |
| | | |
| | | <text class="address f-28">{{ curSelectSite.name }}</text> |
| | | </view> |
| | | <view class="content bgc-ff"> |
| | | <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90" |
| | | :labelStyle="{fontSize:'28rpx'}"> |
| | | <u-form-item label="姓名" prop="realName" borderBottom ref="realName"> |
| | | <u-input v-model="info.realName" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="手机" prop="phone" borderBottom ref="phone"> |
| | | <u-input v-model="info.phone" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="事发位置" prop="address" :borderBottom="false"> |
| | | <view class="address-row flex"> |
| | | <view class="address-content f-28" v-if="info.address"> |
| | | {{info.address}} |
| | | </view> |
| | | <view class="address-content f-28 c-99" v-if="!info.address"> |
| | | 请选择地址 |
| | | </view> |
| | | <view class="location-btn c-main f-24" @click="getLocation()"> |
| | | 获取地址 |
| | | </view> |
| | | </view> |
| | | <!-- <u-input v-model="info.address" border="none" placeholderClass="f-28 c-99" |
| | | inputAlign="right" disabled disabledColor="#fff"> |
| | | <template slot="suffix"> |
| | | <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button> |
| | | </template> |
| | | </u-input> --> |
| | | </u-form-item> |
| | | </u-form> |
| | | </view> |
| | | |
| | | <view class="upload bgc-ff"> |
| | | <view class="f-28 mb-20">描述</view> |
| | | <u-textarea v-model="info.remark" placeholder="请输入内容" border="none" |
| | | placeholderClass="c-99 f-26"></u-textarea> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount" |
| | | :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic"> |
| | | <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> |
| | | |
| | | |
| | | <button class="submit-btn" @click="sumitInfo">提交</button> |
| | | <button class="list-btn" @click="navigatorPage">我上报的事件</button> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import uploadMixin from "@/mixin/uploadMixin"; |
| | | import { |
| | | save |
| | | } from "@/api/task/taskReportForRepairs"; |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | data() { |
| | | return { |
| | | info: { |
| | | realName: "", |
| | | phone: "", |
| | | remark: "", |
| | | type: -1, |
| | | address: "", |
| | | lat: "", |
| | | lng: "" |
| | | }, |
| | | rules: { |
| | | 'realName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'phone': [{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入手机号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | |
| | | { |
| | | |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'] |
| | | |
| | | } |
| | | |
| | | ], |
| | | 'address': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择地址', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | }, |
| | | desc: "", |
| | | title: "", |
| | | curSelectSite: {} |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | this.title = option.title |
| | | uni.setNavigationBarTitle({ |
| | | title: this.title |
| | | }) |
| | | this.info.type = option.type |
| | | }, |
| | | onShow() { |
| | | this.curSelectSite = uni.getStorageSync('siteInfo') |
| | | this.info.addressCode = this.curSelectSite.houseCode |
| | | console.log(this.curSelectSite); |
| | | }, |
| | | methods: { |
| | | |
| | | getLocation() { |
| | | uni.chooseLocation({ |
| | | success: (res) => { |
| | | this.$set(this.info, "address", res.address); |
| | | this.$set(this.info, "lat", res.latitude); |
| | | this.$set(this.info, "lng", res.longitude) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | sumitInfo() { |
| | | const that = this |
| | | this.$refs.form.validate().then(valid => { |
| | | if (this.form.images.length > 0) { |
| | | let urls = [] |
| | | this.form.images.forEach(e => { |
| | | urls.push(e.name) |
| | | }) |
| | | this.info.imageUrls = urls.join(",") |
| | | } |
| | | save(that.info).then(res => { |
| | | uni.showToast({ |
| | | icon: 'success', |
| | | title: '提交成功', |
| | | success() { |
| | | setTimeout(() => { |
| | | that.$u.func.globalNavigator("", "navBack") |
| | | }, 1000) |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | navigatorPage() { |
| | | let url = "/subPackage/bs/views/repairList" + "?title=" + this.title + "&type=" + this.info.type |
| | | this.$u.func.globalNavigator(url, "navTo") |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | page { |
| | | background-color: #F5F5F5; |
| | | } |
| | | |
| | | .content { |
| | | margin: 20rpx 30rpx; |
| | | padding: 0 30rpx; |
| | | } |
| | | |
| | | .site-box { |
| | | padding: 30rpx; |
| | | margin: 20rpx 30rpx; |
| | | border-radius: 4rpx; |
| | | |
| | | .c-aa { |
| | | color: #aaa; |
| | | } |
| | | |
| | | .address { |
| | | width: 60%; |
| | | margin-left: 25rpx; |
| | | } |
| | | } |
| | | |
| | | .upload-item { |
| | | width: 140rpx; |
| | | height: 140rpx; |
| | | border: 1px solid #EEEEEE; |
| | | } |
| | | |
| | | .upload { |
| | | margin: 0 30rpx; |
| | | padding: 30rpx; |
| | | |
| | | |
| | | } |
| | | |
| | | .submit-btn { |
| | | width: 690rpx; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%); |
| | | border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | font-size: 32rpx; |
| | | color: #fff; |
| | | margin-top: 50rpx; |
| | | } |
| | | |
| | | .list-btn { |
| | | width: 690rpx; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%); |
| | | border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | font-size: 32rpx; |
| | | color: #fff; |
| | | margin-top: 50rpx; |
| | | } |
| | | |
| | | .address-row { |
| | | flex: 1; |
| | | justify-content: flex-end; |
| | | align-items: center; |
| | | } |
| | | |
| | | .address-content { |
| | | width: calc(100% - 116rpx - 20rpx); |
| | | margin-right: 20rpx; |
| | | text-align: right; |
| | | } |
| | | |
| | | .location-btn { |
| | | width: 116rpx; |
| | | height: 46rpx; |
| | | line-height: 46rpx; |
| | | border-radius: 4rpx; |
| | | border: 1px solid currentColor; |
| | | padding: 0; |
| | | background-color: #fff; |
| | | text-align: center; |
| | | } |
| | | </style> |
| | |
| | | </u-form-item> |
| | | |
| | | |
| | | <u-form-item label="业主姓名" borderBottom required v-if="isScan"> |
| | | <!-- <u-form-item label="业主姓名" borderBottom required v-if="isScan"> |
| | | <u-input v-model="houseHoldInfo.name" border="none" disabled disabledColor="#fff" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="业主电话" borderBottom required v-if="isScan"> |
| | | <u-input v-model="houseHoldInfo.phoneNumber" border="none" disabled disabledColor="#fff" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <!-- <u-form-item label="地址" borderBottom required> |
| | | <u-input v-model="address" border="none" disabled disabledColor="#fff" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> --> |
| | | |
| | | |
| | | <u-form-item label="记录内容" borderBottom required prop="pubContent"> |
| | | <u-form-item label="问卷调查" borderBottom required prop="pubContent"> |
| | | <u-textarea type="textarea" v-model="info.pubContent" border="none" placeholderClass="f-28 c-99" |
| | | inputAlign="right" placeholder="请输入记录内容"> |
| | | inputAlign="right" placeholder="请输入问卷调查"> |
| | | </u-textarea> |
| | | </u-form-item> |
| | | <!-- <u-form-item label="走访时间" prop="workTime" :borderBottom="false" required @click="showSelectDate = true"> |
| | |
| | | </u-form> |
| | | </view> |
| | | <view class="upload bgc-ff"> |
| | | <view class="f-28">现场照片</view> |
| | | <view class="f-28">宣传佐证照片</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount" |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="footer flex a-i-c j-c-s-b" v-if="isScan"> |
| | | <view class="info mt-20 bgc-ff" v-if="isScan"> |
| | | <caption-row title="房屋信息" /> |
| | | <view class="info-row flex j-c-s-b a-i-c f-28"> |
| | | <text>业主姓名</text> |
| | | <text>{{houseHoldInfo.name}}</text> |
| | | </view> |
| | | <view class="info-row flex j-c-s-b a-i-c f-28"> |
| | | <text>业主手机号</text> |
| | | <text>{{houseHoldInfo.phoneNumber}}</text> |
| | | </view> |
| | | <view class="info-row flex j-c-s-b a-i-c f-28" @click="navToHouse"> |
| | | <text>查看更多</text> |
| | | <u-icon name="arrow-right"></u-icon> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- <view class="footer flex a-i-c j-c-s-b" v-if="isScan"> |
| | | <view class="footer-item footer-left c-main" @click="navToHouse"> |
| | | 查看更多 |
| | | </view> |
| | | <view class="footer-item footer-right c-ff" @click="submitInfo"> |
| | | 提交 |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | |
| | | <footer-btn v-if="!isScan" @click="submitInfo" :text="isEdit?'保存':'提交'" /> |
| | | <footer-btn @click="submitInfo" :text="isEdit?'保存':'提交'" /> |
| | | |
| | | </view> |
| | | |
| | |
| | | addCounterfraud |
| | | } from "@/api/counterfraud/counterfraud.js" |
| | | |
| | | |
| | | import captionRow from "@/components/caption/caption.vue" |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | components: { |
| | | captionRow |
| | | }, |
| | | data() { |
| | | return { |
| | | form: { |
| | |
| | | getHouseRentInfo(code).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200 && res.data.householdList.length) { |
| | | this.houseHoldInfo = res.data.houseHoldList[0] |
| | | this.houseHoldInfo = res.data.householdList[0] |
| | | } |
| | | }) |
| | | }, |
| | |
| | | this.houseCode = code; |
| | | this.info.houseCode = code; |
| | | this.info.address = res.data.addressName; |
| | | this.info.lat = res.data.x; |
| | | this.info.lng = res.data.y; |
| | | this.info.lat = res.data.y; |
| | | this.info.lng = res.data.x; |
| | | this.isScan = true; |
| | | this.getHouseInfo(code) |
| | | } |
| | |
| | | |
| | | navToHouse() { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/house/roomDetails/index?code=${this.info.houseCode}` |
| | | url: `/subPackage/house/roomDetails/index?id=${this.info.houseCode}` |
| | | }) |
| | | } |
| | | |
| | |
| | | .footer-item { |
| | | width: 48%; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | font-size: 32rpx; |
| | | text-align: center; |
| | | border-radius: 8rpx; |
| | | } |
| | | |
| | | .footer-left { |
| | |
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%); |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | padding: 0 20rpx; |
| | | margin: 20rpx 30rpx; |
| | | |
| | | .info-row { |
| | | padding: 20rpx 0; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <view class="content bgc-ff"> |
| | | <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90" |
| | | :labelStyle="{fontSize:'28rpx'}"> |
| | | |
| | | |
| | | <u-form-item label="地址" prop="address" :borderBottom="false" v-if="!isScan"> |
| | | <view class="address-row flex"> |
| | | <view class="address-content f-28" v-if="info.address"> |
| | |
| | | 获取地址 |
| | | </view> |
| | | </view> |
| | | <!-- <u-input v-model="info.address" border="none" placeholderClass="f-28 c-99" |
| | | inputAlign="right" disabled disabledColor="#fff"> |
| | | <template slot="suffix"> |
| | | <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button> |
| | | </template> |
| | | </u-input> --> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="地址" borderBottom required v-if="isScan"> |
| | |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-textarea> |
| | | </u-form-item> |
| | | |
| | | |
| | | <u-form-item label="业主姓名" borderBottom required v-if="isScan"> |
| | | <u-input v-model="houseHoldInfo.name" border="none" disabled disabledColor="#fff" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="业主电话" borderBottom required v-if="isScan"> |
| | | <u-input v-model="houseHoldInfo.phoneNumber" border="none" disabled disabledColor="#fff" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <!-- <u-form-item label="地址" borderBottom required> |
| | | <u-input v-model="address" border="none" disabled disabledColor="#fff" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> --> |
| | | |
| | | |
| | | <u-form-item label="记录内容" borderBottom required prop="recContent"> |
| | | <u-form-item label="核查信息" borderBottom required prop="recContent"> |
| | | <u-textarea type="textarea" v-model="info.recContent" border="none" placeholderClass="f-28 c-99" |
| | | inputAlign="right" placeholder="请输入记录内容"> |
| | | inputAlign="right" placeholder="请输入核查信息"> |
| | | </u-textarea> |
| | | </u-form-item> |
| | | <!-- <u-form-item label="走访时间" prop="workTime" :borderBottom="false" required @click="showSelectDate = true"> |
| | | <u-input v-model="info.workTime" disabled disabledColor="#ffffff" border="none" placeholder="请选择" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> --> |
| | | <!-- <u-form-item label="房屋" prop="houseCode" :borderBottom="false" required |
| | | @click="isShowScStatus = true"> |
| | | <u-input v-model="info.scStatus" disabled disabledColor="#fff" border="none" placeholder="请选择" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> --> |
| | | |
| | | </u-form> |
| | | </view> |
| | | <view class="upload bgc-ff"> |
| | | <view class="f-28">现场照片</view> |
| | | <view class="f-28">核查现场照片</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount" |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="footer flex a-i-c j-c-s-b" v-if="isScan"> |
| | | <view class="footer-item footer-left c-main" @click="navToHouse"> |
| | | 查看更多 |
| | | |
| | | <view class="info mt-20 bgc-ff" v-if="isScan"> |
| | | <caption-row title="业主信息" /> |
| | | <view class="info-row flex j-c-s-b a-i-c f-28"> |
| | | <text>姓名</text> |
| | | <text>{{houseHoldInfo.name}}</text> |
| | | </view> |
| | | <view class="footer-item footer-right c-ff" @click="submitInfo"> |
| | | 提交 |
| | | <view class="info-row flex j-c-s-b a-i-c f-28"> |
| | | <text>手机号</text> |
| | | <text>{{houseHoldInfo.phoneNumber}}</text> |
| | | </view> |
| | | <view class="info-row flex j-c-s-b a-i-c f-28" @click="navToHouse"> |
| | | <text>查看更多</text> |
| | | <u-icon name="arrow-right"></u-icon> |
| | | </view> |
| | | </view> |
| | | |
| | | <footer-btn v-if="!isScan" @click="submitInfo" :text="isEdit?'保存':'提交'" /> |
| | | |
| | | <footer-btn @click="submitInfo" :text="isEdit?'保存':'提交'" /> |
| | | |
| | | </view> |
| | | |
| | |
| | | getHouseRentInfo(code).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200 && res.data.householdList.length) { |
| | | this.houseHoldInfo = res.data.houseHoldList[0] |
| | | this.houseHoldInfo = res.data.householdList[0] |
| | | } |
| | | }) |
| | | }, |
| | |
| | | this.houseCode = code; |
| | | this.info.houseCode = code; |
| | | this.info.address = res.data.addressName; |
| | | this.info.lat = res.data.x; |
| | | this.info.lng = res.data.y; |
| | | this.info.lat = res.data.y; |
| | | this.info.lng = res.data.x; |
| | | this.isScan = true; |
| | | this.getHouseInfo(code) |
| | | } |
| | |
| | | |
| | | navToHouse() { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/house/roomDetails/index?code=${this.info.houseCode}` |
| | | url: `/subPackage/house/roomDetails/index?id=${this.info.houseCode}` |
| | | }) |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .top { |
| | | margin: 20rpx; |
| | | margin: 20rpx 30rpx; |
| | | padding: 20rpx; |
| | | } |
| | | |
| | |
| | | .footer-item { |
| | | width: 48%; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | font-size: 32rpx; |
| | | text-align: center; |
| | | border-radius: 8rpx; |
| | | } |
| | | |
| | | .footer-left { |
| | |
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%); |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | padding: 0 20rpx; |
| | | margin: 20rpx 30rpx; |
| | | |
| | | .info-row { |
| | | padding: 20rpx 0; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> |
| | | |
| | | <u-form-item v-if="volunteerOrg == '其他'" required class="form-item" labelWidth="120" label="其他志愿者组织" |
| | | prop="volunteerOrg"> |
| | | <u-form-item v-if="volunteerOrg == '其他'" required class="form-item" labelWidth="120" |
| | | label="其他志愿者组织" prop="volunteerOrg"> |
| | | <u--input border="none" v-model="form.volunteerOrg" placeholder="请输入其他志愿者组织"> |
| | | </u--input> |
| | | </u-form-item> |
| | |
| | | |
| | | methods: { |
| | | |
| | | getHouseDetail(code) { |
| | | getHouseDetail(code, type) { |
| | | getQrCodeDetail({ |
| | | roleName: uni.getStorageSync("activeRole").roleName, |
| | | addressCode: code || uni.getStorageSync("siteInfo").houseCode, |
| | | }).then(res => { |
| | | console.log(res); |
| | | this.houseCode = code; |
| | | this.homeRegion = res.data.townStreetName; |
| | | this.form.currentAddress = res.data.addressName; |
| | | console.log("===>", this.getHouseRegion(res.data.townStreetName)); |
| | | this.form.homeAdcode = this.getHouseRegion(res.data.townStreetName).code; |
| | | this.homeIndex = this.getHouseRegion(res.data.townStreetName).index; |
| | | if (res.data.userHouseLabelVOList.length) { |
| | | this.houseTag = res.data.userHouseLabelVOList[0].labelName |
| | | if (type) { |
| | | if (res.data.isJurl = 1) { |
| | | this.houseCode = code; |
| | | this.homeRegion = res.data.townStreetName; |
| | | this.form.currentAddress = res.data.addressName; |
| | | console.log("===>", this.getHouseRegion(res.data.townStreetName)); |
| | | this.form.homeAdcode = this.getHouseRegion(res.data.townStreetName).code; |
| | | this.homeIndex = this.getHouseRegion(res.data.townStreetName).index; |
| | | if (res.data.userHouseLabelVOList.length) { |
| | | this.houseTag = res.data.userHouseLabelVOList[0].labelName |
| | | } |
| | | } else { |
| | | uni.showModal({ |
| | | title: "提示!", |
| | | content: "该区域不是您管辖范围", |
| | | showCancel: false |
| | | }) |
| | | } |
| | | |
| | | } else { |
| | | this.houseCode = code; |
| | | this.homeRegion = res.data.townStreetName; |
| | | this.form.currentAddress = res.data.addressName; |
| | | console.log("===>", this.getHouseRegion(res.data.townStreetName)); |
| | | this.form.homeAdcode = this.getHouseRegion(res.data.townStreetName).code; |
| | | this.homeIndex = this.getHouseRegion(res.data.townStreetName).index; |
| | | if (res.data.userHouseLabelVOList.length) { |
| | | this.houseTag = res.data.userHouseLabelVOList[0].labelName |
| | | } |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | |
| | |
| | | } |
| | | } |
| | | // 重新赋值 |
| | | if(this.form.volunteerOrgTemp){ |
| | | if (this.form.volunteerOrgTemp) { |
| | | this.form.volunteerOrg = this.form.volunteerOrgTemp |
| | | } |
| | | |
| | | |
| | | const res = await saveOrUpdateHousehold(this.form) |
| | | if (res.code !== 200) { |
| | | uni.showToast({ |
| | |
| | | uni.scanCode({ |
| | | success: (res) => { |
| | | let obj = this.getUrlParams(res.result); |
| | | this.getHouseDetail(obj.stdId); |
| | | this.getHouseDetail(obj.stdId, 1); |
| | | } |
| | | }) |
| | | }, |
| | |
| | | <view class="content bgc-ff"> |
| | | <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90" |
| | | :labelStyle="{fontSize:'28rpx'}"> |
| | | |
| | | |
| | | <u-form-item label="房东姓名" prop="landlordName" borderBottom required> |
| | | <u-input v-model="info.landlordName" border="none" disabled disabledColor="#fff" |
| | | placeholder="请输入房东姓名" placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="房东电话" prop="landlordPhone" borderBottom required> |
| | | <u-input v-model="info.landlordPhone" border="none" disabled disabledColor="#fff" |
| | | placeholder="请输入房东电话" placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="姓名" prop="name" borderBottom required> |
| | | <u-input v-model="info.name" border="none" placeholder="请输入姓名" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="电话" prop="phone" borderBottom required> |
| | | <u-input v-model="info.phone" type="number" border="none" placeholder="请输入电话" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="身份证号码" prop="idCard" borderBottom required> |
| | | <u-input v-model="info.idCard" type="idcard" border="none" placeholder="请输入身份证号码" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="房东姓名" prop="landlordName" borderBottom required> |
| | | <u-input v-model="info.landlordName" border="none" disabled disabledColor="#fff" |
| | | placeholder="请输入房东姓名" placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="房东电话" prop="landlordPhone" borderBottom required> |
| | | <u-input v-model="info.landlordPhone" border="none" disabled disabledColor="#fff" |
| | | placeholder="请输入房东电话" placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="地址" prop="address" borderBottom required> |
| | | <u-textarea v-model="info.address" border="none" placeholder="请输入地址" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-textarea> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="申请事由" prop="remak" :borderBottom="false"> |
| | | <u-textarea v-model="info.remak" border="none" placeholder="请输入申请事由" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-textarea> |
| | |
| | | } |
| | | }, |
| | | |
| | | onLoad(option) { |
| | | async onLoad(option) { |
| | | if (option.id) { |
| | | this.isEdit = true; |
| | | this.getDetail(option.id) |
| | | } else { |
| | | this.$set(this.info, "houseCode", uni.getStorageSync("siteInfo").houseCode) |
| | | this.getHouseholdList(); |
| | | let { |
| | | houseCode, |
| | | name |
| | | } = uni.getStorageSync("siteInfo"); |
| | | this.$set(this.info, "houseCode", houseCode) |
| | | this.$nextTick(() => { |
| | | this.$set(this.info, "address", name) |
| | | }) |
| | | await this.getHouseholdList(); |
| | | this.getHouseholdInfo() |
| | | } |
| | | }, |
| | |
| | | }).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200) { |
| | | this.$set(this.info, "landlordName", res.data.records[0].name) |
| | | this.$set(this.info, "landlordPhone", res.data.records[0].phoneNumber) |
| | | this.$nextTick(() => { |
| | | this.$set(this.info, "landlordName", res.data.records[0].name) |
| | | this.$set(this.info, "landlordPhone", res.data.records[0].phoneNumber) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | doorplateType,
|
| | | addressLevel
|
| | | } = res.data;
|
| | | if ((doorplateType == "中门牌" && addressLevel != 4) || doorplateType == "小门牌") {
|
| | | if (res.data.addressType) {
|
| | | this.addressType = res.data.addressType
|
| | | if (isJurl == 1) {
|
| | | if ((doorplateType == "中门牌" && addressLevel != 4) || doorplateType == "小门牌") {
|
| | | if (res.data.addressType) {
|
| | | this.addressType = res.data.addressType
|
| | | }
|
| | | this.houseCode = code;
|
| | | this.form.houseCode = code;
|
| | | this.isView = true;
|
| | | this.getBuildingDetail()
|
| | | }
|
| | | this.houseCode = code;
|
| | | this.form.houseCode = code;
|
| | | this.isView = true;
|
| | | this.getBuildingDetail()
|
| | | } else {
|
| | | uni.showModal({
|
| | | title: "提示!",
|
| | | content: "该区域不是您管辖范围",
|
| | | showCancel: false
|
| | | })
|
| | | }
|
| | |
|
| | | })
|
| | | },
|
| | |
|
| | |
| | | :show="isShowPeoplePicker" ref="pPicker" :columns="peopleList" keyName="name"
|
| | | @cancel="isShowPeoplePicker = false" @confirm="handlePeopleConfirm" @change="changePeople"></u-picker>
|
| | |
|
| | | <u-popup :show="show" mode="bottom" @close="close">
|
| | | <view style="margin-top: 20rpx 0rpx;">
|
| | | <u-radio-group v-model="radiovalue1" placement="column" @change="groupChange">
|
| | | <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in radiolist1" :key="index"
|
| | | :label="item.name" :name="item.id" @change="radioChange">
|
| | | </u-radio>
|
| | | <u-popup :show="show" mode="bottom" @close="close" :round="10" :closeable="true">
|
| | | <view class="popup-title">
|
| | | 共享
|
| | | </view>
|
| | | <view style="margin-top: 20rpx 0rpx;" class="popup-content">
|
| | | <u-radio-group v-model="radiovalue1" @change="groupChange" iconPlacement="right" placement="column">
|
| | | <view v-for="(item, index) in radiolist1" style="padding:10rpx 0;">
|
| | | <u-radio :customStyle="{marginBottom: '8px'}" :key="index" :label="item.name" :name="item.id"
|
| | | @change="radioChange">
|
| | | </u-radio>
|
| | | </view>
|
| | |
|
| | | </u-radio-group>
|
| | |
|
| | | <view class=" flex a-i-c j-c-s-b">
|
| | | <button class="footer-btn" @click="pushCircle">确认</button>
|
| | | <view class="popup-btn flex a-i-c j-c-s-b">
|
| | | <button class="popup-btn-item" @click="pushCircle">确认</button>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | |
| | | import captionRow from '@/components/caption/caption.vue'
|
| | | import {
|
| | | checkReportForRepairsData,
|
| | | reportSave
|
| | | reportSave,
|
| | | getDetail
|
| | | } from '@/api/task/taskReportForRepairs.js'
|
| | | import {
|
| | | getPeopleType
|
| | |
| | | onLoad(option) {
|
| | | // const { id } = option
|
| | | // this.currentId = id
|
| | |
|
| | | if (option.from) {
|
| | | this.from = option.from;
|
| | | }
|
| | |
|
| | | let data = JSON.parse(option.data)
|
| | | this.defaultData = data;
|
| | | this.confirmFlag = data.confirmFlag;
|
| | |
| | | this.setDefaultValue()
|
| | | },
|
| | | methods: {
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | pushCircle() {
|
| | | handlePublish({
|
| | | houseCode: this.defaultData.addressCode,
|
| | |
| | | circleType: this.radiovalue1,
|
| | | communityCode: uni.getStorageSync("curHouseCode"),
|
| | | circleText: this.defaultData.remark,
|
| | | circleImages: this.defaultData.imgUrls
|
| | | circleImages: this.defaultData.imageUrls
|
| | | }).then(res => {
|
| | | console.log(res);
|
| | | this.$showTips("操作成功", "success")
|
| | | this.close()
|
| | | // this.$set(this.peopleList, 1, res.data);
|
| | | })
|
| | |
| | | .step-list {
|
| | | padding: 15rpx 0;
|
| | | }
|
| | |
|
| | | .popup-title {
|
| | | padding: 20rpx 0;
|
| | | text-align: center;
|
| | |
|
| | | }
|
| | |
|
| | | .popup-content {
|
| | | padding: 20rpx;
|
| | | }
|
| | |
|
| | | .popup-btn {
|
| | | padding: 20rpx;
|
| | |
|
| | |
|
| | | .popup-btn-item {
|
| | | width: 100%;
|
| | | height: 78rpx;
|
| | | line-height: 78rpx;
|
| | | border-radius: 36rpx;
|
| | | color: #fff;
|
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
|
| | | font-size: 28rpx;
|
| | | }
|
| | |
|
| | | .popup-btn-item:after {
|
| | | border: none;
|
| | | }
|
| | | }
|
| | | </style> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="audit-box"> |
| | | <!-- <view class="title-box"> |
| | | <block v-if="from != 'circle'"> |
| | | <view class="audit-box"> |
| | | <!-- <view class="title-box"> |
| | | <view class="line"></view> |
| | | <view class="text">审核信息</view> |
| | | </view> --> |
| | | <caption-row title="审核信息" /> |
| | | <view class="step"> |
| | | <view class="step-list " v-for="i in defaultData.taskRepairStepList" |
| | | v-if="defaultData.taskRepairStepList.length"> |
| | | <caption-row title="审核信息" /> |
| | | <view class="step"> |
| | | <view class="step-list " v-for="i in defaultData.taskRepairStepList" |
| | | v-if="defaultData.taskRepairStepList.length"> |
| | | |
| | | <view class="flex j-c-s-b a-i-c mb-10"> |
| | | <text class="f-30 fw">{{i.peopleType ==1?"转办":"已处理"}}</text> |
| | | <text class="f-26 c-99">{{i.createTime}} </text> |
| | | <view class="flex j-c-s-b a-i-c mb-10"> |
| | | <text class="f-30 fw">{{i.peopleType ==1?"转办":"已处理"}}</text> |
| | | <text class="f-26 c-99">{{i.createTime}} </text> |
| | | </view> |
| | | <view class="f-28">{{i.content}}</view> |
| | | </view> |
| | | <view class="f-28">{{i.content}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="audit-form" v-if="defaultData.confirmFlag == 1"> |
| | | <u-form labelWidth="70" :model="form" class="form" ref="form"> |
| | | <u-form-item label="事件状态" @click="showPicker" class="form-item"> |
| | | <!-- <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态" |
| | | <view class="audit-form" v-if="defaultData.confirmFlag == 1"> |
| | | <u-form labelWidth="70" :model="form" class="form" ref="form"> |
| | | <u-form-item label="事件状态" @click="showPicker" class="form-item"> |
| | | <!-- <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态" |
| | | border="none" :placeholder="defaultPlaceholder" inputAlign="right" color="#333"></u--input> |
| | | <u-icon slot="right" name="arrow-right" v-show="from == 'list'"></u-icon> --> |
| | | |
| | | <view class="stauts"> |
| | | 待处理 |
| | | <view class="stauts"> |
| | | 待处理 |
| | | </view> |
| | | |
| | | |
| | | </u-form-item> |
| | | <u-form-item label="处理情况" class="form-item" |
| | | v-if="from == 'list' || (from == 'record' && form.confirmNotion)"> |
| | | <u--input v-model="form.confirmNotion" :border="from == 'list'?'surround':'none'" |
| | | inputAlign="right" color="#333" :disabled="from == 'record'?true:false"></u--input> |
| | | </u-form-item> |
| | | </u-form> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="upload bgc-ff" v-if="form.imageList.length"> |
| | | <view class="f-28">图片</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.imageList" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | :maxCount="form.imageList.length" :capture="uploadConfig.capture" :deletable="false" |
| | | @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-form-item> |
| | | <u-form-item label="处理情况" class="form-item" |
| | | v-if="from == 'list' || (from == 'record' && form.confirmNotion)"> |
| | | <u--input v-model="form.confirmNotion" :border="from == 'list'?'surround':'none'" |
| | | inputAlign="right" color="#333" :disabled="from == 'record'?true:false"></u--input> |
| | | </u-form-item> |
| | | </u-form> |
| | | </u-upload> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="upload bgc-ff" v-if="form.imageList.length"> |
| | | <view class="f-28">图片</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.imageList" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="form.imageList.length" |
| | | :capture="uploadConfig.capture" :deletable="false" @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 class="upload bgc-ff" v-if="form.videoList.length"> |
| | | <view class="f-28">视频</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.videoList" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptVideo" :multiple="uploadConfig.multiple" |
| | | :maxCount="form.videoList.length" :capture="uploadConfig.capture" :deletable="false" |
| | | @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> |
| | | |
| | | <view class="upload bgc-ff" v-if="form.videoList.length"> |
| | | <view class="f-28">视频</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.videoList" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptVideo" :multiple="uploadConfig.multiple" |
| | | :maxCount="form.videoList.length" :capture="uploadConfig.capture" :deletable="false" |
| | | @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> |
| | | </block> |
| | | |
| | | |
| | | <!-- <view class="bottom" v-if="from == 'list'"> |
| | |
| | | import captionRow from '@/components/caption/caption.vue' |
| | | import { |
| | | checkReportForRepairsData, |
| | | reportSave |
| | | reportSave, |
| | | getDetail |
| | | } from '@/api/task/taskReportForRepairs.js' |
| | | import { |
| | | getPeopleType |
| | |
| | | if (option.from) { |
| | | this.from = option.from; |
| | | } |
| | | let data = JSON.parse(option.data) |
| | | this.defaultData = data; |
| | | this.confirmFlag = data.confirmFlag; |
| | | |
| | | if (data.confirmFlag == 3 && data.taskRepairStepList.length) { |
| | | let { |
| | | imageList, |
| | | videoList |
| | | } = data.taskRepairStepList[data.taskRepairStepList.length - 1]; |
| | | this.form.imageList = this.$setImageUrl(imageList, 2) |
| | | this.form.videoList = this.$setImageUrl(videoList, 2) |
| | | if (option.id) { |
| | | this.getDetailInfo(option.id); |
| | | } |
| | | |
| | | // let data = JSON.parse(option.data) |
| | | // this.defaultData = data; |
| | | // this.confirmFlag = data.confirmFlag; |
| | | |
| | | this.getPeopleList(0) |
| | | // if (data.confirmFlag == 3 && data.taskRepairStepList.length) { |
| | | // let { |
| | | // imageList, |
| | | // videoList |
| | | // } = data.taskRepairStepList[data.taskRepairStepList.length - 1]; |
| | | // this.form.imageList = this.$setImageUrl(imageList, 2) |
| | | // this.form.videoList = this.$setImageUrl(videoList, 2) |
| | | // } |
| | | |
| | | |
| | | |
| | | }, |
| | | onShow() { |
| | | this.setDefaultValue() |
| | | |
| | | // this.setDefaultValue() |
| | | }, |
| | | methods: { |
| | | |
| | | getDetailInfo(id) { |
| | | getDetail({ |
| | | id |
| | | }).then(res => { |
| | | if (res.code == 200) { |
| | | let data = res.data; |
| | | this.defaultData = data; |
| | | this.confirmFlag = data.confirmFlag; |
| | | |
| | | if (this.from != "circle") { |
| | | if (data.confirmFlag == 3 && data.taskRepairStepList && data.taskRepairStepList |
| | | .length) { |
| | | let { |
| | | imageList, |
| | | videoList |
| | | } = data.taskRepairStepList[data.taskRepairStepList.length - 1]; |
| | | this.form.imageList = this.$setImageUrl(imageList, 2) |
| | | this.form.videoList = this.$setImageUrl(videoList, 2) |
| | | } |
| | | } |
| | | |
| | | this.getPeopleList(0) |
| | | this.setDefaultValue() |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | getPeopleList(type) { |
| | | getPeopleType({ |
| | |
| | | console.log(this.defaultData); |
| | | this.basicData.forEach(item => { |
| | | item.value = this.defaultData[item.name] || '未完善' |
| | | if (item.name === 'type') { |
| | | if (item.name === 'type' && this.from != "circle") { |
| | | item.value = this.findObjValue(item.value, this.typeList, 'type').name || '未完善' |
| | | } |
| | | }) |