Przeglądaj źródła

审核弹窗修改第一次

cuijunkai 7 miesięcy temu
rodzic
commit
67caa16826
2 zmienionych plików z 154 dodań i 61 usunięć
  1. 74 25
      src/components/list.vue
  2. 80 36
      src/views/examineDialog.vue

+ 74 - 25
src/components/list.vue

@@ -8,7 +8,7 @@
     <!-- 学习名称组织名称表单区域 -->
     <el-dialog :visible.sync="isOrgFormVisible" :before-close="close_table" custom-class="table" width="920px">
       <!-- 自定义头部 -->
-      <div class="el_header" style=" width: 104.6%;height: 80px;text-align: center;background: #454545;margin-top: -60px;float: left;margin-left: -20px;">
+      <div class="el_header" style=" width: 104.6%;height: 40px;text-align: center;background: #454545;margin-top: -60px;float: left;margin-left: -20px;">
         <span class="el_title">移动选择</span>
         <button type="button" aria-label="Close" class="el_close" @click="form_clost">
           <i></i>
@@ -18,11 +18,10 @@
       <div class="input-container">
         <input type="text" v-model="searchQuery" placeholder="搜索学校" class="table_find" @keyup.enter="ajax_school_name(searchQuery, school.type)" />
         <i class="el-icon-search" @click="ajax_school_name(searchQuery, school.type)"></i>
-        <el-form :model="school" ref="form" style="float: left;margin-left: 10px;width: 200px;height: 30px;margin-top: 1px;">
-          <el-select v-model="school.OrgId" placeholder="请选择组织" class="custom-select">
+        <el-form :model="school" ref="form" style="float: left; margin-left: 10px; width: 200px; height: 30px; margin-top: 1px;">
+          <el-select v-model="school.OrgId" placeholder="请选择组织" class="custom-select"  @change="ajax_org_check">
             <!-- 动态生成 <el-option> -->
-            <el-option
-              v-for="(org, index) in organizations"
+            <el-option v-for="(org, index) in organizations"
               :key="index"
               :label="org.name"
               :value="org.id">
@@ -303,7 +302,7 @@
           <el-table-column show-overflow-tooltip prop="company_number" label="学校名称" width="350" header-align="center" align="center"/>
           <el-table-column show-overflow-tooltip prop="name" label="姓名" width="350" header-align="center" align="center"/>
           <el-table-column show-overflow-tooltip prop="account" label="账户" width="350" header-align="center" align="center"/>
-          <el-table-column  label="操作" width="250" header-align="center" align="center">
+          <el-table-column label="操作" width="250" header-align="center" align="center">
             <template slot-scope="{ row }">
               <el-button link type="text" size="small" @click="ajax__open_stop(row.userid)">启用</el-button>
             </template>
@@ -442,7 +441,7 @@ export default {
     run(userid) {
       this.check_user_id = userid;  // 将选中的userid存储到check_user_id中
       this.isOrgFormVisible = true; // 显示区域
-      console.log("选中的用户ID:", this.check_user_id); // 打印出当前的选中用户ID
+      // console.log("选中的用户ID:", this.check_user_id); // 打印出当前的选中用户ID
     },
     // 移动关闭按钮
     close_table() {
@@ -546,7 +545,7 @@ export default {
           const totalCount = res.data[0][0].total_count;
           this.tableData.length=totalCount;
           // 打印映射后的用户信息
-          console.log("启用的用户信息:", res.data);
+          // console.log("启用的用户信息:", res.data);
         })
         .catch((err) => {
           // 处理失败的响应
@@ -583,7 +582,7 @@ export default {
           this.tableData_stop.length = totalCount;
 
           // 打印映射后的用户信息
-          console.log("停用的用户信息:", res.data);
+          // console.log("停用的用户信息:", res.data);
         })
         .catch((err) => {
           // 处理失败的响应
@@ -668,7 +667,7 @@ export default {
             userid: user.userid,
           };
         });
-        console.log("返回的数据为:",res.data);
+        // console.log("返回的数据为:",res.data);
         // 只有在成功执行时调用这两个函数
         this.ajax_user_stop();
         this.ajax_user_open();
@@ -773,6 +772,52 @@ export default {
           // 通过清空绑定的 v-model 的值来清除选择框的选择状态
           this.searchQuery = '';  // 清空搜索框内容
           this.selectedSchool='';
+          // // 清空下拉框的选择
+          // this.school.OrgId = null;  // 清空已选择的组织
+        });
+      })
+      .catch((err) => {
+        this.$message.error("查询失败");
+        console.error("请求失败,错误信息:", err);
+      });
+  },
+  //组织下拉菜单查询
+  ajax_org_check() {
+    // 获取选择的组织ID
+    const orgId = this.school.OrgId || "";  // 如果没有选择组织,则为空字符串
+    let params = [
+      {
+        functionName: API_CONFIG.ajax_school_name.functionName,  // 调用存储过程的名称
+        u_name: "",  // 用户输入的搜索关键词
+        u_org: orgId  // 传入的组织 ID
+      }
+    ];
+
+    this.$ajax.post(API_CONFIG.baseUrl, params)
+      .then((res) => {
+        // console.log('返回的学校数据:', res.data);  // 打印返回的数据
+
+        // 检查是否查询到有效数据
+        if (res.data && Array.isArray(res.data[0]) && res.data[0].length > 0) {
+          // 只有在查询到学校数据且数组不为空时才更新 cn_school
+          this.cn_school = res.data[0].map(item => ({
+            name: item.name,
+            id: item.id
+          }));
+          // 查询成功且更新后,显示成功消息
+          this.$message.success('成功查询到了学校');
+        } else {
+          // 如果没有找到匹配的学校,保持原有的 cn_school 数组内容
+          this.$message.warning('没有找到匹配的学校');
+        }
+
+        // 清空选择框的选择状态
+        this.$nextTick(() => {
+          // 通过清空绑定的 v-model 的值来清除选择框的选择状态
+          this.searchQuery = '';  // 清空搜索框内容
+          this.selectedSchool='';
+          // // 清空下拉框的选择
+          // this.school.OrgId = null;  // 清空已选择的组织
         });
       })
       .catch((err) => {
@@ -907,10 +952,16 @@ export default {
         });
         this.isOrgFormVisible = false; // 隐藏区域
         // 在此之后再进行输出
-        console.log("选择的用户id为:", this.check_user_id);
-        console.log("选择的组织id为:", orgId);
-        console.log("选择的学校id为:", selectedSchoolObject.id);
-        this.ajax_user_open();  // 如果是在启用区域,停用
+        // console.log("选择的用户id为:", this.check_user_id);
+        // console.log("选择的组织id为:", orgId);
+        // console.log("选择的学校id为:", selectedSchoolObject.id);
+        this.ajax_user_open();  // 刷新
+        //清空数据
+        this.school.OrgId = '';  // 清空所选组织
+        // 在此之后清空选中的学校
+        this.selectedSchool = null;  // 取消选择,重置单选框
+        //刷新学校选择
+        this.ajax_school();
       })
       .catch((err) => {
         this.$message.error("移动失败");
@@ -1043,7 +1094,7 @@ body{
 /* 头部 */
 .el_header{
   width: 106.1%;
-  height: 80px;
+  height: 40px;
   text-align: center;
   background: #454545;
   margin-top: -60px;
@@ -1053,7 +1104,7 @@ body{
 .el_title{
   font-size: 18px !important;
   color: #fff !important;
-  line-height: 80px;
+  line-height: 40px;
 }
 /* 取消按钮样式 */
 .el_close{
@@ -1107,19 +1158,18 @@ body{
 }
 /* 输入框容器*/
 .input-container {
-  position: absolute;
   width: 90%;
   float: left;
-  margin-top: 32px;
+  margin-top: 15px;
   /* border: 1px solid red; */
 }
 /* 搜索框 */
 .table_find {
-  width: 190px; /* 设置容器的宽度 */
-  flex-grow: 1; /* 让输入框自适应宽度 */
+  width: 130px;
+  flex-grow: 1;
   height: 40px;
-  padding-right: 30px; /* 为右侧图标留出空间 */
-  padding-left: 10px; /* 可选,输入框内的左侧间距 */
+  padding-right: 50px;
+  padding-left: 10px;
   border: 1px solid rgb(189, 189, 189);
   font-size: 15px;
   outline: none;
@@ -1354,10 +1404,9 @@ body{
   font-size: 14px !important;
   color: #fff !important;
 }
-/* 取消按钮样式 */
+/* x取消按钮样式 */
 ::v-deep .el-dialog__headerbtn{
-  position: absolute;
-  top: 35px;
+  top: 10px;
   right: 20px;
   padding: 0;
   background: 0 0;

+ 80 - 36
src/views/examineDialog.vue

@@ -14,33 +14,35 @@
                 <img src="@/assets/红色特殊字符.png" alt="字符" class="search-icon2">组织名称
               </span>
             </div>
-                    <!-- 使用 el-select 替代 input -->
-          <el-select v-model="orgName" placeholder="请选择组织名称" class="input">
-            <el-option
-              v-for="(school, index) in orgs"  
-              :key="index"
-              :label="school.name"  
-              :value="school.id">  <!-- school.id 是学校的唯一标识 -->
-              {{ school.name }}
-            </el-option>
-          </el-select>
-
+            <!-- 使用 el-select 替代 input -->
+             <el-form>
+              <el-select v-model="orgName" placeholder="请选择组织名称" class="input">
+                <el-option
+                  v-for="(org, index) in orgs"  
+                  :key="index"
+                  :label="org.name"  
+                  :value="org.id">  <!-- org.id 是组织的唯一标识 -->
+                  {{ org.name }}
+                </el-option>
+              </el-select>
+            </el-form>
           <div class="dialog-content-item-content1" style="margin-top: 20px;">
               <span>
                 <img src="@/assets/红色特殊字符.png" alt="字符" class="search-icon2">学校名称
               </span>
             </div>
             <!-- 使用 el-select 替代 input -->
-            <el-select v-model="schoolName" placeholder="请选择学校名称" class="input">
-              <el-option
-                v-for="(school, index) in schools"
-                :key="index"
-                :label="school.name"
-                :value="school.id">  <!-- school.id 是学校的唯一标识 -->
-                {{ school.name }}
-              </el-option>
-            </el-select>
-          
+            <el-form>
+              <el-select v-model="schoolName" placeholder="请选择学校名称" class="input">
+                <el-option
+                  v-for="(school, index) in schools"  
+                  :key="index"
+                  :label="school.name"  
+                  :value="school.id">  <!-- scholl.id 是学校的唯一标识 -->
+                  {{ school.name }}
+                </el-option>
+              </el-select>
+            </el-form>
             <div class="dialog-content-item-content2">
               <span>
                 <img src="@/assets/红色特殊字符.png" alt="字符" class="search-icon2">
@@ -64,7 +66,7 @@
                 其他备注(如联系人或组织)
               </span>
             </div>
-            <p style="color: gray; font-size: 15px;margin-left: -78%;margin-top: 10px;">此项用于审核认证,如有请说明。</p>
+            <p style="color: gray; font-size: 15px;margin-left: -80%;margin-top: 10px;">此项用于审核认证,如有请说明。</p>
             <input v-model="remark" type="text" placeholder="请输入备注"  class="input"/>
 
 
@@ -82,7 +84,7 @@
 </template>
 
 <script>
-// @ is an alias to /src
+import { API_CONFIG } from '@/common/apiConfig';
 
 export default {
   name: 'HomeView',
@@ -91,15 +93,11 @@ export default {
     return {
       orgName: '', // 定义 orgName 在 data 中
       schoolName: '', // 定义 schoolName 在 data 中
-      orgs: [       // 示例学校数据
-      { id: 1, name: '组织A' },
-      { id: 2, name: '组织B' },
-      { id: 3, name: '组织C' }
-    ],
+      orgs: [],
       schools: [       // 示例学校数据
-      { id: 1, name: '学校A' },
-      { id: 2, name: '学校B' },
-      { id: 3, name: '学校C' }
+      // { id: 1, name: '学校A' },
+      // { id: 2, name: '学校B' },
+      // { id: 3, name: '学校C' }
     ],
       Name: '', // 定义 Name 在 data 中
       phonenumber: '', // 定义 phonenumber 在 data 中
@@ -109,16 +107,60 @@ export default {
   },
 methods: {
   submitForm() {
-    alert('提交的学校名称: ' + this.schoolName); // 处理按钮点击事件
+    alert('提交的组织名称: ' + this.orgName); // 处理按钮点击事件
+    alert('提交的学校名称:'+ this.schoolName); // 处理按钮点击事件
     alert('提交的姓名:'+ this.Name); // 处理按钮点击事件
     alert('提交的联系电话:'+ this.phonenumber); // 处理按钮点击事件
-    alert('提交的邮箱:'+ this.remark); // 处理按钮点击事件
+    alert('提交的备注:'+ this.remark); // 处理按钮点击事件
   },
   closePage() {
       // 在浏览器中直接关闭页面通常会被限制
       window.history.back();
   },
+   //组织查询
+   ajax_org() {
+    const params = [API_CONFIG.ajax_org]; // 使用配置中的接口参数
+    this.$ajax.post(API_CONFIG.baseUrl, params)
+      .then((res) => {
+        // console.log("返回的数据为:", res.data);  // 检查返回的数据
+        if (res.data && Array.isArray(res.data[0])) {
+          // 使用 map() 提取所有组织名称
+          this.orgs = res.data[0].map(item => ({
+              name: item.name,
+              id: item.id
+          }));
+        }
+        console.log("返回的结果为:",res.data);
+      })
+      .catch((err) => {
+        this.$message.error("查询失败");
+        console.error("请求失败,错误信息:", err);
+      });
+  },
+  // 学校查询
+  ajax_school() {
+    const params = [API_CONFIG.ajax_school]; // 使用配置中的接口参数
+    this.$ajax.post(API_CONFIG.baseUrl, params)
+      .then((res) => {
+        // console.log("返回的数据为:", res.data);  // 检查返回的数据
+        if (res.data && Array.isArray(res.data[0])) {
+          // 将 name 和 org 都存入 cn_school 数组中
+          this.schools = res.data[0].map(item => ({
+            name: item.name,
+            id: item.id
+          }));
+        }
+      })
+      .catch((err) => {
+        this.$message.error("查询失败");
+        console.error("请求失败,错误信息:", err);
+      });
+  }, 
 },
+mounted() {
+    this.ajax_org();  // 组件创建时,立即调用 ajax_org 获取数据
+    this.ajax_school();  // 组件创建时,立即调用 ajax_scholl 获取数据
+  },
 };
 </script>
 
@@ -184,13 +226,13 @@ body {
 .dialog-content-item-content3{
   font-size: 15px;
   font-weight: 550;
-  margin-left: -85.5%;
+  margin-left: -86%;
   margin-top: 20px;
 }
 .dialog-content-item-content4{
   font-size: 15px;
   font-weight: 550;
-  margin-left: -80.2%;
+  margin-left: -81%;
   margin-top: 20px;
 }
 
@@ -257,6 +299,8 @@ body {
 
 /* 保持字体颜色不变,防止被覆盖 */
 ::v-deep .el-select .el-input__inner::placeholder {
-  color: gray;  /* 修改为你想要的颜色,如番茄色 */
+  color: gray;  /* 修改为你想要的颜色,如番茄色 */
 }
+
+
 </style>