Browse Source

维修完善

guarantee-lsq 2 years ago
parent
commit
f7df589091

+ 14 - 0
src/api/repair/application-form.js

@@ -210,6 +210,20 @@ export function dispatchModelByDTO (parameter) {
   })
 }
 
+/**
+ * update func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function transferApplyByDTO (parameter) {
+  return axios({
+    url: '/repair/application-forms/personal/stop/' + parameter.id,
+    method: 'PUT',
+    data: parameter
+  })
+}
+
 /**
  * update func
  * parameter: { }

+ 2 - 1
src/views/repair/application-form/modules/BaseForm.vue

@@ -391,7 +391,8 @@ export default {
           'needStop',
           'category',
           'partName',
-          'remark'
+          'remark',
+          'repairDeptId'
         ])))
       })
     },

+ 21 - 7
src/views/repair/application-form/modules/DetailRepair.vue

@@ -295,19 +295,26 @@
         </div>
       </div>
       <div class="btn">
-        <a-button v-if="$auth('repair-application-forms-finish')" style="margin-left: 16px" type="default" @ok="handleOk" @click="handleViewBom()">备件BOM</a-button>
-        <a-button v-if="$auth('repair-application-forms-finish')" style="margin-left: 16px" type="default" @ok="handleOk" @click="handleViewCheck()">维护项目</a-button>
+<!--        <a-button v-if="$auth('repair-application-forms-finish')" style="margin-left: 16px" type="default" @ok="handleOk" @click="handleViewBom()">备件BOM</a-button>
+        <a-button v-if="$auth('repair-application-forms-finish')" style="margin-left: 16px" type="default" @ok="handleOk" @click="handleViewCheck()">维护项目</a-button>-->
         <a-button v-if="$auth('repair-application-forms-assign') && (DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.NOT_ALLOCATED === model.status || DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.PROCESSING === model.status || DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.REBACK === model.status)" style="margin-left: 16px" type="default" @click="handleAssign">派工</a-button>
         <!-- <a-popconfirm v-if="$auth('repair-application-forms-deal') && (DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.NOT_ALLOCATED === model.status)" title="是否要接收?" @confirm="receive">
         <a-button style="margin-left: 8px">接收</a-button>
       </a-popconfirm> -->
-        <a-button v-if="$auth('repair-application-forms-out') && (DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.PROCESSING >= model.status) && model.type != 2" style="margin-left: 8px" type="default" @click="handleOut">委外</a-button>
-        <a-button v-if="$auth('repair-application-forms-dispatch') && DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.REBACK === model.status" style="margin-left: 8px" type="default" @click="handleDispatch">转派</a-button>
+<!--        <a-button v-if="$auth('repair-application-forms-out') && (DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.PROCESSING >= model.status) && model.type != 2" style="margin-left: 8px" type="default" @click="handleOut">委外</a-button>
+        <a-button v-if="$auth('repair-application-forms-dispatch') && DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.REBACK === model.status" style="margin-left: 8px" type="default" @click="handleDispatch">转派</a-button>-->
+        <a-button v-if="DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.PROCESSING === model.status" style="margin-left: 8px" type="default" @click="handleTransfer()">转派申请</a-button>
         <a-button v-if="$auth('repair-application-forms-finish') && DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.PROCESSING === model.status" style="margin-left: 8px" type="default" @click="handleFinish()">完成</a-button>
-        <a-button v-if="$auth('repair-application-forms-edit')" style="margin-left: 8px" type="default" @click="handleEdit()">修改</a-button>
+<!--        <a-button v-if="$auth('repair-application-forms-edit')" style="margin-left: 8px" type="default" @click="handleEdit()">修改</a-button>-->
         <a-popconfirm v-if="DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.WAIT_SUBMIT === model.status" title="是否要提交审核该条数据?" @confirm="handleExamine">
           <a-button style="margin-left: 8px" type="default">提交审核</a-button>
         </a-popconfirm>
+        <a-popconfirm v-if="$auth('repair-application-forms-approve') && DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.NOT_ACCEPTANCE === model.status" title="是否要接受?" @confirm="handleApprove">
+          <a-button :loading="confirmLoading" style="margin-left: 8px" type="default">接受</a-button>
+        </a-popconfirm>
+        <a-popconfirm v-if="$auth('repair-application-forms-reback') && DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.NOT_ACCEPTANCE === model.status" title="是否要拒绝?" @confirm="handleReturn">
+          <a-button style="margin-left: 8px" type="error">拒绝</a-button>
+        </a-popconfirm>
         <a-button style="margin-left: 8px" type="primary" @click="handleCancel">返回</a-button>
       </div>
     </div>
@@ -331,6 +338,7 @@
     <resolve-base-form ref='resolveBaseForm' @ok='handleResolveOk'/>
     <resolve-detail ref='resolveDetail' @ok='handleResolveOk'/>
     <detail-repair-record ref='detailRepairRecord' @ok='handleRepairRecordOk'/>
+    <transfer-form ref='transferForm' @ok='handleOk'/>
   </div>
 </template>
 
@@ -370,6 +378,7 @@ import Detail from '@/views/repair/repairproject/modules/Detail'
 import ResolveBaseForm from '@/views/repair/repair/modules/BaseForm'
 import ResolveDetail from '@/views/repair/repair/modules/Detail'
 import DetailRepairRecord from './DetailRepairRecord'
+import TransferForm from './TransferForm'
 const DetailListItem = DetailList.Item
 
 export default {
@@ -400,7 +409,8 @@ export default {
     Detail,
     ResolveBaseForm,
     ResolveDetail,
-    DetailRepairRecord
+    DetailRepairRecord,
+    TransferForm
   },
   data () {
     return {
@@ -801,6 +811,10 @@ export default {
       const modal = this.$refs.outForm
       modal.base(null, this.model)
     },
+    handleTransfer () {
+      const modal = this.$refs.transferForm
+      modal.base(this.model)
+    },
     handleAddFee () {
       const modal = this.$refs.feeForm
       modal.base(null, this.model)
@@ -932,7 +946,7 @@ export default {
       examine({ id: this.model.id }).then(res => {
         this.loading = false
         this.visible = true
-        this.model.status = this.DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.EXAMINING
+        this.model.status = this.DictCache.VALUE.REPAIR_APPLICATION_FORM_STATUS.NOT_ACCEPTANCE
         this.$message.info('已提交,请等待审核')
       })
       this.init()

+ 90 - 0
src/views/repair/application-form/modules/TransferForm.vue

@@ -0,0 +1,90 @@
+<template>
+  <a-modal
+    :title="modalTitle"
+    :width="800"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @cancel="handleCancel"
+  >
+    <a-form :form="form">
+      <row-list :col="1">
+        <row-item>
+          <a-form-item
+            label="转派理由"
+            :labelCol="BaseTool.Constant.labelCol2"
+            :wrapperCol="BaseTool.Constant.wrapperCol2"
+          >
+            <a-textarea
+              :rows="4"
+              v-decorator="['remark', {rules: [{required: true, message: '转派理由不能为空'}]}]"/>
+          </a-form-item>
+        </row-item>
+      </row-list>
+    </a-form>
+    <template slot="footer">
+      <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
+    </template>
+  </a-modal>
+</template>
+
+<script>
+import { transferApplyByDTO } from '@/api/repair/application-form'
+
+export default {
+  name: 'TransferForm',
+  data () {
+    return {
+      confirmLoading: false,
+      modalTitle: null,
+      form: this.$form.createForm(this),
+      visible: false,
+      // 下拉框map
+      record: {}
+    }
+  },
+  props: {
+  },
+  created () {
+    // 下拉框map
+  },
+  methods: {
+    base (record) {
+      this.visible = true
+      // 如果是空标识添加
+      this.modalTitle = '转派申请'
+      this.record = record
+    },
+    save () {
+      const { form: { validateFieldsAndScroll } } = this
+      this.confirmLoading = true
+      validateFieldsAndScroll((errors, values) => {
+        if (errors) {
+          this.confirmLoading = false
+          return
+        }
+        values.id = this.record.id
+        values.sbId = this.record.sbId
+        values.no = this.record.no
+        values.dispatchUserId = this.record.dispatchUserId
+        values.sbCph = this.record.sbCph
+        values.content = this.record.content
+        values.actualUser = this.record.actualUser
+        transferApplyByDTO(values)
+          .then(() => {
+            this.handleCancel(values)
+          }).catch(() => {
+            this.confirmLoading = false
+          })
+      })
+    },
+    handleCancel (values) {
+      this.visible = false
+      this.confirmLoading = false
+      this.form.resetFields()
+      if (this.BaseTool.Object.isNotBlank(values)) {
+        this.$emit('ok')
+      }
+    }
+  }
+}
+</script>