| | |
| | | <!-- v-model="queryParams.id"--> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="成员姓名" prop="myName" style="padding-left:180px"> |
| | | <el-form-item label="家人姓名" prop="myName" style="padding-left:180px"> |
| | | <el-input |
| | | v-model="queryParams.myName" |
| | | placeholder="请输入成员姓名" |
| | | placeholder="请输入家人姓名" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery"> |
| | |
| | | |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="称呼" prop="nickName"> |
| | | <el-form-item label="通讯录中称呼" prop="nickName"> |
| | | <el-input |
| | | v-model="queryParams.nickName" |
| | | placeholder="请输入称呼" |
| | | placeholder="请输入通讯录中称呼" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery"> |
| | |
| | | <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-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> |
| | | <!-- <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"> |
| | |
| | | v-hasPermi="['system:role:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | |
| | | v-hasPermi="['family:note:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | |
| | | v-hasPermi="['family:note:export']" |
| | | >导入模板下载</el-button> |
| | | </el-col> |
| | | <el-col :span="1.2"> |
| | | <el-col :span="1.2"> |
| | | |
| | | <el-upload |
| | | action="" |
| | |
| | | |
| | | </el-upload> |
| | | </el-col> |
| | | |
| | | |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | </div> |
| | | <el-table v-loading="loading" :data="contactList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> |
| | | <el-table-column type="selection" :reserve-selection="true" width="25" align="center" /> |
| | | <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> |
| | | <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="80"/> |
| | | |
| | | <el-table-column label="成员姓名" prop="myName" sortable width="100" > |
| | | <el-table-column label="家人姓名" prop="myName" sortable width="130" > |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | <a href="javascript:;" @click="handleCheck(scope.row)">{{scope.row.myName}}</a> |
| | |
| | | </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" > |
| | | <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 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 width="110" align="center" > |
| | | <el-table-column label="手机" prop="phone" sortable 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 width="130" align="center" > |
| | | <el-table-column label="其它联系方式" prop="wx qq twitter" sortable width="180" align="center" > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.wx || scope.row.qq || scope.row.twitter == true"> |
| | | {{scope.row.wx}}<br> |
| | |
| | | <span v-else>————</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否常联系" prop="isAlways" sortable width="120" align="center" > |
| | | <el-table-column label="是否常联系" prop="isAlways" 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="remark" sortable width="200" > |
| | | <el-table-column label="是否是本家庭记录" prop="ownData" sortable width="150px" > |
| | | <template slot-scope="scope">{{scope.row.ownData === 0 ? '否': '是'}}</template> |
| | | </el-table-column> |
| | | |
| | | |
| | | <el-table-column label="备注(是否存在金钱关系)" prop="remark" 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" > |
| | | <el-table-column label="电子名片" prop="url" width="160" align="center"> |
| | | <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 === ','" |
| | | > |
| | | <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> |
| | | |
| | |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-d-arrow-right" |
| | | @click="handleCheck(scope.row)"> |
| | | 查看详情</el-button> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <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="myName"> |
| | | <el-input v-model="formDat.myName" 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 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-input> |
| | | </el-form-item> |
| | | <el-form-item label="是否常联系" prop="isAlways"> |
| | | <el-input v-model="formDat.isAlways" placeholder="是否常联系" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | <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="remark"> |
| | |
| | | :http-request="requestUpload" |
| | | :file-list="fileList" |
| | | > |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | |
| | | class="upload-demo" |
| | | multiple |
| | | |
| | | :on-remove="handleRemove" |
| | | :on-remove="handleRemoveFile" |
| | | :http-request="requestUpload" |
| | | :show-file-list="true" |
| | | > |
| | | <el-button type="primary">点击上传</el-button> |
| | | <div v-if="uploading" class="upload-status">正在上传...</div> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | | </div> |
| | |
| | | import { Notification, MessageBox, Message, Loading } from 'element-ui' |
| | | |
| | | //导入接口函数 |
| | | import {getContactList,enload, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index"; |
| | | import {getContactList,enload, addContact, delContact,uploadPic} from "@/api/contacts/index"; |
| | | export default { |
| | | name: "index", |
| | | dicts: ['sys_normal_disable'], |
| | |
| | | dsb:true, |
| | | btn:false, |
| | | fit:['fill'], |
| | | |
| | | uploading: false, |
| | | formDat: { |
| | | //通讯录 |
| | | id:undefined, |
| | |
| | | // }], |
| | | myName: [{ |
| | | required: true, |
| | | message: '请输入成员姓名', |
| | | message: '请输入家人姓名', |
| | | trigger: 'blur' |
| | | }], |
| | | nickName: [{ |
| | | required: true, |
| | | message: '请输入称呼', |
| | | message: '请输入通讯录中称呼', |
| | | trigger: 'blur' |
| | | }], |
| | | name: [{ |
| | |
| | | trigger: 'blur' |
| | | }], |
| | | }, |
| | | typeOptions: [], |
| | | typeOptions: [{ |
| | | value: '1', |
| | | label: '是', |
| | | }, |
| | | { |
| | | value: '0', |
| | | label: '否', |
| | | }], |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | // }) |
| | | // }, |
| | | |
| | | 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() { |
| | |
| | | }); |
| | | } |
| | | }); |
| | | // 清空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]); |
| | | } |
| | | }, |
| | | requestUpload(params) |
| | | { |
| | |
| | | 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}) |
| | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const Ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除编号为"' + Ids + '"的数据项?').then(function() { |
| | | this.$modal.confirm('是否确认删除数据项?').then(function() { |
| | | return delContact(Ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | const Ids = this.ids; |
| | | |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | this.download('zfContact/export', { |