haoxuan
2024-04-29 caeb71b06d19a8ffd854c19e5e4b58f7180cdce8
src/views/employeeManage/employeeInfo/components/AddEmployee.vue
@@ -4,8 +4,8 @@
    <div slot="title" class="tac drawerHeader">{{ editRow.title }}人员</div>
    <div class="dialog-content-box">
      <el-form class="form-box" ref="form" :rules="rules" :model="form" label-width="120px" label-position="right">
        <el-form-item label="员工编码:" prop="id">
          <el-input v-model="form.id" placeholder="请输入"></el-input>
        <el-form-item label="员工编码:" prop="id" >
          <el-input v-model="form.id" placeholder="请输入" :disabled="editRow.title=='编辑'?true:false"></el-input>
        </el-form-item>
        <el-form-item label="人员姓名:" prop="name">
          <el-input v-model="form.name" placeholder="请输入"></el-input>
@@ -19,7 +19,7 @@
          </el-date-picker>
        </el-form-item>
        <el-form-item label="车间:" prop="shopNameObj">
          <el-select v-model="form.shopNameObj" filterable placeholder="请选择" style="width: 100%" @change='getGroupNumber'>
          <el-select v-model="form.shopNameObj" filterable placeholder="请选择" style="width: 100%" @change="getGroupNumber(false,'shopNameObj')">
            <el-option v-for="item in shopList" :key="item.number"
                  :label="item.name"
                  :value="{ value: item.number, label: item.name }">
@@ -27,7 +27,10 @@
          </el-select>
        </el-form-item>
        <el-form-item label="组别:" prop="groupNumber">
          <el-select v-model="form.groupNumber" filterable placeholder="请选择" style="width: 100%">
          <el-select v-model="form.groupNumber" filterable
          placeholder="请先选择车间"
          no-data-text="请先选择车间"
          style="width: 100%">
            <el-option v-for="item in groupNumberList" :key="item" :label="item" :value="item">
            </el-option>
          </el-select>
@@ -73,7 +76,7 @@
        employmentTime:'',
        shopNameObj:{},
        groupNumber:'',
        workTypeObj:{},
        workTypeObj:null,
      },
      shopList:[],//车间
      groupNumberList:[],//组别
@@ -90,6 +93,13 @@
          {
            required: true,
            message: "请输入员工编码",
            trigger: ["blur", "change"],
          },
        ],
        workTypeObj: [
          {
            required: true,
            message: "请选择",
            trigger: ["blur", "change"],
          },
        ],
@@ -133,18 +143,22 @@
          employmentTime:'',
          shopNameObj:{},
          groupNumber:'',
          workTypeObj:{},
          workTypeObj:null,
        };
        this.$nextTick(()=>{
          this.$refs["form"].resetFields();
          if (this.editRow.id) {
            this.form = JSON.parse(JSON.stringify(this.editRow));
            this.form.groupNumber=this.form.groupNumber?this.form.groupNumber:null
            this.getGroupNumber(true)
          }
        })
      }
    },
    getGroupNumber(val){
    getGroupNumber(val,name){
      if (name == "shopNameObj") {
        this.form.groupNumber=''
      }
      // shopName
      if(this.form.shopNameObj.value){
        //组别
@@ -156,21 +170,15 @@
                for(let i in groupNumberList){
                  this.groupNumberList.push(groupNumberList[i])
                }
                this.form.shopName=''
                // 编辑
                if(val){
                  setTimeout(()=>{
                    this.$set(this.form,'shopName',this.form.shopName)
                  },200)
                }
              }
            }else{
              this.groupNumberList=[]
              this.form.shopName=''
              this.form.groupNumber=''
            }
          });
      }else{
        this.workshopGroupList =[]
        this.groupNumberList =[]
      }
    },
    getSelectDataList() {
@@ -208,6 +216,7 @@
          form.shopName=form.shopNameObj.label
          form.workTypeId=form.workTypeObj.value
          form.workType=form.workTypeObj.label
          form.groupNumber=form.groupNumber?form.groupNumber:null
          if (this.editRow.type == "add") {
            createWorkerInfo(form).then((res) => {
              if (res.code == 200) {