From dc1af3f3cacd1e917076aa16ab2d74225f547c4d Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 04 十二月 2024 17:35:44 +0800
Subject: [PATCH] 改bug

---
 admin/src/views/contract/components/contractEdit.vue |  106 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 79 insertions(+), 27 deletions(-)

diff --git a/admin/src/views/contract/components/contractEdit.vue b/admin/src/views/contract/components/contractEdit.vue
index 213d597..66c0851 100644
--- a/admin/src/views/contract/components/contractEdit.vue
+++ b/admin/src/views/contract/components/contractEdit.vue
@@ -1,6 +1,4 @@
 <template>
-<!--  :text="activeTabs === 0 ? '涓嬩竴姝�' : '鎻愪氦'"-->
-<!--  :backText="activeTabs === 0 ? '杩斿洖' : '涓婁竴姝�'"-->
   <GlobalWindow
     width="100%"
     :title="title"
@@ -42,7 +40,7 @@
                 <el-date-picker type="date" v-model="form.endDate" @change="getHouseData" :clearable="false" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
               </el-form-item>
               <el-form-item label="褰掑睘椤圭洰" prop="projectId">
-                <el-select v-model="form.projectId" placeholder="璇烽�夋嫨">
+                <el-select v-model="form.projectId" @change="getHouseTree" placeholder="璇烽�夋嫨">
                   <el-option v-for="(item, index) in projectList" :key="index" :value="item.id" :label="item.name"></el-option>
                 </el-select>
               </el-form-item>
@@ -65,8 +63,11 @@
                   <el-input v-model="form.renterName" readonly placeholder="璇风偣鍑婚�夋嫨绉熷" />
                 </div>
               </el-form-item>
-              <el-form-item label="鑱旂郴浜�" prop="memberName">
-                <el-input v-model="form.memberName" readonly placeholder="璇风偣鍑婚�夋嫨绉熷" />
+              <el-form-item label="鑱旂郴浜�" prop="memberId">
+                <el-select v-model="form.memberId" placeholder="璇烽�夋嫨">
+                  <el-option v-for="(item, index) in contactsList" :key="index" :value="item.id" :label="item.name"></el-option>
+                </el-select>
+<!--                <el-input v-model="form.memberName" readonly placeholder="璇风偣鍑婚�夋嫨绉熷" />-->
               </el-form-item>
             </div>
           </el-form>
@@ -81,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>
@@ -134,7 +141,7 @@
                 <el-button type="text" size="medium" @click="addZl">澧炲姞</el-button>
               </div>
               <div class="list">
-                <div v-for="(item, index) in form.zlDetailList" :key="index">
+                <div style="width: 100%; display: flex; flex-wrap: wrap;" 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="璇烽�夋嫨" />
                   </el-form-item>
@@ -172,7 +179,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>
@@ -217,7 +224,7 @@
                 <el-button type="text" size="medium" @click="addWy">澧炲姞</el-button>
               </div>
               <div class="list">
-                <div v-for="(item, index) in form.wyDetailList" :key="index">
+                <div style="width: 100%; display: flex; flex-wrap: wrap;" 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="璇烽�夋嫨" />
                   </el-form-item>
@@ -255,7 +262,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>
@@ -294,6 +301,7 @@
 import MemberSearch from '@/components/common/MemberSearch'
 import { rules } from './config'
 import { create, getBillList } from '@/api/contract'
+import { ywList } from '@/api/customer'
 import { getUserList } from '@/api/system/user'
 import { getProjectList, tree } from '@/api/project/ywProject'
 import { companyList } from '@/api/company'
@@ -335,6 +343,7 @@
         zlDate: [],
         zlDetailList: [
           {
+            circleType: 0,
             startDate: '',
             endDate: '',
             time: [],
@@ -350,6 +359,7 @@
         wyDate: [],
         wyDetailList: [
           {
+            circleType: 0,
             startDate: '',
             endDate: '',
             time: [],
@@ -367,6 +377,8 @@
       wyList: [],
       
       rules,
+  
+      contactsList: [],
 
       loadingInstance: null,
       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
@@ -388,7 +400,7 @@
         { name: '涓�娆℃�т粯娆�', value: 0 },
         { name: '3涓湀涓�浠�', value: 1 },
         { name: '6涓湀涓�浠�', value: 2 },
-        { name: '1骞翠竴浠�', value: 2 },
+        { name: '1骞翠竴浠�', value: 3 },
       ],
       unitOps: [
         { name: '鍏�/m虏路澶�', value: 0 },
@@ -407,6 +419,7 @@
     open (title, target) {
       this.title = title
       this.ids = []
+      this.houseList = []
       this.getUser()
       this.getProject()
       this.getCompany()
@@ -422,18 +435,20 @@
         }
         this.form.zlDetailList = [
           {
-            startDate: '',
-            endDate: '',
-            time: [],
+            circleType: 0,
+            startDate: this.form.startDate,
+            endDate: this.form.endDate,
+            time: [this.form.startDate, this.form.endDate],
             price: '',
             advanceDays: ''
           }
         ]
         this.form.wyDetailList = [
           {
-            startDate: '',
-            endDate: '',
-            time: [],
+            circleType: 0,
+            startDate: this.form.startDate,
+            endDate: this.form.endDate,
+            time: [this.form.startDate, this.form.endDate],
             price: '',
             advanceDays: ''
           }
@@ -444,7 +459,15 @@
         this.form.signDate = this.getDayTime()
         this.form.startDate = this.getDayTime()
         this.form.endDate = this.getDayTime(1)
-        this.getHouseTree()
+        // this.getHouseTree()
+      })
+    },
+    // 鑾峰彇鑱旂郴浜�
+    getYwList () {
+      ywList({
+        customerId: this.form.renterId
+      }).then(res => {
+        this.contactsList = res
       })
     },
     getHouseData () {
@@ -467,13 +490,37 @@
       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: ''
+        }
+      ]
     },
     confirm () {
       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) {
@@ -539,7 +586,8 @@
     getHouseTree () {
       tree({
         startDate: this.form.startDate,
-        endDate: this.form.endDate
+        endDate: this.form.endDate,
+        projectId: this.form.projectId
       })
         .then(res => {
           res.forEach(item => {
@@ -590,18 +638,20 @@
     },
     addZl () {
       this.form.zlDetailList.push({
-        startDate: '',
-        endDate: '',
-        time: [],
+        circleType: 0,
+        startDate: this.form.startDate,
+        endDate: this.form.endDate,
+        time: [this.form.startDate, this.form.endDate],
         price: '',
         advanceDays: ''
       })
     },
     addWy () {
       this.form.wyDetailList.push({
-        startDate: '',
-        endDate: '',
-        time: [],
+        circleType: 0,
+        startDate: this.form.startDate,
+        endDate: this.form.endDate,
+        time: [this.form.startDate, this.form.endDate],
         price: '',
         advanceDays: ''
       })
@@ -625,8 +675,9 @@
     getTenant (row) {
       this.form.renterId = row.id
       this.form.renterName = row.name
-      this.form.memberId = row.memberId
-      this.form.memberName = row.memberName
+      this.form.memberId = ''
+      this.form.memberName = ''
+      this.getYwList()
     },
     dele (imgaddr) {
       this.form.fileList.forEach((item, index) => {
@@ -718,6 +769,7 @@
   position: sticky;
   top: 0;
   left: 0;
+  z-index: 999;
 }
 .tabs {
   border-bottom: 1px solid #DFE2E8;

--
Gitblit v1.9.3