|
|
@@ -154,7 +154,7 @@
|
|
|
<el-button type="primary" link
|
|
|
@click="costitemEdit(scope.operationData.id, item, index, costindex)"> 编辑
|
|
|
</el-button>
|
|
|
- <el-button type="primary" link @click="costitemCopy(scope.operationData.id)"> 复制
|
|
|
+ <el-button type="primary" link @click="handleCopy(scope.operationData)"> 复制
|
|
|
</el-button>
|
|
|
<el-button type="primary" link @click="costitemDel(scope.operationData.id)"> 删除
|
|
|
</el-button>
|
|
|
@@ -221,6 +221,26 @@
|
|
|
<ruleFeeDialogEdit :ruleFeeVisible="ruleFeeEditVisible" :headerTitle="ruleFeeHeaderTitle"
|
|
|
:agreementInfo="agreementInfo" :RulesInfo="RulesInfo" :costitemEditInfo="costitemEditInfo" @save="ruleFeeEditSave"
|
|
|
@cancel="ruleFeeEditVisible = false" />
|
|
|
+
|
|
|
+ <el-dialog v-model="copyDialog" title="复制" width="800">
|
|
|
+ <el-form inline>
|
|
|
+ <el-form-item label="协议">
|
|
|
+ <el-select style="width:300px" v-model="agreementId" placeholder="请选择协议" @change="changeAgreement">
|
|
|
+ <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-item label="规则">
|
|
|
+ <el-select style="width:300px" :disabled="!agreementId" v-model="coverRuleId" placeholder="请选择规则">
|
|
|
+ <el-option v-for="(item, index) in rulesList" :key="item.id" :value="item.id"
|
|
|
+ :label="'承保规则一' + (index + 1)"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <el-button size="small" type="primary" @click="costitemCopy">确定</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<!-- 行为区域 -->
|
|
|
@@ -521,10 +541,10 @@ const agreementRulesList = () => {
|
|
|
val.ruleFeeShow = false;
|
|
|
return val;
|
|
|
})
|
|
|
- RulesList.value = res.data.map(v=>{
|
|
|
- const index=RulesList.value.findIndex(k=>k.id===v.id)
|
|
|
- const ruleFeeShow=RulesList.value[index]?.ruleFeeShow
|
|
|
- const ruleFeeActive=RulesList.value[index]?.ruleFeeActive
|
|
|
+ RulesList.value = res.data.map(v => {
|
|
|
+ const index = RulesList.value.findIndex(k => k.id === v.id)
|
|
|
+ const ruleFeeShow = RulesList.value[index]?.ruleFeeShow
|
|
|
+ const ruleFeeActive = RulesList.value[index]?.ruleFeeActive
|
|
|
return {
|
|
|
...v,
|
|
|
ruleFeeShow,
|
|
|
@@ -761,8 +781,44 @@ const costitemDel = (id: string) => {
|
|
|
});
|
|
|
})
|
|
|
}
|
|
|
-//删除费用
|
|
|
-const costitemCopy = (costId: string) => {
|
|
|
+
|
|
|
+const copyDialog = ref(false)
|
|
|
+const costId = ref('')
|
|
|
+const agreementId = ref('')
|
|
|
+const coverRuleId = ref('')
|
|
|
+const agreementList = ref([])
|
|
|
+const rulesList = ref([])
|
|
|
+/** 复制操作处理:记录当前行的ID并打开复制确认对话框 */
|
|
|
+const handleCopy = (row) => {
|
|
|
+ agreementId.value = ''
|
|
|
+ coverRuleId.value = ''
|
|
|
+ costId.value = row.id
|
|
|
+ api.agreementApi.agreementList({ size: 10000, }).then((res: any) => {
|
|
|
+ if (res.code == '200') {
|
|
|
+ agreementList.value = res.data.records;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ copyDialog.value = true
|
|
|
+}
|
|
|
+
|
|
|
+const changeAgreement = () => {
|
|
|
+ api.agreementApi.agreementRulesList(agreementId.value).then((res: any) => {
|
|
|
+ if (res.code == '200') {
|
|
|
+ rulesList.value = res.data
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+//复制费用
|
|
|
+const costitemCopy = () => {
|
|
|
+ if (!agreementId.value) {
|
|
|
+ ElMessage.warning('请选择协议')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!coverRuleId.value) {
|
|
|
+ ElMessage.warning('请选择规则')
|
|
|
+ return
|
|
|
+ }
|
|
|
ElMessageBox.confirm(
|
|
|
'确定要复制该费用,请确认是否复制?',
|
|
|
'复制费用',
|
|
|
@@ -773,7 +829,12 @@ const costitemCopy = (costId: string) => {
|
|
|
confirmButtonClass: 'el-button--primary',
|
|
|
}
|
|
|
).then(() => {
|
|
|
- api.agreementApi.AgreementFeecopy({ costId }).then((res: any) => {
|
|
|
+ const params = {
|
|
|
+ costId: costId.value,
|
|
|
+ agreementId: agreementId.value,
|
|
|
+ coverRuleId: coverRuleId.value,
|
|
|
+ }
|
|
|
+ api.agreementApi.AgreementFeecopy(params).then((res: any) => {
|
|
|
if (res.code == '200') {
|
|
|
agreementRulesList();
|
|
|
ElMessage({
|
|
|
@@ -781,6 +842,7 @@ const costitemCopy = (costId: string) => {
|
|
|
message: res.msg,
|
|
|
plain: true,
|
|
|
})
|
|
|
+ copyDialog.value = false
|
|
|
}
|
|
|
});
|
|
|
})
|