Browse Source

工程划分复制节点修改

duy 1 year ago
parent
commit
c701dfc3b1
1 changed files with 184 additions and 55 deletions
  1. 184 55
      src/views/data-fill/division.vue

+ 184 - 55
src/views/data-fill/division.vue

@@ -98,35 +98,61 @@
 
         <!--复制节点-->
         <HcDialog :loading="copyNodeLoading" :show="copyNodeModal" :widths="copyNodeTabKey === '1'?'600px':'1200px'"
-                  loading-text="复制节点中,请耐心等待..." title="复制节点" @close="copyNodeModal = false">
-            <el-form v-if="copyNodeTabKey !== '3'" ref="formCopyNodeModelRef" :model="formCopyNodeModel"
-                     :rules="formCopyNodeModelRules" label-width="auto" size="large">
-                <el-form-item v-if="copyNodeTabKey === '1'" label="节点名称" prop="title" style="margin-bottom: 0;">
-                    <el-input v-model="formCopyNodeModel.title" placeholder="请输入节点名称"/>
-                </el-form-item>
-                <el-form-item v-if="copyNodeTabKey === '1'" label="划分编号" prop="partitionCode"
-                              style="margin-top: 10px;">
-                    <el-input v-model="formCopyNodeModel.partitionCode" placeholder="请输入划分编号"/>
-                </el-form-item>
-            </el-form>
-
-            <el-form v-if="copyNodeTabKey === '3'" ref="formCopyNodeModelRef" :model="formCopyNodeModel"
-                     :rules="formCopyNodeModelRules" label-width="auto" size="large">
-                <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>
+                  loading-text="复制节点中,请耐心等待..."
+                  title="复制节点" @close="copyNodeModal = false">
+
+            <div class="header-new-switch">
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel"   label-position="left"
+                         :rules="formCopyNodeModelRules" label-width="auto" size="large">
+                    <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-item label="是否复制数据" prop="isCopyData" style="margin-bottom: 0;"  v-if="copyNodeTabKey === '2'">
+                        <!-- <el-input v-model="formCopyNodeModel.classify" placeholder="请输入节点名称"/> -->
+                        <el-radio-group v-model="isCopyData">
+                            <el-radio :label="1">是</el-radio>
+                            <el-radio :label="0">否</el-radio>
+                        </el-radio-group>
+                    </el-form-item>
+                </el-form>
+                <!--HcNewSwitch :datas="authBtnTabdata" :keys="classifyType" :round="false" size="default"
+                             @change="classifyTypeTabClick"/-->
+            </div>
+            <div v-if="copyNodeTabKey === '1'" class="copy-node-form-box">
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel"
+                         :rules="formCopyNodeModelRules" label-width="auto" size="large">
+                    <el-form-item v-if="copyNodeTabKey === '1'" label="节点名称" prop="title" style="margin-bottom: 0;">
+                        <el-input v-model="formCopyNodeModel.title" placeholder="请输入节点名称"/>
+                    </el-form-item>
+                    <el-form-item v-if="copyNodeTabKey === '1'" label="划分编号" prop="partitionCode"
+                                  style="margin-top: 10px;">
+                        <el-input v-model="formCopyNodeModel.partitionCode" placeholder="请输入划分编号"/>
+                    </el-form-item>
+                </el-form>
+            </div>
+            <div v-if="copyNodeTabKey === '3'" class="copy-node-form-box">
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel"
+                         :rules="formCopyNodeModelRules" label-width="auto" size="large">
+                    <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>
             <div v-if="copyNodeTabKey !== '1'" class="copy-node-many-box">
 
                 <div class="copy-node-many-tree">
                     <el-scrollbar>
                         <WbsTree :autoExpandKeys="TreeAutoExpandKeys" :contractId="contractId" :isAutoClick="false"
-                                 :isAutoKeys="false" :projectId="projectId" idPrefix="tree-node-copy-"
-                                 @nodeTap="copyNodeElTreeClick"/>
+                                 :isAutoKeys="false" :projectId="projectId" :classifyType="classifyType" 
+                                 idPrefix="tree-node-copy-" @nodeTap="copyNodeElTreeClick"/>
                     </el-scrollbar>
                 </div>
                 <div class="copy-node-many-table">
@@ -175,7 +201,8 @@
                         </template>
                     </div>
                     <div class="right">
-                        <el-button size="large" @click="copyNodeModal = false">取消</el-button>
+                        <el-button :disabled="copyNodeLoading" size="large" @click="copyNodeModal = false">取消
+                        </el-button>
                         <el-button :loading="copyNodeLoading" hc-btn type="primary" @click="copyNodeClick">提交
                         </el-button>
                     </div>
@@ -659,7 +686,7 @@ const copyNodeTabKey = ref('1')
 const copyNodeTab = ref([
     {key: '1', name: '单份复制'},
     {key: '2', name: '多份复制'},
-    {key: '3', name: '复制数据'}
+    // {key: '3', name: '复制数据'}
 ]);
 const copyNodeTabChange = (key) => {
     if (key !== copyNodeTabKey.value) {
@@ -674,19 +701,80 @@ const copyNodeLoading = ref(false)
 const formCopyNodeModel = ref({})
 const copyNodeTable = ref([])
 const classifyList = ref([])
+const isCopyData=ref(0)
 
 //复制树被点击
+// const copyNodeElTreeClick = ({data}) => {
+//     const TabKey = copyNodeTabKey.value;
+//     const {title, type} = formCopyNodeModel.value;
+//     if (TabKey === '2') {
+//         //1 单位工程,2 分部工程,3 子分部工程,4 分项工程, 5 子分项工程,6 工序
+//         //工序节点不能复制到工序节点下面
+//         // if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] === 6)) {
+//         //     setCopyNodeTable(data, title)
+//         // }
+
+//         if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] == 6)) {
+//             //限制复制数据不能复制到本身节点下
+//             if (data['id'] !== formCopyNodeModel.value.id) {
+//                 if (data['notExsitChild']) {
+//                     //限制一个节点不能点击多次
+//                     let oldarr = copyNodeTable.value
+//                     let result = oldarr.some(item => item.primaryKeyId === data['primaryKeyId']) //true
+//                     if (!result) {
+//                         setCopyNodeTable(data, data?.title)
+//                     }
+//                 }
+//             }
+//         }
+//         if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] !== 6)) {
+//             setCopyNodeTable(data, title)
+//         }
+//         if (type === 5 && data['type'] === 4) {
+//             setCopyNodeTable(data, title)
+//         }
+//         if (type === 4 && (data['type'] === 2 || data['type'] === 3)) {
+//             setCopyNodeTable(data, title)
+//         }
+//         if (type === 3 && data['type'] === 2) {
+//             setCopyNodeTable(data, title)
+//         }
+//         if (type === 2 && data['type'] === 1) {
+//             setCopyNodeTable(data, title)
+//         }
+//         if (type === 1 && data['type'] === 1) {
+//             setCopyNodeTable(data, title)
+//         }
+//     } else if (TabKey === '3') {
+//         //限制复制数据不能复制到本身节点下
+//         if (data['id'] !== formCopyNodeModel.value.id) {
+//             // console.log(formCopyNodeModel.value,'formCopyNodeModel.value');
+//             // console.log(data,'data');
+//             // if(data['colorStatus']===1||data['colorStatus']===2){
+//             //         // delModalClick()
+//             //     }else{
+//             //         window?.$message?.warning('该节点已存在上报数据,不允许复制')
+//             //  }
+//             if (data['notExsitChild']) {
+//                 //限制一个节点不能点击多次
+//                 let oldarr = copyNodeTable.value
+//                 let result = oldarr.some(item => item.primaryKeyId === data['primaryKeyId']) //true
+//                 if (!result) {
+//                     setCopyNodeTable(data, data?.title)
+//                 }
+//             }
+//         }
+
+//     }
+// }
 const copyNodeElTreeClick = ({data}) => {
     const TabKey = copyNodeTabKey.value;
-    const {title, type} = formCopyNodeModel.value;
+    const {title, type, partitionCode} = formCopyNodeModel.value;
     if (TabKey === '2') {
+        setCopyNodeTable(data, title, partitionCode)
         //1 单位工程,2 分部工程,3 子分部工程,4 分项工程, 5 子分项工程,6 工序
         //工序节点不能复制到工序节点下面
-        // if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] === 6)) {
-        //     setCopyNodeTable(data, title)
-        // }
-
-        if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] == 6)) {
+        /*if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] == 6)) {
             //限制复制数据不能复制到本身节点下
             if (data['id'] !== formCopyNodeModel.value.id) {
                 if (data['notExsitChild']) {
@@ -699,27 +787,30 @@ const copyNodeElTreeClick = ({data}) => {
                 }
             }
         }
+
         if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] !== 6)) {
-            setCopyNodeTable(data, title)
+            setCopyNodeTable(data, title, partitionCode)
         }
         if (type === 5 && data['type'] === 4) {
-            setCopyNodeTable(data, title)
+            setCopyNodeTable(data, title, partitionCode)
         }
         if (type === 4 && (data['type'] === 2 || data['type'] === 3)) {
-            setCopyNodeTable(data, title)
+            setCopyNodeTable(data, title, partitionCode)
         }
         if (type === 3 && data['type'] === 2) {
-            setCopyNodeTable(data, title)
+            setCopyNodeTable(data, title, partitionCode)
         }
         if (type === 2 && data['type'] === 1) {
-            setCopyNodeTable(data, title)
+            setCopyNodeTable(data, title, partitionCode)
         }
         if (type === 1 && data['type'] === 1) {
-            setCopyNodeTable(data, title)
-        }
+            setCopyNodeTable(data, title, partitionCode)
+        }*/
     } else if (TabKey === '3') {
+        console.log(1111111);
+        setCopyNodeTable(data, data?.title)
         //限制复制数据不能复制到本身节点下
-        if (data['id'] !== formCopyNodeModel.value.id) {
+        /*if (data['id'] !== formCopyNodeModel.value.id) {
             // console.log(formCopyNodeModel.value,'formCopyNodeModel.value');
             // console.log(data,'data');
             // if(data['colorStatus']===1||data['colorStatus']===2){
@@ -735,7 +826,7 @@ const copyNodeElTreeClick = ({data}) => {
                     setCopyNodeTable(data, data?.title)
                 }
             }
-        }
+        }*/
 
     }
 }
@@ -819,21 +910,59 @@ const copyNodeClick = async () => {
     }
 }
 //单个复制、多份复制请求
-const copyContractTreeNode = async (type, form, table) => {
+// const copyContractTreeNode = async (type, form, table) => {
+//     copyNodeLoading.value = true
+//     const {error, code} = await wbsApi.copyContractTreeNode({
+//         copyType: type,
+//         needCopyNodeName: form?.title || '',
+//         needCopyPrimaryKeyId: form?.primaryKeyId || '',
+//         parentPrimaryKeyId: form?.parent?.primaryKeyId || '',
+//         copyBatchToPaths: table
+//     })
+//     //判断状态
+//     copyNodeLoading.value = false
+//     if (!error && code === 200) {
+//         window?.$message?.success('复制成功')
+//         copyNodeModal.value = false
+//         window?.location?.reload()  //刷新页面
+//     }
+// }
+const copyContractTreeNode = async (type, form, table, classify) => {
     copyNodeLoading.value = true
-    const {error, code} = await wbsApi.copyContractTreeNode({
-        copyType: type,
-        needCopyNodeName: form?.title || '',
-        needCopyPrimaryKeyId: form?.primaryKeyId || '',
-        parentPrimaryKeyId: form?.parent?.primaryKeyId || '',
-        copyBatchToPaths: table
-    })
-    //判断状态
-    copyNodeLoading.value = false
-    if (!error && code === 200) {
-        window?.$message?.success('复制成功')
-        copyNodeModal.value = false
-        window?.location?.reload()  //刷新页面
+    if (type === '1') {
+        const {error, code} = await wbsApi.copyContractTreeNode({
+            copyType: type,
+            needCopyNodeName: form?.title || '',
+            partitionCode: form?.partitionCode || '',
+            needCopyPrimaryKeyId: form?.primaryKeyId || '',
+            parentPrimaryKeyId: form?.parent?.primaryKeyId || '',
+            copyBatchToPaths: table,
+            classifyType: classify
+        })
+        //判断状态
+        copyNodeLoading.value = false
+        if (!error && code === 200) {
+            window?.$message?.success('复制成功')
+            copyNodeModal.value = false
+            window?.location?.reload()  //刷新页面
+        }
+    } else {
+        const {error, code} = await wbsApi.copyContractTreeNode({
+            copyType: type,
+            needCopyNodeName: form?.title || '',
+            needCopyPrimaryKeyId: form?.primaryKeyId || '',
+            parentPrimaryKeyId: form?.parent?.primaryKeyId || '',
+            copyBatchToPaths: table,
+            classifyType: classify,
+            isCopyData:isCopyData.value
+        })
+        //判断状态
+        copyNodeLoading.value = false
+        if (!error && code === 200) {
+            window?.$message?.success('复制成功')
+            copyNodeModal.value = false
+            window?.location?.reload()  //刷新页面
+        }
     }
 }