From bed300e1bcf88b121684afe0cba7d2d0533623bf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 06 十二月 2024 19:25:45 +0800
Subject: [PATCH] 改bug
---
admin/src/views/contract/components/contractEdit.vue | 205 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 150 insertions(+), 55 deletions(-)
diff --git a/admin/src/views/contract/components/contractEdit.vue b/admin/src/views/contract/components/contractEdit.vue
index e7c7356..a2ae60c 100644
--- a/admin/src/views/contract/components/contractEdit.vue
+++ b/admin/src/views/contract/components/contractEdit.vue
@@ -82,6 +82,12 @@
:default-expanded-keys="ids"
:default-checked-keys="ids"
:props="{ children: 'projectDataVOList', label: 'name' }">
+ <span class="custom-tree-node" style="width: 100%; display: flex; align-items: center; justify-content: space-between;" slot-scope="{ node, data }">
+ <span>{{ data.name }}</span>
+ <span style="color: #2080f7;" v-if="data.lv === 3">
+ {{ data.area }}銕�
+ </span>
+ </span>
</el-tree>
</div>
</div>
@@ -118,10 +124,10 @@
<div class="m_title">绉熻祦淇℃伅</div>
<div class="list">
<el-form-item label="鎶奸噾閲戦(鍏�)" prop="zlDeposit">
- <el-input v-model="form.zlDeposit" placeholder="璇疯緭鍏�" v-trim />
+ <el-input v-model="form.zlDeposit" @input="clearzl" placeholder="璇疯緭鍏�" v-trim />
</el-form-item>
<el-form-item label="浠樻鏂瑰紡" prop="zlPayType">
- <el-select v-model="form.zlPayType" placeholder="璇烽�夋嫨">
+ <el-select v-model="form.zlPayType" @change="changePayType" placeholder="璇烽�夋嫨">
<el-option v-for="(item, index) in payMethods" :key="index" :value="item.value" :label="item.name"></el-option>
</el-select>
</el-form-item>
@@ -135,20 +141,26 @@
<el-button type="text" size="medium" @click="addZl">澧炲姞</el-button>
</div>
<div class="list">
- <div v-for="(item, index) in form.zlDetailList" :key="index">
- <el-form-item label="璧峰鏃ユ湡" prop="time">
- <el-date-picker type="daterange" v-model="item.time" @change="getDate1($event, index)" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
+ <div style="width: 100%; display: flex; flex-wrap: wrap;" v-for="(zlDetailList, index) in form.zlDetailList" :key="index">
+ <el-form-item label="璧峰鏃ユ湡" :prop="'zlDetailList.' + index + '.time'" :rules="{
+ required: true, message: '璇烽�夋嫨', trigger: 'blur'
+ }">
+ <el-date-picker type="daterange" v-model="zlDetailList.time" @change="getDate1($event, index)" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
</el-form-item>
- <el-form-item label="鍚堝悓鍗曚环" prop="price">
- <el-input placeholder="璇疯緭鍏�" v-model="item.price" class="input-with-select">
- <el-select v-model="item.circleType" style="width: 150px;" slot="append" placeholder="璇烽�夋嫨">
+ <el-form-item label="鍚堝悓鍗曚环" :prop="'zlDetailList.' + index + '.price'" :rules="{
+ required: true, message: '璇疯緭鍏�', trigger: 'blur'
+ }">
+ <el-input placeholder="璇疯緭鍏�" v-model="zlDetailList.price" @input="clearzl" class="input-with-select">
+ <el-select v-model="zlDetailList.circleType" @change="clearzl" style="width: 150px;" slot="append" placeholder="璇烽�夋嫨">
<el-option v-for="(item, index) in unitOps" :key="index" :value="item.value" :label="item.name"></el-option>
</el-select>
</el-input>
</el-form-item>
- <el-form-item label="浠樻鎻愬墠澶╂暟" prop="advanceDays">
+ <el-form-item label="浠樻鎻愬墠澶╂暟" :prop="'zlDetailList.' + index + '.advanceDays'" :rules="{
+ required: true, message: '璇疯緭鍏�', trigger: 'blur'
+ }">
<div style="display: flex; align-items: center; justify-content: space-between;">
- <el-input v-model="item.advanceDays" placeholder="璇疯緭鍏�" v-trim />
+ <el-input v-model="zlDetailList.advanceDays" @input="clearzl" placeholder="璇疯緭鍏�" v-trim />
<el-link :underline="false" type="danger" @click="deleZl(index)" style="margin-left: 20px; flex-shrink: 0;">鍒犻櫎</el-link>
</div>
</el-form-item>
@@ -173,7 +185,7 @@
</el-table-column>
<el-table-column label="鏈熸暟" align="center" show-overflow-tooltip>
<template slot-scope="{row}">
- <el-tag type="success">{{row.sortnum}}</el-tag>
+ <el-tag type="success" v-if="row.sortnum > 0">{{row.sortnum}}</el-tag>
</template>
</el-table-column>
<el-table-column label="鍖洪棿" align="center" show-overflow-tooltip>
@@ -201,10 +213,10 @@
<div class="m_title">鐗╀笟淇℃伅</div>
<div class="list">
<el-form-item label="鐗╀笟鎶奸噾" prop="wyDeposit">
- <el-input v-model="form.wyDeposit" placeholder="璇疯緭鍏�" v-trim />
+ <el-input v-model="form.wyDeposit" @input="clearwy" placeholder="璇疯緭鍏�" v-trim />
</el-form-item>
<el-form-item label="浠樻鏂瑰紡" prop="wyPayType">
- <el-select v-model="form.wyPayType" placeholder="璇烽�夋嫨">
+ <el-select v-model="form.wyPayType" @change="changePayType1" placeholder="璇烽�夋嫨">
<el-option v-for="(item, index) in payMethods" :key="index" :value="item.value" :label="item.name"></el-option>
</el-select>
</el-form-item>
@@ -218,20 +230,26 @@
<el-button type="text" size="medium" @click="addWy">澧炲姞</el-button>
</div>
<div class="list">
- <div v-for="(item, index) in form.wyDetailList" :key="index">
- <el-form-item label="璧峰鏃ユ湡" prop="time">
- <el-date-picker type="daterange" v-model="item.time" @change="getDate2($event, index)" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
+ <div style="width: 100%; display: flex; flex-wrap: wrap;" v-for="(wyDetailList, index) in form.wyDetailList" :key="index">
+ <el-form-item label="璧峰鏃ユ湡" :prop="'wyDetailList.' + index + '.time'" :rules="{
+ required: true, message: '璇疯緭鍏�', trigger: 'blur'
+ }">
+ <el-date-picker type="daterange" v-model="wyDetailList.time" @change="getDate2($event, index)" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
</el-form-item>
- <el-form-item label="鍚堝悓鍗曚环" prop="price">
- <el-input placeholder="璇疯緭鍏�" v-model="item.price">
- <el-select v-model="item.circleType" style="width: 150px;" slot="append" placeholder="璇烽�夋嫨">
- <el-option v-for="(item, index) in unitOps" :key="index" :value="item.value" :label="item.name"></el-option>
+ <el-form-item label="鍚堝悓鍗曚环" :prop="'wyDetailList.' + index + '.price'" :rules="{
+ required: true, message: '璇疯緭鍏�', trigger: 'blur'
+ }">
+ <el-input placeholder="璇疯緭鍏�" @input="clearwy" v-model="wyDetailList.price">
+ <el-select v-model="wyDetailList.circleType" @change="clearwy" style="width: 150px;" slot="append" placeholder="璇烽�夋嫨">
+ <el-option v-for="(item, index) in unitOps1" :key="index" :value="item.value" :label="item.name"></el-option>
</el-select>
</el-input>
</el-form-item>
- <el-form-item label="浠樻鎻愬墠澶╂暟" prop="advanceDays">
+ <el-form-item label="浠樻鎻愬墠澶╂暟" :prop="'wyDetailList.' + index + '.advanceDays'" :rules="{
+ required: true, message: '璇疯緭鍏�', trigger: 'blur'
+ }">
<div style="display: flex; align-items: center; justify-content: space-between;">
- <el-input v-model="item.advanceDays" placeholder="璇疯緭鍏�" v-trim />
+ <el-input v-model="wyDetailList.advanceDays" @input="clearwy" placeholder="璇疯緭鍏�" v-trim />
<el-link :underline="false" type="danger" @click="deleWy(index)" style="margin-left: 20px; flex-shrink: 0;">鍒犻櫎</el-link>
</div>
</el-form-item>
@@ -256,7 +274,7 @@
</el-table-column>
<el-table-column label="鏈熸暟" align="center" show-overflow-tooltip>
<template slot-scope="{row}">
- <el-tag type="success">{{row.sortnum}}</el-tag>
+ <el-tag type="success" v-if="row.sortnum > 0">{{row.sortnum}}</el-tag>
</template>
</el-table-column>
<el-table-column label="鍖洪棿" align="center" show-overflow-tooltip>
@@ -322,7 +340,7 @@
startDate: '',
endDate: '',
projectId: '',
- roundedUp: '',
+ roundedUp: 0,
companyId: '',
renterId: '',
renterName: '',
@@ -394,9 +412,18 @@
{ name: '涓�娆℃�т粯娆�', value: 0 },
{ name: '3涓湀涓�浠�', value: 1 },
{ name: '6涓湀涓�浠�', value: 2 },
- { name: '1骞翠竴浠�', value: 2 },
+ { name: '1骞翠竴浠�', value: 3 },
],
unitOps: [
+ { name: '鍏�/m虏路澶�', value: 0 },
+ { name: '鍏�/m虏路鏈�', value: 1 },
+ { name: '鍏�/澶�', value: 3 },
+ { name: '鍏�/鏈�', value: 4 },
+ { name: '鍏�/骞�', value: 5 },
+ { name: '鍏�/m虏路骞�', value: 2 },
+ { name: '鍏�/鍦�', value: 6 },
+ ],
+ unitOps1: [
{ name: '鍏�/m虏路澶�', value: 0 },
{ name: '鍏�/m虏路鏈�', value: 1 },
{ name: '鍏�/澶�', value: 3 },
@@ -414,6 +441,8 @@
this.title = title
this.ids = []
this.houseList = []
+ this.zlPrice = ''
+ this.wyPrice = ''
this.getUser()
this.getProject()
this.getCompany()
@@ -427,6 +456,12 @@
this.form[key] = ''
}
}
+ this.wyList = []
+ this.zlList = []
+ this.form.userId = this.userInfo.id
+ this.form.signDate = this.getDayTime()
+ this.form.startDate = this.getDayTime()
+ this.form.endDate = this.getDayTime(1)
this.form.zlDetailList = [
{
circleType: 0,
@@ -447,14 +482,65 @@
advanceDays: ''
}
]
- this.wyList = []
- this.zlList = []
- this.form.userId = this.userInfo.id
- this.form.signDate = this.getDayTime()
- this.form.startDate = this.getDayTime()
- this.form.endDate = this.getDayTime(1)
+ this.form.roundedUp = 0
// this.getHouseTree()
})
+ },
+ changePayType (e) {
+ if (e === 0) {
+ this.unitOps = [
+ { name: '鍏�/m虏路澶�', value: 0 },
+ { name: '鍏�/m虏路鏈�', value: 1 },
+ { name: '鍏�/澶�', value: 3 },
+ { name: '鍏�/鏈�', value: 4 },
+ { name: '鍏�/骞�', value: 5 },
+ { name: '鍏�/m虏路骞�', value: 2 },
+ { name: '鍏�/鍦�', value: 6 },
+ ]
+ } else {
+ this.form.zlDetailList.forEach(item => {
+ if (item.circleType === 6) {
+ item.circleType = 0
+ }
+ })
+ this.unitOps = [
+ { name: '鍏�/m虏路澶�', value: 0 },
+ { name: '鍏�/m虏路鏈�', value: 1 },
+ { name: '鍏�/澶�', value: 3 },
+ { name: '鍏�/鏈�', value: 4 },
+ { name: '鍏�/骞�', value: 5 },
+ { name: '鍏�/m虏路骞�', value: 2 }
+ ]
+ }
+ this.clearzl()
+ },
+ changePayType1 (e) {
+ if (e === 0) {
+ this.unitOps1 = [
+ { name: '鍏�/m虏路澶�', value: 0 },
+ { name: '鍏�/m虏路鏈�', value: 1 },
+ { name: '鍏�/澶�', value: 3 },
+ { name: '鍏�/鏈�', value: 4 },
+ { name: '鍏�/骞�', value: 5 },
+ { name: '鍏�/m虏路骞�', value: 2 },
+ { name: '鍏�/鍦�', value: 6 },
+ ]
+ } else {
+ this.form.wyDetailList.forEach(item => {
+ if (item.circleType === 6) {
+ item.circleType = 0
+ }
+ })
+ this.unitOps1 = [
+ { name: '鍏�/m虏路澶�', value: 0 },
+ { name: '鍏�/m虏路鏈�', value: 1 },
+ { name: '鍏�/澶�', value: 3 },
+ { name: '鍏�/鏈�', value: 4 },
+ { name: '鍏�/骞�', value: 5 },
+ { name: '鍏�/m虏路骞�', value: 2 }
+ ]
+ }
+ this.clearwy()
},
// 鑾峰彇鑱旂郴浜�
getYwList () {
@@ -467,6 +553,16 @@
getHouseData () {
if (this.form.startDate && this.form.endDate) {
this.getHouseTree()
+ if (this.form.zlDetailList.length === 1) {
+ this.form.zlDetailList[0].startDate = this.form.startDate
+ this.form.zlDetailList[0].endDate = this.form.endDate
+ this.form.zlDetailList[0].time = [this.form.startDate, this.form.endDate]
+ }
+ if (this.form.wyDetailList.length === 1) {
+ this.form.wyDetailList[0].startDate = this.form.startDate
+ this.form.wyDetailList[0].endDate = this.form.endDate
+ this.form.wyDetailList[0].time = [this.form.startDate, this.form.endDate]
+ }
}
},
changeType (e) {
@@ -479,42 +575,28 @@
getDayTime (num) {
const today = new Date();
const year = today.getFullYear();
- const month = today.getMonth() + 1; // 鏈堜唤鏄粠 0 寮�濮嬬殑锛屽洜姝ら渶瑕佸姞 1
+ const month = today.getMonth() + 1;
const day = today.getDate();
if (!num) {
return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
} else {
- return `${year + 1}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
+ return `${year + 1}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day - 1 : day - 1}`;
}
},
- clearData () {
- this.form.zlDetailList = [
- {
- circleType: 0,
- startDate: this.form.startDate,
- endDate: this.form.endDate,
- time: [this.form.startDate, this.form.endDate],
- price: '',
- advanceDays: ''
- }
- ]
- this.form.wyDetailList = [
- {
- circleType: 0,
- startDate: this.form.startDate,
- endDate: this.form.endDate,
- time: [this.form.startDate, this.form.endDate],
- price: '',
- advanceDays: ''
- }
- ]
+ clearzl () {
+ this.zlList = []
+ this.zlPrice = ''
+ },
+ clearwy () {
+ this.wyList = []
+ this.wyPrice = ''
},
confirm () {
+ var that = this
if (this.activeTabs === 0) {
this.$refs.form.validate((valid) => {
if (!valid) return
if (this.form.roomIds.length === 0) return this.$message.warning('璇烽�夋嫨鎴挎簮锛�')
- this.clearData()
this.activeTabs = 1
})
} else if (this.activeTabs === 1) {
@@ -527,6 +609,8 @@
if (!valid2) {
return
}
+ if (that.zlList.length === 0) return that.$message.warning('璇峰厛鐢熸垚绉熻祦璐﹀崟锛�')
+ if (that.wyList.length === 0) return that.$message.warning('璇峰厛鐢熸垚鐗╀笟璐﹀崟锛�')
this.submit()
})
})
@@ -535,6 +619,7 @@
if (!valid1) {
return
}
+ if (that.zlList.length === 0) return that.$message.warning('璇峰厛鐢熸垚绉熻祦璐﹀崟锛�')
this.submit()
})
} else if (this.form.type === 1) {
@@ -542,6 +627,7 @@
if (!valid2) {
return
}
+ if (that.wyList.length === 0) return that.$message.warning('璇峰厛鐢熸垚鐗╀笟璐﹀崟锛�')
this.submit()
})
}
@@ -563,10 +649,12 @@
getDate1 (e, index) {
this.form.zlDetailList[index].startDate = e[0]
this.form.zlDetailList[index].endDate = e[1]
+ this.clearzl()
},
getDate2 (e, index) {
this.form.wyDetailList[index].startDate = e[0]
this.form.wyDetailList[index].endDate = e[1]
+ this.clearwy()
},
checkHouseRoom (a, b) {
this.ids = b.checkedKeys
@@ -618,6 +706,7 @@
generateWY () {
getBillList({ ...this.form, billType: 1 })
.then(res => {
+ this.wy = true
let zlPrice = 0
let arr = []
res.forEach(item => {
@@ -653,18 +742,22 @@
deleZl(index) {
if (this.form.zlDetailList.length === 1) return Message.warning('鑷冲皯淇濈暀涓�鏉★紒')
this.form.zlDetailList.splice(index, 1)
+ this.clearzl()
},
deleWy(index) {
if (this.form.wyDetailList.length === 1) return Message.warning('鑷冲皯淇濈暀涓�鏉★紒')
this.form.wyDetailList.splice(index, 1)
+ this.clearwy()
},
getZLDate (e) {
this.form.zlFreeStartDate = e[0]
this.form.zlFreeEndDate = e[1]
+ this.clearzl()
},
getWYDate (e) {
this.form.wyFreeStartDate = e[0]
this.form.wyFreeEndDate = e[1]
+ this.clearwy()
},
getTenant (row) {
this.form.renterId = row.id
@@ -750,6 +843,8 @@
this.$emit('close')
} else {
this.activeTabs = 0
+ this.zlList = []
+ this.wyList = []
}
}
}
--
Gitblit v1.9.3