对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | export interface AnalysisDetVO { |
| | | id: string |
| | | code: string, |
| | | mdj: string, |
| | | zl: string, |
| | | cl: string, |
| | | hf: string, |
| | | lf: string, |
| | | fwljcl: string, |
| | | fwljhf: number, |
| | | cwljcl: number, |
| | | cwljhf: number, |
| | | } |
| | | |
| | | |
| | | |
| | | // 查询AnalysisDetVO详情 |
| | | export const getAnalysisDetVO = (id: number) => { |
| | | return request.get({ url: `/data/da/point/info/${id}`}) |
| | | } |
| | | |
| | | // 新增AnalysisDetVO |
| | | export const createAnalysisDetVO = (data: AnalysisDetVO) => { |
| | | return request.post({ url: '/data/da/point/create', data }) |
| | | } |
| | | |
| | | // 修改AnalysisDetVO |
| | | export const updateAnalysisDetVO = (data: AnalysisDetVO) => { |
| | | return request.put({ url: '/data/da/point/update', data }) |
| | | } |
| | | |
| | | // 删除AnalysisDetVO |
| | | export const deleteAnalysisDetVO = (id: number) => { |
| | | return request.delete({ url: '/data/da/point/delete?id=' + id }) |
| | | } |
对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | export interface AnalysisFullVO { |
| | | id: string |
| | | code: string, |
| | | ny: string, |
| | | type: string, |
| | | mz: string, |
| | | syyp: string, |
| | | syrq: string, |
| | | sybz: string, |
| | | syfzr: number, |
| | | hyy: number, |
| | | myzz: number, |
| | | myzh: number, |
| | | myzl: string, |
| | | bz: string, |
| | | } |
| | | |
| | | export interface AnalysisFullPageReqVO extends PageParam { |
| | | ny?: string, |
| | | } |
| | | |
| | | |
| | | // 查询Analysis列表 |
| | | export const getAnalysisFullPage = (params: AnalysisFullPageReqVO) => { |
| | | return request.get({ url: '/coal-quality/analysis/full/page', params }) |
| | | } |
| | | |
| | | // 查询Analysis详情 |
| | | export const getAnalysis = (id: string) => { |
| | | return request.get({ url: '/coal-quality/analysis/full/get?id=' + id}) |
| | | } |
| | | |
| | | // 新增Analysis |
| | | export const createAnalysis = (data: AnalysisFullVO) => { |
| | | return request.post({ url: '/coal-quality/analysis/full/create', data }) |
| | | } |
| | | |
| | | // 修改Analysis |
| | | export const updateAnalysis = (data: AnalysisFullVO) => { |
| | | return request.put({ url: '/coal-quality/analysis/full/update', data }) |
| | | } |
| | | |
| | | // 删除Analysis |
| | | export const deleteAnalysis = (id: number) => { |
| | | return request.delete({ url: '/coal-quality/analysis/full/delete?id=' + id }) |
| | | } |
对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | export interface WashCurvesVO { |
| | | id: string |
| | | code: string, |
| | | ny: string, |
| | | mz: string, |
| | | mzName: string, |
| | | drl: string, |
| | | fcfa: string, |
| | | fcfaName: string, |
| | | bz: string, |
| | | } |
| | | |
| | | export interface WashCurvesPageReqVO extends PageParam { |
| | | ny?: string, |
| | | pointName?: string |
| | | } |
| | | |
| | | |
| | | // 查询WashCurves列表 |
| | | export const getWashCurvesPage = (params: WashCurvesPageReqVO) => { |
| | | return request.get({ url: '/coal-quality/analysis/wash-curves/page', params }) |
| | | } |
| | | |
| | | // 查询WashCurves详情 |
| | | export const getWashCurvesInfo = (id: string) => { |
| | | return request.get({ url: '/coal-quality/analysis/wash-curves/get?id=' + id}) |
| | | } |
| | | |
| | | // 新增WashCurves |
| | | export const createWashCurves = (data: WashCurvesVO) => { |
| | | return request.post({ url: '/coal-quality/analysis/wash-curves/create', data }) |
| | | } |
| | | |
| | | // 修改WashCurves |
| | | export const updateWashCurves = (data: WashCurvesVO) => { |
| | | return request.put({ url: '/coal-quality/analysis/wash-curves/update', data }) |
| | | } |
| | | |
| | | // 删除WashCurves |
| | | export const deleteWashCurves = (ids) => { |
| | | const data = ids |
| | | return request.delete({ url: '/coal-quality/analysis/wash-curves/delete', data}) |
| | | } |
对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | import {WashCurvesPageReqVO} from "@/api/xmcpms/coal-quality/analysis/wash-curves/index"; |
| | | |
| | | export interface WashCurvesChartVO { |
| | | curvesId: '0', |
| | | curvesType: 0, |
| | | fcfa: '', |
| | | } |
| | | |
| | | // 查询WashCurves详情 |
| | | export const getWashCurvesChart = (curvesId: number) => { |
| | | return request.get({ url: '/coal-quality/analysis/wash-curves-chart/get?curvesId=' + curvesId }) |
| | | } |
| | | |
| | | export const drawWashCurvesChart = (data : WashCurvesChartVO) => { |
| | | return request.post({ url: '/coal-quality/analysis/wash-curves-chart/draw', data}) |
| | | } |
| | | |
对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | |
| | | // 查询WashCurves详情 |
| | | export const getWashCurvesDet = (curvesId: number) => { |
| | | return request.get({ url: '/coal-quality/analysis/wash-curves-det/list?curvesId=' + curvesId }) |
| | | } |
| | | |
对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | export interface WashTargetVO { |
| | | id: string |
| | | ny: string, |
| | | mz: string, |
| | | mzName: string, |
| | | ymdw: string, |
| | | cpl: string, |
| | | ymSf: number, |
| | | ymHf: number, |
| | | ymLf: number, |
| | | jmSf: number, |
| | | jmHf: string, |
| | | jmLf: string, |
| | | jmHff: string, |
| | | jmNj: string, |
| | | jmJzc: string, |
| | | zmHf: string, |
| | | zmLf: string, |
| | | gsHf: string, |
| | | } |
| | | |
| | | export interface WashTargetPageReqVO extends PageParam { |
| | | ny?: string, |
| | | } |
| | | |
| | | // 查询WashTarget列表 |
| | | export const getWashTargetPage = (params: WashTargetVO) => { |
| | | return request.get({ url: '/coal-quality/wash/target/page', params }) |
| | | } |
| | | |
| | | // 查询WashTarget详情 |
| | | export const getWashTarget = (id: string) => { |
| | | return request.get({ url: '/coal-quality/wash/target/get?id=' + id}) |
| | | } |
| | | |
| | | // 新增WashTarget |
| | | export const createWashTarget = (data: WashTargetVO) => { |
| | | return request.post({ url: '/coal-quality/wash/target/create', data }) |
| | | } |
| | | |
| | | // 修改WashTarget |
| | | export const updateWashTarget = (data: WashTargetVO) => { |
| | | return request.put({ url: '/coal-quality/wash/target/update', data }) |
| | | } |
| | | |
| | | // 删除WashTarget |
| | | export const deleteWashTarget = (ids) => { |
| | | const data = ids |
| | | return request.delete({ url: '/coal-quality/wash/target/delete?id=' + data }) |
| | | } |
对比新文件 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | export interface QualityDetectionVO { |
| | | id: string |
| | | rglid: string, |
| | | code: string, |
| | | type: string, |
| | | rq: string, |
| | | bc: string, |
| | | bcName: string, |
| | | cysj: string, |
| | | cyd: string, |
| | | cydName: number, |
| | | cl: number, |
| | | cysl: number, |
| | | hysj: number, |
| | | mz: string, |
| | | mzName: string, |
| | | hf: string, |
| | | sf: string, |
| | | lf: string, |
| | | hff: string, |
| | | nj: string, |
| | | jzc: string, |
| | | frl: string, |
| | | zs: string, |
| | | gs: string, |
| | | ylmnHf: string, |
| | | bz: string, |
| | | } |
| | | |
| | | export interface QualityDetectionPageReqVO extends PageParam { |
| | | ny?: string, |
| | | } |
| | | |
| | | |
| | | // 查询QualityDetection列表 |
| | | export const getQualityDetectionPage = (params: QualityDetectionPageReqVO) => { |
| | | return request.get({ url: '/coal-quality/QualityDetection/full/page', params }) |
| | | } |
| | | |
| | | // 查询QualityDetection详情 |
| | | export const getQualityDetection = (id: number) => { |
| | | return request.get({ url: '/coal-quality/QualityDetection/full/get?id=' + id}) |
| | | } |
| | | |
| | | // 新增QualityDetection |
| | | export const createQualityDetection = (data: QualityDetectionVO) => { |
| | | return request.post({ url: '/coal-quality/QualityDetection/full/create', data }) |
| | | } |
| | | |
| | | // 修改QualityDetection |
| | | export const updateQualityDetection = (data: QualityDetectionVO) => { |
| | | return request.put({ url: '/coal-quality/QualityDetection/full/update', data }) |
| | | } |
| | | |
| | | // 删除QualityDetection |
| | | export const deleteQualityDetection = (id: number) => { |
| | | return request.delete({ url: '/coal-quality/QualityDetection/full/delete?id=' + id }) |
| | | } |
| | |
| | | AI_WRITE_LENGTH = 'ai_write_length', // AI 写作长度 |
| | | AI_WRITE_FORMAT = 'ai_write_format', // AI 写作格式 |
| | | AI_WRITE_TONE = 'ai_write_tone', // AI 写作语气 |
| | | AI_WRITE_LANGUAGE = 'ai_write_language' // AI 写作语言 |
| | | AI_WRITE_LANGUAGE = 'ai_write_language',// AI 写作语言 |
| | | |
| | | YMMZ = 'ymmz', |
| | | FCFA = 'fcfa', |
| | | CURVES_TYPE = 'curves-type' |
| | | } |
对比新文件 |
| | |
| | | <template> |
| | | <div class="mod-analysis-full-det"> |
| | | <el-form :inline="true" :model="formData"> |
| | | <el-form-item> |
| | | <span>原煤化验数据表</span><span>【{{formData.curvesCode}}】</span> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" @click="getDataList()">刷新</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="drawWashCurves()">可选性曲线</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="warning" plain @click="handleImport"> |
| | | <Icon icon="ep:upload" />导出 |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | ref="table" |
| | | v-loading="loading" |
| | | :data="dataList" |
| | | border |
| | | height="300" |
| | | > |
| | | <el-table-column prop="code" label="流水号" header-align="center" align="center" |
| | | width="140"/> |
| | | <el-table-column prop="mdjName" label="密度级" header-align="center" |
| | | align="center"/> |
| | | <el-table-column label="综合累计" header-align="center"> |
| | | <el-table-column prop="zhljcl" label="产率(%)" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="zhljhf" label="灰分(%)" header-align="center" |
| | | align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="浮物累计" header-align="center" > |
| | | <el-table-column prop="fwljcl" label="产率(%)" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="fwljhf" label="灰分(%)" header-align="center" |
| | | align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="沉物累计" header-align="center" > |
| | | <el-table-column prop="cwljcl" label="产率(%)" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="cwljhf" label="灰分(%)" header-align="center" |
| | | align="center"/> |
| | | </el-table-column> |
| | | <el-table-column prop="md" label="密度" header-align="center" align="center" /> |
| | | <el-table-column prop="hl" label="±0.1含量" header-align="center" align="center" /> |
| | | <el-table-column prop="lf" label="硫分(%)" header-align="center" align="center" /> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import * as WashCurvesDetApi from '@/api/xmcpms/coal-quality/analysis/wash-curves/wash-curves-det' |
| | | |
| | | const message = useMessage() // 消息弹窗 |
| | | const loading = ref(false) // 列表的加载中 |
| | | const formDataRef = ref() |
| | | const formData = ref({ |
| | | curvesId: undefined, |
| | | curvesCode: '', |
| | | fcfa: '' |
| | | }) |
| | | const dataList = ref() |
| | | const open = async (row) => { |
| | | formData.value.curvesId = row.id |
| | | formData.value.curvesCode = row.code |
| | | dataList.value = await WashCurvesDetApi.getWashCurvesDet(row.id) |
| | | } |
| | | defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
| | | |
| | | const emits = defineEmits(['drawWashCurves']) |
| | | const drawWashCurves = () => { |
| | | emits('drawWashCurves') |
| | | } |
| | | |
| | | </script> |
对比新文件 |
| | |
| | | <template> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-wash-curves-draw"> |
| | | <el-form :inline="true" :model="formData"> |
| | | <el-form-item> |
| | | <span>可选性曲线 - </span><span>{{formData.curvesCode}}</span> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" @click="getDataList()"> 刷新 </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | ref="table" |
| | | v-loading="loading" |
| | | :data="dataList" |
| | | border |
| | | height="300" |
| | | > |
| | | <el-table-column prop="code" label="流水号" header-align="center" align="center" |
| | | width="140"/> |
| | | <el-table-column prop="mdjName" label="密度级" header-align="center" |
| | | align="center"/> |
| | | <el-table-column label="综合累计" header-align="center"> |
| | | <el-table-column prop="zhljcl" label="产率(%)" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="zhljhf" label="灰分(%)" header-align="center" |
| | | align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="浮物累计" header-align="center" > |
| | | <el-table-column prop="fwljcl" label="产率(%)" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="fwljhf" label="灰分(%)" header-align="center" |
| | | align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="沉物累计" header-align="center" > |
| | | <el-table-column prop="cwljcl" label="产率(%)" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="cwljhf" label="灰分(%)" header-align="center" |
| | | align="center"/> |
| | | </el-table-column> |
| | | <el-table-column prop="md" label="密度" header-align="center" align="center" /> |
| | | <el-table-column prop="hl" label="±0.1含量" header-align="center" align="center" /> |
| | | <!-- <el-table-column prop="lf" label="硫分(%)" header-align="center" align="center" />--> |
| | | </el-table> |
| | | |
| | | <el-divider content-position="left">可选性曲线</el-divider> |
| | | <el-form :inline="true" :model="formData"> |
| | | <el-form-item> |
| | | <el-select v-model="formData.curvesType" placeholder="绘图方法" style="width: 150px" |
| | | clearable > |
| | | <el-option |
| | | v-for="dict in getStrDictOptions(DICT_TYPE.CURVES_TYPE)" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="drawHandle">开始绘图</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!--可选性曲线--> |
| | | <div class="wash-curves"> |
| | | <div style="width: 40%; padding-left: 20px;"> |
| | | <div id="wash" ref="washChart" |
| | | v-loading="chartLoading" |
| | | style="width: 500px; height: 500px; text-align: center"></div> |
| | | </div> |
| | | <div style="width: 58%;"> |
| | | <!--λ曲线--> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <el-form-item>λ曲线</el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="基元灰分" prop="cellAsh"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInline.cellAsh" placeholder="请输入灰分"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryCellFloat">求浮物产率</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="浮物产率" prop="cellFloat"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInline.cellFloat" placeholder="请输入产率"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryCellAsh">求基元灰分</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <!--β曲线--> |
| | | <el-form :inline="true" :model="formInlineFloat" class="demo-form-inline" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <el-form-item>β曲线</el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="灰分"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineFloat.ash" placeholder="请输入灰分"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryFloatYield">求浮物产率</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="浮物产率"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineFloat.float" placeholder="请输入产率"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryFloatAsh">求灰分</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <!--θ曲线--> |
| | | <el-form :inline="true" :model="formInlineSink" class="demo-form-inline" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <el-form-item>θ曲线</el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="灰分"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineSink.ash" placeholder="请输入灰分"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="querySinkYield">求沉物产率</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="沉物产率"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineSink.sink" placeholder="请输入产率"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="querySinkAsh">求灰分</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <!--δ曲线--> |
| | | <el-form :inline="true" :model="formInlineDensity" class="demo-form-inline" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <el-form-item>δ曲线</el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="密度"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineDensity.density" placeholder="请输入密度"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryDensityFloat">求浮物产率</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="浮物产率"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineDensity.float" placeholder="请输入产率"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryDensitydensity">求密度</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <!--ε曲线--> |
| | | <el-form :inline="true" :model="formInlineDensityScope" class="demo-form-inline" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <el-form-item>ε曲线</el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="密度"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineDensityScope.density" placeholder="请输入密度"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="queryScope">求±0.1含量</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item label="±0.1含量"> |
| | | <el-input-number size="mini" :controls="false" :precision="2" :min="0" :max="100" |
| | | v-model="formInlineDensityScope.scope"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-checkbox size="mini" v-model="formInlineDensityScope.subsGan">扣矸(1.8)/扣低(1.5)</el-checkbox> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </el-card> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import * as WashCurvesDetApi from '@/api/xmcpms/coal-quality/analysis/wash-curves/wash-curves-det' |
| | | import * as WashCurvesChartApi from '@/api/xmcpms/coal-quality/analysis/wash-curves/wash-curves-chart' |
| | | import * as echarts from "echarts"; |
| | | import {DICT_TYPE, getStrDictOptions} from '@/utils/dict' |
| | | import * as WashCurvesApi from "@/api/xmcpms/coal-quality/analysis/wash-curves"; |
| | | |
| | | const route = useRoute() |
| | | const chartLoading = ref(false) |
| | | const dataList = ref() |
| | | const cellData = ref([]) |
| | | const floatData = ref([]) |
| | | const sinkData = ref([]) |
| | | const densityData = ref([]) |
| | | const densityScopeData = ref([]) |
| | | const xAxisData1 = ref([]) |
| | | const xAxisData2 = ref([]) |
| | | const legendData = ref([]) |
| | | const floatPointData = ref([]) |
| | | const densityPointData = ref([]) |
| | | const densityScopePointData = ref([]) |
| | | const washChart = ref(null); |
| | | let loadChart = null; |
| | | |
| | | const curvesTypeOption = [ |
| | | { |
| | | value: 0, |
| | | label: '插值法', |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: '拟合法', |
| | | } |
| | | ] |
| | | const formData = ref({ |
| | | curvesId: '0', |
| | | curvesCode: '', |
| | | curvesType: 0, |
| | | fcfa: '', |
| | | }) |
| | | |
| | | const formInline = ref({ |
| | | cellAsh: '', |
| | | cellFloat: '' |
| | | }) |
| | | const formInlineFloat = ref({ |
| | | ash: '', |
| | | float: '' |
| | | }) |
| | | const formInlineSink= ref({ |
| | | ash: '', |
| | | sink: '' |
| | | }) |
| | | const formInlineDensity = ref({ |
| | | density: '', |
| | | float: '' |
| | | }) |
| | | const formInlineDensityScope = ref({ |
| | | density: '', |
| | | scope: '', |
| | | subsGan: false, |
| | | }) |
| | | |
| | | const getDataList = async () => { |
| | | dataList.value = await WashCurvesDetApi.getWashCurvesDet(formData.value.curvesId) |
| | | } |
| | | |
| | | const getChart = async () => { |
| | | if (!formData.value.curvesId) { |
| | | formData.value.resetFields() |
| | | return |
| | | } |
| | | chartLoading.value = true |
| | | const data = await WashCurvesChartApi.getWashCurvesChart(formData.value.curvesId); |
| | | chartLoading.value = false |
| | | formData.value.curvesType = data.curvesType |
| | | cellData.value = JSON.parse(data.cellData) |
| | | floatData.value = JSON.parse(data.floatData) |
| | | sinkData.value = JSON.parse(data.sinkData) |
| | | densityData.value = JSON.parse(data.densityData) |
| | | densityScopeData.value = JSON.parse(data.densityScopeData) |
| | | xAxisData1.value = JSON.parse(data.xaxisData1) |
| | | xAxisData2.value = JSON.parse(data.xaxisData2) |
| | | floatPointData.value = JSON.parse(data.floatPointData) |
| | | densityPointData.value = JSON.parse(data.densityPointData) |
| | | densityScopePointData.value = JSON.parse(data.densityScopePointData) |
| | | await drawWashCurves() |
| | | } |
| | | |
| | | const drawWashCurves = async () => { |
| | | let option = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'cross' |
| | | } |
| | | }, |
| | | legend: {}, |
| | | grid: { |
| | | top: 70, |
| | | bottom: 50 |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | type: "value", |
| | | min: 0, |
| | | max: 100, |
| | | interval: 10, |
| | | inverse: true //反转坐标轴 |
| | | }, |
| | | { |
| | | type: "value", |
| | | min: 0, |
| | | max: 100, |
| | | interval: 10 |
| | | } |
| | | ], |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | axisTick: { |
| | | alignWithLabel: true |
| | | }, |
| | | data: xAxisData1.value, |
| | | interval: 0.01, |
| | | }, |
| | | { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | axisTick: { |
| | | alignWithLabel: true |
| | | }, |
| | | interval: 0.01, |
| | | inverse: true, |
| | | data: xAxisData2.value, |
| | | } |
| | | ], |
| | | |
| | | series: [ |
| | | { |
| | | data: floatPointData.value, |
| | | xAxisIndex: 0, |
| | | yAxisIndex: 0, |
| | | type: 'scatter' |
| | | }, { |
| | | symbolSize: 10, |
| | | data: densityPointData.value, |
| | | xAxisIndex: 1, |
| | | yAxisIndex: 0, |
| | | type: 'scatter' |
| | | }, |
| | | { |
| | | symbolSize: 10, |
| | | data: densityScopePointData.value, |
| | | xAxisIndex: 1, |
| | | yAxisIndex: 0, |
| | | type: 'scatter' |
| | | }, |
| | | { |
| | | showSymbol: false, |
| | | name: '灰分特性曲线', |
| | | type: 'line', |
| | | xAxisIndex: 0, |
| | | yAxisIndex: 0, |
| | | smooth: true, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: cellData.value |
| | | }, |
| | | { |
| | | showSymbol: false, |
| | | name: '密度曲线', |
| | | type: 'line', |
| | | xAxisIndex: 1, |
| | | yAxisIndex: 0, |
| | | smooth: true, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: densityData.value |
| | | }, |
| | | { |
| | | showSymbol: false, |
| | | name: '浮物曲线', |
| | | type: 'line', |
| | | xAxisIndex: 0, |
| | | yAxisIndex: 0, |
| | | smooth: true, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: floatData.value |
| | | }, |
| | | |
| | | { |
| | | showSymbol: false, |
| | | name: '沉物曲线', |
| | | type: 'line', |
| | | xAxisIndex: 0, |
| | | yAxisIndex: 1, |
| | | smooth: true, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: sinkData.value |
| | | }, |
| | | { |
| | | showSymbol: false, |
| | | name: '密度±0.1曲线', |
| | | type: 'line', |
| | | xAxisIndex: 1, |
| | | yAxisIndex: 0, |
| | | smooth: true, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: densityScopeData.value |
| | | }, |
| | | ] |
| | | }; |
| | | loadChart.setOption(option); |
| | | } |
| | | |
| | | const drawHandle = async () => { |
| | | chartLoading.value = true |
| | | const params = formData.value as WashCurvesChartApi.WashCurvesChartVO |
| | | const data = await WashCurvesChartApi.drawWashCurvesChart(params); |
| | | chartLoading.value = false |
| | | formData.value.curvesType = data.curvesType |
| | | cellData.value = JSON.parse(data.cellData) |
| | | floatData.value = JSON.parse(data.floatData) |
| | | sinkData.value = JSON.parse(data.sinkData) |
| | | densityData.value = JSON.parse(data.densityData) |
| | | densityScopeData.value = JSON.parse(data.densityScopeData) |
| | | xAxisData1.value = JSON.parse(data.xaxisData1) |
| | | xAxisData2.value = JSON.parse(data.xaxisData2) |
| | | floatPointData.value = JSON.parse(data.floatPointData) |
| | | densityPointData.value = JSON.parse(data.densityPointData) |
| | | densityScopePointData.value = JSON.parse(data.densityScopePointData) |
| | | await drawWashCurves() |
| | | } |
| | | |
| | | const queryCellFloat = async () => { |
| | | if (!formInline.value.cellAsh) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let floatIndex = await getClosestNumber(xAxisData1.value, formInline.value.cellAsh) |
| | | console.log(floatIndex) |
| | | let a = cellData.value[floatIndex] |
| | | formInline.value.cellFloat = cellData.value[floatIndex] |
| | | } |
| | | |
| | | const getClosestNumber = async (array, target) => { |
| | | let result = array[0]; |
| | | let resultIndex = 0 |
| | | for (let i = 0; i < array.length; i++) { |
| | | if (Math.abs(array[i] - target) < Math.abs(result - target)) { |
| | | result = array[i] |
| | | resultIndex = i; |
| | | } |
| | | } |
| | | return resultIndex; |
| | | } |
| | | |
| | | const queryCellAsh = async () => { |
| | | if (!formInline.value.cellFloat) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let ashIndex = await getClosestNumber(cellData.value, formInline.value.cellFloat) |
| | | console.log(formInline.value.cellFloat) |
| | | console.log(ashIndex) |
| | | formInline.value.cellAsh = xAxisData1.value[ashIndex] |
| | | |
| | | } |
| | | |
| | | const queryFloatAsh = async () => { |
| | | if (!formInlineFloat.value.float) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let ashIndex = await getClosestNumber(floatData.value, formInlineFloat.value.float) |
| | | formInlineFloat.value.ash = xAxisData1.value[ashIndex] |
| | | } |
| | | |
| | | const queryFloatYield = async () => { |
| | | if (!formInlineFloat.value.ash) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let floatIndex = await getClosestNumber(xAxisData1.value, formInlineFloat.value.ash) |
| | | formInlineFloat.value.float = floatData.value[floatIndex] |
| | | } |
| | | |
| | | const querySinkAsh = async () => { |
| | | if (!formInlineSink.value.sink) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let ashIndex = await getClosestNumber(sinkData.value, formInlineSink.value.sink) |
| | | console.log(ashIndex) |
| | | formInlineSink.value.ash = xAxisData1.value[ashIndex] |
| | | |
| | | } |
| | | |
| | | const querySinkYield = async () => { |
| | | if (!formInlineSink.value.ash) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let sinkIndex = await getClosestNumber(xAxisData1.value, formInlineSink.value.ash) |
| | | formInlineSink.value.sink = sinkData.value[sinkIndex] |
| | | } |
| | | |
| | | const queryDensitydensity = async () => { |
| | | if (!formInlineDensity.value.float) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let densityIndex = await getClosestNumber(densityData.value, formInlineDensity.value.float) |
| | | formInlineDensity.value.density = xAxisData2.value[densityIndex] |
| | | } |
| | | |
| | | const queryDensityFloat = async () => { |
| | | if (!formInlineDensity.value.density) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let floatIndex = await getClosestNumber(xAxisData2.value, formInlineDensity.value.density) |
| | | formInlineDensity.value.float = densityData.value[floatIndex] |
| | | } |
| | | |
| | | const queryScope = async () => { |
| | | if (!formInlineDensityScope.value.density) { |
| | | console.log("请输入") |
| | | return |
| | | } |
| | | let scopeIndex = await getClosestNumber(xAxisData2.value, formInlineDensityScope.value.density) |
| | | formInlineDensityScope.value.scope = densityScopeData.value[scopeIndex] |
| | | if (formInlineDensityScope.value.subsGan == true) { |
| | | if (formInlineDensityScope.value.density >= 1.7) { |
| | | let kouDiIndex = await getClosestNumber(xAxisData2.value, 1.5) //扣抵1.5 |
| | | formInlineDensityScope.value.scope = densityScopeData.value[scopeIndex] / (100 - densityData.value[kouDiIndex]) * 100 |
| | | } else { |
| | | let kouGanIndex = await getClosestNumber(xAxisData2.value, 1.8) //扣矸1.8 |
| | | formInlineDensityScope.value.scope = densityScopeData.value[scopeIndex] / (densityData.value[kouGanIndex]) * 100 |
| | | } |
| | | } |
| | | } |
| | | |
| | | onMounted(async () => { |
| | | formData.value.curvesId = route.query.curvesId |
| | | formData.value.curvesCode = route.query.code |
| | | formData.value.fcfa = route.query.fcfa |
| | | loadChart = echarts.init(washChart.value); |
| | | await getDataList() |
| | | await getChart() |
| | | }) |
| | | |
| | | </script> |
| | | <style scoped> |
| | | .wash-curves { |
| | | display: flex; |
| | | flex-direction: row; |
| | | flex-wrap: wrap; |
| | | justify-content: center; |
| | | align-content: center; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <Dialog width="60%" v-model="dialogVisible" :title="dialogTitle"> |
| | | <el-tabs> |
| | | <el-tab-pane label="浮沉实验台账"> |
| | | <el-form :model="formData" :rules="formRules" ref="formRef" 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" |
| | | value-format="YYYY-MM" |
| | | placeholder="年月"/> |
| | | </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" |
| | | type="date" |
| | | placeholder="实验日期"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item prop="mz" label="煤种"> |
| | | <el-select v-model="formData.mz" placeholder="煤种" |
| | | clearable > |
| | | <el-option |
| | | v-for="dict in getStrDictOptions(DICT_TYPE.YMMZ)" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item prop="fcfa" label="浮沉方案"> |
| | | <el-select v-model="formData.fcfa" placeholder="浮沉方案" |
| | | clearable > |
| | | <el-option |
| | | v-for="dict in getStrDictOptions(DICT_TYPE.FCFA)" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item prop="drl" label="调入量"> |
| | | <el-input-number v-model="formData.drl" placeholder="调入量" :min="0"/> |
| | | </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-upload> |
| | | </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 label="综合累计" header-align="center"> |
| | | <el-table-column prop="zhljcl" label="产率(%)" header-align="center" align="center"> |
| | | <template #default="scope"> |
| | | <el-input-number v-model="scope.row.zhljcl" |
| | | size="mini" |
| | | placeholder="产率(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="zhljhf" label="灰分(%)" header-align="center" align="center"> |
| | | <template #default="scope"> |
| | | <el-input-number v-model="scope.row.zhljhf" |
| | | size="mini" |
| | | placeholder="灰分(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </template> |
| | | </el-table-column> |
| | | </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" |
| | | :disabled="true" |
| | | size="mini" |
| | | placeholder="产率(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </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" |
| | | :disabled="true" |
| | | size="mini" |
| | | placeholder="灰分(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </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" |
| | | :disabled="true" |
| | | size="mini" |
| | | placeholder="产率(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </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" |
| | | :disabled="true" |
| | | size="mini" |
| | | placeholder="灰分(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column prop="md" label="密度" header-align="center" align="center" > |
| | | <template #default="scope"> |
| | | <el-input-number v-model="scope.row.md" |
| | | size="mini" |
| | | placeholder="密度" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="hl" label="±0.1含量" header-align="center" align="center" > |
| | | <template #default="scope"> |
| | | <el-input-number v-model="scope.row.hl" |
| | | :disabled="true" |
| | | size="mini" |
| | | placeholder="±0.1含量" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </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" |
| | | placeholder="硫分(%)" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" class="curves-det-input"/> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <template #footer> |
| | | <el-button :disabled="formLoading" type="primary" @click="submitForm()">确定</el-button> |
| | | <el-button @click="dialogVisible = false">取消</el-button> |
| | | </template> |
| | | </Dialog> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import * as WashCurvesApi from '@/api/xmcpms/coal-quality/analysis/wash-curves/index' |
| | | import {DICT_TYPE, getStrDictOptions} from '@/utils/dict' |
| | | |
| | | defineOptions({name: ' WashCurvesForm'}) |
| | | |
| | | 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 formRef = ref() // 表单 Ref |
| | | const formData = ref({ |
| | | id: undefined, |
| | | code: undefined, |
| | | ny: undefined, |
| | | syrq: undefined, |
| | | mz: undefined, |
| | | drl: undefined, |
| | | fcfa: undefined, |
| | | bz: undefined, |
| | | detList: [] |
| | | }) |
| | | |
| | | const open = async (type: string, id?: string) => { |
| | | dialogVisible.value = true |
| | | dialogTitle.value = t('action.' + type) |
| | | formType.value = type |
| | | resetForm() |
| | | //修改时,设置数据 |
| | | if (id) { |
| | | formLoading.value = true |
| | | try { |
| | | formData.value = await WashCurvesApi.getWashCurvesInfo(id) |
| | | } finally { |
| | | formLoading.value = false |
| | | } |
| | | } |
| | | } |
| | | defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
| | | |
| | | /** 提交表单 */ |
| | | const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 |
| | | const submitForm = async () => { |
| | | // 校验表单 |
| | | if (!formRef) return |
| | | const valid = await formRef.value.validate() |
| | | if (!valid) return |
| | | // 提交请求 |
| | | formLoading.value = true |
| | | try { |
| | | const data = formData.value as WashCurvesApi.WashCurvesVO |
| | | if (formType.value === 'create') { |
| | | await WashCurvesApi.createWashCurves(data) |
| | | message.success(t('common.createSuccess')) |
| | | } else { |
| | | await WashCurvesApi.updateWashCurves(data) |
| | | message.success(t('common.updateSuccess')) |
| | | } |
| | | dialogVisible.value = false |
| | | // 发送操作成功的事件 |
| | | emit('success') |
| | | } finally { |
| | | formLoading.value = false |
| | | } |
| | | } |
| | | |
| | | /** 重置表单 */ |
| | | const resetForm = () => { |
| | | formData.value = { |
| | | id: undefined, |
| | | code: undefined, |
| | | ny: undefined, |
| | | syrq: undefined, |
| | | mz: undefined, |
| | | drl: undefined, |
| | | fcfa: undefined, |
| | | bz: undefined, |
| | | detList: [] |
| | | } |
| | | formRef.value?.resetFields() |
| | | } |
| | | |
| | | </script> |
| | | <style> |
| | | .curves-det-input { |
| | | width: 100%; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-wash-curves"> |
| | | <el-form :inline="true" :model="dataForm"> |
| | | <el-form-item> |
| | | <el-date-picker |
| | | v-model="queryParams.startTime" |
| | | type="date" |
| | | clearable |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="开始时间"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-date-picker |
| | | v-model="queryParams.endTime" |
| | | type="date" |
| | | clearable |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="结束时间"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <dict-select-tag style="width: 100%" v-model="queryParams.mz" :clearable="true" placeholder="煤种" dictCode="ymmz" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <dict-select-tag style="width: 100%" v-model="queryParams.fcfa" :clearable="true" placeholder="浮沉方案" dictCode="analysis-fcfa" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="handleQuery"> |
| | | <Icon icon="ep:search" class="mr-5px" /> |
| | | 查询 |
| | | </el-button> |
| | | <el-button type="primary" plain @click="openForm('create')"> |
| | | <Icon icon="ep:plus" class="mr-5px" /> |
| | | 新增 |
| | | </el-button> |
| | | <el-button type="warning" plain @click="handleImport"> |
| | | <Icon icon="ep:upload" /> 导出 |
| | | </el-button> |
| | | <el-button @click="weighted()">加权平均</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | ref="table" |
| | | v-loading="dataListLoading" |
| | | :data="dataList" |
| | | border |
| | | height="400" |
| | | highlight-current-row |
| | | @current-change="currentChange" |
| | | @selection-change="selectionChangeHandle" |
| | | @sort-change="dataListSortChangeHandle" |
| | | style="width: 100%;"> |
| | | <el-table-column type="selection" header-align="center" align="center" |
| | | width="50"/> |
| | | <el-table-column prop="code" label="流水号" header-align="center" align="center" |
| | | width="120"/> |
| | | <el-table-column prop="ny" label="年月" header-align="center" align="center" |
| | | width="100"/> |
| | | <el-table-column prop="syrq" label="实验日期" header-align="center" width="120" |
| | | align="center"/> |
| | | <el-table-column prop="mzName" label="煤种" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="drl" label="调入量" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="fcfaName" label="浮沉方案" header-align="center" |
| | | align="center"/> |
| | | <el-table-column prop="bz" label="备注" header-align="center" align="left" |
| | | min-width="200"/> |
| | | <el-table-column label="操作" fixed="right" header-align="center" align="center" width="150"> |
| | | <template #default="scope"> |
| | | <el-button v-hasPermi="['data:ind-item:update']" link type="primary" @click="openForm('update', scope.row.id)"> |
| | | 修改 |
| | | </el-button> |
| | | <el-button v-hasPermi="['data:ind-item:delete']" link type="danger" @click="handleDelete(scope.row.id)"> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <Pagination |
| | | v-model:limit="queryParams.pageSize" |
| | | v-model:page="queryParams.pageNo" |
| | | :total="total" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </el-card> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-analysis-full-det"> |
| | | <WashCurvesDet ref="washCurvesDetRef" @drawWashCurves="drawWashCurves"/> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <WashCurvesForm ref="washCurvesFormRef" @success="getList" /> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import * as WashCurvesApi from '@/api/xmcpms/coal-quality/analysis/wash-curves/index' |
| | | import WashCurvesDet from './WashCurvesDet.vue' |
| | | import WashCurvesForm from './WashCurvesForm.vue' |
| | | import { useRoute, useRouter } from 'vue-router'; |
| | | |
| | | const router = useRouter() // 路由 |
| | | const message = useMessage() // 消息弹窗 |
| | | const { t } = useI18n() // 国际化 |
| | | defineOptions({ name: 'Analysis' }) |
| | | const dataListLoading = ref(true) // 列表的加载中 |
| | | const total = ref(0) // 列表的总页数 |
| | | const dataList = ref([]) // 字典表格数据 |
| | | const queryFormRef = ref() // 搜索的表单 |
| | | const exportLoading = ref(false) // 导出的加载中 |
| | | |
| | | const handleQuery = () => { |
| | | queryParams.pageNo = 1 |
| | | getList() |
| | | } |
| | | |
| | | /** 重置按钮操作 */ |
| | | const resetQuery = () => { |
| | | queryFormRef.value.resetFields() |
| | | handleQuery() |
| | | } |
| | | |
| | | const getList = async () => { |
| | | dataListLoading.value = true |
| | | try { |
| | | const data = await WashCurvesApi.getWashCurvesPage(queryParams) |
| | | dataList.value = data.list |
| | | total.value = data.total |
| | | } finally { |
| | | dataListLoading.value = false |
| | | } |
| | | } |
| | | |
| | | const queryParams = reactive({ |
| | | pageNo: 1, |
| | | pageSize: 10, |
| | | startTime: '', |
| | | endTime: '', |
| | | mz: undefined, |
| | | fcfa: undefined |
| | | }) |
| | | |
| | | /** 添加/修改操作 */ |
| | | const washCurvesFormRef = ref() |
| | | const openForm = (type: string, id?: string) => { |
| | | washCurvesFormRef.value.open(type, id) |
| | | } |
| | | |
| | | const washCurvesDetRef = ref() |
| | | const currentRow = ref() |
| | | |
| | | const currentChange = (row) => { |
| | | currentRow.value = row |
| | | washCurvesDetRef.value.open(row) |
| | | } |
| | | |
| | | const route = useRoute(); |
| | | |
| | | function drawWashCurves() { |
| | | if (!currentRow.value.id) { |
| | | message.error('请先选择可选性曲线台账!') |
| | | return |
| | | } |
| | | // 动态路由 |
| | | router.push({ |
| | | // name: route.name + '__' + currentRow.value.id, |
| | | path: '/xmcpms/coal-quality/analysis/WashCurvesDraw', |
| | | query: { |
| | | curvesId : currentRow.value.id, |
| | | fcfa : currentRow.value.fcfa, |
| | | code : currentRow.value.code, |
| | | title : route.title + '-' + currentRow.value.code |
| | | } |
| | | }) |
| | | } |
| | | |
| | | let dataListSelections = reactive([]) |
| | | // 多选 |
| | | function selectionChangeHandle (val) { |
| | | dataListSelections = val |
| | | } |
| | | |
| | | /** 删除按钮操作 */ |
| | | const handleDelete = async (id: string) => { |
| | | let ids = dataListSelections.map(item => { |
| | | return item.id |
| | | }) |
| | | ids.push(id) |
| | | try { |
| | | // 删除的二次确认 |
| | | await message.delConfirm() |
| | | // 发起删除 |
| | | await WashCurvesApi.deleteWashCurves(ids) |
| | | message.success(t('common.delSuccess')) |
| | | // 刷新列表 |
| | | await getList() |
| | | } catch { |
| | | } |
| | | } |
| | | /** 初始化 **/ |
| | | onMounted(async () => { |
| | | await getList() |
| | | }) |
| | | </script> |
对比新文件 |
| | |
| | | <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="datetime" label="采样时间"> |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | type="datetime" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | size="mini" |
| | | v-model="formData.datetime" |
| | | placeholder="采样时间" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item prop="mz" label="混煤煤种及比例"> |
| | | <el-input |
| | | style="width: 100%" |
| | | size="mini" |
| | | v-model="formData.mz" |
| | | placeholder="例: 五虎山#9:五虎山#12 = 1:2" |
| | | clearable |
| | | /> |
| | | </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-upload> |
| | | </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" |
| | | @keyup.enter.native="formDataSubmitHandle()" |
| | | label-width="120px" |
| | | > |
| | | <el-table |
| | | :data="formData.itemList" |
| | | border |
| | | height="400" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | prop="xm" |
| | | label="项目" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-select-tag |
| | | style="width: 100%" |
| | | size="mini" |
| | | v-model="scope.row.xm" |
| | | placeholder="项目" |
| | | dictCode="sckjxm" |
| | | clearable |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="yl" |
| | | label="压力" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.yl" |
| | | size="mini" |
| | | placeholder="压力" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="md" |
| | | label="密度" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.md" |
| | | size="mini" |
| | | placeholder="密度" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="hf" |
| | | label="灰分" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.hf" |
| | | size="mini" |
| | | placeholder="灰分" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="lf" |
| | | label="硫分" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.lf" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.lf')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="-1.4浮沉" header-align="center"> |
| | | <el-table-column |
| | | prop="cl1" |
| | | :label="$t('washCurves.cl')" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.cl1" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.cl')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | = </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="hf1" |
| | | :label="$t('washCurves.hf')" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.hf1" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.hf')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column label="1.4-1.8浮沉" header-align="center"> |
| | | <el-table-column |
| | | prop="cl2" |
| | | :label="$t('washCurves.cl')" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.cl2" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.cl')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="hf2" |
| | | :label="$t('washCurves.hf')" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.hf2" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.hf')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column label="+1.8浮沉" header-align="center"> |
| | | <el-table-column |
| | | prop="cl3" |
| | | :label="$t('washCurves.cl')" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.cl3" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.cl')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="hf3" |
| | | :label="$t('washCurves.hf')" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | v-model="scope.row.hf3" |
| | | size="mini" |
| | | :placeholder="$t('washCurves.hf')" |
| | | :precision="2" |
| | | :controls="false" |
| | | :min="0" |
| | | :max="100" |
| | | class="curves-det-input" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="" |
| | | label="操作" |
| | | min-width="100" |
| | | align="center" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click.native.prevent=" |
| | | addExpressionRow(scope.$index, formData.itemList) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | > |
| | | 添加 |
| | | </el-button> |
| | | <el-button |
| | | @click.native.prevent=" |
| | | deleteExpressionRow(scope.$index, formData.itemList) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | > |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | </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({ |
| | | lsh:"", |
| | | datetime: "", |
| | | mz: "", |
| | | }) |
| | | |
| | | 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> |
| | | <style> |
| | | .curves-det-input { |
| | | width: 100%; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="mod-quality-quick-item"> |
| | | <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
| | | <el-form-item> |
| | | <span>生产运行煤样快速检查详情</span><span>【{{dataForm.lsh}}】</span> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" @click="getDataList()">刷新</el-button> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button size="mini" @click="exportExcel()">导出</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | ref="myTable" |
| | | v-loading="dataListLoading" |
| | | :data="dataList" |
| | | border |
| | | height="400" |
| | | highlight-current-row |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | prop="xmName" |
| | | label="项目" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="yl" |
| | | label="压力" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | /> |
| | | <el-table-column |
| | | prop="md" |
| | | label="密度" |
| | | header-align="center" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="hf" |
| | | label="灰分" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | /> |
| | | <el-table-column |
| | | prop="lf" |
| | | label="硫分" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | /> |
| | | <el-table-column label="-1.4浮沉" align="center"> |
| | | <el-table-column prop="hf1" label="灰分" width="120" align="center"/> |
| | | <el-table-column prop="cl1" label="产率" width="120" align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="1.4-1.8浮沉" align="center"> |
| | | <el-table-column prop="hf2" label="灰分" width="120" align="center"/> |
| | | <el-table-column prop="cl2" label="产率" width="120" align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="+1.8浮沉" align="center"> |
| | | <el-table-column prop="hf3" label="灰分" width="120" align="center"/> |
| | | <el-table-column prop="cl3" label="产率" width="120" align="center"/> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | |
| | | const dataForm = reactive({ |
| | | fullId: 1, |
| | | fullCode: 10 |
| | | }) |
| | | |
| | | </script> |
对比新文件 |
| | |
| | | <template> |
| | | <ContentWrap> |
| | | <div class="mod-quality-quick"> |
| | | <el-form :inline="true" :model="queryParams"> |
| | | <el-form-item> |
| | | <el-date-picker |
| | | v-model="queryParams.ny" |
| | | type="month" |
| | | value-format="yyyy-MM" |
| | | placeholder="年月"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="getDataList()">{{ $t("query") }}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="handleQuery"> |
| | | <Icon icon="ep:search" class="mr-5px" /> |
| | | 查询 |
| | | </el-button> |
| | | <el-button type="primary" plain @click="openForm('create')"> |
| | | <Icon icon="ep:plus" class="mr-5px" /> |
| | | 新增 |
| | | </el-button> |
| | | <el-button type="warning" plain @click="handleImport"> |
| | | <Icon icon="ep:upload" /> 导出 |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button> |
| | | <a |
| | | href="/template/乌达煤炭加工有限公司生产煤样快速检查.xlsx" |
| | | download="乌达煤炭加工有限公司生产煤样快速检查.xlsx" |
| | | >下载模版</a |
| | | > |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-upload |
| | | class="upload-demo" |
| | | :limit="1" |
| | | :file-list="fileList" |
| | | :before-upload="beforeUpload" |
| | | :on-success="uploadModelSuccess" |
| | | :on-error="uploadModelError" |
| | | :action="uploadModelUrl" |
| | | > |
| | | <el-button type="primary">导入</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | ref="myTable" |
| | | v-loading="dataListLoading" |
| | | :data="dataList" |
| | | border |
| | | height="400" |
| | | highlight-current-row |
| | | @current-change="currentChange" |
| | | @selection-change="dataListSelectionChangeHandle" |
| | | @sort-change="dataListSortChangeHandle" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="lsh" |
| | | label="流水号" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="datetime" |
| | | label="采样时间" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="mz" |
| | | label="煤种" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | :label="$t('handle')" |
| | | fixed="right" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template #default="scope"> |
| | | <el-button v-hasPermi="['data:ind-item:update']" link type="primary" @click="openForm('update', scope.row.id)"> |
| | | 修改 |
| | | </el-button> |
| | | <el-button v-hasPermi="['data:ind-item:delete']" link type="danger" @click="handleDelete(scope.row.id)"> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <Pagination |
| | | v-model:limit="queryParams.pageSize" |
| | | v-model:page="queryParams.pageNo" |
| | | :total="total" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </ContentWrap> |
| | | <ContentWrap> |
| | | <QuickItem ref="quickItemRef"/> |
| | | </ContentWrap> |
| | | <QuickForm ref="quickFormRef" /> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import * as AnalysisApi from '@/api/xmcpms/coal-quality/detection/quick/index' |
| | | import QuickForm from './QuickForm.vue' |
| | | import QuickItem from './QuickItem.vue' |
| | | import * as AnalysisFullApi from "@/api/xmcpms/coal-quality/analysis/full"; |
| | | |
| | | const message = useMessage() // 消息弹窗 |
| | | const { t } = useI18n() // 国际化 |
| | | defineOptions({ name: 'Analysis' }) |
| | | const loading = ref(true) // 列表的加载中 |
| | | const total = ref(0) // 列表的总页数 |
| | | const dataList = ref([]) // 字典表格数据 |
| | | const queryParams = reactive({ |
| | | pageNo: 1, |
| | | pageSize: 10, |
| | | ny: undefined |
| | | }) |
| | | |
| | | const queryFormRef = ref() // 搜索的表单 |
| | | const exportLoading = ref(false) // 导出的加载中 |
| | | |
| | | const getList = async () => { |
| | | loading.value = true |
| | | try { |
| | | const data = await AnalysisFullApi.getAnalysisFullPage(queryParams) |
| | | dataList.value = data.list |
| | | total.value = data.total |
| | | } finally { |
| | | loading.value = false |
| | | } |
| | | } |
| | | |
| | | /** 搜索按钮操作 */ |
| | | const handleQuery = () => { |
| | | queryParams.pageNo = 1 |
| | | getList() |
| | | } |
| | | |
| | | /** 重置按钮操作 */ |
| | | const resetQuery = () => { |
| | | queryFormRef.value.resetFields() |
| | | handleQuery() |
| | | } |
| | | |
| | | const quickItemRef = ref() |
| | | const currentChange = (currentRow) => { |
| | | quickItemRef.value.open(currentRow) |
| | | } |
| | | |
| | | const quickFormRef = ref() |
| | | const openForm = (type: string) => { |
| | | quickFormRef.value.open(type) |
| | | } |
| | | |
| | | </script> |
对比新文件 |
| | |
| | | <template> |
| | | <ContentWrap> |
| | | <el-row :gutter="10" style="margin-top: 20px"> |
| | | <el-col :span="12"> |
| | | <el-card style="height: 22rem" :body-style="{ height: '100%' }"> |
| | | <b>原煤灰分检测</b> |
| | | <bar-line :option="coalAdCheck"/> |
| | | </el-card> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-card style="height: 22rem" :body-style="{ height: '100%' }"> |
| | | <b>原煤水分检测</b> |
| | | <bar-line :option="coalMtCheck"/> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10" style="margin-top: 20px"> |
| | | <el-col :span="12"> |
| | | <el-card style="height: 22rem" :body-style="{ height: '100%' }"> |
| | | <b>原煤硫分检测</b> |
| | | <bar-line :option="coalStCheck"/> |
| | | </el-card> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-card style="height: 22rem" :body-style="{ height: '100%' }"> |
| | | <b>原煤发热量检测</b> |
| | | <bar-line :option="coalCalCheck"/> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10" style="margin-top: 20px"> |
| | | <el-card style="height: 40rem; width: 102.5rem" :body-style="{ height: '100%' }"> |
| | | <b>可选性曲线</b> |
| | | <div class="wash-curves"> |
| | | <div style="width: 100%"> |
| | | <el-table |
| | | ref="table" |
| | | v-loading="dataListLoading" |
| | | :data="dataList" |
| | | border |
| | | highlight-current-row |
| | | style="width: 100%; margin-top: 20px" |
| | | > |
| | | <el-table-column prop="code" label="流水号" header-align="center" align="center" width="100"/>{{curves.code }} |
| | | <el-table-column prop="ny" label="年月" header-align="center" align="center" width="100"/>{{ curves.ny }} |
| | | <el-table-column prop="scxtName" label="生产系统" header-align="center" align="center"/>{{ curves.scxtName }} |
| | | <el-table-column prop="mzName" label="煤种" header-align="center" align="center"/>{{ curves.mzName }} |
| | | <el-table-column prop="syypName" label="实验样品" header-align="center" align="center"/>{{ curves.syypName }} |
| | | <el-table-column prop="fcfaName" label="浮沉方案" header-align="center" align="center"/>{{ curves.fcfaName }} |
| | | </el-table> |
| | | <el-table |
| | | ref="table" |
| | | v-loading="dataListLoading" |
| | | :data="detList" |
| | | border |
| | | style="width: 100%; margin-top: 20px" |
| | | > |
| | | <el-table-column prop="code" label="流水号" header-align="center" align="center" width="100"/> |
| | | <el-table-column prop="mdjName" label="密度级" header-align="center" align="center"/> |
| | | <el-table-column label="综合累计" header-align="center"> |
| | | <el-table-column prop="zhljcl" label="产率(%)" header-align="center" align="center"/> |
| | | <el-table-column prop="zhljhf" label="灰分(%)" header-align="center" align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="浮物累计" header-align="center"> |
| | | <el-table-column prop="fwljcl" label="产率(%)" header-align="center" align="center"/> |
| | | <el-table-column prop="fwljhf" label="灰分(%)" header-align="center" align="center"/> |
| | | </el-table-column> |
| | | <el-table-column label="沉物累计" header-align="center"> |
| | | <el-table-column prop="cwljcl" label="产率(%)" header-align="center" align="center"/> |
| | | <el-table-column prop="cwljhf" label="灰分(%)" header-align="center" align="center"/> |
| | | </el-table-column> |
| | | <el-table-column prop="md" label="密度" header-align="center" align="center"/> |
| | | <el-table-column prop="hl" label="±0.1含量" header-align="center" align="center"/> |
| | | <el-table-column prop="lf" label="硫分(%)" header-align="center" align="center"/> |
| | | </el-table> |
| | | </div> |
| | | <div style="width: 40%; padding-left: 20px; margin-top: 20px"> |
| | | <div |
| | | id="wash" |
| | | ref="wash" |
| | | v-loading="chartLoading" |
| | | style="width: 500px; height: 500px; text-align: center" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-row> |
| | | </ContentWrap> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | const curves = reactive({}) |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .text { |
| | | margin-top: 10px; |
| | | font-size: 15px; |
| | | color: black; |
| | | } |
| | | |
| | | .amountText { |
| | | margin-top: 20px; |
| | | font-size: 15px; |
| | | color: black; |
| | | } |
| | | |
| | | .item { |
| | | padding: 10px 0; |
| | | } |
| | | |
| | | .box-card-task-statistics { |
| | | height: 100px; |
| | | text-align: left; |
| | | } |
| | | |
| | | .order-chart { |
| | | height: 160px; |
| | | } |
| | | |
| | | .order-type-chart { |
| | | height: 300px; |
| | | } |
| | | |
| | | .img { |
| | | height: 60px; |
| | | width: 60px; |
| | | } |
| | | |
| | | .right-table { |
| | | width: 90px; |
| | | color: #99a9bf; |
| | | } |
| | | |
| | | th, |
| | | td { |
| | | padding: 8px; |
| | | text-align: left; |
| | | } |
| | | .wash-curves { |
| | | /*display: flex;*/ |
| | | flex-direction: row; |
| | | flex-wrap: wrap; |
| | | justify-content: center; |
| | | align-content: center; |
| | | } |
| | | </style> |