Przeglądaj źródła

参数设置接口

gangyj 2 lat temu
rodzic
commit
ce5c199867

+ 22 - 0
src/api/modules/archiveConfig/archiveConfig.js

@@ -0,0 +1,22 @@
+import {httpApi} from "../../request/httpApi";
+
+export default {
+
+  async updateConfig(form, msg = true) {
+      return httpApi({
+        url: '/api/blade-archive/archiveProjectConfig/update',
+        method: 'post',
+        data: form
+      }, msg);
+  },
+
+  // 根据项目ID获取对应的档案配置信息
+  async getConfigByProjectId(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-archive/archiveProjectConfig/getByProjectId',
+        method: 'get',
+        params: form
+    }, msg)
+  },
+
+}

+ 59 - 10
src/views/config/parameter.vue

@@ -17,9 +17,9 @@
                     <div class="hc-page-content-box-list-title">归档目录树选择范围</div>
                      <el-alert title="选择对应的归档范围,目录树内容也会随之改变" type="error" :closable="false"  />
                     <div  class="hc-card-header-tree-checkbox">
-                            <el-checkbox-group v-model="checkList">
-                                <el-checkbox label="公路工程" />
-                                <el-checkbox label="水里水电工程" />
+                            <el-checkbox-group v-model="projectTypeList">
+                                <el-checkbox :label="1">公路工程</el-checkbox>
+                                <el-checkbox :label="2">水里水电工程</el-checkbox>
                             </el-checkbox-group>
                     </div> 
                 </div>
@@ -27,11 +27,11 @@
                      <div class="hc-page-content-box-list-title">案卷四要素设置</div>
                      <el-alert title="勾选是否要生成封面、脊背、卷内目录、备考表" type="error" :closable="false"  />
                     <div  class="hc-card-header-tree-checkbox">
-                            <el-checkbox-group v-model="checkList">
-                                <el-checkbox label="案卷封面" />
-                                <el-checkbox label="卷内目录" />
-                                <el-checkbox label="脊背" />
-                                <el-checkbox label="备考表" />
+                            <el-checkbox-group v-model="factorTypeList">
+                                <el-checkbox label="1">案卷封面</el-checkbox>
+                                <el-checkbox label="2">卷内目录</el-checkbox>
+                                <el-checkbox label="3">脊背</el-checkbox>
+                                <el-checkbox label="4">备考表</el-checkbox>
                             </el-checkbox-group>
                     </div> 
                 </div>
@@ -44,6 +44,7 @@
 <script setup>
 import {ref, watch, onMounted} from "vue";
 import {useAppStore} from "~src/store";
+import archiveConfigApi from "~api/archiveConfig/archiveConfig.js";
 
 //变量
 const useAppState = useAppStore()
@@ -51,7 +52,10 @@ const projectId = ref(useAppState.getProjectId);
 const contractId = ref(useAppState.getContractId);
 const projectInfo = ref(useAppState.getProjectInfo);
 const isCollapse = ref(useAppState.getCollapse);
-const checkList = ref(['selected and disabled', '公路工程'])
+
+const projectTypeList = ref([])
+const factorTypeList = ref([])
+const config = ref({});
 
 //监听
 watch(() => [
@@ -62,7 +66,7 @@ watch(() => [
 
 //渲染完成
 onMounted(() => {
-
+    getConfigByProjectId();
 })
 
 //搜索表单
@@ -138,6 +142,51 @@ const delModalClick = () => {
 
 }
 
+
+const getConfigByProjectId = async ()=>{
+    const {code,res} = await archiveConfigApi.getConfigByProjectId({
+        projectId:projectId.value
+    })
+    //console.log(res);
+    if (code == 200) {
+        // 如果projectType 为 1 则选中 公路工程,为 2,则选中水里水电工程,为3,则两个都选中
+        // factorType信息为字符串,格式为"1,2,3,4",包含 1,则选中案卷封面,包含2则选中卷内目录,包含3则选中脊背,包含4则选中备考表
+        config.value = res.data;
+        if(config.value.projectType == 1 || config.value.projectType == 2){
+            projectTypeList.value = [config.value.projectType]
+        }else if(config.value.projectType == 3){
+            projectTypeList.value = [1,2]
+        }else if(config.value.projectType == 0){
+            projectTypeList.value = []
+        }
+
+        factorTypeList.value = config.value.factorType.split(',');
+    }
+}
+
+const uploadModalClick = async () => {
+    let factorType = '';
+    let projectType = 0;
+    if(projectTypeList.value.length == 1){
+        projectType = projectTypeList.value[0]
+    }else if(projectTypeList.value.length > 1){
+        projectType = 3
+    }
+
+    factorType = factorTypeList.value.join(',');
+
+    const {code,res} = await archiveConfigApi.updateConfig({
+        id:config.value.id,
+        projectId:projectId.value,
+        factorType:factorType,
+        projectType:projectType,
+    })
+
+    if (code == 200) {
+        window.$message?.success('修改成功')
+    }
+}
+
 //左右拖动,改变树形结构宽度
 const leftWidth = ref(382);
 const onmousedown = () => {