jinxia.mo 4 недель назад
Родитель
Сommit
9533e7f620

+ 128 - 76
back-ui/src/views/dz/cards/index.vue

@@ -1,82 +1,134 @@
 <template>
   <div class="app-page">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
-      <el-form-item label="省份筛选" prop="provinceId">
-        <el-cascader class="w-[180px]!" :options="area.list" :props="cascaderProps" v-model="area.selected" clearable />
-      </el-form-item>
-      <el-form-item label="分配学校" prop="assignSchoolId">
-        <ie-select v-model="selectedAssignSchool" :options="schoolList" label-key="name" value-key="id" filterable
-          clearable class="w-[180px]!" />
-      </el-form-item>
-      <el-form-item label="注册学校" prop="schoolId">
-        <ie-select v-model="selectedSchool" :options="schoolList" label-key="name" value-key="id" filterable clearable
-          class="w-[180px]!" />
-      </el-form-item>
-      <el-form-item label="注册班级" prop="classId">
-        <ie-select v-model="selectedClass" :options="classList" label-key="name" value-key="classId" filterable
-          clearable class="w-[180px]!" />
-      </el-form-item>
-      <el-form-item label="培训学校" prop="campusId">
-        <ie-select v-model="selectedCampus" :options="campusList" label-key="name" value-key="id" filterable clearable
-          class="w-[180px]!" @change="handleCampusChange" />
-      </el-form-item>
-      <el-form-item label="培训班级" prop="campusClassId">
-        <ie-select v-model="selectedCampusClass" :options="campusClassList" label-key="name" value-key="classId"
-          clearable filterable class="w-[180px]!" />
-      </el-form-item>
-      <el-form-item label="代理商" prop="agentId">
-        <ie-agent-select v-model="queryParams.agentId" class="w-[180px]!" filterable clearable />
-      </el-form-item>
-      <el-form-item label="姓名" prop="nickName">
-        <el-input v-model="queryParams.nickName" type="text" class="w-[180px]!" placeholder="请输入姓名" clearable />
-      </el-form-item>
-      <el-form-item label="手机" prop="phonenumber">
-        <el-input v-model="queryParams.phonenumber" type="text" v-number maxlength="11" class="w-[180px]!"
-          placeholder="请输入手机号" clearable />
-      </el-form-item>
-      <el-form-item label="卡号段" prop="begin">
-        <div class="flex items-center gap-x-3">
-          <el-input v-model="queryParams.begin" type="text" maxlength="11" class="w-[180px]!" placeholder="请输入开始卡号" />
-          <span class="text-gray-500">-</span>
-          <el-input v-model="queryParams.end" type="text" maxlength="11" class="w-[180px]!" placeholder="请输入结束卡号" />
-        </div>
-      </el-form-item>
-      <el-form-item label="卡分配日期" prop="assignTimeRange">
-        <el-date-picker v-model="queryParams.assignTimeRange" type="daterange" range-separator="至"
-          start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD" class="w-[282px]!" />
-      </el-form-item>
-      <el-form-item label="平台机构" prop="deptId">
-        <ie-institution-select v-model="queryParams.deptId" class="w-[180px]!" clearable />
-      </el-form-item>
-      <el-form-item label="考生类型" prop="examType">
-        <ie-select v-model="queryParams.examType" :options="exam_type" class="w-[180px]!" clearable />
-      </el-form-item>
-      <el-form-item label="卡类型" prop="type">
-        <ie-select v-model="queryParams.type" :options="card_type" class="w-[180px]!" clearable />
-      </el-form-item>
-      <el-form-item label="分配状态" prop="distributeStatus">
-        <ie-select v-model="queryParams.distributeStatus" :options="card_distribute_status" class="w-[180px]!"
-          clearable />
-      </el-form-item>
-      <el-form-item label="使用状态" prop="status">
-        <ie-select v-model="queryParams.status" :options="CARD_STATUS" class="w-[180px]!" clearable />
-      </el-form-item>
-
-      <el-form-item label="过期状态" prop="timeStatus">
-        <ie-select v-model="queryParams.timeStatus" :options="card_time_status" class="w-[180px]!" clearable />
-      </el-form-item>
-      <el-form-item label="结算状态" prop="isSettlement">
-        <ie-select v-model="queryParams.isSettlement" :options="card_settlement_status" class="w-[180px]!" clearable />
-      </el-form-item>
-      <el-form-item label="缴费状态" prop="payStatus">
-        <ie-select v-model="queryParams.payStatus" :options="card_pay_status" class="w-[180px]!" clearable />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-      </el-form-item>
+    <el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="100px">
+      <!-- 第一行:卡号段、卡类型、卡分配日期 -->
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="卡号段" prop="begin">
+            <div class="flex items-center gap-x-1">
+              <el-input v-model="queryParams.begin" type="text" maxlength="11" class="w-[85px]!" placeholder="开始卡号" />
+              <span class="text-gray-500 text-sm">-</span>
+              <el-input v-model="queryParams.end" type="text" maxlength="11" class="w-[85px]!" placeholder="结束卡号" />
+            </div>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="卡类型" prop="type">
+            <ie-select v-model="queryParams.type" :options="card_type" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="7">
+          <el-form-item label="卡分配日期" prop="assignTimeRange">
+            <el-date-picker v-model="queryParams.assignTimeRange" type="daterange" range-separator="至"
+              start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD" class="w-[180px]!" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <!-- 其他表单项:每行4个 -->
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="省份筛选" prop="provinceId">
+            <el-cascader class="w-[180px]!" :options="area.list" :props="cascaderProps" v-model="area.selected" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="分配学校" prop="assignSchoolId">
+            <ie-select v-model="selectedAssignSchool" :options="schoolList" label-key="name" value-key="id" filterable
+              clearable class="w-[180px]!" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="代理商" prop="agentId">
+            <ie-agent-select v-model="queryParams.agentId" class="w-[180px]!" filterable clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="平台机构" prop="deptId">
+            <ie-institution-select v-model="queryParams.deptId" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="注册学校" prop="schoolId">
+            <ie-select v-model="selectedSchool" :options="schoolList" label-key="name" value-key="id" filterable clearable
+              class="w-[180px]!" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="注册班级" prop="classId">
+            <ie-select v-model="selectedClass" :options="classList" label-key="name" value-key="classId" filterable
+              clearable class="w-[180px]!" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="培训学校" prop="campusId">
+            <ie-select v-model="selectedCampus" :options="campusList" label-key="name" value-key="id" filterable clearable
+              class="w-[180px]!" @change="handleCampusChange" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="培训班级" prop="campusClassId">
+            <ie-select v-model="selectedCampusClass" :options="campusClassList" label-key="name" value-key="classId"
+              clearable filterable class="w-[180px]!" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="姓名" prop="nickName">
+            <el-input v-model="queryParams.nickName" type="text" class="w-[180px]!" placeholder="请输入姓名" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="手机" prop="phonenumber">
+            <el-input v-model="queryParams.phonenumber" type="text" v-number maxlength="11" class="w-[180px]!"
+              placeholder="请输入手机号" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="考生类型" prop="examType">
+            <ie-select v-model="queryParams.examType" :options="exam_type" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="分配状态" prop="distributeStatus">
+            <ie-select v-model="queryParams.distributeStatus" :options="card_distribute_status" class="w-[180px]!"
+              clearable />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="使用状态" prop="status">
+            <ie-select v-model="queryParams.status" :options="CARD_STATUS" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="过期状态" prop="timeStatus">
+            <ie-select v-model="queryParams.timeStatus" :options="card_time_status" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="结算状态" prop="isSettlement">
+            <ie-select v-model="queryParams.isSettlement" :options="card_settlement_status" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="缴费状态" prop="payStatus">
+            <ie-select v-model="queryParams.payStatus" :options="card_pay_status" class="w-[180px]!" clearable />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item>
+            <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+            <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
     </el-form>
-
     <el-row class="mt-2">
       <CustomButton icon="plus" v-hasPermi="['dz:cards:issue']" @click="handleAddCard">制卡</CustomButton>
       <CustomButton color="#67c23a" v-hasPermi="['dz:cards:assign']" @click="handleAssign">

+ 28 - 28
back-ui/src/views/dz/teacher/index.vue

@@ -78,8 +78,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['dz:teacher:edit']"
-        >修改</el-button> -->
-      </el-col>
+        >修改</el-button>
+      </el-col> -->
       <!-- <el-col :span="1.5">
         <el-button
           type="danger"
@@ -184,7 +184,7 @@
             />
           </el-select>
         </el-form-item>
-        
+
         <el-form-item label="校区班级" prop="campusClassIds">
           <el-select v-model="form.campusClassIds" multiple placeholder="请选择校区班级" style="width: 100%" filterable clearable :disabled="!form.campusId">
             <el-option
@@ -242,9 +242,9 @@
                   <el-input v-model="formCampusClass.name" placeholder="请输入教师姓名" disabled/>
               </el-form-item>
               <el-form-item label="培训校区" prop="campusId">
-                  <el-select 
-                          v-model="formCampusClass.campusId" 
-                          placeholder="请选择培训校区" 
+                  <el-select
+                          v-model="formCampusClass.campusId"
+                          placeholder="请选择培训校区"
                           style="width: 100%"
                           @change="handleCampusClassChange"
                   >
@@ -257,10 +257,10 @@
                   </el-select>
               </el-form-item>
               <el-form-item label="关联班级" prop="classIds">
-                  <el-select 
-                          v-model="formCampusClass.classIds" 
-                          multiple 
-                          placeholder="请选择班级" 
+                  <el-select
+                          v-model="formCampusClass.classIds"
+                          multiple
+                          placeholder="请选择班级"
                           style="width: 100%"
                           :disabled="!formCampusClass.campusId"
                   >
@@ -475,10 +475,10 @@ function handleUpdate(row) {
     // 初始化班级ID数组
     form.value.schoolClassIds = []
     form.value.campusClassIds = []
-    
+
     // 先加载班级列表,然后获取已关联的班级并回显
     const loadPromises = []
-    
+
     if (form.value.schoolId) {
       loadPromises.push(
         getClassesBySchoolId({ schoolId: form.value.schoolId }).then(response => {
@@ -486,7 +486,7 @@ function handleUpdate(row) {
         })
       )
     }
-    
+
     if (form.value.campusId) {
       loadPromises.push(
         getClassesByCampusId({ campusId: form.value.campusId }).then(response => {
@@ -494,7 +494,7 @@ function handleUpdate(row) {
         })
       )
     }
-    
+
     // 获取该老师已关联的所有班级
     Promise.all([
       ...loadPromises,
@@ -502,7 +502,7 @@ function handleUpdate(row) {
     ]).then((results) => {
       const teacherClassResponse = results[results.length - 1]
       const teacherClasses = teacherClassResponse.data || []
-      
+
       // 根据班级所属的学校/校区,分别设置到对应的数组中
       teacherClasses.forEach(tc => {
         if (tc.classId) {
@@ -516,7 +516,7 @@ function handleUpdate(row) {
               form.value.schoolClassIds.push(tc.classId)
             }
           }
-          
+
           // 检查该班级是否属于校区(校区班级的schoolId等于campusId)
           const campusClass = campusClassOptions.value.find(c => c.classId === tc.classId)
           if (campusClass && form.value.campusId && campusClass.schoolId === form.value.campusId) {
@@ -530,7 +530,7 @@ function handleUpdate(row) {
         }
       })
     })
-    
+
     open.value = true
     title.value = "修改老师"
   })
@@ -597,14 +597,14 @@ function handleCampusChange() {
 /** 编辑模式下加载已关联的班级 */
 function loadTeacherClassesForEdit() {
   if (!form.value.teacherId) return
-  
+
   listAllTeacherClass({ teacherId: form.value.teacherId }).then(response => {
     const teacherClasses = response.data || []
-    
+
     // 重置班级ID数组
     form.value.schoolClassIds = []
     form.value.campusClassIds = []
-    
+
     // 根据班级所属的学校/校区,分别设置到对应的数组中
     teacherClasses.forEach(tc => {
       if (tc.classId) {
@@ -618,7 +618,7 @@ function loadTeacherClassesForEdit() {
             form.value.schoolClassIds.push(tc.classId)
           }
         }
-        
+
         // 检查该班级是否属于校区(校区班级的schoolId等于campusId)
         const campusClass = campusClassOptions.value.find(c => c.classId === tc.classId)
         if (campusClass && form.value.campusId && campusClass.schoolId === form.value.campusId) {
@@ -691,23 +691,23 @@ function handleUpdateTeacherClass(row) {
     // 先清空班级选项和已选班级
     classOptions.value = []
     formTeacherClass.value.classIds = []
-    
+
     // const _schoolId = row.schoolId
     const submitData = {
         schoolId: row.schoolId,
         teacherId: row.teacherId
     }
-    
+
     // 设置基本数据
     formTeacherClass.value.teacherId = row.teacherId
     formTeacherClass.value.schoolId = row.schoolId
     formTeacherClass.value.name = row.name
     formTeacherClass.value.schoolName = row.schoolName
-    
+
     // 先打开弹窗
     openTeacherClass.value = true
     titleTeacherClass.value = "关联班级"
-    
+
     // 加载班级列表和已关联的班级
     Promise.all([
         listAllClass(submitData),
@@ -749,16 +749,16 @@ function handleUpdateCampusClass(row) {
     // 先清空班级选项和已选班级
     campusClassOptions.value = []
     formCampusClass.value.classIds = []
-    
+
     // 设置数据
     formCampusClass.value.teacherId = row.teacherId
     formCampusClass.value.schoolId = row.campusId
     formCampusClass.value.name = row.name
-    
+
     // 先打开弹窗
     openCampusClass.value = true
     titleCampusClass.value = "关联校区班级"
-    
+
     // 如果有培训校区,默认选中并加载该校区的班级列表
     if (row.campusId) {
         formCampusClass.value.campusId = row.campusId

+ 3 - 3
ie-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -253,7 +253,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 
 	<select id="selectPassword2ByUserIds" resultType="map">
-		select u.user_id, u.password2 from sys_user u 
+		select u.user_id, u.password2 from sys_user u
 		where u.user_id in <foreach collection="userIds" item="userId" open="(" separator="," close=")">#{userId}</foreach>
 		and u.del_flag = '0'
 	</select>
@@ -317,7 +317,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
  		insert into sys_user(
  			<if test="userId != null and userId != 0">user_id,</if>
- 			<if test="deptId != null and deptId != 0">dept_id,</if>
+ 			<if test="deptId != null">dept_id,</if>
  			<if test="userName != null and userName != ''">user_name,</if>
  			<if test="nickName != null and nickName != ''">nick_name,</if>
  			<if test="email != null and email != ''">email,</if>
@@ -346,7 +346,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			create_time
  		)values(
  			<if test="userId != null and userId != ''">#{userId},</if>
- 			<if test="deptId != null and deptId != ''">#{deptId},</if>
+ 			<if test="deptId != null">#{deptId},</if>
  			<if test="userName != null and userName != ''">#{userName},</if>
  			<if test="nickName != null and nickName != ''">#{nickName},</if>
  			<if test="email != null and email != ''">#{email},</if>