Browse Source

2022-6-29

codeMan 2 years ago
parent
commit
9ba44c05f2
39 changed files with 227 additions and 106 deletions
  1. 2 0
      src/HManagement/roleManage/modules/auth_list.vue
  2. 5 1
      src/HManagement/roleManage/modules/role_details.vue
  3. 10 10
      src/SManagement/archives_ad/components/detail.vue
  4. 3 1
      src/SManagement/archives_ad/components/list.vue
  5. 94 26
      src/SManagement/user/role-edit/RoleEdit.vue
  6. 6 6
      src/SManagement/user/role-edit/components/RolePowerLeft.vue
  7. 92 51
      src/SManagement/user/role-edit/components/RolePowerRight.vue
  8. 7 1
      src/SManagement/user/role-manage/RoleManage.vue
  9. 1 2
      src/SManagement/user/user-info/UserInfo.vue
  10. 1 3
      src/SManagement/user/user-info/components/wxBind.vue
  11. 1 1
      src/components/layout/modules/aside.vue
  12. 1 1
      src/router/SManagement.js
  13. 2 1
      src/utils/tool.js
  14. BIN
      yos.rar
  15. 0 0
      yos/css/250.9d5c997c.css
  16. 0 0
      yos/css/380.9d5c997c.css
  17. 1 1
      yos/css/628.6ba9c916.css
  18. 0 0
      yos/css/about.4cda0a1b.css
  19. 0 0
      yos/css/about.75b02ca4.css
  20. 0 0
      yos/css/app.6e80de32.css
  21. 0 0
      yos/css/app.e93b97c9.css
  22. 1 1
      yos/index.html
  23. 0 0
      yos/js/191-legacy.a3386758.js
  24. 0 0
      yos/js/191.7c381a53.js
  25. 0 0
      yos/js/250.748d9d27.js
  26. 0 0
      yos/js/380-legacy.9e5898f1.js
  27. 0 0
      yos/js/380-legacy.c703bed9.js
  28. 0 0
      yos/js/628-legacy.6fd929cd.js
  29. 0 0
      yos/js/628.8b846ef5.js
  30. 0 0
      yos/js/about-legacy.208e4a9c.js
  31. 0 0
      yos/js/about-legacy.b0124e2e.js
  32. 0 0
      yos/js/about.8ef2253b.js
  33. 0 0
      yos/js/about.d59c5db1.js
  34. 0 0
      yos/js/app-legacy.86ab9333.js
  35. 0 0
      yos/js/app-legacy.aefdb83c.js
  36. 0 0
      yos/js/app.355d6dd4.js
  37. 0 0
      yos/js/app.914730d9.js
  38. 0 0
      yos/js/chunk-vendors-legacy.7772450f.js
  39. 0 0
      yos/js/chunk-vendors-legacy.7ae3c426.js

+ 2 - 0
src/HManagement/roleManage/modules/auth_list.vue

@@ -154,6 +154,8 @@ export default {
       // this.param.content.roleid = this.data.roleid
       this.$api.requested(this.param).then(res=>{
         this.list = res.data
+        console.log(this.list);
+        
         this.total = res.total
         this.currentPage = res.pageNumber
       })

+ 5 - 1
src/HManagement/roleManage/modules/role_details.vue

@@ -77,8 +77,12 @@ export default {
       active_systemappid:''
     }
   },
+  created() {
+  },
   methods:{
     async roleMain () {
+      console.log(11111);
+      
       const res = await this.$api.requested({
         "classname": "webmanage.role.role",
         "method": "query_roleMain",
@@ -94,7 +98,7 @@ export default {
         "usertypename":res.data.usertypename
       }
       this.roleMainInfo = res.data
-
+      
       //显示默认授权信息,一般默认信息为第一条数据
       this.appoptionselect(res.data.apps[0])
     },

+ 10 - 10
src/SManagement/archives_ad/components/detail.vue

@@ -3,13 +3,11 @@
     <div class="header">
       <p class="title">{{currentSelectFile.title}}</p>
       <div class="detail-info">
-        <el-row>
-          <el-col :span="8"><span><span>浏览数:</span>{{currentSelectFile.readcount}}</span></el-col>
-          <el-col :span="8"><span><span>分享数:</span>{{currentSelectFile.sharecount}}</span></el-col>
-          <el-col :span="8"><span><span>拉新数:</span>{{currentSelectFile.newcount}}</span></el-col>
-          <el-col :span="8"><span><span>创建人:</span>{{currentSelectFile.changeby}}</span></el-col>
-          <el-col :span="14"><span><span>上传时间:</span>{{currentSelectFile.createdate}}</span></el-col>
-        </el-row>
+        <span><span>浏览数:</span>{{currentSelectFile.readcount}}</span>
+        <span><span>分享数:</span>{{currentSelectFile.sharecount}}</span>
+        <span><span>拉新数:</span>{{currentSelectFile.newcount}}</span>
+        <span><span>创建人:</span>{{currentSelectFile.changeby}}</span>
+        <span><span>上传时间:</span>{{currentSelectFile.createdate}}</span>
       </div>
     </div>
     <div class="content"  v-if="this.currentSelectFile.content && decodeURIComponent(this.currentSelectFile.content) != '<p><br></p>'">
@@ -18,12 +16,12 @@
     </div>
     <div class="file2">
       <!-- <p class="title" v-if="currentSelectFile.attinfos && currentSelectFile.attinfos.length > 0">附件</p> -->
-      <div class="image" v-if="currentSelectFile.type == 1">
+      <!-- <div class="image" v-if="currentSelectFile.type == 1">
         <img :src="item.url" alt="" v-for="(item,index) in currentSelectFile.attinfos" :key="index">
       </div>
       <div class="video" v-if="currentSelectFile.type == 2">
         <video :src="item.url" v-for="(item,index) in currentSelectFile.attinfos" controls :key="index"></video>
-      </div>
+      </div> -->
       <div class="file-item" v-for="(item,index) in currentSelectFile.attinfos" :key="index">
         <file-item :itemStyle="itemStyle" 
                    :fileData="[item]"
@@ -118,9 +116,11 @@ export default {
     margin-bottom: 10px;
   }
   .header .detail-info {
+    display: flex;
+    flex-wrap: wrap;
   }
   .header .detail-info span {
-    margin-right: 50px;
+    margin:0 50px 10px 0;
     font-size: 14px;
     font-weight: 400;
     color: #333333;

+ 3 - 1
src/SManagement/archives_ad/components/list.vue

@@ -56,7 +56,9 @@ export default {
       let result = item.attinfos.find(item1 => item1.fileType == 'image')
       if(result) {
         return item.attinfos.find(item => item == result).cover        
-      } else {
+      } else if(item.attinfos[0] && item.attinfos[0].subfiles[0]) {
+        return item.attinfos[0].subfiles[0].url
+      }else {
         return require('@/assets/video.png')
       }
       

+ 94 - 26
src/SManagement/user/role-edit/RoleEdit.vue

@@ -4,23 +4,23 @@
       <save slot="btn" @click.native="save()"></save>
     </handle-top>
     <role-info-handle ref="info"></role-info-handle>
-    <el-row class="power">
+    <el-row class="power1">
       <el-col :span="24" class="title-box">
         <p class="title">角色授权</p>
       </el-col>
       <el-col :span="10">
-        <role-power-left :roleData="power" @currentItemChange="currentItemChange" @checkList="checkList">
+        <role-power-left :roleData="power" @currentItemChange="currentItemChange">
           <search @searchActive="searchActive()" @clearData="clearData()" slot="search"></search>
-          <pagination :total="6"
+          <!-- <pagination :total="6"
                       slot="page"
                       :pageSize="3"
                       :currentPage="1"
                       @pageChange="pageChange">
-          </pagination>
+          </pagination> -->
         </role-power-left>
       </el-col>
       <el-col :span="14">
-        <role-power-right :roleData="currentItem"></role-power-right>
+        <role-power-right :roleData="currentItem" @powerChange="powerChange"></role-power-right>
       </el-col>
     </el-row>
   </div>
@@ -35,6 +35,7 @@ import search from '@/components/search/index'
 import Pagination from '@/components/pagination/Pagination'
 
 import save from '@/SManagement/archives_upload/components/save'
+import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: 'roleEdit',
   data () {
@@ -57,24 +58,28 @@ export default {
         "classname": "sale.role.role",
         "method": "insertormodify_role",
         "content": {
-            "roleid":3,
-            "rolename":"店长",
-            "remarks":"店长角色"
+            "roleid":0,
+            "rolename":"",
+            "remarks":""
         }
       },
       pullPower: {
         "classname": "sale.role.role",
         "method": "query_appselect",
         "content": {
-          "roleid": 0,
+          "roleid": this.roleid,
         }
       },
+      roleid: this.$route.params.data ? this.$route.params.data.roleid :  this.$route.query.id,
       //拉取的权限列表
       power: [],
       //编辑逻辑时数据储存
       editData:'',
       //选中的模块数据
       currentItem:0,
+      currentApp:[],
+      //授权数据
+      systemapps:[]
     };
   },
   components: { HandleTop, save, roleInfoHandle, search, RolePowerLeft, RolePowerRight ,Pagination},
@@ -105,6 +110,7 @@ export default {
       if(this.editData) this.pullPower.content.roleid = this.editData.roleid
       this.$api.requested(this.pullPower).then(res => {
         this.power = res.data
+        this.currentItem = res.data[0]
         console.log(res);
       })
     },
@@ -112,30 +118,79 @@ export default {
       this.currentItem = data
       console.log(data);
     },
-    //勾选复选框事件
-    checkList(data) {
-      let checkArr = []
-      // this.power.filter(item => )
-    },
     save () {
       this.$refs.info.$refs.ruleForm.validate((val) => {
         if(val) {
-          this.add.content.rolename = this.$refs.info.ruleForm.name
-          this.add.content.remarks = this.$refs.info.ruleForm.descript
-          this.$api.requested(this.add).then( res => {
-            console.log(res);
-          })
+          if(this.$route.params.data) {
+            this.auth.content.roleid = this.roleid
+            this.auth.content.systemapps = this.systemapps
+            this.$api.requested(this.auth).then( res => {
+              console.log(res);
+              
+              if(res.code == 1) {
+                this.$notify({
+                  title:'提示',
+                  message:'修改成功',
+                  type:'success'
+                })
+                this.$router.back()
+              } else {
+                this.$notify({
+                  title:'提示',
+                  message:'修改失败',
+                  type:'warning'
+                })
+              }
+            })
+          } else {
+            this.add.content.rolename = this.$refs.info.ruleForm.name
+            this.add.content.remarks = this.$refs.info.ruleForm.descript
+            this.$api.requested(this.add).then( res => {
+              if(res.code == 1) {
+                this.auth.content.roleid = res.data.roleid
+                this.auth.content.systemapps = this.systemapps
+                console.log(this.auth);
+                
+                this.$api.requested(this.auth).then( res => {
+                  if(res.code == 1) {
+                    this.$notify({
+                      title:'提示',
+                      message:'新建成功',
+                      type:'success'
+                    })
+                    this.$router.back()
+                  } else {
+                    this.$notify({
+                      title:'提示',
+                      message:'新建失败',
+                      type:'warning'
+                    })
+                  }
+                })
+              }
+            })
+          }
+        }
+      })
+    },
+    //获取所有需要授权数据
+    getAllPower() {
+      let is
+      this.currentApp.apps.forEach(item => {
+        is = this.systemapps.find(item2 => item2.systemappid == item.systemappid)
+        if(is == undefined) {
+          let obj = {}
+          obj.systemappid = item.systemappid
+          obj.optionids = item.optionids
+          this.systemapps.push(obj)
         } else {
-          this.$notify({
-            title:'提示',
-            message:'请填写名称或描述',
-            type:'warning'
-          })
+          is.systemappid = item.systemappid
+          is.optionids = item.optionids
         }
       })
       
     },
-    searchActive () {
+    searchActive (data) {
 
     },
     clearData () {
@@ -143,14 +198,27 @@ export default {
     },
     pageChange() {
 
+    },
+    powerChange(data) {
+      this.currentItem.clients[0].modules.forEach(item => {
+        if(item.systemmoduleid == data.systemmoduleid) {
+          item = data
+        }
+      })
+      this.currentApp = data
+      this.getAllPower()
     }
   },
 };
 </script>
 
 <style scoped>
-.power {
+.role-edit {
+  min-height: 100%;
+}
+.power1 {
   background: #ffffff;
+  min-height: calc(100vh - 320px);
 }
 .title-box {
   height: 48px;

+ 6 - 6
src/SManagement/user/role-edit/components/RolePowerLeft.vue

@@ -8,15 +8,15 @@
                                   :header-cell-style="{background:'#EEEEEE'}"
                                   highlight-current-row
                                   @row-click="rowClick">
-      <!-- <el-table-column label="应用" width="120">
+      <el-table-column label="应用" width="120">
         <template slot-scope="scope">{{ scope.row.clients[0].modules[0].apps[0].systemappname }}</template>
-      </el-table-column> -->
+      </el-table-column>
       <!-- <el-table-column label="模块">
         <template slot-scope="scope">{{ scope.row.clients[0].modules[0].systemmodulename }}</template>
       </el-table-column> -->
-      <!-- <el-table-column label="端口">
+      <el-table-column label="端口">
         <template slot-scope="scope">{{ scope.row.clients[0].systemclientname }}</template>
-      </el-table-column> -->
+      </el-table-column>
       <el-table-column label="系统">
         <template slot-scope="scope">{{ scope.row.systemname }}</template>
       </el-table-column>
@@ -47,7 +47,7 @@ export default {
     },
     rowClick(data) {
       if(this.currentItem == data) return
-      this.currentItem = data      
+      this.currentItem = data  
       this.$emit('currentItemChange',data)
     }
   },
@@ -57,7 +57,7 @@ export default {
 <style scoped>
 .role-power-left {
   padding: 16px;
-  border-right: 1px solid #CCCCCC;
+  height: 100%;
 }
 .search {
   margin-bottom: 16px;

+ 92 - 51
src/SManagement/user/role-edit/components/RolePowerRight.vue

@@ -1,12 +1,14 @@
 <template>
   <div class="role-power-right">
     <el-row>
-      <el-col :span="8" style="border-right:1px solid #eeeeee;height:100%">
+      <el-col :span="8">
         <div class="power-block">
           <p class="title">模块</p>
           <el-row :gutter="50" v-if="roleData">
-            <el-col :span="24" v-for="(item,index) in roleData.clients[0].modules" :key="index" style="margin-bottom:6px">
-              <span class="block" :class="{'active':currentIndex==index}" @click="blockClick(index,item)">{{item.systemmodulename}}</span>
+            <el-col :span="24" v-for="(item,index) in roleData.clients[0].modules" :key="index"
+              style="margin-bottom:6px">
+              <span class="block" :class="{'active':currentIndex==index}"
+                @click="blockClick(index,item)">{{item.systemmodulename}}</span>
             </el-col>
           </el-row>
         </div>
@@ -14,85 +16,124 @@
       <el-col :span="8">
         <div class="power-block">
           <p class="title">功能</p>
-            <el-row :gutter="100">
-              <el-col :span="12" v-for="(item,index) in currentBlock.apps" :key="index" style="margin-bottom:16px">
-                <el-checkbox :label="item.optionid" :checked="item.isauth == 1">{{item.optionname}}</el-checkbox>
-              </el-col>
-            </el-row>
+            <el-tree :data="currentBlock.apps" 
+                     show-checkbox 
+                     node-key="optionid" 
+                     :props="defaultProps" 
+                     default-expand-all
+                     :default-checked-keys="defaultActive"
+                     @check="itemClick"
+                     ref="tree">
+            </el-tree>
         </div>
       </el-col>
       <el-col :span="8">
         <div class="power-block">
-          <p class="title">授权</p>
+          <p class="title">字段</p>
 
         </div>
       </el-col>
     </el-row>
-    
+
   </div>
 </template>
 
 <script>
 export default {
   name: '',
-  data() {
+  data () {
     return {
-      powerResult:[],
+      powerResult: [],
       //当前选中的模块
-      currentBlock:'',
+      currentBlock: [],
       //当前选中的模块
-      currentIndex:-1
+      currentIndex: -1,
+      defaultProps: {
+        children: 'options',
+        label: 'optionname'
+      },
+      defaultActive: []
     };
   },
-  props:['roleData'],
-  computed:{
+  props: ['roleData'],
+  computed: {
   },
-  watch:{
+  watch: {
     powerResult: {
-      handler(val) {
-        this.$emit('checkChange',val)        
+      handler (val) {
+        this.$emit('checkChange', val)
       }
     }
   },
-  created() {
-    
+  created () {
   },
   methods: {
-    blockClick(index,item) {
+    blockClick (index, item) {
       this.currentIndex = index
-      this.currentBlock =item
-      console.log(this.currentBlock);
-      
+      item.apps.forEach((item,index) => {
+        item.optionname = item.systemappname
+      })
+      this.currentBlock = item
+
+      this.getDefaultActive()
+    },
+    //节点单击事件
+    itemClick() {
+      this.emitPowerParent()
+    },
+    //同步授权item到父组件
+    emitPowerParent() {
+      let arr = this.$refs.tree.getCheckedNodes()
+      this.currentBlock.apps.forEach(item1 => {
+        item1.optionids = []
+        arr.forEach(item2 => {
+          if(item2.optionids) return 
+          if(item2.systemappid == item1.systemappid) {
+            item1.optionids.push(item2.optionid)
+          }
+        })
+      })
+      this.$emit('powerChange',this.currentBlock)
+    },
+    //获取默认显示id
+    getDefaultActive() {
+      this.defaultActive = []
+      this.currentBlock.apps.forEach(item => {
+        this.defaultActive.push(...item.optionids.map(item => item))
+      })      
     }
   },
 };
 </script>
 
 <style scoped>
-  *{
-    box-sizing: border-box;
-  }
-  .role-power-right {
-    min-height: 100%;
-    width: 100%;
-  }
-  .role-power-right .power-block .title {
-    height: 20px;
-    line-height: 20px;
-    border-left: 4px solid #3874F6;
-    padding-left: 7px;
-    font-size: 14px;
-    font-weight: bold;
-    color: #333333;
-    margin-bottom: 16px;
-  }
-  .block {
-    display: block;
-    height: 32px;
-    line-height: 32px;
-    padding-left: 16px;
-  }
-  .active {
-    background: #EAF1FE;
-  }
+* {
+  box-sizing: border-box;
+}
+.role-power-right {
+  width: 100%;
+}
+.role-power-right .power-block {
+  height: calc(100vh - 320px);
+  border-left: 1px solid #cccccc;
+}
+.role-power-right .power-block .title {
+  height: 20px;
+  line-height: 20px;
+  border-left: 4px solid #3874f6;
+  padding-left: 7px;
+  font-size: 14px;
+  font-weight: bold;
+  color: #333333;
+  margin-bottom: 16px;
+}
+.block {
+  display: block;
+  height: 32px;
+  line-height: 32px;
+  padding-left: 16px;
+}
+.active {
+  background: #eaf1fe;
+}
 </style>

+ 7 - 1
src/SManagement/user/role-manage/RoleManage.vue

@@ -69,7 +69,13 @@ export default {
       })
     },
     addRole () {
-      this.$router.push('role_edit')
+      window.sessionStorage.setItem('currentPath','/role_managent')
+      this.$router.push({
+        path:'role_edit',
+        query: {
+          id:0
+        }
+      })
     },
     //删除未提交角色角色
     // deleteNoRole () {

+ 1 - 2
src/SManagement/user/user-info/UserInfo.vue

@@ -11,8 +11,7 @@
           <pass-edit slot="passEdit" :userInfo="userInfo" v-if="tool.checkAuth($route.name,'update')"></pass-edit>
       </base-info>
 
-      <wx-bind>
-        <wx-panl slot="wxBind">111</wx-panl>
+      <wx-bind :userInfo="userInfo">
       </wx-bind>
 
       <div class="logout">

+ 1 - 3
src/SManagement/user/user-info/components/wxBind.vue

@@ -6,9 +6,6 @@
         <img src="@/assets/vx.png" alt="">
         <span>未绑定</span>
       </div>
-      <div class="right">
-        <slot name="wxBind"></slot>
-      </div>
     </div>
   </div>
 </template>
@@ -20,6 +17,7 @@ export default {
     return {
     };
   },
+  props:['userInfo'],
   computed:{
   },
   watch:{

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

@@ -50,7 +50,7 @@ export default {
   },
   watch:{
     $route(){
-      if(this.$route.path == '/submiteditmag_detail' || this.$route.path == '/upload_archives') {
+      if(this.$route.path == '/submiteditmag_detail' || this.$route.path == '/upload_archives' || this.$route.path == '/role_edit') {
         return 
       }
       this.activePath = this.$route.path

+ 1 - 1
src/router/SManagement.js

@@ -128,7 +128,7 @@ component: () => import(/* webpackChunkName: "about" */ '@/SManagement/submitedi
   name: 'roleEdit',
   meta: {
     title: '角色操作',
-    ast_nav:false
+    ast_nav:true
   },
   component: () => import(/* webpackChunkName: "about" */ '@/SManagement/user/role-edit/RoleEdit')
 }

+ 2 - 1
src/utils/tool.js

@@ -22,6 +22,8 @@ export default {
   // 获取应用表格
   tabelCol (appname) {
     // 获取应用数据
+    console.log(appname);
+    
     let apps = JSON.parse(sessionStorage.getItem('active_modules'))
     
     let module_list =  apps.apps
@@ -31,7 +33,6 @@ export default {
     })
     // 获取当前应用表格数据
     let tablecols = active_modules[0].meta.tables
-
     return tablecols
   },
 

BIN
yos.rar


+ 0 - 0
yos/css/250.39364e34.css → yos/css/250.9d5c997c.css


+ 0 - 0
yos/css/380.39364e34.css → yos/css/380.9d5c997c.css


+ 1 - 1
yos/css/191.ae01dd55.css → yos/css/628.6ba9c916.css

@@ -1 +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-47bdd0c8]{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}
+.el-input-group__append,.el-input-group__prepend{background-color:#4f7bfd;color:#fff;border:1px solid #4f7bfd;cursor:pointer}.search-panel p[data-v-761553c6]{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.4cda0a1b.css


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


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


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


+ 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 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.914730d9.js"></script><link href="css/app.e93b97c9.css" rel="stylesheet"><script defer="defer" src="js/chunk-vendors-legacy.7772450f.js" nomodule></script><script defer="defer" src="js/app-legacy.86ab9333.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 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.355d6dd4.js"></script><link href="css/app.6e80de32.css" rel="stylesheet"><script defer="defer" src="js/chunk-vendors-legacy.7ae3c426.js" nomodule></script><script defer="defer" src="js/app-legacy.aefdb83c.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/191-legacy.a3386758.js


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


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


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


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


File diff suppressed because it is too large
+ 0 - 0
yos/js/628-legacy.6fd929cd.js


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


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


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


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


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


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


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


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


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


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


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


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