jiangping
2024-06-07 8a266df75e912cc4ff49bc504db5b6b26f152892
company/src/components/enterprise/selectEmployees.vue
@@ -6,7 +6,26 @@
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <el-input v-model="val" placeholder="查询员工姓名" @keypress.enter.native="getList" style="margin-bottom: 15px;"></el-input>
      <el-select
          v-model="memberIds"
          filterable
          multiple
          remote
          style="margin-bottom: 15px;width: 50%;margin-right: 10px"
          placeholder="请输入员工姓名或身份证号"
          :remote-method="searchSelData"
          :loading="loading">
        <el-option
            v-for="item in memberList"
            :key="item.id"
            :label="item.name+' ' +(item.idcardNo||'')"
            :value="item.id">
        </el-option>
      </el-select>
<!--
        <el-input v-model="val" placeholder="请输入员工姓名后,点击搜索按钮或者按下enter键进行查询" @keypress.enter.native="getList" style="margin-bottom: 15px;width: 50%;margin-right: 10px"></el-input>
-->
        <el-button type="primary" @click="getList" style="width: 100px;">搜索</el-button>
        <el-table
            :data="list"
            border
@@ -38,6 +57,10 @@
                label="所属工种">
            </el-table-column>
        </el-table>
      <template  v-slot:footer>
        <el-button type="primary"  :loading="confirming" @click="confirm">确定</el-button>
        <el-button @click="visible=false">返回</el-button>
      </template>
    </GlobalWindow>
</template>
@@ -51,8 +74,12 @@
  components: { GlobalWindow },
  data () {
    return {
      confirming:false,
      type: '',
      val: '',
      memberIds:[],
      loading:false,
      memberList:[],
      list: [],
      price: '',
      insuranceApplyId: '',
@@ -74,6 +101,7 @@
      this.notInInsuranceApplyId = ''
      this.val = ''
      this.price = obj.price
      this.confirming=false
      this.oldList = obj.arr
      if (obj.type) {
        this.type = obj.type
@@ -90,9 +118,13 @@
      }
      this.title = title
      this.visible = true
      this.getList()
      // this.getList()
    },
    confirm () {
      if(this.confirming){
        return
      }
      this.confirming=true
      if (this.seleData.length === 0) {
        this.$message.warning('至少选择一项内容')
        return
@@ -119,14 +151,20 @@
        item.fee = this.price
      })
      this.$emit('result', this.seleData)
      this.confirming=false
      this.visible = false
    },
    handleSelectionChange (e) {
      this.seleData = e
    },
    getList () {
      if(this.memberIds ==null || !this.memberIds.length){
        this.$message.error('请搜索框检查人员信息后进行搜索!')
        return;
      }
      findListByDTO({
        name: this.val,
        subtractMemberIds:this.memberIds,
        insuranceApplyId: this.insuranceApplyId,
        notInInsuranceApplyId: this.notInInsuranceApplyId,
        validTime: this.validTime
@@ -137,6 +175,22 @@
        })
        this.list = res
      })
    },
    searchSelData (query) {
      if (query !== '') {
        this.loading = true;
        findListByDTO({
          name: query,
          insuranceApplyId: this.insuranceApplyId,
          notInInsuranceApplyId: this.notInInsuranceApplyId,
          validTime: this.validTime
        }).then(res => {
          this.loading = false
          this.memberList = res
        }).finally(() => {
          this.loading = false
        })
      }
    }
  }
}