From a9f005e2af294c47d7cd1e4b6ed401bf65f5b080 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 04 三月 2025 16:44:09 +0800
Subject: [PATCH] art: 所有设备 台账 二保工单 根据设备id查询二保工单,并过滤掉已完成和已取消的二保工单

---
 src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue |  461 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 280 insertions(+), 181 deletions(-)

diff --git a/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue b/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue
index 45604a6..f587050 100644
--- a/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue
+++ b/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue
@@ -1,217 +1,316 @@
 <template>
-  <a-card
-    :bordered='false'
-    :class="'cust-erp-sub-tab'"
-  >
-    <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper">
-      <a-form
-        layout="inline"
-        @keyup.enter.native="searchQuery"
-      >
-        <a-row :gutter="24">
+  <a-card :bordered=true>
+    <a-spin :spinning='confirmLoading'>
+      <a-form :form="form">
+        <a-row>
+          <a-col :span='12'>
+            <a-form-item
+              label='鏁呴殰鐜拌薄'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <a-textarea
+                allow-clear
+                placeholder='璇疯緭鍏ユ晠闅滅幇璞�'
+                v-decorator="['repairOrderFaultAnalysisUda1', validatorRules.repairOrderFaultAnalysisUda1]"
+                :disabled="disabledEdit"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
+          <a-col :span='12'>
+            <a-form-item
+              label='鏁呴殰妫�鏌�'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <a-textarea
+                placeholder='璇疯緭鍏ユ晠闅滄鏌�'
+                v-decorator="['faultCause', validatorRules.faultCause]"
+                :disabled="disabledEdit"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
         </a-row>
-      </a-form>
-    </div>
-    <!-- 鏌ヨ鍖哄煙-END -->
+        <a-row>
+          <a-col :span='12'>
+            <a-form-item
+              label='鏁呴殰缁翠慨'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <a-textarea
+                placeholder='璇疯緭鍏ユ晠闅滅淮淇�'
+                v-decorator="['maintenanceMeasures', validatorRules.maintenanceMeasures]"
+                :disabled="disabledEdit"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
+          <a-col :span='12'>
+            <a-form-item
+              label='鏁呴殰棰勯槻'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <a-textarea
+                v-decorator="['suggestion', validatorRules.suggestion]"
+                placeholder='璇疯緭鍏ユ晠闅滈闃�'
+                :disabled="disabledEdit"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row>
+          <a-col :span='12'>
+            <a-form-item
+              label='鏁呴殰鍘熷洜'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <!-- <a-textarea
+                placeholder='璇疯緭鍏ユ晠闅滃師鍥�'
+                v-decorator="['repairOrderFaultAnalysisUda2', validatorRules.repairOrderFaultAnalysisUda2]"
+                :disabled="disabledEdit"
+              ></a-textarea> -->
+              <j-dict-select-tag
+                allow-clear
+                :disabled="disabledEdit"
+                :placeholder="'璇烽�夋嫨鏁呴殰鍘熷洜'"
+                :triggerChange="true"
+                dictCode="repair_order_fault_cause"
+                v-decorator="['repairOrderFaultAnalysisUda2',validatorRules.repairOrderFaultAnalysisUda2]"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span='12'>
+            <a-form-item
+              label='瀹夊叏鎺柦'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <a-textarea
+                allow-clear
+                placeholder='璇疯緭鍏ュ畨鍏ㄦ帾鏂�'
+                v-decorator="['repairOrderFaultAnalysisUda3', validatorRules.repairOrderFaultAnalysisUda3]"
+                :disabled="disabledEdit"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
 
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div
-      class='table-operator'
-      v-if='mainId.id'
-    >
-      <a-dropdown v-if='selectedRowKeys.length > 0'>
-        <a-menu slot='overlay'>
-          <a-menu-item
-            key='1'
-            @click='batchDel'
+        </a-row>
+        <a-row>
+          <a-col
+            v-if=" '99' == this.form.getFieldsValue(['repairOrderFaultAnalysisUda2']).repairOrderFaultAnalysisUda2"
+            :span='12'
           >
-            <a-icon type='delete' />
-            鍒犻櫎
-          </a-menu-item>
-        </a-menu>
-        <a-button style='margin-left: 8px'> 鎵归噺鎿嶄綔
-          <a-icon type='down' />
-        </a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table鍖哄煙-begin -->
-    <div>
-      <!-- <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'>
-        <i class='anticon anticon-info-circle ant-alert-icon'></i> 宸查�夋嫨 <a
-        style='font-weight: 600'>{{ selectedRowKeys.length }}</a>椤�
-        <a style='margin-left: 24px' @click='onClearSelected'>娓呯┖</a>
-      </div> -->
-
-      <a-table
-        ref='table'
-        size='middle'
-        bordered
-        rowKey='id'
-        :scroll='{x:true}'
-        :columns='columns'
-        :dataSource='dataSource'
-        :pagination='ipagination'
-        :loading='loading'
-        @change='handleTableChange'
-      >
-        <!-- :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' -->
-
-        <span
-          slot='action'
-          slot-scope='text, record'
+            <a-form-item
+              label='鏁呴殰鍘熷洜鎻忚堪'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <a-textarea
+                allow-clear
+                placeholder='璇疯緭鍏ユ晠闅滃師鍥犳弿杩�'
+                v-decorator="['repairOrderFaultAnalysisUda4', validatorRules.repairOrderFaultAnalysisUda4]"
+                :disabled="disabledEdit"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
+          <a-col :span='12'>
+            <a-form-item
+              label='缁翠慨鏍囧噯'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+            >
+              <j-dict-select-tag
+                allow-clear
+                :disabled="disabledEdit"
+                :placeholder="'璇烽�夋嫨缁翠慨鏍囧噯鍐呭'"
+                :triggerChange="true"
+                dictCode="mom_eam_repair_standard,name,id, del_flag!='1'"
+                v-decorator="['repairOrderFaultAnalysisUda5',validatorRules.repairOrderFaultAnalysisUda5]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-button
+          :style="{marginRight: '8px'}"
+          @click='handleEdit2()'
+          :disabled="disabledButton||!disabledEdit"
+          :loading='confirmLoading'
         >
-          <!-- <a @click='handleEdit(record)'>缂栬緫</a>
-          <a-divider type='vertical' /> -->
-          <a-popconfirm
-            title='纭畾鍒犻櫎鍚�?'
-            @confirm='() => handleDelete(record.id)'
-          >
-            <a :disabled="mainId.status=='4'">鍒犻櫎</a>
-          </a-popconfirm>
-        </span>
+          缂栬緫
+        </a-button>
 
-      </a-table>
-      <a-button
-        style="width: 100%; margin-top: 16px; margin-bottom: 8px"
-        type="dashed"
-        icon="plus"
-        @click="handleAdd"
-        :disabled="mainId.status=='4' ||mainId.status=='2'"
-      >娣诲姞鏁呴殰鍒嗘瀽
-      </a-button>
-    </div>
-    <repair-order-fault-analysis-report-model
-      ref='modalForm'
-      @ok='modalFormOk'
-    ></repair-order-fault-analysis-report-model>
+        <a-button
+          @click='handleOk()'
+          type='primary'
+          :loading='confirmLoading'
+          :disabled="disabledButton||disabledEdit"
+        >淇濆瓨
+        </a-button>
+      </a-form>
+    </a-spin>
   </a-card>
-
 </template>
-
 <script>
-
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-
-
-import RepairOrderFaultAnalysisReportModel from './RepairOrderFaultAnalysisReportModel.vue'
-
+import pick from 'lodash.pick'
+import { postAction, requestPut } from '@/api/manage'
+import { duplicateCheck } from '@/api/api'
+import { getAction } from '../../../../../api/manage'
 export default {
   name: 'RepairOrderFaultAnalysisList',
-  mixins: [JeecgListMixin],
-  components: { RepairOrderFaultAnalysisReportModel },
+  components: {},
   props: {
-    mainId: {
+    repairOrder: {
       type: Object,
+      default: {},
     }
   },
   watch: {
-    mainId: {
+    'repairOrder.id': {
       immediate: true,
       handler(val) {
-        console.log(val)
-        if (!this.mainId.id) {
-
-          this.clearList()
+        this.loadData(val);
+        if (this.repairOrder.id !== undefined && this.repairOrder.id !== null && this.repairOrder.id !== '') {
+          if (this.repairOrder.status !== '3') {
+            this.disabledButton = true;
+          } else {
+            this.disabledButton = false;
+          }
         } else {
-
-          this.queryParam['repairOrderId'] = val.id
-          this.loadData(1)
+          this.disabledButton = true;
+        }
+      }
+    },
+    'repairOrder.status': {
+      immediate: true,
+      handler(val) {
+        if (val !== '3') {
+          this.disabledButton = true;
+        } else {
+          this.disabledButton = false;
         }
       }
     }
   },
-
   data() {
     return {
       description: '缁翠慨宸ュ崟绠$悊椤甸潰',
-      disableMixinCreated: true,
-      // 琛ㄥご
-      columns: [
-        {
-          title: '#',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function (t, r, index) {
-            return parseInt(index) + 1
-          }
-        },
-        {
-          title: '鏁呴殰鍘熷洜',
-          dataIndex: 'faultCauseName',
-          align: 'center',
-          width: 150,
-          ellipsis: true,
-        },
-        {
-          title: '鏁呴殰绫诲瀷',
-          dataIndex: 'faultTypeName',
-          align: 'center',
-          width: 150,
-          ellipsis: true,
-        },
-        {
-          title: '鏁呴殰鍒嗘瀽',
-          dataIndex: 'faultCause',
-          align: 'center',
-          width: 150,
-          ellipsis: true,
-        },
-        {
-          title: '缁翠慨鎺柦',
-          dataIndex: 'maintenanceMeasures',
-          align: 'center',
-          width: 150,
-          ellipsis: true,
-        },
-        {
-          title: '缁翠繚鏀硅繘鎰忚',
-          dataIndex: 'suggestion',
-          align: 'center',
-          width: 150,
-          ellipsis: true,
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          width: 147,
-          scopedSlots: { customRender: 'action' }
-        }
-      ],
+      confirmLoading: false,
+      model: {},
+      form: this.$form.createForm(this),
       url: {
-        list: '/eam/repairOrder/listRepairOrderFaultAnalysisByMainId',
-        delete: '/eam/repairOrder/deleteRepairOrderFaultAnalysis',
-        deleteBatch: '/eam/repairOrder/deleteBatchRepairOrderFaultAnalysis',
-        exportXlsUrl: '/eam/repairOrder/exportRepairOrderFaultAnalysis',
-        importUrl: '/eam/repairOrder/importRepairOrderFaultAnalysis'
+        add: '/eam/repairOrderFaultAnalysis/add',
+        edit: '/eam/repairOrderFaultAnalysis/edit',
+        getInfo: '/eam/repairOrderFaultAnalysis/list',
       },
-      dictOptions: {}
-    }
-  },
-  created() {
-  },
-  computed: {
-    importExcelUrl() {
-      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId.id}`
+      dictOptions: {},
+      disabledEdit: false,
+      validatorRules: {
+        faultCause: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滄鏌�!' },
+            { min: 2, max: 1000, message: '闀垮害鍦� 2 鍒� 1000 涓瓧绗�', trigger: 'blur' },
+          ]
+        },
+        repairOrderFaultAnalysisUda1: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滅幇璞�!' },
+          ]
+        },
+        repairOrderFaultAnalysisUda2: {
+          rules: [
+            { required: true, message: '璇烽�夋嫨鏁呴殰鍘熷洜锛�' },
+          ]
+        },
+        repairOrderFaultAnalysisUda3: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ュ畨鍏ㄦ帾鏂�!' },
+          ]
+        },
+        repairOrderFaultAnalysisUda4: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滃師鍥犳弿杩�!' },
+          ]
+        },
+        suggestion: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滈闃�!' },
+            { min: 2, max: 1000, message: '闀垮害鍦� 2 鍒� 1000 涓瓧绗�', trigger: 'blur' },
+          ]
+        },
+        maintenanceMeasures: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滅淮淇�!' },
+            { min: 2, max: 1000, message: '闀垮害鍦� 2 鍒� 1000 涓瓧绗�', trigger: 'blur' },
+          ]
+        },
+      },
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      disabledButton: false
     }
   },
   methods: {
-    clearList() {
-      this.dataSource = []
-      this.selectedRowKeys = []
-      this.ipagination.current = 1
+    handleOk() {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let formData = Object.assign(this.model, values);
+          let obj;
+          formData.repairOrderId = this.repairOrder.id;
+          if (!this.model.id) {
+            obj = postAction(this.url.add, formData);
+          } else {
+            obj = requestPut(this.url.edit, formData, { id: this.model.id });
+          }
+          obj.then((res) => {
+            if (res.success) {
+              that.$message.success(res.message);
+            } else {
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.loadData(that.repairOrder.id);
+            that.confirmLoading = false;
+          })
+        }
+      })
     },
-    handleAdd: function () {
-      this.$refs.modalForm.add(this.mainId)
-      this.$refs.modalForm.title = '鏂板'
-      this.$refs.modalForm.disableSubmit = false
-    },
+    loadData(repairOrderId) {
+      let that = this;
+      getAction(that.url.getInfo, { repairOrderId: repairOrderId }).then(res => {
+        if (res.success && res.result.records.length !== 0) {
+          that.disabledEdit = true;
+          that.form.setFieldsValue(pick(res.result.records[0], 'faultCause', 'repairOrderFaultAnalysisUda1', 'repairOrderFaultAnalysisUda2', 'repairOrderFaultAnalysisUda3', 'repairOrderFaultAnalysisUda5', 'faultTypeId', 'suggestion', 'maintenanceMeasures', 'id'))
+          that.$nextTick(() => {
+            that.form.setFieldsValue({ "repairOrderFaultAnalysisUda4": res.result.records[0].repairOrderFaultAnalysisUda4 });
+          }, 300);
 
-  }
+          that.model = Object.assign({}, res.result.records[0]);
+        } else {
+          if (that.repairOrder.status === '3') {
+            that.disabledEdit = false;
+          } else {
+            that.disabledEdit = true;
+          }
+          that.form.resetFields();
+        }
+      })
+    },
+    handleEdit2() {
+      this.disabledEdit = false;
+    }
+  },
+
 }
 </script>
 <style scoped>

--
Gitblit v1.9.3