From d59b2d89e90f2190d05ba9c710b0b76c8dd3c308 Mon Sep 17 00:00:00 2001
From: BigBoss <2280520255@qq.com>
Date: Wed, 24 Jun 2020 23:26:14 +0800
Subject: [PATCH] madd appManage page

---
 src/router/modules/application.js   |  15 +-
 src/views/application/appList.vue   |  82 +++++
 src/views/application/appManage.vue | 623 ++++--------------------------------
 src/views/login/index.vue           |   6 +-
 4 files changed, 161 insertions(+), 565 deletions(-)
 create mode 100644 src/views/application/appList.vue

diff --git a/src/router/modules/application.js b/src/router/modules/application.js
index 1c580c6..45ff27b 100644
--- a/src/router/modules/application.js
+++ b/src/router/modules/application.js
@@ -13,13 +13,24 @@ const applicationRouter = {
   },
   children: [{
     path: 'appManage',
-    component: () => import('@/views/application/appManage'),
+    component: () => import('@/views/application/appManage'), // 应用管理/添加
     name: 'appManage',
     meta: {
       title: '应用管理',
       icon: 'component',
       roles: ['admin', 'assistant'] // or you can only set roles in sub nav
     }
-  }]
+  },
+  {
+    path: 'appList',
+    component: () => import('@/views/application/appList'), // 应用列表
+    name: 'appList',
+    meta: {
+      title: '应用列表',
+      icon: 'list',
+      roles: ['admin', 'assistant'] // or you can only set roles in sub nav
+    }
+  }
+  ]
 }
 export default applicationRouter
diff --git a/src/views/application/appList.vue b/src/views/application/appList.vue
new file mode 100644
index 0000000..d607682
--- /dev/null
+++ b/src/views/application/appList.vue
@@ -0,0 +1,82 @@
+<template>
+  <el-container class="app-container">
+    <el-header>
+      应用列表
+    </el-header>
+    <el-main>
+      asd
+    </el-main>
+    <el-aside>
+      <el-input v-model="filterText" placeholder="Filter keyword" style="margin-bottom:30px;" />
+      <el-tree
+        ref="tree2"
+        :data="data2"
+        :props="defaultProps"
+        :filter-node-method="filterNode"
+        class="filter-tree"
+        default-expand-all
+      />
+    </el-aside>
+
+  </el-container>
+</template>
+
+<script>
+export default {
+
+  data() {
+    return {
+      filterText: '',
+      data2: [{
+        id: 1,
+        label: 'Level one 1',
+        children: [{
+          id: 4,
+          label: 'Level two 1-1' },
+        {
+          id: 10,
+          label: 'Level three 1-1-2'
+        }
+        ]
+      }, {
+        id: 2,
+        label: 'Level one 2',
+        children: [{
+          id: 5,
+          label: 'Level two 2-1'
+        }, {
+          id: 6,
+          label: 'Level two 2-2'
+        }]
+      }, {
+        id: 3,
+        label: 'Level one 3',
+        children: [{
+          id: 7,
+          label: 'Level two 3-1'
+        }, {
+          id: 8,
+          label: 'Level two 3-2'
+        }]
+      }],
+      defaultProps: {
+        children: 'children',
+        label: 'label'
+      }
+    }
+  },
+  watch: {
+    filterText(val) {
+      this.$refs.tree2.filter(val)
+    }
+  },
+
+  methods: {
+    filterNode(value, data) {
+      if (!value) return true
+      return data.label.indexOf(value) !== -1
+    }
+  }
+}
+</script>
+
diff --git a/src/views/application/appManage.vue b/src/views/application/appManage.vue
index 10bde58..4e742a5 100644
--- a/src/views/application/appManage.vue
+++ b/src/views/application/appManage.vue
@@ -1,577 +1,80 @@
 <template>
-  <div class="login-container">
-    <el-button
-      type="primary"
-      @click="() => addNode()"
-    >{{ $t('users.add') }}</el-button>
-    <el-tree
-      ref="tree"
-      :data="data"
-      show-checkbox
-      node-key="id"
-      highlight-current
-      check-strictly
-      indent="40"
-      icon-class="el-icon-pc"
-      :props="defaultProps"
-    >
-      <!-- <el-tree
-      :data="data"
-      show-checkbox
-      node-key="id"
-      default-expand-all
-      highlight-current
-      isLeaf
-      @node-contextmenu="()=>rightKey(node, data)"
-      check-strictly//在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false
-      :expand-on-click-node="false"//是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。
-      :props="defaultProps"
-    > -->
-      <span
-        slot-scope="{ node, data }"
-        class="custom-tree-node"
-      >
-        <span>{{ node.label }}</span>
-        <span>
-          <el-button
-            type="primary"
-            icon="el-icon-upload"
-            size="mini"
-            @click="() => append(data)"
-          >
-            {{ $t('users.add') }}
-          </el-button>
-          <el-button
-            type="primary"
-            icon="el-icon-edit"
-            size="mini"
-            @click="() => update(node, data)"
-          >
-            {{ $t('users.update') }}
-          </el-button>
-          <el-button
-            type="primary"
-            icon="el-icon-delete"
-            size="mini"
-            class="danger"
-            @click="() => remove(node, data)"
-          >
-            {{ $t('users.del') }}
-          </el-button>
-        </span>
-      </span>
-    </el-tree>
+  <el-container class="app-container">
+    <el-header>
+      添加一个新应用(管理员不允许直接添加应用)
+    </el-header>
+    <el-main>
+      <el-form ref="form" :model="form" label-width="120px">
+        <el-form-item label="app_name">
+          <el-input v-model="form.app_name" />
+        </el-form-item>
 
-    <!-- <div class="buttons">
-      <el-button @click="getCheckedNodes">通过 node 获取</el-button>
-      <el-button @click="getCheckedKeys">通过 key 获取</el-button>
-      <el-button @click="setCheckedNodes">通过 node 设置</el-button>
-      <el-button @click="setCheckedKeys">通过 key 设置</el-button>
-      <el-button @click="resetChecked">清空</el-button>
-    </div> -->
-  </div>
+        <el-form-item label="app_type">
+          <el-radio-group v-model="form.app_type">
+            <el-radio label="自建站" />
+            <el-radio label="自营小程序" />
+            <el-radio label="淘宝店" />
+            <el-radio label="微店" />
+            <el-radio label="亚马逊店" />
+            <el-radio label="易贝店" />
+            <el-radio label="拼多多店" />
+            <el-radio label="抖音店" />
+            <el-radio label="朋友圈店" />
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="app_desc">
+          <el-input v-model="form.app_desc" type="textarea" />
+        </el-form-item>
+        <el-form-item label="app_api_key">
+          <el-input v-model="form.app_api_key" />
+        </el-form-item>
+        <el-form-item label="app_user_defined">
+          <el-input v-model="form.app_user_defined" />
+        </el-form-item>
+
+        <el-form-item label="app_area_defined">
+          <el-input v-model="form.app_area_defined" />
+        </el-form-item>
+
+        <el-form-item label="app_lang_defined">
+          <el-input v-model="form.app_lang_defined" />
+        </el-form-item>
+
+        <el-form-item>
+          <el-button type="primary" @click="onSubmit">添加</el-button>
+        </el-form-item>
+      </el-form>
+    </el-main>
+  </el-container>
 </template>
+
 <script>
-let id = 1000
 export default {
   data() {
     return {
-      data: [
-        {
-          label: '成镜',
-          id: '1',
-          children: [
-            {
-              label: '款式',
-              id: '11',
-              children: [
-                { label: '青春学子风' },
-                { label: '休闲' },
-                { label: '商务' },
-                { label: '复古' },
-                { label: '时尚' },
-                { label: '质感哥特潮' },
-                { label: '轻简北欧风' },
-                { label: '理性几何派' },
-                { label: '多元新风尚' },
-                { label: '立体巴洛克' },
-                { label: '有机未来时' },
-                { label: '无界人文系' },
-                { label: '自然舒视角' },
-                { label: '流线洛可可' },
-                { label: '奶奶风' },
-                { label: '简约-极简文艺范' },
-                { label: '运动风' },
-                { label: '行政风' },
-                { label: '折射率' }
-              ]
-            },
-            { label: '个性化服务', id: '267', children: [] },
-            {
-              label: '赠品',
-              id: '259',
-              children: [{ label: '眼镜布' }, { label: '眼镜盒' }]
-            },
-            {
-              label: '场景',
-              id: '258',
-              children: [
-                { label: '学校场景' },
-                { label: '出行交际' },
-                { label: '夜店迷人' },
-                { label: '明星同款' }
-              ]
-            },
-            {
-              label: '销售保障',
-              id: '245',
-              children: [
-                { label: '可退' },
-                { label: '可换' },
-                { label: '可修' }
-              ]
-            },
-            {
-              label: '功能',
-              id: '140',
-              children: [
-                { label: '防踩压' },
-                { label: '防扭曲' },
-                { label: '抗过敏' },
-                { label: '防腐蚀' },
-                { label: '耐磨损' },
-                { label: '抗蓝光' }
-              ]
-            },
-            {
-              label: '品牌',
-              id: '71',
-              children: [
-                { label: '购易' },
-                { label: '海俪恩' },
-                { label: '沙漠风暴' },
-                { label: '古诗' },
-                { label: '暴龙' },
-                { label: '犀牛' },
-                { label: 'Ray-Ban雷朋' },
-                { label: 'PARIM派丽蒙' },
-                { label: '石狼' },
-                { label: '木九十' }
-              ]
-            },
-            {
-              label: '边形',
-              id: '49',
-              children: [
-                { label: '半框' },
-                { label: '全框' },
-                { label: '无框' }
-              ]
-            },
-            {
-              label: '性别',
-              id: '23',
-              children: [{ label: '男性' }, { label: '女性' }]
-            },
-            {
-              label: '梁型',
-              id: '20',
-              children: [{ label: '双梁' }, { label: '单梁' }]
-            },
-            {
-              label: '重量',
-              id: '19',
-              children: [{ label: '30克以下' }, { label: '80克以上' }]
-            },
-            {
-              label: '适用脸型',
-              id: '15',
-              children: [{ label: '方' }, { label: '圆' }, { label: '瓜子' }]
-            },
-            {
-              label: '形状',
-              id: '14',
-              children: [
-                { label: '正圆形' },
-                { label: '椭圆形' },
-                { label: '方圆' },
-                { label: '方形' },
-                { label: '多边形' },
-                { label: '内三角(蛤蟆)' },
-                { label: '外三角(蝶形)' }
-              ]
-            },
-            { label: '年龄', id: '12', children: [{ label: '通用' }] },
-            {
-              label: '材质',
-              id: '10',
-              children: [
-                { label: '板材' },
-                { label: '纯钛' },
-                { label: 'TR90' },
-                { label: '木质' },
-                { label: '竹质' },
-                { label: 'β钛' },
-                { label: 'PC' },
-                { label: 'ULTEM塑钢' },
-                { label: '钨钛塑钢' },
-                { label: '镁铝合金' },
-                { label: '碳纤维' }
-              ]
-            },
-            { label: '折射率', id: '286', children: [] },
-            {
-              label: '颜色',
-              id: '13',
-              children: [
-                { label: '金色' },
-                { label: '银色' },
-                { label: '黑色' },
-                { label: '彩色' },
-                { label: '枪色' }
-              ]
-            }
-          ]
-        },
-        {
-          label: '镜片',
-          id: '2',
-          children: [
-            {
-              label: '面型',
-              id: '85',
-              children: [{ label: '球面单光' }, { label: '非球面单光' }]
-            },
-            { label: '近视度数', id: '92', children: [] },
-            { label: '散光', id: '93', children: [] },
-            {
-              label: '功能',
-              id: '95',
-              children: [
-                { label: '防起雾' },
-                { label: '防蓝光' },
-                { label: '防紫外线' },
-                { label: '偏光' },
-                { label: '染色' },
-                { label: '抗疲劳' },
-                { label: '青少年渐进' },
-                { label: '内渐进' },
-                { label: '变色' },
-                { label: '双光' },
-                { label: '耐磨损' },
-                { label: '防尘' },
-                { label: '防水' },
-                { label: '防摔' },
-                { label: '防指纹' },
-                { label: '防反光' }
-              ]
-            },
-            {
-              label: '颜色',
-              id: '100',
-              children: [
-                { label: '透明' },
-                { label: '染色' },
-                { label: '变色' },
-                { label: '单色' }
-              ]
-            },
-            {
-              label: '折射率',
-              id: '101',
-              children: [
-                { label: '1.56' },
-                { label: '1.60' },
-                { label: '1.65' },
-                { label: '1.67' },
-                { label: '1.71' },
-                { label: '1.74' }
-              ]
-            },
-            { label: '阿贝数(色散)', id: '102', children: [] },
-            { label: '重量', id: '103', children: [] },
-            {
-              label: '材质',
-              id: '104',
-              children: [
-                { label: '树脂' },
-                { label: '玻璃' },
-                { label: '宇宙PC' },
-                { label: 'PC' }
-              ]
-            },
-            {
-              label: '品牌',
-              id: '118',
-              children: [
-                { label: '好视力' },
-                { label: 'RAISE锐视' },
-                { label: '依视路' },
-                { label: '凯米' },
-                { label: '蔡司' },
-                { label: '舒曼' }
-              ]
-            },
-            {
-              label: '销售保障',
-              id: '249',
-              children: [
-                { label: '可退' },
-                { label: '可换' },
-                { label: '可修' }
-              ]
-            }
-          ]
-        },
-        {
-          label: '隐形眼镜',
-          id: '88',
-          children: [
-            {
-              label: '颜色',
-              id: '105',
-              children: [
-                { label: '绿' },
-                { label: '灰' },
-                { label: '黑' },
-                { label: '紫' },
-                { label: '蓝' },
-                { label: '棕色' },
-                { label: '紫色' }
-              ]
-            },
-            {
-              label: '颜料',
-              id: '106',
-              children: [{ label: '水性' }, { label: '油性' }]
-            },
-            { label: '度数', id: '107', children: [] },
-            {
-              label: '周期',
-              id: '108',
-              children: [
-                { label: '日抛' },
-                { label: '周抛' },
-                { label: '双周抛' },
-                { label: '月抛' },
-                { label: '季抛' },
-                { label: '半年抛' },
-                { label: '年抛' }
-              ]
-            },
-            {
-              label: '品牌',
-              id: '133',
-              children: [
-                { label: 'HolyNara' },
-                { label: '爱尔康' },
-                { label: 'MaxLook' },
-                { label: 'NEO' },
-                { label: 'GEO' },
-                { label: '实瞳' },
-                { label: '茵洛' },
-                { label: 'DAZZSHOP' },
-                { label: 'O-LENS' },
-                { label: 'envie' },
-                { label: '曼秀雷敦' },
-                { label: '妃蜜莉' },
-                { label: '海俪恩' },
-                { label: '凯达' },
-                { label: '蔡司' },
-                { label: '酷视' },
-                { label: 'LILMOON' },
-                { label: 'RICHBABY' },
-                { label: 'T-Garden' },
-                { label: 'lenstown' },
-                { label: '新加坡P2' },
-                { label: '星欧' },
-                { label: '美尼康' },
-                { label: '美汐' },
-                { label: '欧舒天' },
-                { label: '海昌' },
-                { label: '菲士康' },
-                { label: '卫康' },
-                { label: '库博' },
-                { label: '安视优' },
-                { label: '美若康' },
-                { label: '视康' },
-                { label: '澜柏' },
-                { label: '3N' },
-                { label: 'BIJOU' },
-                { label: '依视明' },
-                { label: '博士伦' },
-                { label: '瞳昕' },
-                { label: '科莱博' },
-                { label: '绮芙莉' },
-                { label: '雅培' },
-                { label: '爱能视' },
-                { label: '女神秘语' },
-                { label: '博视顿' },
-                { label: '妆美堂' },
-                { label: '人鱼姬' },
-                { label: 'EverColor' },
-                { label: 'Sincere' }
-              ]
-            },
-            {
-              label: '工艺',
-              id: '159',
-              children: [{ label: '涂层工艺' }, { label: '三层夹色工艺' }]
-            },
-            {
-              label: '材质',
-              id: '164',
-              children: [{ label: '硅水凝胶' }, { label: '水凝胶' }]
-            },
-            {
-              label: '含水量',
-              id: '174',
-              children: [
-                { label: '0-40%' },
-                { label: '40-44%' },
-                { label: '45%以上' }
-              ]
-            },
-            {
-              label: '基弧',
-              id: '178',
-              children: [{ label: '0.0-8.4' }, { label: '8.4以上' }]
-            },
-            {
-              label: '直径',
-              id: '181',
-              children: [{ label: '13.4-14' }, { label: '14以上' }]
-            },
-            {
-              label: '中心厚度',
-              id: '184',
-              children: [
-                { label: '0.0 - 0.03' },
-                { label: '0.04 - 0.09' },
-                { label: '0.1以上' }
-              ]
-            },
-            { label: '销售保障', id: '253', children: [] },
-            { label: '赠品', id: '260', children: [] }
-          ]
-        },
-        {
-          label: '特种镜',
-          id: '146',
-          children: [
-            {
-              label: '镜面颜色',
-              id: '237',
-              children: [{ label: '透明' }, { label: '亮金色' }]
-            },
-            {
-              label: '品牌',
-              id: '238',
-              children: [{ label: '宁哥牌' }, { label: '秀野牌' }]
-            },
-            {
-              label: '销售保障',
-              id: '254',
-              children: [{ label: '包退' }, { label: '包换' }]
-            },
-            {
-              label: '功能',
-              id: '268',
-              children: [
-                { label: '防风镜' },
-                { label: '防爆溅工作镜' },
-                { label: '泳镜' },
-                { label: '智能镜' }
-              ]
-            }
-          ]
-        }
-      ],
-      defaultProps: {
-        children: 'children',
-        label: 'label'
+      form: {
+        app_name: '',
+        app_type: '',
+        app_desc: '',
+        app_api_key: '',
+        app_user_defined: '',
+        app_area_defined: '',
+        app_lang_defined: ''
       }
     }
   },
   methods: {
-    getCheckedNodes() {
-      console.log(this.$refs.tree.getCheckedNodes())
-    },
-    getCheckedKeys() {
-      console.log(this.$refs.tree.getCheckedKeys())
-    },
-    addNode() {
-      let h
-      this.$message({
-        message: h('p', null, [
-          h('span', null, '添加一个新节点 ')
-          // h("i", { style: "color: teal" }, "VNode")
-        ])
-      })
-    },
-    append(data) {
-      const newChild = { id: id++, label: 'testtest', children: [] }
-      if (!data.children) {
-        this.$set(data, 'children', [])
-      }
-      data.children.push(newChild)
-    },
-    remove(node, data) {
-      // 删除
-      const parent = node.parent
-      const children = parent.data.children || parent.data
-      const index = children.findIndex(d => d.id === data.id)
-      children.splice(index, 1)
-    },
-    rightKey(node, data) {
-      // 右键
-      const h = this.$createElement
-      // console.log(data, this.$refs.tree);
-      this.$message({
-        message: h('p', null, [
-          h('span', null, '右键了啊! ' + node + data),
-          h('i', { style: 'color: teal' }, 'VNode')
-        ])
-      })
-    },
-    update(node, data) {
-      // 更新
-      const h = this.$createElement
-      this.$message({
-        message: h('p', null, [
-          h('span', null, '内容可以是 '),
-          h('i', { style: 'color: teal' }, 'VNode')
-        ])
-      })
-    },
-    setCheckedNodes() {
-      this.$refs.tree.setCheckedNodes([
-        {
-          id: 5,
-          label: '二级 2-1'
-        },
-        {
-          id: 9,
-          label: '三级 1-1-1'
-        }
-      ])
-    },
-    setCheckedKeys() {
-      this.$refs.tree.setCheckedKeys([3])
-    },
-    resetChecked() {
-      this.$refs.tree.setCheckedKeys([])
+    onSubmit() {
+      this.$message('submit!')
     }
   }
 }
 </script>
-<style>
-.custom-tree-node {
-  flex: 1;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  font-size: 14px;
-  padding-right: 8px;
+
+<style scoped>
+.line{
+  text-align: center;
 }
 </style>
+
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index f7c2feb..442a295 100755
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -83,8 +83,8 @@
           <el-link type="primary">{{ $t('login.signup') }}</el-link>
         </div> -->
       </div>
-      <div style="position:relative">
-        <!-- <div class="tips">
+      <!-- <div style="position:relative"> -->
+      <!-- <div class="tips">
           <span>{{ $t('login.username') }} : admin</span>
           <span>{{ $t('login.password') }} : {{ $t('login.any') }}</span>
         </div>
@@ -100,7 +100,7 @@
           <span style="margin-right:18px;">{{ $t('login.username') }} : shoper</span>
           <span>{{ $t('login.password') }} : {{ $t('login.any') }}</span>
         </div> -->
-      </div>
+      <!-- </div> -->
     </el-form>
 
     <el-dialog
-- 
2.0.0