Bläddra i källkod

项目同步相关修改

duy 2 månader sedan
förälder
incheckning
ad077c578c
2 ändrade filer med 95 tillägg och 17 borttagningar
  1. 8 0
      src/api/manager/ledger.js
  2. 87 17
      src/views/manager/projectinfo/tree.vue

+ 8 - 0
src/api/manager/ledger.js

@@ -36,4 +36,12 @@ export const getNodeStatus = (projectInfo) => {
         method: 'post',
         params: projectInfo
     })
+}
+
+export const getById = (params) => {
+    return request({
+        url: '/api/blade-manager//synchronousRecord/getById',
+        method: 'get',
+        params
+    })
 }

+ 87 - 17
src/views/manager/projectinfo/tree.vue

@@ -290,7 +290,7 @@
                 <el-table-column
                   align="center"
                   prop="fillRate"
-                  width="100"
+                  width="80"
                   label="填报率"
                 ></el-table-column>
                 <el-table-column
@@ -300,13 +300,13 @@
                   width="100"
                   label="表单类型"
                 ></el-table-column>
-                <el-table-column
+                <el-table-column width="150"
                   align="center"
                   prop="tableOwner"
                   :formatter="formatOwner"
                   label="所属方"
                 ></el-table-column>
-                <el-table-column label="操作">
+                <el-table-column label="操作"      >
                   <template slot-scope="scope">
                     <el-button
                       size="mini"
@@ -1910,8 +1910,8 @@
       append-to-body
       @close=closeProSyncTag
     >
-    <span slot="title" class="dialog-title">
-        项目数据同步
+      <span slot="title" class="dialog-title">
+       <div class="dialog-title-text">项目数据同步</div>
         <span class="dialog-title-tip">重新同步项目下所有配置,不保留独有配置,慎重同步!!!</span>
       </span>
       <div class="sync-container">
@@ -1955,12 +1955,19 @@
                           <el-checkbox v-for="item in typeOptions" :label="item.dictKey" :key="item.id">{{ item.dictValue}}</el-checkbox>
                         </el-checkbox-group>
                   </el-form-item>
-                  <el-form-item label="选择同步范围(节点状态)" prop="contractRange" v-if="syncForm.range==='2'">
+                  <!-- <el-form-item label="选择同步范围(节点状态)" prop="contractRange" v-if="syncForm.range==='2'">
                     <el-checkbox-group v-model="syncForm.contractRange">
                       <el-checkbox label="全选" name="1"></el-checkbox>
                       <el-checkbox v-for="(item,index) in checkIdList"  :label="item.dictKey" :key="item.id">{{ item.dictValue}}</el-checkbox>
                     
                     </el-checkbox-group>
+                  </el-form-item> -->
+                  <el-form-item label="选择同步范围(节点状态)" prop="contractRange"  v-if="syncForm.range==='2'">
+                    <el-checkbox :indeterminate="isIndeterminate1" v-model="checkAll1" @change="handleCheckAllChange1">全选</el-checkbox>
+                        <div style="margin: 15px 0;"></div>
+                        <el-checkbox-group v-model="syncForm.contractRange" @change="handleCheckedTypeChange1">
+                          <el-checkbox v-for="item in checkIdList" :label="item.dictKey" :key="item.id">{{ item.dictValue}}</el-checkbox>
+                        </el-checkbox-group>
                   </el-form-item>
                   <el-form-item label="选择同步源" prop="templateId" v-else>
                     <el-select v-model="syncForm.templateId" placeholder="请选择同步源" style="width: 100%;" size="small" @change="changeTemplateId">
@@ -1972,6 +1979,23 @@
                       </el-option>
                     </el-select>
                 </el-form-item>
+                  <!-- <el-form-item label="选择同步范围(节点状态)" prop="contractRange" v-if="syncForm.range==='2'">
+                    <el-checkbox-group v-model="syncForm.contractRange">
+                      <el-checkbox label="全选" name="1"></el-checkbox>
+                      <el-checkbox v-for="(item,index) in checkIdList"  :label="item.dictKey" :key="item.id">{{ item.dictValue}}</el-checkbox>
+                    
+                    </el-checkbox-group>
+                  </el-form-item>
+                  <el-form-item label="选择同步源" prop="templateId" v-else>
+                    <el-select v-model="syncForm.templateId" placeholder="请选择同步源" style="width: 100%;" size="small" @change="changeTemplateId">
+                      <el-option
+                        v-for="item in templateIdList"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
+                      </el-option>
+                    </el-select>
+                </el-form-item> -->
             </el-form>
             <div class="table-box" v-if="isShowTable">
               <h4 style="margin-left: 4px;">表单预览</h4>
@@ -2181,7 +2205,7 @@ import {
 } from "@/api/exctab/excelmodel";
 import { getStore, setStore } from "@/util/store";
 
-import { getTempProject,addSync,getNodeStatus } from "@/api/manager/ledger";
+import { getTempProject,addSync,getNodeStatus,getById } from "@/api/manager/ledger";
 import { selectByNodeTable   as findNodeTableByCondition1 } from "@/api/manager/wbstree";
 
 
@@ -2527,7 +2551,9 @@ export default {
       rangeOptions:[],
       typeOptions:[],
       checkAll: false,
+      checkAll1: false,
       isIndeterminate: true,
+      isIndeterminate1: true,
       syncForm:{
         range:'',
         rangeName:'',
@@ -5011,7 +5037,7 @@ export default {
         this.syncListData.nodeNum=res.data.data.nodeNum
         this.syncListData.nodeNumEnd=res.data.nodeNumEnd
           if(this.isShowLeft){
-            this.isAdd=res.data.data.nodeId
+            this.isAdd=res.data.data.id
           }else{
             this.isAdd=''
           }
@@ -5036,11 +5062,20 @@ export default {
         this.syncForm.type = val ? this.typeOptions.map(item => item.dictKey) : [];
         this.isIndeterminate = false;
      },
+     handleCheckAllChange1(val) {
+        this.syncForm.contractRange = val ? this.checkIdList.map(item => item.dictKey) : [];
+        this.isIndeterminate1 = false;
+     },
      handleCheckedTypeChange(value){
       let checkedCount = value.length;
         this.checkAll = checkedCount === this.typeOptions.length;
         this.isIndeterminate = checkedCount > 0 && checkedCount < this.typeOptions.length;
      },
+     handleCheckedTypeChange1(value){
+      let checkedCount = value.length;
+        this.checkAll1 = checkedCount === this.checkIdList.length;
+        this.isIndeterminate1 = checkedCount > 0 && checkedCount < this.checkIdList.length;
+     },
     handleSelectionChange(val) {
       let arr = []
       if(val.length>0){
@@ -5142,18 +5177,43 @@ export default {
       }
     },
    async refreshData(){
-      console.log('刷新数据');
-      this.refreshLoading=true
-
-     await this.getNodeStatusData()
-     this.syncListDialog=true
-     this.refreshLoading=false
+    this.refreshLoading=true
+      getNodeStatus({ id:this.curTreeData.primaryKeyId}).then((res) => {
+        this.refreshLoading=false
+      if(res.data.code==200){
+                  if(res.data.data){
+                  
+                    this.syncListData.nodeNum=res.data.data.nodeNum
+                    this.syncListData.nodeNumEnd=res.data.data.nodeNumEnd
+                  
+                  }else{
+                  
+                    this.syncListData={
+                      nodeNum:'',//同步节点数量
+                      nodeNumEnd:''//已同步数量
+                    }
+                    
+                  }
+                  
+                  }else{
+                   
+                    this.syncListData={
+                      nodeNum:'',//同步节点数量
+                      nodeNumEnd:''//已同步数量
+                    }
+                    this.$message.error(res.data.msg)
+                  }
+      }).finally(() => {
+        this.refreshLoading = false;
+      });
+      
       
     },
     refreshData1(){
+    console.log('shuax');
     
       this.refreshLoading1=true
-      getNodeStatus({ id:this.isAdd}).then((res) => {
+      getById({ id:this.isAdd}).then((res) => {
         this.refreshLoading1=false
       if(res.data.code==200){
                   if(res.data.data){
@@ -5407,12 +5467,22 @@ export default {
   margin-left: -20px;
   margin-right: -20px;
 }
+.dialog-title{
+  display: flex;
+}
+.dialog-title-text{
+  flex: 0.4;
+  padding-left: 10px;
+}
 .dialog-title-tip{
-  position: absolute;
+  flex: 0.6;
+  // position: absolute;
     color:rgba(255, 125, 67, 1); 
-   right: 60px;
+    padding-left: 40px;
+  //  right: 60px;
   }
 .sync-container{
+  margin-top: -30px;
   display: flex;
   height: 570px;
   .box-card-1{