whj 1 рік тому
батько
коміт
ae9de204ed

+ 17 - 1
src/api/repair/application-form.js

@@ -44,7 +44,23 @@ export function addRepairApplicationForm (parameter) {
     data: parameter
   })
 }
-
+/**
+ * add func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function againRepairApplicationForm (parameter) {
+  return axios({
+    url: '/repair/application-forms/again',
+    method: 'POST',
+    headers: {
+      'Accept': 'application/json',
+      'Content-Type': 'application/json;charset=UTF-8'
+    },
+    data: parameter
+  })
+}
 /**
  * update func
  * parameter: { }

+ 1 - 0
src/router/generator-platform-routers.js

@@ -199,6 +199,7 @@ const constantRouterComponents = {
   'RepairCheckForm': () => import('@/views/repair/application-form/RepairCheckForm'),
   // 维修单
   'RepairForm': () => import('@/views/repair/application-form/RepairForm'),
+  'AgainRepairForm': () => import('@/views/repair/application-form/AgainRepairForm'),
   'RepairCloseForm': () => import('@/views/repair/application-form/RepairCloseForm'),
   'MRepairForm': () => import('@/views/repair/application-form/MyRepairForm'),
   'MyRepairForm': () => import('@/views/repair/form/MyRepairForm'),

+ 17 - 0
src/views/repair/application-form/AgainRepairForm.vue

@@ -0,0 +1,17 @@
+<template>
+  <RepairForm :status="23"/>
+</template>
+
+<script>
+import RepairForm from './RepairForm'
+export default {
+  name: 'AgainRepairForm',
+  components: {
+    RepairForm
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 5 - 0
src/views/repair/application-form/RepairForm.vue

@@ -212,6 +212,10 @@ export default {
     searchType: {
       type: Number,
       default: -1
+    },
+    status: {
+      type: Number,
+      default: null
     }
   },
   data () {
@@ -220,6 +224,7 @@ export default {
       queryParam: {
         filter: this.filter,
         searchType: this.searchType,
+        status: this.status,
         ...this.$route.query
 
       },

+ 38 - 7
src/views/repair/application-form/modules/BaseForm.vue

@@ -130,7 +130,7 @@
                 v-for="(label,value) in repairFormTypeMap"
                 :key="value"
                 :label="label"
-                :value="value">{{ label }}
+                :value="parseInt(value)">{{ label }}
               </a-select-option>
             </a-select>
           </a-form-item>
@@ -492,7 +492,7 @@
 <script>
 import pick from 'lodash.pick'
 import BaseTool from '../../../../utils/tool'
-import { addRepairApplicationForm, updateRepairApplicationForm, getSbPositions, getDispatchUser, receiveProfessor } from '@/api/repair/application-form'
+import { addRepairApplicationForm, againRepairApplicationForm, updateRepairApplicationForm, getSbPositions, getDispatchUser, receiveProfessor } from '@/api/repair/application-form'
 import PartInfoSelectModal from '@/views/part/info/modules/PartInfoSelectModal'
 import SbInfoSelectModal from '@/views/sb/info/modules/SbInfoSelectModal'
 import { queryUser } from '@/api/upms/user'
@@ -546,7 +546,8 @@ export default {
       refusedFlag: false,
       headers: {
         Authorization: 'Bearer ' + Vue.ls.get(ACCESS_TOKEN)
-      }
+      },
+      modal: null
     }
   },
   components: {
@@ -581,6 +582,7 @@ export default {
     base (record) {
       this.visible = true
       this.refusedFlag = false
+      this.modal = record
       fetchErrorTypeTree().then(res => {
         this.treeData = res.data
       })
@@ -624,7 +626,6 @@ export default {
       }
       const { form: { setFieldsValue } } = this
       // 日期处理
-      record.applyTime = this.BaseTool.Moment(record.applyTime, this.BaseTool.Date.PICKER_NORM_DATETIME_PATTERN)
       if (record.limitDate != null) {
         record.limitDate = this.BaseTool.Moment(record.limitDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
         this.$nextTick(() => {
@@ -633,6 +634,8 @@ export default {
           ])))
         })
       }
+      record.repairType = record.repairType.split(',')
+      record.repairProfessor = record.repairProfessor.split(',')
       this.$nextTick(() => {
         setFieldsValue(Object.assign(pick(record, [
           'id',
@@ -641,6 +644,7 @@ export default {
           'partId',
           'repairUserId',
           'no',
+          'repairFormType',
           'category',
           'limitDate',
           'limitHours',
@@ -650,8 +654,12 @@ export default {
           'status',
           'sbName',
           'needStop',
+          'repairProfessor',
+          'planStartTime',
+          'planEndTime',
           'category',
           'partName',
+          'repairType',
           'remark',
           'repairDeptId'
         ])))
@@ -698,6 +706,8 @@ export default {
       })
     },
     save () {
+      console.log(1222)
+
       const { form: { validateFieldsAndScroll } } = this
       this.confirmLoading = true
       validateFieldsAndScroll((errors, values) => {
@@ -705,16 +715,24 @@ export default {
           this.confirmLoading = false
           return
         }
-        // 日期处理
-        values.applyTime = this.BaseTool.Date.formatter(values.applyTime, this.BaseTool.Date.PICKER_NORM_DATETIME_PATTERN)
-        values.limitDate = BaseTool.Date.formatter(values.limitDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
+        console.log(values)
+        // // 日期处理
+        // values.limitDate = BaseTool.Date.formatter(values.limitDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
         values.planStartTime = BaseTool.Date.formatter(values.planStartTime, BaseTool.Date.PICKER_NORM_DATETIME_PATTERN)
+
         values.planEndTime = BaseTool.Date.formatter(values.planEndTime, BaseTool.Date.PICKER_NORM_DATETIME_PATTERN)
         // 上传文件
+
         values.repairFileList = this.repairFileList
+
         values.repairProfessor = values.repairProfessor.join(',')
+        console.log(1)
+
         values.repairType = values.repairType.join(',')
+        console.log(1)
         values.applicationFileList = this.applicationFileList
+        console.log(11)
+
         values.reportFileList = this.reportFileList
         // values.sbPosition = values.sbPosition.join('->')
         console.log(values)
@@ -726,6 +744,7 @@ export default {
         } else {
           values.source = 1
         }
+        console.log(111)
         if (this.BaseTool.String.isBlank(values.id)) {
           addRepairApplicationForm(values)
             .then(() => {
@@ -737,6 +756,18 @@ export default {
             }).catch(() => {
               this.confirmLoading = false
             })
+        } else if (this.modal.status === 23) {
+          console.log(21)
+          againRepairApplicationForm(values)
+            .then(() => {
+              this.$notification.success({
+                message: '报修成功!',
+                duration: 3
+              })
+              this.handleCancel(values)
+            }).catch(() => {
+              this.confirmLoading = false
+            })
         } else {
           updateRepairApplicationForm(values)
             .then(() => {

+ 9 - 3
src/views/repair/application-form/modules/DetailRepair.vue

@@ -311,8 +311,9 @@
           <a-button style="margin-left: 8px" type="error">拒绝</a-button>
         </a-popconfirm>
         <a-button v-show=" model.status===10" style="margin-left: 8px" type="primary" @click="recoverPause">挂起解除</a-button>
-        <a-button v-show="model.level!==6 && model.status!==6 && model.status!==14 && model.status!==21" style="margin-left: 8px" type="primary" @click="handleBigRepair">转大修</a-button>
+        <a-button v-show="model.level!==6 && model.status!==6 && model.status!==14 && model.status!==21&& model.status!==23" style="margin-left: 8px" type="primary" @click="handleBigRepair">转大修</a-button>
         <a-button v-show="model.status===21" style="margin-left: 8px" type="primary" @click="handleCheckBigRepair">大修审核</a-button>
+        <a-button v-show="model.status===23" style="margin-left: 8px" type="primary" @click="handleAgain">再次报修</a-button>
         <a-popconfirm
           v-show=" model.status===1||model.status===9"
           title="确定撤回?"
@@ -373,6 +374,7 @@
     <BigRepairForm ref="bigRepairForm" @ok="handleOk" />
     <CheckBigRepairForm ref="checkBigRepairForm" @ok="handleOk" />
     <ToPlanForm ref="toPlanForm" @ok="handleOk" />
+    <AddForm ref="addForm" @ok="handleOk"/>
   </div>
 </template>
 
@@ -426,7 +428,7 @@ import LongYanSelectSpareForm from './LongYanSelectSpareForm'
 import ReportPauseForm from './ReportPauseForm'
 import BigRepairForm from './BigRepairForm'
 import { startSbInfoScrap } from '@/api/activiti/activiti-sb-scrap'
-
+import AddForm from './BaseForm.vue'
 import OutStroeForm from '@/views/store/outstoreform/modules/BaseFormYY.vue'
 const DetailListItem = DetailList.Item
 
@@ -471,7 +473,8 @@ export default {
     ReportPauseForm,
     BigRepairForm,
     CheckBigRepairForm,
-    ToPlanForm
+    ToPlanForm,
+    AddForm
   },
   data () {
     return {
@@ -1509,6 +1512,9 @@ export default {
           this.dataSpare = res.data
         })
       })
+    },
+    handleAgain () {
+      this.$refs.addForm.base(this.model)
     }
   }
 }