From 05d623d5b806f6650b9544dcbd4f322d677bf9a8 Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期二, 26 三月 2024 16:44:40 +0800
Subject: [PATCH] 完善直播模块2
---
ruoyi-ui/src/views/contacts/index.vue | 788 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 561 insertions(+), 227 deletions(-)
diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue
index 6b3eee4..079c3ce 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">
@@ -76,11 +82,11 @@
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">
<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>
@@ -266,12 +399,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 +423,8 @@
showSearch: true,
// 鎬绘潯鏁�
total: 0,
- // 璧勪骇琛ㄦ牸鏁版嵁
- propertyList: [],
+ // 閫氳褰曡〃鏍兼暟鎹�
+ contactList: [],
// 寮瑰嚭灞傛爣棰�
title: "",
// 鏄惁鏄剧ず寮瑰嚭灞�
@@ -305,22 +438,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 +477,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 +500,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 +579,63 @@
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() {
@@ -476,17 +688,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 +714,7 @@
let jd = true
this.$router.push({
- path:"/family/note1/propertyInfo/" + id,
+ path:"/familymodel/Contact/contactsInfo/" + id,
query:{
detail:jd
}
@@ -509,19 +729,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 +753,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 +845,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