luoyb
2021-01-31 7e0d981dd6e76db74678cc41a0ccd422332f529f
feat(信息录入): 离职当月考勤

离职当月考勤基本增、删、改功能(缺少员工选择功能和验证)
2个文件已修改
236 ■■■■ 已修改文件
src/views/user/Informationinput.vue 232 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/user/Informationinput.vue
@@ -175,32 +175,27 @@
          <el-table-column prop="contractStatus" label="合同状态" width="180"/>
          <el-table-column prop="transactor" label="合同办理人" width="180"/>
        </el-table>
        <el-table v-show="showArr[4].show" :data="attendanceData" style="width: 100%">
        <el-table v-show="showArr[4].show" ref="dimissionAttendTable" :data="dimissionAttendData" style="width: 100%">
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template>
              <el-button type="text" size="small">编辑</el-button>
            </template>
            <template slot-scope="scope"><el-button type="text" size="small" @click="editDimissionAttend(scope.row)">编辑</el-button></template>
          </el-table-column>
          <el-table-column prop="userNumb" label="员工编号" width="180"/>
          <el-table-column prop="name" label="姓名" width="180"/>
          <el-table-column prop="sex" label="性别" width="180"/>
          <el-table-column prop="idNumber" label="身份证号码" width="180"/>
          <el-table-column prop="deptName" label="所属部门" width="180"/>
          <el-table-column prop="attendanceMonth" label="离职考勤月份" width="180"/>
          <el-table-column prop="attendanceDay" label="出勤天数" width="180"/>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="部门名称" width="180" />
          <el-table-column prop="jobName" label="岗位名称" width="180" />
          <el-table-column prop="empName" label="员工姓名" width="180" />
          <el-table-column prop="certificateNumb" label="证件号码" width="180" />
          <el-table-column prop="attendMonth" label="离职考勤月份" width="180" />
          <el-table-column prop="attendDays" label="出勤天数" width="180" />
          <el-table-column prop="overtimeDay" label="加班(天)" width="180"/>
          <el-table-column prop="overtimeHour" label="加班(小时)" width="180"/>
          <el-table-column prop="charge" label="有无代扣款项" width="180"/>
          <el-table-column prop="deduct" label="有无代扣款项" width="180" />
          <el-table-column prop="leaveDay" label="请假(天)" width="180"/>
          <el-table-column prop="absenteeismDay" label="旷工(天)" width="180"/>
          <el-table-column prop="absenteeism" label="旷工(天)" width="180" />
          <el-table-column prop="remark" label="备注" width="180"/>
        </el-table>
        <el-table v-show="showArr[5].show" :data="leaveData" style="width: 100%">
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template>
              <el-button type="text" size="small">编辑</el-button>
@@ -212,17 +207,11 @@
          <el-table-column prop="idNumber" label="身份证号码" width="180"/>
          <el-table-column prop="deptName" label="所属部门" width="180"/>
          <el-table-column prop="leaveStartDate" label="请假开始时间" width="180"/>
          <el-table-column prop="leaveEndDate" label="请假结束时间" width="180"/>
          <el-table-column prop="leaveDay" label="请假天数" width="180"/>
          <el-table-column prop="leaveType" label="请假类型" width="180"/>
          <el-table-column prop="comeDate" label="到岗时间" width="180"/>
          <el-table-column prop="report" label="报备人" width="180"/>
          <el-table-column prop="remark" label="备注" width="180"/>
        </el-table>
        <el-table v-show="showArr[6].show" :data="resignData" style="width: 100%">
@@ -306,7 +295,6 @@
          <el-table-column prop="prop22" label="状态" width="180"/>
          <el-table-column prop="prop23" label="案结时间" width="180"/>
        </el-table>
        <el-table v-show="showArr[10].show" :data="data2" style="width: 100%">
          <el-table-column fixed="left" label="操作" width="100">
            <template>
@@ -338,7 +326,6 @@
            </el-col>
          </el-row>
        </el-table>
        <el-table v-show="showArr[11].show" :data="data3" style="width: 100%">
          <el-table-column fixed="left" label="操作" width="100">
            <template>
@@ -358,7 +345,6 @@
          <el-table-column prop="prop12" label="状态" width="180"/>
          <el-table-column prop="prop13" label="案结日期" width="180"/>
        </el-table>
        <el-table
          v-show="showArr[12].show"
          ref="badRecordTable"
@@ -691,7 +677,6 @@
        <el-button @click="dialogIsShow()">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog title="工作经历" :visible.sync="dialogshowArr[1].show" width="50%">
      <el-form :model="workExperienceForm" label-position="right" label-width="120px">
        <el-row>
@@ -762,7 +747,6 @@
        <el-button @click="dialogIsShow()">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog title="体检信息" :visible.sync="dialogshowArr[2].show" width="50%">
      <el-form :model="physicalExamForm" label-position="right" label-width="120px">
        <el-row>
@@ -852,7 +836,6 @@
        <el-button @click="dialogIsShow()">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog title="合同信息" :visible.sync="dialogshowArr[3].show" width="50%">
      <el-form :model="contractInfoForm" label-position="right" label-width="120px">
        <el-row>
@@ -939,65 +922,69 @@
        <el-button @click="dialogIsShow()">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog title="离职当月考勤" :visible.sync="dialogshowArr[4].show" width="50%">
      <el-form :model="attendanceForm" label-position="right" label-width="120px">
      <el-form :model="dimissionAttendForm" label-position="right" label-width="120px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="员工编号">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.empNumb" />
            </el-form-item>
            <el-form-item label="身份证号码">
              <el-input v-model="attendanceForm.name"/>
            <el-form-item label="性别" prop="region">
              <el-select v-model="dimissionAttendForm.sex" placeholder="请选择性别">
                <el-option label="男" value="1" />
                <el-option label="女" value="2" />
              </el-select>
            </el-form-item>
            <el-form-item label="部门名称"><el-input v-model="dimissionAttendForm.deptName" /></el-form-item>
            <el-form-item label="离职考勤月份">
              <el-date-picker
                v-model="attendanceForm.name"
                v-model="dimissionAttendForm.attendMonth"
                value-format="yyyy-MM"
                type="month"
                placeholder="选择考勤月份"
              />
            </el-form-item>
            <el-form-item label="加班(天)">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.overtimeDay" />
            </el-form-item>
            <el-form-item label="有无代扣款项">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.deduct" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="姓名">
              <el-input v-model="attendanceForm.name"/>
            </el-form-item>
            <el-form-item label="姓名"><el-input v-model="dimissionAttendForm.empName" /></el-form-item>
            <el-form-item label="证件号码"><el-input v-model="dimissionAttendForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="dimissionAttendForm.jobName" /></el-form-item>
            <el-form-item label="出勤天数">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.attendDays" />
            </el-form-item>
            <el-form-item label="加班(小时)">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.overtimeHour" />
            </el-form-item>
            <el-form-item label="请假(天)">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.leaveDay" />
            </el-form-item>
            <el-form-item label="旷工(天)">
              <el-input v-model="attendanceForm.name"/>
              <el-input v-model="dimissionAttendForm.absenteeism" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="备注">
              <el-input v-model="attendanceForm.name" type="textarea"/>
              <el-input v-model="dimissionAttendForm.remark" type="textarea" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="putDimissionAttend()">保 存</el-button>
        <el-button type="primary" @click="putDimissionAttendContinue()">保存并继续新增</el-button>
        <el-button @click="dialogIsShow()">取 消</el-button>
        <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
      </div>
    </el-dialog>
@@ -2342,19 +2329,30 @@
        delFlag: '',
        version: ''
      },
      attendanceForm: {
        userNumb: '',
        idNumber: '',
        name: '',
        deptName: '',
      dimissionAttendForm: {
        dimissionAttendId: '',
        empId: '',
        empNumb: '',
        empName: '',
        sex: '',
        attendanceMonth: '',
        attendanceDay: '',
        overtimeDay: '',
        deptId: '',
        deptName: '',
        JobId: '',
        jobName: '',
        certificateNumb: '',
        attendMonth: '',
        attendDays: '',
        overtimeHour: '',
        charge: '',
        overtimeDay: '',
        leaveDay: '',
        absenteeismDay: '',
        deduct: '',
        absenteeism: '',
        createTime: '',
        creator: '',
        modifyTime: '',
        modifier: '',
        delFlag: '',
        version: '',
        remark: ''
      },
      physicalExamForm: {
@@ -2471,6 +2469,7 @@
    this.selectWorkExperience()
    this.selectPhysicalExam()
    this.selectContractInfo()
    this.selectDimissionAttend()
  },
  methods: {
    dialogIsShow() {
@@ -2555,6 +2554,23 @@
                type: 'success'
              })
              this.selectContractInfo()
            })
          }
          break
        case 4:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.dimissionAttendTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.dimissionAttendId)
            })
            this.$delete(`hr/empDimissionAttend/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.deleteSuccess'),
                type: 'success'
              })
              this.selectDimissionAttend()
            })
          }
          break
@@ -3062,6 +3078,106 @@
      this.contractInfoForm.version = row.version
      this.dialogshowArr[3].show = true
    },
    selectDimissionAttend() {
      this.$get('hr/empDimissionAttend/list').then((r) => {
        this.dimissionAttendData = r.data.data.rows
      }).catch((error) => {
        console.error(error)
        this.$message({
          message: this.$t('tips.getDataFail'),
          type: 'error'
        })
      })
    },
    putDimissionAttend() {
      if (this.isAdd) {
        this.$post('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
          this.buttonLoading = false
          this.$message({
            message: this.$t('tips.createSuccess'),
            type: 'success'
          })
          this.cleanDimissionAttend()
          this.selectDimissionAttend()
        })
      } else {
        this.$put('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
          this.$message({
            message: this.$t('tips.updateSuccess'),
            type: 'success'
          })
          this.$emit('success')
          this.cleanDimissionAttend()
          this.selectDimissionAttend()
        })
      }
      this.dialogIsShow()
    },
    putDimissionAttendContinue() {
      if (this.isAdd) {
        this.$post('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
          this.buttonLoading = false
          this.$message({
            message: this.$t('tips.createSuccess'),
            type: 'success'
          })
          this.cleanDimissionAttend()
          this.selectDimissionAttend()
        })
      }
    },
    cleanDimissionAttend() {
      this.dimissionAttendForm.dimissionAttendId = ''
      this.dimissionAttendForm.empId = ''
      this.dimissionAttendForm.empNumb = ''
      this.dimissionAttendForm.empName = ''
      this.dimissionAttendForm.sex = ''
      this.dimissionAttendForm.certificateNumb = ''
      this.dimissionAttendForm.deptId = ''
      this.dimissionAttendForm.deptName = ''
      this.dimissionAttendForm.JobId = ''
      this.dimissionAttendForm.jobName = ''
      this.dimissionAttendForm.attendMonth = ''
      this.dimissionAttendForm.overtimeHour = ''
      this.dimissionAttendForm.overtimeDay = ''
      this.dimissionAttendForm.leaveDay = ''
      this.dimissionAttendForm.deduct = ''
      this.dimissionAttendForm.absenteeism = ''
      this.dimissionAttendForm.createTime = ''
      this.dimissionAttendForm.creator = ''
      this.dimissionAttendForm.modifyTime = ''
      this.dimissionAttendForm.modifier = ''
      this.dimissionAttendForm.delFlag = ''
      this.dimissionAttendForm.version = ''
      this.dimissionAttendForm.remark = ''
    },
    editDimissionAttend(row) {
      this.isAdd = false
      this.dimissionAttendForm.dimissionAttendId = row.dimissionAttendId
      this.dimissionAttendForm.empId = row.empId
      this.dimissionAttendForm.empNumb = row.empNumb
      this.dimissionAttendForm.empName = row.empName
      this.dimissionAttendForm.sex = row.sex
      this.dimissionAttendForm.certificateNumb = row.certificateNumb
      this.dimissionAttendForm.deptId = row.deptId
      this.dimissionAttendForm.deptName = row.deptName
      this.dimissionAttendForm.JobId = row.JobId
      this.dimissionAttendForm.jobName = row.jobName
      this.dimissionAttendForm.attendMonth = row.attendMonth
      this.dimissionAttendForm.overtimeHour = row.overtimeHour
      this.dimissionAttendForm.overtimeDay = row.overtimeDay
      this.dimissionAttendForm.leaveDay = row.leaveDay
      this.dimissionAttendForm.deduct = row.deduct
      this.dimissionAttendForm.absenteeism = row.absenteeism
      this.dimissionAttendForm.createTime = row.createTime
      this.dimissionAttendForm.creator = row.creator
      this.dimissionAttendForm.modifyTime = row.modifyTime
      this.dimissionAttendForm.modifier = row.modifier
      this.dimissionAttendForm.delFlag = row.delFlag
      this.dimissionAttendForm.version = row.version
      this.dimissionAttendForm.remark = row.remark
      this.dialogshowArr[4].show = true
    }
  }
}
vue.config.js
@@ -36,8 +36,8 @@
      // change xxx-api/login => mock/login
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        target: 'http://120.24.23.155:8301/',
        // target: 'http://127.0.0.1:8301/',
        // target: 'http://120.24.23.155:8301/',
        target: 'http://127.0.0.1:8301/',
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''