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