From 9555007a15ab751fdf783e45ea871e532de20f7d Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期六, 14 三月 2026 16:42:25 +0800
Subject: [PATCH] 生产记录接口
---
src/views/productionManagement/productionRecords/Edit.vue | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 165 insertions(+), 0 deletions(-)
diff --git a/src/views/productionManagement/productionRecords/Edit.vue b/src/views/productionManagement/productionRecords/Edit.vue
new file mode 100644
index 0000000..97ea9cb
--- /dev/null
+++ b/src/views/productionManagement/productionRecords/Edit.vue
@@ -0,0 +1,165 @@
+<template>
+ <div>
+ <el-dialog
+ v-model="isShow"
+ title="缂栬緫鐢熶骇璁板綍"
+ width="520px"
+ @close="closeModal"
+ >
+ <el-form
+ ref="formRef"
+ label-width="120px"
+ :model="formState"
+ label-position="top"
+ >
+ <el-form-item
+ label="鍙傛暟椤�"
+ prop="parameterItem"
+ :rules="[{ required: true, message: '璇疯緭鍏ュ弬鏁伴」' }]"
+ >
+ <el-input v-model="formState.parameterItem" placeholder="璇疯緭鍏ュ弬鏁伴」" />
+ </el-form-item>
+ <el-form-item
+ label="鍙傛暟绫诲瀷"
+ prop="type"
+ :rules="[{ required: true, message: '璇烽�夋嫨鍙傛暟绫诲瀷' }]"
+ >
+ <el-select v-model="formState.type" placeholder="璇烽�夋嫨鍙傛暟绫诲瀷" style="width: 100%;">
+ <el-option
+ v-for="dict in parameter_tyep"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item
+ label="鍗曚綅"
+ prop="unit"
+ :rules="[{ required: true, message: '璇疯緭鍏ュ崟浣�' }]"
+ >
+ <el-input v-model="formState.unit" placeholder="璇疯緭鍏ュ崟浣�" />
+ </el-form-item>
+ <el-form-item label="鍙傛暟鏍煎紡" prop="parameterFormat">
+ <el-input v-model="formState.parameterFormat" placeholder="璇疯緭鍏ュ弬鏁版牸寮忥紙閫夊~锛�" />
+ </el-form-item>
+ <el-form-item
+ label="鏄惁蹇呭~"
+ prop="isRequired"
+ :rules="[{ required: true, message: '璇烽�夋嫨鏄惁蹇呭~' }]"
+ >
+ <el-select v-model="formState.isRequired" placeholder="璇烽�夋嫨" style="width: 100%;">
+ <el-option label="鏄�" value="1" />
+ <el-option label="鍚�" value="0" />
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button type="primary" @click="handleSubmit">纭</el-button>
+ <el-button @click="closeModal">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script setup>
+import { ref, computed, getCurrentInstance, watch } from "vue";
+import { update } from "@/api/productionManagement/productionRecords.js";
+
+const props = defineProps({
+ visible: {
+ type: Boolean,
+ required: true,
+ },
+ record: {
+ type: Object,
+ default: () => ({}),
+ },
+});
+
+const emit = defineEmits(["update:visible", "completed"]);
+
+const formRef = ref(null);
+const formState = ref({
+ id: undefined,
+ code: "",
+ parameterItem: "",
+ type: "",
+ unit: "",
+ parameterFormat: "",
+ isRequired: undefined,
+});
+
+const isShow = computed({
+ get() {
+ return props.visible;
+ },
+ set(val) {
+ emit("update:visible", val);
+ },
+});
+
+// 鍥炴樉锛氱洃鍚� record 鍙樺寲
+watch(
+ () => props.record,
+ (newRecord) => {
+ if (newRecord && Object.keys(newRecord).length) {
+ formState.value = {
+ id: newRecord.id,
+ code: newRecord.code ?? "",
+ parameterItem: newRecord.parameterItem ?? "",
+ type: newRecord.type ?? "",
+ unit: newRecord.unit ?? "",
+ parameterFormat: newRecord.parameterFormat ?? "",
+ isRequired: newRecord.isRequired,
+ };
+ }
+ },
+ { immediate: true, deep: true }
+);
+
+// 寮圭獥鎵撳紑鏃堕噸鏂板洖鏄�
+watch(
+ () => props.visible,
+ (visible) => {
+ if (visible && props.record && Object.keys(props.record).length) {
+ formState.value = {
+ id: props.record.id,
+ code: props.record.code ?? "",
+ parameterItem: props.record.parameterItem ?? "",
+ type: props.record.type ?? "",
+ unit: props.record.unit ?? "",
+ parameterFormat: props.record.parameterFormat ?? "",
+ isRequired: props.record.isRequired,
+ };
+ }
+ }
+);
+
+const { proxy } = getCurrentInstance();
+const { parameter_tyep } = proxy.useDict("parameter_tyep");
+
+const closeModal = () => {
+ isShow.value = false;
+};
+
+const handleSubmit = () => {
+ formRef.value.validate((valid) => {
+ if (valid) {
+ update(formState.value).then(() => {
+ isShow.value = false;
+ emit("completed");
+ proxy.$modal.msgSuccess("淇敼鎴愬姛");
+ });
+ }
+ });
+};
+
+defineExpose({
+ closeModal,
+ handleSubmit,
+ isShow,
+});
+</script>
--
Gitblit v1.9.3