| | |
| | | }) |
| | | } |
| | | |
| | | // 获取用户信息 |
| | | export const getUser = (id) => { |
| | | return http.request({ |
| | | url: '/api/blade-user/detail', |
| | | method: 'GET', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 获取所有用户 |
| | | export const getUserList = () => { |
| | |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 获取用户信息 |
| | | export const getUser = (id) => { |
| | | return http.request({ |
| | | url: '/blade-system/user/detail', |
| | | method: 'GET', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 获取用户信息 |
| | | export const fetchUserInfo = (id) => { |
| | | return http.request({ |
| | | url: '/blade-system/user/details', |
| | | method: 'GET', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | export default { |
| | | token, |
| | | userInfo, |
| | |
| | | // 开发环境接口Url |
| | | // devUrl:'http://z4042833u6.wicp.vip', |
| | | // devUrl: 'http://192.168.0.106: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/", |
| | | // minioBaseUrl: 'https://srgdjczzxtpt.com:2080/', |
| | |
| | | <view class="content"> |
| | | <view class="topic-item" v-for="(item,index) in list"> |
| | | <view class="flex"> |
| | | <u-avatar size="44" :src="item.avatar"></u-avatar> |
| | | <u-avatar size="44" :src="showAvatar(item.avatar)"></u-avatar> |
| | | <view class="ml-20 flex f-d-c"> |
| | | <text class="f-26 mb-10">{{item.name}}</text> |
| | | <text class="f-24 c-66">{{item.createTime}}</text> |
| | |
| | | </view> |
| | | <scroll-view scroll-y="true" class="popup-scroll" v-if="commentList.length"> |
| | | <view class="comment-item flex" v-for="(i,k) in commentList" :key="k"> |
| | | <u-avatar size="40" :src="i.avatar"></u-avatar> |
| | | <u-avatar size="40" :src="showAvatar(i.avatar)"></u-avatar> |
| | | <view class="ml-20 flex f-d-c"> |
| | | <text class="f-26 c-99">{{i.name}}</text> |
| | | <view class="comment-content f-28"> |
| | |
| | | // }, |
| | | |
| | | methods: { |
| | | |
| | | |
| | | showAvatar(src){ |
| | | return `${minioBaseUrl}${src}` |
| | | }, |
| | | |
| | | refreshList() { |
| | | this.keyword = ""; |
| | |
| | | <view class="nav bgc-ff" v-if="liveList.length || roleType == 2">
|
| | | <!-- <caption-row title="生活" /> -->
|
| | | <u-grid :border="false" col="4">
|
| | | <!-- <u-grid-item @click.native="navigatorPage('subPackage/label/bail')" v-if="curSelectSite.addressType == 1">
|
| | | <view class="nav-item flex f-d-c a-i-c">
|
| | | <u-icon name="/static/icon/nav-11.png" width="80rpx" height="80rpx"></u-icon>
|
| | | <text class="nav-item-text f-26 mt-20">取保候审</text>
|
| | | </view>
|
| | | </u-grid-item> -->
|
| | | <block v-if="liveList.length">
|
| | | <u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList" :key="k">
|
| | | <view class="nav-item flex f-d-c a-i-c">
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <!-- <view class="mb-20 p-20" v-if="roleType == 2">
|
| | | <caption-row title="社区" />
|
| | | <view class="mt-20">
|
| | | <u-grid :border="false" col="3">
|
| | | <u-grid-item @click="navigatorPage(`/subPackage/article/communityList?type=1`)">
|
| | | <u-icon name="/static/icon/nav-14.png" width="90rpx" height="90rpx"></u-icon>
|
| | | <text class="f-26 mt-10">选举调查</text>
|
| | | </u-grid-item>
|
| | | <u-grid-item @click="navigatorPage(`/subPackage/article/communityList?type=0`)">
|
| | | <u-icon name="/static/icon/nav-13.png" width="90rpx" height="90rpx"></u-icon>
|
| | | <text class="f-26 mt-10">公益报名</text>
|
| | | </u-grid-item>
|
| | | <u-grid-item @click="navigatorPage('')">
|
| | | <u-icon name="/static/icon/nav-15.png" width="90rpx" height="90rpx"></u-icon>
|
| | | <text class="f-26 mt-10">公共收益</text>
|
| | | </u-grid-item>
|
| | | </u-grid>
|
| | | </view>
|
| | | </view> -->
|
| | |
|
| | | <view class="bgc-ff mb-20 p-20 pb-20" v-if="jobList.length">
|
| | | <caption-row title="工作台" />
|
| | |
| | | <script> |
| | | import md5 from '@/utils/md5.js' |
| | | import loginMixin from '@/mixin/loginMixin' |
| | | import { fetchUserInfo } from "@/api/user.js" |
| | | export default { |
| | | onLoad(option) { |
| | | const { |
| | |
| | | .token(this.tenantId, this.form.phone, md5(this.form.password)) |
| | | .then(data => { |
| | | uni.setStorageSync("phoneNmber", this.form.phone) |
| | | // this.getUserInfo(data); |
| | | this.$u.func.login(data) |
| | | }) |
| | | .catch(err => { |
| | | this.$u.func.showToast({ |
| | | title: err.data.error_description |
| | | title: err.data.error_description || "服务器错误" |
| | | }) |
| | | }) |
| | | }) |
| | |
| | | this.$set(this.passwordProps, "passwordIcon", "eye-off") |
| | | this.passwordProps.passwordType == "password" ? this.$set(this.passwordProps, "passwordType", "text") : |
| | | this.$set(this.passwordProps, "passwordType", "password") |
| | | } |
| | | }, |
| | | |
| | | getUserInfo(data){ |
| | | fetchUserInfo(data.user_id).then(res=>{ |
| | | console.log(res) |
| | | if(res.code == 200){ |
| | | this.$u.vuex('userInfo',JSON.parse(res.data)) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <!-- 用户信息 --> |
| | | <view class="user-box"> |
| | | <view class="left"> |
| | | <image v-if="userInfo.avatar" :src="userInfo.avatar" class="avatar" mode="aspectFill"></image> |
| | | <image v-if="userInfo.avatar" :src="setAvatar(userInfo.avatar)" class="avatar" mode="aspectFill"></image> |
| | | <image v-else src="/static/icon/user-01.png" class="avatar" mode="aspectFill"></image> |
| | | <view class="user-name">{{ userInfo.nick_name }}</view> |
| | | <view class="user-name">{{ userInfo.real_name }}</view> |
| | | <!-- <view class="tag">{{ userInfo.tenant_id }}</view> --> |
| | | </view> |
| | | <view @click="navigator('/subPackage/user/editUserInfo/editUserInfo')" class="edit-btn">编辑资料</view> |
| | |
| | | |
| | | <script> |
| | | |
| | | import userInfo from "@/api/user.js" |
| | | |
| | | import { fetchUserInfo } from "@/api/user.js" |
| | | import { minioBaseUrl } from "@/common/setting.js" |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | } |
| | | ], |
| | | roleType: 1, |
| | | addressType:1 |
| | | addressType:1, |
| | | user_info:{} |
| | | }; |
| | | }, |
| | | |
| | |
| | | |
| | | mounted() { |
| | | this.setHeadHeight() |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | |
| | | setAvatar(avatar){ |
| | | return `${minioBaseUrl}${avatar}` |
| | | }, |
| | | |
| | | |
| | | getUserInfo(){ |
| | | userInfo().then(res=>{ |
| | | console.log(res) |
| | | }) |
| | | let id = uni.getStorageSync("userInfo").user_id; |
| | | // console.log("userInfo===>", uni.getStorageSync("userInfo")) |
| | | // return; |
| | | fetchUserInfo(id).then(res=>{ |
| | | console.log(res) |
| | | if(res.code == 200){ |
| | | console.log(JSON.parse(res.data)); |
| | | return; |
| | | let data = res.data; |
| | | let userInfo = res.data; |
| | | |
| | | data = JSON.parse(data); |
| | | if(data.avatar){ |
| | | data.avatar = `${minioBaseUrl}${data.avatar}` |
| | | } |
| | | this.user_info = data; |
| | | this.$u.vuex('userInfo',JSON.parse(userInfo)) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | setHeadHeight() { |
| | |
| | | </view> |
| | | <view class="item-row flex a-i-c j-c-s-b"> |
| | | <text class="f-28">时间</text> |
| | | <text class="f-28 c-66">{{i.applyTime}}</text> |
| | | <text class="f-28 c-66">{{i.createTime}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line /> |
| | | <u-toast ref="uToast"></u-toast> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | |
| | | methods: { |
| | | getList() { |
| | | this.$nextTick(() => { |
| | | this.loadingStatus = 'loadmore' |
| | | this.$refs.uToast.show({ |
| | | type: 'loading', |
| | | message: '正在加载', |
| | | duration: 9999999 |
| | | }) |
| | | }) |
| | | getHotelReportingList({ |
| | | checkUserId: uni.getStorageSync("userInfo").user_id, |
| | | page: this.currentPage, |
| | |
| | | } |
| | | let records = res.data.records; |
| | | this.list = [...this.list, ...records] |
| | | this.$nextTick(() => { |
| | | this.$refs.uToast.isShow = false |
| | | }) |
| | | this.loadingStatus = 'nomore' |
| | | }) |
| | | }, |
| | |
| | | |
| | | setNumber(num){ |
| | | if(num){ |
| | | let n = Number(reportData.result2) * 100 |
| | | let n = Number(this.reportData.result2) * 100 |
| | | return n.toFixed(2) |
| | | }else { |
| | | return num |
| | |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <view class="nav bgc-ff mb-20 mt-20" v-if="comprehensive.length"> |
| | | <view class="nav bgc-ff mb-20 mt-20" v-if="comprehensive.length"> |
| | | <view class="caption"> |
| | | <view class="flex a-i-c"> |
| | | <view class="line"></view> |
| | | <text class="f-32 fw">综治任务</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="nav-item flex j-c-s-b a-i-c" @click="navTo(i.path)" v-for="i in comprehensive"> |
| | | |
| | | <view class="nav-item flex j-c-s-b a-i-c" @click="navTo(i.path)" v-for="i in comprehensive"> |
| | | <text class="f-28">{{i.name}}</text> |
| | | <view class="flex"> |
| | | <block v-if="i.count > 0"> |
| | |
| | | <u-icon name="arrow-right" color="#999"></u-icon> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- <view class="nav-item flex j-c-s-b a-i-c" @click="navTo('/subPackage/workbench/views/cshw')" v-for="i in comprehensive"> |
| | | |
| | | <!-- <view class="nav-item flex j-c-s-b a-i-c" @click="navTo('/subPackage/workbench/views/cshw')" v-for="i in comprehensive"> |
| | | <text class="f-28">场所审核</text> |
| | | <view class="flex"> |
| | | <text class="f-28 c-99">待处理</text> |
| | |
| | | <u-icon name="arrow-right" color="#999"></u-icon> |
| | | </view> |
| | | </view> --> |
| | | |
| | | |
| | | </view> |
| | | |
| | | <!-- <view class="nav bgc-ff mb-20"> |
| | |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <view class="nav bgc-ff mb-20" v-if="securityList.length"> |
| | | <view class="nav bgc-ff mb-20" v-if="securityList.length"> |
| | | <view class="caption"> |
| | | <view class="flex a-i-c"> |
| | | <view class="line"></view> |
| | | <text class="f-32 fw">公安任务</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="nav-item flex j-c-s-b a-i-c" @click="navTo(`${i.path}&from=task`)" v-for="i in securityList"> |
| | | |
| | | <view class="nav-item flex j-c-s-b a-i-c" @click="navTo(`${i.path}&from=task`)" v-for="i in securityList"> |
| | | <text class="f-28">{{i.name}}</text> |
| | | <view class="flex"> |
| | | <block v-if="bailCount > 0"> |
| | |
| | | <u-icon name="arrow-right" color="#999"></u-icon> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="nav-item flex j-c-s-b a-i-c" @click="navTo()"> |
| | | <text class="f-28">取保候审</text> |
| | | <view class="flex"> |
| | | <block v-if="false"> |
| | | <text class="f-28 c-99">待处理</text> |
| | | <view class="dot bgc-main">{{countInfo.comprehensiveTask}}</view> |
| | | </block> |
| | | <u-icon name="arrow-right" color="#999"></u-icon> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | </template> |
| | |
| | | }], |
| | | repairsCount: 0, |
| | | countInfo: {}, |
| | | securityList:[], |
| | | comprehensive:[], |
| | | bailCount:0 |
| | | securityList: [], |
| | | comprehensive: [], |
| | | bailCount: 0 |
| | | } |
| | | }, |
| | | |
| | | onLoad(){ |
| | | this.getMenuList() |
| | | }, |
| | | onLoad() { |
| | | this.getMenuList() |
| | | }, |
| | | onShow() { |
| | | this.getCount(); |
| | | // this.getRepairsCount(); |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | getMenuList(){ |
| | | |
| | | getMenuList() { |
| | | let list = uni.getStorageSync("taskMenu"); |
| | | if(list.length){ |
| | | for(let i of list){ |
| | | if (list.length) { |
| | | for (let i of list) { |
| | | i.count = 0; |
| | | if(i.remark == '1'){ |
| | | if(i.name == "报事报修"){ |
| | | } |
| | | if (i.remark == '1') { |
| | | if (i.name == "报事报修") {} |
| | | this.comprehensive.push(i) |
| | | }else { |
| | | } else { |
| | | this.securityList.push(i) |
| | | } |
| | | } |
| | |
| | | if (res.code == 200) { |
| | | let data = res.data; |
| | | this.countInfo = res.data; |
| | | for(let i of this.comprehensive){ |
| | | if(i.name == "场所审核"){ |
| | | for (let i of this.comprehensive) { |
| | | if (i.name == "场所审核") { |
| | | i.count = data.cssh; |
| | | }else if(i.name == "报事报修"){ |
| | | } else if (i.name == "报事报修") { |
| | | i.count = data.bsbx; |
| | | }else if(i.name == "住户审核"){ |
| | | } else if (i.name == "住户审核") { |
| | | i.count = data.zhsh |
| | | }else if (i.name.trim() == "标签报事"){ |
| | | } else if (i.name.trim() == "标签报事") { |
| | | i.count = data.bqsj |
| | | }else if (i.name == "租房管理"){ |
| | | } else if (i.name == "租房管理") { |
| | | i.count = data.czsh |
| | | } |
| | | } |
| | |
| | | getRepairsStatistics().then(res => { |
| | | if (res.code == 200) { |
| | | this.repairsCount = res.data; |
| | | let index = this.comprehensive.findIndex(item=> item.name == "报事报修") |
| | | this.comprehensive[index].count = res.data; |
| | | let index = this.comprehensive.findIndex(item => item.name == "报事报修") |
| | | this.comprehensive[index].count = res.data; |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | navTo(url) { |
| | | |
| | | if(!url || url == "暂无" ){ |
| | | |
| | | if (!url || url == "暂无") { |
| | | uni.showToast({ |
| | | title:"功能开发中~", |
| | | icon:"none" |
| | | title: "功能开发中~", |
| | | icon: "none" |
| | | }) |
| | | }else { |
| | | } else { |
| | | this.$u.func.globalNavigator(`${url}?from=task`) |
| | | } |
| | | } |
| | |
| | | .mb-20 { |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .mt-20{ |
| | | margin-top:20rpx; |
| | | |
| | | .mt-20 { |
| | | margin-top: 20rpx; |
| | | } |
| | | </style> |
| | |
| | | <view class="form-item flex j-c-s-b a-i-c"> |
| | | <text class="f-30">昵称</text> |
| | | <view class="nickname"> |
| | | <input class="nickname-value" type="nickname" placeholder="请输入昵称" v-model="info.nick_name" @blur="getInputValue" /> |
| | | <input class="nickname-value" type="nickname" placeholder="请输入昵称" v-model="info.realName" @blur="getInputValue" /> |
| | | </view> |
| | | |
| | | </view> |
| | |
| | | import { |
| | | prodUrl, |
| | | clientId, |
| | | clientSecret |
| | | clientSecret, |
| | | minioBaseUrl |
| | | } from '@/common/setting' |
| | | export default { |
| | | data(){ |
| | |
| | | avatar:"", |
| | | info:{ |
| | | avatar:"", |
| | | nick_name:"", |
| | | id:"" |
| | | realName:"", |
| | | id:"", |
| | | deptId:"" |
| | | }, |
| | | header: {}, |
| | | uploadConfig: { |
| | |
| | | }, |
| | | onLoad() { |
| | | this.getHeader() |
| | | this.avatar = this.userInfo.avatar; |
| | | this.info.avatar = this.userInfo.avatar; |
| | | this.info.nick_name = this.userInfo.nick_name; |
| | | this.info.id = uni.getStorageSync("userInfo").user_id |
| | | this.info.deptId = uni.getStorageSync("userInfo").dept_id |
| | | let { avatar,real_name,user_id,dept_id } = uni.getStorageSync("userInfo"); |
| | | if(avatar){ |
| | | this.avatar = `${minioBaseUrl}${avatar}` |
| | | }else { |
| | | this.avatar = avatar; |
| | | } |
| | | this.info.avatar = avatar; |
| | | this.info.realName = real_name |
| | | this.info.id = user_id |
| | | this.info.deptId = dept_id |
| | | }, |
| | | methods:{ |
| | | |
| | |
| | | |
| | | getInputValue(e){ |
| | | console.log(e); |
| | | this.info.nickname = e.detail.value; |
| | | this.info.realName = e.detail.value; |
| | | }, |
| | | |
| | | |
| | |
| | | title:res.msg |
| | | }) |
| | | setTimeout(()=>{ |
| | | let userInfo = uni.getStorageSync("userInfo"); |
| | | userInfo.avatar = this.info.avatar; |
| | | userInfo.real_name = this.info.realName; |
| | | this.$u.vuex('userInfo',userInfo); |
| | | uni.navigateBack() |
| | | },300) |
| | | } |
| | |
| | | <u-form-item label="电话号码" class="form-item">
|
| | | <u--input v-model="form.telephone" border="none" placeholder="请填写电话号码"></u--input>
|
| | | </u-form-item>
|
| | | <u-form-item label="根据地" class="form-item">
|
| | | <u-form-item label="暂住地" class="form-item">
|
| | | <u--input v-model="form.tempAddress" border="none" placeholder="请填写地址"></u--input>
|
| | | </u-form-item>
|
| | | </u-form>
|
| | |
| | | }
|
| | | </script>
|
| | | <style lang="scss" scoped>
|
| | | .form-box { |
| | | background-color: #fff; |
| | | .form-box {
|
| | | background-color: #fff;
|
| | | padding: 0 30rpx;
|
| | |
|
| | | .form-item {
|
| | | border-bottom: 1rpx solid #f6f6f6;
|
| | | padding: 0 20rpx;
|
| | |
| | | <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="楼栋:"
|
| | |
| | | </view>
|
| | | <u-form-item class="form-item" labelWidth="100" label="场所名称:" :required="isRequiredPlace"
|
| | | :disabled="isDisabled" prop="placeName">
|
| | | <u--input v-if="!currentId" border="none" v-model="form.placeName" placeholder="请输入">
|
| | | <u--input v-if="!currentId" border="none" v-model="form.placeName" placeholder="请输入">
|
| | | </u--input>
|
| | | <view class="f-30" v-if="currentId">
|
| | | <view class="f-30" v-if="currentId">
|
| | | {{form.placeName || "暂无数据"}}
|
| | | </view>
|
| | | </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" v-if="!currentId"></u-icon>
|
| | | <u-input border="none" v-model="categoryValue" disabled disabledColor="#ffffff"
|
| | | placeholder="请选择">
|
| | | </u-input>
|
| | | <u-icon v-if="!currentId" slot="right" name="arrow-right"></u-icon>
|
| | | </u-form-item>
|
| | | <!-- <view v-if="showLabelList.length" class="label" style="border-bottom:1px solid eff1f3;">
|
| | | <view v-for="(item,index) in showLabelList" :key="index" class="activeLabel">
|
| | |
| | | @close="delTag(item)" :text="item.text"></u-tag>
|
| | | </view>
|
| | | </view> -->
|
| | | |
| | | <!-- <view v-if="categoryValue.length" class="label" style="border-bottom:1px solid eff1f3;">
|
| | | <view v-for="(item,index) in categoryValue" :key="index" class="activeLabel">
|
| | | <u-tag :closable="currentId?false:true" size="mini"
|
| | | @close="delTag()" :text="item.categoryName"></u-tag>
|
| | | </view>
|
| | | </view> -->
|
| | | |
| | | <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
|
| | | <u--input v-if="!currentId" border="none" v-model="form.remark" placeholder="请输入">
|
| | | <u--input v-if="!currentId" border="none" v-model="form.remark" placeholder="请输入">
|
| | | </u--input>
|
| | | <view class="f-30" v-if="currentId">
|
| | | <view class="f-30" v-if="currentId">
|
| | | {{form.remark || "暂无数据"}}
|
| | | </view>
|
| | | |
| | | </u-form-item>
|
| | |
|
| | | |
| | | </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" style="color: #c0c4cc;">
|
| | | 请选择地址
|
| | | </view>
|
| | | <view class="location-btn c-main f-24" @click="getLocation()" v-if="!currentId">
|
| | | <view class="location-btn c-main f-24" @click="getLocation()" v-if="!currentId">
|
| | | 获取地址
|
| | | </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">
|
| | |
| | | <box-title title="负责人信息"></box-title>
|
| | | </view>
|
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
|
| | | label="场所负责人:" prop="username">
|
| | | <u--input border="none" v-model="form.username" placeholder="请输入">
|
| | | 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="phone">
|
| | | <u--input border="none" v-model="form.phone" placeholder="请输入">
|
| | | label="手机号:" prop="principalPhone">
|
| | | <u--input border="none" v-model="form.principalPhone" placeholder="请输入">
|
| | | </u--input>
|
| | | </u-form-item>
|
| | | </view>
|
| | |
| | | <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"
|
| | |
| | |
|
| | |
|
| | |
|
| | | <view class="item">
|
| | | <view class="item" v-if="currentId">
|
| | | <view class="box-title">
|
| | | <box-title title="综治网格">
|
| | | <template slot="titleMore">
|
| | |
| | |
|
| | |
|
| | |
|
| | | <view class="item">
|
| | | <view class="item" v-if="currentId">
|
| | | <view class="box-title">
|
| | | <box-title title="公安网格">
|
| | | <template slot="titleMore">
|
| | |
| | | @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>
|
| | | <u-picker :show="isShowCatePicker" :defaultIndex="categoryIndex" ref="catePicker" keyName="categoryName"
|
| | | :columns="categoryList" @confirm="confirmCategory" @change="changeCategory"
|
| | | @cancel="isShowCatePicker = false"></u-picker>
|
| | |
|
| | |
|
| | | </view>
|
| | |
| | | remark: "",
|
| | | imageUrls: "",
|
| | | placeName: "",
|
| | | username: '',
|
| | | phone: '',
|
| | | principal: '',
|
| | | principalPhone: '',
|
| | | lat: '',
|
| | | lng: '',
|
| | | location:''
|
| | | location: ''
|
| | | },
|
| | | rules: {
|
| | | // 'buildingCode': {
|
| | |
| | | }
|
| | | ],
|
| | | scene: [
|
| | | |
| | |
|
| | | // {
|
| | | // label: "消防照片",
|
| | | // useSlot: "pic",
|
| | |
| | | categoryIndex: [],
|
| | | firstId: "",
|
| | | secondId: "",
|
| | | categoryValue: []
|
| | | categoryValue: ""
|
| | | }
|
| | | },
|
| | | created() {
|
| | |
| | | if (option.addressType) {
|
| | | this.addressType = option.addressType
|
| | | }
|
| | | if (option.id) { |
| | | if (option.id) {
|
| | | this.currentId = option.id;
|
| | | }
|
| | | if (option.houseCode) {
|
| | |
| | | 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;
|
| | | this.categoryValue = data.placePoiLabelVOList[data.placePoiLabelVOList.length - 1].labelName;
|
| | | uni.$u.sleep(500).then(() => {
|
| | | data.placePoiLabelVOList.forEach(item=>{
|
| | | let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo==item.poiCode)
|
| | | let childIndex = this.categoryList[1].findIndex(i => i.categoryNo == item.poiCode)
|
| | | this.categoryIndex = [firstIndex,childIndex]
|
| | | }) |
| | | data.placePoiLabelVOList.forEach(item => {
|
| | | let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
|
| | | item.poiCode)
|
| | | let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
|
| | | item.poiCode)
|
| | | this.categoryIndex = [firstIndex, childIndex]
|
| | | })
|
| | | })
|
| | | |
| | |
|
| | | Object.keys(this.comprehensiveData).forEach(key => {
|
| | | this.comprehensiveData[key].forEach(item => {
|
| | | if (!data[item.name]) {
|
| | |
| | | success: (res) => {
|
| | | this.form.lat = res.latitude;
|
| | | this.form.lng = res.longitude;
|
| | | this.form.laction = res.address;
|
| | | this.form.location = res.address;
|
| | | this.form.jwd =
|
| | | `${Number(res.longitude).toFixed(6)},${Number(res.latitude).toFixed(6)}`
|
| | | }
|
| | |
| | | //弹出层打开
|
| | | popup() {
|
| | | // this.$refs.uniPopup.open()
|
| | | if (this.currentId) return;
|
| | | this.isShowCatePicker = true;
|
| | |
|
| | | },
|
| | |
|
| | | |
| | |
|
| | |
|
| | | labelClick(item) {
|
| | |
|
| | |
| | | </view>
|
| | | <view class="item-row flex a-i-c j-c-s-b">
|
| | | <text class="f-28">地址</text>
|
| | | <text class="address f-28 c-66">{{ item.localtion ? item.localtion : '未完善' }}</text>
|
| | | <text class="address f-28 c-66">{{ item.location ? item.location : '未完善' }}</text>
|
| | | </view>
|
| | | <view class="item-row flex a-i-c j-c-s-b">
|
| | | <text class="f-28">法人信息</text>
|
| | |
| | | <u-toast ref="uToast"></u-toast>
|
| | | <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
|
| | |
|
| | | |
| | |
|
| | | |
| | |
|
| | | <date-range-modal ref="dateRane" @comfirm="handleComfirmDate" @rest="handleRestDate" />
|
| | |
|
| | |
|
| | | <date-range-modal ref="dateRane" @comfirm="handleComfirmDate" @rest="handleRestDate" />
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | import {
|
| | | getSiteMaintenanceData
|
| | | } from '@/api/placeExp/placeExp.js'
|
| | | |
| | |
|
| | | import dateRangeModal from '@/components/dateRangeModal/modal.vue';
|
| | | |
| | |
|
| | | export default {
|
| | | components:{
|
| | | components: {
|
| | | dateRangeModal
|
| | | },
|
| | | data() {
|
| | |
| | | loadingStatus: 'nomore',
|
| | | clickInfo: {},
|
| | | currentRole: {},
|
| | | selectDate:[],
|
| | | selectDate: [],
|
| | | }
|
| | | },
|
| | | |
| | | |
| | | onLoad(option){
|
| | | if(option.from){
|
| | |
|
| | |
|
| | | onLoad(option) {
|
| | | if (option.from) {
|
| | | this.tabIndex = 1;
|
| | | this.tabStatus = 1;
|
| | | }
|
| | | },
|
| | | |
| | |
|
| | | onShow() {
|
| | | this.currentRole = uni.getStorageSync("activeRole")
|
| | | this.resetParams()
|
| | |
| | | this.pagingParams.current++
|
| | | this.getSiteList()
|
| | | },
|
| | | |
| | |
|
| | |
|
| | | methods: {
|
| | | |
| | |
|
| | |
|
| | | async getSiteList() {
|
| | | this.$nextTick(() => {
|
| | |
| | | })
|
| | | this.loadingStatus = 'loadingmore'
|
| | | })
|
| | | |
| | |
|
| | | const params = {
|
| | | placeName: this.keyWord,
|
| | | confirmFlag: this.tabStatus
|
| | | }
|
| | | if(this.selectDate.length){
|
| | | params.startTime = this.selectDate[0],
|
| | | params.endTime = this.selectDate[1]
|
| | | if (this.selectDate.length) {
|
| | | params.startTime = this.selectDate[0],
|
| | | params.endTime = this.selectDate[1]
|
| | | }
|
| | | const {
|
| | | roleName
|
| | |
| | | this.resetParams()
|
| | | this.searchConfirm()
|
| | | },
|
| | | |
| | | |
| | | showDateModal(){
|
| | |
|
| | |
|
| | | showDateModal() {
|
| | | this.$refs.dateRane.open();
|
| | | },
|
| | | |
| | | |
| | |
|
| | |
|
| | | resetParams() {
|
| | | this.siteList = []
|
| | | this.pagingParams.current = 1
|
| | |
| | | this.$u.func.globalNavigator(`/subPackage/workbench/views/examine?id=${id}&placeId=${placeId}`)
|
| | | },
|
| | |
|
| | | handleRestDate(){
|
| | | handleRestDate() {
|
| | | this.selectDate = [];
|
| | | this.resetParams();
|
| | | this.getSiteList()
|
| | | },
|
| | | handleComfirmDate(val){
|
| | | handleComfirmDate(val) {
|
| | | this.selectDate = val;
|
| | | this.resetParams();
|
| | | this.getSiteList()
|
| | |
| | | <view class="base">
|
| | | <box-title :title="'基本信息'"></box-title>
|
| | | <u-form labelWidth="70" :model="form" :rules="rules" ref="form" class="form">
|
| | | <u-form-item label="场所位置" required class="form-item" prop="localtion" @click="getLocation">
|
| | | <u--input border="none" v-model="form.localtion" placeholder="请选择场所位置"></u--input>
|
| | | <u-form-item label="场所位置" required class="form-item" prop="location" @click="getLocation">
|
| | | <u--input border="none" v-model="form.location" placeholder="请选择场所位置"></u--input>
|
| | | <u-icon slot="right" name="arrow-right"></u-icon>
|
| | | </u-form-item>
|
| | | <u-form-item label="场所名称" required class="form-item" prop="placeName">
|
| | |
| | | </view>
|
| | |
|
| | | <view class="add-person">
|
| | | <u-button type="success" plain @click="addPerson">在加一人</u-button>
|
| | | <u-button type="success" plain @click="addPerson">再加一人</u-button>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | form: {
|
| | | id: '',
|
| | | placeId: '',
|
| | | localtion: '',
|
| | | location: '',
|
| | | placeName: '',
|
| | | legalPerson: '',
|
| | | legalTel: '',
|
| | |
| | | planImageUrls: []
|
| | | },
|
| | | rules: {
|
| | | localtion: {
|
| | | location: {
|
| | | required: true,
|
| | | message: '请选择地址',
|
| | | trigger: ['blur', 'change']
|
| | |
| | | const {
|
| | | address
|
| | | } = addressResult
|
| | | this.form.localtion = address
|
| | | this.form.location = address
|
| | | }
|
| | | })
|
| | | },
|
| | |
| | | height: 100%;
|
| | | display: flex;
|
| | | flex-direction: column;
|
| | |
|
| | | .main-content {
|
| | | height: 0;
|
| | | flex: 1;
|
| | | overflow-y: auto;
|
| | | // height: 0;
|
| | | // flex: 1;
|
| | | // overflow-y: auto;
|
| | | padding: 0 30rpx 250rpx 30rpx;
|
| | |
|
| | | .base,
|
| | |
| | | <view class="personnel">
|
| | | <box-title title="从业人员" class="box-title"></box-title>
|
| | | <view class="info">
|
| | | <view class="f-30" v-if="!placePersonList.length">
|
| | | <view class="f-30" v-if="!placePersonList.length">
|
| | | 未完善
|
| | | </view>
|
| | | <view class="person-box" v-for="(item, index) in placePersonList" :key="item.id">
|
| | | <view class="person-box" v-for="(item, index) in placePersonList" :key="item.id">
|
| | | <view class="title">人员信息-#{{ index + 1 }}</view>
|
| | | <view class="info-box">
|
| | | <view class="content">
|
| | |
| | | </view> -->
|
| | | <footer-btn @click="submit" v-if="confirmFlag == 3" text="通过" />
|
| | | <view class="footer flex a-i-c j-c-s-b" v-if="confirmFlag == 1">
|
| | | <button class="footer-btn" @click="submit(1)">通过</button>
|
| | | <button class="footer-btn" @click="submit(2)">驳回</button>
|
| | | <button class="footer-btn" @click="submit(2)">通过</button>
|
| | | <button class="footer-btn" @click="submit(3)">驳回</button>
|
| | | </view>
|
| | |
|
| | |
|
| | |
| | | },
|
| | | {
|
| | | label: '场所位置',
|
| | | name: 'localtion',
|
| | | name: 'location',
|
| | | value: '未完善'
|
| | | },
|
| | | ],
|
| | |
| | | })
|
| | | },
|
| | | submit(type) {
|
| | | if (type == 2) {
|
| | | this.form.confirmFlag = type;
|
| | | if (type == 3) {
|
| | | this.isShowModal = true;
|
| | | } else {
|
| | | this.checkPlaceExt()
|
| | |
| | | :formatter="formatter" @confirm="confirmDate" @cancel="isShowPicker = false"></u-datetime-picker> |
| | | <!-- <u-picker :show="isShowPicker" :columns="scStatus" :defaultIndex="houseIndex" @cancel="isShowPicker = false" |
| | | @confirm="confirmHouse()"></u-picker> --> |
| | | <view class="footer"> |
| | | <button class="footer-btn" @click="submitInfo">提交</button> |
| | | </view> |
| | | <footer-btn @click="submitInfo" /> |
| | | |
| | | </view> |
| | | |
| | | </template> |