Forráskód Böngészése

Merge branch 'master' of http://47.108.172.52:3000/dayou/item-management-web

GouGengquan 6 hónapja
szülő
commit
16fb481078

+ 1 - 1
.env.production

@@ -45,4 +45,4 @@ VUE_APP_ONLYOFFICE_API_URL=$VUE_APP_ONLYOFFICE_SERVER/web-apps/apps/api/document
 # 生产力平台URL
 VUE_APP_PRODUCTIVITY_PLATFORM_URL=http://doc.scdayou.com/prod/
 
-VUE_APP_WEBSOCKET = ws://mbs.scdayou.com/ws/api/ws
+VUE_APP_WEBSOCKET = ws://mbs.scdayou.com/api/ws

+ 1 - 2
src/api/modules/personal.js

@@ -56,6 +56,5 @@ export default {
   },
   getDataCount(params){
     return request.get(`personal/count`, { params: params })
-  }
-
+  },
 }

+ 7 - 1
src/api/modules/workNodeTaskRecord.js

@@ -39,5 +39,11 @@ export default {
   },
   checkIfReverse(p1,p2){
     return request.get(`workFlowNodeInstance/checkIfReverse/${p1}/${p2}`)
-   }
+   },
+   getPersonalInRepTask(params){
+    return request.get(`workTaskRecord/personal/inRep/todo`, { params: params })
+  },
+  getPersonalOutRepTask(params){
+    return request.get(`workTaskRecord/personal/outRep/todo`, { params: params })
+  }
 }

+ 1 - 1
src/views/major/detail.vue

@@ -1345,7 +1345,7 @@
                         <el-form-item  prop="reason"
                           label-width="120px"
                           class="postInfo-container-item" label="扣分原因:">
-                          <el-input disabled readonly :value="p.reason" class="filter-item" type="textarea" />
+                          <el-input disabled readonly :value="'一般错误:'+p.normalMistakes +';较大错误:'+p.hardMistakes+';重大错误:'+p.fatalMistakes" class="filter-item" type="textarea" />
                         </el-form-item>
                       </el-col>
                     </el-row>

+ 13 - 4
src/views/major/todoDetail.vue

@@ -1012,6 +1012,10 @@
                           </span>
                           <el-button type="text" style="margin-left: 50px" @click="addMistake(p,'normalMistakes')">手动添加</el-button>
                         </el-checkbox-group>
+                          <el-form-item prop="normalMistake" label-width="120px"
+                          label="一般错误个数:">
+                          <el-input-number v-model="p.normalMistake" class="filter-item"  :default="0" :precision="0" :min="0" :value-on-clear="0"  />
+                        </el-form-item>
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -1035,6 +1039,10 @@
                           </span>
                           <el-button type="text" style="margin-left: 50px" @click="addMistake(p,'hardMistakes')">手动添加</el-button>
                         </el-checkbox-group>
+                        <el-form-item prop="hardMistake" label-width="120px"
+                          label="较大错误个数:">
+                          <el-input-number v-model="p.hardMistake" class="filter-item"  :default="0" :precision="0" :min="0" :value-on-clear="0"  />
+                        </el-form-item>
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -1060,6 +1068,10 @@
                           </span>
                           <el-button type="text" style="margin-left: 50px" @click="addMistake(p,'fatalMistakes')">手动添加</el-button>
                         </el-checkbox-group>
+                        <el-form-item prop="fatalMistake" label-width="120px"
+                          label="重大错误个数:">
+                          <el-input-number v-model="p.fatalMistake" class="filter-item"  :default="0" :precision="0" :min="0" :value-on-clear="0"  />
+                        </el-form-item>
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -3665,9 +3677,6 @@ export default {
     saveQuality(p) {
       this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
       this.taskRecordDTO.taskData = p;
-      p.normalMistake = p.normalMistakes.length;
-      p.hardMistake = p.hardMistakes.length;
-      p.fatalMistake = p.fatalMistakes.length;
       let mistakes = new Object();
       mistakes.normalMistakes = p.normalMistakes;
       mistakes.hardMistakes = p.hardMistakes;
@@ -4068,7 +4077,7 @@ a:hover{
   
 }
 .mistake-option:hover{
-  transform: scale(1.3); 
+  // transform: scale(1.3); 
   color: black;
   z-index: 999;
 }

+ 195 - 4
src/views/personal/todoList.vue

@@ -13,6 +13,10 @@
               icon="el-icon-paperclip" :page-jump="false" round @click="openBatchAllotDialog()" />
             <PermissionButton menu-code="_views_personal_batch_commit_bookbinding_stamp" class-name="filter-item"
               type="danger" icon="el-icon-paperclip" :page-jump="false" round @click="openBatchCommitDialog()" />
+              <PermissionButton menu-code="_views_personal_batch_in_rep" class-name="filter-item"
+              type="warning" icon="el-icon-paperclip" :page-jump="false" round @click="openBatchInRepDialog()" />
+              <PermissionButton menu-code="_views_personal_batch_out_rep" class-name="filter-item"
+              type="warning" icon="el-icon-paperclip" :page-jump="false" round @click="openBatchOutRepDialog()" />
           </template>
         </MoreSearchBar>
       </template>
@@ -296,6 +300,62 @@
         </parentTable>
       </y-page-list-layout>
     </el-dialog>
+    <el-dialog :visible.sync="batchInRepDialogVisible" width="90%" center top="10vh" custom-class="doWarehouseClass">
+      <span style="font-size: 20px; font-weight: bold;">待入库任务:{{ inRepTasks.length }}条</span>
+      <el-button type="danger" style="float: right;" @click="doBatchInRep()">点击入库</el-button>
+      <parentTable  :clickRowToPick="true" :data="inRepTasks" style="width: 100%;"
+      :selectionChange="handInRep">
+          <el-table-column align="center" type="selection" claimOrders width="100" border="true">
+          </el-table-column>
+        <el-table-column label="项目编号" align="center" width="150" prop="orderId">
+        </el-table-column>
+        <el-table-column label="坐落" align="center"  prop="location">
+        </el-table-column>
+        <el-table-column label="当前节点" align="center" width="130" prop="nodeName">
+        </el-table-column>
+        <el-table-column label="处理人" align="center" width="130" prop="handlerName">
+        </el-table-column>
+        <el-table-column label="面积" align="center" width="130" prop="acreage">
+        </el-table-column>
+        <el-table-column label="单价" align="center" width="130"  prop="price" >
+        </el-table-column>
+        <el-table-column label="总价" align="center" width="130"  prop="amount">
+        </el-table-column>
+        <el-table-column label="客户名称" align="center" width="130" 
+          prop="clientName">
+        </el-table-column>
+        <el-table-column label="业务来源" align="center" width="130" prop="clientSubName">
+        </el-table-column>
+      </parentTable>
+    </el-dialog>
+    <el-dialog :visible.sync="batchOutRepDialogVisible" width="90%" center top="10vh" custom-class="doWarehouseClass">
+      <span style="font-size: 20px; font-weight: bold;">待出库任务:{{ outRepTasks.length }}条</span>
+      <el-button type="danger" style="float: right;" @click="doBatchOutRep()">点击出库</el-button>
+      <parentTable  :clickRowToPick="true" :data="outRepTasks" style="width: 100%;"
+      :selectionChange="handOutRep">
+          <el-table-column align="center" type="selection" claimOrders width="100" border="true">
+          </el-table-column>
+        <el-table-column label="项目编号" align="center" width="150" prop="orderId">
+        </el-table-column>
+        <el-table-column label="坐落" align="center"  prop="location">
+        </el-table-column>
+        <el-table-column label="当前节点" align="center" width="130" prop="nodeName">
+        </el-table-column>
+        <el-table-column label="处理人" align="center" width="130" prop="handlerName">
+        </el-table-column>
+        <el-table-column label="面积" align="center" width="130" prop="acreage">
+        </el-table-column>
+        <el-table-column label="单价" align="center" width="130"  prop="price" >
+        </el-table-column>
+        <el-table-column label="总价" align="center" width="130"  prop="amount">
+        </el-table-column>
+        <el-table-column label="客户名称" align="center" width="130" 
+          prop="clientName">
+        </el-table-column>
+        <el-table-column label="业务来源" align="center" width="130" prop="clientSubName">
+        </el-table-column>
+      </parentTable>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -354,7 +414,13 @@ export default {
         keyWord: null,
         getNodeIsBookbindingStamp: false
       },
-      batchCommitPageData: { records: [] }
+      batchCommitPageData: { records: [] },
+      batchInRepDialogVisible:false,
+      batchOutRepDialogVisible:false,
+      inRepTasks:[],
+      outRepTasks:[],
+      inRepCommit:[],
+      outRepCommit:[]
     }
 
   },
@@ -365,9 +431,8 @@ export default {
         this.getAllotOrderList();
       },
       deep: true
-
-    }
-  },
+    },
+  }, 
   created() {
     if (getCookie("personalTodoList-hiddenLabels") != undefined) {
       this.hiddenLabels = JSON.parse(getCookie("personalTodoList-hiddenLabels"))
@@ -588,6 +653,132 @@ export default {
       }
       this.workNodeCommits = pickedCommits;
     },
+    personalInRepTask(){
+      this.$api.workNodeTaskRecord.getPersonalInRepTask().then(res=>{
+        if (res.code===200){
+          this.inRepTasks = res.data;
+        }
+      })
+    },
+    personalOutRepTask(){
+      this.$api.workNodeTaskRecord.getPersonalOutRepTask().then(res=>{
+        if (res.code===200){
+          this.outRepTasks = res.data;
+        }
+      })
+    },
+    openBatchInRepDialog(){
+      this.batchInRepDialogVisible = true;
+      this.personalInRepTask();
+    },
+    openBatchOutRepDialog(){
+      this.batchOutRepDialogVisible = true;
+      this.personalOutRepTask();
+    },
+    doBatchInRep(){
+      if (this.inRepCommit.length > 0) {
+        this.$confirm('确认批量提交已选中流程?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$api.workflow.batchCommit(this.inRepCommit).then(res => {
+            if (res.code === 200 && res.data) {
+              this.$notify({
+                title: '成功',
+                message: '工作流节点批量提交成功。',
+                type: 'success',
+                duration: 2000
+              });
+              this.getPage();
+              this.personalInRepTask();
+            } else {
+              this.$notify({
+                title: '失败',
+                message: res.message,
+                type: 'error',
+                duration: 2000
+              });
+            }
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消批量提交'
+          });
+        });
+      } else {
+        this.$notify.error({
+          title: '错误',
+          message: '请选择至少一条流程再提交!'
+        });
+      }
+    },
+    handInRep(val){
+      let pickedCommits = [];
+      for (let i in val) {
+        let commit = new Object();
+        commit.instanceNodeId = val[i].currentNodeId;
+        commit.state = "PASS";
+        commit.comments = "批量入库";
+        commit.businessSubId = val[i].orderId;
+        pickedCommits.push(commit);
+      }
+      this.inRepCommit = pickedCommits;
+    },
+    doBatchOutRep(){
+      if (this.outRepCommit.length > 0) {
+        this.$confirm('确认批量提交已选中流程?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$api.workflow.batchCommit(this.outRepCommit).then(res => {
+            if (res.code === 200 && res.data) {
+              this.$notify({
+                title: '成功',
+                message: '工作流节点批量提交成功。',
+                type: 'success',
+                duration: 2000
+              });
+              this.getPage();
+              this.personalOutRepTask();
+            } else {
+              this.$notify({
+                title: '失败',
+                message: res.message,
+                type: 'error',
+                duration: 2000
+              });
+            }
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消批量提交'
+          });
+        });
+      } else {
+        this.$notify.error({
+          title: '错误',
+          message: '请选择至少一条流程再提交!'
+        });
+      }
+    },
+    handOutRep(val){
+      let pickedCommits = [];
+      for (let i in val) {
+        let commit = new Object();
+        commit.instanceNodeId = val[i].currentNodeId;
+        commit.state = "PASS";
+        commit.comments = "批量出库";
+        commit.businessId  = val[i].businessId;
+        commit.businessSubId = val[i].orderId;
+        commit.nodeCode = 'REPORT_OUT';
+        pickedCommits.push(commit);
+      }
+      this.outRepCommit = pickedCommits;
+    }
 
   },
 

+ 18 - 2
src/views/staff/detail.vue

@@ -132,11 +132,27 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="postForm.homeAddress" class="filter-item" style="width: 480px"/>
+                        <el-input v-model="postForm.homeAddress" class="filter-item" />
                       </el-form-item>
                     </el-col>
-                    <el-button type="danger" style="margin-left: 300px" @click="initPassword">重置密码</el-button>
+                    <el-button type="danger" style="margin-left: 30px" @click="initPassword">重置密码</el-button>
                     <el-button type="danger" @click="initSettlePassword">重置提成查询密码</el-button>
+                    <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                      <el-form-item
+                        label="启用状态:"
+                        prop="enable"
+                        label-width="120px"
+                        class="postInfo-container-item"
+                      >
+                        <el-switch
+                          v-model="postForm.enable"
+                          active-color="#13ce66"
+                          inactive-color="#ff4949"
+                          active-text="启用"
+                          inactive-text="禁用">
+                        </el-switch>
+                      </el-form-item>
+                    </el-col>
                   </el-row>
                   <div style="margin-top:20px;width:100%;height:1px;background:rgba(242,242,242,1);"/>
                   <div style="margin-bottom: 30px">

+ 6 - 4
src/views/statistical/major/performanceDeductionDepInternal.vue

@@ -115,7 +115,7 @@
                 </el-table-column>
             </el-table>
         </div>
-        <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="70%"
+        <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="90%"
             @open="getMajorPerformanceDeductionDetailVO()">
             <y-page-list-layout :get-page-list="getMajorPerformanceDeductionDetailVO" :page-list="pageData"
                 :page-para="listQueryDetail">
@@ -123,7 +123,7 @@
                     <el-button class="filter-item" round type="info" @click="exportPerformanceDeductionDetail()">导出
                     </el-button>
                 </template>
-                <parentTable ref="table" :data="pageData.records" slot="table" style="width: 100%;" :isBoard=800>
+                <parentTable ref="table" :data="pageData.records" slot="table" style="width: 100%;" :isBoard=500>
                     <el-table-column label="项目编号" align="center">
                         <template slot-scope="{row}">
                             <span>{{ row.orderId }}</span>
@@ -195,9 +195,11 @@
                             <span>{{ row.checkTime }}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column label="扣分原因" align="center">
+                    <el-table-column label="扣分原因" align="center" show-overflow-tooltip>
                         <template slot-scope="{row}">
-                            <span>{{ row.reason }}</span>
+                            <div>{{ '一般错误:'+JSON.parse(row.reason).normalMistakes }}</div>
+                            <div>{{ '较大错误:'+JSON.parse(row.reason).hardMistakes  }}</div>
+                            <div>{{ '重大错误:'+JSON.parse(row.reason).fatalMistakes }}</div>
                         </template>
                     </el-table-column>
                 </parentTable>