Browse Source

完善履历

whj 1 year ago
parent
commit
345996301c

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

@@ -303,6 +303,19 @@ export function examineOk (result, parameter) {
     data: parameter
   })
 }
+/**
+ * examine func 审核同意
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function repairVerify (parameter) {
+  return axios({
+    url: '/repair/application-forms/repair/verify',
+    method: 'PUT',
+    data: parameter
+  })
+}
 
 /**
  * update func

+ 9 - 1
src/api/upms/user.js

@@ -76,7 +76,15 @@ export function queryUser (parameter) {
     }
   })
 }
-
+export function queryRepairUser (parameter) {
+  return axios({
+    url: `/upms/users/query/user/${parameter.roleType}`,
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
 export function queryDeptChildrenRoleUser (parameter) {
   return axios({
     url: `/upms/users/deptChildrenRole?${stringify(parameter)}`,

+ 132 - 0
src/views/repair/application-form/modules/AuditFrom2.vue

@@ -0,0 +1,132 @@
+<template>
+  <a-modal
+    title="报修审核"
+    :width="800"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    class="ant-modal2"
+    @cancel="handleCancel"
+  >
+    <a-form :form="form">
+
+      <a-form-item v-show="false" >
+        <a-input v-decorator="['id']" type="hidden"/>
+        <a-input v-decorator="['category']" type="hidden"/>
+      </a-form-item>
+
+      <row-list :col="1">
+        <row-item>
+          <a-form-item
+            label="备注"
+            :labelCol="BaseTool.Constant.labelCol2"
+            :wrapperCol="BaseTool.Constant.wrapperCol2"
+          >
+            <a-radio-group v-model="value" >
+              <a-radio-button :value="1">
+                通过
+              </a-radio-button>
+              <a-radio-button :value="23">
+                拒绝
+              </a-radio-button>
+            </a-radio-group>
+          </a-form-item>
+        </row-item>
+        <row-item>
+          <a-form-item
+            label="备注"
+            :labelCol="BaseTool.Constant.labelCol2"
+            :wrapperCol="BaseTool.Constant.wrapperCol2"
+          >
+            <a-textarea
+              :rows="4"
+              v-decorator="['verifyRepairRemark']"/>
+          </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 pick from 'lodash.pick'
+import { repairVerify } from '@/api/repair/application-form'
+
+export default {
+  name: 'BaseRepairApplicationForm',
+  data () {
+    return {
+      confirmLoading: false,
+      modalTitle: null,
+      form: this.$form.createForm(this),
+      visible: false,
+      // 下拉框map
+      sourceMap: {},
+      value: 1,
+      levelMap: {},
+      needStopMap: {},
+      descripitionMap: {},
+      statusMap: {},
+      model: null,
+      userList: []
+    }
+  },
+  components: {
+  },
+  props: {
+  },
+  created () {
+    // 下拉框map
+    this.sourceMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_SOURCE)
+    this.levelMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_LEVEL)
+    this.statusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_STATUS)
+    this.needStopMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
+  },
+  methods: {
+    base (record) {
+      this.visible = true
+      this.model = record
+      // 如果是空标识添加
+      const { form: { setFieldsValue } } = this
+      // 日期处理
+      record.applyTime = this.BaseTool.Moment(record.applyTime, this.BaseTool.Date.PICKER_NORM_DATETIME_PATTERN)
+      this.$nextTick(() => {
+        setFieldsValue(Object.assign(pick(record, [
+          'id',
+          'category'
+        ])))
+      })
+    },
+    save () {
+      const { form: { validateFieldsAndScroll } } = this
+      this.confirmLoading = true
+      validateFieldsAndScroll((errors, values) => {
+        if (errors) {
+          this.confirmLoading = false
+          return
+        }
+        // 日期处理
+        values.status = this.value
+        console.log(values)
+        repairVerify(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>

+ 24 - 4
src/views/repair/application-form/modules/BaseForm.vue

@@ -16,7 +16,7 @@
       </a-form-item>
 
       <row-list :col="2">
-<!--        <row-item>
+        <!--        <row-item>
           <a-form-item
             label="录入方式"
             :labelCol="BaseTool.Constant.labelCol"
@@ -274,6 +274,22 @@
             </a-select>
           </a-form-item>
         </row-item>
+        <row-item v-if="category === 2">
+          <a-form-item
+            label="报修审批人"
+            :labelCol="BaseTool.Constant.labelCol"
+            :wrapperCol="BaseTool.Constant.wrapperCol"
+          >
+            <a-select v-decorator="['verifyRepairUserId', { rules: [{required: true, message: '报修审批人不能为空'}]}]" placeholder="请选择">
+              <a-select-option
+                v-for="({realName,userId}) in userRepairList"
+                :key="userId"
+                :label="realName"
+                :value="userId">{{ realName }}
+              </a-select-option>
+            </a-select>
+          </a-form-item>
+        </row-item>
         <!-- <row-item v-show="category === 1">
           <a-form-item
             label="要求日期"
@@ -351,6 +367,7 @@
               v-decorator="['actualUser', {initialValue: userInfo.realName, rules: [{required: true, message: '报修人不能为空'}]}]"/>
           </a-form-item>
         </row-item>
+
         <!--        <row-item>
           <a-form-item
             label="紧急等级"
@@ -495,7 +512,7 @@ import BaseTool from '../../../../utils/tool'
 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'
+import { queryUser, queryRepairUser } from '@/api/upms/user'
 import { uploadUrl } from '@/api/upms/file'
 import Vue from 'vue'
 import { ACCESS_TOKEN } from '@/store/mutation-types'
@@ -526,15 +543,15 @@ export default {
       repairFormTypeMap: {},
       treeData: [],
       sbPositionData: [],
-
       needStop: null,
       needStopMap: {},
-      category: 0,
+      category: 2,
       categoryMap: {},
       trustMap: {},
       statusMap: {},
       userInfo: this.$store.getters.userInfo,
       userList: [],
+      userRepairList: [],
       uploadUrl: uploadUrl,
       defaultRepairFileList: [],
       defaultApplicationFileList: [],
@@ -700,6 +717,9 @@ export default {
       queryUser({ status: 1 }).then(res => {
         this.userList = res.data
       })
+      queryRepairUser({ roleType: 3 }).then(res => {
+        this.userRepairList = res.data
+      })
       getDispatchUser().then(res => {
         console.log(res)
         this.dispatchUserList = res.data

+ 16 - 1
src/views/repair/application-form/modules/DetailRepair.vue

@@ -88,6 +88,7 @@
               <a-descriptions-item v-else label="计划性维修级别">{{ model.repairPlanLevel }}</a-descriptions-item>
               <a-descriptions-item label="送修部门">{{ model.name }}</a-descriptions-item>
               <a-descriptions-item label="维修工程师" >{{ model.checkUserName }}</a-descriptions-item>
+              <a-descriptions-item v-if="model.category===2" label="报修审批人" >{{ userRepairList.find(item=>item.userId==model.verifyRepairUserId).realName }}</a-descriptions-item>
               <a-descriptions-item label="报修类型" >{{ repairFormTypeMap[model.repairFormType] }}</a-descriptions-item>
               <a-descriptions-item label="委托内容描述" :span="3"> <span v-html="model.content "></span><a-divider type="vertical" /><a @click="handleEdit(model)">编辑</a> </a-descriptions-item>
               <a-descriptions-item label="报修图片" :span="3">
@@ -324,6 +325,8 @@
         >
           <a-button type="primary" >撤回</a-button>
         </a-popconfirm>
+        <a-button v-show=" model.status===24" style="margin-left: 8px" type="primary" @click="repairCheck">报修审核</a-button>
+
         <a-button style="margin-left: 8px" type="primary" @click="handleCancel">返回</a-button>
       </div>
       <div class="btn" v-else>
@@ -375,6 +378,7 @@
     <CheckBigRepairForm ref="checkBigRepairForm" @ok="handleOk" />
     <ToPlanForm ref="toPlanForm" @ok="handleOk" />
     <AddForm ref="addForm" @ok="handleOk"/>
+    <AuditFrom2 ref="auditFrom2" @ok="handleOk"/>
   </div>
 </template>
 
@@ -428,8 +432,10 @@ import LongYanSelectSpareForm from './LongYanSelectSpareForm'
 import ReportPauseForm from './ReportPauseForm'
 import BigRepairForm from './BigRepairForm'
 import { startSbInfoScrap } from '@/api/activiti/activiti-sb-scrap'
+import AuditFrom2 from './AuditFrom2.vue'
 import AddForm from './BaseForm.vue'
 import OutStroeForm from '@/views/store/outstoreform/modules/BaseFormYY.vue'
+import { queryRepairUser } from '@/api/upms/user'
 const DetailListItem = DetailList.Item
 
 export default {
@@ -474,7 +480,8 @@ export default {
     BigRepairForm,
     CheckBigRepairForm,
     ToPlanForm,
-    AddForm
+    AddForm,
+    AuditFrom2
   },
   data () {
     return {
@@ -494,6 +501,7 @@ export default {
       typeMap: {},
       outStoreMap: {},
       repairStatus: [],
+      userRepairList: [],
       levelMap: {},
       descripitionMap: {},
       repairFormTypeMap: {},
@@ -944,6 +952,9 @@ export default {
     this.planFlagMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_CATEGORY)
     this.outStoreMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_TYPE)
     this.outStoreStatusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_STATUS)
+    queryRepairUser({ roleType: 3 }).then(res => {
+      this.userRepairList = res.data
+    })
     this.tableOption()
   },
   methods: {
@@ -954,6 +965,7 @@ export default {
       this.model = record
       this.activeKey = 'a'
       const sbId = record.sbId
+      console.log(2222222, this.userRepairList)
       if (sbId) {
         fetchSbInfo({ id: sbId }).then(res => {
           this.sbInfo = res.data
@@ -1515,6 +1527,9 @@ export default {
     },
     handleAgain () {
       this.$refs.addForm.base(this.model)
+    },
+    repairCheck () {
+      this.$refs.auditFrom2.base(this.model)
     }
   }
 }