luoyb
2021-01-31 3f4fd8a3720e49e25d3d553c9977057cac10ffbd
src/views/user/Informationinput.vue
@@ -201,81 +201,30 @@
          <el-table-column prop="reviewRecord" label="复查记录" width="180" />
          <el-table-column prop="remark" label="备注" width="180" />
        </el-table>
        <el-table
          v-show="showArr[3].show"
          :data="contractData"
          style="width: 100%"
        >
        <el-table v-show="showArr[3].show" ref="contractInfoTable" :data="contractInfoData" 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 slot-scope="scope">
              <el-button type="text" size="small" @click="editContractInfo(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="contractStartDate"
            label="合同开始日期"
            width="180"
          />
          <el-table-column
            prop="contractEndDate"
            label="合同结束日期"
            width="180"
          />
          <el-table-column
            prop="contractYear"
            label="合同期限(年)"
            width="180"
          />
          <el-table-column
            prop="contractStatus"
            label="合同状态"
            width="180"
          />
          <el-table-column
            prop="contractTransactor"
            label="合同办理人"
            width="180"
          />
          <el-table-column
            prop="contractDate"
            label="合同签订日期"
            width="180"
          />
          <el-table-column
            prop="remark"
            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="signingDate" label="合同签订日期" width="180" />
          <el-table-column prop="endDate" label="合同结束日期" width="180" />
          <el-table-column prop="contractPeriod" label="合同期限(年)" width="180" />
          <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"
@@ -1089,53 +1038,58 @@
    </el-dialog>
    <el-dialog title="合同信息" :visible.sync="dialogshowArr[3].show" width="50%">
      <el-form :model="contractData" label-position="right" label-width="120px">
      <el-form :model="contractInfoForm" label-position="right" label-width="120px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="员工编号">
              <el-input v-model="contractData.name" />
              <el-input v-model="contractInfoForm.empNumb" />
            </el-form-item>
            <el-form-item label="身份证号码">
              <el-input v-model="contractData.name" />
            </el-form-item>
            <el-form-item label="合同开始时间">
            <el-form-item label="证件号码"><el-input v-model="contractInfoForm.certificateNumb" /></el-form-item>
            <el-form-item label="部门名称"><el-input v-model="contractInfoForm.deptName" /></el-form-item>
            <el-form-item label="合同开始日期">
              <el-date-picker
                v-model="contractData.name"
                v-model="contractInfoForm.beginDate"
                value-format="yyyy-MM-dd"
                type="date"
                placeholder="选择日期"
              />
            </el-form-item>
            <el-form-item label="合同状态" prop="region">
              <el-select v-model="contractData.name" placeholder="请选择合同状态">
              <el-select v-model="contractInfoForm.contractStatus" placeholder="请选择合同状态">
                <el-option label="新签" value="1" />
                <el-option label="老签" value="2" />
              </el-select>
            </el-form-item>
            <el-form-item label="合同办理人">
              <el-input v-model="contractData.name" />
              <el-input v-model="contractInfoForm.transactor" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="姓名">
              <el-input v-model="contractData.name" />
              <el-input v-model="contractInfoForm.empName" />
            </el-form-item>
            <el-form-item label="所属部门">
              <el-input v-model="contractData.name" />
            <el-form-item label="性别" prop="region">
              <el-select v-model="contractInfoForm.sex" placeholder="请选择性别">
                <el-option label="男" value="1" />
                <el-option label="女" value="2" />
              </el-select>
            </el-form-item>
            <el-form-item label="合同结束时间">
            <el-form-item label="岗位名称"><el-input v-model="contractInfoForm.jobName" /></el-form-item>
            <el-form-item label="合同结束日期">
              <el-date-picker
                v-model="contractData.name"
                v-model="contractInfoForm.endDate"
                value-format="yyyy-MM-dd"
                type="date"
                placeholder="选择日期"
              />
            </el-form-item>
            <el-form-item label="合同期限(年)">
              <el-input v-model="contractData.name" />
              <el-input v-model="contractInfoForm.contractPeriod" />
            </el-form-item>
            <el-form-item label="合同签订日期">
              <el-date-picker
                v-model="contractData.name"
                v-model="contractInfoForm.signingDate"
                value-format="yyyy-MM-dd"
                type="date"
                placeholder="选择日期"
              />
@@ -1145,14 +1099,15 @@
        <el-row>
          <el-col :span="24">
            <el-form-item label="备注">
              <el-input v-model="contractData.name" type="textarea" />
              <el-input v-model="contractInfoForm.remark" type="textarea" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="putContractInfo()">保 存</el-button>
        <el-button type="primary" @click="putContractInfoContinue()">保存并继续新增</el-button>
        <el-button @click="dialogIsShow()">取 消</el-button>
        <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
      </div>
    </el-dialog>
@@ -2413,20 +2368,30 @@
        report: '',
        remark: ''
      },
      contractForm: {
        userNumb: '',
        name: '',
        deptName: '',
      contractInfoForm: {
        contractId: '',
        empId: '',
        empNumb: '',
        empName: '',
        certificateNumb: '',
        sex: '',
        national: '',
        idNumber: '',
        contractStartDate: '',
        contractEndDate: '',
        contractYear: '',
        deptId: '',
        deptName: '',
        JobId: '',
        jobName: '',
        beginDate: '',
        endDate: '',
        contractStatus: '',
        contractTransactor: '',
        contractDate: '',
        remark: ''
        contractPeriod: '',
        transactor: '',
        signingDate: '',
        remark: '',
        createTime: '',
        creator: '',
        modifyTime: '',
        modifier: '',
        delFlag: '',
        version: ''
      },
      attendanceForm: {
        userNumb: '',
@@ -2555,6 +2520,7 @@
    this.selectEmpBase()
    this.selectWorkExperience()
    this.selectPhysicalExam()
    this.selectContractInfo()
  },
  methods: {
    dialogIsShow() {
@@ -2605,6 +2571,23 @@
                type: 'success'
              })
              this.selectPhysicalExam()
            })
          }
          break
        case 3:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.contractInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.contractId)
            })
            this.$delete(`hr/empContractInfo/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.deleteSuccess'),
                type: 'success'
              })
              this.selectContractInfo()
            })
          }
          break
@@ -2901,6 +2884,108 @@
      this.physicalExamForm.version = row.version
      this.dialogshowArr[2].show = true
    },
    selectContractInfo() {
      this.$get('hr/empContractInfo/list').then((r) => {
        this.contractInfoData = r.data.data.rows
      }).catch((error) => {
        console.error(error)
        this.$message({
          message: this.$t('tips.getDataFail'),
          type: 'error'
        })
      })
    },
    putContractInfo() {
      if (this.isAdd) {
        this.$post('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
          this.buttonLoading = false
          this.$message({
            message: this.$t('tips.createSuccess'),
            type: 'success'
          })
          this.cleanContractInfo()
          this.selectContractInfo()
        })
      } else {
        this.$put('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
          this.$message({
            message: this.$t('tips.updateSuccess'),
            type: 'success'
          })
          this.$emit('success')
          this.cleanContractInfo()
          this.selectContractInfo()
        })
      }
      this.dialogIsShow()
    },
    putContractInfoContinue() {
      if (this.isAdd) {
        this.$post('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
          this.buttonLoading = false
          this.$message({
            message: this.$t('tips.createSuccess'),
            type: 'success'
          })
          this.cleanContractInfo()
          this.selectContractInfo()
        })
      }
    },
    cleanContractInfo() {
      this.contractInfoForm.contractId = ''
      this.contractInfoForm.empId = ''
      this.contractInfoForm.empNumb = ''
      this.contractInfoForm.empName = ''
      this.contractInfoForm.certificateNumb = ''
      this.contractInfoForm.sex = ''
      this.contractInfoForm.deptId = ''
      this.contractInfoForm.deptName = ''
      this.contractInfoForm.JobId = ''
      this.contractInfoForm.jobName = ''
      this.contractInfoForm.beginDate = ''
      this.contractInfoForm.endDate = ''
      this.contractInfoForm.contractStatus = ''
      this.contractInfoForm.contractPeriod = ''
      this.contractInfoForm.transactor = ''
      this.contractInfoForm.signingDate = ''
      this.contractInfoForm.remark = ''
      this.contractInfoForm.createTime = ''
      this.contractInfoForm.creator = ''
      this.contractInfoForm.modifyTime = ''
      this.contractInfoForm.modifier = ''
      this.contractInfoForm.delFlag = ''
      this.contractInfoForm.version = ''
    },
    editContractInfo(row) {
      this.isAdd = false
      this.contractInfoForm.contractId = row.contractId
      this.contractInfoForm.empId = row.empId
      this.contractInfoForm.empNumb = row.empNumb
      this.contractInfoForm.empName = row.empName
      this.contractInfoForm.certificateNumb = row.certificateNumb
      this.contractInfoForm.sex = row.sex
      this.contractInfoForm.deptId = row.deptId
      this.contractInfoForm.deptName = row.deptName
      this.contractInfoForm.JobId = row.JobId
      this.contractInfoForm.jobName = row.jobName
      this.contractInfoForm.beginDate = row.beginDate
      this.contractInfoForm.endDate = row.endDate
      this.contractInfoForm.contractStatus = row.contractStatus
      this.contractInfoForm.contractPeriod = row.contractPeriod
      this.contractInfoForm.transactor = row.transactor
      this.contractInfoForm.signingDate = row.signingDate
      this.contractInfoForm.remark = row.remark
      this.contractInfoForm.createTime = row.createTime
      this.contractInfoForm.creator = row.creator
      this.contractInfoForm.modifyTime = row.modifyTime
      this.contractInfoForm.modifier = row.modifier
      this.contractInfoForm.delFlag = row.delFlag
      this.contractInfoForm.version = row.version
      this.dialogshowArr[3].show = true
    }
  }
}