Browse Source

机构收费

953954216 6 months ago
parent
commit
b8782e8772

+ 0 - 5
ruoyi-modules/mz-organization-jg/src/main/java/com/ruoyi/organization/domain/YljgJcxx.java

@@ -549,11 +549,6 @@ public class YljgJcxx extends BaseEntity
     @Size(max = 50, message = "{其他收费——项目名称}")
     private String qtsfXm;
 
-    /** 其他收费——说明 */
-    @ApiModelProperty(value = "其他收费——说明")
-    @Size(max = 1000, message = "{其他收费——说明}")
-    private String qtsfSm;
-
     /** 其他收费/最高元/月 */
     @Excel(name = "其他收费/最高元/月")
     @ApiModelProperty(value = "其他收费/最高元/月")

+ 69 - 0
ruoyi-modules/mz-organization-jg/src/main/java/com/ruoyi/organization/domain/YljgJgsf.java

@@ -0,0 +1,69 @@
+package com.ruoyi.organization.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.system.validate.group.AddGroup;
+import org.hibernate.validator.constraints.Range;
+import com.ruoyi.system.validate.DictV;
+import com.ruoyi.system.validate.DateV;
+import com.ruoyi.system.validate.MobileV;
+import com.ruoyi.system.validate.PhoneV;
+import com.ruoyi.system.validate.IdCardV;
+import com.ruoyi.system.validate.NumberV;
+
+import javax.validation.constraints.Digits;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 机构收费对象 yljg_jgsf
+ *
+ * @author CH
+ * @date 2024-10-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("yljg_jgsf")
+@ApiModel("机构收费")
+public class YljgJgsf extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键ID */
+    @Excel(name = "主键ID")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    @ApiModelProperty(value = "主键ID")
+    private String id;
+
+    /** 机构ID */
+    @Excel(name = "机构ID")
+    @ApiModelProperty(value = "机构ID")
+    private String jgId;
+
+    /** 项目名称 */
+    @Excel(name = "项目名称")
+    @ApiModelProperty(value = "项目名称")
+    @Size(max = 500, message = "{项目名称}")
+
+    private String xmmc;
+
+    /** 项目说明 */
+    @Excel(name = "项目说明")
+    @ApiModelProperty(value = "项目说明")
+    private String xmsm;
+
+    /** 收费标准 */
+    @Excel(name = "收费标准")
+    @ApiModelProperty(value = "收费标准")
+    @Size(max = 500, message = "{收费标准}")
+    private String sfbz;
+}

+ 25 - 0
ruoyi-modules/mz-organization-jg/src/main/java/com/ruoyi/organization/mapper/YljgJgsfMapper.java

@@ -0,0 +1,25 @@
+package com.ruoyi.organization.mapper;
+
+import java.util.List;
+
+import com.ruoyi.common.datascope.handler.DataColumn;
+import com.ruoyi.common.datascope.handler.DataPermission;
+import com.ruoyi.organization.domain.YljgJgsf;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 机构收费Mapper接口
+ *
+ * @author CH
+ * @date 2024-10-20
+ */
+@DataPermission({
+//        @DataColumn(key = "userName", value = "create_user_id"),
+        @DataColumn(key = "jgName", value = "jg_id",alias = "a"),
+        @DataColumn(key = "deptName", value = "create_bmjsc",alias = "a"),
+        @DataColumn(key = "xzqhName", value = "create_qhjsc",alias = "a"),
+
+})
+public interface YljgJgsfMapper extends BaseMapperPlus<YljgJgsf> {
+
+}

+ 54 - 0
ruoyi-modules/mz-organization-jg/src/main/java/com/ruoyi/organization/service/IYljgJgsfService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.organization.service;
+
+import java.util.List;
+import com.ruoyi.organization.domain.YljgJgsf;
+
+/**
+ * 机构收费Service接口
+ * 
+ * @author CH
+ * @date 2024-10-20
+ */
+public interface IYljgJgsfService 
+{
+    /**
+     * 查询机构收费
+     * 
+     * @param id 机构收费主键
+     * @return 机构收费
+     */
+    public YljgJgsf selectYljgJgsfById(String id);
+
+    /**
+     * 查询机构收费列表
+     * 
+     * @param yljgJgsf 机构收费
+     * @return 机构收费集合
+     */
+    public List<YljgJgsf> selectYljgJgsfList(YljgJgsf yljgJgsf);
+
+    /**
+     * 新增机构收费
+     * 
+     * @param yljgJgsf 机构收费
+     * @return 结果
+     */
+    public int insertYljgJgsf(YljgJgsf yljgJgsf);
+
+    /**
+     * 修改机构收费
+     * 
+     * @param yljgJgsf 机构收费
+     * @return 结果
+     */
+    public int updateYljgJgsf(YljgJgsf yljgJgsf);
+
+    /**
+     * 批量删除机构收费
+     * 
+     * @param ids 需要删除的机构收费主键集合
+     * @return 结果
+     */
+    public int deleteYljgJgsfByIds(String[] ids);
+
+}

+ 89 - 0
ruoyi-modules/mz-organization-jg/src/main/java/com/ruoyi/organization/service/impl/YljgJgsfServiceImpl.java

@@ -0,0 +1,89 @@
+package com.ruoyi.organization.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Arrays;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.organization.mapper.YljgJgsfMapper;
+import com.ruoyi.organization.domain.YljgJgsf;
+import com.ruoyi.organization.service.IYljgJgsfService;
+
+/**
+ * 机构收费Service业务层处理
+ *
+ * @author CH
+ * @date 2024-10-20
+ */
+@Service
+public class YljgJgsfServiceImpl implements IYljgJgsfService
+{
+    @Autowired
+    private YljgJgsfMapper yljgJgsfMapper;
+
+    /**
+     * 查询机构收费
+     *
+     * @param id 机构收费主键
+     * @return 机构收费
+     */
+    @Override
+    public YljgJgsf selectYljgJgsfById(String id)
+    {
+        return yljgJgsfMapper.selectById(id);
+    }
+
+    /**
+     * 查询机构收费列表
+     *
+     * @param yljgJgsf 机构收费
+     * @return 机构收费
+     */
+    @Override
+    public List<YljgJgsf> selectYljgJgsfList(YljgJgsf yljgJgsf)
+    {
+        return yljgJgsfMapper.selectList(new LambdaQueryWrapper<>(yljgJgsf));
+    }
+
+    /**
+     * 新增机构收费
+     *
+     * @param yljgJgsf 机构收费
+     * @return 结果
+     */
+    @Override
+    public int insertYljgJgsf(YljgJgsf yljgJgsf)
+    {
+        yljgJgsf.setId(IdUtils.simpleUUID());
+        yljgJgsf.setJgId(SecurityUtils.getJgId());
+        return yljgJgsfMapper.insert(yljgJgsf);
+    }
+
+    /**
+     * 修改机构收费
+     *
+     * @param yljgJgsf 机构收费
+     * @return 结果
+     */
+    @Override
+    public int updateYljgJgsf(YljgJgsf yljgJgsf)
+    {
+        return yljgJgsfMapper.updateById(yljgJgsf);
+    }
+
+    /**
+     * 批量删除机构收费
+     *
+     * @param ids 需要删除的机构收费主键
+     * @return 结果
+     */
+    @Override
+    public int deleteYljgJgsfByIds(String[] ids)
+    {
+        return yljgJgsfMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 8 - 3
ruoyi-modules/mz-organization-jg/src/main/resources/mapper/organization/YljgJcxxMapper.xml

@@ -82,7 +82,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="yzZd"    column="yz_zd"    />
         <result property="isQtsf"    column="is_qtsf"    />
         <result property="qtsfXm"    column="qtsf_xm"    />
-        <result property="qtsfSm"    column="qtsf_sm"    />
         <result property="qtsfZg"    column="qtsf_zg"    />
         <result property="qtsfZd"    column="qtsf_zd"    />
         <result property="ymszlrs"    column="ymszlrs"    />
@@ -123,6 +122,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="ssxzqhName"    column="ssxzqh_name"    />
         <result property="szxzqhNames"    column="szxzqh_names"    />
         <result property="szxzqhName"    column="szxzqh_name"    />
+        <result property="zxlxr"    column="zxlxr"    />
+        <result property="zxlxdh"    column="zxlxdh"    />
+        <result property="fwnr"    column="fwnr"    />
+        <result property="fwtd"    column="fwtd"    />
+        <result property="fwsj"    column="fwsj"    />
+        <result property="zxlxr"    column="zxlxr"    />
+        <result property="zxlxr"    column="zxlxr"    />
     </resultMap>
 
     <resultMap type="YljgJcxx" id="YljgJcxxResultExport">
@@ -521,7 +527,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         tgsqylfw_wyrc, tgsqylfw_zfrc, tgsqylfw_kfrc, tgsqylfw_qtrc, tgsqylfw_qtfw,
         is_kzylfw, nsyljg, yljgqyhz, is_yljgzyxk, is_ylbxddzg,
         fcyhznr, sffs, is_sfhyz, hlf_zg, hlf_zd, cwf_zg, cwf_zd, ssf_zg, ssf_zd, yz_zg, yz_zd,
-        is_qtsf, qtsf_xm, qtsf_sm, qtsf_zg, qtsf_zd, ymszlrs, sczt, is_ba, basj, xgrq,
+        is_qtsf, qtsf_xm, qtsf_zg, qtsf_zd, ymszlrs, sczt, is_ba, basj, xgrq,
         create_time_str, create_user_id, create_by, create_unit,create_tounit,create_bmjsc,create_qhjsc, create_unit_name,
         update_time_str as gxsj, update_user_id, update_by, update_unit, update_unit_name
         from yljg_jcxx
@@ -857,7 +863,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="yzZd != null">yz_zd = #{yzZd},</if>
             <if test="isQtsf != null and isQtsf != ''">is_qtsf = #{isQtsf},</if>
             <if test="qtsfXm != null">qtsf_xm = #{qtsfXm},</if>
-            <if test="qtsfSm != null">qtsf_sm = #{qtsfSm},</if>
             <if test="qtsfZg != null">qtsf_zg = #{qtsfZg},</if>
             <if test="qtsfZd != null">qtsf_zd = #{qtsfZd},</if>
             <if test="ymszlrs != null">ymszlrs = #{ymszlrs},</if>

+ 30 - 0
ruoyi-modules/mz-organization-jg/src/main/resources/mapper/organization/YljgJgsfMapper.xml

@@ -0,0 +1,30 @@
+<?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.ruoyi.organization.mapper.YljgJgsfMapper">
+    
+    <resultMap type="YljgJgsf" id="YljgJgsfResult">
+        <result property="id"    column="id"    />
+        <result property="jgid"    column="jgid"    />
+        <result property="xmmc"    column="xmmc"    />
+        <result property="xmsm"    column="xmsm"    />
+        <result property="sfbz"    column="sfbz"    />
+        <result property="createTimeStr"    column="create_time_str"    />
+        <result property="createUserId"    column="create_user_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createUserType"    column="create_user_type"    />
+        <result property="createUnit"    column="create_unit"    />
+        <result property="createTounit"    column="create_tounit"    />
+        <result property="createBmjsc"    column="create_bmjsc"    />
+        <result property="createQhjsc"    column="create_qhjsc"    />
+        <result property="createUnitName"    column="create_unit_name"    />
+        <result property="createAreaCode"    column="create_area_code"    />
+        <result property="updateTimeStr"    column="update_time_str"    />
+        <result property="updateUserId"    column="update_user_id"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateUnit"    column="update_unit"    />
+        <result property="updateUnitName"    column="update_unit_name"    />
+    </resultMap>
+
+</mapper>

+ 106 - 0
ruoyi-modules/mz-organization/src/main/java/com/ruoyi/organization/controller/YljgJgsfController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.organization.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+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.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.system.validate.group.AddGroup;
+import com.ruoyi.organization.domain.YljgJgsf;
+import com.ruoyi.organization.service.IYljgJgsfService;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+
+/**
+ * 机构收费Controller
+ * 
+ * @author CH
+ * @date 2024-10-20
+ */
+@RestController
+@RequestMapping("/jgsf")
+public class YljgJgsfController extends BaseController
+{
+    @Autowired
+    private IYljgJgsfService yljgJgsfService;
+
+    /**
+     * 查询机构收费列表
+     */
+    @RequiresPermissions("organization:jgsf:list")
+    @GetMapping("/list")
+    public TableDataInfo list(YljgJgsf yljgJgsf)
+    {
+        startPage();
+        List<YljgJgsf> list = yljgJgsfService.selectYljgJgsfList(yljgJgsf);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出机构收费列表
+     */
+    @RequiresPermissions("organization:jgsf:export")
+    @Log(title = "机构收费", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, YljgJgsf yljgJgsf)
+    {
+        List<YljgJgsf> list = yljgJgsfService.selectYljgJgsfList(yljgJgsf);
+        ExcelUtil<YljgJgsf> util = new ExcelUtil<YljgJgsf>(YljgJgsf.class);
+        util.exportExcel(response, list, "机构收费数据");
+    }
+
+    /**
+     * 获取机构收费详细信息
+     */
+    @RequiresPermissions("organization:jgsf:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(yljgJgsfService.selectYljgJgsfById(id));
+    }
+
+    /**
+     * 新增机构收费
+     */
+    @RequiresPermissions("organization:jgsf:add")
+    @Log(title = "机构收费", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody YljgJgsf yljgJgsf)
+    {
+        return toAjax(yljgJgsfService.insertYljgJgsf(yljgJgsf),yljgJgsf.getId());
+    }
+
+    /**
+     * 修改机构收费
+     */
+    @RequiresPermissions("organization:jgsf:edit")
+    @Log(title = "机构收费", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody YljgJgsf yljgJgsf)
+    {
+        return toAjax(yljgJgsfService.updateYljgJgsf(yljgJgsf));
+    }
+
+    /**
+     * 删除机构收费
+     */
+    @RequiresPermissions("organization:jgsf:remove")
+    @Log(title = "机构收费", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(yljgJgsfService.deleteYljgJgsfByIds(ids));
+    }
+}

+ 44 - 0
ruoyi-ui/src/api/organization/jggl/jgsf.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询机构收费列表
+export function listJgsf(query) {
+  return request({
+    url: '/organization/jgsf/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询机构收费详细
+export function getJgsf(id) {
+  return request({
+    url: '/organization/jgsf/' + id,
+    method: 'get'
+  })
+}
+
+// 新增机构收费
+export function addJgsf(data) {
+  return request({
+    url: '/organization/jgsf',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改机构收费
+export function updateJgsf(data) {
+  return request({
+    url: '/organization/jgsf',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除机构收费
+export function delJgsf(id) {
+  return request({
+    url: '/organization/jgsf/' + id,
+    method: 'delete'
+  })
+}

+ 28 - 21
ruoyi-ui/src/views/organization/jggl/jcxx/index.vue

@@ -1042,27 +1042,27 @@ export default {
           qtsfZg: [
             { required: true, message: '其他收费项目(最高)不能为空', trigger: 'blur' }
           ],
-          zxlxr: [
-            { required: true, message: '咨询联系人不能为空,可以填写`无`', trigger: 'blur' }
-          ],
-          zxlxdh: [
-            { required: true, message: '咨询联系电话不能为空,可以填写`无`', trigger: 'blur' }
-          ],
-          fwnr: [
-            { required: true, message: '服务内容不能为空,可以填写`无`', trigger: 'blur' }
-          ],
-          fwtd: [
-            { required: true, message: '服务团队不能为空,可以填写`无`', trigger: 'blur' }
-          ],
-          fwsj: [
-            { required: true, message: '服务时间不能为空,可以填写`无`', trigger: 'blur' }
-          ],
-          fwfw: [
-            { required: true, message: '服务范围不能为空,可以填写`无`', trigger: 'blur' }
-          ],
-          fwsm: [
-            { required: true, message: '范围说明不能为空,可以填写`无`', trigger: 'blur' }
-          ]
+          // zxlxr: [
+          //   { required: true, message: '咨询联系人不能为空,可以填写`无`', trigger: 'blur' }
+          // ],
+          // zxlxdh: [
+          //   { required: true, message: '咨询联系电话不能为空,可以填写`无`', trigger: 'blur' }
+          // ],
+          // fwnr: [
+          //   { required: true, message: '服务内容不能为空,可以填写`无`', trigger: 'blur' }
+          // ],
+          // fwtd: [
+          //   { required: true, message: '服务团队不能为空,可以填写`无`', trigger: 'blur' }
+          // ],
+          // fwsj: [
+          //   { required: true, message: '服务时间不能为空,可以填写`无`', trigger: 'blur' }
+          // ],
+          // fwfw: [
+          //   { required: true, message: '服务范围不能为空,可以填写`无`', trigger: 'blur' }
+          // ],
+          // fwsm: [
+          //   { required: true, message: '范围说明不能为空,可以填写`无`', trigger: 'blur' }
+          // ]
         },
         qtDispaly: false,
         isFW: false,
@@ -1700,6 +1700,13 @@ export default {
 	          console.log(pamar, 'pamar')
 
             this.form2.jgid=this.form.id;
+            // this.form2.zxlxr=this.form.zxlxr;
+            // this.form2.zxlxdh=this.form.zxlxdh;
+            // this.form2.fwnr=this.form.fwnr;
+            // this.form2.fwtd=this.form.fwtd;
+            // this.form2.fwsj=this.form.fwsj;
+            // this.form2.fwfw=this.form.fwfw;
+            // this.form2.fwsm=this.form.fwsm;
             addJgjs(this.form2);
 
             // if(this.form2.zt!="0"){

+ 275 - 0
ruoyi-ui/src/views/organization/jggl/jgsf/index.vue

@@ -0,0 +1,275 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <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="['organization:jgsf:add']"
+        >新增</el-button>
+      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="warning"-->
+<!--          plain-->
+<!--          icon="el-icon-download"-->
+<!--          size="mini"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['organization:jgsf:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="jgsfList" >
+      <el-table-column label="序号" align="center">
+        <template slot-scope="scope">
+          {{(queryParams.pageNum-1)*queryParams.pageSize + scope.$index + 1}}
+        </template>
+      </el-table-column>
+      <el-table-column label="项目名称" align="center" prop="xmmc" />
+      <el-table-column label="项目说明" align="center" prop="xmsm" />
+      <el-table-column label="收费标准" align="center" prop="sfbz" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['organization:jgsf:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row,scope.$index)"
+            v-hasPermi="['organization:jgsf:remove']"
+          >删除</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 v-dialog-drag :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="xmmc">
+          <el-input v-model="form.xmmc" placeholder="请输入项目名称" />
+        </el-form-item>
+
+        <el-form-item label="项目说明" prop="xmsm">
+          <el-input v-model="form.xmsm" type="textarea" maxlength="500" show-word-limit placeholder="请输入项目说明" />
+        </el-form-item>
+
+        <el-form-item label="收费标准" prop="sfbz">
+          <el-input v-model="form.sfbz" type="textarea" maxlength="500" show-word-limit placeholder="请输入收费标准" />
+        </el-form-item>
+
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm" :loading="submitFormLoading">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {addJgsf, delJgsf, getJgsf, listJgsf, updateJgsf} from "@/api/organization/jggl/jgsf";
+  import {chineseOne, idCard, Regular} from '@/utils/regular'
+
+  export default {
+  name: "Jgsf",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 机构收费表格数据
+      jgsfList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        xmmc: [
+          { required: true,trigger: "blur",max: 72, message: '项目名称不能超过72个字符'},
+        ],
+        xmsm: [
+          { required: true,trigger: "blur",max: 500, message: '项目说明不能超过500个字符'},
+        ],
+        sfbz: [
+          { required: true,trigger: "blur",max: 500, message: '收费标准不能超过500个字符'},
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询机构收费列表 */
+    getList() {
+      this.loading = true;
+      listJgsf(this.queryParams).then(response => {
+        this.jgsfList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading =false;
+      this.form = {
+        id: null,
+        xmmc: null,
+        xmsm: null,
+        sfbz: 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.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加机构收费";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getJgsf(id).then(response => {
+        this.form = response.data;
+        /****** sks 需要改动的地方 start ******/
+        this.copyForm=this.deepCopy(response.data)
+        /****** sks 需要改动的地方 end ******/
+        this.open = true;
+        this.title = "修改机构收费";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.submitFormLoading = true;
+          if (this.form.id != null) {
+            /****** sks 需要改动的地方 start ******/
+            let formData=this.comparisonObject(this.form,this.copyForm);
+            if(formData) {
+              updateJgsf({...formData,id:this.form.id}).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.jgsfList=this.dataReplacement(this.jgsfList,this.form.id,formData);
+                // this.getList();
+              }).finally(()=>this.submitFormLoading =false);
+            }else{
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addJgsf(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              // this.getList();
+              /****** sks 需要改动的地方 start ******/
+              if (this.queryParams.pageSize===this.jgsfList.length)
+              {
+                this.jgsfList.pop();
+              }
+              this.jgsfList.unshift({...this.form,id:response.data});
+              this.total++;
+              /****** sks 需要改动的地方 end ******/
+            }).finally(()=>this.submitFormLoading =false);
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row,index) {
+      const ids = row.id || this.ids;
+      const xh = (this.queryParams.pageNum-1)*this.queryParams.pageSize + index + 1;
+      this.$modal.confirm('确认删除' + this.changeDelData(row,'xmmc','项目名称',xh) + '的记录?').then(function() {
+        return delJgsf(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.jgsfList.splice(index,1);
+        if(this.jgsfList.length===0)
+        {
+          this.getList();
+        }else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('organization/jgsf/export', {
+        ...this.queryParams
+      }, `jgsf_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>