Browse Source

广告位管理

zhangqiOMG 2 years ago
parent
commit
7c2a722f07
41 changed files with 396 additions and 62 deletions
  1. 11 0
      package-lock.json
  2. 1 0
      package.json
  3. 3 3
      src/HManagement/archvies_mag/components/filelist.vue
  4. 19 20
      src/HManagement/archvies_mag/modules/list.vue
  5. 72 0
      src/HManagement/siteManage/advertisement_mag/index.vue
  6. 183 0
      src/HManagement/siteManage/advertisement_mag/modules/setting.vue
  7. 2 2
      src/HManagement/submit/index.vue
  8. 6 0
      src/api/request.js
  9. 13 18
      src/components/layout/modules/aside.vue
  10. 1 1
      src/components/upload/hw_obs_upload.vue
  11. 40 16
      src/router/HManagement.js
  12. 5 2
      src/router/SManagement.js
  13. 1 0
      yos/css/250.39364e34.css
  14. 1 0
      yos/css/380.39364e34.css
  15. 1 0
      yos/css/388.146b4ad1.css
  16. 0 0
      yos/css/about.16b9f500.css
  17. 0 0
      yos/css/app.ab7948cf.css
  18. BIN
      yos/favicon.ico
  19. BIN
      yos/fonts/element-icons.f1a45d74.ttf
  20. BIN
      yos/fonts/element-icons.ff18efd1.woff
  21. BIN
      yos/fonts/iconfont.25db8086.woff2
  22. BIN
      yos/fonts/iconfont.9fd356c2.woff
  23. BIN
      yos/fonts/iconfont.ba590032.ttf
  24. BIN
      yos/img/bg.e258adac.png
  25. 34 0
      yos/img/iconfont.69177fb1.svg
  26. 1 0
      yos/img/more.58cd973b.svg
  27. 1 0
      yos/img/work_station.550df9c4.svg
  28. 1 0
      yos/index.html
  29. 0 0
      yos/js/250.501b3292.js
  30. 0 0
      yos/js/380-legacy.2fdd55da.js
  31. 0 0
      yos/js/388-legacy.fe6a2bf3.js
  32. 0 0
      yos/js/388.cb9ca86c.js
  33. 0 0
      yos/js/457-legacy.a811cd1d.js
  34. 0 0
      yos/js/457.ba340fac.js
  35. 0 0
      yos/js/774.28633773.js
  36. 0 0
      yos/js/about-legacy.5e5f4464.js
  37. 0 0
      yos/js/about.589beedc.js
  38. 0 0
      yos/js/app-legacy.050e9680.js
  39. 0 0
      yos/js/app.13346b41.js
  40. 0 0
      yos/js/chunk-vendors-legacy.7ae3c426.js
  41. 0 0
      yos/js/chunk-vendors.c9090366.js

+ 11 - 0
package-lock.json

@@ -19,6 +19,7 @@
         "element-ui": "^2.15.6",
         "file-saver": "^2.0.5",
         "js-md5": "^0.7.3",
+        "nprogress": "^0.2.0",
         "script-loader": "^0.7.2",
         "vue": "^2.6.14",
         "vue-countupjs": "^1.0.0",
@@ -8795,6 +8796,11 @@
         "node": ">=4"
       }
     },
+    "node_modules/nprogress": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz",
+      "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA=="
+    },
     "node_modules/nth-check": {
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.0.1.tgz",
@@ -19714,6 +19720,11 @@
         }
       }
     },
+    "nprogress": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz",
+      "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA=="
+    },
     "nth-check": {
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.0.1.tgz",

+ 1 - 0
package.json

@@ -19,6 +19,7 @@
     "element-ui": "^2.15.6",
     "file-saver": "^2.0.5",
     "js-md5": "^0.7.3",
+    "nprogress": "^0.2.0",
     "script-loader": "^0.7.2",
     "vue": "^2.6.14",
     "vue-countupjs": "^1.0.0",

+ 3 - 3
src/HManagement/archvies_mag/components/filelist.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-row :gutter="10" class="folder-list">
+    <!-- <el-row :gutter="10" class="folder-list">
       <el-col :span="2" v-for="folder in list" :key="folder.id" v-show="folder. postfix === 'FOLDER'">
         <div class="folder-item" :class="folder.checked?'checked':''">
           <el-checkbox class="folder-checkbox" v-model="folder.checked" @change="onChange(folder)"></el-checkbox>
@@ -11,9 +11,9 @@
           <p v-else>{{folder.document}}</p>
         </div>
       </el-col>
-    </el-row>
+    </el-row> -->
     <el-row :gutter="10" class="folder-list">
-      <el-col :span="2" v-for="folder in list" :key="folder.id" v-show="folder. postfix !== 'FOLDER'">
+      <el-col :span="2" v-for="folder in list" :key="folder.id">
         <div class="folder-item" :class="folder.checked?'checked':''">
           <el-checkbox class="folder-checkbox" v-model="folder.checked" @change="onChange(folder)"></el-checkbox>
           <div class="img-panel">

+ 19 - 20
src/HManagement/archvies_mag/modules/list.vue

@@ -12,21 +12,9 @@
         <i class="el-icon-refresh" style="margin-left:16px" @click="queryAttachment(params.content.where.condition = '')"></i>
       </div>
     </div>
-    <div style="height:calc(100vh - 255px);overflow-y:scroll" class="container normal-panel">
+    <div ref="ele" id="scroll" style="height:calc(100vh - 255px);overflow-y:scroll" class="container normal-panel">
       <el-row :gutter="10" class="folder-list">
-        <el-col :span="2" v-for="folder in list" :key="folder.id" v-show="folder.postfix === 'FOLDER'">
-          <div class="folder-item" :class="folder.ischeck?'checked':''">
-            <el-checkbox class="folder-checkbox" v-model="folder.ischeck" @change="onChange(folder)"></el-checkbox>
-            <div class="img-panel">
-              <img @click="folderDetails(folder.attachmentid)" src="../../../assets/file_icons/folder.png" alt="">
-            </div>
-            <input v-if="folder.newfolder" type="text" v-model="folder.document" autofocus size="mini" @blur="changeFolderName(folder)">
-            <p @click="folderDetails(folder.attachmentid)" v-else>{{folder.document}}</p>
-          </div>
-        </el-col>
-      </el-row>
-      <el-row :gutter="10" class="folder-list">
-        <el-col :span="2" v-for="folder in list" :key="folder.id" v-show="folder.postfix !== 'FOLDER'">
+        <el-col :span="2" v-for="folder in list" :key="folder.id" @click.native="folderDetails(folder)">
           <div class="folder-item" :class="folder.ischeck?'checked':''">
             <el-checkbox class="folder-checkbox" v-model="folder.ischeck" @change="onChange(folder)"></el-checkbox>
             <div class="img-panel">
@@ -40,6 +28,7 @@
               <img v-else  src="../../../assets/file_icons/unknow.png" alt="">
             </div>
             <input v-if="folder.newfolder" type="text" v-model="folder.document" autofocus size="mini" @blur="changeFolderName(folder)">
+            <!-- <p v-else>{{folder.document}}</p> -->
             <p v-else>{{folder.document}}</p>
           </div>
         </el-col>
@@ -83,6 +72,8 @@ export default {
       sort:[],
       total:0,
       currentPage:0,
+      isLoad:true,
+      msg:"正在加载"
     }
   },
   methods:{
@@ -125,21 +116,29 @@ export default {
       })
       this.$emit('folderChecked',checkArray)
     },
-    folderDetails (attachmentid) {
-      this.$router.push({path:'/archvies_mag',query:{id:attachmentid}})
-      this.$emit('toFolderDetail',attachmentid)
-      this.queryAttachment(attachmentid)
+    folderDetails (folder) {
+      if (folder.postfix === 'FOLDER') {
+        this.$router.push({path:'/archvies_mag',query:{id:folder.attachmentid}})
+        this.$emit('toFolderDetail',folder.attachmentid)
+        this.queryAttachment(folder.attachmentid)
+      }
     },
     restChecked () {
       this.list.forEach((e,index)=>{
         e.ischeck = false
       })
-    }
+    },
   },
+
   mounted () {
-    
+    // 根据容器高度计算需要的数据条数
+    var heightCss = window.getComputedStyle(this.$refs.ele).height
+    this.params.content.pageSize = Math.ceil((heightCss.match(/\d+/g) / 114)) *12
     this.queryAttachment()
   },
+  // 离开这个页面销毁滚动条事件,不然会给每一个页面都触发
+  beforeDestroy() {
+  },
   watch:{
     $route () {
       this.queryAttachment()

+ 72 - 0
src/HManagement/siteManage/advertisement_mag/index.vue

@@ -0,0 +1,72 @@
+<template>
+  <div style="padding:0 20px">
+    <el-row :gutter="20">
+      <el-col :span="8" v-for="card in list" :key="card.index" style="margin:20px 0">
+        <el-card shadow="none" >
+          <el-carousel :interval="5000" arrow="always">
+            <el-carousel-item v-for="item in card.ads" :key="item.index">
+              <img style="width:100%" :src="item.attinfos[0]?item.attinfos[0].url:''" alt="">
+              <!-- <previewImage style="width:100%" :image="item.attinfos[0]?item.attinfos[0]:''"></previewImage> -->
+            </el-carousel-item>
+          </el-carousel>
+          <div>
+            <p>{{card.notes}} <small style="float:right;color:#999">{{card.dimensional}}</small></p>
+            <div class="flex">
+              <div>
+                <el-tag style="margin:10px 10px 0 0">{{card.systemclient}}</el-tag>
+                <el-tag>{{card.location}}</el-tag>
+              </div>
+              <setting :banner="card.ads" :sys_adspaceid="card.sys_adspaceid " @onSuccess="listData"></setting>
+              <!-- <i style="font-size:16px;color:#666" class="el-icon-setting"></i> -->
+            </div>
+          </div>
+        </el-card>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import previewImage from '@/components/previewImage/index.vue'
+import setting from './modules/setting.vue'
+export default {
+  components:{
+    setting,
+    previewImage
+  },
+  data () {
+    return {
+      list:[]
+    }
+  },
+  methods:{
+    listData () {
+      this.$api.requested({
+        "classname": "webmanage.adspace.adspace",
+        "method": "query_adspacelist",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+        }
+      }).then(res=>{
+        this.list = res.data
+      })
+    }
+  },
+  mounted () {
+    this.listData()
+  }
+}
+
+</script>
+<style>
+
+</style>
+<style scoped>
+.flex{
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  /* cursor: pointer; */
+}
+</style>

+ 183 - 0
src/HManagement/siteManage/advertisement_mag/modules/setting.vue

@@ -0,0 +1,183 @@
+<template>
+  <div>
+    <el-button type="text" icon="el-icon-setting" @click="drawer = true">设 置</el-button>
+    <el-drawer
+      title="设置宣传图"
+      :visible.sync="drawer"
+      direction="rtl"
+      size="424px">
+      <div style="padding:20px">
+        <uploadImg btntype="limage" :folderid="folderid" accept=".JPG,.PNG" :bindData="{ownertable:'sys_ad',ownerid:sys_adspaceid,usetype:'default'}" @onSuccess="onSuccess"></uploadImg>
+        <div v-for="(item,index) in banner" :key="index" class="banner_item">
+          <img style="width:100%" :src="item.attinfos[0]?item.attinfos[0].url:''" alt="">
+          <!-- <previewImage :image="item.attinfos[0]?item.attinfos[0]:''"></previewImage> -->
+          <div class="model">
+            <i class="el-icon-edit" style="font-size:36px;" @click="onEdit(item,index)"></i>
+            <i class="el-icon-delete" style="font-size:36px" @click="deleteData(item,index)"></i>
+          </div>
+        </div>
+      </div>
+    </el-drawer>
+    <el-dialog title="图片设置" :visible.sync="dialogFormVisible" width="500px">
+      <el-form label-width="100px" label-position	="left" size="small" :model="form" :rules="rules" ref="ruleForm">
+        <el-form-item label="链接地址" prop="hyperlink">
+          <el-input v-model="form.hyperlink" autocomplete="off" placeholder="输入链接地址" clearable></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false" size="small">取 消</el-button>
+        <el-button type="primary" @click="insertormodify_bannermag('ruleForm')" size="small">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import previewImage from '@/components/previewImage/index.vue'
+
+import uploadImg from '@/components/upload/hw_obs_upload.vue'
+export default {
+  props:['sys_adspaceid','banner'],
+  components:{
+    uploadImg,
+    previewImage
+  },
+  data () {
+    return {
+      rules: {
+        hyperlink: [
+          { required: true, message: '输入链接地址', trigger: 'blur' },
+        ]
+      },
+      drawer:false,
+      dialogFormVisible:false,
+      form:{},
+      date: function () {
+        let date = (new Date()).getTime()
+        return date
+      },
+      selectBanner:{},
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+    }
+  },
+  methods:{
+    async onSuccess(res){
+      const bindata = await this.create()
+      this.bindFileData(bindata,res)
+    },
+    // 创建一条banner记录
+    create () {
+      return new Promise((reslove,reject)=>{
+        this.$api.requested({
+         "classname": "webmanage.adspace.adspace",
+          "method": "insertormodify_ad",
+          "content": {
+            "sys_adspaceid": this.sys_adspaceid,
+            "sys_adid": 0,
+            "hyperlink":"",
+            "isused": 1
+          }
+        }).then(res=>{
+          reslove(res.data)
+        })
+      })
+    },
+    // 绑定附件信息
+    async bindFileData(bindata,fileData) {
+      const res = await this.$api.requested({
+        "classname": "system.attachment.Attachment",
+        "method": "createFileLink",
+        "content": {
+          "ownertable": 'sys_ad',
+          "ownerid": bindata.sys_adid,
+          "usetype": "default",
+          "attachmentids": [
+            fileData.data.attachmentids[0]
+          ]
+        }
+      })
+      res.code === 1?this.$emit('onSuccess'):""
+    },
+    deleteData (item,index) {
+       this.$api.requested({
+        "classname": "webmanage.adspace.adspace",
+        "method": "delete_ad",
+        "content": {
+            "sys_adspaceid": this.sys_adspaceid,
+            "sys_adid": item.sys_adid
+        }
+      }).then(res=>{
+        this.tool.showMessage(res,(e=>{
+          this.$emit('onSuccess')
+          this.banner.splice(index,1)
+        }))
+      })
+    },
+    onEdit (item,index) {
+      this.form = {
+        "sys_adspaceid": item.sys_adspaceid,
+        "sys_adid": item.sys_adid,
+        "hyperlink":item.hyperlink,
+        "isused": item.isused
+      }
+      this.selectBanner = item
+      this.dialogFormVisible = true
+      this.drawer = false
+    },
+    insertormodify_bannermag (formName) {
+      let param = {
+        "classname": "webmanage.adspace.adspace",
+        "method": "insertormodify_ad",
+        "content": {
+            "sys_adspaceid": this.form.sys_adspaceid,
+            "sys_adid": this.form.sys_adid,
+            "hyperlink":this.form.hyperlink,
+            "isused": this.form.isused
+        }
+      }
+      this.$refs[formName].validate((valid) => {
+        if (!valid) return false;
+        this.$api.requested(param).then(res=>{
+          this.tool.showMessage(res,(e=>{
+            this.dialogFormVisible = false
+            this.drawer = true
+            this.$emit('onSuccess')
+          }))
+        })
+      })
+    }
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.banner_item{
+  position: relative;
+  min-height: 200px;
+  /* width: 100%; */
+  border: 1px solid #999;
+  border-radius:5px;
+  margin: 15px 0;
+  overflow: hidden;
+  cursor: pointer;
+  
+}
+.model{
+  
+  position: absolute;
+  display: none;
+  align-items: center;
+  justify-content: space-around;
+  width:100%;
+  height: 100%;
+  top:0;
+  left:0;
+  color: #fff;
+  background: rgba(0,0,0,0.5);
+}
+.banner_item:hover .model{
+ display: flex;
+}
+</style>

+ 2 - 2
src/HManagement/submit/index.vue

@@ -3,10 +3,10 @@
     <list ref="list">
       <el-button slot="add" icon="el-icon-plus" type="primary" size="small" @click="$router.push({path:'/submit_add'})">新 增</el-button>
       <template v-if="tool.checkAuth($route.name,'read')" v-slot:detail="scope">
-        <el-button class="inline-16" type="text" size="mini" @click="$router.replace({path:'/submit_detail',query:{id:scope.data.data.sat_submiteditmodelid}})">明 细</el-button>
+        <el-button class="inline-16" type="text" size="mini" @click="$router.push({path:'/submit_detail',query:{id:scope.data.data.sat_submiteditmodelid}})">明 细</el-button>
       </template>
       <template v-if="tool.checkAuth($route.name,'update')" v-slot:edit="scope">
-        <el-button class="inline-16" type="text" size="mini" @click="$router.replace({path:'/submit_edit',query:{id:scope.data.data.sat_submiteditmodelid}})">编 辑</el-button>
+        <el-button class="inline-16" type="text" size="mini" @click="$router.push({path:'/submit_edit',query:{id:scope.data.data.sat_submiteditmodelid}})">编 辑</el-button>
       </template>
       <template v-if="tool.checkAuth($route.name,'update')" v-slot:release="scope">
         <release :data="scope.data.data" @onSuccess="onSuccess"></release>

+ 6 - 0
src/api/request.js

@@ -8,6 +8,9 @@ import router from '../router'
 
 import store from "../store/index"
 
+import Nprogress from 'nprogress'
+
+import 'nprogress/nprogress.css'
 // 根据浏览器地址动态获取接口地址
 function GET_API_URL () {
     var str = window.location.href;
@@ -31,6 +34,8 @@ const service = axios.create({
 let loadingInstance = ''
 // 2.请求拦截器
 service.interceptors.request.use(config => {
+    Nprogress.start()
+
     store.state.loading = true //在请求发出之前进行一些操作
     const token = sessionStorage.getItem('active_account')?JSON.parse(sessionStorage.getItem('active_account')).token:'' //这里取token之前,你肯定需要先拿到token,存一下
     //发请求前做的一些处理,数据转化,配置请求头,设置token,设置loading等,根据需求去添加
@@ -52,6 +57,7 @@ service.interceptors.request.use(config => {
 
 // 3.响应拦截器
 service.interceptors.response.use(response => {
+        Nprogress.done()
         //接收到响应数据并成功后的一些共有的处理,关闭loading等
         setTimeout(() => {
             store.state.loading = false

+ 13 - 18
src/components/layout/modules/aside.vue

@@ -1,7 +1,7 @@
 <template>
   <el-menu
     style="height: calc(100vh - 100px);overflow-y:scroll"
-    :default-active="getCurrentPath"
+    :default-active="activePath"
     class="el-menu-vertical-demo"
     @open="handleOpen"
     @close="handleClose"
@@ -9,7 +9,7 @@
     text-color="#666"
     active-text-color="#fff"
     router>
-     <el-menu-item v-for="item in auth_data" :key="item.systemappid" :index="item.path" @click="itemClick(item.path)">
+     <el-menu-item v-for="item in auth_data" :key="item.systemappid" :index="item.path">
       <span slot="title">{{item.meta.title}}</span>
     </el-menu-item>
   </el-menu>
@@ -19,7 +19,7 @@
 export default {
   data () {
     return {
-      activePath:'',
+      activePath:null,
       auth_data:'',
     }
   },
@@ -37,27 +37,22 @@ export default {
     getAuthList () {
       let active_modules = JSON.parse(sessionStorage.getItem('active_modules'))
       this.auth_data = active_modules.apps
-      this.activePath = active_modules.apps[0].path
-    },
-    itemClick(path) {
-      window.sessionStorage.setItem('currentPath',path)
-    },
+      if (this.activePath) {
+        this.activePath = active_modules.apps[0].path
+      } else {
+        this.activePath = this.$route.path
+      }
+    }
   },
   
   created () {    
-    this.activePath = this.$route.path
     this.getAuthList()
   },
   watch:{
-    $route(){
-      if(this.$route.path == '/submiteditmag_detail' || this.$route.path == '/upload_archives' || this.$route.path == '/role_edit') {
-        return 
-      }
-      this.activePath = this.$route.path
-    },
-    activePath: {
-      handler(val) {
-        window.sessionStorage.setItem('currentPath',this.$route.path)
+    $route(to,from){
+      console.log(to,from)
+      if (!to.meta.keeproute) {
+        this.activePath = this.$route.path
       }
     }
   }

+ 1 - 1
src/components/upload/hw_obs_upload.vue

@@ -180,7 +180,7 @@ export default {
   cursor: pointer;
 }
 .limage-upload-btn{
-    width: 384px !important;
+  width: 384px !important;
 }
 </style>
 

+ 40 - 16
src/router/HManagement.js

@@ -38,7 +38,8 @@ const HManagement = [
     name: 'roles',
     meta: {
       title: '角色详情',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/roleManage/modules/role_details.vue')
   }, {
@@ -46,7 +47,8 @@ const HManagement = [
     name: 'roles',
     meta: {
       title: '编辑角色',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/roleManage/modules/edit_role.vue')
   }, {
@@ -62,7 +64,8 @@ const HManagement = [
     name: 'users',
     meta: {
       title: '账号详情',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: resolve => require(['@/HManagement/accountManage/modules/account_detail'], resolve)
   }, {
@@ -78,7 +81,8 @@ const HManagement = [
     name: 'depManage',
     meta: {
       title: '员工详情',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/department/staff/detail/index.vue')
   }, {
@@ -102,7 +106,8 @@ const HManagement = [
     name: 'salermag',
     meta: {
       title: '业务员详情',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/marketing/saler/modules/saler_detail.vue')
   }, {
@@ -118,7 +123,8 @@ const HManagement = [
     name: 'salermag',
     meta: {
       title: '编辑经销商',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/marketing/agent/modules/edit_agent.vue')
   }, {
@@ -126,7 +132,8 @@ const HManagement = [
     name: 'salermag',
     meta: {
       title: '经销商详情',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/marketing/agent/modules/agent_detail.vue')
   }, {
@@ -150,7 +157,8 @@ const HManagement = [
     name: 'noticemag',
     meta: {
       title: '编辑通告',
-      ast_nav:true
+      ast_nav:true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/notice/list/modules/edit_notice.vue')
   },{
@@ -166,7 +174,8 @@ const HManagement = [
     name: 'noticemag',
     meta: {
       title: '数据分析',
-      ast_nav:true
+      ast_nav:true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/notice/dataAnalysis/index.vue')
   },{
@@ -190,7 +199,8 @@ const HManagement = [
     name: 'submit_mag',
     meta: {
       title: '提报管理',
-      ast_nav:true
+      ast_nav:true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/submit/list/modules/submit_edit.vue')
   },{
@@ -198,7 +208,8 @@ const HManagement = [
     name: 'submit_mag',
     meta: {
       title: '提报明细',
-      ast_nav:true
+      ast_nav:true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/submit/list/modules/content.vue')
   },{
@@ -206,7 +217,8 @@ const HManagement = [
     name: 'submit_mag',
     meta: {
       title: '数据分析',
-      ast_nav:true
+      ast_nav:true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/submit/dataAnalysis/index.vue')
   },{
@@ -230,7 +242,8 @@ const HManagement = [
     name: 'archives_scmag',
     meta: {
       title: '编辑课程',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/archives_sc/list/modules/add.vue')
   }, {
@@ -238,7 +251,8 @@ const HManagement = [
     name: 'archives_scmag',
     meta: {
       title: '编辑课程',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/archives_sc/list/modules/edit.vue')
   },{
@@ -246,7 +260,8 @@ const HManagement = [
     name: 'archives_scmag',
     meta: {
       title: '课程详情',
-      ast_nav:true
+      ast_nav:true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/archives_sc/list/modules/details.vue')
   },{
@@ -262,7 +277,8 @@ const HManagement = [
     name: 'archives_scmag',
     meta: {
       title: '数据分析',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/archives_sc/dataAnalysis/index.vue')
   }, {
@@ -273,6 +289,14 @@ const HManagement = [
       ast_nav: true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/siteManage/securityConfig/index.vue')
+  } ,{
+    path: '/advertisement_mag',
+    name: 'advertisement_mag',
+    meta: {
+      title: '广告位管理',
+      ast_nav: true
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HManagement/siteManage/advertisement_mag/index.vue')
   }
 ]
 export default HManagement

+ 5 - 2
src/router/SManagement.js

@@ -45,6 +45,7 @@ const SManagement = [{
   meta: {
     title: '上传素材',
     ast_nav: true,
+    keeproute:true
   },
   component: () => import(/* webpackChunkName: "about" */ '@/SManagement/archives_upload/index.vue')
 }, {
@@ -85,7 +86,8 @@ const SManagement = [{
   name: 'submiteditmag',
   meta: {
     title: '提报详情',
-    ast_nav: true
+    ast_nav: true,
+    keeproute:true
   },
   component: () => import(/* webpackChunkName: "about" */ '@/SManagement/submitedit_details/index')
 }, {
@@ -128,7 +130,8 @@ const SManagement = [{
   name: 'roleEdit',
   meta: {
     title: '角色操作',
-    ast_nav: true
+    ast_nav: true,
+    keeproute:true
   },
   component: () => import(/* webpackChunkName: "about" */ '@/SManagement/user/role-edit/RoleEdit')
 }

+ 1 - 0
yos/css/250.39364e34.css

@@ -0,0 +1 @@
+.title[data-v-0e4e8f4b]{height:20px;line-height:20px;font-size:14px;text-indent:7px;font-weight:700;color:#333;margin-bottom:20px;border-left:4px solid #3874f6}.mb-40[data-v-0e4e8f4b]{margin-bottom:40px}

+ 1 - 0
yos/css/380.39364e34.css

@@ -0,0 +1 @@
+.title[data-v-0e4e8f4b]{height:20px;line-height:20px;font-size:14px;text-indent:7px;font-weight:700;color:#333;margin-bottom:20px;border-left:4px solid #3874f6}.mb-40[data-v-0e4e8f4b]{margin-bottom:40px}

+ 1 - 0
yos/css/388.146b4ad1.css

@@ -0,0 +1 @@
+.el-input-group__append,.el-input-group__prepend{background-color:#4f7bfd;color:#fff;border:1px solid #4f7bfd;cursor:pointer}.search-panel p[data-v-30b891b2]{flex:1 0 auto;width:40px;font-size:14px}.dialog-footer[data-v-2aabbbe0],.dialog-footer[data-v-48c8820a]{margin-top:32px;text-align:center}.role_panel{padding:10px;border:1px solid #ebe3e3;font-size:.875rem;cursor:pointer;border-radius:4px;color:#666;transition:.2s linear}.on[data-v-0096b51c]{border:1px solid #4f7bfd;background:#4f7bfd;color:#fff}.title[data-v-0e4e8f4b]{height:20px;line-height:20px;font-size:14px;text-indent:7px;font-weight:700;color:#333;margin-bottom:20px;border-left:4px solid #3874f6}.mb-40[data-v-0e4e8f4b]{margin-bottom:40px}.borderRight[data-v-4cff6729]{border-right:1px solid #ccc}

File diff suppressed because it is too large
+ 0 - 0
yos/css/about.16b9f500.css


File diff suppressed because it is too large
+ 0 - 0
yos/css/app.ab7948cf.css


BIN
yos/favicon.ico


BIN
yos/fonts/element-icons.f1a45d74.ttf


BIN
yos/fonts/element-icons.ff18efd1.woff


BIN
yos/fonts/iconfont.25db8086.woff2


BIN
yos/fonts/iconfont.9fd356c2.woff


BIN
yos/fonts/iconfont.ba590032.ttf


BIN
yos/img/bg.e258adac.png


File diff suppressed because it is too large
+ 34 - 0
yos/img/iconfont.69177fb1.svg


+ 1 - 0
yos/img/more.58cd973b.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22"><defs><style>.a{fill:none;}.b{fill:#fff;}</style></defs><g transform="translate(-262.326 -384.891)"><rect class="a" width="22" height="22" transform="translate(262.326 384.891)"/><g transform="translate(63.177 -349.635)"><rect class="b" width="22" height="2" rx="1" transform="translate(199.149 735.525)"/><rect class="b" width="22" height="2" rx="1" transform="translate(199.149 744.166)"/><rect class="b" width="22" height="2" rx="1" transform="translate(199.149 752.806)"/></g></g></svg>

+ 1 - 0
yos/img/work_station.550df9c4.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><defs><style>.a{fill:none;}.b{fill:#fff;}</style></defs><g transform="translate(80 -466)"><rect class="a" width="30" height="30" transform="translate(-80 466)"/><path class="b" d="M86.087,724.24l-4.151,4.15a2.607,2.607,0,0,1-3.688,0L74.1,724.24a2.608,2.608,0,0,1,0-3.689l4.151-4.151a2.607,2.607,0,0,1,3.688,0l4.151,4.151a2.608,2.608,0,0,1,0,3.689Zm-16.757,17.4H63.46a2.608,2.608,0,0,1-2.609-2.609v-5.87a2.609,2.609,0,0,1,2.609-2.609h5.87a2.609,2.609,0,0,1,2.609,2.609v5.87a2.608,2.608,0,0,1-2.609,2.609Zm0-13.7H63.46a2.609,2.609,0,0,1-2.609-2.609v-5.87a2.608,2.608,0,0,1,2.609-2.609h5.87a2.609,2.609,0,0,1,2.609,2.609v5.87a2.609,2.609,0,0,1-2.609,2.609Zm7.827,2.609h5.87a2.609,2.609,0,0,1,2.609,2.609v5.87a2.608,2.608,0,0,1-2.609,2.609h-5.87a2.608,2.608,0,0,1-2.609-2.609v-5.87a2.609,2.609,0,0,1,2.609-2.609Zm0,0" transform="translate(-138.851 -247.636)"/></g></svg>

+ 1 - 0
yos/index.html

@@ -0,0 +1 @@
+<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>yos_manage</title><script defer="defer" type="module" src="js/chunk-vendors.c9090366.js"></script><script defer="defer" type="module" src="js/app.13346b41.js"></script><link href="css/app.ab7948cf.css" rel="stylesheet"><script defer="defer" src="js/chunk-vendors-legacy.7ae3c426.js" nomodule></script><script defer="defer" src="js/app-legacy.050e9680.js" nomodule></script></head><body><noscript><strong>We're sorry but yos_manage doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because it is too large
+ 0 - 0
yos/js/250.501b3292.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/380-legacy.2fdd55da.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/388-legacy.fe6a2bf3.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/388.cb9ca86c.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/457-legacy.a811cd1d.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/457.ba340fac.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/774.28633773.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/about-legacy.5e5f4464.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/about.589beedc.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/app-legacy.050e9680.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/app.13346b41.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/chunk-vendors-legacy.7ae3c426.js


File diff suppressed because it is too large
+ 0 - 0
yos/js/chunk-vendors.c9090366.js


Some files were not shown because too many files changed in this diff