From 3ca2523e54e60eb4bd20f525f91f264c2e8d45f2 Mon Sep 17 00:00:00 2001 From: Tcsm <1377977403@qq.com> Date: 星期一, 10 四月 2023 01:51:36 +0800 Subject: [PATCH] 4.10提交 --- ruoyi-ui/src/views/bignote/familyInfo.vue | 363 ++++++++++ /dev/null | 501 -------------- ruoyi-ui/src/views/self/show.vue | 398 +++++++---- ruoyi-ui/src/views/note/propertyInfo.vue | 362 ++++++++++ ruoyi-ui/src/views/contacts/index.vue | 314 ++++---- ruoyi-ui/src/api/self/index.js | 33 ruoyi-ui/src/api/contacts/index.js | 62 + ruoyi-ui/src/router/index.js | 21 8 files changed, 1,239 insertions(+), 815 deletions(-) diff --git a/ruoyi-ui/src/api/contacts/index.js b/ruoyi-ui/src/api/contacts/index.js index 543ea86..128717e 100644 --- a/ruoyi-ui/src/api/contacts/index.js +++ b/ruoyi-ui/src/api/contacts/index.js @@ -1 +1,63 @@ import request from '@/utils/request' +// 鏌ヨ鎵�鏈夐�氳褰� +export function getContactList() { + return request({ + url: '/zfContact/all' , + method: 'get', + + }) +} + +// 鏍规嵁id鏌ヨ閫氳褰曡缁嗕俊鎭� +export function getContactIdList() { + return request({ + url: '/zfContact/2' , + method: 'get', + + }) +} + +//鏂板閫氳褰� +export function addContact(data) +{ + return request({ + url: '/zfContact', + method: 'post', + data: data + }) +} + +//淇敼閫氳褰� +export function updateContact(data) { + return request({ + url: '/zfContact', + method: 'put', + data: data + }) +} + +// 鍒犻櫎閫氳褰� +export function delContact(ids) { + return request({ + url: '/zfContact/' +ids, + method: 'delete' + }) +} + +//涓婁紶鏂囦欢 +export function uploadPic(data) { + return request({ + url: '/common/upload', + method: 'post', + data: data + }) +} +//涓嬭浇鏂囦欢 +export function download(data) { + return request({ + url: '/common/downLoadFile', + method: 'get', + params: data, + responseType: 'blob' + }) +} diff --git a/ruoyi-ui/src/api/self/index.js b/ruoyi-ui/src/api/self/index.js index 7c2c640..40242f8 100644 --- a/ruoyi-ui/src/api/self/index.js +++ b/ruoyi-ui/src/api/self/index.js @@ -19,9 +19,9 @@ } // 鍒犻櫎涓汉淇℃伅 -export function delIndividual(Ids) { +export function delIndividual(ids) { return request({ - url: '/self/user' , + url: '/self/user' +ids, method: 'delete' }) } @@ -49,7 +49,6 @@ //鏌ヨ鎵�鏈変釜浜虹粡鍘� export function listExperience(query) { - return request({ url: '/zExperience/all', method: 'get', @@ -191,3 +190,31 @@ data: data }) } + +//鎷垮埌鑷紶 +export function getAutobiography() +{ + return request({ + url: '/zDict/byId', + method: 'get', + params: {'id':23} + }) +} + +//涓婁紶鏂囦欢 +export function uploadPic(data) { + return request({ + url: '/common/upload', + method: 'post', + data: data + }) +} +//涓嬭浇鏂囦欢 +export function download(data) { + return request({ + url: '/common/downLoadFile', + method: 'get', + params: data, + responseType: 'blob' + }) +} diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js index d4f2436..f9a1fb4 100644 --- a/ruoyi-ui/src/router/index.js +++ b/ruoyi-ui/src/router/index.js @@ -121,7 +121,7 @@ children: [ { path: 'propertyInfo/:id(\\d+)', - component: () => import('@/views/note/propertylnfo'), + component: () => import('@/views/note/propertyInfo'), name: 'propertyInfo', meta: { title: '鏌ヨ璇︽儏'} } @@ -143,27 +143,10 @@ } ] }, - //瀹跺涵璁惧璇︽儏椤� - { - path: '/jiatingshebei/device', - component: Layout, - // permissions: [], - permissions: ['jiatingshebei:device:list'], - hidden: true, - children: [ - { - path: 'equipmentInfo/:id(\\d+)', - component: () => import('@/views/device/equipmentInfo'), - name: 'equipmentInfo', - meta: { title: '鏌ヨ璇︽儏'} - } - ] - }, - //缂栬緫涓汉淇℃伅 { - path: '/self/user', + path: '/self/self', component: Layout, permissions: ['self:self:list'], diff --git a/ruoyi-ui/src/views/bignote/familyInfo.vue b/ruoyi-ui/src/views/bignote/familyInfo.vue new file mode 100644 index 0000000..341b702 --- /dev/null +++ b/ruoyi-ui/src/views/bignote/familyInfo.vue @@ -0,0 +1,363 @@ +<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> + </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="type"> + <el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}" :disabled="dsb" > + <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鏍囬" prop="title"> + <el-input v-model="formData.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input> + </el-form-item> + <el-form-item label="瀛樺偍鍦板潃" prop="location"> + <el-input v-model="formData.location" placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + <el-form-item label="鎸佹湁浜�" prop="holder"> + <el-input v-model="formData.holder" placeholder="璇疯緭鍏ユ寔鏈変汉" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + <el-form-item label="鍏蜂綋浣嶇疆" prop="address"> + <el-input v-model="formData.address" 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">Click to upload</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 {getPropertyInfo, updateProperty, uploadPic, download, getCategory} from "@/api/note/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, + formData: { + id: undefined, + type: undefined, + title: undefined, + location: undefined, + holder: undefined, + address: undefined, + remark: undefined, + url: undefined, + }, + dialogImageUrl: '', + dialogVisible: false, + disabled: false, + rules: { + id: [{ + required: true, + message: '璇疯緭鍏d', + trigger: 'blur' + }], + type: [{ + required: true, + message: '璇烽�夋嫨绫诲埆', + trigger: 'change' + }], + title: [{ + required: true, + message: '璇疯緭鍏ユ爣棰�', + trigger: 'blur' + }], + location: [{ + required: true, + message: '璇疯緭鍏ュ瓨鍌ㄥ湴鍧�', + trigger: 'blur' + }], + holder: [{ + 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; + getPropertyInfo(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) { + updateProperty(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}) + + } + }) + + } + + } + } + + </script> + <style> + .mt + { + position: relative; + } + .dt{ + display: block; + + } + .pt{ + right: 10px; + top:-3px; + display: block; + position: absolute; + } + </style> + \ No newline at end of file diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue index 6b3eee4..82404cb 100644 --- a/ruoyi-ui/src/views/contacts/index.vue +++ b/ruoyi-ui/src/views/contacts/index.vue @@ -1,74 +1,79 @@ <template> <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="id" style="padding-left:30px"> + <el-input + v-model="queryParams.id" + placeholder="鍦ㄢ�滈�氳褰曗�濅腑鎼滅储" + clearable + style="width: 240px" + @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="myName" style="padding-left:180px"> + <el-input + v-model="queryParams.myName" + 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="nickName"> + <el-input + v-model="queryParams.nickName" + 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" + 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" > - <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> + <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">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</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> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button @@ -105,20 +110,28 @@ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> - <el-table v-loading="loading" :data="propertyList" @selection-change="handleSelectionChange"> + <el-table v-loading="loading" :data="contactList" @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"> + <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" > <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> + {{scope.row.wx}}/ + {{scope.row.qq}}/ + {{scope.row.twitter}} </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> + <el-table-column label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark" sortable width="120" /> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> <el-button @@ -159,37 +172,44 @@ @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 ref="elForm" :model="contactList" :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-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" - ></el-option> - </el-select> + <el-form-item label="鎴愬憳濮撳悕" prop="myName"> + <el-input v-model="contactList.myName" placeholder="璇疯緭鍏ユ垚鍛樺鍚�" clearable :style="{width: '100%'}" > + </el-input> </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 label="绉板懠" prop="nickName"> + <el-input v-model="contactList.nickName" 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-form-item label="濮撳悕" prop="name"> + <el-input v-model="contactList.name" 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-form-item label="宸ヤ綔鍗曚綅" prop="work"> + <el-input v-model="contactList.work" 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-form-item label="鎵嬫満" prop="phone"> + <el-input v-model="contactList.phone" placeholder="璇疯緭鍏ユ墜鏈�" clearable :style="{width: '100%'}" > </el-input> </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="formDat.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input> + <el-form-item label="鍏跺畠鑱旂郴鏂瑰紡" prop="wx"> + <el-input v-model="contactList.wx" placeholder="璇疯緭鍏ュ叾瀹冭仈绯绘柟寮�" 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> </el-form-item> - <h4 class="form-header">鐩稿叧鍥剧墖 </h4> + <el-form-item label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark"> + <el-input v-model="contactList.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input> + </el-form-item> + + <h4 class="form-header">鐢靛瓙鍚嶇墖 </h4> <el-upload action="#" list-type="picture-card" @@ -238,7 +258,7 @@ :http-request="requestUpload" :show-file-list="true" > - <el-button type="primary">Click to upload</el-button> + <el-button type="primary">鐐瑰嚮涓婁紶</el-button> <template #tip> <div class="el-upload__tip"> </div> @@ -269,9 +289,9 @@ //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� -import {listProperty, getPropertyInfo, delProperty, getCategory, addProperty, uploadPic} from "@/api/note/index"; +import {getContactList, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index"; export default { - name: "Role", + name: "index", dicts: ['sys_normal_disable'], data() { return { @@ -290,8 +310,8 @@ showSearch: true, // 鎬绘潯鏁� total: 0, - // 璧勪骇琛ㄦ牸鏁版嵁 - propertyList: [], + // 閫氳褰曡〃鏍兼暟鎹� + contactList: [], // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� @@ -313,14 +333,31 @@ ], dsb:true, btn:false, + fit:['fill'], + formDat: { - type: undefined, - title: undefined, - location: undefined, - holder: undefined, - address: undefined, - remark: undefined, + //閫氳褰� + id:undefined, + myName:undefined, + nickName:undefined, + name:undefined, + work:undefined, + + phone:undefined, + wx:undefined, + qq:undefined, + twitter:undefined, + isAlways:undefined, + remark:undefined, url: undefined, + + // type: undefined, + // title: undefined, + // location: undefined, + // holder: undefined, + // address: undefined, + + }, // 鑿滃崟鍒楄〃 menuOptions: [], @@ -330,12 +367,11 @@ 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, }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -345,48 +381,39 @@ }, // 琛ㄥ崟鏍¢獙 rules: { - type: [{ + id: [{ required: true, - message: '璇烽�夋嫨绫诲埆', - trigger: 'change' - }], - title: [{ - required: true, - message: '璇疯緭鍏ユ爣棰�', + message: '璇疯緭鍏d', trigger: 'blur' }], - location: [{ + myName: [{ required: true, - message: '璇疯緭鍏ュ瓨鍌ㄥ湴鍧�', + message: '璇疯緭鍏ユ垚鍛樺鍚�', trigger: 'blur' }], - holder: [{ + nickName: [{ required: true, - message: '璇疯緭鍏ユ寔鏈変汉', + message: '璇疯緭鍏ョО鍛�', trigger: 'blur' }], - address: [{ + name: [{ required: true, - message: '璇疯緭鍏ュ叿浣撲綅缃�', + message: '璇疯緭鍏ュ鍚�', trigger: 'blur' }], - remark: [{ + work: [{ required: true, - message: '璇疯緭鍏ュ娉�', + message: '璇疯緭鍏ュ伐浣滃崟浣�', trigger: 'blur' }], - createTime: [{ - required: true, - message: '璇烽�夋嫨鏃ユ湡閫夋嫨', - trigger: 'change' - }], + }, typeOptions: [], }; }, created() { this.getList(); - this.getCateInfor() + // this.getCateInfor() }, methods: { @@ -395,15 +422,16 @@ this.open = false; this.reset(); }, - /** 鏌ヨ瑙掕壊鍒楄〃 */ + + /** 鏌ヨ閫氳褰曞垪琛� */ getList() { this.loading = true; // 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; + this.contactList = response.data.data; this.total = response.data.total; this.loading = false; @@ -411,16 +439,16 @@ ); }, /** 鏌ヨ绫诲埆淇℃伅 */ - 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]}) - }) - }) - }, + // 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]}) + // }) + // }) + // }, handleRemove(file) { alert(323) @@ -481,12 +509,12 @@ 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("/tongxunlu/contacts/propertyInfo/" + id); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { @@ -494,7 +522,7 @@ let jd = true this.$router.push({ - path:"/family/note1/propertyInfo/" + id, + path:"/tongxunlu/contacts/propertyInfo/" + id, query:{ detail:jd } @@ -519,7 +547,7 @@ this.$refs["elForm"].validate(valid => { if (valid) { - addProperty(this.formDat).then(response => { + addContact(this.formDat).then(response => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; this.getList(); @@ -554,7 +582,7 @@ handleDelete(row) { const Ids = row.id || this.ids; this.$modal.confirm('鏄惁纭鍒犻櫎璧勪骇缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() { - return delProperty(Ids); + return delContact(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); diff --git a/ruoyi-ui/src/views/note/propertyInfo.vue b/ruoyi-ui/src/views/note/propertyInfo.vue new file mode 100644 index 0000000..2058a66 --- /dev/null +++ b/ruoyi-ui/src/views/note/propertyInfo.vue @@ -0,0 +1,362 @@ +<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> + </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="type"> + <el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}" :disabled="dsb" > + <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鏍囬" prop="title"> + <el-input v-model="formData.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input> + </el-form-item> + <el-form-item label="瀛樺偍鍦板潃" prop="location"> + <el-input v-model="formData.location" placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + <el-form-item label="鎸佹湁浜�" prop="holder"> + <el-input v-model="formData.holder" placeholder="璇疯緭鍏ユ寔鏈変汉" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + <el-form-item label="鍏蜂綋浣嶇疆" prop="address"> + <el-input v-model="formData.address" 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">Click to upload</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 {getPropertyInfo, updateProperty, uploadPic, download, getCategory} from "@/api/note/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, + formData: { + id: undefined, + type: undefined, + title: undefined, + location: undefined, + holder: undefined, + address: undefined, + remark: undefined, + url: undefined, + }, + dialogImageUrl: '', + dialogVisible: false, + disabled: false, + rules: { + id: [{ + required: true, + message: '璇疯緭鍏d', + trigger: 'blur' + }], + type: [{ + required: true, + message: '璇烽�夋嫨绫诲埆', + trigger: 'change' + }], + title: [{ + required: true, + message: '璇疯緭鍏ユ爣棰�', + trigger: 'blur' + }], + location: [{ + required: true, + message: '璇疯緭鍏ュ瓨鍌ㄥ湴鍧�', + trigger: 'blur' + }], + holder: [{ + 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; + getPropertyInfo(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) { + updateProperty(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}) + + } + }) + + } + + } +} + +</script> +<style> +.mt +{ + position: relative; +} +.dt{ + display: block; + +} +.pt{ + right: 10px; + top:-3px; + display: block; + position: absolute; +} +</style> diff --git a/ruoyi-ui/src/views/self/index.vue b/ruoyi-ui/src/views/self/index.vue deleted file mode 100644 index dd89284..0000000 --- a/ruoyi-ui/src/views/self/index.vue +++ /dev/null @@ -1,501 +0,0 @@ -<template> - <div class="app-container"> - <el-col :span="6"> - <el-input size="medium" v-model="input" placeholder="鎼滅储" clearable> - <i slot="prefix" class="el-input__icon el-icon-search"></i> - </el-input> - </el-col> - <br> - <h1 style="font-size:21px">涓汉绠�鍘�</h1> - <el-divider /> - <h2 style="font-size:16px">鍩烘湰淇℃伅</h2> -<!-- - <el-container> - <div style="padding-left:30px"> - <el-container> - <el-col> - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="70px" label-position="left"> - <el-row :span="6"> - <el-form-item label="濮撳悕" prop="nickName"> - <el-input v-model="formData.nickName" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="6"> - <el-form-item label="鏇剧敤鍚�" prop="oldName"> - <el-input v-model="formData.oldName" placeholder="璇疯緭鍏ユ浘鐢ㄥ悕" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="8"> - <el-form-item label="韬唤璇佸彿" prop="idNum"> - <el-input v-model="formData.idNum" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - </el-form> - </el-col> - </el-container> - </div> - <div style="padding-left:70px"> - <el-container> - <el-col > - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="60px" label-position="left"> - <el-row :span="6"> - <el-form-item label="鎬у埆" prop="sex"> - <el-input v-model="formData.sex" placeholder="璇疯緭鍏ユ�у埆" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="6"> - <el-form-item label="姘戞棌" prop="nation"> - <el-input v-model="formData.nation" placeholder="璇疯緭鍏ユ皯鏃�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="8"> - <el-form-item label="鑱旂郴鏂瑰紡" prop="phoneNumber"> - <el-input v-model="formData.phoneNumber" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - </el-form> - </el-col> - </el-container> - </div> - <div style="padding-left:70px"> - <el-container> - <el-col> - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="60px" label-position="left"> - <el-row :span="6"> - <el-form-item label="鍥界睄" prop="nationality"> - <el-input v-model="formData.nationality" placeholder="璇疯緭鍏ュ浗绫�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="6"> - <el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus"> - <el-input v-model="formData.maritalStatus" placeholder="璇疯緭鍏ュ濮荤姸鍐�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - - </el-form> - </el-col> - </el-container> - </div> - <div style="padding-left:70px;padding-top:30px"> - <el-row :gutter="6" > - <el-upload ref="ref1" - action="" - :file-list="fileList" - list-type="picture-card" - accept="image/*" - :auto-upload="false" - :multiple="false" - :limit="1"> - <i class="el-icon-plus"></i> - </el-upload> - </el-row> - </div> - <div style="padding-left:50px;padding-top:30px" > - <el-container> - <el-row :span="2" style="flex-direction: column;"> - <el-button type="primary" @click="submitForm">缂栬緫</el-button> - <br> - <el-button type="primary" @click="submitForm">瀵煎叆</el-button> - </el-row> - </el-container> - </div> - </el-container> - <el-container> - <div style="padding-left:30px"> - <el-container> - <el-col> - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" label-position="left"> - <el-row :span="15"> - <el-form-item label="鎴风睄鍦板潃" prop="locationAddress"> - <el-input v-model="formData.locationAddress" placeholder="璇疯緭鍏ユ埛绫嶅湴鍧�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="15"> - <el-form-item label="甯镐綇鍦板潃" prop="alwaysAddress"> - <el-input v-model="formData.alwaysAddress" placeholder="璇疯緭鍏ュ父浣忓湴鍧�" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="15"> - <el-form-item label="鍗曚綅鍙婅亴鍔¤亴绉�" prop="position"> - <el-input v-model="formData.position" placeholder="璇疯緭鍏ュ崟浣嶅強鑱屽姟鑱岀О" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - - </el-form> - </el-col> - </el-container> - </div> - <div style="padding-left:30px"> - <el-container> - <el-col> - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" label-position="left"> - <el-row :span="12"> - <el-form-item label="鎴风睄鍦板叕瀹夋満鍏�" prop="locationPolice"> - <el-input v-model="formData.locationPolice" placeholder="璇疯緭鍏ユ埛绫嶅湴鍏畨鏈哄叧" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - <el-row :span="12"> - <el-form-item label="甯镐綇鍦板叕瀹夋満鍏�" prop=" alwaysPolice"> - <el-input v-model="formData. alwaysPolice" placeholder="璇疯緭鍏ュ父浣忓湴鍏畨鏈哄叧" clearable :style="{width: '100%'}"> - </el-input> - </el-form-item> - </el-row> - - </el-form> - </el-col> - </el-container> - </div> - </el-container> --> - - - <div style="padding-top:30px"> - <el-container> - <div style="width:100%"><h2 style="font-size:15px" >涓昏瀛︿範鍙婂伐浣滅粡鍘�</h2></div> - <el-button type="primary" icon="el-icon-edit" round></el-button> - <el-button type="primary" icon="el-icon-delete" round></el-button> - </el-container> - - <el-table v-loading="loading" :data="experiencelList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="16" align="center" /> - <el-table-column label="璧锋鏃ユ湡" prop="startDate" sortable width="300" align="center" /> - <el-table-column label="涓昏瀛︿範缁忓巻銆佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" prop="content" sortable width="350" align="center" /> - <el-table-column label="璇佹槑浜�" prop="witness" sortable width="300" align="center" /> - <el-table-column label="鍒犻櫎" align="center" class-name="small-padding fixed-width" sortable width="100"> - - </el-table-column> - </el-table> - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </div> - - <div style="padding-top:30px"> - <el-container> - <div style="width:100%"><h2 style="font-size:15px" >瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�</h2></div> - <el-button type="primary" icon="el-icon-edit" round></el-button> - <el-button type="primary" icon="el-icon-delete" round></el-button> - </el-container> - <!-- :data =""鍐呯殑涓滆タ涓嶇煡閬撹涓嶈鏀�--> - <el-table v-loading="loading" :data="experiencelList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="16" align="center" /> - <el-table-column label="涓庢湰浜哄叧绯�" prop="" width="270" align="center" /> - <el-table-column label="濮撳悕" sortable width="270" align="center" /> - <el-table-column label="鍗曚綅鍙婅亴鍔�" sortable width="270" align="center" /> - <el-table-column label="鏀挎不闈㈣矊" sortable width="270" align="center"> - </el-table-column> - </el-table> - - </div> - - <el-container> - <div style="width:100%"><h2 style="font-size:15px" >绉诲眳鍥斤紙澧冿級鎯呭喌</h2></div> - - </el-container> - - <div style="padding-top:30px"> - <el-container> - <div style="width:100%"><h2 style="font-size:15px" >鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�</h2></div> - <el-button type="primary" icon="el-icon-edit" round></el-button> - <el-button type="primary" icon="el-icon-delete" round></el-button> - </el-container> - <!-- :data =""鍐呯殑涓滆タ涓嶇煡閬撹涓嶈鏀�--> - <el-table v-loading="loading" :data="experiencelList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="16" align="center" /> - <el-table-column label="璇佷欢鍚嶇О" sortable width="270" align="center" /> - <el-table-column label="鎸佹湁鎯呭喌" sortable width="270" align="center" /> - <el-table-column label="璇佷欢鍙风爜" sortable width="270" align="center" /> - <el-table-column label="鏈夋晥鏈�" sortable width="270" align="center"> - </el-table-column> - </el-table> - </div> - <div style="padding-top:30px"> - <el-container> - <div style="width:100%"><h2 style="font-size:15px" >鍑哄浗锛堝锛夋儏鍐�</h2></div> - <el-button type="primary" icon="el-icon-edit" round></el-button> - <el-button type="primary" icon="el-icon-delete" round></el-button> - </el-container> - <el-table v-loading="loading" :data="experiencelList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="16" align="center" /> - <el-table-column label="璧锋鏃ユ湡" prop="startDate" sortable width="300" align="center" /> - <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="content" sortable width="350" align="center" /> - <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="witness" sortable width="300" align="center" /> - <el-table-column label="鍒犻櫎" align="center" class-name="small-padding fixed-width" sortable width="100"> - </el-table-column> - </el-table> - - </div> - - </div> - -</template> - -<script> -import {getIndividualInfo, getIndividualRelation, -delIndividual, updateIndividual, addIndividual,listExperience, -updateExperience, - addExperience,delExperience} from "@/api/self/index"; - -export default { - name: 'index', - components: {}, - props: [], - - data() { - return { - input: '', - filelist: [], - - // 閬僵灞� - disabled: false, - - loading: true, - // formData:[], - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 涓汉缁忓巻鏁版嵁 - experiencelList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛� - openDataScope: false, - menuExpand: false, - menuNodeAll: false, - deptExpand: true, - deptNodeAll: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏁版嵁鑼冨洿閫夐」 - fot:[".jpg",".jif"], - fileList:[ - ], - fileListOther:[ - - ], - dsb:true, - btn:false, - - formData: { - nickName: undefined, - oldName: undefined, - sex: undefined, - nationality: undefined, - nation: undefined, - maritalStatus: undefined, - idNum: undefined, - politicalOutlook: undefined, - phoneNumber: undefined, - locationAddress: undefined, - alwaysPolice: undefined, - alwaysAddress: undefined, - position: undefined, - locationPolice: undefined, - }, - rules: { - nickName: [{ - required: true, - message: '璇疯緭鍏ュ鍚�', - trigger: 'blur' - }], - sex: [{ - required: true, - message: '璇疯緭鍏ユ�у埆', - trigger: 'blur' - }], - nationality: [{ - required: true, - message: '璇疯緭鍏ュ浗绫�', - trigger: 'blur' - }], - oldName: [{ - required: true, - message: '璇疯緭鍏ユ浘鐢ㄥ悕', - trigger: 'blur' - }], - nation: [{ - required: true, - message: '璇疯緭鍏ユ皯鏃�', - trigger: 'blur' - }], - idNum: [{ - // required: true, - message: '璇疯緭鍏ヨ韩浠借瘉鍙�', - trigger: 'blur' - }], - maritalStatus: [{ - // required: true, - message: '璇疯緭鍏ュ濮荤姸鍐�', - trigger: 'blur' - }], - phoneNumber: [{ - // required: true, - message: '璇疯緭鍏ヨ仈绯绘柟寮�', - trigger: 'blur' - }], - locationAddress: [{ - // required: true, - message: '璇疯緭鍏ユ埛绫嶅湴鍧�', - trigger: 'blur' - }], - locationPolice: [{ - // required: true, - message: '璇疯緭鍏ユ埛绫嶅湴鍏畨鏈哄叧', - trigger: 'blur' - }], - alwaysAddress: [{ - // required: true, - message: '璇疯緭鍏ュ父浣忓湴鍧�', - trigger: 'blur' - }], - alwaysPolice: [{ - // required: true, - message: '璇疯緭鍏ュ父浣忓湴鍏畨鏈哄叧', - trigger: 'blur' - }], - position: [{ - // required: true, - message: '璇疯緭鍏ュ崟浣嶅強鑱屽姟鑱岀О', - trigger: 'blur' - }], - }, - - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 5, - startDate:undefined, - content:undefined, - witness:undefined, - createTime:undefined - }, - } - }, - computed: {}, - watch: {}, - created() { - this.getList(); - // this.getCateInfor() - }, - mounted() {}, - methods: { - submitForm() { - this.$refs['elForm'].validate(valid => { - if (!valid) return - // TODO 鎻愪氦琛ㄥ崟 - }) - }, - resetForm() { - this.$refs['elForm'].resetFields() - }, - fillFormData(){ - let formData = new FormData(); - let photo = this.$refs['ref1'].uploadFiles[0]; - if(photo===undefined){ - this.$message.error("璇烽�夋嫨鐓х墖"); - return false; - } - if(photo!==undefined){ - formData.append('鐓х墖', photo.raw);//鏍规嵁鍚庣闇�瑕佺殑鍙傛暟杩涜鐩稿簲鏇存敼锛屽ぇ澶氭槸鏂囦欢鏍煎紡 - } - return formData; - }, - dialogConfirm() { - let formData=this.fillFormData(); - if(this.dialogMode ==='edit'){//dialogMode鐢ㄤ簬鍒ゆ柇褰撳墠鏃舵坊鍔犺繕鏄紪杈� - this.api.update(formData).then(res => {//璋冪敤淇敼鎺ュ彛 - if (res.data.code == "OK") { - this.$message({ - type: "success", - message: "淇敼鎴愬姛!", - duration:5000 - }); - this.fileList=[]; - } else { - this.$message.error(res.data.message); - } - },()=>{ - this.$message.error("淇敼澶辫触"); - }).finally(()=>{ - }); - }else{ - this.api.insert(formData).then(res => {//娣诲姞鎺ュ彛 - if (res.data.code == "OK") { - this.$message({ - type: "success", - message: "鏂板缓鎴愬姛!", - duration:5000 - }); - this.fileList=[]; - } else { - this.$message.error(res.data.message); - } - },()=>{ - this.$message.error("鏂板缓澶辫触"); - }).finally(()=>{ - }); - } - }, - //鐐瑰嚮缂栬緫鏃跺浘鐗囧洖鏄� - edit(info){//info=>鍚庡彴鎺ュ彛杩斿洖鐨勬暟鎹� - let url=this.baseUrl+info.photo//url鐨勫湴鍧�鏍规嵁椤圭洰瀹為檯闇�瑕侊紝info.photo=>鍥剧墖璺緞,this.baseUrl=>涓婁紶鐨勭綉缁滃湴鍧� - this.fileList=[]; - this.fileList.push({ - 'url': url - }) - this.dialogMode='edit';//璁剧疆涓虹紪杈� - }, - onCreateNew(){ - this.fileList=[]; - this.dialogMode='create';//璁剧疆涓烘坊鍔� - }, - /** 涓汉淇℃伅鍒楄〃 */ - getList() { - this.loading = true; - // console.log(this.queryParams) - // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - listExperience(this.queryParams).then(response => { - // alert(123) - // console.log(response.data) - alert(123) - this.experiencelList = response.data.data; - - this.total = response.data.total; - this.loading = false; - } - - ); - }, - - - } -} -</script> - -<style scoped> - -</style> diff --git a/ruoyi-ui/src/views/self/show.vue b/ruoyi-ui/src/views/self/show.vue index fa655ef..01fe356 100644 --- a/ruoyi-ui/src/views/self/show.vue +++ b/ruoyi-ui/src/views/self/show.vue @@ -5,48 +5,26 @@ <el-divider /> <!-- 鍩烘湰淇℃伅--> <h2 style="font-size:16px">鍩烘湰淇℃伅</h2> - -<!-- <el-column prop="nickName" label="濮撳悕"></el-column>--> - <el-container> -<!-- <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>--> <div style="padding-left:30px"> - -<!-- <el-form-item label="userId" prop="userId">--> -<!-- <el-select v-model="formDat.userId" 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-table--> -<!-- v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"--> -<!-- >--> -<!-- <el-table-column prop="nickName" label="濮撳悕" min-width="5%">--> -<!-- <template slot-scope="scope">--> -<!-- {{ scope.row.nickName }}--> -<!-- </template>--> -<!-- </el-table-column>--> -<!-- </el-table>--> - - <el-container > <el-col > - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="70px" label-position="left" + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left" v-loading="loading" :data="individualList" @selection-change="handleSelectionChange" > - <el-row :span="6"> - <el-form-item label="濮撳悕" prop="nickName"> + <el-row :span="7"> + <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="6"> - <el-form-item label="鏇剧敤鍚�" prop="oldName"> + <el-row :span="7"> + <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="8"> - <el-form-item label="韬唤璇佸彿" prop="idNum"> + <el-row :span="7"> + <el-form-item label="韬唤璇佸彿" prop="idNum" label-width="70px"> <el-input v-model="individualList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> @@ -54,51 +32,25 @@ </el-form> </el-col> </el-container> - -<!-- --> -<!-- <el-container>--> -<!-- <el-table--> -<!-- v-loading="listLoading"--> -<!-- :data="individualList"--> -<!-- element-loading-text="鏁版嵁鍔犺浇涓�"--> -<!-- style="width: 100%"--> -<!-- />--> -<!-- <el-table-column >--> -<!-- <template slot-scope="props">--> -<!-- <el-form label-position="left" >--> -<!-- <el-form-item label="鐢ㄦ埛鏄电О">--> -<!-- <span>{{ props.row.nickName }}</span>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鑱旂郴鏂瑰紡">--> -<!-- <span>{{ props.row.oldName }}</span>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鐢ㄦ埛 ID">--> -<!-- <span>{{ props.row.idNum }}</span>--> -<!-- </el-form-item>--> - -<!-- </el-form>--> -<!-- </template>--> -<!-- </el-table-column>--> -<!-- </el-container>--> </div> <div style="padding-left:70px"> <el-container> <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> - <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-width="70px" label-position="left"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> <el-row :span="6"> - <el-form-item label="鎬у埆" prop="sex"> + <el-form-item label="鎬у埆" prop="sex" label-width="40px"> <el-input v-model="individualList.sex" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="6"> - <el-form-item label="姘戞棌" prop="nation"> + <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-form-item label="鑱旂郴鏂瑰紡" prop="phoneNumber"> + <el-form-item label="鑱旂郴鏂瑰紡" prop="phoneNumber" label-width="70px"> <el-input v-model="individualList.phoneNumber" placeholder="" clearable :style="{width: '100%'}":disabled="dsb"> </el-input> </el-form-item> @@ -107,19 +59,18 @@ </el-col> </el-container> </div> - <div style="padding-left:70px"> <el-container> <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> - <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-width="70px" label-position="left":disabled="dsb"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left":disabled="dsb"> <el-row :span="6"> - <el-form-item label="鍥界睄" prop="nationality"> + <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-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus"> + <el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus" label-width="70px"> <el-input v-model="individualList.maritalStatus" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> @@ -130,19 +81,48 @@ </el-container> </div> <div style="padding-left:90px;padding-top:30px"> - <el-row :gutter="6" > - <el-upload ref="ref1" - action="" - :file-list="fileList" - list-type="picture-card" - accept="image/*" - :auto-upload="false" - :multiple="false" - :limit="1"> - <i class="el-icon-plus"></i> - </el-upload> - </el-row> + <el-col :span="6" :data="individualList"> + <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> + + +<!-- <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>--> </div> + <div style="padding-left:50px;padding-top:30px" > <el-container > <!-- <template slot-scope="scope" v-if="scope.row.roleId !== 1">--> @@ -155,31 +135,40 @@ <!-- >淇敼</el-button>--> <!-- </template>--> + <el-row :span="2" style="flex-direction: column;"> <el-button type="primary" - @click="edit(scope.row)" + + @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']">--> +<!-- <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="submitForm">瀵煎叆</el-button> + + <el-button + type="primary" + + @click="handleExport" + v-hasPermi="['self:user:export']" + >瀵煎嚭</el-button> + </el-row> + </el-container> </div> <!-- </el-dialog>--> @@ -188,25 +177,22 @@ <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-width="110px" label-position="left"> - <el-row :span="15"> - <el-form-item label="鎴风睄鍦板潃" prop="locationAddress"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> + <el-row :span="16"> + <el-form-item label="鎴风睄鍦板潃" prop="locationAddress" label-width="70px"> <el-input v-model="individualList.locationAddress" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> - <el-row :span="15"> - <el-form-item label="甯镐綇鍦板潃" prop="alwaysAddress"> + <el-row :span="16"> + <el-form-item label="甯镐綇鍦板潃" prop="alwaysAddress" label-width="70px"> <el-input v-model="individualList.alwaysAddress" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> - <el-row :span="15"> - <el-form-item label="鍗曚綅鍙婅亴鍔¤亴绉�" prop="unit position "> - <el-input v-model:unit="individualList.unit" v-model:position="individualList.position" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> - <template slot-scope="scope"> - {{scope.row.unit}}/{{scope.row.position}} - </template> + <el-row :span="16" > + <el-form-item label="鍗曚綅" prop="unit" label-width="40px"> + <el-input v-model="individualList.unit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> @@ -218,26 +204,32 @@ <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-width="110px" label-position="left"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> <el-row :span="12"> - <el-form-item label="鎴风睄鍦板叕瀹夋満鍏�" prop="locationPolice"> + <el-form-item label="鎴风睄鍦板叕瀹夋満鍏�" prop="locationPolice" label-width="110px"> <el-input v-model="individualList.locationPolice" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="12"> - <el-form-item label="甯镐綇鍦板叕瀹夋満鍏�" prop="alwaysPolice"> + <el-form-item label="甯镐綇鍦板叕瀹夋満鍏�" prop="alwaysPolice" label-width="110px"> <el-input v-model="individualList.alwaysPolice" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> - + <el-row :span="12" > + <el-form-item label="鑱屽姟鑱岀О" prop="position" label-width="70px"> + <el-input v-model="individualList.position" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> </el-form> </el-col> </el-container> </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"> @@ -305,56 +297,76 @@ </el-collapse-item> <el-collapse-item title="绉诲眳鍥斤紙澧冿級鎯呭喌" name="3" > <div> - <el-form> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> <el-form-item label="鏄惁鎷ユ湁澶栫睄銆佸澶栧眳鐣欐潈銆侀暱鏈熷眳鐣欒鍙�"> - <el-radio-group v-model="form.outStatus" style="margin-bottom: 0"> - <el-radio :label="true">鏄�</el-radio> - <el-radio :label="false">鍚�</el-radio> + <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> </el-radio-group> + <el-container > + <el-row :span="7"> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="璇佷欢鍙风爜" prop="idNo" label-width="70px"> + <el-input v-model="individualList.idNo" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-form> + </el-row> + </el-container> </el-form-item> </el-form> - <div> - <el-table :data="individualList.idNo" border stripe> - <el-table-column label="璇佷欢鍙风爜" width="80" align="center"> - </el-table-column> - </el-table> - </div> + </div> </el-collapse-item> <el-collapse-item title="鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�" name="4" > <el-table v-loading="loading" :data="certificateList" @selection-change="handleSelectionChange"> - <el-table-column label="璇佷欢鍚嶇О" sortable width="280" align="center" /> - <el-table-column label="鎸佹湁鎯呭喌" sortable width="280" align="center" /> - <el-table-column label="璇佷欢鍙风爜" sortable width="280" align="center" /> - <el-table-column label="鏈夋晥鏈�" sortable width="280" align="center"> + <el-table-column label="璇佷欢鍚嶇О" prop="cerName" sortable width="280" align="center" /> + <el-table-column label="鎸佹湁鎯呭喌" prop="ownStatus" sortable width="280" align="center" /> + <el-table-column label="璇佷欢鍙风爜" prop="idNo" sortable width="280" align="center" /> + <el-table-column label="鏈夋晥鏈�" prop="validityDate" sortable width="280" align="center"> </el-table-column> </el-table> </el-collapse-item> <el-collapse-item title="鍑哄浗锛堝锛夋儏鍐�" name="5" > <el-table v-loading="loading" :data="AbroadList" @selection-change="handleSelectionChange"> <el-table-column label="璧锋鏃ユ湡" prop="startDate" sortable width="350" align="center" /> - <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="content" sortable width="350" align="center" /> - <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="witness" sortable width="400" align="center" /> + <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination" sortable width="350" align="center" /> + <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="cause" sortable width="400" align="center" /> </el-table> </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"> - <el-tab-pane label="0~3宀�(濠村効鏈�)" name="1" index="1"></el-tab-pane> - <el-tab-pane label="6~12(灏忓)" name="2"></el-tab-pane> + <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">--> + +<!-- </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> + </el-tab-pane> + <el-tab-pane label="6~12(灏忓)" name="2" ></el-tab-pane> <el-tab-pane label="12~15(鍒濅腑)" name="3"></el-tab-pane> <el-tab-pane label="15~18(楂樹腑)" name="4"></el-tab-pane> <el-tab-pane label="18~22(澶у)" name="5"></el-tab-pane> <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"--> +<!-- />--> </el-tabs> @@ -383,7 +395,16 @@ //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� import {getIndividualList, getIndividualRelation, delIndividual, updateIndividual, addIndividual,listExperience,updateExperience, addExperience,delExperience} from "@/api/self/index"; -import { getAbroadList, getAutobiographyTermList, getCertificateList } from '../../api/self' +import { + getAbroadList, + getAutobiography, + getAutobiographyList, + getAutobiographyTermList, + getCertificateList +} from '../../api/self' +import { delFamilyevent, uploadPic } from '../../api/bignote' +import { blobValidate } from '../../utils/ruoyi' + export default { name: "show", dicts: ['sys_normal_disable'], @@ -404,8 +425,13 @@ showSearch: true, // 鎬绘潯鏁� total: 0, + //澶村儚涓婁紶 + showBtnDealImg:true, + noneBtnImg:false, + limitCountImg:1,//涓婁紶鍥剧墖鐨勬渶澶ф暟閲� //涓汉淇℃伅鏁版嵁 individualList:[], + fit:['fill'], // 涓汉缁忓巻鏁版嵁 experienceList: [], //瀹跺涵鎴愬憳鍏崇郴鏁版嵁 @@ -414,8 +440,23 @@ certificateList:[], //鍑哄浗鎯呭喌 AbroadList:[], + + //涓汉鑷紶 + activeName: '0', + AutobiographyList:[], //涓嶅悓鏃舵涓汉鑷紶 - AutobiographyTermList:[], + // AutobiographyTermList:[], + // // 璁块棶鍚庡彴鐨勬暟鎹� + // query: { + // current: 1, + // termId: "", + // }, + // // 鍚庡彴杩斿洖鐨勬暟鎹� + // AutobiographyTermList: { + // rows: [{}], + // }, + // current: 0, + //涓嬫媺瀹炵幇 activeNames:['1'], // 寮瑰嚭灞傛爣棰� @@ -440,8 +481,7 @@ ], dsb:true, btn:false, - //涓汉鑷紶 - activeName: '1', + formDat: { //涓汉鍩烘湰淇℃伅 @@ -468,6 +508,7 @@ birth:undefined, familyId:undefined, + //涓昏瀛︿範鍙婂伐浣滅粡鍘� id:undefined, userId:undefined, @@ -476,11 +517,14 @@ witness:undefined, remark: undefined, //瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐� - relation:undefined, - - - // + //鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐� + cerName:undefined, + validityDate:undefined, + ownStatus:undefined, + //鍑哄浗锛堝锛夋儏鍐� + destination:undefined, + cause:undefined, url: undefined, }, // 鑿滃崟鍒楄〃 @@ -583,7 +627,7 @@ }, created() { this.getList(); - // this.getCateInfor() + this.getAutobiographyInfor() }, methods: { // 鍙栨秷鎸夐挳 @@ -595,17 +639,21 @@ handleChange(val) { console.log(val); }, - //缂栬緫鎸夐挳 - edit(row){ - const id= row.id; - this.reset(); - // this.$router.push('/self/self/edit') - this.title='缂栬緫涓汉淇℃伅'; - this.$router.push('/family2/self/edit/' + id); - }, + + // edit(row){ + // const id= row.id; + // this.reset(); + // this.title='缂栬緫涓汉淇℃伅'; + // this.$router.push('/self/self/edit/' + id); + // }, //涓汉鑷紶 handleClick(tab, event) { - console.log(tab, event); + // console.log(tab, event); + this.getAutobiographyInfor(); + if(tab.name == 0) { + + } + //鏍规嵁涓嶅悓鏃舵鐨勪釜浜鸿嚜浼� getAutobiographyTermList(this.queryParams).then(response => { // alert(123) @@ -614,10 +662,21 @@ this.total = response.data.total; this.loading = false; }); + + getAutobiographyList(this.queryParams).then(response => { + // alert(123) + // console.log(response.data) + this.AutobiographyList = response.data; + this.total = response.data.total; + this.loading = false; + }); }, + + + /** 鏌ヨ瑙掕壊鍒楄〃 */ - //鍒楄〃鏄剧ず瀹跺ぇ浜嬭 + getList() { this.loading = true; @@ -645,10 +704,8 @@ getIndividualList(this.queryParams).then(response => { // alert(123) // console.log(response.data) - //alert(123) this.individualList = response.data; - // this.total = response.data.total; - // console.log(this.individualList) + this.total = response.data.total; this.loading = false; } ); @@ -674,6 +731,7 @@ }, + //鍥剧墖鐨勪笂浼犲強涓婁紶鎸夐挳闅愯棌 // 鍙栨秷鎸夐挳 @@ -754,10 +812,41 @@ }); }, - + 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 = 'selfevent_'+nt+'.'+suffix + const blob = new Blob([response]) + saveAs(blob, filename) + }) + }, + + /** 鏌ヨ鑷紶淇℃伅 */ + getAutobiographyInfor() + { + let _this = this + getAutobiography().then(response=>{ + + response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{ + _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]}) + }) + }) }, /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ submitDataScope: function() { @@ -815,10 +904,21 @@ }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { - this.download('/family/zfEvent/export', { + this.download('/self/user/export', { ...this.queryParams - }, `zfEvent_${new Date().getTime()}.xlsx`) + }, `self_${new Date().getTime()}.xlsx`) } } }; </script> + +<style> +.uoloadSty { + width:110px; + height:110px; + line-height:110px; +} +.disUoloadSty { + display:none; /* 涓婁紶鎸夐挳闅愯棌 */ +} +</style> -- Gitblit v1.9.1