zhangqiOMG 2 лет назад
Родитель
Сommit
7661a63258

+ 2 - 2
src/HManagement/archives_sc/list/modules/add.vue

@@ -84,9 +84,9 @@ export default {
       folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       form:{
         "sat_coursewareid": 0,
-        "title": "测试数据2",
+        "title": "",
         "sat_courseware_classid": '',
-        "notes": "备注1",
+        "notes": "",
         "canfiledownload": 1,
         "begdate": "2022-05-16 15:01:42",
         "enddate": "2022-05-16 15:01:42",

+ 7 - 2
src/HManagement/clueManage/clue_import/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
-    <importClue v-if="tool.checkAuth($route.name,'import')"></importClue>
-    <list>
+    <importClue v-if="tool.checkAuth($route.name,'import')" @onSuccess="onSuccess"></importClue>
+    <list ref="list">
       <template v-slot:detail="scope">
         <el-button v-if="tool.checkAuth($route.name,'update')" type="text" size="small" @click="$router.push({path:'/importClueDetail',query:{id:scope.data.data.sat_orderclueuploadbillid,rowindex:scope.data.data.rowindex}})">编 辑</el-button>
       </template>
@@ -17,6 +17,11 @@ export default {
   components:{
     importClue,
     list
+  },
+  methods:{
+    onSuccess () {
+      this.$refs['list'].listData()
+    }
   }
 }
 

+ 14 - 3
src/HManagement/clueManage/clue_import/modules/list.vue

@@ -6,9 +6,11 @@
       </el-form-item>
       <el-form-item label="状态">
         <el-select v-model="search.status" placeholder="请选择" @change="listData(params.content.pageNumber = 1)" clearable>
-          <el-option label="已审核" value="已审核">
-          </el-option>
-          <el-option label="待审核" value="待审核">
+          <el-option
+            v-for="item in sys_options"
+            :key="item.index"
+            :label="item.value"
+            :value="item.value">
           </el-option>
         </el-select>
       </el-form-item>
@@ -48,7 +50,14 @@
 </template>
 
 <script>
+import {mapGetters} from 'vuex'
+
 export default {
+  computed:{
+    ...mapGetters({
+      sys_options:'sys_options'
+    })
+  },
   data () {
     return {
       params:{
@@ -80,6 +89,8 @@ export default {
       this.total = res.total
       this.currentPage = res.pageNumber
       sessionStorage.setItem('clue_pageTotal',this.total)
+
+      this.$store.dispatch('optiontypeselect','cluestatus')
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);

+ 1 - 1
src/HManagement/clueManage/clue_private/modules/list.vue

@@ -86,7 +86,7 @@ export default {
       this.total = res.total
       this.currentPage = res.pageNumber
       
-      this.$store.dispatch('optiontypeselect','cluestatus')
+      this.$store.dispatch('optiontypeselect','clueprivate')
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);

+ 1 - 1
src/HManagement/clueManage/clue_public/modules/list.vue

@@ -91,7 +91,7 @@ export default {
       this.total = res.total
       this.currentPage = res.pageNumber
 
-      this.$store.dispatch('optiontypeselect','cluestatus')
+      this.$store.dispatch('optiontypeselect','cluepublic')
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);

+ 5 - 5
src/HManagement/notice/pate/modules/list.vue

@@ -9,7 +9,7 @@
             <el-input v-if="act_cus === scope.column.data.sat_notice_classid" size="mini" v-model="scope.column.data.classname" placeholder="输入版块名称"></el-input>
             <p v-else>{{ scope.column.data.classname }} <i class="el-icon-edit"></i></p>
           </div>
-          <div v-else-if="scope.column.columnname === 'color'">
+          <!-- <div v-else-if="scope.column.columnname === 'color'">
             <el-color-picker :disabled="act_cus !== scope.column.data.sat_notice_classid" v-model="scope.column.data.fcolor"></el-color-picker>
           </div>
           <div v-else-if="scope.column.columnname === 'isused'">
@@ -21,7 +21,7 @@
               :active-value="1"
               :inactive-value="0">
             </el-switch>
-          </div>
+          </div> -->
           <div v-else-if="scope.column.columnname === 'issecret'">
             <el-switch
               :disabled="act_cus !== scope.column.data.sat_notice_classid"
@@ -108,11 +108,11 @@ export default {
     // 插入新增行
     addPate () {
       this.act_cus = 0
-      this.pateList.push({
+      this.pateList.unshift({
         sat_notice_classid:0,
         classname:"",
-        issystem:0,
-        fisused:1,
+        // issystem:0,
+        // fisused:1,
         issecret:0,
         fcolor:'#ccc',
       })

+ 1 - 1
src/components/import/importFile.vue

@@ -45,7 +45,7 @@
           </div>
         </div>
         <slot name="errorFile"></slot>
-        <p class="tips">• 为保证数据导入顺利,推荐您下载并使用<a href="">《Excel标准模板》</a></p>
+        <p class="tips">• 为保证数据导入顺利,推荐您下载并使用<a>《Excel标准模板》</a></p>
         <p class="tips">• 文件中数据不能超过5000行</p>
         <div class="dialog-footer">
           <el-button size="small" @click="dialogUploadVisible = false" class="normal-btn-width">取 消</el-button>

+ 40 - 7
src/components/layout/index.vue

@@ -5,18 +5,19 @@
         <div class="logo-avatar">
           <img v-show="img.usetype === 'actionlogo'" v-for="img in siteinfo.attinfos" :key="img.index" style="width:100%" :src="img.url" alt="">
         </div>
-        <div class="item" :class="routerName === '工作台'?'active':''" @click="$router.push('/home')">
+        <div class="item" :class="routerName === '工作台'?'active':''" @click="($router.push('/home'),act_id = 0)">
           <img width="30" src="../../assets/nav_icon/work_station.svg" alt="">
           <p>工作台</p>
         </div>
-        <div class="item" :class="routerName === '消息中心'?'active':''" @click="$router.push('/message')">
+        <div class="item" :class="routerName === '消息中心'?'active':''" @click="($router.push('/message'),act_id = 0)">
           <img width="30" src="../../assets/nav_icon/work_station.svg" alt="">
           <p>消息</p>
         </div>
-        <!-- <div class="item" :class="routerName === '媒体库'?'active':''" @click="$router.push('/mediaStock')">
+        <div class="item" :class="item.systemmoduleid === act_id?'active':''" v-for="item in shortcutlist" :key="item.systemmoduleid" @click="redictToModules(item)">
+          <p class="close-shortcut" @click.stop="deleteShortcut(item)"><i class="el-icon-error"></i></p>
           <img width="30" src="../../assets/nav_icon/work_station.svg" alt="">
-          <p>媒体库</p>
-        </div> -->
+          <p>{{item.systemmodulename}}</p>
+        </div>
       </div>
       <div class="nav-bottom-item">
         <div class="item">
@@ -56,12 +57,15 @@ export default {
   },
   computed:{
     ...mapGetters({
-      siteinfo:'siteinfo'
+      siteinfo:'siteinfo',
+      shortcutlist:'shortcutlist'
     })
   },
   data () {
     return {
-      routerName:''
+      routerName:'',
+      modeuls:[],
+      act_id:0
     }
   },
   methods:{
@@ -72,14 +76,30 @@ export default {
         "content": {}
       })
     },
+    // 查询常用栏数据
+    async query_usershortcuts () {
+      this.$store.dispatch('setUsershortcuts')
+    },
     redictToModules (item) {
+      this.act_id = item.systemmoduleid
       this.$router.push({path:item.apps[0].path})
       sessionStorage.setItem('active_modules',JSON.stringify(item))
       window.sessionStorage.setItem('currentPath',item.apps[0].path)
     },
+    async deleteShortcut (item) {
+      const res = await this.$api.requested({
+        "classname": "sysmanage.develop.userauth.userauth",
+        "method": "delete_usershortcuts",
+        "content": {
+          "systemmoduleid":item.systemmoduleid
+        }
+      })
+      this.$store.dispatch('setUsershortcuts')
+    }
   },
   created () {
     this.siteInfos()
+    this.query_usershortcuts()
     this.routerName = this.$route.meta.title
     this.ast_nav = this.$route.meta.ast_nav
   },
@@ -116,6 +136,7 @@ export default {
   overflow: hidden;
 }
 .item{
+  position: relative;
   width: 40px;
   padding: 10px;
   margin:0 auto 20px auto;
@@ -137,6 +158,18 @@ export default {
   background: #095DE0;
   
 }
+.close-shortcut {
+  position: absolute;
+  display: none;
+  top:-10px;
+  right:-5px;
+}
+.item:hover .close-shortcut {
+  display: block;
+}
+.close-shortcut i{
+  font-size: 20px;
+}
 .mymain{
   height: calc(100vh - 99px);
 }

+ 1 - 1
src/components/layout/modules/header.vue

@@ -42,7 +42,7 @@ export default {
       }).then(() => {
         this.$router.push('/')
         sessionStorage.clear()
-        location.reload(true);
+        // location.reload(true);
       }).catch((err) => {
         console.log(err)
         this.$message({

+ 32 - 3
src/store/index.js

@@ -13,14 +13,16 @@ export default new Vuex.Store({
       attinfos:[]
     },
     deplist:[],
-    sys_options:[]
+    sys_options:[],
+    shortcutlist:[]
   },
   getters: {
     siteinfo:state => state.siteinfo,
     loading:state => state.loading,
     deplist:state =>  state.deplist,
     sys_options:state => state.sys_options,
-    pageOnlyRead:state => state.pageOnlyRead
+    pageOnlyRead:state => state.pageOnlyRead,
+    shortcutlist:state => state.shortcutlist
   },
   mutations: {
     setSiteInfo(state,res) {
@@ -32,6 +34,9 @@ export default new Vuex.Store({
     setSelectList (state,res) {
       state.sys_options = res.data
     },
+    setUsershortcuts (state,param) {
+      state.shortcutlist = [...param]
+    },
   },
   actions: {
     // 系统选项分类查询
@@ -77,7 +82,31 @@ export default new Vuex.Store({
     // 存储部门列表数据
     setDeplistData ({commit}, param) {
       commit('setDeplist',param)
-    }
+    },
+
+    // 设置快捷栏
+    async setUsershortcuts ({commit}, param) {
+      const res = await api.requested({
+        "classname": "sysmanage.develop.userauth.userauth",
+        "method": "query_usershortcuts",
+        "content": {
+        }
+      })
+      let data = JSON.parse(sessionStorage.getItem('module_info'))
+      let modules = []
+      data.forEach(mod => {
+        modules = modules.concat(mod.modules)
+      });
+      let arr = []
+      res.data.forEach(e=>{
+        modules.forEach(mod=>{
+          if (mod.systemmoduleid === e.systemmoduleid) {
+            arr.push(mod)
+          }
+        })
+      })
+      commit('setUsershortcuts',arr)
+    },
   },
   modules: {
   },

+ 30 - 0
src/views/homePage/index.vue

@@ -19,6 +19,16 @@
       <el-row :gutter="20">
         <el-col style="margin-top:16px" :span="4" v-for="modules in item.modules" :key="modules.systemmoduleid" @click.native="redictToModules(modules)">
           <div class="modules-item flex-align-center">
+            <div class="setting-panel">
+              <el-dropdown placement="top">
+                <span class="el-dropdown-link">
+                  <i class="el-icon-setting"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item @click.native="addToshortBar(modules)">添加到快捷操作</el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+            </div>
             <img width="50" height="50" :src="modules.iconurl" alt="">
             <p>{{modules.systemmodulename}}<br><small class="info">{{(modules.systemmodule).toUpperCase()}}</small></p>
           </div>
@@ -53,6 +63,16 @@ export default {
       sessionStorage.setItem('active_modules',JSON.stringify(item))
       window.sessionStorage.setItem('currentPath',item.apps[0].path)
     },
+    async addToshortBar (item) {
+      const res = await this.$api.requested({
+        "classname": "sysmanage.develop.userauth.userauth",
+        "method": "create_usershortcuts",
+        "content": {
+          "systemmoduleid":item.systemmoduleid
+        }
+      })
+      this.$store.dispatch('setUsershortcuts')
+    },
     async getDataOverview () {
       const res = await this.$api.requested({
         "classname": "webmanage.dataanalysis.data",
@@ -80,6 +100,7 @@ export default {
   font-weight: bold;
 }
 .modules-item{
+  position: relative;
   padding: 20px;
   border-radius: 8px;
   cursor: pointer;
@@ -90,4 +111,13 @@ export default {
 .modules-item:hover{
   background: #EAF1FE;
 }
+.setting-panel{
+  position: absolute;
+  display: none;
+  right:10px;
+  top:10px;
+}
+.modules-item:hover .setting-panel{
+  display: block;
+}
 </style>

+ 1 - 2
src/views/select_accounts/index.vue

@@ -42,7 +42,6 @@ export default {
       })
 
       this.auth_data = res.data
-      console.log(res.data)
       sessionStorage.setItem('module_info', JSON.stringify(this.auth_data))
       this.$router.push('/main')
     },
@@ -59,7 +58,7 @@ export default {
         salematerialfolderid: res.data.salematerialfolderid // 营销物文件夹ID
       }
       sessionStorage.setItem('folderid',JSON.stringify(obj))
-    },
+    }
   },
   created () {
     this.account_list = JSON.parse(sessionStorage.getItem('account_list'))