From a751e547d67c4f8e2c6fddf958c1559f792515bd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 27 六月 2025 16:11:50 +0800
Subject: [PATCH] 添加工作流

---
 src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue |  347 +++++++++++++++++++++++++++------------------------------
 1 files changed, 167 insertions(+), 180 deletions(-)

diff --git a/src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue b/src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue
index c706453..80d73fe 100644
--- a/src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue
+++ b/src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue
@@ -11,21 +11,37 @@
       :dataSource="dataSource"
       :pagination="ipagination"
       @change="handleTableChange"
+      :loading="loading"
     >
-
       <template
         v-for="col in columns"
         :slot="col.dataIndex"
         slot-scope='text, record, index'
       >
         <div :key="col.dataIndex">
-          <a-input-search
-            v-if="col.dataIndex == 'materialName'"
-            enter-button
-            @search="onSearchMaterial(index)"
+          <a-input
             :value="text"
-            :read-only="true"
-            @change="(e) => handleChange(e, record.key, col, index)"
+            v-if="col.dataIndex == 'sparePartId'"
+            auto-size
+            placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"
+            @change="(e)=>handleChange(e, record.key, col, index)"
+            :disabled="dailyMaintenanceOrderStatus!='4'"
+          />
+          <a-input
+            :value="text"
+            v-if="col.dataIndex == 'smoamUda2'"
+            auto-size
+            placeholder="璇疯緭鍏ュ崟浣�"
+            @change="(e)=>handleChange(e, record.key, col, index)"
+            :disabled="dailyMaintenanceOrderStatus!='4'"
+          />
+          <j-dict-select-tag
+            :value='text'
+            v-if="col.dataIndex == 'smoamUda1'"
+            dictCode="material_type"
+            style="width: 100%;"
+            @change="(e)=>handleChange(e, record.key, col, index)"
+            :disabled="dailyMaintenanceOrderStatus!='4'"
           />
           <a-input-number
             :value="text"
@@ -33,47 +49,19 @@
             :min="1"
             :max="99999"
             @change="(e)=>handleChange(e, record.key, col, index)"
-            :disabled="record.isLock == 'yes'||dailyMaintenanceOrderStatus!='4'"
+            :disabled="dailyMaintenanceOrderStatus!='4'"
           />
-
         </div>
       </template>
       <span
         slot='action'
-        slot-scope='text, record'
+        slot-scope='text, record,index'
       >
-        <a-popconfirm
-          title="纭閿佹枡鍚�?"
-          @confirm="() => handleLock(record)"
-          dailyMaintenanceOrder:actualMaterialLock
-        >
-          <a
-            v-has="'dailyMaintenanceOrder:actualMaterialLock'"
-            v-if="record.isLock=='no'&&dailyMaintenanceOrderStatus=='4'"
-          >閿佹枡</a>
-        </a-popconfirm>
-        <a-divider
-          v-if="record.isLock=='no'"
-          type="vertical"
-        />
-        <a-popconfirm
-          title="瑙i攣鍚庝細鑷姩閲婃斁搴撳瓨锛岀‘璁よВ閿佸悧?"
-          @confirm="() => handleUnLock(record)"
-        >
-          <a
-            v-has="'dailyMaintenanceOrder:actualMaterialLock'"
-            v-if="record.isLock=='yes'&&dailyMaintenanceOrderStatus=='4'"
-          >瑙i攣</a>
-        </a-popconfirm>
-        <a-popconfirm
-          title="纭畾鍒犻櫎鍚�?"
-          @confirm="() => handleDelete(record.id)"
-        >
-          <a
-            v-has="'dailyMaintenanceOrder:actualMaterialDelete'"
-            v-if="record.isLock=='no'&&dailyMaintenanceOrderStatus=='4'"
-          >鍒犻櫎</a>
-        </a-popconfirm>
+        <a
+          :disabled="dailyMaintenanceOrderStatus!='4'"
+          @click='handleDeleteFake(index)'
+        >鍒犻櫎</a>
+        <!-- :disabled="mainId.status=='4'" -->
       </span>
     </a-table>
     <a-button
@@ -97,21 +85,22 @@
           type="primary"
           :style="{marginRight: '8px'}"
           :disabled="specialyMaintenanceOrderStatus!='4'"
-        >鏆傚瓨</a-button>
+        >鏆傚瓨</a-button> -->
         <a-button
           @click="handleOk(0)"
           type="primary"
-          :disabled="specialyMaintenanceOrderStatus!='4'"
-        >淇濆瓨</a-button> -->
+          :disabled="dailyMaintenanceOrderStatus!='4'"
+        >淇濆瓨</a-button>
       </a-row>
       <!-- :disabled="false" -->
     </div>
-    <actual-material-select
-      ref="actualMaterialSelect"
-      @sendMaterialRecord="sendMaterialRecord"
-    >
+    <actual-material-select ref="actualMaterialSelect">
+      <!-- @sendMaterialRecord="sendMaterialRecord" -->
     </actual-material-select>
-    <j-select-spare-part-modal ref='JSelectSparePartModal'></j-select-spare-part-modal>
+    <j-select-spare-part-modal
+      ref='JSelectSparePartModal'
+      @selection2Rows="getSelectRows"
+    ></j-select-spare-part-modal>
   </a-card>
 </template>
 <script>
@@ -143,7 +132,7 @@
     equipmentId: {
       type: String,
       required: false,
-      default: ''
+      default: '-1'
     },
   },
   data() {
@@ -195,67 +184,50 @@
       dataSource: [],
       columns: [
         {
-          title: '棰嗘枡鍑哄簱鍗�',
-          dataIndex: 'num',
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
           align: "center",
-          width: 150,
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
         },
         {
-          title: '澶囦欢缂栫爜',
-          dataIndex: 'sparePartNum',
+          title: '鐗╂枡鍚嶇О',
+          dataIndex: 'sparePartId',
+          scopedSlots: { customRender: 'sparePartId' },
           align: "center",
-
+          // className: 'red',
+          // width: 250,
         },
         {
-          title: '澶囦欢鍚嶇О',
-          dataIndex: 'sparePartName',
+          title: '鐗╂枡绉嶇被',
+          dataIndex: 'smoamUda1',
+          scopedSlots: { customRender: 'smoamUda1' },
           align: "center",
-
-        },
-        {
-          title: '瑙勬牸',
-          dataIndex: 'specification',
-          align: "center",
-        },
-        {
-          title: '鍨嬪彿',
-          dataIndex: 'model',
-          align: "center",
-        },
-        {
-          title: '鍒堕�犲晢',
-          dataIndex: 'constructorName',
-          align: "center",
-        },
-        {
-          title: '涓诲崟浣�',
-          dataIndex: 'mainUnitName',
-          align: "center",
-
-        },
-        {
-          title: '涓绘暟閲�',
-          align: 'center',
-          dataIndex: 'mainQuantity'
-        },
-        {
-          title: '鍙敤鏁伴噺',
-          align: 'center',
-          dataIndex: 'availableQuantity'
+          // width: 250,
         },
         {
           title: '浣跨敤鏁伴噺',
           dataIndex: 'quantity',
           align: "center",
           scopedSlots: { customRender: 'quantity' },
-          className: 'red',
-
+          // className: 'red',
         },
+        {
+          title: '鍗曚綅',
+          dataIndex: 'smoamUda2',
+
+          align: "center",
+          scopedSlots: { customRender: 'smoamUda2' },
+          // className: 'red',
+        },
+
         {
           title: '鎿嶄綔',
           dataIndex: 'action',
           align: 'center',
-          width: 250,
           scopedSlots: { customRender: 'action' }
         }
       ],
@@ -267,7 +239,8 @@
         lock: "/eam/maintenanceOrderActualMaterial/lock",
         unLock: "/eam/maintenanceOrderActualMaterial/unLock"
       },
-      changeIndex: 0
+      changeIndex: 0,
+      loading: false,
     }
   },
   watch: {
@@ -275,20 +248,20 @@
       immediate: true,
       handler(val) {
         this.clearList();
-        this.queryParam['maintenanceOrderId'] = val
-        this.queryParam['equipmentId'] = this.equipmentId
+        // this.queryParam['maintenanceOrderId'] = val
+        // this.queryParam['equipmentId'] = this.equipmentId
         this.loadData(1);
       }
     },
-    equipmentId: {
-      immediate: true,
-      handler(val) {
-        this.clearList();
-        this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId
-        this.queryParam['equipmentId'] = val
-        this.loadData(1);
-      }
-    }
+    // equipmentId: {
+    //   immediate: true,
+    //   handler(val) {
+    //     this.clearList();
+    //     this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId
+    //     this.queryParam['equipmentId'] = val
+    //     this.loadData(1);
+    //   }
+    // }
   },
   created() {
     this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId;
@@ -296,14 +269,17 @@
     this.loadData(1);
   },
   methods: {
+    // addMaterial() {
+    //   let ids = [];
+    //   for (let i = 0; i < this.dataSource.length; i++) {
+    //     ids.push(this.dataSource[i].outboundOrderDetailId);
+    //   }
+    //   this.$refs.JSelectSparePartModal.showModals(ids);
+    //   this.$refs.JSelectSparePartModal.title = '閫夋嫨澶囦欢淇℃伅'
+    //   this.$refs.JSelectSparePartModal.disableSubmit = false
+    // },
     addMaterial() {
-      let ids = [];
-      for (let i = 0; i < this.dataSource.length; i++) {
-        ids.push(this.dataSource[i].outboundOrderDetailId);
-      }
-      this.$refs.JSelectSparePartModal.showModals(ids);
-      this.$refs.JSelectSparePartModal.title = '閫夋嫨澶囦欢淇℃伅'
-      this.$refs.JSelectSparePartModal.disableSubmit = false
+      this.dataSource.push({ sparePartId: '', smoamUda1: '', smoamUda2: '', quantity: '', repairOrderId: this.equipmentId })
     },
     handleCancel() {
       this.$bus.$emit('closeDrawer');
@@ -322,16 +298,16 @@
       if (saveStatus == 0) {
         let materialDataSource = that.dataSource;
         let indexIdList = [];
-        for (let i = 0; i < materialDataSource.length; i++) {
-          if (materialDataSource[i].materialId == undefined || materialDataSource[i].materialId == null || materialDataSource[i].materialId == '') {
-            that.$message.warning("璇烽�夋嫨绗�" + (i + 1) + "琛岀墿鏂欙紒");
-            return false;
-          }
-          if (materialDataSource[i].quantity == undefined || materialDataSource[i].quantity == null || materialDataSource[i].quantity == '') {
-            that.$message.warning("璇峰~鍐欑" + (i + 1) + "琛岀敤鏂欐暟锛�");
-            return false;
-          }
-        }
+        // for (let i = 0; i < materialDataSource.length; i++) {
+        //   if (materialDataSource[i].materialId == undefined || materialDataSource[i].materialId == null || materialDataSource[i].materialId == '') {
+        //     that.$message.warning("璇烽�夋嫨绗�" + (i + 1) + "琛岀墿鏂欙紒");
+        //     return false;
+        //   }
+        //   if (materialDataSource[i].quantity == undefined || materialDataSource[i].quantity == null || materialDataSource[i].quantity == '') {
+        //     that.$message.warning("璇峰~鍐欑" + (i + 1) + "琛岀敤鏂欐暟锛�");
+        //     return false;
+        //   }
+        // }
       }
       if (that.dataSource.length === 0) {
         that.$message.warning("璇锋坊鍔犵墿鏂欙紒")
@@ -364,14 +340,26 @@
       console.log(column)
       const temp = [...this.dataSource]
       const target = temp[index]
-      let availableQuantity = target['availableQuantity']
-      if (target) {
-        if (value != undefined && value != null && value != '' && availableQuantity < value) {
-          this.$message.error('浣跨敤鏁伴噺涓嶈兘澶т簬鍙敤鏁伴噺!')
-        } else {
-        }
-        target[column.dataIndex] = value
-        this.dataSource = temp
+      // let availableQuantity = target['availableQuantity']
+      // if (target) {
+      //   if (value != undefined && value != null && value != '' && availableQuantity < value) {
+      //     this.$message.error('浣跨敤鏁伴噺涓嶈兘澶т簬鍙敤鏁伴噺!')
+      //   } else {
+      //   }
+      //   target[column.dataIndex] = value
+      //   this.dataSource = temp
+      // }
+      if ('sparePartId' == column.dataIndex) {
+        target['sparePartId'] = value.target.value
+      }
+      if ('smoamUda2' == column.dataIndex) {
+        target['smoamUda2'] = value.target.value
+      }
+      if ('quantity' == column.dataIndex) {
+        target['quantity'] = value
+      }
+      if ('smoamUda1' == column.dataIndex) {
+        target['smoamUda1'] = value
       }
     },
     onSearchMaterial(index) {
@@ -379,31 +367,32 @@
       this.$refs.actualMaterialSelect.list()
       this.$refs.actualMaterialSelect.title = '鐗╂枡閫夋嫨'
     },
-    sendMaterialRecord(data, val) {
-      let record = data.record
-      const temp = [...this.dataSource]
-      const target = temp[this.recordIndex]
-      if (target) {
-        target.materialId = record.id;
-        target.materialName = record.name;
-        target.materialNum = record.num;
-        target.materialModel = record.model;
-        target.materialSpecification = record.specification;
-        target.unitId_dictText = record.unitId_dictText;
-        this.dataSource = temp
-      }
-    },
+
+    // sendMaterialRecord(data, val) {
+    //   let record = data.record
+    //   const temp = [...this.dataSource]
+    //   const target = temp[this.recordIndex]
+    //   if (target) {
+    //     target.materialId = record.id;
+    //     target.materialName = record.name;
+    //     target.materialNum = record.num;
+    //     target.materialModel = record.model;
+    //     target.materialSpecification = record.specification;
+    //     target.unitId_dictText = record.unitId_dictText;
+    //     this.dataSource = temp
+    //   }
+    // },
     clearList() {
       this.dataSource = [];
       this.ipagination.current = 1
     },
-    getUuiD(randomLength) {
-      return Number(
-        Math.random()
-          .toString()
-          .substr(2, randomLength) + Date.now()
-      ).toString(36)
-    },
+    // getUuiD(randomLength) {
+    //   return Number(
+    //     Math.random()
+    //       .toString()
+    //       .substr(2, randomLength) + Date.now()
+    //   ).toString(36)
+    // },
     handleLock(record) {
       let that = this;
       if (record.quantity == null || record.quantity == undefined || record.quantity == '') {
@@ -414,7 +403,7 @@
         this.$message.error('浣跨敤鏁伴噺涓嶈兘澶т簬鍙敤鏁伴噺!');
         return false;
       }
-      this.confirmLoading = true;
+      this.loading = true;
       postAction(this.url.lock, record).then(res => {
         if (res.success) {
           this.$message.success("搴撳瓨閿佸畾鎴愬姛锛�")
@@ -422,14 +411,14 @@
           this.$message.error(res.message)
         }
       }).finally(res => {
-        that.confirmLoading = false
+        that.loading = false
         that.loadData();
       })
 
     },
     handleUnLock(record) {
       let that = this;
-      this.confirmLoading = true;
+      this.loading = true;
       postAction(this.url.unLock, record).then(res => {
         if (res.success) {
           this.$message.success("搴撳瓨瑙i攣鎴愬姛锛�")
@@ -437,7 +426,7 @@
           this.$message.error(res.message)
         }
       }).finally(res => {
-        that.confirmLoading = false
+        that.loading = false
         that.loadData();
       })
     },
@@ -473,50 +462,48 @@
           this.loading = false
         })
     },
-  },
-  mounted() {
-    let newActualMaterials = [];
-    this.$bus.$on('selectionRows', (data) => {
+    getSelectRows(data) {
+      let newActualMaterials = [];
       for (let i = 0; i < data.length; i++) {
-        var actualMaterial
-          =
-        {
-          id: this.getUuiD(16),
-          num: data[i].num,
+        newActualMaterials.push({
+          // id: this.getUuiD(16),
+          // num: data[i].num,
           outboundOrderDetailId: data[i].id,
           sparePartId: data[i].sparePartId,
-          sparePartNum: data[i].spareNum,
-          sparePartName: data[i].spareName,
-          specification: data[i].specification,
-          model: data[i].model,
-          constructorName: data[i].constructorName,
-          constructorId: data[i].constructorId,
-          mainUnitName: data[i].mainUnitName,
-          mainUnitId: data[i].mainUnitId,
+          // sparePartNum: data[i].spareNum,
+          // sparePartName: data[i].spareName,
+          // specification: data[i].specification,
+          // model: data[i].model,
+          // constructorName: data[i].constructorName,
+          // constructorId: data[i].constructorId,
+          // mainUnitName: data[i].mainUnitName,
+          // mainUnitId: data[i].mainUnitId,
           mainQuantity: data[i].mainQuantity,
           useQuantity: data[i].useQuantity,
           availableQuantity: data[i].availableQuantity,
           maintenanceOrderId: this.dailyMaintenanceOrderId,
           equipmentId: this.equipmentId,
           isLock: 'no'
-        }
-        newActualMaterials.push(actualMaterial);
+        })
       }
       let that = this
-      let obj = obj = postAction(this.url.addInit, newActualMaterials)
-      obj.then((res) => {
+      postAction(this.url.addInit, newActualMaterials).then((res) => {
         if (res.success) {
           that.$message.success(res.message)
-
           that.$emit('ok')
         } else {
           that.$message.warning(res.message)
         }
       }).finally(res => {
-        that.loadData();
         newActualMaterials = []
+        that.loadData();
+
       })
-    })
+
+    }
+  },
+
+  mounted() {
   },
 
 }

--
Gitblit v1.9.3