From 6de4ec8ac6822f22745c9bd059487a743e836e02 Mon Sep 17 00:00:00 2001
From: Tcsm <1377977403@qq.com>
Date: 星期三, 12 四月 2023 00:04:07 +0800
Subject: [PATCH] 4.12日提交通讯录模块和成长经历模块
---
ruoyi-ui/src/views/self/show.vue | 250 ++++++++-------
ruoyi-ui/src/assets/icons/top.png | 0
ruoyi-ui/src/views/contacts/index.vue | 203 ++++++++----
ruoyi-ui/src/views/contacts/contactsInfo.vue | 396 ++++++++++++++++++++++++++
4 files changed, 661 insertions(+), 188 deletions(-)
diff --git a/ruoyi-ui/src/assets/icons/top.png b/ruoyi-ui/src/assets/icons/top.png
new file mode 100644
index 0000000..069f742
--- /dev/null
+++ b/ruoyi-ui/src/assets/icons/top.png
Binary files differ
diff --git a/ruoyi-ui/src/views/contacts/contactsInfo.vue b/ruoyi-ui/src/views/contacts/contactsInfo.vue
new file mode 100644
index 0000000..d092eef
--- /dev/null
+++ b/ruoyi-ui/src/views/contacts/contactsInfo.vue
@@ -0,0 +1,396 @@
+<template>
+ <div class="app-container">
+ <div class="form-header mt">
+ <h4 class="dt h4">閫氳褰曡缁嗕俊鎭� </h4>
+ <el-button type="primary" class="pt" icon="el-icon-edit" @click="handleEdit()" :disabled="btn">缂栬緫</el-button>
+ <!-- <br>-->
+ <!-- <el-button type="primary" class="pt" @click="handleExport"-->
+ <!-- v-hasPermi="['self:user:export']" >瀵煎嚭</el-button>-->
+ </div>
+
+ <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
+ <!-- <el-form-item label="id" prop="id">-->
+ <!-- <el-input v-model="formData.id" placeholder="璇疯緭鍏d" :maxlength="11" show-word-limit :disabled="true"-->
+ <!-- clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>-->
+ <!-- </el-form-item>-->
+ <el-form-item label="鎴愬憳濮撳悕" prop="myName">
+ <el-input v-model="formData.myName" placeholder="璇疯緭鍏ユ垚鍛樺鍚�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="绉板懠" prop="nickName">
+ <el-input v-model="formData.nickName" placeholder="璇疯緭鍏ョО鍛�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="濮撳悕" prop="name">
+ <el-input v-model="formData.name" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="宸ヤ綔鍗曚綅" prop="work">
+ <el-input v-model="formData.work" placeholder="璇疯緭鍏ュ叿浣撲綅缃�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満" prop="phone">
+ <el-input v-model="formData.phone" placeholder="璇疯緭鍏ユ墜鏈�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="寰俊" prop="wx">
+ <el-input v-model="formData.wx" placeholder="璇疯緭鍏ュ井淇�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="QQ" prop="qq">
+ <el-input v-model="formData.qq" placeholder="璇疯緭鍏Q" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="twitter" prop="twitter">
+ <el-input v-model="formData.twitter" placeholder="璇疯緭鍏witter" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鏄惁甯歌仈绯�" prop="isAlways">
+ <el-input v-model="formData.isAlways" placeholder="鏄惁甯歌仈绯�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark">
+ <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+ </el-form-item>
+
+ <h4 class="form-header">鐢靛瓙鍚嶇墖 </h4>
+ <el-upload
+ action="#"
+ list-type="picture-card"
+ multiple
+ :http-request="requestUpload"
+ :file-list="fileList"
+ >
+ <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: 147px; height: 147px"
+ fit="cover"
+ :preview-src-list="[file.url]"
+ >
+ <span class="el-upload-list__item-actions">
+ <span
+ class="el-upload-list__item-preview"
+ @click="handlePictureCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+ v-if="!disabled"
+ class="el-upload-list__item-delete"
+ @click="handleDownload(file.url)"
+ >
+ <i class="el-icon-download"></i>
+ </span>
+ <span
+ v-if="!disabled"
+ class="el-upload-list__item-delete"
+ @click="handleRemove(file)"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
+ </span>
+
+
+ </div>
+ </el-upload>
+
+ <h4 class="form-header">鍏朵粬闄勪欢 </h4>
+ <el-upload
+ action=""
+ :file-list="fileListOther"
+ class="upload-demo"
+ multiple
+ :on-preview="handlePreview"
+
+ :on-remove="handleRemove"
+ :http-request="requestUpload"
+ :show-file-list="true"
+ >
+ <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ </div>
+ </template>
+
+
+ </el-upload>
+
+ <el-form-item size="large">
+ <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-dialog :visible.sync="dialogVisible">
+ <img w-full :src="dialogImageUrl" alt="Preview Image" />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {getContactList, getContactIdList, addContact,updateContact, download,delContact,uploadPic} from "@/api/contacts/index";
+import {addRole, updateRole} from "@/api/system/role";
+import {blobValidate} from "@/utils/ruoyi";
+import errorCode from "@/utils/errorCode";
+import {Message} from "element-ui";
+
+export default {
+ components: {},
+ props: [],
+ data() {
+ return {
+ cdi:"閫氳褰曡缁嗕俊鎭�",
+ udi:"閫氳褰曚俊鎭鎯�",
+ fot:[".jpg",".jif"],
+ fileList:[
+ ],
+ fileListOther:[
+
+ ],
+ dsb:true,
+ btn:false,
+
+ // 閫氳褰曡〃鏍兼暟鎹�
+ contactList: [],
+
+ formData: {
+ //閫氳褰�
+ id:undefined,
+ myName:undefined,
+ nickName:undefined,
+ name:undefined,
+ work:undefined,
+
+ phone:undefined,
+ wx:undefined,
+ qq:undefined,
+ twitter:undefined,
+ isAlways:undefined,
+ remark:undefined,
+ url: undefined,
+ },
+ dialogImageUrl: '',
+ dialogVisible: false,
+ disabled: false,
+ rules: {
+ id: [{
+ required: true,
+ message: '璇疯緭鍏d',
+ trigger: 'blur'
+ }],
+
+ myName: [{
+ required: true,
+ message: '璇疯緭鍏ユ垚鍛樺鍚�',
+ trigger: 'blur'
+ }],
+ nickName: [{
+ required: true,
+ message: '璇疯緭鍏ョО鍛�',
+ trigger: 'blur'
+ }],
+ name: [{
+ required: true,
+ message: '璇疯緭鍏ュ鍚�',
+ trigger: 'blur'
+ }],
+ address: [{
+ required: true,
+ message: '璇疯緭鍏ュ叿浣撲綅缃�',
+ trigger: 'blur'
+ }],
+ remark: [{
+ // required: true,
+ message: '璇疯緭鍏ュ娉�',
+ trigger: 'blur'
+ }],
+
+ },
+ typeOptions: [],
+ }
+ },
+ computed: {},
+ watch: {},
+ created() {
+ const id = this.$route.params && this.$route.params.id;
+ let jd;
+ if(this.$route.query.detail!=undefined)
+ {
+ jd = this.$route.query.detail
+ this.btn= jd
+ this.dsb = !jd
+ document.title = "淇敼閫氳褰曡缁嗕俊鎭�";
+ this.$route.meta.title = "淇敼閫氳褰曡缁嗕俊鎭�";//鍒楄〃鐨勫悕绉�
+ }
+ else{
+ document.title = "鏌ョ湅閫氳褰曡缁嗕俊鎭�";
+ this.$route.meta.title = "鏌ョ湅閫氳褰曡缁嗕俊鎭�";//鍒楄〃鐨勫悕绉�
+ }
+
+ let _this = this
+ if (id) {
+ this.loading = true;
+ getContactIdList(id).then((response) => {
+ this.formData = response.data;
+ let paths = response.data.url.split(",");
+ for(let i = 0; i < paths.length; i++)
+ {
+ if(paths[i]!="") {
+
+ let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
+
+ if (_this.fot.includes(pth) === true)
+ _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+ else {
+ // alert(paths[i])
+ let nms = paths[i].split("\/")
+ let nm = nms[nms.length - 1]
+ _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+ }
+ }
+ }
+ this.loading = false;
+ });
+ this.getCateInfor()
+
+ }
+ },
+ mounted() {},
+ methods: {
+ /** 鏌ヨ绫诲埆淇℃伅 */
+ // 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]})
+ // })
+ // })
+ // },
+ submitForm() {
+ 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.formData.url = ul+","+uls
+
+ this.$refs['elForm'].validate(valid => {
+
+
+ if (valid) {
+ if (this.formData.id != undefined) {
+ updateContact(this.formData).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ // this.open = false;
+ this.btn=false
+ });
+ } else {
+ this.$modal.msgSuccess("淇敼澶辫触");
+
+ }
+ }
+ })
+ },
+ resetForm() {
+ this.$refs['elForm'].resetFields()
+ },
+ handlePreview(file)
+ {
+ let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'property_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
+ handleRemoveFile(file) {
+ alert(23)
+ },
+ handleRemove(file) {
+ alert(323)
+ },
+ handlePictureCardPreview(file) {
+ this.dialogImageUrl = file.url;
+ this.dialogVisible = true;
+ },
+ handleDownload(url) {
+ var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'property_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
+ handleEdit()
+ {
+ this.dsb = false
+ this.btn = true
+ },
+ 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})
+
+ }
+ })
+
+ },
+
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('/zfContact/export', {
+ ...this.queryParams
+ }, `zfContact_${new Date().getTime()}.xlsx`)
+ }
+
+ }
+}
+
+</script>
+
+<style scoped>
+.mt
+{
+ position: relative;
+}
+.dt{
+ display: block;
+
+}
+.pt{
+ right: 10px;
+ top:-3px;
+ display: block;
+ position: absolute;
+}
+</style>
+
diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue
index 82404cb..6c73b4f 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">
@@ -36,44 +42,44 @@
</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-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-form-item>
</el-col>
</el-cntainer>
- <el-form-item label="濮撳悕" prop="name">
- <el-input
- v-model="queryParams.name"
- 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 label="宸ヤ綔鍗曚綅" prop="work">
- <el-input
- v-model="queryParams.work"
- 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 label="濮撳悕" prop="name">
+ <el-input
+ v-model="queryParams.name"
+ 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 label="宸ヤ綔鍗曚綅" prop="work">
+ <el-input
+ v-model="queryParams.work"
+ 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>
<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>
+ 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
@@ -111,25 +117,36 @@
</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" >
+ <el-table-column type="selection" width="25" align="center" />
+ <el-table-column label="鎴愬憳濮撳悕" prop="myName" sortable width="100" >
<template slot-scope="scope">
- {{scope.row.wx}}/
- {{scope.row.qq}}/
+ <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" />
+ <el-table-column label="濮撳悕" prop="name" sortable :show-overflow-tooltip="true" width="80" />
+ <el-table-column label="宸ヤ綔鍗曚綅" prop="work" sortable width="100" />
+ <el-table-column label="鎵嬫満" prop="phone" sortable width="110" />
+ <el-table-column label="鍏跺畠鑱旂郴鏂瑰紡" prop="wx qq twitter" sortable width="130" >
+ <template slot-scope="scope">
+ {{scope.row.wx}}<br>
+ {{scope.row.qq}}<br>
{{scope.row.twitter}}
</template>
</el-table-column>
- <el-table-column label="鏄惁甯歌仈绯�" prop="isAlways" sortable width="120" />
+ <el-table-column label="鏄惁甯歌仈绯�" prop="isAlways" sortable width="120" >
+ <template slot-scope="scope">
+ <span v-if="scope.row.isAlways===1">鏄�</span>
+ <span v-if="scope.row.isAlways===0">鍚�</span>
+ </template>
+ </el-table-column>
<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>-->
+ <template slot-scope="scope">
+ <el-image style="width: 100px; height: 100px" :src="'http://47.93.189.255:8080/'+ scope.row.url" fit="cover"></el-image>
+ </template>
</el-table-column>
<el-table-column label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark" sortable width="120" />
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
@@ -174,39 +191,47 @@
<!-- 娣诲姞閫氳褰曢厤缃璇濇 -->
<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>
+ <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>
@@ -288,7 +313,7 @@
-//鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�
+//瀵煎叆鎺ュ彛鍑芥暟
import {getContactList, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index";
export default {
name: "index",
@@ -372,6 +397,13 @@
nickName:undefined,
name:undefined,
work:undefined,
+
+ phone:undefined,
+ wx:undefined,
+ qq:undefined,
+ twitter:undefined,
+ isAlways:undefined,
+ remark:undefined,
},
// 琛ㄥ崟鍙傛暟
form: {},
@@ -381,11 +413,11 @@
},
// 琛ㄥ崟鏍¢獙
rules: {
- id: [{
- required: true,
- message: '璇疯緭鍏d',
- trigger: 'blur'
- }],
+ // id: [{
+ // required: true,
+ // message: '璇疯緭鍏d',
+ // trigger: 'blur'
+ // }],
myName: [{
required: true,
message: '璇疯緭鍏ユ垚鍛樺鍚�',
@@ -402,11 +434,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: [],
};
@@ -514,7 +575,7 @@
/** 鏌ョ湅璇︾粏淇℃伅 */
handleCheck(row){
const id = row.id;
- this.$router.push("/tongxunlu/contacts/propertyInfo/" + id);
+ this.$router.push("/tongxunlu/contacts/contactsInfo/" + id);
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
@@ -522,7 +583,7 @@
let jd = true
this.$router.push({
- path:"/tongxunlu/contacts/propertyInfo/" + id,
+ path:"/tongxunlu/contacts/contactsInfo/" + id,
query:{
detail:jd
}
@@ -590,9 +651,9 @@
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
- this.download('family/property/export', {
+ this.download('zfContact/export', {
...this.queryParams
- }, `property_${new Date().getTime()}.xlsx`)
+ }, `zfContact_${new Date().getTime()}.xlsx`)
}
}
};
diff --git a/ruoyi-ui/src/views/self/show.vue b/ruoyi-ui/src/views/self/show.vue
index 01fe356..f28d412 100644
--- a/ruoyi-ui/src/views/self/show.vue
+++ b/ruoyi-ui/src/views/self/show.vue
@@ -1,29 +1,34 @@
<template>
<div class="app-container">
-
+ <!-- 鍥炲埌椤堕儴-->
+ <el-backtop :bottom="150" :right="30">
+ <el-button type="primary" circle
+ class="el-icon-top"
+ ></el-button>
+ </el-backtop>
<h1 style="font-size:21px;padding-top:30px">涓汉绠�鍘�</h1>
<el-divider />
-<!-- 鍩烘湰淇℃伅-->
+ <!-- 鍩烘湰淇℃伅-->
<h2 style="font-size:16px">鍩烘湰淇℃伅</h2>
<el-container>
- <div style="padding-left:30px">
+ <div >
<el-container >
<el-col >
<el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"
v-loading="loading" :data="individualList" @selection-change="handleSelectionChange" >
- <el-row :span="7">
+ <el-row :span="5">
<el-form-item label="濮撳悕" prop="nickName" label-width="40px">
<el-input v-model="individualList.nickName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
</el-row>
- <el-row :span="7">
+ <el-row :span="5">
<el-form-item label="鏇剧敤鍚�" prop="oldName" label-width="60px">
<el-input v-model="individualList.oldName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
</el-row>
- <el-row :span="7">
+ <el-row :span="5">
<el-form-item label="韬唤璇佸彿" prop="idNum" label-width="70px">
<el-input v-model="individualList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
@@ -33,23 +38,23 @@
</el-col>
</el-container>
</div>
- <div style="padding-left:70px">
+ <div style="padding-left:30px">
<el-container>
<el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
<el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left">
- <el-row :span="6">
+ <el-row :span="5">
<el-form-item label="鎬у埆" prop="sex" label-width="40px">
- <el-input v-model="individualList.sex" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-input v-model="individualList.sex === 1 ? '鐢�':'濂�' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
</el-row>
- <el-row :span="6">
+ <el-row :span="5">
<el-form-item label="姘戞棌" prop="nation"label-width="40px">
<el-input v-model="individualList.nation" placeholder="" clearable :style="{width: '100%'}":disabled="dsb">
</el-input>
</el-form-item>
</el-row>
- <el-row :span="8">
+ <el-row :span="5">
<el-form-item label="鑱旂郴鏂瑰紡" prop="phoneNumber" label-width="70px">
<el-input v-model="individualList.phoneNumber" placeholder="" clearable :style="{width: '100%'}":disabled="dsb">
</el-input>
@@ -59,19 +64,19 @@
</el-col>
</el-container>
</div>
- <div style="padding-left:70px">
+ <div style="padding-left:30px">
<el-container>
<el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
<el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left":disabled="dsb">
- <el-row :span="6">
+ <el-row :span="5">
<el-form-item label="鍥界睄" prop="nationality" label-width="40px">
<el-input v-model="individualList.nationality" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
</el-row>
- <el-row :span="6">
+ <el-row :span="5">
<el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus" label-width="70px">
- <el-input v-model="individualList.maritalStatus" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-input v-model="individualList.maritalStatus === 1 ? '宸插':'鏈'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
</el-row>
@@ -80,101 +85,95 @@
</el-col>
</el-container>
</div>
- <div style="padding-left:90px;padding-top:30px">
+ <div style="padding-left:30px;padding-top:30px">
<el-col :span="6" :data="individualList">
- <div class="block" :model="individualList" >
- <el-col v-model="individualList.url" prop="url">
+ <div class="block" :model="individualList" >
+ <el-col v-model="individualList.url" prop="url">
<el-avatar shape="square" :size=200 >
<el-image
:src="'http://47.93.189.255:8080/'+ individualList.url"
:fit="fit"
></el-image>
</el-avatar>
- </el-col>
- </div>
+ </el-col>
+ </div>
</el-col>
-<!-- <el-row>-->
-<!--<!– <el-table border style="width: 100%">–>-->
-<!--<!– <el-table-column–>-->
-<!--<!– prop="img"–>-->
-<!--<!– v-model="individualList.img"–>-->
-<!--<!– placeholder=""–>-->
-<!--<!– width="180">–>-->
-<!--<!– <template slot-scope="scope">–>-->
-<!--<!– <img :src="scope.row.src" style="width:100px;height:50px;"/>–>-->
-<!--<!– </template>–>-->
-<!--<!– </el-table-column>–>-->
+ <!-- <el-row>-->
+ <!--<!– <el-table border style="width: 100%">–>-->
+ <!--<!– <el-table-column–>-->
+ <!--<!– prop="img"–>-->
+ <!--<!– v-model="individualList.img"–>-->
+ <!--<!– placeholder=""–>-->
+ <!--<!– width="180">–>-->
+ <!--<!– <template slot-scope="scope">–>-->
+ <!--<!– <img :src="scope.row.src" style="width:100px;height:50px;"/>–>-->
+ <!--<!– </template>–>-->
+ <!--<!– </el-table-column>–>-->
-<!--<!– </el-table>–>-->
-<!--<!– <el-upload :class="{uoloadSty:showBtnDealImg,disUoloadSty:noneBtnImg}"–>-->
-<!--<!– ref="ref1"–>-->
-<!--<!– action=""–>-->
-<!--<!– :file-list="fileList"–>-->
-<!--<!– list-type="picture-card"–>-->
-<!--<!– accept="image/*"–>-->
-<!--<!– :auto-upload="false"–>-->
-<!--<!– :multiple="false"–>-->
-<!--<!– :limit="limitCountImg">–>-->
-<!--<!– <i class="el-icon-plus"></i>–>-->
-<!--<!– </el-upload>–>-->
-<!-- </el-row>-->
+ <!--<!– </el-table>–>-->
+ <!--<!– <el-upload :class="{uoloadSty:showBtnDealImg,disUoloadSty:noneBtnImg}"–>-->
+ <!--<!– ref="ref1"–>-->
+ <!--<!– action=""–>-->
+ <!--<!– :file-list="fileList"–>-->
+ <!--<!– list-type="picture-card"–>-->
+ <!--<!– accept="image/*"–>-->
+ <!--<!– :auto-upload="false"–>-->
+ <!--<!– :multiple="false"–>-->
+ <!--<!– :limit="limitCountImg">–>-->
+ <!--<!– <i class="el-icon-plus"></i>–>-->
+ <!--<!– </el-upload>–>-->
+ <!-- </el-row>-->
</div>
- <div style="padding-left:50px;padding-top:30px" >
+ <div style="padding-left:30px;padding-top:30px" >
<el-container >
-<!-- <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>-->
+ <!-- <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>-->
-<!-- </template>-->
+ <!-- </template>-->
- <el-row :span="2" style="flex-direction: column;">
+ <el-row >
<el-button
type="primary"
-
@click="handleUpdate(scope.row)"
v-hasPermi="['system:role:edit']"
-
-
>缂栬緫</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-->
+ <!-- size="mini"-->
+ <!-- @command="(command) => handleCommand(command, scope.row)"-->
+ <!-- v-hasPermi="['system:role:edit']"> person:information:edit -->
+ <!-- <el-button-->
+ <!-- size="mini"-->
+ <!-- type="text"-->
+ <!-- icon="el-icon-d-arrow-right"-->
+ <!-- @click="handleCheck(scope.row)"-->
+ <!-- >鏌ョ湅璇︽儏</el-button>-->
-<!-- </el-dropdown>-->
+ <!-- </el-dropdown>-->
<br>
-
- <el-button
- type="primary"
-
- @click="handleExport"
- v-hasPermi="['self:user:export']"
- >瀵煎嚭</el-button>
-
+ <el-button
+ type="primary"
+ @click="handleExport"
+ v-hasPermi="['self:user:export']"
+ >瀵煎嚭</el-button>
</el-row>
</el-container>
</div>
-<!-- </el-dialog>-->
+ <!-- </el-dialog>-->
</el-container>
<el-container>
- <div style="padding-left:30px">
+ <div>
<el-container>
<el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
<el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left">
@@ -229,7 +228,7 @@
</div>
</el-container>
-<!--鎶樺彔闈㈡澘-->
+ <!--鎶樺彔闈㈡澘-->
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="涓昏瀛︿範鍙婂伐浣滅粡鍘�" name="1" >
<el-table v-loading="loading" :data="experienceList" @selection-change="handleSelectionChange">
@@ -250,7 +249,7 @@
size="mini"
type="text"
icon="el-icon-delete"
- @click="handleDelete(scope.row)"
+ @click="handleExperienceDelete(scope.row)"
v-hasPermi="['system:role:remove']"
>鍒犻櫎</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
@@ -284,7 +283,7 @@
size="mini"
type="text"
icon="el-icon-delete"
- @click="handleDelete(scope.row)"
+ @click="handleCertificateDelete(scope.row)"
v-hasPermi="['system:role:remove']"
>鍒犻櫎</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
@@ -338,17 +337,17 @@
</el-collapse-item>
</el-collapse>
-<!-- 鑷紶-->
+ <!-- 鑷紶-->
<div style="padding-top:30px">
<el-container>
<div style="width:100%"><h2 style="font-size:15px" >鑷紶</h2></div>
</el-container>
<el-tabs type="border-card" v-model="activeName" @tab-click="handleClick"
- v-loading="loading" :data="AutobiographyList" @selection-change="handleSelectionChange">
-<!-- <el-tab-pane label="鎬昏" name="0">-->
+ v-loading="loading" :data="AutobiographyList" @selection-change="handleSelectionChange">
+ <!-- <el-tab-pane label="鎬昏" name="0">-->
-<!-- </el-tab-pane>-->
-<!-- <div :model="AutobiographyList">-->
+ <!-- </el-tab-pane>-->
+ <!-- <div :model="AutobiographyList">-->
<el-tab-pane label="0~3宀�(濠村効鏈�)" name="1" >
<el-input v-model="AutobiographyList.content" prop="content" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
@@ -360,13 +359,13 @@
<el-tab-pane label="22~25(鐮旂┒鐢�)" name="6"></el-tab-pane>
<el-tab-pane label="26~ (宸ヤ綔)" name="7"></el-tab-pane>
<el-tab-pane label="锛熷瞾缁撳" name="8"></el-tab-pane>
-<!-- </div>-->
-<!-- <el-tab-pane-->
-<!-- v-for="(item, index) in AutobiographyTermList"-->
-<!-- :key="index"-->
-<!-- :name="item"-->
-<!-- :label="item"-->
-<!-- />-->
+ <!-- </div>-->
+ <!-- <el-tab-pane-->
+ <!-- v-for="(item, index) in AutobiographyTermList"-->
+ <!-- :key="index"-->
+ <!-- :name="item"-->
+ <!-- :label="item"-->
+ <!-- />-->
</el-tabs>
@@ -396,6 +395,7 @@
import {getIndividualList, getIndividualRelation, delIndividual, updateIndividual, addIndividual,listExperience,updateExperience,
addExperience,delExperience} from "@/api/self/index";
import {
+ delCertificate,
getAbroadList,
getAutobiography,
getAutobiographyList,
@@ -720,12 +720,12 @@
);
//鍑哄浗鎯呭喌
getAbroadList(this.queryParams).then(response => {
- // alert(123)
- // console.log(response.data)
- this.AbroadList = response.data;
- this.total = response.data.total;
- this.loading = false;
- }
+ // alert(123)
+ // console.log(response.data)
+ this.AbroadList = response.data;
+ this.total = response.data.total;
+ this.loading = false;
+ }
);
@@ -790,14 +790,14 @@
handleAdd() {
this.reset();
this.open = true;
- this.title = "娣诲姞瀹跺涵澶т簨璁颁俊鎭�";
+ this.title = "娣诲姞涓汉淇℃伅";
},
/** 鏌ョ湅璇︾粏淇℃伅 */
handleCheck(row){
const id = row.id;
- this.$router.push("/family1/bignote/familyeventInfo/" + id);
+ this.$router.push("/self/self/edit/" + id);
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
@@ -805,7 +805,7 @@
let jd = true
this.$router.push({
- path:"/self/self/edit" + id,
+ path:"/self/self/edit/" + id,
query:{
detail:jd
}
@@ -816,7 +816,7 @@
alert(23)
},
handleRemove(file) {
- alert(323)
+ alert("鎿嶄綔鎴愬姛")
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
@@ -861,10 +861,10 @@
this.$refs["elForm"].validate(valid => {
if (valid) {
- addFamilyevent(this.formDat).then(response => {
+ addIndividual(this.formDat).then(response => {
this.$modal.msgSuccess("鏂板鎴愬姛");
this.open = false;
- this.getList1();
+ this.getList();
});
}
});
@@ -892,13 +892,23 @@
})
},
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
+ /** 鍒犻櫎涓汉缁忓巻鎸夐挳鎿嶄綔 */
+ handleExperienceDelete(row) {
const Ids = row.id || this.ids;
this.$modal.confirm('鏄惁纭鍒犻櫎搴忓彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
- return delFamilyevent(Ids);
+ return delExperience(Ids);
}).then(() => {
- this.getList1();
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ },
+ /** 鍒犻櫎鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐垫寜閽搷浣� */
+ handleCertificateDelete(row) {
+ const Ids = row.id || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎搴忓彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
+ return delCertificate(Ids);
+ }).then(() => {
+ this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}).catch(() => {});
},
@@ -913,12 +923,18 @@
</script>
<style>
-.uoloadSty {
- width:110px;
- height:110px;
- line-height:110px;
+/*.uoloadSty {*/
+/* width:110px;*/
+/* height:110px;*/
+/* line-height:110px;*/
+/*}*/
+/*.disUoloadSty {*/
+/* display:none; !* 涓婁紶鎸夐挳闅愯棌 *!*/
+/*}*/
+
+.el-icon-top {
+ background: url("src/assets/icons/top.png");
}
-.disUoloadSty {
- display:none; /* 涓婁紶鎸夐挳闅愯棌 */
-}
+
+
</style>
--
Gitblit v1.9.1