瀏覽代碼

前端: 日常评价企管法规处评价可编辑保存

baichengfei 4 年之前
父節點
當前提交
14f8381a8f

+ 79 - 9
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis/_opera/evaluate.vue

@@ -35,7 +35,7 @@
               <el-button type="primary" size="mini" style="margin-left: 8px" @click="commonAuditClick(1)">提交审核</el-button> -->
 
           <el-button type="primary" size="mini"
-                     v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)"
+                     v-if="(Number(formData.Status) <= 0 && saveButton) || (formData.Status == '4' && auditBtn)  || (formData.Status == '7' && auditBtn)"
                      @click="onSeaveBigAdd">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
@@ -392,14 +392,14 @@ export default {
           break
         //  企管法规处
         case 7:
-          // this.onSeaveBigAdd()
+          this.onSeaveBigAdd()
           this.$refs.submitpopup.dialogCommonAuditMakeSureVisible = true
           break
       }
     },
     //  保存评价
     onSeaveBigAdd () {
-      if (this.formData.Status != '4') { //  普通二级用户评价evaluation_listType_one
+      if (this.formData.Status <= 0) { //  普通二级用户评价evaluation_listType_one
         this.evaluation_list = this.$refs.evaluation_list_one.entityListData.entityList
         if (this.contractData.ContractClass == '02') {
           this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
@@ -423,7 +423,7 @@ export default {
             this.$message.error('业绩评价填写的分数有误')
           }
         })
-      } else { // 专业处室评价
+      } else if (this.formData.Status == 4) { // 专业处室评价
         this.evaluation_list = this.$refs.evaluation_list_two.entityListData.entityList
         let list = this.evaluation_list
         for (let i = 0; i < list.length; i++) {
@@ -436,13 +436,83 @@ export default {
           this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_two.entityListData.entityList)
         }
         //  获取第一列评价格式c
-        this.$refs.evaluation_list_one.$refs.formEvaluation.validate((valid) => {
+        this.$refs.evaluation_list_two.$refs.formEvaluation.validate((valid) => {
           if (valid) {
             this.majorEvaluate()
           } else {
             this.$message.error('业绩评价填写的分数有误')
           }
         })
+      } else if (this.formData.Status == 7) {
+        let secValid = false
+        let proValid = false
+        // 企管法规处审批时保存
+        // 预处理二级单位的保存
+        let secEvaList = this.$refs.evaluation_list_one.entityListData.entityList
+        if (this.contractData.ContractClass == '02') {
+          secEvaList = secEvaList.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
+        }
+        for (let i = 0; i < secEvaList.length; i++) {
+          if (Number(secEvaList[i].Score) > Number(secEvaList[i].NormalScore)) {
+            this.$message.error('业绩评价填写的分数不能大于标准分值')
+            return
+          }
+        }
+        this.$refs.evaluation_list_one.$refs.formEvaluation.validate((valid) => {
+          if (valid) {
+            secValid = true
+          } else {
+            this.$message.error('业绩评价填写的分数有误')
+          }
+        })
+        // 预处理专业处室的保存
+        let businessEvaList = this.$refs.evaluation_list_two.entityListData.entityList
+        for (let i = 0; i < businessEvaList.length; i++) {
+          if (Number(businessEvaList[i].Score) > Number(businessEvaList[i].NormalScore)) {
+            this.$message.error('业绩评价填写的分数不能大于标准分值')
+            return
+          }
+        }
+        if (this.contractData.ContractClass == '02') {
+          businessEvaList = businessEvaList.concat(this.$refs.evaluation_listType_two.entityListData.entityList)
+        }
+        this.$refs.evaluation_list_two.$refs.formEvaluation.validate((valid) => {
+          if (valid) {
+            proValid = true
+            // this.majorEvaluate()
+          } else {
+            this.$message.error('业绩评价填写的分数有误')
+          }
+        })
+        // 开始保存
+        if (secValid && proValid) {
+          // 二级单位
+          let secData = {
+            ContractId: this.contractData.Id,
+            Items: secEvaList
+          }
+          api.profUpdateSecEvaEntity(this.formData.Id, secData, this.$axios).then(secRes => {
+            if (secRes.data.code == 0) {
+              // 保存业务处室
+              let proData = {
+                Items: businessEvaList
+              }
+              api.saveSecEvaluation(this.formData.Id, proData, this.$axios).then(proRes => {
+                if (proRes.data.code == 0) {
+                  this.$message({
+                    type: 'success',
+                    message: proRes.data.message
+                  })
+                  this.refreshPage()
+                }
+              }).catch(err => {
+                console.error(err)
+              })
+            }
+          }).catch(err => {
+            console.error(err)
+          })
+        }
       }
     },
     // 专业处室评价
@@ -534,14 +604,14 @@ export default {
       console.log('params', params)
       apiCert.isAccess(params, this.$axios).then(res => {
         this.auditBtn = res.data
-        // if ((this.formData.Status == '4' || this.formData.Status == '7') && res.data) {
-        if (this.formData.Status == '4' && res.data) {
+        if ((this.formData.Status == '4' || this.formData.Status == '7') && res.data) {
+        // if (this.formData.Status == '4' && res.data) {
           this.auditBtnBooleanZhuan = true
         } else {
           this.auditBtnBooleanZhuan = false
         }
-        // if (Number(this.formData.Status) <= 0 || (this.formData.Status == '7' && res.data)) {
-        if (Number(this.formData.Status) <= 0) {
+        if (Number(this.formData.Status) <= 0 || (this.formData.Status == '7' && res.data)) {
+        // if (Number(this.formData.Status) <= 0) {
           this.auditBtnBoolean = true
         } else {
           this.auditBtnBoolean = false

+ 71 - 79
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods/_opera/baselist.vue

@@ -31,9 +31,9 @@
   </div>
 </template>
 <script>
-  import { mapGetters } from 'vuex';
-  // import api from '@/api/oilcontract/contractEvaluationItems';
-  import api from '@/api/oilcontract/contract'
+  import { mapGetters } from 'vuex'
+// import api from '@/api/oilcontract/contractEvaluationItems';
+import api from '@/api/oilcontract/contract'
 
   export default {
     computed: {
@@ -46,77 +46,75 @@
       // 评价id
       evaluateId: {
         type: null,
-        default:'',
+        default: ''
       },
       // 类型 0 二级部门创建 1 专业处创建
       category: {
         type: null,
-        default:'',
+        default: ''
       },
-      //项目类型
+      // 项目类型
       ContractClass: {
         type: null,
-        default:'',
+        default: ''
       },
-      //是否禁用
+      // 是否禁用
       disabledForm: {
         type: null,
-        default:false,
-      },
+        default: false
+      }
 
     },
-    data() {
+    data () {
       return {
-        tableLoading:false,
+        tableLoading: false,
         dialogVisible: false,
-        //列表数据
-        entityListData:{
-          entityList: [],
+        // 列表数据
+        entityListData: {
+          entityList: []
         },
-        //分页参数
+        // 分页参数
         size: 10,
         currentPage: 1,
         currentItemCount: 0,
-        //列表排序
+        // 列表排序
         Column: {
           Order: '',
           Prop: ''
         },
-        //查询时间new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000), new Date()
+        // 查询时间new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000), new Date()
         CreateOn: [],
-        //查询项
-        searchFormReset: {},
+        // 查询项
+        searchFormReset: {}
 
       }
     },
-    created() {
-      //查询条件初始值备份
-      Object.assign(this.searchFormReset, this.searchForm);
-      //查询列表
-      //this.initDatas();
-      //this.getDictOptions()
-
-        // 判断是编辑状态还是新增状态
-        if(this.evaluateId==0){
-          this.initDatas();
-        }else{
-          this.editDatas();
-        }
-
-
+    created () {
+      // 查询条件初始值备份
+      Object.assign(this.searchFormReset, this.searchForm)
+      // 查询列表
+      // this.initDatas();
+      // this.getDictOptions()
+
+      // 判断是编辑状态还是新增状态
+      if (this.evaluateId == 0) {
+        this.initDatas()
+      } else {
+        this.editDatas()
+      }
     },
     methods: {
-      initDatas() {
-        this.tableLoading = true;
+      initDatas () {
+        this.tableLoading = true
         var data = {
-          Category:2,
+          Category: 2
         }
-        api.evaluationItemsOnelist(data,this.ContractClass,this.$axios).then(res => {
-          this.tableLoading = false;
-          console.log('上级节点内容',res)
+        api.evaluationItemsOnelist(data, this.ContractClass, this.$axios).then(res => {
+          this.tableLoading = false
+          console.log('上级节点内容', res)
           var data = res.data.items
           var list = []
-          for(var index = 0 ; index < data.length ; index++){
+          for (var index = 0; index < data.length; index++) {
             data[index].typeStatus = index
             data[index].Value = 1
             data[index].Score = '0'
@@ -124,8 +122,8 @@
             // this.$set(data[index],'NormalScore','0')
             list.push(data[index])
 
-            if(data[index].Son!=null&&data[index].Son!=undefined){
-              for(var k = 0 ; k < data[index].Son.length ; k++){
+            if (data[index].Son != null && data[index].Son != undefined) {
+              for (var k = 0; k < data[index].Son.length; k++) {
                 data[index].Son[k].Category = 2
                 data[index].Son[k].typeStatus = index
                 data[index].Son[k].Value = 1
@@ -136,53 +134,48 @@
             }
           }
           this.entityListData.entityList = list
-          console.log('处理完的数据',list)
+          console.log('处理完的数据', list)
         }).catch(err => {
-          this.tableLoading = false;
+          this.tableLoading = false
           console.error(err)
         })
-
       },
-      //初始数据
-      editDatas() {
-        this.tableLoading = true;
+      // 初始数据
+      editDatas () {
+        this.tableLoading = true
         var data = {
-          ContentReviewId:this.evaluateId,
-          Category:this.category,
-          Type:2,
+          ContentReviewId: this.evaluateId,
+          Category: this.category,
+          Type: 2
         }
-        api.contractEvaluationTree(data,this.$axios).then(res => {
-          this.tableLoading = false;
-          console.log('编辑后的内容aaaaaaaaaaaaaaaaa',res)
+        api.contractEvaluationTree(data, this.$axios).then(res => {
+          this.tableLoading = false
+          console.log('编辑后的内容aaaaaaaaaaaaaaaaa', res)
           var data = res.data.items
           var list = []
-          for(var index = 0 ; index < data.length ; index++){
+          for (var index = 0; index < data.length; index++) {
             data[index].typeStatus = index
-            data[index].Value = data[index].Value==undefined||data[index].Value==''?'0':data[index].Value
+            data[index].Value = data[index].Value == undefined || data[index].Value == '' ? '0' : data[index].Value
             data[index].Category = 2
             list.push(data[index])
-            if(data[index].Son!=null&&data[index].Son!=undefined){
-              for(var k = 0 ; k < data[index].Son.length ; k++){
+            if (data[index].Son != null && data[index].Son != undefined) {
+              for (var k = 0; k < data[index].Son.length; k++) {
                 data[index].Son[k].Category = 2
                 data[index].Son[k].typeStatus = index
-                data[index].Son[k].Value = data[index].Son[k].Value==undefined||data[index].Son[k].Value==''?'0':data[index].Value
+                data[index].Son[k].Value = data[index].Son[k].Value == undefined || data[index].Son[k].Value == '' ? '0' : data[index].Value
                 list.push(data[index].Son[k])
               }
             }
           }
           this.entityListData.entityList = list
-          console.log('处理完的数据',list)
+          console.log('处理完的数据', list)
         }).catch(err => {
-          this.tableLoading = false;
+          this.tableLoading = false
           console.error(err)
         })
       },
 
-
-
-
-
-      jstimehandle(val) {
+      jstimehandle (val) {
         if (val === '') {
           return '----'
         } else if (val === '0001-01-01T08:00:00+08:00') {
@@ -195,20 +188,19 @@
         }
       },
 
-      formatDateTime(date) {
-        var y = date.getFullYear();
-        var m = date.getMonth() + 1;
-        m = m < 10 ? ('0' + m) : m;
-        var d = date.getDate();
-        d = d < 10 ? ('0' + d) : d;
-        var h = date.getHours();
-        var minute = date.getMinutes();
-        minute = minute < 10 ? ('0' + minute) : minute;
-        return y + '-' + m + '-' + d + ' ' + h + ':' + minute;
+      formatDateTime (date) {
+        var y = date.getFullYear()
+        var m = date.getMonth() + 1
+        m = m < 10 ? ('0' + m) : m
+        var d = date.getDate()
+        d = d < 10 ? ('0' + d) : d
+        var h = date.getHours()
+        var minute = date.getMinutes()
+        minute = minute < 10 ? ('0' + minute) : minute
+        return y + '-' + m + '-' + d + ' ' + h + ':' + minute
       }
     }
   }
-
 </script>
 
 <style lang="scss">

+ 78 - 7
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods/_opera/evaluate.vue

@@ -35,7 +35,7 @@
               <el-button type="primary" size="mini" style="margin-left: 8px" @click="commonAuditClick(1)">提交审核</el-button> -->
 
           <el-button type="primary" size="mini"
-                     v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)"
+                     v-if="(Number(formData.Status) <= 0 && saveButton) || (formData.Status == '4' && auditBtn)  || (formData.Status == '7' && auditBtn)"
                      @click="onSeaveBigAdd">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
@@ -385,7 +385,8 @@ export default {
           this.$refs.submitpopup.dialogCommonAuditMakeSureVisible = true
           break;
         // 企管法规处
-        case 7:
+        case 7
+          this.onSeaveBigAdd():
           this.$refs.submitpopup.dialogCommonAuditMakeSureVisible = true
           break;
       }
@@ -397,7 +398,7 @@ export default {
     },
     //保存评价
     onSeaveBigAdd() {
-      if (this.formData.Status != '4') {//普通二级用户评价evaluation_listType_one
+      if (this.formData.Status <= 0) { //  普通二级用户评价evaluation_listType_one
         this.evaluation_list = this.$refs.evaluation_list_one.entityListData.entityList
         if (this.contractData.ContractClass == '02') {
           this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
@@ -422,7 +423,7 @@ export default {
             this.$message.error('业绩评价填写的分数有误');
           }
         })
-      } else {//专业处室评价
+      } else if (this.formData.Status == 4) { // 专业处室评价
         this.evaluation_list = this.$refs.evaluation_list_two.entityListData.entityList
         var list = this.evaluation_list
         for (var i = 0; i < list.length; i++) {
@@ -435,13 +436,83 @@ export default {
           this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_two.entityListData.entityList)
         }
         // 获取第一列评价格式c
-        this.$refs.evaluation_list_one.$refs.formEvaluation.validate((valid) => {
+        this.$refs.evaluation_list_two.$refs.formEvaluation.validate((valid) => {
           if (valid) {
             this.majorEvaluate()
           } else {
             this.$message.error('业绩评价填写的分数有误');
           }
         })
+      } else if (this.formData.Status == 7) {
+        let secValid = false
+        let proValid = false
+        // 企管法规处审批时保存
+        // 预处理二级单位的保存
+        let secEvaList = this.$refs.evaluation_list_one.entityListData.entityList
+        if (this.contractData.ContractClass == '02') {
+          secEvaList = secEvaList.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
+        }
+        for (let i = 0; i < secEvaList.length; i++) {
+          if (Number(secEvaList[i].Score) > Number(secEvaList[i].NormalScore)) {
+            this.$message.error('业绩评价填写的分数不能大于标准分值')
+            return
+          }
+        }
+        this.$refs.evaluation_list_one.$refs.formEvaluation.validate((valid) => {
+          if (valid) {
+            secValid = true
+          } else {
+            this.$message.error('业绩评价填写的分数有误')
+          }
+        })
+        // 预处理专业处室的保存
+        let businessEvaList = this.$refs.evaluation_list_two.entityListData.entityList
+        for (let i = 0; i < businessEvaList.length; i++) {
+          if (Number(businessEvaList[i].Score) > Number(businessEvaList[i].NormalScore)) {
+            this.$message.error('业绩评价填写的分数不能大于标准分值')
+            return
+          }
+        }
+        if (this.contractData.ContractClass == '02') {
+          businessEvaList = businessEvaList.concat(this.$refs.evaluation_listType_two.entityListData.entityList)
+        }
+        this.$refs.evaluation_list_two.$refs.formEvaluation.validate((valid) => {
+          if (valid) {
+            proValid = true
+            // this.majorEvaluate()
+          } else {
+            this.$message.error('业绩评价填写的分数有误')
+          }
+        })
+        // 开始保存
+        if (secValid && proValid) {
+          // 二级单位
+          let secData = {
+            ContractId: this.contractData.Id,
+            Items: secEvaList
+          }
+          api.profUpdateSecEvaEntity(this.formData.Id, secData, this.$axios).then(secRes => {
+            if (secRes.data.code == 0) {
+              // 保存业务处室
+              let proData = {
+                Items: businessEvaList
+              }
+              api.saveSecEvaluation(this.formData.Id, proData, this.$axios).then(proRes => {
+                if (proRes.data.code == 0) {
+                  this.$message({
+                    type: 'success',
+                    message: proRes.data.message
+                  })
+                  this.refreshPage()
+                }
+              }).catch(err => {
+                console.error(err)
+              })
+            }
+          }).catch(err => {
+            console.error(err)
+          })
+        }
       }
     },
     //专业处室评价
@@ -534,12 +605,12 @@ export default {
       }
       apiCert.isAccess(params, this.$axios).then(res => {
         this.auditBtn = res.data
-        if (this.formData.Status == '4' && res.data) {
+        if ((this.formData.Status == '4' || this.formData.Status == '7') && res.data) {
           this.auditBtnBooleanZhuan = true
         } else {
           this.auditBtnBooleanZhuan = false
         }
-        if (Number(this.formData.Status) <= 0) {
+        if (Number(this.formData.Status) <= 0 || (this.formData.Status == '7' && res.data)) {
           this.auditBtnBoolean = true
         } else {
           this.auditBtnBoolean = false