Shannon_mu 3 anni fa
parent
commit
f29459a7a3

BIN
operationSupport/src/assets/img/icon_fujian@2x.png


+ 1 - 1
operationSupport/src/views/businessManagement/InvestmentResources/stepPage/programme.vue

@@ -47,7 +47,7 @@
             <bz-upload type="img" :uploadArr="pictureArr" :limit="5"></bz-upload>
         </el-form-item>
         <el-form-item label="房屋视频" prop="videoUrl">
-            <bz-upload type="video" :uploadArr="videoArr" :limit="5"></bz-upload>
+            <bz-upload type="video" :uploadArr="videoArr" :limit="1"></bz-upload>
         </el-form-item>
         <el-form-item label="招商描述" prop="userId">
             <tinymce v-model="formData.description" ref="endit" :height="150" />

+ 130 - 0
operationSupport/src/views/businessManagement/contractManagement/components/uploadList.vue

@@ -0,0 +1,130 @@
+<template>
+    <div class="clickUpload">
+        <div class="ulrTrue" v-for="(item, index) in uploadArr" :key="item">
+            <i class="el-icon-close deletes" @click="delet(item, index)"></i>
+            <div>{{ item.name }}</div>
+        </div>
+        <div class="clickUpText" v-if="uploadArr.length < limit">
+            <div class="addImg" @click="clickFile"><img src="@assets/img/icon_fujian@2x.png" alt="" />选择文档</div>
+        </div>
+        <el-upload
+            style="display: none"
+            :headers="token"
+            ref="upload"
+            :limit="limit"
+            :action="uploadUrl"
+            :on-success="uploadsuccess"
+            :before-upload="beforeAvatarUpload"
+            :auto-upload="true"
+            :name="name"
+        >
+        </el-upload>
+    </div>
+</template>
+<script>
+export default {
+    name: 'bzUpload',
+    data() {
+        return {
+            token: {
+                [localStorage.getItem('SC_token') && 'Authorization']: 'Bearer ' + localStorage.getItem('SC_token')
+            }
+        };
+    },
+    props: {
+        uploadUrl: {
+            type: String,
+            default: '/sc-community/upload/uploadFile'
+        },
+        className: {
+            type: Boolean,
+            default: false
+        },
+        name: {
+            type: String,
+            default: 'file'
+        },
+        uploadArr: {
+            type: Array,
+            default: () => []
+        },
+        limit: {
+            type: Number,
+            default: 1
+        }
+    },
+    methods: {
+        uploadsuccess(response, file, fileList) {
+            this.$refs.upload.clearFiles();
+            if (0 === response.status) {
+                this.uploadArr.push({ name: file.name, url: response.data });
+            }
+        },
+        typeVideo(str) {
+            let type = str.slice(str.lastIndexOf('.') + 1, str.length);
+            let videoType = ['mp4'];
+            return videoType.includes(type);
+        },
+        typeIcon(str) {
+            let type = str.slice(str.lastIndexOf('.') + 1, str.length);
+            let imgType = ['png', 'jpeg', 'jpg'];
+            return imgType.includes(type);
+        },
+        clickFile() {
+            this.$refs['upload'].$children[0].$refs.input.click();
+        },
+        delet(item, index) {
+            this.uploadArr.splice(index, 1);
+        }
+    }
+};
+</script>
+<style lang="scss" scoped>
+.clickUpload {
+    display: flex;
+    font-size: 12px;
+    .clickUpText {
+        height: 30px;
+        line-height: 30px;
+        width: 92px;
+        border: 1px solid #e0e1e3;
+        box-sizing: border-box;
+        background: white;
+        border-radius: 5px;
+        margin-right: 5px;
+        z-index: 1;
+        cursor: pointer;
+        .addImg {
+            img {
+                width: 14px;
+                height: 14px;
+                margin: 0 10px;
+                vertical-align: text-top;
+            }
+        }
+    }
+
+    .deletes {
+        // display: none;
+        position: absolute;
+        top: -5px;
+        right: -5px;
+        // transform: translate(-50%, -50%);
+        cursor: pointer;
+        color: red;
+    }
+    .ulrTrue {
+        position: relative;
+        &:hover {
+            .deletes {
+                display: block;
+            }
+        }
+    }
+    .fileName {
+        height: initial !important;
+        width: initial !important;
+        border: none;
+    }
+}
+</style>

+ 14 - 6
operationSupport/src/views/businessManagement/contractManagement/stepPage/add.vue

@@ -40,6 +40,7 @@ export default {
             formData: {
                 contractNo: '',
                 filePath: '',
+                fileName: '',
                 contractType: 0,
                 customerType: null,
                 communityId: '',
@@ -49,9 +50,9 @@ export default {
                 customerName: '',
                 customerPhone: '',
                 customerAddress: '',
-                idCardNo:'',
+                idCardNo: '',
                 contractHouseDtoList: [],
-                userName:"",
+                userName: ''
             },
 
             //租赁规则
@@ -67,13 +68,13 @@ export default {
             timesTwo: [],
             pictureArr: [],
             relationTable: {},
-            tegyArr:[],
+            tegyArr: [],
             formRules: {
                 customerName: [this.$valid.inputRequired('客户名称')],
                 customerPhone: [this.$valid.patternPhone('客户手机')],
                 customerAddress: [this.$valid.inputRequired('联系地址')],
-                customerType:[this.$valid.selectRequired('客户类型')],
-                idCardNo:this.$valid.patternCard(),
+                customerType: [this.$valid.selectRequired('客户类型')],
+                idCardNo: this.$valid.patternCard(),
                 communityId: [this.$valid.selectRequired('社区')],
                 signTime: [this.$valid.selectRequired('签订时间')],
                 startTime: this.$valid.custome({
@@ -111,7 +112,14 @@ export default {
     },
     watch: {
         pictureArr(val) {
-            this.formData.filePath = val.join();
+            if (val.length) {
+                const { name, url } = val[0];
+                this.formData.filePath = url;
+                this.formData.fileName = name;
+            } else {
+                this.formData.filePath = '';
+                this.formData.fileName = '';
+            }
         }
     },
     methods: {

+ 55 - 8
operationSupport/src/views/businessManagement/contractManagement/stepPage/details.vue

@@ -3,7 +3,7 @@
         <div class="formContent-item_title blockCl">基本信息</div>
         <div>
             <el-col :span="8">
-                <el-form-item label="合同编号:"> {{ formData.contractNo }} </el-form-item>
+                <el-form-item label="合同编号:"> {{ formData.contractNo || '-' }} </el-form-item>
             </el-col>
             <el-col :span="8">
                 <el-form-item label="合同类型:"> 租赁合同 </el-form-item>
@@ -13,22 +13,22 @@
                     <el-form-item label="客户类型:"> {{ formData.customerType == 1 ? '企业' : '个人' }} </el-form-item></el-col
                 >
                 <el-col :span="8">
-                    <el-form-item label="客户名称:"> {{ formData.customerName }} </el-form-item></el-col
+                    <el-form-item label="客户名称:"> {{ formData.userName || '-' }} </el-form-item></el-col
                 >
                 <el-col :span="8">
-                    <el-form-item label="企业法人:" label-width="110px"> {{ formData.userName }} </el-form-item></el-col
+                    <el-form-item label="企业法人:" label-width="110px"> {{ companyObj.legalPerson || '-' }} </el-form-item></el-col
                 >
             </div>
 
             <div class="blockCl">
                 <el-col :span="8">
-                    <el-form-item label="法人手机:"> {{ formData.customerPhone }} </el-form-item></el-col
+                    <el-form-item label="法人手机:"> {{ companyObj.legalPersonPhone || '-' }} </el-form-item></el-col
                 >
                 <el-col :span="8">
-                    <el-form-item label="联系人:"> {{ formData.customerName }} </el-form-item></el-col
+                    <el-form-item label="联系人:"> {{ formData.customerName || '-' }} </el-form-item></el-col
                 >
                 <el-col :span="8">
-                    <el-form-item label="联系人手机:" label-width="110px"> {{ formData.customerPhone }} </el-form-item></el-col
+                    <el-form-item label="联系人手机:" label-width="110px"> {{ formData.customerPhone || '-' }} </el-form-item></el-col
                 >
             </div>
 
@@ -43,10 +43,20 @@
             </el-col>
             <div class="blockCl">
                 <el-col :span="8">
-                    <el-form-item label="合同附件:"> {{ formData.filePath }} </el-form-item></el-col
+                    <el-form-item label="合同附件:">
+                        <div @click="clickFlie(formData.fileName, formData.filePath)" class="lookfil" v-if="formData.companyId == 2">
+                            <img src="@assets/img/icon_fujian@2x.png" alt="" />{{ formData.fileName }}
+                        </div>
+                        <span v-else>-</span>
+                    </el-form-item></el-col
                 >
                 <el-col :span="8">
-                    <el-form-item label="企业营业执照:" label-width="110px"> {{ formData.businessLicense }} </el-form-item></el-col
+                    <el-form-item label="企业营业执照:" label-width="110px">
+                        <div class="imgs" v-if="formData.companyId == 2">
+                            <el-image :src="companyObj.businessLicense" fit="cover"> </el-image>
+                        </div>
+                        <span v-else>-</span>
+                    </el-form-item></el-col
                 >
             </div>
         </div>
@@ -133,6 +143,7 @@ export default {
                 remark: '',
                 contractHouseVos: []
             },
+            companyObj: {},
             ruleIdObj: {},
             tableArr: [],
             tegyArr: []
@@ -162,12 +173,28 @@ export default {
                 })
                 .catch(() => {});
         },
+        findCompany(id) {
+            this.$http
+                .get('/sc-community/enterprise/find/' + id)
+                .then(({ data, status, msg }) => {
+                    if (0 === status) {
+                        this.companyObj = data;
+                        console.log(data);
+                    } else {
+                        this.$message.error(msg);
+                    }
+                })
+                .catch(() => {});
+        },
         ruleText(val) {
             let newVal = '';
             if (!!val) {
                 newVal = val.replace(/###/, '至');
             }
             return newVal;
+        },
+        clickFlie(name, path) {
+            this.__exportExcel('/sc-community/contract/downloadContract', { fileName: name, filePath: path });
         }
     },
     created() {
@@ -176,6 +203,9 @@ export default {
         new Promise((resolve) => {
             this.findDetali(row.id, resolve);
         }).then((data) => {
+            if (!!data.companyId) {
+                this.findCompany(data.companyId);
+            }
             this.ruleIdObj = data.contractHouseVos[0];
             this.tegyArr.map((item) => {
                 if (item.id == this.ruleIdObj.ruleId) {
@@ -201,4 +231,21 @@ export default {
 /deep/ .el-table th {
     background: #f8fcff !important;
 }
+.lookfil {
+    width: calc(100% - 10px);
+    display: inline-block;
+    overflow: hidden; //超出的文本隐藏
+    text-overflow: ellipsis; //溢出用省略号显示
+    white-space: nowrap; //溢出不换行
+    img {
+        width: 14px;
+        height: 14px;
+        vertical-align: sub;
+        margin-right: 5px;
+    }
+}
+.imgs {
+    width: 55px;
+    height: 40px;
+}
 </style>

+ 5 - 1
operationSupport/src/views/businessManagement/contractManagement/stepPage/firstStep.vue

@@ -120,11 +120,15 @@
                 ></el-date-picker> </el-form-item
         ></el-col>
         <div class="formContent-item_title">合同附件</div>
-        <el-form-item label="合同附件"> <bz-upload :className="true" type="pdf"  :uploadArr="$parent.pictureArr" :limit="1"></bz-upload> </el-form-item>
+        <el-form-item label="合同附件"> <bz-uploadfl :className="true" type="pdf"  :uploadArr="$parent.pictureArr" ></bz-uploadfl> </el-form-item>
     </el-form>
 </template>
 <script>
+import bzUploadfl from '../components/uploadList.vue'
 export default {
+    components:{
+        bzUploadfl
+    },
     data() {
         return {
             defaultProps: {

+ 0 - 4
operationSupport/src/views/payService/depositManagement/stepPage/details.vue

@@ -98,10 +98,6 @@ export default {
                 {
                     label: '退款金额(元):',
                     prop: 'refundAmount'
-                },
-                {
-                    label: '备注:',
-                    prop: 'residentName'
                 }
             ],
             thisItem: {}