From 3fd76c29b58fd3979e91deed70f9396f26c91059 Mon Sep 17 00:00:00 2001
From: Jay <csj123456>
Date: 星期二, 10 十二月 2024 15:15:03 +0800
Subject: [PATCH] 煤质管理前端代码

---
 src/views/xmcpms/coal-quality/analysis/full/FullForm.vue |  332 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 332 insertions(+), 0 deletions(-)

diff --git a/src/views/xmcpms/coal-quality/analysis/full/FullForm.vue b/src/views/xmcpms/coal-quality/analysis/full/FullForm.vue
new file mode 100644
index 0000000..33f0487
--- /dev/null
+++ b/src/views/xmcpms/coal-quality/analysis/full/FullForm.vue
@@ -0,0 +1,332 @@
+<template>
+  <Dialog width="60%" v-model="dialogVisible" :title="dialogTitle">
+    <el-tabs>
+      <el-tab-pane label="全级浮沉台账">
+        <el-form :model="formData" :rules="dataRule" ref="formData"
+                 v-loading="formLoading"
+                 label-width="120px">
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="code" label="流水号">
+                <el-input size="mini" disabled v-model="formData.code" placeholder="流水号"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="ny" label="年月">
+                <el-date-picker
+                    style="width: 100%;"
+                    v-model="formData.ny"
+                    type="month"
+                    format="yyyy-MM"
+                    value-format="yyyy-MM"
+                    placeholder="年月"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="type" label="实验类别">
+                <dict-select-tag style="width: 100%"
+                                 size="mini"
+                                 v-model="formData.type"
+                                 placeholder="实验类别"
+                                 dictCode="sylb"
+                                 clearable/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="mz" label="煤种">
+                <dict-select-tag style="width: 100%"
+                                 size="mini"
+                                 v-model="formData.mz"
+                                 placeholder="煤种"
+                                 dictCode="ymmz"
+                                 :clearable="true"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="syyp" label="实验样品">
+                <dict-select-tag style="width: 100%"
+                                 size="mini"
+                                 v-model="formData.syyp"
+                                 placeholder="实验样品"
+                                 dictCode="syyp"
+                                 :clearable="true"/>
+              </el-form-item>
+            </el-col>
+<!--            <el-col :span="12">-->
+<!--              <el-form-item prop="fcfa" :label="$t('analysis.fcfa')">-->
+<!--                <dict-select-tag style="width: 100%"-->
+<!--                                 size="mini"-->
+<!--                                 v-model="formData.fcfa"-->
+<!--                                 :placeholder="$t('analysis.fcfa')"-->
+<!--                                 dictCode="analysis-fcfa"-->
+<!--                                 :clearable="true"/>-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="syrq" label="实验日期">
+                <el-date-picker
+                    style="width: 100%;"
+                    v-model="formData.syrq"
+                    size="mini"
+                    type="date"
+                    format="yyyy-MM-dd"
+                    value-format="yyyy-MM-dd 00:00:00"
+                    placeholder="实验日期"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="sybz" label="实验班组">
+                <el-input size="mini" v-model="formData.sybz" placeholder="实验班组"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="syfzr" label="实验负责人">
+                <el-input size="mini" v-model="formData.syfzr" placeholder="实验负责人"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="hyy" label="化验员">
+                <el-input size="mini" v-model="formData.hyy" placeholder="化验员"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="myzz" label="煤样总重">
+                <el-input-number size="mini"
+                                 style="width: 100%;"
+                                 v-model="formData.myzz"
+                                 placeholder="煤样总重"
+                                 controls-position="right"
+                                 :precision="2"
+                                 :min="0"
+                                 :max="10000"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="myzh" label="煤样总灰">
+                <el-input-number v-model="formData.myzh"
+                                 size="mini"
+                                 style="width: 100%;"
+                                 placeholder="煤样总灰"
+                                 controls-position="right"
+                                 :precision="2"
+                                 :min="0"
+                                 :max="100"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="myzl" label="煤样总硫">
+                <el-input-number v-model="formData.myzl"
+                                 size="mini"
+                                 style="width: 100%;"
+                                 placeholder="煤样总硫"
+                                 controls-position="right"
+                                 :precision="2"
+                                 :min="0"
+                                 :max="100"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item prop="bz" label="备注">
+                <el-input size="mini" v-model="formData.bz" placeholder="备注" type="textarea"
+                          :rows="2"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <el-tab-pane label="全级浮沉数据">
+        <el-form :inline="true">
+          <el-form-item>
+            <el-upload
+                class="upload-demo"
+                :action="action"
+                :on-success="handleExcel"
+                :multiple="false"
+                :show-file-list="false"
+                :on-change="changeFile"
+                :file-list="fileList"/>
+              <el-button size="mini" type="primary">点击上传</el-button>
+          </el-form-item>
+          <el-form-item>
+            <el-button size="mini" type="success" @click="downloadExcel">下载模板</el-button>
+          </el-form-item>
+        </el-form>
+        <el-form :model="formData" :rules="dataRule" ref="formDataDet"
+                 label-width="120px">
+          <el-table
+              :data="formData.detList"
+              border
+              height="400"
+              style="width: 100%;">
+            <el-table-column prop="mdjName" label="密度级" header-align="center"
+                             align="center"/>
+            <el-table-column prop="zl" label="重量(kg)" header-align="center" align="center">
+              <template #default="scope">
+                <el-input-number v-model="scope.row.zl"
+                                 size="mini"
+                                 style="width: 80px;"
+                                 placeholder="重量(kg)"
+                                 :precision="2"
+                                 :controls="false"
+                                 :min="0"
+                                 :max="10000"/>
+              </template>
+            </el-table-column>
+            <el-table-column prop="cl" label="产率(%)" header-align="center" align="center">
+              <template #default="scope">
+                <el-input-number v-model="scope.row.cl"
+                                 size="mini"
+                                 style="width: 80px;"
+                                 placeholder="产率(%)"
+                                 :precision="2"
+                                 :controls="false"
+                                 :min="0"
+                                 :max="100"/>
+              </template>
+            </el-table-column>
+            <el-table-column prop="hf" label="灰分(%)" header-align="center" align="center">
+              <template #default="scope">
+                <el-input-number v-model="scope.row.hf"
+                                 size="mini"
+                                 style="width: 80px;"
+                                 placeholder="灰分(%)"
+                                 :precision="2"
+                                 :controls="false"
+                                 :min="0"
+                                 :max="100"/>
+              </template>
+            </el-table-column>
+            <el-table-column prop="lf" label="硫分(%)" header-align="center" align="center">
+              <template #default="scope">
+                <el-input-number v-model="scope.row.lf"
+                                 size="mini"
+                                 style="width: 80px;"
+                                 placeholder="硫分(%)"
+                                 :precision="2"
+                                 :controls="false"
+                                 :min="0"
+                                 :max="100"/>
+              </template>
+            </el-table-column>
+            <el-table-column label="浮物累计" header-align="center">
+              <el-table-column prop="fwljcl" label="产率(%)" header-align="center" align="center">
+                <template #default="scope">
+                  <el-input-number v-model="scope.row.fwljcl"
+                                   size="mini"
+                                   style="width: 80px;"
+                                   placeholder="产率(%)"
+                                   :precision="2"
+                                   :controls="false"
+                                   :min="0"
+                                   :max="100"/>
+                </template>
+              </el-table-column>
+              <el-table-column prop="fwljhf" label="灰分(%)" header-align="center" align="center">
+                <template #default="scope">
+                  <el-input-number v-model="scope.row.fwljhf"
+                                   size="mini"
+                                   style="width: 80px;"
+                                   placeholder="灰分(%)"
+                                   :precision="2"
+                                   :controls="false"
+                                   :min="0"
+                                   :max="100"/>
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="沉物累计" header-align="center">
+              <el-table-column prop="cwljcl" label="产率(%)" header-align="center" align="center">
+                <template #default="scope">
+                  <el-input-number v-model="scope.row.cwljcl"
+                                   size="mini"
+                                   style="width: 80px;"
+                                   placeholder="产率(%)"
+                                   :precision="2"
+                                   :controls="false"
+                                   :min="0"
+                                   :max="100"/>
+                </template>
+              </el-table-column>
+              <el-table-column prop="cwljhf" label="灰分(%)" header-align="center" align="center">
+                <template #default="scope">
+                  <el-input-number v-model="scope.row.cwljhf"
+                                   size="mini"
+                                   style="width: 80px;"
+                                   placeholder="灰分(%)"
+                                   :precision="2"
+                                   :controls="false"
+                                   :min="0"
+                                   :max="100"/>
+                </template>
+              </el-table-column>
+            </el-table-column>
+          </el-table>
+        </el-form>
+      </el-tab-pane>
+    </el-tabs>
+    <template #footer>
+      <el-button size="mini" :disabled="formLoading" type="primary" @click="formDataSubmitHandle()">确定</el-button>
+      <el-button size="mini" @click="dialogVisible = false">取消</el-button>
+    </template>
+  </Dialog>
+</template>
+
+<script lang="ts" setup>
+  import * as AnalysisApi from '@/api/xmcpms/coal-quality/analysis/full/index'
+
+  defineOptions({name: 'FullForm'})
+
+  const {t} = useI18n() // 国际化
+  const message = useMessage() // 消息弹窗
+  const dialogVisible = ref(false) // 弹窗的是否展示
+  const dialogTitle = ref('') // 弹窗的标题
+  const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
+  const formType = ref('') // 表单的类型:create - 新增;update - 修改
+  const formData = ref({
+      id: '',
+      code: '',
+      ny: '',
+      type: '',
+      mz: '',
+      syyp: '',
+      fcfa: '',
+      syrq: '',
+      sybz: '',
+      syfzr: '',
+      hyy: '',
+      myzz: '',
+      myzh: '',
+      myzl: '',
+      bz: '',
+      detList: []
+    })
+
+  const open = async (type: string, id?: string) => {
+    dialogVisible.value = true
+    dialogTitle.value = t('action.' + type)
+    //修改时,设置数据
+    if (id) {
+      formLoading.value = true
+      try {
+        formData.value = await AnalysisApi.getAnalysis(id)
+      } finally {
+        formLoading.value = false
+      }
+    }
+  }
+  defineExpose({ open }) // 提供 open 方法,用于打开弹窗
+
+
+</script>

--
Gitblit v1.9.3