Commit 237fda7e authored by 耿迪迪's avatar 耿迪迪

行业专家浏览

parent 16ec849f
package com.zehong.web.controller.api;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.core.redis.RedisCache;
import com.zehong.common.utils.GovernmentDataCopyUtil;
import com.zehong.system.domain.TProAppInforBrowse;
import com.zehong.system.domain.vo.ProAppInforBrowseVo;
import com.zehong.system.service.ITProAppInforBrowseService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@RestController
@RequestMapping("/token")
public class TokenController {
private static final Logger log = LoggerFactory.getLogger(TokenController.class);
@Autowired
private OutUtil outUtil;
@Autowired
private ITProAppInforBrowseService tProAppInforBrowseService;
/**
* 获取营业执照
* @return
......@@ -105,4 +113,37 @@ public class TokenController {
JSONObject json = outUtil.setInfo(domain,"WRITE",list);
return AjaxResult.success(json);
}
@GetMapping(value = "/getProfessorInfo")
public AjaxResult getProfessorInfo(@RequestParam(value = "updateTime") String updateTime,@RequestParam(value = "pageIndex") Integer pageIndex,@RequestParam(value = "pageSize") Integer pageSize){
try {
Map<String,Object> map = new HashMap<>();
map.put("updateTime",updateTime);
map.put("pageIndex",pageIndex);
map.put("pageSize",pageSize);
JSONObject json = outUtil.getInfo("professor/application/information","READ",map);
if(null != json && "0".equals(json.getString("resultCode")) && null != json.getJSONArray("data")){
addProfessorInfo(json.getJSONArray("data"));
}
return AjaxResult.success("获取行业专家档案成功");
} catch (Exception e) {
log.error("获取行业专家档案失败",e);
return AjaxResult.error("获取行业专家档案失败");
}
}
/**
* 持久化行业专家档案
* @param data
*/
@Transactional(rollbackFor = Exception.class)
public void addProfessorInfo(JSONArray data) throws IllegalAccessException {
for(int i = 0; i < data.size(); i++){
ProAppInforBrowseVo proAppInforBrowseVo = JSONObject.toJavaObject(data.getJSONObject(i), ProAppInforBrowseVo.class);
TProAppInforBrowse tProAppInforBrowse = new TProAppInforBrowse();
GovernmentDataCopyUtil.copyToLocalData(proAppInforBrowseVo,tProAppInforBrowse);
tProAppInforBrowseService.insertTProAppInforBrowse(tProAppInforBrowse);
}
}
}
package com.zehong.web.controller.specialist;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zehong.common.annotation.Log;
import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.enums.BusinessType;
import com.zehong.system.domain.TProAppInforBrowse;
import com.zehong.system.service.ITProAppInforBrowseService;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.common.core.page.TableDataInfo;
/**
* 行业专家库-专家库浏览Controller
*
* @author zehong
* @date 2024-05-08
*/
@RestController
@RequestMapping("/specialist/browse")
public class TProAppInforBrowseController extends BaseController
{
@Autowired
private ITProAppInforBrowseService tProAppInforBrowseService;
/**
* 查询行业专家库-专家库浏览列表
*/
@PreAuthorize("@ss.hasPermi('specialist:browse:list')")
@GetMapping("/list")
public TableDataInfo list(TProAppInforBrowse tProAppInforBrowse)
{
startPage();
List<TProAppInforBrowse> list = tProAppInforBrowseService.selectTProAppInforBrowseList(tProAppInforBrowse);
return getDataTable(list);
}
/**
* 导出行业专家库-专家库浏览列表
*/
@PreAuthorize("@ss.hasPermi('specialist:browse:export')")
@Log(title = "行业专家库-专家库浏览", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(TProAppInforBrowse tProAppInforBrowse)
{
List<TProAppInforBrowse> list = tProAppInforBrowseService.selectTProAppInforBrowseList(tProAppInforBrowse);
ExcelUtil<TProAppInforBrowse> util = new ExcelUtil<TProAppInforBrowse>(TProAppInforBrowse.class);
return util.exportExcel(list, "行业专家库-专家库浏览数据");
}
/**
* 获取行业专家库-专家库浏览详细信息
*/
@PreAuthorize("@ss.hasPermi('specialist:browse:query')")
@GetMapping(value = "/{fProAppInforId}")
public AjaxResult getInfo(@PathVariable("fProAppInforId") Long fProAppInforId)
{
return AjaxResult.success(tProAppInforBrowseService.selectTProAppInforBrowseById(fProAppInforId));
}
/**
* 新增行业专家库-专家库浏览
*/
@PreAuthorize("@ss.hasPermi('specialist:browse:add')")
@Log(title = "行业专家库-专家库浏览", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody TProAppInforBrowse tProAppInforBrowse)
{
return toAjax(tProAppInforBrowseService.insertTProAppInforBrowse(tProAppInforBrowse));
}
/**
* 修改行业专家库-专家库浏览
*/
@PreAuthorize("@ss.hasPermi('specialist:browse:edit')")
@Log(title = "行业专家库-专家库浏览", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody TProAppInforBrowse tProAppInforBrowse)
{
return toAjax(tProAppInforBrowseService.updateTProAppInforBrowse(tProAppInforBrowse));
}
/**
* 删除行业专家库-专家库浏览
*/
@PreAuthorize("@ss.hasPermi('specialist:browse:remove')")
@Log(title = "行业专家库-专家库浏览", businessType = BusinessType.DELETE)
@DeleteMapping("/{fProAppInforIds}")
public AjaxResult remove(@PathVariable Long[] fProAppInforIds)
{
return toAjax(tProAppInforBrowseService.deleteTProAppInforBrowseByIds(fProAppInforIds));
}
}
......@@ -11,11 +11,11 @@ import java.util.Map;
public class GovernmentDataCopyUtil {
/**
* 信息拷贝
* 拷贝为市局实体
* @param source 源
* @param target 目标对象
*/
public static void copyObjectInfo(Object source,Object target) throws IllegalAccessException {
public static void copyToGovernData(Object source,Object target) throws IllegalAccessException {
Field[] fields = source.getClass().getDeclaredFields();
Map<String,Field> targetMap = fieldsToMap(target.getClass().getDeclaredFields());
for(Field field : fields){
......@@ -31,6 +31,27 @@ public class GovernmentDataCopyUtil {
}
}
/**
* 拷贝为本地实体
* @param source 源
* @param target 目标对象
*/
public static void copyToLocalData(Object source,Object target) throws IllegalAccessException {
Field[] fields = source.getClass().getDeclaredFields();
Map<String,Field> targetMap = fieldsToMap(target.getClass().getDeclaredFields());
for(Field field : fields){
field.setAccessible(true);
String name = field.getName();
String targetName = "f" + Character.toLowerCase(name.charAt(0)) + name.substring(1);
if(targetMap.containsKey(targetName)){
Object value = field.get(source);
if(null != value){
targetMap.get(targetName).set(target,value);
}
}
}
}
/**
* field[]数组转map
* @param fields 属性数组
......
package com.zehong.system.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
/**
* 行业专家库-专家库浏览对象 t_pro_app_infor_browse
*
* @author zehong
* @date 2024-05-08
*/
public class TProAppInforBrowse extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long fProAppInforId;
/** 人员编码 */
@Excel(name = "人员编码")
private String fCode;
/** 专家姓名 */
@Excel(name = "专家姓名")
private String fName;
/** 身份证号 */
@Excel(name = "身份证号")
private String fIdNo;
/** 性别:1-男性,2-女性 */
@Excel(name = "性别",dictType = "t_sex")
private String fSex;
/** 出生日期 */
@Excel(name = "出生日期")
private String fBirthday;
/** 邮箱 */
@Excel(name = "邮箱")
private String fEmail;
/** 联系电话 */
@Excel(name = "联系电话")
private String fPhone;
/** 文化程度 */
@Excel(name = "文化程度")
private String fEducation;
/** 毕业院校 */
@Excel(name = "毕业院校")
private String fGraduationSchool;
/** 所属专业 */
@Excel(name = "所属专业")
private String fMajor;
/** 毕业时间 */
@Excel(name = "毕业时间")
private String fGraduationTime;
/** 工作单位编码 */
@Excel(name = "工作单位编码")
private String fEntUuid;
/** 工作单位名称 */
@Excel(name = "工作单位名称")
private String fWorkUnit;
/** 参加工作时间 */
@Excel(name = "参加工作时间")
private String fWorkTime;
/** 所在部门 */
@Excel(name = "所在部门")
private String fDepartment;
/** 职务 */
@Excel(name = "职务")
private String fDuties;
/** 专业技术职称 */
@Excel(name = "专业技术职称")
private String fMajorTitle;
/** 现从事专业 */
@Excel(name = "现从事专业")
private String fMajorNow;
/** 从事专业工作年限 */
@Excel(name = "从事专业工作年限")
private Long fMajorLife;
/** 从事行业燃气种类
03-0100-0101:管道燃气
03-0100-0102:液化天然气(LNG)
03-0100-0103:压缩天然气(CNG)
03-0200:液化石油气(LPG)
03-0300:人工煤气
03-0400:液化石油气混空气
03-0500:沼气
03-0600:氢气 */
@Excel(name = "燃气种类",dictType = "t_gas_type")
private String fGasType;
/** 擅长工作领域 */
@Excel(name = "擅长工作领域")
private String fGoodArea;
/** 相关学习工作经历及工作业绩 */
@Excel(name = "相关学习工作经历及工作业绩")
private String fLearningWorkExperience;
/** 所在地区 */
@Excel(name = "所在地区")
private String fArea;
/** 删除标记,0-可用,1-已删除 */
@Excel(name = "删除标记",readConverterExp = "0=可用,1=已删除")
private Long fDeleteFlag;
/** 市局燃气主管部门意见 */
@Excel(name = "市局燃气主管部门意见")
private String fCRecord;
/** 省级燃气主管部门意见 */
@Excel(name = "省级燃气主管部门意见")
private String fPRecord;
/** 照片 */
@Excel(name = "照片")
private String fPicture;
/** 最后修改时间 */
@Excel(name = "最后修改时间")
private String fUpdateTime;
/** 是否省级专家 1 是,0 不是 */
@Excel(name = "是否省级专家",dictType = "t_province_mark")
private String fThisProvinceFlag;
/** 是否有效:0 有效,1 无效 */
@Excel(name = "是否有效",dictType = "t_valid_type")
private Long fValidType;
/** 聘用批次 */
@Excel(name = "聘用批次")
private String fEmployBatch;
public void setfProAppInforId(Long fProAppInforId)
{
this.fProAppInforId = fProAppInforId;
}
public Long getfProAppInforId()
{
return fProAppInforId;
}
public void setfCode(String fCode)
{
this.fCode = fCode;
}
public String getfCode()
{
return fCode;
}
public void setfName(String fName)
{
this.fName = fName;
}
public String getfName()
{
return fName;
}
public void setfIdNo(String fIdNo)
{
this.fIdNo = fIdNo;
}
public String getfIdNo()
{
return fIdNo;
}
public void setfSex(String fSex)
{
this.fSex = fSex;
}
public String getfSex()
{
return fSex;
}
public void setfBirthday(String fBirthday)
{
this.fBirthday = fBirthday;
}
public String getfBirthday()
{
return fBirthday;
}
public void setfEmail(String fEmail)
{
this.fEmail = fEmail;
}
public String getfEmail()
{
return fEmail;
}
public void setfPhone(String fPhone)
{
this.fPhone = fPhone;
}
public String getfPhone()
{
return fPhone;
}
public void setfEducation(String fEducation)
{
this.fEducation = fEducation;
}
public String getfEducation()
{
return fEducation;
}
public void setfGraduationSchool(String fGraduationSchool)
{
this.fGraduationSchool = fGraduationSchool;
}
public String getfGraduationSchool()
{
return fGraduationSchool;
}
public void setfMajor(String fMajor)
{
this.fMajor = fMajor;
}
public String getfMajor()
{
return fMajor;
}
public void setfGraduationTime(String fGraduationTime)
{
this.fGraduationTime = fGraduationTime;
}
public String getfGraduationTime()
{
return fGraduationTime;
}
public void setfEntUuid(String fEntUuid)
{
this.fEntUuid = fEntUuid;
}
public String getfEntUuid()
{
return fEntUuid;
}
public void setfWorkUnit(String fWorkUnit)
{
this.fWorkUnit = fWorkUnit;
}
public String getfWorkUnit()
{
return fWorkUnit;
}
public void setfWorkTime(String fWorkTime)
{
this.fWorkTime = fWorkTime;
}
public String getfWorkTime()
{
return fWorkTime;
}
public void setfDepartment(String fDepartment)
{
this.fDepartment = fDepartment;
}
public String getfDepartment()
{
return fDepartment;
}
public void setfDuties(String fDuties)
{
this.fDuties = fDuties;
}
public String getfDuties()
{
return fDuties;
}
public void setfMajorTitle(String fMajorTitle)
{
this.fMajorTitle = fMajorTitle;
}
public String getfMajorTitle()
{
return fMajorTitle;
}
public void setfMajorNow(String fMajorNow)
{
this.fMajorNow = fMajorNow;
}
public String getfMajorNow()
{
return fMajorNow;
}
public void setfMajorLife(Long fMajorLife)
{
this.fMajorLife = fMajorLife;
}
public Long getfMajorLife()
{
return fMajorLife;
}
public void setfGasType(String fGasType)
{
this.fGasType = fGasType;
}
public String getfGasType()
{
return fGasType;
}
public void setfGoodArea(String fGoodArea)
{
this.fGoodArea = fGoodArea;
}
public String getfGoodArea()
{
return fGoodArea;
}
public void setfLearningWorkExperience(String fLearningWorkExperience)
{
this.fLearningWorkExperience = fLearningWorkExperience;
}
public String getfLearningWorkExperience()
{
return fLearningWorkExperience;
}
public void setfArea(String fArea)
{
this.fArea = fArea;
}
public String getfArea()
{
return fArea;
}
public void setfDeleteFlag(Long fDeleteFlag)
{
this.fDeleteFlag = fDeleteFlag;
}
public Long getfDeleteFlag()
{
return fDeleteFlag;
}
public void setfCRecord(String fCRecord)
{
this.fCRecord = fCRecord;
}
public String getfCRecord()
{
return fCRecord;
}
public void setfPRecord(String fPRecord)
{
this.fPRecord = fPRecord;
}
public String getfPRecord()
{
return fPRecord;
}
public void setfPicture(String fPicture)
{
this.fPicture = fPicture;
}
public String getfPicture()
{
return fPicture;
}
public void setfUpdateTime(String fUpdateTime)
{
this.fUpdateTime = fUpdateTime;
}
public String getfUpdateTime()
{
return fUpdateTime;
}
public void setfThisProvinceFlag(String fThisProvinceFlag)
{
this.fThisProvinceFlag = fThisProvinceFlag;
}
public String getfThisProvinceFlag()
{
return fThisProvinceFlag;
}
public void setfValidType(Long fValidType)
{
this.fValidType = fValidType;
}
public Long getfValidType()
{
return fValidType;
}
public void setfEmployBatch(String fEmployBatch)
{
this.fEmployBatch = fEmployBatch;
}
public String getfEmployBatch()
{
return fEmployBatch;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("fProAppInforId", getfProAppInforId())
.append("fCode", getfCode())
.append("fName", getfName())
.append("fIdNo", getfIdNo())
.append("fSex", getfSex())
.append("fBirthday", getfBirthday())
.append("fEmail", getfEmail())
.append("fPhone", getfPhone())
.append("fEducation", getfEducation())
.append("fGraduationSchool", getfGraduationSchool())
.append("fMajor", getfMajor())
.append("fGraduationTime", getfGraduationTime())
.append("fEntUuid", getfEntUuid())
.append("fWorkUnit", getfWorkUnit())
.append("fWorkTime", getfWorkTime())
.append("fDepartment", getfDepartment())
.append("fDuties", getfDuties())
.append("fMajorTitle", getfMajorTitle())
.append("fMajorNow", getfMajorNow())
.append("fMajorLife", getfMajorLife())
.append("fGasType", getfGasType())
.append("fGoodArea", getfGoodArea())
.append("fLearningWorkExperience", getfLearningWorkExperience())
.append("fArea", getfArea())
.append("fDeleteFlag", getfDeleteFlag())
.append("fCRecord", getfCRecord())
.append("fPRecord", getfPRecord())
.append("fPicture", getfPicture())
.append("fUpdateTime", getfUpdateTime())
.append("fThisProvinceFlag", getfThisProvinceFlag())
.append("fValidType", getfValidType())
.append("fEmployBatch", getfEmployBatch())
.toString();
}
}
package com.zehong.system.domain.vo;
public class ProAppInforBrowseVo {
/** 专家姓名 */
private String name;
/** 身份证号 */
private String idNo;
/** 所在地区 */
private String area;
/** 性别:1-男性,2-女性 */
private String sex;
/** 出生日期 */
private String birthday;
/** 联系电话 */
private String phone;
/** 所属专业 */
private String major;
/** 工作单位编码 */
private String entUuid;
/** 工作单位名称 */
private String workUnit;
/** 职务 */
private String duties;
/** 专业技术职称 */
private String majorTitle;
/** 现从事专业 */
private String majorNow;
/** 从事行业燃气种类 可以是多个,逗号分割
03-0100-0101:管道燃气
03-0100-0102:液化天然气(LNG)
03-0100-0103:压缩天然气(CNG)
03-0200:液化石油气(LPG)
03-0300:人工煤气
03-0400:液化石油气混空气
03-0500:沼气
03-0600:氢气 */
private String gasType;
/** 擅长工作领域,可以是多个,逗号分割 */
private String goodArea;
/** 相关学习工作经历及工作业绩 */
private String learningWorkExperience;
/**聘用时间*/
private String employTime;
/**是否有效:0 有效,1 无效*/
private Long validType;
/** 是否省级专家 1 是,0 不是 */
private String thisProvinceFlag;
/**聘用批次*/
private String employBatch;
/** 最后修改时间 */
private String updateTime;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIdNo() {
return idNo;
}
public void setIdNo(String idNo) {
this.idNo = idNo;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getEntUuid() {
return entUuid;
}
public void setEntUuid(String entUuid) {
this.entUuid = entUuid;
}
public String getWorkUnit() {
return workUnit;
}
public void setWorkUnit(String workUnit) {
this.workUnit = workUnit;
}
public String getDuties() {
return duties;
}
public void setDuties(String duties) {
this.duties = duties;
}
public String getMajorTitle() {
return majorTitle;
}
public void setMajorTitle(String majorTitle) {
this.majorTitle = majorTitle;
}
public String getMajorNow() {
return majorNow;
}
public void setMajorNow(String majorNow) {
this.majorNow = majorNow;
}
public String getGasType() {
return gasType;
}
public void setGasType(String gasType) {
this.gasType = gasType;
}
public String getGoodArea() {
return goodArea;
}
public void setGoodArea(String goodArea) {
this.goodArea = goodArea;
}
public String getLearningWorkExperience() {
return learningWorkExperience;
}
public void setLearningWorkExperience(String learningWorkExperience) {
this.learningWorkExperience = learningWorkExperience;
}
public String getEmployTime() {
return employTime;
}
public void setEmployTime(String employTime) {
this.employTime = employTime;
}
public Long getValidType() {
return validType;
}
public void setValidType(Long validType) {
this.validType = validType;
}
public String getThisProvinceFlag() {
return thisProvinceFlag;
}
public void setThisProvinceFlag(String thisProvinceFlag) {
this.thisProvinceFlag = thisProvinceFlag;
}
public String getEmployBatch() {
return employBatch;
}
public void setEmployBatch(String employBatch) {
this.employBatch = employBatch;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
}
package com.zehong.system.mapper;
import java.util.List;
import com.zehong.system.domain.TProAppInforBrowse;
/**
* 行业专家库-专家库浏览Mapper接口
*
* @author zehong
* @date 2024-05-08
*/
public interface TProAppInforBrowseMapper
{
/**
* 查询行业专家库-专家库浏览
*
* @param fProAppInforId 行业专家库-专家库浏览ID
* @return 行业专家库-专家库浏览
*/
public TProAppInforBrowse selectTProAppInforBrowseById(Long fProAppInforId);
/**
* 查询行业专家库-专家库浏览列表
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 行业专家库-专家库浏览集合
*/
public List<TProAppInforBrowse> selectTProAppInforBrowseList(TProAppInforBrowse tProAppInforBrowse);
/**
* 新增行业专家库-专家库浏览
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 结果
*/
public int insertTProAppInforBrowse(TProAppInforBrowse tProAppInforBrowse);
/**
* 修改行业专家库-专家库浏览
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 结果
*/
public int updateTProAppInforBrowse(TProAppInforBrowse tProAppInforBrowse);
/**
* 删除行业专家库-专家库浏览
*
* @param fProAppInforId 行业专家库-专家库浏览ID
* @return 结果
*/
public int deleteTProAppInforBrowseById(Long fProAppInforId);
/**
* 批量删除行业专家库-专家库浏览
*
* @param fProAppInforIds 需要删除的数据ID
* @return 结果
*/
public int deleteTProAppInforBrowseByIds(Long[] fProAppInforIds);
}
package com.zehong.system.service;
import java.util.List;
import com.zehong.system.domain.TProAppInforBrowse;
/**
* 行业专家库-专家库浏览Service接口
*
* @author zehong
* @date 2024-05-08
*/
public interface ITProAppInforBrowseService
{
/**
* 查询行业专家库-专家库浏览
*
* @param fProAppInforId 行业专家库-专家库浏览ID
* @return 行业专家库-专家库浏览
*/
public TProAppInforBrowse selectTProAppInforBrowseById(Long fProAppInforId);
/**
* 查询行业专家库-专家库浏览列表
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 行业专家库-专家库浏览集合
*/
public List<TProAppInforBrowse> selectTProAppInforBrowseList(TProAppInforBrowse tProAppInforBrowse);
/**
* 新增行业专家库-专家库浏览
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 结果
*/
public int insertTProAppInforBrowse(TProAppInforBrowse tProAppInforBrowse);
/**
* 修改行业专家库-专家库浏览
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 结果
*/
public int updateTProAppInforBrowse(TProAppInforBrowse tProAppInforBrowse);
/**
* 批量删除行业专家库-专家库浏览
*
* @param fProAppInforIds 需要删除的行业专家库-专家库浏览ID
* @return 结果
*/
public int deleteTProAppInforBrowseByIds(Long[] fProAppInforIds);
/**
* 删除行业专家库-专家库浏览信息
*
* @param fProAppInforId 行业专家库-专家库浏览ID
* @return 结果
*/
public int deleteTProAppInforBrowseById(Long fProAppInforId);
}
package com.zehong.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TProAppInforBrowseMapper;
import com.zehong.system.domain.TProAppInforBrowse;
import com.zehong.system.service.ITProAppInforBrowseService;
/**
* 行业专家库-专家库浏览Service业务层处理
*
* @author zehong
* @date 2024-05-08
*/
@Service
public class TProAppInforBrowseServiceImpl implements ITProAppInforBrowseService
{
@Autowired
private TProAppInforBrowseMapper tProAppInforBrowseMapper;
/**
* 查询行业专家库-专家库浏览
*
* @param fProAppInforId 行业专家库-专家库浏览ID
* @return 行业专家库-专家库浏览
*/
@Override
public TProAppInforBrowse selectTProAppInforBrowseById(Long fProAppInforId)
{
return tProAppInforBrowseMapper.selectTProAppInforBrowseById(fProAppInforId);
}
/**
* 查询行业专家库-专家库浏览列表
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 行业专家库-专家库浏览
*/
@Override
public List<TProAppInforBrowse> selectTProAppInforBrowseList(TProAppInforBrowse tProAppInforBrowse)
{
return tProAppInforBrowseMapper.selectTProAppInforBrowseList(tProAppInforBrowse);
}
/**
* 新增行业专家库-专家库浏览
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 结果
*/
@Override
public int insertTProAppInforBrowse(TProAppInforBrowse tProAppInforBrowse)
{
return tProAppInforBrowseMapper.insertTProAppInforBrowse(tProAppInforBrowse);
}
/**
* 修改行业专家库-专家库浏览
*
* @param tProAppInforBrowse 行业专家库-专家库浏览
* @return 结果
*/
@Override
public int updateTProAppInforBrowse(TProAppInforBrowse tProAppInforBrowse)
{
return tProAppInforBrowseMapper.updateTProAppInforBrowse(tProAppInforBrowse);
}
/**
* 批量删除行业专家库-专家库浏览
*
* @param fProAppInforIds 需要删除的行业专家库-专家库浏览ID
* @return 结果
*/
@Override
public int deleteTProAppInforBrowseByIds(Long[] fProAppInforIds)
{
return tProAppInforBrowseMapper.deleteTProAppInforBrowseByIds(fProAppInforIds);
}
/**
* 删除行业专家库-专家库浏览信息
*
* @param fProAppInforId 行业专家库-专家库浏览ID
* @return 结果
*/
@Override
public int deleteTProAppInforBrowseById(Long fProAppInforId)
{
return tProAppInforBrowseMapper.deleteTProAppInforBrowseById(fProAppInforId);
}
}
......@@ -128,7 +128,7 @@ public class TProAppInforServiceImpl implements ITProAppInforService {
int result = tProAppInforMapper.updateTProAppInfor(updateInfo);
TProAppInfor appInfor = tProAppInforMapper.selectTProAppInforById(fProAppInforId);
ProAppInfoVo proAppInfoVo = new ProAppInfoVo();
GovernmentDataCopyUtil.copyObjectInfo(appInfor,proAppInfoVo);
GovernmentDataCopyUtil.copyToGovernData(appInfor,proAppInfoVo);
List<ProAppInfoVo> data = new ArrayList<>();
data.add(proAppInfoVo);
JSONObject reportResult = governmentDataUtil.setInfo("professor/application/information","WRITE",data);
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zehong.system.mapper.TProAppInforBrowseMapper">
<resultMap type="TProAppInforBrowse" id="TProAppInforBrowseResult">
<result property="fProAppInforId" column="f_pro_app_infor_id" />
<result property="fCode" column="f_code" />
<result property="fName" column="f_name" />
<result property="fIdNo" column="f_id_no" />
<result property="fSex" column="f_sex" />
<result property="fBirthday" column="f_birthday" />
<result property="fEmail" column="f_email" />
<result property="fPhone" column="f_phone" />
<result property="fEducation" column="f_education" />
<result property="fGraduationSchool" column="f_graduation_school" />
<result property="fMajor" column="f_major" />
<result property="fGraduationTime" column="f_graduation_time" />
<result property="fEntUuid" column="f_ent_uuid" />
<result property="fWorkUnit" column="f_work_unit" />
<result property="fWorkTime" column="f_work_time" />
<result property="fDepartment" column="f_department" />
<result property="fDuties" column="f_duties" />
<result property="fMajorTitle" column="f_major_title" />
<result property="fMajorNow" column="f_major_now" />
<result property="fMajorLife" column="f_major_life" />
<result property="fGasType" column="f_gas_type" />
<result property="fGoodArea" column="f_good_area" />
<result property="fLearningWorkExperience" column="f_learning_work_experience" />
<result property="fArea" column="f_area" />
<result property="fDeleteFlag" column="f_delete_flag" />
<result property="fCRecord" column="f_c_record" />
<result property="fPRecord" column="f_p_record" />
<result property="fPicture" column="f_picture" />
<result property="fUpdateTime" column="f_update_time" />
<result property="fThisProvinceFlag" column="f_this_province_flag" />
<result property="fValidType" column="f_valid_type" />
<result property="fEmployBatch" column="f_employ_batch" />
</resultMap>
<sql id="selectTProAppInforBrowseVo">
select f_pro_app_infor_id, f_code, f_name, f_id_no, f_sex, f_birthday, f_email, f_phone, f_education, f_graduation_school, f_major, f_graduation_time, f_ent_uuid, f_work_unit, f_work_time, f_department, f_duties, f_major_title, f_major_now, f_major_life, f_gas_type, f_good_area, f_learning_work_experience, f_area, f_delete_flag, f_c_record, f_p_record, f_picture, f_update_time, f_this_province_flag, f_valid_type, f_employ_batch from t_pro_app_infor_browse
</sql>
<select id="selectTProAppInforBrowseList" parameterType="TProAppInforBrowse" resultMap="TProAppInforBrowseResult">
<include refid="selectTProAppInforBrowseVo"/>
<where>
<if test="fCode != null and fCode != ''"> and f_code like concat('%', #{fCode}, '%')</if>
<if test="fName != null and fName != ''"> and f_name like concat('%', #{fName}, '%')</if>
<if test="fIdNo != null and fIdNo != ''"> and f_id_no like concat('%', #{fIdNo}, '%')</if>
<if test="fPhone != null and fPhone != ''"> and f_phone like concat('%', #{fPhone}, '%')</if>
<if test="fThisProvinceFlag != null and fThisProvinceFlag != ''"> and f_this_province_flag = #{fThisProvinceFlag}</if>
<if test="fValidType != null "> and f_valid_type = #{fValidType}</if>
</where>
</select>
<select id="selectTProAppInforBrowseById" parameterType="Long" resultMap="TProAppInforBrowseResult">
<include refid="selectTProAppInforBrowseVo"/>
where f_pro_app_infor_id = #{fProAppInforId}
</select>
<insert id="insertTProAppInforBrowse" parameterType="TProAppInforBrowse" useGeneratedKeys="true" keyProperty="fProAppInforId">
insert into t_pro_app_infor_browse
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="fCode != null and fCode != ''">f_code,</if>
<if test="fName != null and fName != ''">f_name,</if>
<if test="fIdNo != null and fIdNo != ''">f_id_no,</if>
<if test="fSex != null">f_sex,</if>
<if test="fBirthday != null">f_birthday,</if>
<if test="fEmail != null">f_email,</if>
<if test="fPhone != null and fPhone != ''">f_phone,</if>
<if test="fEducation != null">f_education,</if>
<if test="fGraduationSchool != null">f_graduation_school,</if>
<if test="fMajor != null and fMajor != ''">f_major,</if>
<if test="fGraduationTime != null">f_graduation_time,</if>
<if test="fEntUuid != null">f_ent_uuid,</if>
<if test="fWorkUnit != null">f_work_unit,</if>
<if test="fWorkTime != null">f_work_time,</if>
<if test="fDepartment != null">f_department,</if>
<if test="fDuties != null">f_duties,</if>
<if test="fMajorTitle != null and fMajorTitle != ''">f_major_title,</if>
<if test="fMajorNow != null and fMajorNow != ''">f_major_now,</if>
<if test="fMajorLife != null">f_major_life,</if>
<if test="fGasType != null and fGasType != ''">f_gas_type,</if>
<if test="fGoodArea != null and fGoodArea != ''">f_good_area,</if>
<if test="fLearningWorkExperience != null">f_learning_work_experience,</if>
<if test="fArea != null and fArea != ''">f_area,</if>
<if test="fDeleteFlag != null">f_delete_flag,</if>
<if test="fCRecord != null">f_c_record,</if>
<if test="fPRecord != null">f_p_record,</if>
<if test="fPicture != null">f_picture,</if>
<if test="fUpdateTime != null">f_update_time,</if>
<if test="fThisProvinceFlag != null">f_this_province_flag,</if>
<if test="fValidType != null">f_valid_type,</if>
<if test="fEmployBatch != null">f_employ_batch,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="fCode != null and fCode != ''">#{fCode},</if>
<if test="fName != null and fName != ''">#{fName},</if>
<if test="fIdNo != null and fIdNo != ''">#{fIdNo},</if>
<if test="fSex != null">#{fSex},</if>
<if test="fBirthday != null">#{fBirthday},</if>
<if test="fEmail != null">#{fEmail},</if>
<if test="fPhone != null and fPhone != ''">#{fPhone},</if>
<if test="fEducation != null">#{fEducation},</if>
<if test="fGraduationSchool != null">#{fGraduationSchool},</if>
<if test="fMajor != null and fMajor != ''">#{fMajor},</if>
<if test="fGraduationTime != null">#{fGraduationTime},</if>
<if test="fEntUuid != null">#{fEntUuid},</if>
<if test="fWorkUnit != null">#{fWorkUnit},</if>
<if test="fWorkTime != null">#{fWorkTime},</if>
<if test="fDepartment != null">#{fDepartment},</if>
<if test="fDuties != null">#{fDuties},</if>
<if test="fMajorTitle != null and fMajorTitle != ''">#{fMajorTitle},</if>
<if test="fMajorNow != null and fMajorNow != ''">#{fMajorNow},</if>
<if test="fMajorLife != null">#{fMajorLife},</if>
<if test="fGasType != null and fGasType != ''">#{fGasType},</if>
<if test="fGoodArea != null and fGoodArea != ''">#{fGoodArea},</if>
<if test="fLearningWorkExperience != null">#{fLearningWorkExperience},</if>
<if test="fArea != null and fArea != ''">#{fArea},</if>
<if test="fDeleteFlag != null">#{fDeleteFlag},</if>
<if test="fCRecord != null">#{fCRecord},</if>
<if test="fPRecord != null">#{fPRecord},</if>
<if test="fPicture != null">#{fPicture},</if>
<if test="fUpdateTime != null">#{fUpdateTime},</if>
<if test="fThisProvinceFlag != null">#{fThisProvinceFlag},</if>
<if test="fValidType != null">#{fValidType},</if>
<if test="fEmployBatch != null">#{fEmployBatch},</if>
</trim>
</insert>
<update id="updateTProAppInforBrowse" parameterType="TProAppInforBrowse">
update t_pro_app_infor_browse
<trim prefix="SET" suffixOverrides=",">
<if test="fCode != null and fCode != ''">f_code = #{fCode},</if>
<if test="fName != null and fName != ''">f_name = #{fName},</if>
<if test="fIdNo != null and fIdNo != ''">f_id_no = #{fIdNo},</if>
<if test="fSex != null">f_sex = #{fSex},</if>
<if test="fBirthday != null">f_birthday = #{fBirthday},</if>
<if test="fEmail != null">f_email = #{fEmail},</if>
<if test="fPhone != null and fPhone != ''">f_phone = #{fPhone},</if>
<if test="fEducation != null">f_education = #{fEducation},</if>
<if test="fGraduationSchool != null">f_graduation_school = #{fGraduationSchool},</if>
<if test="fMajor != null and fMajor != ''">f_major = #{fMajor},</if>
<if test="fGraduationTime != null">f_graduation_time = #{fGraduationTime},</if>
<if test="fEntUuid != null">f_ent_uuid = #{fEntUuid},</if>
<if test="fWorkUnit != null">f_work_unit = #{fWorkUnit},</if>
<if test="fWorkTime != null">f_work_time = #{fWorkTime},</if>
<if test="fDepartment != null">f_department = #{fDepartment},</if>
<if test="fDuties != null">f_duties = #{fDuties},</if>
<if test="fMajorTitle != null and fMajorTitle != ''">f_major_title = #{fMajorTitle},</if>
<if test="fMajorNow != null and fMajorNow != ''">f_major_now = #{fMajorNow},</if>
<if test="fMajorLife != null">f_major_life = #{fMajorLife},</if>
<if test="fGasType != null and fGasType != ''">f_gas_type = #{fGasType},</if>
<if test="fGoodArea != null and fGoodArea != ''">f_good_area = #{fGoodArea},</if>
<if test="fLearningWorkExperience != null">f_learning_work_experience = #{fLearningWorkExperience},</if>
<if test="fArea != null and fArea != ''">f_area = #{fArea},</if>
<if test="fDeleteFlag != null">f_delete_flag = #{fDeleteFlag},</if>
<if test="fCRecord != null">f_c_record = #{fCRecord},</if>
<if test="fPRecord != null">f_p_record = #{fPRecord},</if>
<if test="fPicture != null">f_picture = #{fPicture},</if>
<if test="fUpdateTime != null">f_update_time = #{fUpdateTime},</if>
<if test="fThisProvinceFlag != null">f_this_province_flag = #{fThisProvinceFlag},</if>
<if test="fValidType != null">f_valid_type = #{fValidType},</if>
<if test="fEmployBatch != null">f_employ_batch = #{fEmployBatch},</if>
</trim>
where f_pro_app_infor_id = #{fProAppInforId}
</update>
<delete id="deleteTProAppInforBrowseById" parameterType="Long">
delete from t_pro_app_infor_browse where f_pro_app_infor_id = #{fProAppInforId}
</delete>
<delete id="deleteTProAppInforBrowseByIds" parameterType="String">
delete from t_pro_app_infor_browse where f_pro_app_infor_id in
<foreach item="fProAppInforId" collection="array" open="(" separator="," close=")">
#{fProAppInforId}
</foreach>
</delete>
</mapper>
\ No newline at end of file
import request from '@/utils/request'
// 查询行业专家库-专家库浏览列表
export function listBrowse(query) {
return request({
url: '/specialist/browse/list',
method: 'get',
params: query
})
}
// 查询行业专家库-专家库浏览详细
export function getBrowse(fProAppInforId) {
return request({
url: '/specialist/browse/' + fProAppInforId,
method: 'get'
})
}
// 新增行业专家库-专家库浏览
export function addBrowse(data) {
return request({
url: '/specialist/browse',
method: 'post',
data: data
})
}
// 修改行业专家库-专家库浏览
export function updateBrowse(data) {
return request({
url: '/specialist/browse',
method: 'put',
data: data
})
}
// 删除行业专家库-专家库浏览
export function delBrowse(fProAppInforId) {
return request({
url: '/specialist/browse/' + fProAppInforId,
method: 'delete'
})
}
// 导出行业专家库-专家库浏览
export function exportBrowse(query) {
return request({
url: '/specialist/browse/export',
method: 'get',
params: query
})
}
<template>
<el-dialog title="详情" :visible.sync="detailOpen" width="1000px" append-to-body destroy-on-close :close-on-click-modal="false">
<el-form label-width="160px">
<el-row class="el-row-table">
<el-col :span="12">
<el-form-item label="专家姓名">
<span v-if="detailInfo.fName">{{ detailInfo.fName }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="人员编码">
<span v-if="detailInfo.fCode">{{ detailInfo.fCode }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号">
<span v-if="detailInfo.fIdNo">{{ detailInfo.fIdNo }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别">
<span v-if="detailInfo.fSex">{{ $parent.fSexFormat(detailInfo) }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生日期">
<span v-if="detailInfo.fBirthday">{{ detailInfo.fBirthday }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮箱">
<span v-if="detailInfo.fEmail">{{ detailInfo.fEmail }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话">
<span v-if="detailInfo.fPhone">{{ detailInfo.fPhone }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="文化程度">
<span v-if="detailInfo.fEducation">{{ detailInfo.fEducation }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="毕业院校">
<span v-if="detailInfo.fGraduationSchool">{{ detailInfo.fGraduationSchool }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属专业">
<span v-if="detailInfo.fMajor">{{ detailInfo.fMajor }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="毕业时间">
<span v-if="detailInfo.fGraduationTime">{{ detailInfo.fGraduationTime }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工作单位编码">
<span v-if="detailInfo.fEntUuid">{{ detailInfo.fEntUuid }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工作单位名称">
<span v-if="detailInfo.fWorkUnit">{{ detailInfo.fWorkUnit }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参加工作时间">
<span v-if="detailInfo.fWorkTime">{{ detailInfo.fWorkTime }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所在部门">
<span v-if="detailInfo.fDepartment">{{ detailInfo.fDepartment }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="职务">
<span v-if="detailInfo.fDuties">{{ detailInfo.fDuties }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="专业技术职称">
<span v-if="detailInfo.fMajorTitle">{{ detailInfo.fMajorTitle }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="现从事专业">
<span v-if="detailInfo.fMajorNow">{{ detailInfo.fMajorNow }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="从事专业工作年限">
<span v-if="detailInfo.fMajorLife">{{ detailInfo.fMajorLife }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="燃气种类">
<span v-if="detailInfo.fGasType">{{ $parent.fGasTypeFormat(detailInfo) }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="擅长工作领域">
<span v-if="detailInfo.fGoodArea">{{ detailInfo.fGoodArea }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工作经历">
<span v-if="detailInfo.fLearningWorkExperience">{{ detailInfo.fLearningWorkExperience }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所在地区">
<span v-if="detailInfo.fArea">{{ detailInfo.fArea }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="删除标记">
<span v-if="detailInfo.fDeleteFlag == 0">可用</span>
<span v-else-if="detailInfo.fDeleteFlag == 1">已删除</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="市局燃气主管部门意见">
<span v-if="detailInfo.fCRecord">{{ detailInfo.fCRecord }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="省级燃气主管部门意见">
<span v-if="detailInfo.fPRecord">{{ detailInfo.fPRecord }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="照片">
<el-image
:src="detailInfo.fPicture"
:preview-src-list="[detailInfo.fPicture]"
v-if="detailInfo.fPicture != '' && detailInfo.fPicture != null"
:z-index=5000
style="width: 200px;height: 200px;"
></el-image>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最后修改时间">
<span v-if="detailInfo.fUpdateTime">{{ detailInfo.fUpdateTime }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否省级专家">
<span v-if="detailInfo.fThisProvinceFlag">{{ $parent.fThisProvinceFlagFormat(detailInfo) }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否有效">
<span v-if="detailInfo.fValidType">{{ $parent.fValidTypeFormat(detailInfo) }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘用批次">
<span v-if="detailInfo.fEmployBatch">{{ detailInfo.fEmployBatch }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
</template>
<script>
import { getBrowse } from "@/api/specialist/browse";
export default {
name: "detail-info",
data(){
return{
detailInfo: {},
detailOpen: false
}
},
methods:{
getDetailInfo(id){
getBrowse(id).then(res =>{
if(res.code == 200 && res.data){
this.detailInfo = res.data;
this.detailOpen = true;
}
})
}
}
}
</script>
<style scoped>
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="专家姓名" prop="fName">
<el-input
v-model="queryParams.fName"
placeholder="请输入专家姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="人员编码" prop="fCode">
<el-input
v-model="queryParams.fCode"
placeholder="请输入人员编码"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="身份证号" prop="fIdNo">
<el-input
v-model="queryParams.fIdNo"
placeholder="请输入身份证号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系电话" prop="fPhone">
<el-input
v-model="queryParams.fPhone"
placeholder="请输入联系电话"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否省级专家" prop="fThisProvinceFlag">
<el-select v-model="queryParams.fThisProvinceFlag" placeholder="请选择是否省级专家" clearable size="small">
<el-option
v-for="dict in fThisProvinceFlagOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="是否有效" prop="fValidType">
<el-select v-model="queryParams.fValidType" placeholder="请选择是否有效" clearable size="small">
<el-option
v-for="dict in fValidTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!--<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['specialist:browse:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['specialist:browse:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['specialist:browse:remove']"
>删除</el-button>
</el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
:loading="exportLoading"
@click="handleExport"
v-hasPermi="['specialist:browse:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="browseList">
<!--<el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="专家姓名" align="center" prop="fName" />
<el-table-column label="人员编码" align="center" prop="fCode" :show-overflow-tooltip="true"/>
<el-table-column label="身份证号" align="center" prop="fIdNo" :show-overflow-tooltip="true"/>
<el-table-column label="性别" align="center" prop="fSex" :formatter="fSexFormat"/>
<el-table-column label="出生日期" align="center" prop="fBirthday"/>
<el-table-column label="联系电话" align="center" prop="fPhone" width="120"/>
<el-table-column label="燃气种类" align="center" prop="fGasType" :formatter="fGasTypeFormat" :show-overflow-tooltip="true"/>
<el-table-column label="所在地区" align="center" prop="fArea" :show-overflow-tooltip="true"/>
<el-table-column label="照片" align="center" prop="fPicture" >
<template slot-scope="scope">
<el-image
:src="scope.row.fPicture"
:preview-src-list="[scope.row.fPicture]"
v-if="scope.row.fPicture != '' && scope.row.fPicture != null"
:z-index=5000 style="width: auto;height: auto;"
></el-image>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="最后修改时间" align="center" prop="fUpdateTime" width="150"/>
<el-table-column label="是否省级专家" align="center" prop="fThisProvinceFlag" :formatter="fThisProvinceFlagFormat" />
<el-table-column label="是否有效" align="center" prop="fValidType" :formatter="fValidTypeFormat" />
<el-table-column label="聘用批次" align="center" prop="fEmployBatch">
<template slot-scope="scope">
<span v-if="scope.row.fEmployBatch">{{ scope.row.fEmployBatch }}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!--<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['specialist:browse:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['specialist:browse:remove']"
>删除</el-button>-->
<el-button
size="mini"
type="text"
icon="el-icon-document"
@click="handleDetail(scope.row)"
v-hasPermi="['specialist:browse:query']"
>详情</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改行业专家库-专家库浏览对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="人员编码" prop="fCode">
<el-input v-model="form.fCode" placeholder="请输入人员编码" />
</el-form-item>
<el-form-item label="专家姓名" prop="fName">
<el-input v-model="form.fName" placeholder="请输入专家姓名" />
</el-form-item>
<el-form-item label="身份证号" prop="fIdNo">
<el-input v-model="form.fIdNo" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="性别:1-男性,2-女性" prop="fSex">
<el-select v-model="form.fSex" placeholder="请选择性别:1-男性,2-女性">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="出生日期" prop="fBirthday">
<el-input v-model="form.fBirthday" placeholder="请输入出生日期" />
</el-form-item>
<el-form-item label="邮箱" prop="fEmail">
<el-input v-model="form.fEmail" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="联系电话" prop="fPhone">
<el-input v-model="form.fPhone" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="文化程度" prop="fEducation">
<el-input v-model="form.fEducation" placeholder="请输入文化程度" />
</el-form-item>
<el-form-item label="毕业院校" prop="fGraduationSchool">
<el-input v-model="form.fGraduationSchool" placeholder="请输入毕业院校" />
</el-form-item>
<el-form-item label="所属专业" prop="fMajor">
<el-input v-model="form.fMajor" placeholder="请输入所属专业" />
</el-form-item>
<el-form-item label="毕业时间" prop="fGraduationTime">
<el-input v-model="form.fGraduationTime" placeholder="请输入毕业时间" />
</el-form-item>
<el-form-item label="工作单位编码" prop="fEntUuid">
<el-input v-model="form.fEntUuid" placeholder="请输入工作单位编码" />
</el-form-item>
<el-form-item label="工作单位名称" prop="fWorkUnit">
<el-input v-model="form.fWorkUnit" placeholder="请输入工作单位名称" />
</el-form-item>
<el-form-item label="参加工作时间" prop="fWorkTime">
<el-input v-model="form.fWorkTime" placeholder="请输入参加工作时间" />
</el-form-item>
<el-form-item label="所在部门" prop="fDepartment">
<el-input v-model="form.fDepartment" placeholder="请输入所在部门" />
</el-form-item>
<el-form-item label="职务" prop="fDuties">
<el-input v-model="form.fDuties" placeholder="请输入职务" />
</el-form-item>
<el-form-item label="专业技术职称" prop="fMajorTitle">
<el-input v-model="form.fMajorTitle" placeholder="请输入专业技术职称" />
</el-form-item>
<el-form-item label="现从事专业" prop="fMajorNow">
<el-input v-model="form.fMajorNow" placeholder="请输入现从事专业" />
</el-form-item>
<el-form-item label="从事专业工作年限" prop="fMajorLife">
<el-input v-model="form.fMajorLife" placeholder="请输入从事专业工作年限" />
</el-form-item>
<el-form-item label="从事行业燃气种类
03-0100-0101:管道燃气
03-0100-0102:液化天然气" prop="fGasType">
<el-select v-model="form.fGasType" placeholder="请选择从事行业燃气种类
03-0100-0101:管道燃气
03-0100-0102:液化天然气">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="擅长工作领域" prop="fGoodArea">
<el-input v-model="form.fGoodArea" placeholder="请输入擅长工作领域" />
</el-form-item>
<el-form-item label="相关学习工作经历及工作业绩" prop="fLearningWorkExperience">
<el-input v-model="form.fLearningWorkExperience" placeholder="请输入相关学习工作经历及工作业绩" />
</el-form-item>
<el-form-item label="所在地区" prop="fArea">
<el-input v-model="form.fArea" placeholder="请输入所在地区" />
</el-form-item>
<el-form-item label="删除标记,0-可用,1-已删除" prop="fDeleteFlag">
<el-input v-model="form.fDeleteFlag" placeholder="请输入删除标记,0-可用,1-已删除" />
</el-form-item>
<el-form-item label="市局燃气主管部门意见" prop="fCRecord">
<el-input v-model="form.fCRecord" placeholder="请输入市局燃气主管部门意见" />
</el-form-item>
<el-form-item label="省级燃气主管部门意见" prop="fPRecord">
<el-input v-model="form.fPRecord" placeholder="请输入省级燃气主管部门意见" />
</el-form-item>
<el-form-item label="照片" prop="fPicture">
<el-input v-model="form.fPicture" placeholder="请输入照片" />
</el-form-item>
<el-form-item label="最后修改时间" prop="fUpdateTime">
<el-input v-model="form.fUpdateTime" placeholder="请输入最后修改时间" />
</el-form-item>
<el-form-item label="是否省级专家 1 是,0 不是" prop="fThisProvinceFlag">
<el-select v-model="form.fThisProvinceFlag" placeholder="请选择是否省级专家 1 是,0 不是">
<el-option
v-for="dict in fThisProvinceFlagOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否有效:0 有效,1 无效" prop="fValidType">
<el-select v-model="form.fValidType" placeholder="请选择是否有效:0 有效,1 无效">
<el-option
v-for="dict in fValidTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="parseInt(dict.dictValue)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="聘用批次" prop="fEmployBatch">
<el-input v-model="form.fEmployBatch" placeholder="请输入聘用批次" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 详情 -->
<DetailInfo ref="detail"/>
</div>
</template>
<script>
import { listBrowse, getBrowse, delBrowse, addBrowse, updateBrowse, exportBrowse } from "@/api/specialist/browse";
import DetailInfo from "./components/DetailInfo";
export default {
name: "Browse",
components: {
DetailInfo
},
data() {
return {
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 行业专家库-专家库浏览表格数据
browseList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
fSexOptions: [],
fGasTypeOptions: [],
// 是否省级专家 1 是,0 不是字典
fThisProvinceFlagOptions: [],
// 是否有效:0 有效,1 无效字典
fValidTypeOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
fCode: null,
fName: null,
fIdNo: null,
fPhone: null,
fThisProvinceFlag: null,
fValidType: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
fCode: [
{ required: true, message: "人员编码不能为空", trigger: "blur" }
],
fName: [
{ required: true, message: "专家姓名不能为空", trigger: "blur" }
],
fIdNo: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
fPhone: [
{ required: true, message: "联系电话不能为空", trigger: "blur" }
],
fMajor: [
{ required: true, message: "所属专业不能为空", trigger: "blur" }
],
fMajorTitle: [
{ required: true, message: "专业技术职称不能为空", trigger: "blur" }
],
fMajorNow: [
{ required: true, message: "现从事专业不能为空", trigger: "blur" }
],
fMajorLife: [
{ required: true, message: "从事专业工作年限不能为空", trigger: "blur" }
],
fGasType: [
{ required: true, message: "业燃气种类", trigger: "change" }
],
fGoodArea: [
{ required: true, message: "擅长工作领域不能为空", trigger: "blur" }
],
fArea: [
{ required: true, message: "所在地区不能为空", trigger: "blur" }
],
fDeleteFlag: [
{ required: true, message: "删除标记,0-可用,1-已删除不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
this.getDicts("t_sex").then(response => {
this.fSexOptions = response.data;
});
this.getDicts("t_gas_type").then(response => {
this.fGasTypeOptions = response.data;
});
this.getDicts("t_province_mark").then(response => {
this.fThisProvinceFlagOptions = response.data;
});
this.getDicts("t_valid_type").then(response => {
this.fValidTypeOptions = response.data;
});
},
methods: {
/** 查询行业专家库-专家库浏览列表 */
getList() {
this.loading = true;
listBrowse(this.queryParams).then(response => {
this.browseList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 性别:1-男性,2-女性字典翻译
fSexFormat(row, column) {
return this.selectDictLabel(this.fSexOptions, row.fSex);
},
// 从事行业燃气种类
fGasTypeFormat(row, column) {
return this.selectDictLabels(this.fGasTypeOptions, row.fGasType);
},
// 是否省级专家 1 是,0 不是字典翻译
fThisProvinceFlagFormat(row, column) {
return this.selectDictLabel(this.fThisProvinceFlagOptions, row.fThisProvinceFlag);
},
// 是否有效:0 有效,1 无效字典翻译
fValidTypeFormat(row, column) {
return this.selectDictLabel(this.fValidTypeOptions, row.fValidType);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
fProAppInforId: null,
fCode: null,
fName: null,
fIdNo: null,
fSex: null,
fBirthday: null,
fEmail: null,
fPhone: null,
fEducation: null,
fGraduationSchool: null,
fMajor: null,
fGraduationTime: null,
fEntUuid: null,
fWorkUnit: null,
fWorkTime: null,
fDepartment: null,
fDuties: null,
fMajorTitle: null,
fMajorNow: null,
fMajorLife: null,
fGasType: null,
fGoodArea: null,
fLearningWorkExperience: null,
fArea: null,
fDeleteFlag: null,
fCRecord: null,
fPRecord: null,
fPicture: null,
fUpdateTime: null,
fThisProvinceFlag: null,
fValidType: null,
fEmployBatch: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.fProAppInforId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加行业专家库-专家库浏览";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const fProAppInforId = row.fProAppInforId || this.ids
getBrowse(fProAppInforId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改行业专家库-专家库浏览";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.fProAppInforId != null) {
updateBrowse(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBrowse(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const fProAppInforIds = row.fProAppInforId || this.ids;
this.$confirm('是否确认删除行业专家库-专家库浏览编号为"' + fProAppInforIds + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delBrowse(fProAppInforIds);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有行业专家库-专家库浏览数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.exportLoading = true;
return exportBrowse(queryParams);
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
},
//详情
handleDetail(row){
this.$refs.detail.getDetailInfo(row.fProAppInforId);
},
}
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment