From 28f1104e32c40273778eed24392bbf14ce03e7fe Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期六, 16 八月 2025 09:34:43 +0800
Subject: [PATCH] 安灯模块,相关功能表单页面样式调整

---
 src/views/andon/modules/AndonResponseConfigForm.vue |  340 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 202 insertions(+), 138 deletions(-)

diff --git a/src/views/andon/modules/AndonResponseConfigForm.vue b/src/views/andon/modules/AndonResponseConfigForm.vue
index 131a263..e9cbdc2 100644
--- a/src/views/andon/modules/AndonResponseConfigForm.vue
+++ b/src/views/andon/modules/AndonResponseConfigForm.vue
@@ -1,49 +1,73 @@
 <template>
   <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
+    <j-form-container :disabled="formDisabled" class="andon-response-form">
       <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
-        <a-row>
-          <a-col :span="24">
+
+        <a-row :gutter="24">
+          <a-col :span="12">
             <a-form-model-item label="浜х嚎" :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>
+              <j-select-factory
+                :disabled="disabled"
+                v-model="model.factoryId"
+                :multi="true"
+                @back="backFactoryInfo"
+                :backProduction="true"
+                :treeProductOpera="true"
+              ></j-select-factory>
             </a-form-model-item>
           </a-col>
+        </a-row>
+
+
+        <a-row :gutter="24">
           <a-col :span="12">
             <a-form-model-item label="瀹夌伅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonId">
-              <j-search-select-tag v-model="model.buttonId" placeholder="璇疯緭鍏ュ畨鐏被鍨�"
-                                   dict="andon_button_config,button_name,id"></j-search-select-tag>
+              <j-search-select-tag
+                v-model="model.buttonId"
+                placeholder="璇烽�夋嫨"
+                dict="andon_button_config,button_name,id"
+              ></j-search-select-tag>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="鍒濆鍝嶅簲浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="firsterResponder">
-              <j-select-user-by-dep :multi="false" v-model="model.firsterResponder" placeholder="璇疯緭鍏ュ垵濮嬪搷搴斾汉"  ></j-select-user-by-dep>
+              <j-select-user-by-dep
+                :multi="false"
+                v-model="model.firsterResponder"
+                placeholder="璇烽�夋嫨"
+              ></j-select-user-by-dep>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <!-- 浜岀骇鍝嶅簲浜� + 涓夌骇鍝嶅簲浜� -->
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-model-item
+              label="浜岀骇鍝嶅簲浜�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="secondResponder"
+            >
+              <j-select-user-by-dep
+                :multi="false"
+                v-model="model.secondResponder"
+                placeholder="璇烽�夋嫨"
+              ></j-select-user-by-dep>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="浜岀骇鍝嶅簲浜�(鍗囩骇涓�娆�)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondResponder">
-              <j-select-user-by-dep :multi="false" v-model="model.secondResponder" placeholder="璇疯緭鍏ヤ簩绾у搷搴斾汉(鍗囩骇涓�娆�)"  ></j-select-user-by-dep>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="涓夌骇鍝嶅簲浜�(鍗囩骇涓ゆ)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="thirdResponder">
-              <j-select-user-by-dep :multi="false" v-model="model.thirdResponder" placeholder="璇疯緭鍏ヤ笁绾у搷搴斾汉(鍗囩骇涓ゆ)"  ></j-select-user-by-dep>
+            <a-form-model-item
+              label="涓夌骇鍝嶅簲浜�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="thirdResponder"
+            >
+              <j-select-user-by-dep
+                :multi="false"
+                v-model="model.thirdResponder"
+                placeholder="璇烽�夋嫨"
+              ></j-select-user-by-dep>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -53,113 +77,153 @@
 </template>
 
 <script>
+import { httpAction } from '@/api/manage'
+import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue'
 
-  import { httpAction, getAction } from '@/api/manage'
-  import { validateDuplicateValue } from '@/utils/util'
-  import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue'
-  export default {
-    name: 'AndonResponseConfigForm',
-    components: {
-      JSelectFactory
-    },
-    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' }
-          ],
-          buttonId: [
-            { required: true, message: '瀹夌伅绫诲瀷鏄繀閫夐」', trigger: 'change' }
-          ],
-          firsterResponder: [
-            { required: true, message: '鍒濆鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' }
-          ],
-          secondResponder: [
-            { required: true, message: '浜岀骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' }
-          ],
-          thirdResponder: [
-            { required: true, message: '涓夌骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' }
-          ],
-        },
-        url: {
-          add: "/andonresponseconfig/andonResponseConfig/add",
-          edit: "/andonresponseconfig/andonResponseConfig/edit",
-          queryById: "/andonresponseconfig/andonResponseConfig/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;
-            })
-          }
-
-        })
-      },
+export default {
+  name: 'AndonResponseConfigForm',
+  components: {
+    JSelectFactory
+  },
+  props: {
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false
     }
+  },
+  data () {
+    return {
+      model: {},
+      // 缁熶竴鏍囩鍒楀搴︼紙浜х嚎銆佸畨鐏被鍨嬬瓑鍏辩敤锛�
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      // 缁熶竴杈撳叆妗嗗垪瀹藉害
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        factoryId: [
+          { required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' }
+        ],
+        buttonId: [
+          { required: true, message: '瀹夌伅绫诲瀷鏄繀閫夐」', trigger: 'change' }
+        ],
+        firsterResponder: [
+          { required: true, message: '鍒濆鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' }
+        ],
+        secondResponder: [
+          { required: true, message: '浜岀骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' }
+        ],
+        thirdResponder: [
+          { required: true, message: '涓夌骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' }
+        ],
+      },
+      url: {
+        add: "/andonresponseconfig/andonResponseConfig/add",
+        edit: "/andonresponseconfig/andonResponseConfig/edit",
+        queryById: "/andonresponseconfig/andonResponseConfig/queryById"
+      }
+    }
+  },
+  computed: {
+    formDisabled(){
+      return this.disabled
+    },
+  },
+  created () {
+    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
+}
+</script>
+
+<style scoped>
+.andon-response-form {
+  padding: 24px;
+  background-color: #fff;
+  border-radius: 8px;
+  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+}
+.a-form-model-item {
+  margin-bottom: 20px !important;
+}
+.a-form-model-item-label {
+  margin-right: 16px !important;
+}
+.a-input::placeholder,
+.a-select-selection-placeholder {
+  color: #ccc;
+  font-style: italic;
+}
+.a-form-model-item-label > span:first-child {
+  color: #f5222d;
+  margin-right: 4px;
+}
+.a-form-footer {
+  text-align: right;
+  margin-top: 36px;
+}
+.a-button-primary {
+  background-color: #1890ff;
+  border-color: #1890ff;
+  transition: all 0.3s ease;
+}
+.a-button-primary:hover {
+  background-color: #40a9ff;
+  border-color: #40a9ff;
+}
+.a-button-default {
+  border-color: #d9d9d9;
+  transition: all 0.3s ease;
+}
+.a-button-default:hover {
+  border-color: #bfbfbf;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3