浏览代码

增加代码

humingbo 1 年之前
父节点
当前提交
5d120f1360
共有 2 个文件被更改,包括 104 次插入3 次删除
  1. 10 0
      src/api/performance/performance.js
  2. 94 3
      src/views/statistics/performance.vue

+ 10 - 0
src/api/performance/performance.js

@@ -12,6 +12,16 @@ export function getDateListByYear(year){
   })
 }
 
+/**
+ * 获取日期集合列表数据
+ * @returns {*}
+ */
+export function getDateDataList(){
+  return request({
+    url: '/performanceDateSet/getDateDataList',
+    method: 'get'
+  })
+}
 
 
 

+ 94 - 3
src/views/statistics/performance.vue

@@ -2,23 +2,83 @@
   <div class="app-container">
     <el-row :gutter="24">
       <el-col :span="6">
-        <div>
-          1111
+        <div class="block">
+          <el-date-picker
+            v-model="yearValue"
+            type="year"
+            placeholder="选择年查询" size="small">
+          </el-date-picker>
+          <el-button style="margin-left: 5px;" type="primary" @click="queryPerformanceDate">查询</el-button>
+          <el-button style="margin-left: 5px;" type="success" @click="addScoreWin">创建评分</el-button>
         </div>
-        <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+        <div style="margin-top: 15px">
+          <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+        </div>
+
       </el-col>
       <el-col :span="18">
 
       </el-col>
     </el-row>
+
+    <!--评分日期规则-->
+    <el-dialog title="创建评分日期规则" :visible.sync="editFormVisible" center width="30%" @click="closeDialog" :close-on-click-modal="false">
+      <el-form label-width="120px" ref="editForm" :model="editForm"  size="mini">
+        <el-form-item label="评分名称:" prop="name">
+          <el-input size="mini" v-model="editForm.name" placeholder="" style="width: 250px"></el-input>
+        </el-form-item>
+        <el-form-item label="评分方式:">
+          <el-radio v-model="editForm.scoreType" label="0">周度评分</el-radio>
+          <el-radio v-model="editForm.scoreType" label="1">月度评分</el-radio>
+        </el-form-item>
+        <el-form-item label="被评分人:">
+          <el-input size="mini" v-model="editForm.scoreUsers" style="width: 250px"></el-input>
+        </el-form-item>
+        <el-form-item label="评分年月:">
+          <el-select size="mini" clearable filterable v-model="editForm.dateId" placeholder="请选择评分年月">
+            <el-option v-for="(item,index) in dateDatas" :key="index" :label="item.year+'年'+item.month+'月'" :value="item.id"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="开始日期:">
+          <el-date-picker v-model="editForm.beginDate" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
+                          placeholder="请选择评分开始日期" style="width: 250px">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束日期:">
+          <el-date-picker v-model="editForm.endDate" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
+                          placeholder="请选择评分结束日期" style="width: 250px">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="closeDialog">取消</el-button>
+        <el-button size="mini" type="primary" class="title" @click="submitForm()">保存</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
+import { getDateDataList } from '@/api/performance/performance'
+
 export default {
   name: 'performance',
   data() {
     return {
+      yearValue:'2024',
+      editFormVisible:false,
+      editForm:{
+        id:null,
+        name:'',
+        scoreType:'0',
+        scoreUsers:null,
+        beginDate:null,
+        endDate:null,
+        dateId:null
+      },
+      dateDatas:[],
+      monthDatas:[],
       data: [{
         label: '一级 1',
         children: [{
@@ -44,10 +104,41 @@ export default {
         label: 'label'
       }
     };
+  },
+  mounted() {
+
   },
   methods: {
     handleNodeClick(data) {
       console.log(data);
+    },
+    queryPerformanceDate(){
+      alert('查询日期');
+    },
+    addScoreWin(){
+      this.getDateDataLists();
+      this.editFormVisible=true;
+    },
+    closeDialog(){
+      this.editFormVisible=false;
+    },
+    getDateDataLists(){
+      getDateDataList().then(res=>{
+        this.dateDatas=res.data
+        let data=res.data
+        let currentDate = new Date();
+        let currentYear = currentDate.getFullYear();
+        let currentMonth = currentDate.getMonth() + 1;
+        for(let i=0;i<data.length;i++){
+          let d=data[i]
+          if(d.year===currentYear && d.month===currentMonth){
+            this.editForm.dateId=d.id;
+          }
+        }
+      });
+    },
+    submitForm(){
+      alert('提交')
     }
   }
 }