ll
liukangdong
2024-10-31 3b2791d8a76d96c698990b2fe1fbe443fa8bd8de
admin/src/components/business/OperaMemberWindow.vue
@@ -11,7 +11,7 @@
          注:仅支持选择 【{{ companyType === 0 ? '相关方组织' : '内部组织' }}】
        </div>
      </el-form-item>
      <el-form-item label="选择岗位:" prop="positionId" >
      <el-form-item label="选择岗位:" prop="positionId">
        <el-select v-model="form.positionId" clearable filterable placeholder="请选择">
          <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id">
          </el-option>
@@ -34,18 +34,15 @@
        <el-input v-model="form.code" placeholder="请输入员工工号" v-trim />
      </el-form-item>
      <el-form-item label="入职日期" prop="jobDate">
        <el-date-picker
            v-model="form.jobDate"
            value-format="yyyy-MM-dd"
            type="date">
        <el-date-picker v-model="form.jobDate" value-format="yyyy-MM-dd" type="date">
        </el-date-picker>
      </el-form-item>
        <el-form-item label="是否党员" prop="isDangyuan">
          <el-radio-group v-model="form.isDangyuan" >
            <el-radio :label="0">非党员</el-radio>
            <el-radio :label="1">党员</el-radio>
          </el-radio-group>
        </el-form-item>
      <el-form-item label="是否党员" prop="isDangyuan">
        <el-radio-group v-model="form.isDangyuan">
          <el-radio :label="0">非党员</el-radio>
          <el-radio :label="1">党员</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="人脸照片" prop="faceImgFull">
        <div class="upload_wrap">
          <UploadFaceImg :file="{ 'imgurlfull': form.faceImgFull, 'imgurl': form.faceImg }" :uploadData="uploadData"
@@ -67,12 +64,12 @@
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
import UploadFaceImg from '@/components/common/UploadFaceImg'
import { checkMobile, validIdCardNo, validIdCardNoNew } from '@/utils/form'
import { allList   } from '@/api/business/position'
import { allList } from '@/api/business/position'
export default {
  name: 'OperaCompanyWindow',
  extends: BaseOpera,
  components: { GlobalWindow, UploadAvatarImage, UploadFaceImg },
  data () {
  data() {
    return {
      uploadData: {
        folder: 'member'
@@ -115,14 +112,14 @@
      }
    }
  },
  created () {
  created() {
    this.config({
      api: '/business/member.js',
      'field.id': 'id'
    })
  },
  methods: {
    handleChangeCompany (value) {
    handleChangeCompany(value) {
      if (this.form.company && this.form.company.length > 1) {
        this.form.companyId = this.form.company[this.form.company.length - 1]
      }
@@ -132,10 +129,29 @@
     * @title 窗口标题
     * @target 编辑的对象
     */
    open (title, target, depart, companyType) {
    open(title, target, depart, companyType) {
      this.title = title
      this.department = depart
      this.visible = true
      this.form = {
        id: null,
        name: '',
        type: '',
        company: [],
        code: '',
        idcardNo: '',
        idcardNoNew: '',
        linkName: '',
        idcardDecode: '',
        companyId: null,
        idcardType: 0,
        phone: '',
        faceImg: '',
        jobDate: null,
        isDangyuan: 0,
        positionId: null,
        faceImgFull: ''
      }
      this.companyType = companyType
      this.getPositionList()
      // 新建
@@ -165,14 +181,14 @@
        }
      })
    },
    getPositionList () {
    getPositionList() {
      allList({})
        .then(res => {
          this.positionList = res
        })
    },
    // 上传图片
    uploadAvatarSuccess (file) {
    uploadAvatarSuccess(file) {
      this.form.faceImg = file.imgurl
      this.form.faceImgFull = file.imgurlfull
    }
@@ -180,19 +196,22 @@
}
</script>
<style lang="scss" scoped>
.upload_wrap{
.upload_wrap {
  display: flex;
  align-items: center;
  .avatar-uploader{
  .avatar-uploader {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  ::v-deep .avatar{
  ::v-deep .avatar {
    max-width: 90px;
    max-height: 90px;
  }
  .content{
  .content {
    display: flex;
    flex-direction: column;
    justify-content: center;