From 20232b4204a2994b934afd1f5812337680ea5fdb Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 03 十二月 2024 18:31:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/.env                                                   |    2 
 admin/src/views/contract/components/addPaymentBill.vue       |   19 +
 admin/src/views/contract/components/contractEdit.vue         |  145 ++++++++--
 admin/src/views/login.vue                                    |    3 
 h5/pages/workOrder/edit.vue                                  |    2 
 admin/src/views/contract/components/terminateLease.vue       |   80 ++++-
 h5/pages/common/memberSel.vue                                |    2 
 admin/src/components/business/OperaInternalCompanyWindow.vue |    2 
 admin/src/views/contract/components/addCollectionBill.vue    |   17 
 admin/src/views/contract/contractList.vue                    |   15 +
 admin/src/views/contract/components/contractDetail.vue       |   21 +
 h5/pages/polling/task.vue                                    |  439 +++++++++++++++++--------------
 h5/pages/workOrder/list.vue                                  |    2 
 admin/src/views/project/housingList.vue                      |    6 
 admin/src/views/finance/company.vue                          |    2 
 admin/src/views/business/internalCompany.vue                 |    2 
 admin/.env.test                                              |    2 
 h5/pages/operation/record.vue                                |    2 
 admin/src/views/contract/components/config.js                |    4 
 admin/src/views/finance/components/companyEdit.vue           |    4 
 admin/src/router/index.js                                    |    4 
 admin/src/components/common/MemberSearch/src/index.vue       |   13 
 admin/src/views/business/internalMember.vue                  |    2 
 admin/src/views/finance/components/bullEditFu.vue            |    4 
 24 files changed, 497 insertions(+), 297 deletions(-)

diff --git a/admin/.env b/admin/.env
index 2ec7c8a..af248a9 100644
--- a/admin/.env
+++ b/admin/.env
@@ -4,7 +4,7 @@
 VUE_APP_ROUTER_MODE = 'hash'
 
 # 椤圭洰涓婁笅鏂囪矾寰�
-VUE_APP_CONTEXT_PATH = '/fn_admin'
+VUE_APP_CONTEXT_PATH = '/'
 
 # 鎺ュ彛鍓嶇紑
 VUE_APP_API_PREFIX = '/gateway_interface'
diff --git a/admin/.env.test b/admin/.env.test
index ac3450e..0097b88 100644
--- a/admin/.env.test
+++ b/admin/.env.test
@@ -3,6 +3,6 @@
 
 # VUE_APP_API_URL  = 'http://192.168.5.13/gateway_interface'
 
-VUE_APP_API_URL  = 'http://192.168.0.162:10010/'
+VUE_APP_API_URL  = 'http://192.168.0.163:10010/'
 
 # VUE_APP_API_URL  = 'http://192.168.0.108:10030/'
diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue
index 984e196..7526ba7 100644
--- a/admin/src/components/business/OperaInternalCompanyWindow.vue
+++ b/admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -39,7 +39,7 @@
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
-        type: '2',
+        type: '1',
         name: '',
         parentId: null,
         disable: false,
diff --git a/admin/src/components/common/MemberSearch/src/index.vue b/admin/src/components/common/MemberSearch/src/index.vue
index 899b602..6d2a3a0 100644
--- a/admin/src/components/common/MemberSearch/src/index.vue
+++ b/admin/src/components/common/MemberSearch/src/index.vue
@@ -4,8 +4,9 @@
       <div class="df_ac mb20">
         <el-input v-model="modalSearchValue" placeholder="璇疯緭鍏ュ鎴峰悕绉�" class="w400" @keyup.enter.native="queryList">
         </el-input>
-        <el-button class="ml10" type="primary" @click="queryList()">鏌ヨ</el-button>
+        <el-button class="ml10 mr10" type="primary" @click="queryList()">鏌ヨ</el-button>
         <el-button class="ml10" @click="clear()">閲嶇疆</el-button>
+        <el-button class="ml10" type="primary" @click="$refs.operaYwCustomerWindow.open('鏂板缓瀹㈡埛')">鏂板缓瀹㈡埛</el-button>
       </div>
       <el-table ref="table" v-loading="listLoading" :data="list" element-loading-text="Loading" border fit
         :header-row-class-name="'table-header'" class="doumee-element-table doumee-element-tableb"
@@ -53,8 +54,12 @@
           </template>
         </el-table-column>
       </el-table>
-      <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+      <div style="text-align: right; margin-top: 15px;">
+        <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+      </div>
     </div>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaYwCustomerWindow ref="operaYwCustomerWindow" @success="clear" />
   </GlobalWindow>
 </template>
 
@@ -62,10 +67,12 @@
 import { fetchList } from '@/api/customer'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import Pagination from '@/components/common/Pagination'
+import OperaYwCustomerWindow from '@/views/client/components/OperaYwCustomerWindow'
 export default {
   components: {
     Pagination,
-    GlobalWindow
+    GlobalWindow,
+    OperaYwCustomerWindow
   },
   props: {
     isShowChooseBtn: {
diff --git a/admin/src/router/index.js b/admin/src/router/index.js
index db35fa8..f69ea19 100644
--- a/admin/src/router/index.js
+++ b/admin/src/router/index.js
@@ -10,8 +10,8 @@
 
 const router = new VueRouter({
   // + (process.env.VUE_APP_ROUTER_MODE === 'hash' ? '#' : '')
-  base: process.env.VUE_APP_CONTEXT_PATH,
-  mode: process.env.VUE_APP_ROUTER_MODE,
+  // base: process.env.VUE_APP_CONTEXT_PATH,
+  mode: 'hash',
   routes: [
     // 鐧诲綍
     {
diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue
index 2db8298..4779ed7 100644
--- a/admin/src/views/business/internalCompany.vue
+++ b/admin/src/views/business/internalCompany.vue
@@ -73,7 +73,7 @@
       loading: false,
       sorting: false,
       searchForm: {
-        type: 2
+        type: 1
       },
       list: [],
       total: 0
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index 98ae806..f6d0dfd 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -287,7 +287,7 @@
     },
     // 鑾峰彇缁勭粐鏍�
     getfindCompanyTreePage () {
-      fetchList()
+      fetchList(1)
         .then(res => {
           if (res && res.length > 0) {
             res[0].fsStatus = 1
diff --git a/admin/src/views/contract/components/addCollectionBill.vue b/admin/src/views/contract/components/addCollectionBill.vue
index 23a35cb..4a1bb80 100644
--- a/admin/src/views/contract/components/addCollectionBill.vue
+++ b/admin/src/views/contract/components/addCollectionBill.vue
@@ -10,7 +10,7 @@
             <div class="main_content">
                 <el-form :model="form" label-position="top" ref="form" :rules="rules">
                     <div class="head">
-                        <div class="m_title">鍩虹淇℃伅-{{time.startDate}}~{{time.endDate}}</div>
+                        <div class="m_title">鍩虹淇℃伅</div>
                         <div class="tabs">
                             <div class="tab" :class="{ active: form.feeType === 0 }" @click="timeTabClick(0)">鍛ㄦ湡璐圭敤</div>
                             <div class="tab" :class="{ active: form.feeType === 1 }" @click="timeTabClick(1)">涓�娆℃�ц垂鐢�</div>
@@ -85,11 +85,9 @@
     extends: BaseOpera,
     data () {
       const validateArr = (rule, value, callback) => {
-        if (value.length === 0 || !value) {
-          callback(new Error('璇烽�夋嫨'));
-        } else {
-          callback();
-        }
+        if (!value) return callback(new Error('璇烽�夋嫨'));
+        if (!value.length === 0) return callback(new Error('璇烽�夋嫨'));
+        callback();
       };
       return {
         form: {
@@ -126,7 +124,7 @@
             { required: true, message: '璇烽�夋嫨', trigger: 'blur' }
           ],
           date: [
-            { validator: validateArr, trigger: 'blur' }
+            { required: true, validator: validateArr, trigger: 'blur' }
           ],
           receivableFee: [
             { required: true, message: '璇疯緭鍏�', trigger: 'blur' }
@@ -143,14 +141,15 @@
     },
     methods: {
       open (title, target, time) {
+        var that = this
         this.title = title
         this.time.startDate = time.startDate
         this.time.endDate = time.endDate
         this.pickerOptions = {
           disabledDate(time) {
             // 濡傛灉娌℃湁鍚庨潰鐨� -8.64e7 灏辨槸涓嶅彲浠ラ�夋嫨浠婂ぉ鐨�
-            const beginDate = new Date(time.startDate).getTime() - 8.64e7
-            const endDate = new Date(time.endDate).getTime() - 8.64e7
+            const beginDate = new Date(that.time.startDate).getTime() - 8.64e7
+            const endDate = new Date(that.time.endDate).getTime()
             return beginDate > time.getTime() || endDate < time.getTime()
           }
         }
diff --git a/admin/src/views/contract/components/addPaymentBill.vue b/admin/src/views/contract/components/addPaymentBill.vue
index bb673a1..de9790e 100644
--- a/admin/src/views/contract/components/addPaymentBill.vue
+++ b/admin/src/views/contract/components/addPaymentBill.vue
@@ -34,6 +34,7 @@
                                 range-separator="鑷�"
                                 v-model="form.date"
                                 @change="changeDate"
+                                :picker-options="pickerOptions"
                                 start-placeholder="寮�濮嬫棩鏈�"
                                 end-placeholder="缁撴潫鏃ユ湡"
                                 value-format="yyyy-MM-dd"
@@ -97,12 +98,18 @@
           startDate: '',
           endDate: '',
           price: 0,
+          feeType: 0,
           receivableFeeCopy: '',
           receivableFee: '',
           planPayDate: '',
           billType: 1,
           billTypeCopy: 1,
           date: []
+        },
+        pickerOptions: {},
+        time: {
+          startDate: '',
+          endDate: ''
         },
         rules: {
           contractCode: [
@@ -131,8 +138,18 @@
       }
     },
     methods: {
-      open (title, target) {
+      open (title, target, time) {
+        var that = this
         this.title = title
+        this.time.startDate = time.startDate
+        this.time.endDate = time.endDate
+        this.pickerOptions = {
+          disabledDate(time) {
+            const beginDate = new Date(that.time.startDate).getTime() - 8.64e7
+            const endDate = new Date(that.time.endDate).getTime()
+            return beginDate > time.getTime() || endDate < time.getTime()
+          }
+        }
         this.getCompanyList()
         this.visible = true
         // 鏂板缓
diff --git a/admin/src/views/contract/components/config.js b/admin/src/views/contract/components/config.js
index cc65589..c094419 100644
--- a/admin/src/views/contract/components/config.js
+++ b/admin/src/views/contract/components/config.js
@@ -12,8 +12,6 @@
   memberName: [{ required: true, message: '璇烽�夋嫨' }],
   zlDeposit: [{ required: true, message: '璇疯緭鍏�' }],
   zlPayType: [{ required: true, message: '璇烽�夋嫨' }],
-  zlDate: [{ required: true, message: '璇烽�夋嫨' }],
   wyDeposit: [{ required: true, message: '璇疯緭鍏�' }],
-  wyPayType: [{ required: true, message: '璇烽�夋嫨' }],
-  wyDate: [{ required: true, message: '璇烽�夋嫨' }]
+  wyPayType: [{ required: true, message: '璇烽�夋嫨' }]
 }
diff --git a/admin/src/views/contract/components/contractDetail.vue b/admin/src/views/contract/components/contractDetail.vue
index d7beef3..f13cf9a 100644
--- a/admin/src/views/contract/components/contractDetail.vue
+++ b/admin/src/views/contract/components/contractDetail.vue
@@ -2,6 +2,7 @@
   <GlobalWindow
     :title="title"
     :visible.sync="visible"
+    :withFooter="false"
     :confirm-working="isWorking"
     @close="close"
     @confirm="confirm">
@@ -9,9 +10,10 @@
       <div class="left">
         <span class="mr10">鍗曚綅鍚嶇О锛歿{info.renterName}}</span>
         <el-tag type="success" v-if="info.status === 0">寰呮墽琛�</el-tag>
-        <el-tag type="success" v-if="info.status === 1">鎵ц涓�</el-tag>
-        <el-tag type="success" v-if="info.status === 2">宸插埌鏈�</el-tag>
-        <el-tag type="success" v-if="info.status === 3">宸查��绉�</el-tag>
+        <el-tag type="success" v-if="info.status === 1">姝e父鎵ц涓�</el-tag>
+        <el-tag type="info" v-if="info.status === 2">宸插埌鏈�</el-tag>
+        <el-tag type="info" v-if="info.status === 3">閫�绉熺粨绠椾腑</el-tag>
+        <el-tag type="info" v-if="info.status === 4">宸查��绉�</el-tag>
       </div>
       <el-button plain type="danger" v-if="[0, 1, 2].includes(info.status)" @click="refund">閫�绉�</el-button>
     </div>
@@ -178,6 +180,7 @@
           label="璐﹀崟閲戦">
         </el-table-column>
         <el-table-column
+          :key="Date.now()"
           prop="receivableFee"
           label="搴旀敹閲戦">
         </el-table-column>
@@ -188,6 +191,11 @@
         <el-table-column
           prop="needReceivableFee"
           label="闇�鏀堕噾棰�">
+          <template slot-scope="{row}">
+            <el-tag type="success" v-if="row.needReceivableFee > 0">鏀�</el-tag>
+            <el-tag type="warning" v-else>浠�</el-tag>
+            <span style="margin-left: 10px;">{{Math.abs(row.needReceivableFee)}}</span>
+          </template>
         </el-table-column>
         <el-table-column
           label="璐﹀崟鏉ユ簮">
@@ -243,14 +251,20 @@
         border
         style="width: 100%">
         <el-table-column
+          :key="Date.now()"
+          width="200"
           prop="param1"
           label="鎿嶄綔浜�">
         </el-table-column>
         <el-table-column
+          :key="Date.now()"
+          width="200"
           prop="createDate"
           label="鎿嶄綔鏃堕棿">
         </el-table-column>
         <el-table-column
+          :key="Date.now()"
+          width="150"
           label="鎿嶄綔">
           <template slot-scope="{row}">
             <span v-if="row.objType === 0">宸ュ崟鍒涘缓</span>
@@ -262,6 +276,7 @@
           </template>
         </el-table-column>
         <el-table-column
+          :key="Date.now()"
           prop="content"
           label="鎿嶄綔鍐呭">
         </el-table-column>
diff --git a/admin/src/views/contract/components/contractEdit.vue b/admin/src/views/contract/components/contractEdit.vue
index d98469e..213d597 100644
--- a/admin/src/views/contract/components/contractEdit.vue
+++ b/admin/src/views/contract/components/contractEdit.vue
@@ -1,9 +1,17 @@
 <template>
-  <GlobalWindow width="100%" :title="title" :visible.sync="visible" :confirm-working="isWorking" @close="close"
-    @confirm="confirm">
-    <div class="tabs">
-      <div class="tab" :class="{ active: activeTabs === 0 }" @click="tabsClick(0)">1銆佸熀鏈俊鎭�</div>
-      <div class="tab" :class="{ active: activeTabs === 1 }" @click="tabsClick(1)">2銆佽垂鐢ㄦ潯娆�</div>
+<!--  :text="activeTabs === 0 ? '涓嬩竴姝�' : '鎻愪氦'"-->
+<!--  :backText="activeTabs === 0 ? '杩斿洖' : '涓婁竴姝�'"-->
+  <GlobalWindow
+    width="100%"
+    :title="title"
+    :withFooter="false"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+    @close="close">
+    <div class="tabs fixed">
+      <div class="tab" :class="{ active: activeTabs === 0 }">1銆佸熀鏈俊鎭�</div>
+      <div class="tab" :class="{ active: activeTabs === 1 }">2銆佽垂鐢ㄦ潯娆�</div>
     </div>
     <div v-show="activeTabs === 0">
       <div class="main">
@@ -25,13 +33,13 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="鍚堝悓绛捐鏃ユ湡" prop="signDate">
-                <el-date-picker type="date" v-model="form.signDate" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
+                <el-date-picker type="date" v-model="form.signDate" value-format="yyyy-MM-dd" :clearable="false" placeholder="璇烽�夋嫨" />
               </el-form-item>
               <el-form-item label="鍚堝悓寮�濮嬫棩鏈�" prop="startDate">
-                <el-date-picker type="date" v-model="form.startDate" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
+                <el-date-picker type="date" v-model="form.startDate" @change="getHouseData" :clearable="false" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
               </el-form-item>
               <el-form-item label="鍚堝悓缁撴潫鏃ユ湡" prop="endDate">
-                <el-date-picker type="date" v-model="form.endDate" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
+                <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="璇烽�夋嫨">
@@ -126,13 +134,13 @@
                 <el-button type="text" size="medium" @click="addZl">澧炲姞</el-button>
               </div>
               <div class="list">
-                <template v-for="(item, index) in form.zlDetailList" :key="index">
+                <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="璇烽�夋嫨" />
                   </el-form-item>
                   <el-form-item label="鍚堝悓鍗曚环" prop="price">
-                    <el-input placeholder="璇疯緭鍏�" v-model="item.price">
-                      <el-select v-model="item.circleType" slot="append" placeholder="璇烽�夋嫨">
+                    <el-input placeholder="璇疯緭鍏�" v-model="item.price" class="input-with-select">
+                      <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-select>
                     </el-input>
@@ -143,7 +151,7 @@
                       <el-link :underline="false" type="danger" @click="deleZl(index)" style="margin-left: 20px; flex-shrink: 0;">鍒犻櫎</el-link>
                     </div>
                   </el-form-item>
-                </template>
+                </div>
               </div>
             </el-form>
           </div>
@@ -173,11 +181,15 @@
             </template>
           </el-table-column>
           <el-table-column prop="planPayDate" label="浠樻鏃�" align="center" show-overflow-tooltip />
-          <el-table-column prop="receivableFee" label="搴旀敹" align="center" show-overflow-tooltip />
+          <el-table-column label="搴旀敹" align="center" show-overflow-tooltip>
+            <template slot-scope="{row}">
+              {{row.receivableFee}}鍏�
+            </template>
+          </el-table-column>
         </el-table>
         <div class="total">
           <span>鎬昏</span>
-          <div>璐圭敤搴旀敹鎬昏锛歿{zlPrice}}锛屾娂閲戝簲鏀舵�昏锛歿{form.zlDeposit}}</div>
+          <div>璐圭敤搴旀敹鎬昏锛歿{zlPrice}}鍏冿紝鎶奸噾搴旀敹鎬昏锛歿{form.zlDeposit}}鍏�</div>
         </div>
       </div>
       <!--   鐗╀笟鏉℃   -->
@@ -205,13 +217,13 @@
                 <el-button type="text" size="medium" @click="addWy">澧炲姞</el-button>
               </div>
               <div class="list">
-                <template v-for="(item, index) in form.wyDetailList" :key="index">
+                <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="璇烽�夋嫨" />
                   </el-form-item>
                   <el-form-item label="鍚堝悓鍗曚环" prop="price">
                     <el-input placeholder="璇疯緭鍏�" v-model="item.price">
-                      <el-select v-model="item.circleType" slot="append" placeholder="璇烽�夋嫨">
+                      <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-select>
                     </el-input>
@@ -222,7 +234,7 @@
                       <el-link :underline="false" type="danger" @click="deleWy(index)" style="margin-left: 20px; flex-shrink: 0;">鍒犻櫎</el-link>
                     </div>
                   </el-form-item>
-                </template>
+                </div>
               </div>
             </el-form>
           </div>
@@ -252,13 +264,24 @@
             </template>
           </el-table-column>
           <el-table-column prop="planPayDate" label="浠樻鏃�" align="center" show-overflow-tooltip />
-          <el-table-column prop="receivableFee" label="搴旀敹" align="center" show-overflow-tooltip />
+          <el-table-column prop="receivableFee" label="搴旀敹" align="center" show-overflow-tooltip>
+            <template slot-scope="{row}">
+              {{row.receivableFee}}鍏�
+            </template>
+          </el-table-column>
         </el-table>
         <div class="total">
           <span>鎬昏</span>
-          <div>璐圭敤搴旀敹鎬昏锛歿{wyPrice}}锛屾娂閲戝簲鏀舵�昏锛歿{form.wyDeposit}}</div>
+          <div>璐圭敤搴旀敹鎬昏锛歿{wyPrice}}鍏冿紝鎶奸噾搴旀敹鎬昏锛歿{form.wyDeposit}}鍏�</div>
         </div>
       </div>
+    </div>
+    <div class="window__footer" style="position: sticky; bottom: 0; left: 0; z-index: 9; background: #ffffff;">
+      <slot name="footer">
+        <el-button @click="confirm" :loading="confirmWorking" type="primary">{{activeTabs === 0 ? '涓嬩竴姝�' : '鎻愪氦'}}</el-button>
+        <slot name="btns" />
+        <el-button @click="close">{{activeTabs === 0 ? '杩斿洖' : '涓婁竴姝�'}}</el-button>
+      </slot>
     </div>
     <!-- 閫夋嫨绉熷 -->
     <MemberSearch ref="MemberSearchRef" @select="getTenant" />
@@ -387,17 +410,47 @@
       this.getUser()
       this.getProject()
       this.getCompany()
-      this.getHouseTree()
       this.visible = true
       this.$nextTick(() => {
+        this.$refs.form.resetFields()
         for (const key in this.form) {
           if (['roomIds', 'fileList', 'wyDate', 'zlDate'].includes(key)) {
             this.form[key] = []
           } else {
-            this.form[key] = target[key]
+            this.form[key] = ''
           }
         }
+        this.form.zlDetailList = [
+          {
+            startDate: '',
+            endDate: '',
+            time: [],
+            price: '',
+            advanceDays: ''
+          }
+        ]
+        this.form.wyDetailList = [
+          {
+            startDate: '',
+            endDate: '',
+            time: [],
+            price: '',
+            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.getHouseTree()
       })
+    },
+    getHouseData () {
+      if (this.form.startDate && this.form.endDate) {
+        this.getHouseTree()
+      }
     },
     changeType (e) {
       if (e === 0 || e === 2) {
@@ -406,11 +459,24 @@
         this.cactiveTabs = 1
       }
     },
+    getDayTime (num) {
+      const today = new Date();
+      const year = today.getFullYear();
+      const month = today.getMonth() + 1; // 鏈堜唤鏄粠 0 寮�濮嬬殑锛屽洜姝ら渶瑕佸姞 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}`;
+      }
+    },
     confirm () {
-      this.$refs.form.validate((valid) => {
-        if (!valid) {
-          return
-        }
+      if (this.activeTabs === 0) {
+        this.$refs.form.validate((valid) => {
+          if (!valid) return
+          this.activeTabs = 1
+        })
+      } else if (this.activeTabs === 1) {
         if (this.form.type === 0) {
           this.$refs.paramCostRef.validate((valid1) => {
             if (!valid1) {
@@ -438,7 +504,7 @@
             this.submit()
           })
         }
-      })
+      }
     },
     submit () {
       // 璋冪敤鏂板缓鎺ュ彛
@@ -471,7 +537,10 @@
       this.form.roomIds = arr.filter(item => item !== undefined);
     },
     getHouseTree () {
-      tree({})
+      tree({
+        startDate: this.form.startDate,
+        endDate: this.form.endDate
+      })
         .then(res => {
           res.forEach(item => {
             item.disabled = true
@@ -490,30 +559,30 @@
       }
     },
     generateZL () {
-      getBillList({ ...this.form })
+      getBillList({ ...this.form, billType: 0 })
         .then(res => {
           let zlPrice = 0
           let arr = []
           res.forEach(item => {
             if (item.costType === 0) {
               zlPrice += item.receivableFee
-              arr.push(item)
             }
+            arr.push(item)
           })
           this.zlPrice = zlPrice
           this.zlList = arr
         })
     },
     generateWY () {
-      getBillList({ ...this.form })
+      getBillList({ ...this.form, billType: 1 })
         .then(res => {
           let zlPrice = 0
           let arr = []
           res.forEach(item => {
             if (item.costType === 1) {
               zlPrice += item.receivableFee
-              arr.push(item)
             }
+            arr.push(item)
           })
           this.wyPrice = zlPrice
           this.wyList = arr
@@ -582,6 +651,7 @@
       companyList({ type: 2 })
         .then(res => {
           this.comparyList = res
+          this.form.companyId = res[0].id
         })
     },
     tabsClick (val) {
@@ -631,7 +701,11 @@
       this.form.fileList.push({ ...item, fileurl: item.imgaddr, name: item.originname, userName: this.userInfo.realname, createTime: this.getDay() })
     },
     close () {
-      this.$emit('close')
+      if (this.activeTabs === 0) {
+        this.$emit('close')
+      } else {
+        this.activeTabs = 0
+      }
     }
   }
 }
@@ -639,7 +713,12 @@
 
 <style lang="scss" scoped>
 @import '@/assets/style/variables.scss';
-
+.fixed {
+  background: #ffffff;
+  position: sticky;
+  top: 0;
+  left: 0;
+}
 .tabs {
   border-bottom: 1px solid #DFE2E8;
   display: flex;
diff --git a/admin/src/views/contract/components/terminateLease.vue b/admin/src/views/contract/components/terminateLease.vue
index 31fda94..6bb8929 100644
--- a/admin/src/views/contract/components/terminateLease.vue
+++ b/admin/src/views/contract/components/terminateLease.vue
@@ -24,7 +24,6 @@
                             </el-select>
                         </el-form-item>
                         <el-form-item label="閫�绉熸棩鏈�" prop="btDate" style="width: 33%;">
-<!--                            @change="changeBtDate"-->
                             <el-date-picker
                                 v-model="form.btDate"
                                 type="date"
@@ -197,12 +196,16 @@
   import AddPaymentBill from './addPaymentBill'
   import { getUserList } from '@/api/system/user'
   import { backRent, getCanBackBill } from '@/api/contract'
+  import { mapState } from 'vuex'
   export default {
     name: "terminateLease",
     components: {
       GlobalWindow,
       AddCollectionBill,
       AddPaymentBill
+    },
+    computed: {
+      ...mapState(['userInfo'])
     },
     extends: BaseOpera,
     data() {
@@ -245,30 +248,33 @@
       }
     },
     watch: {
-      info: {
-        deep: true,
-        immediate: true,
-        handler(news, olds) {
-          const arr = [...this.info.terminateList, ...this.info.depositList]
-          let total1 = 0
-          let total2 = 0
-          arr.forEach(item => {
-            if (item.billType === 0) {
-              total1 += Number(item.price)
-            } else if (item.billType === 1) {
-              total2 += Number(item.price)
-            }
-          })
-          this.receivable = total1
-          this.meet = total2
-        }
-      }
+      // info: {
+      //   deep: true,
+      //   immediate: true,
+      //   handler(news, olds) {
+      //     const arr = [...this.info.terminateList, ...this.info.depositList]
+      //     let total1 = 0
+      //     let total2 = 0
+      //     arr.forEach(item => {
+      //       if (item.billType === 0) {
+      //         total1 += Number(item.price)
+      //       } else if (item.billType === 1) {
+      //         total2 += Number(item.price)
+      //       }
+      //     })
+      //     this.receivable = total1
+      //     this.meet = total2
+      //   }
+      // }
     },
     methods: {
       open (title, info) {
         this.title = title
         this.info = info
         this.form.id = info.id
+        this.form.btSignDate = this.getDay()
+        console.log(this.userInfo)
+        this.form.btUserId = this.userInfo.id
         this.$nextTick(() => {
           this.$refs.form.resetFields()
         })
@@ -294,8 +300,30 @@
             return item
           }
         })
+        this.countData()
         this.getUser()
         this.visible = true
+      },
+      countData () {
+        const arr = [...this.info.terminateList, ...this.info.depositList]
+        let total1 = 0
+        let total2 = 0
+        arr.forEach(item => {
+          if (item.billType === 0) {
+            total1 += Number(item.price)
+          } else if (item.billType === 1) {
+            total2 += Number(item.price)
+          }
+        })
+        this.receivable = total1
+        this.meet = total2
+      },
+      getDay () {
+        const today = new Date();
+        const year = today.getFullYear();
+        const month = today.getMonth() + 1; // 鏈堜唤鏄粠 0 寮�濮嬬殑锛屽洜姝ら渶瑕佸姞 1
+        const day = today.getDate();
+        return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
       },
       addZD () {
         if (!this.form.btDate) return this.$message.warning('璇烽�夋嫨閫�绉熸棩鏈�')
@@ -317,6 +345,7 @@
           renterName: this.info.renterName,
           renterId: this.info.renterId,
           billType: 1,
+          feeType: 0,
           billTypeCopy: 1
         }, { startDate: this.info.startDate, endDate: this.form.btDate })
       },
@@ -337,16 +366,18 @@
               return item
             }
           })
+          this.countData()
         }).finally(() => {
           this.loading = false
         })
       },
       getObjS (obj) {
         this.info.terminateList.push(obj)
-        this.info.terminateList.forEach(item => {
-          item.receivableFee = Number(item.receivableFee) + 1
-          item.receivableFee = Number(item.receivableFee) - 1
-        })
+        // this.info.terminateList.forEach(item => {
+        //   item.receivableFee = Number(item.receivableFee) + 1
+        //   item.receivableFee = Number(item.receivableFee) - 1
+        // })
+        this.countData()
       },
       confirm () {
         this.$refs.form.validate((valid) => {
@@ -388,6 +419,7 @@
         if (Number(num) > row.receivableFeeCopy) {
           row.receivableFee = ''
           row.price = 0
+          this.countData()
           this.$message.warning('涓嶈兘澶т簬鍘熷搴旀敹浠橀噾棰�')
         } else {
           if (num) {
@@ -413,9 +445,9 @@
           } else {
             row.price = 0
             row.billType = row.billTypeCopy
-            console.log('billTypeCopy', row.billTypeCopy)
           }
           row.price = Math.abs(row.price);
+          this.countData()
         }
       }
     }
diff --git a/admin/src/views/contract/contractList.vue b/admin/src/views/contract/contractList.vue
index d4709f6..13a9176 100644
--- a/admin/src/views/contract/contractList.vue
+++ b/admin/src/views/contract/contractList.vue
@@ -12,7 +12,20 @@
       <el-table-column prop="renterName" label="瀹㈡埛鍚嶇О" min-width="100" show-overflow-tooltip />
       <el-table-column prop="startDate" label="寮�濮嬫棩鏈�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="endDate" label="缁撴潫鏃ユ湡" min-width="100" show-overflow-tooltip />
-<!--      <el-table-column label="绉熻祦鍗曚环" min-width="100" show-overflow-tooltip></el-table-column>-->
+        <el-table-column prop="zlFirstPrice" label="绉熻祦鍗曚环" min-width="100" show-overflow-tooltip>
+            <template slot-scope="{row}">
+                <div style="display: flex; align-items: center;">
+                    <span>{{row.zlFirstPrice}}</span>
+                    <span v-if="row.zlFirstCircle === 0">鍏�/m虏路澶�</span>
+                    <span v-if="row.zlFirstCircle === 1">鍏�/m虏路鏈�</span>
+                    <span v-if="row.zlFirstCircle === 2">鍏�/澶�</span>
+                    <span v-if="row.zlFirstCircle === 3">鍏�/鏈�</span>
+                    <span v-if="row.zlFirstCircle === 4">鍏�/骞�</span>
+                    <span v-if="row.zlFirstCircle === 5">鍏�/m虏路骞�</span>
+                    <span v-if="row.zlFirstCircle === 6">鍏�/鍦�</span>
+                </div>
+            </template>
+        </el-table-column>
       <el-table-column prop="totalArea" label="绉熻祦闈㈢Н" min-width="100" show-overflow-tooltip />
       <el-table-column prop="signDate" label="绛捐鏃�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="code" label="鍚堝悓缂栧彿" min-width="100" show-overflow-tooltip />
diff --git a/admin/src/views/finance/company.vue b/admin/src/views/finance/company.vue
index 36e48b1..5f2b7ee 100644
--- a/admin/src/views/finance/company.vue
+++ b/admin/src/views/finance/company.vue
@@ -7,7 +7,7 @@
     </div>
     <el-table v-loading="loading" :data="list" stripe>
       <el-table-column prop="name" label="鍏徃鍚嶇О" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="shortName" label="鍏徃绠�浠�" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="shortName" label="鍏徃绠�绉�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="code" label="绾崇◣璇嗗埆鍙�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="address" label="鍏徃鍦板潃" min-width="100" show-overflow-tooltip />
       <el-table-column prop="accountNum" label="鏀舵敮璐︽埛鏁伴噺" min-width="100" show-overflow-tooltip />
diff --git a/admin/src/views/finance/components/bullEditFu.vue b/admin/src/views/finance/components/bullEditFu.vue
index 82f2833..723cd41 100644
--- a/admin/src/views/finance/components/bullEditFu.vue
+++ b/admin/src/views/finance/components/bullEditFu.vue
@@ -13,8 +13,8 @@
                                 <el-option v-for="(item, index) in contract" :key="index" :value="item.id" :label="item.code"></el-option>
                             </el-select>
                         </el-form-item>
-                        <el-form-item label="浠樻鏂�" prop="renterName">
-                            <el-input v-model="form.renterName" disabled placeholder="璇疯緭鍏ュ簲鏀堕噾棰�" v-trim />
+                        <el-form-item label="鏀舵鏂�" prop="renterName">
+                            <el-input v-model="form.renterName" disabled placeholder="鏀舵鏂�" v-trim />
                         </el-form-item>
                         <el-form-item label="鎴挎簮" prop="ywContractRoomList">
                             <el-select v-model="form.ywContractRoomList" multiple placeholder="璇烽�夋嫨">
diff --git a/admin/src/views/finance/components/companyEdit.vue b/admin/src/views/finance/components/companyEdit.vue
index 0ab2eeb..2b5005b 100644
--- a/admin/src/views/finance/components/companyEdit.vue
+++ b/admin/src/views/finance/components/companyEdit.vue
@@ -5,7 +5,7 @@
       <el-form-item label="鍏徃鍚嶇О" prop="name">
         <el-input v-model="param.name" placeholder="璇疯緭鍏�" v-trim />
       </el-form-item>
-      <el-form-item label="鍏徃绠�浠�" prop="shortName">
+      <el-form-item label="鍏徃绠�绉�" prop="shortName">
         <el-input v-model="param.shortName" placeholder="璇疯緭鍏�" v-trim />
       </el-form-item>
       <el-form-item label="绾崇◣璇嗗埆鍙�">
@@ -90,4 +90,4 @@
 }
 </script>
 
-<style lang="scss" scoped></style>
\ No newline at end of file
+<style lang="scss" scoped></style>
diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue
index ddcbbeb..a728dbc 100644
--- a/admin/src/views/login.vue
+++ b/admin/src/views/login.vue
@@ -127,7 +127,6 @@
           uuid: this.captcha.uuid
         })
           .then((res) => {
-            // window.location.href = process.env.VUE_APP_CONTEXT_PATH
             if (this.isRemPsd) {
               localStorage.setItem('username', this.username.trim())
               localStorage.setItem('password', this.password.trim())
@@ -138,7 +137,7 @@
               localStorage.removeItem('isRemPsd')
             }
             Cookies.set('dm_user_token', res)
-            this.$router.push('index')
+            window.location.href = process.env.VUE_APP_CONTEXT_PATH
           })
           .catch(e => {
             this.refreshCaptcha()
diff --git a/admin/src/views/project/housingList.vue b/admin/src/views/project/housingList.vue
index b5becde..898b009 100644
--- a/admin/src/views/project/housingList.vue
+++ b/admin/src/views/project/housingList.vue
@@ -40,9 +40,9 @@
         <el-table-column prop="feeArea" label="璁¤垂闈㈢Н(m虏)" min-width="80px"></el-table-column>
         <el-table-column prop="" label="绉熻祦鐘舵��" min-width="80px">
           <template v-slot="{row}">
-            <span v-if="row.leaseStatus == 0">寰呯璧�</span>
-            <span v-if="row.leaseStatus == 1">宸茬璧�</span>
-            <span v-if="row.leaseStatus == 2">鏈紑鍚璧�</span>
+            <span v-if="row.leaseStatus == 0">寰呯</span>
+            <span v-else-if="row.leaseStatus == 1">宸茬</span>
+            <span v-else>-</span>
           </template>
         </el-table-column>
         <el-table-column prop="isInvestment" label="鎷涘晢鐘舵��" min-width="60px">
diff --git a/h5/pages/common/memberSel.vue b/h5/pages/common/memberSel.vue
index ee80a52..24c5818 100644
--- a/h5/pages/common/memberSel.vue
+++ b/h5/pages/common/memberSel.vue
@@ -64,7 +64,7 @@
 					realname: param.name,
 					id: param.id
 				}).then(res => {
-					this.memberList = res.data || []
+					this.memberList = [{id: '', realname: '鍏ㄩ儴'}, ...res.data]
 				})
 			}
 		}
diff --git a/h5/pages/operation/record.vue b/h5/pages/operation/record.vue
index 18c1025..14fc07e 100644
--- a/h5/pages/operation/record.vue
+++ b/h5/pages/operation/record.vue
@@ -99,7 +99,7 @@
 			},
 			getpeo() {
 				findInternalList().then(res => {
-					this.columns = [res.data]
+					this.columns = [...res.data]
 				})
 			},
 			confirm(e) {
diff --git a/h5/pages/polling/task.vue b/h5/pages/polling/task.vue
index e93198f..e89f434 100644
--- a/h5/pages/polling/task.vue
+++ b/h5/pages/polling/task.vue
@@ -1,173 +1,196 @@
 <template>
 	<view class="main_app">
-<!-- 		<view class="head_wrap">
+		<!-- 		<view class="head_wrap">
 			<view class="search_wrap">
 				<image class="mr12 search" src="@/static/home/ic_search@2x.png" mode="widthFix"></image>
 				<input v-model="param.keyword" @confirm="getList()" type="text" placeholder="鎼滅储妤煎畤/鎴块棿鍚嶇О" placeholder-class="placeholder9" />
 			</view>
-		</view> -->
-		<!--  -->
-		<view class="tabs">
-			<view class="tab" :class="{active: param.queryStatus == '0,1'}" @click="tabsClick('0,1')">
-				<text>寰呭鐞�</text>
-				<text class="border"></text>
-			</view>
-			<view class="tab" :class="{active: param.queryStatus == 3}" @click="tabsClick(3)">
-				<text>宸插鐞�</text>
-				<text class="border"></text>
-			</view>
-			<view class="tab" @click="allClick">
-				<view class="name">
-					<image v-if="selectAll" class="icon" src="@/static/checked.png" mode=""></image>
-					<image v-else class="icon" src="@/static/check.png" mode=""></image>
-					<text>鏌ョ湅鍏ㄩ儴</text>
-				</view>
-				<text class="border"></text>
-			</view>
+		</view> -->
+		<!--  -->
+		<view class="tabs">
+			<view class="tab" :class="{active: param.queryStatus == '0,1'}" @click="tabsClick('0,1')">
+				<text>寰呭鐞�</text>
+				<text class="border"></text>
+			</view>
+			<view class="tab" :class="{active: param.queryStatus == 3}" @click="tabsClick(3)">
+				<text>宸插鐞�</text>
+				<text class="border"></text>
+			</view>
+			<view class="tab" @click="allClick">
+				<view class="name">
+					<image v-if="selectAll" class="icon" src="@/static/checked.png" mode=""></image>
+					<image v-else class="icon" src="@/static/check.png" mode=""></image>
+					<text>鏌ョ湅鍏ㄩ儴</text>
+				</view>
+				<text class="border"></text>
+			</view>
 		</view>
 		<!--  -->
-		<view class="list">
-			<view class="item" v-for="item in list" @click="itemClick(item)">
-				<image v-if="item.status == 0 || item.status == 1" src="@/static/side/xunjianed.png" class="icon"></image>
-				<image v-else src="@/static/side/xunjian.png" class="icon"></image>
-				<view class="content">
-					<view class="name_wrap line">
-						<view class="name">{{item.planTitle}}</view>
-						<view class="status" :class="{
-							green: item.status == 1,
-							red: item.status == 2,
-							gray: item.status == 3 || item.status == 4
-						}">{{statusM[item.status]}}</view>
-					</view>
-					<view class="line" v-if="item.startDate">浠诲姟鏃ユ湡锛歿{ item.startDate.slice(0, 11) }}</view>
-					<view class="line">鎵ц鏃堕棿锛歿{ item.startDate.slice(11, 16) }} 鑷� {{ item.endDate.slice(11, 16) }}</view>
-					<view class="line">
-						<view>瀹屾垚鎯呭喌锛歿{item.finishNum || 0}}/{{item.patrolNum}}</view>
-						<view class="btn">
-							<image src="@/static/side/ic_saoma@2x.png" class="saoma" mode=""></image>
-							<view>鎵爜宸℃</view>
-						</view>
+		<scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
+			<view class="list">
+				<view class="item" v-for="item in list" @click="itemClick(item)">
+					<image v-if="item.status == 0 || item.status == 1" src="@/static/side/xunjianed.png" class="icon"></image>
+					<image v-else src="@/static/side/xunjian.png" class="icon"></image>
+					<view class="content">
+						<view class="name_wrap line">
+							<view class="name">{{item.planTitle}}</view>
+							<view class="status" :class="{
+								green: item.status == 1,
+								red: item.status == 2,
+								gray: item.status == 3 || item.status == 4
+							}">{{statusM[item.status]}}</view>
+						</view>
+						<view class="line" v-if="item.startDate">浠诲姟鏃ユ湡锛歿{ item.startDate.slice(0, 11) }}</view>
+						<view class="line">鎵ц鏃堕棿锛歿{ item.startDate.slice(11, 16) }} 鑷� {{ item.endDate.slice(11, 16) }}</view>
+						<view class="line">
+							<view>瀹屾垚鎯呭喌锛歿{item.finishNum || 0}}/{{item.patrolNum}}</view>
+							<view class="btn">
+								<image src="@/static/side/ic_saoma@2x.png" class="saoma" mode=""></image>
+								<view>鎵爜宸℃</view>
+							</view>
+						</view>
 					</view>
 				</view>
 			</view>
-		</view>
+		</scroll-view>
+
 		<!--  -->
 	</view>
 </template>
 
-<script>
-	import { ywPatrolTaskPost } from '@/api'
+<script>
+	import {
+		ywPatrolTaskPost
+	} from '@/api'
 	export default {
 		data() {
 			return {
-				param: {
-					queryStatus: '0,1'
-				},
-				list: [],
-				activeTab: 0,
-				selectAll: false,
-				page: 1,
-				
-				statusM: {
-					0: '寰呭紑濮�',
-					1: '杩涜涓�',
-					2: '宸茶秴鏈�',
-					3: '宸插畬鎴�',
-					4: '宸插彇娑�',
+				param: {
+					queryStatus: '0,1'
+				},
+				list: [],
+				activeTab: 0,
+				selectAll: false,
+				page: 1,
+
+				statusM: {
+					0: '寰呭紑濮�',
+					1: '杩涜涓�',
+					2: '宸茶秴鏈�',
+					3: '宸插畬鎴�',
+					4: '宸插彇娑�',
 				}
 			};
-		},
-		onLoad() {
-			this.getList()
-		},
-		onReachBottom() {
-			const {total,list} = this
-			if (list.length < total) {
-				this.page = this.page + 1
-				this.getList()
-			} else {
-				this.showToast('鏆傛棤鏇村鏁版嵁')
-			}
 		},
-		methods: {
-			tabsClick(val) {
-				this.param.status = val
-				this.page = 1
-				this.list = []
-				this.getList()
-			},
-			allClick() {
-				this.selectAll = !this.selectAll
-				this.list = []
-				this.page = 1
-				this.getList()
-			},
-			itemClick(item) {
-				uni.navigateTo({
-					url: '/pages/polling/detail?id=' + item.id
-				})
-			},
-			getList() {
-				const { page, param, selectAll } = this
-				ywPatrolTaskPost({
-					model: {...param, dealUserId: selectAll ? '' : uni.getStorageSync('userInfo').id, },
-					page,
-					capacity: 10
-				}).then(res => {
-					this.list = [...this.list, ...res.data.records]
-					this.total = res.data.total
-				})
+		onLoad() {
+			this.getList()
+		},
+		methods: {
+			scrolltolower() {
+				const {
+					total,
+					list
+				} = this
+				if (list.length < total) {
+					this.page = this.page + 1
+					this.getList()
+				} else {
+					this.showToast('鏆傛棤鏇村鏁版嵁')
+				}
+			},
+			tabsClick(val) {
+				this.param.queryStatus = val
+				this.page = 1
+				this.list = []
+				this.getList()
+			},
+			allClick() {
+				this.selectAll = !this.selectAll
+				this.list = []
+				this.page = 1
+				this.getList()
+			},
+			itemClick(item) {
+				uni.navigateTo({
+					url: '/pages/polling/detail?id=' + item.id
+				})
+			},
+			getList() {
+				const {
+					page,
+					param,
+					selectAll
+				} = this
+				ywPatrolTaskPost({
+					model: {
+						...param,
+						dealUserId: selectAll ? '' : uni.getStorageSync('userInfo').id,
+					},
+					page,
+					capacity: 10
+				}).then(res => {
+					this.list = [...this.list, ...res.data.records]
+					this.total = res.data.total
+				})
 			}
 		}
 	}
 </script>
 
-<style lang="scss" scoped>
-	.main_app{
-		padding: 0 30rpx;
-	}
-	.tabs{
-		display: flex;
-		width: 750rpx;
-		margin: 12rpx -30rpx 0;
-		border-bottom: 1rpx solid #E5E5E5;
-		.tab{
-			font-size: 30rpx;
-			color: #666666;
-			flex: 1;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: flex-end;
-			height: 88rpx;
-			.name{
-				display: flex;
-				align-items: center;
-			}
-			.icon{
-				width: 28rpx;
-				height: 28rpx;
-				margin-right: 10rpx;
-			}
-			.border{
-				width: 54rpx;
-				height: 6rpx;
-				background-color: #fff;
-				border-radius: 3rpx;
-				margin-top: 24rpx;
-			}
-		}
-		.active{
-			font-weight: 600;
-			font-size: 32rpx;
-			color: #222222;
-			.border{
-				background-color: $primaryColor;
-			}
-			
-		}
-		
+<style lang="scss" scoped>
+	.main_app {
+		padding: 0 30rpx;
 	}
+
+	.tabs {
+		display: flex;
+		width: 750rpx;
+		margin: 12rpx -30rpx 0;
+		border-bottom: 1rpx solid #E5E5E5;
+
+		.tab {
+			font-size: 30rpx;
+			color: #666666;
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: flex-end;
+			height: 88rpx;
+
+			.name {
+				display: flex;
+				align-items: center;
+			}
+
+			.icon {
+				width: 28rpx;
+				height: 28rpx;
+				margin-right: 10rpx;
+			}
+
+			.border {
+				width: 54rpx;
+				height: 6rpx;
+				background-color: #fff;
+				border-radius: 3rpx;
+				margin-top: 24rpx;
+			}
+		}
+
+		.active {
+			font-weight: 600;
+			font-size: 32rpx;
+			color: #222222;
+
+			.border {
+				background-color: $primaryColor;
+			}
+
+		}
+
+	}
+
 	.head_wrap {
 		display: flex;
 		align-items: center;
@@ -180,9 +203,11 @@
 			background: #F7F7F7;
 			border-radius: 38rpx;
 			padding-left: 30rpx;
-			input{
-				flex: 1;
+
+			input {
+				flex: 1;
 			}
+
 			.search {
 				width: 28rpx;
 				height: 28rpx;
@@ -191,70 +216,86 @@
 
 	}
 
+	.scroll_Y {
+		height: calc(100vh - 230rpx);
+	}
+
 	.list {
 		.item {
 			display: flex;
-			// height: 290rpx;
-			padding: 30rpx 0;
+			// height: 290rpx;
+			padding: 30rpx 0;
 			border-bottom: 2rpx solid #E5E5E5;
+			&:nth-last-child(1){
+				border: none;
+			}
 			.icon {
 				width: 80rpx;
-				height: 80rpx;
+				height: 80rpx;
 				margin-right: 24rpx;
 			}
 
 			.content {
-				flex: 1;
-				color: #666666;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.line{
-					margin-bottom: 20rpx;
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-					.btn{
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						width: 180rpx;
-						height: 60rpx;
-						background: $primaryColor;
-						color: #fff;
-						font-size: 26rpx;
-						box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0,104,255,0.3);
-						border-radius: 30rpx;
-						.saoma{
-							width: 28rpx;
-							height: 28rpx;
-							margin-right: 8rpx;
-						}
-					}
-					&:nth-last-child(1){
-						margin-bottom: 0;
-					}
-				}
-				.name_wrap{
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-					.name{
-						display: flex;
-						align-items: flex-end;
-						font-weight: 600;
-						font-size: 34rpx;
-						color: #222222;
-					}
-					.status{
-						color: $primaryColor;
-					}
-					.green{
-						color: #0ADE79;
-					}
-					.gray{
-						color: #999999;
-					}
+				flex: 1;
+				color: #666666;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+
+				.line {
+					margin-bottom: 20rpx;
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+
+					.btn {
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						width: 180rpx;
+						height: 60rpx;
+						background: $primaryColor;
+						color: #fff;
+						font-size: 26rpx;
+						box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
+						border-radius: 30rpx;
+
+						.saoma {
+							width: 28rpx;
+							height: 28rpx;
+							margin-right: 8rpx;
+						}
+					}
+
+					&:nth-last-child(1) {
+						margin-bottom: 0;
+					}
+				}
+
+				.name_wrap {
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+
+					.name {
+						display: flex;
+						align-items: flex-end;
+						font-weight: 600;
+						font-size: 34rpx;
+						color: #222222;
+					}
+
+					.status {
+						color: $primaryColor;
+					}
+
+					.green {
+						color: #0ADE79;
+					}
+
+					.gray {
+						color: #999999;
+					}
 				}
 			}
 		}
diff --git a/h5/pages/workOrder/edit.vue b/h5/pages/workOrder/edit.vue
index f51e237..4225aa1 100644
--- a/h5/pages/workOrder/edit.vue
+++ b/h5/pages/workOrder/edit.vue
@@ -26,7 +26,7 @@
 					<u-icon name="arrow-right" color="#999999" size="15"></u-icon>
 				</view>
 			</view>
-			<view class="item">
+			<view class="item" v-if="param.areaType == 0">
 				<view class="la">涓婇棬鏃堕棿</view>
 				<view class="line sel_wrap" @click="showTime = true">
 					<view class="left" :class="param.getDate ? '' : 'placeholder9'">{{ param.getDate ? param.getDate : '璇烽�夋嫨' }}
diff --git a/h5/pages/workOrder/list.vue b/h5/pages/workOrder/list.vue
index 6336405..7928b55 100644
--- a/h5/pages/workOrder/list.vue
+++ b/h5/pages/workOrder/list.vue
@@ -44,7 +44,7 @@
 						<view class="line">浣嶇疆绫诲瀷锛歿{item.areaType == '0' ? '瀹ゅ唴瑁呬慨' : '鍏叡鍖哄煙'}}</view>
 						<view class="line">宸ュ崟鍒嗙被锛歿{item.categoryName}}</view>
 						<view class="line">涓婃姤鏃堕棿锛歿{item.createDate}}</view>
-						<view class="line">涓婇棬鏃堕棿锛歿{item.getDate}}</view>
+						<view class="line" v-if="item.getDate">涓婇棬鏃堕棿锛歿{item.getDate}}</view>
 					</view>
 				</view>
 				<view v-if="list.length == 0" class="empty_wrap">

--
Gitblit v1.9.3