Kaynağa Gözat

支持选择复制到指定协议

祁鹏飞 2 ay önce
ebeveyn
işleme
e6d459fa76

+ 34 - 8
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,7 +149,7 @@
                   <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>
+                    }}条)</span>
                     <ComplexTable :tableData="costitem.ptlAgreementCostVoList" :columns="columns" :maxHeight="250"
                       :showIndex="false" :columnwidth="200" :showSelect="false">
                       <template v-slot:operation="scope">
@@ -260,6 +260,19 @@
         <el-button size="small" type="primary" @click="costitemCopy">确定</el-button>
       </template>
     </el-dialog>
+    <el-dialog :close-on-click-modal="false" v-model="copyDialog1" title="复制" width="500">
+      <el-form inline>
+        <el-form-item label="协议">
+          <el-select style="width:400px" v-model="agreementId" placeholder="请选择协议" filterable>
+            <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
+              :label="item.agreementTitle"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <el-button size="small" type="primary" @click="submitCopy">确定</el-button>
+      </template>
+    </el-dialog>
   </div>
 </template>
 <!-- 行为区域 -->
@@ -275,7 +288,7 @@ import { Fileonload, formatFileSize, processFileName } from '@/utils/composables
 import authDrawer from "./components/agreementAuth.vue";
 import ruleFeeDialog from "./components/ruleFeeDialog.vue";
 import ruleFeeDialogEdit from "./components/ruleFeeDialogEdit.vue";
-import { Delete, Edit,CopyDocument } from '@element-plus/icons-vue'
+import { Delete, Edit, CopyDocument } from '@element-plus/icons-vue'
 interface Agreement {
   [key: string]: string | number; // 协议名称
 }
@@ -292,7 +305,6 @@ let logicJudge = ref('')
 let timeId = ref('')
 let attrIdList = ref([])
 const addRules = (val: string, rules: any = {}) => {
-  console.log("🚀 ~ addRules ~ rules:", rules)
   logicJudge.value = val
   attrIdList.value = []
   if (val === 'and') {
@@ -681,11 +693,25 @@ const ruleDel = (id: string) => {
       });
     })
 }
+const ruleId = ref('')
+const copyDialog1 = ref(false)
 //删除规则
 const ruleCopy = (id: string) => {
-  api.agreementApi.rulesCopy(agreementInfo.value.id,id).then((res: any) => {
+  agreementId.value = ''
+  ruleId.value = id
+  api.agreementApi.agreementList({ size: 10000, }).then((res: any) => {
+    if (res.code == '200') {
+      agreementList.value = res.data.records;
+    }
+  });
+  copyDialog1.value = true
+}
+//复制规则
+const submitCopy = () => {
+  api.agreementApi.rulesCopy(agreementInfo.value.id, ruleId.value).then((res: any) => {
     if (res.code == '200') {
       agreementRulesList();
+      copyDialog1.value = false
       ElMessage({
         type: 'success',
         message: res.msg,