<template>
|
<GlobalWindow width="1000px" :title="title" :visible.sync="showModal" :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>
|
</div>
|
<template v-if="activeTabs == 0">
|
<div class="main">
|
<div class="main_content">
|
<el-form :model="param" ref="paramRef" :rules="rules">
|
<div class="m_title">基础信息</div>
|
<div class="list">
|
<el-form-item label="合同类型" prop="type">
|
<el-select v-model="param.type" placeholder="请选择" clearable>
|
<el-option v-for="item in types" :value="item.value" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="合同编号" prop="code">
|
<el-input v-model="param.code" placeholder="请输入合同编号" v-trim />
|
</el-form-item>
|
<el-form-item label="经办人" prop="aaa">
|
<el-select v-model="param.aaa" placeholder="请选择" clearable>
|
<el-option v-for="item in agentList" :value="item.id" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="合同签订日期" prop="">
|
<el-date-picker type="date" v-model="param.getDate" value-format="yyyy-MM-dd" placeholder="请选择" />
|
</el-form-item>
|
<el-form-item label="合同开始日期" prop="">
|
<el-date-picker type="date" v-model="param.getDate" value-format="yyyy-MM-dd" placeholder="请选择" />
|
</el-form-item>
|
<el-form-item label="合同结束日期" prop="">
|
<el-date-picker type="date" v-model="param.getDate" value-format="yyyy-MM-dd" placeholder="请选择" />
|
</el-form-item>
|
<el-form-item label="归属项目" prop="">
|
<el-select v-model="param.aaa" placeholder="请选择" clearable>
|
<el-option v-for="item in projectList" :value="item.id" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="结果取整(四舍五入)" prop="">
|
<el-select v-model="param.aaa" placeholder="请选择" clearable>
|
<el-option :value="0" label="否"></el-option>
|
<el-option :value="1" label="是"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="所属公司" prop="">
|
<el-select v-model="param.aaa" placeholder="请选择" clearable>
|
<el-option v-for="item in comparyList" :value="item.id" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
</div>
|
<div class="m_title">租客信息</div>
|
<div class="list">
|
<el-form-item label="租客" prop="">
|
<el-button @click="handleRent" type="primary">选择租客</el-button>
|
<el-select v-model="param.aaa" placeholder="请选择" clearable>
|
<el-option v-for="item in renterList" :value="item.id" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="联系人" prop="">
|
<el-select v-model="param.aaa" placeholder="请选择" clearable>
|
<el-option v-for="item in contacts" :value="item.id" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
</div>
|
</el-form>
|
</div>
|
<div class="main_house">
|
<div class="title">请选择房源</div>
|
<el-cascader style="width: 300px" v-model="value" @change="houseChange" :options="options"
|
:props="{ multiple: true }" collapse-tags clearable />
|
</div>
|
</div>
|
<div class="file_wrap">
|
<div class="head">
|
<div>合同附件</div>
|
<el-button icon="el-icon-plus" plain>添加附件</el-button>
|
</div>
|
<el-table :data="param.list" stripe>
|
<el-table-column prop="" label="附件名称" align="center" min-width="100" show-overflow-tooltip />
|
<el-table-column prop="" label="操作人" align="center" min-width="100" show-overflow-tooltip />
|
<el-table-column prop="" label="操作时间" align="center" min-width="100" show-overflow-tooltip />
|
<el-table-column prop="" label="操作" align="center" min-width="100">
|
<template v-slot="scope">
|
<span class="cu red">删除</span>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</template>
|
<template v-if="activeTabs == 1">
|
<div class="tabs cost_tabs">
|
<div class="tab" :class="{ active: cactiveTabs == 0 }" @click="ctabsClick(0)">租赁条款</div>
|
<div class="tab" :class="{ active: cactiveTabs == 1 }" @click="ctabsClick(1)">物业条款</div>
|
</div>
|
<div class="main">
|
<div class="main_content">
|
<el-form :model="paramCost" ref="paramCostRef" :rules="rules">
|
<div class="m_title">租赁信息</div>
|
<div class="list">
|
<el-form-item label="押金金额(元)" prop="type">
|
<el-input v-model="paramCost.code" placeholder="请输入" v-trim />
|
</el-form-item>
|
<el-form-item label="付款方式" prop="code">
|
<el-select v-model="paramCost.type" placeholder="请选择" clearable>
|
<el-option v-for="item in payMethods" :value="item.value" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="免租期" prop="aaa">
|
<el-date-picker type="daterange" v-model="paramCost.getDate" value-format="yyyy-MM-dd"
|
placeholder="请选择" />
|
</el-form-item>
|
</div>
|
<div class="m_title">租赁条款</div>
|
<div class="list">
|
<el-form-item label="起始日期" prop="">
|
<el-date-picker type="date" v-model="paramCost.getDate" value-format="yyyy-MM-dd" placeholder="请选择" />
|
</el-form-item>
|
<el-form-item label="合同单价" prop="">
|
<el-input placeholder="请输入内容" v-model="paramCost.aaa">
|
<el-select v-model="paramCost.ddd" slot="append" placeholder="请选择" clearable>
|
<el-option v-for="item in unitOps" :value="item.value" :label="item.name"></el-option>
|
</el-select>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="付款提前天数" prop="">
|
<el-input v-model="paramCost.aaa" placeholder="请输入" v-trim />
|
</el-form-item>
|
</div>
|
</el-form>
|
</div>
|
</div>
|
<el-button style="width: 100%;height: 48px;" type="primary" plain>生成账单明细</el-button>
|
<el-table :data="paramCost.list" class="mt20" stripe>
|
<el-table-column prop="" label="费用类型" align="center" width="160px" show-overflow-tooltip />
|
<el-table-column prop="" label="指数"align="center" min-width="100" show-overflow-tooltip />
|
<el-table-column prop="" label="区间" align="center" min-width="100" show-overflow-tooltip />
|
<el-table-column prop="" label="付款日" align="center" min-width="100" show-overflow-tooltip />
|
<el-table-column prop="" label="应收" align="center" min-width="100" show-overflow-tooltip />
|
</el-table>
|
<div class="total">
|
<span>总计</span>
|
<div>费用应收总计:,押金应收总计:</div>
|
</div>
|
</template>
|
<!-- -->
|
<MemberSearch ref="MemberSearchRef" />
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import BaseOpera from '@/components/base/BaseOpera'
|
import MemberSearch from '@/components/common/MemberSearch'
|
import { rules } from './config'
|
export default {
|
components: {
|
GlobalWindow,
|
MemberSearch
|
},
|
extends: BaseOpera,
|
data() {
|
return {
|
showModal: false,
|
title: '创建合同',
|
activeTabs: '0',
|
param: {},
|
rules,
|
|
types: [
|
{ name: '物业+租赁合同', value: 0 },
|
{ name: '租赁合同', value: 1 },
|
{ name: '物业合同', value: 2 },
|
],
|
agentList: [], //经办人
|
projectList: [],
|
comparyList: [], // 公司
|
renterList: [], // 租客
|
contacts: [], // 联系人
|
value: [],
|
options: [
|
{
|
value: 1,
|
label: '东南',
|
children: [{
|
value: 2,
|
label: '上海',
|
children: [
|
{ value: 3, label: '普陀' },
|
{ value: 4, label: '黄埔' },
|
{ value: 5, label: '徐汇' }
|
]
|
}, {
|
value: 7,
|
label: '江苏',
|
children: [
|
{ value: 8, label: '南京' },
|
{ value: 9, label: '苏州' },
|
{ value: 10, label: '无锡' }
|
]
|
}, {
|
value: 12,
|
label: '浙江',
|
children: [
|
{ value: 13, label: '杭州' },
|
{ value: 14, label: '宁波' },
|
{ value: 15, label: '嘉兴' }
|
]
|
}]
|
},
|
{
|
value: 17,
|
label: '西北',
|
children: [{
|
value: 18,
|
label: '陕西',
|
children: [
|
{ value: 19, label: '西安' },
|
{ value: 20, label: '延安' }
|
]
|
}, {
|
value: 21,
|
label: '新疆维吾尔族自治区',
|
children: [
|
{ value: 22, label: '乌鲁木齐' },
|
{ value: 23, label: '克拉玛依' }
|
]
|
}]
|
}
|
],
|
cactiveTabs: 0,
|
paramCost: {},
|
payMethods: [
|
{ name: '一次性付款', value: 0 },
|
{ name: '3个月一付', value: 1 },
|
{ name: '6个月一付', value: 2 },
|
{ name: '1年一付', value: 2 },
|
],
|
unitOps: [
|
{ name: '元/m²·天', value: 0 },
|
{ name: '元/m²·月', value: 1 },
|
{ name: '元/天', value: 2 },
|
{ name: '元/月', value: 3 },
|
{ name: '元/年', value: 4 },
|
{ name: '元/m²·年', value: 5 },
|
{ name: '元/场', value: 6 },
|
],
|
}
|
},
|
methods: {
|
tabsClick(val) {
|
this.activeTabs = val
|
},
|
ctabsClick(val) {
|
this.cactiveTabs = val
|
},
|
getDetail() {
|
|
},
|
handleRent() {
|
this.$refs.MemberSearchRef.openModal()
|
},
|
houseChange(e) {
|
console.log(e)
|
console.log(this.value)
|
|
},
|
close() {
|
this.showModal = false
|
this.$emit('close')
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
@import '@/assets/style/variables.scss';
|
|
.tabs {
|
border-bottom: 1px solid #DFE2E8;
|
display: flex;
|
margin-bottom: 20px;
|
display: flex;
|
justify-content: center;
|
|
.tab {
|
height: 58px;
|
line-height: 58px;
|
font-size: 16px;
|
color: #666666;
|
margin: 0 30px;
|
cursor: pointer;
|
}
|
|
.active {
|
font-weight: 500;
|
color: $primary-color;
|
border-bottom: 2px solid $primary-color;
|
}
|
}
|
|
.cost_tabs {
|
justify-content: flex-start;
|
border: none;
|
|
.tab {
|
height: 36px;
|
line-height: 36px;
|
font-size: 14px;
|
}
|
}
|
|
.main {
|
display: flex;
|
margin-bottom: 20px;
|
|
.main_content {
|
flex: 1;
|
margin-right: 20px;
|
|
.list {
|
display: flex;
|
flex-wrap: wrap;
|
|
.el-form-item {
|
width: 33.33%;
|
box-sizing: border-box;
|
padding: 0 12px;
|
}
|
}
|
}
|
|
.main_house {
|
width: 420px;
|
padding: 24px 12px;
|
border: 1px solid #c3c6cd;
|
border-radius: 2px;
|
|
.title {
|
font-size: 16px;
|
font-weight: 500;
|
margin-bottom: 30px;
|
}
|
}
|
|
}
|
.total{
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
height: 32px;
|
background-color: #e7e9f5;
|
span{
|
width: 160px;
|
text-align: center;
|
}
|
}
|
.file_wrap {
|
padding: 20px 16px;
|
border: 1px solid #c3c6cd;
|
border-radius: 2px;
|
|
.head {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
}
|
}
|
|
.m_title {
|
font-weight: 500;
|
font-size: 14px;
|
margin-bottom: 15px;
|
margin-top: 10px;
|
}
|
</style>
|