Tang 3 роки тому
батько
коміт
1ed9a7b44e

+ 72 - 14
src/views/education/classManageMent/learningHoursRecordList/index.vue

@@ -200,6 +200,14 @@ export default {
             },
           ],
         },
+        {
+          prop1: "searchStartTime",
+          prop2: "searchEndTime",
+          placeholder1: "查询开始时间",
+          placeholder2: "查询结束时间",
+          scope: "moreDataPicker",
+          Diszing: true,
+        },
         {
           prop: "searchKey",
           placeholder: "请输入商品编码/商品名称",
@@ -336,12 +344,20 @@ export default {
     loadingClose() {
       this.disabledBtn = false;
     },
-    exputs() {
-      var data = this.$refs.exportTable.formData;
-      if (!data.businessid) {
+    /**
+     *
+     * @param {Object} data
+     * @remards 导出条件
+     */
+    exputs(data) {
+      // var data = this.$refs.exportTable.formData;
+      if (!data.businessId) {
         this.$message.warning("请选择业务层次");
         return;
       }
+      /**
+       * @remards 学习状态为2的话 需要勾选学时官方推送状态
+       */
       if (
         data.studyStatus === 2 &&
         data.officialStatus !== 0 &&
@@ -351,14 +367,9 @@ export default {
         return;
       }
       this.disabledBtn = true;
+      this.$modal.loading("正在导出数据,请稍后...");
       this.$api
-        .inquireGradegradeListexport({
-          businessId: data.businessid,
-          studyStatus: data.studyStatus,
-          businessName: data.businessName,
-          officialStatus:
-            data.studyStatus === 2 ? data.officialStatus : undefined,
-        })
+        .inquireGradegradeListexport(data)
         .then((res) => {
           let url = baseUrls.baseURL + "common/download?fileName=" + res.msg;
           let link = document.createElement("a");
@@ -369,13 +380,39 @@ export default {
           link.click();
           link.remove();
           this.$message.success("批量导出成功");
-          this.dialogDR = false;
+          // this.dialogDR = false;
+        })
+        .catch((err) => {
+          /**
+           * @remards 请求超时处理
+           */
+          let { message } = err;
+          if (message.includes("timeout")) {
+            this.$message.error(
+              "数据体量过大,无法正常导出,请调整导出的日期范围,缩小数据体量"
+            );
+          }
         })
         .finally(() => {
-          this.disabledBtn = false;
+          this.$modal.closeLoading();
         });
     },
+    /**
+     * 导出前收集条件
+     */
     moreActive() {
+      let data = {
+        studyStatus: this.formData.studyStatus || "",
+        educationTypeId: this.formData.educationTypeId || "",
+        businessId: this.formData.businessId || "",
+        searchKey: this.formData.searchKey || "",
+        searchStartTime: this.formData.searchStartTime / 1000 || "",
+        searchEndTime: this.formData.searchEndTime / 1000 || "",
+        officialStatus:
+          this.formData.studyStatus === 2 ? this.formData.learnStatus : "",
+      };
+      this.exputs(data);
+      return;
       this.dialogDR = true;
     },
     /**
@@ -412,6 +449,9 @@ export default {
       };
       this.vidBox = true;
     },
+    /**
+     * 搜索列表
+     */
     search(int) {
       this.loading = true;
       if (int === 1) {
@@ -430,6 +470,12 @@ export default {
         this.formData.pageNum = 1;
       }
       var data = JSON.parse(JSON.stringify(this.formData));
+      if (this.formData.searchStartTime) {
+        data.searchStartTime = data.searchStartTime / 1000;
+      }
+      if (this.formData.searchEndTime) {
+        data.searchEndTime = data.searchEndTime / 1000;
+      }
       this.$api
         .inquireGradegradelistUserPeriod(data)
         .then((res) => {
@@ -441,14 +487,27 @@ export default {
           this.loading = false;
         });
     },
+    /**
+     * 重置列表
+     */
     init() {
       this.search(2);
     },
+    /**
+     *
+     * @param {Number} v
+     * @remards 每页数量
+     */
     handleSizeChange(v) {
       this.formData.pageSize = v;
       this.formData.pageNum = 1;
       this.search();
     },
+    /**
+     *
+     * @param {Number} v
+     * @remards 切换页码
+     */
     handleCurrentChange(v) {
       this.formData.pageNum = v;
       this.search();
@@ -547,5 +606,4 @@ export default {
     margin: 5px 0px;
   }
 }
-</style>
-
+</style>

+ 100 - 9
src/views/education/classManageMent/studentMenu/index.vue

@@ -25,7 +25,7 @@
         <span
           style="font-size: 14px; margin: 0px 6px"
           v-if="statusShow.indexOf(1) !== -1"
-          >已推送:{{gfNum}}/{{total}}</span
+          >已推送:{{ gfNum }}/{{ total }}</span
         >
         <el-button size="small" v-if="statusShow.indexOf(3) !== -1"
           >官方学习账号开通</el-button
@@ -301,7 +301,7 @@
     </el-dialog>
     <el-dialog
       :visible.sync="dialogVisibleStudent"
-      width="760px"
+      width="1060px"
       :show-close="false"
       :close-on-click-modal="false"
     >
@@ -318,7 +318,65 @@
       <div>
         <el-row :gutter="20">
           <el-form label-position="right" label-width="130px" :model="listData">
-            <el-col :span="12">
+            <el-col :span="6">
+              <div class="dis_fs">
+                <div class="photoSty1">
+                  <img
+                    style="width: 100%; height: 100%"
+                    v-if="!listData.oneInchPhotos"
+                    src="@/assets/404_images/wuyuxaog.png"
+                    alt=""
+                  />
+                  <el-image
+                    v-else
+                    style="width: 100%; height: 100%"
+                    :src="$methodsTools.splitImgHost(listData.oneInchPhotos)"
+                    :preview-src-list="[
+                      $methodsTools.splitImgHost(listData.oneInchPhotos),
+                    ]"
+                  >
+                  </el-image>
+                  <div class="pos_bottom">一寸头像图</div>
+                </div>
+                <div class="photoSty2">
+                  <img
+                    style="width: 100%; height: 100%"
+                    v-if="!listData.idCardImg1"
+                    src="@/assets/404_images/wuyuxaog.png"
+                    alt=""
+                  />
+                  <el-image
+                    v-else
+                    style="width: 100%; height: 100%"
+                    :src="$methodsTools.splitImgHost(listData.idCardImg1)"
+                    :preview-src-list="[
+                      $methodsTools.splitImgHost(listData.idCardImg1),
+                    ]"
+                  >
+                  </el-image>
+                  <div class="pos_bottom">身份证正面照片</div>
+                </div>
+                <div class="photoSty2" style="margin-right: 0px">
+                  <img
+                    style="width: 100%; height: 100%"
+                    v-if="!listData.idCardImg2"
+                    src="@/assets/404_images/wuyuxaog.png"
+                    alt=""
+                  />
+                  <el-image
+                    v-else
+                    style="width: 100%; height: 100%"
+                    :src="$methodsTools.splitImgHost(listData.idCardImg2)"
+                    :preview-src-list="[
+                      $methodsTools.splitImgHost(listData.idCardImg2),
+                    ]"
+                  >
+                  </el-image>
+                  <div class="pos_bottom">身份证背面照片</div>
+                </div>
+              </div>
+            </el-col>
+            <el-col :span="9">
               <el-form-item label="学员编码">
                 <el-input
                   disabled
@@ -402,7 +460,7 @@
                 ></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="9">
               <el-form-item label="民族">
                 <el-input
                   disabled
@@ -630,7 +688,7 @@ export default {
         },
       ],
       listData: {},
-      finishStatusOS:'',
+      finishStatusOS: "",
       tableData: [], //表单数据
       total: 0, //一共多少条
       gfNum: 0, //官方信息推送
@@ -771,9 +829,9 @@ export default {
         id: ars,
       };
       if (this.stice === 1) {
-        if(this.finishStatusOS !== 0 && this.finishStatusOS !== 1 ){
-          this.$message.warning("请选择是否")
-          return
+        if (this.finishStatusOS !== 0 && this.finishStatusOS !== 1) {
+          this.$message.warning("请选择是否");
+          return;
         }
         data.finishStatus = this.finishStatusOS;
       }
@@ -800,7 +858,7 @@ export default {
         this.allCheckList = JSON.parse(
           JSON.stringify(this.$refs.tableList.allCheckData)
         );
-        this.finishStatusOS = ''
+        this.finishStatusOS = "";
         this.dialogVisible = true;
       }
       if (int === 2) {
@@ -1101,4 +1159,37 @@ export default {
 /deep/.radioTables > .el-radio__label {
   display: none;
 }
+.dis_fs {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+.photoSty1 {
+  flex-shrink: 0;
+  width: 150px;
+  height: 160px;
+  background-color: #fff;
+  position: relative;
+  margin-bottom: 30px;
+}
+.photoSty2 {
+  position: relative;
+  flex-shrink: 0;
+  width: 230px;
+  height: 160px;
+  background-color: #fff;
+  margin-bottom: 30px;
+}
+.pos_bottom {
+  position: absolute;
+  height: 20px;
+  bottom: 0px;
+  left: 0px;
+  right: 0px;
+  background-color: rgba(0, 0, 0, 0.8);
+  text-align: center;
+  line-height: 20px;
+  font-size: 14px;
+  color: #fff;
+}
 </style>

+ 44 - 5
src/views/education/dataReview/dataConfig/index.vue

@@ -417,6 +417,14 @@ export default {
             },
           ],
         },
+        {
+          prop1: "searchStartTime",
+          prop2: "searchEndTime",
+          placeholder1: "查询开始时间",
+          placeholder2: "查询结束时间",
+          scope: "moreDataPicker",
+          Diszing: true,
+        },
         {
           prop: "realname",
           placeholder: "请输入学员姓名",
@@ -550,9 +558,10 @@ export default {
     this.search();
   },
   methods: {
-    exputs() {
+    exputs(data) {
+      this.$modal.loading("正在导出数据,请稍后...");
       this.$api
-        .inquirebaseprofileExport({ status: this.activeDCIndex })
+        .inquirebaseprofileExport(data)
         .then((res) => {
           if (res.code === 200) {
             let url = baseUrls.baseURL + "common/download?fileName=" + res.msg;
@@ -567,9 +576,33 @@ export default {
             this.$message.success("批量导出成功");
             this.dialogDR = false;
           }
+        })
+        .catch((err) => {
+          let { message } = err;
+          if (message.includes("timeout")) {
+            this.$message.error(
+              "数据体量过大,无法正常导出,请调整导出的日期范围,缩小数据体量"
+            );
+          }
+        })
+        .finally(() => {
+          this.$modal.closeLoading();
         });
     },
     moreActive() {
+      let data = {
+        changeStatus: this.formData.changeStatus || "",
+        status: this.formData.status || 0,
+        educationTypeId: this.formData.educationTypeId || "",
+        businessId: this.formData.businessId || "",
+        majorId: this.formData.majorId || "",
+        schoolId: this.formData.schoolId || "",
+        realname: this.formData.realname || "",
+        searchStartTime: this.formData.searchStartTime / 1000 || "",
+        searchEndTime: this.formData.searchEndTime / 1000 || "",
+      };
+      this.exputs(data);
+      return;
       this.activeDCIndex = 0;
       this.dialogDR = true;
     },
@@ -655,8 +688,15 @@ export default {
           pageNum: 1,
         };
       }
+      var data = JSON.parse(JSON.stringify(this.formData));
+      if (this.formData.searchStartTime) {
+        data.searchStartTime = data.searchStartTime / 1000;
+      }
+      if (this.formData.searchEndTime) {
+        data.searchEndTime = data.searchEndTime / 1000;
+      }
       this.$api
-        .inquirebaseprofile(this.formData)
+        .inquirebaseprofile(data)
         .then((res) => {
           this.tableData = res.rows;
           this.total = res.total;
@@ -948,5 +988,4 @@ export default {
     margin: 5px 0px;
   }
 }
-</style>
-
+</style>

+ 45 - 6
src/views/education/dataReview/stamp/index.vue

@@ -328,8 +328,16 @@ export default {
           ],
         },
         {
-          prop: "prefixName",
-          placeholder: "请输入搜索关键内容",
+          prop1: "searchStartTime",
+          prop2: "searchEndTime",
+          placeholder1: "查询开始时间",
+          placeholder2: "查询结束时间",
+          scope: "moreDataPicker",
+          Diszing: true,
+        },
+        {
+          prop: "realname",
+          placeholder: "请输入学员姓名",
         },
       ],
       formData: {
@@ -458,9 +466,10 @@ export default {
     this.search();
   },
   methods: {
-    exputs() {
+    exputs(data) {
+      this.$modal.loading("正在导出数据,请稍后...");
       this.$api
-        .inquirebaseprofileStampexport({ status: this.activeDCIndex })
+        .inquirebaseprofileStampexport(data)
         .then((res) => {
           if (res.code === 200) {
             let url = baseUrls.baseURL + "common/download?fileName=" + res.msg;
@@ -474,9 +483,33 @@ export default {
             this.$message.success("批量导出成功");
             this.dialogDR = false;
           }
+        })
+        .catch((err) => {
+          let { message } = err;
+          if (message.includes("timeout")) {
+            this.$message.error(
+              "数据体量过大,无法正常导出,请调整导出的日期范围,缩小数据体量"
+            );
+          }
+        })
+        .finally(() => {
+          this.$modal.closeLoading();
         });
     },
     moreActive() {
+      let data = {
+        changeStatus: this.formData.changeStatus || "",
+        status: this.formData.status || 0,
+        educationTypeId: this.formData.educationTypeId || "",
+        businessId: this.formData.businessId || "",
+        majorId: this.formData.majorId || "",
+        schoolId: this.formData.schoolId || "",
+        realname: this.formData.realname || "",
+        searchStartTime: this.formData.searchStartTime / 1000 || "",
+        searchEndTime: this.formData.searchEndTime / 1000 || "",
+      };
+      this.exputs(data);
+      return;
       this.activeDCIndex = 0;
       this.dialogDR = true;
     },
@@ -565,6 +598,13 @@ export default {
           pageNum: 1,
         };
       }
+      var data = JSON.parse(JSON.stringify(this.formData));
+      if (this.formData.searchStartTime) {
+        data.searchStartTime = data.searchStartTime / 1000;
+      }
+      if (this.formData.searchEndTime) {
+        data.searchEndTime = data.searchEndTime / 1000;
+      }
       this.$api
         .inquirebaseprofileStamp(this.formData)
         .then((res) => {
@@ -858,5 +898,4 @@ export default {
     margin: 5px 0px;
   }
 }
-</style>
-
+</style>

+ 95 - 2
src/views/education/studentManageMent/studentXQ/studentBaseManage.vue

@@ -9,7 +9,65 @@
         :rules="rules"
       >
         <el-row :gutter="20">
-          <el-col :span="12">
+          <el-col :span="6">
+            <div class="dis_fs">
+              <div class="photoSty1">
+                <img
+                  style="width: 100%; height: 100%"
+                  v-if="!listData.oneInchPhotos"
+                  src="@/assets/404_images/wuyuxaog.png"
+                  alt=""
+                />
+                <el-image
+                  v-else
+                  style="width: 100%; height: 100%"
+                  :src="$methodsTools.splitImgHost(listData.oneInchPhotos)"
+                  :preview-src-list="[
+                    $methodsTools.splitImgHost(listData.oneInchPhotos),
+                  ]"
+                >
+                </el-image>
+                <div class="pos_bottom">一寸头像图</div>
+              </div>
+              <div class="photoSty2">
+                <img
+                  style="width: 100%; height: 100%"
+                  v-if="!listData.idCardImg1"
+                  src="@/assets/404_images/wuyuxaog.png"
+                  alt=""
+                />
+                <el-image
+                  v-else
+                  style="width: 100%; height: 100%"
+                  :src="$methodsTools.splitImgHost(listData.idCardImg1)"
+                  :preview-src-list="[
+                    $methodsTools.splitImgHost(listData.idCardImg1),
+                  ]"
+                >
+                </el-image>
+                <div class="pos_bottom">身份证正面照片</div>
+              </div>
+              <div class="photoSty2" style="margin-right: 0px">
+                <img
+                  style="width: 100%; height: 100%"
+                  v-if="!listData.idCardImg2"
+                  src="@/assets/404_images/wuyuxaog.png"
+                  alt=""
+                />
+                <el-image
+                  v-else
+                  style="width: 100%; height: 100%"
+                  :src="$methodsTools.splitImgHost(listData.idCardImg2)"
+                  :preview-src-list="[
+                    $methodsTools.splitImgHost(listData.idCardImg2),
+                  ]"
+                >
+                </el-image>
+                <div class="pos_bottom">身份证背面照片</div>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="9">
             <el-form-item label="学员编码" prop="studentCode">
               <el-input disabled v-model="listData.studentCode"></el-input>
             </el-form-item>
@@ -76,7 +134,7 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="9">
             <el-form-item label="民族" prop="nation">
               <el-input v-model="listData.nation"></el-input>
             </el-form-item>
@@ -208,5 +266,40 @@ export default {
   border-bottom: 1px dotted #9a9a9a;
   margin-bottom: 12px;
 }
+.dis_fs {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: space-between;
+  background-color: #eee;
+}
+.photoSty1 {
+  flex-shrink: 0;
+  width: 150px;
+  height: 160px;
+  background-color: #fff;
+  position: relative;
+  margin-bottom: 30px;
+}
+.photoSty2 {
+  position: relative;
+  flex-shrink: 0;
+  width: 230px;
+  height: 160px;
+  background-color: #fff;
+  margin-bottom: 30px;
+}
+.pos_bottom {
+  position: absolute;
+  height: 20px;
+  bottom: 0px;
+  left: 0px;
+  right: 0px;
+  background-color: rgba(0, 0, 0, 0.8);
+  text-align: center;
+  line-height: 20px;
+  font-size: 14px;
+  color: #fff;
+}
 </style>
 

+ 13 - 13
src/views/systemManagement/roleManagement/index.vue

@@ -292,11 +292,11 @@ export default {
           prop: "menuIds",
           scope: "tree",
         },
-        // {
-        //   label: "数据池权限",
-        //   prop: "keys",
-        //   scope: "treeInfo",
-        // },
+        {
+          label: "数据池权限",
+          prop: "keys",
+          scope: "treeInfo",
+        },
         {
           label: "备注",
           prop: "remark",
@@ -412,13 +412,13 @@ export default {
             self.listData = res.data;
             self.dialogVisible = true;
             await self.getMenuListInfo();
-            // if (res.data.businessIds) {
-            //   res.data.businessIds.forEach((v) => {
-            //     self.$nextTick(() => {
-            //       self.$refs.info[0].setChecked("yw-" + v, true, false);
-            //     });
-            //   });
-            // }
+            if (res.data.businessIds) {
+              res.data.businessIds.forEach((v) => {
+                self.$nextTick(() => {
+                  self.$refs.info[0].setChecked("yw-" + v, true, false);
+                });
+              });
+            }
             self.$nextTick(() => {
               self.$refs.listData.clearValidate();
             });
@@ -477,7 +477,7 @@ export default {
     rulesTableSumbit() {
       this.disabledBtn = true;
       this.listData.menuIds = this.getMenuAllCheckedKeys();
-      // this.listData.businessIds = this.getMenuAllCheckedKeysInfo();
+      this.listData.businessIds = this.getMenuAllCheckedKeysInfo();
       var data = this.listData;
       if (this.statusPop === 1) {
         this.$api