马宇豪
2023-10-07 aff4ce9ab81be8709efe4ebf1bc0383872aea205
src/views/notCoalMine/nBatchManage/index.vue
@@ -1,9 +1,9 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="批次名称" prop="userName">
      <el-form-item label="批次名称" prop="examPlanName">
        <el-input
          v-model="queryParams.userName"
          v-model="queryParams.examPlanName"
          placeholder="请输入批次名称"
          clearable
          @keyup.enter.native="handleQuery"
@@ -27,96 +27,96 @@
          placeholder="结束日期">
        </el-date-picker>
      </el-form-item>
      <el-form-item label="资格类型">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="作业类型">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="取证类型">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="批次状态">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="发证机关">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="考试机构">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="理论考点">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="实操考点">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="培训机构">
        <el-select v-model="value" placeholder="请选择">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
<!--      <el-form-item label="资格类型">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="作业类型">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="取证类型">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="批次状态">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="发证机关">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="考试机构">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="理论考点">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="实操考点">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
<!--      <el-form-item label="培训机构">-->
<!--        <el-select v-model="value" placeholder="请选择">-->
<!--          <el-option-->
<!--            v-for="item in options"-->
<!--            :key="item.value"-->
<!--            :label="item.label"-->
<!--            :value="item.value">-->
<!--          </el-option>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -130,106 +130,158 @@
          plain
          icon="el-icon-refresh"
          size="mini"
          @click="handleAdd"
          @click="getAsyncData"
          v-hasPermi="['system:experts:add']"
        >同步数据</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getPage"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="expertList">
    <el-table v-loading="loading" :data="dataList">
      <el-table-column type="index" label="序号" width="55" align="center" />
      <el-table-column label="名称" align="center" prop="name" />
      <el-table-column label="审批状态" align="center" prop="name" />
      <el-table-column label="课程状态" align="center" prop="name" />
      <el-table-column label="成绩状态" align="center" prop="phone"/>
      <el-table-column label="培训单位" align="center" prop="phone"/>
      <el-table-column label="发证机关" align="center" prop="phone"/>
      <el-table-column label="考试机构" align="center" prop="degree" />
      <el-table-column label="理论考点" align="center" prop="job" />
      <el-table-column label="实操考点" align="center" prop="speciality" />
      <el-table-column label="取证类型" align="center"/>
      <el-table-column label="资格类型" align="center"/>
      <el-table-column label="作业类别" align="center"/>
      <el-table-column label="操作项目" align="center"/>
      <el-table-column label="培训人数" align="center"/>
      <el-table-column label="合格人数" align="center"/>
      <el-table-column label="计划名称" align="center" prop="examPlanName" width="180"/>
      <el-table-column label="人员类型" align="center" prop="personTypeName"/>
      <el-table-column label="作业类别" align="center" prop="jobTypeName"/>
      <el-table-column label="操作项目" align="center" prop="operitemName"/>
      <el-table-column label="计划考试人数" align="center" prop="plannedExamNumber"/>
      <el-table-column label="备案机关" align="center" prop="filingOrg"/>
      <el-table-column label="理论考试点" align="center" prop="theoryExamPlaceName" />
      <el-table-column label="理论考试方式" align="center" prop="theoryExamUseMethod">
        <template #default="scope">
          {{scope.row.theoryExamUseMethod == '1'?'流水考试':scope.row.theoryExamUseMethod == '2'?'固定场次':'其他' }}
        </template>
      </el-table-column>
      <el-table-column label="理论考试时间" align="center">
        <template #default="scope">
          {{scope.row.theoryExamStartTime | formatDate }}~{{ scope.row.theoryExamEndTime  | formatDate }}
        </template>
      </el-table-column>
      <el-table-column label="理论补考时间" align="center">
        <template #default="scope">
          {{scope.row.theoryExamMakeupStartTime | formatDate }}~{{ scope.row.theoryExamMakeupEndTime  | formatDate }}
        </template>
      </el-table-column>
      <el-table-column label="实操考点" align="center" prop="practicalExamPlaceName" />
      <el-table-column label="实操考试方式" align="center" prop="practicalExamMethod">
        <template #default="scope">
          {{scope.row.practicalExamMethod == '1'?'人工考评':scope.row.practicalExamMethod == '2'?'实操设备考评':'其他' }}
        </template>
      </el-table-column>
      <el-table-column label="实操考试时间" align="center">
        <template #default="scope">
          {{scope.row.practicalExamStartTime | formatDate }}~{{ scope.row.practicalExamEndTime  | formatDate }}
        </template>
      </el-table-column>
      <el-table-column label="实操补考时间" align="center">
        <template #default="scope">
          {{scope.row.practicalExamMakeupStartTime | formatDate }}~{{ scope.row.practicalExamMakeupEndTime  | formatDate }}
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template #default="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
          >编辑</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-view"
            @click="handleView(scope.row)"
            @click="openBatch(scope.row,'view')"
          >查看</el-button>
          <!--          <el-button-->
          <!--            size="mini"-->
          <!--            type="text"-->
          <!--            icon="el-icon-delete"-->
          <!--            @click="handleDelete(scope.row)"-->
          <!--            v-hasPermi="['system:experts:remove']"-->
          <!--          >删除</el-button>-->
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageIndex"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
      @pagination="getPage"
    />
    <batch-dialog ref="batchDialog"></batch-dialog>
  </div>
</template>
<script>
import {getBatchPage, getBatchSync} from "@/api/notCoalMine/batch";
import batchDialog from "@/views/notCoalMine/nBatchManage/components/batchDialog";
export default {
  name: "nPeopleManage",
  name: "nBatchManage",
  dicts: [],
  components: {},
  components: {batchDialog},
  data() {
    return {
      loading: false,
      single: true,
      multiple: true,
      showSearch: true,
      addForm: false,
      total: 0,
      expertTypes: [],
      expertList: [],
      queryParams: {},
      classiFy: [],
      form: {},
      rules: {
        classifyName: [
          { required: true, message: "分类名称不能为空", trigger: "blur" }
        ]
      dataList: [],
      queryParams: {
        examPlanName: '',
        startTime: '',
        endTime: '',
        pageNum: 1,
        pageSize: 10
      }
    };
  },
  created() {
    this.getPage()
  },
  methods: {
    getList(){
    async getAsyncData(){
      const t = this
      const loading = this.$loading({
        text: '正在同步',
        spinner: 'el-icon-loading',
        fullscreen: false
      });
      const res = await getBatchSync()
      if(res.code == 200){
        await t.getPage()
      }else{
        t.$message({
          message: res.msg,
          type: 'warning'
        })
      }
      loading.close();
    },
    async getPage(){
      const t = this
      t.loading = true
      if(t.queryParams.idcardNum !== ''){
        t.queryParams.idcardTypeCode = '01'
      }else{
        t.queryParams.idcardTypeCode = ''
      }
      const res = await getBatchPage(t.queryParams)
      if(res.code == 200){
        t.dataList = res.rows
        t.total = res.total
      }else{
        t.$message({
          message: res.msg,
          type: 'warning'
        })
      }
      t.loading = false
    },
    handleChange(){
    },
    handleQuery(){
      this.queryParams.pageNum = 1
      this.getPage()
    },
    resetQuery(){
      this.queryParams={
        examPlanName: '',
        startTime: '',
        endTime: '',
        pageNum: 1,
        pageSize: 10
      }
      this.getPage()
    },
    handleAdd(){
    openBatch(data,type){
      this.$refs.batchDialog.openDialog(data,type)
    }
  }
};