Alan
2021-02-17 8592c430b9133c1a41b1438a175017084a23d253
提交用户管理新增的字段
3个文件已修改
183 ■■■■ 已修改文件
src/views/dashboard/index.vue 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/febs/system/user/Edit.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/febs/system/user/Index.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/index.vue
@@ -41,35 +41,67 @@
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>新进员工人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>正式员工人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>临时员工人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>超龄员工人数</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>离职员工总数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>新进人员</p>
          <p>辞职申请人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>正常离职人员</p>
          <p>正常离职人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>自动离职人员</p>
          <p>自动离职人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>公司辞退人数</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>有效合同</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
@@ -94,10 +126,12 @@
          <p>历史合同</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>出勤天数</p>
          <p>出勤人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
@@ -106,18 +140,16 @@
          <p>员工请假</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>员工加班(天)</p>
          <p>员工体验</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>员工加班(小时)</p>
          <p>员工加班</p>
        </el-card>
      </el-col>
      <el-col :span="4">
@@ -126,10 +158,44 @@
          <p>员工旷工</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>证件到期</p>
          <p>劳资案件</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>工伤案件</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>意外险案件</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>社保申请</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>失业金案件</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>身份证到期</p>
        </el-card>
      </el-col>
      <el-col :span="4">
@@ -141,9 +207,10 @@
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>员工体检</p>
          <p>不良记录</p>
        </el-card>
      </el-col>
    </el-row>
  </div>
</template>
src/views/febs/system/user/Edit.vue
@@ -11,15 +11,23 @@
      <el-form-item :label="$t('table.user.username')" prop="username">
        <el-input v-model="user.username" :readonly="user.userId === '' ? false : 'readonly'" />
      </el-form-item>
      <el-form-item v-show="user.userId === ''" :label="$t('table.user.password')" prop="password">
        <el-tooltip class="item" effect="dark" :content="$t('tips.defaultPassword')" placement="top-start">
          <el-input value="1234qwer" type="password" readonly />
        </el-tooltip>
      <el-form-item label="员工姓名" prop="email">
        <el-input v-model="user.nickName" />
      </el-form-item>
      <el-form-item :label="$t('table.user.email')" prop="email">
        <el-input v-model="user.email" />
      <el-form-item label="身份证号" prop="certificateNumb">
        <el-select v-model="user.certificateNumb" placeholder="" style="width:100%">
          <el-option
            v-for="item in baseinfo"
            :key="item.certificateNumb"
            :label="item.empName"
            :value="String(item.certificateNumb)"
          >
            <span style="float: left">{{ item.certificateNumb }}</span>
            <span style="float: right; color: #8492a6; font-size: 13px">{{ item.empName }}</span>
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item :label="$t('table.user.mobile')" prop="mobile">
      <el-form-item label="手机号码" prop="mobile">
        <el-input v-model="user.mobile" />
      </el-form-item>
      <el-form-item :label="$t('table.user.dept')" prop="deptId">
@@ -32,6 +40,15 @@
          style="width:100%"
        />
      </el-form-item>
      <el-form-item v-show="user.userId === ''" :label="$t('table.user.password')" prop="password">
        <el-tooltip class="item" effect="dark" :content="$t('tips.defaultPassword')" placement="top-start">
          <el-input value="1234qwer" type="password" readonly />
        </el-tooltip>
      </el-form-item>
      <el-form-item :label="$t('table.user.email')" prop="email">
        <el-input v-model="user.email" />
      </el-form-item>
      <el-form-item :label="$t('table.user.role')" prop="roleId">
        <el-select v-model="user.roleId" multiple value="" placeholder="" style="width:100%">
          <el-option
@@ -39,7 +56,10 @@
            :key="item.roleId"
            :label="item.roleName"
            :value="String(item.roleId)"
          />
          >
            <span style="float: left">{{ item.roleId }}</span>
            <span style="float: right; color: #8492a6; font-size: 13px">{{ item.roleName }}</span>
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item :label="$t('table.user.dataPermission')" prop="deptIds">
@@ -54,13 +74,6 @@
          highlight-current
          style="border: 1px solid #DCDFE6;border-radius: 3px;padding: 6px;"
        />
      </el-form-item>
      <el-form-item :label="$t('table.user.sex')" prop="sex">
        <el-select v-model="user.sex" value="" placeholder="" style="width:100%">
          <el-option value="0" :label="$t('common.sex.male') " />
          <el-option value="1" :label="$t('common.sex.female') " />
          <el-option value="2" :label="$t('common.sex.secret') " />
        </el-select>
      </el-form-item>
      <el-form-item :label="$t('table.user.status')" prop="status">
        <el-radio-group v-model="user.status">
@@ -106,6 +119,7 @@
      width: this.initWidth(),
      depts: [],
      roles: [],
      baseinfo: [],
      deptTree: [],
      rules: {
        username: [
@@ -153,6 +167,7 @@
  mounted() {
    this.initDept()
    this.initRoles()
    this.initBaseinfo()
    window.onresize = () => {
      return (() => {
        this.width = this.initWidth()
@@ -160,10 +175,15 @@
    }
  },
  methods: {
    returnUser() {
      alert(111)
    },
    initUser() {
      return {
        userId: '',
        username: '',
        certificateNumb: '',
        nickName: '',
        password: '1234qwer',
        email: '',
        mobile: '',
@@ -211,6 +231,17 @@
        })
      })
    },
    initBaseinfo() {
      this.$get('hr/empBaseInfo/options').then((r) => {
        this.baseinfo = r.data.data
      }).catch((error) => {
        console.error(error)
        this.$message({
          message: this.$t('tips.getDataFail'),
          type: 'error'
        })
      })
    },
    setUser(val) {
      this.user = { ...val }
      this.user.deptIds && (this.user.deptIdsArr = this.user.deptIds.split(','))
src/views/febs/system/user/Index.vue
@@ -65,35 +65,30 @@
          </el-link>
        </template>
      </el-table-column>
      <el-table-column label="部门(护卫点)" align="center" min-width="100px">
        <template slot-scope="scope">
          <span>{{ scope.row.deptName }}</span>
        </template>
      </el-table-column>
      <el-table-column :label="$t('table.user.username')" prop="username" :show-overflow-tooltip="true" align="center" min-width="120px">
        <template slot-scope="scope">
          <span>{{ scope.row.username }}</span>
        </template>
      </el-table-column>
      <el-table-column label="用户头像" :show-overflow-tooltip="true" align="center" min-width="120px" />
      <el-table-column label="姓名" :show-overflow-tooltip="true" align="center" min-width="120px" />
      <el-table-column
        :label="$t('table.user.sex')"
        :filters="[{ text: $t('common.sex.male'), value: '0' }, { text: $t('common.sex.female'), value: '1' }, { text: $t('common.sex.secret'), value: '2' }]"
        :filter-method="filterSex"
        class-name="status-col"
      >
        <template slot-scope="{row}">
          <el-tag :type="row.sex | sexFilter">
            {{ transSex(row.sex) }}
          </el-tag>
      <el-table-column label="员工姓名" prop="nickName" :show-overflow-tooltip="true" align="center" min-width="120px">
        <template slot-scope="scope">
          <span>{{ scope.row.nickName }}</span>
        </template>
      </el-table-column>
      <el-table-column label="身份证号" prop="certificateNumb" :show-overflow-tooltip="true" align="center" min-width="120px">
        <template slot-scope="scope">
          <span>{{ scope.row.certificateNumb }}</span>
        </template>
      </el-table-column>
      <el-table-column label="手机" :show-overflow-tooltip="true" align="center" min-width="120px" />
      <el-table-column :label="$t('table.user.email')" :show-overflow-tooltip="true" align="center" min-width="150px">
        <template slot-scope="scope">
          <span>{{ scope.row.email }}</span>
        </template>
      </el-table-column>
      <el-table-column label="联系地址" :show-overflow-tooltip="true" align="center" min-width="120px" />
      <el-table-column :label="$t('table.user.dept')" align="center" min-width="100px">
        <template slot-scope="scope">
          <span>{{ scope.row.deptName }}</span>
        </template>
      </el-table-column>
      <el-table-column