瀏覽代碼

导入调整

LAPTOP-FO2T5SIU\35838 9 月之前
父節點
當前提交
9adc2c0065
共有 2 個文件被更改,包括 461 次插入75 次删除
  1. 389 31
      src/views/parkAssets/component/uploadCost.vue
  2. 72 44
      src/views/parkAssets/parkFloorDisc/index.vue

+ 389 - 31
src/views/parkAssets/component/uploadCost.vue

@@ -12,9 +12,9 @@
     >
       <!--        :title="isImport?'导入结果':'批量导入'"-->
       <div v-if="!isImport">
-        <p v-for="(item, index) in uploadTitle" :key="index" class="uploadtitle">
-          {{ item }}
-        </p>
+<!--        <p v-for="(item, index) in uploadTitle" :key="index" class="uploadtitle">-->
+<!--          {{ item }}-->
+<!--        </p>-->
         <el-card style="padding-top: 10px;padding-bottom: 10px">
 
           <div style="width: 50%;float:left;">
@@ -56,24 +56,24 @@
           :data="tableData"
           style="width: 100%;"
         >
-          <el-table-column align="center" label="企业名称" prop="companyName">
+          <el-table-column align="center" label="楼盘/小区名称" prop="groupName">
             <template v-slot="scope">
-              <span>{{ scope.row.qymc }}</span>
+              <span>{{ scope.row.groupName }}</span>
             </template>
           </el-table-column>
-          <el-table-column align="center" label="统一信用代码" prop="unifiedCreditCode">
+          <el-table-column align="center" label="分期名称" prop="discName">
             <template v-slot="scope">
-              <span>{{ scope.row.shxydm }}</span>
+              <span>{{ scope.row.discName }}</span>
             </template>
           </el-table-column>
-          <el-table-column align="center" label="注册资金" prop="taxation">
+          <el-table-column align="center" label="单元/楼栋号" prop="buildNum">
             <template v-slot="scope">
-              <span>{{ scope.row.zczj }}</span>
+              <span>{{ scope.row.buildNum }}</span>
             </template>
           </el-table-column>
-          <el-table-column align="center" label="入驻类型" prop="revenue">
+          <el-table-column align="center" label="户室号" prop="roomNo">
             <template v-slot="scope">
-              <span>{{ scope.row.settleInType }}</span>
+              <span>{{ scope.row.roomNo }}</span>
             </template>
           </el-table-column>
           <el-table-column align="center" label="异常原因" prop="reason">
@@ -293,9 +293,137 @@ export default {
             this.file = null
         },
         exportError() {
+            if (this.importType === 'groupInsert') {
+                this.exportErrorGroup()
+            }
             if (this.importType === 'FQInsert') {
                 this.exportErrorFQ()
             }
+            if (this.importType === 'buildInsert') {
+                this.exportErrorBuild()
+            }
+            if (this.importType === 'roomInsert') {
+                this.exportErrorRoom()
+            }
+        },
+        exportErrorGroup() {
+            if (!this.tableData.length) {
+                this.$message.error('失败记录为空!')
+                return
+            }
+            const outData = []
+            const title = []
+            title.push('楼盘/小区名称')
+            title.push('性质')
+            title.push('预销售许可证编号')
+            title.push('开发公司')
+            title.push('总建筑面积(㎡)')
+            title.push('总用地面积(㎡)')
+            title.push('立项批文')
+            title.push('工程规划许可证')
+            title.push('施工许可证')
+            title.push('土地证号')
+            title.push('用地许可证号')
+            title.push('容积率')
+            title.push('绿化率')
+            title.push('标准单价')
+            title.push('超标单价')
+            title.push('楼盘面积测绘状态')
+            title.push('楼盘销售状态')
+            title.push('行政区划')
+            title.push('详细地址')
+            title.push('备注')
+            title.push('异常原因')
+            outData.push(title)
+            const errorFiled = []
+            this.tableData.forEach((item, index) => {
+                const jsonArray = []
+                jsonArray.push(item.groupName)
+                jsonArray.push(item.nature)
+                jsonArray.push(item.preSalesLicenseNumber)
+                jsonArray.push(item.companyName)
+                jsonArray.push(item.buildArea)
+                jsonArray.push(item.landArea)
+                jsonArray.push(item.projectApprovalDocument)
+                jsonArray.push(item.engineeringPlanningPermit)
+                jsonArray.push(item.constructionPermit)
+                jsonArray.push(item.landCertificateNumber)
+                jsonArray.push(item.landUsePermitNumber)
+                jsonArray.push(item.volumeRatio)
+                jsonArray.push(item.greenRatio)
+                jsonArray.push(item.price)
+                jsonArray.push(item.exceededPrice)
+                jsonArray.push(item.areaStatus)
+                jsonArray.push(item.saleStatus)
+                jsonArray.push(item.regionalismCode)
+                jsonArray.push(item.address)
+                jsonArray.push(item.introduction)
+                jsonArray.push(item.reason)
+                outData.push(jsonArray)
+            })
+            const outSize = []
+            title.forEach(item => {
+                if (item.length > 4) {
+                    outSize.push({
+                        wch: 30
+                    })
+                } else {
+                    outSize.push({
+                        wch: 15
+                    })
+                }
+            })
+            const fileName = '失败记录导出 ' + new Date().Format('yyyy-MM-dd hh:mm')
+            const ws = XLSX.utils.aoa_to_sheet(outData)
+            ws['!cols'] = outSize
+            ws['!rows'] = []
+            if (errorFiled.length) {
+                errorFiled.forEach(item => {
+                    if (!ws[item]) {
+                        ws[item] = {
+                            v: '',
+                            t: 's',
+                            s: {
+                                fill: {
+                                    bgColor: { indexed: 64 }, fgColor: { rgb: 'FF0000' }
+                                },
+                                font: {
+                                    color: { rgb: 'FFFFFF' }
+                                }
+                            }
+                        }
+                    } else {
+                        ws[item].s = {
+                            fill: {
+                                bgColor: { indexed: 64 }, fgColor: { rgb: 'FF0000' }
+                            },
+                            font: {
+                                color: { rgb: 'FFFFFF' }
+                            }
+                        }
+                    }
+                })
+            }
+            const wb = XLSX.utils.book_new()
+            XLSX.utils.book_append_sheet(wb, ws, fileName)
+            const tmpDown = new Blob([
+                this.s2ab(
+                    XLSXStyle.write(wb, {
+                        bookType: 'xlsx',
+                        bookSST: true,
+                        type: 'binary',
+                        cellStyles: true
+                    })
+                )
+            ])
+            const elink = document.createElement('a')
+            elink.download = decodeURIComponent(fileName + '.xlsx')
+            elink.style.display = 'none'
+            elink.href = URL.createObjectURL(tmpDown)
+            document.body.appendChild(elink)
+            elink.click()
+            URL.revokeObjectURL(elink.href) // 释放URL 对象
+            document.body.removeChild(elink)
         },
         exportErrorFQ() {
             if (!this.tableData.length) {
@@ -312,6 +440,7 @@ export default {
             title.push('认购金(元)')
             title.push('共持比例')
             title.push('支付方式')
+            title.push('异常原因')
             outData.push(title)
             const errorFiled = []
             this.tableData.forEach((item, index) => {
@@ -323,6 +452,241 @@ export default {
                 jsonArray.push(item.maintenanceFunds)
                 jsonArray.push(item.subscriptionFunds)
                 jsonArray.push(item.proportion)
+                jsonArray.push(item.paymentMethods)
+                jsonArray.push(item.reason)
+                outData.push(jsonArray)
+            })
+            const outSize = []
+            title.forEach(item => {
+                if (item.length > 4) {
+                    outSize.push({
+                        wch: 30
+                    })
+                } else {
+                    outSize.push({
+                        wch: 15
+                    })
+                }
+            })
+            const fileName = '失败记录导出 ' + new Date().Format('yyyy-MM-dd hh:mm')
+            const ws = XLSX.utils.aoa_to_sheet(outData)
+            ws['!cols'] = outSize
+            ws['!rows'] = []
+            if (errorFiled.length) {
+                errorFiled.forEach(item => {
+                    if (!ws[item]) {
+                        ws[item] = {
+                            v: '',
+                            t: 's',
+                            s: {
+                                fill: {
+                                    bgColor: { indexed: 64 }, fgColor: { rgb: 'FF0000' }
+                                },
+                                font: {
+                                    color: { rgb: 'FFFFFF' }
+                                }
+                            }
+                        }
+                    } else {
+                        ws[item].s = {
+                            fill: {
+                                bgColor: { indexed: 64 }, fgColor: { rgb: 'FF0000' }
+                            },
+                            font: {
+                                color: { rgb: 'FFFFFF' }
+                            }
+                        }
+                    }
+                })
+            }
+            const wb = XLSX.utils.book_new()
+            XLSX.utils.book_append_sheet(wb, ws, fileName)
+            const tmpDown = new Blob([
+                this.s2ab(
+                    XLSXStyle.write(wb, {
+                        bookType: 'xlsx',
+                        bookSST: true,
+                        type: 'binary',
+                        cellStyles: true
+                    })
+                )
+            ])
+            const elink = document.createElement('a')
+            elink.download = decodeURIComponent(fileName + '.xlsx')
+            elink.style.display = 'none'
+            elink.href = URL.createObjectURL(tmpDown)
+            document.body.appendChild(elink)
+            elink.click()
+            URL.revokeObjectURL(elink.href) // 释放URL 对象
+            document.body.removeChild(elink)
+        },
+        exportErrorBuild() {
+            if (!this.tableData.length) {
+                this.$message.error('失败记录为空!')
+                return
+            }
+            const outData = []
+            const title = []
+            title.push('楼盘/小区名称')
+            title.push('分期名称')
+            title.push('单元/楼栋号')
+            title.push('总面积(㎡)')
+            title.push('住宅面积(㎡)')
+            title.push('非住宅面积(㎡)')
+            title.push('占地面积(㎡)')
+            title.push('地下面积(㎡)')
+            title.push('房号')
+            title.push('套数')
+            title.push('总层数')
+            title.push('地上层数')
+            title.push('地下层数')
+            title.push('结构')
+            title.push('行政区划')
+            title.push('地号')
+            title.push('备注')
+            title.push('标准价格参考层及差价系数备注说明')
+            title.push('异常原因')
+            outData.push(title)
+            const errorFiled = []
+            this.tableData.forEach((item, index) => {
+                const jsonArray = []
+                jsonArray.push(item.groupName)
+                jsonArray.push(item.discName)
+                jsonArray.push(item.buildNum)
+                jsonArray.push(item.area)
+                jsonArray.push(item.residentialArea)
+                jsonArray.push(item.unResidentialArea)
+                jsonArray.push(item.coverAnArea)
+                jsonArray.push(item.undergroundArea)
+                jsonArray.push(item.roomNum)
+                jsonArray.push(item.numberInfo)
+                jsonArray.push(item.floors)
+                jsonArray.push(item.overgroundFloors)
+                jsonArray.push(item.undergroundFloors)
+                jsonArray.push(item.structure)
+                jsonArray.push(item.regionalismCode)
+                jsonArray.push(item.landCode)
+                jsonArray.push(item.remark)
+                jsonArray.push(item.priceRemark)
+                jsonArray.push(item.reason)
+                outData.push(jsonArray)
+            })
+            const outSize = []
+            title.forEach(item => {
+                if (item.length > 4) {
+                    outSize.push({
+                        wch: 30
+                    })
+                } else {
+                    outSize.push({
+                        wch: 15
+                    })
+                }
+            })
+            const fileName = '失败记录导出 ' + new Date().Format('yyyy-MM-dd hh:mm')
+            const ws = XLSX.utils.aoa_to_sheet(outData)
+            ws['!cols'] = outSize
+            ws['!rows'] = []
+            if (errorFiled.length) {
+                errorFiled.forEach(item => {
+                    if (!ws[item]) {
+                        ws[item] = {
+                            v: '',
+                            t: 's',
+                            s: {
+                                fill: {
+                                    bgColor: { indexed: 64 }, fgColor: { rgb: 'FF0000' }
+                                },
+                                font: {
+                                    color: { rgb: 'FFFFFF' }
+                                }
+                            }
+                        }
+                    } else {
+                        ws[item].s = {
+                            fill: {
+                                bgColor: { indexed: 64 }, fgColor: { rgb: 'FF0000' }
+                            },
+                            font: {
+                                color: { rgb: 'FFFFFF' }
+                            }
+                        }
+                    }
+                })
+            }
+            const wb = XLSX.utils.book_new()
+            XLSX.utils.book_append_sheet(wb, ws, fileName)
+            const tmpDown = new Blob([
+                this.s2ab(
+                    XLSXStyle.write(wb, {
+                        bookType: 'xlsx',
+                        bookSST: true,
+                        type: 'binary',
+                        cellStyles: true
+                    })
+                )
+            ])
+            const elink = document.createElement('a')
+            elink.download = decodeURIComponent(fileName + '.xlsx')
+            elink.style.display = 'none'
+            elink.href = URL.createObjectURL(tmpDown)
+            document.body.appendChild(elink)
+            elink.click()
+            URL.revokeObjectURL(elink.href) // 释放URL 对象
+            document.body.removeChild(elink)
+        },
+        exportErrorRoom() {
+            if (!this.tableData.length) {
+                this.$message.error('失败记录为空!')
+                return
+            }
+            const outData = []
+            const title = []
+            title.push('楼盘/小区名称')
+            title.push('分期名称')
+            title.push('单元/楼栋号')
+            title.push('户室号')
+            title.push('所在层')
+            title.push('预测套内面积')
+            title.push('预测分摊面积')
+            title.push('预测建筑面积')
+            title.push('预测土地面积')
+            title.push('实测套内面积')
+            title.push('实测分摊面积')
+            title.push('实测建筑面积')
+            title.push('实测土地面积')
+            title.push('用途')
+            title.push('户编号')
+            title.push('装修情况')
+            title.push('2.2M以')
+            title.push('户型')
+            title.push('备注')
+            title.push('可售状态')
+            title.push('异常原因')
+            outData.push(title)
+            const errorFiled = []
+            this.tableData.forEach((item, index) => {
+                const jsonArray = []
+                jsonArray.push(item.groupName)
+                jsonArray.push(item.discName)
+                jsonArray.push(item.buildNum)
+                jsonArray.push(item.roomNo)
+                jsonArray.push(item.floor)
+                jsonArray.push(item.predictionInternalArea)
+                jsonArray.push(item.predictionShareArea)
+                jsonArray.push(item.predictionBuildArea)
+                jsonArray.push(item.predictionLandArea)
+                jsonArray.push(item.actualInternalArea)
+                jsonArray.push(item.actualShareArea)
+                jsonArray.push(item.actualBuildArea)
+                jsonArray.push(item.actualLandArea)
+                jsonArray.push(item.roomUse)
+                jsonArray.push(item.roomNumber)
+                jsonArray.push(item.decorationSituation)
+                jsonArray.push(item.twoPointTwo)
+                jsonArray.push(item.houseType)
+                jsonArray.push(item.remark)
+                jsonArray.push(item.saleStatus)
                 jsonArray.push(item.reason)
                 outData.push(jsonArray)
             })
@@ -686,23 +1050,23 @@ export default {
 </script>
 <style lang="scss">
 .uploadCost {
-  .el-card__body {
-    padding: 0 !important;
-  }
+    .el-card__body {
+        padding: 0 !important;
+    }
 
-  .uploadtitle {
-    //color: #C5C5C5;
-    color: #303133;
-  }
+    .uploadtitle {
+        color: #C5C5C5;
+    }
+
+    .el-dialog__body {
+        padding: 15px !important;
+        color: #606266 !important;
+        font-size: 14px !important;
+        word-break: break-all !important;
+    }
 
-  .el-dialog__body {
-    padding: 15px !important;
-    color: #606266 !important;
-    font-size: 14px !important;
-    word-break: break-all !important;
-  }
     .el-upload {
-        //width: 100%;
+        width: 100%;
     }
 
     .el-upload-list {
@@ -716,12 +1080,6 @@ export default {
         margin: 0 auto;
     }
 
-    .mgauto2 {
-        display: flex;
-        justify-content: center;
-        margin: 0 auto;
-    }
-
     .mtmb16 {
         margin-top: 16px;
         margin-bottom: 16px;

+ 72 - 44
src/views/parkAssets/parkFloorDisc/index.vue

@@ -83,7 +83,7 @@
     </div>
 
     <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="950px" top="50px" append-to-body @close="dialogClose">
-      <el-form ref="groupfrom" :model="groupfrom" style="width: 100%;padding: 5px" :rules="groupFormRules">
+      <el-form ref="groupForm" :model="groupForm" style="width: 100%;padding: 5px" :rules="groupFormRules">
         <el-row>
           <el-col style="padding-bottom: 10px">
             <!--            <span class="card_title">基本信息</span>-->
@@ -92,13 +92,13 @@
                 <el-col :span="4" class="col-txt"><span>*楼盘/小区名称</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="groupName">
-                    <el-input v-model="groupfrom.groupName" />
+                    <el-input v-model="groupForm.groupName" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>*性质</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="nature">
-                    <el-select v-model="groupfrom.nature" placeholder="" filterable :disabled="isView">
+                    <el-select v-model="groupForm.nature" placeholder="" filterable :disabled="isView">
                       <el-option
                         v-for="item in dc_data.GROUP_NATURE"
                         :key="item.value"
@@ -113,13 +113,13 @@
                 <el-col :span="4" class="col-txt"><span>*预销售许可证编号:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="preSalesLicenseNumber">
-                    <el-input v-model="groupfrom.preSalesLicenseNumber" />
+                    <el-input v-model="groupForm.preSalesLicenseNumber" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>开发公司</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item>
-                    <el-select v-model="groupfrom.companyId" placeholder="" filterable :disabled="isView">
+                    <el-select v-model="groupForm.companyId" placeholder="" filterable :disabled="isView">
                       <el-option
                         v-for="item in dc_data.companyOptions"
                         :key="item.value"
@@ -134,13 +134,13 @@
                 <el-col :span="4" class="col-txt"><span>总建筑面积(㎡):</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.buildArea" />
+                    <el-input v-model="groupForm.buildArea" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>总用地面积(㎡):</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.landArea" />
+                    <el-input v-model="groupForm.landArea" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -148,13 +148,13 @@
                 <el-col :span="4" class="col-txt"><span>立项批文:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.projectApprovalDocument" />
+                    <el-input v-model="groupForm.projectApprovalDocument" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>工程规划许可证:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.engineeringPlanningPermit" />
+                    <el-input v-model="groupForm.engineeringPlanningPermit" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -162,13 +162,13 @@
                 <el-col :span="4" class="col-txt"><span>施工许可证:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.construction_permit" />
+                    <el-input v-model="groupForm.construction_permit" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>土地证号:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.land_certificate_number" />
+                    <el-input v-model="groupForm.land_certificate_number" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -176,13 +176,13 @@
                 <el-col :span="4" class="col-txt"><span>用地许可证号:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.landUsePermitNumber" />
+                    <el-input v-model="groupForm.landUsePermitNumber" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>容积率%:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.volumeRatio" />
+                    <el-input v-model="groupForm.volumeRatio" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -190,13 +190,13 @@
                 <el-col :span="4" class="col-txt"><span>绿化率%:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.greenRatio" />
+                    <el-input v-model="groupForm.greenRatio" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>标准单价:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.price" />
+                    <el-input v-model="groupForm.price" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -204,13 +204,13 @@
                 <el-col :span="4" class="col-txt"><span>超标单价:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-input v-model="groupfrom.exceededPrice" />
+                    <el-input v-model="groupForm.exceededPrice" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="4" class="col-txt"><span>楼盘面积测绘状态:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-select v-model="groupfrom.areaStatus" placeholder="" filterable>
+                    <el-select v-model="groupForm.areaStatus" placeholder="" filterable>
                       <el-option
                         v-for="item in dc_data.MAPPING_STATUS"
                         :key="item.id"
@@ -225,7 +225,7 @@
                 <el-col :span="4" class="col-txt"><span>楼盘销售状态:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-select v-model="groupfrom.saleStatus" placeholder="" filterable>
+                    <el-select v-model="groupForm.saleStatus" placeholder="" filterable>
                       <el-option
                         v-for="item in dc_data.SALE_STATUS"
                         :key="item.id"
@@ -238,7 +238,7 @@
                 <el-col :span="4" class="col-txt"><span>行政区划:</span></el-col>
                 <el-col :span="8" class="col-input">
                   <el-form-item prop="">
-                    <el-select v-model="groupfrom.regionalismCode" placeholder="" filterable>
+                    <el-select v-model="groupForm.regionalismCode" placeholder="" filterable>
                       <el-option
                         v-for="item in dc_data.REGIONALISM_CODE"
                         :key="item.id"
@@ -253,7 +253,7 @@
                 <el-col :span="4" class="col-txt"><span>详细地址</span></el-col>
                 <el-col :span="20" class="col-input">
                   <el-form-item prop="address">
-                    <el-input v-model="groupfrom.address" type="textarea" :autosize="{ minRows: 2, maxRows: 100}" placeholder="请输入内容" />
+                    <el-input v-model="groupForm.address" type="textarea" :autosize="{ minRows: 2, maxRows: 100}" placeholder="请输入内容" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -261,7 +261,7 @@
                 <el-col :span="4" class="col-txt"><span>备注</span></el-col>
                 <el-col :span="20" class="col-input">
                   <el-form-item prop="address">
-                    <el-input v-model="groupfrom.remark" type="textarea" :autosize="{ minRows: 2, maxRows: 100}" placeholder="请输入内容" />
+                    <el-input v-model="groupForm.remark" type="textarea" :autosize="{ minRows: 2, maxRows: 100}" placeholder="请输入内容" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -275,7 +275,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog :title="dialogTitle" :visible.sync="dialogFQVisible" width="950px" top="50px" append-to-body>
+    <el-dialog :title="dialogTitle" :visible.sync="dialogFQVisible" width="1350px" top="50px" append-to-body>
       <el-form ref="commitForm" :model="formLP" style="width: 100%;padding: 5px" :rules="commitRules">
         <el-row>
           <el-col style="padding-bottom: 10px">
@@ -367,7 +367,7 @@
                 <div v-for="(item, index) in formLP.dynamicItem" :key="index" style="border:1px solid #000;">
                   <el-row style="margin-top: 10px">
                     <el-col :span="2" class="col-txt"><span>户型</span></el-col>
-                    <el-col :span="5" class="col-input">
+                    <el-col :span="4" class="col-input">
                       <el-form-item :prop="'dynamicItem.' + index + '.name'">
                         <el-input
                           v-model="item.name"
@@ -376,7 +376,7 @@
                         />
                       </el-form-item>
                     </el-col>
-                    <el-col :span="5" class="col-input">
+                    <el-col :span="4" class="col-input">
                       <el-form-item :prop="'dynamicItem.' + index + '.area'">
                         <el-input
                           v-model="item.buildArea"
@@ -385,7 +385,7 @@
                         />
                       </el-form-item>
                     </el-col>
-                    <el-col :span="5" class="col-input">
+                    <el-col :span="4" class="col-input">
                       <el-form-item :prop="'dynamicItem.' + index + '.area'">
                         <el-input
                           v-model="item.useArea"
@@ -395,18 +395,18 @@
                       </el-form-item>
                     </el-col>
                     <el-col :span="2" class="col-txt"><span>*户型图</span></el-col>
-                    <el-col :span="3" class="col-input">
+                    <el-col :span="6" class="col-input">
                       <el-form-item :prop="'dynamicItem.' + index + '.fileList'">
                         <el-upload
                           class="upload-demo"
-                          action="/server/wx/fileController/uploadImage"
-                          :http-request="uploadHouseTypeList"
+                          action="/server/wx/fileController/upload"
+                          :http-request="(params)=>{uploadHouseTypeList(params,index)}"
                           :before-remove="beforeRemove"
                           multiple
                           :file-list="item.fileList"
                         >
                           <el-button size="small" type="primary">点击上传</el-button>
-                          <div slot="file" slot-scope="{file}">
+                          <div slot="file" slot-scope="{file}" class="file-row">
                             <a :href="file.url">{{ file.name }}</a>
                             <span class="el-upload-list__item-actions">
                               <i class="el-icon-delete" @click="handlePictureRemove(file,item.fileList)" />
@@ -460,7 +460,7 @@ import common from '@/static/utils/common'
 // import textEdit from '../../textEdit/index'
 export default {
     name: 'User',
-    components: {uploadCost},
+    components: { uploadCost },
     mixins: [Base, BaseData, BaseDept],
     data() {
         return {
@@ -471,7 +471,7 @@ export default {
                 name: ''
             },
             formLP: this.getBaseForm(),
-            groupfrom: {},
+            groupForm: {},
             groupList: [],
             DeptTree: [],
             typeList: [
@@ -574,7 +574,7 @@ export default {
                 console.log('获取详情——:', res)
                 if (res.status == 200) {
                     this.dialogTitle = '修改园区'
-                    this.groupfrom = res.data
+                    this.groupForm = res.data
                     this.dialogVisible = true
                 }
             })
@@ -587,7 +587,7 @@ export default {
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
-                this.baseRequest('delete', {id:val.data.id}).then((res) => {
+                this.baseRequest('delete', { id: val.data.id }).then((res) => {
                     console.log('获取详情——:', res)
                     if (res.data.code == 200) {
                         this.getTreeData()
@@ -623,12 +623,12 @@ export default {
         },
 
         confirmSubmit: function() {
-            this.$refs.groupfrom.validate(valid => {
+            this.$refs.groupForm.validate(valid => {
                 if (valid) {
-                    this.baseRequest('addModel', this.groupfrom).then((res) => {
+                    this.baseRequest('addModel', this.groupForm).then((res) => {
                         if (res.data.code == 200) {
                             this.dialogVisible = false
-                            this.groupfrom = {}
+                            this.groupForm = {}
                             this.getData()
                             this.getGroupList()
                             this.getTreeData()
@@ -729,10 +729,10 @@ export default {
             }
         },
         test(val) {
-            this.$set(this.groupfrom, 'introduction', val)
+            this.$set(this.groupForm, 'introduction', val)
         },
         dialogClose() {
-            this.groupfrom = {}
+            this.groupForm = {}
         },
         addItem(length) {
             this.formLP.dynamicItem.push({
@@ -746,19 +746,35 @@ export default {
         deleteItem(item, index) {
             this.formLP.dynamicItem.splice(index, 1)
         },
-        uploadHouseTypeList: function(param) {
-            console.log('param', param)
+        uploadHouseTypeList: function(param, index) {
             upload(param, true).then((res) => {
-                this.formLP.dynamicItem[param].fileList.push(res)
+                this.formLP.dynamicItem[index].fileList.push(res)
             })
         },
+        handlePictureRemove: function(file, fileList) {
+            const index = fileList.indexOf(file)
+            fileList.splice(index, 1)
+        },
         // 获取分期详情
         getFQById(val) {
             const _this = this
             _this.baseFQRequest('getById', { id: val.id }).then((res) => {
                 _this.formLP = res.data
-                _this.formLP.paymentMethods = res.data.paymentMethods + ''
-                _this.$set(_this.formLP, 'dynamicItem', JSON.parse(res.data.houseTypeStr))
+                _this.formLP.paymentMethods = res.data.paymentMethods == null ? '' : res.data.paymentMethods + ''
+                _this.$set(_this.formLP, 'dynamicItem', [])
+                _this.baseHouseTypeRequest('listAll', { discId: val.id }).then((res) => {
+                    if (res.data) {
+                        res.data.forEach(item => {
+                            const data = {
+                                name: item.name,
+                                buildArea: item.buildArea,
+                                useArea: item.useArea,
+                                fileList: Object.values(JSON.parse(item.fileList))
+                            }
+                            _this.formLP.dynamicItem.push(data)
+                        })
+                    }
+                })
             })
         },
         batchImport() {
@@ -783,7 +799,7 @@ export default {
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
-                this.baseFQRequest('delete', { id: val }).then(res => {
+                this.baseFQRequest('delete', { id: val.id }).then(res => {
                     if (res.data.code == 200) {
                         this.getData()
                         this.getTreeData()
@@ -811,13 +827,25 @@ export default {
         },
         baseFQRequest: function(opUrl, postData) {
             return this.$channel.baseRequest('ParkFloorDiscController', opUrl, postData, 'User')
+        },
+        baseHouseTypeRequest: function(opUrl, postData) {
+            return this.$channel.baseRequest('HouseTypeController', opUrl, postData, 'User')
         }
     }
 }
 </script>
 
 <style lang="scss">
+//.upload-demo{
+//    display: flex;
+//
+//}
+//.file-row{
+//    display: flex;
+//    justify-content: space-between;
+//}
 .parkFloor{
+
     .custom-tree-node {
         display: flex;
         align-items: center;