From 4829f8e73d0c17bb87baec9637e3455daca78311 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 03 十二月 2024 19:26:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/.env                                                  |    2 
 admin/src/views/contract/components/contractEdit.vue        |   94 +++++++++++++++++++++++--------
 admin/src/views/login.vue                                   |    1 
 admin/src/views/contract/components/terminateLease.vue      |    2 
 admin/src/api/customer.js                                   |    6 ++
 admin/vue.config.js                                         |    5 -
 /dev/null                                                   |    5 -
 admin/src/views/client/components/OperaYwCustomerWindow.vue |    6 +
 admin/.gitignore                                            |    3 
 admin/src/views/contract/components/config.js               |    2 
 admin/src/router/index.js                                   |    2 
 admin/.env.development                                      |   10 +++
 admin/src/views/client/components/staffEdit.vue             |    6 +
 13 files changed, 103 insertions(+), 41 deletions(-)

diff --git a/admin/.env b/admin/.env
index af248a9..18495ab 100644
--- a/admin/.env
+++ b/admin/.env
@@ -4,7 +4,7 @@
 VUE_APP_ROUTER_MODE = 'hash'
 
 # 椤圭洰涓婁笅鏂囪矾寰�
-VUE_APP_CONTEXT_PATH = '/'
+VUE_APP_CONTEXT_PATH = '/fn_admin/#/'
 
 # 鎺ュ彛鍓嶇紑
 VUE_APP_API_PREFIX = '/gateway_interface'
diff --git a/admin/.env.development b/admin/.env.development
new file mode 100644
index 0000000..a124a35
--- /dev/null
+++ b/admin/.env.development
@@ -0,0 +1,10 @@
+# 寮�鍙戠幆澧冮厤缃�
+NODE_ENV = 'development'
+# 椤圭洰涓婁笅鏂囪矾寰�
+VUE_APP_CONTEXT_PATH = './'
+
+#VUE_APP_API_URL  = 'http://localhost:10010'
+VUE_APP_API_URL  = 'http://192.168.0.163:10010'
+# VUE_APP_API_URL  = 'https://dmtest.ahapp.net/fn_admin'
+#  VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
+
diff --git a/admin/.gitignore b/admin/.gitignore
index 25910be..c2dd892 100644
--- a/admin/.gitignore
+++ b/admin/.gitignore
@@ -1,7 +1,7 @@
 .DS_Store
 coderd.json
 node_modules
-.env.development
+# .env.development
 /dist
 
 
@@ -10,6 +10,7 @@
 .env.*.local
 unpackage
 admin
+fn_admin
 # Log files
 npm-debug.log*
 yarn-debug.log*
diff --git a/admin/babel.config.js b/admin/babel.config.js
deleted file mode 100644
index e955840..0000000
--- a/admin/babel.config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
-  presets: [
-    '@vue/cli-plugin-babel/preset'
-  ]
-}
diff --git a/admin/src/api/customer.js b/admin/src/api/customer.js
index e57764c..48bb68e 100644
--- a/admin/src/api/customer.js
+++ b/admin/src/api/customer.js
@@ -11,3 +11,9 @@
 export function list (data) {
   return request.post('/visitsAdmin/cloudService/business/ywCustomer/list', data)
 }
+
+// 闃滃畞杩愮淮 - 鏌ヨ鑱旂郴浜哄垪琛�
+export function ywList (data) {
+  return request.post('/visitsAdmin/cloudService/business/member/ywList', data)
+}
+
diff --git a/admin/src/router/index.js b/admin/src/router/index.js
index f69ea19..6002274 100644
--- a/admin/src/router/index.js
+++ b/admin/src/router/index.js
@@ -10,7 +10,7 @@
 
 const router = new VueRouter({
   // + (process.env.VUE_APP_ROUTER_MODE === 'hash' ? '#' : '')
-  // base: process.env.VUE_APP_CONTEXT_PATH,
+  base: '/',
   mode: 'hash',
   routes: [
     // 鐧诲綍
diff --git a/admin/src/views/client/components/OperaYwCustomerWindow.vue b/admin/src/views/client/components/OperaYwCustomerWindow.vue
index d3c0941..c966c3f 100644
--- a/admin/src/views/client/components/OperaYwCustomerWindow.vue
+++ b/admin/src/views/client/components/OperaYwCustomerWindow.vue
@@ -45,7 +45,9 @@
           <el-form-item label="璇佷欢鍙风爜" prop="member.idcardNo">
             <el-input v-model="form.member.idcardNo" placeholder="璇疯緭鍏�" v-trim />
           </el-form-item>
-          <el-form-item label="閭" prop="email">
+          <el-form-item label="閭" prop="member.email" :rules="[
+            { required: false, type: 'email', message: '璇疯緭鍏ユ纭殑閭鏍煎紡'}
+          ]">
             <el-input v-model="form.member.email" placeholder="璇疯緭鍏ラ偖绠�" v-trim />
           </el-form-item>
         </template>
@@ -264,4 +266,4 @@
     }
   }
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/admin/src/views/client/components/staffEdit.vue b/admin/src/views/client/components/staffEdit.vue
index e1ce3d3..ffe8cd5 100644
--- a/admin/src/views/client/components/staffEdit.vue
+++ b/admin/src/views/client/components/staffEdit.vue
@@ -32,7 +32,9 @@
         <el-form-item label="璇佷欢鍙风爜" prop="member.idcardNo">
           <el-input v-model="form.idcardNo" placeholder="璇疯緭鍏�" v-trim />
         </el-form-item>
-        <el-form-item label="閭" prop="email">
+        <el-form-item label="閭" prop="email" :rules="[
+          { required: false, type: 'email', message: '璇疯緭鍏ユ纭殑閭鏍煎紡'}
+        ]">
           <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" v-trim />
         </el-form-item>
         <el-form-item label="鎬у埆">
@@ -213,4 +215,4 @@
     }
   }
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/admin/src/views/contract/components/config.js b/admin/src/views/contract/components/config.js
index c094419..0611aea 100644
--- a/admin/src/views/contract/components/config.js
+++ b/admin/src/views/contract/components/config.js
@@ -9,7 +9,7 @@
   roundedUp: [{ required: true, message: '璇烽�夋嫨' }],
   companyId: [{ required: true, message: '璇烽�夋嫨' }],
   renterName: [{ required: true, message: '璇烽�夋嫨' }],
-  memberName: [{ required: true, message: '璇烽�夋嫨' }],
+  memberId: [{ required: true, message: '璇烽�夋嫨' }],
   zlDeposit: [{ required: true, message: '璇疯緭鍏�' }],
   zlPayType: [{ required: true, message: '璇烽�夋嫨' }],
   wyDeposit: [{ required: true, message: '璇疯緭鍏�' }],
diff --git a/admin/src/views/contract/components/contractEdit.vue b/admin/src/views/contract/components/contractEdit.vue
index 213d597..6dd8331 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>
@@ -134,7 +135,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>
@@ -217,7 +218,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>
@@ -294,6 +295,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 +337,7 @@
         zlDate: [],
         zlDetailList: [
           {
+            circleType: 0,
             startDate: '',
             endDate: '',
             time: [],
@@ -350,6 +353,7 @@
         wyDate: [],
         wyDetailList: [
           {
+            circleType: 0,
             startDate: '',
             endDate: '',
             time: [],
@@ -367,6 +371,8 @@
       wyList: [],
       
       rules,
+  
+      contactsList: [],
 
       loadingInstance: null,
       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
@@ -388,7 +394,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 +413,7 @@
     open (title, target) {
       this.title = title
       this.ids = []
+      this.houseList = []
       this.getUser()
       this.getProject()
       this.getCompany()
@@ -422,18 +429,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 +453,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 () {
@@ -470,10 +487,34 @@
         return `${year + 1}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
       }
     },
+    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 +580,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 +632,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 +669,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 +763,7 @@
   position: sticky;
   top: 0;
   left: 0;
+  z-index: 999;
 }
 .tabs {
   border-bottom: 1px solid #DFE2E8;
diff --git a/admin/src/views/contract/components/terminateLease.vue b/admin/src/views/contract/components/terminateLease.vue
index 6bb8929..23f9b2f 100644
--- a/admin/src/views/contract/components/terminateLease.vue
+++ b/admin/src/views/contract/components/terminateLease.vue
@@ -179,7 +179,7 @@
                 </el-table-column>
             </el-table>
             <div class="footer">
-                鍚堣搴旀敹锛�<span>{{receivable}}</span>鍏冿紝 鍚堣搴斾粯锛�<span>{{meet}}</span>鍏�
+                鍚堣搴旀敹锛�<span>{{receivable.toFixed(2)}}</span>鍏冿紝 鍚堣搴斾粯锛�<span>{{meet.toFixed(2)}}</span>鍏�
             </div>
         </div>
         <!--    鍒涘缓鏀舵璐﹀崟    -->
diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue
index a728dbc..c51189a 100644
--- a/admin/src/views/login.vue
+++ b/admin/src/views/login.vue
@@ -138,6 +138,7 @@
             }
             Cookies.set('dm_user_token', res)
             window.location.href = process.env.VUE_APP_CONTEXT_PATH
+            // this.$router.push('')
           })
           .catch(e => {
             this.refreshCaptcha()
diff --git a/admin/vue.config.js b/admin/vue.config.js
index c429385..9d855e9 100644
--- a/admin/vue.config.js
+++ b/admin/vue.config.js
@@ -1,13 +1,12 @@
 // 璇︾粏閰嶇疆璇峰弬鑰僪ttps://cli.vuejs.org/zh/config/#vue-config-js
-// const outputDir = process.env.VUE_APP_CONTEXT_PATH.substring(1, process.env.VUE_APP_CONTEXT_PATH.length - 1)
 const path = require('path')
 
 function resolve (dir) {
   return path.join(__dirname, dir)
 }
 module.exports = {
-  publicPath: process.env.VUE_APP_CONTEXT_PATH,
-  outputDir: 'admin',
+  publicPath: './',
+  outputDir: 'fn_admin',
   assetsDir: 'static',
   lintOnSave: false,
   devServer: {

--
Gitblit v1.9.3