From df1406d0f571972d033dffd6a93fb4b94febeb56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 24 六月 2025 16:46:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/inspectionUpload/components/qrCodeFormDia.vue |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 175 insertions(+), 0 deletions(-)

diff --git a/src/views/inspectionUpload/components/qrCodeFormDia.vue b/src/views/inspectionUpload/components/qrCodeFormDia.vue
new file mode 100644
index 0000000..207294d
--- /dev/null
+++ b/src/views/inspectionUpload/components/qrCodeFormDia.vue
@@ -0,0 +1,175 @@
+<template>
+  <div>
+    <el-dialog
+        title="宸℃"
+        v-model="dialogVisitable"
+        width="400px"
+        @close="cancel"
+    >
+      <el-form :model="form" :rules="rules" ref="formRef" label-width="120px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="璁惧鍚嶇О" prop="deviceName">
+              <el-input v-model="form.deviceName" placeholder="璇疯緭鍏ヨ澶囧悕绉�" maxlength="30" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="鍦扮偣" prop="location">
+              <el-input v-model="form.location" placeholder="璇疯緭鍏ュ湴鐐�" maxlength="30" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="闄勪欢" prop="taxTrans">
+              <fileUpload
+                  :statusType="0"
+                  ref="beforeProductionRef"
+                  :fileSize="1024"
+                  :fileType="['mp3', 'mp4', 'avi', 'mov', 'mkv']"
+                  :limit="10"
+                  :drag="false"
+                  v-model:modelValue="form.storageBlobDTO"
+              >
+              </fileUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="宸℃浜�" prop="scannerName">
+              <el-input v-model="form.scannerName" disabled placeholder="璇疯緭鍏�" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="宸℃鏃堕棿" prop="scanTime">
+              <el-input v-model="form.scanTime" disabled placeholder="璇疯緭鍏�" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="cancel">鍙栨秷</el-button>
+          <el-button type="primary" @click="submitForm">淇濆瓨</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup>
+import { reactive, ref } from "vue";
+import {ElMessage} from "element-plus";
+import fileUpload from "@/components/FileUpload/index.vue";
+import {uploadInspectionTask} from "@/api/inspectionManagement/index.js";
+import useUserStore from "@/store/modules/user.js";
+import {addOrEditQrCodeRecord} from "@/api/inspectionUpload/index.js";
+
+const emit = defineEmits(['closeDia']);
+const dialogVisitable = ref(false);
+const { proxy } = getCurrentInstance()
+const storageBlobDTO = ref([]);
+const beforeProductionRef = ref(null);
+const userStore = useUserStore();
+const userInfo = ref({});
+
+function getCurrentDateTime() {
+  const now = new Date();
+  const year = now.getFullYear();
+  const month = String(now.getMonth() + 1).padStart(2, '0');
+  const day = String(now.getDate()).padStart(2, '0');
+  const hours = String(now.getHours()).padStart(2, '0');
+  const minutes = String(now.getMinutes()).padStart(2, '0');
+  const seconds = String(now.getSeconds()).padStart(2, '0');
+  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+}
+const data = reactive({
+  form: {
+    deviceName: '',
+    location: '',
+    scannerName: '',
+    scannerId: '',
+    scanTime: '',
+    qrCode: {
+      id: ''
+    }
+  },
+  rules: {
+    deviceName: [{ required: true, message: '璇疯緭鍏ヨ澶囧悕绉�', trigger: 'blur' }],
+    location: [{ required: true, message: '璇疯緭鍏ュ湴鐐�', trigger: 'blur' }]
+  }
+})
+const { form, rules } = toRefs(data)
+
+// 璋冪敤鍑芥暟
+const currentDateTime = getCurrentDateTime();
+
+// 鑾峰彇鐢ㄦ埛淇℃伅
+onMounted(async () => {
+  let res = await userStore.getInfo();
+  userInfo.value = res.user;
+  form.value.scannerName = userInfo.value.nickName
+  form.value.scannerId = userInfo.value.userId
+  form.value.scanTime = currentDateTime
+});
+
+// 鎵撳紑寮规
+const openDialog = async (row) => {
+  dialogVisitable.value = true;
+  form.value.deviceName = row.deviceName
+  form.value.location = row.location
+  form.value.qrCodeId = row.qrCodeId
+};
+const submitForm = async () => {
+  form.value.qrCode.id = form.value.qrCodeId
+  await addOrEditQrCodeRecord({...form.value});
+  cancel()
+  ElMessage.success("鎻愪氦鎴愬姛");
+};
+// 鍏抽棴鍚堝苟琛ㄥ崟
+const cancel = () => {
+  proxy.resetForm("formRef");
+  dialogVisitable.value = false;
+  emit("closeDia");
+};
+defineExpose({ openDialog });
+</script>
+
+<style scoped lang="scss">
+.upload-container {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding: 20px;
+  border: 1px solid #dcdfe6;
+  box-sizing: border-box;
+  .form-container {
+    flex: 1;
+    width: 100%;
+    margin-bottom: 20px;
+  }
+}
+.title {
+  font-size: 14px;
+  color: #165dff;
+  line-height: 20px;
+  font-weight: 600;
+  padding-left: 10px;
+  position: relative;
+  margin: 6px 0;
+}
+.title::before {
+  content: "";
+  position: absolute;
+  left: 0;
+  top: 3px; /* 璋冩暣鍨傜洿浣嶇疆 */
+  width: 4px; /* 灏忔暟鏉″搴� */
+  height: 14px; /* 灏忔暟鏉¢珮搴� */
+  background-color: #165dff; /* 钃濊壊 */
+}
+</style>

--
Gitblit v1.9.3