From bc365ef47ae4e01754aeadbae26170e11c9bb80e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 22 六月 2026 16:56:12 +0800
Subject: [PATCH] 新疆马铃薯 1.删除按钮添加操作权限

---
 src/views/qualityManagement/metricMaintenance/StandardFormDialog.vue |  128 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/src/views/qualityManagement/metricMaintenance/StandardFormDialog.vue b/src/views/qualityManagement/metricMaintenance/StandardFormDialog.vue
new file mode 100644
index 0000000..6b69740
--- /dev/null
+++ b/src/views/qualityManagement/metricMaintenance/StandardFormDialog.vue
@@ -0,0 +1,128 @@
+<template>
+  <FormDialog
+    v-model="dialogVisible"
+    :title="computedTitle"
+    :operation-type="operationType"
+    :width="width"
+    @close="emit('close')"
+    @cancel="handleCancel"
+    @confirm="handleConfirm"
+  >
+    <el-form
+      ref="formRef"
+      :model="form"
+      :rules="rules"
+      label-width="100px"
+    >
+      <el-form-item label="鏍囧噯缂栧彿" prop="standardNo">
+        <el-input v-model="form.standardNo" placeholder="璇疯緭鍏ユ爣鍑嗙紪鍙�" />
+      </el-form-item>
+      <el-form-item label="鏍囧噯鍚嶇О" prop="standardName">
+        <el-input v-model="form.standardName" placeholder="璇疯緭鍏ユ爣鍑嗗悕绉�" />
+      </el-form-item>
+      <el-form-item label="绫诲埆" prop="inspectType">
+        <el-select v-model="form.inspectType" placeholder="璇烽�夋嫨绫诲埆" style="width: 100%">
+          <el-option label="鍘熸潗鏂欐楠�" value="0" />
+          <el-option label="杩囩▼妫�楠�" value="1" />
+          <el-option label="鍑哄巶妫�楠�" value="2" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鐘舵��" prop="state">
+        <el-select v-model="form.state" placeholder="璇烽�夋嫨鐘舵��" style="width: 100%">
+          <el-option label="鑽夌" value="0" />
+          <el-option label="閫氳繃" value="1" />
+          <el-option label="鎾ら攢" value="2" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="澶囨敞" prop="remark">
+        <el-input
+          v-model="form.remark"
+          type="textarea"
+          :rows="3"
+          placeholder="璇疯緭鍏ュ娉�"
+        />
+      </el-form-item>
+      <el-form-item label="妫�楠岃鍒�" prop="inspectRule">
+        <el-radio-group v-model="form.inspectRule">
+          <el-radio :label="0">鍏ㄦ</el-radio>
+          <el-radio :label="1">鎶芥</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="鎶芥姣斾緥(%)" prop="sampleRatio" v-if="form.inspectRule === 1">
+        <el-input-number v-model="form.sampleRatio" :min="0.01" :max="100" :precision="2" placeholder="璇疯緭鍏ユ娊妫�姣斾緥" style="width: 100%" />
+      </el-form-item>
+    </el-form>
+  </FormDialog>
+</template>
+
+<script setup>
+import { computed, ref } from 'vue'
+import FormDialog from '@/components/Dialog/FormDialog.vue'
+
+const props = defineProps({
+  modelValue: {
+    type: Boolean,
+    default: false
+  },
+  operationType: {
+    type: String,
+    default: 'add'
+  },
+  form: {
+    type: Object,
+    required: true
+  },
+  rules: {
+    type: Object,
+    default: () => ({})
+  },
+  processOptions: {
+    type: Array,
+    default: () => []
+  },
+  width: {
+    type: String,
+    default: '500px'
+  }
+})
+
+const emit = defineEmits(['update:modelValue', 'close', 'cancel', 'confirm'])
+
+const dialogVisible = computed({
+  get: () => props.modelValue,
+  set: (val) => emit('update:modelValue', val)
+})
+
+const formRef = ref(null)
+
+  const computedTitle = computed(() => {
+  if (props.operationType === 'edit') return '缂栬緫妫�娴嬫爣鍑�'
+  if (props.operationType === 'copy') return '澶嶅埗妫�娴嬫爣鍑�'
+  return '鏂板妫�娴嬫爣鍑�'
+})
+
+const handleConfirm = () => {
+  if (!formRef.value) {
+    emit('confirm')
+    return
+  }
+  formRef.value.validate((valid) => {
+    if (valid) {
+      emit('confirm')
+    }
+  })
+}
+
+const handleCancel = () => {
+  emit('cancel')
+  dialogVisible.value = false
+}
+
+const resetFields = () => {
+  formRef.value?.resetFields?.()
+}
+
+defineExpose({
+  resetFields
+})
+</script>

--
Gitblit v1.9.3