From 83f051915bbe4562abfb5f1589642dd393ea8490 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 22 八月 2025 10:43:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/mes/modules/WorkOrderSelectModal.vue |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 173 insertions(+), 0 deletions(-)

diff --git a/src/views/mes/modules/WorkOrderSelectModal.vue b/src/views/mes/modules/WorkOrderSelectModal.vue
new file mode 100644
index 0000000..1c9abf0
--- /dev/null
+++ b/src/views/mes/modules/WorkOrderSelectModal.vue
@@ -0,0 +1,173 @@
+<template>
+  <div>
+    <!---->
+    <a-input @click="openModal" placeholder="璇烽�夋嫨浠诲姟鍙�" v-model="textVals" readOnly :disabled="submitDisabled">
+      <a-icon slot="prefix" type="cluster" title="鎺掍骇宸ュ崟閫夋嫨"/>
+      <a-icon v-if="storeVals" slot="suffix" type="close-circle" @click="handleEmpty" title="娓呯┖"/>
+    </a-input>
+    <a-modal
+      title="宸ュ崟閫夋嫨"
+      :width="1000"
+      :visible="visible"
+      :confirmLoading="confirmLoading"
+      @ok="handleSubmit"
+      @cancel="handleCancel">
+      <a-table
+        ref="table"
+        bordered
+        size="middle"
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        @change="handleTableChange"
+        :customRow="customTableRow"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio'}"></a-table>
+    </a-modal>
+  </div>
+
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+
+export default {
+  name: "WorkOrderSelectModal",
+  mixins: [JeecgListMixin],
+  props: {
+    orderStatus: {
+      type: String,
+      default: 'null', //濡傛灉娌℃湁浼犲�煎垯鏌ヤ笉鍒版暟鎹�
+    },
+    submitDisabled: {
+      type: Boolean,
+      default: false,
+    },
+    workOrder: {
+      type: Object,
+      default: undefined,
+    }
+  },
+  watch: {
+    workOrder: {
+      immediate: true,
+      handler(val) {
+        this.textVals = val.workOrderCode
+        this.storeVals = val
+      }
+    }
+  },
+  data() {
+    return {
+      title: "鎿嶄綔",
+      visible: false,
+      model: {},
+      confirmLoading: false,
+      storeVals: undefined, //[key values]
+      textVals: this.value, //[label values]
+      queryParam: {
+        workOrderStatus: this.orderStatus,
+      },
+      url: {
+        list: "/mes/mesProductionWorkOrder/list"
+      },
+      columns: [
+        {
+          title: '浠诲姟鍙�',
+          align: "center",
+          dataIndex: 'workOrderCode',
+          fixed: 'left',
+          width: 200
+        },
+        {
+          title: '鐗╂枡缂栫爜',
+          align: "center",
+          dataIndex: 'materialNumber',
+        },
+        {
+          title: '鐗╂枡鍚嶇О',
+          align: "center",
+          dataIndex: 'materialName'
+        },
+        {
+          title: '璁″垝鐢熶骇鏁伴噺',
+          align: "center",
+          dataIndex: 'planQuantity'
+        },
+        {
+          title: '宸ュ崟鐘舵��',
+          align: "center",
+          dataIndex: 'workOrderStatus_dictText'
+        },
+      ]
+    }
+  },
+  created() {
+    //鍔犺浇鎺掍骇宸ュ崟鏁版嵁
+    this.queryParam.workOrderStatus = this.orderStatus;
+  },
+  methods: {
+    openModal(){
+      this.visible = true;
+      if(this.workOrder){
+        this.textVals = this.workOrder.workOrderCode;
+        this.storeVals = this.workOrder;
+        this.selectedRowKeys = [this.workOrder.id];
+        this.selectedRows = [this.workOrder]
+      }else {
+        this.selectedRowKeys = []
+        this.selectedRows = []
+        this.textVals = '';
+        this.storeVals = undefined;
+      }
+
+    },
+    handleEmpty(){
+      this.textVals = '';
+      this.storeVals = undefined;
+      this.selectedRowKeys = []
+      this.selectedRows = []
+      this.$emit('ok', []);
+    },
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+    /**
+     * 鑷畾涔夎澶囧彴璐﹁〃鏍艰
+     * @param record 琛ㄦ牸琛屼俊鎭�
+     * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉�
+     */
+    customTableRow(record) {
+      return {
+        style: {
+          cursor: 'pointer'
+        },
+        on: {
+          click: () => {
+            this.onSelectChange([record.id], [record]);
+          }
+        }
+      }
+    },
+    handleCancel() {
+      this.close()
+    },
+    handleSubmit() {
+      if(this.selectionRows && this.selectionRows.length === 1){
+        this.textVals = this.selectionRows[0].workOrderCode;
+        this.storeVals = this.selectionRows[0];
+        this.$emit('ok', this.selectionRows);
+        this.close()
+      }else {
+        that.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+      }
+    },
+  }
+}
+</script>
+
+<style>
+
+</style>

--
Gitblit v1.9.3