人生啊人生 3 mēneši atpakaļ
vecāks
revīzija
23d9e86e84

+ 92 - 7
user_web/src/view/admin/components/ManageSchool/ManageMajor.vue

@@ -396,6 +396,60 @@ const submitForm = async (formEl) => {
     })
 }
 
+
+/**
+ * 更新
+ * @param formEl
+ */
+const updateForm = async (formEl) => {
+    if (!formEl) return
+    await formEl.validate((valid, fields) => {
+        if (valid) {
+            
+            // console.log(
+            //     "detailsDb", detailsDb.value
+            // );
+
+            let submit = {
+                // 通过 schoolItem 接口得到的 id 值,是什么就传什么
+                "id" : detailsDb.value.id,
+                // 名称
+                "name": detailsDb.value.name,
+                // 0 表示学校 1 表示学院 2表示专业,3 表示班级, 通过 schoolItem 接口得到的 type 值,是什么就传什么
+                "type": detailsDb.value.type,
+                // 备注
+                "remark": detailsDb.value.remark,
+                // 上级id,默认顶级是 0, 通过 schoolItem 接口得到的 parentId 值,是什么就传什么
+                "parentId": detailsDb.value.parentId,
+                // 新增时传入0即可,修改则传入原始值, 通过 schoolItem 接口得到的 schoolId 值,是什么就传什么
+                "schoolId": detailsDb.value.schoolId,
+            };
+            
+            schoolUpdate(submit)
+            .then(response => {
+
+                let data = response?.data?.data;
+                // console.log(
+                //     "schoolUpdateEvent response", response, data
+                // );
+
+                 // 重新查找分页数据
+                pageUpdateEvent();
+                
+                // 接口请求完成,隐藏模态框
+                state.value.showDetails = false;
+
+            }).catch(error => {
+                
+            });
+            
+        } else {
+            // console.log('error submit!', fields)
+        }
+    })
+}
+
+
 /**
  * 删除选中分页的某个数据
  * @param res 
@@ -454,14 +508,36 @@ const btnBatchDel = () => {
  * @param res 
  */
 const btnDetail = (res) => {
+
     console.log('弹出指定分页详情', res);
 
-    detailsDb.value = {
-        name: res.name,
-    }
+    let submit = {
+        // 选校全部结构返回里面的id值
+        "id" : "" + res.id,
+    };
 
-    state.value.showDetails = true;
+    schoolItem(submit)
+    .then(response => {
 
+        let data = response?.data?.data;
+        // console.log(
+        //     "schoolItemEvent response", response, data
+        // );
+
+        detailsDb.value = {
+            "id": data.id,
+            "name": data.name,
+            "type": data.type,
+            "remark": data.remark,
+            "parentId": data.parentId,
+            "schoolId": data.schoolId
+        };
+        
+        state.value.showDetails = true;
+
+    }).catch(error => {
+        
+    });
 }
 
 /**
@@ -544,7 +620,7 @@ onMounted(function() {
                     <el-table-column label="操作">
                         <template #default="scope">
                             <el-button link type="success" @click="btnManage(scope.row)">管理班级</el-button>
-                            <el-button link type="primary" @click="btnDetail(scope.row)">详情</el-button>
+                            <el-button link type="primary" @click="btnDetail(scope.row)">编辑</el-button>
                             <el-popconfirm :title="`你确定删除${scope.row.name}吗?`" @confirm="btnDel(scope.row)">
                                 <template #reference>
                                     <el-button link type="danger" style="margin-left: 3rem">移除</el-button>
@@ -597,11 +673,20 @@ onMounted(function() {
                 <div class="dialog-title">专业详情</div>
             </template>
             <div class="dialogBody">
-                <el-form :model="detailsDb">
+                 <el-form ref="ruleFormRef" :model="detailsDb" :rules="addRules">
                     <el-form-item label="专业" prop="name">
-                        <el-input v-model="detailsDb.name" clearable disabled ></el-input>
+                        <el-input v-model="detailsDb.name" clearable placeholder="请填写专业"></el-input>
+                    </el-form-item>
+                </el-form>
+                <el-form ref="ruleFormRef" :model="detailsDb" :rules="addRules">
+                    <el-form-item label="备注" prop="remark">
+                        <el-input v-model="detailsDb.remark" clearable placeholder="请填写备注"></el-input>
                     </el-form-item>
                 </el-form>
+                <div class="dialogFoot">
+                    <el-button color="#EAEAEA" @click="state.showDetails = false" style="margin-right: 0.6rem">取消</el-button>
+                    <el-button color="#2C68FF" @click="updateForm(ruleFormRef)">更新</el-button>
+                </div>
             </div>
         </el-dialog>