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