413 lines
29 KiB
HTML
413 lines
29 KiB
HTML
<!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>
|