1267 lines
65 KiB
HTML
1267 lines
65 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>-->
|
|
|
|
|
|
|
|
</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">历史字典构建</h2>
|
|
<div style="background-color:bisque;padding:20px">
|
|
<h5>历史字典构建主要是把18,19,20年的分类数据进行归纳,形成分类基础库,作为整个比对系统的基本版本;</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">
|
|
<input type="text" id="ypmc" placeholder="请输入样品名称" class="layui-input" style="width:200px" v-model="searchJson.ypmc">
|
|
</div>
|
|
<label class="layui-form-label">食品大类</label>
|
|
<div class="layui-input-inline">
|
|
<input type="text" id="sp_dl" placeholder="请输入食品大类" class="layui-input" style="width:200px" v-model="searchJson.sp_dl">
|
|
</div>
|
|
</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="SearchClassify()">历史字典数据查询</button>
|
|
<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>年度数据分类归档,是把当年需要整理的数据分类先统一获取出来进行操作,防止污染现有数据库数据,待当前的统一分类已经操作完成再更新现有大数据库</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" style="width:150px">查询条件:样品名称</label>
|
|
<div class="layui-input-inline">
|
|
<input type="text" id="ypmc" placeholder="请输入样品名称" class="layui-input" style="width:200px" v-model="searchYearTempJson.ypmc">
|
|
</div>
|
|
<label class="layui-form-label">食品大类</label>
|
|
<div class="layui-input-inline">
|
|
<input type="text" id="sp_dl" placeholder="请输入食品大类" class="layui-input" style="width:200px" v-model="searchYearTempJson.sp_dl">
|
|
</div>
|
|
|
|
|
|
<label class="layui-form-label" style="width:150px">年份(归档使用)</label>
|
|
<div class="layui-input-inline">
|
|
<select name="curYear" lay-filter="curYear" id="curYear" v-model="curYear" lay-search>
|
|
<option></option>
|
|
<option v-for="item in [2021,2022]">{{item}}</option>
|
|
</select>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</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="SearchYearTemp()">年度数据归档查询</button>
|
|
<button class="layui-btn" @click="GenerateYearTemp()">数据归档重构(慎点)</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">
|
|
<div style="background-color:cornsilk;padding:20px">
|
|
<h5>使用本模块,首先点击"获取数据"获取年度数据分类归档,然后点击"开始分析",勾选"分析时候动态修改数据"则会自动按照查询情况将临时表的年度数据进行更改</h5>
|
|
<h5>实时分析的数据将会分为两类:如历史库有对应则使用历史库对应的数据,否则通过智能推荐服务放到推论库里面,方便用户按照评分等级修改,数据位于界面下方的两个表格中,方便用户查看</h5>
|
|
<h5>可以在操作过程中按"暂停分析"按钮,并且可以调整当前数据位置,再次启动"开始分析"即可按照用户指定位置开始操作,同时可以缩小浏览器比例方便界面数据查看</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" @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_XL"
|
|
label="食品小类">
|
|
</el-table-column>
|
|
<el-table-column prop="SP_PZ"
|
|
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="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_XL"
|
|
label="食品小类">
|
|
</el-table-column>
|
|
<el-table-column prop="SP_PZ"
|
|
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">
|
|
<el-container>
|
|
<el-header style="background-color:coral; height:100px; padding:20px">
|
|
<div>点击"查询条件",进行相关条件的录入,点击"获取分析结果"即可查看智能分析推荐中的相关操作结果;</div>
|
|
<div>识别方式列的0-代表是从历史数据库中匹配,1-代表是从智能语义化引擎中匹配,选择"推断库"-"未修改"即可把所有需要用户确认的分类查询出来,进行调整,通过点击"查看推断"可选择更优匹配</div>
|
|
<div>点击数据库应用,选择相应的年份,然后进行全面应用,即可将现有整理完整的字典全部梳理数据库的分类内容,同样需要等待</div>
|
|
</el-header>
|
|
|
|
<el-main>
|
|
<el-row>
|
|
<el-collapse>
|
|
<el-collapse-item>
|
|
<template slot="title">
|
|
查询条件
|
|
<i class="header-icon el-icon-info"></i>
|
|
</template>
|
|
<el-form ref="form" :model="form" label-width="80px">
|
|
<el-form-item label="识别类型:">
|
|
<el-select v-model="form.AnalyzeStatus" placeholder="请选择识别类型">
|
|
<el-option v-for="item in [{value:'',label:'全部'},{value:'0',label:'字典库'},{value:'1',label:'推断库'},]"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-select>
|
|
<el-select v-model="form.HaveEdit" placeholder="请选择修改情况">
|
|
<el-option v-for="item in [{value:'',label:'全部'},{value:'0',label:'未修改'},{value:'1',label:'已修改'},]"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="样品名称">
|
|
<el-input v-model="form.YPMC"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="大类">
|
|
<el-input v-model="form.SP_DL"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="亚类">
|
|
<el-input v-model="form.SP_YL"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="细类">
|
|
<el-input v-model="form.SP_XL"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="品种">
|
|
<el-input v-model="form.SP_PZ"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" :loading="btnLoading[3]" round @click="GetAnalyzeResult" size="mini">获取分析结果</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-collapse-item>
|
|
<el-collapse-item>
|
|
<template slot="title">
|
|
数据库应用
|
|
<i class="header-icon el-icon-info"></i>
|
|
</template>
|
|
|
|
|
|
<!--<div>待开发</div>-->
|
|
<el-form ref="form" :model="formResultApply" label-width="80px">
|
|
<el-form-item label="任务年份:">
|
|
<el-select v-model="formResultApply.ApplyYear" placeholder="请选择识别类型">
|
|
<el-option v-for="item in [{value:'2021',label:'2021'},{value:'2022',label:'2022'}]"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item>
|
|
<el-button type="primary" :loading="btnLoading[3]" round @click="ResultApplyByYear" size="mini">按照年份全面应用</el-button>
|
|
<el-button type="primary" :loading="btnLoading[1]" round @click="ResultApplyPauseAnalyze" size="mini">暂停分析</el-button>
|
|
<el-button type="primary" :loading="btnLoading[2]" round @click="ResultApplyResetAnalyze" size="mini">重置操作</el-button>
|
|
<span style="padding-left:12px">当前数据位置</span>
|
|
<el-input-number v-model="curResultApplyPos" @change="handleResultApplyChange" :min="0" :max="ResultTableData.length" label="当前位置调整"></el-input-number>
|
|
<span style="padding-left:22px">/总数:{{ResultTableData.length}}</span>
|
|
</el-form-item>
|
|
|
|
|
|
<el-input type="textarea"
|
|
:rows="10"
|
|
placeholder="全面应用状况"
|
|
v-model="txtResultApply">
|
|
</el-input>
|
|
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
<div><!--页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。--></div>
|
|
</el-collapse-item>
|
|
</el-collapse>
|
|
</el-row>
|
|
<el-table :data="ResultTableData.slice((Result_currentPage-1)*Result_pagesize,Result_currentPage*Result_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_XL"
|
|
label="食品细类">
|
|
</el-table-column>
|
|
<el-table-column prop="SP_PZ"
|
|
label="食品品种">
|
|
</el-table-column>
|
|
<el-table-column prop="AnalyzeTime"
|
|
label="识别时间">
|
|
</el-table-column>
|
|
<el-table-column prop="AnalyzeStatus"
|
|
width="50"
|
|
label="识别方式">
|
|
</el-table-column>
|
|
<el-table-column prop="EditTime"
|
|
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="handleEditResultClick(scope.row,scope.$index)" type="text" size="small">查看推断</el-button>
|
|
<el-button @click="handleSingleResultUpdateClick(scope.row,scope.$index)" 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_Result"
|
|
@current-change="handleCurrentChange_Result"
|
|
:current-page="Result_currentPage"
|
|
:page-sizes="[5, 10, 20, 40]"
|
|
:page-size="Result_pagesize"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:total="ResultTableData.length">
|
|
//这是显示总共有多少数据,
|
|
</el-pagination>
|
|
</el-main>
|
|
<el-footer>
|
|
|
|
</el-footer>
|
|
</el-container>
|
|
|
|
|
|
<el-dialog title="推断选择" :visible.sync="dialogTableVisible" width="70%" @close="handleResultDialogClose">
|
|
|
|
|
|
<el-descriptions class="margin-top" title="当前数据" :column="3" size="mini" border>
|
|
|
|
<el-descriptions-item>
|
|
<template slot="label">
|
|
<i class="el-icon-user"></i>
|
|
样品名称
|
|
</template>
|
|
{{curResultSelectData.YPMC}}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template slot="label">
|
|
<i class="el-icon-mobile-phone"></i>
|
|
食品大类
|
|
</template>
|
|
{{curResultSelectData.SP_DL}}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template slot="label">
|
|
<i class="el-icon-mobile-phone"></i>
|
|
已选_食品亚类
|
|
</template>
|
|
{{curResultSelectData.SP_YL}}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template slot="label">
|
|
<i class="el-icon-mobile-phone"></i>
|
|
已选_食品细类
|
|
</template>
|
|
{{curResultSelectData.SP_XL}}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template slot="label">
|
|
<i class="el-icon-mobile-phone"></i>
|
|
已选_食品品种
|
|
</template>
|
|
{{curResultSelectData.SP_PZ}}
|
|
</el-descriptions-item>
|
|
</el-descriptions>
|
|
|
|
<el-divider></el-divider>
|
|
|
|
<div class="el-descriptions__title">预测推荐:</div>
|
|
<el-table :data="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="handleAcceptClick(scope.row,scope.$index)" type="text" size="small">选择</el-button>
|
|
<!--<el-button type="text" size="small">编辑</el-button>-->
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-dialog>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-main>
|
|
<el-footer>
|
|
|
|
</el-footer>
|
|
</el-container>
|
|
|
|
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|
|
|
|
|
|
<script>
|
|
///////////////////////////////////////////////////
|
|
//该部分是Vue应用封装
|
|
var app = new Vue({
|
|
el: '#app',
|
|
data() {
|
|
return {
|
|
//向导页目前的第几页
|
|
activeName: 'first',
|
|
//需要处理的年份
|
|
curYear:'',
|
|
//提示内容显示
|
|
textarea: "",
|
|
searchJson: { 'ypmc': '', 'sp_dl': '' },
|
|
searchYearTempJson: { 'ypmc': '', 'sp_dl': '' },
|
|
//等待提示
|
|
loading: false,
|
|
showtip:'',
|
|
btnLoading: [false, false, false, false, false, false, false, false, false, false, false, false],
|
|
//正在进行实时更新替换, 大约需要30秒钟至几分钟不等, 请等待...
|
|
showLoadingTip: '系统正在操作中,请耐心的等待...',
|
|
|
|
|
|
Classify_currentPage: 1, //初始页_历史数据库
|
|
Classify_pagesize: 5, //每页的数据_历史数据库
|
|
|
|
YearTemp_currentPage: 1, //初始页_年临时数据库
|
|
YearTemp_pagesize: 5, //每页的数据_年临时数据库
|
|
|
|
Result_currentPage: 1, //初始页_结果数据库
|
|
Result_pagesize: 5, //每页的数据_结果数据库
|
|
|
|
//是否在分析的时候就自动更新大类,小类的数据
|
|
chkAutoUpdate:true,
|
|
|
|
//当前运行分析的位置
|
|
curAnalyzePos: 0,
|
|
//是否是暂停状态
|
|
isPause:false,
|
|
|
|
//当前需要分析的数据集
|
|
YearTempDataReady: [],
|
|
|
|
//确定查找到的表格数据
|
|
EnsureTableData: [],
|
|
//不确定查找的表格数据
|
|
UnsureTableData: [],
|
|
//查看运行结果数据集
|
|
ResultTableData: [],
|
|
|
|
//结论部分的时候的弹出框
|
|
dialogTableVisible: false,
|
|
|
|
//实时分析的时候的弹出框
|
|
RealTime_dialogTableVisible:false,
|
|
|
|
//实时的??
|
|
gridData1:[],
|
|
//结论部分查看数据分析表格
|
|
gridData: [],
|
|
|
|
//实时分析的时候查看分析表格
|
|
RealTime_gridData:[],
|
|
|
|
|
|
//搜索部分的设置值
|
|
result_year: '2021',
|
|
|
|
|
|
//当前的结果的选择的中间值传递方式
|
|
curResultSelectData: {},
|
|
|
|
//结果表格的查询内容相关的字段
|
|
form: {
|
|
AnalyzeStatus: "",
|
|
HaveEdit: "",
|
|
SP_DL: "",
|
|
SP_PZ: "",
|
|
SP_XL: "",
|
|
SP_YL: "",
|
|
YPMC: ""
|
|
},
|
|
|
|
//全部结果更新的查询数据条件
|
|
formResultApply: {
|
|
ApplyYearl:''
|
|
},
|
|
|
|
//全局替换结果实时情况展现
|
|
txtResultApply: '',
|
|
|
|
//全部结果更滑操作
|
|
isResultPause: false,
|
|
|
|
//开始循环的时候的位置
|
|
curResultApplyPos:0,
|
|
|
|
}
|
|
},
|
|
mounted() {
|
|
var _this = this; //this指向vue
|
|
Vue.prototype.$loading = this.loading
|
|
|
|
_this.loading = false;
|
|
|
|
|
|
},
|
|
methods: {
|
|
//向导页设置
|
|
handleClick(tab, event) {
|
|
console.log(tab, event);
|
|
},
|
|
|
|
handleAnalyzeChange(value) {
|
|
console.log(value);
|
|
},
|
|
|
|
handleResultApplyChange(value) {
|
|
console.log(value);
|
|
},
|
|
|
|
//显示推荐结果
|
|
RealTime_handleEditClick(value) {
|
|
|
|
if (value.AnalyzeJson != "") {
|
|
this.RealTime_gridData = JSON.parse(value.AnalyzeJson);
|
|
} else {
|
|
this.RealTime_gridData = [];
|
|
}
|
|
|
|
//显示对话框
|
|
this.RealTime_dialogTableVisible = true
|
|
|
|
|
|
//console.log("handleEditClick测试面", value)
|
|
|
|
//layer.open({
|
|
// type: 2,
|
|
// title: '选择推荐数据',
|
|
// shadeClose: true,
|
|
// shade: false,
|
|
// maxmin: true, //开启最大化最小化按钮
|
|
// area: ['893px', '600px'],
|
|
// content: 'http://localhost:56395/zhinengtuijian.html'
|
|
//});
|
|
|
|
},
|
|
|
|
//第四步的修改推荐结果弹出框操作
|
|
handleEditResultClick(value) {
|
|
//console.log('kankankankan333', value.AnalyzeJson);
|
|
if (value.AnalyzeJson != "") {
|
|
this.curResultSelectData = value;
|
|
this.gridData = JSON.parse(value.AnalyzeJson);
|
|
} else {
|
|
this.curResultSelectData = {};
|
|
this.gridData = [];
|
|
}
|
|
|
|
//显示对话框
|
|
this.dialogTableVisible = true
|
|
|
|
},
|
|
|
|
//第四步的关闭弹出框
|
|
handleResultDialogClose() {
|
|
console.log('yun运行第四步的操作')
|
|
this.GetAnalyzeResult()
|
|
},
|
|
|
|
//第四步确认采纳方法按钮确认操作
|
|
handleAcceptClick(value,index) {
|
|
//进行服务端的推荐修订
|
|
//发送推荐内容到服务器完成修改;
|
|
console.log('value',value)
|
|
//本地同时进行调整
|
|
var _this = this; //this指向vue
|
|
|
|
layer.confirm('您确定采纳该推断?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
},
|
|
function (index) {
|
|
_this.loading = true;
|
|
|
|
//定义出来需要更新的类内容,先把当前的值拿出来
|
|
var curUpdateData = _this.curResultSelectData
|
|
//更新其中几个需更换的值
|
|
curUpdateData.SP_YL= value.SP_YL;
|
|
curUpdateData.SP_XL = value.SP_XL;
|
|
curUpdateData.SP_PZ = value.SP_PZ;
|
|
|
|
//进行服务端访问
|
|
axios({
|
|
url: '/Classify/UpdateYearTempAnalyze',
|
|
params: curUpdateData
|
|
}).then((res) => {
|
|
console.log('res',res);
|
|
|
|
//本地同时进行调整
|
|
//如果更新成功
|
|
if (res.data.count > 0) {
|
|
//更新弹出界面的数值
|
|
_this.$set(_this.curResultSelectData, 'SP_YL', res.data.data.SP_YL);
|
|
_this.$set(_this.curResultSelectData, 'SP_XL', res.data.data.SP_XL);
|
|
_this.$set(_this.curResultSelectData, 'SP_PZ', res.data.data.SP_PZ);
|
|
|
|
|
|
//更新主表格的数据,发现无需写代码,即可进行更新,同时因为不在同一个页面,更改方式为关闭窗口就刷新数据
|
|
//_this.$set(_this.ResultTableData,index, _this.curResultSelectData);
|
|
_this.showTip("更换成功!")
|
|
} else {
|
|
//更新没有成功
|
|
_this.showTip("更换没有成功,请检查!")
|
|
}
|
|
|
|
layer.close(index);
|
|
_this.loading = false;
|
|
});
|
|
|
|
},
|
|
//如果点击取消,保留方法
|
|
function() {
|
|
|
|
});
|
|
|
|
},
|
|
|
|
//初始页currentPage、初始每页数据数pagesize和数据data
|
|
handleSizeChange_Classify: function (size) {
|
|
this.Classify_pagesize = size
|
|
console.log(this.Classify_pagesize) //每页下拉显示数据
|
|
},
|
|
handleCurrentChange_Classify: function (currentPage) {
|
|
this.Classify_currentPage = currentPage
|
|
console.log(this.Classify_currentPage) //点击第几页
|
|
},
|
|
|
|
//初始页currentPage、初始每页数据数pagesize和数据data
|
|
handleSizeChange_YearTemp: function (size) {
|
|
this.YearTemp_pagesize = size
|
|
console.log(this.YearTemp_pagesize) //每页下拉显示数据
|
|
},
|
|
handleCurrentChange_YearTemp: function (currentPage) {
|
|
this.YearTemp_currentPage = currentPage
|
|
console.log(this.YearTemp_currentPage) //点击第几页
|
|
},
|
|
|
|
//初始页currentPage、初始每页数据数pagesize和数据data
|
|
handleSizeChange_Result: function (size) {
|
|
this.Result_pagesize = size
|
|
console.log(this.Result_pagesize) //每页下拉显示数据
|
|
},
|
|
handleCurrentChange_Result: function (currentPage) {
|
|
this.Result_currentPage = currentPage
|
|
console.log(this.Result_currentPage) //点击第几页
|
|
},
|
|
//显示进度内容
|
|
addNote(str) {
|
|
var aData = new Date().toLocaleString();;
|
|
this.textarea = aData + " " + str + '\r\n' + this.textarea;
|
|
},
|
|
//显示进度内容
|
|
addResultNote(str) {
|
|
var aData = new Date().toLocaleString();;
|
|
this.txtResultApply = aData + " " + str + '\r\n' + this.txtResultApply;
|
|
},
|
|
//显示提示信息
|
|
showTip(strmessage) {
|
|
this.$message({
|
|
message: strmessage,
|
|
type: 'warning'
|
|
});
|
|
},
|
|
|
|
//第一步的生成基础库
|
|
GenerateClassify() {
|
|
|
|
var _this = this; //this指向vue
|
|
layer.confirm('您确定重新构建内容?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
}, function (index) {
|
|
|
|
|
|
_this.loading = true;
|
|
_this.showTip('数据正在重新构建,请等待...');
|
|
|
|
(async () => {
|
|
await axios({
|
|
url:'/Classify/GenerateClassifyDict'
|
|
}).then((res) => {
|
|
console.log(res);
|
|
//_this.addNote("此次" + desc + "替换操作完成," + res.data.data + "谢谢使用!");
|
|
//_this.search();
|
|
_this.loading = false;
|
|
|
|
//_this.btnLoading[btnid] = false;
|
|
});
|
|
})();
|
|
|
|
}, function () {
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
//第二步的生成数据库
|
|
GenerateYearTemp() {
|
|
var _this = this; //this指向vue
|
|
layer.confirm('您确定重新构建内容?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
}, function () {
|
|
|
|
|
|
_this.loading = true;
|
|
_this.showTip('年份数据正在重新构建,请等待...');
|
|
|
|
(async () => {
|
|
await axios({
|
|
url: '/Classify/GenerateYearTempDict?RWNF=' + $('#curYear').val()
|
|
}).then((res) => {
|
|
console.log(res.data.data);
|
|
|
|
var curMsg = res.data.data;
|
|
layer.msg("加入" + curMsg + "条数据");
|
|
|
|
//_this.addNote("此次" + desc + "替换操作完成," + res.data.data + "谢谢使用!");
|
|
_this.loading = false;
|
|
//_this.btnLoading[btnid] = false;
|
|
});
|
|
})();
|
|
|
|
}, function () {
|
|
|
|
});
|
|
|
|
},
|
|
//第一步的查询生成的基础分析数据库
|
|
SearchClassify() {
|
|
console.log('this.searchJson', this.searchJson.ypmc)
|
|
_this = this;
|
|
layui.use(['table', 'util'], function () {
|
|
var table = layui.table;
|
|
var util = layui.util;
|
|
table.render({
|
|
elem: '#ClassifyTable'
|
|
, url:'/shp' + '/Classify/getClassifyDict'
|
|
, where: _this.searchJson
|
|
, parseData: function (res) { //res 即为原始返回的数据
|
|
return {
|
|
"code": res.code,
|
|
"data": res.data, //解析数据列表
|
|
"count": res.count
|
|
};
|
|
}
|
|
//, width: 800
|
|
, height: 500
|
|
,editTrigger: 'dblclick' // 触发编辑的事件类型(默认 click )。
|
|
, cols: [[
|
|
{ field: 'ID', width: 100, align: 'center', title: '编号', sort: true }
|
|
, { field: 'YPMC', width: '18%', align: 'center', title: '样品名称', sort: true, edit: 'text' }
|
|
, { field: 'SP_DL', width: '18%', align: 'center', title: '食品大类', sort: true, edit: 'text' }
|
|
, { field: 'SP_YL', width: '18%', align: 'center', title: '食品亚类', sort: true, edit: 'text' }
|
|
, { field: 'SP_PZ', width: '18%', align: 'center', title: '食品品种', sort: true, edit: 'text' }
|
|
, { field: 'SP_XL', width: '18%', align: 'center', title: '食品细类', sort: true, edit: 'text' }
|
|
|
|
]]
|
|
, page: true
|
|
, done: function (res, curr, count) {
|
|
//$("table").width("100 %")
|
|
|
|
|
|
}
|
|
});
|
|
|
|
|
|
// 单元格编辑后的事件
|
|
table.on('edit(ClassifyTable)', function (obj) {
|
|
var value = obj.value //得到修改后的值
|
|
, data = obj.data //得到所在行所有键值
|
|
, field = obj.field; //得到字段
|
|
|
|
console.log('value',value,'data',data,'field',field)
|
|
|
|
layer.confirm('您确定修改[' + obj.field + "||" + value + ']内容?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
}, function () {
|
|
axios({ url: '/Classify/UpdateSingleGrid_ClassifyDict', params: {ID:data.ID,Field:field,Value:value} }).then((res) => {
|
|
if (res.data.count>0) {
|
|
layer.msg('修改完成', { icon: 1 });
|
|
} else {
|
|
layer.msg('修改没有成功,请检查!', { icon: 1 });
|
|
}
|
|
})
|
|
|
|
|
|
}, function () {
|
|
//layer.msg('也可以这样', {
|
|
// time: 20000, //20s后自动关闭
|
|
// btn: ['明白了', '知道了']
|
|
//});
|
|
});
|
|
|
|
|
|
//layer.msg('[ID: ' + data.ID + '] ' + field + ' 字段更改值为:' + util.escape(value));
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
//查询生成的年度临时库
|
|
SearchYearTemp() {
|
|
console.log('curYear', $('#curYear').val())
|
|
//console.log('this.searchJson', this.searchJson.ypmc)
|
|
_this = this;
|
|
layui.use('table', function () {
|
|
var table = layui.table;
|
|
table.render({
|
|
elem: '#YearTempTable'
|
|
, url: '/Classify/GetYearTempDict'
|
|
, where: { 'RWNF': $('#curYear').val() }
|
|
, parseData: function (res) { //res 即为原始返回的数据
|
|
return {
|
|
"code": res.code,
|
|
"data": res.data, //解析数据列表
|
|
"count": res.count
|
|
};
|
|
}
|
|
, height: 500
|
|
, cols: [[
|
|
{ field: 'ID', width: 100, align: 'center', title: '编号', sort: true }
|
|
, { field: 'YPMC', width: '33%', align: 'center', title: '样品名称', sort: true, edit: 'text' }
|
|
, { field: 'SP_DL', width: '33%', align: 'center', title: '食品大类', sort: true, edit: 'text' }
|
|
|
|
]]
|
|
, page: true
|
|
, done: function (res, curr, count) {
|
|
//$("table").width("100 %")
|
|
|
|
|
|
}
|
|
});
|
|
|
|
// 单元格编辑后的事件
|
|
table.on('edit(YearTempTable)', function (obj) {
|
|
var value = obj.value //得到修改后的值
|
|
, data = obj.data //得到所在行所有键值
|
|
, field = obj.field; //得到字段
|
|
|
|
console.log('value', value, 'data', data, 'field', field)
|
|
|
|
layer.confirm('您确定修改[' + obj.field + "||" + value + ']内容?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
}, function () {
|
|
axios({ url: '/Classify/UpdateSingleGrid_YearTempDict', params: { ID: data.ID, Field: field, Value: value } }).then((res) => {
|
|
if (res.data.count > 0) {
|
|
layer.msg('修改完成', { icon: 1 });
|
|
} else {
|
|
layer.msg('修改没有成功,请检查!', { icon: 1 });
|
|
}
|
|
})
|
|
|
|
}, function () {
|
|
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
//获取准备分析的数据
|
|
GetYearDataReady() {
|
|
var _this = this; //this指向vue
|
|
axios({
|
|
url: "./Classify/GetYearTempDictReady"
|
|
}).then((res) => {
|
|
this.YearTempDataReady = res.data.data;
|
|
console.log(res.data.data)
|
|
_this.addNote("获取本年度的待处理数据完成,共有" + res.data.count + '种类型数据需要处理');
|
|
console.log(res);
|
|
});
|
|
},
|
|
|
|
//开始数据识别操作
|
|
StartAnalyze() {
|
|
//首先判断目前是否已经加载需要的所有的准备数据
|
|
|
|
var _this = this; //this指向vue
|
|
if (_this.YearTempDataReady.length <= 0) {
|
|
_this.addNote("请先点击获取数据操作");
|
|
return;
|
|
}
|
|
_this.isPause = false;
|
|
|
|
(async () => {
|
|
for (var i = _this.curAnalyzePos; i < _this.YearTempDataReady.length; i++) {
|
|
|
|
//如果发现按了暂停
|
|
if (_this.isPause == true) {
|
|
return;
|
|
}
|
|
_this.curAnalyzePos = i;
|
|
|
|
await axios({
|
|
url: "./Classify/GetClassifyCompare?YPMC=" + _this.YearTempDataReady[i].YPMC + "&SP_DL=" + _this.YearTempDataReady[i].SP_DL + "&autoupdate=" + (_this.chkAutoUpdate?1:0)
|
|
}).then((res) => {
|
|
|
|
if (res.data.count > 0) {
|
|
//历史库修改
|
|
_this.EnsureTableData.push(res.data.data)
|
|
} else {
|
|
|
|
|
|
axios({
|
|
url: "./Classify/GetZhiNengFenLei?strQuery=" + _this.YearTempDataReady[i].YPMC + "&YPMC=" + _this.YearTempDataReady[i].YPMC + "&SP_DL=" + _this.YearTempDataReady[i].SP_DL + "&AutoUpdate=" + (_this.chkAutoUpdate?1:0)
|
|
}).then((res_es) => {
|
|
|
|
console.log('res_es.data',res_es.data)
|
|
//推荐库修改
|
|
_this.UnsureTableData.push({
|
|
'YPMC': res_es.data.data.YPMC,
|
|
'SP_DL': res_es.data.data.SP_DL,
|
|
'SP_YL': res_es.data.data.SP_YL,
|
|
'SP_XL': res_es.data.data.SP_XL,
|
|
'SP_PZ': res_es.data.data.SP_PZ,
|
|
'AnalyzeJson': res_es.data.data.AnalyzeJson
|
|
})
|
|
});
|
|
|
|
}
|
|
|
|
_this.addNote("第" + (i + 1).toString() + "/" + _this.YearTempDataReady.length + "个完成," + ((res.data.count>0)?"历史库对应":"推荐系统提供"));
|
|
console.log(res);
|
|
if (i == (_this.YearTempDataReady.length - 1)) {
|
|
_this.addNote("此次操作全部完成,谢谢使用!");
|
|
_this.loading = false;
|
|
}
|
|
});
|
|
}
|
|
})();
|
|
},
|
|
|
|
PauseAnalyze() {
|
|
this.isPause = true;
|
|
this.showTip('已经暂停分析');
|
|
},
|
|
ResetAnalyze() {
|
|
this.isPause = true;
|
|
this.curAnalyzePos = 0;
|
|
this.textarea = "";
|
|
this.YearTempDataReady = [];
|
|
this.EnsureTableData = [];
|
|
this.UnsureTableData = [];
|
|
this.showTip('已经重置操作');
|
|
|
|
},
|
|
//第四步获取推断的结论设置,加了一个刷新是否回到第一页的isBackPage的变量
|
|
GetAnalyzeResult(isBackPage) {
|
|
|
|
//console.log('form222', this.form);
|
|
|
|
var _this = this; //this指向vue
|
|
_this.loading = true;
|
|
axios({
|
|
url: "./Classify/GetResultDict", params:_this.form
|
|
}).then((res) => {
|
|
//console.log('res_es.data', res.data.data)
|
|
//全部结果
|
|
_this.ResultTableData = res.data.data;
|
|
if (isBackPage) {
|
|
_this.Result_currentPage = 1;
|
|
}
|
|
_this.loading = false;
|
|
//console.log('ResultTableData', this.ResultTableData)
|
|
});
|
|
},
|
|
|
|
|
|
//第四步实现按照年份应用
|
|
ResultApplyByYear() {
|
|
//console.log('formResultApply', this.formResultApply.ApplyYear)
|
|
_this = this;
|
|
var curResultYear = this.formResultApply.ApplyYear;
|
|
layer.confirm('您确定进行该年份采纳推断操作?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
},
|
|
function (index) {
|
|
layer.close(index);
|
|
console.log('_this',_this)
|
|
_this.isResultPause = false;
|
|
|
|
//开始循环的部分
|
|
_this.addResultNote("开始替换操作,替换任务年份为" + curResultYear + "年的数据,共有" + _this.ResultTableData.length + "种分类需要刷新");
|
|
|
|
//全局异步大循环
|
|
(async () => {
|
|
for (var i = _this.curResultApplyPos; i <= _this.ResultTableData.length; i++) {
|
|
|
|
let curUpdate = _this.ResultTableData[i];
|
|
curUpdate.RWNF = curResultYear
|
|
//如果发现按了暂停
|
|
if (_this.isResultPause == true) {
|
|
return;
|
|
}
|
|
_this.curResultApplyPos = i;
|
|
await axios.post(
|
|
"./Classify/UpdateResultByYear",
|
|
curUpdate
|
|
).then((res) => {
|
|
if (res.data.count > 0) {
|
|
_this.addResultNote("任务年份:" + _this.formResultApply.ApplyYear + "年,样品名称:" + _this.ResultTableData[i].YPMC + ",食品大类:" + _this.ResultTableData[i].SP_DL + "全局替换" + res.data.count + "条完成")
|
|
} else {
|
|
_this.addResultNote("任务年份:" + _this.formResultApply.ApplyYear + "年,样品名称:" + _this.ResultTableData[i].YPMC + ",食品大类:" + _this.ResultTableData[i].SP_DL + "全局替换没有成功")
|
|
}
|
|
})
|
|
}
|
|
})()
|
|
|
|
_this.addResultNote("替换操作全部完成")
|
|
//_this.loading = false;
|
|
|
|
|
|
|
|
|
|
},
|
|
function () { }
|
|
)
|
|
|
|
//实验性代码,暂时保留
|
|
////第四步被调用应用的方法
|
|
//_this.ResultApplyByYear_Fuction = function (that) {
|
|
|
|
// console.log('that',that)
|
|
// //alert('内部第哦啊哦那个')
|
|
// _this.addNote("开始替换操作,替换任务年份为" + that.formResultApply.ApplyYear + "年的数据,共有" + that.ResultTableData + "种分类需要刷新" )
|
|
|
|
// //全局异步大循环
|
|
// (async () => {
|
|
// for (var i = 0; i <= _this.ResultTableData.length; i++) {
|
|
|
|
// //如果发现按了暂停
|
|
// if (_this.isResultPause == true) {
|
|
// return;
|
|
// }
|
|
// await axios({
|
|
// url: "./Classify/UpdateResultByYear",
|
|
// params: _this.ResultTableData[i]
|
|
// }).then((res) => {
|
|
// if (res.data.count == 0) {
|
|
// _this.addNote("任务年份:" + _this.formResultApply.ApplyYear + "年,样品名称:" + _this.ResultTableData[i].YPMC + ",食品大类:" + _this.ResultTableData[i].SP_DL + "全局替换完成")
|
|
// } else {
|
|
// _this.addNote("任务年份:" + _this.formResultApply.ApplyYear + "年,样品名称:" + _this.ResultTableData[i].YPMC + ",食品大类:" + _this.ResultTableData[i].SP_DL +"全局替换没有成功")
|
|
// }
|
|
// })
|
|
// }
|
|
// })()
|
|
|
|
// _this.addNote("替换操作全部完成")
|
|
|
|
|
|
//}
|
|
|
|
},
|
|
|
|
//第四步单独结果的应用
|
|
handleSingleResultUpdateClick(value,index) {
|
|
_this = this;
|
|
var curResultYear = this.formResultApply.ApplyYear;
|
|
layer.confirm('您确定进行该年份采纳推断操作?', {
|
|
btn: ['确定', '取消'] //按钮
|
|
},
|
|
function (index) {
|
|
layer.close(index);
|
|
|
|
let curUpdate = _this.ResultTableData[index];
|
|
curUpdate.RWNF = curResultYear
|
|
|
|
axios.post(
|
|
"./Classify/UpdateResultByYear",
|
|
curUpdate
|
|
).then((res) => {
|
|
if (res.data.count > 0) {
|
|
_this.addResultNote("任务年份:" + _this.formResultApply.ApplyYear + "年,样品名称:" + _this.ResultTableData[i].YPMC + ",食品大类:" + _this.ResultTableData[i].SP_DL + "全局替换" + res.data.count + "条完成")
|
|
} else {
|
|
_this.addResultNote("任务年份:" + _this.formResultApply.ApplyYear + "年,样品名称:" + _this.ResultTableData[i].YPMC + ",食品大类:" + _this.ResultTableData[i].SP_DL + "全局替换没有成功")
|
|
}
|
|
})
|
|
},
|
|
function () { }
|
|
)
|
|
|
|
|
|
},
|
|
|
|
//第四步全局应用暂停
|
|
ResultApplyPauseAnalyze() {
|
|
this.isResultPause = true;
|
|
this.showTip('已经暂停结果应用');
|
|
},
|
|
|
|
//第四步全局应用重置
|
|
ResultApplyResetAnalyze() {
|
|
this.isResultPause = true;
|
|
this.curAnalyzePos = 0;
|
|
this.txtResultApply = "";
|
|
|
|
this.showTip('已经重置结果应用');
|
|
|
|
},
|
|
}
|
|
})
|
|
///////////////////////////////////////////////////
|
|
|
|
|
|
//加上日志20211109
|
|
function addlog(otype, ocontent, ouser) {
|
|
var curUser = "";
|
|
if (sessionStorage['userName'] != null) {
|
|
curUser = sessionStorage['userName']
|
|
} else {
|
|
curUser = ouser
|
|
}
|
|
|
|
$.get(Gaddress + "/operatelog/addlog?ouser=" + curUser + "&otype=" + otype + "&ocontent=" + ocontent.substring(0, 2500), {})
|
|
.then(function (e) { return true })
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
|
</style>
|