From 5cbba170e270e6f1c99a91e27dbb7951a27d596a Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期五, 24 十一月 2023 16:41:32 +0800
Subject: [PATCH] 故障报修验收

---
 src/views/eam/MalfunctionRepair.vue |  417 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 279 insertions(+), 138 deletions(-)

diff --git a/src/views/eam/MalfunctionRepair.vue b/src/views/eam/MalfunctionRepair.vue
index 007551e..4358a35 100644
--- a/src/views/eam/MalfunctionRepair.vue
+++ b/src/views/eam/MalfunctionRepair.vue
@@ -8,11 +8,24 @@
       <a-form
         layout="inline"
         @keyup.enter.native="searchQuery"
-      >
+      > <a-row :gutter="24" style="margin-bottom: 1%;">
+          <a-col
+            :md="24"
+            :sm="6"
+          >
+          <a-form-item label="缁熶竴缂栧彿缇�">
+              <a-textarea
+                placeholder="璇疯緭鍏ユ墍鏈夌粺涓�缂栫爜,椤荤敤鈥�,鈥濋殧寮�,鍚﹀垯鍙兘鏌ヨ鍑洪敊璇俊鎭�"
+                v-model="queryParam.nums"
+                :auto-size="{ minRows: 2, maxRows:2 }"
+              ></a-textarea>
+            </a-form-item>
+          </a-col>
+        </a-row>
         <a-row :gutter="24">
           <a-col
             :md="6"
-            :sm="8"
+            :sm="6"
           >
             <a-form-item label="鍗曟嵁鍙�">
               <a-input
@@ -23,23 +36,148 @@
           </a-col>
           <a-col
             :md="6"
-            :sm="8"
+            :sm="6"
           >
-            <a-form-item label="璁惧缂栫爜">
+            <a-form-item label="缁熶竴缂栧彿">
               <a-input
-                placeholder="璇疯緭鍏ヨ澶囩紪鐮�"
+                placeholder="璇疯緭鍏ョ粺涓�缂栧彿"
                 v-model="queryParam.equipmentNum"
               ></a-input>
             </a-form-item>
           </a-col>
           <a-col
             :md="6"
-            :sm="8"
+            :sm="6"
           >
-            <span
-              style="float: left;overflow: hidden;"
-              class="table-page-search-submitButtons"
-            >
+            <a-form-item label="璁惧鍚嶇О">
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+                v-model="queryParam.equipmentName"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="璁惧鍨嬪彿">
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囧瀷鍙�"
+                v-model="queryParam.model"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="璁惧瑙勬牸">
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囪鏍�"
+                v-model="queryParam.specification"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="浣跨敤閮ㄩ棬">
+              <a-tree-select
+                style="width: 100%"
+                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                :tree-data="treeData"
+                placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬"
+                tree-default-expand-all
+                v-model="queryParam.useId"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="鏁呴殰鏃堕棿">
+              <a-range-picker
+                style="width: 100%;"
+                format="YYYY-MM-DD HH:mm:ss"
+                v-model="faultTime"
+                @change="timeChange"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="鎶ヤ慨浜�">
+              <a-input
+                placeholder="璇疯緭鍏ユ姤淇汉"
+                v-model="queryParam.errUda2"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="鍗曟嵁鐘舵��">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鍗曟嵁鐘舵��"
+                :triggerChange="true"
+                dictCode="equipment_report_repair_status"
+                v-model="queryParam.status"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="鏄惁鍋滄満缁翠慨">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鏄惁鍋滄満缁翠慨"
+                :triggerChange="true"
+                dictCode="is_stop"
+                v-model="queryParam.isStop"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="鏄惁鍔犲伐闆朵欢">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鏄惁鍦ㄥ姞宸ラ浂浠�"
+                :triggerChange="true"
+                dictCode="is_product"
+                v-model="queryParam.errUda1"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="6"
+          >
+            <a-form-item label="鍒跺崟浜�">
+              <a-input
+                placeholder="璇疯緭鍏ュ埗鍗曚汉"
+                v-model="queryParam.createBy"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <div class="table-operator">
               <a-button
                 type="primary"
                 @click="searchQuery"
@@ -51,12 +189,6 @@
                 icon="reload"
                 style="margin-left: 8px"
               >閲嶇疆</a-button>
-            </span>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <div class="table-operator">
       <a-button
         @click="handleAdd"
         type="primary"
@@ -77,83 +209,45 @@
         :loading="loading"
         class="j-table-force-nowrap"
         @change="handleTableChange"
-        :rowSelection = "rowSelection"
+        :customRow="clickThenSelect"
       >
-        <!-- :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" -->
-
-        <template
-          slot="htmlSlot"
-          slot-scope="text"
-        >
-          <div v-html="text"></div>
-        </template>
-        <template
-          slot="imgSlot"
-          slot-scope="text,record"
-        >
-          <span
-            v-if="!text"
-            style="font-size: 12px;font-style: italic;"
-          >鏃犲浘鐗�</span>
-          <img
-            v-else
-            :src="getImgView(text)"
-            :preview="record.id"
-            height="25px"
-            alt=""
-            style="max-width:80px;font-size: 12px;font-style: italic;"
-          />
-        </template>
-        <template
-          slot="fileSlot"
-          slot-scope="text"
-        >
-          <span
-            v-if="!text"
-            style="font-size: 12px;font-style: italic;"
-          >鏃犳枃浠�</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)"
-          >
-            涓嬭浇
-          </a-button>
-        </template>
-
         <span
           slot="action"
           slot-scope="text, record"
         >
-        <a-popconfirm
-                  v-if="record.status == '1'"
-                  title="纭鎻愪氦鍚�?"
-                  @confirm="() =>handleCommit(record, 'commit')"
-                >
-                  <a>鎻愪氦</a>
-                </a-popconfirm>
-                <a-popconfirm
-                  v-if="record.status == '2'"
-                  title="纭鎾ゅ洖鍚�?"
-                  @confirm="() =>handleCommit(record, 'back')"
-                >
-                  <a>鎾ゅ洖</a>
-                </a-popconfirm>
+          <a
+            :disabled=" record.status !== '4'"
+            @click="handleAccept(record)"
+          >楠屾敹</a>
+          <!-- <a-popconfirm
+            v-if="record.status == '1' || record.status == '4'"
+            title="纭鎻愪氦鍚�?"
+            @confirm="() =>handleCommit(record, 'commit')"
+          >
+            <a>鎻愪氦</a>
+          </a-popconfirm>
+          <a-popconfirm
+            v-if="record.status == '2'"
+            title="纭鎾ゅ洖鍚�?"
+            @confirm="() =>handleCommit(record, 'back')"
+          >
+            <a>鎾ゅ洖</a>
+          </a-popconfirm>
 
           <a-divider
-            v-if="record.status == '1' || record.status == '2'"
+            v-if="record.status == '1' || record.status == '2' || record.status == '4'"
             type="vertical"
           />
           <a
-            v-if="record.status == '1' "
+            v-if="record.status == '1' || record.status == '4'"
             @click="handleEdit(record)"
           >缂栬緫</a>
-          <a v-if="record.status == '2'" @click="handleApprove(record)">瀹℃壒</a>
+          <a
+            v-if="record.status == '2'"
+            @click="handleApprove(record)"
+          >瀹℃壒</a>
           <a-divider
-            v-if="record.status == '1' || record.status == '2'"
+            v-if="record.status == '1' || record.status == '2' || record.status == '4'"
             type="vertical"
           />
           <a-dropdown>
@@ -171,33 +265,6 @@
                   <a>鍒犻櫎</a>
                 </a-popconfirm>
               </a-menu-item>
-              <!-- <a-menu-item v-if="record.status == '1'">
-                <a-popconfirm
-                  v-if="record.status == '1'"
-                  title="纭鎻愪氦鍚�?"
-                  @confirm="() =>handleCommit(record, 'commit')"
-                >
-                  <a>鎻愪氦</a>
-                </a-popconfirm>
-              </a-menu-item> 
-              <a-menu-item v-if="record.status == '2'">
-                <a-popconfirm
-                  v-if="record.status == '2'"
-                  title="纭鎾ゅ洖鍚�?"
-                  @confirm="() =>handleCommit(record, 'back')"
-                >
-                  <a>鎾ゅ洖</a>
-                </a-popconfirm>
-              </a-menu-item>
-              <a-menu-item v-if="record.status == '2'">
-                <a-popconfirm
-                  v-if="record.status == '2'"
-                  title="纭椹冲洖鍚�?"
-                  @confirm="() =>handleFinish(record, 'reject')"
-                >
-                  <a>椹冲洖</a>
-                </a-popconfirm>
-              </a-menu-item>-->
               <a-menu-item v-if="record.status == '3' || record.status == '4'">
                 <a-popconfirm
                   v-if="record.status == '3' || record.status == '4'"
@@ -208,7 +275,10 @@
                 </a-popconfirm>
               </a-menu-item>
             </a-menu>
-          </a-dropdown>
+          </a-dropdown> -->
+        </span>
+        <span slot="jell" slot-scope="text">
+            <j-ellipsis :value="text" :length="10" />
         </span>
 
       </a-table>
@@ -226,7 +296,7 @@
           class="table-operator"
           style="margin-top: 0px"
         >
-          <FaultDescriptionList ref="FaultDescriptionList" />
+          <FaultDescriptionList ref="FaultDescriptionList"   @ok="modalFormOk"/>
         </div>
 
       </a-tab-pane>
@@ -236,19 +306,30 @@
       ref="modalForm"
       @ok="modalFormOk"
     ></malfunction-repair-modal>
-    <approvel-modal ref='approvalModalForm' @ok='approvalModalFormOk' @cancel='approvalModalFormOk'></approvel-modal>
+    <approvel-modal
+      ref='approvalModalForm'
+      @ok='approvalModalFormOk'
+      @cancel='approvalModalFormOk'
+    ></approvel-modal>
+    <accept-model
+    ref="acceptModel"
+    @ok="modalFormOk"
+    ></accept-model>
   </a-card>
 </template>
   
 <script>
 
 import '@/assets/less/TableExpand.less'
-import { putAction,getAction } from '@/api/manage'
+import { putAction, getAction } from '@/api/manage'
 import { mixinDevice } from '@/utils/mixin'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import MalfunctionRepairModal from './modules/malfunctionRepair/MalfunctionRepaireModal'
-import FaultDescriptionList from './FaultDescriptionList'
+import FaultDescriptionList from './modules/malfunctionRepair/FaultDescriptionList'
 import ApprovelModal from './modules/malfunctionRepair/ApprovelModal'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import moment from 'moment'
+import AcceptModel from './modules/malfunctionRepair/AcceptModel'
 
 export default {
   name: 'MalfunctionRepairList',
@@ -256,10 +337,14 @@
   components: {
     MalfunctionRepairModal,
     FaultDescriptionList,
-    ApprovelModal
+    ApprovelModal,
+    JEllipsis,
+    AcceptModel,
   },
   data() {
     return {
+      treeData:[],
+      faultTime:[],
       description: '鏁呴殰鎶ヤ慨',
       queryParam: { delflag: 0 },
       selectedRowKeys: [],
@@ -286,7 +371,7 @@
           dataIndex: 'num'
         },
         {
-          title: '璁惧缂栫爜',
+          title: '缁熶竴缂栧彿',
           align: "center",
           dataIndex: 'equipmentNum'
         },
@@ -310,15 +395,19 @@
           align: "center",
           dataIndex: 'departName',
         },
-        {
-          title: '绱ф�ョ▼搴�',
-          align: "center",
-          dataIndex: 'urgencyName',
-        },
+        // {
+        //   title: '绱ф�ョ▼搴�',
+        //   align: "center",
+        //   dataIndex: 'urgencyName',
+        // },
         {
           title: '鏁呴殰鎻忚堪',
           align: "center",
-          dataIndex: 'faultDescription'
+          dataIndex: 'faultDescription',
+          scopedSlots: { 
+            customRender: 'faultDescription' 
+          }
+
         },
         // {
         //   title: '鏁呴殰鎷嶇収',
@@ -327,24 +416,37 @@
         //   scopedSlots: { customRender: 'imgSlot' }
         // },
         {
+          title: '鎶ヤ慨浜�',
+          align: "center",
+          dataIndex: 'errUda2'
+        },
+        {
           title: '鏁呴殰鏃堕棿',
           align: "center",
           dataIndex: 'faultTime'
         },
-        // {
-        //   title: '鏄惁鍋滄満寰呬慨',
-        //   align: "center",
-        //   dataIndex: 'isStop_dictText',
-        // },
         {
-          title: '鍒涘缓浜�',
+          title: '鏄惁鍋滄満寰呬慨',
+          align: "center",
+          dataIndex: 'isStopName',
+        },
+        {
+          title: '鏄惁鍦ㄥ姞宸ラ浂浠�',
+          align: "center",
+          dataIndex: 'errUda1_dictText',
+        },
+        {
+          title: '鍒跺崟浜�',
           align: "center",
           dataIndex: 'createBy'
         },
         {
-          title: '鍒涘缓鏃堕棿',
+          title: '楠屾敹鎰忚',
           align: "center",
-          dataIndex: 'createTime',
+          dataIndex: 'errUda5',
+          scopedSlots: { 
+            customRender: 'jell' 
+          }
         },
         {
           title: '澶囨敞',
@@ -356,7 +458,7 @@
           dataIndex: 'action',
           align: "center",
           fixed: "right",
-          width: 147,
+          width: 200,
           scopedSlots: { customRender: 'action' }
         }
       ],
@@ -367,12 +469,24 @@
         exportXlsUrl: "/eam/equipmentReportRepair/exportXls",
         importExcelUrl: "eam/equipmentReportRepair/importExcel",
         edit: "/eam/equipmentReportRepair/edit",
+        loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
       },
-      imgList:''
+      /* 鍒嗛〉鍙傛暟 */
+      ipagination: {
+        current: 1,
+        pageSize: 5,
+        pageSizeOptions: ['5', '10', '50'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
     }
   },
   created() {
-
+       this.initOptions();
   },
   computed: {
     importExcelUrl: function () {
@@ -397,6 +511,16 @@
     },
   },
   methods: {
+
+    clickThenSelect(record) {
+      return {
+        on: {
+          click: () => {
+            this.onSelectChange(record.id.split(","), [record]);
+          }
+        }
+      }
+    },
 
     loadData(arg) {
       if (!this.url.list) {
@@ -459,12 +583,12 @@
       })
     },
 
-    handleFinish(record,type) {
-      if(type == 'agree'){
+    handleFinish(record, type) {
+      if (type == 'agree') {
         record.status = '3'
-      }else if(type == 'reject'){
+      } else if (type == 'reject') {
         record.status = '4'
-      }else if(type == 'revoke'){
+      } else if (type == 'revoke') {
         record.status = '2'
       }
       putAction(this.url.edit, record).then(res => {
@@ -476,10 +600,10 @@
         }
       })
     },
-    handleApprove: function(record) {
+    handleApprove: function (record) {
       let edit
       edit = this.url.edit
-      this.$refs.approvalModalForm.showModals(record, edit,'3','4')
+      this.$refs.approvalModalForm.showModals(record, edit, '3', '4')
       this.$refs.approvalModalForm.title = '瀹℃壒'
       this.$refs.approvalModalForm.disableSubmit = false
 
@@ -506,9 +630,26 @@
       this.queryParam = {}
       this.loadData(1)
       this.onClearSelected()
+      this.faultTime = []
       this.$refs.FaultDescriptionList.faultId = '-1'
     },
-
+    initOptions() {
+      getAction(this.url.loadOptions).then(res => {
+        if (res.success) {
+          this.treeData = res.result
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
+    timeChange(){
+      this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss")
+      this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss")
+    },
+    handleAccept(record){
+      this.$refs.acceptModel.title="楠屾敹"
+      this.$refs.acceptModel.edit(record)
+    }
   }
 }
 </script>

--
Gitblit v1.9.3