Browse Source

工程划分复制节点与资料填报复制节点一致

duy 2 years ago
parent
commit
857b012e7f
1 changed files with 51 additions and 6 deletions
  1. 51 6
      src/views/data-fill/division.vue

+ 51 - 6
src/views/data-fill/division.vue

@@ -89,17 +89,32 @@
             </el-form>
         </HcDialog>
 
+        <!--复制节点-->
         <!--复制节点-->
         <HcDialog :show="copyNodeModal" title="复制节点" :widths="copyNodeTabKey === '1'?'600px':'1200px'" @close="copyNodeModal = false">
             <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" :rules="formCopyNodeModelRules" label-width="auto" size="large" v-if="copyNodeTabKey !== '3'">
                 <el-form-item label="节点名称" prop="title" style="margin-bottom: 0;">
                     <el-input v-model="formCopyNodeModel.title" placeholder="请输入节点名称"/>
                 </el-form-item>
+                <el-form-item label="划分编号" prop="partitionCode" style="margin-top: 10px;" v-if="copyNodeTabKey === '1'">
+                    <el-input v-model="formCopyNodeModel.partitionCode" placeholder="请输入划分编号"/>
+                </el-form-item>
+            </el-form>
+
+             <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" :rules="formCopyNodeModelRules" label-width="auto" size="large" v-if="copyNodeTabKey === '3'">
+                <el-form-item label="所属方" prop="classify" style="margin-bottom: 0;">
+                    <!-- <el-input v-model="formCopyNodeModel.classify" placeholder="请输入节点名称"/> -->
+                     <el-checkbox-group v-model="classifyList">
+                        <el-checkbox label="施工" />
+                        <el-checkbox label="监理" />
+                    </el-checkbox-group>
+                </el-form-item>
             </el-form>
             <div class="copy-node-many-box" v-if="copyNodeTabKey !== '1'">
+
                 <div class="copy-node-many-tree">
                     <el-scrollbar>
-                        <WbsTree :autoExpandKeys="treeAutoExpandKeys" :projectId="projectId" :contractId="contractId" idPrefix="tree-node-copy-" :isAutoClick="false" :isAutoKeys="false" @nodeTap="copyNodeElTreeClick"/>
+                        <WbsTree :autoExpandKeys="TreeAutoExpandKeys" :projectId="projectId" :contractId="contractId" idPrefix="tree-node-copy-" :isAutoClick="false" :isAutoKeys="false" @nodeTap="copyNodeElTreeClick"/>
                     </el-scrollbar>
                 </div>
                 <div class="copy-node-many-table">
@@ -115,6 +130,15 @@
                                     </el-form>
                                 </template>
                             </el-table-column>
+                            <el-table-column prop="nodeName" label="划分编号" v-if="copyNodeTabKey === '2'">
+                                <template #default="{row}">
+                                    <el-form ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules" label-width="0" size="large">
+                                        <el-form-item prop="partitionCode" style="margin-bottom: 0;">
+                                            <el-input v-model="row.partitionCode" placeholder="请输入划分编号"/>
+                                        </el-form-item>
+                                    </el-form>
+                                </template>
+                            </el-table-column>
                             <el-table-column prop="action" label="操作" width="120" align="center">
                                 <template #default="{_,$index}">
                                     <el-button type="danger" plain @click="copyNodeTableDel($index)">删除</el-button>
@@ -607,6 +631,7 @@ const copyNodeTabChange = (key) => {
 const copyNodeLoading = ref(false)
 const formCopyNodeModel = ref({})
 const copyNodeTable = ref([])
+const classifyList=ref([])
 
 //复制树被点击
 const copyNodeElTreeClick = ({data}) => {
@@ -674,10 +699,24 @@ const copyNodeTableDel = (index) => {
     copyNodeTable.value.splice(index,1)
 }
 //复制节点
+//复制节点
 const copyNodeClick = async () => {
     const type = copyNodeTabKey.value
     const form = formCopyNodeModel.value
     const table = copyNodeTable.value
+    let classify=''
+    let arr=[]
+                if(classifyList.value.length>0){
+                    classifyList.value.forEach((item)=>{
+                        if(item==='施工'){
+                            arr.push(1)
+                        }else if(item==='监理'){
+                            arr.push(2)
+                        }
+                    })
+                    classify=arr.join(',')
+        }
+
     //效验数据
     if (type === '1') {
         const validate = await formValidate(formCopyNodeModelRef.value)
@@ -690,10 +729,11 @@ const copyNodeClick = async () => {
             window?.$message?.warning('请先在左侧选择要复制到的节点')
         }
     } else if (type === '3') {
-        if (table.length > 0) {
-            await copyContractNodeSubmitBusinessData(form,table)
+        if (table.length > 0&&classify.length>0) {
+
+            await copyContractNodeSubmitBusinessData(form,table,classify)
         } else {
-            window?.$message?.warning('请先在左侧选择要复制的节点')
+            window?.$message?.warning('请先在左侧选择要复制的节点或选择所属方')
         }
     }
 }
@@ -715,12 +755,14 @@ const copyContractTreeNode = async (type, form,table) => {
         window?.location?.reload()  //刷新页面
     }
 }
+
 //复制数据
-const copyContractNodeSubmitBusinessData = async (form,table) => {
+const copyContractNodeSubmitBusinessData = async (form,table,classify) => {
     copyNodeLoading.value = true
     const {error, code} = await wbsApi.copyContractNodeSubmitBusinessData({
         needCopyPrimaryKeyId: form?.primaryKeyId || '',
-        copyBatchToPaths: table
+        copyBatchToPaths: table,
+        classify:classify
     })
     //判断状态
     if (!error && code === 200) {
@@ -728,6 +770,9 @@ const copyContractNodeSubmitBusinessData = async (form,table) => {
         copyNodeLoading.value = false
         copyNodeModal.value = false
         window?.location?.reload()  //刷新页面
+    }else{
+        copyNodeLoading.value = false
+        // copyNodeModal.value = false
     }
 }