28 files modified
1 files added
| | |
| | | } |
| | | return arr.join(",") |
| | | } |
| | | |
| | | //转换标签颜色 |
| | | export const setLabelColor = (color) => { |
| | | let obj = { |
| | | 'red': '#EA1F1F', |
| | | 'yellow': '#FFB42B', |
| | | 'green': '#30D17C' |
| | | } |
| | | for (let i in obj) { |
| | | if (color == i) { |
| | | return obj[i] |
| | | } |
| | | } |
| | | } |
| | |
| | | // 版本号 |
| | | version: '2.0.0', |
| | | // 开发环境接口Url |
| | | devUrl: 'http://z4042833u6.wicp.vip', |
| | | // devUrl: 'http://z4042833u6.wicp.vip', |
| | | // devUrl: 'http://192.168.0.109:9528', |
| | | // devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | 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/", |
| | |
| | | setImageUrl, |
| | | showTips, |
| | | getIndex, |
| | | formattingUrls |
| | | formattingUrls, |
| | | setLabelColor |
| | | } from '@/common/common.js' |
| | | Vue.config.productionTip = false; |
| | | |
| | |
| | | Vue.prototype.$setImageUrl = setImageUrl; |
| | | Vue.prototype.$getIndex = getIndex; |
| | | Vue.prototype.$formattingUrls = formattingUrls; |
| | | Vue.prototype.$setLabelColor = setLabelColor; |
| | | |
| | | // 公共函数 |
| | | import globalFunc from '@/utils/func.js' |
| | | Vue.use(globalFunc, app); |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "views/editCscj", |
| | | "style": { |
| | | "navigationBarTitleText": "编辑场所", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | }, |
| | | { |
| | | "path": "views/csjl", |
| | | "style": { |
| | | "onReachBottomDistance": 10, |
| | |
| | | if (signPath) { |
| | | data.signaturePath = signPath |
| | | } |
| | | uni.showLoading({ |
| | | title: "加载中..." |
| | | }); |
| | | communityModel.addApply(data).then(res => { |
| | | uni.hideLoading() |
| | | if (res.code == 200) { |
| | | uni.showToast({ |
| | | title: "操作成功" |
| | |
| | | |
| | | voteRequest(signPath) { |
| | | let data = this.getParams(signPath) |
| | | uni.showLoading({ |
| | | title: "加载中..." |
| | | }); |
| | | communityModel.addVoteOperate(data).then(res => { |
| | | uni.hideLoading() |
| | | if (res.code == 200) { |
| | | uni.showToast({ |
| | | title: "操作成功" |
| | |
| | | <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> |
| | | <text class="f-28 c-aa ml-20">{{curSelectSite.addressType == 2?"当前地址:":"当前小区:"}}</text> |
| | | </view> |
| | | |
| | | <text class="address f-28">{{ curSelectSite.name }}</text> |
| | | <text class="address f-28">{{address || "暂无完善"}}</text> |
| | | </view> |
| | | |
| | | <view class="nav flex flex-wrap j-c-s-b"> |
| | |
| | | import { |
| | | getStatistics |
| | | } from '@/api/task/taskReportForRepairs' |
| | | import { |
| | | getPlaceDetail |
| | | } from '@/api/place/place.js' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | // path: "addRepair", |
| | | // background: "#F4B862" |
| | | // }, |
| | | |
| | | ] |
| | | ], |
| | | address: "" |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | this.getStatistics() |
| | | this.curSelectSite = uni.getStorageSync('siteInfo') |
| | | console.log(this.curSelectSite); |
| | | if (uni.getStorageSync('siteInfo').addressType == 2) { |
| | | this.getPlace(); |
| | | } else { |
| | | this.address = uni.getStorageSync('siteInfo').name; |
| | | } |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | getPlace() { |
| | | getPlaceDetail({ |
| | | houseCode: uni.getStorageSync("siteInfo").houseCode |
| | | }).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200) { |
| | | this.address = res.data.location; |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | navTo(item) { |
| | | if (item.path) { |
| | | let url = item.path + "?title=" + item.title + "&type=" + item.type |
| | |
| | | margin: 0; |
| | | border:none; |
| | | } |
| | | |
| | | .item-btn::after{ |
| | | border:none; |
| | | } |
| | |
| | | inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs> |
| | | <view class="search"> |
| | | <u-search placeholder="请输入需要查询信息的姓名" v-model="keyWord" :clearabled="true" :showAction="true" |
| | | :animation="true" @search="searchConfirm" @clear="clearConfirm" @custom="searchConfirm"></u-search> |
| | | :animation="true" @search="searchConfirm" @clear="clearConfirm" |
| | | @custom="searchConfirm"></u-search> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="list-item bgc-ff mb-20" v-for="item in reportList" :key="item.id" @click="pushPage(item)"> |
| | | <view class="item-title flex a-i-c j-c-s-b mb-20"> |
| | | <text class="f-32 fw">{{ findObjValue(item.type, typeList, 'type').name }}</text> |
| | | <u-tag class="u_tag" size="mini" plain plainFill :text="findObjValue(item.confirmFlag, tabList, 'status').name" :type="findObjValue(item.confirmFlag, tabList, 'status').type"></u-tag> |
| | | <u-tag class="u_tag" size="mini" plain plainFill |
| | | :text="findObjValue(item.confirmFlag, tabList, 'status').name" |
| | | :type="findObjValue(item.confirmFlag, tabList, 'status').type"></u-tag> |
| | | </view> |
| | | <view class="item-row flex a-i-c j-c-s-b"> |
| | | <text class="f-28">姓名</text> |
| | |
| | | current: 1, |
| | | size: 10 |
| | | }, |
| | | tabList: [ |
| | | { |
| | | tabList: [{ |
| | | name: "全部", |
| | | status: '', |
| | | type: 'warning' |
| | |
| | | type: 'error' |
| | | }, |
| | | ], |
| | | typeList: [ |
| | | { |
| | | typeList: [{ |
| | | name: "公共维修", |
| | | type: 1 |
| | | }, |
| | |
| | | this.loadingStatus = 'loadingmore' |
| | | const params = { |
| | | realName: this.keyWord, |
| | | confirmFlag: this.tabStatus |
| | | confirmFlag: this.tabStatus, |
| | | houseCode: uni.getStorageSync("siteInfo").houseCode |
| | | } |
| | | const { roleName } = this.currentRole |
| | | const { |
| | | roleName |
| | | } = this.currentRole |
| | | const res = await getPage({ |
| | | ...params, |
| | | roleName, |
| | |
| | | |
| | | .item-row { |
| | | padding: 10rpx 0; |
| | | |
| | | .address { |
| | | width: 75%; |
| | | text-align: right; |
| | |
| | | v-if="scItem.householdLabelList.length">
|
| | | <block v-for="i in scItem.householdLabelList">
|
| | | <view class="label-tag mr-10" v-if="i.labelName"
|
| | | :style="{backgroundColor:i.color}">
|
| | | :style="{backgroundColor:$setLabelColor(i.color)}">
|
| | | {{i.labelName}}
|
| | | </view>
|
| | | </block>
|
| | |
| | | <newBoxTitle :title="item.name"></newBoxTitle>
|
| | | <view class="label-btn-box">
|
| | | <view v-for="(item, k) in item.children" :key="k">
|
| | | <u-button size="mini" type="primary" :color="item.color"
|
| | | :style="{color: item.color && '#fff'}" :text="item.name"
|
| | | <u-button size="mini" type="primary" :color="$setLabelColor(item.color)"
|
| | | :style="{color: $setLabelColor(item.color) && '#fff'}" :text="item.name"
|
| | | @click="showLabelPopup(item,index,k)"></u-button>
|
| | | </view>
|
| | | </view>
|
| | |
| | |
|
| | | <u-radio-group class="mt-40" v-model="labelValue" placement="row">
|
| | | <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in labelList" :key="index"
|
| | | :label="item.name" :labelColor="item.color" :style="{color: item.color && '#fff'}"
|
| | | :name="item.name" :activeColor="item.color" @change="radioChange(item)">
|
| | | :label="item.name" :labelColor="item.showColor" :style="{color: item.showColor && '#fff'}"
|
| | | :name="item.name" :activeColor="item.showColor" @change="radioChange(item)">
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | |
|
| | |
| | | name: '撤销',
|
| | | disabled: false,
|
| | | // color: '#EBEDF0'
|
| | | showColor: '#999',
|
| | | color: '#999'
|
| | | },
|
| | | {
|
| | | name: '绿',
|
| | | disabled: false,
|
| | | // color: '#30D17C'
|
| | | showColor: '#30D17C',
|
| | | color: 'green'
|
| | | },
|
| | | {
|
| | | name: '黄',
|
| | | disabled: false,
|
| | | color: '#FFB42B',
|
| | | showColor: '#FFB42B',
|
| | | color: 'yellow'
|
| | | }, {
|
| | | name: '红',
|
| | | disabled: false,
|
| | | color: '#EA1F1F',
|
| | | showColor: '#EA1F1F',
|
| | | color: 'red'
|
| | | }
|
| | | ],
|
| | |
| | | message: '请填写姓名', |
| | | trigger: ['change', 'blur'], |
| | | }, |
| | | 'idCard': [{ |
| | | type: 'string', |
| | | required: false, |
| | | message: '请输入身份证号码', |
| | | trigger: ['change', 'blur'] |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | const idCardRegex = |
| | | /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ |
| | | return idCardRegex.test(value) |
| | | }, |
| | | // 'idCard': [{ |
| | | // type: 'string', |
| | | // required: false, |
| | | // message: '请输入身份证号码', |
| | | // trigger: ['change', 'blur'] |
| | | // }, |
| | | // { |
| | | // validator: (rule, value, callback) => { |
| | | // const idCardRegex = |
| | | // /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ |
| | | // return idCardRegex.test(value) |
| | | // }, |
| | | |
| | | message: '身份证号码有误', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | // message: '身份证号码有误', |
| | | // trigger: ['change', 'blur'] |
| | | // } |
| | | // ], |
| | | 'phoneNumber': [{ |
| | | required: true, |
| | | message: '请输入手机号码', |
| | |
| | | if (this.form.cardType) { |
| | | if (this.form.cardType == 111) { |
| | | if (!this.form.idCard) { |
| | | uni.showToast({ |
| | | title: "请输入身份证号", |
| | | icon: "none" |
| | | }) |
| | | return; |
| | | // uni.showToast({ |
| | | // title: "请输入身份证号", |
| | | // icon: "none" |
| | | // }) |
| | | // return; |
| | | } else { |
| | | |
| | | if (this.form.cardNo) { |
| | | this.form.cardNo = ""; |
| | | } |
| | | |
| | | const idCardRegex = |
| | | /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ |
| | | |
| | | if (!idCardRegex.test(this.form.idCard)) { |
| | | this.$showTips("身份证号有误") |
| | | return |
| | | } |
| | | } |
| | | if (this.form.idCard && !this.form.birthday) { |
| | | this.form.birthday = this.getBirthday(this.form.idCard) |
| | |
| | |
|
| | | <u-radio-group v-model="" class="mt-40" v-model="labelValue" placement="row">
|
| | | <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in labelList" :key="index"
|
| | | :label="item.name" :labelColor="item.color" :name="item.name" :activeColor="item.color"
|
| | | :label="item.name" :labelColor="item.showColor" :name="item.name" :activeColor="item.showColor"
|
| | | @change="radioChange(item)">
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | |
| | | labelList: [{
|
| | | name: '撤销',
|
| | | disabled: false,
|
| | | color: '#EBEDF0'
|
| | | // color: '#EBEDF0'
|
| | | showColor: '#999',
|
| | | color: '#999'
|
| | | },
|
| | | {
|
| | | name: '绿',
|
| | | disabled: false,
|
| | | color: '#30D17C'
|
| | | // color: '#30D17C'
|
| | | showColor: '#30D17C',
|
| | | color: 'green'
|
| | | },
|
| | | {
|
| | | name: '黄',
|
| | | disabled: false,
|
| | | color: '#FFB42B'
|
| | | // color: '#FFB42B'
|
| | | showColor: '#FFB42B',
|
| | | color: 'yellow'
|
| | | }, {
|
| | | name: '红',
|
| | | disabled: false,
|
| | | color: '#EA1F1F'
|
| | | // color: '#EA1F1F'
|
| | | showColor: '#EA1F1F',
|
| | | color: 'red'
|
| | | }
|
| | | ],
|
| | | currentLabelInfo: {},
|
| | |
| | | <scroll-view class="label-wrap" :scroll-x="true" v-if="item.householdLabelList.length">
|
| | | <block v-for="i in item.householdLabelList">
|
| | | <view class="label-tag mr-10 c-ff" v-if="i.labelName"
|
| | | :style="{backgroundColor:i.color}" @click="showTag(i.labelName)">
|
| | | :style="{backgroundColor:$setLabelColor(i.color)}"
|
| | | @click="showTag(i.labelName)">
|
| | | {{i.labelName}}
|
| | | <!-- <u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
|
| | | size="mini">
|
| | |
| | | reportType: 1 |
| | | }, |
| | | rules: { |
| | | 'checkUserName': { |
| | | 'info.checkUserName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTelephone': [{ |
| | | 'info.checkTelephone': [{ |
| | | type: 'number', |
| | | required: true, |
| | | message: '请输入手机', |
| | |
| | | } |
| | | |
| | | ], |
| | | 'applyName': { |
| | | 'info.applyName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入事由', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'applyTime': { |
| | | 'info.applyTime': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入选择时间', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'location': { |
| | | 'info.location': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入位置', |
| | |
| | | reportType: "" |
| | | }, |
| | | rules: { |
| | | 'districtName': { |
| | | 'info.districtName': { |
| | | required: true, |
| | | message: '请输入场所名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'transactionObjectTel': [{ |
| | | 'info.transactionObjectTel': [{ |
| | | type: 'number', |
| | | required: true, |
| | | message: '请输入对象电话', |
| | |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | 'transactionMoney': { |
| | | 'info.transactionMoney': { |
| | | required: true, |
| | | message: '请输入交易金额', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'localtion': { |
| | | 'info.localtion': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入交易位置', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'transactionProcess': { |
| | | 'info.transactionProcess': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请输入交易过程', |
| | |
| | | // message: '请输入社区名称', |
| | | // trigger: ['blur', 'change'] |
| | | // }, |
| | | 'hotelName': { |
| | | 'info.hotelName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入酒店名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTime': { |
| | | 'info.checkTime': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择自查时间', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkUserName': { |
| | | 'info.checkUserName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入自查人姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTelephone': [{ |
| | | 'info.checkTelephone': [{ |
| | | type: 'number', |
| | | required: true, |
| | | message: '请输入自查人手机', |
| | |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | 'location': { |
| | | 'info.location': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入自查位置', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fireNums': { |
| | | 'info.fireNums': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请输入自查数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fireStatus': { |
| | | 'info.fireStatus': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请选择灭火器状态', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'scFlag': { |
| | | 'info.scFlag': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择安全通道有无', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'scStatus': { |
| | | 'info.scStatus': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择安全通道状态', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'pfFlag': { |
| | | 'info.pfFlag': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择技防设施有无', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'pfName': { |
| | | 'info.pfName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入技防设施名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'realName': { |
| | | 'info.realName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择是否完全实名制登记', |
| | |
| | | this.$set(this.info, "checkUserName", userInfo.real_name); |
| | | this.$set(this.info, "checkTelephone", userInfo.phone); |
| | | this.$set(this.info, "checkUserId", userInfo.user_id); |
| | | this.$set(this.info, "hotelName", siteInfo.name); |
| | | } |
| | | |
| | | }, |
| | |
| | | // message: '请输入社区名称', |
| | | // trigger: ['blur', 'change'] |
| | | // }, |
| | | 'campusName': { |
| | | 'info.campusName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入学校名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTime': { |
| | | 'info.checkTime': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择自查时间', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkUserName': { |
| | | 'info.checkUserName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入自查人姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTelephone': [{ |
| | | 'info.checkTelephone': [{ |
| | | type: 'number', |
| | | required: true, |
| | | message: '请输入自查人手机', |
| | |
| | | } |
| | | |
| | | ], |
| | | 'location': { |
| | | 'info.location': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入自查位置', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fourOne': { |
| | | 'info.fourOne': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请选择四个一工程', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fireFacsType': { |
| | | 'info.fireFacsType': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请选择消防器材种类', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fireFacsNums': { |
| | | 'info.fireFacsNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择消防器材数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'scStatus': { |
| | | 'info.scStatus': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择安全通道状态', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'antiCollision': { |
| | | 'info.antiCollision': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择是否配备防撞装置', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fullSoNums': { |
| | | 'info.fullSoNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入全职保安数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'partSoNums': { |
| | | 'info.partSoNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入兼职保安数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'monitorNums': { |
| | | 'info.monitorNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入监控总数', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'monitorOver': { |
| | | 'info.monitorOver': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择监控是否全覆盖', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'highAltitudeMonitor': { |
| | | 'info.highAltitudeMonitor': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入高空抛物监控', |
| | |
| | | async onLoad(option) { |
| | | await this.getTypeList(); |
| | | await this.getLabelList(); |
| | | setTimeout(() => { |
| | | this.getDetail(option.id); |
| | | }, 200) |
| | | |
| | | }, |
| | | methods: { |
| | | getDetail(id) { |
| | |
| | | }, |
| | | |
| | | onLoad(option) { |
| | | if (option.code) { |
| | | this.houseCode = option.code; |
| | | } |
| | | this.getList() |
| | | }, |
| | | onReachBottom() { |
| | |
| | | <view class="bgc-ff"> |
| | | <view class="tab"> |
| | | <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}" |
| | | :activeStyle="{color:'#017BFC'}" :scrollable="false"> |
| | | |
| | | :activeStyle="{color:'#017BFC'}"> |
| | | </u-tabs> |
| | | <view class="search flex j-c-s-b a-i-c"> |
| | | <view class="tab-filter flex j-c-c a-i-c" @click="showDateModal"> |
| | |
| | | }) |
| | | return; |
| | | } |
| | | this.info.confirmFlag = val.type; |
| | | this.info.status = val.type; |
| | | this.info.confirmNotion = val.remark; |
| | | this.info.confirmFlag = 2; |
| | | this.submitRequest(this.info); |
| | | } else { |
| | | this.checkImages() |
| | |
| | | |
| | | navToEdit() { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/label/bail?id=${this.id}` |
| | | url: `/subPackage/label/bail?id=${this.taskId}` |
| | | }) |
| | | } |
| | | |
| | |
| | |
|
| | | this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
|
| | | this.form.building = arr.join("")
|
| | | this.firstId = data.placePoiLabelVOList[0].poiCode;
|
| | | this.categoryValue = data.placePoiLabelVOList[data.placePoiLabelVOList.length - 1].labelName;
|
| | | uni.$u.sleep(500).then(() => {
|
| | | data.placePoiLabelVOList.forEach(item => {
|
| | | let labelList = data.placePoiLabelVOList;
|
| | | let tempLabelList = [];
|
| | | for (let i of labelList) { //过滤一级数据
|
| | | if (i.type != 1) {
|
| | | tempLabelList.push(i)
|
| | | }
|
| | | }
|
| | | this.firstId = tempLabelList[0].poiCode;
|
| | | this.categoryValue = tempLabelList[1].labelName;
|
| | | this.form.label = tempLabelList[1].poiCode
|
| | | setTimeout(() => {
|
| | | let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
|
| | | item.poiCode)
|
| | | tempLabelList[0].poiCode)
|
| | | let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
|
| | | item.poiCode)
|
| | | tempLabelList[1].poiCode)
|
| | | this.categoryIndex = [firstIndex, childIndex]
|
| | | })
|
| | | })
|
| | | }, 500)
|
| | |
|
| | |
|
| | | Object.keys(this.comprehensiveData).forEach(key => {
|
| | | this.comprehensiveData[key].forEach(item => {
|
| | |
| | | <view class="info-box">
|
| | | <view class="records-card" v-for="(records, index) in recordsData" :key="records.id"
|
| | | @click="pushPage(records)">
|
| | | <view class="title flex j-c-s-b">
|
| | | <text>{{ records.placeName }}</text>
|
| | | <text>{{ records.createTime }}</text>
|
| | | <view class="item-title flex j-c-s-b a-i-c">
|
| | | <text class="title">{{ records.placeName }}</text>
|
| | | <u-tag v-if="records.status == 1" text="待完善" type="warning" plain plainFill></u-tag>
|
| | | <u-tag v-if="records.status == 2" text="已完善" type="success" plain plainFill></u-tag>
|
| | | </view>
|
| | | <view class="info">
|
| | | <view class="charge-man">
|
| | |
| | | <view class="phone">
|
| | | <text>手机号:</text>
|
| | | <text>{{ records.phone || '未完善' }}</text>
|
| | | </view>
|
| | | <view class="phone">
|
| | | <text>时间:</text>
|
| | | <text>{{records.createTime}}</text>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | this.searchConfirm()
|
| | | },
|
| | | pushPage({
|
| | | id
|
| | | id,
|
| | | status,
|
| | | houseCode
|
| | | }) {
|
| | | if (!id) {
|
| | | uni.showToast({
|
| | |
| | | })
|
| | | return
|
| | | }
|
| | | let url = "/subPackage/workbench/views/cscj?id=" + id + "&type=1"
|
| | | this.$u.func.globalNavigator(url)
|
| | | if (status == 1) {
|
| | | this.$u.func.globalNavigator(
|
| | | `/subPackage/workbench/views/editCscj?id=${id}&houseCode=${houseCode}`)
|
| | | } else {
|
| | | this.$u.func.globalNavigator(`/subPackage/workbench/views/cscj?id=${id}&type=1`)
|
| | | }
|
| | | },
|
| | |
|
| | | selectItem(item, index) {
|
| | |
| | | .search-ipt {
|
| | | border: 0;
|
| | | border-radius: 9999rpx;
|
| | | background-color: #f6f6f6;
|
| | | background-color: #F5F5F5;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | // background-color: #f6f6f6;
|
| | | .records-card {
|
| | | background: #fff;
|
| | | padding: 30rpx;
|
| | | padding: 0 30rpx 30rpx;
|
| | | border-radius: 10rpx;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .title {
|
| | | .item-title {
|
| | | padding: 20rpx 0;
|
| | | font-size: 35rpx;
|
| | | border-bottom: 1rpx solid #f6f6f6;
|
| | |
|
| | | text {
|
| | | &:nth-child(1) {
|
| | | font-weight: 700;
|
| | | width: 50%;
|
| | | border-bottom: 1rpx solid #F5F5F5;
|
| | | }
|
| | |
|
| | | &:nth-child(2) {
|
| | | font-size: 27rpx;
|
| | | color: #999999;
|
| | | }
|
| | | }
|
| | | .title {
|
| | | font-size: 32rpx;
|
| | | font-weight: bold;
|
| | | max-width: 80%;
|
| | | white-space: nowrap;
|
| | | overflow: hidden;
|
| | | text-overflow: ellipsis;
|
| | | }
|
| | |
|
| | | .charge-man,
|
| New file |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="wrap"> |
| | | <u-form labelWidth="70" :model="form" :rules="rules" ref="form"> |
| | | <view class="item"> |
| | | <!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:" |
| | | :required="isRequired" :disabled="isDisabled" prop="buildingCode"> |
| | | <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择"> |
| | | </u--input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> --> |
| | | <view class="box-title"> |
| | | <box-title title="基础信息"></box-title> |
| | | </view> |
| | | <u-form-item class="form-item" labelWidth="100" label="场所名称:" :required="isRequiredPlace" |
| | | :disabled="isDisabled" prop="placeName"> |
| | | <u--input border="none" v-model="form.placeName" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="isRequired" |
| | | :disabled="isDisabled" prop="label"> |
| | | <u-input border="none" v-model="categoryValue" 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="备注:" prop="remark"> |
| | | <u--input border="none" v-model="form.remark" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="经纬度:" prop="location" labelWidth="100"> |
| | | <view class="address-row flex j-c-s-b a-i-c"> |
| | | <view class="address-content f-28" v-if="form.jwd"> |
| | | {{form.jwd}} |
| | | </view> |
| | | <view class="address-content f-28" v-if="!form.jwd" style="color: #c0c4cc;"> |
| | | 请选择地址 |
| | | </view> |
| | | <view class="location-btn c-main f-24" @click="getLocation()"> |
| | | 获取地址 |
| | | </view> |
| | | </view> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="地址:" labelWidth="100" v-if="form.location"> |
| | | <view class="address-row"> |
| | | {{form.location}} |
| | | </view> |
| | | </u-form-item> |
| | | |
| | | </view> |
| | | |
| | | <view class="item"> |
| | | <view class="box-title"> |
| | | <box-title title="负责人信息"></box-title> |
| | | </view> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="场所负责人:" prop="principal"> |
| | | <u--input border="none" v-model="form.principal" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="手机号:" prop="principalPhone"> |
| | | <u--input border="none" type="number" v-model="form.principalPhone" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | </view> |
| | | |
| | | <view class="item pic"> |
| | | <view class="box-title"> |
| | | <box-title title="场所照片"></box-title> |
| | | </view> |
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" |
| | | uploadIcon="/static/icon/upload.png" @afterRead="afterReadImg" @delete="deletePic"> |
| | | </u-upload> |
| | | </view> |
| | | </u-form> |
| | | </view> |
| | | <footer-btn @click="submit" text="保存" /> |
| | | <u-picker :show="showPicker" :defaultIndex="defaultIndex" ref="uPicker" keyName="name" :loading="pickerLoading" |
| | | :columns="pickColumns" @change="changeHandler" @confirm="confirmPicker" |
| | | @cancel="showPicker = false"></u-picker> |
| | | |
| | | |
| | | <u-picker :show="isShowCatePicker" :defaultIndex="categoryIndex" ref="catePicker" keyName="categoryName" |
| | | :columns="categoryList" @confirm="confirmCategory" @change="changeCategory" |
| | | @cancel="isShowCatePicker = false"></u-picker> |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import uploadMixin from "@/mixin/uploadMixin"; |
| | | import lineItem from "@/subPackage/workbench/components/lineItem.vue" |
| | | import { |
| | | getLabelCate |
| | | } from "@/api/label/categoryLabel.js"; |
| | | import { |
| | | getDoorplateAddressDetail, |
| | | getDoorplateAddressList |
| | | } from "@/api/doorplateAddress/doorplateAddress"; |
| | | import { |
| | | getPlaceDetail |
| | | } from '@/api/place/place.js' |
| | | import { |
| | | add |
| | | } from "@/api/place/place"; |
| | | import { |
| | | format |
| | | } from "echarts"; |
| | | import boxTitle from '../components/boxTitle/index.vue' |
| | | import { |
| | | minioBaseUrl |
| | | } from "../../../common/setting"; |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | components: { |
| | | lineItem, |
| | | boxTitle |
| | | }, |
| | | data() { |
| | | return { |
| | | isRequired: false, |
| | | isRequiredPlace: true, |
| | | isDisabled: true, |
| | | showPicker: false, |
| | | pickerLoading: false, |
| | | pickColumns: [], |
| | | defaultIndex: [0, 0, 0, 0, 0], |
| | | |
| | | selectValue: [], |
| | | |
| | | form: { |
| | | // buildingCode: "", |
| | | images: [], |
| | | label: "", |
| | | remark: "", |
| | | imageUrls: "", |
| | | placeName: "", |
| | | principal: '', |
| | | principalPhone: '', |
| | | lat: '', |
| | | lng: '', |
| | | location: '' |
| | | }, |
| | | rules: { |
| | | // 'buildingCode': { |
| | | // type: 'string', |
| | | // required: true, |
| | | // message: '请选择楼栋', |
| | | // trigger: ['blur', 'change'] |
| | | // }, |
| | | 'form.placeName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入场所名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'form.label': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择标签', |
| | | trigger: ['blur', 'change'], |
| | | }, |
| | | 'form.username': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入场所负责人', |
| | | trigger: ['blur', 'change'], |
| | | }, |
| | | 'form.principalPhone': [{ |
| | | required: false, |
| | | message: '请输入手机号', |
| | | trigger: ['blur', 'change'], |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'] |
| | | |
| | | } |
| | | |
| | | ], |
| | | }, |
| | | |
| | | labelList: [{ |
| | | text: '全部标签', |
| | | children: [], |
| | | dot: false |
| | | }, ], |
| | | |
| | | comprehensiveData: { |
| | | basic: [{ |
| | | label: "社区名称", |
| | | name: 'communityName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "网格名称", |
| | | name: 'gridName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "网格员", |
| | | name: 'realName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | name: 'gridPhone', |
| | | value: "暂无数据" |
| | | } |
| | | ], |
| | | scene: [ |
| | | // { |
| | | // label: "场所照片", |
| | | // name: 'imageUrls', |
| | | // value: "", |
| | | // useSlot: "pic", |
| | | // }, |
| | | // { |
| | | // label: "场所负责人", |
| | | // name: 'username', |
| | | // value: "未完善", |
| | | // }, |
| | | { |
| | | label: "采集人", |
| | | name: 'createUserName', |
| | | value: "未完善" |
| | | }, |
| | | { |
| | | label: "采集时间", |
| | | name: 'createTime', |
| | | value: "未完善" |
| | | }, |
| | | // { |
| | | // label: "历史事件", |
| | | // value: "未完善", |
| | | // } |
| | | ], |
| | | }, |
| | | publicData: { |
| | | basic: [{ |
| | | label: "公安局", |
| | | name: 'branchName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "派出所", |
| | | name: 'localPoliceStationName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "辖区民警", |
| | | name: 'policeman', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | name: 'policemanPhone', |
| | | value: "暂无数据" |
| | | } |
| | | ], |
| | | scene: [ |
| | | |
| | | // { |
| | | // label: "消防照片", |
| | | // useSlot: "pic", |
| | | // }, |
| | | // { |
| | | // label: "采集人", |
| | | // value: "未完善" |
| | | // }, |
| | | // { |
| | | // label: "采集时间", |
| | | // value: "未完善" |
| | | // }, |
| | | // { |
| | | // label: "消防负责人", |
| | | // value: "未完善", |
| | | // }, |
| | | // { |
| | | // label: "采集人", |
| | | // value: "未完善" |
| | | // }, |
| | | // { |
| | | // label: "采集时间", |
| | | // value: "未完善", |
| | | // }, |
| | | // { |
| | | // label: "历史事件", |
| | | // value: "未完善", |
| | | // } |
| | | ], |
| | | }, |
| | | |
| | | activeIds: [], |
| | | showLabelList: [], |
| | | houseCode: "", |
| | | currentId: "", |
| | | addressType: 2, |
| | | isShowCatePicker: false, |
| | | categoryList: [ |
| | | [], |
| | | [] |
| | | ], |
| | | categoryIndex: [], |
| | | firstId: "", |
| | | secondId: "", |
| | | categoryValue: "", |
| | | houseCode: "", |
| | | from: "" |
| | | } |
| | | }, |
| | | created() { |
| | | this.buildColumn() |
| | | }, |
| | | options: { |
| | | styleIsolation: 'shared', // 解除样式隔离 |
| | | }, |
| | | onLoad(option) { |
| | | const { |
| | | type |
| | | } = option |
| | | if (option.addressType) { |
| | | this.addressType = option.addressType |
| | | } |
| | | if (option.id) { |
| | | this.currentId = option.id; |
| | | } |
| | | if (option.houseCode) { |
| | | this.houseCode = option.houseCode |
| | | this.form.houseCode = option.houseCode |
| | | } |
| | | if (option.id || option.houseCode) { |
| | | this.getBuildingDetail() |
| | | } |
| | | this.getCategory(); |
| | | }, |
| | | |
| | | watch: { |
| | | |
| | | firstId: { |
| | | handler(newVal, oldVal) { |
| | | if (newVal) { |
| | | this.getCategory(3, this.firstId); |
| | | } |
| | | }, |
| | | immediate: true |
| | | } |
| | | |
| | | // secondId:{ |
| | | // handler(newVal,oldVal){ |
| | | // this.getCategory(3,this.secondId); |
| | | // }, |
| | | // immediate:true |
| | | // } |
| | | |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | // getBuildingDetail(params = {}) { |
| | | // getDoorplateAddressDetail(Object.assign(params, { |
| | | // stdId: this.stdId |
| | | // })).then(res => { |
| | | // let data = res.data |
| | | // this.form.buildingCode = data.buildingCode |
| | | |
| | | // let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName, |
| | | // data.buildingName |
| | | // ] |
| | | // let arr = buildingNameArr.filter(e => { |
| | | // return e != null || e != '' |
| | | // }) |
| | | |
| | | // // 赋值 |
| | | // // this.form.placeName = data['placeName'] |
| | | // Object.keys(this.form).forEach(key => { |
| | | // if (!data[key]) { |
| | | // this.form[key] = data.place[key] |
| | | // } else { |
| | | // this.form[key] = data[key] |
| | | // } |
| | | // }) |
| | | |
| | | // this.form.building = arr.join("") |
| | | |
| | | // Object.keys(this.comprehensiveData).forEach(key => { |
| | | // this.comprehensiveData[key].forEach(item => { |
| | | // if (!data[item.name]) { |
| | | // item.value = data.place[item.name] || '未完善' |
| | | // } else { |
| | | // item.value = data[item.name] || '未完善' |
| | | // } |
| | | // }) |
| | | // this.publicData[key].forEach(item => { |
| | | // if (!data[item.name]) { |
| | | // item.value = data.place[item.name] || '未完善' |
| | | // } else { |
| | | // item.value = data[item.name] || '未完善' |
| | | // } |
| | | // }) |
| | | // }) |
| | | // }) |
| | | // }, |
| | | |
| | | navTo(type) { |
| | | if (type == 1) { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/workbench/views/report?code=${this.houseCode}` |
| | | }) |
| | | } else { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/workbench/views/audit?code=${this.houseCode}` |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | //获取分类 |
| | | getCategory(level = 2, id) { |
| | | let params = { |
| | | level |
| | | } |
| | | if (level == 3) { |
| | | params.parentNo = id |
| | | } |
| | | getLabelCate(params).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200) { |
| | | let index = level - 2; |
| | | this.$set(this.categoryList, index, res.data); |
| | | if (level == 2) { |
| | | this.firstId = res.data[0].categoryNo |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | //选择分类 |
| | | confirmCategory(e) { |
| | | console.log("confirm=>", e) |
| | | let { |
| | | indexs, |
| | | value |
| | | } = e; |
| | | this.categoryIndex = indexs; |
| | | this.categoryValue = value[value.length - 1].categoryName; |
| | | this.form.label = value[value.length - 1].categoryNo; |
| | | this.isShowCatePicker = false; |
| | | }, |
| | | |
| | | //切换分类 |
| | | changeCategory(e) { |
| | | const { |
| | | columnIndex, |
| | | value, |
| | | values, // values为当前变化列的数组内容 |
| | | index, |
| | | // 微信小程序无法将picker实例传出来,只能通过ref操作 |
| | | picker = this.$refs.catePicker |
| | | } = e |
| | | |
| | | console.log("change=>", e) |
| | | |
| | | // 当第一列值发生变化时,变化第二列(后一列)对应的选项 |
| | | if (columnIndex === 0) { |
| | | // picker为选择器this实例,变化第二列对应的选项 |
| | | // picker.setColumnValues(1, this.categoryList[index]) |
| | | this.firstId = e.value[columnIndex].categoryNo; |
| | | // this.secondId = this.categoryList[1][0].categoryNo; |
| | | // this.getCategory(2,this.firstId); |
| | | } |
| | | // else if ( columnIndex === 1){ |
| | | // picker.setColumnValues(2, this.categoryList[index]) |
| | | // this.secondId = e.value[columnIndex].categoryNo; |
| | | // this.getCategory(3,this.secondId) |
| | | // } |
| | | }, |
| | | |
| | | getBuildingDetail(params = {}) { |
| | | let idorCodeParams = {} |
| | | if (this.houseCode) { |
| | | idorCodeParams = { |
| | | houseCode: this.houseCode, |
| | | // addressType:this.addressType |
| | | } |
| | | } |
| | | if (this.addressType) { |
| | | idorCodeParams.addressType = this.addressType |
| | | } |
| | | if (this.currentId) { |
| | | idorCodeParams = { |
| | | id: this.currentId |
| | | } |
| | | } |
| | | getPlaceDetail({ |
| | | ...params, |
| | | ...idorCodeParams |
| | | }).then(({ |
| | | code, |
| | | data |
| | | }) => { |
| | | if (code !== 200) { |
| | | uni.showToast({ |
| | | title: "数据加载失败", |
| | | icon: 'error' |
| | | }) |
| | | return |
| | | } |
| | | this.houseCode = data.houseCode; |
| | | const dpaEntity = data?.doorplateAddressEntity || {} |
| | | const gridEntity = data?.grid || {} |
| | | // this.form.buildingCode = dpaEntity?.buildingCode || '' |
| | | let buildingNameArr = [ |
| | | dpaEntity?.townStreetName, |
| | | dpaEntity?.neiName, |
| | | dpaEntity?.streetRuName, |
| | | dpaEntity?.aoiName, |
| | | dpaEntity?.buildingName |
| | | ] |
| | | let arr = buildingNameArr.filter(e => { |
| | | return e != null || e != '' |
| | | }) |
| | | this.form.placeName = data['placeName'] || '' |
| | | Object.keys(this.form).forEach(key => { |
| | | if (!data[key]) { |
| | | // this.form[key] = dpaEntity[key] || '未完善' |
| | | this.form[key] = dpaEntity[key] |
| | | } else { |
| | | // this.form[key] = data[key] || '未完善' |
| | | this.form[key] = data[key] |
| | | } |
| | | if (key === "images") { |
| | | // this.form[key] = data.imageUrls |
| | | if (data.imageUrls) { |
| | | this.form.images = this.$setImageUrl(data.imageUrls, 2); |
| | | this.uploadConfig.maxCount = this.form.images.length; |
| | | } else { |
| | | this.form.images = [] |
| | | } |
| | | } |
| | | }) |
| | | this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}` |
| | | this.form.building = arr.join("") |
| | | let labelList = data.placePoiLabelVOList; |
| | | let tempLabelList = []; |
| | | for (let i of labelList) { //过滤一级数据 |
| | | if (i.type != 1) { |
| | | tempLabelList.push(i) |
| | | } |
| | | } |
| | | this.firstId = tempLabelList[0].poiCode; |
| | | this.categoryValue = tempLabelList[1].labelName; |
| | | this.form.label = tempLabelList[1].poiCode |
| | | setTimeout(() => { |
| | | let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo == |
| | | tempLabelList[0].poiCode) |
| | | let childIndex = this.categoryList[1].findIndex(i => i.categoryNo == |
| | | tempLabelList[1].poiCode) |
| | | this.categoryIndex = [firstIndex, childIndex] |
| | | }, 500) |
| | | |
| | | Object.keys(this.comprehensiveData).forEach(key => { |
| | | this.comprehensiveData[key].forEach(item => { |
| | | if (!data[item.name]) { |
| | | item.value = dpaEntity[item.name] || '未完善' |
| | | item.value = gridEntity[item.name] || '未完善' |
| | | } else { |
| | | item.value = data[item.name] || '未完善' |
| | | if (item.name == "imageUrls") { |
| | | item.value = this.$setImageUrl(data[item.name]) |
| | | // item.value = minioBaseUrl + data[item.name] || '未完善' |
| | | } |
| | | } |
| | | }) |
| | | this.publicData[key].forEach(item => { |
| | | if (!data[item.name]) { |
| | | item.value = dpaEntity[item.name] || '未完善' |
| | | } else { |
| | | item.value = data[item.name] || '未完善' |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | |
| | | //表单提交 |
| | | submit() { |
| | | const that = this |
| | | this.$refs.form.validate().then(valid => { |
| | | if (valid) { |
| | | if (this.form?.images?.length > 0) { |
| | | let urls = [] |
| | | this.form.images.forEach(e => { |
| | | urls.push(e.name) |
| | | }) |
| | | this.form.imageUrls = urls.join(",") |
| | | } |
| | | |
| | | this.form.roleName = uni.getStorageSync("activeRole").roleName; |
| | | add(this.form).then(res => { |
| | | uni.showToast({ |
| | | icon: 'success', |
| | | title: '保存成功' |
| | | }) |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 300) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | async buildColumn() { |
| | | //设置街道 |
| | | const townStreet = await this.getDoorplateAddressList(null, "townStreet") |
| | | this.setColumn(townStreet, 0) |
| | | //设置社区 |
| | | const nei = await this.getDoorplateAddressList(townStreet[0]?.code, "nei") |
| | | this.setColumn(nei, 1) |
| | | //设置路 |
| | | const streetRu = await this.getDoorplateAddressList(nei[0]?.code, "streetRu") |
| | | this.setColumn(streetRu, 2) |
| | | //设置地区 |
| | | const district = await this.getDoorplateAddressList(streetRu[0]?.code, "district") |
| | | this.setColumn(district, 3) |
| | | //设置楼栋 |
| | | const building = await this.getDoorplateAddressList(district[0]?.code, "building") |
| | | this.setColumn(building, 4) |
| | | }, |
| | | |
| | | setColumn(data, index) { |
| | | this.$set(this.pickColumns, index, data) |
| | | }, |
| | | |
| | | getLocation() { |
| | | uni.chooseLocation({ |
| | | success: (res) => { |
| | | console.log("location==>", res); |
| | | this.form.lat = res.latitude; |
| | | this.form.lng = res.longitude; |
| | | this.form.location = res.address; |
| | | this.form.jwd = |
| | | `${Number(res.longitude).toFixed(6)},${Number(res.latitude).toFixed(6)}` |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | async getDoorplateAddressList(code, type) { |
| | | const res = await getDoorplateAddressList(code, type) |
| | | return res.data |
| | | }, |
| | | |
| | | confirmPicker(e) { |
| | | |
| | | if (e.value[4]) { |
| | | this.selectValue = e.value |
| | | |
| | | let arr = this.selectValue.map(e => e.name) |
| | | this.form.building = arr.join("") |
| | | |
| | | this.form.buildingCode = e.value[4].code |
| | | } |
| | | this.showPicker = false |
| | | }, |
| | | |
| | | async changeHandler(e) { |
| | | const { |
| | | columnIndex, |
| | | index, |
| | | // 微信小程序无法将picker实例传出来,只能通过ref操作 |
| | | picker = this.$refs.uPicker |
| | | } = e |
| | | let item = e.values[columnIndex][index] |
| | | //街道 |
| | | if (columnIndex === 0) { |
| | | //获取社区列表 |
| | | const nei = await this.getDoorplateAddressList(item.code, "nei") |
| | | picker.setColumnValues(1, nei) |
| | | |
| | | const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu") |
| | | picker.setColumnValues(2, streetRu) |
| | | |
| | | const district = await this.getDoorplateAddressList(streetRu[0].code, "district") |
| | | picker.setColumnValues(3, district) |
| | | |
| | | const building = await this.getDoorplateAddressList(district[0].code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | if (columnIndex === 1) { |
| | | const streetRu = await this.getDoorplateAddressList(item.code, "streetRu") |
| | | picker.setColumnValues(2, streetRu) |
| | | |
| | | const district = await this.getDoorplateAddressList(streetRu[0].code, "district") |
| | | picker.setColumnValues(3, district) |
| | | |
| | | const building = await this.getDoorplateAddressList(district[0].code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | if (columnIndex === 2) { |
| | | |
| | | const district = await this.getDoorplateAddressList(item.code, "district") |
| | | picker.setColumnValues(3, district) |
| | | |
| | | const building = await this.getDoorplateAddressList(district[0].code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | if (columnIndex === 3) { |
| | | const building = await this.getDoorplateAddressList(item.code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | }, |
| | | |
| | | //弹出层打开 |
| | | popup() { |
| | | // this.$refs.uniPopup.open() |
| | | this.isShowCatePicker = true; |
| | | |
| | | }, |
| | | |
| | | imgPreview(value) { |
| | | uni.previewImage({ |
| | | urls: minioBaseUrl + [value], |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .container { |
| | | position: relative; |
| | | width: calc(100% - 60rpx); |
| | | // height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #f5f5f5; |
| | | padding: 0 30rpx 20rpx 30rpx; |
| | | |
| | | .wrap { |
| | | width: 100%; |
| | | margin-bottom: 120rpx; |
| | | } |
| | | |
| | | .box-title { |
| | | padding: 10px 0; |
| | | |
| | | .title-more { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 100%; |
| | | |
| | | .item { |
| | | width: 50rpx; |
| | | height: 40rpx; |
| | | color: #ffffff; |
| | | padding: 6rpx; |
| | | font-size: 2rpx; |
| | | text-align: center; |
| | | line-height: 20px; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | .item { |
| | | margin-top: 20rpx; |
| | | background-color: #ffffff; |
| | | border-radius: 8rpx; |
| | | padding: 0 30rpx; |
| | | |
| | | .form-item { |
| | | background-color: #ffffff; |
| | | padding: 2rpx 10px; |
| | | border-bottom: 0.1px solid #eff1f3; |
| | | } |
| | | |
| | | .label { |
| | | padding: 10rpx 30rpx; |
| | | display: flex; |
| | | background-color: #ffffff; |
| | | flex-wrap: wrap; |
| | | |
| | | .activeLabel { |
| | | // width: 80rpx; |
| | | margin-left: 10rpx; |
| | | margin-top: 10rpx |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | .pic { |
| | | background-color: #ffffff; |
| | | padding-bottom: 20rpx; |
| | | |
| | | /deep/ .u-upload__button { |
| | | border: 1rpx solid #EEEEEE; |
| | | background-color: #fff; |
| | | } |
| | | } |
| | | |
| | | .image { |
| | | padding: 20rpx; |
| | | } |
| | | |
| | | .bottom { |
| | | padding: 20rpx; |
| | | background-color: #ffffff; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .btn { |
| | | width: calc(100% - 40rpx); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /deep/ .u-form-item { |
| | | background-color: #ffffff; |
| | | padding: 2rpx 10px; |
| | | border-bottom: 1px solid #eff1f3; |
| | | } |
| | | |
| | | .red { |
| | | background-color: red; |
| | | border-radius: 10rpx 0rpx 0rpx 10rpx; |
| | | } |
| | | |
| | | .orange { |
| | | background-color: orange; |
| | | } |
| | | |
| | | .green { |
| | | background-color: green; |
| | | border-radius: 0rpx 10rpx 10rpx 0rpx; |
| | | } |
| | | |
| | | |
| | | .address-row { |
| | | flex: 1; |
| | | } |
| | | |
| | | .address-content { |
| | | width: calc(100% - 116rpx - 15rpx); |
| | | margin-right: 15rpx; |
| | | } |
| | | |
| | | .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> |
| | |
| | | </view>
|
| | | </view>
|
| | |
|
| | | <view class="btn-group">
|
| | |
|
| | | <footer-btn @click="submit"></footer-btn>
|
| | |
|
| | | <!-- <view class="btn-group">
|
| | | <view>
|
| | | <u-button type="primary" @click="submit">提交</u-button>
|
| | | </view>
|
| | | <view class="mt-20">
|
| | | <u-button @click="pushPage">我上报的事件</u-button>
|
| | | </view>
|
| | | </view>
|
| | | </view> -->
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | }, |
| | | onLoad(option) { |
| | | this.taskId = option.id; |
| | | |
| | | let roleName = uni.getStorageSync("activeRole").roleName |
| | | if (roleName == "居民") { |
| | | this.roleType = 2; |
| | |
| | | }, |
| | | |
| | | onShow() { |
| | | this.getDetailInfo(this.taskId); |
| | | this.getDetailInfo(); |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | } |
| | | }, |
| | | |
| | | getDetailInfo(id) { |
| | | getDetailInfo() { |
| | | getHotelReportingDetail({ |
| | | taskId: id |
| | | taskId: this.taskId |
| | | }).then(res => { |
| | | console.log(res); |
| | | let data = res.data; |
| | | this.id = data.id; |
| | | this.basicData.forEach(item => { |
| | | item.value = data[item.name] |
| | | item.value = data[item.name] || "未完善" |
| | | }) |
| | | this.status = data.confirmFlag; |
| | | this.remark = data.confirmNotion; |
| | |
| | | id: this.id, |
| | | taskId: this.taskId, |
| | | status: val.type, |
| | | remark: val.remark |
| | | confirmNotion: val.remark |
| | | } |
| | | |
| | | setHotelReporting(data).then(res => { |
| | |
| | | |
| | | navToEdit() { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/label/hotel?id=${this.id}` |
| | | url: `/subPackage/label/hotel?id=${this.taskId}` |
| | | }) |
| | | } |
| | | |
| | |
| | | }, |
| | | onLoad(option) { |
| | | this.taskId = option.id; |
| | | this.getDetailInfo(option.id); |
| | | |
| | | let roleName = uni.getStorageSync("activeRole").roleName |
| | | if (roleName == "居民") { |
| | | this.roleType = 2; |
| | | |
| | | } else { |
| | | this.roleType = 1 |
| | | } |
| | | |
| | | }, |
| | | |
| | | onShow() { |
| | | this.getDetailInfo(); |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | |
| | |
| | | } |
| | | }, |
| | | |
| | | getDetailInfo(id) { |
| | | getDetailInfo() { |
| | | getLabelReportingDetail({ |
| | | taskId: id |
| | | taskId: this.taskId |
| | | }).then(res => { |
| | | console.log(res); |
| | | let data = res.data; |
| | |
| | | this.remark = data.confirmNotion; |
| | | this.getIndex(data.confirmFlag) |
| | | this.basicData.forEach(item => { |
| | | item.value = data[item.name] |
| | | item.value = data[item.name] || "未完善" |
| | | }) |
| | | // this.imageUrls = this.setImages(data.imageUrls); |
| | | // this.goodsImageUrls = this.setImages(data.goodsImageUrls); |
| | |
| | | // status: this.selectStatus, |
| | | status: val.type, |
| | | // remark: this.remark |
| | | remark: val.remark |
| | | confirmNotion: val.remark |
| | | } |
| | | // if (this.selectStatus == 3 && !this.remark) { |
| | | // uni.showToast({ |
| | |
| | | |
| | | navToEdit() { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/label/form?id=${this.id}` |
| | | url: `/subPackage/label/form?id=${this.taskId}` |
| | | }) |
| | | } |
| | | |
| | |
| | | <u-icon name="/static/icon/list-02.png" width="40rpx" height="40rpx"></u-icon>
|
| | | <text class="f-28 c-main ml-10">租客管理</text>
|
| | | </view>
|
| | | <view class="action-item">
|
| | | <view class="action-item" @click="navWorkList(records.houseCode)">
|
| | | <u-icon name="/static/icon/list-01.png" width="40rpx" height="40rpx"></u-icon>
|
| | | <text class="f-28 c-main ml-10">走访日志</text>
|
| | | </view>
|
| | |
| | | this.selectDate = val;
|
| | | this.resetParams();
|
| | | this.getRentalHouseInfo()
|
| | | },
|
| | | navWorkList(code) {
|
| | | uni.navigateTo({
|
| | | url: `/subPackage/task/workLogList?code=${code}`
|
| | | })
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | import lineItem from '../components/lineItem.vue' |
| | | import { |
| | | getSchoolReportingDetail, |
| | | setShoolReporting |
| | | setSchoolReporting |
| | | } from '@/api/reporting/reporting' |
| | | import auditAction from '../components/actionBtn.vue' |
| | | export default { |
| | |
| | | }, |
| | | onLoad(option) { |
| | | this.taskId = option.id; |
| | | this.getDetailInfo(option.id); |
| | | let roleName = uni.getStorageSync("activeRole").roleName |
| | | if (roleName == "居民") { |
| | | this.roleType = 2 |
| | |
| | | this.roleType = 1 |
| | | } |
| | | }, |
| | | |
| | | onShow() { |
| | | this.getDetailInfo(); |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | |
| | |
| | | }, |
| | | |
| | | |
| | | getDetailInfo(id) { |
| | | getDetailInfo() { |
| | | getSchoolReportingDetail({ |
| | | taskId: id |
| | | taskId: this.taskId |
| | | }).then(res => { |
| | | console.log(res); |
| | | let data = res.data; |
| | |
| | | // status: this.selectStatus, |
| | | status: val.type, |
| | | // remark: this.remark |
| | | remark: val.remark |
| | | confirmNotion: val.remark |
| | | } |
| | | // if (this.selectStatus == 3 && !this.remark) { |
| | | // uni.showToast({ |
| | |
| | | }, |
| | | navToEdit() { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/label/school?id=${this.id}` |
| | | url: `/subPackage/label/school?id=${this.taskId}` |
| | | }) |
| | | } |
| | | } |
| | |
| | | if (option.id) { |
| | | this.isEdit = true; |
| | | this.id = option.id; |
| | | setTimeout(() => { |
| | | this.getDetail(option.id) |
| | | }, 200) |
| | | } |
| | | }, |
| | | |