yijiusmile
2021-02-10 300ef78eafefe81d8141a3f29e6907144192e6fc
在职员工和离职员工界面完善
2个文件已修改
398 ■■■■ 已修改文件
src/views/user/inemployees.vue 314 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/user/outemployess.vue 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/user/inemployees.vue
@@ -76,14 +76,6 @@
                  </td>
                </tr>
                <tr>
                  <td>入职日期:</td>
                  <td>
                    <el-radio-group v-model="radio">
                      <el-radio :label="3">全部</el-radio>
                    </el-radio-group>
                  </td>
                </tr>
                <tr>
                  <td>年龄:</td>
                  <td>
                    <el-radio-group v-model="radio">
@@ -113,6 +105,39 @@
                    <el-radio-group v-model="radio">
                      <el-radio :label="3">全部</el-radio>
                      <el-radio :label="6">深户(五险一档)</el-radio>
                      <el-radio :label="6">非深户(五险一档)</el-radio>
                      <el-radio :label="6">非深户(五险二档)</el-radio>
                      <el-radio :label="6">非深户(五险三档)</el-radio>
                      <el-radio :label="6">非深户(四险三档)</el-radio>
                    </el-radio-group>
                  </td>
                </tr>
                <tr>
                  <td>员工状态:</td>
                  <td>
                    <el-radio-group v-model="radio">
                      <el-radio :label="3">全部</el-radio>
                      <el-radio :label="6">在职</el-radio>
                    </el-radio-group>
                  </td>
                </tr>
                <tr>
                  <td>员工手册:</td>
                  <td>
                    <el-radio-group v-model="radio">
                      <el-radio :label="3">全部</el-radio>
                      <el-radio :label="6">未发</el-radio>
                      <el-radio :label="9">已发</el-radio>
                    </el-radio-group>
                  </td>
                </tr>
                <tr>
                  <td>工作证:</td>
                  <td>
                    <el-radio-group v-model="radio">
                      <el-radio :label="3">全部</el-radio>
                      <el-radio :label="6">未发</el-radio>
                      <el-radio :label="9">已发</el-radio>
                    </el-radio-group>
                  </td>
                </tr>
@@ -126,15 +151,15 @@
          <el-row>
            <el-col :span="24">
              <el-button type="danger" @click="showXzyg">新增员工</el-button>
              <el-button type="primary">删除员工</el-button>
              <el-button type="danger" @click="showYgdg">员工调岗</el-button>
              <el-button type="danger" @click="showDryg">导入员工</el-button>
              <el-button type="danger">导出员工</el-button>
              <el-button type="primary" @click="delEmp">删除员工</el-button>
              <el-button type="danger" @click="showYgdg(0)">员工调岗</el-button>
              <el-button type="danger" @click="showDryg(0)">导入员工</el-button>
              <el-button type="danger" @click="showDcyg(0)">导出员工</el-button>
              <el-button type="danger">导出档案</el-button>
              <el-button type="danger" @click="showGbda">关闭档案</el-button>
              <el-button type="danger" @click="showGbda(0)">关闭档案</el-button>
            </el-col>
          </el-row>
          <el-table :data="tableData" style="width: 100%;">
          <el-table ref="multipleTable" :data="tableData" style="width: 100%;">
            <el-table-column type="selection" width="55" />
            <el-table-column label="操作" width="100">
              <template slot-scope="scope">
@@ -1118,45 +1143,51 @@
    </el-dialog>
    <el-dialog title="员工调岗" :visible.sync="dialogShowYgdg" width="50%">
      <el-form :model="baseicInformationForm" label-position="right" label-width="120px">
      <el-form :model="ygdgForm" label-position="right" label-width="120px">
        <el-row>
          <el-col span="24">
            <el-form-item label="所属部门" prop="region">
              <el-select v-model="name" placeholder="请选择相关证件">
            <el-form-item label="调岗人员">
              <input v-model="ygdgForm.dgryIds" type="hidden">
              <el-input v-model="ygdgForm.dgryNames" type="textarea" />
            </el-form-item>
            <el-form-item label="现部门(护卫点)" prop="region">
              <el-select v-model="ygdgForm.deptName" placeholder="请选择相关证件">
                <el-option label="总经办" value="1" />
                <el-option label="人事部" value="2" />
                <el-option label="财务部" value="3" />
              </el-select>
            </el-form-item>
            <el-form-item label="岗位" prop="region">
              <el-select v-model="name" placeholder="请选择相关证件">
            <el-form-item label="现岗位" prop="region">
              <el-select v-model="ygdgForm.jobName" placeholder="请选择相关证件">
                <el-option label="保安员" value="1" />
                <el-option label="保安队长" value="2" />
                <el-option label="主任" value="3" />
                <el-option label="主管" value="3" />
              </el-select>
            </el-form-item>
            <el-form-item label="岗位类别" prop="region">
              <el-select v-model="name" placeholder="请选择相关证件">
                <el-option label="高层管理人员" value="1" />
                <el-option label="中层管理人员" value="2" />
                <el-option label="技术人员" value="3" />
            <el-form-item label="调岗类型" prop="region">
              <el-select v-model="ygdgForm.dglx" placeholder="请选择">
                <el-option label="升职" value="2" />
                <el-option label="调动" value="3" />
              </el-select>
            </el-form-item>
            <el-form-item label="员工性质" prop="region">
              <el-select v-model="name" placeholder="请选择相关证件">
                <el-option label="计时制" value="2" />
                <el-option label="计件制" value="3" />
              </el-select>
            <el-form-item label="调岗日期">
              <el-date-picker
                v-model="ygdgForm.dgrq"
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="选择日期"
              />
            </el-form-item>
            <el-form-item label="入职日期">
              <el-input v-model="name" />
            <el-form-item label="理由描述">
              <el-input v-model="ygdgForm.lyms" type="textarea" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogIsShow()">取 消</el-button>
        <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
        <el-button @click="showYgdg(1)">取 消</el-button>
        <el-button type="primary" @click="showYgdg(2)">确 定</el-button>
      </div>
    </el-dialog>
    <el-dialog title="导入员工信息" :visible.sync="dialogShowDryg" width="50%">
@@ -1176,8 +1207,8 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogIsShow()">取 消</el-button>
        <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
        <el-button @click="showDryg(1)">取 消</el-button>
        <el-button type="primary" @click="showDryg(2)">确 定</el-button>
      </div>
    </el-dialog>
    <el-dialog title="关闭档案" :visible.sync="dialogShowGbda" width="50%">
@@ -1203,8 +1234,116 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogIsShow()">取 消</el-button>
        <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
        <el-button @click="showGbda(1)">取 消</el-button>
        <el-button type="primary" @click="showGbda(2)">确 定</el-button>
      </div>
    </el-dialog>
    <el-dialog title="导出员工    请勾选需要导出的字段" :visible.sync="dialogShowDcyg" width="40%">
      <table id="dcygTable" width="100%">
        <tr>
          <td colspan="6" style="text-align: left;"><el-checkbox /> 全部字段</td>
        </tr>
        <tr>
          <td>档案号</td>
          <td><el-checkbox /></td>
          <td>姓名</td>
          <td><el-checkbox /></td>
          <td>性别</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>部门(护卫点)</td>
          <td><el-checkbox /></td>
          <td>所属岗位</td>
          <td><el-checkbox /></td>
          <td>员工类别</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>民族</td>
          <td><el-checkbox /></td>
          <td>身份证号码</td>
          <td><el-checkbox /></td>
          <td>年龄</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>婚姻状况</td>
          <td><el-checkbox /></td>
          <td>身份证有效期</td>
          <td><el-checkbox /></td>
          <td>身高</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>政治面貌</td>
          <td><el-checkbox /></td>
          <td>出生日期</td>
          <td><el-checkbox /></td>
          <td>最高学历</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>籍贯</td>
          <td><el-checkbox /></td>
          <td>户籍地址</td>
          <td><el-checkbox /></td>
          <td>户籍地址</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>保安员证号</td>
          <td><el-checkbox /></td>
          <td>保安员回执</td>
          <td><el-checkbox /></td>
          <td>档案情况</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>银行名称</td>
          <td><el-checkbox /></td>
          <td>银行账号</td>
          <td><el-checkbox /></td>
          <td>电话号码</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>入职日期</td>
          <td><el-checkbox /></td>
          <td>保险类型</td>
          <td><el-checkbox /></td>
          <td>社保电脑号</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>招聘介绍人</td>
          <td><el-checkbox /></td>
          <td>入司工龄</td>
          <td><el-checkbox /></td>
          <td>工作证</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>相关证件</td>
          <td><el-checkbox /></td>
          <td>紧急联系电话</td>
          <td><el-checkbox /></td>
          <td>员工手册</td>
          <td><el-checkbox /></td>
        </tr>
        <tr>
          <td>家庭成员及关系</td>
          <td><el-checkbox /></td>
          <td />
          <td />
          <td />
          <td />
        </tr>
      </table>
      <div slot="footer" class="dialog-footer">
        <el-button @click="showDcyg(1)">取 消</el-button>
        <el-button type="primary" @click="showDcyg(2)">确 定</el-button>
      </div>
    </el-dialog>
  </div>
@@ -1227,6 +1366,7 @@
        num: 1
      },
      empBaseInfoForm: {},
      ygdgForm: {},
      depts: [],
      rules: {
        archivesNumb: [{ required: true, message: '请输入档案号', trigger: 'blur' }],
@@ -1291,6 +1431,7 @@
      headerHeight: '70px',
      advancedQueryShow: false,
      dialogTableVisible: false,
      dialogShowDcyg: false,
      dialogShowXzyg: false,
      dialogShowYgdg: false,
      dialogShowDryg: false,
@@ -1350,7 +1491,7 @@
        this.headerHeight = '70px'
        this.advancedQueryShow = false
      } else {
        this.headerHeight = '300px'
        this.headerHeight = '350px'
        this.advancedQueryShow = true
      }
    },
@@ -1399,6 +1540,28 @@
        }
      })
    },
    delEmp() {
      var selection = this.$refs.multipleTable.store.states.selection
      if (selection.length === 0) {
        this.$message({
          message: '请先选中需要删除的数据',
          type: 'error'
        })
      } else {
        var empIds = []
        for (var i = 0; i < selection.length; i++) {
          var data = selection[i]
          empIds.push(data.empId)
        }
        this.$delete(`hr/empBaseInfo/` + empIds.join(',')).then(() => {
          this.$message({
            message: this.$t('tips.deleteSuccess'),
            type: 'success'
          })
          this.search()
        })
      }
    },
    showEmpInfo() {
      this.dialogTableVisible = true
    },
@@ -1409,14 +1572,73 @@
        this.dialogShowXzyg = false
      }
    },
    showYgdg() {
    showDcyg(operate) {
      switch (operate) {
        case 0:
          this.dialogShowDcyg = true
          break
        case 1:
          this.dialogShowDcyg = false
          break
      }
    },
    showYgdg(operate) {
      switch (operate) {
        case 0:
          var selection = this.$refs.multipleTable.store.states.selection
          if (selection.length === 0) {
            this.$message({
              message: '请先选中需要调岗的人员',
              type: 'error'
            })
          } else {
            var empIds = []
            var names = []
            for (var i = 0; i < selection.length; i++) {
              var data = selection[i]
              empIds.push(data.empId)
              names.push(data.empName)
            }
            this.ygdgForm = {
              dgryIds: empIds.join(','),
              dgryNames: names.join(',')
            }
      this.dialogShowYgdg = true
          }
          break
        case 1:
          this.dialogShowYgdg = false
          break
        case 2:
          this.$post('hr/empBaseInfo', { ...this.ygdgForm }).then(() => {
            this.dialogShowYgdg = false
            this.$message({
              message: this.$t('tips.createSuccess'),
              type: 'success'
            })
          })
          break
      }
    },
    showDryg() {
    showDryg(operate) {
      switch (operate) {
        case 0:
      this.dialogShowDryg = true
          break
        case 1:
          this.dialogShowDryg = false
          break
      }
    },
    showGbda() {
    showGbda(operate) {
      switch (operate) {
        case 0:
      this.dialogShowGbda = true
          break
        case 1:
          this.dialogShowGbda = false
          break
      }
    }
  }
}
@@ -1495,4 +1717,14 @@
  .del_button {
    color: #D9001B;
  }
  #dcygTable{
    border-collapse: collapse;
  }
  #dcygTable td{
    width: 130px;
    text-align: center;
    border: 1px solid darkgray;
    height: 30px;
  }
</style>
src/views/user/outemployess.vue
@@ -83,14 +83,6 @@
                    </td>
                  </tr>
                  <tr>
                    <td>入职日期:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>年龄:</td>
                    <td>
                      <el-radio-group v-model="radio">
@@ -120,6 +112,21 @@
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">深户(五险一档)</el-radio>
                        <el-radio :label="6">非深户(五险一档)</el-radio>
                        <el-radio :label="6">非深户(五险二档)</el-radio>
                        <el-radio :label="6">非深户(五险三档)</el-radio>
                        <el-radio :label="6">非深户(四险三档)</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>员工状态:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">正常离职</el-radio>
                        <el-radio :label="6">自离</el-radio>
                        <el-radio :label="6">公司辞退</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
@@ -133,15 +140,13 @@
        <el-main>
          <el-row>
            <el-col :span="24">
              <el-button type="primary">删除员工</el-button>
              <el-button type="danger" @click="showDkda">打开档案</el-button>
              <el-button type="primary" @click="delEmp">删除员工</el-button>
              <el-button type="danger" @click="showDkda(0)">打开档案</el-button>
              <el-button type="danger">离职证明</el-button>
              <el-button type="danger">导出报表</el-button>
              <el-button type="primary" @click="showXzyg">选择员工</el-button>
              <el-button type="primary" @click="showXzbm">选择部门</el-button>
            </el-col>
          </el-row>
          <el-table :data="tableData" style="width: 100%;">
          <el-table ref="multipleTable" :data="tableData" style="width: 100%;">
            <el-table-column type="selection" width="55" />
            <el-table-column label="操作" width="100">
              <template slot-scope="scope">
@@ -859,24 +864,24 @@
        <el-row>
          <el-col span="24">
            <el-form-item label="打开类型" prop="region">
              <el-radio-group v-model="radio">
              <el-radio-group v-model="baseicInformationForm.openType">
                <el-radio :label="1">重新入职</el-radio>
                <el-radio :label="2">返聘</el-radio>
              </el-radio-group>
              (主要对已退休员工返聘)
            </el-form-item>
            <el-form-item label="打开日期">
              <el-input v-model="name" />
              <el-input v-model="baseicInformationForm.openDate" />
            </el-form-item>
            <el-form-item label="备注说明">
              <el-input v-model="name" type="textarea" :rows="4" />
              <el-input v-model="baseicInformationForm.remark" type="textarea" :rows="4" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogIsShow()">取 消</el-button>
        <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
        <el-button @click="showDkda(1)">取 消</el-button>
        <el-button type="primary" @click="showDkda(2)">确 定</el-button>
      </div>
    </el-dialog>
    <el-dialog title="选择员工" :visible.sync="dialogShowXzyg">
@@ -908,7 +913,8 @@
      dialogShowDkda: false,
      dialogShowXzyg: false,
      dialogShowXzbm: false,
      tableData: []
      tableData: [],
      baseicInformationForm: {}
    }
  },
  mounted() {
@@ -954,11 +960,49 @@
        this.advancedQueryShow = true
      }
    },
    delEmp() {
      var selection = this.$refs.multipleTable.store.states.selection
      if (selection.length === 0) {
        this.$message({
          message: '请先选中需要删除的数据',
          type: 'error'
        })
      } else {
        var empIds = []
        for (var i = 0; i < selection.length; i++) {
          var data = selection[i]
          empIds.push(data.empId)
        }
        this.$delete(`hr/empBaseInfo/` + empIds.join(',')).then(() => {
          this.$message({
            message: this.$t('tips.deleteSuccess'),
            type: 'success'
          })
          this.search()
        })
      }
    },
    showEmpInfo() {
      this.dialogTableVisible = true
    },
    showDkda() {
    showDkda(operate) {
      switch (operate) {
        case 0:
      this.dialogShowDkda = true
          break
        case 1:
          this.dialogShowDkda = false
          break
        case 2:
          this.$post('hr/empBaseInfo', { ...this.baseicInformationForm }).then(() => {
            this.dialogShowDkda = false
            this.$message({
              message: this.$t('tips.createSuccess'),
              type: 'success'
            })
          })
          break
      }
    },
    showXzyg() {
      this.dialogShowXzyg = true