| | |
| | | <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"> |
| | | <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-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" |
| | |
| | | <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 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 |
| | |
| | | v-hasPermi="['system:role:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | |
| | | @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.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> |
| | | |
| | | <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" > |
| | | </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 fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> |
| | | |
| | | <el-table-column label="家人姓名" prop="myName" sortable width="160" > |
| | | <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="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="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="180" 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="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="120" /> |
| | | |
| | | <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" 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 === ','" |
| | | > |
| | | </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 |
| | |
| | | @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> |
| | |
| | | :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-item label="成员姓名" prop="myName"> |
| | | <el-input v-model="contactList.myName" placeholder="请输入成员姓名" clearable :style="{width: '100%'}" > |
| | | <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-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="称呼" prop="nickName"> |
| | | <el-input v-model="contactList.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="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="请输入QQ" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="twitter" prop="twitter"> |
| | | <el-input v-model="formDat.twitter" placeholder="请输入twitter" 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> |
| | |
| | | <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> |
| | |
| | | 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' |
| | | |
| | | |
| | | //在system/note/index.js中导入接口函数 |
| | | import {getContactList, 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'], |
| | |
| | | nickName:undefined, |
| | | name:undefined, |
| | | work:undefined, |
| | | |
| | | phone:undefined, |
| | | wx:undefined, |
| | | qq:undefined, |
| | | twitter:undefined, |
| | | isAlways:undefined, |
| | | remark:undefined, |
| | | }, |
| | | // searchVal:"", |
| | | |
| | | // 表单参数 |
| | | form: {}, |
| | | defaultProps: { |
| | |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | id: [{ |
| | | required: true, |
| | | message: '请输入id', |
| | | trigger: 'blur' |
| | | }], |
| | | // id: [{ |
| | | // required: true, |
| | | // message: '请输入id', |
| | | // trigger: 'blur' |
| | | // }], |
| | | myName: [{ |
| | | required: true, |
| | | message: '请输入成员姓名', |
| | | message: '请输入家人姓名', |
| | | trigger: 'blur' |
| | | }], |
| | | nickName: [{ |
| | | required: true, |
| | | message: '请输入称呼', |
| | | message: '请输入通讯录中称呼', |
| | | trigger: 'blur' |
| | | }], |
| | | name: [{ |
| | |
| | | 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: '请输入QQ', |
| | | trigger: 'blur' |
| | | }], |
| | | twitter: [{ |
| | | // required: true, |
| | | message: '请输入twitter', |
| | | trigger: 'blur' |
| | | }], |
| | | isAlways: [{ |
| | | // required: true, |
| | | message: '是否常联系', |
| | | trigger: 'blur' |
| | | }], |
| | | remark: [{ |
| | | // required: true, |
| | | message: '请输入备注', |
| | | trigger: 'blur' |
| | | }], |
| | | }, |
| | | typeOptions: [], |
| | | }; |
| | |
| | | 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(); |
| | | }, |
| | | getRowId(row) |
| | | { |
| | | return row.id |
| | | }, |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row1"; |
| | | } else { |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | |
| | | /** 查询通讯录列表 */ |
| | |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | // //每次改变input框值时就改变this.myTableData的值 |
| | | // inputChange() { //循环每一项 只要content的值含有输入的searchVal值,就加进newList;反之,就无东西加进newList |
| | | // let newlist = this.formDat.filter( |
| | | // (item) => item.content.indexOf(this.searchVal) > -1 |
| | | // ); |
| | | // this.contactList = newlist; |
| | | // }, |
| | | |
| | | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.id; |
| | | this.$router.push("/tongxunlu/contacts/propertyInfo/" + id); |
| | | this.$router.push("/familymodel/Contact/contactsInfo/" + id); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | |
| | | let jd = true |
| | | |
| | | this.$router.push({ |
| | | path:"/tongxunlu/contacts/propertyInfo/" + id, |
| | | path:"/familymodel/Contact/contactsInfo/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | |
| | | /** 删除按钮操作 */ |
| | | 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() { |
| | | this.download('family/property/export', { |
| | | const Ids = this.ids; |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | this.download('zfContact/export', { |
| | | ...this.queryParams |
| | | }, `property_${new Date().getTime()}.xlsx`) |
| | | }, `zfContact_${new Date().getTime()}.xlsx`) |
| | | }else{ |
| | | this.download('zfContact/export1/'+Ids, { |
| | | }, `zfContact_${new Date().getTime()}.xlsx`) |
| | | } |
| | | }, |
| | | handleExportTemplate(){ |
| | | this.download('zfContact/model', { |
| | | ...this.queryParams |
| | | }, `zfContact_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | /** 导入操作*/ |
| | | handleEnport(params){ |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('excelImport', file); |
| | | let _this = this |
| | | enload(formData).then(response => { |
| | | _this.getList(); |
| | | Message({ message: "导入成功", type: 'warning' }) |
| | | |
| | | }).catch(err) |
| | | { |
| | | Message({ message: "导入失败", type: 'error' }) |
| | | } |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style > |
| | | .app-container{ |
| | | background-color: #FEF7FC; |
| | | } |
| | | |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | |
| | | } |
| | | |
| | | |
| | | </style> |