Browse Source

协议管理-费用支持多选复制

祁鹏飞 1 month ago
parent
commit
43abad874b
1 changed files with 20 additions and 13 deletions
  1. 20 13
      src/views/quoteConfig/agreement/agreementDetails.vue

+ 20 - 13
src/views/quoteConfig/agreement/agreementDetails.vue

@@ -29,7 +29,7 @@
             <el-tag type="primary" style="margin-right: 20px;">{{
               getDict('is_enable').find(val => val.value == agreementInfo.isEnable)?.label}}</el-tag>
             <el-tag type="success">{{getDict('valid_status').find(val => val.value == agreementInfo.validStatus)?.label
-              }}</el-tag>
+            }}</el-tag>
           </div>
         </div>
         <el-descriptions :column="3" style="margin-top: 10px;">
@@ -51,9 +51,9 @@
         <el-tab-pane label="协议信息" name="agreementInfo">
           <el-descriptions title="基本信息" class="m-top-20" :column="3">
             <el-descriptions-item label="协议名称:">{{ agreementInfo.agreementTitle
-            }}</el-descriptions-item>
+              }}</el-descriptions-item>
             <el-descriptions-item label="协议简称:">{{ agreementInfo.agreementAbbreviation
-            }}</el-descriptions-item>
+              }}</el-descriptions-item>
             <el-descriptions-item label="协议生效时间:">{{ agreementInfo.startDate }}</el-descriptions-item>
             <el-descriptions-item label="协议失效时间:">{{ agreementInfo.endDate }}</el-descriptions-item>
             <el-descriptions-item label="是否含增值税结算:">
@@ -117,7 +117,7 @@
                   <div class="flex a-c">
                     <img src="../../../assets/images/fee.png" alt="">
                     <span style="margin-right: 30px;font-size: 16px;" class="strong m-left-10">承保规则一{{ index + 1
-                      }}</span>
+                    }}</span>
                   </div>
                   <div class="flex">
                     <el-button link type="primary" :icon="CopyDocument" @click="ruleCopy(item.id)">复制</el-button>
@@ -149,9 +149,12 @@
                   <el-tab-pane v-for="(costitem, costindex) in item.costVoList" :key="costindex"
                     :label="costitem.productName" :name="costitem.productName">
                     <span class="strong">{{ costitem.productName }}费用({{ costitem.ptlAgreementCostVoList.length
-                    }}条)</span>
-                    <ComplexTable :tableData="costitem.ptlAgreementCostVoList" :columns="columns" :maxHeight="250"
-                      :showIndex="false" :columnwidth="200" :showSelect="false">
+                      }}条)</span>
+                      <el-button type="primary" link @click="handleCopy({})"> 批量复制
+                        </el-button>
+                    <ComplexTable showSelect :tableData="costitem.ptlAgreementCostVoList" :columns="columns"
+                      :maxHeight="250" :showIndex="false" :columnwidth="200" @selectionChange="(arr) => costIds = arr"
+                      @select-all="(arr) => costIds = arr">
                       <template v-slot:operation="scope">
                         <el-button type="primary" link
                           @click="costitemEdit(scope.operationData.id, item, index, costindex)"> 编辑
@@ -700,7 +703,7 @@ const copyDialog1 = ref(false)
 const ruleCopy = (id: string) => {
   agreementId.value = ''
   ruleId.value = id
-  api.agreementApi.agreementList({ size: 10000,companyId:agreementInfo.value.companyId }).then((res: any) => {
+  api.agreementApi.agreementList({ size: 10000, companyId: agreementInfo.value.companyId }).then((res: any) => {
     if (res.code == '200') {
       agreementList.value = res.data.records;
     }
@@ -709,7 +712,7 @@ const ruleCopy = (id: string) => {
 }
 //复制规则
 const submitCopy = async () => {
-  if(!agreementId.value){
+  if (!agreementId.value) {
     ElMessage.error('请选择协议')
     return
   }
@@ -916,7 +919,7 @@ const costitemDel = (id: string) => {
 }
 
 const copyDialog = ref(false)
-const costId = ref('')
+const costIds = ref([])
 const agreementId = ref('')
 const coverRuleId = ref('')
 const agreementList = ref([])
@@ -925,8 +928,12 @@ const rulesList = ref([])
 const handleCopy = (row) => {
   agreementId.value = ''
   coverRuleId.value = ''
-  costId.value = row.id
-  api.agreementApi.agreementList({ size: 10000,companyId:agreementInfo.value.companyId }).then((res: any) => {
+  if(row.id) costIds.value = [row.id]
+  openDialog()
+}
+
+const openDialog = () => {
+  api.agreementApi.agreementList({ size: 10000, companyId: agreementInfo.value.companyId }).then((res: any) => {
     if (res.code == '200') {
       agreementList.value = res.data.records;
     }
@@ -963,7 +970,7 @@ const costitemCopy = () => {
     }
   ).then(() => {
     const params = {
-      costId: costId.value,
+      costIds: costIds.value,
       agreementId: agreementId.value,
       coverRuleId: coverRuleId.value,
     }