Browse Source

述职评分管理

xiaoqiao 8 months ago
parent
commit
66f42801d7

File diff suppressed because it is too large
+ 257 - 175
lib/GHSCPartyBuild.pdb


+ 4 - 4
lib/GHSCPartyBuild.pdm

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?PowerDesigner AppLocale="UTF16" ID="{21F993B5-F4E8-4C5D-A940-7854A8E66458}" Label="" LastModificationDate="1720504986" Name="GHSCPartyBuild" Objects="3088" Symbols="217" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.0.0.3514"?>
+<?PowerDesigner AppLocale="UTF16" ID="{21F993B5-F4E8-4C5D-A940-7854A8E66458}" Label="" LastModificationDate="1720665999" Name="GHSCPartyBuild" Objects="3088" Symbols="217" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.0.0.3514"?>
 <!-- do not edit this file -->
 
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -47143,9 +47143,9 @@ LABL 0 新宋体,8,N</a:FontList>
 <a:Code>reportResult</a:Code>
 <a:CreationDate>1719992078</a:CreationDate>
 <a:Creator>qiao</a:Creator>
-<a:ModificationDate>1719992430</a:ModificationDate>
-<a:Modifier>qiao</a:Modifier>
-<a:Comment>评议结果</a:Comment>
+<a:ModificationDate>1720665999</a:ModificationDate>
+<a:Modifier>zq</a:Modifier>
+<a:Comment>评议结果字典reportResult:1、优秀2、好3、一般4、差</a:Comment>
 <a:DataType>int</a:DataType>
 </o:Column>
 <o:Column Id="o2981">

+ 16 - 1
lib/数据更新脚本.txt

@@ -12,4 +12,19 @@ INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER,
 VALUES ('e1c6f537-cc54-4f39-939a-afb65ae7086b', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '9912122b-15d2-4e93-ac5e-06e4b091ee65', null, 5, '../main/index-dsj.html#!/showDjdsj_dwdt', '党务动态', null, null, null, 1, 1, 1);
 
 --7.05
-update cf_menu set MENUNO='home.reportDataScore',MENUNAME='述职评议评分' where MENUID='2237844c-2194-430f-bef7-ea68469c9f33'
+update cf_menu set MENUNO='home.reportDataScore',MENUNAME='述职评议评分' where MENUID='2237844c-2194-430f-bef7-ea68469c9f33';
+
+--7.06
+INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER, MENUNO, MENUNAME, MENUPROGRAM, MENUPIC, MENUDESC, ISVISIBLE, ISLEAF, ISBLANK)
+VALUES ('4c6f7f03-453e-4fd1-af0e-61f702ee649b', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1137844c-2194-430f-bef7-ea68469c9f33', null, 1, 'reportData.generate', '生成述职名单', null, null, '', 0, 1, null);
+INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER, MENUNO, MENUNAME, MENUPROGRAM, MENUPIC, MENUDESC, ISVISIBLE, ISLEAF, ISBLANK)
+VALUES ('56f0b4b0-467a-4b15-b394-e5f86542921c', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1137844c-2194-430f-bef7-ea68469c9f33', null, 2, 'reportData.downZip', '打包下载', null, null, '', 0, 1, null);
+
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re1c-829d-cc85c2a00001', 1, '优秀', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re2c-829d-dd85c2a00002', 2, '好', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re3c-829d-dd85c2a00002', 3, '一般', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re4c-829d-dd85c2a00002', 4, '差', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');

+ 47 - 4
src/main/java/com/ghsc/partybuild/controller/ReportDataController.java

@@ -3,11 +3,11 @@ package com.ghsc.partybuild.controller;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
+import com.ghsc.partybuild.model.CfUserrolesKey;
 import com.ghsc.partybuild.model.PtChecknamelist;
 import com.ghsc.partybuild.model.PtCheckparty;
-import com.ghsc.partybuild.service.CheckDataService;
-import com.ghsc.partybuild.service.ReportDataService;
-import com.ghsc.partybuild.service.UserService;
+import com.ghsc.partybuild.model.PtReportscore;
+import com.ghsc.partybuild.service.*;
 import com.ghsc.partybuild.util.DateUtils;
 import com.ghsc.partybuild.util.FtpHelper;
 import com.github.pagehelper.PageInfo;
@@ -40,15 +40,38 @@ public class ReportDataController {
     private DateUtils dateUtils;
     @Autowired
     FtpHelper ftpHelper;
+    @Autowired
+    LeaderAdminService leaderAdminService;
+    @Autowired
+    RoleService roleService;
 
     @ResponseBody
     @GetMapping("/getReportdataList")
     public RequsetData<PageInfo<HashMap<String, Object>>> getReportdataList(int pageindex, int pagesize, Integer year, String dzzdm, String reportUserName) {
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
-        result.setItem(reportDataService.getReportdataList(pageindex, pagesize, year, dzzdm, reportUserName));
+        String reportUserId = userService.getLoginUser().getUserid();
+        //管理员看到所有数据
+        final boolean isAdmin = isAdmin(userService.getLoginUser().getUserid());
+
+        if(isAdmin){
+            reportUserId="";
+        }
+        result.setItem(reportDataService.getReportdataList(pageindex, pagesize, year, dzzdm, reportUserName,reportUserId));
+        return result;
+    }
+    @ResponseBody
+    @GetMapping("/getReportScoreList")
+    public RequsetData<PageInfo<HashMap<String, Object>>> getReportScoreList(int pageindex, int pagesize, Integer year, String dzzdm, String reportUserName,Integer reportResult) {
+        RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
+
+        result.setItem(reportDataService.getReportScoreList(pageindex, pagesize, year, dzzdm, reportUserName,null,reportResult));
         return result;
     }
 
+    private boolean isAdmin(String userId){
+        List<CfUserrolesKey> cfURModel = roleService.getRoleUsersByRoleName("管理员");
+       return cfURModel.stream().anyMatch(x->x.getUserid().equals(userId));
+    }
 
     @ResponseBody
     @PostMapping("/saveReportData")
@@ -70,6 +93,26 @@ public class ReportDataController {
         return res;
     }
     @ResponseBody
+    @PostMapping("/saveReportScore")
+    public RequsetData<Integer> saveReportScore(@RequestBody PtReportscore dataModel) {
+        RequsetData<Integer> res = new RequsetData<>();
+        try {
+            String userId = userService.getLoginUser().getUserid();
+            String userName = userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName();
+            dataModel.setUpdateuserid(userId);
+            dataModel.setUpdateusername(userName);
+            dataModel.setCreateuserid(userId);
+            dataModel.setCreateusername(userName);
+            int id = reportDataService.saveReportScore(dataModel);
+            res.setItem(id);
+            res.setMsg("保存成功!");
+        } catch (Exception ex) {
+            res.setMsg("保存失败:" + ex.getMessage());
+            res.setSuccess(false);
+        }
+        return res;
+    }
+    @ResponseBody
     @GetMapping("/changeReportDataStatus")
     public RequsetData<Integer> changeReportDataStatus(String reportId) {
         RequsetData<Integer> res = new RequsetData<>();

+ 3 - 1
src/main/java/com/ghsc/partybuild/mapper/cquery/ReportDataCQuery.java

@@ -7,7 +7,9 @@ import java.util.List;
 
 public interface ReportDataCQuery {
 
-    List<HashMap<String,Object>> selectReportdataList(Integer year, String dzzdm, String reportUserName);
+    List<HashMap<String,Object>> selectReportdataList(Integer year, String dzzdm, String reportUserName,String reportUserId);
 
     List<HashMap<String,Object>> selectReportDataFleList(@Param("year") String year);
+
+    List<HashMap<String,Object>> selectReportScoreList(Integer year, String dzzdm, String reportUserName,String reportUserId,Integer reportResult);
 }

+ 6 - 1
src/main/java/com/ghsc/partybuild/service/ReportDataService.java

@@ -2,17 +2,22 @@ package com.ghsc.partybuild.service;
 
 import com.alibaba.fastjson.JSONArray;
 import com.ghsc.partybuild.model.PtChecknamelist;
+import com.ghsc.partybuild.model.PtReportscore;
 import com.github.pagehelper.PageInfo;
 
 import java.util.HashMap;
 import java.util.List;
 
 public interface ReportDataService {
-    PageInfo<HashMap<String, Object>> getReportdataList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName);
+    PageInfo<HashMap<String, Object>> getReportdataList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName,String reportUserId);
 
     int saveReportData(Integer year, String userId, String userName, JSONArray userlist);
 
     Integer changeReportDataStatus(String reportId, String userId, String userName);
 
     List<HashMap<String, Object>> getReportDataFleList(String year);
+
+    PageInfo<HashMap<String, Object>> getReportScoreList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName,String reportUserId,Integer reportResult);
+
+    int saveReportScore(PtReportscore dataModel);
 }

+ 33 - 5
src/main/java/com/ghsc/partybuild/service/impl/ReportDataServiceImpl.java

@@ -3,10 +3,11 @@ package com.ghsc.partybuild.service.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ghsc.partybuild.mapper.PtReportdataMapper;
+import com.ghsc.partybuild.mapper.PtReportscoreMapper;
 import com.ghsc.partybuild.mapper.cquery.ReportDataCQuery;
-import com.ghsc.partybuild.model.PtChecknamelist;
 import com.ghsc.partybuild.model.PtReportdata;
 import com.ghsc.partybuild.model.PtReportdataExample;
+import com.ghsc.partybuild.model.PtReportscore;
 import com.ghsc.partybuild.service.ReportDataService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -21,29 +22,56 @@ public class ReportDataServiceImpl implements ReportDataService {
     private PtReportdataMapper reportdataMapper;
     @Autowired
     private ReportDataCQuery reportDataCQuery;
+    @Autowired
+    private PtReportscoreMapper reportscoreMapper;
+
+    @Override
+    public PageInfo<HashMap<String, Object>> getReportdataList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName, String reportUserId) {
+
+        PageHelper.startPage(pageIndex, pageSize);
+        List<HashMap<String, Object>> list = reportDataCQuery.selectReportdataList(year, dzzdm, reportUserName, reportUserId);
+
+        PageInfo<HashMap<String, Object>> result = new PageInfo(list);
+
+        return result;
+    }
 
     @Override
-    public PageInfo<HashMap<String, Object>> getReportdataList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName) {
+    public PageInfo<HashMap<String, Object>> getReportScoreList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName, String reportUserId, Integer reportResult) {
 
         PageHelper.startPage(pageIndex, pageSize);
-        List<HashMap<String, Object>> list = reportDataCQuery.selectReportdataList(year, dzzdm, reportUserName);
+        List<HashMap<String, Object>> list = reportDataCQuery.selectReportScoreList(year, dzzdm, reportUserName, reportUserId, reportResult);
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);
 
         return result;
     }
 
+    @Override
+    public int saveReportScore(PtReportscore dataModel) {
+        PtReportscore dbItem = reportscoreMapper.selectByPrimaryKey(dataModel.getScoreid());
+
+        dataModel.setUpdatetime(new Date());
+        dataModel.setCreatetime(new Date());
+        if (dbItem == null) {
+            reportscoreMapper.insertSelective(dataModel);
+        } else {
+            reportscoreMapper.updateByPrimaryKeySelective(dataModel);
+        }
+        return 1;
+    }
+
     @Override
     public int saveReportData(Integer year, String userId, String userName, JSONArray userlist) {
         for (int n = 0; n < userlist.size(); n++) {
             JSONObject user = (JSONObject) userlist.get(n);
             PtReportdataExample example = new PtReportdataExample();
-            example.or().andYearEqualTo(year).andReportuseridEqualTo(user.getString("userNo"));
+            example.or().andYearEqualTo(year).andReportuseridEqualTo(user.getString("RYBM"));
             PtReportdata data = reportdataMapper.selectByExample(example).stream().findFirst().orElse(null);
             if (data == null) {
                 data = new PtReportdata();
                 data.setReportid(UUID.randomUUID().toString());
-                data.setReportuserid(user.getString("userNo"));
+                data.setReportuserid(user.getString("RYBM"));
                 data.setReportusername(user.getString("XM"));
                 data.setYear(year);
                 data.setDzzdm(user.getString("SZDZBDM"));

+ 30 - 0
src/main/resources/mapping/CQuery/PtReportDataCQuery.xml

@@ -22,6 +22,9 @@
             <if test="reportUserName != null and reportUserName != ''">
                 and prd.reportUserName =#{reportUserName}
             </if>
+            <if test="reportUserId != null and reportUserId != ''">
+                and prd.reportUserId =#{reportUserId}
+            </if>
         </where>
     </select>
     <select id="selectReportDataFleList" resultType="java.util.HashMap" parameterType="java.lang.String">
@@ -35,4 +38,31 @@
             and prd.year = #{year}
         </if>
     </select>
+
+    <select id="selectReportScoreList" resultType="java.util.HashMap">
+        select prd.reportid, prd.dzzdm, prd.year, prd.reportuserid, prd.reportusername
+        ,ifnull(prs.scoreid,UUID()) scoreid, prs.writtenscore, prs.scenescore, prs.dailyscore, ifnull(prs.total,0) total, prs.remark, prs.reportresult, prs.createtime, prs.createuserid, prs.createusername, prs.updatetime, prs.updateuserid, prs.updateusername
+        ,zz.dzzmc,dic.DICVALUE as reportresultname from pt_reportdata prd
+        inner join ZZ_ZZQKXX zz on prd.dzzdm = zz.DZZDM
+        left join pt_reportScore prs on prd.reportId = prs.reportId
+        left join CF_DICTIONARY dic on prs.reportResult=dic.DICKEY and dic.DICTYPEKEY='reportResult'
+        <where>
+            and prd.recordstatus=1
+            <if test="year != null">
+                and prd.year = #{year}
+            </if>
+            <if test="dzzdm != null and dzzdm != ''">
+                and prd.dzzdm like concat('%',#{dzzdm},'%')
+            </if>
+            <if test="reportUserName != null and reportUserName != ''">
+                and prd.reportUserName =#{reportUserName}
+            </if>
+            <if test="reportUserId != null and reportUserId != ''">
+                and prd.reportUserId =#{reportUserId}
+            </if>
+            <if test="reportResult != null">
+                and prs.reportResult = #{reportResult}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 3 - 3
src/main/resources/static/app/main/party/reportData/list.html

@@ -80,10 +80,10 @@
                     </div>
                     <div class="search-btn" style="margin-right: 20px;">
                         <div style="float: right">
-                            <button class="btn  btn-default1"
+                            <button class="btn  btn-default1" role-permission-code="reportData.generate"
                                     ng-click="generate()">生成述职名单
                             </button>
-                            <button class="btn btn-default1"
+                            <button class="btn btn-default1" role-permission-code="reportData.downZip"
                                     ng-click="export()">打包下载
                             </button>
                         </div>
@@ -125,7 +125,7 @@
                                     <td>{{it.updatetime|date:'yyyy-MM-dd'}}</td>
                                 </tr>
                                 <tr ng-if="pageInfo.ptotal==0">
-                                    <td colspan="9" style="text-align:center">暂无数据</td>
+                                    <td colspan="11" style="text-align:center">暂无数据</td>
                                 </tr>
                                 </tbody>
                             </table>

+ 55 - 42
src/main/resources/static/app/main/party/reportScore/edit.html

@@ -11,67 +11,80 @@
                     <div class="dj-formtable">
                         <table class="dj-table">
                             <tr>
-                                <th>
-                                    选择成员
+                                <th style="width: 20%">
+                                    姓名
                                 </th>
-                                <td ng-class="{ 'has-error' : this.editForm.checkusername.$invalid &&  this.editForm.$submitted}">
-                                    <div class="input-group input-group-search"
-                                         data-dataoptions="selectUserlist"
-                                         title="选择成员" bsselectdata-pro>
-                                        <input name="checkusername" type="text" ng-model="dataModel.checkusername"
-                                               class="form-control" ng-required="true"
-                                               ng-disabled="true"/>
-                                        <span class="input-group-addon"><i class="material-icons">search</i></span>
-                                    </div>
-                                    <span ng-show="this.editForm.checkusername.$invalid && this.editForm.$submitted"
-                                          class="error">必填.</span>
+                                <td style="width: 20%">
+                                    {{dataModel.reportusername}}
                                 </td>
-                                <th>所在党组织</th>
-                                <td>
+                                <th style="width: 20%">所在党组织</th>
+                                <td >
                                     {{dataModel.dzzmc}}
                                 </td>
                             </tr>
                             <tr>
                                 <th>年份</th>
-                                <td ng-class="{ 'has-error' : this.editForm.year.$invalid &&  this.editForm.$submitted}">
-                                    <input name="year" class="form-control" ng-model="dataModel.year"
-                                           data-date-type="string" data-date-format="yyyy" type="text"
-                                           data-start-view="2" data-min-view="2" autoclose="true" bs-datepicker
-                                           ng-required="true"/>
-                                    <span ng-show="this.editForm.year.$invalid && this.editForm.$submitted"
-                                          class="error">必填.</span>
+                                <td>
+                                    {{dataModel.year}}
                                 </td>
-                                <th>季度</th>
-                                <td ng-class="{ 'has-error' : this.editForm.quarter.$invalid &&  this.editForm.$submitted}">
-                                    <select class="form-control show-tick" ng-model="dataModel.quarter"
-                                            ng-options="type.dickey as type.dicvalue for type in quarterList"
+                                <th>书面述职评分</th>
+                                <td ng-class="{ 'has-error' : this.editForm.writtenscore.$invalid &&  this.editForm.$submitted}">
+                                    <input name="writtenscore" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.writtenscore"/>
+                                    <label ng-show="this.editForm.writtenscore.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>现场述职评分</th>
+                                <td ng-class="{ 'has-error' : this.editForm.scenescore.$invalid &&  this.editForm.$submitted}">
+                                    <input name="scenescore" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.scenescore"/>
+                                    <label ng-show="this.editForm.scenescore.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                                <th>日常党建工作考核评分</th>
+                                <td ng-class="{ 'has-error' : this.editForm.dailyscore.$invalid &&  this.editForm.$submitted}">
+                                    <input name="dailyscore" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.dailyscore"/>
+                                    <label ng-show="this.editForm.dailyscore.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>述职评分(总分)</th>
+                                <td ng-class="{ 'has-error' : this.editForm.total.$invalid &&  this.editForm.$submitted}">
+                                    <input name="total" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.total"/>
+                                    <label ng-show="this.editForm.total.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                                <th>评议结果</th>
+                                <td ng-class="{ 'has-error' : this.editForm.reportresult.$invalid &&  this.editForm.$submitted}">
+                                    <select class="form-control show-tick" ng-model="dataModel.reportresult"
+                                            ng-options="type.dickey as type.dicvalue for type in reportResultList"
                                             class="form-control"
-                                            name="quarter" ng-required="true">
+                                            name="reportresult" ng-required="true">
                                         <option value="" selected>--全部--</option>
                                     </select>
-                                    <span ng-show="this.editForm.year.$invalid && this.editForm.$submitted"
+                                    <span ng-show="this.editForm.reportresult.$invalid &&  this.editForm.$submitted"
                                           class="error">必填.</span>
                                 </td>
                             </tr>
                             <tr>
-                                <th>检查支部</th>
-                                <td colspan="3"
-                                    ng-class="{ 'has-error' : this.editForm.helpReason.$invalid &&  this.editForm.$submitted}">
-                                    <div class="input-group input-group-search"
-                                         data-dataoptions="selectPartyOption"
-                                         title="选择支部" bsselectdata-pro>
-                                        <input name="checkPartyList" type="text" ng-model="selectPartyOption.selectedLabeData"
-                                               class="form-control" ng-required="true"
-                                               ng-disabled="true"/>
-                                        <span class="input-group-addon"><i class="material-icons">search</i></span>
-                                    </div>
-                                    <span ng-show="this.editForm.checkPartyList.$invalid &&  this.editForm.$submitted"
-                                          class="error">必填.</span>
+                                <th >备注</th>
+                                <td colspan="5">
+                                   <textarea name="remark" ng-model="dataModel.remark"
+                                             class="form-control" rows="3"></textarea>
                                 </td>
                             </tr>
                         </table>
                     </div>
-
+                    <bsfiles ng-model="reqFileModel"/>
                     <div class="form_foot">
                         <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
                         <button type="submit" class="btn btn-primary" form="editForm">提交</button>

+ 16 - 57
src/main/resources/static/app/main/party/reportScore/list.html

@@ -52,61 +52,30 @@
                                             </div>
                                         </div>
                                     </div>
-                                    <div class="col-lg-2 col-md-2 dj-label">
-                                        <label>季度</label>
-                                    </div>
-                                    <div class="col-lg-2 col-md-2">
-                                        <div class="form-group">
-                                            <div class="form-line">
-                                                <select class="form-control show-tick" ng-model="selectparams.quarter" ng-change="search()"
-                                                        ng-options="type.dickey as type.dicvalue for type in quarterList"
-                                                        class="form-control"
-                                                        name="quarter">
-                                                    <option value="" selected>--全部--</option>
-                                                </select>
-                                            </div>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="row clearfix form-inline" ng-show="isShow">
                                     <div class="col-lg-2 col-md-2">
                                         <label>核查人员姓名</label>
                                     </div>
                                     <div class="col-lg-2 col-md-2">
                                         <div class="form-group">
                                             <div class="form-line">
-                                                <input name="checkUserName" class="form-control" type="text"
-                                                       ng-model="selectparams.checkUserName"
+                                                <input name="reportUserName" class="form-control" type="text"
+                                                       ng-model="selectparams.reportUserName"
                                                        placeholder=""/>
                                             </div>
                                         </div>
                                     </div>
-                                    <div class="col-lg-2 col-md-2">
-                                        <label>核查支部</label>
-                                    </div>
-                                    <div class="col-lg-2 col-md-2">
-                                        <div class="form-group">
-                                            <div class="form-line">
-                                                <div class="input-group input-group-search"
-                                                     title="选择党组织" ng-click="selectParty()">
-                                                    <input name="partyname" type="text" ng-model="selectparams.partyName"
-                                                           class="form-control"
-                                                           ng-disabled="true"/>
-                                                    <span class="input-group-addon"><i class="material-icons">search</i></span>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </div>
+                                </div>
+                                <div class="row clearfix form-inline" ng-show="isShow">
                                     <div class="col-lg-2 col-md-2 dj-label">
-                                        <label>状态</label>
+                                        <label>评议结果</label>
                                     </div>
                                     <div class="col-lg-2 col-md-2">
                                         <div class="form-group">
                                             <div class="form-line">
-                                                <select class="form-control show-tick" ng-model="selectparams.recordStatus" ng-change="search()"
-                                                        ng-options="type.dickey as type.dicvalue for type in enableStatusList"
+                                                <select class="form-control show-tick" ng-model="selectparams.reportResult" ng-change="search()"
+                                                        ng-options="type.dickey as type.dicvalue for type in reportResultList"
                                                         class="form-control"
-                                                        name="recordStatus">
+                                                        name="reportResult">
                                                     <option value="" selected>--全部--</option>
                                                 </select>
                                             </div>
@@ -129,9 +98,6 @@
                     </div>
                     <div class="search-btn" style="margin-right: 20px;">
                         <div style="float: right">
-                            <button class="btn btn-default1"
-                                    ng-click="add()">新增
-                            </button>
                         </div>
                     </div>
                 </div>
@@ -141,7 +107,6 @@
                             <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
                                 <thead>
                                 <tr>
-                                    <th class="th-select" th-select-all datalist="dataList"></th>
                                     <th>序号</th>
                                     <th>所在组织</th>
                                     <th>姓名</th>
@@ -154,22 +119,16 @@
                                 </thead>
                                 <tbody>
                                 <tr ng-repeat="it in dataList">
-                                    <td class="text-center">
-                                        <input type="checkbox" id="{{pageId}}_md_checkbox_{{$index+1}}" class="filled-in chk-col-red" ng-model="it.rowChecked" />
-                                        <label class="checkbox_lable" style="top:6px;"
-                                               for="{{pageId}}_md_checkbox_{{$index+1}}"></label>
-                                    </td>
                                     <td scope="row" class="text-center">
                                         {{selectparams.pagesize*(selectparams.pageindex-1)+$index+1}}
                                     </td>
-                                    <td>{{it.year}}</td>
-                                    <td>{{it.quarter}}</td>
-                                    <td class="text-center">{{it.checkusername}}</td>
                                     <td>{{it.dzzmc}}</td>
-
-                                    <td>{{it.partynames}}</td>
-                                    <td class="text-center">{{it.recordstatus==1?"启用":"禁用"}}</td>
-
+                                    <td>{{it.reportusername}}</td>
+                                    <td class="text-center">{{it.year}}</td>
+                                    <td class="text-center">{{it.total}}</td>
+                                    <td>{{it.reportresultname}}</td>
+                                    <td class="text-center">{{it.updateusername}}</td>
+                                    <td>{{it.updatetime|date:'yyyy-MM-dd'}}</td>
                                 </tr>
                                 <tr ng-if="pageInfo.ptotal==0">
                                     <td colspan="9" style="text-align:center">暂无数据</td>
@@ -188,8 +147,8 @@
 
                                         <button
                                                 class="btn td-btn bg-pink waves-effect"
-                                                ng-click="delete(it.nameid)" title="删除">
-                                            删除
+                                                ng-click="score(it)" title="评分">
+                                            评分
                                         </button>
                                     </td>
                                 </tr>

+ 38 - 196
src/main/resources/static/app/main/party/reportScore/list.js

@@ -1,5 +1,5 @@
 (function ($app) {
-    $app.module('gtPartyApp').controller('reportDataScoreCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout,$alert, $loading, $state, AuthUser, $partySelect,$stateParams,$bsRouterState) {
+    $app.module('gtPartyApp').controller('reportDataScoreCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout, $alert, $loading, $state, AuthUser, $partySelect, $stateParams, $bsRouterState) {
         $state.params = $bsRouterState.$params($scope);
         $scope.isShow = false;
         $scope.moreTxt = "更多";
@@ -24,12 +24,11 @@
             szdzzmc: AuthUser.getUser().DPName,
             dzzdm: '',
             dzzmc: '',
-            recordStatus: null,
+            reportResult: null,
             year: null,
-            quarter: null,
             userid: AuthUser.getUser().Id,
             onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
-            checkUserName: '',
+            reportUserName: '',
             partyCode: '',
             partyName: ''
         };
@@ -55,26 +54,6 @@
                 $scope.loadData();
             }
         });
-        //选择党支部begin
-        $scope.partyTreeConfig = {
-            scope: $scope,
-            selectedKey: '',
-            selectedText: '',
-            selectedData: [],
-            isMulti: false,
-            isshowxz: 0
-        };
-        $partySelect.initServer($scope.partyTreeConfig);
-        $scope.selectParty = function () {
-            $partySelect.showModal();
-        };
-        $scope.$watch("partyTreeConfig.selectedKey", function (newVal, oldVal) {
-            if (newVal) {
-                $scope.selectparams.partyCode = $scope.partyTreeConfig.selectedKey;
-                $scope.selectparams.partyName = $scope.partyTreeConfig.selectedText;
-                $scope.search();
-            }
-        }, true);
 
         //查询
         $scope.search = function () {
@@ -93,127 +72,57 @@
         };
         $scope.getYearsList();
 
-        $scope.getQuartersList = function () {
-            $http({
-                method: 'get',
-                url: '../../api/dictionary/getQuartersList',
-                params: {}
-            }).then(function (result) {
-                $scope.quarterList = result.data;
-            }, function (resp) {
-
-            });
-        };
-        $scope.getQuartersList();
 
-        $scope.enableStatusList=[];
-        $scope.getEnableStatusList = function () {
+        $scope.reportResultList = [];
+        $scope.getReportResultList = function () {
             $http({
                 method: 'get',
                 url: '../../api/dictionary/getDictionaryListByDicTypeKey',
-                params: {dicTypeKey: 'EnableStatus'}
+                params: {dicTypeKey: 'reportResult'}
             }).then(function (result) {
-                $scope.enableStatusList = result.data;
+                $scope.reportResultList = result.data;
             }, function (resp) {
 
             });
         };
-        $scope.getEnableStatusList();
+        $scope.getReportResultList();
 
         //加载列表数据
         $scope.loadData = function () {
             $http
             ({
-                method: 'get', url: '../../api/checkdata/getCheckNameList', params: $scope.selectparams
+                method: 'get', url: '../../api/reportData/getReportScoreList', params: $scope.selectparams
             }).then(function (result) {
                 $scope.dataList = result.data.item.list;
                 $scope.pageInfo.ptotal = result.data.item.total;
             });
         };
 
-        var editCtrl = function ($scope, $http,$partySelect) {
+        var editCtrl = function ($scope, $http, $partySelect) {
             $scope.params = editModal.params;
             $scope.dataModel = editModal.data;
-
-            $scope.selectUserlist = {
-                url: '../../api/partyUser/getPartyUserList',
-                title: '人员选择',
-                isMulti: false,
-                selectData: {xm: '姓名', szdzb: '所在组织架构'},
-                columns: {XM: '姓名', XBMC: '性别', JG: '籍贯', DZZMC: '所在组织架构'},
-                selectLabelKey: 'XM',
-                selectValuekey: 'RYJBXXBS',
-                selectedValueData: '',
-                selectedLabeData: '',
-                selectedJData: [],
-                selectParams: {
-                    ryzt: '2,3',
-                    dzzdm: AuthUser.getUser().DataDzzdm
-                },
-                onSelect: function (value, item) {
-                    if (item) {
-                        $scope.dataModel.checkusername = item.XM;
-                        $scope.dataModel.checkuserid = item.RYBM;
-                        $scope.dataModel.dzzmc = item.DZZMC;
-                        $scope.dataModel.dzzdm = item.SZDZBDM;
-                    }
-                }
-            };
-
-            $scope.checkPartyList=[];
-            //选择人员
-            $scope.selectPartyOption = {
-                url: '../../api/party/getPartyList',
-                title: '选择支部',
-                isMulti: true,
-                selectData: {dzzmc: '党组织名称', dzzdm: '党组织编码'},
-                columns: {DZZMC: '党组织名称', DZZDM: '党组织编码', ZZLBMC: '组织类别'},
-                selectLabelKey: 'DZZMC',
-                selectValuekey: 'DZZDM',
-                selectedValueData: $scope.dataModel.partcodes,
-                selectedLabeData: $scope.dataModel.partynames,
-                selectedJData: [],
-                selectParams: {
-                    zzlbList:'400',
-                    dzzdm: $scope.dataModel.takecarepartycode || AuthUser.getUser().DataDzzdm
-                },
-                onSelect: function (value) {
-                    /*$scope.checkPartyList=[];
-                    if (selecteds && selecteds.length > 0) {
-                        selecteds.forEach(val => {
-                            if ($scope.checkPartyList.filter(it => it.partycode == val.DZZDM).length == 0) {
-                                $scope.checkPartyList.push({
-                                    partycode: val.DZZDM,
-                                    partyname: val.DZZMC,
-                                });
-                            }
-                        });
-                    }*/
-                }
-            };
-            $scope.getCheckPartyList=()=>{
-                $scope.checkPartyList=[];
-                var partcodes =$scope.selectPartyOption.selectedValueData.split(",");
-                var partynames =$scope.selectPartyOption.selectedLabeData.split(",");
-                for (var i=0;i<partcodes.length;i++){
-                    $scope.checkPartyList.push({
-                        partycode: partcodes[i],
-                        partyname:partynames[i],
-                    });
+            $scope.reportResultList = $scope.$parent.$parent.reportResultList;
+
+            $scope.reqFileModel = {
+                selectdata: {FileRefID: $scope.dataModel.scoreid, pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+                filetype: 71,//文件类型
+                items: [],//列表数据地址
+                readonly: false,//是否只能查看
+                title: '附件',
+                addFileButton: '上传',
+                typeparams: {
+                    types: ['jpg', 'bmp', 'png', 'gif', 'jpe', 'jpeg', 'txt', 'pdf', 'doc', 'docx', 'xls', 'xlsx'],
+                    errormsg: '格式必须为*.jpg,*.gif,*.png,*.bmp,*.jpe,*.jpeg,*.txt,*.pdf,*.doc,*.docx,*.xls,*.xlsx等格式'
                 }
             };
             //保存
             $scope.save = function (isflag) {
                 if (isflag) {
                     $loading.show();
-                    $scope.getCheckPartyList();
                     $http({
                         method: "post",
-                        url: "../../api/checkdata/saveCheckNameList",
-                        data: {
-                            dataModel:$scope.dataModel,
-                            checkPartyList:$scope.checkPartyList
-                        }
+                        url: "../../api/reportData/saveReportScore",
+                        data: $scope.dataModel
                     }).then(function (result) {
                         $loading.hide();
                         if (result.data.success) {
@@ -221,8 +130,7 @@
                             //重新刷新列表
                             $scope.loadData();
                             $scope.$hide();
-                        }
-                        else {
+                        } else {
                             $scope.showMsg('失败', result.data.msg);
                         }
                     }, function (resp) {
@@ -232,7 +140,7 @@
                 }
             };
         };
-        editCtrl.$inject = ['$scope', '$http','$partySelect'];
+        editCtrl.$inject = ['$scope', '$http', '$partySelect'];
         //定义模态框
         var editModal = $modal({
             resolve: {
@@ -241,82 +149,20 @@
             },
             scope: $scope,
             controller: editCtrl,
-            templateUrl: '../main/party/checkNameList/edit.html',
+            templateUrl: '../main/party/reportScore/edit.html',
             show: false,
             animation: 'am-fade-and-slide-top'
         });
 
         //新增编辑
-        $scope.add = function () {
+        $scope.score = function (it) {
             editModal.params = {
-                title: '新增名单'
+                title: ' 述职评议评分'
             };
-            editModal.data = {};
+            editModal.data = it;
             editModal.$promise.then(editModal.show);
         };
-        $scope.edit = function (id) {
-            $http.get("../../api/checkdata/getCheckName", {
-                params: {
-                    'id': id
-                }
-            }).then(function (result) {
-                if (result.data.item) {
-                    editModal.data  = result.data.item;
-                    editModal.params = {
-                        title: '修改名单'
-                    };
-                    editModal.$promise.then(editModal.show);
-                } else {
-                    $scope.showMsg('错误', result.data.msg);
-                }
-            })
-        };
-
-        $scope.delete = function (id) {
-            if (confirm("是否确定删除?")) {
-                $http({
-                    url: "../../api/checkdata/deleteCheckNameList",
-                    method: 'post',
-                    data: {nameIdList: [id]}
-                }).then(function (result) {
-                    $scope.showMsg("消息", result.data.msg);
-                    if (result.data.success) {
-                        $scope.loadData();
-                    }
-                });
-            }
-        };
-        $scope.changeStatus = function (id,status) {
 
-                $http({
-                    url: "../../api/checkdata/changeCheckNameListStatus",
-                    method: 'post',
-                    data: {nameIdList: id,recordStatus:status}
-                }).then(function (result) {
-                    $scope.showMsg("消息", result.data.msg);
-                    if (result.data.success) {
-                        $scope.loadData();
-                    }
-                });
-        };
-        $scope.disable=()=>{
-            var nameidList = $scope.dataList.filter(it => it.rowChecked == true).map(it => it.nameid);
-
-            if (nameidList.length == 0) {
-                $scope.showMsg('消息', "请选择需要禁用的数据");
-                return false;
-            }
-            $scope.changeStatus(nameidList,0);
-        }
-        $scope.enable=()=>{
-            var nameidList = $scope.dataList.filter(it => it.rowChecked == true).map(it => it.nameid);
-
-            if (nameidList.length == 0) {
-                $scope.showMsg('消息', "请选择需要启用的数据");
-                return false;
-            }
-            $scope.changeStatus(nameidList,1);
-        }
         $scope.export = function () {
             if ($scope.selectparams.dzzdm != "") {
                 var params = "?1=1";
@@ -339,14 +185,11 @@
             });
 
         };
-        $scope.isShowClick = function(){
-            $scope.isShow=!$scope.isShow;
-            if($scope.moreTxt == "更多")
-            {
+        $scope.isShowClick = function () {
+            $scope.isShow = !$scope.isShow;
+            if ($scope.moreTxt == "更多") {
                 $scope.moreTxt = "收起";
-            }
-            else if($scope.moreTxt == "收起")
-            {
+            } else if ($scope.moreTxt == "收起") {
                 $scope.moreTxt = "更多";
             }
         };
@@ -354,15 +197,14 @@
             $scope.selectparams.isunfold = !$scope.selectparams.isunfold;
             $scope.$emit('menudatas.toggle', !$scope.selectparams.isunfold);
         };
-        $scope.reset  = function () {
+        $scope.reset = function () {
 
             $scope.selectparams.year = null;
-            $scope.selectparams.quarter = null;
             $scope.selectparams.selectdzzmc = '';
-            $scope.selectparams.checkUserName ='';
+            $scope.selectparams.reportUserName = '';
             $scope.selectparams.partyName = '';
             $scope.selectparams.partyCode = '';
-            $scope.selectparams.recordStatus = null;
-         }
+            $scope.selectparams.reportResult = null;
+        }
     });
 })(angular);