From 6bbceeae0a692ef60f429dbca889752fcb09ec9a Mon Sep 17 00:00:00 2001
From: houshuai <17802598606@163.com>
Date: 星期四, 03 七月 2025 19:42:01 +0800
Subject: [PATCH] 线边库和订单 基本页面搭建

---
 src/views/pms/modules/PmsMaterialProcessForm.vue |  172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 172 insertions(+), 0 deletions(-)

diff --git a/src/views/pms/modules/PmsMaterialProcessForm.vue b/src/views/pms/modules/PmsMaterialProcessForm.vue
new file mode 100644
index 0000000..d76e154
--- /dev/null
+++ b/src/views/pms/modules/PmsMaterialProcessForm.vue
@@ -0,0 +1,172 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+          <a-col :span="12">
+            <a-form-model-item label="鐗╂枡缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber">
+              <a-input v-model="model.materialNumber" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-model-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName">
+              <a-input v-model="model.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-model-item label="浜х嚎ID(SAP宸ヤ綔涓績)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId">
+                <a-row :gutter="24">
+                  <a-col :span="24">
+                    <a-form-item
+                      :labelCol="labelCol"
+                      :wrapperCol="wrapperCol"
+                      label=""
+                    >
+                      <j-select-factory
+                        :disabled="disabled"
+                        v-model="model.factoryId"
+                        :multi="true"
+                        @back="backFactoryInfo"
+                        :backProduction="true"
+                        :treeProductOpera="true"
+                      ></j-select-factory>
+                    </a-form-item>
+                  </a-col>
+                </a-row>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-model-item label="宸ュ簭鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processCode">
+              <a-input v-model="model.processCode" placeholder="璇疯緭鍏ュ伐搴忓彿"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-model-item label="宸ュ簭鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processName">
+              <a-input v-model="model.processName" placeholder="璇疯緭鍏ュ伐搴忓悕绉�"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-model-item label="鎺у埗鐮�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="controlCode">
+              <a-input v-model="model.controlCode" placeholder="璇疯緭鍏ユ帶鍒剁爜"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+  import { httpAction, getAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+  import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue'
+  import JTreeDict from '@/components/jeecg/JTreeDict'//鍒嗙被瀛楀吀鏍戝舰涓嬫媺缁勪欢
+
+  export default {
+    name: 'PmsMaterialProcessForm',
+    components: {
+      JSelectFactory,
+      JTreeDict
+    },
+    props: {
+      //琛ㄥ崟绂佺敤
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      }
+    },
+    data () {
+      return {
+        model:{
+         },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        confirmLoading: false,
+        validatorRules: {
+          factoryId: [
+            { required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' }
+          ],
+          materialNumber: [
+            { required: true, message: '鐗╂枡缂栫爜鏄繀閫夐」', trigger: 'change' }
+          ],
+          materialName: [
+            { required: true, message: '鐗╂枡鍚嶇О鏄繀閫夐」', trigger: 'change' }
+          ],
+          processCode: [
+            { required: true, message: '宸ュ簭鍙锋槸蹇呴�夐」', trigger: 'change' }
+          ],
+          processName: [
+            { required: true, message: '宸ュ簭鍚嶇О鏄繀閫夐」', trigger: 'change' }
+          ],
+        },
+        url: {
+          add: "/pms/pmsMaterialProcess/add",
+          edit: "/pms/pmsMaterialProcess/edit",
+          queryById: "/pms/pmsMaterialProcess/queryById"
+        }
+      }
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+       //澶囦唤model鍘熷鍊�
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      backFactoryInfo(info) {
+        this.model.factoryIds = this.model.factoryId
+        this.nextFactoryOptions = info.map((item, index, arr) => {
+          let c = { label: item.text, value: item.value + '' }
+          return c
+        })
+      },
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      submitForm () {
+        const that = this;
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+            })
+          }
+
+        })
+      },
+    }
+  }
+</script>
\ No newline at end of file

--
Gitblit v1.9.3