response/target/classes/public/ZhiNengTuiJian.html
2025-06-27 10:04:22 +08:00

413 lines
29 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0, user-scalable=0" />
<title></title>
<script src="./lib/jquery/dist/jquery.js"></script>
<script src="./lib/vuejs/vue.js"></script>
<script src="./lib/vuejs/axios.min.js"></script>
<script src="./lib/elementui/index2.15.9v.js"></script>
<!--<script src="./lib/linq.js/Content/Scripts/linq.min.js"></script>-->
<script src="Scripts/linq.js"></script>
<link href="./lib/elementui/index2.15.9v.css" rel="stylesheet" />
<link href="./lib/elementui/theme-green/index.css" rel="stylesheet" />
<link href="./lib/elementui/theme-green/color-green.css" rel="stylesheet" />
<!-- 依 赖 样 式 -->
<link rel="stylesheet" href="component/pear/css/pear.css" />
<!-- 加 载 样 式 -->
<!--<Link rel="stylesheet" href="admin/css/loader.css" />-->
<!-- 布 局 样 式 -->
<!--<Link rel="stylesheet" href="admin/css/admin.css" />-->
<!-- 依 赖 脚 本 -->
<script src="component/layui/layui.js"></script>
<script src="component/pear/pear.js"></script>
<!-- 新增加的layui的框架 -->
<!--<Link href="Scripts/layui/css/layui.css" rel="stylesheet" />
<script src="Scripts/layui/layui.js"></script>-->
<!--新增加的vxe表格组件-->
<!-- 引入样式 -->
<link rel="stylesheet" href="./lib/vxetable/vxe_style.css">
<!-- 引入脚本 -->
<script src="./lib/vxetable/xe-utils.js"></script>
<script src="./app/app.js"></script>
<script src="./lib/vxetable/vxe-table@legacy.js"></script>
</head>
<body>
<div id="app">
<el-container>
<!--<el-header>替换操作集合</el-header>-->
<el-main v-loading="loading" v-loading.fullscreen.lock="false" :element-loading-text="showLoadingTip"
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.1)">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="第一步-背景库提取" name="first">
<div class="test">
<div id="data" style="text-align: center; margin-right: 55px; margin-bottom: 20px;">
<h2 id="title1">先把2015年之后的样品信息作为背景库提取出来</h2>
<div style="background-color:bisque;padding:20px">
<h5>我们通过选择相应的多个年份之后,先把2015之后的样品信息作为背景库提取出来;</h5>
<h5>点击"背景数据库查看",如果没有查询到相关数据,可以点击"背景库数据重构"按钮进行背景库数据生成,可以点击"背景库数据重构"按钮重新生成背景库</h5>
<h5>双击表格框即可进行数据修改,不要担心数据会乱,这个完全是独立的数据库表!</h5>
</div>
<br />
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">样品名称</label>
<div class="layui-input-inline">
<el-select v-model="searchJson.ypmc"
filterable
clearable
remote
reserve-keyword
:remote-method="GetFirstDynamicDistinctYPMC"
placeholder="请选择样品名称"
:loading="loading"
style="width:200px">
<el-option v-for="(item,index) in First_SelYPMCs"
:key="index"
:label="item[0].Value"
:value="item[0].Value">
</el-option>
</el-select>
</div>
<label class="layui-form-label">食品大类</label>
<div class="layui-input-inline">
<el-select v-model="searchJson.sp_dl" filterable clearable placeholder="请选择大类" style="width:200px">
<!--<el-option :key="0" label="" value=""></el-option>-->
<el-option v-for="(item,index) in First_SelDaLeis"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</div>
<div class="layui-input-inline">
<button class="layui-btn" @click="SearchClassify()">当前背景库数据查看</button>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">生成数据年份选择</label>
<div class="layui-input-inline">
<el-select v-model="searchJson.years" multiple placeholder="请选择年份">
<el-option v-for="(item,index) in [2015,2016,2017,2018,2019,2020,2021,2022,2023]"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</div>
<button class="layui-btn" @click="GenerateClassify()">背景库数据重构(不要担心,单独的表)</button>
<!--<button class="layui-btn" @click="exportcsv()">导出</button>-->
<span>{{showtip}}</span>
</div>
</div>
</div>
<br />
<div style="padding:30px" class="layui-card">
<table class="layui-hide" id="ClassifyTable" lay-filter="ClassifyTable"></table>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="第二步-选择要比对的年份和食品大类" name="second">
<div class="test">
<div id="data" style="text-align: center; margin-right: 55px; margin-bottom: 20px;">
<h2 id="title1">选择要比对年份和食品大类</h2>
<div style="background-color:thistle;padding:20px">
<h5>选择要比对的年份(下拉框和食品大类下拉框例如2021年婴幼儿配方食品,点击"要比对食品大类数据查询"按钮,可以查看查询出来的食品大类和样品信息组合的信息</h5>
<h5>记得点击"要比对食品大类数据缓存"按钮,这样就可以让第三步操作能够针对要比对的数据行具体的比对操作</h5>
</div>
<br />
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="width:150px">需要比对年份</label>
<div class="layui-input-inline">
<el-select v-model="curYear" filterable placeholder="请选择年份" id="curYear">
<el-option v-for="(item,index) in [2020,2021,2022]"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</div>
<label class="layui-form-label">需要整理食品大类</label>
<el-select v-model="searchYearTempJson.sp_dl" filterable placeholder="请选择大类" id="second_sp_dl">
<el-option v-for="(item,index) in First_SelDaLeis"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</div>
</div>
<div class="layui-form-item">
</div>
<div class="layui-form-item layui-form-text">
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" @click="SearchYearReady()">要比对食品大类数据查询</button>
<!--<button class="layui-btn" @click="SearchYearTemp()">年度数据归档查询</button>
<button class="layui-btn" @click="GenerateYearTemp()">数据归档重构(慎点)</button>-->
<button class="layui-btn" @click="GenerateYearTempNew()">要比对食品大类数据缓存</button>
<!--<button class="layui-btn" @click="exportcsv()">导出</button>-->
<span>{{showtip}}</span>
</div>
</div>
</div>
<br />
<div style="padding:30px" class="layui-card">
<table class="layui-hide" id="YearTempTable" lay-filter="YearTempTable"></table>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="第三步--比对最新分类库" name="third">
<!--<h2 id="title1">比对最新分类库</h2>-->
<div style="background-color:cornsilk;padding:20px">
<h5>
比对最新分类库, 显示出来,但是不要替换,刷新最新分类库请到"样品类别管理里面的"同步到SQL库"按钮操作或者直接点击此按钮即可:
<el-button type="primary" :loading="btnLoading[3]" round @click="UpgradeFenLeiKu">全局同步最新分类库</el-button>
</h5>
</div>
<br />
<el-container>
<el-header>
<el-row>
<el-button type="primary" :loading="btnLoading[3]" round @click="GetYearDataReady">获取数据</el-button>
<el-button type="primary" :loading="btnLoading[0]" round @click="StartAnalyze">开始比对</el-button>
<el-button type="primary" :loading="btnLoading[1]" round @click="PauseAnalyze">暂停比对</el-button>
<el-button type="primary" :loading="btnLoading[2]" round @click="ResetAnalyze">重置操作</el-button>
<!--<el-checkbox v-model="chkAutoUpdate">分析时候动态修改数据</el-checkbox>-->
<span style="padding-left:12px">当前数据位置</span>
<el-input-number v-model="curAnalyzePos_Display" @change="handleAnalyzeChange" :min="0" :max="YearTempDataReady.length" label="当前位置调整"></el-input-number>
<span style="padding-left:22px">总数:{{YearTempDataReady.length}}</span>
</el-row>
</el-header>
</el-container>
<el-main>
<el-row>
<el-input type="textarea"
:rows="10"
placeholder="替换操作状态提示"
v-model="textarea">
</el-input>
</el-row>
</el-main>
<el-footer>
<el-row :gutter="20">
<el-col :span="12">
<el-tag>分类库对应</el-tag>
<el-table :data="EnsureTableData.slice((Classify_currentPage-1)*Classify_pagesize,Classify_currentPage*Classify_pagesize)"
style="width: 100%" border>
<el-table-column prop="ypmc"
label="样品名称"
width="80">
</el-table-column>
<el-table-column prop="sp_dl"
label="食品大类"
width="80">
</el-table-column>
<el-table-column prop="sp_yl"
label="食品亚类">
</el-table-column>
<el-table-column prop="sp_pz"
label="食品品种">
</el-table-column>
<el-table-column prop="sp_xl"
label="食品小类">
</el-table-column>
</el-table>
<el-pagination small
@size-change="handleSizeChange_Classify"
@current-change="handleCurrentChange_Classify"
:current-page="Classify_currentPage"
:page-sizes="[5, 10, 20, 40]"
:page-size="Classify_pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="EnsureTableData.length">
//这是显示总共有多少数据,
</el-pagination>
</el-col>
<el-col :span="12">
<el-tag>分类库未对应</el-tag>
<el-table :data="UnsureTableData.slice((YearTemp_currentPage-1)*YearTemp_pagesize,YearTemp_currentPage*YearTemp_pagesize)"
style="width: 100%" border>
<el-table-column prop="ypmc"
label="样品名称"
width="180">
</el-table-column>
<el-table-column prop="sp_dl"
label="食品大类"
width="180">
</el-table-column>
<el-table-column prop="sp_yl"
label="食品亚类">
</el-table-column>
<el-table-column prop="sp_pz"
label="食品品种">
</el-table-column>
<el-table-column prop="sp_xl"
label="食品小类">
</el-table-column>
<!--<el-table-column prop="AnalyzeJson"
label="推断信息">
</el-table-column>-->
<!--<el-table-column fixed="right"
label="操作"
width="100">
<template slot-scope="scope">
<el-button @click="RealTime_handleEditClick(scope.row)" type="text" size="small">查看</el-button>-->
<!--<el-button type="text" size="small">编辑</el-button>-->
<!--</template>
</el-table-column>-->
</el-table>
<el-pagination small
@size-change="handleSizeChange_YearTemp"
@current-change="handleCurrentChange_YearTemp"
:current-page="YearTemp_currentPage"
:page-sizes="[5, 10, 20, 40]"
:page-size="YearTemp_pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="UnsureTableData.length">
//这是显示总共有多少数据,
</el-pagination>
<el-dialog title="实时推断查看" :visible.sync="RealTime_dialogTableVisible" width="70%">
<el-table :data="RealTime_gridData" border>
<el-table-column property="keyword" label="推断关键词" width="150"></el-table-column>
<el-table-column property="ypmc" label="样品名称" width="150"></el-table-column>
<el-table-column property="sp_dl" label="食品大类" width="150"></el-table-column>
<el-table-column property="sp_yl" label="食品亚类" width="150"></el-table-column>
<el-table-column property="sp_xl" label="食品细类"></el-table-column>
<el-table-column property="sp_pz" label="食品品种" width="150"></el-table-column>
<el-table-column property="score" label="推荐系数"></el-table-column>
<!--<el-table-column fixed="right"
label="采纳"
width="100">
<template slot-scope="scope">
<el-button @click="RealTime_handleAcceptClick(scope.row)" type="text" size="small">选择</el-button>-->
<!--<el-button type="text" size="small">编辑</el-button>-->
<!--</template>
</el-table-column>-->
</el-table>
</el-dialog>
</el-col>
</el-row>
</el-footer>
</el-tab-pane>
<el-tab-pane label="第四步-智能修改和智能推荐" name="fourth">
<!--<h2 id="title1">智能修改和智能推荐</h2> -->
<div style="background-color:darkgray;padding:20px">
<h5>智能修改:样品名称和大类与2015-2021年背景库对比完全一致出现一个[采纳替换]按钮</h5>
<h5>智能推荐:对比背景库后,发现名称和背景库不一致,根据样品名称里的描述,去和背景库样品名称对比,看相似度来推荐分类。</h5>
<h5>如背景库有变化,请更新智能分析模型:<el-button type="primary" :loading="btnLoading[3]" round @click="UpgradeFenXiMoXing">智能分析模型更新</el-button></h5>
</div>
<br />
<el-container>
<el-header>
<el-row>
<el-button type="primary" :loading="btnLoading[3]" round @click="GetFourthAnalyzeData">获取需要智能分析数据</el-button>
<el-button type="primary" :loading="btnLoading[0]" round @click="StartFourthAnalyze">开始智能分析</el-button>
<el-button type="primary" :loading="btnLoading[1]" round @click="PauseFourthAnalyze">暂停智能分析</el-button>
<el-button type="primary" :loading="btnLoading[2]" round @click="ResetFourthAnalyze">重置智能分析操作</el-button>
<!--<el-checkbox v-model="chkAutoUpdate">分析时候动态修改数据</el-checkbox>-->
<span style="padding-left:12px">当前数据位置</span>
<el-input-number v-model="curFourthAnalyzePos_Display" @change="handleFourthAnalyzeChange" :min="0" :max="fourth_data.length" label="当前位置调整"></el-input-number>
<span style="padding-left:22px">总数:{{fourth_data.length}}</span>
</el-row>
</el-header>
</el-container>
<el-main>
<el-row>
<el-input type="textarea"
:rows="6"
placeholder="智能分析操作状态提示"
v-model="textarea_fourth">
</el-input>
</el-row>
<p style="min-height:10px"></p>
<vxe-table border
keep-source
:expand-config="{accordion: true}"
:column-config="{resizable: true}"
:data="fourth_data">
<vxe-column type="seq" width="40"></vxe-column>
<vxe-column type="expand" title="分析查看" width="50">
<!--这块是展开的子菜单开始-->
<template #content="{ row, rowIndex }">
<div style="padding: 30px;">
<vxe-table border
:header-cell-class-name="headerCellClassName"
:data="fourth_data_result[rowIndex]">
<!--<vxe-column field="keyword" title="分词关键词"></vxe-column>-->
<vxe-column field="YPMC" title="推荐样品名称"></vxe-column>
<vxe-column field="SP_DL" title="推荐食品大类"></vxe-column>
<vxe-column field="SP_YL" title="推荐食品亚类"></vxe-column>
<vxe-column field="SP_PZ" title="推荐食品品种"></vxe-column>
<vxe-column field="SP_XL" title="推荐食品小类"></vxe-column>
<vxe-column field="score" title="评分"></vxe-column>
<vxe-column title="操作" width="100" show-overflow>
<template #default="{ row }">
<vxe-button type="text" icon="vxe-icon-edit" content="全部替换" @click="AA(row,rowIndex)"></vxe-button>
</template>
</vxe-column>
</vxe-table>
</div>
</template>
<!--这块是展开的子菜单结束-->
</vxe-column>
<vxe-column field="YPMC" title="样品名称"></vxe-column>
<vxe-column field="SP_DL" title="食品大类"></vxe-column>
<vxe-column field="SP_YL" title="食品亚类"></vxe-column>
<vxe-column field="SP_PZ" title="食品品种"></vxe-column>
<vxe-column field="SP_XL" title="食品小类"></vxe-column>
<vxe-column field="ANALYZESTATUS" title="分析状态" type="html" :filters="AnalyzeList" :formatter="formatterAnalyzeStatus"></vxe-column>
<vxe-column field="AnalyzeTime" title="分析时间"></vxe-column>
<vxe-column field="EditTime" title="采纳时间"></vxe-column>
<!--<vxe-column title="操作" width="100" show-overflow>
<template #default="{ row }">
<vxe-button type="text" icon="vxe-icon-edit" content="全部替换" @click="BB(row)"></vxe-button>
</template>
</vxe-column>-->
</vxe-table>
</el-main>
</el-tab-pane>
</el-tabs>
</el-main>
<el-footer>
</el-footer>
</el-container>
</div>
</body>
</html>
<script src="./ZhiNengTuiJian.js"></script>
<!--<script src="./ZhiNengTuiJian2.js"></script>-->
<style>
</style>