| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="app-container" id="printable-content"> |
| | | <!-- 刷新页面 --> |
| | | <!-- <MyComponent :key="componentKey" />--> |
| | | <!-- 回到顶部--> |
| | |
| | | class="el-icon-top" |
| | | ></el-button> |
| | | </el-backtop> |
| | | <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;"> |
| | | <h1 style="font-size:21px;padding-top:30px;display: flex;"> |
| | | <span>个人简历</span> |
| | | <div class="button-container" > |
| | | <el-button |
| | | size="mini" |
| | | 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-button |
| | | 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-button |
| | | size="mini" |
| | | 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> |
| | | </div> |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-button size="mini" type="text" @click="toMemo" v-hasPermi="['person:information:memo']"> |
| | | <div class="form" ><el-icon style="padding-right:110px;"></el-icon> |
| | | <el-button size="mini" type="text" @click="toMemo" v-hasPermi="['person:information:memo']" style="margin-left: 20px"> |
| | | <div class="form" ><el-icon style="padding-right:100px;"></el-icon> |
| | | <span class="text" style="width: 69px;height: 26px;font-size: 16px; |
| | | font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">个人记事本</span></div> |
| | | </el-button> |
| | |
| | | <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="5"> |
| | | <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="5"> |
| | | <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="5"> |
| | | <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-col> |
| | | </el-container> |
| | | </div> |
| | | <div style="padding-left:30px"> |
| | | <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-col> |
| | | </el-container> |
| | | </div> |
| | | <div style="padding-left:30px"> |
| | | <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-col> |
| | | </el-container> |
| | | </div> |
| | | <div style="padding-left:30px;padding-top:30px"> |
| | | <div style="padding-left:100px;padding-top:30px"> |
| | | <el-col :span="6" :data="individualList"> |
| | | <div class="block" :model="individualList"> |
| | | <div v-if="!isEditing"> |
| | | <el-avatar shape="square" style="width: 200px; height: 150px;"> |
| | | <el-image |
| | | class="el-upload-list__item-thumbnail" |
| | | v-if="!individualList.img" |
| | | src="default-avatar-url" |
| | | :fit="fit" |
| | | style="width: 100%; height: 100%;" |
| | | ></el-image> |
| | | <el-image |
| | | v-else |
| | | :src="'http://47.93.189.255:8080/' + individualList.img" |
| | | :fit="fit" |
| | | style="width: 100%; height: 100%;" |
| | | ></el-image> |
| | | </el-avatar> |
| | | </div> |
| | | <el-upload v-else |
| | | class="upload-demo" |
| | | action="#" |
| | | :auto-upload="false" |
| | | :http-request="requestUpload" |
| | | :limit="1" |
| | | :file-list="fileList" |
| | | > |
| | | <el-avatar shape="square" style="width: 200px; height: 150px;"> |
| | | <el-image |
| | | class="el-upload-list__item-thumbnail" |
| | | v-if="!individualList.img" |
| | | src="default-avatar-url" |
| | | :fit="fit" |
| | | style="width: 100%; height: 100%;" |
| | | ></el-image> |
| | | <el-image |
| | | v-else |
| | | :src="'http://47.93.189.255:8080/' + individualList.img" |
| | | :fit="fit" |
| | | style="width: 100%; height: 100%;" |
| | | ></el-image> |
| | | </el-avatar> |
| | | </el-upload> |
| | | |
| | | |
| | | |
| | | |
| | | <el-upload ref="uploadDemo" |
| | | action="" |
| | | :file-list="fileList1" |
| | | list-type="picture-card" |
| | | accept="image/*" |
| | | :multiple="false" |
| | | :http-request="requestUpload" |
| | | :on-success="handleSucess" |
| | | :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 class="edit-text" v-if="isEditing" @click="uploadImage">点击更换图片</div> |
| | | </div> |
| | | </el-col> |
| | |
| | | </div> |
| | | |
| | | <div style="padding-left:30px;padding-top:30px" > |
| | | <el-container > |
| | | <el-row > |
| | | <el-button |
| | | type="primary" |
| | | @click="handleEdit()" |
| | | v-if="isShow" |
| | | v-hasPermi="['system:role:edit']" |
| | | >编辑</el-button> |
| | | <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">完成</el-button> |
| | | <br> |
| | | <el-button |
| | | type="primary" |
| | | @click="handleExport" |
| | | v-hasPermi="['family:note:export']" |
| | | >导出</el-button> |
| | | <br> |
| | | <el-button |
| | | type="primary" |
| | | v-hasPermi="['family:note:export']" |
| | | >打印</el-button> |
| | | </el-row> |
| | | |
| | | </el-container> |
| | | </div> |
| | | <!-- </el-dialog> self:user:export--> |
| | | </el-container> |
| | |
| | | <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="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="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="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:30px"> |
| | | <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="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" 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-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> |
| | |
| | | <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')" > |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> |
| | |
| | | <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-input v-model="scope.row.startDate" type="date" placeholder="选择日期"></el-input></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-input v-model="scope.row.endDate" type="date" placeholder="选择日期"></el-input></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" > |
| | |
| | | <el-collapse-item name="2" > |
| | | <template v-slot:title> |
| | | <div class="title-wrapper"> |
| | | 家庭成员及主要社会关系情况 |
| | | <div class="left-content">家庭成员及主要社会关系情况</div> |
| | | <div> |
| | | <el-button class="button2" size="mini" type="text" @click="showDialog('relation1')"> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button></div> |
| | | <el-button class="button" size="mini" type="text" @click="showDialog('relation1')"> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <el-table v-loading="loading" :data="relationList" @selection-change="handleSelectionChange" |
| | |
| | | <el-collapse-item name="4"> |
| | | <template v-slot:title> |
| | | <div class="title-wrapper"> |
| | | 持有出入境证件情况 |
| | | <el-button class="button4" size="mini" type="text" @click="showDialog('certificate')"> |
| | | <div class="left-content">持有证件情况</div> |
| | | <el-button class="button" size="mini" type="text" @click="showDialog('certificate')"> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> |
| | | </div> |
| | | </template> |
| | |
| | | <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-input v-model="scope.row.startTime" type="date" placeholder="选择日期"></el-input></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-input v-model="scope.row.endTime" type="date" placeholder="选择日期"></el-input></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"> |
| | |
| | | <el-collapse-item name="5"> |
| | | <template v-slot:title> |
| | | <div class="title-wrapper"> |
| | | 出国(境)情况 |
| | | <el-button class="button5" size="mini" type="text" @click="showDialog('abroad')"> |
| | | <div class="left-content">出国(境)情况</div> |
| | | <el-button class="button" size="mini" type="text" @click="showDialog('abroad')"> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> |
| | | </div> |
| | | </template> |
| | |
| | | <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-input v-model="scope.row.startTime" type="date" placeholder="选择日期"></el-input></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-input v-model="scope.row.endTime" type="date" placeholder="选择日期"></el-input></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" > |
| | |
| | | </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')" > |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <el-contain> |
| | | <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> |
| | | <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='position: absolute;right:40px;top:5px;'> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> |
| | | </el-button> |
| | | |
| | | <el-button size="mini" type="text" class="btn_del" @click="handleAutobiography(item)" style='position: absolute;right:10px;top:5px;'> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> |
| | | </el-button> |
| | | |
| | | </el-tab-pane> |
| | | </el-tabs></div> |
| | | </el-contain> |
| | | </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> |
| | | <div style='position: relative;'> |
| | | <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 v-if="item.term === '婴儿'"> {{item.content}}</div> |
| | | <div v-if="item.term === '幼儿'"> {{item.content}}</div> |
| | | <div v-if="item.term === '小学'"> {{item.content}}</div> |
| | | <div v-if="item.term === '初中'"> {{item.content}}</div> |
| | | <div v-if="item.term === '高中'"> {{item.content}}</div> |
| | | <div v-if="item.term === '大学'"> {{item.content}}</div> |
| | | <div v-if="item.term === '研究生'"> {{item.content}}</div> |
| | | <div v-if="item.term === '工作'"> {{item.content}}</div> |
| | | <div v-if="item.term === '结婚后'"> {{item.content}}</div> |
| | | <el-button size='mini' type="text" class="btn_edit" @click="editData(item)" style='position: absolute;right:10px;top:5px;'> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> |
| | | </el-button> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | |
| | | <el-button size='mini' type="text" class="btn_autobiography" @click="showDialog('autobiography')" style='position: absolute;right:10px;top:5px;'> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> |
| | | </el-button> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | |
| | | /> |
| | | |
| | | <!-- 新增主要经历信息配置对话框 --> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible.open" width="900px" append-to-body> |
| | | <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-input v-model="formDat.startDate" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input> |
| | | <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-input v-model="formDat.endDate" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input> |
| | | <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%'}" > |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 新增家庭成员及主要社会关系情况信息配置对话框 --> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible.relation1" width="900px" append-to-body> |
| | | <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-button @click="cancelData">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 新增持有出入境证件情况信息配置对话框 --> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible.certificate" width="900px" append-to-body> |
| | | <!-- 新增持有证件情况信息配置对话框 --> |
| | | <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-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" v-if="showInput" placeholder="若未在上述选项中找到对应类型,请在此输入新的证件类型" @change="addNewOption"></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="startTime"> |
| | | <el-input v-model="formDat.startTime" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <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-input v-model="formDat.endTime" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <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> |
| | | </el-dialog> |
| | | <!-- 新增出国(境)情况信息配置对话框 --> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible.abroad" width="900px" append-to-body> |
| | | <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-input v-model="formDat.startTime" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <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-input v-model="formDat.endTime" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | <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-select>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="年龄段:" prop="ageBegin ageEnd" label-width="70px"> |
| | | <el-input v-model="formDat.ageBegin" placeholder="" clearable :style="{width: '20%'}" > |
| | | <el-input type="number" v-model="formDat.ageBegin" placeholder="" clearable :style="{width: '20%'}" > |
| | | </el-input> |
| | | <span> 岁 ——</span> |
| | | <el-input v-model="formDat.ageEnd" placeholder="" clearable :style="{width: '20%'}" > |
| | | <el-input type="number" v-model="formDat.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-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 v-model="formDat.term" placeholder="请输入时期" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="内容编辑:" prop="content"> |
| | | <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="" clearable :style="{width: '100%'}" > |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | listExperience, addExperience, updateExperience, delExperience, |
| | | getIndividualRelation, addRelation, updateRelation, delRelation, |
| | | getCertificateList, addCertificate, updateCertificate, delCertificate, |
| | | getAbroadList, addAbroad, updateAbroad, delAbroad, |
| | | getAutobiographyList, getAutobiographyTermList, addAutobiography,updateAutobiography, |
| | | getAbroadList, addAbroad, updateAbroad, delAbroad, listType, |
| | | getAutobiographyList, getAutobiographyTermList, addAutobiography, updateAutobiography,delAutobiography, |
| | | getCategory, |
| | | } from "@/api/self/index"; |
| | | import { delFamilyevent, uploadPic } from '../../api/bignote' |
| | |
| | | export default { |
| | | name: "show", |
| | | dicts: ['sys_normal_disable'], |
| | | // components: { |
| | | // MyComponent |
| | | // }, |
| | | |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | |
| | | relationList:[], |
| | | //出入境证件情况 |
| | | certificateList:[], |
| | | typeList:[], |
| | | //出国情况 |
| | | AbroadList:[], |
| | | |
| | |
| | | }, |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | |
| | | // open:true, |
| | | // 是否显示弹出层(数据权限) |
| | |
| | | // 日期范围 |
| | | dateRange: [], |
| | | // 数据范围选项 |
| | | fot:[".jpg",".jif"], |
| | | // 数据范围选项 |
| | | fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx', |
| | | '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'], |
| | | |
| | | fileList:[], |
| | | fileListOther:[], |
| | | dsb:true, |
| | |
| | | //自传 |
| | | term: [{ |
| | | required: true, |
| | | message: '请选择时期', |
| | | message: '请输入时期', |
| | | trigger: 'blur' |
| | | }], |
| | | ageBegin: [{ |
| | |
| | | }, |
| | | selectedOption:'', |
| | | typeOptions:[], |
| | | typeOption: [{ |
| | | value:'护照', |
| | | label:'护照' |
| | | },{ |
| | | value:'通行证', |
| | | label:'通行证' |
| | | },{ |
| | | value:'身份证', |
| | | label:'身份证' |
| | | }], |
| | | typeOption:[], |
| | | newOption: undefined, |
| | | showInput: true |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | |
| | | //下拉 |
| | | handleChange(activeNames) { |
| | | // console.log(val); |
| | | // console.log(activeNames); |
| | | this.reset(); |
| | | }, |
| | | showDialog(dialogName) { |
| | |
| | | // 打开弹窗 |
| | | this.dialogVisible.autobiography = true; |
| | | }, |
| | | editAutobiography(item) { |
| | | this.isEdit1 = true; |
| | | this.dialogVisible.autobiography = true; |
| | | this.formDat = { ...item }; |
| | | }, |
| | | |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | |
| | | return '——————' |
| | | } |
| | | }, |
| | | |
| | | //类别 |
| | | addNewOption() { |
| | | const newOption = this.newOption.trim(); |
| | | if (newOption && !this.typeOption.includes(newOption)) { |
| | | this.typeOption.push(newOption); |
| | | this.$set(this.formDat, 'type', newOption); // 更新formDat.type的值为新的选项 |
| | | } |
| | | }, |
| | | /** 查询角色列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | // console.log(this.queryParams) |
| | | // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { |
| | | //个人经历 |
| | | let _this = this; |
| | | listExperience(this.queryParams).then(response => { |
| | | // alert(123) |
| | | // console.log(response.data) |
| | | this.experienceList = response.data; |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | _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; |
| | | _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.individualList = response.data; |
| | | |
| | | // 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; |
| | | _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; |
| | | _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; |
| | | _this.AutobiographyList = response.data; |
| | | // this.total = response.data.total; |
| | | _this.loading = false; |
| | | |
| | | }); |
| | | //根据不同时段的个人自传 |
| | |
| | | // 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; |
| | | } |
| | | ); |
| | | }, |
| | | 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; |
| | | }, []); |
| | | |
| | | }, |
| | | |
| | | //图片的上传及上传按钮隐藏 |
| | |
| | | }); |
| | | }, |
| | | |
| | | handleRemoveFile(file) { |
| | | alert(23) |
| | | }, |
| | | handleRemove(file) { |
| | | alert("323") |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | |
| | | getAutobiographyInfor() |
| | | { |
| | | let _this = this |
| | | getCategory().then(response=>{ |
| | | |
| | | 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()); |
| | | _this.typeOptions.push({ "label": label, "value": value }); |
| | | // this.getSrc1(value) |
| | | }) |
| | | }) |
| | | |
| | | // if(AutobiographyList.ageEnd==null){ |
| | | // this.AgeEnd='?' |
| | | // }else{ |
| | | // this.AgeEnd=this.ageEnd |
| | | // } |
| | | // 判断 typeOptions 数组中是否已存在相同的 value |
| | | if (!_this.typeOptions.some(option => option.value === value)) { |
| | | _this.typeOptions.push({ "label": label, "value": value }); |
| | | } |
| | | // console.log(_this.typeOptions) |
| | | // _this.getSrc1(value) |
| | | }); |
| | | }); |
| | | |
| | | }, |
| | | |
| | | /** 提交按钮(数据权限) */ |
| | | //新增主要经历的保存 |
| | | submitDataScope: function() { |
| | | let _this = this |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | addExperience(this.formDat).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.dialogVisible.open = false; |
| | | this.getList(); |
| | | addExperience(_this.formDat).then(response => { |
| | | _this.$modal.msgSuccess("新增成功"); |
| | | _this.dialogVisible.open = false; |
| | | _this.getList(); |
| | | }); |
| | | } |
| | | }); |
| | |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | // 根据值找到选中的选项对象 |
| | | const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term); |
| | | // const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term); |
| | | |
| | | if (this.isEdit1) { |
| | | // 执行修改操作 |
| | | updateAutobiography(this.formDat).then(response => { |
| | | // 将选中选项的文本设置为"term"字段的值 |
| | | this.formDat.term = selectedOption.label; |
| | | this.formDat.id = selectedOption.id; |
| | | // this.formDat.term = selectedOption.value; |
| | | // this.formDat.id = selectedOption.id; |
| | | console.log("1") |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.dialogVisible.autobiography = false; |
| | |
| | | } else { |
| | | // 执行新增操作 |
| | | addAutobiography(this.formDat).then(response => { |
| | | this.formDat.term = selectedOption.label; |
| | | // this.formDat.term = selectedOption.label; |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.dialogVisible.autobiography = false; |
| | | this.getList(); |
| | |
| | | this.individualList.maritalStatus = 1 |
| | | else |
| | | this.individualList.maritalStatus = 2 |
| | | 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 |
| | | |
| | | // 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) { |
| | |
| | | // 刷新页面 |
| | | // window.location.reload(); |
| | | }, |
| | | //头像修改 |
| | | uploadImage() { |
| | | const inputElement = document.createElement("input"); |
| | | inputElement.type = "file"; |
| | |
| | | formData.append('uploadFile', file); |
| | | let _this = this |
| | | |
| | | // console.log(this.individualList) |
| | | this.$refs.uploadDemo.clearFiles(); |
| | | // alert(234) |
| | | uploadPic(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) |
| | |
| | | } |
| | | |
| | | 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,"") |
| | | 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; |
| | | }); |
| | | }) |
| | | |
| | | }, |
| | |
| | | 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(() => {}); |
| | | }, |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style > |
| | | <style scoped=""> |
| | | /*.uoloadSty {*/ |
| | | /* width:110px;*/ |
| | | /* height:110px;*/ |
| | |
| | | background: #FFEFF2; |
| | | |
| | | } |
| | | /*.co-item{*/ |
| | | /* background-color: #EBAFB4;*/ |
| | | /*}*/ |
| | | |
| | | .el-collapse-item__header { |
| | | background-color:#FEF7FC; |
| | | width: 100%; |
| | | } |
| | | .title-wrapper { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | width: calc(100% - 50px); |
| | | } |
| | | .left-content { |
| | | |
| | | width: 100%; |
| | | } |
| | | .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') ; |
| | | } |
| | | |
| | | .btn_del{ |
| | | background:center no-repeat url('../../assets/images/删除2.png') ; |
| | | } |
| | | .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-left: 69.5vw; |
| | | |
| | | } |
| | | .button2 { |
| | | background: center no-repeat url('../../assets/icons/add1.png') ; |
| | | margin-left: 66vw; |
| | | } |
| | | .button4 { |
| | | background: center no-repeat url('../../assets/icons/add1.png') ; |
| | | margin-left: 69.5vw; |
| | | } |
| | | .button5 { |
| | | background:center no-repeat url('../../assets/icons/add1.png') ; |
| | | margin-left: 71vw; |
| | | /*margin-right: -10px ;*/ |
| | | flex-shrink: 0; |
| | | width: 30px; |
| | | height: 28px; |
| | | } |
| | | .form{ |
| | | background:center/11% no-repeat url('../../assets/icons/form.png') ; |