Ver Fonte

2022-8-5

zhangqiOMG há 3 anos atrás
pai
commit
0fa8a83e68
50 ficheiros alterados com 125 adições e 359 exclusões
  1. 1 1
      src/HManagement/archvies_mag/modules/add.vue
  2. 2 1
      src/HManagement/archvies_mag/modules/edit.vue
  3. 2 2
      src/HManagement/archvies_mag/modules/list.vue
  4. 1 1
      src/HManagement/archvies_mag/modules/modifyLocation.vue
  5. 2 2
      src/HManagement/archvies_mag/modules/moreOperation.vue
  6. 1 1
      src/HManagement/clueManage/clue_import/modules/importClue.vue
  7. 1 1
      src/HManagement/clueManage/clue_private/modules/detail.vue
  8. 0 2
      src/HManagement/clueManage/clue_rule/modules/setRule.vue
  9. 9 3
      src/HManagement/department/index.vue
  10. 5 5
      src/HManagement/marketing/agent/modules/add_agent.vue
  11. 9 3
      src/HManagement/marketing/index.vue
  12. 10 7
      src/HManagement/roleManage/modules/auth_list.vue
  13. 4 15
      src/HManagement/roleManage/modules/edit_role.vue
  14. 0 1
      src/api/request.js
  15. 2 0
      src/assets/message.svg
  16. 2 0
      src/assets/nav_icon/mediastock.svg
  17. 0 0
      src/assets/nav_icon/message.svg
  18. 1 1
      src/components/dynamic-table/index.vue
  19. 3 3
      src/components/layout/index.vue
  20. 3 3
      src/components/scopeOfAuthority/index.vue
  21. 0 254
      src/components/scopeOfAuthority/index2.vue
  22. 4 3
      src/components/scopeOfAuthority/modules/dep_auth.vue
  23. 3 3
      src/components/scopeOfAuthority/modules/mar_auth.vue
  24. 1 2
      src/components/selectAgent/area/list.vue
  25. 1 2
      src/components/selectMenber/modules/dep_list.vue
  26. 7 7
      src/components/socketMessage/index.vue
  27. 1 1
      src/components/uploadBindMediaStock/modules/list.vue
  28. 2 1
      src/router/HManagement.js
  29. 1 1
      src/style/style.css
  30. 2 1
      src/views/login/login.vue
  31. 17 10
      src/views/mediaStatistics/modules/downloadTraffic.vue
  32. 17 10
      src/views/mediaStatistics/modules/storageCapacity.vue
  33. 8 10
      src/views/mediaStock/modules/delete.vue
  34. 1 1
      src/views/mediaStock/modules/list.vue
  35. 0 0
      yos/css/about.0aa5efab.css
  36. 0 0
      yos/css/about.d44b6232.css
  37. 0 0
      yos/css/app.83be7ebe.css
  38. 0 0
      yos/css/app.e4bc428b.css
  39. 1 0
      yos/img/message.99a6561b.svg
  40. 1 1
      yos/index.html
  41. 0 0
      yos/js/210-legacy.5aaa50be.js
  42. 0 0
      yos/js/476.c5b35274.js
  43. 0 0
      yos/js/702-legacy.7359bc85.js
  44. 0 0
      yos/js/702.a6cda3be.js
  45. 0 0
      yos/js/about-legacy.90570e39.js
  46. 0 0
      yos/js/about.03251653.js
  47. 0 0
      yos/js/app-legacy.3d8ca908.js
  48. 0 0
      yos/js/app-legacy.ff741a04.js
  49. 0 0
      yos/js/app.28a2a7d5.js
  50. 0 0
      yos/js/app.8845b340.js

+ 1 - 1
src/HManagement/archvies_mag/modules/add.vue

@@ -6,7 +6,7 @@
         <p style="width:100px">文件夹名称</p>
         <el-input size="small" v-model="folder.document" placeholder="输入文件夹名称"></el-input>
       </div>
-      <scopeOfauth :scrollHeight="'200px'" :defaultData="defaultData" obiectName="sat_salematerial" appidname="attachmentid" @onChecked="onChecked">
+      <scopeOfauth :scrollHeight="'200px'" :defaultData="defaultData" obiectName="sat_salematerial" :obiectId="0" appidname="attachmentid" @onChecked="onChecked">
         <p slot="title">授权文件夹</p>
       </scopeOfauth>
       <div class="dialog-footer">

+ 2 - 1
src/HManagement/archvies_mag/modules/edit.vue

@@ -5,7 +5,7 @@
         <p style="width:100px">文件夹名称</p>
         <el-input readonly size="small" v-model="folder.document"></el-input>
       </div>
-      <scopeOfauth :scrollHeight="'200px'" :defaultData="defaultData" obiectName="sat_salematerial" appidname="attachmentid"  :dataid="folder.attachmentid" @onChecked="onChecked">
+      <scopeOfauth :scrollHeight="'200px'" :defaultData="defaultData" obiectName="sat_salematerial" :obiectId="folder.attachmentid" appidname="attachmentid"  :dataid="folder.attachmentid" @onChecked="onChecked">
         <p slot="title">授权文件夹</p>
       </scopeOfauth>
       <div class="dialog-footer">
@@ -43,6 +43,7 @@ export default {
   methods:{
     onShow () {
       this.folder = Object.assign({},this.folder,this.checklist[0])
+      console.log(this.folder)
       this.dialogFolderVisible = true
       this.query_auth()
     },

+ 2 - 2
src/HManagement/archvies_mag/modules/list.vue

@@ -137,7 +137,7 @@ export default {
   mounted() {
     // 根据容器高度计算需要的数据条数
     var heightCss = window.getComputedStyle(this.$refs.ele).height
-    this.params.content.pageSize = Math.ceil((heightCss.match(/\d+/g) / 114)) * 12
+    this.params.content.pageSize = Math.ceil((heightCss.match(/\d+/g)[0] / 114)) * 12
     this.queryAttachment()
   },
   // 离开这个页面销毁滚动条事件,不然会给每一个页面都触发
@@ -187,7 +187,7 @@ export default {
 .folder-item input {
   width: calc(100% - 8px);
   padding: 2px;
-  margin-top: 10px;
+  margin-top: 0px;
 }
 
 .img-panel {

+ 1 - 1
src/HManagement/archvies_mag/modules/modifyLocation.vue

@@ -56,7 +56,7 @@ export default {
       return new Promise(async (reslove,reject)=>{
         this.params.content.where.parentid = id
         const res = await this.$api.requested(this.params)
-        if (id === JSON.parse(sessionStorage.getItem('folderid')).appfolderid) {
+        if (id === JSON.parse(sessionStorage.getItem('folderid')).salematerialfolderid) {
           this.data = res.data
           this.data.forEach(e => {
             e.children = []

+ 2 - 2
src/HManagement/archvies_mag/modules/moreOperation.vue

@@ -6,7 +6,7 @@
     <el-dropdown-menu slot="dropdown">
       <el-dropdown-item v-if="checklist[0].postfix !== 'FOLDER'" @click.native="showShareurl">分 享</el-dropdown-item>
       <el-dropdown-item @click.native="restName">重命名</el-dropdown-item>
-      <el-dropdown-item @click.native="changeAuthData">修改授权</el-dropdown-item>
+      <el-dropdown-item v-if="checklist[0].postfix === 'FOLDER'" @click.native="changeAuthData">修改授权</el-dropdown-item>
       <el-dropdown-item @click.native="showFileTree">移动到</el-dropdown-item>
     </el-dropdown-menu>
     <modifyLocation ref="modefy" :checklist="checklist" @onChangeFolderModify="onChangeFolderModify"></modifyLocation>
@@ -73,7 +73,7 @@ export default {
     },
     showFileTree () {
       this.$refs.modefy.dialogTreeVisible = true
-      let id = JSON.parse(sessionStorage.getItem('folderid')).appfolderid
+      let id = JSON.parse(sessionStorage.getItem('folderid')).salematerialfolderid
       this.$refs.modefy.queryAttachment(id)
     },
     onChangeFolderModify () {

+ 1 - 1
src/HManagement/clueManage/clue_import/modules/importClue.vue

@@ -29,7 +29,7 @@ export default {
             "attachmentid":data.data.attachmentids[0]
         }
       })
-      if (res.msg !== true) {
+      if (res.msg !== '成功') {
         this.errorurl = res.msg
       } else {
         this.errorurl = null

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

@@ -37,7 +37,7 @@
     </div>
     <div class="container normal-panel">
       <el-descriptions>
-        <div slot="title">跟进记录<i class="el-icon-sort"></i></div>
+        <div slot="title">跟进记录<i @click="followRecord(isdesc === 1?isdesc = 0:isdesc =1)" :class="isdesc === 1?'fa fa-sort-amount-asc':'fa fa-sort-amount-desc'"></i></div>
       </el-descriptions>
       <div class="flex-align-center normal-margin">
         <p>日期:&nbsp;</p>

+ 0 - 2
src/HManagement/clueManage/clue_rule/modules/setRule.vue

@@ -12,8 +12,6 @@
               <p>自动分配&emsp;</p>
               <el-switch
                 v-model="form.autodistribution"
-                active-color="#13ce66"
-                inactive-color="#333"
                 :active-value="1"
                 :inactive-value="0">
               </el-switch>

+ 9 - 3
src/HManagement/department/index.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="flex">
-    <dep-list ref="list" style="flex:0 1 auto;width:240px" @onClick="onClick">
+    <dep-list ref="list" style="width:180px;flex:0 1 auto" @onClick="onClick">
       <template v-slot:operation="data">
         <addDep v-if="tool.checkAuth($route.name,'addDep')" class="inline-16" :data="data.data" @onSuccess="onSuccess"></addDep>
       </template>
     </dep-list>
-    <div style="flex:1;">
-      <div class="container normal-panel normal-margin">
+    <div class="hm-info-panel">
+      <div class="container normal-panel normal-margin sticky">
         <editDep v-if="tool.checkAuth($route.name,'editDep')" class="inline-16" :data="depInfo.data" @editSuccess="editSuccess"></editDep>
         <delDep  v-if="tool.checkAuth($route.name,'delDep')" class="inline-16" :data="depInfo.data" @onSuccess="onSuccess"></delDep>
         <startDep v-if="tool.checkAuth($route.name,'editDep')" class="inline-16" :data="depInfo.data" @stopOrStart="stopOrStart"></startDep>
@@ -101,4 +101,10 @@ export default {
 .flex{
   display: flex;
 }
+.hm-info-panel{
+  flex:1;
+  width:500px;
+  height:calc(100vh - 100px);
+  overflow-y:scroll
+}
 </style>

+ 5 - 5
src/HManagement/marketing/agent/modules/add_agent.vue

@@ -93,15 +93,15 @@ export default {
         "value":[],
         "sa_agentsid": 0,
         "parentid":"",
-        "agentnum":"JX001",
-        "agentname":"嘉兴经销商",
-        "address":"智慧园",
+        "agentnum":"",
+        "agentname":"",
+        "address":"",
         "agenttype":"",
         "signdate":"",
         "grade":'',
         "sa_saleareaid":'',
-        "contact":"测试张",
-        "phonenumber":"13805731234",
+        "contact":"",
+        "phonenumber":"",
         "province":"",
         "city":"",
         "county":""

+ 9 - 3
src/HManagement/marketing/index.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="flex">
     <!-- 营销区域列表 -->
-    <areaTree ref="arealist" style="flex:1 1 auto;min-width:240px" @onClick="onClick">
+    <areaTree ref="arealist" style="width:180px;flex:0 1 auto" @onClick="onClick">
       <template v-slot:operation="data">
         <!-- 新增区域 -->
       <addArea v-if="tool.checkAuth($route.name,'insert')" class="inline-16" :data="data.data" @onSuccess="onSuccess"></addArea>
       </template>
     </areaTree>
-    <div class="main" style="flex:0 1 1;">
-      <div class="container normal-panel normal-margin">
+    <div class="hm-info-panel">
+      <div class="container normal-panel normal-margin sticky">
         <!-- 编辑区域 -->
         <editArea v-if="tool.checkAuth($route.name,'update')" class="inline-16" :data="areaInfo" @editSuccess="editSuccess"></editArea>
          <!-- 删除区域 -->
@@ -134,4 +134,10 @@ export default {
 .flex{
   display: flex;
 }
+.hm-info-panel{
+  flex:1;
+  width:500px;
+  height:calc(100vh - 100px);
+  overflow-y:scroll
+}
 </style>

+ 10 - 7
src/HManagement/roleManage/modules/auth_list.vue

@@ -2,6 +2,10 @@
   <div style="display:inline">
     <el-button type="primary" size="mini" @click="onShow" icon="el-icon-thumb">授 权</el-button>
     <el-dialog class="auth-container" title="授权应用列表" append-to-body :visible.sync="dialogTableVisible" width="90%">
+      <div class="flex-align-center normal-margin">
+        <p style="width:50px">搜索:&nbsp;</p>
+        <el-input style="width:250px" v-model="value" size="small" @keyup.native.enter="query_all_auth(param.content.where.condition = value)" @clear="query_all_auth(param.content.where.condition = '')" placeholder="应用名称" clearable></el-input>
+      </div>
       <el-row :gutter="10">
         <el-col :span="12">
           <el-table
@@ -138,7 +142,8 @@ export default {
       fun_list:[],
       hide_field_list:[],
       func_selection:[],
-      field_selection:[]
+      field_selection:[],
+      value:''
     }
   },
   methods:{
@@ -157,9 +162,7 @@ export default {
     query_all_auth() {
       // this.param.content.roleid = this.data.roleid
       this.$api.requested(this.param).then(res=>{
-        this.list = res.data
-        console.log(this.list);
-        
+        this.list = res.data        
         this.total = res.total
         this.currentPage = res.pageNumber
       })
@@ -184,7 +187,7 @@ export default {
         "classname": "webmanage.role.role",
         "method": "query_appoptionselect",
         "content": {
-          "roleid":this.data.roleid,
+          "roleid":this.$route.query.id,
           "systemappid": row.systemappid
         }
       }).then(res=>{
@@ -198,7 +201,7 @@ export default {
         "classname": "webmanage.role.role",
         "method": "query_apphiddenfieldselect",
         "content": {
-          "roleid":this.data.roleid,
+          "roleid":this.$route.query.id,
           "systemappid": row.systemappid
         }
       }).then(res=>{
@@ -224,7 +227,7 @@ export default {
       this.$api.requested({"classname": "webmanage.role.role",
         "method": "add_appauth",
         "content": {
-          "roleid":this.data.roleid,
+          "roleid":this.$route.query.id,
           "systemapps": [
             {
               "systemappid": this.systemappid,

+ 4 - 15
src/HManagement/roleManage/modules/edit_role.vue

@@ -24,7 +24,7 @@
       <el-row :gutter="20">
         <el-col :span="12">
           <div class="mb-16">
-            <auth :data="{roleid:roleid}" @onSuccess="roleMain"></auth>
+            <auth @onSuccess="roleMain"></auth>
           </div>
           <el-collapse>
             <el-collapse-item title="筛选" name="1">
@@ -125,7 +125,7 @@ export default {
         "classname": "webmanage.role.role",
         "method": "query_roleMain",
         "content": {
-            "roleid":this.roleid
+            "roleid":this.$route.query.id
         }
       })
       this.form = {
@@ -168,20 +168,9 @@ export default {
           "method": "insertormodify_role",
           "content": this.form
         }).then(res=>{
-          if (res.code === 1) {
-            this.$notify({
-              title: '成功',
-              message: '保存成功',
-              type: 'success'
-            });
+          this.tool.showMessage(res,()=>{
             this.$router.replace({path:'/roleEdit',query:{id:res.data.roleid}})
-          } else {
-            this.$notify({
-              title: '失败',
-              message: res.data,
-              type: 'error'
-            });
-          }
+          })
         })
       })
     },

+ 0 - 1
src/api/request.js

@@ -68,7 +68,6 @@ service.interceptors.response.use(response => {
         //在这里对返回的数据进行处理
         if (response.data.code === -1) {
             router.push({path:'/'})
-            return Message.error('登陆状态已过期,请重新登陆!')
         }
         return response.data;
     }, error => {

+ 2 - 0
src/assets/message.svg

@@ -0,0 +1,2 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1659507301196" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4980" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
+</style></defs><path d="M512 34.133333A479.266133 479.266133 0 0 0 34.133333 512v452.266667a26.248533 26.248533 0 0 0 25.6 25.6H512a477.866667 477.866667 0 0 0 0-955.733334z m112.64 737.28h-225.28a34.133333 34.133333 0 0 1 0-68.266666h226.986667a34.133333 34.133333 0 0 1 34.133333 34.133333 35.7376 35.7376 0 0 1-35.84 34.133333z m90.453333-179.2H308.906667a34.133333 34.133333 0 1 1 0-68.266666h406.186666a34.133333 34.133333 0 1 1 0 68.266666z m0-182.613333H308.906667a34.133333 34.133333 0 1 1 0-68.266667h406.186666a34.133333 34.133333 0 1 1 0 68.266667z" fill="#FFFFFF" p-id="4981"></path></svg>

+ 2 - 0
src/assets/nav_icon/mediastock.svg

@@ -0,0 +1,2 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1659509233019" class="icon" viewBox="0 0 1058 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4472" xmlns:xlink="http://www.w3.org/1999/xlink" width="206.640625" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
+</style></defs><path d="M119.432533 954.641067a102.4 102.4 0 0 1-102.4-102.161067V438.8864h1024v413.5936a102.4 102.4 0 0 1-102.4 102.161067z m68.266667-330.171734a34.133333 34.133333 0 0 0 34.133333 34.133334h204.8a34.133333 34.133333 0 0 0 34.133334-34.133334 34.133333 34.133333 0 0 0-34.133334-34.133333h-204.8a34.133333 34.133333 0 0 0-34.0992 34.167467z m-170.666667-254.702933V171.485867a102.4 102.4 0 0 1 102.4-102.126934h273.066667a102.4 102.4 0 0 1 61.44 20.48l81.92 61.44a102.673067 102.673067 0 0 0 61.44 20.48h341.333333a102.4 102.4 0 0 1 102.4 102.126934v96.1536z" fill="#FFFFFF" p-id="4473"></path></svg>

+ 0 - 0
src/assets/nav_icon/主导航/消息/选中.svg → src/assets/nav_icon/message.svg


+ 1 - 1
src/components/dynamic-table/index.vue

@@ -24,7 +24,7 @@ export default {
     custom:是否启用自定义结构;
     opwidth:操作列宽度
   */
-  props:['layout','data','custom','height',],
+  props:['layout','data','custom','height'],
   data () {
     return {
       list:[],

+ 3 - 3
src/components/layout/index.vue

@@ -10,12 +10,12 @@
           <p>工作台</p>
         </div>
         <div class="item" :class="routerName === '消息中心'?'active':''" @click="($router.push('/message'),act_id = null)">
-          <img width="30" src="../../assets/nav_icon/work_station.svg" alt="">
+          <img width="30" src="../../assets/nav_icon/message.svg" alt="">
           <p>消息</p>
         </div>
         <div class="item" :class="item.systemmoduleid === act_id?'active':''" v-for="item in shortcutlist" :key="item.systemmoduleid" @click="redictToModules(item)">
           <p v-if="item.issystem === 0" 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="">
+          <img width="30" :src="item.iconurl_mainnav" alt="">
           <p>{{item.systemmodulename}}</p>
         </div>
       </div>
@@ -33,7 +33,7 @@
         <el-button size="mini" @click="$router.go(-1)">返 回</el-button>
       </div>
       <el-container class="mymain">
-        <el-aside v-if="ast_nav" width="200px"><myaside ref="aside"></myaside></el-aside>
+        <el-aside v-if="ast_nav" width="180px"><myaside ref="aside"></myaside></el-aside>
         <el-container>
           <el-main>
             <router-view></router-view>

+ 3 - 3
src/components/scopeOfAuthority/index.vue

@@ -5,8 +5,8 @@
       <p :class="activeName === '营销组织'?'tab-act':''" @click="tabChange('营销组织')">营销组织</p>
     </div>
     <div style="padding:16px 0;">
-      <dep v-show="activeName === '组织架构'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" @onParams="onParams"></dep>
-      <mar v-show="activeName === '营销组织'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" @onAgentParams="onAgentParams"></mar>
+      <dep v-show="activeName === '组织架构'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" :obiectId="obiectId" @onParams="onParams"></dep>
+      <mar v-show="activeName === '营销组织'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" :obiectId="obiectId" @onAgentParams="onAgentParams"></mar>
     </div>
   </div>
 </template>
@@ -16,7 +16,7 @@ import dep from './modules/dep_auth.vue'
 import mar from './modules/mar_auth.vue'
 
 export default {
-  props:['defaultData','scrollHeight','appidname','dataid','obiectName'],
+  props:['defaultData','scrollHeight','appidname','dataid','obiectName','obiectId'],
   components:{
     dep,
     mar

+ 0 - 254
src/components/scopeOfAuthority/index2.vue

@@ -1,254 +0,0 @@
-<template>
-  <div class="container normal-panel normal-margin" style="line-height:32px">
-    <div v-if="$slots.title">
-      <slot name="title"></slot>
-    </div>
-    <p  v-else class="normal-title normal-margin">发布范围</p>
-    <el-row :gutter="20">
-      <el-col :span="12">
-        <div>
-          <div class="normal-margin" style="height:32px;line-height:32px">
-          </div>
-          <div class="panel">
-            <div class="tab flex-align-center">
-              <p :class="activeName === '组织架构'?'tab-act':''" @click="tabChange('组织架构')">组织架构</p>
-              <p :class="activeName === '营销组织'?'tab-act':''" @click="tabChange('营销组织')">营销组织</p>
-            </div>
-            <div>
-              <deplist ref="dep" v-show="activeName === '组织架构'" :checked="true" :dep_default="defaultData.departmentid" @onChecked="onChecked" @nodeClick="nodeClick" @checkChange="checkChange"></deplist>
-              <arealist ref="area" v-show="activeName === '营销组织'" :checked="true" :area_default="defaultData.sa_saleareaid" @onAreaChecked="onAreaChecked" ></arealist>
-            </div>
-          </div>
-        </div>
-      </el-col>
-      <el-col :span="12" v-show="activeName === '组织架构'">
-        <div>
-          <div class="flex-align-center flex-between normal-margin">
-            <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">
-              <p>人员信息</p>
-            </div>
-            <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="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>
-                  </div>
-                </el-checkbox-group>
-              </div>
-            </div>
-          </div>
-        </div>
-      </el-col>
-      <el-col :span="12" v-show="activeName === '营销组织'">
-        <div>
-          <div class="flex-align-center flex-between normal-margin">
-            <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">
-              <p>经销商信息</p>
-            </div>
-            <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="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>
-                  </div>
-                </el-checkbox-group>
-              </div>
-            </div>
-          </div>
-        </div>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<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'],
-  components:{
-    deplist,
-    arealist
-  },
-  data () {
-    return {
-      activeName:'组织架构',
-      allcheck1:false,
-      allcheck2:false,
-      allcheck_m:false,
-      allcheck_a:false,
-      isIndeterminate:true,
-      isIndeterminate2:true,
-      menberData:[],
-      checkedMenbers:[],
-      checkedAgents:[],
-      depChecked:[],
-      areaChecked:[],
-      agentData:[],
-      searchValue:null,
-    }
-  },
-  computed:{
-    ...mapGetters({
-      pageOnlyRead:"pageOnlyRead"
-    })
-  },
-  methods:{
-    tabChange (val) {
-      this.activeName = val
-    },
-    // 设置授权信息
-    async query_auth () {
-      this.checkedMenbers = this.defaultData.hrid
-      this.checkedAgents = this.defaultData.sa_agentsid
-      this.allcheck1 = this.defaultData.isonlymanager_dept
-      this.allcheck2 = this.defaultData.isonlymanager_agent
-    },
-    // 根据组织架构范围查询人员
-    async menberList (val) {
-      let param = {
-        "classname": "webmanage.hr.hr",
-        "method": "query_hrList",
-        "content": {
-            "nocahe":true,
-            "pageNumber": 1,
-            "pageSize": 10000,
-            "departmentids":val,
-            "containssub":0,
-            "where": {
-              "condition": ""
-            }
-        }
-      }
-      const res = await this.$api.requested(param)
-      this.menberData = res.data
-    },
-    // 根据营销区域范围查询经销商
-    async agentList (val) {
-      let param = {
-        "classname": "webmanage.sale.salearea.salearea",
-        "method": "query_agent",
-        "content": {
-            "pageNumber": 1,
-            "pageSize": 10000,
-            "sa_saleareaids":val,
-            "containssub":0,
-            "where": {
-              "condition": ""
-            }
-        }
-      }
-      const res = await this.$api.requested(param)
-      this.agentData = res.data
-    },
-    // 选中的组织架构数据
-    onChecked (val) {
-      this.depChecked = val
-      this.menberList()
-    },
-    // 点击部门选择人员
-    nodeClick (val) {
-      this.menberList(val)
-      this.$emit('onChecked',this.setParams())
-    },
-    checkChange (bool) {
-      this.checkedMenbers = []
-    },
-    // 选中的营销区域数据
-    onAreaChecked (val) {
-      this.areaChecked = val
-      this.agentList(val)
-      this.handleCheckedChange()
-    },
-    // 执行全选
-    handleCheckAllChange(val) {
-      if (this.activeName === '组织架构') {
-        let arr = this.menberData.map(e=>{
-          return e.hrid
-        })
-        this.checkedMenbers = val ? arr : [];
-        this.isIndeterminate = false;
-        this.handleCheckedChange()
-      } else {
-        let arr = this.agentData.map(e=>{
-          return e.sa_agentsid
-        })
-        this.checkedAgents = val ? arr : [];
-        this.isIndeterminate2 = false;
-        this.handleCheckedChange()
-      }
-    },
-    // 设置数据
-    setParams () {
-      let param = {
-        "isonlymanager_dept":this.allcheck1,
-        "isonlymanager_agent":this.allcheck2,
-        "departmentid":this.depChecked,
-        "hrid":this.checkedMenbers,
-        "sa_saleareaid":this.areaChecked,
-        "sa_agentsid":this.checkedAgents
-      }
-      param[this.appidname] = this.dataid
-
-      return param
-    },
-    // 执行单选
-    handleCheckedChange (){
-      if (this.activeName === '组织架构') {
-        this.$refs['dep'].setCheckedKeysDep()
-        console.log(this.setParams())
-        this.$emit('onChecked',this.setParams())
-      } else {}
-    },
-  },
-  mounted () {
-  },
-  watch:{
-    defaultData (val) {
-      console.log(val)
-      this.query_auth(val)
-    }
-  }
-}
-
-</script>
-<style>
-.panel .el-checkbox__input.is-checked+.el-checkbox__label{
-  color:#777 !important;
-}
-</style>
-<style scoped>
-.panel{
-  border:1px solid #CCCCCC;
-  border-radius: 4px;
-}
-.tab p{
-  flex:1;
-  height: 39px;
-  line-height: 39px;
-  text-align: center;
-  font-weight: 500;
-  font-size: 14px;
-  color:#999;
-  border-bottom: 2px solid #eeeeee;
-  cursor:pointer;
-}
-.tab-act{
-  color:#3874F6 !important;
-  border-bottom: 2px solid #3874F6 !important;
-}
-</style>

+ 4 - 3
src/components/scopeOfAuthority/modules/dep_auth.vue

@@ -51,7 +51,7 @@
 import {mapGetters} from 'vuex'
 
 export default {
-  props:["defaultData",'scrollHeight','obiectName'],
+  props:["defaultData",'scrollHeight','obiectName','obiectId'],
   components:{
   },
   computed:{
@@ -77,11 +77,12 @@ export default {
   methods:{
     // 查询部门
     async department () {
+      console.log(this.$route.query.id,this.obiectId)
       const res = await this.$api.requested({
         "classname": "webmanage.department.department",
         "method": "querydepartment_auth",
         "content": {
-          "obiectId": this.$route.query.id?this.$route.query.id:0,
+          "obiectId":this.$route.query.id?this.$route.query.id:this.obiectId,
           "obiectName": this.obiectName
         },
 
@@ -225,7 +226,7 @@ export default {
   },
   mounted () {
     setTimeout(() => {
-      
+      this.department()
     }, 1000);
   },
   watch:{

+ 3 - 3
src/components/scopeOfAuthority/modules/mar_auth.vue

@@ -57,7 +57,7 @@
 import {mapGetters} from 'vuex'
 
 export default {
-  props:["defaultData",'scrollHeight','obiectName'],
+  props:["defaultData",'scrollHeight','obiectName','obiectId'],
   components:{
   },
   computed:{
@@ -81,13 +81,13 @@ export default {
     }
   },
   methods:{
-    // 查询部门
+    // 查询区域
     async department () {
       const res = await this.$api.requested({
         "classname": "webmanage.sale.salearea.salearea",
         "method": "query_area_auth",
         "content": {
-            "obiectId":  this.$route.query.id?this.$route.query.id:0,
+            "obiectId":  this.$route.query.id?this.$route.query.id:this.obiectId,
             "obiectName": this.obiectName
         },
 

+ 1 - 2
src/components/selectAgent/area/list.vue

@@ -11,8 +11,7 @@
       :check-on-click-node="true"
       :expand-on-click-node="false"
       :default-checked-keys="area_default"
-      @node-click="handleClick"
-      @check="handleCheck">
+      @node-click="handleClick">
       <span class="custom-tree-node" slot-scope="{ node, data }">
         <span>{{ node.label }}</span>
         <span>

+ 1 - 2
src/components/selectMenber/modules/dep_list.vue

@@ -10,8 +10,7 @@
       :check-on-click-node="true"
       :expand-on-click-node="false"
       :show-checkbox="checked"
-      @check="handleCheck"
-      @check-change="checkChange"
+      @node-click="checkChange"
       :default-checked-keys="dep_default">
       <span class="custom-tree-node" slot-scope="{ node, data }">
         <span>{{ node.label }}</span>

+ 7 - 7
src/components/socketMessage/index.vue

@@ -79,9 +79,11 @@
           console.log("连接错误")
       },
       getMessage: function (msg) {
-        this.panelIsShow = true
-        this.list = [JSON.parse(msg.data).message]
-        this.getMessageList()
+        if(msg.data !== 'alive') {
+          this.panelIsShow = true
+          this.list = [JSON.parse(msg.data).message]
+          this.getMessageList()
+        }
       },
       send: function (type,val,timsubjectid) {
       },
@@ -90,11 +92,9 @@
       },
       // 心跳链接
       contectIsLive () {
-        const params = 'isalive'
         this.realTimeClData = setInterval(() => {
-          // console.log('监测连接')
-          this.socket.send(JSON.stringify(params))
-        }, 1000);
+          this.socket.send('isalive')
+        }, 10000);
       }
     },
     destroyed () {

+ 1 - 1
src/components/uploadBindMediaStock/modules/list.vue

@@ -173,7 +173,7 @@ export default {
 .folder-item input{
   width: calc(100% - 8px);
   padding: 2px;
-  margin-top:10px;
+  margin-top:0px;
 }
 .img-panel {
   width: 64px;

+ 2 - 1
src/router/HManagement.js

@@ -115,7 +115,8 @@ const HManagement = [
     name: 'salermag',
     meta: {
       title: '新建经销商',
-      ast_nav: true
+      ast_nav: true,
+      keeproute:true
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/marketing/agent/modules/add_agent.vue')
   }, {

+ 1 - 1
src/style/style.css

@@ -7,7 +7,7 @@ body{
   font-size: 16px;
   color: #333333;
   background-color: #FAFAFA;
-  min-width: 1200px;
+  /* min-width: 1200px; */
 }
 input[type=number] {
   -moz-appearance:textfield;

+ 2 - 1
src/views/login/login.vue

@@ -203,7 +203,8 @@ export default {
   justify-content: space-around;
   width: 100%;
   height: 100vh;
-  background: #fff no-repeat 50% url(../../assets/bg.png);
+  /* background: #fff no-repeat 50% url(../../assets/bg.png); */
+  background: #f1f2f3;
   background-size: 2560px 1490px;
 }
 .login-form{

+ 17 - 10
src/views/mediaStatistics/modules/downloadTraffic.vue

@@ -2,11 +2,11 @@
 <template>
   <div>
     <div class="flex-align-center flex-between">
-      <p class="title">下载流量</p>
+      <p class="title">下载流量(MB)</p>
       <el-radio-group v-model="radio" size="small" @change="getLineChartOfDownload">
         <el-radio-button :label="1">年</el-radio-button>
         <el-radio-button :label="2">月</el-radio-button>
-        <el-radio-button :label="3">日</el-radio-button>
+        <!-- <el-radio-button :label="3">日</el-radio-button> -->
       </el-radio-group>
     </div>
     <div id="container_t">
@@ -32,11 +32,11 @@ export default {
         xField: 'time',
         yField: 'bytes',
         label: {
-          // formatter: (val, item) => {
-          //   let fre = ''
-          //   fre = item._origin.famount/1000 + 'k'
-          //   return fre
-          // }
+          formatter: (val, item) => {
+            let fre = ''
+            fre = Math.trunc(item._origin.bytes/1024) > 1?(item._origin.bytes/1024)+'G': Math.trunc(item._origin.bytes/1024/1024) > 1?(item._origin.bytes/1024)+'T':item._origin.bytes+'MB'
+            return fre
+          }
         },
         yAxis: {
           // label: {
@@ -52,7 +52,7 @@ export default {
           },
         },
         point: {
-          size: 0,
+          size: 5,
           shape: 'diamond',
           style: {
             fill: 'white',
@@ -60,7 +60,14 @@ export default {
             lineWidth: 2,
           },
         },
-        tooltip: { showMarkers: false },
+        tooltip: { 
+          showMarkers: false,
+          formatter: (datum) => {
+            let fre = ''
+            fre = Math.trunc(datum.bytes/1024) > 1?(datum.bytes/1024)+'G': Math.trunc(datum.bytes/1024/1024) > 1?(datum.bytes/1024)+'T':datum.bytes+'MB'
+            return { name: '容量', value:fre };
+          },
+        },
         state: {
           active: {
             style: {
@@ -81,7 +88,7 @@ export default {
         "classname": "webmanage.dataanalysis.MediaCenter",
         "method": "getLineChartOfDownload",
         "content": {
-          "date": "2022-06-06",
+          "date": (new Date()).toLocaleDateString(),
           "type": this.radio
         }
       }

+ 17 - 10
src/views/mediaStatistics/modules/storageCapacity.vue

@@ -2,11 +2,11 @@
 <template>
   <div>
     <div class="flex-align-center flex-between">
-      <p class="title">存储量</p>
+      <p class="title">存储量(MB)</p>
       <el-radio-group v-model="radio" size="small" @change="getLineChartOfStorage">
         <el-radio-button :label="1">年</el-radio-button>
         <el-radio-button :label="2">月</el-radio-button>
-        <el-radio-button :label="3">日</el-radio-button>
+        <!-- <el-radio-button :label="3">日</el-radio-button> -->
       </el-radio-group>
     </div>
     <div id="container">
@@ -32,11 +32,11 @@ export default {
         xField: 'time',
         yField: 'bytes',
         label: {
-          // formatter: (val, item) => {
-          //   let fre = ''
-          //   fre = item._origin.famount/1000 + 'k'
-          //   return fre
-          // }
+          formatter: (val, item) => {
+            let fre = ''
+            fre = Math.trunc(item._origin.bytes/1024) > 1?(item._origin.bytes/1024)+'G': Math.trunc(item._origin.bytes/1024/1024) > 1?(item._origin.bytes/1024)+'T':item._origin.bytes+'MB'
+            return fre
+          }
         },
         yAxis: {
           // label: {
@@ -52,7 +52,7 @@ export default {
           },
         },
         point: {
-          size: 0,
+          size: 5,
           shape: 'diamond',
           style: {
             fill: 'white',
@@ -60,7 +60,14 @@ export default {
             lineWidth: 2,
           },
         },
-        tooltip: { showMarkers: false },
+        tooltip: { 
+          showMarkers: false,
+          formatter: (datum) => {
+            let fre = ''
+            fre = Math.trunc(datum.bytes/1024) > 1?(datum.bytes/1024)+'G': Math.trunc(datum.bytes/1024/1024) > 1?(datum.bytes/1024)+'T':datum.bytes+'MB'
+            return { name: '容量', value:fre };
+          },
+        },
         state: {
           active: {
             style: {
@@ -81,7 +88,7 @@ export default {
         "classname": "webmanage.dataanalysis.MediaCenter",
         "method": "getLineChartOfStorage",
         "content": {
-          "date": "2022-06-06",
+          "date": (new Date()).toLocaleDateString(),
           "type": this.radio
         }
       }

+ 8 - 10
src/views/mediaStock/modules/delete.vue

@@ -7,20 +7,19 @@ export default {
   props:['checklist'],
   data () {
     return {
-      filecount:0
     }
   },
   methods:{
     clickDelete () {
-      this.filecount = 0
       this.$confirm(`确定删除这${this.checklist.length}个文件吗?`, '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        this.checklist.forEach(e => {
-          this.deleteFiles(e.attachmentid)
-        });
+        // this.checklist.forEach(e => {
+        //   this.deleteFiles(e.attachmentid)
+        // });
+        this.deleteFiles()
       }).catch(() => {
         this.$message({
           type: 'info',
@@ -28,17 +27,16 @@ export default {
         });          
       });
     },
-    async deleteFiles (id) {
-      this.filecount ++
+    async deleteFiles () {
       let param  = {
         "classname": "system.attachment.MediaCenter",
-        "method": "deleteAttachment",
+        "method": "deleteAttachments",
         "content": {
-          "attachmentid": id
+          "attachmentids": this.checklist.map(e=>{return e.attachmentid})
         }
       }
       const res = await this.$api.requested(param)
-      this.checklist.length === this.filecount?this.$emit('onSuccess'):''
+      this.$emit('onSuccess')
     }
   },
   watch:{

+ 1 - 1
src/views/mediaStock/modules/list.vue

@@ -130,7 +130,7 @@ export default {
   mounted () {
     // 根据容器高度计算需要的数据条数
     var heightCss = window.getComputedStyle(this.$refs.ele).height
-    this.params.content.pageSize = Math.ceil((heightCss.match(/\d+/g) / 114)) *12
+    this.params.content.pageSize = Math.ceil((heightCss.match(/\d+/g)[0] / 114)) *12
     this.queryAttachment()
   },
   watch:{

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/css/about.0aa5efab.css


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/css/about.d44b6232.css


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/css/app.83be7ebe.css


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/css/app.e4bc428b.css


+ 1 - 0
yos/img/message.99a6561b.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(-32 -103)"><rect class="a" width="30" height="30" transform="translate(32 103)"/><path class="b" d="M269.787,379.677a14.041,14.041,0,0,0-14,14v13.25a.769.769,0,0,0,.75.75h13.25a14,14,0,0,0,0-28Zm3.3,21.6h-6.6a1,1,0,0,1,0-2h6.65a1,1,0,0,1,1,1A1.047,1.047,0,0,1,273.087,401.277Zm2.65-5.25h-11.9a1,1,0,1,1,0-2h11.9a1,1,0,1,1,0,2Zm0-5.35h-11.9a1,1,0,1,1,0-2h11.9a1,1,0,1,1,0,2Z" transform="translate(-222.787 -275.677)"/></g></svg>

+ 1 - 1
yos/index.html

@@ -1 +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 href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"><link rel="icon" href="favicon.ico"><title>yos_manage</title><script defer="defer" type="module" src="js/chunk-vendors.8e4fd6d5.js"></script><script defer="defer" type="module" src="js/app.8845b340.js"></script><link href="css/app.e4bc428b.css" rel="stylesheet"><script defer="defer" src="js/chunk-vendors-legacy.25c4112b.js" nomodule></script><script defer="defer" src="js/app-legacy.3d8ca908.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>
+<!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 href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"><link rel="icon" href="favicon.ico"><title>yos_manage</title><script defer="defer" type="module" src="js/chunk-vendors.8e4fd6d5.js"></script><script defer="defer" type="module" src="js/app.28a2a7d5.js"></script><link href="css/app.83be7ebe.css" rel="stylesheet"><script defer="defer" src="js/chunk-vendors-legacy.25c4112b.js" nomodule></script><script defer="defer" src="js/app-legacy.ff741a04.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>

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/210-legacy.5aaa50be.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/476.c5b35274.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/702-legacy.7359bc85.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/702.a6cda3be.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/about-legacy.90570e39.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/about.03251653.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/app-legacy.3d8ca908.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/app-legacy.ff741a04.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/app.28a2a7d5.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
yos/js/app.8845b340.js


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff