Ver Fonte

修改完bug提交 9.30

王宇昕 há 5 anos atrás
pai
commit
1bf72e7220
19 ficheiros alterados com 670 adições e 559 exclusões
  1. 2 2
      src/dashoo.cn/frontend_web/nuxt.config.js
  2. 3 2
      src/dashoo.cn/frontend_web/src/api/oilcontract/contract.js
  3. 21 0
      src/dashoo.cn/frontend_web/src/api/oilcontract/evaluationItems.js
  4. 9 0
      src/dashoo.cn/frontend_web/src/api/oilcontract/workOrder.js
  5. 4 4
      src/dashoo.cn/frontend_web/src/assets/styles/common.css
  6. 35 16
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis-year/_opera/operation.vue
  7. 15 8
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis/_opera/evaluate.vue
  8. 36 11
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods-year/_opera/operation.vue
  9. 18 4
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods/_opera/evaluate.vue
  10. 50 24
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-import/_opera/operation.vue
  11. 38 14
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/_opera/operation.vue
  12. 20 4
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/_opera/evaluate.vue
  13. 127 20
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-work-order/_opera/operation.vue
  14. 0 305
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-work-order/_opera/operation_check.vue
  15. 20 0
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-work-order/index.vue
  16. 115 63
      src/dashoo.cn/frontend_web/src/pages/oilcontract/evaluation-items/baselist.vue
  17. 114 43
      src/dashoo.cn/frontend_web/src/pages/oilcontract/evaluation-items/evaluationlist.vue
  18. 6 6
      src/dashoo.cn/frontend_web/src/pages/oilcontract/evaluation-items/index.vue
  19. 37 33
      src/dashoo.cn/frontend_web/src/utils/util.js

+ 2 - 2
src/dashoo.cn/frontend_web/nuxt.config.js

@@ -172,9 +172,9 @@ module.exports = {
 
   axios: {
     // baseURL: '//192.168.1.44:10091/api/' // 本机开发使用
-     // baseURL: '//localhost:10091/api/' // 本机开发使用
+     baseURL: '//localhost:10091/api/' // 本机开发使用
     // baseURL: '//192.168.1.41:10091/api/' // 本机开发使用
-    baseURL: '//192.168.124.13:10091/api/' // 本机开发使用
+    // baseURL: '//192.168.124.13:10091/api/' // 本机开发使用
 
     /* --------Nuxt Start发版用 START-------------- */
     // baseURL: '/api/'

+ 3 - 2
src/dashoo.cn/frontend_web/src/api/oilcontract/contract.js

@@ -16,7 +16,7 @@ export default {
       method: 'GET',
     });
   },
-  
+
 
   //初审
   contractUnitAudit(entityId,params, myAxios) {
@@ -86,10 +86,11 @@ export default {
   },
 
   //工单确认
-  contractOrderUpdate(entityId, myAxios) {
+  contractOrderUpdate(formData,entityId, myAxios) {
     return myAxios({
       url: '/contract-order/update/'+entityId,
       method: 'post',
+      data: formData
     });
   },
 

+ 21 - 0
src/dashoo.cn/frontend_web/src/api/oilcontract/evaluationItems.js

@@ -21,6 +21,7 @@ export default {
   //     method: 'GET',
   //   });
   // },
+
   // 最初始的上级节点
   evaluationItemsOnelist(entityId,type, myAxios) {
     return myAxios({
@@ -29,6 +30,26 @@ export default {
     });
   },
 
+  // 编辑上级节点
+  updateContractEvaluate(entityId,formData, myAxios) {
+    return myAxios({
+      url: '/evaluation-items/update/'+entityId,
+      method: 'post',
+      data: formData
+    });
+  },
+
+  // 添加上级节点
+  addContractEvaluate(formData, myAxios) {
+    return myAxios({
+      url: '/evaluation-items/add',
+      method: 'post',
+      data: formData
+    });
+  },
+
+
+
 
   getList(CreateOn, params, myAxios) {
     return myAxios({

+ 9 - 0
src/dashoo.cn/frontend_web/src/api/oilcontract/workOrder.js

@@ -12,4 +12,13 @@ export default {
         method: 'delete'
       })
     },
+    getReviewList(params, myAxios) {
+      return myAxios({
+        url: '/contract-review/list',
+        method: 'GET',
+        params: params
+      });
+    },
+    
+    
 }

+ 4 - 4
src/dashoo.cn/frontend_web/src/assets/styles/common.css

@@ -7,12 +7,12 @@
 
 
 .advancedsearchFormClass /deep/ .el-input--suffix .el-input__inner{
-  height: 28px;
-  font-size: 12px;
+  height: 28px !important;
+  font-size: 12px !important;
 }
 .advancedsearchFormClass /deep/ .el-input__inner{
-  height: 28px;
-  font-size: 12px;
+  height: 28px !important;
+  font-size: 12px !important;
 }
 .advancedsearchFormClass /deep/ .el-select{
   width: 100%;

+ 35 - 16
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis-year/_opera/operation.vue

@@ -4,7 +4,7 @@
   <div>
     <el-breadcrumb class="heading">
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">合同表</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">承包商年度评价</el-breadcrumb-item>
       <el-breadcrumb-item>编辑</el-breadcrumb-item>
     </el-breadcrumb>
 
@@ -22,7 +22,7 @@
            <el-button type="primary" size="mini" style="margin-left: 8px" v-if="Number(formData.Status)<=0&&formData.Id!=0&&checkBoolean" @click="commonAuditClick(0)">提交审核</el-button>
 
 
-          <el-button type="primary" size="mini" v-if="Number(formData.Status)<=0||(formData.Status=='4'&&auditBtn)" @click="saveEntity">保存</el-button>
+          <el-button type="primary" size="mini" v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)" @click="saveEntity">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
       </div>
@@ -107,12 +107,12 @@
           </el-card>
         </el-tab-pane>
         <!-- 普通 -->
-        <el-tab-pane label="条件评价" name="2" >
+        <el-tab-pane label="条件评价" name="2" v-if="formData.ContractClass=='02'&&false">
           <baseList ref="evaluateDataRef" :baseData="evaluateData" :evaluateId="formData.Id" :category="0" :ContractClass="formData.ContractClass" :disabledForm="auditBtnBoolean"></baseList>
         </el-tab-pane>
 
         <!-- 专业处室 -->
-        <el-tab-pane label="专业处室评价信息" name="3" v-if="departmentBoolean&&formData.ContractClass=='02'">
+        <el-tab-pane label="专业处室评价信息" name="3" v-if="departmentBoolean">
           <el-card class="box-card" style="mini-height: calc(100vh - 113px);">
             <el-form label-width="160px" ref="EntityForm" :model="evaluateDataZhuan" :rules="rules">
               <el-row>
@@ -185,7 +185,7 @@
           </el-card>
         </el-tab-pane>
         <!-- 专业处室 -->
-        <el-tab-pane label="专业处室条件评价" name="4" v-if="departmentBoolean&&formData.ContractClass=='02'">
+        <el-tab-pane label="专业处室条件评价" name="4" v-if="departmentBoolean&&formData.ContractClass=='02'&&false">
           <baseList ref="evaluateDataZhuanRef" :baseData="evaluateDataZhuan" :evaluateId="formData.Id" :category="1" :ContractClass="formData.ContractClass" :disabledForm="auditBtnBooleanZhuan"></baseList>
         </el-tab-pane>
 
@@ -321,6 +321,7 @@
 
         departmentBoolean:false,
         checkBoolean:false,
+        saveButton:false,
       }
     },
     watch:{
@@ -369,6 +370,19 @@
         }).catch(err => {
           console.error(err)
         })
+        var data = {
+          percode:'oil_contract.SumStore.Save',
+        }
+        permissionApi.permissionIsauth(data, this.$axios).then(res => {
+          console.log('权限',res.data)
+          if(res.data.code==0){
+            if(res.data.message=='有权限'){
+              this.saveButton = true
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
       },
       //刷新数据接口
       refreshPage(){
@@ -467,7 +481,9 @@
           // this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
           // 获取第一列评价格式
           // var fractionBoolean_1 = this.$refs.evaluation_list_one.fractionBoolean
-          this.typeList = this.$refs.evaluateDataRef.typeList
+          
+          // 先隐藏条件评价
+          // this.typeList = this.$refs.evaluateDataRef.typeList
           this.$refs['EntityForm'].validate((valid) => {
             if (valid) {
               // if(fractionBoolean_1){
@@ -500,9 +516,10 @@
       },
       //专业处室评价
       majorEvaluate(){
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateDataZhuan['B'+i] = parseInt(this.typeList[i-1].value)
-        }
+        // 先隐藏条件评价
+        // for(var i = 1 ; i <= 8 ; i++){
+        //   this.evaluateDataZhuan['B'+i] = parseInt(this.typeList[i-1].value)
+        // }
         var formData = this.evaluateDataZhuan
         api.saveSecEvaluation(this.formData.Id,formData, this.$axios).then(res => {
           console.log('新增',res)
@@ -519,10 +536,11 @@
       },
       //新增评价
       addEntity() {
+        // 先隐藏条件评价
         this.evaluateData.Conclusion  = parseInt( this.evaluateData.Conclusion )
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
-        }
+        // for(var i = 1 ; i <= 8 ; i++){
+        //   this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+        // }
         api.addEntity(this.evaluateData, this.$axios).then(res => {
           if (res.data.code === 0) {
             this.formData.Id = res.data.item;
@@ -543,10 +561,11 @@
       },
 
       updateEntity() {
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
-        }
-        api.updateEntity(this.evaluateData.Id, this.evaluateData, this.$axios).then(res => {
+        // 先隐藏条件评价
+        // for(var i = 1 ; i <= 8 ; i++){
+        //   this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+        // }
+        api.updateEntity(this.formData.Id, this.evaluateData, this.$axios).then(res => {
           if (res.data.code === 0) {
             this.refreshPage();
             this.$message({

+ 15 - 8
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis/_opera/evaluate.vue

@@ -4,7 +4,7 @@
   <div>
     <el-breadcrumb class="heading">
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilcontract/contract-basis' }">承包商合同表</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilcontract/contract-basis' }">承包商评价</el-breadcrumb-item>
       <el-breadcrumb-item>编辑</el-breadcrumb-item>
     </el-breadcrumb>
 
@@ -27,7 +27,7 @@
           <el-button type="primary" size="mini" style="margin-left: 8px" @click="commonAuditClick(2)">复审</el-button>
           <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||(formData.Status=='4'&&auditBtn)" @click="onSeaveBigAdd">保存</el-button>
+          <el-button type="primary" size="mini" v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)" @click="onSeaveBigAdd">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
       </div>
@@ -206,6 +206,7 @@
 
         departmentBoolean:false,
         checkBUtton:false,//提交审核按钮
+        saveButton:false,//保存按钮
 
       }
     },
@@ -240,7 +241,6 @@
           percode:'oil_contract.Review.Department',
         }
         permissionApi.permissionIsauth(data, this.$axios).then(res => {
-          console.log('权限',res.data)
           if(res.data.code==0){
             if(res.data.message=='有权限'){
               this.departmentBoolean = true
@@ -249,11 +249,8 @@
         }).catch(err => {
           console.error(err)
         })
-        var data = {
-          percode:'oil_contract.Review.Check',
-        }
+        var data = {percode:'oil_contract.Review.Check',}
         permissionApi.permissionIsauth(data, this.$axios).then(res => {
-          console.log('权限',res.data)
           if(res.data.code==0){
             if(res.data.message=='有权限'){
               this.checkBUtton = true
@@ -262,6 +259,17 @@
         }).catch(err => {
           console.error(err)
         })
+        var data = {percode:'oil_contract.Review.Save',}
+        permissionApi.permissionIsauth(data, this.$axios).then(res => {
+          console.log('权限',res.data)
+          if(res.data.code==0){
+            if(res.data.message=='有权限'){
+              this.saveButton = true
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
 
       },
       //刷新数据接口
@@ -385,7 +393,6 @@
       //专业处室评价
       majorEvaluate(){
         // var formData = this.evaluation_list
-
         var data = {
           Items:this.evaluation_list,
         }

+ 36 - 11
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods-year/_opera/operation.vue

@@ -4,7 +4,7 @@
   <div>
     <el-breadcrumb class="heading">
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">合同表</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">供应商年度评价</el-breadcrumb-item>
       <el-breadcrumb-item>编辑</el-breadcrumb-item>
     </el-breadcrumb>
 
@@ -22,7 +22,7 @@
            <el-button type="primary" size="mini" style="margin-left: 8px" v-if="Number(formData.Status)<=0&&formData.Id!=0&&checkBoolean" @click="commonAuditClick(0)">提交审核</el-button>
 
 
-          <el-button type="primary" size="mini" v-if="Number(formData.Status)<=0||(formData.Status=='4'&&auditBtn)" @click="saveEntity">保存</el-button>
+          <el-button type="primary" size="mini" v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)" @click="saveEntity">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
       </div>
@@ -306,6 +306,7 @@
 
         departmentBoolean:false,
         checkBoolean:false,
+        saveButton:false,
       }
     },
     watch:{
@@ -354,6 +355,19 @@
         }).catch(err => {
           console.error(err)
         })
+        var data = {
+          percode:'oil_contract.SumStore.Save',
+        }
+        permissionApi.permissionIsauth(data, this.$axios).then(res => {
+          console.log('权限',res.data)
+          if(res.data.code==0){
+            if(res.data.message=='有权限'){
+              this.saveButton = true
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
 
       },
       //刷新数据接口
@@ -453,7 +467,10 @@
           // this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
           // 获取第一列评价格式
           // var fractionBoolean_1 = this.$refs.evaluation_list_one.fractionBoolean
-          this.typeList = this.$refs.evaluateDataRef.typeList
+
+          if(this.formData.ContractClass=='02'){
+            this.typeList = this.$refs.evaluateDataRef.typeList
+          }
           this.$refs['EntityForm'].validate((valid) => {
             if (valid) {
               // if(fractionBoolean_1){
@@ -474,7 +491,9 @@
           // this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_two.entityListData.entityList)
           // // 获取第一列评价格式
           // var fractionBoolean_1 = this.$refs.evaluation_list_two.fractionBoolean
-          this.typeList = this.$refs.evaluateDataZhuanRef.typeList
+          if(this.formData.ContractClass=='02'){
+            this.typeList = this.$refs.evaluateDataZhuanRef.typeList
+          }
           this.$refs['EntityForm'].validate((valid) => {
             if (valid) {
                 this.majorEvaluate()
@@ -486,8 +505,10 @@
       },
       //专业处室评价
       majorEvaluate(){
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateDataZhuan['B'+i] = parseInt(this.typeList[i-1].value)
+        if(this.formData.ContractClass=='02'){
+          for(var i = 1 ; i <= 8 ; i++){
+            this.evaluateDataZhuan['B'+i] = parseInt(this.typeList[i-1].value)
+          }
         }
         var formData = this.evaluateDataZhuan
         api.saveSecEvaluation(this.formData.Id,formData, this.$axios).then(res => {
@@ -506,8 +527,10 @@
       //新增评价
       addEntity() {
         this.evaluateData.Conclusion  = parseInt( this.evaluateData.Conclusion )
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+        if(this.formData.ContractClass=='02'){
+          for(var i = 1 ; i <= 8 ; i++){
+            this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+          }
         }
         api.addEntity(this.evaluateData, this.$axios).then(res => {
           if (res.data.code === 0) {
@@ -529,10 +552,12 @@
       },
 
       updateEntity() {
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+        if(this.formData.ContractClass=='02'){
+          for(var i = 1 ; i <= 8 ; i++){
+            this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+          }
         }
-        api.updateEntity(this.evaluateData.Id, this.evaluateData, this.$axios).then(res => {
+        api.updateEntity(this.formData.Id, this.evaluateData, this.$axios).then(res => {
           if (res.data.code === 0) {
             this.refreshPage();
             this.$message({

+ 18 - 4
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods/_opera/evaluate.vue

@@ -4,7 +4,7 @@
   <div>
     <el-breadcrumb class="heading">
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilcontract/contract-basis' }">供应商合同表</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilcontract/contract-basis' }">供应商评价</el-breadcrumb-item>
       <el-breadcrumb-item>编辑</el-breadcrumb-item>
     </el-breadcrumb>
 
@@ -27,7 +27,7 @@
           <el-button type="primary" size="mini" style="margin-left: 8px" @click="commonAuditClick(2)">复审</el-button>
           <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||(formData.Status=='4'&&auditBtn)" @click="onSeaveBigAdd">保存</el-button>
+          <el-button type="primary" size="mini" v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)" @click="onSeaveBigAdd">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
       </div>
@@ -206,6 +206,7 @@
 
         departmentBoolean:false,
         checkBUtton:false,
+        saveButton:false,
 
       }
     },
@@ -262,6 +263,17 @@
         }).catch(err => {
           console.error(err)
         })
+        var data = {percode:'oil_contract.Review.Save',}
+        permissionApi.permissionIsauth(data, this.$axios).then(res => {
+          console.log('权限',res.data)
+          if(res.data.code==0){
+            if(res.data.message=='有权限'){
+              this.saveButton = true
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
       },
       //刷新数据接口
       refreshPage(){
@@ -384,8 +396,10 @@
       },
       //专业处室评价
       majorEvaluate(){
-        var formData = this.evaluation_list
-        api.saveSecEvaluation(this.formData.Id,formData, this.$axios).then(res => {
+        var data = {
+          Items:this.evaluation_list,
+        }
+        api.saveSecEvaluation(this.formData.Id,data, this.$axios).then(res => {
           console.log('新增',res)
           if(res.data.code==0){
             this.$message({

+ 50 - 24
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-import/_opera/operation.vue

@@ -14,7 +14,7 @@
           <i class="icon icon-table2"></i> {{formData.Id==0?'新增':'编辑'}}
         </span>
         <span style="float: right;">
-          <!-- v-if="formData.Id!=0&&formData.Status==7" -->
+          <!--  v-if="issueVisibleButton" -->
           <el-button type="primary" size="mini" v-if="issueVisibleButton" @click="issueVisible=true">下发</el-button>
           <el-button type="primary" size="mini" v-if="succseButton&&formData.Id!=0" @click="onFinish">完结</el-button>
           <el-button type="primary" size="mini" v-if="successBoolean"  @click="exportExcel">导出</el-button>
@@ -252,6 +252,7 @@
   import util from '@/utils/util'
   import apiType from '@/api/oilsupplier/suppliercert'
   import permissionApi from '@/api/oilcontract/permission';
+  import dataapi from '@/api/oilsupplier/dataentry'
 
   import FileSaver from 'file-saver'
   import XLSX from 'xlsx'
@@ -499,8 +500,8 @@
             console.log(this.$refs['issueFromSelect'].selectedLabel)
             var data = {
               ContractId:this.formData.Id,
-              AuditId:this.issueFrom.region,
-              AuditBy:this.$refs['issueFromSelect'].selectedLabel,
+              UnitId:this.issueFrom.region,
+              UnitBy:this.$refs['issueFromSelect'].selectedLabel,
             }
             api.contractOrderAdd(data, this.$axios).then(res => {
               console.log('下发成功',res)
@@ -658,27 +659,52 @@
         }
       },
       exportExcel () {
-        /* generate workbook object from table */
-        let wb = XLSX.utils.table_to_book(
-          document.querySelector('#rebateSetTable')
-        )
-        /* get binary string as output */
-        let wbout = XLSX.write(wb, {
-          bookType: 'xlsx',
-          bookSST: true,
-          type: 'array'
-        })
-        try {
-          FileSaver.saveAs(
-            new Blob([wbout], {
-              type: 'application/octet-stream'
-            }),
-            'SupplierUsedName.xlsx'
-          )
-        } catch (e) {
-          if (typeof console !== 'undefined') console.log(e, wbout)
-        }
-        return wbout
+        // let id = this.formData.Id
+        // let params = {
+        //   CertId: this.certId
+        // }
+        // dataapi.docexport(id, params, this.$axios)
+        //   .then(res => {
+        //     // response
+        //     if (res.data.code === 0) {
+        //       // this.$message({
+        //       //   type: 'success'
+        //       //   message: res.data.message
+        //       // })
+        //       let docurl = res.data.item
+        //       // 内网服务器专用
+        //       if (process.client && docurl.indexOf('upfile') === 0) {
+        //         const myDomain = window.location.host
+        //         location.href = 'http://' + myDomain + '/' + docurl
+        //       } else {
+        //         location.href = 'http://' + docurl
+        //       }
+        //     }
+        //   }).catch(err => {
+        //     console.error(err)
+        //   })
+        
+        // /* generate workbook object from table */
+        // let wb = XLSX.utils.table_to_book(
+        //   document.querySelector('#rebateSetTable')
+        // )
+        // /* get binary string as output */
+        // let wbout = XLSX.write(wb, {
+        //   bookType: 'xlsx',
+        //   bookSST: true,
+        //   type: 'array'
+        // })
+        // try {
+        //   FileSaver.saveAs(
+        //     new Blob([wbout], {
+        //       type: 'application/octet-stream'
+        //     }),
+        //     'SupplierUsedName.xlsx'
+        //   )
+        // } catch (e) {
+        //   if (typeof console !== 'undefined') console.log(e, wbout)
+        // }
+        // return wbout
       },
       formatDateTime(date) {
         var y = date.getFullYear();

+ 38 - 14
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/_opera/operation.vue

@@ -4,7 +4,7 @@
   <div>
     <el-breadcrumb class="heading">
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">合同表</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">服务商年度评价</el-breadcrumb-item>
       <el-breadcrumb-item>编辑</el-breadcrumb-item>
     </el-breadcrumb>
 
@@ -22,7 +22,7 @@
            <el-button type="primary" size="mini" style="margin-left: 8px" v-if="Number(formData.Status)<=0&&formData.Id!=0&&checkBoolean" @click="commonAuditClick(0)">提交审核</el-button>
 
 
-          <el-button type="primary" size="mini" v-if="Number(formData.Status)<=0||(formData.Status=='4'&&auditBtn)" @click="saveEntity">保存</el-button>
+          <el-button type="primary" size="mini" v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)" @click="saveEntity">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
       </div>
@@ -87,12 +87,12 @@
           </el-card>
         </el-tab-pane>
         <!-- 普通 -->
-        <el-tab-pane label="条件评价" name="2" >
+        <el-tab-pane label="条件评价" name="2" v-if="formData.ContractClass=='02'">
           <baseList ref="evaluateDataRef" :baseData="evaluateData" :evaluateId="formData.Id" :category="0" :ContractClass="formData.ContractClass" :disabledForm="auditBtnBoolean"></baseList>
         </el-tab-pane>
 
         <!-- 专业处室 -->
-        <el-tab-pane label="专业处室评价信息" name="3" v-if="departmentBoolean&&formData.ContractClass=='02'">
+        <el-tab-pane label="专业处室评价信息" name="3" v-if="departmentBoolean">
           <el-card class="box-card" style="mini-height: calc(100vh - 113px);">
             <el-form label-width="160px" ref="EntityForm" :model="evaluateDataZhuan" :rules="rules">
               <el-row>
@@ -301,6 +301,7 @@
 
         departmentBoolean:false,
         checkBoolean:false,
+        saveButton:false,
       }
     },
     watch:{
@@ -349,6 +350,19 @@
         }).catch(err => {
           console.error(err)
         })
+        var data = {
+          percode:'oil_contract.SumStore.Save',
+        }
+        permissionApi.permissionIsauth(data, this.$axios).then(res => {
+          console.log('权限',res.data)
+          if(res.data.code==0){
+            if(res.data.message=='有权限'){
+              this.saveButton = true
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
       },
       //刷新数据接口
       refreshPage(){
@@ -447,7 +461,9 @@
           // this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_one.entityListData.entityList)
           // 获取第一列评价格式
           // var fractionBoolean_1 = this.$refs.evaluation_list_one.fractionBoolean
-          this.typeList = this.$refs.evaluateDataRef.typeList
+          if(this.formData.ContractClass=='02'){
+            this.typeList = this.$refs.evaluateDataRef.typeList
+          }
           this.$refs['EntityForm'].validate((valid) => {
             if (valid) {
               // if(fractionBoolean_1){
@@ -468,7 +484,9 @@
           // this.evaluation_list = this.evaluation_list.concat(this.$refs.evaluation_listType_two.entityListData.entityList)
           // // 获取第一列评价格式
           // var fractionBoolean_1 = this.$refs.evaluation_list_two.fractionBoolean
-          this.typeList = this.$refs.evaluateDataZhuanRef.typeList
+          if(this.formData.ContractClass=='02'){
+            this.typeList = this.$refs.evaluateDataZhuanRef.typeList
+          }
           this.$refs['EntityForm'].validate((valid) => {
             if (valid) {
                 this.majorEvaluate()
@@ -480,9 +498,11 @@
       },
       //专业处室评价
       majorEvaluate(){
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateDataZhuan['B'+i] = parseInt(this.typeList[i-1].value)
-        }
+       if(this.formData.ContractClass=='02'){
+         for(var i = 1 ; i <= 8 ; i++){
+           this.evaluateDataZhuan['B'+i] = parseInt(this.typeList[i-1].value)
+         }
+       }
         var formData = this.evaluateDataZhuan
         api.saveSecEvaluation(this.formData.Id,formData, this.$axios).then(res => {
           console.log('新增',res)
@@ -500,8 +520,10 @@
       //新增评价
       addEntity() {
         this.evaluateData.Conclusion  = parseInt( this.evaluateData.Conclusion )
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+        if(this.formData.ContractClass=='02'){
+          for(var i = 1 ; i <= 8 ; i++){
+            this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+          }
         }
         api.addEntity(this.evaluateData, this.$axios).then(res => {
           if (res.data.code === 0) {
@@ -523,10 +545,12 @@
       },
 
       updateEntity() {
-        for(var i = 1 ; i <= 8 ; i++){
-          this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+        if(this.formData.ContractClass=='02'){
+          for(var i = 1 ; i <= 8 ; i++){
+            this.evaluateData['B'+i] = parseInt(this.typeList[i-1].value)
+          }
         }
-        api.updateEntity(this.evaluateData.Id, this.evaluateData, this.$axios).then(res => {
+        api.updateEntity(this.formData.Id, this.evaluateData, this.$axios).then(res => {
           if (res.data.code === 0) {
             this.refreshPage();
             this.$message({

+ 20 - 4
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/_opera/evaluate.vue

@@ -4,7 +4,7 @@
   <div>
     <el-breadcrumb class="heading">
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilcontract/contract-basis' }">服务商合同表</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilcontract/contract-basis' }">服务商评价</el-breadcrumb-item>
       <el-breadcrumb-item>编辑</el-breadcrumb-item>
     </el-breadcrumb>
 
@@ -27,7 +27,7 @@
           <el-button type="primary" size="mini" style="margin-left: 8px" @click="commonAuditClick(2)">复审</el-button>
           <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||(formData.Status=='4'&&auditBtn)" @click="onSeaveBigAdd">保存</el-button>
+          <el-button type="primary" size="mini" v-if="(Number(formData.Status)<=0&&saveButton)||(formData.Status=='4'&&auditBtn)" @click="onSeaveBigAdd">保存</el-button>
           <el-button @click="onBack" type="primary" size="mini" style="margin-left: 8px">返回</el-button>
         </span>
       </div>
@@ -206,6 +206,7 @@
 
         departmentBoolean:false,
         checkBUtton:false,
+        saveButton:false,
 
       }
     },
@@ -262,6 +263,19 @@
         }).catch(err => {
           console.error(err)
         })
+        var data = {
+          percode:'oil_contract.Review.Save',
+        }
+        permissionApi.permissionIsauth(data, this.$axios).then(res => {
+          console.log('权限',res.data)
+          if(res.data.code==0){
+            if(res.data.message=='有权限'){
+              this.saveButton = true
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
       },
       //刷新数据接口
       refreshPage(){
@@ -384,8 +398,10 @@
       },
       //专业处室评价
       majorEvaluate(){
-        var formData = this.evaluation_list
-        api.saveSecEvaluation(this.formData.Id,formData, this.$axios).then(res => {
+        var data = {
+          Items:this.evaluation_list,
+        }
+        api.saveSecEvaluation(this.formData.Id,data, this.$axios).then(res => {
           console.log('新增',res)
           if(res.data.code==0){
             this.$message({

+ 127 - 20
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-work-order/_opera/operation.vue

@@ -14,7 +14,7 @@
           <i class="icon icon-table2"></i> 详情
         </span>
         <span style="float: right;">
-          <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" v-if="this.workData.IsConfirm==0" @click="onSubmit">确认</el-button>
+          <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" v-if="this.workData.IsConfirm==0" @click="issueVisible=true">确认</el-button>
           <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="onBack">返回</el-button>
         </span>
       </div>
@@ -147,7 +147,7 @@
           </el-card>
 
         <!-- 评价信息 -->
-        <el-card class="box-card" style="mini-height: calc(100vh - 113px);margin-top: 10px;">
+        <!-- <el-card class="box-card" style="mini-height: calc(100vh - 113px);margin-top: 10px;">
           <div slot="header">
             <span>评价信息</span>
           </div>
@@ -201,12 +201,33 @@
               </el-col>
             </el-row>
           </el-form>
-        </el-card>
+        </el-card> -->
 
         </el-tab-pane>
       </el-tabs>
     </el-card>
 
+    <el-dialog
+      title="完成工单"
+      :visible.sync="issueVisible"
+      width="50%">
+        <div style="width: 100%;display: flex;justify-content: center;height: ;">
+          <el-form :inline="true" ref="issueFrom" :model="issueFrom" class="demo-form-inline " :rules="issueRules">
+
+            <el-form-item label="选择评价"  prop="region">
+              <el-select filterable ref="issueFromSelect" v-model="issueFrom.region" class="select_form" placeholder="请选择下发单位"  style="width: 100%;">
+                <el-option v-for="item in orgOptions" :key="item.Id" :label="valueFun(item.Id,item.Status,item.CreateBy,item.CreateOn)" :value="item.Id" style="width: 100%;"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-form>
+        </div>
+
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="issueVisible = false" size="small">取 消</el-button>
+          <el-button type="primary" @click="onSubmit" size="small">确 定</el-button>
+        </span>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -219,12 +240,66 @@
   import baseList from './baselist'
   import WfHistory from '@/components/workflow/wfhistory.vue'
   import oilsupplierApi from '@/api/oilsupplier/annualaudit'
+  import apiWork from '@/api/oilcontract/workOrder'
+  import util from '../../../../utils/util.js'
   export default {
     computed: {
       ...mapGetters({
         authUser: 'authUser'
       })
     },
+    computed:{
+      valueFun:function(){
+        return function(Id,Status,CreateBy,CreateOn){
+          var index = Number(Status)
+          var statusName = '';
+          switch(index){
+            case 0:
+              statusName = '已保存'
+            break;
+            case 1:
+              statusName = '待初审'
+            break;
+            case 2:
+              statusName = '待复审'
+            break;
+            case 3:
+              statusName = '专业科室接收'
+            break;
+            case 4:
+              statusName = '待专业科室审核'
+            break;
+            case 7:
+              statusName = '待企管法规处审批'
+            break;
+            case 8:
+              statusName = '已完成'
+            break;
+            case -1:
+              statusName = '初审未通过'
+            break;
+            case -2:
+              statusName = '复审未通过'
+            break;
+            case -3:
+              statusName = '专业处室未通过'
+            break;
+            case -4:
+              statusName = '专业处室审核未通过'
+            break;
+            case -7:
+              statusName = '企管法规处审批未通过'
+            break;
+            default:
+              statusName = '--'
+            break;
+          }
+          var value = `ID:${Id} ${statusName} ${CreateBy} ${util.formatDate('year',CreateOn)}`
+          console.log(value)
+          return value
+        }
+      }
+    },
     name: 'oilcontractEdit',
     components: {
       evaluationList,
@@ -234,6 +309,16 @@
 
     data() {
       return {
+        issueFrom:{
+          region:'',
+        },
+        issueRules:{
+          region: [
+              { required: true, message: '请选择评价', trigger: 'change' }
+          ],
+        },
+        orgOptions:[],
+        issueVisible:false,
         formDisabled:true,
         // 工作流
         entrydetail: {
@@ -259,8 +344,22 @@
         this.serviceId = this.$route.params.opera;
         this.workData = this.$route.query.item
         this.initDatas();
+        this.getEveList()
     },
     methods: {
+      //下发单位
+      getEveList() {
+        let _this = this
+        var data = {
+          ContractId:this.workData.ContractId,
+        }
+        apiWork.getReviewList(data, this.$axios).then(res => {
+          console.log('评价列表',res)
+          _this.orgOptions = res.data.items
+        }).catch(err => {
+          console.log(err)
+        })
+      },
       // 编辑详细信息拿id查合同
       initDatas() {
           api.getEntity(this.workData.ContractId, this.$axios).then(res => {
@@ -282,23 +381,32 @@
       },
       //工单确认按钮
       onSubmit(){
-        api.contractOrderUpdate(this.workData.ContractId, this.$axios).then(res => {
-          console.log('工单确认',res)
-          if(res.data.code==0){
-            this.$message({
-              type: 'success',
-              message: res.data.message
-            });
-          }else{
-            this.$message({
-              type: 'error',
-              message: res.data.message
-            });
-          }
-        }).catch(err => {
-          console.error(err)
-        })
+        this.$refs['issueFrom'].validate((valid) => {
+          if (valid) {
+            var data = {
+              ReviewId:this.issueFrom.region
+            }
+            api.contractOrderUpdate(data,this.workData.ContractId, this.$axios).then(res => {
+              console.log('工单确认',res)
+              if(res.data.code==0){
+                this.$message({
+                  type: 'success',
+                  message: res.data.message
+                });
+              }else{
+                this.$message({
+                  type: 'error',
+                  message: res.data.message
+                });
+              }
+            }).catch(err => {
+              console.error(err)
+            })
+            this.issueVisible = false
+          } else {
 
+          }
+        });
       },
       //保存信息
       saveEntity() {
@@ -310,7 +418,6 @@
             } else {
               this.updateEntity();
             }
-
           } else {
             return false
           }

+ 0 - 305
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-work-order/_opera/operation_check.vue

@@ -1,305 +0,0 @@
-
-
-<template>
-  <div>
-    <el-breadcrumb class="heading">
-      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
-      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">合同表</el-breadcrumb-item>
-      <el-breadcrumb-item>编辑</el-breadcrumb-item>
-    </el-breadcrumb>
-
-    <el-card class="box-card" style="mini-height: calc(100vh - 113px);">
-      <div slot="header">
-        <span>
-          <i class="icon icon-table2"></i> 编辑
-        </span>
-        <span style="float: right;">
-          <router-link :to="'/oilcontract/contract-basis-year'">
-            <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
-          </router-link>
-        </span>
-      </div>
-      <el-form label-width="110px" ref="EntityForm" :model="formData" label-position="top">
-        <el-row :gutter="20">
-          <el-col :span="8">
-            <el-form-item label="评价单位">
-              <el-select ref="SupplierSelect" v-model="formData.SupplierId" placeholder="请选择" style="width: 100%" @change="supplierChangeHandler">
-                <el-option key="1" label="采油一厂" value="1"></el-option>
-                <el-option key="2" label="科技信息处" value="2"></el-option>
-                <el-option key="3" label="信息中心" value="3"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="评价年度">
-              <el-input v-model="formData.ProjectName" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="承包商名称">
-              <el-select ref="SupplierSelect" v-model="formData.SupplierId" placeholder="请选择" style="width: 100%" @change="supplierChangeHandler">
-                <el-option key="1" label="天津油气公司" value="1"></el-option>
-                <el-option key="2" label="北京管道公司" value="2"></el-option>
-                <el-option key="3" label="上海监控公司" value="3"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="评价项目数量">
-              <el-input v-model="formData.ContractNo" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="评价项目当年完成合同总额(万元)">
-              <el-input v-model="formData.Amount" placeholder="请输入"  style="width: 100%">
-                <template slot="append">(万元)</template>
-              </el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="承包商联系人">
-              <el-input v-model="formData.ProjectOwner" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="联系电话">
-              <el-input v-model="formData.Telephone" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="基本条件评价结果">
-              <el-input v-model="formData.ContractMode" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="业绩评价结果">
-              <el-input v-model="formData.SubPackage" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="重要事件描述(适用于年度评价结论为观察使用及不合格情况)">
-              <el-input type="textarea" v-model="formData.OpenDate" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="24">
-            <el-form-item label="年度评价结论:(是推优吗?)">
-              <span>□优秀    □合格      □观察使用    □不合格</span>
-              <el-input type="textarea" v-model="formData.OpenDate" placeholder="请输入"  style="width: 100%"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="24">
-            <el-form-item label="评价单位及负责人(章):[流程]">
-              <span>年  月  日</span>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </el-card>
-
-  </div>
-</template>
-
-<script>
-  import {
-    mapGetters
-  } from 'vuex'
-  import api from '@/api/oilcontract/contract'
-  export default {
-    computed: {
-      ...mapGetters({
-        authUser: 'authUser'
-      })
-    },
-    name: 'oilcontractEdit',
-    data() {
-      return {
-        activeName: '1',
-        serviceId: '',
-        formData: {
-          Id: '',
-          SupplierId: '1',
-          SupplierName: '',
-          ProjectName: '',
-          ContractNo: '',
-          ProjectPlace: '',
-          ProjectOwner: '',
-          Telephone: '',
-          ProjectType: '1',
-          ContractMode: '',
-          Amount: '',
-          ContractPeriod: '',
-          OpenDate: '',
-          PlanFinishDate: '',
-          ConstructionUnit: '',
-          ConstructionOwner: '',
-          ConstructionTelphone: '',
-          BuildUnit: '',
-          BuildOwner: '',
-          BuildTelphone: '',
-          SuperviseUnit: '',
-          SuperviseOwner: '',
-          SuperviseTelphone: '',
-          QualityUnit: '',
-          QualityOwner: '',
-          QualityTelphone: '',
-          Remark: '',
-          IsDelete: '',
-          CreateOn: '',
-          CreateUserId: '',
-          CreateBy: '',
-          ModifiedOn: '',
-          ModifiedUserId: '',
-          ModifiedBy: '',
-          //缺少
-          SubPackage: '',
-          ContractType: ''
-
-        },
-
-        //下拉选择项
-        //wellNoOptions: [],
-        //supervisersOptions: [],
-
-      }
-    },
-    created() {
-      this.serviceId = this.$route.params.opera;
-      this.getDictOptions();
-      console.log(this.serviceId);
-      if(this.serviceId != 'add' && this.serviceId>0) {
-        this.formData.Id = this.serviceId;
-        this.initDatas();
-      } else {
-        this.formData.Id = 0;
-      }
-    },
-    methods: {
-      initDatas() {
-        if(this.formData.Id) {
-          api.getEntity(this.formData.Id, this.$axios).then(res => {
-            this.formData = res.data;
-          }).catch(err => {
-            console.error(err)
-          });
-        }
-      },
-
-      getDictOptions() {
-        api.getDictList(this.$axios).then(res => {
-          //this.wellNoOptions = res.data.items['WellNo']
-          //this.supervisersOptions = res.data.items['Supervisers']
-        }).catch(err => {
-          console.error(err)
-        })
-      },
-
-      //保存信息
-      saveEntity() {
-        this.$refs['EntityForm'].validate((valid) => {
-          if (valid) {
-            //this.formData.WellNo = this.$refs.selectWellNo.selectedLabel + '';
-
-            if (!this.formData.Id) {
-              this.addEntity();
-            } else {
-              this.updateEntity();
-            }
-
-          } else {
-            return false
-          }
-        })
-      },
-
-      addEntity() {
-        api.addEntity(this.formData, this.$axios).then(res => {
-          if (res.data.code === 0) {
-            //保存成功后,初始化数据,变成修改
-            this.formData.Id = res.data.item;
-            this.initDatas();
-            this.$message({
-              type: 'success',
-              message: res.data.message
-            });
-
-          } else {
-            this.$message({
-              type: 'warning',
-              message: res.data.message
-            });
-          }
-        }).catch(err => {
-          console.error(err)
-        });
-      },
-
-      updateEntity() {
-        api.updateEntity(this.formData.Id, this.formData, this.$axios).then(res => {
-          if (res.data.code === 0) {
-            //保存成功后,初始化数据,变成修改
-            this.initDatas();
-            this.$message({
-              type: 'success',
-              message: res.data.message
-            });
-
-          } else {
-            this.$message({
-              type: 'warning',
-              message: res.data.message
-            });
-          }
-        }).catch(err => {
-          console.error(err)
-        });
-      },
-
-      supplierChangeHandler() {
-        this.formData.SupplierName = this.$refs['SupplierSelect'].selectedLabel
-      },
-
-      jstimehandle(val) {
-        if (val === '') {
-          return '----'
-        } else if (val === '0001-01-01T08:00:00+08:00') {
-          return '----'
-        } else if (val === '5000-01-01T23:59:59+08:00') {
-          return '永久'
-        } else {
-          val = val.replace('T', ' ')
-          return val.substring(0, 10)
-        }
-      },
-
-      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">
-
-</style>

+ 20 - 0
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-work-order/index.vue

@@ -66,6 +66,18 @@
           </template>
         </el-table-column>
 
+        <el-table-column sortable show-overflow-tooltip prop="CreateOn" align="center" label="创建时间" width="120">
+          <template slot-scope="scope">
+            <div>{{dateFun(scope.row.CreateOn)}}</div>
+          </template>
+        </el-table-column>
+
+        <el-table-column sortable show-overflow-tooltip prop="ModifiedOn" align="center" label="完成(修改)时间" width="120">
+          <template slot-scope="scope">
+            <div>{{dateFun(scope.row.ModifiedOn)}}</div>
+          </template>
+        </el-table-column>
+
         <!-- <el-table-column v-for="column in tableColumns" :key="column.Id"
                          v-if="column.prop != 'CreateOn'" :prop="column.prop -->" sortable min-width="100" :label="column.label" align="center" show-overflow-tooltip></el-table-column>
 
@@ -104,6 +116,7 @@
               </el-select>
             </el-form-item>
           </el-col>
+
         </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -119,6 +132,7 @@
   import api from '@/api/oilcontract/workOrder';
   import FileSaver from 'file-saver'
   import XLSX from 'xlsx'
+  import util from '../../../utils/util.js'
 
   export default {
     computed: {
@@ -138,6 +152,12 @@
           }
         }
       },
+      dateFun:function(){
+        return function(item){
+          // var myDate = new Date(item);
+          return util.formatDate('year',item)
+        }
+      },
     },
     name: 'oilcontract',
     data() {

+ 115 - 63
src/dashoo.cn/frontend_web/src/pages/oilcontract/evaluation-items/baselist.vue

@@ -1,5 +1,8 @@
 <template>
   <div>
+    <span style="float: right;">
+        <el-button type="primary" size="mini" style="margin: 0px 0px 10px;" @click="addListButton">添加</el-button>
+    </span>
     <el-table highlight-current-row :data="entityListData.entityList" border height="calc(100vh - 243px)" style="width: 100%">
       <el-table-column
         property="SequenceNo"
@@ -18,7 +21,7 @@
         label="操作"
         header-align="center"
         align="center"
-        width="100">
+        width="150">
         <template slot-scope="scope">
           <el-button slot="reference" type="text"  icon="el-icon-edit" size="small" @click="onDialogVisible(scope.row,scope.$index)">编辑</el-button>
           <el-popover placement="top" title="提示" :ref="'popover-' + `${scope.$index}`">
@@ -37,8 +40,8 @@
         </template>
       </el-table-column>
     </el-table>
-    
-    
+
+
     <el-dialog
       title="编辑"
       :visible.sync="dialogBoolean"
@@ -46,26 +49,28 @@
       >
       <el-form ref="advancedsearchForm" :model="formData" :rules="rulesEve" label-width="110px" class="advancedsearchFormClass">
         <el-row>
-    
+          <el-col :span="24">
+            <el-form-item label="序号" prop="SequenceNo">
+              <el-input  placeholder="请输入" type="number" min="0" v-model="formData.SequenceNo" ></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :span="24">
             <el-form-item label="评价项目" prop="Content">
               <el-input   type="textarea" placeholder="请输入" v-model="formData.Content" ></el-input>
             </el-form-item>
           </el-col>
-    
-    
         </el-row>
       </el-form>
-    
-    
-    
+
+
+
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogBoolean = false" size="small" >取 消</el-button>
         <el-button type="primary" @click="onTrueDialog" size="small">确 定</el-button>
       </span>
     </el-dialog>
-    
-    
+
+
     <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
                    :page-sizes="[10, 15, 20, 25]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="currentItemCount">
     </el-pagination> -->
@@ -75,6 +80,7 @@
   import { mapGetters } from 'vuex';
   // import api from '@/api/oilcontract/contractEvaluationItems';
   import api from '@/api/oilcontract/contract'
+  import apiItems from '@/api/oilcontract/evaluationItems';
 
   export default {
     computed: {
@@ -108,11 +114,20 @@
     },
     data() {
       return {
-        dialogVisible: false,
+        dialogBoolean: false,
+        rulesEve:{
+          SequenceNo: [
+            { required: true, message: '请输入序号', trigger: 'blur' }
+          ],
+          Content: [
+            { required: true, message: '请输入评价内容', trigger: 'blur' }
+          ],
+        },
         //列表数据
         entityListData:{
           entityList: [],
         },
+
         //分页参数
         size: 10,
         currentPage: 1,
@@ -126,77 +141,98 @@
         CreateOn: [],
         //查询项
         searchFormReset: {},
+        formData:{
+          Content:'',
+          SequenceNo:'',
+        },
 
       }
     },
     created() {
-      //查询条件初始值备份
-      Object.assign(this.searchFormReset, this.searchForm);
-      //查询列表
       //this.initDatas();
       //this.getDictOptions()
-
-        // 判断是编辑状态还是新增状态
-        if(this.evaluateId==0){
-          this.initDatas();
-        }else{
-          this.editDatas();
-        }
-
-
+        this.editDatas();
     },
     methods: {
-      initDatas() {
-        var data = {
-          Category:2,
+      //添加数据
+      addListButton(){
+       var formData = {
+            Content:'',
         }
-        api.evaluationItemsOnelist(data,this.ContractClass,this.$axios).then(res => {
-          console.log('上级节点内容',res)
-          var data = res.data.items
-          var list = []
-          for(var index = 0 ; index < data.length ; index++){
-            data[index].typeStatus = index
-            data[index].Value = 1
-            data[index].Score = '0'
-            // 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++){
-                data[index].Son[k].typeStatus = index
-                data[index].Son[k].Value = 1
-                data[index].Son[k].Score = '0'
-                // data[index].Son[k].NormalScore = '0'
-                list.push(data[index].Son[k])
+        this.formData = formData
+        this.dialogBoolean = true
+      },
+      //点击编辑按钮
+      onDialogVisible(item,index){
+        this.formData = item
+        this.dialogBoolean = true
+      },
+      //确认编辑内容
+      onTrueDialog(){
+        console.log(this.formData)
+        this.$refs['advancedsearchForm'].validate((valid) => {
+          if (valid) {
+            if(this.formData.Id!=0&&this.formData.Id!=''&&this.formData.Id!=undefined){
+              apiItems.updateContractEvaluate(this.formData.Id,this.formData,this.$axios).then(res => {
+                  if(res.data.code==0){
+                    this.$message({
+                      type: 'success',
+                      message: res.data.message
+                    });
+                  }else{
+                    this.$message({
+                      type: 'error',
+                      message: res.data.message
+                    });
+                  }
+                  this.editDatas()
+                  this.dialogBoolean = false
+                }).catch(err => {
+                  console.error(err)
+                })
+              // }
+            }else{
+              this.formData.Category = 2
+              this.formData.LevelCode = 1
+              this.formData.Type = '02'
+              this.formData.NormalScore = '1'
+              this.formData.ParentId = 0
+              apiItems.addContractEvaluate(this.formData,this.$axios).then(res => {
+                  if(res.data.code==0){
+                    this.$message({
+                      type: 'success',
+                      message: res.data.message
+                    });
+                  }else{
+                    this.$message({
+                      type: 'error',
+                      message: res.data.message
+                    });
+                  }
+                  this.editDatas()
+                  this.dialogBoolean = false
+                }).catch(err => {
+                  console.error(err)
+                })
               }
-            }
           }
-          this.entityListData.entityList = list
-          console.log('处理完的数据',list)
-        }).catch(err => {
-          console.error(err)
         })
-
       },
       //初始数据
       editDatas() {
-        var data = {
-          ContentReviewId:this.evaluateId,
-          Category:this.category,
-          Type:2,
-        }
-        api.contractEvaluationTree(data,this.$axios).then(res => {
-          console.log('编辑后的内容aaaaaaaaaaaaaaaaa',res)
+        apiItems.evaluationItemsOnelist('02',2, this.$axios).then(res => {
+          console.log('编辑后的内容',res)
           var data = res.data.items
           var list = []
           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].Score = data[index].Score==undefined||data[index].Score==''?'0':data[index].Score
             list.push(data[index])
+            this.standardNum = this.standardNum + parseInt(data[index].NormalScore)
             if(data[index].Son!=null&&data[index].Son!=undefined){
               for(var k = 0 ; k < data[index].Son.length ; k++){
                 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].Score = data[index].Son[k].Score==undefined||data[index].Son[k].Score==''?'0':data[index].Son[k].Score
                 list.push(data[index].Son[k])
               }
             }
@@ -207,10 +243,26 @@
           console.error(err)
         })
       },
+      deleteEntity(row,index) {
+        this.$refs['popover-' + `${index}`].doClose()
+        apiItems.deleteEntity(row.Id, this.$axios).then(res => {
+          if (res.data.code === 0) {
+            this.editDatas();
+            this.$message({
+              type: 'success',
+              message: res.data.message
+            });
 
-
-
-
+          } else {
+            this.$message({
+              type: 'warning',
+              message: res.data.message
+            });
+          }
+        }).catch(err => {
+          console.error(err)
+        });
+      },
 
       jstimehandle(val) {
         if (val === '') {

+ 114 - 43
src/dashoo.cn/frontend_web/src/pages/oilcontract/evaluation-items/evaluationlist.vue

@@ -1,7 +1,9 @@
 <template>
-  <div>
-    <el-form ref="formEvaluation" :model="entityListData" label-width="0px" :rules="rules">
-
+  <div >
+    <el-form ref="formEvaluation" :model="entityListData" label-width="0px" :rules="rules" >
+      <span style="float: right;">
+          <el-button type="primary" size="mini" style="margin: 0px 0px 10px;" @click="addListButton">添加</el-button>
+      </span>
       <el-table highlight-current-row :data="entityListData.entityList" border height="calc(100vh - 243px)" style="width: 100%" @sort-change="orderby">
         <el-table-column
           property="SequenceNo"
@@ -64,6 +66,7 @@
 
 
     </el-form>
+    <!-- <div style="margin-bottom: 100px;"></div> -->
 
    <!-- <div style="display: flex;justify-content: flex-end; margin: 20px 0;">
       <el-button type="primary" size="mini"   @click="activeName = '1'">上一步<i class="el-icon-arrow-right el-icon--right"></i></el-button>
@@ -81,15 +84,27 @@
       >
       <el-form ref="advancedsearchForm" :model="formData" :rules="rulesEve" label-width="110px" class="advancedsearchFormClass">
         <el-row>
-
+           <el-col :span="12">
+             <el-form-item label="序号" prop="SequenceNo">
+               <el-input  placeholder="请输入" type="number" min="0" v-model="formData.SequenceNo" ></el-input>
+             </el-form-item>
+           </el-col>
           <el-col :span="12">
-            <el-form-item label="级别" >
-              <el-select v-model="formData.LevelCode" placeholder="请选择"  >
+            <el-form-item label="级别" prop="LevelCode">
+              <el-select v-model="formData.LevelCode" placeholder="请选择" @change="onLevelChange" >
                 <el-option :key="1" label="一级" :value="1"></el-option>
                 <el-option :key="2" label="二级" :value="2"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="上级节点" prop="ParentId">
+              <el-select  v-model="formData.ParentId" placeholder="请选择" :disabled="superiorDisabled" >
+                <el-option v-if="item.LevelCode==1" :label="item.Content" :value="item.Id" v-for="(item,index) of entityListData.entityList" :key="item.Id" ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
           <el-col :span="12">
             <el-form-item label="标准分值" prop="NormalScore">
               <el-input    placeholder="请输入" type="number" min="0" v-model="formData.NormalScore" ></el-input>
@@ -122,7 +137,7 @@
 <script>
   import { mapGetters } from 'vuex';
   import api from '@/api/oilcontract/contract'
-  import apiItems from '@/api/oilcontract/contractEvaluationItems';
+  import apiItems from '@/api/oilcontract/evaluationItems';
 
   export default {
     computed: {
@@ -215,6 +230,12 @@
           Content: [
             { required: true, message: '请输入评价内容', trigger: 'blur' }
           ],
+          SequenceNo: [
+            { required: true, message: '请输入序号', trigger: 'blur' }
+          ],
+          LevelCode:[
+            { required: true, message: '请选择级别', trigger: 'change' }
+          ],
         },
         fractionBoolean:true,
         dialogVisibleCom: false,
@@ -273,10 +294,12 @@
         standardNum:0,//标准分数
         getNum:0,//实得总分
 
+        superiorDisabled:true,
         formData:{
           LevelCode:'',
           NormalScore:'',
           Content:'',
+          SequenceNo:'',
         },
 
       }
@@ -290,6 +313,38 @@
         this.editDatas();
     },
     methods: {
+      //添加数据
+      addListButton(){
+       var formData = {
+              LevelCode:'',
+              NormalScore:'',
+              Content:'',
+              ParentId:'',
+              SequenceNo:'',
+        }
+        this.formData = formData
+        this.dialogBoolean = true
+      },
+      // 弹窗
+      onDialogVisible(item,index){
+        console.log(item)
+        // this.entityListItemIndex = index
+        // this.textareaValue = item.Remark
+        this.dialogBoolean = true
+        this.formData = item
+        this.onLevelChange(Number(item.LevelCode))
+      },
+      //选择级别
+      onLevelChange(index){
+        console.log(index)
+        if(index==1){
+          this.superiorDisabled = true
+          this.formData.ParentId = ''
+        }else{
+          this.superiorDisabled = false
+        }
+      },
+
       //初始数据
       initDatas() {
         // 普通的传1,条件评价穿2
@@ -324,13 +379,7 @@
       },
       //编辑初始数据
       editDatas() {
-        var data = {
-          // ContentReviewId:this.evaluateId,
-          // Category:this.category,
-          // Type:1,
-        }
-        this.standardNum = 0
-        apiItems.evaluationItemsOnelist(data,this.$axios).then(res => {
+        apiItems.evaluationItemsOnelist(this.ContractClass,1, this.$axios).then(res => {
           console.log('编辑后的内容',res)
           var data = res.data.items
           var list = []
@@ -353,36 +402,58 @@
           console.error(err)
         })
       },
-      // 弹窗
-      onDialogVisible(item,index){
-        console.log(item)
-        // this.entityListItemIndex = index
-        // this.textareaValue = item.Remark
-        this.dialogBoolean = true
-        this.formData = item
-      },
+
       //确认编辑内容
       onTrueDialog(){
-        // this.formData
         console.log(this.formData)
-        api.updateContractEvaluate(this.formData.Id,this.formData,this.$axios).then(res => {
-          if(res.data.code==0){
-            this.$message({
-              type: 'success',
-              message: res.data.message
-            });
-            this.editDatas()
-          }else{
-            this.$message({
-              type: 'error',
-              message: res.data.message
-            });
+        this.$refs['advancedsearchForm'].validate((valid) => {
+          if (valid) {
+            if(this.formData.Id!=0&&this.formData.Id!=''&&this.formData.Id!=undefined){
+              apiItems.updateContractEvaluate(this.formData.Id,this.formData,this.$axios).then(res => {
+                  if(res.data.code==0){
+                    this.$message({
+                      type: 'success',
+                      message: res.data.message
+                    });
+                  }else{
+                    this.$message({
+                      type: 'error',
+                      message: res.data.message
+                    });
+                  }
+                  this.editDatas()
+                  this.dialogBoolean = false
+                }).catch(err => {
+                  console.error(err)
+                })
+              // }
+            }else{
+              this.formData.Category = 1
+              this.formData.Type = this.ContractClass
+              apiItems.addContractEvaluate(this.formData,this.$axios).then(res => {
+                  if(res.data.code==0){
+                    this.$message({
+                      type: 'success',
+                      message: res.data.message
+                    });
+                  }else{
+                    this.$message({
+                      type: 'error',
+                      message: res.data.message
+                    });
+                  }
+                  this.editDatas()
+                  this.dialogBoolean = false
+                }).catch(err => {
+                  console.error(err)
+                })
+              }
           }
-          this.dialogBoolean = false
-        }).catch(err => {
-          console.error(err)
         })
-      },
+
+
+        },
+
       // 分数校验
       onInputFen(index,fen){
         this.branchNum = fen
@@ -436,11 +507,11 @@
         this.currentPage = 1
         this.initDatas()
       },
-      deleteEntity(row) {
-        row.deleteConfirmFlag = false;
-        api.deleteEntity(row.Id, this.$axios).then(res => {
+      deleteEntity(row,index) {
+        this.$refs['popover-' + `${index}`].doClose()
+        apiItems.deleteEntity(row.Id, this.$axios).then(res => {
           if (res.data.code === 0) {
-            this.initDatas();
+            this.editDatas();
             this.$message({
               type: 'success',
               message: res.data.message

+ 6 - 6
src/dashoo.cn/frontend_web/src/pages/oilcontract/evaluation-items/index.vue

@@ -4,7 +4,7 @@
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
       <el-breadcrumb-item :to="{ path: '/oilsupplier/oilevaluationitems' }">业绩评价项目</el-breadcrumb-item>
     </el-breadcrumb>
-    <el-card class="box-card" style="height: calc(100vh - 115px);">
+    <el-card class="box-card" >
       <div slot="header">
         <span>
           <i class="icon icon-table2"></i> 业绩评价项目
@@ -110,11 +110,11 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+         <!-- <el-col :span="12">
             <el-form-item label="评价内容">
               <el-input size="mini" v-model="searchForm.Content" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
-          </el-col>
+          </el-col> -->
 
           <el-col :span="12">
             <el-form-item label="备注">
@@ -283,10 +283,10 @@
     },
     created() {
       //查询条件初始值备份
-      Object.assign(this.searchFormReset, this.searchForm);
+      // Object.assign(this.searchFormReset, this.searchForm);
       //查询列表
-      this.initDatas();
-      this.evaluationItemsOnelist()
+      // this.initDatas();
+      // this.evaluationItemsOnelist()
     },
     methods: {
       searchFormType(e){

+ 37 - 33
src/dashoo.cn/frontend_web/src/utils/util.js

@@ -1,35 +1,39 @@
-// var OpenDateVar = (rule, value, callback) => {
-//     if((this.formData.PlanFinishDate!=''&&this.formData.PlanFinishDate!=null)&&(value!=''&&value!=null)){
-//       if(this.formData.PlanFinishDate < value){
-//         callback(new Error('开工日期不能大于竣工日期'));
-//       }else{
-//         callback();
-//       }
-//     }else{
-//       callback();
-//     }
-//   };
-//   var PlanFinishDateVar = (rule, value, callback) => {
-//     if((this.formData.OpenDate!=''&&this.formData.OpenDate!=null)&&(value!=''&&value!=null)){
-//       if(this.formData.OpenDate > value){
-//         callback(new Error('竣工日期不能小于开工日期'));
-//       }else{
-//         callback();
-//       }
-//     }else{
-//       callback();
-//     }
-//   };
-//   var ContractPeriod = (rule, value, callback) => {
-//     console.log(value)
-//       if(value%1 === 0){
-//         callback();
-//       }else{
-//         callback(new Error('不能为小数'));
-//       }
-//   };
+//时间戳转时间
+function formatDate(type,now) {
+   var now = new Date(now);
+   var year = now.getFullYear();  //取得4位数的年份
+   var month = now.getMonth()+1;  //取得日期中的月份,其中0表示1月,11表示12月
+   var monthS = month<10?'0'+month:month;  //取得日期中的月份,其中0表示1月,11表示12月
+   var date = now.getDate()<10?'0'+now.getDate():now.getDate();      //返回日期月份中的天数(1到31)
+   var hour = now.getHours()<10?'0'+now.getHours():now.getHours();     //返回日期中的小时数(0到23)
+   var minute = now.getMinutes()<10?'0'+now.getMinutes():now.getMinutes(); //返回日期中的分钟数(0到59)
+   var second = now.getSeconds()<10?'0'+now.getSeconds():now.getSeconds(); //返回日期中的秒数(0到59)
+   var day = now.getDay();
+   var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
+   var week = weeks[day];
 
+   if(type == 'hour'){
+      return hour+":"+minute+":"+second;
+   }
+   if(type == 'week'){
+      return week + ' ' + year + "/" + monthS + "/" + date;
+   }
+   if(type == 'year'){
+      return year + "-" + monthS + "-" + date + ' ' + hour+":"+minute+":"+second;
+   }
+   if(type == 'years'){
+      return year + "-" + monthS + "-" + date;
+   }
+   if(type == 'post'){
+      return year + monthS + date + hour + minute + second;
+   }
+   if(type == 'hour_once'){
+      return hour;
+   }
+   // return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
+}
 
-// export default {
-//   OpenDateVar,PlanFinishDateVar,ContractPeriod
-// }
+
+export default {
+  formatDate:formatDate
+}