From b849886a6e1004c32cee00c2ee4e15f9d848f061 Mon Sep 17 00:00:00 2001 From: feige <791364011@qq.com> Date: 星期六, 19 四月 2025 22:06:27 +0800 Subject: [PATCH] 修改 --- ruoyi-ui/src/views/self/memo.vue | 2071 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 1,580 insertions(+), 491 deletions(-) diff --git a/ruoyi-ui/src/views/self/memo.vue b/ruoyi-ui/src/views/self/memo.vue index 80788c5..0047dba 100644 --- a/ruoyi-ui/src/views/self/memo.vue +++ b/ruoyi-ui/src/views/self/memo.vue @@ -1,325 +1,749 @@ <template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> -<!-- --> -<!-- <el-input--> -<!-- v-model:phone="queryParams.phone"--> -<!-- 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 label="" prop="address title remark people happenTime" > - <el-input v-model="keyword" 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="happenTime"> - <el-date-picker - v-model="dateRange" - style="width: 197px; - 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" - ></el-date-picker> - </el-form-item> - <el-form-item label="浜虹墿" prop="people"> - <el-input - v-model="queryParams.people" - 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="address"> - <el-input - v-model="queryParams.address" - 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="title"> - <el-input - v-model="queryParams.title" - placeholder="璇疯緭鍏ヤ簨浠舵爣棰�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery"> - <i slot="prefix" class="el-input__icon el-icon-search"></i> - </el-input> - </el-form-item> - - <el-form-item> - <el-button 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> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <div class="app-container" id="printable-content"> + <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;display: flex;"> + <span>涓汉绠�鍘�</span> + <div class="button-container" > <el-button - type="primary" - plain - icon="el-icon-plus" size="mini" - @click="handleAdd" - v-hasPermi="['system:role:add']" - >鏂板</el-button> - </el-col> + style="background: #E0EEFE; + border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;" + @click="handleEdit()" + v-if="isShow" + v-hasPermi="['system:role:edit']" + >缂栬緫</el-button> + <el-button v-if="isShow_2" size="mini" + style=" width: 67px;height: 27px;background:#E0EEFE; + border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; "@click="submitForm" :disabled="dsb">瀹屾垚</el-button> - <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" + style=" width: 67px;height: 27px;background: #D2F3E0; + border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; " @click="handleExport" v-hasPermi="['family:note:export']" >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> + <el-button - type="warning" - plain - icon="el-icon-download" size="mini" - @click="handleExportTemplate" + style=" width: 67px;height: 27px;background: #FFDDE3; + border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;" + v-print="'#printable-content'" v-hasPermi="['family:note:export']" - >瀵煎叆妯℃澘涓嬭浇</el-button> - </el-col> - <el-col :span="1.2"> - - <el-upload - action="" - - class="upload-demo" - :show-file-list="false" - :http-request="handleEnport" - > - <el-button size="mini" type="primary" - plain - icon="el-icon-plus" >瀵煎叆</el-button> - - </el-upload> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - </div> - - <el-table v-loading="loading" :data="noteList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> - <el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> - <el-table-column fixed label="搴忓彿" sortable type="index" align="center" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="60"/> - - <el-table-column label="鏃堕棿" prop="happenTime" sortable :show-overflow-tooltip="true" width="150" align="center" > - <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template> - </el-table-column> - <el-table-column label="浜虹墿" prop="people" sortable :show-overflow-tooltip="true" width="150" align="center" > - <template slot-scope="scope">{{scope.row.people? scope.row.people: '鈥斺�斺�斺��'}}</template> - </el-table-column> - <el-table-column label="鍦扮偣" prop="address" sortable width="160" align="center" > - <template slot-scope="scope">{{scope.row.address? scope.row.address: '鈥斺�斺�斺��'}}</template> - </el-table-column> - <el-table-column label="浜嬩欢鏍囬" prop="title" sortable width="160" align="center"> - <template slot-scope="scope">{{scope.row.title? scope.row.title: '鈥斺�斺�斺��'}}</template> - </el-table-column> - <el-table-column label="澶囨敞" prop="remark" sortable width="150" align="center"> - <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template> - </el-table-column> - <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" align="center"> - <template slot-scope="scope" > - <div @click="handleCheck(scope.row)"> - <img - class="el-upload-list__item-thumbnail" - src="../../assets/images/deviceLis.png" - alt="" - style="width: 35px; height: 35px;" - fit="cover" - v-if="!(scope.row.url === '' || scope.row.url === ',' || scope.row.url === null)" - > - <img - v-else - class="el-upload-list__item-thumbnail" - src="../../assets/images/deviceA.png" - alt="" - style="width: 35px; height: 35px;" - fit="cover" - - ></div> - </template> - </el-table-column> - - <!-- </el-table-column>--> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope" v-if="scope.row.roleId !== 1"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - - <el-button - size="mini" - type="text" - icon="el-icon-d-arrow-right" - @click="handleCheck(scope.row)"> - 鏌ョ湅璇︽儏</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - style="background: #FEF7FC;" - @pagination="getList" - /> - - <!-- 娣诲姞涓汉璁颁簨鏈厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> - <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> - - <el-form-item label="鏃堕棿" prop="happenTime"> - <el-input v-model="formDat.happenTime" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" ></el-input> - </el-form-item> - <el-form-item label="浜虹墿" prop="people"> - <el-input v-model="formDat.people" 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-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> - - <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> + >鎵撳嵃</el-button> </div> - </el-dialog> - <!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> + </h1> + <el-divider /> + <h2 style="font-size:16px">鍩烘湰淇℃伅</h2> + <el-container> + <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="6"> + <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" 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="6"> + <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> + </el-row> + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:60px"> + <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="5"> + <el-form-item label="鎬у埆" prop="sex" label-width="40px"> +<!-- <el-input v-model="individualList.sex === 1 ? '鐢�':'濂�' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">--> +<!-- </el-input>--> + <template v-if="!isEditing"> + <el-input v-model="individualList.sex === 0 ? inds='鐢�':inds='濂�'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input> + </template> + <template v-else> + <el-select v-model="inds" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}" :disabled="dsb"> + <el-option label="鐢�" value='0'></el-option> + <el-option label="濂�" value='1'></el-option> + </el-select> + </template> + </el-form-item> + </el-row> + <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="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> + </el-form-item> + </el-row> + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:60px"> + <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="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="5"> + <el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus" label-width="70px"> + <template v-if="!isEditing" > + <el-input v-if="individualList.maritalStatus===0" placeholder="鏈"></el-input> + <el-input v-if="individualList.maritalStatus===1" placeholder="鍒濆"></el-input> + <el-input v-if="individualList.maritalStatus===2" placeholder="绂诲"></el-input> + <el-input v-if="individualList.maritalStatus===3" placeholder="鍐嶅"></el-input> + </template> + <template v-else> + <el-select v-model="mrs" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}"> + <el-option label="鏈" value='0'></el-option> + <el-option label="宸插" value='1'></el-option> + <el-option label="绂诲" value='2'></el-option> + </el-select> + </template> + </el-form-item> + </el-row> - </el-dialog> + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:100px;padding-top:30px"> + <el-col :span="6" :data="individualList"> + <div class="block" :model="individualList"> - </div> + + + + <el-upload ref="uploadDemo" + action="" + :file-list="fileList" + list-type="picture-card" + accept="image/*" + :multiple="false" + :http-request="requestUpload" + + :limit="1"> + + <el-avatar shape="square" style="width: 200px;;height: 200px;" > + <el-image + :src="'https://www.bendudu.com:8080/'+ individualList.url" + :fit="fit" style="width: 100%;height: 100%;border-radius: 0px 0px 0px 0px;opacity: 1;border: 1px solid rgba(0,0,0,0.5);" + ></el-image> + + + </el-avatar> + </el-upload> + </div> + </el-col> + + </div> + + <div style="padding-left:30px;padding-top:30px" > + + </div> + <!-- </el-dialog> self:user:export--> + </el-container> + <el-container> + <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"> + <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> + <el-row :span="16"> + <el-form-item label="鎴风睄鍦板潃" prop="locationAddress" label-width="70px"> + <el-input type="textarea" v-model="individualList.locationAddress" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + + <el-row :span="28"> + <el-form-item label="甯镐綇鍦板潃" prop="alwaysAddress" label-width="70px"> + <el-input type="textarea" v-model="individualList.alwaysAddress" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + + + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:60px"> + <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="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-row :span="12"> + <el-form-item label="鎴风睄鍦板叕瀹夋満鍏�" prop="locationPolice" label-width="110px"> + <el-input type="textarea" v-model="individualList.locationPolice" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="12"> + <el-form-item label="甯镐綇鍦板叕瀹夋満鍏�" prop="alwaysPolice" label-width="110px"> + <el-input type="textarea" v-model="individualList.alwaysPolice" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + + </el-form> + </el-col> + </el-container> + </div> + </el-container> + <!--鎶樺彔闈㈡澘--> + <el-collapse > + <el-collapse-item title="绉诲眳鍥斤紙澧冿級鎯呭喌" name="3" > + <div> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="鏄惁鎷ユ湁澶栫睄銆佸澶栧眳鐣欐潈銆侀暱鏈熷眳鐣欒鍙�" > + <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0;color: #FEF7FC;" :disabled="dsb"> + <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" style="color: #FEF7FC;" 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-collapse-item> + </el-collapse> + <!--鎶樺彔闈㈡澘--> + <el-collapse v-model="activeNames" @change="handleChange5"> + <!-- <el-collapse-item title="绉诲眳鍥斤紙澧冿級鎯呭喌" name="3" > + <div> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="鏄惁鎷ユ湁澶栫睄銆佸澶栧眳鐣欐潈銆侀暱鏈熷眳鐣欒鍙�" > + <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0;color: #FEF7FC;" :disabled="dsb"> + <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" style="color: #FEF7FC;" 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-collapse-item> --> + + <!--涓昏瀛︿範鍙婂伐浣滅粡鍘�--> + <el-collapse-item name="1" > + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">涓昏瀛︿範鍙婂伐浣滅粡鍘�</div> + <div> + <el-button class="button" size="mini" type="text" @click="showDialog('open')" > + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button> + </div> + </div> + </template> + <el-table v-loading="loading" border :data="experienceList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table-column label="寮�濮嬫棩鏈�" prop="startDate" sortable width="250" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.startDate }}</template> + <template v-else> + <el-date-picker v-model="scope.row.startDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃ユ湡" prop="endDate" sortable width="250" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.endDate }}</template> + <template v-else><el-date-picker v-model="scope.row.endDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="涓昏瀛︿範缁忓巻銆佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" prop="content" sortable width="350" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.content }}</template> + <template v-else><el-input v-model="scope.row.content"></el-input></template> + </template> + </el-table-column> + <el-table-column label="璇佹槑浜�" prop="witness" sortable width="300" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.witness }}</template> + <template v-else><el-input v-model="scope.row.witness"></el-input></template> + </template> + </el-table-column> + <!-- 鎿嶄綔--> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" v-if="userId != 2"> + <template slot-scope="scope" v-if="scope.row.roleId !== 1"> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" + v-if="editStatus[scope.row.id]" @click="saveRowExperienceList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" + @click="handleExperienceDelete(scope.row)" v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </el-collapse-item> + <!-- 瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐� --> + <el-collapse-item name="2" > + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�</div> + <div> + <el-button class="button" size="mini" type="text" @click="showDialog('relation1')"> + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button> + </div> + </div> + </template> + <el-table v-loading="loading" border :data="relationList" @selection-change="handleSelectionChange" + :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table-column label="涓庢湰浜哄叧绯�" prop="relation" sortable width="260" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.relation }}</template> + <template v-else><el-input v-model="scope.row.relation"></el-input></template> + </template> + </el-table-column> + <el-table-column label="濮撳悕" prop="otherName" sortable width="260" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherName }}</template> + <template v-else><el-input v-model="scope.row.otherName"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鍗曚綅" prop="otherUnit" sortable width="220" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherUnit }}</template> + <template v-else><el-input v-model="scope.row.otherUnit"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鑱屽姟" prop="otherPosition" sortable width="220" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherPosition }}</template> + <template v-else><el-input v-model="scope.row.otherPosition"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鏀挎不闈㈣矊" prop="otherPolitical" sortable width="260" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherPolitical }}</template> + <template v-else><el-input v-model="scope.row.otherPolitical"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" v-if="userId != 2"> + <template slot-scope="scope" v-if="scope.row.roleId !== 1"> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" v-if="editStatus[scope.row.id]" + @click="saveRowRelationList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" + @click="handleRelationDelete(scope.row)" v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </el-collapse-item> + <!--鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�--> + <el-collapse-item name="4"> + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">鎸佹湁璇佷欢鎯呭喌</div> + <el-button class="button" size="mini" type="text" @click="showDialog('certificate')"> + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button> + </div> + </template> + <el-table v-loading="loading" border :data="certificateList" @selection-change="handleSelectionChange" + :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table-column label="璇佷欢鍚嶇О" prop="cerName" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.cerName }}</template> + <template v-else><el-input v-model="scope.row.cerName"></el-input></template> + </template> + </el-table-column> + <el-table-column label="璇佷欢绫诲瀷" prop="type" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.type }}</template> + <template v-else><el-input v-model="scope.row.type"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鎸佹湁鎯呭喌" prop="ownStatus" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.ownStatus }}</template> + <template v-else><el-input v-model="scope.row.ownStatus"></el-input></template> + </template> + </el-table-column> + <el-table-column label="璇佷欢鍙风爜" prop="idNo" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.idNo }}</template> + <template v-else><el-input v-model="scope.row.idNo"></el-input></template> + </template> + </el-table-column> + <el-table-column label="寮�濮嬫椂闂�" prop="startTime" sortable width="230" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃堕棿" prop="endTime" sortable width="230" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.endTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" v-if="userId != 2"> + <template slot-scope="scope" v-if="scope.row.roleId !== 1"> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" v-if="editStatus[scope.row.id]" + @click="saveRowCertificateList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" + @click="handleCertificateDelete(scope.row)" v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </el-collapse-item> + <!--鍑哄浗锛堝锛夋儏鍐�--> + <el-collapse-item name="5"> + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">鍑哄浗锛堝锛夋儏鍐�</div> + <el-button class="button" size="mini" type="text" @click="showDialog('abroad')"> + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button> + </div> + </template> + <el-table v-loading="loading" border :data="AbroadList" @selection-change="handleSelectionChange" + :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table-column label="寮�濮嬫椂闂�" prop="startTime" sortable width="200" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃堕棿" prop="endTime" sortable width="200" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.endTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination" sortable width="300" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.destination }}</template> + <template v-else><el-input v-model="scope.row.destination"></el-input></template> + </template> + </el-table-column> + <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="cause" sortable width="420" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.cause }}</template> + <template v-else><el-input v-model="scope.row.cause"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" v-if="userId != 2"> + <template slot-scope="scope" v-if="scope.row.roleId !== 1"> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" v-if="editStatus[scope.row.id]" + @click="saveRowAbroadList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleAbroadDelete(scope.row)" + v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </el-collapse-item> + <!-- 鑷紶--> + <el-collapse-item name="6"> + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">鑷紶</div> + <div> + <el-button size='mini' type="text" class="button" @click="showDialog('autobiography')" > + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span> + </el-button> + </div> + </div> + </template> + <el-container> + <div> + <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick" + v-loading="loading" :data="AutobiographyList" > + <el-tab-pane v-for="(item, index) in AutobiographyList" + :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'宀�'+'('+item.term+')'"> + <div>{{ item.content }}</div> + <div style="margin-bottom: 20px;"> + <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='right:40px;top:5px;'> + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span> + </el-button> + + <el-button size="mini" type="text" class="btn_del" @click="handleAutobiography(item)" style='right:10px;top:5px;'> + <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span> + </el-button> + </div> + </el-tab-pane> + </el-tabs></div> + </el-container> + </el-collapse-item> + + </el-collapse> + + + + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 鏂板涓昏缁忓巻淇℃伅閰嶇疆瀵硅瘽妗� --> + <el-dialog title="鏂板涓昏缁忓巻淇℃伅" :visible.sync="dialogVisible.open" width="900px" append-to-body> + <el-form ref="elForm1" :model="formDat" :rules="rules" size="medium" label-width="140px"> + <el-form-item label="寮�濮嬫棩鏈�" prop="startDate"> + <el-date-picker v-model="formDat.startDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endDate"> + <el-date-picker v-model="formDat.endDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="涓昏瀛︿範缁忓巻銆佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" prop="content"> + <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="璇疯緭鍏ヤ富瑕佸涔犵粡鍘嗐�佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="璇佹槑浜�" prop="witness"> + <el-input v-model="formDat.witness" placeholder="璇疯緭鍏ヨ瘉鏄庝汉" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + + </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 title="鏂板瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�" :visible.sync="dialogVisible.relation1" width="900px" append-to-body> + <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px"> + <el-form-item label="涓庢湰浜哄叧绯�" prop="relation"> + <el-input v-model="formDat.relation" placeholder="璇疯緭鍏ヤ笌鏈汉鍏崇郴" clearable :style="{width: '100%'}" ></el-input> + </el-form-item> + <el-form-item label="濮撳悕" prop="otherName"> + <el-input v-model="formDat.otherName" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="鍗曚綅" prop="otherUnit"> + <el-input v-model="formDat.otherUnit" placeholder="璇疯緭鍏ュ崟浣�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="鑱屽姟" prop="otherPosition"> + <el-input v-model="formDat.otherPosition" placeholder="璇疯緭鍏ヨ亴鍔�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="鏀挎不闈㈣矊" prop="otherPolitical"> + <el-input v-model="formDat.otherPolitical" placeholder="璇疯緭鍏ユ斂娌婚潰璨�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + + </el-form> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope2">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!-- 鏂板鎸佹湁璇佷欢鎯呭喌淇℃伅閰嶇疆瀵硅瘽妗� --> + <el-dialog title="鏂板鎸佹湁璇佷欢鎯呭喌" :visible.sync="dialogVisible.certificate" width="900px" append-to-body> + <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px"> + <el-form-item label="璇佷欢鍚嶇О" prop="cerName"> + <el-input v-model="formDat.cerName" placeholder="璇疯緭鍏ヨ瘉浠跺悕绉�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="璇佷欢绫诲瀷" prop="type"> + <el-select v-model="formDat.type" placeholder="璇烽�夋嫨璇佷欢绫诲瀷" clearable :style="{width: '100%'}" > + <el-option v-for="(item, index) in typeOption" :key="index" :label="item.label" :value="item.value" + ></el-option> + </el-select> + <el-input v-model="newOption" placeholder="鑻ユ湭鍦ㄤ笂杩伴�夐」涓壘鍒板搴旂被鍨嬶紝璇峰湪姝よ緭鍏ユ柊鐨勮瘉浠剁被鍨�" ></el-input> + + </el-form-item> + <el-form-item label="鎸佹湁鎯呭喌" prop="ownStatus"> + <el-input v-model="formDat.ownStatus" placeholder="璇疯緭鍏ユ寔鏈夋儏鍐�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="璇佷欢鍙风爜" prop="idNo"> + <el-input v-model="formDat.idNo" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="寮�濮嬫棩鏈�" prop="startTime"> + <el-date-picker v-model="formDat.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endTime"> + <el-date-picker v-model="formDat.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></el-form-item> + </el-form> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope4">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!-- 鏂板鍑哄浗锛堝锛夋儏鍐典俊鎭厤缃璇濇 --> + <el-dialog title="鏂板鍑哄浗锛堝锛夋儏鍐典俊鎭�" :visible.sync="dialogVisible.abroad" width="900px" append-to-body> + <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px"> + <el-form-item label="寮�濮嬫棩鏈�" prop="startTime"> + <el-date-picker v-model="formDat.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endTime"> + <el-date-picker v-model="formDat.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination"> + <el-input v-model="formDat.destination" type="textarea" :rows="5" placeholder="璇疯緭鍏ユ墍鍒板浗瀹舵垨鑰呭湴鍖�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="浜嬬敱(鏃呮父銆佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠�)" prop="cause"> + <el-input v-model="formDat.cause" placeholder="璇疯緭鍏ヤ簨鐢�(鏃呮父銆佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠�)" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + + </el-form> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope5">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!--鏂板鑷紶--> + <el-dialog :title="isEdit1 ? '缂栬緫璁板綍' : '鏂板璁板綍'" :visible.sync="dialogVisible.autobiography" width="900px" append-to-body> + <el-col > + <el-form ref="elFormzz" :model="formDat6" :rules="rules" size="medium" label-position="left" > + <el-row :span="5"> + <!-- <el-form-item label="闇�瑕佷慨鏀圭殑璁板綍锛�" prop="id">--> + <!-- <el-select v-model="formDat.id" placeholder="璇烽�夋嫨闇�瑕佷慨鏀圭殑璁板綍" clearable :style="{width: '50%'}" >--> + <!-- <el-option v-for="(item, index) in AutobiographyList" :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'宀�'+'('+item.term+')'"--> + <!-- ></el-option>--> + <!-- </el-select>--> + <!-- </el-form-item>--> + <el-form-item label="骞撮緞娈碉細" prop="ageBegin ageEnd" label-width="70px"> + <el-input @input="$forceUpdate()" type="number" v-model="formDat6.ageBegin" placeholder="" clearable :style="{width: '20%'}" > + </el-input> + <span> 宀� 鈥斺��</span> + <el-input @input="$forceUpdate()" type="number" v-model="formDat6.ageEnd" placeholder="" clearable :style="{width: '20%'}" > + </el-input> + <span> 宀� </span> + </el-form-item> + <el-form-item label="鏃舵湡锛�" prop="term"> + <!-- <el-select v-model="formDat.term" placeholder="璇烽�夋嫨鏃舵湡" clearable :style="{width: '50%'}" >--> + <!-- <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"--> + <!-- ></el-option>--> + <!-- </el-select>--> + <el-input @input="$forceUpdate()" v-model="formDat6.term" placeholder="璇疯緭鍏ユ椂鏈�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="鍐呭缂栬緫锛�" prop="content"> + <el-input @input="$forceUpdate()" v-model="formDat6.content" type="textarea" :rows="5" placeholder="" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + </el-row> + </el-form> + </el-col> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope6">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + + </div> </template> <script> -import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; -import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; - -//瀵煎叆鎺ュ彛鍑芥暟 -import {listNote,enload,getNote, addNote,updateNote, delNote,uploadPic} from "@/api/memo/index"; +import { + getIndividualList, addIndividual, updateIndividual, delIndividual, + listExperience, addExperience, updateExperience, delExperience, + getIndividualRelation, addRelation, updateRelation, delRelation, + getCertificateList, addCertificate, updateCertificate, delCertificate, + getAbroadList, addAbroad, updateAbroad, delAbroad, listType, + getAutobiographyList, getAutobiographyTermList, addAutobiography, updateAutobiography,delAutobiography, + getCategory, +} from "@/api/self/index"; +import {getAllInfo} from "@/api/system/user" +import {showShareUser} from "@/api/bignote/index"; +import {listNote,enload,getNote, addNote,updateNote, delNote,uploadPic,uploadPics} from "@/api/memo/index"; import { Notification, MessageBox, Message, Loading } from 'element-ui' export default { @@ -327,13 +751,17 @@ dicts: ['sys_normal_disable'], data() { return { + userId: undefined, // 閬僵灞� disabled: false, - + inds:undefined, + //濠氬Щ绫诲埆 + mrs:undefined, loading: true, formData:[], // 閫変腑鏁扮粍 ids: [], + fit:'cover', // 闈炲崟涓鐢� single: true, // 闈炲涓鐢� @@ -357,16 +785,136 @@ // 鏃ユ湡鑼冨洿 dateRange: [], // 鏁版嵁鑼冨洿閫夐」 - fot:[".jpg",".jif"], - fileList:[ - ], - fileListOther:[ + fot:[".jpg",".jif",'.M4A'], + fileList:[], + fileListOther:[], + //涓嬫媺瀹炵幇 + activeNames:'3', + dialogVisible: { + open: false, + relation1:false, + certificate:false, + abroad:false, + autobiography:false + }, - ], - dsb:true, - btn:false, - fit:['fill'], + // 涓汉缁忓巻鏁版嵁 + experienceList: undefined, + // isEdit:true, + editStatus: {}, + //瀹跺涵鎴愬憳鍏崇郴鏁版嵁 + relationList: undefined, + //鍑哄叆澧冭瘉浠舵儏鍐� + certificateList:[], + typeList:[], + //鍑哄浗鎯呭喌 + AbroadList:[], + + uploading: false, + uploading1: false, + fit1: ['fill'], keyword:'', + rules: { + //鍩烘湰淇℃伅 + nickName: [{ + // required: true, + message: '璇疯緭鍏ュ鍚�', + trigger: 'blur' + }], + oldName: [{ + // required: true, + message: '璇疯緭鍏ユ浘鐢ㄥ悕', + trigger: 'blur' + }], + idNum: [{ + // required: true, + message: '璇疯緭鍏ヨ韩浠借瘉鍙�', + trigger: 'blur' + }], + nationality: [{ + // required: true, + message: '璇疯緭鍏ュ浗绫�', + trigger: 'blur' + }], + maritalStatus: [{ + // required: true, + message: '璇疯緭鍏ュ濮荤姸鍐�', + trigger: 'blur' + }], + locationAddress: [{ + // required: true, + message: '璇疯緭鍏ユ埛绫嶅湴鍧�', + trigger: 'blur' + }], + alwaysAddress: [{ + // required: true, + message: '璇疯緭鍏ュ父浣忓湴鍧�', + trigger: 'blur' + }], + unit: [{ + // required: true, + message: '璇疯緭鍏ュ崟浣�', + trigger: 'blur' + }], + position: [{ + // required: true, + message: '璇疯緭鍏ヨ亴鍔¤亴绉�', + trigger: 'blur' + }], + locationPolice: [{ + // required: true, + message: '璇疯緭鍏ユ埛绫嶅湴鍏畨鏈哄叧', + trigger: 'blur' + }], + alwaysPolice: [{ + // required: true, + message: '璇疯緭鍏ュ父浣忓湴鍏畨鏈哄叧', + trigger: 'blur' + }], + + //涓昏瀛︿範鍙婂伐浣滅粡鍘� + startDate: [{ + required: true, + message: '璇疯緭鍏ヨ捣濮嬫棩鏈�', + trigger: 'blur' + }], + endDate: [{ + // required: true, + message: '璇疯緭鍏ョ粨鏉熸棩鏈�', + trigger: 'blur' + }], + content: [{ + required: true, + message: '璇疯緭鍏ユ枃鏈�', + trigger: 'blur' + }], + witness: [{ + required: true, + message: '璇疯緭鍏ヨ瘉鏄庝汉', + trigger: 'blur' + }], + //鑷紶 + term: [{ + required: true, + message: '璇疯緭鍏ユ椂鏈�', + trigger: 'blur' + }], + ageBegin: [{ + required: true, + message: '璇疯緭鍏ュ紑濮嬫椂闂�', + trigger: 'blur' + }], + ageEnd: [{ + required: true, + message: '璇疯緭鍏ョ粨鏉熸椂闂�', + trigger: 'blur' + }], + + }, + + + open:false, + formDat6: {}, formDat: { //涓汉璁颁簨鏈鎯� id:undefined, @@ -377,6 +925,8 @@ remark:undefined, url: undefined, }, + individualList:[], + newOption: undefined, // 鑿滃崟鍒楄〃 menuOptions: [], // 閮ㄩ棬鍒楄〃 @@ -392,7 +942,10 @@ remark:undefined }, // searchVal:"", - + //涓汉鑷紶 + activeName: '0', + AutobiographyList:[], + content1:'', // 琛ㄥ崟鍙傛暟 form: {}, defaultProps: { @@ -428,195 +981,265 @@ trigger: 'blur' }], }, + typeOption: [], typeOptions: [], + isShow:true, + dsb:true, + btn: false, + isShow_2:false, + isEdit1:false, + isEditing: false, + fileList:[] }; }, created() { this.getList(); - this.getCateInfor() + this.getList1(); + this.getAutobiographyInfor() + this.getInfo() // for (let i = 0; i < this.contactList.length; i++) { // this.formDat[i] = this.contactList[i]; // } }, methods: { - // 鍙栨秷鎸夐挳 - cancelData() { - this.open = false; - this.reset(); - }, + getInfo(){ + console.log('-----------------') + // getInfo().then(response=>{ + // console.log(response.user.roles[0].roleId,'roleID') + // this.userId = response.user.roles[0].roleId + // }) + }, + getList1() { + this.loading1 = true; + let userId = this.$store.state.user.userId + // alert(userId) - //闅旇鍙樿壊 - tableRowClassName({ row, rowIndex }) { - if (rowIndex % 2 == 0) { - return "statistics-warning-row1"; - } else { - return "statistics-warning-row"; - } - }, + showShareUser(userId, 2062).then(response=>{ + console.log("===========ddddddddddddd") + console.log(response.data) + console.log("--------------------") + response.data.forEach(element =>{ + this.userOptions.push({label: element.oldName,value: element.userId}) + }) + }) + // this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + // this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + // // alert(this.$store.state.user.clanId) + // this.listRoot = [] + let clanId = this.$store.state.user.clanId + if(clanId!=null){ + getAllInfo(clanId).then(response => { + this.listRoot = response.data; + const kon = {} + console.log(response.data,'userListuserListuserList99999999999999') + this.listRoot.forEach(element => { + kon[element['nickName']] = element['userId'] + }) + // for(let i in kon){ + // this.userOptions.push({label: i,value: kon[i]}) + // } + // for(let i in this.userOptions){ + // this.userList.push(this.userOptions[i].value) + // } + // console.log(this.userList,'userListuserListuserList99999999999999') + this.loading1 = false; + } + ); + } + }, + /** 鏌ヨ璁板綍鍒楄〃 */ getList() { this.loading = true; - this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] - this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] - // console.log(this.queryParams) - // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - listNote(this.queryParams).then(response => { + let _this = this + //涓汉淇℃伅 + + + listExperience(this.queryParams).then(response => { // alert(123) // console.log(response.data) - this.noteList = response.data.data; + _this.experienceList = response.data; + // this.total = response.data.total; + _this.loading = false; + } + ); + //鎴愬憳鍏崇郴 + getIndividualRelation(this.queryParams).then(response => { + // alert(123) + // console.log(response.data) + _this.relationList = response.data; + // this.total = response.data.total; + _this.loading = false; + } + ); + getIndividualList(this.queryParams).then(response => { + // alert(123) + // console.log(response.data) + _this.individualList = response.data; - this.total = response.data.total; - this.loading = false; + // this.total = response.data.total; + _this.loading = false; + } + ); + //鍑哄叆澧冭瘉浠舵儏鍐� + getCertificateList(this.queryParams).then(response => { + // alert(123) + // console.log(response.data) + _this.certificateList = response.data; + // this.total = response.data.total; + _this.loading = false; + } + ); + //鍑哄浗鎯呭喌 + getAbroadList(this.queryParams).then(response => { + // alert(123) + // console.log(response.data) + _this.AbroadList = response.data; + // 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; + + }); + //鏍规嵁涓嶅悓鏃舵鐨勪釜浜鸿嚜浼� + // getAutobiographyTermList(this.queryParams).then(response => { + // // alert(123) + // // console.log(response.data) + // this.AutobiographyTermList = response.data; + // this.total = response.data.total; + // this.loading = false; + // }); + listType(this.queryParams).then(response => { + _this.typeList = response.data; + // this.total = response.data.total; + // console.log( this.typeList ) + // 鍦ㄥ洖璋冨嚱鏁颁腑璋冪敤 getTypeOptions() + _this.getTypeOptions(); + _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) { - for(let i = 0; i < this.fileList.length; i++) - { - if(this.fileList[i].url==file.url) - this.$delete(this.fileList,i); - } - }, + // 鍙栨秷鎸夐挳 cancel() { this.open = false; - this.reset(); + // this.reset(); }, getRowId(row) { return row.id }, - // 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級 - cancelDataScope() { - this.openDataScope = false; - this.reset(); + // 缂栬緫鎸夐挳 + handleEdit() + { + this.dsb = false + this.btn = true + this.isShow=false + this.isShow_2=true + this.isEditing=true + if(this.individualList.maritalStatus == 0) + this.mrs = '鏈' + else if(this.individualList.maritalStatus == 1) + this.mrs = '鍒濆' + else if(this.individualList.maritalStatus == 2) + this.mrs = '绂诲'// this.isEdit=false + else + this.mrs = '鍐嶅'// this.isEdit=false }, - // 琛ㄥ崟閲嶇疆 - reset() { - if (this.$refs.menu != undefined) { - this.$refs.menu.setCheckedKeys([]); - } - this.menuExpand = false, - this.menuNodeAll = false, - this.deptExpand = true, - this.deptNodeAll = false, - this.form = { - roleId: undefined, - roleName: undefined, - roleKey: undefined, - roleSort: 0, - status: "0", - menuIds: [], - deptIds: [], - menuCheckStrictly: true, - deptCheckStrictly: true, - remark: undefined - }; - this.resetForm("form"); + + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download('/self/user/export', { + ...this.queryParams + }, `self_${new Date().getTime()}.xlsx`) + }, //涓汉鍩烘湰淇℃伅 + submitForm() { + + if(this.inds=='1'||this.inds=='濂�') + this.individualList.sex = 1; + else + this.individualList.sex = 0; + + if(this.mrs=='0'||this.mrs=='鏈') + this.individualList.maritalStatus = 0 + else if(this.mrs == '1'||this.mrs=='鍒濆') + this.individualList.maritalStatus = 1 + else if(this.mrs == '2'||this.mrs=='绂诲') + this.individualList.maritalStatus = 2 + else + this.individualList.maritalStatus = 3 + + + //alert(123) + // alert(10) + // 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.individualList.url = ul+","+uls + // console.log(this.individualList) + this.$refs['elForm'].validate(valid => { + if (valid) { + if (this.individualList.userId !== undefined) { + updateIndividual(this.individualList).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + // 寮哄埗鏇存柊鐩稿叧缁勪欢 + + // this.individualList={...this.individualList} + // alert(this.individualList.sex) + + // // this.open = false; + this.dsb = true + this.btn=false + this.isShow_2=false + this.isShow=true + this.isEditing = false + //this.getList() + }) + } else { + this.$modal.msgSuccess("淇敼澶辫触"); + + } + } + }) + // 鍒锋柊椤甸潰 + // window.location.reload(); }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { this.ids = selection.map(item => item.id) console.log(this.ids) this.single = selection.length!=1 this.multiple = !selection.length }, - // //姣忔鏀瑰彉input妗嗗�兼椂灏辨敼鍙榯his.myTableData鐨勫�� - // inputChange() { //寰幆姣忎竴椤� 鍙content鐨勫�煎惈鏈夎緭鍏ョ殑searchVal鍊硷紝灏卞姞杩沶ewList锛涘弽涔嬶紝灏辨棤涓滆タ鍔犺繘newList - // let newlist = this.formDat.filter( - // (item) => item.content.indexOf(this.searchVal) > -1 - // ); - // this.contactList = newlist; - // }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞涓汉璁颁簨鏈缁嗕俊鎭�"; - }, - /** 鏌ョ湅璇︾粏淇℃伅 */ - handleCheck(row){ - const id = row.id; - this.$router.push("/self/self/memoInfo/" + id); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - const id = row.id; - let jd = true - - this.$router.push({ - path:"/self/self/memoInfo/" + id, - query:{ - detail:jd - } - }); - }, - - - 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) { - - addNote(this.formDat).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - }); - // 娓呯┖formDat瀵硅薄鐨勬暟鎹� - Object.keys(this.formDat).forEach(key => { - this.formDat[key] = ''; - }); - this.handleRemove(this.fileList[0]); - }, - requestUpload(params) + requestUpload(params) { var file = params.file; + console.log(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) +console.log(formData) + console.log('dddddddd===========') + // console.log(this.individualList) + this.$refs.uploadDemo.clearFiles(); + // alert(234) + uploadPics(formData).then(response => { + // alert(response.data.url) + // // alert(response.data.originalFilename) + let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) if(_this.fot.includes(pth) === true) { @@ -625,63 +1248,488 @@ } else{ - _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) + _this.fileList.push({name:response.data.fileName, url:response.data.url}) } + _this.individualList.img = response.data.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + _this.individualList.url = response.data.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + console.log(_this.individualList) + updateIndividual(_this.individualList).then(response => { + // 灏嗛�変腑閫夐」鐨勬枃鏈缃负"term"瀛楁鐨勫�� + // this.formDat.term = selectedOption.value; + // this.formDat.id = selectedOption.id; + console.log("1") + _this.$modal.msgSuccess("淇敼鎴愬姛"); + _this.dialogVisible.autobiography = false; + _this.isEdit1 = false; + _this.getList(); + }).catch(error => { + console.log(error); + _this.isEdit1 = false; + _this.dialogVisible.autobiography = false; + }); }) }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { + //澶村儚淇敼 + uploadImage() { + const inputElement = document.createElement("input"); + inputElement.type = "file"; + inputElement.accept = "image/*"; + inputElement.style.display = "none"; + document.body.appendChild(inputElement); + + inputElement.addEventListener("change", () => { + const file = inputElement.files[0]; + if (file) { + const formData = new FormData(); + formData.append("image", file); + + // 璋冪敤uploadPic鎺ュ彛涓婁紶鍥剧墖 + axios.post("/common/upload", formData, { + headers: { + "Content-Type": "multipart/form-data" + } + }).then(response => { + // 涓婁紶鎴愬姛锛岃幏鍙栨柊鍥剧墖鐨刄RL + const newImageUrl = response.data.img; + + // 鍋囪individualList鏄竴涓璞★紝鏇存柊individualList.img + this.individualList.img = newImageUrl; + + // 鍋囪fileList鏄竴涓暟缁勶紝鏇存柊fileList涓搴旂殑鍥剧墖URL + // const index = this.fileList.findIndex(item => item.id === fileId); + // this.fileList[index].url = newImageUrl; + + // 娓呴櫎input鍏冪礌骞剁Щ闄や簨浠剁洃鍚� + document.body.removeChild(inputElement); + inputElement.removeEventListener("change", null); + }).catch(error => { + console.error("涓婁紶澶辫触:", error); + // 娓呴櫎input鍏冪礌骞剁Щ闄や簨浠剁洃鍚� + document.body.removeChild(inputElement); + inputElement.removeEventListener("change", null); + }); + } + }); + + // 瑙﹀彂鐐瑰嚮浜嬩欢锛屾樉绀烘枃浠堕�夋嫨瀵硅瘽妗� + inputElement.click(); + }, + + + /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ + //鏂板涓昏缁忓巻鐨勪繚瀛� + submitDataScope: function() { + let _this = this + this.$refs["elForm1"].validate(valid => { + if (valid) { + //alert(1235) + _this.dialogVisible.open = false; + addExperience(_this.formDat).then(response => { + _this.$modal.msgSuccess("鏂板鎴愬姛"); + + _this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + //鏂板鎴愬憳鍏崇郴鐨勪繚瀛� + submitDataScope2: function() { + this.$refs["elForm"].validate(valid => { + if (valid) { + this.dialogVisible.relation1 = false; + addRelation(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + //鏂板鍑哄叆澧冭瘉浠剁殑淇濆瓨 + submitDataScope4: function() { + this.$refs["elForm"].validate(valid => { + if (valid) { + addCertificate(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.certificate = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + this.newOption=undefined + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + //鏂板鍑哄浗澧冪殑淇濆瓨 + submitDataScope5: function() { + this.$refs["elForm"].validate(valid => { + if (valid) { + addAbroad(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.abroad = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + //涓汉鑷紶鐨勪繚瀛� + submitDataScope6: function() { + this.$refs["elForm"].validate(valid => { + if (valid) { + // 鏍规嵁鍊兼壘鍒伴�変腑鐨勯�夐」瀵硅薄 + // const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term); + + if (this.isEdit1) { + // 鎵ц淇敼鎿嶄綔 + + console.log(this.formDat6) + updateAutobiography(this.formDat6).then(response => { + // 灏嗛�変腑閫夐」鐨勬枃鏈缃负"term"瀛楁鐨勫�� + // this.formDat.term = selectedOption.value; + // this.formDat.id = selectedOption.id; + console.log("1") + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.dialogVisible.autobiography = false; + this.isEdit1 = false; + this.getList(); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat6).forEach(key => { + this.formDat6[key] = ''; + }); + + }).catch(error => { + // alert(24) + console.log(error); + this.isEdit1 = false; + this.dialogVisible.autobiography = false; + }); + } else { + // 鎵ц鏂板鎿嶄綔 + addAutobiography(this.formDat6).then(response => { + // this.formDat.term = selectedOption.label; + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.autobiography = false; + this.getList(); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat6).forEach(key => { + this.formDat6[key] = ''; + }); + // 閲嶇疆isEdit涓篺alse锛屼互渚夸笅娆$偣鍑绘柊澧炴椂涓烘柊澧炴搷浣� + this.isEdit1 = false; + }).catch(error => { + console.log(error); + this.dialogVisible.autobiography = false; + }); + } + } + }); + + }, + + editRow(row) { + this.$set(row, 'isEdit', true); + this.$set(this.editStatus, row.id, true); + }, + //淇敼鍚庣殑淇濆瓨 + + + //涓昏缁忓巻 + saveRowExperienceList(row) { + // this.$refs['elForm'].validate(valid => { + // if (valid) { + const foundIndex = this.experienceList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.experienceList[foundIndex], row); + updateExperience(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + //} + // }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + //鎴愬憳鍏崇郴 + saveRowRelationList(row) { + // this.$refs['elForm'].validate(valid => { + // if (valid) { + const foundIndex = this.relationList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.relationList[foundIndex], row); + updateRelation(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + // } + // }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + //璇佷欢鎯呭喌 + saveRowCertificateList(row) { + // this.$refs['elForm'].validate(valid => { + // if (valid) { + const foundIndex = this.certificateList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.certificateList[foundIndex], row); + updateCertificate(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + // } + //}); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + //鍑哄浗鎯呭喌 + saveRowAbroadList(row) { + // this.$refs['elForm'].validate(valid => { + // if (valid) { + const foundIndex = this.AbroadList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.AbroadList[foundIndex], row); + updateAbroad(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + // } + // }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + + /** 鍒犻櫎涓汉缁忓巻鎸夐挳鎿嶄綔 */ + handleExperienceDelete(row) { const Ids = row.id || this.ids; this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { - return delNote(Ids); + return delExperience(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }).catch(() => {}); }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const Ids = this.ids; - - if(Ids.length==0) - { - this.download('/zSelfNote/export', { - ...this.queryParams - }, `zSelfNote${new Date().getTime()}.xlsx`) - }else{ - this.download('/zSelfNote/export1/'+Ids, { - - }, `zSelfNote${new Date().getTime()}.xlsx`) - } + /** 鍒犻櫎鎴愬憳鍏崇郴鎸夐挳鎿嶄綔 */ + handleRelationDelete(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delRelation(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); }, - - handleExportTemplate(){ - this.download('/zSelfNote/model', { - - }, `zSelfNote${new Date().getTime()}.xlsx`) + /** 鍒犻櫎鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐垫寜閽搷浣� */ + handleCertificateDelete(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delCertificate(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); }, - /** 瀵煎叆鎿嶄綔*/ - handleEnport(params){ - var file = params.file; - var formData = new FormData(); - formData.append('excelImport', file); - let _this = this + /** 鍒犻櫎鍑哄浗锛堝锛夋儏鍐垫寜閽搷浣� */ + handleAbroadDelete(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delAbroad(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 鍒犻櫎涓汉鑷紶鎸夐挳鎿嶄綔 */ + handleAutobiography(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delAutobiography(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 鏌ヨ鑷紶淇℃伅 */ + getAutobiographyInfor() + { + 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]}) + // }) + response.data.itemValues.replace("{", "").replace("}", "").split(",").map(elem => { + const label = elem.split(":")[0].trim(); + const value = parseInt(elem.split(":")[1].trim()); - enload(formData).then(response => { - _this.getList(); - Message({ message: "瀵煎叆鎴愬姛", type: 'warning' }) + // 鍒ゆ柇 typeOptions 鏁扮粍涓槸鍚﹀凡瀛樺湪鐩稿悓鐨� value + if (!_this.typeOptions.some(option => option.value === value)) { + _this.typeOptions.push({ "label": label, "value": value }); + } + // console.log(_this.typeOptions) + // _this.getSrc1(value) + }); + }); - }).catch(() => { Message({ message: "瀵煎叆澶辫触", type: 'error' })}); + }, - } + // 鍙栨秷鎸夐挳 + cancelData() { + // alert(23) + this.dialogVisible.open = false; + this.dialogVisible.relation1 = false; + this.dialogVisible.certificate =false; + this.dialogVisible.abroad=false; + this.dialogVisible.autobiography=false; + this.isEdit1 = false; + // this.reset(); + // alert(32) + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat6).forEach(key => { + this.formDat6[key] = ''; + }); + + }, + handleUploadSuccess(response, file) { + // 澶勭悊鏂囦欢涓婁紶鎴愬姛鍚庣殑鍥炶皟 + this.individualList.img = response.url; + }, + + //涓嬫媺 + handleChange5(activeNames) { + // console.log(activeNames); + //this.reset(); + }, + showDialog(dialogName) { + this.dialogVisible[dialogName] = true; + // alert(dialogName) + // if(dialogName=="autobiography") + // { + // alert(123) + // } + }, + + //涓汉鑷紶 + handleClick(tab, event) { + // console.log(tab, event); + // alert(987) + this.getAutobiographyInfor(); + // this.getSrc1(typeOptions) + }, + //涓汉鑷紶缂栬緫 + editData(data) { + // alert(1234) + this.isEdit1 = true; // 璁剧疆涓虹紪杈戞搷浣� + // 灏嗚淇敼鐨勬暟鎹~鍏呭埌formDat瀵硅薄涓� + + this.formDat6.ageBegin = data.ageBegin; + this.formDat6.ageEnd = data.ageEnd; + this.formDat6.term = data.term; + this.formDat6.content = data.content; + + // 鎵撳紑寮圭獥 + this.dialogVisible.autobiography = true; + }, + editAutobiography(data) { + //alert(234) + //alert(23) + console.log(data) + this.isEdit1 = true; + this.formDat6.ageBegin = data.ageBegin; + this.formDat6.ageEnd = data.ageEnd; + this.formDat6.term = data.term; + this.formDat6.content = data.content; + // alert(data.id) + this.formDat6.id = data.id + this.dialogVisible.autobiography = true; + //this.formDat = { item }; + }, + getTypeOptions() { + const filteredOptions = this.typeList.filter(item => typeof item === 'string' && item !== ''); + // 鍒涘缓涓�涓┖瀵硅薄鐢ㄤ簬瀛樺偍鍞竴鐨勫瓧绗︿覆閫夐」 + const uniqueOptions = {}; + // 鏋勫缓涓嬫媺閫夐」鍒楄〃 + this.typeOption = filteredOptions.reduce((options, option) => { + if (!uniqueOptions[option]) { + uniqueOptions[option] = true; + options.push({ + label: option, + value: option + }); + } + return options; + }, []); + + }, + //闅旇鍙樿壊 + tableRowClassName({row, rowIndex}) { + if (rowIndex % 2 == 0) { + return "statistics-warning-row"; + } else { + return "statistics-warning-row1"; + } + return ''; + }, } }; </script> <style> .app-container{ background-color: #FEF7FC; +} + +.el-icon-top { + background: no-repeat center url("../../assets/icons/top.png"); +} + + +.el-collapse-item__header { + background-color:#FEF7FC; + width: 100%; +} +.title-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + width: calc(100% - 50px); } .el-table__row.statistics-warning-row { background: #E0EEFE; @@ -691,6 +1739,47 @@ background: #FFEFF2; } +.el-table__cell { + font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */ +} +.button-container { + display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */ +} +.btn_autobiography{ + background:center no-repeat url('../../assets/icons/add1.png') ; + margin-left: 76vw; +} +.btn_edit{ + background:center no-repeat url('../../assets/icons/edit.png') ; + float:right; +} +.btn_del{ + background:center no-repeat url('../../assets/images/鍒犻櫎2.png') ;float:right; +} +.button-container { + text-align: right; + display: flex; + justify-content: flex-end; + align-items: center; + flex-grow: 1; +} +.button { + background:center no-repeat url('../../assets/icons/add1.png') ; + /*margin-right: -10px ;*/ + flex-shrink: 0; + width: 30px; + height: 28px; +} +.form{ + background:center/11% no-repeat url('../../assets/icons/form.png') ; +} +.button { + background:center no-repeat url('../../assets/icons/add1.png') ; + /*margin-right: -10px ;*/ + flex-shrink: 0; + width: 30px; + height: 28px; +} </style> -- Gitblit v1.9.1