From 9596bd25e3c95906398149d9325bbeecaa570e20 Mon Sep 17 00:00:00 2001
From: Tcsm <1377977403@qq.com>
Date: 星期二, 09 五月 2023 16:24:15 +0800
Subject: [PATCH] 根据反馈情况修改了部分bug

---
 ruoyi-ui/src/views/contacts/index.vue |  333 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 256 insertions(+), 77 deletions(-)

diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue
index 82404cb..9bb9656 100644
--- a/ruoyi-ui/src/views/contacts/index.vue
+++ b/ruoyi-ui/src/views/contacts/index.vue
@@ -1,15 +1,21 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
-      <el-form-item label="" prop="id" style="padding-left:30px">
+      <el-form-item label="" prop="phone wx qq twitter isAlways remark" >
         <el-input
-          v-model="queryParams.id"
+          v-model:phone="queryParams.phone"
+          v-model:wx="queryParams.wx"
+          v-model:qq="queryParams.qq"
+          v-model:twitter="queryParams.twitter"
+          v-model:isAlways="queryParams.isAlways"
+          v-model:remark="queryParams.remark"
           placeholder="鍦ㄢ�滈�氳褰曗�濅腑鎼滅储"
           clearable
           style="width: 240px"
           @keyup.enter.native="handleQuery">
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
+        <!--        v-model="queryParams.id"-->
       </el-form-item>
 
       <el-form-item label="鎴愬憳濮撳悕" prop="myName" style="padding-left:180px">
@@ -34,15 +40,7 @@
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
       </el-form-item>
-      <el-cntainer>
-        <el-col :span="9" >
-         <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>
-        </el-col>
-      </el-cntainer>
         <el-form-item label="濮撳悕" prop="name">
           <el-input
             v-model="queryParams.name"
@@ -64,16 +62,25 @@
             <i slot="prefix" class="el-input__icon el-icon-search"></i>
           </el-input>
         </el-form-item>
+   <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
+                     style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1;">鎼滅储</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1; " >閲嶇疆</el-button>
 
+         </el-form-item>
     </el-form>
-    <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>
+    <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">
         <el-button
@@ -106,32 +113,105 @@
           @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="handleExport"
+            v-hasPermi="['family:note:export']"
+          >瀵煎叆妯℃澘涓嬭浇</el-button>
+        </el-col>
+        <el-col :span="1.2">
+
+          <el-upload
+            action=""
+
+            class="upload-demo"
+            :show-file-list="false"
+            :http-request="handleEnport"
+          >
+            <el-button size="mini"   type="primary"
+            plain
+            icon="el-icon-plus" >瀵煎叆</el-button>
+
+          </el-upload>
+        </el-col>
+
+
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
+  </div>
+    <el-table v-loading="loading" :data="contactList"  @selection-change="handleSelectionChange"  @row-click="handleCheck" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
+      <el-table-column type="selection" width="25"  align="center" />
+      <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/>
 
-    <el-table v-loading="loading" :data="contactList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55"  align="center" />
-      <el-table-column label="鎴愬憳濮撳悕" prop="myName" sortable width="100" />
-      <el-table-column label="绉板懠" prop="nickName" sortable :show-overflow-tooltip="true" width="100" />
-      <el-table-column label="濮撳悕" prop="name" sortable :show-overflow-tooltip="true" width="100" />
-      <el-table-column label="宸ヤ綔鍗曚綅" prop="work" sortable width="100" />
-      <el-table-column label="鎵嬫満" prop="phone" sortable width="120" />
-      <el-table-column label="鍏跺畠鑱旂郴鏂瑰紡" prop="wx qq twitter" sortable width="150" >
+      <el-table-column label="鎴愬憳濮撳悕" prop="myName" sortable width="100" >
         <template slot-scope="scope">
-          {{scope.row.wx}}/
-          {{scope.row.qq}}/
-          {{scope.row.twitter}}
+          <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="80" align="center" />
+      <el-table-column label="濮撳悕" prop="name" sortable :show-overflow-tooltip="true" width="80" align="center"/>
+      <el-table-column label="宸ヤ綔鍗曚綅" prop="work" sortable width="100" align="center" >
+        <template slot-scope="scope">{{scope.row.work? scope.row.work: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="鎵嬫満" prop="phone" sortable width="110" 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 width="130" align="center" >
+        <template slot-scope="scope">
+          <span v-if="scope.row.wx || scope.row.qq || scope.row.twitter == true">
+            {{scope.row.wx}}<br>
+            {{scope.row.qq}}<br>
+            {{scope.row.twitter}}
+          </span>
+          <span v-else>鈥斺�斺�斺��</span>
         </template>
       </el-table-column>
-      <el-table-column label="鏄惁甯歌仈绯�" prop="isAlways" sortable width="120" />
-      <el-table-column label="鐢靛瓙鍚嶇墖" prop="url" align="center" sortable  width="180">
-<!--        <el-image-->
-<!--          :src="'http://47.93.189.255:8080/'+ contactList.url"-->
-<!--          :fit="fit"-->
-<!--        ></el-image>-->
+      <el-table-column label="鏄惁甯歌仈绯�" prop="isAlways" sortable width="120" 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="remark" sortable width="120" />
+
+      <el-table-column label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark" sortable width="200" >
+
+
+        <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+
+      <el-table-column label="鐢靛瓙鍚嶇墖" prop="url" width="160" >
+           <template slot-scope="scope" >
+             <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 !== ','"
+             >
+      <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceA.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url === ','"
+             >
+           </template>
+        </el-table-column>
+
+
+
+
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
           <el-button
@@ -148,18 +228,19 @@
             @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']">
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-d-arrow-right"
-              @click="handleCheck(scope.row)"
-            >鏌ョ湅璇︽儏</el-button>
 
-          </el-dropdown>
+           <el-button
+             size="mini"
+             type="text"
+             icon="el-icon-d-arrow-right"
+             @click="handleCheck(scope.row)">
+鏌ョ湅璇︽儏</el-button>
+
+
+
+
+
+
         </template>
       </el-table-column>
     </el-table>
@@ -169,44 +250,53 @@
       :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="contactList" :rules="rules" size="medium" label-width="100px">
+      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
 
         <el-form-item label="鎴愬憳濮撳悕" prop="myName">
-          <el-input v-model="contactList.myName" placeholder="璇疯緭鍏ユ垚鍛樺鍚�" clearable :style="{width: '100%'}" >
+          <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="contactList.nickName" placeholder="璇疯緭鍏ョО鍛�" clearable :style="{width: '100%'}" ></el-input>
+          <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="contactList.name" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" >
+          <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="contactList.work" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" clearable :style="{width: '100%'}" >
+          <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="contactList.phone" placeholder="璇疯緭鍏ユ墜鏈�" clearable :style="{width: '100%'}" >
+          <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="contactList.wx" placeholder="璇疯緭鍏ュ叾瀹冭仈绯绘柟寮�" clearable :style="{width: '100%'}" >
+        <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-input v-model="contactList.isAlways" placeholder="鏄惁甯歌仈绯�" clearable :style="{width: '100%'}" >
+          <el-input v-model="formDat.isAlways" placeholder="鏄惁甯歌仈绯�" clearable :style="{width: '100%'}" >
           </el-input>
         </el-form-item>
 
         <el-form-item label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark">
-          <el-input v-model="contactList.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input>
+          <el-input v-model="formDat.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input>
         </el-form-item>
 
         <h4 class="form-header">鐢靛瓙鍚嶇墖 </h4>
@@ -269,12 +359,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>
@@ -286,10 +375,10 @@
 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 {getContactList, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index";
+//瀵煎叆鎺ュ彛鍑芥暟
+import {getContactList,enload, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index";
 export default {
   name: "index",
   dicts: ['sys_normal_disable'],
@@ -372,7 +461,16 @@
         nickName:undefined,
         name:undefined,
         work:undefined,
+
+        phone:undefined,
+        wx:undefined,
+        qq:undefined,
+        twitter:undefined,
+        isAlways:undefined,
+        remark:undefined,
       },
+      // searchVal:"",
+
       // 琛ㄥ崟鍙傛暟
       form: {},
       defaultProps: {
@@ -381,11 +479,11 @@
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
-        id: [{
-          required: true,
-          message: '璇疯緭鍏d',
-          trigger: 'blur'
-        }],
+        // id: [{
+        //   required: true,
+        //   message: '璇疯緭鍏d',
+        //   trigger: 'blur'
+        // }],
         myName: [{
           required: true,
           message: '璇疯緭鍏ユ垚鍛樺鍚�',
@@ -402,11 +500,40 @@
           trigger: 'blur'
         }],
         work: [{
-          required: true,
+          // 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,
+          message: '璇疯緭鍏ュ娉�',
+          trigger: 'blur'
+        }],
       },
       typeOptions: [],
     };
@@ -414,13 +541,24 @@
   created() {
     this.getList();
     // this.getCateInfor()
-
+    // for (let i = 0; i < this.contactList.length; i++) {
+    //   this.formDat[i] = this.contactList[i];
+    // }
   },
   methods: {
     // 鍙栨秷鎸夐挳
     cancelData() {
       this.open = false;
       this.reset();
+    },
+
+    //闅旇鍙樿壊
+    tableRowClassName({ row, rowIndex }) {
+      if (rowIndex % 2 == 0) {
+        return "statistics-warning-row1";
+      } else {
+        return "statistics-warning-row";
+      }
     },
 
     /** 鏌ヨ閫氳褰曞垪琛� */
@@ -504,6 +642,14 @@
       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() {
@@ -514,7 +660,7 @@
     /** 鏌ョ湅璇︾粏淇℃伅 */
     handleCheck(row){
       const id = row.id;
-      this.$router.push("/tongxunlu/contacts/propertyInfo/" + id);
+      this.$router.push("/familymodel/Contact/contactsInfo/" + id);
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -522,7 +668,7 @@
       let jd = true
 
       this.$router.push({
-        path:"/tongxunlu/contacts/propertyInfo/" + id,
+        path:"/familymodel/Contact/contactsInfo/" + id,
         query:{
           detail:jd
         }
@@ -581,7 +727,7 @@
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎璧勪骇缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
+      this.$modal.confirm('鏄惁纭鍒犻櫎缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
         return delContact(Ids);
       }).then(() => {
         this.getList();
@@ -590,10 +736,43 @@
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
-      this.download('family/property/export', {
+      this.download('zfContact/export', {
         ...this.queryParams
-      }, `property_${new Date().getTime()}.xlsx`)
+      }, `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;
+
+}
+
+
+</style>

--
Gitblit v1.9.1