Shannon_mu 3 سال پیش
والد
کامیت
abd53300bb

+ 86 - 39
operationSupport/src/views/businessManagement/contractManagement/stepPage/add.vue

@@ -1,25 +1,42 @@
 <template>
-    <el-form ref="form" :model="formData" :rules="formRules" label-width="110px">
+    <el-form ref="form" :model="formData" :rules="formRules" label-width="90px">
         <div class="formContent-item_title">合同信息</div>
         <el-col :span="12"
-            ><el-form-item label="合同编号" prop="name">
-                <el-input v-model="formData.name" disabled placeholder="请输入合同编号"></el-input> </el-form-item
+            ><el-form-item label="合同编号" prop="contractNo" required>
+                <el-input v-model="formData.contractNo" disabled placeholder="请输入合同编号"></el-input> </el-form-item
         ></el-col>
         <el-col :span="12">
-            <el-form-item label="合同类型" prop="abbreviate">
-                <el-radio v-model="formData.contactGender" :label="1">租赁合同</el-radio></el-form-item
+            <el-form-item label="合同类型" prop="contractType" required>
+                <el-radio v-model="formData.contractType" :label="0">租赁合同</el-radio></el-form-item
             ></el-col
         >
         <div class="formContent-item_title">客户信息</div>
         <el-col :span="24"
-            ><el-form-item label="客户类型" prop="name">
-                <el-radio v-model="formData.contactGender" :label="1">企业</el-radio>
-                <el-radio v-model="formData.contactGender" :label="2">个人</el-radio>
+            ><el-form-item label="客户类型" required>
+                <el-radio v-model="formData.customerType" :label="1">企业</el-radio>
+                <el-radio v-model="formData.customerType" :label="2">个人</el-radio>
+
+                <el-button type="primary" v-if="formData.customerType == 1" @click="relation">关联企业</el-button>
             </el-form-item></el-col
         >
+        <template v-if="formData.customerType == 2">
+            <el-col :span="8"
+                ><el-form-item label="客户名称" prop="customerName">
+                    <el-input v-model="formData.customerName" placeholder="请输入客户名称"></el-input> </el-form-item
+            ></el-col>
+            <el-col :span="8"
+                ><el-form-item label="客户手机" prop="customerPhone">
+                    <el-input v-model="formData.customerPhone" placeholder="请输入客户手机"></el-input> </el-form-item
+            ></el-col>
+            <el-col :span="8"
+                ><el-form-item label="联系地址" prop="customerAddress">
+                    <el-input v-model="formData.customerAddress" placeholder="请输入联系地址"></el-input> </el-form-item
+            ></el-col>
+        </template>
+
         <div class="formContent-item_title">物业信息</div>
         <el-col :span="8"
-            ><el-form-item label="所属社区" prop="name">
+            ><el-form-item label="所属社区" prop="communityId">
                 <el-select v-model="formData.communityId" placeholder="请选择所属社区" clearable>
                     <el-option v-for="(item, index) in communityArr" :key="index" :label="item.communityName" :value="item.id"></el-option>
                 </el-select> </el-form-item
@@ -27,10 +44,11 @@
         <zz-table :cols="cols" :settings="{ stripe: true }" :data="mixins_list"></zz-table>
         <div class="formContent-item_title">合同周期</div>
         <el-col :span="12"
-            ><el-form-item label="合同时间" prop="name">
+            ><el-form-item label="合同时间" prop="startTime">
                 <el-date-picker
                     v-model="times"
-                    value-format="yyyy-MM-dd"
+                    class="timeWidth"
+                    value-format="yyyy-MM-dd HH:mm:ss"
                     type="daterange"
                     range-separator="至"
                     start-placeholder="开始日期"
@@ -40,18 +58,18 @@
                 ></el-date-picker> </el-form-item
         ></el-col>
         <el-col :span="12"
-            ><el-form-item label="合同时间" prop="name">
+            ><el-form-item label="签订时间" prop="signTime">
                 <el-date-picker
-                    v-model="times"
-                    value-format="yyyy-MM-dd"
+                    v-model="formData.signTime"
+                    value-format="yyyy-MM-dd HH:mm:ss"
                     type="date"
                     range-separator="至"
                     placeholder="选择日期"
-                    @change="effectiveDateToggle"
                     :editable="false"
                 ></el-date-picker> </el-form-item
         ></el-col>
         <div class="formContent-item_title">合同附件</div>
+        <el-form-item label="合同附件"> <bz-upload type="img" :uploadArr="pictureArr" :limit="1"></bz-upload> </el-form-item>
     </el-form>
 </template>
 <script >
@@ -60,32 +78,36 @@ export default {
     data() {
         return {
             formData: {
-                name: '',
-                abbreviate: '',
-                creditCode: '',
-                industry: '',
-                economicType: '',
-                legalPerson: '',
-                legalPersonPhone: '',
-                address: '',
-                businessLicense: '',
-                contactName: '',
-                contactPhone: '',
-                contactIdCard: '',
-                contactGender: 1
+                filePath: '',
+                contractType: 0,
+                customerType: 1,
+                communityId: '',
+                signTime: '',
+                startTime: '',
+                endTime: '',
+                customerName: '',
+                customerPhone: '',
+                customerAddress: ''
             },
+            times: [],
             pictureArr: [],
             formRules: {
-                name: [this.$valid.inputRequired('企业名称')],
-                abbreviate: [this.$valid.inputRequired('企业简称')],
-                creditCode: [this.$valid.inputRequired('信用代码')],
-                industry: [this.$valid.selectRequired('所属行业')],
-                economicType: [this.$valid.selectRequired('经济类型')],
-                legalPerson: [this.$valid.inputRequired('企业法人')],
-                legalPersonPhone: [this.$valid.patternPhone('法人手机')],
-                contactName: [this.$valid.inputRequired('联系人姓名')],
-                contactPhone: [this.$valid.patternPhone('联系人手机')],
-                contactIdCard: [this.$valid.inputRequired('联系人身份证')]
+                customerName: [this.$valid.inputRequired('客户名称')],
+                customerPhone: [this.$valid.inputRequired('客户手机')],
+                customerAddress: [this.$valid.inputRequired('联系地址')],
+                communityId: [this.$valid.selectRequired('社区')],
+                signTime: [this.$valid.selectRequired('签订时间')],
+                startTime: this.$valid.custome({
+                    validator(rule, value, cb) {
+                        const rl = rule;
+                        if (!value) {
+                            rl.message = '请选择合同时间';
+                            cb(new Error());
+                        } else {
+                            cb();
+                        }
+                    }
+                })
             },
             communityArr: [],
             cols: [
@@ -138,7 +160,7 @@ export default {
     },
     watch: {
         pictureArr(val) {
-            this.formData.businessLicense = val.join();
+            this.formData.filePath = val.join();
         }
     },
     methods: {
@@ -179,6 +201,25 @@ export default {
                     }
                 })
                 .catch(() => {});
+        },
+        effectiveDateToggle(e) {
+            this.formData.startTime = `${!!e ? e[0] : ''}`;
+            this.formData.endTime = `${!!e ? e[1] : ''}`;
+        },
+        relation() {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/businessManagement/enterpriseManagement/index.vue',
+                    width: '850px',
+                    height: '600px',
+                    props: {
+                        callback: resolve
+                    },
+                    title: '关联企业'
+                });
+            }).then((res) => {
+                debugger;
+            });
         }
     },
     created() {
@@ -194,6 +235,12 @@ export default {
 .formContent-item_title {
     clear: both;
 }
+.timeWidth {
+    width: 100%;
+}
+/deep/ .el-date-editor .el-range-separator {
+    padding: 0;
+}
 /deep/ .el-form-item__label,
 /deep/ .el-input__inner {
     font-size: 12px;

+ 14 - 6
operationSupport/src/views/businessManagement/enterpriseManagement/index.vue

@@ -28,12 +28,19 @@
                 >
                     <template slot-scope="scope" slot="opt">
                         <div class="opt">
-                            <el-tooltip effect="light" placement="bottom" content="编辑">
-                                <i class="zoniot_font zoniot-icon-bianji" @click="addOrEdit('edit', scope.row)"></i>
-                            </el-tooltip>
-                            <el-tooltip effect="light" placement="bottom" content="详情">
-                                <i class="zoniot_font zoniot-icon-xiangqing" @click="lookDetail(scope.row)"></i>
-                            </el-tooltip>
+                            <template v-if="!!params">
+                                <el-tooltip effect="light" placement="bottom" content="关联">
+                                    <i class="zoniot_font zoniot-icon-xiangqing" @click="lookDetail(scope.row)"></i>
+                                </el-tooltip>
+                            </template>
+                            <template v-else>
+                                <el-tooltip effect="light" placement="bottom" content="编辑">
+                                    <i class="zoniot_font zoniot-icon-bianji" @click="addOrEdit('edit', scope.row)"></i>
+                                </el-tooltip>
+                                <el-tooltip effect="light" placement="bottom" content="详情">
+                                    <i class="zoniot_font zoniot-icon-xiangqing" @click="lookDetail(scope.row)"></i>
+                                </el-tooltip>
+                            </template>
                         </div>
                     </template>
                 </zz-table>
@@ -48,6 +55,7 @@ import list from '@utils/list.js';
 import lookDetail from './stepPage/details.vue';
 export default {
     mixins: [list],
+    props: ['params'],
     components: {
         lookDetail
     },

+ 27 - 2
operationSupport/src/views/parkingLotAdministration/parkingSpaceList.vue

@@ -16,9 +16,25 @@
             </el-select>
             <el-button type="primary" @click="mixins_search" class="search-btn" icon="el-icon-search">查询 </el-button>
             <div class="search-icon">
-                <el-tooltip class="item" effect="light" placement="bottom" content="新增">
+                <template>
+                    <el-dropdown type="primary" @command="addCommand">
+                        <span class="zoniot_font zoniot-icon-tianjia2"></span>
+                        <el-dropdown-menu slot="dropdown" hide-on-click="false" class="device-search-dropdown">
+                            <el-dropdown-item command="add">单个添加</el-dropdown-item>
+                            <el-dropdown-item command="batchAdd">
+                                <div class="upload_div">
+                                    <xk-upload class="upload_class" @callback="mixins_search" :params="{ importType: 'PARKING' }">
+                                        <span class="upload_text" slot="content">批量添加</span>
+                                    </xk-upload>
+                                </div>
+                            </el-dropdown-item>
+                            <el-dropdown-item command="template">下载模板</el-dropdown-item>
+                        </el-dropdown-menu>
+                    </el-dropdown>
+                </template>
+                <!-- <el-tooltip class="item" effect="light" placement="bottom" content="新增">
                     <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
-                </el-tooltip>
+                </el-tooltip> -->
                 <el-tooltip class="item" effect="light" placement="bottom" content="删除">
                     <i class="zoniot_font zoniot-icon-shanchu2" @click="deleteRow"></i>
                 </el-tooltip>
@@ -206,6 +222,15 @@ export default {
         },
         selectionChange(val) {
             this.selectRow = val;
+        },
+        addCommand(command) {
+            if (command === 'add') {
+                this.addOrEdit('add');
+            }
+            if (command === 'template') {
+                this.__exportExcel('/sc-community/excel/download/template', { importType: 'PARKING' });
+                return;
+            }
         }
     },
     mounted() {},