From bcac500a760877dc9140f1f381739793706c1af6 Mon Sep 17 00:00:00 2001
From: feige <feige@qq.com>
Date: 星期五, 10 十一月 2023 10:29:38 +0800
Subject: [PATCH] 修改图片大小

---
 ruoyi-ui/src/views/contacts/index.vue |  655 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 454 insertions(+), 201 deletions(-)

diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue
index 6b3eee4..fb4a268 100644
--- a/ruoyi-ui/src/views/contacts/index.vue
+++ b/ruoyi-ui/src/views/contacts/index.vue
@@ -2,72 +2,78 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
 
-      <el-col  :span="6" >
-        <el-input size="medium" v-model="input" placeholder="鎼滅储" clearable>
+      <el-form-item label="瀹朵汉濮撳悕" prop="myName" >
+        <el-input
+          v-model="queryParams.myName"
+          placeholder="璇疯緭鍏ュ浜哄鍚�"
+          clearable
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery">
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
-      </el-col>
 
-      <el-form-item label="鏃堕棿" style="padding-left:80px">
-          <el-date-picker
-            v-model="dateRange"
-            style="width: 240px"
-            value-format="yyyy-MM-dd HH-MM"
-            type="daterange"
-            range-separator="-"
-            start-placeholder="寮�濮嬫棩鏈�"
-            end-placeholder="缁撴潫鏃ユ湡"
-          ></el-date-picker>
       </el-form-item>
 
-      <el-form-item label="绫诲埆" prop="type">
-          <el-select
-            v-model="queryParams.type"
-            placeholder="鎵�鏈夌被鍒�"
+      <el-form-item label="閫氳褰曚腑绉板懠" prop="nickName">
+        <el-input
+          v-model="queryParams.nickName"
+          placeholder="璇疯緭鍏ラ�氳褰曚腑绉板懠"
+          clearable
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery">
+          <i slot="prefix" class="el-input__icon el-icon-search"></i>
+        </el-input>
+      </el-form-item>
+
+        <el-form-item label="濮撳悕" prop="name">
+          <el-input
+            v-model="queryParams.name"
+            placeholder="璇疯緭鍏ュ鍚�"
             clearable
-            style="width: 240px"
+            style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+            @keyup.enter.native="handleQuery">
+            <i slot="prefix" class="el-input__icon el-icon-search"></i>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="宸ヤ綔鍗曚綅" prop="work">
+          <el-input
+            v-model="queryParams.work"
+            placeholder="璇疯緭鍏ュ伐浣滃崟浣�"
+            clearable
+            style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+            @keyup.enter.native="handleQuery"
           >
-            <el-option
-              v-for="dict in typeOptions"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </el-select>
-      </el-form-item>
-      <el-form-item label="鏍囬" prop="title">
-        <el-input
-          v-model="queryParams.title"
-          placeholder="璇疯緭鍏ユ爣棰�"
-          clearable
-          style="width: 240px"title
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="鎸佹湁浜�" prop="holder">
-        <el-input
-          v-model="queryParams.holder"
-          placeholder="璇疯緭鍏ユ寔鏈変汉"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="瀛樻斁鍦板潃" prop="address">
-        <el-input
-          v-model="queryParams.address"
-          placeholder="璇疯緭鍏ュ叿浣撲綅缃�"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
-      </el-form-item>
+            <i slot="prefix" class="el-input__icon el-icon-search"></i>
+          </el-input>
+        </el-form-item>
+     <el-form-item>
+       <el-button size="mini" @click="handleQuery" style=" width: 67px;height: 27px;background: #FFDDE3;
+              border-radius: 7px 7px 7px 7px;opacity: 1; " >鎼滅储</el-button>
+       <el-button  size="mini" @click="resetQuery" style=" width: 67px;height: 27px;background: #FFDDE3;
+              border-radius: 7px 7px 7px 7px;opacity: 1; ">閲嶇疆</el-button>
+     </el-form-item>
     </el-form>
+    <div>
+<!--      <div style="width: 72px;-->
+<!--      height: 24px;-->
+<!--      font-size: 18px;-->
+<!--      font-family: Microsoft YaHei-Regular, Microsoft YaHei;-->
+<!--      font-weight: 400;-->
+<!--      color: #000000;-->
+<!--      line-height: 21px;-->
+<!--      ">閫氳褰�</div>-->
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
@@ -80,7 +86,6 @@
           v-hasPermi="['system:role:add']"
         >鏂板</el-button>
       </el-col>
-
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -101,52 +106,136 @@
           @click="handleExport"
           v-hasPermi="['family:note:export']"
         >瀵煎嚭</el-button>
-      </el-col>
+              </el-col>
+      <el-col :span="1.5">
+          <el-button
+            type="warning"
+            plain
+            icon="el-icon-download"
+            size="mini"
+            @click="handleExportTemplate"
+            v-hasPermi="['family:note:export']"
+          >瀵煎叆妯℃澘涓嬭浇</el-button>
+        </el-col>
+      <el-col :span="1.5">
+
+         <el-upload
+            action=""
+            class="upload-demo"
+            :auto-upload="true"
+            :show-file-list="false"
+            :http-request="handleEnport"
+
+          >
+            <el-button
+            type="primary"
+            plain
+
+            icon="el-icon-top"
+            size="mini"
+
+           >瀵煎叆</el-button>
+
+         </el-upload>
+        </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="propertyList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55"  align="center" />
-      <el-table-column label="璧勪骇缂栧彿" prop="id" sortable width="120" />
-      <el-table-column label="绫诲瀷" prop="type" sortable :show-overflow-tooltip="true" width="150" />
-      <el-table-column label="鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="150" />
-      <el-table-column label="瀛樺偍鍦板潃" prop="location" sortable width="100" />
-      <el-table-column label="鎸佹湁浜�" prop="holder" sortable width="100" />
-      <el-table-column label="鍏蜂綋浣嶇疆" prop="address" sortable width="100" />
-      <el-table-column label="澶囨敞淇℃伅" prop="remark" sortable width="100" />
-      <el-table-column label="鍒涘缓鏃堕棿" align="center" sortable prop="createTime" width="180">
+  </div>
+    <el-table v-loading="loading" :data="contactList"  :row-key="getRowId" ref="multipleTable"  @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName" >
+      <el-table-column type="selection" :reserve-selection="true" width="55"  align="center" />
+      <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="100px"/>
+
+      <el-table-column label="瀹朵汉濮撳悕" prop="myName" sortable width="130" >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
+          <div>
+            <a href="javascript:;" @click="handleCheck(scope.row)">{{scope.row.myName}}</a>
+          </div>
+        </template>
+
+      </el-table-column>
+      <el-table-column label="閫氳褰曚腑绉板懠" prop="nickName" sortable :show-overflow-tooltip="true" width="160" align="center" />
+      <el-table-column label="濮撳悕" prop="name" sortable :show-overflow-tooltip="true" width="120" align="center"/>
+      <el-table-column label="宸ヤ綔鍗曚綅" prop="work" sortable :show-overflow-tooltip="true" width="160" align="center" >
+        <template slot-scope="scope">{{scope.row.work? scope.row.work: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="鎵嬫満" prop="phone" sortable :show-overflow-tooltip="true" width="120" align="center" >
+        <template slot-scope="scope">{{scope.row.phone? scope.row.phone: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="鍏跺畠鑱旂郴鏂瑰紡" prop="wx qq twitter" sortable :show-overflow-tooltip="true" width="150" align="center" >
+        <template slot-scope="scope">
+          <span v-if="scope.row.wx || scope.row.qq || scope.row.twitter == true" >
+            {{scope.row.wx}}/{{scope.row.qq}}/{{scope.row.twitter}}
+          </span>
+          <span v-else>鈥斺�斺�斺��</span>
         </template>
       </el-table-column>
-      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="鏄惁甯歌仈绯�" prop="isAlways" :show-overflow-tooltip="true" sortable width="170" align="center" >
+        <template slot-scope="scope">
+          <span v-if="scope.row.isAlways===1">鏄�</span>
+          <span v-if="scope.row.isAlways===0">鍚�</span>
+          <span v-if="scope.row.isAlways== null">鈥斺��</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鏄惁鏄湰瀹跺涵璁板綍" prop="ownData" sortable width="150px" align="center" >
+        <template slot-scope="scope">{{scope.row.ownData === 0 ? '鍚�': '鏄�'}}</template>
+      </el-table-column>
+
+
+      <el-table-column label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark" :show-overflow-tooltip="true" sortable width="120" align="center">
+        <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+
+      <el-table-column label="鐢靛瓙鍚嶇墖" prop="url" width="160" align="center">
+           <template slot-scope="scope" >
+             <div  @click="handleCheck(scope.row)">
+               <img
+                 class="el-upload-list__item-thumbnail"
+                 src="../../assets/images/deviceLis.png"
+                 alt=""
+                 style="width: 35px; height: 35px;"
+                 fit="cover"
+                 v-if="!(scope.row.url === '' || scope.row.url === ',' || scope.row.url === null)"
+               >
+               <img
+                 v-else
+                 class="el-upload-list__item-thumbnail"
+                 src="../../assets/images/deviceA.png"
+                 alt=""
+                 style="width: 35px; height: 35px;"
+                 fit="cover"
+
+               ></div>
+           </template>
+        </el-table-column>
+
+
+      <el-table-column label="鎿嶄綔" align="center" width="250" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:role:edit']"
-          >淇敼</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['system:role:remove']"
-          >鍒犻櫎</el-button>
-          <el-dropdown
-            size="mini"
-            @command="(command) => handleCommand(command, scope.row)"
-            v-hasPermi="['system:role:edit']">
+          <div class="button-container">
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['system:role:edit']"
+            >
+              <span style="font-size: 14px;">淇敼</span>
+            </el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['system:role:remove']"
+            ><span style="font-size: 14px;">鍒犻櫎</span></el-button>
             <el-button
               size="mini"
               type="text"
               icon="el-icon-d-arrow-right"
-              @click="handleCheck(scope.row)"
-            >鏌ョ湅璇︽儏</el-button>
-
-          </el-dropdown>
+              @click="handleCheck(scope.row)">
+              <span style="font-size: 14px;">鏌ョ湅璇︽儏</span></el-button>
+          </div>
         </template>
       </el-table-column>
     </el-table>
@@ -156,57 +245,79 @@
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
+      style="background: #FEF7FC;"
       @pagination="getList"
     />
 
-    <!-- 娣诲姞鎴栦慨鏀硅祫浜т俊鎭厤缃璇濇 -->
+
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
 
-        <el-form-item label="绫诲埆" prop="type">
-          <el-select v-model="formDat.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}"  >
+        <el-form-item label="瀹朵汉濮撳悕" prop="myName">
+          <el-input v-model="formDat.myName" placeholder="璇疯緭鍏ュ浜哄鍚�" clearable :style="{width: '100%'}" >
+        </el-input>
+        </el-form-item>
+
+        <el-form-item label="閫氳褰曚腑绉板懠" prop="nickName">
+          <el-input v-model="formDat.nickName" placeholder="璇疯緭鍏ラ�氳褰曚腑绉板懠" clearable :style="{width: '100%'}" ></el-input>
+        </el-form-item>
+        <el-form-item label="濮撳悕" prop="name">
+          <el-input v-model="formDat.name" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+
+        <el-form-item label="宸ヤ綔鍗曚綅" prop="work">
+          <el-input v-model="formDat.work" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+        <el-form-item label="鎵嬫満" prop="phone">
+          <el-input v-model="formDat.phone" placeholder="璇疯緭鍏ユ墜鏈�" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+        <el-form-item label="寰俊" prop="wx">
+          <el-input v-model="formDat.wx" placeholder="璇疯緭鍏ュ井淇�" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+        <el-form-item label="QQ" prop="qq">
+          <el-input v-model="formDat.qq" placeholder="璇疯緭鍏Q" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+        <el-form-item label="twitter" prop="twitter">
+          <el-input v-model="formDat.twitter" placeholder="璇疯緭鍏witter" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+        <el-form-item label="鏄惁甯歌仈绯�" prop="isAlways">
+          <el-select v-model="formDat.isAlways" placeholder="璇烽�夋嫨鏄惁甯歌仈绯�" clearable :style="{width: '100%'}"  >
             <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
             ></el-option>
           </el-select>
         </el-form-item>
 
-        <el-form-item label="鏍囬" prop="title">
-          <el-input v-model="formDat.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" ></el-input>
-        </el-form-item>
-        <el-form-item label="瀛樺偍鍦板潃" prop="location">
-          <el-input v-model="formDat.location" placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�" clearable :style="{width: '100%'}" >
-          </el-input>
-        </el-form-item>
-        <el-form-item label="鎸佹湁浜�" prop="holder">
-          <el-input v-model="formDat.holder" placeholder="璇疯緭鍏ユ寔鏈変汉" clearable :style="{width: '100%'}" >
-          </el-input>
-        </el-form-item>
-        <el-form-item label="鍏蜂綋浣嶇疆" prop="address">
-          <el-input v-model="formDat.address" placeholder="璇疯緭鍏ュ叿浣撲綅缃�" clearable :style="{width: '100%'}" >
-          </el-input>
-        </el-form-item>
-        <el-form-item label="澶囨敞" prop="remark">
+        <el-form-item label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark">
           <el-input v-model="formDat.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input>
         </el-form-item>
 
-        <h4 class="form-header">鐩稿叧鍥剧墖 </h4>
+        <h4 class="form-header">鐢靛瓙鍚嶇墖 </h4>
         <el-upload
           action="#"
+          accept="image/jpeg, image/png,image/jpg, image/WMF,image/gif"
           list-type="picture-card"
           multiple
           :http-request="requestUpload"
           :file-list="fileList"
         >
-          <i slot="default" class="el-icon-plus"></i>
-          <div slot="file" slot-scope="{file}">
-            <img
-              class="el-upload-list__item-thumbnail"
-              :src="file.url"
-              alt=""
-              style="width: 126px; height: 126px"
-              fit="cover"
-              :preview-src-list="[file.url]"
-            >
+         <i  slot="default" class="el-icon-plus"></i>
+          <div slot="file" slot-scope="{ file }">
+            <template v-if="fileList">
+              <img
+                class="el-upload-list__item-thumbnail"
+                :src="file.url"
+                alt=""
+                style="width: 100%; height: 100%; object-fit: cover;"
+                fit="cover"
+                :preview-src-list="[file.url]"
+              >
+            </template>
             <span class="el-upload-list__item-actions">
         <span
           class="el-upload-list__item-preview"
@@ -234,11 +345,12 @@
           class="upload-demo"
           multiple
 
-          :on-remove="handleRemove"
-          :http-request="requestUpload"
+          :on-remove="handleRemoveFile"
+          :http-request="requestUpload1"
           :show-file-list="true"
         >
-          <el-button type="primary">Click to upload</el-button>
+          <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
+          <div v-if="uploading1" class="upload-status">姝e湪涓婁紶...</div>
           <template #tip>
             <div class="el-upload__tip">
             </div>
@@ -249,12 +361,11 @@
       <h4 class="form-header"> </h4>
 
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitDataScope">纭� 瀹�</el-button>
+        <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button>
         <el-button @click="cancelData">鍙� 娑�</el-button>
       </div>
     </el-dialog>
 
-    <!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� -->
     <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
 
     </el-dialog>
@@ -266,12 +377,12 @@
 import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
 import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
 
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
 
-
-//鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�
-import {listProperty, getPropertyInfo, delProperty, getCategory, addProperty, uploadPic} from "@/api/note/index";
+//瀵煎叆鎺ュ彛鍑芥暟
+import {getContactList,enload,  addContact, delContact,uploadPic} from "@/api/contacts/index";
 export default {
-  name: "Role",
+  name: "index",
   dicts: ['sys_normal_disable'],
   data() {
     return {
@@ -290,8 +401,8 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
-      // 璧勪骇琛ㄦ牸鏁版嵁
-      propertyList: [],
+      // 閫氳褰曡〃鏍兼暟鎹�
+      contactList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -313,14 +424,25 @@
       ],
       dsb:true,
       btn:false,
+      fit:['fill'],
+      uploading: false,
+      uploading1: false,
       formDat: {
-        type: undefined,
-        title: undefined,
-        location: undefined,
-        holder: undefined,
-        address: undefined,
-        remark: undefined,
+        //閫氳褰�
+        id:undefined,
+        myName:undefined,
+        nickName:undefined,
+        name:undefined,
+        work:undefined,
+
+        phone:undefined,
+        wx:undefined,
+        qq:undefined,
+        twitter:undefined,
+        isAlways:undefined,
+        remark:undefined,
         url: undefined,
+
       },
       // 鑿滃崟鍒楄〃
       menuOptions: [],
@@ -330,13 +452,21 @@
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        type:undefined,
-        title:undefined,
-        location:undefined,
-        holder:undefined,
-        address:undefined,
-        createTime:undefined
+        id:undefined,
+        myName:undefined,
+        nickName:undefined,
+        name:undefined,
+        work:undefined,
+
+        phone:undefined,
+        wx:undefined,
+        qq:undefined,
+        twitter:undefined,
+        isAlways:undefined,
+        remark:undefined,
       },
+      // searchVal:"",
+
       // 琛ㄥ崟鍙傛暟
       form: {},
       defaultProps: {
@@ -345,49 +475,78 @@
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
-        type: [{
+        // id: [{
+        //   required: true,
+        //   message: '璇疯緭鍏d',
+        //   trigger: 'blur'
+        // }],
+        myName: [{
           required: true,
-          message: '璇烽�夋嫨绫诲埆',
-          trigger: 'change'
-        }],
-        title: [{
-          required: true,
-          message: '璇疯緭鍏ユ爣棰�',
+          message: '璇疯緭鍏ュ浜哄鍚�',
           trigger: 'blur'
         }],
-        location: [{
+        nickName: [{
           required: true,
-          message: '璇疯緭鍏ュ瓨鍌ㄥ湴鍧�',
+          message: '璇疯緭鍏ラ�氳褰曚腑绉板懠',
           trigger: 'blur'
         }],
-        holder: [{
+        name: [{
           required: true,
-          message: '璇疯緭鍏ユ寔鏈変汉',
+          message: '璇疯緭鍏ュ鍚�',
           trigger: 'blur'
         }],
-        address: [{
-          required: true,
-          message: '璇疯緭鍏ュ叿浣撲綅缃�',
+        work: [{
+          // required: true,
+          message: '璇疯緭鍏ュ伐浣滃崟浣�',
+          trigger: 'blur'
+        }],
+        phone: [{
+          // required: true,
+          message: '璇疯緭鍏ユ墜鏈�',
+          trigger: 'blur'
+        }],
+        wx: [{
+          // required: true,
+          message: '璇疯緭鍏ュ井淇�',
+          trigger: 'blur'
+        }],
+        qq: [{
+          // required: true,
+          message: '璇疯緭鍏Q',
+          trigger: 'blur'
+        }],
+        twitter: [{
+          // required: true,
+          message: '璇疯緭鍏witter',
+          trigger: 'blur'
+        }],
+        isAlways: [{
+          // required: true,
+          message: '鏄惁甯歌仈绯�',
           trigger: 'blur'
         }],
         remark: [{
-          required: true,
+          // required: true,
           message: '璇疯緭鍏ュ娉�',
           trigger: 'blur'
         }],
-        createTime: [{
-          required: true,
-          message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
-          trigger: 'change'
-        }],
       },
-      typeOptions: [],
+      typeOptions: [{
+        value: '1',
+        label: '鏄�',
+      },
+        {
+          value: '0',
+          label: '鍚�',
+        }],
     };
   },
   created() {
     this.getList();
-    this.getCateInfor()
-
+    // this.getCateInfor()
+    // for (let i = 0; i < this.contactList.length; i++) {
+    //   this.formDat[i] = this.contactList[i];
+    // }
   },
   methods: {
     // 鍙栨秷鎸夐挳
@@ -395,35 +554,48 @@
       this.open = false;
       this.reset();
     },
-    /** 鏌ヨ瑙掕壊鍒楄〃 */
+    getRowId(row)
+    {
+      return row.id
+    },
+    //闅旇鍙樿壊
+    tableRowClassName({ row, rowIndex }) {
+      if (rowIndex % 2 == 0) {
+        return "statistics-warning-row1";
+      } else {
+        return "statistics-warning-row";
+      }
+    },
+
+    /** 鏌ヨ閫氳褰曞垪琛� */
     getList() {
       this.loading = true;
       // console.log(this.queryParams)
       //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
-      listProperty(this.queryParams).then(response => {
+      getContactList(this.queryParams).then(response => {
           //  alert(123)
           //   console.log(response.data)
-          this.propertyList = response.data.data;
+          this.contactList = response.data.data;
 
           this.total = response.data.total;
           this.loading = false;
         }
       );
     },
-    /** 鏌ヨ绫诲埆淇℃伅 */
-    getCateInfor()
-    {
-      let _this = this
-      getCategory().then(response=>{
 
-        response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
-          _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
-        })
-      })
+    handleRemoveFile(file) {
+      for(let i = 0; i < this.fileListOther.length; i++)
+      {
+        if(this.fileListOther[i].url==file.url)
+          this.$delete(this.fileListOther,i);
+      }
     },
-
     handleRemove(file) {
-      alert(323)
+      for(let i = 0; i < this.fileList.length; i++)
+      {
+        if(this.fileList[i].url==file.url)
+          this.$delete(this.fileList,i);
+      }
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -476,17 +648,25 @@
       this.single = selection.length!=1
       this.multiple = !selection.length
     },
+    // //姣忔鏀瑰彉input妗嗗�兼椂灏辨敼鍙榯his.myTableData鐨勫��
+    // inputChange() { //寰幆姣忎竴椤� 鍙content鐨勫�煎惈鏈夎緭鍏ョ殑searchVal鍊硷紝灏卞姞杩沶ewList锛涘弽涔嬶紝灏辨棤涓滆タ鍔犺繘newList
+    //   let newlist = this.formDat.filter(
+    //     (item) => item.content.indexOf(this.searchVal) > -1
+    //   );
+    //   this.contactList = newlist;
+    // },
+
 
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "娣诲姞璧勪骇璇︾粏淇℃伅";
+      this.title = "娣诲姞閫氳褰曡缁嗕俊鎭�";
     },
     /** 鏌ョ湅璇︾粏淇℃伅 */
     handleCheck(row){
       const id = row.id;
-      this.$router.push("/family/note1/propertyInfo/" + id);
+      this.$router.push("/familymodel/Contact/contactsInfo/" + id);
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -494,7 +674,7 @@
       let jd = true
 
       this.$router.push({
-        path:"/family/note1/propertyInfo/" + id,
+        path:"/familymodel/Contact/contactsInfo/" + id,
         query:{
           detail:jd
         }
@@ -519,9 +699,20 @@
       this.$refs["elForm"].validate(valid => {
         if (valid) {
 
-          addProperty(this.formDat).then(response => {
+          addContact(this.formDat).then(response => {
             this.$modal.msgSuccess("鏂板鎴愬姛");
             this.open = false;
+            // 娓呯┖formDat瀵硅薄鐨勬暟鎹�
+            Object.keys(this.formDat).forEach(key => {
+              this.formDat[key] = '';
+            });
+            for(let i = 0; i <= this.fileList.length; i++)
+            {
+              this.handleRemove(this.fileList[0]);
+            }
+            for(let i = 0; i < this.fileListOther.length; i++){
+              this.handleRemoveFile(this.fileListOther[0]);
+            }
             this.getList();
           });
         }
@@ -533,28 +724,39 @@
       var formData = new FormData();
       formData.append('uploadFile', file);
       let _this = this
-
+      this.uploading = true;
       uploadPic(formData).then(response => {
         let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
-
+        this.uploading = false;
+        this.$modal.msgSuccess("涓婁紶鎴愬姛");
         if(_this.fot.includes(pth) === true)
         {
           _this.fileList.push({name:response.data.fileName, "url":response.data.url})
-
-        }
-
-        else{
-          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
-
         }
       })
-
+    },
+    requestUpload1(params)
+    {
+      var file = params.file;
+      var formData = new FormData();
+      formData.append('uploadFile', file);
+      let _this = this
+      this.uploading1 = true;
+      uploadPic(formData).then(response => {
+        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
+        this.uploading1 = false;
+        this.$modal.msgSuccess("涓婁紶鎴愬姛");
+        if(_this.fot.includes(pth) !== true)
+        {
+          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
+        }
+      })
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎璧勪骇缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
-        return delProperty(Ids);
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() {
+        return delContact(Ids);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
@@ -562,10 +764,61 @@
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
-      this.download('family/property/export', {
+      const Ids = this.ids;
+
+      if(Ids.length==0)
+      {
+      this.download('zfContact/export', {
         ...this.queryParams
-      }, `property_${new Date().getTime()}.xlsx`)
+      }, `zfContact_${new Date().getTime()}.xlsx`)
+      }else{
+        this.download('zfContact/export1/'+Ids, {
+        }, `zfContact_${new Date().getTime()}.xlsx`)
+      }
+    },
+    handleExportTemplate(){
+      this.download('zfContact/model', {
+        ...this.queryParams
+      }, `zfContact_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+    var file = params.file;
+    var formData = new FormData();
+    formData.append('excelImport', file);
+    let _this = this
+    enload(formData).then(response => {
+       _this.getList();
+      Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+    }).catch(err)
+    {
+      Message({ message: "瀵煎叆澶辫触", type: 'error' })
+    }
+
     }
   }
 };
 </script>
+
+<style >
+.app-container{
+  background-color: #FEF7FC;
+}
+
+.el-table__row.statistics-warning-row {
+  background: #E0EEFE;
+
+}
+.el-table__row.statistics-warning-row1 {
+  background: #FFEFF2;
+
+}
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
+
+</style>

--
Gitblit v1.9.1