From 2b1b21ececaa9a954656dd272c3a87c3ba382ef4 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 30 九月 2024 05:50:48 +0800 Subject: [PATCH] 合同页面初步调整 --- src/views/system/contract/contract/index.vue | 202 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 136 insertions(+), 66 deletions(-) diff --git a/src/views/system/contract/contract/index.vue b/src/views/system/contract/contract/index.vue index 1d99865..3ad33e6 100644 --- a/src/views/system/contract/contract/index.vue +++ b/src/views/system/contract/contract/index.vue @@ -33,7 +33,8 @@ size="mini" v-hasPermi="['system:contract:add']" @click="handleImport" - >鏂板</el-button + >鏂板 + </el-button > </el-col> </el-row> @@ -54,14 +55,16 @@ <div style="padding: 14px"> <span>{{ item.name }}</span> <span class="time" style="margin-left: 10px">{{ - item.unitName - }}</span> + item.unitName + }}</span> <div class="bottom clearfix"> <time class="time" - >{{ item.startTime }} 鈥� {{ item.endTime }}</time + >{{ item.startTime }} 鈥� {{ item.endTime }} + </time > <el-button type="text" class="button" @click="handleDetail(item)" - >鏌ョ湅璇︽儏</el-button + >鏌ョ湅璇︽儏 + </el-button > </div> </div> @@ -71,36 +74,70 @@ <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty> <!-- 鍚堝悓璇︽儏 --> - <el-dialog - :title="detailName" - :visible.sync="detail" - width="800px" - append-to-body - > - <el-form label-position="left" inline class="table-expand"> - <el-collapse v-model="activeNames"> - <el-collapse-item - v-for="(name, index) in ruleName" - :key="index" - :title="name" - > - <div - class="inline-input-container" - v-for="(item, index) in ruleData" - :key="index" + <!-- <el-dialog--> + <!-- :title="detailName"--> + <!-- :visible.sync="detail"--> + <!-- width="800px"--> + <!-- append-to-body--> + <!-- >--> + + <el-drawer + title="鍚堝悓璇︽儏" + :visible.sync="drawer" + :direction="direction" + :before-close="handleClose" + size="40%"> + <div style="margin-left: 20px;"> + <el-form :inline = "true" :model="form" class="table-expand" > + <el-form-item label="鍚堝悓鍚嶇О" prop="name" > + <el-input v-model="form.name" style="width: 600px;"></el-input> + </el-form-item> + <el-form-item label="鍏徃鍚嶇О" prop="unitId"> + <el-select v-model="form.unitId" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in unitList" + :key="item.id" + :label="item.value" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍚堝悓鏃堕棿" prop="timezone"> + <el-date-picker + v-model="form.timezone" + type="daterange" + value-format="yyyy-MM-dd" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" > - <el-tooltip :content=" + </el-date-picker> + </el-form-item> + <el-divider content-position="left">鍚堝悓瑙勫垯</el-divider> + <el-collapse v-model="activeNames"> + <el-collapse-item + v-for="(name, index) in ruleName" + :key="index" + :title="name" + > + <div + class="inline-input-container" + v-for="(item, index) in ruleData" + :key="index" + > + <el-tooltip :content=" item.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + item.calcFraction + '鍒�*鏁伴噺 ' : item.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + item.calcFraction + '鍒�/' + item.calcUnit + '灏忔椂' : '鎵�' + item.calcFraction + '鍒�'"> - <b v-if="item.ruleName === name">{{ item.ruleCondition }}<br /></b> - </el-tooltip> - </div> - </el-collapse-item> - <el-collapse-item title="鑰冩牳缁撴灉搴旂敤瑙勫垯" :name="ruleData.length"> - <div class="inline-input-container"> + <b v-if="item.ruleName === name">{{ item.ruleCondition }}<br/></b> + </el-tooltip> + </div> + </el-collapse-item> + <el-collapse-item title="鑰冩牳缁撴灉搴旂敤瑙勫垯" :name="ruleData.length"> + <div class="inline-input-container"> <span v-for="(item, index) in moneyRules" :key="index"> <div> <span>{{ item.scoreCondition }}</span> @@ -111,33 +148,35 @@ placement="top" > <span style="margin-left: 20px">{{ - item.description - }}</span> + item.description + }}</span> </el-tooltip> </div> </span> - <el-empty v-if="moneyRules.length == 0" :image-size="100" /> - </div> - </el-collapse-item> - <el-form-item label="鍚堝悓闄勪欢" prop="attachment" class="top"> - <file-upload v-model="form.attachment" /> - </el-form-item> - <el-link - class="top" - v-for="item in contractInfo.attachment != null + <el-empty v-if="moneyRules.length == 0" :image-size="100"/> + </div> + </el-collapse-item> + <el-form-item label="鍚堝悓闄勪欢" prop="attachment" class="top"> + <file-upload v-model="form.attachment"/> + </el-form-item> + <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="submitForm">鎻愪氦</el-button> - </div> - </el-collapse> - </el-form> - </el-dialog> + :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="submitForm">鎻愪氦</el-button> + </div> + </el-collapse> + </el-form> + </div> + </el-drawer> <!-- 鍚堝悓瀵煎叆瀵硅瘽妗� --> <el-dialog @@ -153,7 +192,7 @@ <div class="row-left"> <div class="block"> <el-form-item label="鍚堝悓鍚嶇О" prop="name"> - <el-input v-model="upload.name" /> + <el-input v-model="upload.name"/> </el-form-item> <el-form-item label="鍏徃鍚嶇О" prop="unitId"> <el-select v-model="upload.unitId" placeholder="璇烽�夋嫨"> @@ -210,7 +249,8 @@ :underline="false" style="font-size: 12px; vertical-align: baseline" @click="importTemplate" - >涓嬭浇妯℃澘</el-link + >涓嬭浇妯℃澘 + </el-link > </div> </el-upload> @@ -278,22 +318,24 @@ getContract, updateContract, } from "@/api/platform/contract"; -import { getRuleListByContractId } from "../../../../api/platform/calculate-rule"; -import { getMoneyRulesByContractId } from "../../../../api/platform/calculate-money-rule"; -import { unitSelect } from "../../../../api/platform/unit"; -import { deptSelect } from "../../../../api/system/dept"; -import { getToken } from "@/utils/auth"; -import { ImagePreview } from "@/components/ImagePreview"; +import {getRuleListByContractId} from "../../../../api/platform/calculate-rule"; +import {getMoneyRulesByContractId} from "../../../../api/platform/calculate-money-rule"; +import {unitSelect} from "../../../../api/platform/unit"; +import {deptSelect} from "../../../../api/system/dept"; +import {getToken} from "@/utils/auth"; +import {ImagePreview} from "@/components/ImagePreview"; export default { name: "Contract", - comments: { ImagePreview }, + comments: {ImagePreview}, data() { return { queryParams: { name: '', status: '' }, + drawer: false, + direction: 'rtl', loading: false, contractInfo: {}, // 鍚堝悓瀵煎叆鍙傛暟 @@ -305,7 +347,7 @@ // 鏄惁绂佺敤涓婁紶 isUploading: false, // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, + headers: {Authorization: "Bearer " + getToken()}, // 涓婁紶鐨勫湴鍧� url: process.env.VUE_APP_BASE_API + "/system/contract/importData", ruleList: [], @@ -346,14 +388,16 @@ ruleName: [], moneyRules: [], // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + timezone: [] + }, // 琛ㄥ崟鏍¢獙 rules: { name: [ - { required: true, message: "鍚堝悓鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + {required: true, message: "鍚堝悓鍚嶇О涓嶈兘涓虹┖", trigger: "blur"}, ], unitId: [ - { required: true, message: "杩愮淮鍗曚綅涓嶈兘涓虹┖", trigger: "change" }, + {required: true, message: "杩愮淮鍗曚綅涓嶈兘涓虹┖", trigger: "change"}, ], timezone: [ { @@ -380,6 +424,14 @@ this.selectDept(); }, methods: { + handleClose(done) { + this.$confirm('纭鍏抽棴锛�') + .then(_ => { + done(); + }) + .catch(_ => { + }); + }, addRule() { this.upload.ruleList.push({ scoreCondition: "", @@ -390,11 +442,15 @@ this.upload.ruleList.splice(index, 1); }, submitForm() { + this.form.startTime = this.form.timezone[0] + this.form.endTime = this.form.timezone[1] updateContract(this.form).then((response) => { this.detail = false; if (response.code != 200) { this.$message.error("鎿嶄綔澶辫触"); } else { + this.drawer = false + this.getList() this.$message.success("鎿嶄綔鎴愬姛"); } }); @@ -498,7 +554,16 @@ }, /** 璇︽儏鎸夐挳鎿嶄綔 */ handleDetail(item) { - this.detail = true; + this.form = { + } + this.form.name = item.name + this.form.unitId = item.unitId + this.form.startTime = item.startTime + this.form.endTime = item.endTime + this.$set(this.form, 'timezone', [item.startTime, item.endTime]) + // 杩欐牱鏈塨ug鏀规垚涓婇潰鐨勬柟寮� + // this.form.timezone = [item.startTime,item.endTime] + this.drawer = true; this.detailName = item.name; this.getRuleList(item); }, @@ -536,7 +601,7 @@ } .table-expand { - width: 100%; + width: 95%; color: #99a9bf; } @@ -587,10 +652,12 @@ .margin-5 { margin-left: 5px; } + .row-warp { display: flex; flex-direction: column; } + .row { display: flex; flex-direction: row; @@ -598,11 +665,13 @@ justify-content: center; margin: 5px 0; } + .row-left { flex: 1; display: flex; flex-direction: row; } + .row-right { flex: 1; display: flex; @@ -613,6 +682,7 @@ .el-cascader-node { max-width: 300px; } + .el-divider--horizontal { margin-top: 50px; margin-bottom: 50px; -- Gitblit v1.8.0