| | |
| | | </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"> |
| | |
| | | <el-table-column prop="createTime" label="ç»è®°æ¥æ" min-width="90px" /> |
| | | <el-table-column prop="inspection_status" label="æ£éªç»æ" min-width="95px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag class="tag" effect="dark" type="danger" disable-transitions |
| | | v-if="scope.row.inspection_status == 0">ä¸åæ ¼</el-tag> |
| | | <el-tag class="tag" effect="dark" type="success" disable-transitions |
| | | v-else-if="scope.row.inspection_status == 1">åæ ¼</el-tag> |
| | | v-if="scope.row.inspection_status == 1">åæ ¼</el-tag> |
| | | <el-tag class="tag" effect="dark" type="danger" disable-transitions |
| | | v-else>ä¸åæ ¼</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="userName" label="ç»è®°äºº" min-width="80px" /> |
| | |
| | | <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"> |
| | |
| | | <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"> |
| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | :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%"> |
| | |
| | | addInspect, |
| | | chooseVer, |
| | | lookProByVer, |
| | | delInspect |
| | | delInspect, |
| | | getSpecificationByMaterielId, |
| | | getMaterielList |
| | | } from '@/api/experiment/planAssignments' |
| | | export default { |
| | | data() { |
| | | return { |
| | | speName:"", |
| | | specificationList: [], |
| | | mList:[], |
| | | showDetail: false, |
| | | searchData: { |
| | | applicationnumber: '', |
| | |
| | | rawMaterialTable: [], |
| | | commisionTable: [], |
| | | finishedTable: { |
| | | deliverydate: '', |
| | | supplier: '', |
| | | code: '', |
| | | name: '', |
| | | modelandspecification: '', |
| | |
| | | pageSize: 10, // æ¯é¡µçæ°æ®æ¡æ° |
| | | radioValue: 'å
¨é¨', |
| | | checkTypeVisible: false, |
| | | type: 2, // é»è®¤ä¸éä¸çç¶æ |
| | | type: 1, // é»è®¤ä¸éä¸çç¶æ |
| | | rawmaterialVisible: false, |
| | | commisionVisible: false, |
| | | tmp: {}, |
| | |
| | | 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() { |
| | |
| | | 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 |
| | | }) |
| | |
| | | }) |
| | | this.rawMaterialTable = arr |
| | | }) |
| | | } else if (this.type === 1) { |
| | | } else if (this.type === 2) { |
| | | this.commisionVisible = true |
| | | selectAll({ |
| | | type: 2 |
| | |
| | | version: this.version |
| | | } |
| | | } |
| | | if (this.type === 1) { |
| | | if (this.type === 2) { |
| | | obj = { |
| | | endTime: this.commisionSelection.checkdate[1], |
| | | formTime: this.commisionSelection.formTime, |
| | |
| | | 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, |
| | |
| | | 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 |
| | |
| | | message: 'æ·»å æåï¼', |
| | | type: 'success' |
| | | }); |
| | | this.type = 2 |
| | | this.type = 1 |
| | | this.checkTypeVisible = false |
| | | this.$router.push(`Viewdetails/${res.data}`) |
| | | }).catch(error=>{ |
| | |
| | | // }, |
| | | //ç¡®å®è·³è½¬ |
| | | 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' |