| | |
| | | params: query |
| | | }) |
| | | } |
| | | // è·åæ£æµå¯¹è±¡ |
| | | export function selectTestObjectList(query) { |
| | | return request({ |
| | | url: '/capacityScope/selectTestObjectList', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ°å¢æ£éªé¡¹ç®åæ° |
| | | export function addItemParameter(query) { |
| | | return request({ |
| | |
| | | method: 'get' |
| | | }) |
| | | } |
| | | // æ°å¢æ£æµå¯¹è±¡ |
| | | export function addTestObject(query) { |
| | | return request({ |
| | | url: '/capacityScope/addTestObject', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // å 餿£æµå¯¹è±¡ |
| | | export function delTestObject(query) { |
| | | return request({ |
| | | url: '/capacityScope/delTestObject', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // ä¿®æ¹æ£æµå¯¹è±¡ |
| | | export function upTestObject(query) { |
| | | return request({ |
| | | url: '/capacityScope/upTestObject', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ¥è¯¢æ£éªå¯¹è±¡ç产å |
| | | export function selectProductListByObjectId(query) { |
| | | return request({ |
| | | url: '/capacityScope/selectProductListByObjectId', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ°å¢äº§å |
| | | export function addProduct(query) { |
| | | return request({ |
| | | url: '/capacityScope/addProduct', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // å é¤äº§å |
| | | export function delProduct(query) { |
| | | return request({ |
| | | url: '/capacityScope/delProduct', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // ä¿®æ¹äº§å |
| | | export function upProduct(query) { |
| | | return request({ |
| | | url: '/capacityScope/upProduct', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // è·åæ£éªé¡¹ç®åæ° |
| | | // è·ååºææä¸¾å¼ |
| | | export function obtainItemParameterList() { |
| | | return request({ |
| | | url: '/laboratoryScope/obtainItemParameterList', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ£éªå¯¹è±¡æ ¹æ®äº§åidæ¥è¯¢é¶ä»¶ |
| | | export function selectByTestObjectId(query) { |
| | | return request({ |
| | | url: '/structureTestObjectPart/selectByTestObjectId', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ£éªå¯¹è±¡æ°å¢äº§åé¶ä»¶ |
| | | export function addTestObjectPart(query) { |
| | | return request({ |
| | | url: '/structureTestObjectPart/addTestObjectPart', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ£éªå¯¹è±¡ä¿®æ¹äº§åé¶ä»¶ |
| | | export function updateTestObjectPart(query) { |
| | | return request({ |
| | | url: '/structureTestObjectPart/updateTestObjectPart', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ£éªå¯¹è±¡å é¤äº§åé¶ä»¶ |
| | | export function deleteTestObjectPart(query) { |
| | | return request({ |
| | | url: '/structureTestObjectPart/deleteTestObjectPart', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | | // æ ¹æ®äº§åidæ¥è¯¢é¶ä»¶ |
| | | export function selectByProductId(query) { |
| | | return request({ |
| | | url: 'ctPart/selectByProductId', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue" |
| | | :filters="item.filters" :fixed="item.fixed" :label="item.label" |
| | | :min-width="item.minWidth" :prop="item.prop" |
| | | :show-overflow-tooltip="item.showOverflowTooltip" |
| | | show-overflow-tooltip |
| | | :sortable="item.sortable ? true : false" :type="item.type" :width="item.width" |
| | | align="center"> |
| | | <!-- <div class="123" v-if="item.type == ''"> --> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="operationType === 'add' ? 'æ°å¢' : 'ç¼è¾'" :visible.sync="editFormDia" width="60%" @close="closeDia"> |
| | | <el-form ref="editForm" :model="editForm" :rules="editFormRules" label-width="140px"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªé¡¹ï¼" prop="inspectionItem"> |
| | | <el-input v-model="editForm.inspectionItem" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªé¡¹ENï¼" prop="inspectionItemEn"> |
| | | <el-input v-model="editForm.inspectionItemEn" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªå项ï¼" prop="inspectionItemSubclass"> |
| | | <el-input v-model="editForm.inspectionItemSubclass" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªå项ENï¼" prop="inspectionItemSubclassEn"> |
| | | <el-input v-model="editForm.inspectionItemSubclassEn" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªå¯¹è±¡ï¼" prop="sample"> |
| | | <el-cascader v-model="editForm.sample" :options="itemParameterData.cascaderField.sample.tree" |
| | | :props="{value:'name',label:'name',checkStrictly: true, multiple: true}" |
| | | :show-all-levels="false" clearable |
| | | filterable placeholder="è¯·éæ©" size="small" style="width: 100%;"></el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åä»·(å
)ï¼" prop="price"> |
| | | <el-input v-model="editForm.price" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åºæï¼" prop="laboratory"> |
| | | <el-select v-model="editForm.laboratory" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label" :value="item.label"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è¯éªå®¤ï¼" prop="sonLaboratory"> |
| | | <el-select v-model="editForm.sonLaboratory" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è¦æ±æè¿°ï¼" prop="askTell"> |
| | | <el-input v-model="editForm.askTell" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è¦æ±å¼ï¼" prop="ask"> |
| | | <el-input v-model="editForm.ask" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="计éåä½ï¼" prop="unit"> |
| | | <el-select v-model="editForm.unit" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in unitList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="å·¥æ¶(H)ï¼" prop="manHour"> |
| | | <el-input v-model="editForm.manHour" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="é¢è®¡æ¶é´(H)ï¼" prop="manDay"> |
| | | <el-input v-model="editForm.manDay" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="å·¥æ¶åç»ï¼" prop="manHourGroup"> |
| | | <el-input v-model="editForm.manHourGroup" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªé¡¹ç±»åï¼" prop="inspectionItemType"> |
| | | <el-select v-model="editForm.inspectionItemType" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in inspectionItemTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªå¼ç±»åï¼" prop="inspectionValueType"> |
| | | <el-select v-model="editForm.inspectionValueType" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in inspectionValueTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åå
¸ç±»åï¼" prop="dic"> |
| | | <el-select v-model="editForm.dic" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç¹æ®æ è¯ï¼" prop="bsm"> |
| | | <el-select v-model="editForm.bsm" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in bsmList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åå§è®°å½æ¨¡æ¿ï¼" prop="templateId"> |
| | | <el-select v-model="editForm.templateId" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in templateIdList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªé¡¹åç±»ï¼" prop="inspectionItemClass"> |
| | | <el-input v-model="editForm.inspectionItemClass" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£éªé¡¹åç±»ENï¼" prop="inspectionItemClassEn"> |
| | | <el-input v-model="editForm.inspectionItemClassEn" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è¯éªæ¹æ³ï¼" prop="method"> |
| | | <el-select v-model="editForm.method" clearable multiple placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in methodList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ¡ä»¶ï¼" prop="radiusList"> |
| | | <el-select v-model="editForm.radiusList" allow-create default-first-option filterable multiple |
| | | placeholder="è¯·éæ©" |
| | | size="small" |
| | | style="width: 100%"> |
| | | <el-option v-for="item in radiusListList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ¶è´¹æ å(å
/次)ï¼" prop="rates"> |
| | | <el-input v-model="editForm.rates" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="closeDia">å æ¶</el-button> |
| | | <el-button :loading="editLoad" type="primary" @click="handleEdit">æ 交</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | export default { |
| | | name: "EditForm", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {}, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | editFormDia: false, |
| | | editLoad: false, |
| | | editForm: { |
| | | inspectionItem: '', // æ£éªé¡¹ |
| | | inspectionItemEn: '', // æ£éªé¡¹EN |
| | | inspectionItemSubclass: '', // æ£éªå项 |
| | | inspectionItemSubclassEn: '', // æ£éªå项EN |
| | | sample: [], // æ£éªå¯¹è±¡ |
| | | price: '', // åä»· |
| | | laboratory: '', // åºæ |
| | | sonLaboratory: '', // è¯éªå®¤ |
| | | askTell: '', // è¦æ±æè¿° |
| | | ask: '', // è¦æ±å¼ |
| | | unit: '', // 计éåä½ |
| | | manHour: '', // å·¥æ¶ |
| | | manDay: '', // é¢è®¡æ¶é´ |
| | | manHourGroup: '', // å·¥æ¶åç» |
| | | inspectionItemType: '', // æ£éªé¡¹ç±»å |
| | | inspectionValueType: '', // æ£éªå¼ç±»å |
| | | dic: '', // åå
¸ç±»å |
| | | bsm: '', // ç¹æ®æ è¯ |
| | | templateId: '', // åå§è®°å½æ¨¡æ¿ |
| | | inspectionItemClass: '', // æ£éªé¡¹åç±» |
| | | inspectionItemClassEn: '', // æ£éªé¡¹åç±»EN |
| | | method: '', // è¯éªæ¹æ³ |
| | | radiusList: [], // æ¡ä»¶ |
| | | rates: '', // æ¡ä»¶ |
| | | }, |
| | | sampleList: [], // æ£éªå¯¹è±¡ä¸ææ¡ |
| | | laboratoryList: [], // åºæä¸ææ¡ |
| | | sonLaboratoryList: [], // è¯éªå®¤ä¸ææ¡ |
| | | unitList: [], // 计éåä½ä¸ææ¡ |
| | | inspectionItemTypeList: [], // æ£éªé¡¹ç±»åä¸ææ¡ |
| | | inspectionValueTypeList: [], // æ£éªå¼ç±»åä¸ææ¡ |
| | | dicList: [], // åå
¸ç±»åä¸ææ¡ |
| | | bsmList: [], // ç¹æ®æ è¯ä¸ææ¡ |
| | | templateIdList: [], // åå§è®°å½æ¨¡æ¿ä¸ææ¡ |
| | | methodList: [], // è¯éªæ¹æ³ä¸ææ¡ |
| | | radiusListList: [], // æ¡ä»¶ä¸ææ¡ |
| | | itemParameterData: { |
| | | cascaderField: { |
| | | sample: { |
| | | tree: [] |
| | | }, |
| | | } |
| | | }, |
| | | editFormRules: { |
| | | inspectionItem: [ |
| | | { required: true, message: 'è¯·éæ©æ£éªé¡¹', trigger: 'change' } |
| | | ], |
| | | sonLaboratory: [ |
| | | { required: true, message: 'è¯·éæ©è¯éªå®¤', trigger: 'change' } |
| | | ], |
| | | unit: [ |
| | | { required: true, message: 'è¯·éæ©è®¡éåä½', trigger: 'change' } |
| | | ], |
| | | inspectionItemType: [ |
| | | { required: true, message: 'è¯·éæ©æ£éªé¡¹ç±»å', trigger: 'change' } |
| | | ], |
| | | inspectionValueType: [ |
| | | { required: true, message: 'è¯·éæ©æ£éªå¼ç±»å', trigger: 'change' } |
| | | ], |
| | | templateId: [ |
| | | { required: true, message: 'è¯·éæ©åå§è®°å½æ¨¡æ¿', trigger: 'change' } |
| | | ] |
| | | }, |
| | | operationType: '' |
| | | } |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | openDia (type, row) { |
| | | this.operationType = type |
| | | this.editFormDia = true |
| | | this.selectEnumByCategory() // æ£éªé¡¹ç±»å |
| | | this.selectEnumByCategoryForSpecial() // ç¹æ®æ è¯ |
| | | this.selectEnumByCategoryForInspectionValueType() // æ£éªå¼ç±»å |
| | | this.obtainItemParameterList() // åºæç±»å |
| | | this.selectEnumByCategoryForSLaboratory() // åå®éªå®¤ |
| | | this.getStandardTemplate() // åå§è®°å½æ¨¡æ¿ä¸ææ¡ |
| | | this.selectEnumByCategoryForUnit() // 计éåä½ |
| | | this.selectStandardMethods() // è¯éªæ¹æ³ |
| | | this.selectDocUnit() // åå
¸ç±»å |
| | | this.selectTestObjectByName() // æ£éªå¯¹è±¡ |
| | | if (type === 'add') { |
| | | this.editForm = { |
| | | inspectionItem: '', // æ£éªé¡¹ |
| | | inspectionItemEn: '', // æ£éªé¡¹EN |
| | | inspectionItemSubclass: '', // æ£éªå项 |
| | | inspectionItemSubclassEn: '', // æ£éªå项EN |
| | | sample: [], // æ£éªå¯¹è±¡ |
| | | price: '', // åä»· |
| | | laboratory: '', // åºæ |
| | | sonLaboratory: '', // è¯éªå®¤ |
| | | askTell: '', // è¦æ±æè¿° |
| | | ask: '', // è¦æ±å¼ |
| | | unit: '', // 计éåä½ |
| | | manHour: '', // å·¥æ¶ |
| | | manDay: '', // é¢è®¡æ¶é´ |
| | | manHourGroup: '', // å·¥æ¶åç» |
| | | inspectionItemType: '', // æ£éªé¡¹ç±»å |
| | | inspectionValueType: '', // æ£éªå¼ç±»å |
| | | dic: '', // åå
¸ç±»å |
| | | bsm: '', // ç¹æ®æ è¯ |
| | | templateId: '', // åå§è®°å½æ¨¡æ¿ |
| | | inspectionItemClass: '', // æ£éªé¡¹åç±» |
| | | inspectionItemClassEn: '', // æ£éªé¡¹åç±»EN |
| | | method: '', // è¯éªæ¹æ³ |
| | | radiusList: [], // æ¡ä»¶ |
| | | rates: '', // æ¡ä»¶ |
| | | } |
| | | this.$refs.editForm.resetFields() |
| | | } else { |
| | | this.editForm = this.HaveJson(row) |
| | | this.editForm.sample = JSON.parse(this.editForm.sample) |
| | | this.editForm.radiusList = JSON.parse(this.editForm.radiusList) |
| | | this.editForm.method = JSON.parse(this.editForm.method) |
| | | } |
| | | }, |
| | | // æäº¤ç¼è¾ |
| | | handleEdit () { |
| | | this.$refs.editForm.validate(valid => { |
| | | if (valid) { |
| | | this.editLoad = true |
| | | let obj = this.HaveJson(this.editForm) |
| | | obj.method = JSON.stringify(obj.method) |
| | | obj.sample = JSON.stringify(obj.sample) |
| | | console.log('obj.radiusList---', obj.radiusList) |
| | | if (obj.radiusList !== null && obj.radiusList.length > 0) { |
| | | obj.radiusList = JSON.stringify(obj.radiusList) |
| | | } |
| | | if(obj.id){ |
| | | // ä¿®æ¹ |
| | | this.$axios.post(this.$api.capacityScope.upItemParameter, obj, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('ä¿®æ¹æå') |
| | | this.editFormDia = false |
| | | this.$parent.refreshTable('page') |
| | | }).catch(e => { |
| | | this.editLoad = false |
| | | this.editFormDia = false |
| | | }) |
| | | }else{ |
| | | // æ°å¢ |
| | | this.$axios.post(this.$api.capacityScope.addItemParameter, obj, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('æ·»å æå') |
| | | this.editFormDia = false |
| | | this.$parent.refreshTable('page') |
| | | }).catch(e => { |
| | | this.editLoad = false |
| | | this.editFormDia = false |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // å
³éå¼¹æ¡ |
| | | closeDia () { |
| | | this.editFormDia = false |
| | | this.$refs.editForm.resetFields() |
| | | }, |
| | | selectTestObjectByName() { |
| | | this.$axios.get(this.$api.capacityScope.getItemTree).then(res => { |
| | | res.data.forEach(a=>{ |
| | | this.cascaderFieldData(a) |
| | | }) |
| | | this.itemParameterData.cascaderField.sample.tree = res.data |
| | | // this.sampleTree = res.data |
| | | // console.log(2222,res.data) |
| | | }) |
| | | }, |
| | | cascaderFieldData(val){ |
| | | if(val.children === undefined) { |
| | | return |
| | | }else if(val.children.length==0){ |
| | | val.label = val.name |
| | | val.value = val.id |
| | | delete val.children |
| | | }else{ |
| | | val.label = val.name |
| | | val.value = val.id |
| | | val.children.forEach(a=>{ |
| | | a.label = a.name |
| | | a.value = a.id |
| | | this.cascaderFieldData(a) |
| | | }) |
| | | } |
| | | }, |
| | | selectStandardMethods() { |
| | | this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.code, |
| | | value: a.code |
| | | }) |
| | | }) |
| | | this.methodList = data |
| | | }) |
| | | }, |
| | | selectDocUnit() { |
| | | this.$axios.post(this.$api.enums.getDic).then(res => { |
| | | this.dicList = res.data.map(m => { |
| | | return { |
| | | label: m, |
| | | value: m |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | obtainItemParameterList() { |
| | | this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { |
| | | let data = [] |
| | | // let data0 = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.id |
| | | }) |
| | | // data0.push({ |
| | | // label: a.laboratoryName, |
| | | // value: a.laboratoryName |
| | | // }) |
| | | }) |
| | | this.laboratoryList = data |
| | | }) |
| | | }, |
| | | selectEnumByCategory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ£éªé¡¹ç±»å" |
| | | }).then(res => { |
| | | res.data[1].type = 'info' |
| | | this.inspectionItemTypeList = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForInspectionValueType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ£éªå¼ç±»å" |
| | | }).then(res => { |
| | | this.inspectionValueTypeList = res.data |
| | | }) |
| | | }, |
| | | getStandardTemplate() { |
| | | this.$axios.get(this.$api.StandardTemplate.getStandardTemplate).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id, |
| | | type: 'success' |
| | | }) |
| | | }) |
| | | this.templateIdList = data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForSpecial() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ¯å¦" |
| | | }).then(res => { |
| | | this.bsmList = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForSLaboratory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "åå®éªå®¤" |
| | | }).then(res => { |
| | | this.sonLaboratoryList = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForUnit() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "åä½" |
| | | }).then(res => { |
| | | this.unitList = res.data |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | >>>.el-dialog__body { |
| | | height: 620px; |
| | | overflow-y: auto; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="é¶ä»¶ç»å®" :visible.sync="isShow" width="800px" @close="$emit('closeBindPartDialog')"> |
| | | <div class="body" v-if="isShow" style="height: 500px;overflow-y: auto;padding: 5px 0;"> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="$emit('closeBindPartDialog')">å æ¶</el-button> |
| | | <el-button type="primary" @click="addBindPart" :loading="addBindLoad">æ° å¢</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :title="dialogTitle" :visible.sync="addBindPartDialog" width="400px" @close="closeBindPartDialog" |
| | | :close-on-click-modal="false" > |
| | | <div class="body" v-if="addBindPartDialog"> |
| | | <el-form label-position="right" label-width="80px" |
| | | ref="bindPartData" |
| | | :rules="bindPartDataRules" |
| | | :model="bindPartData"> |
| | | <el-form-item label="é¶ä»¶å·ï¼" prop="partNo"> |
| | | <el-input v-model="bindPartData.partNo" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é¢è²ï¼"> |
| | | <el-input v-model="bindPartData.color" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è²æ ï¼"> |
| | | <el-input v-model="bindPartData.colorCode" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="closeBindPartDialog">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitBind" :loading="bindLoad">确 认</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import {selectByProductId, selectByTestObjectId} from "@/api/structural/structureTestObjectPart"; |
| | | |
| | | export default { |
| | | name: "bindPartDialog", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {limsTable}, |
| | | props: { |
| | | bindPartDialog: { |
| | | type: Boolean, |
| | | default: () => false |
| | | }, |
| | | type: { // é¶ä»¶ç»å®çç±»å--0ï¼æ£éªå¯¹è±¡ï¼1ï¼äº§åç»´æ¤ |
| | | type: Number, |
| | | default: () => null |
| | | }, |
| | | currentRow : { // éæ©æ¬æ¡æ°æ®çä¿¡æ¯ |
| | | type: Object, |
| | | default: () => {} |
| | | } |
| | | }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | isShow: this.bindPartDialog, |
| | | dialogTitle: 'æ°å¢é¶ä»¶ç»å®', |
| | | tableData: [], |
| | | tableLoading: false, |
| | | column: [ |
| | | {label: 'é¶ä»¶å·', prop: 'partNo'}, |
| | | {label: 'é¢è²', prop: 'color'}, |
| | | {label: 'è²æ ', prop: 'colorCode'}, |
| | | { |
| | | dataType: 'action', |
| | | fixed: 'right', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'ç¼è¾', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.editForm(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.delete(row); |
| | | }, |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | page: { |
| | | total:0, |
| | | size:10, |
| | | current:0 |
| | | }, |
| | | bindPartComponent: { |
| | | entity: { |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isPage: true, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: true, |
| | | do: [{ |
| | | id: 'update', |
| | | font: 'ç¼è¾', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | field: [] |
| | | }, { |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: ['partNo'], |
| | | requiredUp: ['partNo'], |
| | | }, |
| | | addBindPartDialog: false, |
| | | bindPartData: { |
| | | partNo: '', // é¶ä»¶å· |
| | | color: '', // é¢è² |
| | | colorCode: '', // è²æ |
| | | }, |
| | | bindPartDataRules: { |
| | | partNo: [ |
| | | { required: true, message: '请填åé¶ä»¶å·', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | bindLoad: false, |
| | | upIndex: 0, |
| | | addBindLoad: false, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getList() |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | getList() { |
| | | this.tableLoading = true |
| | | // æ ¹æ®ç±»åå¤ææ¯æ£éªå¯¹è±¡é¶ä»¶ç»å®è¿æ¯äº§åç»´æ¤é¶ä»¶ç»å® |
| | | if (this.type === 0) { |
| | | selectByTestObjectId(this.currentRow.id).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200) { |
| | | this.tableData = res.data |
| | | this.page.total = res.total |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | } else { |
| | | selectByProductId(this.currentRow.id).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200) { |
| | | this.tableData = res.data |
| | | this.page.total = res.total |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | } |
| | | }, |
| | | addBindPart () { |
| | | this.addBindPartDialog = true |
| | | }, |
| | | // æäº¤é¶ä»¶ç»å® |
| | | submitBind () { |
| | | this.$refs['bindPartData'].validate((valid) => { |
| | | if (valid) { |
| | | // æ ¹æ®ç±»åå¤ææ¯æ£éªå¯¹è±¡é¶ä»¶ç»å®è¿æ¯äº§åç»´æ¤é¶ä»¶ç»å® |
| | | const params = this.type === 0 ? { |
| | | testObjectId: this.currentRow.id, |
| | | color: this.bindPartData.color, |
| | | colorCode: this.bindPartData.colorCode, |
| | | partNo: this.bindPartData.partNo, |
| | | } : { |
| | | productId: this.currentRow.id, |
| | | color: this.bindPartData.color, |
| | | colorCode: this.bindPartData.colorCode, |
| | | partNo: this.bindPartData.partNo, |
| | | } |
| | | this.bindLoad = true |
| | | if (this.type === 0) { |
| | | |
| | | } |
| | | this.$axios.post(url, params, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.bindLoad = false |
| | | if (res.code === 200) { |
| | | this.$refs['bindPartData'].resetFields(); |
| | | this.addBindPartDialog = false |
| | | this.$message.success('æä½æå') |
| | | this.getList() |
| | | } |
| | | }).catch(err => { |
| | | this.bindLoad = false |
| | | console.log(err) |
| | | }) |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }) |
| | | }, |
| | | closeBindPartDialog () { |
| | | this.$refs['bindPartData'].resetFields(); |
| | | this.addBindPartDialog = false |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="åå®¶å¯åº¦ç»å®" :visible.sync="isShow" width="800px" @close="$emit('closeBindPartDialog')"> |
| | | <div class="body" v-if="isShow" style="height: 500px;overflow-y: auto;padding: 5px 0;"> |
| | | <!-- <ValueTable ref="bindPartComponent"--> |
| | | <!-- :url="searchUrl"--> |
| | | <!-- :upUrl="upUrl"--> |
| | | <!-- :delUrl="delUrl"--> |
| | | <!-- :componentData="bindPartComponent"--> |
| | | <!-- :key="upIndex"/>--> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="$emit('closeBindPartDialog')">å æ¶</el-button> |
| | | <el-button type="primary" @click="addBindPart" :loading="addBindLoad">æ° å¢</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æ°å¢åå®¶å¯åº¦ç»å®" :visible.sync="addBindSupplierDensityDialog" width="400px" @close="closeBindPartDialog":close-on-click-modal="false" > |
| | | <div class="body" v-if="addBindSupplierDensityDialog"> |
| | | <el-form label-position="right" label-width="80px" |
| | | ref="bindSupplierDensityData" |
| | | :rules="bindPartDataRules" |
| | | :model="bindSupplierDensityData"> |
| | | <el-form-item label="åå·ï¼" prop="model"> |
| | | <el-input v-model="bindSupplierDensityData.model" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åå®¶ï¼" prop="supplierName"> |
| | | <el-input v-model="bindSupplierDensityData.supplierName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å¯åº¦ï¼" prop="densityValue"> |
| | | <el-input v-model="bindSupplierDensityData.densityValue" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="closeBindPartDialog">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitBind" :loading="bindLoad">确 认</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // import ValueTable from "../../tool/value-table.vue"; |
| | | |
| | | export default { |
| | | name: "bindSupplierDensityDialog", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {}, |
| | | props: { |
| | | bindSupplierDensityDialog: { |
| | | type: Boolean, |
| | | default: () => false |
| | | }, |
| | | currentRow : { // éæ©æ¬æ¡æ°æ®çä¿¡æ¯ |
| | | type: Object, |
| | | default: () => {} |
| | | } |
| | | }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | searchUrl: '', // æ¥è¯¢ |
| | | upUrl: '', // ç¼è¾ |
| | | delUrl: '', // å é¤ |
| | | isShow: this.bindSupplierDensityDialog, |
| | | bindPartComponent: { |
| | | entity: { |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isPage: true, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: true, |
| | | do: [{ |
| | | id: 'update', |
| | | font: 'ç¼è¾', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | field: [] |
| | | }, { |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: ['supplierName', 'densityValue'], |
| | | requiredUp: ['supplierName', 'densityValue'], |
| | | }, |
| | | addBindSupplierDensityDialog: false, |
| | | bindSupplierDensityData: { |
| | | model: '', // åå· |
| | | supplierName: '', // åå®¶ |
| | | densityValue: '', // å¯åº¦ |
| | | }, |
| | | bindPartDataRules: { |
| | | supplierName: [ |
| | | { required: true, message: '请填ååå®¶åç§°', trigger: 'blur' } |
| | | ], |
| | | densityValue: [ |
| | | { required: true, message: '请填åå¯åº¦', trigger: 'blur' } |
| | | ], |
| | | }, |
| | | bindLoad: false, |
| | | upIndex: 0, |
| | | addBindLoad: false, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.$set(this.bindPartComponent.entity, 'productId', this.currentRow.id) |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | addBindPart () { |
| | | this.addBindSupplierDensityDialog = true |
| | | }, |
| | | // æäº¤é¶ä»¶ç»å® |
| | | submitBind () { |
| | | this.$refs['bindSupplierDensityData'].validate((valid) => { |
| | | if (valid) { |
| | | // æ ¹æ®ç±»åå¤ææ¯æ£éªå¯¹è±¡é¶ä»¶ç»å®è¿æ¯äº§åç»´æ¤é¶ä»¶ç»å® |
| | | const params = { |
| | | productId: this.currentRow.id, |
| | | model: this.bindSupplierDensityData.model, |
| | | supplierName: this.bindSupplierDensityData.supplierName, |
| | | densityValue: this.bindSupplierDensityData.densityValue, |
| | | } |
| | | this.bindLoad = true |
| | | const url = this.$api.productSupplierDensity.addProductSupplierDensity |
| | | this.$axios.post(url, params, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.bindLoad = false |
| | | if (res.code === 200) { |
| | | this.$refs['bindSupplierDensityData'].resetFields(); |
| | | this.addBindSupplierDensityDialog = false |
| | | this.$message.success('æä½æå') |
| | | this.$refs.bindPartComponent.selectList() |
| | | } |
| | | }).catch(err => { |
| | | this.bindLoad = false |
| | | console.log(err) |
| | | }) |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }) |
| | | }, |
| | | closeBindPartDialog () { |
| | | this.$refs['bindSupplierDensityData'].resetFields(); |
| | | this.addBindSupplierDensityDialog = false |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="operationType === 'add' ? 'æ°å¢' : 'ç¼è¾'" :visible.sync="editFormDia" width="500px" @close="closeDia"> |
| | | <el-form ref="editForm" :model="editForm" :rules="editFormRules" label-width="120px" label-position="right"> |
| | | <el-form-item label="åºæï¼" prop="laboratoryId"> |
| | | <el-select v-model="editForm.laboratoryId" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label" :value="item.label"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¯¹è±¡ï¼" prop="specimenName"> |
| | | <el-input v-model="editForm.specimenName" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¯¹è±¡ENï¼" prop="specimenNameEn"> |
| | | <el-input v-model="editForm.specimenNameEn" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="对象代å·ï¼" prop="code"> |
| | | <el-input v-model="editForm.code" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="对象类åï¼" prop="objectType"> |
| | | <el-select v-model="editForm.objectType" clearable placeholder="è¯·éæ©" size="small" style="width: 100%"> |
| | | <el-option v-for="item in dict.type.object_type" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="closeDia">å æ¶</el-button> |
| | | <el-button :loading="editLoad" type="primary" @click="handleEdit">æ 交</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import {obtainItemParameterList} from "@/api/structural/laboratoryScope"; |
| | | import {addTestObject, upTestObject} from "@/api/structural/capability"; |
| | | |
| | | export default { |
| | | name: "EditForm", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | dicts: ['object_type'], |
| | | components: {}, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | editFormDia: false, |
| | | editLoad: false, |
| | | editForm: { |
| | | laboratoryId: '', // åºæ |
| | | specimenName: '', // æ£éªå¯¹è±¡ |
| | | specimenNameEn: '', // æ£éªå¯¹è±¡EN |
| | | code: '', // å¯¹è±¡ä»£å· |
| | | objectType: '', // 对象类å |
| | | }, |
| | | laboratoryList: [], |
| | | editFormRules: { |
| | | laboratoryId: [ |
| | | { required: true, message: 'è¯·éæ©åºæ', trigger: 'change' } |
| | | ], |
| | | specimenName: [ |
| | | { required: true, message: '请è¾å
¥æ£éªå¯¹è±¡', trigger: 'blur' } |
| | | ], |
| | | code: [ |
| | | { required: true, message: '请è¾å
¥å¯¹è±¡ä»£å·', trigger: 'blur' } |
| | | ], |
| | | }, |
| | | operationType: '' |
| | | } |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | openDia (type, row) { |
| | | this.operationType = type |
| | | this.obtainItemParameterList() |
| | | this.editFormDia = true |
| | | if (type === 'add') { |
| | | this.$refs.editForm.resetFields() |
| | | } else { |
| | | this.editForm = this.HaveJson(row) |
| | | } |
| | | }, |
| | | // æäº¤ç¼è¾ |
| | | handleEdit () { |
| | | this.$refs.editForm.validate(valid => { |
| | | if (valid) { |
| | | this.editLoad = true |
| | | let obj = this.HaveJson(this.editForm) |
| | | if(obj.id){ |
| | | // ä¿®æ¹ |
| | | upTestObject(obj).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('ä¿®æ¹æå') |
| | | this.closeDia() |
| | | }).catch(e => { |
| | | this.editLoad = false |
| | | this.editFormDia = false |
| | | }) |
| | | }else{ |
| | | // æ°å¢ |
| | | addTestObject(obj).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('æ·»å æå') |
| | | this.closeDia() |
| | | }).catch(e => { |
| | | this.editLoad = false |
| | | this.editFormDia = false |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // å
³éå¼¹æ¡ |
| | | closeDia () { |
| | | this.editFormDia = false |
| | | this.$refs.editForm.resetFields() |
| | | this.$parent.refreshTable('page') |
| | | }, |
| | | // è·ååºæä¸ææ¡çå¼ |
| | | obtainItemParameterList() { |
| | | obtainItemParameterList().then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.laboratoryList = data |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="text-align: left"> |
| | | <el-radio-group v-model="radio" @input="selectorSwitch" size="medium" fill="#409EFF"> |
| | | <el-radio-group v-model="radio" size="medium" fill="#409EFF"> |
| | | <el-radio-button :label="0">æ£éªé¡¹ç®åæ°</el-radio-button> |
| | | <el-radio-button :label="1">æ£éªå¯¹è±¡</el-radio-button> |
| | | </el-radio-group> |
| | | </el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <!-- <el-button size="medium" @click="$refs.itemParameterTable.openUpload()" v-if="inPower">--> |
| | | <!-- <i class="el-icon-upload2" style="color: #3A7BFA;"></i>--> |
| | | <!-- <span style="color: #3A7BFA;">导å
¥</span></el-button>--> |
| | | <el-button size="medium" type="primary" v-if="radio == 1 && importExcel" @click="uploadDia = true">导å
¥</el-button> |
| | | <el-button size="medium" type="primary" @click="openAdd()" v-if="addPower">æ°å¢</el-button> |
| | | <!-- <el-button size="medium" icon="el-icon-delete">å é¤</el-button> --> |
| | | <el-upload v-if="radio === 0" ref='upload1' |
| | | style="display: inline;margin-right: 8px" |
| | | :action="uploadAction1" |
| | | :before-upload="beforeUpload1" :headers="token" :on-error="onError1" |
| | | :on-success="handleSuccessUp" :show-file-list="false" accept='.doc,.docx,.xls,.xlsx'> |
| | | <el-button size="small" type="primary">导å
¥</el-button> |
| | | </el-upload> |
| | | <el-button size="small" type="primary" v-if="radio === 1" @click="uploadDia = true">导å
¥</el-button> |
| | | <el-button size="small" type="primary" @click="openAdd()">æ°å¢</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div v-if="radio==0" class="bodys"> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ£éªé¡¹ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.inspectionItem" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ£éªå项ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.inspectionItemSubclass" @keyup.enter.native="refreshTable()"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ£éªå¯¹è±¡ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.sample" @keyup.enter.native="refreshTable()"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">æ¥ è¯¢</el-button> |
| | | </div> |
| | | <div> |
| | | <el-form :model="itemParameterForm" ref="itemParameterForm" size="small" :inline="true"> |
| | | <el-form-item label="æ£éªé¡¹" prop="inspectionItem" v-if="radio===0"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.inspectionItem" @keyup.enter.native="refreshTable()"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå项" prop="inspectionItemSubclass" v-if="radio===0"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.inspectionItemSubclass" @keyup.enter.native="refreshTable()"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¯¹è±¡" prop="sample"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.sample" @keyup.enter.native="refreshTable()"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">æ¥ è¯¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="refresh">é ç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="table" v-if="radio===0"> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <div class="table"> |
| | | <!-- <ValueTable ref="itemParameterTable"--> |
| | | <!-- :url="$api.capacityScope.selectItemParameterList" v-if="PROJECT === 'æ£æµä¸å¿'"--> |
| | | <!-- :upUrl="$api.capacityScope.upItemParameter" :delUrl="$api.capacityScope.delItemParameter"--> |
| | | <!-- :inputUrl="$api.capacityScope.importData" :componentData="itemParameterData" :key="upIndex" />--> |
| | | <!-- <ValueTable ref="itemParameterTable" :url="$api.capacityScope.selectItemParameterList" v-if="PROJECT === 'è£
å¤çµç¼'"--> |
| | | <!-- :upUrl="$api.capacityScope.upItemParameter" :delUrl="$api.capacityScope.delItemParameter"--> |
| | | <!-- :inputUrl="$api.capacityScope.importEquipData" :componentData="itemParameterData" :key="upIndex" />--> |
| | | </div> |
| | | </div> |
| | | <div class="bodys"> |
| | | <div class="search" v-if="radio==1"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ£éªå¯¹è±¡ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="testObjectData.entity.specimenName" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">æ¥ è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table" v-if="radio==1"> |
| | | <!-- <ValueTable ref="testObjectTable" :url="$api.capacityScope.selectTestObjectList"--> |
| | | <!-- :upUrl="$api.capacityScope.upTestObject" :delUrl="$api.capacityScope.delTestObject"--> |
| | | <!-- :componentData="testObjectData" :key="upIndex" />--> |
| | | <div class="table" v-if="radio===1"> |
| | | <lims-table :tableData="testObjectTableData" :column="testObjectColumn" |
| | | :page="testObjectPage" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="产åç»´æ¤" :visible.sync="diaProduct" width="600px"> |
| | | <div class="body" v-if="diaProduct" style="height: 350px;overflow-y: auto;padding: 5px 0;"> |
| | | <!-- <ValueTable ref="productData" :url="$api.capacityScope.selectProductListByObjectId"--> |
| | | <!-- :upUrl="$api.capacityScope.upProduct" :delUrl="$api.capacityScope.delProduct"--> |
| | | <!-- :componentData="productData" :key="upIndex"/>--> |
| | | <lims-table :tableData="productData" :column="productColumn" |
| | | :page="productPage" :tableLoading="productableLoading"></lims-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="diaProduct = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="openAdd2" :loading="productLoad">æ° å¢</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æ°æ®å¯¼å
¥" :visible.sync="uploadDia" width="500px"> |
| | | <!-- <div style="margin: 0 auto;">--> |
| | | <!-- <el-upload ref="upload" drag :action="javaApi + $api.capacityScope.importExcel" :headers="token" :file-list="fileList" name="file"--> |
| | | <!-- :auto-upload="false" accept=".xlsx" :limit="1" :on-change="beforeUpload" :on-success="onSuccess"--> |
| | | <!-- :on-error="onError">--> |
| | | <!-- <i class="el-icon-upload"></i>--> |
| | | <!-- <div class="el-upload__text">å°æä»¶æå°æ¤å¤ï¼æ<em>ç¹å»ä¸ä¼ </em></div>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </div>--> |
| | | <el-dialog :visible.sync="uploadDia" title="æ°æ®å¯¼å
¥" width="500px"> |
| | | <div style="margin: 0 auto;"> |
| | | <el-upload ref="upload" :action="uploadAction" |
| | | :auto-upload="false" :file-list="fileList" |
| | | :headers="token" :limit="1" |
| | | :on-change="beforeUpload" :on-error="onError" :on-success="onSuccess" accept=".xlsx" drag |
| | | name="file"> |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text">å°æä»¶æå°æ¤å¤ï¼æ<em>ç¹å»ä¸ä¼ </em></div> |
| | | </el-upload> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="uploadDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitUpload()" :loading="uploading">ä¸ ä¼ </el-button> |
| | | <el-button :loading="uploading" type="primary" @click="submitUpload()">ä¸ ä¼ </el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- ç¼è¾ æ°å¢ --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="dialogVisible" |
| | | width="50%" |
| | | :before-close="handleClose"> |
| | | <el-form :model="addOrupdateForm" label-width="120px" :rules="rules" inline ref="addOrupdateForm" size="mini"> |
| | | <el-form-item label="æ£éªé¡¹" prop="inspectionItem"> |
| | | <el-input v-model="addOrupdateForm.inspectionItem" placeholder="请è¾å
¥æ£éªé¡¹" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªé¡¹EN" > |
| | | <el-input v-model="addOrupdateForm.inspectionItemEn" placeholder="请è¾å
¥æ£éªé¡¹EN" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªé¡¹å项" > |
| | | <el-input v-model="addOrupdateForm.inspectionItemSubclass" placeholder="请è¾å
¥æ£éªé¡¹å项" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå项EN" > |
| | | <el-input v-model="addOrupdateForm.inspectionItemSubclassEn" placeholder="请è¾å
¥æ£éªå项EN" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¯¹è±¡" > |
| | | <el-cascader |
| | | size="mini" style="width: 220px;" |
| | | filterable |
| | | v-model="addOrupdateForm.sample" |
| | | :options="tree" |
| | | :props="{value:'name',label: 'name', multiple: true, checkStrictly: true }" |
| | | clearable></el-cascader> |
| | | <!-- <el-input v-model="addOrupdateForm.sample" placeholder="请è¾å
¥æ£éªå¯¹è±¡" size="mini" style="width: 220px;"></el-input> --> |
| | | </el-form-item> |
| | | <el-form-item label="åä»·(å
)" > |
| | | <el-input v-model="addOrupdateForm.price" placeholder="请è¾å
¥åä»·" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åºæ" > |
| | | <el-select v-model="addOrupdateForm.laboratory" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in laboratory" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.label"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="è¯éªå®¤" prop="sonLaboratory"> |
| | | <el-select v-model="addOrupdateForm.sonLaboratory" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.sonLaboratory" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="è¦æ±æè¿°" > |
| | | <el-input v-model="addOrupdateForm.askTell" placeholder="请è¾å
¥è¦æ±æè¿°" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¦æ±å¼" > |
| | | <el-input v-model="addOrupdateForm.ask" placeholder="请è¾å
¥è¦æ±å¼" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="计éåä½" prop="unit"> |
| | | <el-select v-model="addOrupdateForm.unit" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.unit" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥æ¶(H)" > |
| | | <el-input v-model="addOrupdateForm.manHour" placeholder="请è¾å
¥å·¥æ¶" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é¢è®¡æ¶é´(H)" prop="manDay"> |
| | | <el-input v-model="addOrupdateForm.manDay" placeholder="请è¾å
¥é¢è®¡æ¶é´" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥æ¶åç»" > |
| | | <el-input v-model="addOrupdateForm.manHourGroup" placeholder="请è¾å
¥å·¥æ¶åç»" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªé¡¹ç±»å" prop="inspectionItemType"> |
| | | <el-select v-model="addOrupdateForm.inspectionItemType" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.inspectionItemType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¼ç±»å" prop="inspectionValueType"> |
| | | <el-select v-model="addOrupdateForm.inspectionValueType" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.inspectionValueType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åå
¸ç±»å" > |
| | | <el-select v-model="addOrupdateForm.dic" clearable filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.dic" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¹æ®æ è¯ç¬¦"> |
| | | <el-select v-model="addOrupdateForm.bsm" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.bsm" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åå§è®°å½æ¨¡æ¿" prop="templateId"> |
| | | <el-select v-model="addOrupdateForm.templateId" filterable size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="item in dicList.templateId" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªé¡¹åç±»" > |
| | | <el-input v-model="addOrupdateForm.inspectionItemClass" placeholder="请è¾å
¥æ£éªé¡¹åç±»" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªé¡¹åç±»EN" > |
| | | <el-input v-model="addOrupdateForm.inspectionItemClassEn" placeholder="请è¾å
¥æ£éªé¡¹åç±»EN" size="mini" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¯éªæ¹æ³" prop="method"> |
| | | <el-select v-model="addOrupdateForm.method" filterable multiple size="small" style="width: 220px;"> |
| | | <el-option |
| | | v-for="(item,index) in dicList.method" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="handleClose">å æ¶</el-button> |
| | | <el-button type="primary" @click="saveOrEnit">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <!--æ£éªé¡¹ç®åæ°-ç¼è¾å¼¹æ¡--> |
| | | <EditForm ref="editForm"></EditForm> |
| | | <testObjectEditForm ref="testObjectEditForm"></testObjectEditForm> |
| | | <BindPartDialog v-if="bindPartDialog" :bindPartDialog="bindPartDialog" |
| | | :currentRow="currentRow" |
| | | :type="type" |
| | | @closeBindPartDialog="closeBindPartDialog"></BindPartDialog> |
| | | <BindSupplierDensityDialog v-if="bindSupplierDensityDialog" |
| | | :bindSupplierDensityDialog="bindSupplierDensityDialog" |
| | | :currentRow="currentSupplierDensityRow" |
| | | @closeBindPartDialog="closeBindSupplierDensityDialog"></BindSupplierDensityDialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // import ValueTable from '../tool/value-table.vue' |
| | | import {addItemParameter, getItemTree, upItemParameter} from "@/api/structural/capability"; |
| | | import {obtainItemParameterList} from "@/api/structural/laboratoryScope"; |
| | | import {selectStandardMethods} from "@/api/structural/standardMethod"; |
| | | import BindPartDialog from "@/components/capability/bindPartDialog.vue" |
| | | import BindSupplierDensityDialog from "@/components/capability/bindSupplierDensityDialog.vue" |
| | | import { |
| | | delItemParameter, delProduct, delTestObject, selectItemParameterList, selectProductListByObjectId, |
| | | selectTestObjectList, |
| | | } from "@/api/structural/capability"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import EditForm from "@/components/capability/EditForm.vue"; |
| | | import testObjectEditForm from "@/components/capability/testObjectEditForm.vue"; |
| | | import {getToken} from "@/utils/auth"; |
| | | |
| | | export default { |
| | | components: {limsTable, EditForm, testObjectEditForm, BindPartDialog, BindSupplierDensityDialog}, |
| | | data() { |
| | | return { |
| | | dicList: { |
| | | inspectionItemType: [], |
| | | inspectionValueType: [], |
| | | bsm: [], |
| | | sonLaboratory: [], |
| | | unit: [], |
| | | dic: [], |
| | | method: [], |
| | | uploadAction: process.env.VUE_APP_BASE_API + '/capacityScope/importExcel', |
| | | uploadAction1: process.env.VUE_APP_BASE_API + '/capacityScope/importEquipData', |
| | | tableData: [], |
| | | column: [ |
| | | {label: 'æ£éªé¡¹', prop: 'inspectionItem'}, |
| | | {label: 'æ£éªé¡¹EN', prop: 'inspectionItemEn'}, |
| | | {label: 'æ£éªå项', prop: 'inspectionItemSubclass'}, |
| | | {label: 'æ£éªå项EN', prop: 'inspectionItemSubclassEn'}, |
| | | {label: 'æ£éªé¡¹åç±»', prop: 'inspectionItemClass'}, |
| | | {label: 'æ£éªé¡¹åç±»EN', prop: 'inspectionItemClassEn'}, |
| | | {label: 'æ£éªå¯¹è±¡', prop: 'sample'}, |
| | | {label: 'åä»·(å
)', prop: 'price'}, |
| | | {label: 'è¯éªå®¤', prop: 'sonLaboratory'}, |
| | | {label: 'è¦æ±æè¿°', prop: 'askTell'}, |
| | | {label: 'è¦æ±å¼', prop: 'ask'}, |
| | | {label: '计éåä½', prop: 'unit'}, |
| | | {label: 'å·¥æ¶(H)', prop: 'manHour'}, |
| | | {label: 'é¢è®¡æ¶é´(H)', prop: 'manDay'}, |
| | | {label: 'å·¥æ¶åç»', prop: 'manHourGroup'}, |
| | | {label: 'å建æ¶é´', prop: 'createTime'}, |
| | | {label: 'ä¿®æ¹æ¶é´', prop: 'updateTime'}, |
| | | {label: 'æ¡ä»¶', prop: 'radiusList'}, |
| | | { |
| | | dataType: 'action', |
| | | fixed: 'right', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'ç¼è¾', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.editForm(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.delete(row); |
| | | }, |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | page: { |
| | | total:0, |
| | | size:10, |
| | | current:0 |
| | | }, |
| | | testObjectTableData: [], |
| | | testObjectColumn: [ |
| | | { |
| | | dataType: 'tag', |
| | | label: 'åºæ', |
| | | prop: 'laboratoryId', |
| | | minWidth: '130', |
| | | formatData: (params) => { |
| | | if (params == 1) { |
| | | return 'è£
å¤çµç¼è¯éªå®¤' |
| | | } else if (params == 5) { |
| | | return 'é信产åå®éªå®¤' |
| | | } else if (params == 6) { |
| | | return 'çµå产åå®éªå®¤' |
| | | } else if (params == 8) { |
| | | return 'å¨è½äº§åå®éªå®¤' |
| | | } else { |
| | | return 'å°é¢çº¿ç¼å®éªå®¤' |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 1) { |
| | | return 'success' |
| | | } else if (params == 5) { |
| | | return 'info' |
| | | } else if (params == 6) { |
| | | return 'warning' |
| | | } else if (params == 8) { |
| | | return 'danger' |
| | | } else { |
| | | return '' |
| | | } |
| | | } |
| | | }, |
| | | {label: 'æ£éªå¯¹è±¡', prop: 'specimenName'}, |
| | | {label: 'æ£éªå¯¹è±¡EN', prop: 'specimenNameEn'}, |
| | | {label: '产å', prop: 'product'}, |
| | | {label: '对象代å·', prop: 'code'}, |
| | | {label: '对象类å', prop: 'objectType', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | if (params == 1) { |
| | | return 'åææ' |
| | | } else if (params == 2) { |
| | | return 'æå' |
| | | } else { |
| | | return 'è¾
æ' |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 1) { |
| | | return 'success' |
| | | } else if (params == 2) { |
| | | return 'info' |
| | | } else { |
| | | return 'warning' |
| | | } |
| | | }}, |
| | | {label: 'å建人', prop: 'createUserName'}, |
| | | {label: 'æ´æ°äºº', prop: 'updateUserName'}, |
| | | {label: 'å建æ¶é´', prop: 'createTime'}, |
| | | {label: 'æ´æ°æ¶é´', prop: 'updateTime'}, |
| | | { |
| | | dataType: 'action', |
| | | fixed: 'right', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'ç¼è¾', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.editTestObjectForm(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.deleteTest(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: '产åç»´æ¤', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.upProduct(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'é¶ä»¶ç»å®', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.bindPartFirst(row); |
| | | }, |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | testObjectPage: { |
| | | total:0, |
| | | size:10, |
| | | current:0 |
| | | }, |
| | | tableLoading: false, |
| | | addOrUpdate: '', |
| | | addOrupdateForm:{ |
| | | inspectionItem: '', |
| | | inspectionItemEn: '', |
| | | inspectionItemSubclass: '', |
| | | inspectionItemSubclassEn: '', |
| | | sample: null, |
| | | price: '', |
| | | laboratory: '', |
| | | sonLaboratory: '', |
| | | askTell: '', |
| | | ask: '', |
| | | unit: '', |
| | | manHour: '', |
| | | manDay: '', |
| | | manHourGroup: '', |
| | | inspectionItemType: '', |
| | | inspectionValueType: '', |
| | | dic: '', |
| | | bsm: '', |
| | | templateId: '', |
| | | inspectionItemClass: '', |
| | | inspectionItemClassEn: '', |
| | | method: [] |
| | | }, |
| | | tree: null, |
| | | rules:{ |
| | | inspectionItem: [ |
| | | { required: true, message: '请è¾å
¥æ£éªé¡¹', trigger: 'blur' } |
| | | ], |
| | | sonLaboratory: [ |
| | | { required: true, message: '请è¾å
¥è¯éªå®¤', trigger: 'change' } |
| | | ], |
| | | unit: [ |
| | | { required: true, message: '请è¾å
¥è®¡éåä½', trigger: 'change' } |
| | | ], |
| | | manDay: [ |
| | | { required: true, message: '请è¾å
¥é¢è®¡æ¶é´', trigger: 'blur' } |
| | | ], |
| | | inspectionItemType: [ |
| | | { required: true, message: '请è¾å
¥æ£éªé¡¹ç±»å', trigger: 'change' } |
| | | ], |
| | | inspectionValueType: [ |
| | | { required: true, message: '请è¾å
¥æ£éªå¼ç±»å', trigger: 'change' } |
| | | ], |
| | | method: [ |
| | | { required: true, message: 'è¯·éæ©è¯éªæ¹æ³', trigger: 'change' } |
| | | ], |
| | | templateId: [ |
| | | { required: true, message: '请è¾å
¥åå§è®°å½æ¨¡æ¿', trigger: 'change' } |
| | | ], |
| | | }, |
| | | dialogVisible: false, |
| | | loading: true, |
| | | itemParameterForm: { |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | sample: null |
| | | }, |
| | | logining:false, |
| | | radio: 0, |
| | | showItemParameter: true, |
| | | showTestObject: false, |
| | | itemParameterData: { |
| | | entity: { |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | sample: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: true, |
| | | row: 2, |
| | | do: [{ |
| | | id: 'update', |
| | | font: 'ç¼è¾', |
| | | type: 'text', |
| | | method: 'openAdd', |
| | | field: [] |
| | | }, { |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }], |
| | | tagField: { |
| | | }, |
| | | selectField: { |
| | | inspectionItemType: { |
| | | select: [] |
| | | }, |
| | | bsm: { |
| | | select: [] |
| | | }, |
| | | inspectionValueType: { |
| | | select: [] |
| | | }, |
| | | laboratory: { |
| | | select: [] |
| | | }, |
| | | templateId: { |
| | | select: [] |
| | | }, |
| | | method: { |
| | | select: [], |
| | | choose: true |
| | | }, |
| | | sonLaboratory: { |
| | | select: [] |
| | | }, |
| | | unit: { |
| | | select: [] |
| | | }, |
| | | dic: { |
| | | select: [] |
| | | }, |
| | | }, |
| | | cascaderField:{ |
| | | sample:{ |
| | | tree:[] |
| | | }, |
| | | // åæ®µé
ç½® |
| | | props:{ |
| | | value:'name', |
| | | label:'name', |
| | | checkStrictly: true, |
| | | multiple: true |
| | | } |
| | | }, |
| | | requiredAdd: ['sonLaboratory', 'inspectionItem', 'inspectionItemType', 'inspectionValueType', |
| | | 'unit', 'method', 'manDay', 'templateId' |
| | | ], |
| | | requiredUp: ['sonLaboratory', 'inspectionItem', 'inspectionItemType', 'inspectionValueType', |
| | | 'unit', 'method', 'manDay', 'templateId' |
| | | ], |
| | | accept: '.xlsx', |
| | | inputType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', |
| | | needSort: ['createTime', 'updateTime', 'inspectionItem', 'inspectionItemSubclass', 'sample'], |
| | | }, |
| | | testObjectData: { |
| | | entity: { |
| | | specimenName: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: true, |
| | | do: [{ |
| | | id: 'update', |
| | | font: 'ç¼è¾', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | field: ['createUserName', 'updateUserName', 'product'] |
| | | }, { |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }, { |
| | | font: '产åç»´æ¤', |
| | | type: 'text', |
| | | method: 'upProduct' |
| | | }], |
| | | tagField: { |
| | | laboratoryId: { |
| | | select: [] |
| | | } |
| | | }, |
| | | selectField: { |
| | | laboratoryId: { |
| | | select: [] |
| | | } |
| | | }, |
| | | requiredAdd: ['specimenName', 'code', 'laboratoryId'], |
| | | requiredUp: ['specimenName', 'code', 'laboratoryId'], |
| | | needSort: ['createTime', 'updateTime', 'specimenName'], |
| | | }, |
| | | itemParameterEntityCopy: {}, |
| | | testObjectDataEntityCopy: {}, |
| | | upIndex: 0, |
| | | addDia: false, |
| | | addPower: true, |
| | | select: 0, |
| | | laboratory: [], |
| | | productLoad: false, |
| | | diaProduct: false, |
| | | productData: { |
| | | entity: { |
| | | objectId: 0, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isPage: false, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: true, |
| | | do: [{ |
| | | id: 'update', |
| | | font: 'ç¼è¾', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | field: [] |
| | | }, { |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd: ['name','nameEn'], |
| | | requiredUp: ['name','nameEn'], |
| | | productColumn: [ |
| | | {label: '产ååç§°', prop: 'name'}, |
| | | {label: '产ååç§°EN', prop: 'nameEn'}, |
| | | { |
| | | dataType: 'action', |
| | | fixed: 'right', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'ç¼è¾', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.editProduct(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.deleteProduct(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'é¶ä»¶ç»å®', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.bindPartSecond(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'åå®¶å¯åº¦ç»å®', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.bindSupplierDensitySecond(row); |
| | | }, |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | productData: [], |
| | | productPage: { |
| | | total:0, |
| | | size:10, |
| | | current:0 |
| | | }, |
| | | productableLoading: false, |
| | | inPower: true, |
| | | importExcel: false, |
| | | uploadDia: false, |
| | | fileList: [], |
| | | token: null, |
| | | token: {Authorization: "Bearer " + getToken()}, |
| | | uploading: false, |
| | | currentRow: {}, // éæ©é¶ä»¶ç»å®æ¬æ¡æ°æ®çä¿¡æ¯ |
| | | currentSupplierDensityRow: {}, // éæ©é¶ä»¶ç»å®æ¬æ¡æ°æ®çä¿¡æ¯ |
| | | bindSupplierDensityDialog: false, |
| | | bindPartDialog: false, |
| | | type: null, // é¶ä»¶ç»å®çç±»å--0ï¼æ£éªå¯¹è±¡ï¼1ï¼äº§åç»´æ¤ |
| | | } |
| | | }, |
| | | created() { |
| | | if (this.PROJECT === 'è£
å¤çµç¼') { |
| | | this.itemParameterData.requiredUp = ['sonLaboratory', 'inspectionItem', 'inspectionItemType', 'inspectionValueType', |
| | | 'unit', 'manDay', 'templateId' |
| | | ] |
| | | } |
| | | this.refreshTable() |
| | | }, |
| | | mounted() { |
| | | this.token = { |
| | | 'token': sessionStorage.getItem('token') |
| | | } |
| | | this.itemParameterEntityCopy = this.HaveJson(this.itemParameterData.entity) |
| | | this.testObjectDataEntityCopy = this.HaveJson(this.testObjectData.entity) |
| | | this.obtainItemParameterList() //åºæ |
| | | this.selectStandardMethods() // è¯éªæ¹æ³ |
| | | this.selectTestObjectByName() |
| | | this.getStandardTemplate() // åå§è®°å½æ¨¡æ¿ |
| | | this.selectDocUnit() |
| | | |
| | | this.selectAllNeedEnum() |
| | | this.refreshTable() |
| | | }, |
| | | computed: { |
| | | title() { |
| | | return this.addOrUpdate == 1 ? 'æ°å¢' : 'ç¼è¾' |
| | | return this.addOrUpdate === 1 ? 'æ°å¢' : 'ç¼è¾' |
| | | } |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢éè¦çå
¨é¨æä¸¾ |
| | | selectAllNeedEnum(){ |
| | | // this.$axios.post(this.$api.enums.selectEnumListByCategory, |
| | | // {categoryList:['æ£éªé¡¹ç±»å','åå¼ç±»å','æ¯å¦','æ£éªå¼ç±»å','åå®éªå®¤','åä½']},{ |
| | | // headers: { |
| | | // 'Content-Type': 'application/json' |
| | | // } |
| | | // }).then(res => { |
| | | // res.data['æ£éªé¡¹ç±»å'].forEach(ele => { |
| | | // if(ele.label.indexOf('ééé')==0)ele.type='info' |
| | | // }); |
| | | // this.dicList.sonLaboratory = res.data['åå®éªå®¤'] |
| | | // this.dicList.unit = res.data['åä½'] |
| | | // this.dicList.inspectionItemType = res.data['æ£éªé¡¹ç±»å'] |
| | | // this.dicList.inspectionValueType = res.data['æ£éªå¼ç±»å'] |
| | | // this.dicList.bsm = res.data['æ¯å¦'] |
| | | // }) |
| | | }, |
| | | saveOrEnit() { |
| | | console.log('this.addOrupdateForm', this.addOrupdateForm.sample); |
| | | let flag = true |
| | | this.$refs['addOrupdateForm'].validate((valid) => { |
| | | if (valid) { |
| | | flag = false |
| | | return false |
| | | } |
| | | }); |
| | | if(flag) return |
| | | if(this.addOrupdateForm.sample != null && this.addOrupdateForm.sample != '' && this.addOrupdateForm.sample != undefined ) { |
| | | if(this.addOrupdateForm.sample.length > 0) { |
| | | this.addOrupdateForm.sample = JSON.stringify(this.addOrupdateForm.sample) |
| | | }else{ |
| | | this.addOrupdateForm.sample = '[]' |
| | | } |
| | | }else{ |
| | | this.addOrupdateForm.sample = '[]' |
| | | } |
| | | |
| | | // 1æ¯æ°å¢ |
| | | if(this.addOrUpdate == 1) { |
| | | this.addOrupdateForm.method = JSON.stringify(this.addOrupdateForm.method) |
| | | addItemParameter(this.addOrupdateForm).then(res => { |
| | | if(res.code == 200) { |
| | | this.$message.success('æ°å¢æå') |
| | | this.refreshTable() |
| | | this.handleClose() |
| | | this.dialogVisible = false |
| | | } else { |
| | | // æ¥é å°è½¬æ¢çmethod 以å sample 转æ¢åæ¥ |
| | | this.addOrupdateForm.method = JSON.parse(this.addOrupdateForm.method) |
| | | this.addOrupdateForm.sample = JSON.parse(this.addOrupdateForm.sample) |
| | | this.$message.error(res.message) |
| | | } |
| | | }) |
| | | }else{ |
| | | this.addOrupdateForm.method = JSON.stringify(this.addOrupdateForm.method) |
| | | upItemParameter(this.addOrupdateForm).then(res => { |
| | | if(res.code == 200) { |
| | | this.$message.success('ç¼è¾æå') |
| | | this.refreshTable() |
| | | this.handleClose() |
| | | this.dialogVisible = false |
| | | } else { |
| | | // æ¥é å°è½¬æ¢çmethod 以å sample 转æ¢åæ¥ |
| | | this.addOrupdateForm.method = JSON.parse(this.addOrupdateForm.method) |
| | | this.addOrupdateForm.sample = JSON.parse(this.addOrupdateForm.sample) |
| | | this.$message.error(res.message) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | handleClose() { |
| | | this.dialogVisible = false |
| | | this.addOrupdateForm = { |
| | | inspectionItem: '', |
| | | inspectionItemEn: '', |
| | | inspectionItemSubclass: '', |
| | | inspectionItemSubclassEn: '', |
| | | sample: null, |
| | | price: '', |
| | | laboratory: '', |
| | | sonLaboratory: '', |
| | | askTell: '', |
| | | ask: '', |
| | | unit: '', |
| | | manHour: '', |
| | | manDay: '', |
| | | manHourGroup: '', |
| | | inspectionItemType: '', |
| | | inspectionValueType: '', |
| | | dic: '', |
| | | bsm: '', |
| | | templateId: '', |
| | | inspectionItemClass: '', |
| | | inspectionItemClassEn: '', |
| | | method: null |
| | | } |
| | | this.$refs['addOrupdateForm'].resetFields(); |
| | | this.addOrUpdate = '' |
| | | }, |
| | | submitUpload() { |
| | | if (this.$refs.upload.uploadFiles.length == 0) { |
| | | this.$message.error('æªéæ©æä»¶') |
| | |
| | | return |
| | | } |
| | | this.$message.success('ä¸ä¼ æå') |
| | | this.standardList = [] |
| | | this.productList = [] |
| | | this.refreshTable() |
| | | }, |
| | |
| | | this.uploading = false |
| | | }, |
| | | beforeUpload(file, fileList) { |
| | | if (file.raw.type != 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') { |
| | | this.$message.error('ä¸ä¼ æä»¶æ ¼å¼ä¸æ£ç¡®'); |
| | | if (file.size > 1024 * 1024 * 10) { |
| | | this.$message.error('ä¸ä¼ æä»¶ä¸è¶
è¿10M'); |
| | | this.$refs.upload.clearFiles() |
| | | return false; |
| | | } else { |
| | | return true; |
| | | } |
| | | }, |
| | | selectorSwitch(radio) { |
| | | if (this.radio === '0') { |
| | | this.showItemParameter = true; |
| | | this.showTestObject = false; |
| | | this.selectTestObjectByName() |
| | | /* this.$nextTick(() => { |
| | | this.$refs.itemParameterTable.selectList() |
| | | }) */ |
| | | onError1(err, file, fileList) { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | this.$refs.upload1.clearFiles() |
| | | this.uploading = false |
| | | }, |
| | | beforeUpload1(file, fileList) { |
| | | if (file.size > 1024 * 1024 * 10) { |
| | | this.$message.error('ä¸ä¼ æä»¶ä¸è¶
è¿10M'); |
| | | this.$refs.upload1.clearFiles() |
| | | return false; |
| | | } else { |
| | | this.showTestObject = true; |
| | | this.showItemParameter = false; |
| | | return true; |
| | | } |
| | | }, |
| | | handleSuccessUp (response, file, fileList) { |
| | | this.$refs.upload.clearFiles() |
| | | if (response.code == 201) { |
| | | this.$message.error(response.message) |
| | | return |
| | | } |
| | | this.$message.success('ä¸ä¼ æå') |
| | | this.refreshTable() |
| | | }, |
| | | refreshTable() { |
| | | this.itemParameterData.entity.inspectionItem = this.itemParameterForm.inspectionItem |
| | | this.itemParameterData.entity.inspectionItemSubclass = this.itemParameterForm.inspectionItemSubclass |
| | | this.itemParameterData.entity.sample = this.itemParameterForm.sample |
| | | if (this.radio === '0') { |
| | | // this.$refs['itemParameterTable'].selectList() |
| | | this.tableLoading = true |
| | | if (this.radio === 0) { |
| | | selectItemParameterList({...this.page, ...this.itemParameterForm}).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200) { |
| | | this.tableData = res.data |
| | | this.page.total = res.total |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | } else { |
| | | // this.$refs['testObjectTable'].selectList() |
| | | selectTestObjectList({...this.testObjectPage, ...this.itemParameterForm}).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200) { |
| | | this.testObjectTableData = res.data |
| | | this.testObjectPage.total = res.total |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | } |
| | | }, |
| | | refresh() { |
| | | this.itemParameterData.entity = this.HaveJson(this.itemParameterEntityCopy) |
| | | this.testObjectData.entity = this.HaveJson(this.testObjectDataEntityCopy) |
| | | this.upIndex++ |
| | | this.resetForm('itemParameterForm') |
| | | this.refreshTable() |
| | | }, |
| | | openAdd(row) { |
| | | //0代表æ£éªåæ°tab |
| | | if (this.radio === '0') { |
| | | // this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter); |
| | | if(!row) { |
| | | this.addOrUpdate = 1 |
| | | }else{ |
| | | if(typeof row.sample == 'string') { |
| | | row.sample = JSON.parse(row.sample) |
| | | } |
| | | this.addOrUpdate = '' |
| | | this.addOrupdateForm = JSON.parse(JSON.stringify(row)) |
| | | } |
| | | this.dialogVisible = true |
| | | // æ£éªé¡¹ç®åæ°æ°å¢ |
| | | openAdd() { |
| | | if (this.radio === 0) { |
| | | this.$refs.editForm.openDia('add') |
| | | } else { |
| | | // this.$refs.testObjectTable.openAddDia(this.$api.capacityScope.addTestObject); |
| | | this.$refs.testObjectEditForm.openDia('add') |
| | | } |
| | | }, |
| | | selectDocUnit() { |
| | | // this.$axios.post(this.$api.enums.getDic).then(res => { |
| | | // this.dicList.dic = res.data.map(m => { |
| | | // return { |
| | | // label: m, |
| | | // value: m |
| | | // } |
| | | // }) |
| | | // }) |
| | | // æ£éªé¡¹ç®åæ°-æå¼ä¿®æ¹å¼¹æ¡ |
| | | editForm (row) { |
| | | this.$refs.editForm.openDia('edit', row) |
| | | }, |
| | | obtainItemParameterList() { |
| | | obtainItemParameterList().then(res => { |
| | | let data = [] |
| | | let data0 = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.id |
| | | }) |
| | | data0.push({ |
| | | label: a.laboratoryName, |
| | | value: a.laboratoryName |
| | | }) |
| | | }) |
| | | // this.itemParameterData.selectField.laboratory.select = data0 |
| | | // this.itemParameterData.tagField.laboratory.select = data0 |
| | | this.testObjectData.selectField.laboratoryId.select = data |
| | | this.testObjectData.tagField.laboratoryId.select = data |
| | | this.laboratory = data |
| | | }) |
| | | // æ£éªé¡¹ç®åæ°-å é¤ |
| | | delete (row) { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å 餿¤æ°æ®é¡¹ï¼').then(function() { |
| | | return delItemParameter(row.id); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }).catch(() => {}); |
| | | }, |
| | | selectStandardMethods() { |
| | | selectStandardMethods().then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.code, |
| | | value: a.code |
| | | }) |
| | | }) |
| | | this.dicList.method = data |
| | | }) |
| | | // æ£éªå¯¹è±¡-æå¼ä¿®æ¹å¼¹æ¡ |
| | | editTestObjectForm (row) { |
| | | this.$refs.testObjectEditForm.openDia('edit', row) |
| | | }, |
| | | selectTestObjectByName() { |
| | | getItemTree().then(res => { |
| | | res.data.forEach(a=>{ |
| | | this.cascaderFieldData(a) |
| | | }) |
| | | this.itemParameterData.cascaderField.sample.tree = res.data |
| | | this.tree = res.data |
| | | }) |
| | | // æ£éªé¡¹ç®åæ°-å é¤ |
| | | deleteTest (row) { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å 餿¤æ°æ®é¡¹ï¼').then(function() { |
| | | return delTestObject(row.id); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }).catch(() => {}); |
| | | }, |
| | | cascaderFieldData(val){ |
| | | if(val.children === undefined) { |
| | | return |
| | | }else if(val.children.length==0){[ |
| | | delete val.children |
| | | ]}else{ |
| | | val.children.forEach(a=>{ |
| | | this.cascaderFieldData(a) |
| | | }) |
| | | } |
| | | }, |
| | | getStandardTemplate() { |
| | | // this.$axios.get(this.$api.StandardTemplate.getStandardTemplate).then(res => { |
| | | // let data = [] |
| | | // res.data.forEach(a => { |
| | | // data.push({ |
| | | // label: a.name, |
| | | // value: a.id, |
| | | // type: 'success' |
| | | // }) |
| | | // }) |
| | | // // this.itemParameterData.selectField.templateId.select = data |
| | | // // this.itemParameterData.tagField.templateId.select = data |
| | | // this.dicList.templateId = data |
| | | // }) |
| | | }, |
| | | // 产åç»´æ¤ |
| | | upProduct(row) { |
| | | this.productData.entity.objectId = row.id |
| | | this.diaProduct = true |
| | | this.getProductList(row) |
| | | }, |
| | | getProductList (row) { |
| | | const params = { |
| | | objectId: 0, |
| | | partNo: row.partNo |
| | | } |
| | | this.productableLoading = true |
| | | selectProductListByObjectId({...params, ...this.productPage}).then(res => { |
| | | this.productableLoading = false |
| | | if (res.code === 200) return |
| | | this.productData = res.data |
| | | this.productPage.total = res.data.total |
| | | }).catch(err => { |
| | | this.productableLoading = false |
| | | }) |
| | | }, |
| | | // 产åç»´æ¤-æ°å¢ |
| | | openAdd2(){ |
| | | // this.$refs.productData.openAddDia(this.$api.capacityScope.addProduct, {objectId: this.productData.entity.objectId}); |
| | | |
| | | }, |
| | | // 产åç»´æ¤-ç¼è¾ |
| | | editProduct () { |
| | | |
| | | }, |
| | | // 产åç»´æ¤-å é¤ |
| | | deleteProduct (row) { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å 餿¤æ°æ®é¡¹ï¼').then(function() { |
| | | return delProduct(row.id); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }).catch(() => {}); |
| | | }, |
| | | // é¶ä»¶ç»å® |
| | | bindPartFirst (row) { |
| | | this.bindPart(row, 0) |
| | | }, |
| | | bindPartSecond (row) { |
| | | this.bindPart(row, 1) |
| | | }, |
| | | // åå®¶å¯åº¦ç»å® |
| | | bindSupplierDensitySecond (row) { |
| | | this.bindSupplierDensity(row) |
| | | }, |
| | | // æå¼åå®¶å¯åº¦ç»å®å¼¹æ¡ |
| | | bindSupplierDensity (row) { |
| | | this.currentSupplierDensityRow = row |
| | | this.bindSupplierDensityDialog = true |
| | | }, |
| | | // æå¼é¶ä»¶ç»å®å¼¹æ¡ |
| | | bindPart (row, index) { |
| | | this.type = index |
| | | this.currentRow = row |
| | | this.bindPartDialog = true |
| | | }, |
| | | closeBindPartDialog () { |
| | | this.bindPartDialog = false |
| | | }, |
| | | closeBindSupplierDensityDialog () { |
| | | this.bindSupplierDensityDialog = false |
| | | }, |
| | | } |
| | | } |