shuishen
2021-07-07 f005177e0b3ce23ad9fbdc51de1d89f13b413176
保安管理相关文件修改
5 files modified
2 files added
2 files deleted
562 ■■■■ changed files
public/index.html 4 ●●●● patch | view | raw | blame | history
src/api/management/peopleDetails.js 131 ●●●●● patch | view | raw | blame | history
src/styles/common.scss 4 ●●● patch | view | raw | blame | history
src/styles/management.scss 39 ●●●●● patch | view | raw | blame | history
src/views/management/credentials.vue 35 ●●●● patch | view | raw | blame | history
src/views/management/expression.vue 22 ●●●●● patch | view | raw | blame | history
src/views/management/honor.vue 22 ●●●●● patch | view | raw | blame | history
src/views/management/peopleDetails.vue 303 ●●●● patch | view | raw | blame | history
vue.config.js 2 ●●● patch | view | raw | blame | history
public/index.html
@@ -95,10 +95,10 @@
        初次加载资源可能需要较多时间 请耐心等待
      </div>
    </div>
    <div class="avue-home__footer">
    <!-- <div class="avue-home__footer">
      <a href="https://bladex.vip" target="_blank">
        https://bladex.vip </a>
    </div>
    </div> -->
  </div>
</div>
<!-- built files will be auto injected -->
src/api/management/peopleDetails.js
New file
@@ -0,0 +1,131 @@
import request from '@/router/axios';
export const manifestationList = (securityid) => {
  return request({
    url: '/api/performance/list',
    method: 'get',
    params: {
      securityid
    }
  })
}
export const dispatchList = (cardid) => {
  return request({
    url: '/api/dispatcher/list',
    method: 'get',
    params: {
      cardid
    }
  })
}
export const remove = (ids) => {
  return request({
    url: '/api/blade-user/remove',
    method: 'post',
    params: {
      ids,
    }
  })
}
export const add = (row) => {
  return request({
    url: '/api/blade-user/submit',
    method: 'post',
    data: row
  })
}
export const update = (row) => {
  return request({
    url: '/api/blade-user/update',
    method: 'post',
    data: row
  })
}
export const updatePlatform = (userId, userType, userExt) => {
  return request({
    url: '/api/blade-user/update-platform',
    method: 'post',
    params: {
      userId,
      userType,
      userExt,
    }
  })
}
export const getUser = (id) => {
  return request({
    url: '/api/blade-user/detail',
    method: 'get',
    params: {
      id,
    }
  })
}
export const getUserPlatform = (id) => {
  return request({
    url: '/api/blade-user/platform-detail',
    method: 'get',
    params: {
      id,
    }
  })
}
export const getUserInfo = () => {
  return request({
    url: '/api/blade-user/info',
    method: 'get',
  })
}
export const resetPassword = (userIds) => {
  return request({
    url: '/api/blade-user/reset-password',
    method: 'post',
    params: {
      userIds,
    }
  })
}
export const updatePassword = (oldPassword, newPassword, newPassword1) => {
  return request({
    url: '/api/blade-user/update-password',
    method: 'post',
    params: {
      oldPassword,
      newPassword,
      newPassword1,
    }
  })
}
export const updateInfo = (row) => {
  return request({
    url: '/api/blade-user/update-info',
    method: 'post',
    data: row
  })
}
export const grant = (userIds, roleIds) => {
  return request({
    url: '/api/blade-user/grant',
    method: 'post',
    params: {
      userIds,
      roleIds,
    }
  })
}
src/styles/common.scss
@@ -18,6 +18,8 @@
@import './media.scss';
//通用配置
@import './normalize.scss';
//保安人员管理相关样式
@import './management.scss';
a{
  text-decoration: none;
@@ -27,4 +29,4 @@
  outline: none;
}
//滚动条样式
@include scrollBar;
@include scrollBar;
src/styles/management.scss
New file
@@ -0,0 +1,39 @@
// 保安人员管理相关样式
#avue-view {
  & > .el-row {
      position: absolute;
      top: 40px;
      left: 0px;
      right: 0px;
      bottom: 0px;
      padding: 10px !important;
      .el-col {
          height: 100%;
          .el-card {
              position: relative;
              height: 100%;
              .card-body {
                  position: absolute;
                  top: 0;
                  left: 0;
                  right: 0;
                  bottom: 0;
                  margin: 0;
                  padding: 20px;
                  height: calc(100% - 40px) !important;
              }
          }
      }
  }
}
.card-body {
  .el-tabs {
    height: 100%;
    .el-tabs__content {
      height: calc(100% - 55px) !important;
    }
  }
}
src/views/management/credentials.vue
@@ -2,21 +2,44 @@
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-05 16:44:19
 * @Last Modified time: 2021-07-07 11:31:50
 * menu-name 保安员证件吊销
 */
<template>
  <div>
    保安员证件吊销
  </div>
    <el-row>
        <el-col :span="24">
            <el-card>
                <div class="card-body">
                </div>
            </el-card>
        </el-col>
    </el-row>
</template>
<script>
export default {
export default {
    data () {
        return {
        }
    },
    created () {
    },
    mounted () {
    },
    methods: {
    }
}
</script>
<style>
<style lang="scss" scoped>
</style>
src/views/management/expression.vue
File was deleted
src/views/management/honor.vue
File was deleted
src/views/management/peopleDetails.vue
@@ -2,70 +2,303 @@
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-06 19:10:13
 * @Last Modified time: 2021-07-07 11:31:26
 * menu-name 保安详细资料
 */
<template>
    <el-row>
        <el-col :span="24">
            <el-card>
                <el-tabs v-model="activeName"
                         @tab-click="handleClick">
                    <el-tab-pane label="基本信息"
                                 name="first">基本信息</el-tab-pane>
                    <el-tab-pane label="人员表现"
                                 name="second">人员表现</el-tab-pane>
                    <el-tab-pane label="角色管理"
                                 name="third">角色管理</el-tab-pane>
                    <el-tab-pane label="相关荣誉"
                                 name="fourth">相关荣誉</el-tab-pane>
                </el-tabs>
                <div class="card-body">
                    <el-tabs v-model="activeName"
                             @tab-click="handleClick">
                        <el-tab-pane label="基本信息"
                                     name="first">
                            <el-form :model="form"
                                     label-position="right"
                                     size="mini"
                                     label-width="100px">
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="姓名">
                                            <el-input disabled="true"
                                                      v-model="form.realName"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="性别">
                                            <el-input disabled="true"
                                                      :value="form.sex == 1 ? '男' : '女'"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-col span="12">
                                            <el-form-item label="电子邮箱">
                                                <el-input disabled="true"
                                                          v-model="form.emails"
                                                          autocomplete="off"></el-input>
                                            </el-form-item>
                                        </el-col>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="联系方式">
                                            <el-input disabled="true"
                                                      v-model="form.phone"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="身高">
                                            <el-input disabled="true"
                                                      v-model="form.height"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="联系地址">
                                            <el-input disabled="true"
                                                      v-model="form.address"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="籍贯">
                                            <el-input disabled="true"
                                                      v-model="form.nativePlace"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="户口所在地">
                                            <el-input disabled="true"
                                                      v-model="form.registered"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="政治面貌">
                                            <el-input disabled="true"
                                                      v-model="form.politicaloutlook"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="身份证号">
                                            <el-input disabled="true"
                                                      v-model="form.cardid"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="所属角色">
                                            <el-input disabled="true"
                                                      v-model="form.roleName"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="所属公司">
                                            <el-input disabled="true"
                                                      v-model="form.deptName"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="入职时间">
                                            <el-input disabled="true"
                                                      v-model="form.rtime"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="是否在职">
                                            <el-input disabled="true"
                                                      :value="form.sex == 1 ? '是' : '否'"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                            </el-form>
                        </el-tab-pane>
                        <el-tab-pane label="人员表现"
                                     name="second">
                            <el-table :data="manifestationData"
                                      style="width: 100%">
                                <el-table-column prop="name"
                                                 label="姓名"
                                                 align="center">
                                </el-table-column>
                                <el-table-column prop="securityid"
                                                 label="身份证号"
                                                 align="center">
                                </el-table-column>
                                <el-table-column prop="workingattitude"
                                                 align="center"
                                                 label="工作态度">
                                </el-table-column>
                                <el-table-column prop="workingability"
                                                 align="center"
                                                 label="工作能力">
                                </el-table-column>
                                <el-table-column prop="achievements"
                                                 align="center"
                                                 label="工作成效">
                                </el-table-column>
                                <el-table-column prop="score"
                                                 align="center"
                                                 label="评分">
                                </el-table-column>
                                <el-table-column prop="time"
                                                 align="center"
                                                 label="时间">
                                </el-table-column>
                            </el-table>
                        </el-tab-pane>
                        <el-tab-pane label="派遣记录"
                                     name="third">
                            <el-table :data="dispatchData"
                                      style="width: 100%">
                                <el-table-column prop="name"
                                                 label="姓名"
                                                 align="center">
                                </el-table-column>
                                <el-table-column prop="cardid"
                                                 label="身份证号"
                                                 align="center">
                                </el-table-column>
                                <el-table-column prop="dispatcher"
                                                 align="center"
                                                 label="派遣人">
                                </el-table-column>
                                <el-table-column prop="dispatchertime"
                                                 align="center"
                                                 label="派遣时间">
                                </el-table-column>
                                <el-table-column prop="dispatcheraddress"
                                                 align="center"
                                                 label="派遣地址">
                                </el-table-column>
                            </el-table>
                        </el-tab-pane>
                        <el-tab-pane label="相关荣誉"
                                     name="fourth">相关荣誉</el-tab-pane>
                    </el-tabs>
                </div>
            </el-card>
        </el-col>
    </el-row>
</template>
<script>
import {
    manifestationList,
    dispatchList
} from "@/api/management/peopleDetails";
export default {
    data () {
        return {
            activeName: 'second'
            activeName: 'first',
            form: {},
            manifestationData: [],
            dispatchData: [],
        }
    },
    created () {
      this.$store.state.tags.tagList.forEach((item, index) => {
                if (item.label == "保安详细资料") {
                   this.$store.state.tags.tagList.splice(index, 1)
                   return;
                }
            })
        this.$store.state.tags.tagList.forEach((item, index) => {
            if (item.label == "保安详细资料") {
                this.$store.state.tags.tagList.splice(index, 1)
                return;
            }
        })
        this.form = this.$route.query;
    },
    mounted () {
        console.log(this.$store.state.tags.tag.label)
        this.$store.state.tags.tag.label = '保安详细资料'
        console.log(this.$store.state.tags.tag.label)
    },
    methods: {
        handleClick (tab, event) {
            console.log(tab, event);
        handleClick (tab) {
            if (tab.index == 1) {
                this.getManifestationData()
            } else if (tab.index == 2) {
                this.getDispatchData()
            } else if (tab.index == 3) {
              console.log(1)
            }
        },
        getManifestationData () {
            // manifestationList(this.form.cardid).then(res => {
            manifestationList('360882199604251516').then(res => {
                this.manifestationData = res.data.data.records
                this.manifestationData.forEach(item => {
                    item.name = this.form.realName
                    item.time = item.time.substring(0, 10)
                })
            })
        },
        getDispatchData () {
            dispatchList('360882199604251516').then(res => {
                this.dispatchData = res.data.data.records
            })
        }
    }
}
</script>
<style lang="scss" scoped>
.el-row {
    position: absolute;
    top: 40px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    padding: 10px !important;
    .el-col {
        height: 100%;
        .el-card {
            height: 100%;
        }
    }
}
</style>
vue.config.js
@@ -26,7 +26,7 @@
    proxy: {
      '/api': {
        //本地服务接口地址
        target: 'http://2h3f861221.wicp.vip',
        target: 'http://192.168.0.104',
        //远程演示服务地址,可用于直接启动项目
        //target: 'https://saber.bladex.vip/api',
        ws: true,