zhangqiOMG 3 年之前
父節點
當前提交
653ad025cb

+ 2 - 5
src/HManagement/archives_sc/list/modules/details.vue

@@ -87,6 +87,7 @@ import upload from '@/components/upload/hw_obs_upload.vue'
 import previewImage from '@/components/previewImage/index.vue'
 import attachmentList from '@/components/attachment_list/index.vue'
 import scopeOfauth from '@/components/scopeOfAuthority/index.vue'
+import store from '@/store'
 export default {
   components:{
     upload,
@@ -225,11 +226,7 @@ export default {
   created () {
     this.tool.checkAuth(this.$route.name,'data_analysis')?'':this.$router.go(-1)
     //详情页禁用操作
-    sessionStorage.setItem('pageOnlyRead',true)
-  },
-  beforeRouteLeave (to,from,next) {
-    sessionStorage.setItem('pageOnlyRead',false)
-    next()
+    store.state.pageOnlyRead = true
   },
   mounted () {
     this.coursewareclass()

+ 6 - 3
src/HManagement/submit/list/modules/submit_edit.vue

@@ -81,7 +81,7 @@
 import attachmentList from '@/components/attachment_list/index.vue'
 import upload from '@/components/upload/hw_obs_upload.vue'
 import scopeOfauth from '@/components/scopeOfAuthority/index.vue'
-
+import store from '@/store'
 export default {
   components:{
     attachmentList,
@@ -137,6 +137,9 @@ export default {
       this.form = Object.assign({},this.form,res.data)
       if (this.form.isattrequired === 1) {this.form.type.push('附件提报')}
       if (this.form.istextrequired === 1) {this.form.type.push('文字提报')}
+
+      this.form.status === '发布'?store.state.pageOnlyRead = true:store.state.pageOnlyRead = false
+      console.log(this.form.status,store.state.pageOnlyRead,'-----')
     },
     onSubmit () {
       this.$refs['form'].validate(async (valid) => {
@@ -187,10 +190,10 @@ export default {
     },
 
   },
-  mounted () {
+  created () {
     this.querySubmitMain()
     this.query_auth()
-  }
+  },
 }
 
 </script>

+ 12 - 8
src/components/scopeOfAuthority/index.vue

@@ -24,8 +24,8 @@
       <el-col :span="12" v-show="activeName === '组织架构'">
         <div>
           <div class="flex-align-center flex-between normal-margin">
-            <el-checkbox :disabled="isonlyread" v-model="allcheck_m" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>
-            <el-checkbox :disabled="isonlyread" v-model="allcheck1" @change="handleCheckedChange">仅组织负责人可见</el-checkbox>
+            <el-checkbox :disabled="pageOnlyRead" v-model="allcheck_m" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>
+            <el-checkbox :disabled="pageOnlyRead" v-model="allcheck1" @change="handleCheckedChange">仅组织负责人可见</el-checkbox>
           </div>
           <div class="panel">
             <div class="tab flex-align-center">
@@ -34,7 +34,7 @@
             <div class="container">
               <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
               <div :style="{ height: scrollHeight?scrollHeight:'400px'}"  style="overflow-y:scroll">
-                <el-checkbox-group :disabled="isonlyread" v-model="checkedMenbers" @change="handleCheckedChange">
+                <el-checkbox-group :disabled="pageOnlyRead" v-model="checkedMenbers" @change="handleCheckedChange">
                   <div v-for="item in menberData" :key="item.index">
                     <el-checkbox v-if="searchValue" v-show="item.name === searchValue" :label="item.hrid">{{item.name}}</el-checkbox>
                     <el-checkbox v-else :label="item.hrid">{{item.name}}</el-checkbox>
@@ -48,8 +48,8 @@
       <el-col :span="12" v-show="activeName === '营销组织'">
         <div>
           <div class="flex-align-center flex-between normal-margin">
-            <el-checkbox :disabled="isonlyread" v-model="allcheck_a" :indeterminate="isIndeterminate2" @change="handleCheckAllChange">全 选</el-checkbox>
-            <el-checkbox :disabled="isonlyread" v-model="allcheck2" @change="handleCheckedChange">仅经销商主账号可见</el-checkbox>
+            <el-checkbox :disabled="pageOnlyRead" v-model="allcheck_a" :indeterminate="isIndeterminate2" @change="handleCheckAllChange">全 选</el-checkbox>
+            <el-checkbox :disabled="pageOnlyRead" v-model="allcheck2" @change="handleCheckedChange">仅经销商主账号可见</el-checkbox>
           </div>
           <div class="panel">
             <div class="tab flex-align-center">
@@ -58,7 +58,7 @@
             <div class="container">
               <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
               <div :style="{ height: scrollHeight?scrollHeight:'400px'}"  style="overflow-y:scroll">
-                <el-checkbox-group :disabled="isonlyread" v-model="checkedAgents" @change="handleCheckedChange">
+                <el-checkbox-group :disabled="pageOnlyRead" v-model="checkedAgents" @change="handleCheckedChange">
                   <div v-for="item in agentData" :key="item.index">
                     <el-checkbox v-if="searchValue" v-show="item.agentname === searchValue" :label="item.sa_agentsid">{{item.agentname}}</el-checkbox>
                     <el-checkbox v-else :label="item.sa_agentsid">{{item.agentname}}</el-checkbox>
@@ -76,6 +76,7 @@
 <script>
 import deplist from '@/components/selectMenber/modules/dep_list.vue'
 import arealist from '@/components/selectAgent/area/list.vue'
+import {mapGetters} from 'vuex'
 
 export default {
   props:['defaultData','onlyread','appidname','dataid','scrollHeight'],
@@ -92,7 +93,6 @@ export default {
       allcheck_a:false,
       isIndeterminate:true,
       isIndeterminate2:true,
-      isonlyread:false,
       menberData:[],
       checkedMenbers:[],
       checkedAgents:[],
@@ -102,6 +102,11 @@ export default {
       searchValue:null,
     }
   },
+  computed:{
+    ...mapGetters({
+      pageOnlyRead:"pageOnlyRead"
+    })
+  },
   methods:{
     tabChange (val) {
       this.activeName = val
@@ -195,7 +200,6 @@ export default {
     },
   },
   mounted () {
-    this.isonlyread = JSON.parse(sessionStorage.getItem('pageOnlyRead'))
   },
   watch:{
     defaultData () {

+ 12 - 3
src/components/selectAgent/area/list.vue

@@ -25,16 +25,22 @@
 
 <script>
 
+import {mapGetters} from 'vuex'
 
 export default {
   props:['checked','area_default'],
   components:{
   },
+  computed:{
+    ...mapGetters({
+      pageOnlyRead:"pageOnlyRead"
+    })
+  },
   data () {
     return {
       arealist:[],
       cusChecked: [],
-      isonlyread:false
+      responseData:[]
     }
   },
   methods:{
@@ -49,6 +55,7 @@ export default {
         }
       })
       // 数据格式转换成elementui-tree所需的格式
+      this.responseData = res.data
       this.arealist = this.createMenu(res.data)
       this.$emit('onClick',this.arealist[0])
     },
@@ -63,7 +70,7 @@ export default {
           isused:node["isused"],
           sa_saleareaid:node['sa_saleareaid'],
           parentid:node['parentid'],
-          disabled:that.isonlyread?true:false,
+          disabled:that.pageOnlyRead,
           children: []
         }
           
@@ -124,9 +131,11 @@ export default {
   },
   mounted () {
     this.query_arealist()
-    this.isonlyread = JSON.parse(sessionStorage.getItem('pageOnlyRead'))
   },
   watch:{
+    pageOnlyRead () {
+      this.query_arealist()
+    },
     area_default (val) {
       // 如果存在默认组织数据就执行
       this.$emit('onAreaChecked',this.area_default)

+ 14 - 4
src/components/selectMenber/modules/dep_list.vue

@@ -24,16 +24,22 @@
 
 <script>
 
+import {mapGetters} from 'vuex'
 
 export default {
   props:['checked',"dep_default"],
   components:{
   },
+  computed:{
+    ...mapGetters({
+      pageOnlyRead:"pageOnlyRead"
+    })
+  },
   data () {
     return {
       deplist:[],
       cusChecked: [],
-      isonlyread:false
+      responseData:[]
     }
   },
   methods:{
@@ -45,8 +51,9 @@ export default {
         }
       })
       // 数据格式转换成elementui-tree所需的格式
+      this.responseData = res.data
       this.deplist = this.createMenu(res.data)
-      this.$store.dispatch('setDeplistData',this.deplist)
+      // this.$store.dispatch('setDeplistData',this.deplist)
       
       this.$emit('onClick',{data:this.deplist[0],parent:[]})
 
@@ -55,6 +62,7 @@ export default {
     createMenu (array) {
       var that = this
       let arr = []
+      console.log(that.pageOnlyRead,'-----')
       function convertToElementTree(node) {
         // 新节点
         var elNode = {
@@ -69,7 +77,7 @@ export default {
           createdate:node['createdate'],
           createby:node['createby'],
           depno:node['depno'],
-          disabled:that.isonlyread?true:false,
+          disabled:that.pageOnlyRead,
           children: []
         }
           
@@ -133,9 +141,11 @@ export default {
   },
   mounted () {
     this.department()
-    this.isonlyread = JSON.parse(sessionStorage.getItem('pageOnlyRead'))
   },
   watch:{
+    pageOnlyRead () {
+      this.department()
+    },
     dep_default (val) {
       this.$emit('onChecked',this.dep_default)
     }

+ 1 - 1
src/router/index.js

@@ -63,7 +63,7 @@ let routes = [
 routes[2].children = [...routes[2].children,...HManagement,...SManagement]
 
 const router = new VueRouter({
-  mode: 'history',
+  // mode: 'history',
   base: process.env.BASE_URL,
   routes,
 });

+ 3 - 1
src/store/index.js

@@ -7,6 +7,7 @@ Vue.use(Vuex);
 
 export default new Vuex.Store({
   state: {
+    pageOnlyRead:false,
     loading:false,
     siteinfo:{
       attinfos:[]
@@ -18,7 +19,8 @@ export default new Vuex.Store({
     siteinfo:state => state.siteinfo,
     loading:state => state.loading,
     deplist:state =>  state.deplist,
-    sys_options:state => state.sys_options
+    sys_options:state => state.sys_options,
+    pageOnlyRead:state => state.pageOnlyRead
   },
   mutations: {
     setSiteInfo(state,res) {