From 130d63cd0b0e39e26e7826440814e5f8ed1d9e1e Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期三, 24 四月 2024 13:54:33 +0800 Subject: [PATCH] 合同导入模板生成、导入合同及规则、合同规则展示 --- src/views/system/contract/index.vue | 49 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/views/system/contract/index.vue b/src/views/system/contract/index.vue index a0551cf..f04da84 100644 --- a/src/views/system/contract/index.vue +++ b/src/views/system/contract/index.vue @@ -33,21 +33,19 @@ <el-collapse v-model="activeNames" @change="handleChange"> <el-collapse-item v-for="(item, index) in ruleData" :key="index" :title="item.ruleName" :name="index"> <div class="inline-input-container" v-for="(item, index) in item.children" :key="index"> - {{ item.ruleDesc }} <br/> - {{ item.ruleCondition }} {{ item.deductCategory }} {{ item.calcFraction }}{{ item.calcUnit ? "/" + item.calcUnit : item.calcUnit }} + <b>{{ item.ruleDesc }}</b> <br v-if="item.ruleDesc"/> + <el-tooltip class="item" effect="dark" :content="item.deductCategory + ' ' + item.calcFraction + (item.calcUnit ? '/' + item.calcUnit : '')" placement="top"> + <span>{{ item.ruleCondition }}</span> + <!-- {{ item.deductCategory }} {{ item.calcFraction }}{{ item.calcUnit ? "/" + item.calcUnit : '' }} --> + </el-tooltip> </div> </el-collapse-item> - <el-form-item label="鍚堝悓闄勪欢" prop="certificates"> - <el-upload> - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - <div slot="tip" class="el-upload__tip">璇蜂笂浼犲ぇ灏忎笉瓒呰繃 5MB 鏍煎紡涓� doc/xls/ppt/txt/pdf/png/jpg 鐨勬枃浠�</div> - </el-upload> + <el-form-item label="鍚堝悓闄勪欢" prop="attachment" class="top"> + <file-upload v-model="form.attachment"/> </el-form-item> - <el-dialog :visible.sync="dialogVisible" append-to-body="false"> - <img width="100%" :src="dialogImageUrl" alt=""> - </el-dialog> + <el-link class="top" v-for="item in contractInfo.attachment != null ? contractInfo.attachment.split(',') : contractInfo.attachment" :underline="false" :key="item" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link> <div style="text-align: right; margin-top: 10px;"> - <el-button type="primary" @click="submitForm1(props.row)">鎻愪氦</el-button> + <el-button type="primary" @click="submitForm">鎻愪氦</el-button> </div> </el-collapse> </el-form> @@ -95,7 +93,7 @@ </template> <script> -import { listContract, getContract } from "@/api/platform/contract"; +import { listContract, getContract, updateContract } from "@/api/platform/contract"; import { getRuleListByContractId } from "../../../api/platform/calculate-rule"; import { unitSelect } from "../../../api/platform/unit"; import { deptSelect } from "../../../api/system/dept"; @@ -105,6 +103,7 @@ name: "Contract", data() { return { + contractInfo: {}, // 鍚堝悓瀵煎叆鍙傛暟 upload: { // 鏄惁鏄剧ず寮瑰嚭灞傦紙鍚堝悓瀵煎叆锛� @@ -178,6 +177,15 @@ this.selectDept(); }, methods: { + submitForm() { + updateContract(this.form).then(response => { + if (response.code != 200) { + this.$message.error("鎿嶄綔澶辫触"); + } else { + this.$message.success("鎿嶄綔鎴愬姛"); + } + }); + }, /** 瀵煎叆鎸夐挳鎿嶄綔 */ handleImport() { this.upload.title = "鍚堝悓瀵煎叆"; @@ -197,7 +205,11 @@ this.upload.open = false; this.upload.isUploading = false; this.$refs.upload.clearFiles(); - this.$message.success("鎿嶄綔鎴愬姛"); + if (response.code != 200) { + this.$message.warning(response.msg); + } else { + this.$message.success(response.msg); + } this.getList(); }, // 鎻愪氦涓婁紶鏂囦欢 @@ -246,6 +258,8 @@ getRuleList(item) { getRuleListByContractId(item.id).then(response => { this.ruleData = response.data; + this.form.id = item.id; + this.contractInfo = item; }); }, /** 鏂板鎸夐挳鎿嶄綔 */ @@ -270,6 +284,10 @@ this.title = "淇敼鍚堝悓"; }); }, + /** 涓嬭浇鎸夐挳鎿嶄綔 */ + handleDownload (data) { + this.$download.resource(data); + } } }; </script> @@ -321,4 +339,9 @@ .clearfix:after { clear: both } + +.top { + display: block; + margin-top: 10px; +} </style> -- Gitblit v1.8.0