MrShi
2024-12-03 c0b0407a8630dc62a95dd882f2e088916d6dcb8b
开发
已修改14个文件
323 ■■■■ 文件已修改
admin/.env 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.test 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/MemberSearch/src/index.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/addCollectionBill.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/addPaymentBill.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/config.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/contractDetail.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/contractEdit.vue 137 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/terminateLease.vue 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/contractList.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/finance/company.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/finance/components/bullEditFu.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/finance/components/companyEdit.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/login.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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'
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/'
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: {
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()
          }
        }
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
        // 新建
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: '请选择' }]
}
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">正常执行中</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>
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;
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()
        }
      }
    }
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 />
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 />
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="请选择">
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>
<style lang="scss" scoped></style>
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()