LAPTOP-FO2T5SIU\35838 7 months ago
parent
commit
3d133fd3de

+ 15 - 17
src/views/invoice/components/addInvoice.vue

@@ -100,20 +100,20 @@
               <el-col :span="4" class="col-txt"><span>税率</span></el-col>
               <el-col :span="20" class="col-input">
                 <el-form-item prop="invoiceTax">
-                  <!--                  <el-select-->
-                  <!--                    v-model="form.invoiceTax"-->
-                  <!--                    filterable-->
-                  <!--                    placeholder="请选择"-->
-                  <!--                    popper-class="statistic_base"-->
-                  <!--                  >-->
-                  <!--                    <el-option-->
-                  <!--                      v-for="item in dc_data.invoice_tax"-->
-                  <!--                      :key="item.value"-->
-                  <!--                      :label="item.label"-->
-                  <!--                      :value="item.value"-->
-                  <!--                    />-->
-                  <!--                  </el-select>-->
-                  <el-input v-model="form.invoiceTax" />
+                  <el-select
+                    v-model="form.invoiceTax"
+                    filterable
+                    placeholder="请选择"
+                    popper-class="statistic_base"
+                  >
+                    <el-option
+                      v-for="item in dc_data.invoice_tax"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                  <!--                  <el-input v-model="form.invoiceTax" />-->
                 </el-form-item>
               </el-col>
             </el-row>
@@ -246,11 +246,9 @@ export default {
             })
         },
         getChildrenData(data) {
-            console.log('data', data)
             this.dialogVisible = false
             const postData = {
-                id: data,
-                invoiceGoodsName: '*房地产预收款*&'
+                id: data
             }
             this.baseRequest('getByContractId', postData).then(res => {
                 if (res.data) {

+ 0 - 1
src/views/invoice/components/formalInvoiceManageEdit.vue

@@ -150,7 +150,6 @@ export default {
     },
     mounted() {
         this.initDict(this.dc_key).then((res) => {
-            console.log('invoice_tax', this.dc_data.invoice_tax)
         })
     },
     methods: {

+ 11 - 1
src/views/invoice/invoiceManage.vue

@@ -166,6 +166,15 @@
               </span>
             </template>
           </el-table-column>
+          <el-table-column label="结转状态" prop="carryOverStatusStr">
+            <template scope="scope">
+              <span
+                :style="{'color':scope.row.invoiceStatusStr==='已红冲'?'red':scope.row.invoiceStatusStr==='待开票'?'green':'gray'}"
+              >
+                {{ scope.row.invoiceStatusStr }}
+              </span>
+            </template>
+          </el-table-column>
           <el-table-column header-align="center" label="操作" width="180">
             <template scope="scope">
               <el-button v-if="scope.row.sendStatus === '0'" type="text" size="mini" @click="handleInvoice(scope.row)">推送</el-button>
@@ -220,7 +229,7 @@ export default {
     mixins: [Base, BaseData],
     data() {
         return {
-            dc_key: ['INVOICE_STATUS', 'SEND_STATUS', 'HOUSE_PAYMENT_STATUS'],
+            dc_key: ['INVOICE_STATUS', 'SEND_STATUS', 'HOUSE_PAYMENT_STATUS', 'CARRY_OVER_STATUS'],
             // 列表相关
             search: {
                 sendStatus: ''
@@ -275,6 +284,7 @@ export default {
             item.invoiceStatusStr = this.dc_map.INVOICE_STATUS[item.invoiceStatus]
             item.sendStatusStr = this.dc_map.SEND_STATUS[item.sendStatus]
             item.collectionStatusStr = this.dc_map.HOUSE_PAYMENT_STATUS[item.collectionStatus]
+            item.carryOverStatusStr = this.dc_map.CARRY_OVER_STATUS[item.carryOverStatus]
             return item
         },
         handleAdd() {

+ 420 - 0
src/views/parkAssets/parkRoom/houseView.vue

@@ -0,0 +1,420 @@
+<template>
+  <div>
+    <el-form ref="houseForm" :model="houseForm" style="width: 100%;padding: 5px" :rules="commitRules">
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <!--            <span class="card_title">基本信息</span>-->
+          <el-card shadow="always" style="padding-top: 10px">
+            <el-row>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>父级</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item prop="findids">
+                  <el-cascader
+                    v-model="houseForm.findids"
+                    :append-to-body="false"
+                    :disabled="isView"
+                    style="width: 100%;"
+                    :options="options"
+                    clearable
+                    @change="buildChange"
+                  />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>户室号</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="roomNo">
+                  <el-input v-model="houseForm.roomNo" :disabled="isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>所在层</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="floor">
+                  <el-input v-model="houseForm.floor" :disabled="isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>预测套内面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.predictionInternalArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="3" class="col-txt"><span>预测分摊面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.predictionShareArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>预测建筑面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.predictionBuildArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>预测土地面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.predictionLandArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>实测套内面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="actualInternalArea">
+                  <el-input v-model="houseForm.actualInternalArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>实测分摊面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="actualShareArea">
+                  <el-input v-model="houseForm.actualShareArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>实测建筑面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="actualBuildArea">
+                  <el-input v-model="houseForm.actualBuildArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>实测土地面积(㎡)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.actualLandArea" :disabled="isView" type="number" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span><span class="red-asterisk">*</span>用途:</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="roomUse">
+                  <el-select
+                    v-model="houseForm.roomUse"
+                    placeholder=""
+                    filterable
+                    clearable
+                    :disabled="isView"
+                  >
+                    <el-option
+                      v-for="item in dc_data.HOUSE_USAGE"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>房屋代码</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.roomNumber" :disabled="isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>装修情况:</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-select
+                    v-model="houseForm.decorationSituation"
+                    placeholder=""
+                    filterable
+                    clearable
+                    :disabled="isView"
+                  >
+                    <el-option
+                      v-for="item in dc_data.DECORATION_SITUATION"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>2.2米以上面积</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.twoPointTwo" :disabled="isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>户型</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-select
+                    v-model="houseForm.houseTypeId"
+                    placeholder=""
+                    filterable
+                    clearable
+                    :disabled="isView"
+                    @change="houseTypeChange"
+                  >
+                    <el-option
+                      v-for="item in houseTypeOption"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>房屋性质</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="roomUse">
+                  <el-select
+                    v-model="houseForm.nature"
+                    placeholder=""
+                    filterable
+                    clearable
+                    :disabled="isView"
+                  >
+                    <el-option
+                      v-for="item in dc_data.GROUP_NATURE"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>户型图:</span></el-col>
+              <el-col v-if="fileList.length>0" :span="20" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    ref="upload"
+                    action
+                    accept="image/png,image/gif,image/jpg,image/jpeg"
+                    list-type="picture-card"
+                    :file-list="fileList"
+                    :limit="9"
+                    :http-request="uploadHouseTypePicture"
+                    :on-preview="handlePictureCardPreview"
+                    :on-remove="handleRemove"
+                    :on-exceed="handleExceed"
+                    disabled
+                  >
+                    <!--                      <i class="el-icon-plus" />-->
+                    <div slot="tip" class="el-upload__tip">
+                      只能上传jpg/png文件,限制上传9张
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+              <el-col v-else :span="9" class="col-input">
+                <el-form-item>
+                  <span>未上传</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>备注:</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="houseForm.remark" type="textarea" maxlength="2000" show-word-limit :disabled="isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span><span><span class="red-asterisk">*</span>可售状态:</span></span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item prop="saleStatus">
+                  <el-select
+                    v-model="houseForm.saleStatus"
+                    placeholder="请选择"
+                    :disabled="isView"
+                    clearable
+                  >
+                    <el-option
+                      v-for="item in dc_data.SALE_STATUS"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+  </div>
+</template>
+
+<script>
+import uploadCost from '@/views/parkAssets/component/uploadCost.vue'
+import Base from '@/views/base/base.vue'
+import BaseData from '@/views/base/baseData.vue'
+import BaseDept from '@/views/base/baseDept.vue'
+import constant from '@/static/utils/constant'
+import { upload } from '@/static/utils/channel'
+
+export default {
+    name: 'HouseView',
+    components: { uploadCost },
+    mixins: [Base, BaseData, BaseDept],
+    data() {
+        return {
+            dc_key: ['HOUSE_USAGE', 'DECORATION_SITUATION', 'SALE_STATUS', 'SOLD_STATUS', 'GROUP_NATURE'],
+            options: [],
+            houseForm: {
+                houseTypeId: null
+            },
+            isView: false,
+            fileList: [],
+            houseTypeOption: [],
+            // 图片预览及其他
+            dialogImageUrl: '',
+            dialogImageVisible: false
+        }
+    },
+    mounted() {
+
+    },
+    methods: {
+        initData(data) {
+            this.houseForm.id = data.id
+            this.isView = data.isView
+            this.getTreeSelectData()
+            this.initDict(this.dc_key).then((res) => {
+                this.getById()
+            })
+        },
+        getById: function() {
+            const _this = this
+            if (_this.houseForm.id) {
+                const postData = {
+                    id: _this.houseForm.id
+                }
+                this.baseRequest('getById', postData)
+                    .then(res => {
+                        if (res.data) {
+                            _this.houseForm = Object.assign({}, _this.houseForm, res.data)
+                            if (res.data.roomUse) {
+                                _this.houseForm.roomUse = res.data.roomUse + ''
+                            }
+                            if (res.data.decorationSituation) {
+                                _this.houseForm.decorationSituation = res.data.decorationSituation + ''
+                            }
+                            if (res.data.houseTypeId) {
+                                _this.houseForm.houseTypeId = res.data.houseTypeId + ''
+                            }
+                            if (res.data.saleStatus) {
+                                _this.houseForm.saleStatus = res.data.saleStatus + ''
+                            }
+
+                            // 回显户型
+                            _this.houseTypeOption = []
+                            _this.baseHouseTypeRequest('listAll', { discId: _this.houseForm.discId }).then(res => {
+                                if (res.data) {
+                                    res.data.forEach(item => {
+                                        _this.houseTypeOption.push({
+                                            label: item.name + ',建筑面积' + item.buildArea + ',使用面积' + item.useArea,
+                                            value: item.id,
+                                            files: item.fileList
+                                        })
+                                    })
+                                    // 回显户型图片
+                                    const obj = _this.houseTypeOption.find(item =>
+                                        item.value === _this.houseForm.houseTypeId
+                                    )
+                                    if (obj !== undefined) {
+                                        this.fileList = []
+                                        const files = JSON.parse(obj.files)
+                                        files.forEach(v => {
+                                            if (v) {
+                                                this.fileList.push({
+                                                    url: constant.BASE_URI + '/FileController/download/' + v.data,
+                                                    id: v.data
+                                                })
+                                            }
+                                        })
+                                    } else {
+                                        _this.houseForm.houseTypeId = ''
+                                    }
+                                }
+                            })
+                            // 填充父级
+                            this.houseForm.findids = []
+                            if (undefined != this.houseForm.groupId && this.houseForm.groupId != null &&
+                                this.houseForm.groupId != '') {
+                                this.houseForm.findids[0] = this.houseForm.groupId
+                                if (undefined != this.houseForm.discId && this.houseForm.discId != null &&
+                                    this.houseForm.discId != '') {
+                                    this.houseForm.findids[1] = this.houseForm.discId
+                                    if (undefined != this.houseForm.buildId && this.houseForm.buildId != null &&
+                                        this.houseForm.buildId != '') {
+                                        this.houseForm.findids[2] = this.houseForm.buildId
+                                    }
+                                }
+                            }
+                        }
+                    })
+                    .catch(() => {})
+            } else {
+
+            }
+        },
+        // 上传相关,包括图片、文件
+        handlePictureCardPreview: function(file) {
+            this.handlePicturePreview(file.url)
+        },
+        handlePicturePreview: function(url) {
+            this.dialogImageUrl = url
+            this.dialogImageVisible = true
+        },
+        uploadHouseTypePicture: function(param) {
+            upload(param, true).then((res) => {
+                this.fileList.push(res)
+            })
+        },
+        getHouseTypeList(val) {
+            const _this = this
+            _this.houseTypeOption = []
+            _this.baseHouseTypeRequest('listAll', val).then(res => {
+                if (res.data) {
+                    res.data.forEach(item => {
+                        _this.houseTypeOption.push({
+                            label: item.name + ',建筑面积' + item.buildArea + ',使用面积' + item.useArea,
+                            value: item.id,
+                            files: item.fileList
+                        })
+                    })
+                }
+            })
+        },
+        getTreeSelectData: function() {
+            this.baseInfoRequest('getTreeData2', {}).then((res) => {
+                this.options = res.data.data
+            }).catch(() => {
+            })
+        },
+        // 请求封装,继承类中调用,必须存在
+        baseRequest: function(opUrl, postData) {
+            return this.$channel.baseRequest('ParkRoomController', opUrl, postData, 'User')
+        },
+        baseInfoRequest: function(opUrl, postData) {
+            return this.$channel.baseRequest('ParkInfoController', opUrl, postData, 'User')
+        },
+        baseHouseTypeRequest: function(opUrl, postData) {
+            return this.$channel.baseRequest('HouseTypeController', opUrl, postData, 'Post')
+        }
+
+    }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 1 - 2
src/views/parkAssets/parkRoom/index.vue

@@ -124,7 +124,7 @@
           </el-row>
           <el-row class="lineheight20">
             <el-col :span="24">
-              <el-button size="small" v-if="$has('roomExport')" class="ch-button-export" style="float: right; margin-top: 4px" @click="handleExcel"><i class="el-icon-menu" />&nbsp;导出EXCEL</el-button>
+              <el-button size="small" v-if="$has('roomExport')" class="ch-button-export" style="float: right; margin-top: 4px" @click="handleExcel"><i class="el-icon-menu" />&nbsp;导出详情</el-button>
               <el-button size="small" class="ch-button-export" style="float: right;margin-top: 4px" @click="batchImport()"><i class="el-icon-menu" />&nbsp;批量导入</el-button>
               <el-button size="small" class="ch-button-add" style="float: right;  margin-right: 10px; margin-top: 4px" @click="handleAdd()"><i class="el-icon-menu" />&nbsp;新增房间</el-button>
               <el-button size="small" class="ch-button" style="float: right;margin-top: 4px" @click="handleSearch()"><i class="el-icon-menu" />&nbsp;查询</el-button>
@@ -549,7 +549,6 @@ export default {
         // 导出
         handleExcel: function() {
             const _this = this
-            _this.AllData = []
             _this.queryParam.pageNum = _this.currentPage
             _this.queryParam.pageSize = _this.pageSize
             _this.queryParam.roomUseStr = _this.roomUse.join(',')

+ 1 - 1
src/views/receiveRefundsManagement/paymentManagement/addPayment.vue

@@ -210,7 +210,7 @@ export default {
             this.initDict(this.dc_key).then(res => {
                 this.contentTypeOption = this.dc_data.CONTENT_TYPE.filter(item =>
                     item.label !== '专项维修资金' && item.label !== '意向金' && item.label !== '首款-定金转' &&
-                    item.label !== '房款-定金转')
+                    item.label !== '房款-定金转' && item.label !== '定金')
                 if (data.id) {
                     this.getById(data)
                 } else {

+ 6 - 1
src/views/receiveRefundsManagement/paymentManagement/paymentRegistration.vue

@@ -92,7 +92,12 @@
                 <el-table-column header-align="center" label="操作" width="180">
                   <template scope="scope">
                     <el-button size="mini" type="text" @click="handleView(scope.row)">查看</el-button>
-                    <el-button v-if="!isView" size="mini" type="text" @click="handleDelete(scope.row)">删除</el-button>
+                    <el-button
+                      v-if="!isView && scope.row.contentType != '1' && scope.row.contentType != '8' && scope.row.contentType != '9'"
+                      size="mini"
+                      type="text"
+                      @click="handleDelete(scope.row)"
+                    >删除</el-button>
                     <el-button size="mini" type="text" @click="downLoad(scope.row)">电子收据</el-button>
                     <el-button v-if="scope.row.contentType == '1'" size="mini" type="text" @click="handleConvert(scope.row,1)">转首款</el-button>
                     <el-button v-if="scope.row.contentType == '1'" size="mini" type="text" @click="handleConvert(scope.row,2)">转房款</el-button>

+ 40 - 2
src/views/signingManagement/contractManagement/contractAdd.vue

@@ -78,7 +78,7 @@
             </el-row>
             <el-row>
               <el-col :span="5" class="col-txt"><span>房屋</span></el-col>
-              <el-col :span="18" class="col-input">
+              <el-col v-if="!isView" :span="18" class="col-input">
                 <el-form-item>
                   <el-cascader
                     v-model="form.houseId"
@@ -90,6 +90,11 @@
                   />
                 </el-form-item>
               </el-col>
+              <el-col v-else :span="18" class="col-input">
+                <el-form-item>
+                  <span style="text-decoration:underline;color: #20a0ff;cursor:pointer;" @click="houseView()">{{ form.houseName }}</span>
+                </el-form-item>
+              </el-col>
             </el-row>
             <el-row>
               <el-col :span="5" class="col-txt"><span><span class="red-asterisk">*</span>实测建筑面积(㎡)</span></el-col>
@@ -352,16 +357,35 @@
       <el-button v-if="!isView" type="primary" @click="confirmSubmit()">暂 存</el-button>
       <el-button v-if="!isView" type="primary" @click="confirmSubmit('signing')">签 约</el-button>
     </div>
+
+    <!--房间查看-->
+    <el-dialog
+      :visible.sync="dialogHouseVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :title="dialogHouseTitle"
+      width="90%"
+      top="20px"
+      class="statistic_base"
+      :append-to-body="true"
+      :modal-append-to-body="true"
+      custom-class="tagdialog"
+    >
+      <house-view ref="houseView" @cancel="cancel" />
+    </el-dialog>
+
   </div>
 </template>
 <script>
 import Base from '@/views/base/base'
 import BaseData from '@/views/base/baseData'
 import { upload } from '@/static/utils/channel'
+import houseView from '@/views/parkAssets/parkRoom/houseView.vue'
 
 export default {
     name: 'ContractManage',
     components: {
+        houseView
     },
     mixins: [Base, BaseData],
     props: {
@@ -408,7 +432,9 @@ export default {
             TreeData: [],
             isView: false, // 查看按钮权限,
             searchTreeData: [],
-            restaurants: []
+            restaurants: [],
+            dialogHouseVisible: false,
+            dialogHouseTitle: '房间查看'
         }
     },
     watch: {
@@ -585,6 +611,18 @@ export default {
         handleSelect(item) {
             this.form.bankNumber = item.label
         },
+        houseView() {
+            this.dialogHouseVisible = true
+            this.dialogHouseTitle = '查看'
+            const postData = {
+                isView: true,
+                id: this.form.houseId
+            }
+            // 新vue时调用的方法
+            this.$nextTick(() => {
+                this.$refs.houseView.initData(postData)
+            })
+        },
         baseRequest(opUrl, postData) {
             return this.$channel.globeRequest('ContractManageController', opUrl, postData, 'project')
         },