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

811 lines
47 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/index.js"></script>
<!--<script src="./lib/linq.js/Content/Scripts/linq.min.js"></script>-->
<script src="Scripts/linq.js"></script>
<link href="./lib/elementui/index.css" rel="stylesheet" />
<script src="app/app.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-row>
<el-button type="primary" :loading="btnLoading[0]" round @click="changeBatchJYXM">项目分类批量替换</el-button>
<el-button type="primary" :loading="btnLoading[1]" round @click="changeProvince">省份替换</el-button>
<el-button type="primary" :loading="btnLoading[2]" round @click="changeDistrict">区县替换</el-button>
<el-button type="primary" :loading="btnLoading[3]" round @click="changeBrackets">括号替换</el-button>
</el-row>
<el-row>
<el-button type="primary" :loading="btnLoading[4]" round @click="changeCYDD">抽样地点替换</el-button>
<el-button type="primary" :loading="btnLoading[6]" round @click="changeYCD">原产地替换</el-button>
<el-button type="primary" :loading="btnLoading[7]" round @click="changeWLPTMC">网络平台名称</el-button>
<el-button type="primary" :loading="btnLoading[8]" round @click="changeJYJGJC">检验机构简称</el-button>
</el-row>
<el-row>
<el-form :inline="true" class="demo-form-inline" label-width="100px" size="small" style=" box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);padding-top:20px">
<el-form-item>
<el-select v-model="strJYXM.source.JCXM" placeholder="请动态搜索项目分类" filterable @change="showLeiXingDetail(strJYXM.source.JCXM)">
<el-option v-for="item in JYXM_Option"
:key="item.id"
:label="item.JCXM"
:value="item.JCXM">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="strJYXM.source.JCDL" :disabled="true" placeholder="检测大类"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="strJYXM.source.JCXL" :disabled="true" placeholder="检测小类"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="strJYXM.source.JCYL" :disabled="true" placeholder="检测亚类"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="btnLoading[5]" round @click="changeJYXM">项目分类单独替换</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-form :inline="true" class="demo-form-inline" label-width="100px" size="small" style=" box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);padding-top:20px">
<el-form-item>
<el-input v-model="strXMMC.source" placeholder="请输入原检验项目名称"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="strXMMC.dest" placeholder="请输入新检验项目名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="btnLoading[5]" round @click="changeXMMC">检验项目单独替换</el-button>
<el-button type="primary" :loading="btnLoading[5]" round @click="changeBatchXMMC">检验项目批量替换</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-form :inline="true" class="demo-form-inline" label-width="100px" size="small" style=" box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); padding-top: 20px">
<el-form-item>
<el-select v-model="strSPLB.type" placeholder="请选择类型" filterable >
<el-option v-for="item in SPLB_Option"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="strSPLB.source" placeholder="请输入原食品名称"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="strSPLB.dest" placeholder="请输入新食品名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="btnLoading[9]" round @click="changeSPLB">检验食品替换</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-form :inline="true" class="demo-form-inline" label-width="100px" size="small" style=" box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); padding-top: 20px">
<el-form-item>
<el-input v-model="strDXPD.source" placeholder="请输入原单项判定名称"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="strDXPD.dest" placeholder="请输入新单项判定名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="btnLoading[10]" round @click="changeDXPD">单项判定替换</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-form :inline="true" class="demo-form-inline" label-width="100px" size="small" style=" box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); padding-top: 20px">
<el-form-item>
<el-input v-model="strRWLY.source" placeholder="请输入原任务来源名称"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="strRWLY.dest" placeholder="请输入新任务来源名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="btnLoading[11]" round @click="changeRWLY">任务来源替换</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-input type="textarea"
:rows="10"
placeholder="替换操作状态提示"
v-model="textarea">
</el-input>
</el-row>
</el-main>
<el-footer>
</el-footer>
</el-container>
</div>
</body>
</html>
<script>
///////////////////////////////////////////////////
//该部分是Vue应用封装
var app = new Vue({
el: '#app',
data() {
return {
//括号的替换字典,之所有有雷同目的是左右括号分开来
//0-检验项目的替换字典
JYXMDict: [],
JYXM_Option:[], //新增的为了下拉菜单选择
//1-省的替换字典
ProvinceDict: [
{ "source": "台湾", "dest": "/" }, { "source": "江西", "dest": "江西省" }, { "source": "上海", "dest": "上海市" }, { "source": "吉林", "dest": "吉林省" },
{ "source": "安徽", "dest": "安徽省" }, { "source": "山东", "dest": "山东省" }, { "source": "河北", "dest": "河北省" },
{ "source": "河南", "dest": "河南省" }, { "source": "浙江", "dest": "浙江省" }, { "source": "辽宁", "dest": "辽宁省" }, { "source": "黑龙江", "dest": "黑龙江省" },
{ "source": "北京", "dest": "北京市" }, { "source": "天津", "dest": "天津市" }, { "source": "四川", "dest": "四川省" }, { "source": "内蒙古", "dest": "内蒙古自治区" },
{ "source": "广东", "dest": "广东省" }, { "source": "广西", "dest": "广西壮族自治区" }, { "source": "新疆", "dest": "新疆维吾尔自治区" }, { "source": "福建", "dest": "福建省" },
{ "source": "贵州", "dest": "贵州省" }, { "source": "湖北", "dest": "湖北省" }, { "source": "湖南", "dest": "湖南省" },
{ "source": "青海", "dest": "青海省" }, { "source": "重庆", "dest": "重庆市" }, { "source": "宁夏", "dest": "宁夏回族自治区" },
{ "source": "甘肃", "dest": "甘肃省" }, { "source": "山西", "dest": "山西省" }, { "source": "海南", "dest": "海南省" }, { "source": "陕西", "dest": "陕西省" }, { "source": "云南", "dest": "云南省" },
{ "source": "不详", "dest": "/" }, { "source": "国外", "dest": "/" }, { "source": "", "dest": "/" }, { "source": "null", "dest": "/" }
],
//2-区县的替换字典
DistrictDict: [
{ "source": "黄浦", "dest": "黄浦区" }, { "source": "徐汇", "dest": "徐汇区" }, { "source": "长宁", "dest": "长宁区" }, { "source": "静安", "dest": "静安区" },
{ "source": "普陀", "dest": "普陀区" }, { "source": "虹口", "dest": "虹口区" }, { "source": "杨浦", "dest": "杨浦区" }, { "source": "闵行", "dest": "闵行区" },
{ "source": "宝山", "dest": "宝山区" }, { "source": "嘉定", "dest": "嘉定区" }, { "source": "浦东", "dest": "浦东新区" }, { "source": "金山", "dest": "金山区" },
{ "source": "松江", "dest": "松江区" }, { "source": "青浦", "dest": "青浦区" }, { "source": "奉贤", "dest": "奉贤区" }, { "source": "崇明", "dest": "崇明区" },
{ "source": "淘宝网", "dest": "/" }, { "source": "", "dest": "/" }
],
//3-左右括号的替换字典
bracketsDict: [
{ "field": "SCZMC", "note": "生产者名称", "lr": 0 },
{ "field": "SCZMC", "note": "生产者名称", "lr": 1 },
{ "field": "BCYDWMC", "note": "被抽样单位地址", "lr": 0 },
{ "field": "BCYDWMC", "note": "被抽样单位地址", "lr": 1 },
{ "field": "JCXM", "note": "检验项目", "lr": 0 },
{ "field": "JCXM", "note": "检验项目", "lr": 1 },
{ "field": "SP_YL", "note": "食品亚类", "lr": 0 },
{ "field": "SP_YL", "note": "食品亚类", "lr": 1 },
{ "field": "SP_PZ", "note": "食品品种", "lr": 0 },
{ "field": "SP_PZ", "note": "食品品种", "lr": 1 },
{ "field": "SP_XL", "note": "食品小类", "lr": 0 },
{ "field": "SP_XL", "note": "食品小类", "lr": 1 },
{ "field": "BCYRMC", "note": "被抽样单位", "lr": 0 },
{ "field": "BCYRMC", "note": "被抽样单位", "lr": 1 },
{ "field": "CYDDLX", "note": "抽样地点类型", "lr": 0 },
{ "field": "CYDDLX", "note": "抽样地点类型", "lr": 1 },
{ "field": "NEWYPFL", "note": "新样品分类", "lr": 0 },
{ "field": "NEWYPFL", "note": "新样品分类", "lr": 1 }
],
//4-抽样地点类型的替换字典
CYDDDict: [
{ "source": "生产", "dest": "生产环节" },
{ "source": "流通", "dest": "流通环节" },
{ "source": "餐饮", "dest": "餐饮环节" },
{ "source": "餐馆(中型餐馆)", "dest": "中型餐馆" },
{ "source": "餐馆(大型餐馆)", "dest": "大型餐馆" },
{ "source": "餐馆(小型餐馆)", "dest": "小型餐馆" },
{ "source": "成品库(已检区)", "dest": "成品库" },
{ "source": "成品库(待检区)", "dest": "成品库" },
{ "source": "小杂食店", "dest": "小食杂店" },
{ "source": "水果店", "dest": "流通_其他" },
{ "source": "蔬菜店", "dest": "流通_其他" },
{ "source": "母婴店", "dest": "流通_其他" },
{ "source": "已检区", "dest": "成品库" },
{ "source": "待检区", "dest": "成品库" },
{ "source": "零售", "dest": "流通_其他" },
{ "source": "成品库(待检区)", "dest": "成品库" },
{ "source": "成品库(待检区)", "dest": "成品库" }
],
//5.1-批量项目名称的替换字典
XMMCDict: [
{ "source": "铅(以Pb计)", "dest": "铅" },
{ "source": "镉(以Cd计)", "dest": "镉" },
{ "source": "铬(以Cr计)", "dest": "铬" },
{ "source": "总砷(以As计)", "dest": "总砷" },
{ "source": "苯甲酸及其钠盐(以苯甲酸计)", "dest": "苯甲酸" },
{ "source": "山梨酸及其钾盐(以山梨酸计)", "dest": "山梨酸" },
{ "source": "脱氢乙酸及其钠盐(以脱氢乙酸计)", "dest": "脱氢乙酸" },
{ "source": "黄曲霉毒素M₁", "dest": "黄曲霉毒素M1" },
{ "source": "总汞(以Hg计)", "dest": "总汞" },
{ "source": "五氯酚酸钠(以五氯酚计)", "dest": "五氯酚酸钠" },
{ "source": "黄曲霉毒素B₁", "dest": "黄曲霉毒素B1" },
{ "source": "无机砷(以As计)", "dest": "无机砷" },
{ "source": "糖精钠(以糖精计)", "dest": "糖精钠" },
{ "source": "亚硝酸盐(以亚硝酸钠计)", "dest": "亚硝酸盐" },
{ "source": "丁基羟基茴香醚(BHA)", "dest": "丁基羟基茴香醚" },
{ "source": "二丁基羟基甲苯(BHT)", "dest": "二丁基羟基甲苯" },
{ "source": "特丁基对苯二酚(TBHQ)", "dest": "特丁基对苯二酚" },
{ "source": "恩诺沙星(以恩诺沙星与环丙沙星之和计)", "dest": "恩诺沙星+环丙沙星" },
{ "source": "蛋白质(N×6.25)", "dest": "蛋白质" },
{ "source": "氰化物(以HCN计)", "dest": "氰化物" },
{ "source": "土霉素/金霉素/四环素(组合含量)", "dest": "四环素+金霉素+土霉素" },
{ "source": "过氧化值(以脂肪计)", "dest": "过氧化值" },
{ "source": "酸价(以脂肪计)", "dest": "酸价" },
{ "source": "花生四烯酸", "dest": "二十碳四烯酸 " },
{ "source": "铝的残留量(干样品以Al计)", "dest": "铝" },
{ "source": "苯并a芘", "dest": "苯并[a]芘" },
{ "source": "酸价(KOH)", "dest": "酸价" },
{ "source": "酸价(以脂肪计)(KOH)", "dest": "酸价" },
{ "source": "甲基汞(以Hg计)", "dest": "甲基汞" },
{ "source": "甜蜜素(以环己基氨基磺酸计)", "dest": "甜蜜素" },
{ "source": "硝酸盐(以NaNO₃计)", "dest": "硝酸盐" },
{ "source": "二氧化硫残留量", "dest": "二氧化硫" },
{ "source": "苯并(α)芘", "dest": "苯并[a]芘" },
{ "source": "苯并芘", "dest": "苯并[a]芘" },
{ "source": "苯并[α]芘", "dest": "苯并[a]芘" },
{ "source": "多氯联苯以PCB28、PCB52、PCB101、PCB118、PCB138、PCB153和PCB180总和计)", "dest": "多氯联苯" },
{ "source": "恩诺沙星 环丙沙星", "dest": "恩诺沙星+环丙沙星" },
{ "source": "恩诺沙星(恩诺沙星与环丙沙星之和)", "dest": "恩诺沙星+环丙沙星" },
{ "source": "呋喃它酮代谢物AMOZ", "dest": "呋喃它酮代谢物" },
{ "source": "呋喃妥因代谢物AHD", "dest": "呋喃妥因代谢物" },
{ "source": "二氧化硫残留量以SO₂计)", "dest": "二氧化硫" },
{ "source": "呋喃西林代谢物SEM", "dest": "呋喃西林代谢物" },
{ "source": "呋喃唑酮代谢物AOZ", "dest": "呋喃唑酮代谢物" },
{ "source": "氟苯尼考(氟苯尼考与氟苯尼考胺之和)", "dest": "氟苯尼考+氟苯尼考胺" },
{ "source": "过氧化值(以脂肪计)KOH)", "dest": "过氧化值" },
{ "source": "过氧化值(以脂肪计)KOH", "dest": "过氧化值" },
{ "source": "过氧化值(以脂计)", "dest": "过氧化值" },
{ "source": "谷氨酸钠(以干基计)", "dest": "谷氨酸钠" },
{ "source": "磺胺类(总量)", "dest": "磺胺类(总量)" },
{ "source": "孔雀石绿(孔雀石绿系指孔雀石绿及其代谢物隐色孔雀石绿残留量之和,以孔雀石绿表示)", "dest": "孔雀石绿" },
{ "source": "孔雀石绿(以孔雀石绿及代谢物隐色孔雀石绿残留量之和计)", "dest": "孔雀石绿" },
{ "source": "孔雀石绿(以孔雀石绿及隐色孔雀石绿之和计)", "dest": "孔雀石绿" },
{ "source": "孔雀石绿(以孔雀石绿与隐色孔雀石绿之和)", "dest": "孔雀石绿" },
{ "source": "孔雀石绿(以孔雀石绿与隐色孔雀石绿之和计)", "dest": "孔雀石绿" },
{ "source": "孔雀石绿及其代谢物隐色孔雀石绿残留量之和(以孔雀石绿表示)", "dest": "孔雀石绿" },
{ "source": "亮蓝及其铝色淀(以亮蓝计)", "dest": "亮蓝" },
{ "source": "亮蓝及其铝色淀(以亮蓝计)", "dest": "亮蓝" },
{ "source": "铝的残留量以即食海蜇中Al计)", "dest": "铝" },
{ "source": "霉菌和酵母(口服液)", "dest": "霉菌和酵母" },
{ "source": "柠檬黄及其铝色淀(以柠檬黄计)", "dest": "柠檬黄" },
{ "source": "檬黄及其铝色淀(以柠檬黄计)", "dest": "柠檬黄" },
{ "source": "铅·以Pb计)", "dest": "铅" },
{ "source": "铅Pb)", "dest": "铅" },
{ "source": "铅Pb)(胶囊)", "dest": "铅" },
{ "source": "铅Pb)(口服液)", "dest": "铅" },
{ "source": "铅Pb", "dest": "铅" },
{ "source": "氰戊菊酯和 S-氰戊菊酯", "dest": "氰戊菊酯和S-氰戊菊酯" },
{ "source": "日落黄及其铝色淀(以日落黄计)", "dest": "日落黄" },
{ "source": "日落黄及其铝色淀(以日落黄计)", "dest": "日落黄" },
{ "source": "叔丁基羟基茴香醚BHA", "dest": "叔丁基羟基茴香醚" },
{ "source": "四环素 金霉素 土霉素", "dest": "四环素+金霉素+土霉素" },
{ "source": "苏丹红I", "dest": "苏丹红Ⅰ" },
{ "source": "酸价以KOH计)", "dest": "酸价" },
{ "source": "酸性红(又名偶氮玉红)", "dest": "酸性红" },
{ "source": "酸值KOH)", "dest": "酸值" },
{ "source": "酸值(以氢氧化钾计)", "dest": "酸值" },
{ "source": "酸值(以氢氧化钾计)", "dest": "酸值" },
{ "source": "甜蜜素(以环已基氨基磺酸计)", "dest": "甜蜜素" },
{ "source": "维生素K₁", "dest": "维生素K1" },
{ "source": "维生素B₆", "dest": "维生素B6" },
{ "source": "维生素B₂", "dest": "维生素B2" },
{ "source": "维生素B₁₂", "dest": "维生素B12" },
{ "source": "维生素B₁", "dest": "维生素B1" },
{ "source": "锡以Sn计)", "dest": "锡" },
{ "source": "苋菜红及其铝色淀(以苋菜红计)", "dest": "苋菜红" },
{ "source": "硝酸盐以NaNO₃计)", "dest": "硝酸盐" },
{ "source": "新红及其铝色淀(以新红计)", "dest": "新红" },
{ "source": "胭脂红及其铝色淀(以胭脂红计)", "dest": "胭脂红" },
{ "source": "胭脂红及其铝色淀(以胭脂红计)", "dest": "胭脂红" },
{ "source": "亚硝酸盐以NO₂⁻计)", "dest": "亚硝酸盐" },
{ "source": "亚硝酸盐以NaNO₂计)", "dest": "亚硝酸盐" },
{ "source": "诱惑红及其铝色淀(以诱惑红计", "dest": "诱惑红" },
{ "source": "诱惑红及其铝色淀(以诱惑红计)", "dest": "诱惑红" },
{ "source": "诱惑红及其铝色淀(以诱惑红计)", "dest": "诱惑红" },
{ "source": "余氯(游离氯)", "dest": "余氯(游离氯)" },
{ "source": "总汞(以甲基汞限量判定)", "dest": "总汞" },
{ "source": "总汞Hg)(胶囊)", "dest": "总汞" },
{ "source": "总砷As)(胶囊)", "dest": "总砷" },
{ "source": "总砷As)(口服液)", "dest": "总砷" },
{ "source": "余氯(游离氯)", "dest": "游离性余氯" },
{ "source": "金黄色葡萄球菌(口服液)", "dest": "金黄色葡萄球菌" },
{ "source": "菌落总数(口服液)", "dest": "菌落总数" },
{ "source": "复原乳酸度", "dest": "酸度" },
{ "source": "大肠菌群(口服液)", "dest": "大肠菌群" },
{ "source": "赤藓红及其铝色淀(以赤藓红计)", "dest": "赤藓红" },
{ "source": "丙酸及其钠盐、钙盐(以丙酸计)", "dest": "丙酸" },
{ "source": "氨基酸态氮(以氮计)", "dest": "氨基酸态氮" },
{ "source": "铵盐(以占氨基酸态氮的百分比计)", "dest": "铵盐" },
{ "source": "6-苄基腺嘌呤6-BA", "dest": "6-苄基腺嘌呤" },
{ "source": "4-氯苯氧乙酸钠以4-氯苯氧乙酸计)", "dest": "4-氯苯氧乙酸" },
{ "source": "长链不饱和脂肪酸中二十碳五烯酸20:5 n-3)的量与二十二碳六烯酸的量的比", "dest": "长链不饱和脂肪酸中二十碳五烯酸的量与二十二碳六烯酸的量的比" },
{ "source": "多西环素(强力霉素)", "dest": "多西环素,多西环" },
{ "source": "二十二碳六烯酸22:6 n-3)与二十碳四烯酸20:4 n-6)的比", "dest": "二十二碳六烯酸与二十碳四烯酸的比" }
],
//6-原产地的替换字典(通过网络获取)
YCDDict: [],
//7-网络平台名称的替换字典
WLPTMCDict: [
{ "source": "京东", "dest": "京东" },
{ "source": "天猫", "dest": "天猫" },
{ "source": "淘宝", "dest": "淘宝" },
{ "source": "一号店", "dest": "一号店" },
{ "source": "盒马", "dest": "盒马" },
{ "source": "饿了么", "dest": "饿了么" },
{ "source": "美团", "dest": "美团" },
{ "source": "大众点评", "dest": "大众点评" },
{ "source": "苏宁易购", "dest": "苏宁易购" },
{ "source": "易果生鲜", "dest": "易果生鲜" },
{ "source": "飞牛", "dest": "飞牛" },
{ "source": "顺丰优选", "dest": "顺丰优选" },
{ "source": "东方CJ", "dest": "东方CJ" },
{ "source": "菜管家", "dest": "菜管家" },
{ "source": "我厨网", "dest": "我厨网" },
{ "source": "我买网", "dest": "我买网" },
{ "source": "当当网", "dest": "当当网" },
{ "source": "天翌", "dest": "天翌" },
{ "source": "百联", "dest": "百联" },
{ "source": "麦德龙", "dest": "麦德龙" },
{ "source": "翌恒", "dest": "翌恒" },
{ "source": "天天果园", "dest": "天天果园" },
{ "source": "美味七七", "dest": "美味七七" },
{ "source": "一米市集", "dest": "一米市集" },
{ "source": "本来生活", "dest": "本来生活" },
{ "source": "良品铺子", "dest": "良品铺子" },
{ "source": "亚马逊", "dest": "亚马逊" }
],
//8-检验机构简称的替换字典
JYJGJCDict: [
{ "source": "上海中维检测技术有限公司", "dest": "上海中维" },
{ "source": "上海市疾病预防控制中心", "dest": "市疾控" },
{ "source": "上海市营养食品质量监督检验站", "dest": "营养站" },
{ "source": "上海市水产品质量监督检验站", "dest": "上海水产站" },
{ "source": "上海师范大学分析测试中心", "dest": "上师大测试中心" },
{ "source": "上海市农业科学院农产品质量标准与检测技术研究所", "dest": "上海农科院" },
{ "source": "上海出入境检验检疫局动植物与食品检验检疫技术中心", "dest": "上海海关" },
{ "source": "中国检验认证集团上海有限公司", "dest": "中检上海" },
{ "source": "上海市农药研究所有限公司", "dest": "农药所" },
{ "source": "上海必诺检测技术服务有限公司", "dest": "必诺" },
{ "source": "福建省产品质量检验研究院", "dest": "福建质检院" },
{ "source": "复旦大学分析测试中心", "dest": "复旦测试中心" },
{ "source": "上海格瑞产品检测有限公司", "dest": "格瑞" },
{ "source": "中国疾病预防控制中心寄生虫病预防控制所", "dest": "中疾控寄生虫所" },
{ "source": "深圳出入境检验检疫局食品检验检疫技术中心", "dest": "深圳海关" },
{ "source": "谱尼测试集团上海有限公司", "dest": "谱尼上海" },
{ "source": "上海市粮油制品质量监督检验站", "dest": "粮油站" },
{ "source": "上海华测品标检测技术有限公司", "dest": "上海华测" },
{ "source": "品测(上海)检测科技有限公司", "dest": "品测" },
{ "source": "上海市食品药品包装材料测试所", "dest": "包材所" },
{ "source": "农业部水产品质量监督检验测试中心(上海)", "dest": "部水产上海" },
{ "source": "普研(上海)标准技术服务股份有限公司", "dest": "普研" },
{ "source": "上海实力可商品检验有限公司", "dest": "上海实力可" },
{ "source": "上海德诺产品检测有限公司", "dest": "德诺" },
{ "source": "复旦大学公共卫生学院", "dest": "复旦公卫" },
{ "source": "上海市食品药品检验所", "dest": "上海华测" },
{ "source": "上海华测品标检测技术有限公司", "dest": "上海药检所" },
{ "source": "宁波海关技术中心", "dest": "宁波海关" },
{ "source": "深圳市计量质量检测研究院", "dest": "深圳计量院" },
{ "source": "农业部水产品质量监督检验测试中心(上海)", "dest": "部水产上海" },
{ "source": "上海市粮油制品质量监督检疫站", "dest": "粮油站" }
],
//提示内容显示
textarea: "",
//等待提示
loading: false,
btnLoading: [false, false, false, false, false, false, false, false, false, false, false, false],
//正在进行实时更新替换, 大约需要30秒钟至几分钟不等, 请等待...
showLoadingTip: '系统正在操作中,请耐心的等待...',
//下拉框部分
SPLB_Option: [{
value: '1',
label: '食品大类'
}, {
value: '2',
label: '食品亚类'
}, {
value: '3',
label: '食品品种'
}, {
value: '4',
label: '食品小类'
}],
//检验项目替换(单) 新增20220809Add
strJYXM: { "source":{"JCDL":"","JCXL":"","LCYL":"","JCXM":""}, "dest": "", "type": "" },
//项目名称替换(单)
strXMMC: { "source": "", "dest": "", "type": "" },
//食品类别名称替换(单)
strSPLB: { "source": "", "dest": "", "type": "" },
//单项判定
strDXPD: { "source": "", "dest": "", "type": "" },
//任务来源
strRWLY: { "source": "", "dest": "", "type": "" },
}
},
mounted() {
var _this = this; //this指向vue
Vue.prototype.$loading = this.loading
axios.interceptors.response.use((response) => {
//debugger
console.log('正确的返回情况头数据',response.status)
return response;
}, function (error) {
console.log('错误的返回情况头数据',response.status)
// if (401 === error.response.status) {
// window.location = '/login';
// } else {
// return Promise.reject(error);
// }
});
_this.loading = true;
debugger;
let sendArr = [
axios.get('./strReplace/GetYCDArray'), //获取原产地的列表数组
axios.get('./JCXMNEW/GetAllJXCM') //从MongoDB里面获取需要进行检测大类亚类小类数据替换,项目分类替换按钮
]
axios.all(sendArr).then(axios.spread(function (resYCDArray, resJYXMArray) {
//先进行原产地部分的数据生成
for (var i = 0; i < resYCDArray.data.data.length; i++) {
_this.YCDDict.push({ "source": resYCDArray.data.data[i], "dest": resYCDArray.data.data[i] })
}
//原产地部分的数据再增加一个判断null的对象,因为后台接口需要此对象
_this.YCDDict.push({ "source": "null", "dest": "null" })
console.log(_this.YCDDict);
//然后进行项目分类的数据生成:
var i = 1;
var curIndex = 1; //这个是为了下拉框能够键值唯一增加的
var isMongoJCXM = false; //改造成如果使用mongodb的方式就为true否则为false,使用SQLSERVER改造的数据集
if (isMongoJCXM) {
var data = JSON.parse(resJYXMArray.data);
for (var i = 0; i < data.length; i++) {
var dataj = data[i].JCYL;
for (var j = 0; j < dataj.length; j++) {
var datak = dataj[j].JCXMXIAOLEI;
for (var k = 0; k < datak.length; k++) {
var datal = datak[k].JCXM;
for (var l = 0; l < datal.length; l++) {
var jianyanxiangmu = {
"JCDL": data[i].JCDL,
"JCYL": dataj[j].name,
"JCXL": datak[k].name,
"JCXM": datal[l].name,
"id": curIndex
}
curIndex++;
_this.JYXMDict.push({"source": JSON.stringify(jianyanxiangmu), "dest": ""});
//这个是为了下拉菜单好操作专门增加的内容220809Add
_this.JYXM_Option.push(jianyanxiangmu);
}
}
}
}
} else {
// _this.JYXMDict.push({ "source": JSON.stringify(jianyanxiangmu), "dest": "" });
//_this.JYXM_Option = resJYXMArray.data.data;
resJYXMArray.data.data.forEach(function (item, index) {
//console.log(item); //输出数组的每一个元素
_this.JYXMDict.push({"source": JSON.stringify(item), "dest": ""});
//这个是为了下拉菜单好操作专门增加的内容220809Add
_this.JYXM_Option.push(item);
});
}
console.log('JYXMDict', _this.JYXMDict);
console.log('JYXM_Option', _this.JYXM_Option);
_this.loading = false;
}));
},
methods: {
//显示进度内容
addNote(str) {
var aData = new Date().toLocaleString();;
this.textarea = aData + " " + str + '\r\n' + this.textarea;
},
//显示提示信息
showTip(strmessage) {
this.$message({
message: strmessage,
type: 'warning'
});
},
// btnid=当前按钮数组编号,dict=当前的字典,apiname=当前的访问接口名称,desc=当前的接口字段的中文描述
PublicChange(btnid, dict, apiname, desc) {
var _this = this; //this指向vue
_this.loading = true;
_this.btnLoading[btnid] = true;
_this.addNote("开始进行" + desc + "替换操作,共有" + dict.length + "个操作需要等待");
(async () => {
for (var i = 0; i < dict.length; i++) {
await axios({
url: "./strReplace/" + apiname + "?source=" + dict[i].source + "&dest=" + dict[i].dest
}).then((res) => {
_this.addNote("第" + (i + 1).toString() + "/" + dict.length + "个完成," + res.data.data);
console.log(res);
if (i == (dict.length - 1)) {
_this.addNote("此次" + desc + "替换操作全部完成,谢谢使用!");
_this.loading = false;
_this.btnLoading[btnid] = false;
}
});
}
})();
},
//单个替换的操作,dict格式为{"source":"","dest":"","type":""}
SingleChange(btnid, dict, apiname, desc) {
var _this = this; //this指向vue
_this.loading = true;
_this.btnLoading[btnid] = true;
_this.addNote("开始进行" + desc + "替换操作,请等待");
var curUrl = "./strReplace/" + apiname + "?source=" + dict.source + "&dest=" + dict.dest;
if (dict.type != "") {
curUrl = curUrl + "&type=" + dict.type
}
(async () => {
await axios({
url: curUrl
}).then((res) => {
console.log(res);
_this.addNote("此次" + desc + "替换操作完成," + res.data.data + "谢谢使用!");
_this.loading = false;
_this.btnLoading[btnid] = false;
});
})();
},
//0-替换项目分类
changeBatchJYXM() {
this.PublicChange(0, this.JYXMDict, "ReplaceJYXMWithDict", "项目分类")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[项目分类]")
},
//0.1-替换单个项目分类
changeJYXM() {
if (this.strJYXM.source == "") {
this.showTip("请输入需要刷新的项目分类名称!")
return;
}
this.SingleChange(5, { "source": JSON.stringify(this.strJYXM.source), "dest": "", "type": "" }, "ReplaceJYXMWithDict", "项目分类")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[项目分类]")
},
//0.2-项目分类关联显示
showLeiXingDetail(e) {
console.log('strJYXM.source', this.strJYXM.source.JCXM)
//let curJYXMSel = Enumerable.From(this.JYXM_Option).Where(function (x) { return x.JCXM == this.strJYXM.source.JCXM }).ToArray();
let curJYXMSel = Enumerable.From(this.JYXM_Option).Where(function (x) { return x.JCXM == e }).First();
console.log('curJYXMSel', curJYXMSel);
this.strJYXM.source.JCDL = curJYXMSel.JCDL;
this.strJYXM.source.JCXL = curJYXMSel.JCXL;
this.strJYXM.source.JCYL = curJYXMSel.JCYL;
},
//1-替换省份
changeProvince() {
this.PublicChange(1, this.ProvinceDict, "ReplaceProvinceWithDict", "省份")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[省份]")
},
//2-替换区县
changeDistrict() {
this.PublicChange(2, this.DistrictDict, "ReplaceDistrictWithDict", "区县")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[区县]")
},
//3-替换括号方法
changeBrackets() {
var _this = this; //this指向vue
_this.loading = true;
_this.btnLoading[3] = true;
_this.addNote("开始进行括号替换操作,共有" + _this.bracketsDict.length + "个操作需要等待");
(async () => {
for (var i = 0; i < _this.bracketsDict.length; i++) {
await axios({
url: "./strReplace/ReplaceBracketsWithDict?field=" + _this.bracketsDict[i].field + "&note=" + _this.bracketsDict[i].note + "&lr=" + _this.bracketsDict[i].lr
}).then((res) => {
_this.addNote("第" + (i + 1).toString() + "/" + _this.bracketsDict.length + "个完成," + res.data.data);
console.log(res);
if (i == (_this.bracketsDict.length - 1)) {
_this.addNote("此次括号替换操作全部完成,谢谢使用!");
_this.loading = false;
_this.btnLoading[3] = false;
}
});
}
})();
//增加日志20211109
addlog("SQL查询", "修改数据_替换[括号]")
},
//4-替换抽样地点方法
changeCYDD() {
this.PublicChange(4, this.CYDDDict, "ReplaceCYDDWithDict", "抽样地点")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[抽样地点]")
},
//5-替换项目名称方法(单个)
changeXMMC() {
if (this.strXMMC.source == "" || this.strXMMC.dest == "") {
this.showTip("请输入旧项目名称以及新项目名称!")
return;
}
this.SingleChange(5, { "source": this.strXMMC.source, "dest": this.strXMMC.dest, "type": "" }, "ReplaceXMMCWithDict", "项目名称")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[项目名称]")
},
//5.1-批量替换项目名称方法(多个循环)
changeBatchXMMC() {
//var _this = this; //this指向vue
//_this.loading = true;
//_this.btnLoading[5] = true;
//_this.addNote("开始进行批量替换项目名称操作,共有" + _this.XMMCDict.length + "个操作需要等待");
//this.SingleChange(5, { "source": this.strXMMC.source, "dest": this.strXMMC.dest, "type": "" }, "ReplaceXMMCWithDict", "项目名称")
this.PublicChange(5, this.XMMCDict, "ReplaceXMMCWithDict", "项目名称")
//增加日志20211109
addlog("SQL查询", "修改数据_批量替换[项目名称]")
},
//6-替换原产地
changeYCD() {
this.PublicChange(6, this.YCDDict, "ReplaceYCDWithDict", "原产地")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[原产地]")
},
//7-替换网络平台名称
changeWLPTMC() {
this.PublicChange(7, this.WLPTMCDict, "ReplaceWLPTMCWithDict", "网络平台名称")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[网络平台名称]")
},
//8-替换检验机构简称
changeJYJGJC() {
this.PublicChange(8, this.JYJGJCDict, "ReplaceJYJGJCWithDict", "检验机构简称")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[检验机构简称]")
},
//9-替换食品类别名称(单个多一个参数)
changeSPLB() {
if (this.strSPLB.source == "" || this.strSPLB.dest == "" || this.strSPLB.type == "") {
this.showTip("请选择类型并且输入旧食品类别名称以及新食品类别名称!")
return;
}
this.SingleChange(9, { "source": this.strSPLB.source, "dest": this.strSPLB.dest, "type": this.strSPLB.type }, "ReplaceSPLBWithDict", "食品类别名称")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[食品类别名称 " + this.strSPLB.source + "|" + this.strSPLB.dest + "|" + this.strSPLB.type + "]")
},
//10-替换单项判定(单个)
changeDXPD() {
if (this.strDXPD.source == "" || this.strDXPD.dest == "") {
this.showTip("请输入旧单项判定以及新单项判定!")
return;
}
this.SingleChange(9, { "source": this.strDXPD.source, "dest": this.strDXPD.dest, "type": "" }, "ReplaceDXPDWithDict", "单项判定")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[单项判定 " + this.strDXPD.source + "|" + this.strDXPD.dest + "]")
},
//11-替换任务来源(单个)
changeRWLY() {
if (this.strRWLY.source == "" || this.strRWLY.dest == "") {
this.showTip("请输入旧任务来源以及新任务来源!")
return;
}
this.SingleChange(9, { "source": this.strRWLY.source, "dest": this.strRWLY.dest, "type": "" }, "ReplaceRWLYWithDict", "任务来源")
//增加日志20211109
addlog("SQL查询", "修改数据_替换[任务来源 " + this.strRWLY.source + "|" + this.strRWLY.dest + "]")
}
}
})
///////////////////////////////////////////////////
//加上日志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>
.el-header, .el-footer {
background-color: #B3C0D1;
color: #333;
text-align: center;
line-height: 60px;
}
/* .el-aside {
background-color: #D3DCE6;
color: #333;
text-align: center;
line-height: 200px;
}*/
.el-main {
background-color: #E9EEF3;
color: #333;
text-align: center;
line-height: 56px;
}
.el-button{
min-width:200px;
}
body > .el-container {
margin-bottom: 40px;
}
/* .el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
}
.el-container:nth-child(7) .el-aside {
line-height: 320px;*/
}