瀏覽代碼

添加请求

chenying 4 年之前
父節點
當前提交
5618a7f8c0

+ 1 - 1
src/mock/index.js

@@ -18,7 +18,7 @@ fnCreate(sysConfig, true)
 fnCreate(sysLog, true)
 fnCreate(sysMenu, true)
 fnCreate(sysRole, true)
-fnCreate(sysUser, true)
+fnCreate(sysUser, false)
 
 /**
  * 创建mock模拟数据

+ 1 - 1
src/router/index.js

@@ -49,7 +49,7 @@ const mainRoutes = {
 }
 
 const router = new Router({
-  mode: 'hash',
+  mode: 'history', // 'hash',
   scrollBehavior: () => ({ y: 0 }),
   isAddDynamicMenuRoutes: false, // 是否已经添加动态(菜单)路由
   routes: globalRoutes.concat(mainRoutes)

+ 1 - 1
src/utils/httpRequest.js

@@ -17,7 +17,7 @@ const http = axios.create({
  * 请求拦截
  */
 http.interceptors.request.use(config => {
-  config.headers['token'] = Vue.cookie.get('token') // 请求头带上token
+  config.headers['Authorization'] = 'bearer ' + Vue.cookie.get('token') // 请求头带上token
   return config
 }, error => {
   return Promise.reject(error)

+ 1 - 1
src/utils/index.js

@@ -33,7 +33,7 @@ export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
   }
   for (var k = 0; k < data.length; k++) {
     if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
-      if (!temp[data[k][pid]]['children']) {
+      if (temp[data[k][pid]]['children'] === null) {
         temp[data[k][pid]]['children'] = []
       }
       if (!temp[data[k][pid]]['_level']) {

+ 1 - 23
src/views/common/home.vue

@@ -1,28 +1,6 @@
 <template>
   <div class="mod-home">
-    <h3>项目介绍</h3>
-    <ul>
-      <li>renren-fast-vue基于vue、element-ui构建开发,实现<a href="https://gitee.com/renrenio/renren-fast" target="_blank">renren-fast</a>后台管理前端功能,提供一套更优的前端解决方案</li>
-      <li>前后端分离,通过token进行数据交互,可独立部署</li>
-      <li>主题定制,通过scss变量统一一站式定制</li>
-      <li>动态菜单,通过菜单管理统一管理访问路由</li>
-      <li>数据切换,通过mock配置对接口数据/mock模拟数据进行切换</li>
-      <li>发布时,可动态配置CDN静态资源/切换新旧版本</li>
-      <li>演示地址:<a href="http://demo.open.renren.io/renren-fast" target="_blank">http://demo.open.renren.io/renren-fast</a> (账号密码:admin/admin)</li>
-    </ul>
-    <h3>获取帮助</h3>
-    <ul>
-      <li>官方社区:<a href="https://www.renren.io/community" target="_blank">https://www.renren.io/community</a></li>
-      <li>前端Git地址:<a href="https://github.com/renrenio/renren-fast-vue" target="_blank">https://github.com/renrenio/renren-fast-vue</a></li>
-      <li>后台Git地址:<a href="https://gitee.com/renrenio/renren-fast" target="_blank">https://gitee.com/renrenio/renren-fast</a></li>
-      <li>代码生成器:<a href="https://gitee.com/renrenio/renren-generator" target="_blank">https://gitee.com/renrenio/renren-generator</a></li>
-      <li>如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持</li>
-    </ul>
-    <h3>官方QQ群</h3>
-    <ul>
-      <li>高级群:324780204(大牛云集,跟大牛学习新技能)</li>
-      <li>普通群:145799952(学习交流,互相解答各种疑问)</li>
-    </ul>
+    <h3>机场智慧平台,欢迎您!</h3>
   </div>
 </template>
 

+ 6 - 7
src/views/common/login.vue

@@ -15,7 +15,7 @@
             <el-form-item prop="password">
               <el-input v-model="dataForm.password" type="password" placeholder="密码"></el-input>
             </el-form-item>
-            <el-form-item prop="captcha">
+            <!-- <el-form-item prop="captcha">
               <el-row :gutter="20">
                 <el-col :span="14">
                   <el-input v-model="dataForm.captcha" placeholder="验证码">
@@ -25,7 +25,7 @@
                   <img :src="captchaPath" @click="getCaptcha()" alt="">
                 </el-col>
               </el-row>
-            </el-form-item>
+            </el-form-item> -->
             <el-form-item>
               <el-button class="login-btn-submit" type="primary" @click="dataFormSubmit()">登录</el-button>
             </el-form-item>
@@ -70,17 +70,16 @@
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
             this.$http({
-              url: this.$http.adornUrl('/sys/login'),
+              url: this.$http.adornUrl('/user-service/user/login'),
               method: 'post',
               data: this.$http.adornData({
                 'username': this.dataForm.userName,
                 'password': this.dataForm.password,
-                'uuid': this.dataForm.uuid,
-                'captcha': this.dataForm.captcha
+                'appCode': 'ERP-SYSTEM'
               })
             }).then(({data}) => {
-              if (data && data.code === 0) {
-                this.$cookie.set('token', data.token)
+              if (data && data.code === '200') {
+                this.$cookie.set('token', data.data.access_token)
                 this.$router.replace({ name: 'home' })
               } else {
                 this.getCaptcha()

+ 5 - 6
src/views/main.vue

@@ -74,14 +74,13 @@
       // 获取当前管理员信息
       getUserInfo () {
         this.$http({
-          url: this.$http.adornUrl('/sys/user/info'),
-          method: 'get',
-          params: this.$http.adornParams()
+          url: this.$http.adornUrl('/user-service/user/info'),
+          method: 'get'
         }).then(({data}) => {
-          if (data && data.code === 0) {
+          if (data && data.code === '200') {
             this.loading = false
-            this.userId = data.user.userId
-            this.userName = data.user.username
+            this.userId = data.data.userId
+            this.userName = data.data.username
           }
         })
       }

+ 55 - 94
src/views/modules/org/org-add-or-update.vue

@@ -4,32 +4,37 @@
     :close-on-click-modal="false"
     :visible.sync="visible">
     <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
-      <el-form-item label="用户名" prop="userName">
-        <el-input v-model="dataForm.userName" placeholder="登录帐号"></el-input>
+      <el-form-item label="机构名称" prop="name">
+        <el-input v-model="dataForm.name" placeholder="机构名称"></el-input>
       </el-form-item>
-      <el-form-item label="密码" prop="password" :class="{ 'is-required': !dataForm.id }">
-        <el-input v-model="dataForm.password" type="password" placeholder="密码"></el-input>
+      <el-form-item label="上级机构" prop="parentName">
+        <el-popover
+          ref="menuListPopover"
+          placement="bottom-start"
+          trigger="click">
+          <el-tree
+            :data="orgList"
+            :props="menuListTreeProps"
+            node-key="menuId"
+            ref="menuListTree"
+            @current-change="menuListTreeCurrentChangeHandle"
+            :default-expand-all="true"
+            :highlight-current="true"
+            :expand-on-click-node="false">
+          </el-tree>
+        </el-popover>
+        <el-input v-model="dataForm.parentName" v-popover:menuListPopover :readonly="true" placeholder="点击选择上级机构" class="menu-list__input"></el-input>
       </el-form-item>
-      <el-form-item label="确认密码" prop="comfirmPassword" :class="{ 'is-required': !dataForm.id }">
-        <el-input v-model="dataForm.comfirmPassword" type="password" placeholder="确认密码"></el-input>
-      </el-form-item>
-      <el-form-item label="邮箱" prop="email">
-        <el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
-      </el-form-item>
-      <el-form-item label="手机号" prop="mobile">
-        <el-input v-model="dataForm.mobile" placeholder="手机号"></el-input>
-      </el-form-item>
-      <el-form-item label="角色" size="mini" prop="roleIdList">
-        <el-checkbox-group v-model="dataForm.roleIdList">
-          <el-checkbox v-for="role in roleList" :key="role.roleId" :label="role.roleId">{{ role.roleName }}</el-checkbox>
-        </el-checkbox-group>
-      </el-form-item>
-      <el-form-item label="状态" size="mini" prop="status">
-        <el-radio-group v-model="dataForm.status">
-          <el-radio :label="0">禁用</el-radio>
-          <el-radio :label="1">正常</el-radio>
+      <!-- <el-form-item label="状态" size="mini" prop="orgType">
+        <el-radio-group v-model="dataForm.orgType">
+          <el-radio :label="0">非运输公司</el-radio>
+          <el-radio :label="1">运输公司</el-radio>
         </el-radio-group>
+      </el-form-item> -->
+      <el-form-item label="排序" prop="orderNum">
+        <el-input-number v-model="dataForm.orderNum" controls-position="right" :min="0" label="排序"></el-input-number>
       </el-form-item>
+
     </el-form>
     <span slot="footer" class="dialog-footer">
       <el-button @click="visible = false">取消</el-button>
@@ -39,83 +44,42 @@
 </template>
 
 <script>
-  import { isEmail, isMobile } from '@/utils/validate'
   export default {
     data () {
-      var validatePassword = (rule, value, callback) => {
-        if (!this.dataForm.id && !/\S/.test(value)) {
-          callback(new Error('密码不能为空'))
-        } else {
-          callback()
-        }
-      }
-      var validateComfirmPassword = (rule, value, callback) => {
-        if (!this.dataForm.id && !/\S/.test(value)) {
-          callback(new Error('确认密码不能为空'))
-        } else if (this.dataForm.password !== value) {
-          callback(new Error('确认密码与密码输入不一致'))
-        } else {
-          callback()
-        }
-      }
-      var validateEmail = (rule, value, callback) => {
-        if (!isEmail(value)) {
-          callback(new Error('邮箱格式错误'))
-        } else {
-          callback()
-        }
-      }
-      var validateMobile = (rule, value, callback) => {
-        if (!isMobile(value)) {
-          callback(new Error('手机号格式错误'))
-        } else {
-          callback()
-        }
-      }
       return {
         visible: false,
-        roleList: [],
+        orgList: [],
         dataForm: {
           id: 0,
-          userName: '',
-          password: '',
-          comfirmPassword: '',
-          salt: '',
-          email: '',
-          mobile: '',
-          roleIdList: [],
-          status: 1
+          name: '',
+          parentId: '',
+          parentName: '',
+          orderNum: '',
+          orgType: ''
         },
         dataRule: {
-          userName: [
-            { required: true, message: '用户名不能为空', trigger: 'blur' }
-          ],
-          password: [
-            { validator: validatePassword, trigger: 'blur' }
-          ],
-          comfirmPassword: [
-            { validator: validateComfirmPassword, trigger: 'blur' }
+          name: [
+            { required: true, message: '机构名称不能为空', trigger: 'blur' }
           ],
-          email: [
-            { required: true, message: '邮箱不能为空', trigger: 'blur' },
-            { validator: validateEmail, trigger: 'blur' }
-          ],
-          mobile: [
-            { required: true, message: '手机号不能为空', trigger: 'blur' },
-            { validator: validateMobile, trigger: 'blur' }
+          parentName: [
+            { required: true, message: '上级机构不能为空', trigger: 'blur' }
           ]
+        },
+        menuListTreeProps: {
+          label: 'name',
+          children: 'children'
         }
       }
     },
     methods: {
-      init (id) {
+      async init (id) {
         this.dataForm.id = id || 0
         this.$http({
-          url: this.$http.adornUrl('/sys/role/select'),
+          url: this.$http.adornUrl(`/user-service/org/queryTree`),
           method: 'get',
           params: this.$http.adornParams()
         }).then(({data}) => {
-          this.roleList = data && data.code === 0 ? data.list : []
+          this.orgList = data && data.code === '200' ? data.data : []
         }).then(() => {
           this.visible = true
           this.$nextTick(() => {
@@ -124,7 +88,7 @@
         }).then(() => {
           if (this.dataForm.id) {
             this.$http({
-              url: this.$http.adornUrl(`/sys/user/info/${this.dataForm.id}`),
+              url: this.$http.adornUrl(`/user-service/org/info/${this.dataForm.id}`),
               method: 'get',
               params: this.$http.adornParams()
             }).then(({data}) => {
@@ -140,25 +104,22 @@
           }
         })
       },
+      menuListTreeCurrentChangeHandle (data, node) {
+        this.dataForm.parentId = data.orgId
+        this.dataForm.parentName = data.name
+      },
       // 表单提交
       dataFormSubmit () {
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
+            const params = { ...this.dataForm }
+            if (this.dataForm.id) params.orgId = this.dataForm.id
             this.$http({
-              url: this.$http.adornUrl(`/sys/user/${!this.dataForm.id ? 'save' : 'update'}`),
-              method: 'post',
-              data: this.$http.adornData({
-                'userId': this.dataForm.id || undefined,
-                'username': this.dataForm.userName,
-                'password': this.dataForm.password,
-                'salt': this.dataForm.salt,
-                'email': this.dataForm.email,
-                'mobile': this.dataForm.mobile,
-                'status': this.dataForm.status,
-                'roleIdList': this.dataForm.roleIdList
-              })
+              url: this.$http.adornUrl(`/user-service/org/save`),
+              method: this.dataForm.id ? 'put' : 'post',
+              data: this.$http.adornData(params)
             }).then(({data}) => {
-              if (data && data.code === 0) {
+              if (data && data.code === '200') {
                 this.$message({
                   message: '操作成功',
                   type: 'success',

+ 29 - 51
src/views/modules/org/org.vue

@@ -8,77 +8,53 @@
 
     <el-table
       :data="dataList"
-      row-key="menuId"
+      row-key="orgId"
       border
       style="width: 100%; ">
-      <el-table-column type="selection" width="40">
+      <!-- <el-table-column type="selection" width="40">
     	  <template slot-scope="scope">
-        	<el-radio :label="scope.row.name" v-model="radioId"></el-radio>
+        	<el-radio :label="scope.row.orgId" v-model="orgId"> &nbsp; </el-radio>
         </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column
         prop="name"
         header-align="center"
-        min-width="150"
-        label="名称" >
+        min-width="100"
+        label="机构名称" >
       </el-table-column>
-      <el-table-column
-        prop="parentName"
+      <!-- <el-table-column
+        prop="orgType"
         header-align="center"
         align="center"
         width="120"
-        label="上级菜单">
-      </el-table-column>
-      <el-table-column
-        header-align="center"
-        align="center"
-        label="图标">
+        label="机构类型">
         <template slot-scope="scope">
-          <icon-svg :name="scope.row.icon || ''"></icon-svg>
+          <span>{{ orgType[Number(scope.row.orgType || 0)] }}</span>
         </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column
-        prop="type"
-        header-align="center"
-        align="center"
-        label="类型">
-        <template slot-scope="scope">
-          <el-tag v-if="scope.row.type === 0" size="small">目录</el-tag>
-          <el-tag v-else-if="scope.row.type === 1" size="small" type="success">菜单</el-tag>
-          <el-tag v-else-if="scope.row.type === 2" size="small" type="info">按钮</el-tag>
-        </template>
-      </el-table-column>
-      <el-table-column
-        prop="orderNum"
-        header-align="center"
-        align="center"
-        label="排序号">
-      </el-table-column>
-      <el-table-column
-        prop="url"
+        prop="parentName"
         header-align="center"
         align="center"
-        width="150"
-        :show-overflow-tooltip="true"
-        label="菜单URL">
+        width="120"
+        label="上级机构">
       </el-table-column>
       <el-table-column
-        prop="perms"
+        prop="orgId"
         header-align="center"
         align="center"
-        width="150"
+        min-width="100"
         :show-overflow-tooltip="true"
-        label="授权标识">
+        label="机构ID">
       </el-table-column>
       <el-table-column
-        fixed="right"
         header-align="center"
         align="center"
         width="150"
         label="操作">
         <template slot-scope="scope">
-          <el-button v-if="isAuth('sys:menu:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.menuId)">修改</el-button>
-          <el-button v-if="isAuth('sys:menu:delete')" type="text" size="small" @click="deleteHandle(scope.row.menuId)">删除</el-button>
+          <el-button v-if="isAuth('sys:menu:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.orgId)">修改</el-button>
+          <el-button v-if="isAuth('sys:menu:delete')" type="text" size="small" @click="deleteHandle(scope.row.orgId)">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -89,7 +65,6 @@
 
 <script>
   import AddOrUpdate from './org-add-or-update'
-  import { treeDataTranslate } from '@/utils'
   export default {
     data () {
       return {
@@ -97,7 +72,8 @@
         dataList: [],
         dataListLoading: false,
         addOrUpdateVisible: false,
-        radioId: ''
+        orgId: '',
+        orgType: ['非运输公司', '运输公司']
       }
     },
     components: {
@@ -111,11 +87,13 @@
       getDataList () {
         this.dataListLoading = true
         this.$http({
-          url: this.$http.adornUrl('/sys/menu/list'),
+          url: this.$http.adornUrl('/user-service/org/queryTree'),
           method: 'get',
           params: this.$http.adornParams()
         }).then(({data}) => {
-          this.dataList = treeDataTranslate(data, 'menuId')
+          if (data.code === '200') {
+            this.dataList = JSON.parse(JSON.stringify(data.data).replace(/"children":null/g, '"children":[]'))
+          }
           this.dataListLoading = false
         })
       },
@@ -128,17 +106,17 @@
       },
       // 删除
       deleteHandle (id) {
-        this.$confirm(`确定对[id=${id}]进行[删除]操作?`, '提示', {
+        this.$confirm(`确定对[orgId=${id}]进行[删除]操作?`, '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
           this.$http({
-            url: this.$http.adornUrl(`/sys/menu/delete/${id}`),
-            method: 'post',
+            url: this.$http.adornUrl(`/user-service/org/delete/${id}`),
+            method: 'DELETE',
             data: this.$http.adornData()
           }).then(({data}) => {
-            if (data && data.code === 0) {
+            if (data && data.code === '200') {
               this.$message({
                 message: '操作成功',
                 type: 'success',

+ 1 - 1
static/config/index.js

@@ -5,7 +5,7 @@
   window.SITE_CONFIG = {};
 
   // api接口请求地址
-  window.SITE_CONFIG['baseUrl'] = 'http://localhost:8080/renren-fast';
+  window.SITE_CONFIG['baseUrl'] = 'http://112.74.164.79/api';
 
   // cdn地址 = 域名 + 版本号
   window.SITE_CONFIG['domain']  = './'; // 域名