From c0b0407a8630dc62a95dd882f2e088916d6dcb8b Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 03 十二月 2024 18:17:41 +0800
Subject: [PATCH] 开发
---
admin/.env | 2
admin/src/views/contract/components/addPaymentBill.vue | 19 +++
admin/src/views/contract/components/contractEdit.vue | 137 ++++++++++++++++++----
admin/src/views/login.vue | 3
admin/src/views/contract/components/terminateLease.vue | 80 +++++++++----
admin/src/views/contract/components/addCollectionBill.vue | 17 +-
admin/src/views/contract/contractList.vue | 15 ++
admin/src/views/contract/components/contractDetail.vue | 21 +++
admin/src/views/finance/company.vue | 2
admin/.env.test | 2
admin/src/views/contract/components/config.js | 4
admin/src/views/finance/components/companyEdit.vue | 4
admin/src/components/common/MemberSearch/src/index.vue | 13 +
admin/src/views/finance/components/bullEditFu.vue | 4
14 files changed, 241 insertions(+), 82 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/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/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..fd529c4 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="璇烽�夋嫨">
@@ -131,8 +139,8 @@
<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>
@@ -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>
<!-- 鐗╀笟鏉℃ -->
@@ -211,7 +223,7 @@
</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>
@@ -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()
--
Gitblit v1.9.3