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/AndonButtonConfigForm.vue |  327 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 201 insertions(+), 126 deletions(-)

diff --git a/src/views/andon/modules/AndonButtonConfigForm.vue b/src/views/andon/modules/AndonButtonConfigForm.vue
index 7465026..cc47986 100644
--- a/src/views/andon/modules/AndonButtonConfigForm.vue
+++ b/src/views/andon/modules/AndonButtonConfigForm.vue
@@ -1,46 +1,59 @@
 <template>
   <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
+    <j-form-container :disabled="formDisabled" class="andon-button-form">
       <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
-        <a-row>
+        <!-- 绗竴琛岋細瀹夌伅鍚嶇О + 瀹夌伅缂栫爜 -->
+        <a-row :gutter="24">
           <a-col :span="12">
             <a-form-model-item label="瀹夌伅鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonName">
-              <a-input v-model="model.buttonName" placeholder="璇疯緭鍏ュ畨鐏悕绉�"  ></a-input>
+              <a-input v-model="model.buttonName" placeholder="璇疯緭鍏�" />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="瀹夌伅缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonCode">
-              <a-input v-model="model.buttonCode" placeholder="璇疯緭鍏ュ畨鐏紪鐮�"  ></a-input>
+              <a-input v-model="model.buttonCode" placeholder="璇疯緭鍏�" />
+            </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="upgradeResponseDuration">
+              <a-input-number v-model="model.upgradeResponseDuration" placeholder="璇疯緭鍏�" style="width: 100%" />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="鍗囩骇鍝嶅簲鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeResponseDuration">
-              <a-input-number v-model="model.upgradeResponseDuration" placeholder="璇疯緭鍏ュ崌绾у搷搴旀椂闀�(鍒嗛挓)" style="width: 100%" />
+            <a-form-model-item label="鍗囩骇澶勭悊" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeProcessDuration">
+              <a-input-number v-model="model.upgradeProcessDuration" placeholder="璇疯緭鍏�" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <!-- 绗笁琛岋細浜屾鍗囩骇鍝嶅簲鏃堕暱 + 浜屾鍗囩骇澶勭悊鏃堕暱 -->
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-model-item label="浜屾鍗囩骇鍝嶅簲" :labelCol="labelColWide" :wrapperCol="wrapperColNarrow" prop="secondUpgradeResponseDuration">
+              <a-input-number v-model="model.secondUpgradeResponseDuration" placeholder="璇疯緭鍏�" style="width: 100%" />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="鍗囩骇澶勭悊鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeProcessDuration">
-              <a-input-number v-model="model.upgradeProcessDuration" placeholder="璇疯緭鍏ュ崌绾у鐞嗘椂闀�(鍒嗛挓)" style="width: 100%" />
+            <a-form-model-item label="浜屾鍗囩骇澶勭悊" :labelCol="labelColWide" :wrapperCol="wrapperColNarrow" prop="secondUpgradeProcessDuration">
+              <a-input-number v-model="model.secondUpgradeProcessDuration" placeholder="璇疯緭鍏�" style="width: 100%" />
             </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="secondUpgradeResponseDuration">
-              <a-input-number v-model="model.secondUpgradeResponseDuration" placeholder="璇疯緭鍏ヤ簩娆″崌绾у搷搴旀椂闀�(鍒嗛挓)" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="浜屾鍗囩骇澶勭悊鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondUpgradeProcessDuration">
-              <a-input-number v-model="model.secondUpgradeProcessDuration" placeholder="璇疯緭鍏ヤ簩娆″崌绾у鐞嗘椂闀�(鍒嗛挓)" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="瀹夌伅鎸夐挳鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonStatus">
-              <j-dict-select-tag type="list" v-model="model.buttonStatus" dictCode="button_status" placeholder="璇烽�夋嫨瀹夌伅鎸夐挳鐘舵��" />
+            <a-form-model-item label="鎸夐挳鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonStatus">
+              <j-dict-select-tag type="list" v-model="model.buttonStatus" dictCode="button_status" placeholder="璇烽�夋嫨" />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
-              <a-input v-model="model.remark" placeholder="璇疯緭鍏ュ娉�"  ></a-input>
+              <a-input v-model="model.remark" placeholder="璇疯緭鍏�" />
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -50,111 +63,173 @@
 </template>
 
 <script>
+import { httpAction, getAction } from '@/api/manage'
+import { validateDuplicateValue } from '@/utils/util'
 
-  import { httpAction, getAction } from '@/api/manage'
-  import { validateDuplicateValue } from '@/utils/util'
-
-  export default {
-    name: 'AndonButtonConfigForm',
-    components: {
-    },
-    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: {
-          buttonName: [
-            { required: true, message: '瀹夌伅鍚嶇О鏄繀閫夐」', trigger: 'change' }
-          ],
-          buttonCode: [
-            { required: true, message: '瀹夌伅缂栫爜鏄繀閫夐」', trigger: 'change' }
-          ],
-          upgradeResponseDuration: [
-            { required: true, message: '鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' }
-          ],
-          upgradeProcessDuration: [
-            { required: true, message: '鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' }
-          ],
-          secondUpgradeResponseDuration: [
-            { required: true, message: '浜屾鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' }
-          ],
-          secondUpgradeProcessDuration: [
-            { required: true, message: '浜屾鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' }
-          ],
-          buttonStatus: [
-            { required: true, message: '瀹夌伅鎸夐挳鐘舵�佹槸蹇呴�夐」', trigger: 'change' }
-          ],
-        },
-        url: {
-          add: "/andonbuttonconfig/andonButtonConfig/add",
-          edit: "/andonbuttonconfig/andonButtonConfig/edit",
-          queryById: "/andonbuttonconfig/andonButtonConfig/queryById"
-        }
-      }
-    },
-    computed: {
-      formDisabled(){
-        return this.disabled
-      },
-    },
-    created () {
-       //澶囦唤model鍘熷鍊�
-      this.modelDefault = JSON.parse(JSON.stringify(this.model));
-    },
-    methods: {
-      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: 'AndonButtonConfigForm',
+  components: {},
+  props: {
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false
     }
+  },
+  data() {
+    return {
+      model: {},
+      // 鏅�氭爣绛惧垪瀹藉害
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      // 瀹芥爣绛惧垪锛堢敤浜庘�滀簩娆″崌绾у搷搴斺�濈瓑闀挎爣绛撅級
+      labelColWide: {
+        xs: { span: 24 },
+        sm: { span: 8 }, // 澧炲姞鏍囩瀹藉害
+      },
+      // 绐勮緭鍏ユ鍒楋紙閰嶅悎瀹芥爣绛撅紝淇濇寔甯冨眬骞宠 锛�
+      wrapperColNarrow: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        buttonName: [
+          { required: true, message: '瀹夌伅鍚嶇О鏄繀閫夐」', trigger: 'change' }
+        ],
+        buttonCode: [
+          { required: true, message: '瀹夌伅缂栫爜鏄繀閫夐」', trigger: 'change' }
+        ],
+        upgradeResponseDuration: [
+          { required: true, message: '鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' }
+        ],
+        upgradeProcessDuration: [
+          { required: true, message: '鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' }
+        ],
+        secondUpgradeResponseDuration: [
+          { required: true, message: '浜屾鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' }
+        ],
+        secondUpgradeProcessDuration: [
+          { required: true, message: '浜屾鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' }
+        ],
+        buttonStatus: [
+          { required: true, message: '瀹夌伅鎸夐挳鐘舵�佹槸蹇呴�夐」', trigger: 'change' }
+        ],
+      },
+      url: {
+        add: '/andonbuttonconfig/andonButtonConfig/add',
+        edit: '/andonbuttonconfig/andonButtonConfig/edit',
+        queryById: '/andonbuttonconfig/andonButtonConfig/queryById'
+      }
+    }
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled
+    },
+  },
+  created() {
+    this.modelDefault = JSON.parse(JSON.stringify(this.model));
+  },
+  methods: {
+    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-button-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: 16px !important;
+}
+
+/* 鏍囩涓庤緭鍏ユ姘村钩闂磋窛锛堣В鍐虫枃瀛楁嫢鎸わ級 */
+.a-form-model-item-label {
+  margin-right: 12px !important;
+}
+
+/* 杈撳叆妗� & 鏁板瓧杈撳叆妗� 鍗犱綅绗︽牱寮忎紭鍖� */
+.a-input::placeholder,
+.a-input-number::placeholder {
+  color: #ccc;
+  font-style: italic;
+}
+
+/* 蹇呴�夋爣绛剧殑绾㈣壊鏄熷彿寮鸿皟 */
+.a-form-model-item-label > span:first-child {
+  color: #f5222d;
+  margin-right: 2px;
+}
+
+/* 鎸夐挳鍖哄煙鍙冲榻� & 鎸夐挳鏍峰紡浼樺寲 */
+.a-form-footer {
+  text-align: right;
+  margin-top: 32px;
+}
+
+.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