From eb8655f4b9c0df4a6f14805a22131e79dac03654 Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期二, 28 五月 2024 18:16:50 +0800
Subject: [PATCH] 修改了bug

---
 ruoyi-ui/src/views/contacts/index.vue |  799 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 571 insertions(+), 228 deletions(-)

diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue
index 6b3eee4..692fc15 100644
--- a/ruoyi-ui/src/views/contacts/index.vue
+++ b/ruoyi-ui/src/views/contacts/index.vue
@@ -2,85 +2,91 @@
   <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-row :gutter="10" class="mb8" v-if="userId != 2">
       <el-col :span="1.5">
         <el-button
           type="primary"
           plain
           icon="el-icon-plus"
           size="mini"
+
           @click="handleAdd"
           v-hasPermi="['system:role:add']"
         >鏂板</el-button>
       </el-col>
-
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -89,6 +95,7 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
+
           v-hasPermi="['system:role:remove']"
         >鍒犻櫎</el-button>
       </el-col>
@@ -101,52 +108,138 @@
           @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" v-if="userId != 2">
         <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"
+                     :disabled="!scope.row.ownData"
+              @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"
+                     :disabled="!scope.row.ownData"
+              @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 +249,82 @@
       :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"
+		  :on-change="handleChange"
+		  :auto-upload="false"
+		  	ref="upload"
         >
-          <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"
@@ -227,6 +345,13 @@
 
           </div>
         </el-upload>
+		<el-button
+		         style="margin-left: 10px"
+		         size="small"
+		         type="success"
+
+		         @click="picUpload"
+		       >涓婁紶鍒版湇鍔″櫒</el-button>
         <h4 class="form-header">鍏朵粬闄勪欢 </h4>
         <el-upload
           action=""
@@ -234,27 +359,35 @@
           class="upload-demo"
           multiple
 
-          :on-remove="handleRemove"
-          :http-request="requestUpload"
+          :on-remove="handleRemoveFile"
+          :http-request="requestUpload1"
           :show-file-list="true"
+		  ref="upload1"
+		  :on-change="handleChange1"
+		  :auto-upload="false"
+		  list-type="picture-card"
         >
-          <el-button type="primary">Click to upload</el-button>
+
           <template #tip>
             <div class="el-upload__tip">
             </div>
           </template>
         </el-upload>
-
+	 <el-button
+		          style="margin-left: 10px"
+		          size="small"
+		          type="success"
+		          @click="fileUpload"
+		        >涓婁紶鍒版湇鍔″櫒</el-button>
       </el-form>
       <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>
@@ -265,16 +398,17 @@
 <script>
 import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
 import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
+import {getInfo} from "@/api/login";
+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 {
+      userId: undefined,
       // 閬僵灞�
       disabled: false,
 
@@ -290,8 +424,8 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
-      // 璧勪骇琛ㄦ牸鏁版嵁
-      propertyList: [],
+      // 閫氳褰曡〃鏍兼暟鎹�
+      contactList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -305,22 +439,36 @@
       // 鏃ユ湡鑼冨洿
       dateRange: [],
       // 鏁版嵁鑼冨洿閫夐」
-      fot:[".jpg",".jif"],
+      fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
+        '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
+
       fileList:[
       ],
-      fileListOther:[
-
-      ],
+    fileList1:[],
+    	  uploadFileList: [],
+    		uploadFileList1: [],
+    fileListOther:[],
       dsb:true,
       btn:false,
+      fit:['fill'],
+      uploading: false,
+      uploading1: false,
       formDat: {
-        type: undefined,
-        title: undefined,
-        location: undefined,
-        holder: undefined,
-        address: undefined,
-        remark: undefined,
-        url: undefined,
+        //閫氳褰�
+        id:undefined,
+        myName:undefined,
+        nickName:undefined,
+        name:undefined,
+        work:undefined,
+
+        phone:undefined,
+        wx:undefined,
+        qq:undefined,
+        twitter:undefined,
+        isAlways:undefined,
+        remark:undefined,
+        url: '',
+
       },
       // 鑿滃崟鍒楄〃
       menuOptions: [],
@@ -330,13 +478,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,85 +501,150 @@
       },
       // 琛ㄥ崟鏍¢獙
       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: [{
+        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: '璇疯緭鍏ュ叿浣撲綅缃�',
+          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.getInfo()
+    // this.getCateInfor()
+    // for (let i = 0; i < this.contactList.length; i++) {
+    //   this.formDat[i] = this.contactList[i];
+    // }
   },
   methods: {
+    getInfo(){
+          console.log('-----------------')
+          getInfo().then(response=>{
+            console.log(response.user.roles[0].roleId,'roleID')
+            this.userId = response.user.roles[0].roleId
+          })
+        },
     // 鍙栨秷鎸夐挳
     cancelData() {
       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;
+      let _this = this
       // 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;
+         if(response.msg=="鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�")
+         {
+             _this.$modal.msgSuccess("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�");
+             _this.loading = false;
+         }else{
+          _this.contactList = response.data.data;
 
-          this.total = response.data.total;
-          this.loading = false;
+          _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);
+         this.$delete(this.uploadFileList1,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);
+         		 this.$delete(this.uploadFileList,i);
+         		 }
+      }
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -456,7 +677,7 @@
           deptCheckStrictly: true,
           remark: undefined
         };
-      this.resetForm("form");
+      this.resetForm("elForm");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
@@ -476,17 +697,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 +723,7 @@
       let jd = true
 
       this.$router.push({
-        path:"/family/note1/propertyInfo/" + id,
+        path:"/familymodel/Contact/contactsInfo/" + id,
         query:{
           detail:jd
         }
@@ -509,19 +738,23 @@
     /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
     submitDataScope: function() {
 
-      let ul = this.fileList.map(function (elem){
-        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
-      }).join(",")
-      let uls = this.fileListOther.map(function (elem){
-        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
-      }).join(",")
-      this.formDat.url = ul+","+uls
       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();
           });
         }
@@ -529,32 +762,91 @@
     },
     requestUpload(params)
     {
-      var file = params.file;
-      var formData = new FormData();
-      formData.append('uploadFile', file);
-      let _this = this
-
-      uploadPic(formData).then(response => {
-        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
-
-        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)
+    {
+
+    },
+	handleChange(file, fileList1) {
+	   //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+
+	 // this.uploadFileList.push(file.raw);
+	  console.log("=========5555=========")
+	  console.log(file)
+	//  console.log(this.uploadFileList)
+	//  this.fileList = fileList
+	//alert(file)
+	    this.uploadFileList.push(file.raw);
+	     this.fileList.push({name:file.name,url:file.url})
+	//alert(fileList1.length)
+	},
+	handleChange1(file, fileOtherList1) {
+	   //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+	this.uploadFileList1.push(file.raw);
+	 this.fileListOther.push({name:file.name,url:file.url})
+	 // this.uploadFileList.push(file.raw);
+	  console.log("=========5555=========")
+	  //console.log(file)
+	//  console.log(this.uploadFileList)
+	//  this.fileList = fileList
+	},
+	fileUpload(){
+	//	var file = params.file;
+
+		var formData = new FormData();
+		this.$refs.upload1.submit();
+		// formData.append('uploadFile', file);
+		if(this.uploadFileList1.length==0){
+			  this.$modal.msgSuccess("鏂囨。涓婁紶鍒楄〃涓嶈兘涓虹┖!");
+			  return
+		}
+		this.uploadFileList1.forEach((elem)=>{
+			formData.append("files", elem)
+
+		})
+
+		let _this = this
+
+		this.uploading = true;
+		uploadPic(formData).then(response => {
+		_this.uploadFileList1 = []
+		_this.formDat.url = _this.formDat.url+","+response.fileNames
+		_this.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛!");
+		  })
+
+	},
+	picUpload()
+	{
+		var formData = new FormData();
+		//alert(976)
+		//this.$refs.upload.submit();
+		//alert(8)
+		//alert(this.uploadFileList.length)
+	if(this.uploadFileList.length==0){
+		  this.$modal.msgSuccess("鍥剧墖涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+		  return}
+	//console.log(this.uploadFileList)
+		this.uploadFileList.forEach((elem)=>{
+			formData.append("files", elem)
+
+		})
+		//alert(90)
+		let _this = this
+		//alert(9)
+	    uploadPic(formData).then(response => {
+		//	alert("dds")
+	      _this.formDat.url = _this.formDat.url+","+response.fileNames
+		  _this.uploadFileList = []
+		  _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+
+	  });
+	},
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     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 +854,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 scoped>
+.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