src/assets/api/controller.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/do/b1-ins-order/add.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/do/b1-inspect-order-plan/Inspection.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/tool/excel.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/b1-inspection-order.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/api/controller.js
@@ -190,6 +190,7 @@ checkSubmitPlan: "/insOrderPlan/checkSubmitPlan", // 校验检验任务提交 getReportModel: "/insOrderPlan/getReportModel", // 切换光纤-光纤带记录模版查询检验内容 write: "/insOrderPlan/write", // 填写温度与湿度 temCycle: "/insOrderPlan/temCycle", // 温度循环查看列表数据(包括通过样品id,循环次数,温度,循环次数进行筛选) } const systemLog = { src/components/do/b1-ins-order/add.vue
@@ -788,6 +788,9 @@ :data="opticalProject" tooltip-effect="dark" style="width: 100%" @row-click="rowClickOptical" @select="selectOpticalProject" @select-all="selectAllOptical" @selection-change="handleSelectionChange"> <el-table-column type="selection" @@ -814,17 +817,17 @@ style="width: 100%"> <el-table-column prop="date" label="温度点(℃)" width="120px"> <template slot-scope="scope"> <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="请输入"></el-input> <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="请输入" @change="changeTemperature"></el-input> </template> </el-table-column> <el-table-column prop="name" label="要求(dB/Km)"> <template slot-scope="scope"> <span>x</span> <el-select v-model="scope.row.askSymbol" placeholder="请选择" size="small" style="width: 120px"> <el-select v-model="scope.row.askSymbol" placeholder="请选择" size="small" style="width: 120px" @change="changeTemperature"> <el-option v-for="item in temperatureDataList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> <el-input size="small" v-model="scope.row.askNum" clearable placeholder="请输入" style="width: 120px"></el-input> <el-input size="small" v-model="scope.row.askNum" clearable placeholder="请输入" style="width: 120px" @change="changeTemperature"></el-input> </template> </el-table-column> </el-table> @@ -1101,31 +1104,31 @@ this.$message.error('请填写完整数据') return } // 拼接要求值ask const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList)) opticalProjectList.forEach(o => { o.temperatureData.forEach(t => { if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { throw this.$message.error('请填写完整数据') } }) }) let entrustTime = this.circulateForm.entrustTime let entrustNum = this.circulateForm.entrustNum let temperaturePoint1 = JSON.parse(JSON.stringify(this.temperatureData)) temperaturePoint1.forEach(t => { if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { throw this.$message.error('请填写完整数据') } }) let temperaturePoint = JSON.parse(JSON.stringify(this.temperatureData)) temperaturePoint.unshift({temperaturePoint: 20}) let opticalProjectList2 = JSON.parse(JSON.stringify(this.opticalProjectList)) let askArr = [] let opticalProjectArr = [] // 拼接要求值ask opticalProjectList.forEach(o => { opticalProjectArr.push(o.value) temperaturePoint.forEach(t => { o.temperatureData.unshift({temperaturePoint: 20}) o.temperatureData.forEach(t => { if (!t.askSymbol) { const askObj = t.temperaturePoint + '℃' + ',' + o.value + ',' + null askArr.push(askObj) } else { const askObj = t.temperaturePoint + '℃' + ',' + o.value + ',' + t.askSymbol + t.askNum askArr.push(askObj) } const askObj = t.temperaturePoint + '℃' + ',' + o.value + ',' + null askArr.push(askObj) } else { const askObj = t.temperaturePoint + '℃' + ',' + o.value + ',' + t.askSymbol + t.askNum askArr.push(askObj) } }) }) askArr.push(this.circulateForm.entrustNum) @@ -1136,20 +1139,22 @@ let temperaturePointList2 = [] entrustTime = entrustTime + 'h' entrustNum = entrustNum + '次' temperaturePoint.forEach(t => { t.temperaturePoint = t.temperaturePoint + '℃' temperaturePointList.push(t.temperaturePoint) opticalProjectList2.forEach(o => { o.temperatureData.forEach(t => { t.temperaturePoint = t.temperaturePoint + '℃' temperaturePointList2.push(t.temperaturePoint) temperaturePointList.push(t.temperaturePoint) askNum.push(t.askSymbol + t.askNum + 'dB/Km') }) }) temperaturePoint1.forEach(t => { t.temperaturePoint = t.temperaturePoint + '℃' askNum.push(t.askSymbol + t.askNum + 'dB/Km') temperaturePointList2.push(t.temperaturePoint) }) temperaturePointList = Array.from(new Set(temperaturePointList)) temperaturePointList2 = Array.from(new Set(temperaturePointList2)) temperaturePointList2.unshift(20 + '℃') let additionArr = [] askNum.forEach(a => { additionArr.push(temperaturePointList2.join(',') + a) additionArr.push(temperaturePointList.join(',') + a) }) temperaturePointList2.unshift(20 + '℃') additionArr = Array.from(new Set(additionArr)) const tell = '温度范围:' + temperaturePointList2.join(',') + ';' + '保温时间:' + entrustTime + ';' + '循环次数:' + entrustNum + ';' + '光纤(' + opticalProjectArr.join(',') + ')' + '附加衰减绝对值:' + additionArr.join(';') this.productList.forEach(item => { @@ -1177,14 +1182,48 @@ handleSelectionChange(val) { this.opticalProjectList = val; }, selectAllOptical (val) { if (val.length > 0) { if (val[val.length-1].temperatureData) { this.temperatureData = this.HaveJson(val.temperatureData) } else { this.temperatureData = [] } } else { this.temperatureData = [] } this.circulateForm.entrustPoint = this.temperatureData.length }, selectOpticalProject (val) { if (val.temperatureData) { this.temperatureData = this.HaveJson(val.temperatureData) } else { this.temperatureData = [] } this.circulateForm.entrustPoint = this.temperatureData.length }, rowClickOptical (val) { const index = this.opticalProjectList.findIndex(item => item.value === val.value) if (index > -1 && val.temperatureData) { this.temperatureData = this.HaveJson(val.temperatureData) } this.circulateForm.entrustPoint = this.temperatureData.length }, changeTemperature () { this.opticalProjectList.forEach(item => { item.temperatureData = this.HaveJson(this.temperatureData) }) }, addTemperatureData () { const obj = {} this.temperatureData.push(obj) this.circulateForm.entrustPoint = this.temperatureData.length }, deleteTemperatureData () { if (this.temperatureData.length > 0) { this.temperatureData = this.temperatureData.slice(0,-1) } this.circulateForm.entrustPoint = this.temperatureData.length }, changeTemperatureData () { const length = this.temperatureData.length src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -257,7 +257,7 @@ </el-form> </div> <div class="center"> <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;"> <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;overflow-x: auto;"> <div style="display: flex;align-items: center;"> <span v-if="tableList.length>0">检验模板:</span> <el-radio-group v-model="currentTable" size="small"> @@ -265,7 +265,7 @@ size="small">{{ item.templateName }}</el-radio-button> </el-radio-group> </div> <div> <div style="display: flex;align-items: center;"> <span v-if="fibers.length>0"> 光纤带:</span> <el-radio-group v-model="currentTab" size="small" v-if="fibers.length>0" @input="m=>handleChange(m,1)"> <el-radio-button :label="item.id" v-for="(item,index) in fibers" :key="index" @@ -276,13 +276,13 @@ <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index" size="small">{{ item.color }}</el-radio-button> </el-radio-group> <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px"> <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;"> <el-form-item label="温度:" style="margin-bottom: 0;"> <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 70px;" @change="m=>subOtherForm(m,'temperature')"></el-input> <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'temperature')"></el-input> <span style="margin-left: 4px;">℃</span> </el-form-item> <el-form-item label="湿度:" style="margin-bottom: 0;"> <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 70px;" @change="m=>subOtherForm(m,'humidity')"></el-input> <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'humidity')"></el-input> <span style="margin-left: 4px;">%</span> </el-form-item> </el-form> @@ -395,20 +395,20 @@ </table> </div> <div class="center-box" v-loading="tableLoading" v-else> <!-- <el-divider></el-divider> --> <el-divider></el-divider> <h4 style="margin-bottom: 20px;">温度循环检验原始记录</h4> <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px"> <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> <el-form-item label="型号:" style="margin-bottom: 0;"> <el-input clearable v-model="wareForm.entrustCode" disabled size="small" placeholder=""></el-input> <el-input clearable v-model="wareForm0.model" disabled size="small" placeholder=""></el-input> </el-form-item> <el-form-item label="试验方法:" style="margin-bottom: 0;"> <el-input clearable v-model="wareForm.sampleCode" disabled size="small" placeholder=""></el-input> <el-input clearable v-model="wareForm0.methodName" disabled size="small" placeholder=""></el-input> </el-form-item> <el-form-item label="检测依据:" style="margin-bottom: 0;"> <el-input clearable v-model="wareForm.sample" disabled size="small" placeholder=""></el-input> </el-form-item> <!-- <el-form-item label="检测依据:" style="margin-bottom: 0;"> <el-input clearable v-model="wareForm0.sample" disabled size="small" placeholder=""></el-input> </el-form-item> --> <el-form-item label="循环次数:" style="margin-bottom: 0;"> <el-select v-model="wareForm.value" placeholder="请选择" size="small"> <el-select v-model="wareForm.inspectionItem" placeholder="请选择" size="small" @change="m=>wareFormChange(m,'inspectionItem')"> <el-option v-for="item in numOptions" :key="item.value" @@ -418,7 +418,7 @@ </el-select> </el-form-item> <el-form-item label="温度:" style="margin-bottom: 0;"> <el-select v-model="wareForm.value" placeholder="请选择" size="small"> <el-select v-model="wareForm.inspectionItemSubclass" placeholder="请选择" size="small" @change="m=>wareFormChange(m,'inspectionItemSubclass')"> <el-option v-for="item in temperatureOptions" :key="item.value" @@ -430,9 +430,9 @@ </el-form-item> </el-form> <el-divider></el-divider> <el-form :inline="true" :model="wareForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> <el-form :inline="true" :model="wareForm0" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> <el-form-item label="仪器名称:"> <el-select v-model="wareForm.value" placeholder="请选择" size="small"> <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> <el-option v-for="item in temperatureOptions" :key="item.value" @@ -442,7 +442,7 @@ </el-select> </el-form-item> <el-form-item label="仪器编号:"> <el-select v-model="wareForm.value" placeholder="请选择" size="small"> <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> <el-option v-for="item in temperatureOptions" :key="item.value" @@ -452,7 +452,7 @@ </el-select> </el-form-item> <el-form-item label="仪器名称:" style="margin-left: 80px;"> <el-select v-model="wareForm.value" placeholder="请选择" size="small"> <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> <el-option v-for="item in temperatureOptions" :key="item.value" @@ -462,7 +462,7 @@ </el-select> </el-form-item> <el-form-item label="仪器编号:"> <el-select v-model="wareForm.value" placeholder="请选择" size="small"> <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> <el-option v-for="item in temperatureOptions" :key="item.value" @@ -480,53 +480,73 @@ label="序号" type="index" width="65" align="center" > </el-table-column> <el-table-column prop="date" prop="bushColor" label="管色标" width="150"> width="120" align="center"> </el-table-column> <el-table-column prop="name" prop="code" label="光纤带编号" width="180"> width="150" align="center"> </el-table-column> <el-table-column prop="province" prop="color" label="光纤色标" width="150"> align="center" width="120"> </el-table-column> <el-table-column prop="city" prop="inspectionItemClass" label="光纤项目" align="center" width="130"> </el-table-column> <el-table-column prop="value0" label="外端" width="150"> align="center" width="130"> <template slot-scope="scope"> <el-input size="small" v-model="scope.row.input" placeholder="请输入内容"></el-input> <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(m,0)"></el-input> </template> </el-table-column> <el-table-column prop="address" prop="value1" label="内端" width="150"> align="center" width="130"> <template slot-scope="scope"> <el-input size="small" v-model="scope.row.input" placeholder="请输入内容"></el-input> <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(m,1)"></el-input> </template> </el-table-column> <el-table-column prop="zip" align="center" label="平均值" min-width="150"> </el-table-column> <el-table-column prop="zip" prop="lastValue" label="衰减差" align="center" min-width="150"> </el-table-column> <el-table-column prop="zip" label="检测人" prop="insResult" label="结论" align="center" min-width="150"> <template slot-scope="scope"> <span v-if="scope.row.insResult===1" style="color: green;">合格</span> <span v-if="scope.row.insResult===0" style="color: red;">不合格</span> <span v-else>待定</span> </template> </el-table-column> </el-table> </div> @@ -780,7 +800,11 @@ fiber:[], fibers:[], currentTab:null, wareForm:{}, wareForm:{ inspectionItem:1, inspectionItemSubclass:20, }, wareForm0:{}, numOptions:[], temperatureOptions:[], wareTableData:[ @@ -789,7 +813,7 @@ otherForm:{ humidity:null, temperature:null, } }, } }, computed: { @@ -890,6 +914,27 @@ }, }, methods: { changeItem(m,index){}, wareFormChange(m,type){ if(m&&type){ this.wareForm[type] = Number(m) } let wareForm = {...this.wareForm} wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'℃' this.$axios.post(this.$api.insOrderPlan.temCycle,{ sampleId:this.currentSample.id, ...wareForm }).then(res => { if (res.code == 201) return let {productVos,sampleVo} = res.data this.wareForm0 = sampleVo productVos = productVos.map(m=>{ let obj = {...m,...m.insProduct} return obj }) this.wareTableData = productVos }) }, subOtherForm(m,type){ let ids = [] for (let i in this.param) { @@ -1164,6 +1209,33 @@ handleTableData() { this.excelMethodList = [] this.widthList = this.tableList[0].style.columnlen; // 温度循环检验原始记录--开始 if(this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='温度循环检验原始记录'){ let ask = this.currentSample.insProduct[0].ask let askList = ask.split(';') this.numOptions = [] for (let i = 1; i <= askList[askList.length-1]; i++) { this.numOptions.push({ value:i, label:i }) } let mySet1 = new Set(); askList.forEach((m,i) => { if(i<askList.length-1){ mySet1.add(m.split(',')[0].replace('℃','')) } }) this.temperatureOptions = [] mySet1.forEach(m => { this.temperatureOptions.push({ value:m, label:m }) }) this.wareFormChange() } // 温度循环检验原始记录---结束 this.tableList.forEach(a => { let mcList = [] a.template.forEach(b => { src/components/tool/excel.vue
@@ -121,7 +121,8 @@ }, option.myFolderUrl = this.LOCATIONVUE + '/', option.functionButton = '<i class="save_i el-icon-info" title="系统支持的变量:
样品编号
样品型号
序号
检验项
检验子项
设备名称
设备编码
单位
要求值
试验方法 | 检测方法
最终值
结论
计算值
检验值"></i><button onClick="excelClosed()" class="save">保存</button>' luckysheet.create(option) console.log(window.luckysheet) window.luckysheet.create(option) } } } src/components/view/b1-inspection-order.vue
@@ -120,10 +120,13 @@ height: 8px !important; } .el-dialog__body >>>.el-radio__label{ padding-left: 2px !important; padding-left: 2px !important; } .el-dialog__body >>>.el-card__body{ padding: 0 !important; } .el-dialog__body >>>.el-card { border: none; } .el-dialog__body >>>.el-radio__input.is-disabled .el-radio__inner{ border-color: #000 !important; @@ -369,16 +372,16 @@ </el-row> </span> </el-dialog> <div class="el-dialog__body" style="width:320px;overflow-y: auto;position: absolute;top:9999px;margin-top: 0;position: fixed;top: 0;display: none;"> <div class="el-dialog__body" style="overflow-y: auto;position: absolute;margin-top: 0;position: fixed;top: 999px;z-index: 99999;"> <div id="printMOrder"> <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="font-size: 8px !important;page-break-before:always;page-break-after: always;color: #000;"> <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="font-size: 8px !important;page-break-after: always;color: #000;box-shadow: none;" > <div style="display: flex;"> <div> <el-col :span="8" :offset="4"> <el-col :span="10" :offset="2"> <vueQr :text="JSON.stringify(item.sampleCode)" :size="78" :margin="2"></vueQr> </el-col> </div> <div style="margin-left: 57px;line-height: 9px;"> <div style="margin-left: 12px;line-height: 9px;"> <el-row> <el-col style="font-size: 8px;"><span>样品编号: </span>{{ item.sampleCode }}</el-col> </el-row> @@ -412,7 +415,7 @@ </div> </el-card> </div> </div> </div> </div> </template> @@ -651,9 +654,9 @@ insOrderRow:{}, checkIndexList:[], checkDataList:[ // { // sampleCode:'11111' // } { sampleCode:'11111' } ], qrData:[], multipleSelection:[] @@ -730,11 +733,11 @@ PrintJS({ printable: 'printMOrder',//页面 type: "html",//文档类型 maxWidth:450, maxWidth:360, targetStyles:['*'], style: `@page { margin:0; size: 360px 175px portrait; size: 360px 175px collapse; } html{ zoom:100%; src/main.js
@@ -17,7 +17,7 @@ //本地 // Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80"; // const javaApi = 'http://127.0.0.1:8001'; const javaApi = 'http://192.168.47.249:8001'; // const javaApi = 'http://192.168.47.249:8001'; //云 // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080"; @@ -25,7 +25,7 @@ //检测中心正式库 // Vue.prototype.LOCATIONVUE = "http://10.1.200.86:8080"; // const javaApi = 'http://10.1.200.86:8001'; const javaApi = 'http://10.1.200.86:8001'; //装备电缆测试库 // Vue.prototype.LOCATIONVUE = "http://10.16.173.59";