MrShi
2024-12-05 ae7d22f1a717cf912c089ccb9ca806a7827c4681
改bug
已修改3个文件
94 ■■■■■ 文件已修改
admin/src/views/contract/components/contractEdit.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/finance/components/bullDetail.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/finance/components/bullEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/contractEdit.vue
@@ -124,10 +124,10 @@
              <div class="m_title">租赁信息</div>
              <div class="list">
                <el-form-item label="押金金额(元)" prop="zlDeposit">
                  <el-input v-model="form.zlDeposit" placeholder="请输入" v-trim />
                  <el-input v-model="form.zlDeposit" @input="clearzl" placeholder="请输入" v-trim />
                </el-form-item>
                <el-form-item label="付款方式" prop="zlPayType">
                  <el-select v-model="form.zlPayType" placeholder="请选择">
                  <el-select v-model="form.zlPayType" @change="clearzl" placeholder="请选择">
                    <el-option v-for="(item, index) in payMethods" :key="index" :value="item.value" :label="item.name"></el-option>
                  </el-select>
                </el-form-item>
@@ -141,20 +141,26 @@
                <el-button type="text" size="medium" @click="addZl">增加</el-button>
              </div>
              <div class="list">
                <div style="width: 100%; display: flex; flex-wrap: wrap;" v-for="(item, index) in form.zlDetailList" :key="index">
                  <el-form-item label="起始日期" prop="time">
                    <el-date-picker type="daterange" v-model="item.time" @change="getDate1($event, index)" value-format="yyyy-MM-dd" placeholder="请选择" />
                <div style="width: 100%; display: flex; flex-wrap: wrap;" v-for="(zlDetailList, index) in form.zlDetailList" :key="index">
                  <el-form-item label="起始日期" :prop="'zlDetailList.' + index + '.time'" :rules="{
                    required: true, message: '请选择', trigger: 'blur'
                  }">
                    <el-date-picker type="daterange" v-model="zlDetailList.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" class="input-with-select">
                      <el-select v-model="item.circleType" style="width: 150px;" slot="append" placeholder="请选择">
                  <el-form-item label="合同单价" :prop="'zlDetailList.' + index + '.price'" :rules="{
                    required: true, message: '请输入', trigger: 'blur'
                  }">
                    <el-input placeholder="请输入" v-model="zlDetailList.price" @input="clearzl" class="input-with-select">
                      <el-select v-model="zlDetailList.circleType" @change="clearzl" 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>
                  </el-form-item>
                  <el-form-item label="付款提前天数" prop="advanceDays">
                  <el-form-item label="付款提前天数" :prop="'zlDetailList.' + index + '.advanceDays'" :rules="{
                    required: true, message: '请输入', trigger: 'blur'
                  }">
                    <div style="display: flex; align-items: center; justify-content: space-between;">
                      <el-input v-model="item.advanceDays" placeholder="请输入" v-trim />
                      <el-input v-model="zlDetailList.advanceDays" @input="clearzl" placeholder="请输入" v-trim />
                      <el-link :underline="false" type="danger" @click="deleZl(index)" style="margin-left: 20px; flex-shrink: 0;">删除</el-link>
                    </div>
                  </el-form-item>
@@ -207,10 +213,10 @@
              <div class="m_title">物业信息</div>
              <div class="list">
                <el-form-item label="物业押金" prop="wyDeposit">
                  <el-input v-model="form.wyDeposit" placeholder="请输入" v-trim />
                  <el-input v-model="form.wyDeposit" @input="clearwy" placeholder="请输入" v-trim />
                </el-form-item>
                <el-form-item label="付款方式" prop="wyPayType">
                  <el-select v-model="form.wyPayType" placeholder="请选择">
                  <el-select v-model="form.wyPayType" @change="clearwy" placeholder="请选择">
                    <el-option v-for="(item, index) in payMethods" :key="index" :value="item.value" :label="item.name"></el-option>
                  </el-select>
                </el-form-item>
@@ -224,20 +230,26 @@
                <el-button type="text" size="medium" @click="addWy">增加</el-button>
              </div>
              <div class="list">
                <div style="width: 100%; display: flex; flex-wrap: wrap;" v-for="(item, index) in form.wyDetailList" :key="index">
                  <el-form-item label="起始日期" prop="time">
                    <el-date-picker type="daterange" v-model="item.time" @change="getDate2($event, index)" value-format="yyyy-MM-dd" placeholder="请选择" />
                <div style="width: 100%; display: flex; flex-wrap: wrap;" v-for="(wyDetailList, index) in form.wyDetailList" :key="index">
                  <el-form-item label="起始日期" :prop="'wyDetailList.' + index + '.time'" :rules="{
                    required: true, message: '请输入', trigger: 'blur'
                  }">
                    <el-date-picker type="daterange" v-model="wyDetailList.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" style="width: 150px;" slot="append" placeholder="请选择">
                  <el-form-item label="合同单价" :prop="'wyDetailList.' + index + '.price'" :rules="{
                    required: true, message: '请输入', trigger: 'blur'
                  }">
                    <el-input placeholder="请输入" @input="clearwy" v-model="wyDetailList.price">
                      <el-select v-model="wyDetailList.circleType" @change="clearwy" 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>
                  </el-form-item>
                  <el-form-item label="付款提前天数" prop="advanceDays">
                  <el-form-item label="付款提前天数" :prop="'wyDetailList.' + index + '.advanceDays'" :rules="{
                    required: true, message: '请输入', trigger: 'blur'
                  }">
                    <div style="display: flex; align-items: center; justify-content: space-between;">
                      <el-input v-model="item.advanceDays" placeholder="请输入" v-trim />
                      <el-input v-model="wyDetailList.advanceDays" @input="clearwy" placeholder="请输入" v-trim />
                      <el-link :underline="false" type="danger" @click="deleWy(index)" style="margin-left: 20px; flex-shrink: 0;">删除</el-link>
                    </div>
                  </el-form-item>
@@ -420,6 +432,8 @@
      this.title = title
      this.ids = []
      this.houseList = []
      this.zlPrice = ''
      this.wyPrice = ''
      this.getUser()
      this.getProject()
      this.getCompany()
@@ -433,6 +447,12 @@
            this.form[key] = ''
          }
        }
        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.form.zlDetailList = [
          {
            circleType: 0,
@@ -453,12 +473,6 @@
            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()
      })
    },
@@ -515,12 +529,20 @@
        }
      ]
    },
    clearzl () {
      this.zlList = []
      this.zlPrice = ''
    },
    clearwy () {
      this.wyList = []
      this.wyPrice = ''
    },
    confirm () {
      var that = this
      if (this.activeTabs === 0) {
        this.$refs.form.validate((valid) => {
          if (!valid) return
          if (this.form.roomIds.length === 0) return this.$message.warning('请选择房源!')
          this.clearData()
          this.activeTabs = 1
        })
      } else if (this.activeTabs === 1) {
@@ -533,6 +555,8 @@
              if (!valid2) {
                return
              }
              if (that.zlList.length === 0) return that.$message.warning('请先生成租赁账单!')
              if (that.wyList.length === 0) return that.$message.warning('请先生成物业账单!')
              this.submit()
            })
          })
@@ -541,6 +565,7 @@
            if (!valid1) {
              return
            }
            if (that.zlList.length === 0) return that.$message.warning('请先生成租赁账单!')
            this.submit()
          })
        } else if (this.form.type === 1) {
@@ -548,6 +573,7 @@
            if (!valid2) {
              return
            }
            if (that.wyList.length === 0) return that.$message.warning('请先生成物业账单!')
            this.submit()
          })
        }
@@ -569,10 +595,12 @@
    getDate1 (e, index) {
      this.form.zlDetailList[index].startDate = e[0]
      this.form.zlDetailList[index].endDate = e[1]
      this.clearzl()
    },
    getDate2 (e, index) {
      this.form.wyDetailList[index].startDate = e[0]
      this.form.wyDetailList[index].endDate = e[1]
      this.clearwy()
    },
    checkHouseRoom (a, b) {
      this.ids = b.checkedKeys
@@ -624,6 +652,7 @@
    generateWY () {
      getBillList({ ...this.form, billType: 1 })
        .then(res => {
          this.wy = true
          let zlPrice = 0
          let arr = []
          res.forEach(item => {
@@ -659,18 +688,22 @@
    deleZl(index) {
      if (this.form.zlDetailList.length === 1) return Message.warning('至少保留一条!')
      this.form.zlDetailList.splice(index, 1)
      this.clearzl()
    },
    deleWy(index) {
      if (this.form.wyDetailList.length === 1) return Message.warning('至少保留一条!')
      this.form.wyDetailList.splice(index, 1)
      this.clearwy()
    },
    getZLDate (e) {
      this.form.zlFreeStartDate = e[0]
      this.form.zlFreeEndDate = e[1]
      this.clearzl()
    },
    getWYDate (e) {
      this.form.wyFreeStartDate = e[0]
      this.form.wyFreeEndDate = e[1]
      this.clearwy()
    },
    getTenant (row) {
      this.form.renterId = row.id
admin/src/views/finance/components/bullDetail.vue
@@ -47,7 +47,10 @@
            <div class="val" style="margin-top: 10px;">{{info.actReceivableFee}}</div>
          </div>
          <div class="item" style="flex: 1;">
            <div class="la">需{{info.needReceivableFee > 0 ? '收' : '付'}}金额(元)</div>
            <template v-if="info.billType === 1">
              <div class="la">需付金额(元)</div>
            </template>
            <div class="la" v-else>需{{info.needReceivableFee > 0 ? '收' : '付'}}金额(元)</div>
            <div class="val" style="margin-top: 10px;">{{Math.abs(info.needReceivableFee)}}</div>
          </div>
          <div class="item" style="flex: 1;">
admin/src/views/finance/components/bullEdit.vue
@@ -18,7 +18,7 @@
              </el-select>
            </el-form-item>
            <el-form-item label="付款方" prop="renterName">
                <el-input v-model="form.renterName" disabled placeholder="请输入应收金额" v-trim />
                <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" @click="clickHouse" multiple placeholder="请选择">