From 2f5d64825dbc81f9732893ee9f3de1a38725ae25 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 10 三月 2025 17:12:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/CNAS/resourceDemand/device/component/acceptanceForm.vue |  192 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 192 insertions(+), 0 deletions(-)

diff --git a/src/views/CNAS/resourceDemand/device/component/acceptanceForm.vue b/src/views/CNAS/resourceDemand/device/component/acceptanceForm.vue
new file mode 100644
index 0000000..b9e7181
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/device/component/acceptanceForm.vue
@@ -0,0 +1,192 @@
+<template>
+  <div>
+    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible"
+      title="浠櫒璁惧楠屾敹鍗�" width="80%" @close="resetForm">
+      <el-form ref="modelForm" :model="form" :rules="rules" label-width="180px">
+        <el-col :span="12">
+          <el-form-item label="鍒拌揣鏃ユ湡锛�" prop="arrivalDate">
+            <el-date-picker v-model="form.arrivalDate" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" format="yyyy-MM-dd"
+              style="width: 100%" value-format="yyyy-MM-dd" :disabled="operationType === 'view'">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="閲戦锛�" prop="goldAmount">
+            <el-input v-model="form.goldAmount" :disabled="operationType === 'view'" clearable size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="缁翠慨鍗曚綅锛�" prop="maintenanceunit">
+            <el-input v-model="form.maintenanceunit" :disabled="operationType === 'view'" clearable
+              size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="鏀惰澶囦富鏈哄拰澶囦欢鎯呭喌锛�" prop="spareParts">
+            <el-input v-model="form.spareParts" :disabled="operationType === 'view'" clearable size="small"
+              type="textarea"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="瀹夎銆佽皟璇曟儏鍐碉細" prop="installationDebugging">
+            <el-input v-model="form.installationDebugging" :disabled="operationType === 'view'" clearable size="small"
+              type="textarea"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="楠屾敹鎯呭喌锛�" prop="checkSituation">
+            <el-input v-model="form.checkSituation" :disabled="operationType === 'view'" clearable size="small"
+              type="textarea"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="鎺ユ敹绛惧瓧锛�" prop="receivingSignature">
+            <el-input v-model="form.receivingSignature" :disabled="operationType === 'view'" clearable
+              size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="鍘傚浠h〃锛�" prop="producer">
+            <el-input v-model="form.producer" :disabled="operationType === 'view'" clearable size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="鎺ユ敹浜猴細" prop="recipient">
+            <el-input v-model="form.recipient" :disabled="operationType === 'view'" clearable size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="鎺ユ敹鏃ユ湡锛�" prop="recipientDate">
+            <el-date-picker v-model="form.recipientDate" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" format="yyyy-MM-dd"
+              style="width: 100%" value-format="yyyy-MM-dd" :disabled="operationType === 'view'">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="resetForm">鍙� 娑�</el-button>
+        <el-button v-if="operationType !== 'view'" :loading="submitFormLoading" type="primary" @click="submitForm">纭�
+          璁�</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  getDeviceAcceptance,
+  addDeviceAcceptance,
+  updateDeviceAcceptance,
+} from '@/api/cnas/resourceDemand/device.js'
+import { selectUserCondition } from "@/api/system/user";
+export default {
+  name: "acceptance-form",
+  // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {},
+  data() {
+    // 杩欓噷瀛樻斁鏁版嵁
+    return {
+      dialogVisible: false,
+      submitFormLoading: false,
+      form: {
+        arrivalDate: '',
+        goldAmount: '',
+        maintenanceunit: '',
+        spareParts: '',
+        installationDebugging: '',
+        checkSituation: '',
+        receivingSignature: '',
+        producer: '',
+        recipient: '',
+        recipientDate: '',
+        deviceId: '',
+      },
+      operationType: '',
+      rules: {
+        arrivalDate: [{ required: true, message: '璇烽�夋嫨鍒拌揣鏃ユ湡', trigger: 'change' }],
+      },
+      userList: [],
+    }
+  },
+  mounted() {
+
+  },
+  // 鏂规硶闆嗗悎
+  methods: {
+    // 鎵撳紑寮规
+    openDialog(type, id, deviceId) {
+      this.dialogVisible = true
+      this.operationType = type
+      this.form.acceptanceId = id
+      this.form.deviceId = deviceId
+      this.getUserList()
+      if (this.form.acceptanceId) {
+        this.searchInfo()
+      }
+    },
+    // 鏌ヨ璇︽儏
+    searchInfo() {
+      getDeviceAcceptance({ acceptanceId: this.form.acceptanceId }).then(res => {
+        if (res.code === 200) {
+          this.form = { ...res.data }
+        }
+      }).catch(error => {
+        console.error(error)
+      })
+    },
+    // 鎻愪氦琛ㄥ崟
+    submitForm() {
+      this.$refs.modelForm.validate((valid) => {
+        if (valid) {
+          if (this.operationType === 'add') {
+            addDeviceAcceptance(this.form).then(res => {
+              if (res.code == 200) {
+                this.$message.success('鏂板鎴愬姛')
+                this.resetForm()
+              }
+              this.submitFormLoading = false
+            }).catch(err => {
+              this.submitFormLoading = false
+            })
+          } else {
+            updateDeviceAcceptance(this.form).then(res => {
+              if (res.code == 200) {
+                this.$message.success('淇敼鎴愬姛')
+                this.resetForm()
+              }
+              this.submitFormLoading = false
+            }).catch(err => {
+              this.submitFormLoading = false
+            })
+          }
+        }
+      })
+    },
+    // 鍏抽棴寮规
+    resetForm() {
+      this.dialogVisible = false
+      this.$emit('closeDialog')
+    },
+    getUserList() {
+      selectUserCondition().then(res => {
+        let data = [];
+        res.data.forEach((a) => {
+          data.push({
+            label: a.name,
+            value: a.id,
+          });
+        });
+        this.userList = data
+      })
+    },
+  },
+}
+</script>
+
+<style scoped>
+.form-item {
+  display: flex;
+  align-items: center;
+  margin-right: 20px;
+}
+</style>

--
Gitblit v1.9.3