前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >17.普通用户、网格长、网格员,操作数据(4)newapp/components/wgz.vue

17.普通用户、网格长、网格员,操作数据(4)newapp/components/wgz.vue

作者头像
玩蛇的胖纸
发布2020-07-03 10:42:03
3420
发布2020-07-03 10:42:03
举报

1.在newapp/components/wgz.vue中:

代码语言:javascript
复制
<template>
    <view>
        <view class="cu-bar bg-white solid-bottom">
            <view class="action">
                <text class="cuIcon-title text-orange"></text> 
                {{data3.pq.name}}
            </view>
        </view>
        <scroll-view scroll-x class="bg-cyan nav text-center">
            <view class="cu-item text-lg" :class="0==TabCur1?'text-white cur':''" @tap="tabSelect1" data-id="0">
                <text class="cuIcon-addressbook"></text> 编辑数据
            </view>
            <view class="cu-item text-lg" :class="1==TabCur1?'text-white cur':''" @tap="tabSelect1" data-id="1">
                <text class="cuIcon-edit"></text> 展示数据
            </view>                
        </scroll-view>
        
        <!-- 数据展示 -->
        <view class="zhanshi" v-show="!flag_edit">
            <scroll-view scroll-x class="bg-white nav" scroll-with-animation :scroll-left="scrollLeft">
                <view class="cu-item" :class="index==TabCur2?'text-green cur':''" v-for="(item,index) in my_wgylist_and_loulist" :key="index" @tap="tabSelect2" :data-id="index" :data-item="item">
                    {{item.wgy.name}}
                </view>
            </scroll-view>
                <view v-for="(item,index) in my_loulist" :key="index" class="padding-xl radius shadow-warp bg-white margin-top">
                    {{item.name}}
                </view>
            
        </view>
        
        <!-- 数据编辑 -->
        <view class="bianji" v-show="flag_edit">
            <view class="edit" v-if="wgz_can_edit">
                
                <view class="cu-form-group margin-top">
                    <view class="title">网格员:</view>
                    <picker @change="PickerChange" :value="index" :range="data3.all_wgy_list" :range-key="'name'">
                        <view class="picker">
                            {{wgy_name}}
                        </view>
                    </picker>
                </view>
                
                <view class="cu-form-group margin-top text-xl">
                    <view class="title">楼(街)名:</view>
                    <input placeholder="楼名或街名" name="input" v-model="lou_name"></input>
                </view>
                <view class="padding flex flex-direction">
                    <button class="cu-btn bg-cyan lg" @tap="addLou">增加楼(街)名</button>
                </view>
                
                
                <view class="lou_wgy_list" v-for="(item,index) in newest_loulist_data" :key="index">
                    <view class="padding-xl radius shadow-warp bg-gray margin-top">
                        <view class="cu-bar solid-bottom">
                            <view class="action">
                                <text class="cuIcon-title text-orange"></text> {{item.name}}
                            </view>
                        </view>
                        <view class="cu-bar solid-bottom">
                            <view class="action">
                                <text class="cuIcon-friendfamous text-orange"></text> {{item.wgy}}
                            </view>
                        </view>
                        <view class="padding flex flex-direction">
                            <button class="cu-btn bg-cyan lg" @tap="DelLouMing(item.id)">删除楼(街)名</button>
                        </view>
                    </view>
                </view>
                
            </view>
            <view class="edit" v-if="!wgz_can_edit">
                <view class="padding-xl radius shadow-warp bg-cyan margin-top text-center">
                    目前网格长不能进行数据编辑
                </view> 
            </view>
        </view>
        
        <view class="cu-modal" :class="modalName=='Modal'?'show':''">
            <view class="cu-dialog">
                <view class="cu-bar bg-white justify-end">
                    <view class="content">信息提示</view>
                    <view class="action" @tap="hideModal">
                        <text class="cuIcon-close text-red"></text>
                    </view>
                </view>
                <view class="padding-xl">
                    {{msg}}
                </view>
            </view>
        </view>
        
    </view>
</template>

<script>
import {host,get,post} from '@/commons/post_and_get.js'
    export default {
        props: {
            data3:Object,
            my_wgylist_and_loulist:Array,
            wgz_can_edit:Boolean
        },
        data() {
            return {
                // 切换 数据展示和编辑数据
                TabCur1:0,
                //切换 显示网格长能查看到的数据列表,显示网格长的编辑页面
                flag_edit:true,
                
                //切换不同网格员,查看每个网格员负责的楼名
                TabCur2:0,
                scrollLeft: 0,
                my_loulist:[],
                //新增楼和街
                lou_name:'',
                wgy_name:'.',
                wgy_id:'',
                modalName:null,
                msg:'',
                newest_loulist_data:[]
                
            };
        },
        methods:{
            //切换展示数据和编辑数据
            tabSelect1(e){
                this.TabCur1 = e.currentTarget.dataset.id;
                if(this.TabCur1==0){ 
                    this.flag_edit=true
                }
                if(this.TabCur1==1){
                    this.flag_edit=false
                    this.my_loulist=this.my_wgylist_and_loulist[0].lou_list
                    this.TabCur2='0'
                }
            },
            tabSelect2(e) {
                this.TabCur2 = e.currentTarget.dataset.id;
                this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60
                this.my_loulist=e.currentTarget.dataset.item.lou_list
            },
            PickerChange(e) {
                let wgy=this.data3.all_wgy_list[e.detail.value];
                this.wgy_name=wgy.name
                this.wgy_id=wgy.id
            },
            
            async addLou(){
                let token=uni.getStorageSync('token');
                if(this.lou_name.length>2 && this.wgy_id){
                    let x=await post('/user_operations/addlou/',{'token':token,'wgy_id':this.wgy_id,'lou_ming':this.lou_name})
                    // console.log(x)
                    if(x.status==200){
                        this.msg=x.data.msg
                        this.modalName='Modal'
                    }
                    this.GetLouAndWgy()
                }else{
                    this.msg='网格员与楼(街)名都不能为空!'
                    this.modalName='Modal'
                }
                
            },
            hideModal(e) {
                this.modalName = null
            },
            async GetLouAndWgy(){
                let token=uni.getStorageSync('token');
                let y=await get('/user_operations/addlou/',{'token':token})
                // console.log(y)
                this.newest_loulist_data=[]
                for(var i=0;i<y.data.lou_list.length;i++){
                    // console.log(i)
                    for(var j=0;j<y.data.all_wgy_list.length;j++){
                        // console.log(j)
                        if(y.data.lou_list[i].wgy==y.data.all_wgy_list[j].id){
                            y.data.lou_list[i].wgy=y.data.all_wgy_list[j].name
                            this.newest_loulist_data.push(y.data.lou_list[i])
                        }
                    }
                }
                // console.log(this.newest_loulist_data)
            },
            async DelLouMing(e){
                let token=uni.getStorageSync('token');
                let z=await get('/user_operations/dellou/',{'token':token,'lou_id':e})
                // console.log(z)
                if(z.status==200){
                    this.GetLouAndWgy()
                }
            }
            
                            
        },
        mounted() {
            this.GetLouAndWgy()
        }
    }
</script>

<style>

</style>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.在newapp/components/wgz.vue中:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档