From 7c33a1164d3019feb3ad9e4844b3d364e5c6eb44 Mon Sep 17 00:00:00 2001 From: feige <791364011@qq.com> Date: 星期日, 17 十一月 2024 11:31:45 +0800 Subject: [PATCH] Merge branch 'master' of http://47.93.189.255:8099/r/zhangshi_app_web --- ruoyi-ui/src/views/genealogy/index.vue | 501 +++++++++++++++++------------------------------------- 1 files changed, 160 insertions(+), 341 deletions(-) diff --git a/ruoyi-ui/src/views/genealogy/index.vue b/ruoyi-ui/src/views/genealogy/index.vue index 4fd0266..45edc93 100644 --- a/ruoyi-ui/src/views/genealogy/index.vue +++ b/ruoyi-ui/src/views/genealogy/index.vue @@ -1,32 +1,22 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> - <el-form-item label="" prop="phone wx qq twitter isAlways remark" > - <el-input - 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="nickName" style="padding-left:180px"> - <el-input - v-model="queryParams.nickName" - placeholder="璇疯緭鍏ヨ韩浠�" + <el-form-item label="韬唤" prop="identity" > + <el-select + v-model="queryParams.identity" + placeholder="璇烽�夋嫨韬唤" clearable style="width: 240px" - @keyup.enter.native="handleQuery"> - <i slot="prefix" class="el-input__icon el-icon-search"></i> - </el-input> + @keyup.enter.native="handleQuery" + > + <el-option + v-for="item in typeOptions" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> </el-form-item> @@ -42,78 +32,42 @@ </el-form-item> <el-form-item label="鎬у埆" prop="sex"> - <el-input - v-model="queryParams.sex" - placeholder="璇疯緭鍏ユ�у埆" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery"> - <i slot="prefix" class="el-input__icon el-icon-search"></i> - </el-input> + <el-select v-model="queryParams.sex" placeholder="璇烽�夋嫨鎬у埆" clearable + style="width: 240px" @keyup.enter.native="handleQuery"> + <el-option v-for="item in typeOption" + :key="item.value" :label="item.label" :value="item.value"/> + </el-select> </el-form-item> - <el-form-item label="鐢熸棩" prop="birth"> - <el-input - v-model="queryParams.birth" - placeholder="璇疯緭鍏ョ敓鏃�" - clearable - style="width: 240px" + + <el-form-item label="鐢熸棩" prop="birth deadDay"> + <el-date-picker + v-model="dateRange" + style="width: 240px; + height: 30px; + background: #FFFFFF; + border-radius: 14px 14px 14px 14px; + opacity: 0.5; + border: 1px solid rgba(0,0,0,0.25);" + value-format="yyyy-MM-dd" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" @keyup.enter.native="handleQuery" - > - <i slot="prefix" class="el-input__icon el-icon-search"></i> - </el-input> + ></el-date-picker> + </el-form-item> + <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" - style=" width: 65px; height: 32px;background: #FFDDE3; - border-radius: 6px 6px 6px 6px;opacity:1;">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3; - border-radius: 6px 6px 6px 6px;opacity:1; " >閲嶇疆</el-button> + <el-button size="mini" @click="handleQuery" style=" width: 67px;height: 27px;background: #FFDDE3; + border-radius: 7px 7px 7px 7px;opacity: 1; " >鎼滅储</el-button> + <el-button size="mini" @click="resetQuery" style=" width: 67px;height: 27px;background: #FFDDE3; + border-radius: 7px 7px 7px 7px;opacity: 1; ">閲嶇疆</el-button> </el-form-item> </el-form> <div> - <div style="width: 149px; - 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--> -<!-- type="primary"--> -<!-- plain--> -<!-- icon="el-icon-plus"--> -<!-- size="mini"--> -<!-- @click="handleAdd"--> -<!-- v-hasPermi="['system:role:add']"--> -<!-- >鏂板</el-button>--> -<!-- </el-col>--> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['family:note:export']" - >瀵煎嚭</el-button> - </el-col> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="warning"--> @@ -122,43 +76,33 @@ <!-- size="mini"--> <!-- @click="handleExport"--> <!-- v-hasPermi="['family:note:export']"--> -<!-- >瀵煎叆妯℃澘涓嬭浇</el-button>--> -<!-- </el-col>--> -<!-- <el-col :span="1.2">--> - -<!-- <el-upload--> -<!-- action=""--> -<!-- class="upload-demo"--> -<!-- :show-file-list="false"--> -<!-- :http-request="handleEnport"--> -<!-- >--> -<!-- <el-button size="mini" type="primary"--> -<!-- plain--> -<!-- icon="el-icon-plus" >瀵煎叆</el-button>--> -<!-- </el-upload>--> +<!-- >瀵煎嚭</el-button>--> <!-- </el-col>--> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> </div> - <el-table v-loading="loading" :data="listRoot" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> - <el-table-column type="selection" width="25" align="center" /> - <el-table-column label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> - - <el-table-column label="韬唤" prop="myName" sortable width="100" > -<!-- <template slot-scope="scope">--> -<!-- <div>--> -<!-- <a href="javascript:;" @click="handleCheck(scope.row)">{{scope.row.myName}}</a>--> -<!-- </div>--> -<!-- </template>--> - + <el-table v-loading="loading" border :data="listRoot" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> + <el-table-column label="韬唤" prop="identity" sortable width="100" > + <template slot-scope="scope" > + <span v-if="scope.row.isMyFamily==1">绗瑊{scope.row.identity}}浠�</span> + <span v-else>鈥斺��</span> + </template> </el-table-column> - <el-table-column label="濮撳悕" prop="nickName" sortable :show-overflow-tooltip="true" width="100" align="center"/> + <el-table-column label="濮撳悕" prop="nickName" sortable :show-overflow-tooltip="true" width="100" align="center"> + <template slot-scope="scope" > + + <el-button @click="handleCheck(scope.row)">{{scope.row.nickName}}</el-button> + </template> + </el-table-column> + <el-table-column label="鎬у埆" prop="sex" sortable width="100" align="center" > <template slot-scope="scope"> - <span v-if="scope.row.sex===1">鐢�</span> - <span v-if="scope.row.sex===0">濂�</span> + <span v-if="scope.row.sex===0">鐢�</span> + <span v-if="scope.row.sex===1">濂�</span> <span v-if="scope.row.sex== null">鈥斺��</span> </template> </el-table-column> @@ -174,25 +118,30 @@ <el-table-column label="鎵�鍦ㄥ崟浣�" prop="unit" sortable width="150" align="center" > <template slot-scope="scope">{{scope.row.unit? scope.row.unit: '鈥斺�斺�斺��'}}</template> </el-table-column> - <el-table-column label="閰嶅伓" prop="spouseId" sortable width="110" align="center" > - <template slot-scope="scope"><span>{{getPerson(scope.row.spouseId)}}</span></template> +<!-- <el-table-column label="閰嶅伓" prop="spouseId" sortable width="110" align="center" >--> +<!-- <template slot-scope="scope"><span>{{getPerson(scope.row.spouseId)}}</span></template>--> +<!-- </el-table-column>--> + <el-table-column label="閰嶅伓" prop="spouseName" sortable width="110" align="center" > + <template slot-scope="scope">{{scope.row.spouseName? scope.row.spouseName: '鈥斺�斺�斺��'}}</template> </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> + + <el-table-column fixed="right" label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> -<el-button + <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)"> -鏌ョ湅璇︽儏</el-button> + 鏌ョ湅璇︽儏 + </el-button> </template> </el-table-column> </el-table> <pagination - v-show="total" + v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @@ -200,115 +149,9 @@ @pagination="getList" /> + <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> - <!-- <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> - <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> - - <el-form-item label="鎴愬憳濮撳悕" prop="myName"> - <el-input v-model="formDat.myName" placeholder="璇疯緭鍏ユ垚鍛樺鍚�" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - - <el-form-item label="绉板懠" prop="nickName"> - <el-input v-model="formDat.nickName" placeholder="璇疯緭鍏ョО鍛�" clearable :style="{width: '100%'}" ></el-input> - </el-form-item> - <el-form-item label="濮撳悕" prop="name"> - <el-input v-model="formDat.name" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - <el-form-item label="宸ヤ綔鍗曚綅" prop="work"> - <el-input v-model="formDat.work" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - <el-form-item label="鎵嬫満" prop="phone"> - <el-input v-model="formDat.phone" placeholder="璇疯緭鍏ユ墜鏈�" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - <el-form-item label="寰俊" prop="wx"> - <el-input v-model="formDat.wx" placeholder="璇疯緭鍏ュ井淇�" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - <el-form-item label="QQ" prop="qq"> - <el-input v-model="formDat.qq" placeholder="璇疯緭鍏Q" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - <el-form-item label="twitter" prop="twitter"> - <el-input v-model="formDat.twitter" placeholder="璇疯緭鍏witter" clearable :style="{width: '100%'}" > - </el-input> - </el-form-item> - <el-form-item label="鏄惁甯歌仈绯�" prop="isAlways"> - <el-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="formDat.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></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: 126px; height: 126px" - 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="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-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> - <h4 class="form-header"> </h4> - - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button> - <el-button @click="cancelData">鍙� 娑�</el-button> - </div> - </el-dialog> --> + </el-dialog> <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> @@ -326,6 +169,8 @@ //瀵煎叆鎺ュ彛鍑芥暟 import {enload, uploadPic} from "@/api/contacts/index"; import {getRoot,listUserAll} from "@/api/root/index"; + + export default { name: "index", dicts: ['sys_normal_disable'], @@ -344,7 +189,8 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, - // 鎬绘潯鏁� + pageSize: 10, // 姣忛〉鏄剧ず鏁版嵁鏉℃暟 + pageNum: 1, // 褰撳墠椤电爜 // 鎬绘潯鏁� total: 0, // 瀹惰氨琛ㄦ牸鏁版嵁 listRoot: [], @@ -362,15 +208,12 @@ dateRange: [], // 鏁版嵁鑼冨洿閫夐」 fot:[".jpg",".jif"], - fileList:[ - ], - fileListOther:[ - - ], + fileList:[], + fileListOther:[], dsb:true, btn:false, fit:['fill'], - + uploading: false, formDat: { //寮犳皬涓�瑙堣〃 userid:undefined, @@ -393,6 +236,7 @@ politicalOutlook:undefined, deadDay:undefined, spouseId:undefined, + spouseName:undefined, img:undefined, fatherId:undefined, momId:undefined, @@ -400,6 +244,8 @@ familyId:undefined, secondFamilyId:undefined, childList:undefined, + identity:undefined, + isMyFamily:undefined, url: undefined, }, @@ -411,9 +257,11 @@ queryParams: { pageNum: 1, pageSize: 10, + identity:undefined, nickName:undefined, sex:undefined, birth:undefined, + clanId: undefined }, // searchVal:"", @@ -441,7 +289,7 @@ message: '璇疯緭鍏ユ�у埆', trigger: 'blur' }], - bitrh: [{ + birth: [{ // required: true, message: '璇疯緭鍏ュ嚭鐢熸椂闂�', trigger: 'blur' @@ -453,15 +301,31 @@ }], }, - typeOptions: [], + typeOption: [{ + value: '0', + label: '鐢�', + }, + { + value: '1', + label: '濂�', + }], + typeOptions: [{ + value:'1', + label:'绗�1浠�' + },{ + value:'2', + label:'绗�2浠�' + },{ + value:'3', + label:'绗�3浠�' + },{ + value:'4', + label:'绗�4浠�' + }], }; }, created() { this.getList(); - // this.getCateInfor() - // for (let i = 0; i < this.contactList.length; i++) { - // this.formDat[i] = this.contactList[i]; - // } }, methods: { // 鍙栨秷鎸夐挳 @@ -502,41 +366,50 @@ return "statistics-warning-row"; } }, - - /** 鏌ヨ閫氳褰曞垪琛� */ + /** 鏌ヨ瀹惰氨鍒楄〃 */ getList() { this.loading = true; // console.log(this.queryParams) //alert(23) - + this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] + this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] + this.queryParams.clanId = this.$store.state.user.clanId + this.listRoot = [] // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listUserAll(this.queryParams).then(response => { - // alert(123) // console.log(response.data) - // alert(76) - this.listRoot = response.data; - // alert(this.listRoot) - this.total = response.data.length; - // alert(this.total) + this.listRoot = response.data.data; + this.total = response.data.total; + // this.pageNum=1; + // this.pageSize=10; + // this.pageNum = response.data.pageNum; this.loading = false; } ); }, - /** 鏌ヨ绫诲埆淇℃伅 */ - // getCateInfor() - // { - // let _this = this - // getCategory().then(response=>{ - // - // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{ - // _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]}) - // }) - // }) - // }, - - handleRemove(file) { - alert(323) + handlePageChange(currentPage) { + this.pageNum = currentPage; // 鏍规嵁 currentPage 璁$畻鍑� pageNum 鍊� + this.getList(); }, + //韬唤閫夋嫨 + getSrc(identity) { + if (identity === '1'){ + return '绗�1浠�' + }else if(identity === '2'){ + return '绗�2浠�' + }else if(identity === '3'){ + return '绗�3浠�' + }else if(identity === '4'){ + return '绗�4浠�' + }else { + return '鍏跺畠' + } + }, + getRowId(row) + { + return row.id + }, + // 鍙栨秷鎸夐挳 cancel() { this.open = false; @@ -545,7 +418,6 @@ // 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級 cancelDataScope() { this.openDataScope = false; - this.reset(); }, // 琛ㄥ崟閲嶇疆 reset() { @@ -568,7 +440,7 @@ deptCheckStrictly: true, remark: undefined }; - this.resetForm("form"); + this.resetForm("elForm"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -601,96 +473,43 @@ /** 鏌ョ湅璇︾粏淇℃伅 */ handleCheck(row){ const id = row.userId; - alert(id) - this.$router.push("/familymodel/jiagenwang/getPInfo/" + id); + // alert(id) + this.$router.push("/familymodel/jiagenwang/personInfo/" + id); }, - handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; }, - /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ - // submitDataScope: function() { - // - // let ul = this.fileList.map(function (elem){ - // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") - // }).join(",") - // let uls = this.fileListOther.map(function (elem){ - // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") - // }).join(",") - // this.formDat.url = ul+","+uls - // this.$refs["elForm"].validate(valid => { - // if (valid) { - // - // addContact(this.formDat).then(response => { - // this.$modal.msgSuccess("鏂板鎴愬姛"); - // this.open = false; - // this.getList(); - // }); - // } - // }); - // }, - 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}) - - } - }) - - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const Ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() { - return delContact(Ids); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + // handleExport() { + // this.download('/self/user/export/genealogy', { + // ...this.queryParams + // }, `zGenealogy_${new Date().getTime()}.xlsx`) + // }, + handleExport() { - this.download('zfContact/export', { - ...this.queryParams - }, `zfContact_${new Date().getTime()}.xlsx`) + const Ids = this.ids; + + if(Ids.length==0) + { + this.download('/self/user/export/genealogy', { + ...this.queryParams + }, `zGenealogy_${new Date().getTime()}.xlsx`) + }else{ + this.download('/self/user/export/genealogy1/'+Ids, { + + }, `zGenealogy_${new Date().getTime()}.xlsx`) + } }, - /** 瀵煎叆鎿嶄綔*/ - // handleEnport(params){ - // var file = params.file; - // var formData = new FormData(); - // formData.append('excelImport', file); - // let _this = this - // enload(formData).then(response => { - // _this.getList(); - // Message({ message: "瀵煎叆鎴愬姛", type: 'warning' }) - // - // }).catch(err) - // { - // Message({ message: "瀵煎叆澶辫触", type: 'error' }) - // } - // - // } + } }; </script> -<style > +<style scoped> .app-container{ background-color: #FEF7FC; } -- Gitblit v1.9.1