lipenghui 2 mesi fa
parent
commit
deda18ff07

+ 13 - 13
src/views/pms/maintain/IotMaintain.vue

@@ -114,10 +114,10 @@
                 />
               </el-form-item>
             </el-col>
-            <el-col :span="8" v-if="formData.type === 'in'">
+            <el-col :span="8" >
               <el-form-item label="维修费用(元)" prop="maintainFee">
                 <el-input-number
-                  disabled
+                  :disabled="formData.type==='in'"
                   v-model="formData.maintainFee"
                   :min="0"
                   :precision="2"
@@ -128,12 +128,12 @@
             </el-col>
             <el-col :span="8" v-if="formData.type === 'out'&&formData.maintainPerson===userId">
               <el-form-item label="委外相关附件" prop="outFile">
-                <UploadFile v-model="formData.outFile" class="min-w-80px" />
+                <UploadFile v-model="formData.outFile" class="min-w-80px" multiple :limit="2" />
               </el-form-item>
             </el-col>
             <el-col :span="16">
               <el-form-item label="故障描述" prop="description">
-                <el-input type="textarea" v-model="formData.description" />
+                <el-input type="textarea" v-model="formData.description"/>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -537,15 +537,15 @@ const submitForm = async () => {
       formData.value.status = 'tx'
     }
 
-    let files: any[]
-    files = formData.value.outFile
-    if (files) {
-      formData.value.outFile = files
-        .map((element) => {
-          return element.path
-        })
-        .join(',')
-    }
+    // let files: any[]
+    // files = formData.value.outFile
+    // if (files) {
+    //   formData.value.outFile = files
+    //     .map((element) => {
+    //       return element.path
+    //     })
+    //     .join(',')
+    // }
     const data = {
       maintain: formData.value,
       maintainMaterials: list.value

+ 41 - 35
src/views/pms/maintain/IotMaintainDetail.vue

@@ -125,39 +125,39 @@
               <UploadImg v-model="formData.pic" :disabled="true" height="55px" />
             </el-form-item>
           </el-col>
-          <el-col :span="8">
-            <el-form-item label="维修费用" prop="maintainFee">
-              <el-input v-model="formData.maintainFee" :disabled="true" />
-            </el-form-item>
-          </el-col>
-          <!--          <el-col :span="8" v-if="formData.type === 'out'">-->
-          <!--            <el-form-item label="供应商" prop="supplier">-->
-          <!--              <el-select-->
-          <!--                disabled-->
-          <!--                v-model="formData.supplier"-->
-          <!--                placeholder="请输入供应商"-->
-          <!--                :model-value="supplierLabel"-->
-          <!--              />-->
-          <!--            </el-form-item>-->
-          <!--          </el-col>-->
-          <!--          <el-col :span="8" v-if="formData.type === 'out'">-->
-          <!--            <el-form-item label="维修费用" prop="maintainFee">-->
-          <!--              <el-input-number-->
-          <!--                disabled-->
-          <!--                v-model="formData.maintainFee"-->
-          <!--                :min="0"-->
-          <!--                :precision="2"-->
-          <!--                :step="0.1"-->
-          <!--                placeholder="请输入维修费用"-->
-          <!--                style="width: 100%"-->
-          <!--              />-->
-          <!--            </el-form-item>-->
-          <!--          </el-col>-->
-          <!--          <el-col :span="8" v-if="formData.type === 'out'">-->
-          <!--            <el-form-item label="委外相关附件" prop="outFile">-->
-          <!--              <UploadFile disabled="" v-model="formData.outFile" class="min-w-80px" />-->
-          <!--            </el-form-item>-->
-          <!--          </el-col>-->
+<!--          <el-col :span="8">-->
+<!--            <el-form-item label="维修费用" prop="maintainFee">-->
+<!--              <el-input v-model="formData.maintainFee" :disabled="true" />-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+                    <el-col :span="8" v-if="formData.type === 'out'&&formData.maintainPerson===userId">
+                      <el-form-item label="供应商" prop="supplier">
+                        <el-select
+                          disabled
+                          v-model="formData.supplierName"
+                          placeholder="请输入供应商"
+                          :model-value="supplierLabel"
+                        />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                      <el-form-item label="维修费用" prop="maintainFee">
+                        <el-input-number
+                          disabled
+                          v-model="formData.maintainFee"
+                          :min="0"
+                          :precision="2"
+                          :step="0.1"
+                          placeholder="请输入维修费用"
+                          style="width: 100%"
+                        />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8" v-if="formData.type === 'out'&&formData.maintainPerson===userId">
+                      <el-form-item label="委外相关附件" prop="outFile">
+                        <UploadFile disabled="" v-model="formData.outFile" class="min-w-80px" />
+                      </el-form-item>
+                    </el-col>
           <el-col :span="8">
             <el-form-item label="故障描述" prop="description">
               <el-input type="textarea" v-model="formData.description" disabled />
@@ -231,6 +231,7 @@ import { useTagsViewStore } from '@/store/modules/tagsView'
 import { IotMaintainApi } from '@/api/pms/maintain'
 import MaterialListDrawer from '@/views/pms/iotmainworkorder/SelectedMaterialDrawer.vue'
 import { IotMaintainMaterialsApi } from '@/api/pms/maintain/materials'
+import {CACHE_KEY, useCache} from "@/hooks/web/useCache";
 
 /** 维修工单 表单 */
 defineOptions({ name: 'IotMaintainDetail' })
@@ -250,6 +251,7 @@ const list = ref<IotMaintainMaterialVO[]>([]) // 列表的数据
 const { params, name } = useRoute() // 查询参数
 const id = params.id || props.id
 const materialList = ref<any[]>([]) // 保养工单bom关联物料列表
+const { wsCache } = useCache()
 const currentBomNodeId = ref<string>()
 const formData = ref({
   id: undefined,
@@ -276,7 +278,8 @@ const formData = ref({
   maintainDescription: undefined,
   supplier: undefined,
   maintainFee: undefined,
-  outFile: undefined
+  outFile: undefined,
+  supplierName: undefined,
 })
 const formRules = reactive({
   // deviceName: [{ required: true, message: '设备不能为空', trigger: 'blur' }],
@@ -330,10 +333,13 @@ const handleViewNew = (nodeId, bomId) => {
     materialList.value = res.list
   })
 }
-
+const userId = ref('')
 /** 提交表单 */
 onMounted(async () => {
+  const userInfo = wsCache.get(CACHE_KEY.USER)
+  userId.value = userInfo.user.nickname;
   await IotMaintainApi.getIotMaintain(id).then((res) => {
+    debugger
     formData.value = res
     if (res.outFile) {
       formData.value.outFile = res.outFile.split(',')