// JavaScript source code /////////////////////////////////////////////////// //该部分是Vue应用封装 var Gaddress = localStorage.getItem("Gaddress") var pubserver = localStorage.getItem("pubserver") var mongoApi = localStorage.getItem("mongoApi") var app = new Vue({ el: '#app', data() { return { //=====================第四步的相关参数开始=================== fourth_data: [], fourth_data_result: [], textarea_fourth: "", AnalyzeList: [ {label: '未分析', value: 0}, {label: '智能修改', value: 2}, {label: '智能推荐', value: 3} ], //当前第四步运行分析的位置 curFourthAnalyzePos: 0, curFourthAnalyzePos_Display: 1, //是否第四步是暂停状态 isFourthPause: false, //=============第四步的相关参数结束================ //向导页目前的第几页 activeName: 'first', //需要处理的年份 curYear: '', //提示内容显示 textarea: "", searchJson: {'ypmc': '', 'sp_dl': '', 'years': []}, searchYearTempJson: {'ypmc': '', 'sp_dl': ''}, //等待提示 loading: false, showtip: '', btnLoading: [false, false, false, false, false, false, false, false, false, false, false, false], //正在进行实时更新替换, 大约需要30秒钟至几分钟不等, 请等待... showLoadingTip: '系统正在操作中,请耐心的等待...', //第一步的下拉菜单 First_SelYPMC: '', First_SelYPMCs: [], First_SelDaLei: '', First_SelDaLeis: [], Classify_currentPage: 1, //初始页_历史数据库 Classify_pagesize: 5, //每页的数据_历史数据库 YearTemp_currentPage: 1, //初始页_年临时数据库 YearTemp_pagesize: 5, //每页的数据_年临时数据库 Result_currentPage: 1, //初始页_结果数据库 Result_pagesize: 5, //每页的数据_结果数据库 //是否在分析的时候就自动更新大类,小类的数据 chkAutoUpdate:true, //当前运行分析的位置 curAnalyzePos: 0, curAnalyzePos_Display:1, //是否是暂停状态 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.GetDistinctYPMC(); this.GetDistinctDaLei(); _this.loading = false; }, methods: { //新的第四步应用操作 AA(row, rowIndex) { //alert(index); //row.masterID = rowIndex; console.log('devset', row); //this.fourth_data[rowIndex].SP_DL="测试" //layer.msg('待开发中,等前面推荐分析的流程确认可以再进行该替换功能开发...') //return; var _this = this; layer.confirm('您确定采纳该推断并且全部替换?', { btn: ['确定', '取消'] //按钮 }, function (index) { if (this.curYear == "") { layer.msg('请到第二步选择需要整体更新的年份!') } axios.get(Gaddress + '/Classify/ApplyFourthResult?strResult=' + JSON.stringify(row) + '&strMain=' + JSON.stringify(_this.fourth_data[rowIndex]) + '&RWNF=' + _this.curYear).then((res) => { console.log('apply_result', res.data); //再加个日志记录 addlog("智能替换", "原数据[" + JSON.stringify(row) + "],SQL命令[" + res.data.logsql+"]") _this.fourth_data[rowIndex].SP_DL = res.data.data.SP_DL _this.fourth_data[rowIndex].SP_YL = res.data.data.SP_YL _this.fourth_data[rowIndex].SP_PZ = res.data.data.SP_PZ _this.fourth_data[rowIndex].SP_XL = res.data.data.SP_XL _this.fourth_data[rowIndex].EditTime = res.data.data.EditTime layer.msg('采纳成功!') }) }) }, BB(row) { console.log('row.EditTime', row.EditTime); if (row.EditTime == null) { layer.msg('请先采纳最佳推荐!') return; } }, //向导页设置 handleClick(tab, event) { console.log(tab, event); if (tab.index == "0") { this.GetDistinctDaLei(); } }, 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 }, //第四步的修改推荐结果弹出框操作 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: Gaddress + '/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 if (_this.searchJson.years.length <= 0) { layer.msg('您至少需要选择一个年份进行构建背景库数据生成'); return; } layer.confirm('您确定重新构建内容?', { btn: ['确定', '取消'] //按钮 }, function (index) { _this.loading = true; _this.showTip('数据正在重新构建,请等待...'); (async () => { await axios({ url: Gaddress + '/Classify/GenerateClassifyDict', params: {years: _this.searchJson.years.join(',')} }).then((res) => { console.log(res); layer.msg("生成构建背景库数据成功"); //_this.addNote("此次" + desc + "替换操作完成," + res.data.data + "谢谢使用!"); //_this.search(); _this.loading = false; //_this.btnLoading[btnid] = false; }); })(); }, function () { }); }, //第一步的获取样品名称下拉菜单的数据 GetFirstDynamicDistinctYPMC(query) { _this = this; axios({ url: "./Classify/GetFirstDynamicDistinctYPMC?str=" + query }).then((res) => { console.log('GetFirstDynamicDistinctYPMC', res.data.data) //全部结果 _this.First_SelYPMCs = []; _this.First_SelYPMCs = res.data.data; console.log(' _this.First_SelYPMCs', _this.First_SelYPMCs); }); }, //第一步的获取大类的下拉菜单的数据 GetDistinctDaLei() { _this = this; axios({ url: "./Classify/GetDistinctDaLei" }).then((res) => { console.log('GetDistinctDaLei', res.data.data) //全部结果 _this.First_SelDaLeis = []; _this.First_SelDaLeis = res.data.data; console.log(' _this.First_SelDaLeis', _this.First_SelDaLeis); }); }, //第一步的查询生成的基础分析数据库 SearchClassify() { console.log('this.searchJson', this.searchJson.ypmc) _this = this; //this.GetDistinctDaLei(); layui.use(['table', 'util'], function () { var table = layui.table; var util = layui.util; table.render({ elem: '#ClassifyTable' , url: Gaddress + '/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: Gaddress + '/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)); }); }); }, //第二步的需要分类的数据缓存操作 GenerateYearTempNew() { var _this = this; //this指向vue layer.confirm('您确定重新构建内容?', { btn: ['确定', '取消'] //按钮 }, function () { _this.loading = true; _this.showTip('年份数据正在重新构建,请等待...'); (async () => { await axios({ url: Gaddress + '/Classify/GenerateYearTempDictNew?RWNF=' + $('#curYear').val() + '&SP_DL=' + $('#second_sp_dl').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 () { }); }, //第二步的实时年度准备操作数据的查询 SearchYearReady() { layui.use('table', function () { var table = layui.table; table.render({ elem: '#YearTempTable' , url: Gaddress + '/Classify/GetYearDataReady' , where: {'RWNF': $('#curYear').val(), 'SP_DL': $('#second_sp_dl').val()} , parseData: function (res) { //res 即为原始返回的数据 return { "code": res.code, "data": res.data, //解析数据列表 "count": res.count }; } , height: 500 , cols: [[ {field: 'JC_id', width: 100, align: 'center', title: '编号', sort: true} , { field: 'YPMC', width: '16%', align: 'center', title: '样品名称', sort: true, edit: 'text' } , { field: 'SP_DL', width: '16%', align: 'center', title: '食品大类', sort: true, edit: 'text' } , { field: 'SP_YL', width: '16%', align: 'center', title: '食品亚类', sort: true, edit: 'text' } , { field: 'SP_XL', width: '16%', align: 'center', title: '食品细类', sort: true, edit: 'text' } , { field: 'SP_PZ', width: '16%', 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 () { // }); //}); }); }, //第二步的查询生成的年度临时库,已经弃用 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: Gaddress + '/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: Gaddress + '/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 () { }); }); }); }, //第三步的全局同步最新分类库 //pubserver UpgradeFenLeiKu() { layer.msg('开始操作导出,请等待'); alert("将导食品分类数据到SQLSERVER数据库"); let curData = [];//定义初始化数据集 //第一个网络访问,获取所有数据 axios.get(pubserver + 'SPLB_DB').then((res) => { res.data.value.forEach(function (datanf, index) { if (datanf.Pid == "Z3000") { datanf.Json.forEach(function (datadl, index) { datadl.SPYL.forEach(function (datayl) { datayl.SPZL.forEach(function (datazl) { datazl.SPXL.forEach(function (dataxl) { var JCXMJson = { "SP_DL": datadl.SPDL, "SP_YL": datayl.name, "SP_PZ": datazl.name, "SP_XL": dataxl.name, "isUse": dataxl.typeName } if (Enumerable.From(curData).Where(function (x) { return x.食品大类 == datadl.SPDL && x.食品亚类 == datayl.name && x.食品小类 == datazl.name && x.食品细类 == dataxl.name; }).ToArray().length == 0 ) { //只有当查找之后发现不存在的这条数据才会进行记录并且导出 curData.push(JCXMJson); } }) }) }) }) } }) //第二个网络访问,提交数据 console.log('curdata', curData) axios.post(Gaddress + '/Classify/ExportFenLei', {strJson: JSON.stringify(curData)}).then(function (res) { console.log(res); //dLaye.msg(res.data.msg) layer.msg('操作完成[' + res.data.msg + ']'); }) }) }, //第三步获取准备分析的数据 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; _this.curAnalyzePos_Display = i+1; console.log('_this.YearTempDataReady[i].SP_DL', _this.YearTempDataReady[i].SP_DL) await axios({ url: "./Classify/GetClassifyCompare_ExportFenLeiBase?YPMC=" + _this.YearTempDataReady[i].YPMC + "&SP_DL=" + _this.YearTempDataReady[i].SP_DL + "&SP_YL=" + _this.YearTempDataReady[i].SP_YL + "&SP_XL=" + _this.YearTempDataReady[i].SP_XL + "&SP_PZ=" + _this.YearTempDataReady[i].SP_PZ }).then((res) => { if (res.data.count > 0) { //历史库修改 _this.EnsureTableData.push(res.data.data) } else { debugger; _this.UnsureTableData.push({ 'ypmc': _this.YearTempDataReady[i].YPMC, 'sp_dl': _this.YearTempDataReady[i].SP_DL, 'sp_yl': _this.YearTempDataReady[i].SP_YL, 'sp_xl': _this.YearTempDataReady[i].SP_XL, 'sp_pz': _this.YearTempDataReady[i].SP_PZ, 'AnalyzeJson': '' }) //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.curAnalyzePos_Display = 1; this.textarea = ""; this.YearTempDataReady = []; this.EnsureTableData = []; this.UnsureTableData = []; this.showTip('已经重置操作'); }, //新的第四步获取需要智能分析及推荐的数据 GetFourthAnalyzeData() { this.fourth_data = [] this.fourth_data_result=[] axios.get("./classify/GetFourth_AnalyzeData").then(res => { console.log('this.fourth_data', res.data.data); this.fourth_data = res.data.data; this.fourth_data.forEach((res, index) => { if (res.AnalyzeJson != null) { this.fourth_data_result.push(JSON.parse(res.AnalyzeJson).slice(0, 10)) } else { this.fourth_data_result.push([]) } }) //console.log('rrrr,AnalyzeJson', this.fourth_data_result); this.addFourthNote("获取当前的待处理数据完成,共有" + this.fourth_data.length + '条数据需要处理'); }) }, //新的第四步表格数据格式化 formatterAnalyzeStatus({ cellValue }) { let item = this.AnalyzeList.find(item => item.value === cellValue) return item ? item.label : '' }, //新的第四步的显示进度内容 addFourthNote(str) { var aData = new Date().toLocaleString(); this.textarea_fourth = aData + " " + str + '\r\n' + this.textarea_fourth; }, //新的第四步进行智能比对操作 StartFourthAnalyze() { //首先判断目前是否已经加载需要的所有的准备数据 var _this = this; //this指向vue if (_this.fourth_data.length <= 0) { _this.addFourthNote("请先点击获取需要智能分析的数据"); return; } _this.isFourthPause = false; i = 0; (async () => { for (var i = _this.curFourthAnalyzePos; i < _this.fourth_data.length; i++) { //如果发现按了暂停 if (_this.isFourthPause == true) { return; } _this.curFourthAnalyzePos = i; _this.curFourthAnalyzePos_Display = i+1; //console.log ('_this.fourth_data[i].YPMC', _this.fourth_data[i].YPMC, _this.fourth_data[i].SP_DL) //设置背景库的比对,如果有就提醒出来 await axios({ url: "./Classify/GetAnalyzeFromBeiJingKu?id=" + _this.fourth_data[i].ID + "&YPMC=" + _this.fourth_data[i].YPMC + "&SP_DL=" + _this.fourth_data[i].SP_DL }).then((res) => { console.log('test_GetAnalyzeFromBeiJingKu', res); if (res.data.count > 0) { //增加到界面表格数据 _this.fourth_data_result[i] = JSON.parse(res.data.data.analyzejson) //再做个显示确认按钮 } else { axios({ url: "./Classify/GetZhiNengFenLei?id=" + _this.fourth_data[i].ID +"&strQuery=" + _this.fourth_data[i].YPMC + "&YPMC=" + _this.fourth_data[i].YPMC + "&SP_DL=" + _this.fourth_data[i].SP_DL }).then((res_es) => { //console.log('res_es.data', res_es.data.data.AnalyzeJson) //推荐库修改 _this.fourth_data_result[i] = JSON.parse(res_es.data.data.analyzejson); }); } _this.addFourthNote("第" + (i + 1).toString() + "/" + _this.fourth_data.length + "个完成," + ((res.data.count > 0) ? "背景库对应" : "智能推荐")); console.log(res); if (i == (_this.fourth_data.length - 1)) { _this.addFourthNote("此次智能分析操作全部完成,请点击[获取需要推荐数据]按钮进行数据结果刷新,谢谢使用!"); console.log('_this.fourth_data_result', _this.fourth_data_result); _this.loading = false; layer.msg('智能推荐分析已经完成,会按照评分机制进行排序,请点击[分析查看]按钮进行查看推荐并应用满足条件的结果!', { time: 0 //不自动关闭 ,icon: 6 , btn: ['确定'] , yes: function (index) { _this.GetFourthAnalyzeData() layer.close(index); } }); //_that = _this; //setTimeout(_that.GetFourthAnalyzeData(), 5000); } }); } })(); }, //新的第四步暂停操作 PauseFourthAnalyze() { this.isFourthPause = true; this.showTip('已经暂停分析'); }, //新的第四步初始化操作 ResetFourthAnalyze() { this.isFourthPause = true; this.curFourthAnalyzePos = 0; this.textFourtharea = ""; this.fourth_data = []; this.fourth_data_result = []; this.textarea_fourth = ""; this.curFourthAnalyzePos = 0; this.curFourthAnalyzePos_Display = 1; //this.EnsureTableData = []; //this.UnsureTableData = []; this.showTip('已经重置操作'); }, //新的第四步的智能分析模型更新-动态智能数据ES的增量构建 UpgradeFenXiMoXing() { layer.msg('开始智能分析模型更新,请等待'); axios.post(Gaddress + '/Classify/SetElasticImport').then(function (res) { console.log(res); //dLaye.msg(res.data.msg) if (res.data.data == 200) { layer.msg('智能分析模型更新操作完成[' + res.data.msg + ']'); } else { layer.msg('智能分析模型更新操作需要检查!'); } }) }, //第四步的标头显示 headerCellClassName({ column, columnIndex }) { //if (column.property === 'name') { // return 'col-blue' //} return 'col-blue' }, handleFourthAnalyzeChange() { console.log('changefourthmain'); }, //第四步获取推断的结论设置,加了一个刷新是否回到第一页的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.curAnalyzePos_Display = 1; 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 }) }