.env.development | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/experiment/planAssignments.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/styles/fonts/element-icons.ttf | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/styles/fonts/element-icons.woff | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/styles/icon.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/experiment/checkTheReport/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/experiment/inspectionApplication/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/experiment/reportAuditing/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inspectionManagement/commissionInspection/addCommision.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/laboratory/ledger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.env.development
@@ -2,4 +2,4 @@ ENV = 'development' # base api VUE_APP_BASE_API = 'http://localhost:1234/' VUE_APP_BASE_API = 'http://192.168.0.15:1234/' src/api/experiment/planAssignments.js
@@ -1,5 +1,22 @@ import request from '@/utils/request' //è·åæåä¿¡æ¯ export function getMaterielList() { return request({ url: '/inspection/getMaterielTypeIsOne', method: 'post', }) } //æ ¹æ®æåè·åè§æ ¼åå· export function getSpecificationByMaterielId(params) { return request({ url: '/inspection/getSpecificationByMaterielId', method: 'post', params }) } export function selectAllPlan(params) { return request({ url: '/plan/selectAllPlan', src/styles/fonts/element-icons.ttfBinary files differ
src/styles/fonts/element-icons.woffBinary files differ
src/styles/icon.css
ÎļþÒÑɾ³ý src/views/experiment/checkTheReport/index.vue
@@ -90,7 +90,7 @@ scope.row.status == 0 ? "å¾ å®¡æ ¸" : scope.row.status == 1 ? "代ç¾å" : "已宿" ? "å¾ ç¾å" : "已宿" }} </el-tag> </span> src/views/experiment/inspectionApplication/index.vue
@@ -29,7 +29,7 @@ </el-form> <el-form class="rightBtn"> <el-form-item class="createBtn"> <el-button size="small" type="primary" icon="el-icon-plus" @click="checkTypeVisible = true" <el-button size="small" type="primary" icon="el-icon-plus" @click="showAddDialog" style="background-color: rgb(1, 102, 226);">æ°å¢æ£éªå</el-button> </el-form-item> <el-form-item class="getDataBtn"> @@ -93,10 +93,10 @@ <el-radio-group v-model="type" @click.native="handleRadioChange"> <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="0" border>åæææ£éª</el-radio> <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="1" border>å§ææ£éª</el-radio> <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="2" border>æåæ£éª</el-radio> :label="2" border>å§ææ£éª</el-radio> <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="1" border>æåæ£éª</el-radio> </el-radio-group> </div> <div v-if="type === 0"> @@ -154,14 +154,14 @@ <el-col :span="10"> <el-form-item label="æ£éªæ¶é´ï¼"> <el-date-picker v-model="infoForm.checkdate" type="daterange" range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ" style="width: 300px;"> start-placeholder="å¼å§æ¥æ" value-format="yyyy-MM-dd" end-placeholder="ç»ææ¥æ" style="width: 300px;"> </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> </div> <div v-if="type === 1"> <div v-if="type === 2"> <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> <el-row :gutter="100"> @@ -210,55 +210,43 @@ <el-col :span="10"> <el-form-item label="宿æé"> <el-input style="width: 300px" type="text" disabled :value="commisionSelection.completionDeadline" placeholder="请è¾å ¥æ°é" autocomplete="off" /> placeholder="请è¾å ¥å®ææé" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="æ£éªæ¥æï¼"> <el-date-picker v-model="commisionSelection.checkdate" type="daterange" range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ" style="width: 300px;"> start-placeholder="å¼å§æ¥æ" value-format="yyyy-MM-dd" end-placeholder="ç»ææ¥æ" style="width: 300px;"> </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> </div> <div v-if="type === 2"> <div v-if="type === 1"> <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="æ¥ææ¥æï¼"> <el-input style="width: 300px" type="text" v-model="finishedTable.deliverydate" placeholder="请è¾å ¥æ¥ææ¥æ" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="ä¾åºååç§°ï¼"> <el-input style="width: 300px" type="text" v-model="finishedTable.supplier" placeholder="请è¾å ¥ä¾åºååç§°" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="æåç¼ç ï¼"> <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="请è¾å ¥æåç¼ç " <el-input style="width: 300px" type="text" disabled v-model="finishedTable.code" placeholder="请è¾å ¥æåç¼ç " autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="æååç§°ï¼"> <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="请è¾å ¥æååç§°" autocomplete="off" /> <el-select style="width: 300px" v-model="finishedTable.name" @change="getSpecifications"> <el-option v-for="(item,index) in mList" :key="index" :label="item.name" :value="item.id"></el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="è§æ ¼åå·ï¼"> <el-input style="width: 300px" type="text" v-model="finishedTable.modelandspecification" placeholder="请è¾å ¥è§æ ¼åå·" autocomplete="off" /> <el-cascader style="width: 300px" v-model="finishedTable.modelandspecification" :options="specificationList" :show-all-levels="false" @change="changeSpe" :props="{label:'name',value:'id',children:'children'}"></el-cascader> </el-form-item> </el-col> <el-col :span="10"> @@ -271,14 +259,14 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="æ°éï¼"> <el-input style="width: 300px" type="text" v-model="finishedTable.amount" placeholder="请è¾å ¥æ°é" <el-input style="width: 300px" min="0" type="number" v-model="finishedTable.amount" placeholder="请è¾å ¥æ°é" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="æ£éªæ¶é´ï¼"> <el-date-picker v-model="finishedTable.checkdate" type="daterange" range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ" style="width: 300px;"> start-placeholder="å¼å§æ¥æ" value-format="yyyy-MM-dd" end-placeholder="ç»ææ¥æ" style="width: 300px;"> </el-date-picker> </el-form-item> </el-col> @@ -356,13 +344,13 @@ :data="commisionTable" @selection-change="handleSelectionChange" style="width: 100%"> <el-table-column type="selection" min-width="10%" /> <el-table-column type="index" label="åºå·" min-width="10%" /> <el-table-column prop="entrust_coding" label="å§æç¼å·" min-width="10%" /> <el-table-column prop="entrustCoding" label="å§æç¼å·" min-width="10%" /> <el-table-column prop="supplier" label="å§æåä½" min-width="12%" /> <el-table-column prop="mcode" label="æ ·åç¼å·" min-width="8%" /> <el-table-column prop="name" label="æ ·ååç§°" min-width="8%" /> <el-table-column prop="specifications" label="è§æ ¼åå·" min-width="12%" /> <el-table-column prop="endTime" label="éè¾¾æ¶é´" min-width="8%" /> <el-table-column prop="formTime" label="宿æé" min-width="8%" /> <el-table-column prop="formTime" label="éè¾¾æ¶é´" min-width="8%" /> <el-table-column prop="endTime" label="宿æé" min-width="8%" /> <el-table-column prop="contacts" label="å§æç¼å¶äºº" min-width="8%" /> <el-table-column prop="endTime" label="æ£éªæ¥æ" min-width="8%" /> <el-table-column prop="inspection_status" label="ç¶æ" min-width="8%"> @@ -401,11 +389,16 @@ addInspect, chooseVer, lookProByVer, delInspect delInspect, getSpecificationByMaterielId, getMaterielList } from '@/api/experiment/planAssignments' export default { data() { return { speName:"", specificationList: [], mList:[], showDetail: false, searchData: { applicationnumber: '', @@ -419,8 +412,6 @@ rawMaterialTable: [], commisionTable: [], finishedTable: { deliverydate: '', supplier: '', code: '', name: '', modelandspecification: '', @@ -470,7 +461,7 @@ pageSize: 10, // æ¯é¡µçæ°æ®æ¡æ° radioValue: 'å ¨é¨', checkTypeVisible: false, type: 2, // é»è®¤ä¸éä¸çç¶æ type: 1, // é»è®¤ä¸éä¸çç¶æ rawmaterialVisible: false, commisionVisible: false, tmp: {}, @@ -488,6 +479,30 @@ handler(val, oldval) {}, // 深度è§å¯çå¬ deep: true }, checkTypeVisible(newVal){ if(newVal == false){ this.finishedTable = { code: '', name: '', modelandspecification: '', unit: '', amount: '', checkdate: [] }; this.infoForm = {}; this.commisionSelection = { entrust_coding: '', entrusted: '', samples_number: '', sample_name: '', specifications_models: '', dateSurvey: '', completionDeadline: '', contacts: '', inspectionTime: '' }; } } }, created() { @@ -497,7 +512,51 @@ if (this.$route.name === 'ForInspectionDetail') this.showDetail = true }, methods: { changeSpe(val){ this.tmp.specificationsId = val[val.length-1]; let arr1 = this.specificationList[0].children.filter(item=>{ return item.id==val[1] }); let arr2 = arr1[0].children.filter(item=>{ return item.id = val[2] }) let speName = arr1[0].name + "-" + arr2[0].name; this.speName = speName; }, getSpecifications(val){ if(val != null){ this.selectSpecificationByMaterielId(val); let item = this.mList.filter(item => { return item.id == val; }); this.finishedTable.code = item[0].code; this.tmp.mcode = item[0].code; this.tmp.name = item[0].name; } }, async selectSpecificationByMaterielId(mId){ await getSpecificationByMaterielId({id : mId}).then(res=>{ this.specificationList = new Array(res.data); }).catch(error => { this.$message.error(error.message); }); }, //æ¾ç¤ºæ°å¢æ£éªåæ¨¡ææ¡ showAddDialog(){ this.selectMaterielList(); this.checkTypeVisible = true }, //è·åæåä¿¡æ¯ async selectMaterielList(){ await getMaterielList().then(res=>{ this.mList = res.data }).catch(error => { this.$message.error(error.message); }); }, async selectAll() { const res = selectAll({ type: 0 }) @@ -654,7 +713,7 @@ }) this.rawMaterialTable = arr }) } else if (this.type === 1) { } else if (this.type === 2) { this.commisionVisible = true selectAll({ type: 2 @@ -690,7 +749,7 @@ version: this.version } } if (this.type === 1) { if (this.type === 2) { obj = { endTime: this.commisionSelection.checkdate[1], formTime: this.commisionSelection.formTime, @@ -698,6 +757,7 @@ name: this.commisionSelection.name, num: this.commisionSelection.num, specifications: this.commisionSelection.specifications, specificationId:this.commisionSelection.specificationsId, startTime: this.commisionSelection.checkdate[0], supplier: this.commisionSelection.supplier, type: this.type, @@ -705,16 +765,15 @@ version: this.version } } if (this.type === 2) { if (this.type === 1) { obj = { endTime: this.finishedTable.checkdate[1], formTime: this.finishedTable.deliverydate, mcode: this.finishedTable.code, name: this.finishedTable.name, name: this.tmp.name, num: parseInt(this.finishedTable.amount), specifications: this.finishedTable.modelandspecification, startTime: this.finishedTable.checkdate[1], supplier: this.finishedTable.supplier, specifications: this.speName, specificationId: this.finishedTable.modelandspecification[2], startTime: this.finishedTable.checkdate[0], type: this.type, unit: this.finishedTable.unit, version: this.version @@ -725,7 +784,7 @@ message: 'æ·»å æåï¼', type: 'success' }); this.type = 2 this.type = 1 this.checkTypeVisible = false this.$router.push(`Viewdetails/${res.data}`) }).catch(error=>{ @@ -756,7 +815,8 @@ // }, //ç¡®å®è·³è½¬ QUEding() { if (this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined) { console.log(this.infoForm); if (this.type==0 &&(this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined)) { this.$message({ message: 'è¯·éæ©æ£éªæ¶é´', type: 'warning' src/views/experiment/reportAuditing/index.vue
@@ -22,7 +22,7 @@ <el-radio-group v-model="checkStatus" @change="handleRadioChange"> <el-radio-button>å ¨é¨</el-radio-button> <el-radio-button label="0">å¾ éè¿</el-radio-button> <el-radio-button label="2">éè¿</el-radio-button> <el-radio-button label="1">éè¿</el-radio-button> </el-radio-group> <el-checkbox v-model="checked" style="margin-left: 20px" >ä» çæç</el-checkbox src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -45,10 +45,12 @@ <td colspan="6"> <ul> <li> <i :class="`${infoForm.way == 1 ? 'el-icon-success' : 'el-icon-circle-check'}`"></i> éæ · <span class="success-icon">{{infoForm.way == 1 ? 'â' : ''}}</span> <span>â¢ éæ ·</span> </li> <li> <i :class="`${infoForm.way == 2 ? 'el-icon-success' : 'el-icon-circle-check'}`"></i> ä¸é¨ <span class="success-icon">{{infoForm.way == 2 ? 'â' : ''}}</span> <span>⢠ä¸é¨</span> </li> </ul> </td> @@ -142,7 +144,7 @@ </el-col> <el-col :span="5"> <el-form-item label="è系人ï¼"> <el-input style="width: 200px" v-model="infoForm.contacter" placeholder="请è¾å ¥å§æåä½" size="small" /> <el-input style="width: 200px" v-model="infoForm.contacter" placeholder="请è¾å ¥è系人" size="small" /> </el-form-item> </el-col> <el-col :span="5"> @@ -222,13 +224,13 @@ label-width="100px" size="mini"> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="æ ·åç¼å·ï¼"> <el-form-item label="æ ·åç¼å·ï¼" prop="sampleNumber"> <el-input v-model="addPointerForm.sampleNumber" size="small" disabled> </el-input> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="æ ·ååç§°ï¼"> <el-form-item label="æ ·ååç§°ï¼" prop="sampleName"> <el-select v-model="addPointerForm.sampleName" size="small" placeholder="è¯·éæ©æ ·ååç§°" @change="upMaterialName"> <el-option v-for="(options,index) in sampleoptions" :key="index" :value="options.key" :label="options.value"></el-option> @@ -238,7 +240,7 @@ </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="è¯å®æ åï¼"> <el-form-item label="è¯å®æ åï¼" prop="addway"> <el-select v-model="addPointerForm.addway" size="small" placeholder="è¯·éæ©è¯å®æ å"> <el-option v-for="options in model_spe_options" :value="options.value" :key="options.key">{{ options.value }}</el-option> @@ -246,7 +248,7 @@ </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="è§æ ¼åå·ï¼"> <el-form-item label="è§æ ¼åå·ï¼" prop="specificationsModels"> <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="请å éæ©æ ·ååç§°" @change="getProductList"> <el-option v-for="options in model_sta_options" :value="options.key" :label="options.value" @@ -257,19 +259,19 @@ </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="æ ·ååä½ï¼"> <el-form-item label="æ ·ååä½ï¼" prop="unit"> <el-input type="text" v-model="addPointerForm.unit" placeholder="请è¾å ¥åä½" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="æ ·åæ°éï¼"> <el-form-item label="æ ·åæ°éï¼" prop="samplesNumber"> <el-input type="text" v-model="addPointerForm.samplesNumber" placeholder="请è¾å ¥æ°é" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="11"> <el-form-item label="æ·»å 项ç®ï¼"> <el-form-item label="æ·»å 项ç®ï¼" prop="experiment" :rules="[{required: true,message:'项ç®ä¸è½ä¸ºç©º',trigger:'blur'}]"> <el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;"> <el-checkbox v-for="(expers, ai) in productList" :label="expers" :key="ai">{{ expers }}</el-checkbox> @@ -277,7 +279,7 @@ </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="夿³¨ï¼"> <el-form-item label="夿³¨ï¼" prop="remarks"> <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;" v-model="addPointerForm.remarks" placeholder="请è¾å ¥å¤æ³¨" autocomplete="off" /> </el-form-item> @@ -285,7 +287,7 @@ </el-row> </el-form> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="addInspection">æ·»å </el-button> <el-button type="primary" @click="addInspection('addPointerForm')">æ·»å </el-button> <el-button @click="dialogueFormVisible = false">å æ¶</el-button> </span> </el-dialog> @@ -360,6 +362,23 @@ } }, watch: { dialogueFormVisible(val){ if(val == false){ this.addPointerForm = { sampleNumber: '', sampleName: '', specificationsModels: '', unit: '', samplesNumber: '', remarks: '', experiment: [], addway: '', speName: '' } this.productList = []; this.$refs['addPointerForm'].clearValidate(); } }, addPointerForm: { handler: function(val) { if (val.addway != "") { @@ -390,15 +409,14 @@ }, methods: { printCommision(){ if(this.detectionInfo.length < 1){ this.$message.error("è¯·å æ·»å 䏿¡æ ·åæ°æ®!"); return } console.log(this.infoForm); PrintJS({ printable: "printCommision", type: "html", css: [ "https://unpkg.com/element-ui/lib/theme-chalk/fonts/element-icons.ttf", "https://unpkg.com/element-ui/lib/theme-chalk/fonts/element-icons.woff", "https://unpkg.com/element-ui/lib/theme-chalk/icon.css" ], targetStyles: ["*"], ignoreElements: ["no-ignore"], }); @@ -447,40 +465,36 @@ } }) }, addInspection() { let sName = this.addPointerForm.sampleName; this.sampleoptions.forEach(a=>{ if(a.key == sName) this.sampleNameList.push(a.value); }) this.standardList.push(this.addPointerForm.addway); this.testProjectList.push(this.addPointerForm.experiment); let exper = this.addPointerForm.experiment[0] for (let i = 1; i < this.addPointerForm.experiment.length; i++) { exper += ',' + this.addPointerForm.experiment[i] } this.addPointerForm.experiment = exper let tmp = this.addPointerForm this.sampleoptions.forEach(a => { if (a.key == tmp.sampleName) tmp.sampleName = a.value }) tmp.speName = tmp.addway + '-' + tmp.speName tmp.addway = 1 this.detectionInfo.push(tmp) this.dialogueFormVisible = false this.addPointerForm = { sampleNumber: '', sampleName: '', specificationsModels: '', unit: '', samplesNumber: '', remarks: '', experiment: [], addway: '', speName: '' } console.log(this.sampleNameList); addInspection(formName) { this.$refs[formName].validate((valid)=>{ if(valid){ let sName = this.addPointerForm.sampleName; this.sampleoptions.forEach(a=>{ if(a.key == sName) this.sampleNameList.push(a.value); }) this.standardList.push(this.addPointerForm.addway); this.testProjectList.push(this.addPointerForm.experiment); let exper = this.addPointerForm.experiment[0] for (let i = 1; i < this.addPointerForm.experiment.length; i++) { exper += ',' + this.addPointerForm.experiment[i] } this.addPointerForm.experiment = exper let tmp = this.addPointerForm this.sampleoptions.forEach(a => { if (a.key == tmp.sampleName) tmp.sampleName = a.value }) tmp.speName = tmp.addway + '-' + tmp.speName tmp.addway = 1 this.detectionInfo.push(tmp) this.dialogueFormVisible = false } }); }, async submitInspection() { if(this.detectionInfo.length < 1){ this.$message.error("è¯·å æ·»å 䏿¡æ ·åæ°æ®!"); return } let sampledeliveryway if (this.infoForm.way === 'éæ ·') { sampledeliveryway = 1 @@ -597,6 +611,11 @@ display: inline; width:100px; margin: 0 25px; .success-icon{ position: relative; left: 15px; bottom: 3px; } } } src/views/laboratory/ledger/index.vue
@@ -53,7 +53,7 @@ <div class="table-box"> <el-table ref="equipmentTable" node-key="father_name" :cell-style="{ textAlign: 'left' }" :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'left' }" :data="equipmentTable" style="width: 100%;"> :data="equipmentTable" style="width: 100%;height: 100vh"> <el-table-column type="index" label="åºå·" min-width="90" /> <el-table-column prop="equipment_code" label="仪å¨è®¾å¤ç¼å·" min-width="200" /> <el-table-column prop="equipment_name" label="仪å¨è®¾å¤åç§°" min-width="150" /> @@ -180,7 +180,7 @@ <el-table ref="codePointsTable" :cell-style="{ textAlign: 'center' }" :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }" :data="codePointsTable" style="width: 100%"> :data="codePointsTable" style="width: 100%;overflow: scroll;height:314px;"> <el-table-column type="index" label="åºå·" min-width="90" /> <el-table-column prop="equipmentPoint" label="ç ç¹ç¼ç " min-width="150"> <template slot-scope="scope">