From d9377fa99b4d8fff9359d27459214d12d2784d4f Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 28 七月 2025 23:59:42 +0800
Subject: [PATCH] update

---
 src/views/base/modules/factoryManager/FactoryModal.vue |  176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 176 insertions(+), 0 deletions(-)

diff --git a/src/views/base/modules/factoryManager/FactoryModal.vue b/src/views/base/modules/factoryManager/FactoryModal.vue
new file mode 100644
index 0000000..dea6f54
--- /dev/null
+++ b/src/views/base/modules/factoryManager/FactoryModal.vue
@@ -0,0 +1,176 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="800"
+    :ok=false
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    :maskClosable="false"
+    :okButtonProps="{ props: {disabled: disableSubmit} }"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="杞﹂棿缂栫爜"
+          prop="factoryCode"
+          :hidden="false"
+          hasFeedback >
+          <a-input id="factoryCode" placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿缂栧彿" v-model="model.factoryCode"/>
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="杞﹂棿鍚嶇О"
+          prop="factoryName"
+          :hidden="false"
+          hasFeedback >
+          <a-input id="factoryName" placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О" v-model="model.factoryName"/>
+        </a-form-model-item>
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" :hidden="seen" label="涓婄骇杞﹂棿" hasFeedback>
+          <a-tree-select
+            style="width:100%"
+            :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
+            :treeData="factoryTree"
+            v-model="model.parentId"
+            placeholder="璇烽�夋嫨涓婄骇杞﹂棿"
+            :disabled="condition">
+          </a-tree-select>
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="鎺掑簭">
+          <a-input-number v-model="model.sorter"/>
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="澶囨敞">
+          <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/>
+        </a-form-model-item>
+
+      </a-form-model>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { httpAction } from '@/api/manage'
+  import { queryById } from '@/api/api'
+  import pick from 'lodash.pick'
+  export default {
+    name: "FactoryModal",
+    components: {  },
+    data () {
+      return {
+        factoryTree:[],
+        title:"鎿嶄綔",
+        seen:false,
+        visible: false,
+        condition:true,
+        disableSubmit:false,
+        model: {},
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+
+        confirmLoading: false,
+        validatorRules:{
+          factoryName:[{ required: true, message: '璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О!' }],
+        },
+        url: {
+          add: "/base/factory/add",
+        },
+        dictDisabled:true,
+      }
+    },
+    created () {
+    },
+    methods: {
+      loadTreeData(){
+        var that = this;
+        queryById().then((res)=>{
+          if(res.success){
+            that.factoryTree = [];
+            for (let i = 0; i < res.result.length; i++) {
+              let temp = res.result[i];
+              that.factoryTree.push(temp);
+            }
+          }
+
+        })
+      },
+      add (factory) {
+        if(factory){
+          this.seen = false;
+          this.dictDisabled = false;
+        }else{
+          this.seen = true;
+          this.dictDisabled = true;
+        }
+        this.edit(factory);
+      },
+      edit (record) {
+        this.visible = true;
+        this.model = Object.assign({}, this.defaultModel, record)
+        this.loadTreeData();
+        this.model.parentId = record!=null?record.toString():null;
+      },
+      close () {
+        this.$emit('close');
+        this.disableSubmit = false;
+        this.visible = false;
+        this.$refs.form.resetFields();
+      },
+      handleOk () {
+        const that = this;
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            httpAction(this.url.add,this.model,"post").then((res)=>{
+              if(res.success){
+                // that.$message.success(res.message);
+                that.$notification.success({
+                  message:'娑堟伅',
+                  description:res.message
+                });
+                that.loadTreeData();
+                that.$emit('ok');
+              }else{
+                // that.$message.warning(res.message);
+                that.$notification.warning({
+                  message:'娑堟伅',
+                  description:res.message
+                });
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+              that.close();
+            })
+
+          }else{
+            return false;
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file

--
Gitblit v1.9.3