Lijy 2 днів тому
батько
коміт
98d5dab6f2

+ 2 - 2
fhKeeper/formulahousekeeper/course-pc/src/views/examinationManagement/certificates.vue

@@ -4,11 +4,11 @@
         <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
             <el-form :inline="true" @submit.native.prevent>
                 <el-form-item label="姓名">
-                    <el-input v-model="keyword" placeholder="请输入" clearable @change="searchList"
+                    <el-input v-model="keyword" placeholder="请输入" clearable @input="searchList"
                         size="small"></el-input>
                 </el-form-item>
                 <el-form-item label="课程名称">
-                    <el-input v-model="courseName" placeholder="请输入" clearable @change="searchList"
+                    <el-input v-model="courseName" placeholder="请输入" clearable @input="searchList"
                         size="small"></el-input>
                 </el-form-item>
             </el-form>

+ 41 - 11
fhKeeper/formulahousekeeper/course-pc/src/views/examinationManagement/examRegistrationReview.vue

@@ -5,18 +5,26 @@
             <el-form :inline="true" @submit.native.prevent>
                 <el-form-item label="报名时间">
                     <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
-                        end-placeholder="结束日期" size="small">
+                        end-placeholder="结束日期" size="small" value-format="yyyy-MM-dd" @change="searchList">
                     </el-date-picker>
                 </el-form-item>
+                <el-form-item label="审核状态">
+                    <el-select v-model="examStatus" placeholder="请选择" size="small" @change="searchList">
+                        <el-option label="全部" value="-1"></el-option>
+                        <el-option label="待审核" value="1"></el-option>
+                        <el-option label="已通过" value="2"></el-option>
+                        <el-option label="已驳回" value="3"></el-option>
+                    </el-select>
+                </el-form-item>
                 <el-form-item label="姓名">
-                    <el-input v-model="nameKeyword" placeholder="请输入姓名" clearable size="small"></el-input>
+                    <el-input v-model="nameKeyword" placeholder="请输入姓名" clearable size="small" @input="searchList"></el-input>
                 </el-form-item>
                 <el-form-item label="课程">
-                    <el-input v-model="courseKeyword" placeholder="请输入课程名称" clearable size="small"></el-input>
+                    <el-input v-model="courseKeyword" placeholder="请输入课程名称" clearable size="small" @input="searchList"></el-input>
                 </el-form-item>
-                <el-form-item>
+                <!-- <el-form-item>
                     <el-button type="primary" @click="searchList" size="small">搜索</el-button>
-                </el-form-item>
+                </el-form-item> -->
             </el-form>
         </el-col>
 
@@ -37,7 +45,11 @@
             <el-table-column prop="invoiceHeader" label="开票名称" width="140" align="center"></el-table-column>
             <el-table-column prop="invoiceDate" label="开票日期" width="120" align="center"></el-table-column>
             <el-table-column prop="taxCode" label="税号" width="150" align="center"></el-table-column>
-            <el-table-column prop="address" label="联系地址" min-width="340"></el-table-column>
+            <el-table-column prop="registerAddress" label="注册地址" min-width="180" align="center"></el-table-column>
+            <el-table-column prop="registerTel" label="注册电话" min-width="180" align="center"></el-table-column>
+            <el-table-column prop="recipientName" label="收件人姓名" min-width="180" align="center"></el-table-column>
+            <el-table-column prop="recipientTel" label="收件联系电话" min-width="180" align="center"></el-table-column>
+            <el-table-column prop="address" label="证书收件地址" min-width="340"></el-table-column>
             <el-table-column label="证件照" width="120" align="center" fixed="right">
                 <template slot-scope="scope">
                     <img v-if="scope.row.portraitUrl" :src="scope.row.portraitUrl" class="id-photo"
@@ -47,18 +59,27 @@
             </el-table-column>
             <el-table-column label="操作" width="180" class-name="btns" header-align="center" fixed="right">
                 <template slot-scope="scope">
-                    <el-button size="small" type="success" @click="approve(scope.row)">通过</el-button>
-                    <el-button size="small" type="danger" @click="reject(scope.row)">驳回</el-button>
+                    <div v-if="scope.row.parentExamStatus == 1">
+                        <el-button size="small" type="success" @click="approve(scope.row)">通过</el-button>
+                        <el-button size="small" type="danger" @click="reject(scope.row)">驳回</el-button>
+                    </div>
+                    <div v-else style="display: flex; justify-content: center;">
+                        <el-tag type="danger" v-if="scope.row.parentExamStatus == 3">已驳回</el-tag>
+                        <el-tag type="success" v-else>已通过</el-tag>
+                    </div>
                 </template>
             </el-table-column>
         </el-table>
 
         <!--工具条-->
         <el-col :span="24" class="toolbar">
-            <el-button type="success" @click="batchApprove" :disabled="selectedIds.length === 0"
+            <div v-if="examStatus == 1">
+                <el-button type="success" @click="batchApprove" :disabled="selectedIds.length === 0"
                 size="small">全部通过</el-button>
-            <el-button type="danger" @click="batchReject" :disabled="selectedIds.length === 0"
+                <el-button type="danger" @click="batchReject" :disabled="selectedIds.length === 0"
                 size="small">全部驳回</el-button>
+            </div>
+            
             <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                 :page-sizes="[10, 20, 50, 100]" :page-size="size" layout="total, sizes, prev, pager, next"
                 :total="total" style="float:right;"></el-pagination>
@@ -89,6 +110,7 @@ export default {
             dateRange: [],
             nameKeyword: '',
             courseKeyword: '',
+            examStatus: '1',
 
             // 表格相关
             tableHeight: 0,
@@ -137,7 +159,15 @@ export default {
         // 获取列表
         getList() {
             this.listLoading = true;
-            post(`/exam-check/getAuditList`, { pageSize: this.size, pageIndex: this.page }).then(res => {
+            post(`/exam-check/getAuditList`, { 
+                startDate: (this.dateRange || [])[0] || '',
+                endDate: (this.dateRange || [])[1] || '',
+                name: this.nameKeyword,
+                courseName: this.courseKeyword,
+                examStatus: this.examStatus,
+                pageSize: this.size, 
+                pageIndex: this.page 
+            }).then(res => {
                 const { records = [], total = 0 } = res.data
                 this.total = total
                 this.list = records.map(item => {

+ 71 - 4
fhKeeper/formulahousekeeper/course-pc/src/views/trainingClassManagement/student.vue

@@ -3,6 +3,12 @@
     <!--搜索栏-->
     <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
       <el-form :inline="true" @submit.native.prevent>
+        <el-form-item label="时间">
+            <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
+                value-format="yyyy-MM-dd"
+                end-placeholder="结束日期" size="small" @change="searchList">
+            </el-date-picker>
+        </el-form-item>
         <el-form-item label="姓名">
           <el-input v-model="keyword" placeholder="请输入" clearable @input="searchList" size="small"></el-input>
         </el-form-item>
@@ -10,8 +16,10 @@
           <el-input v-model="courseName" placeholder="请输入" clearable @input="searchList" size="small"></el-input>
         </el-form-item>
 
-        <el-button type="primary" size="small" style="float: right;" @click="exportExcel()"
-          :loading="exportExcelLoading">导出</el-button>
+        <el-button type="primary" size="small" style="float: right;margin-left: 10px;" @click="exportExcel()"
+          :loading="exportExcelLoading">导出表格</el-button>
+        <el-button type="primary" size="small" style="float: right;" @click="exportAvatar()"
+          :loading="exportAvatarLoading">导出照片</el-button>
       </el-form>
     </el-col>
 
@@ -62,6 +70,7 @@ export default {
       // 搜索条件
       keyword: null,
       courseName: null,
+      dateRange: [],
 
       // 表格相关
       tableHeight: 0,
@@ -71,20 +80,70 @@ export default {
       size: 20,
       list: [],
       exportExcelLoading: false,
+      exportAvatarLoading: false,
       previewImages: []
     }
   },
   methods: {
+    exportAvatar() {
+      this.exportAvatarLoading = true;
+      let dateRangeObj = {}
+      if((this.dateRange || []).length > 0) {
+        dateRangeObj = {
+          startDate: (this.dateRange || [])[0] || '',
+          endDate: (this.dateRange || [])[1] || '',
+        }
+      }
+      this.http.post('/user-exam-info/exportStudentPhotoFiles', {
+        ...dateRangeObj,
+        name: this.keyword,
+        courseName: this.courseName
+      }, res => {
+        this.exportAvatarLoading = false;
+        if (res.code == "ok") {
+          var filePath = res.data;
+          let text = '学员照片.zip'
+          if((this.dateRange || []).length > 0) {
+            text = `${this.dateRange[0]}至${this.dateRange[1]}` + text
+          }
+          const a = document.createElement('a'); // 创建a标签
+          a.setAttribute('download', text);// download属性
+          a.setAttribute('href', filePath);// href链接
+          a.click(); //自执行点击事件
+          a.remove();
+        } else {
+          this.$message({
+            message: res.msg,
+            type: "error"
+          });
+        }
+      }, () => {
+        this.exportAvatarLoading = false;
+      })
+    },
     exportExcel() {
       this.exportExcelLoading = true;
-      this.http.post('/exam-info/exportExcel', {
+      let dateRangeObj = {}
+      if((this.dateRange || []).length > 0) {
+        dateRangeObj = {
+          startDate: (this.dateRange || [])[0] || '',
+          endDate: (this.dateRange || [])[1] || '',
+        }
+      }
+      this.http.post('/user-exam-info/exportStudentInfoList', {
+        ...dateRangeObj,
         name: this.keyword,
         courseName: this.courseName
       }, res => {
+        this.exportExcelLoading = false;
         if (res.code == "ok") {
           var filePath = res.data;
+          let text = '学员名单.xls'
+          if((this.dateRange || []).length > 0) {
+            text = `${this.dateRange[0]}至${this.dateRange[1]}` + text
+          }
           const a = document.createElement('a'); // 创建a标签
-          a.setAttribute('download', '学员名单.xls');// download属性
+          a.setAttribute('download', text);// download属性
           a.setAttribute('href', filePath);// href链接
           a.click(); //自执行点击事件
           a.remove();
@@ -113,7 +172,15 @@ export default {
 
     getList() {
       this.listLoading = true;
+      let dateRangeObj = {}
+      if((this.dateRange || []).length > 0) {
+        dateRangeObj = {
+          startDate: (this.dateRange || [])[0] || '',
+          endDate: (this.dateRange || [])[1] || '',
+        }
+      }
       this.http.post('/user-exam-info/getStudentInfoList', {
+        ...dateRangeObj,
         name: this.keyword,
         courseName: this.courseName,
         pageIndex: this.page,