Merge remote-tracking branch 'origin/master'
# Conflicts:
# src/main.js
| | |
| | | </script> |
| | | <style> |
| | | /* @import url("../static/img/alifont/iconfont.css"); */ |
| | | @import url("//at.alicdn.com/t/c/font_4179845_pixkgb97c4p.css"); |
| | | @import url("//at.alicdn.com/t/c/font_4179845_jbljsur8ub.css"); |
| | | |
| | | * { |
| | | margin: 0; |
| | |
| | | const standard = { |
| | | // ææ¯ç®¡ç-æ åBom |
| | | selectTreeByMaterial: "material/selectTreeByMaterial", //æ¥è¯¢ç©æçæ |
| | | selectVersion:"/material/selectVersion",//å³ä¾§çæ¬ |
| | | selectProductByMaterial: "product/selectTreeByMaterial", //æ ¹æ®ç©ææ¥è¯¢é¡¹ç®è¡¨æ ¼ |
| | | selectTechnologyByMaterial: "technology/select", |
| | | selectAll:"/material/selectAll",//å³ä¾§æ°æ® |
| | | // ææ¯ç®¡ç-ææ¯æä»¶ |
| | | selectAllOrder: "/orders/selectAllOrder", //æ¥è¯¢ææè®¢åå表 |
| | | selectOrderById: "/orders/selectOrderById", //æ ¹æ®è®¢åidæ¥è¯¢è®¢å详æ
|
| | | |
| | | |
| | | //订åBOM |
| | | delDevice:"/device/delDeviceById",//订åBom |
| | | } |
| | | // åæææ£éª |
| | | const raw = { |
| | |
| | | |
| | | // QMSå®éªå®¤ç®¡ç |
| | | const laboratory = { |
| | | delDeviceById:"/device/delDeviceById",//å é¤ |
| | | addApi:"/device/add",//æ°å¢ |
| | | listgroup:"/device/list_group", |
| | | selectDevice:"/device/selectDevice",//å³è¾¹å±ç¤º |
| | | addDeviceInspectDownBox: "/device/listInspect", // æ°å¢ä»ªå¨è®¾å¤ï¼æ£éªé¡¹ç®ä¸ææ¡ |
| | | selectDeviceInspectMessage: "/device/inspectId", // æ°å¢ä»ªå¨è®¾å¤ï¼æ ¹æ®æ£éªé¡¹ç®IDæ¥è¯¢æ°æ® |
| | | addDeviceKeeper: "/device/list_user",// æ°å¢ä»ªå¨è®¾å¤ï¼ä¿ç®¡äººä¸ææ¡ |
| | |
| | | delTechById:"/technologyTemplate/delTechById",//æ°å¢å·¥èºè·¯çº¿==>å é¤ |
| | | selecTechById:"/technologyTemplate/selecTechById",//æ°å¢å·¥èºè·¯çº¿--ãç¼è¾ |
| | | delAllTech:"/technologyTemplate/delAllTech",//æ¹éå é¤ |
| | | |
| | | addTechMode:"/technicalModel/addTechMode",//ææ¯ææ ---ãæ°å¢ |
| | | delTechBy:"/technicalModel/delTechById",//ææ¯--.å é¤ |
| | | selectAllleft:"/technicalModel/selectAllTechTem",//ææ¯ææ -->左边 |
| | | selectAllright:"/technicalModel/selectAllTechNam",//ææ¯ææ --ãå³è¾¹ |
| | | chooseProFath:"/technicalModel/chooseProFath",//ææ¯ææ ---ãç¶ç±»éæ© |
| | | chooseTechFath: "/technicalModel/chooseTechFath",// ææ¯--->å·¥åºå·¥èº |
| | | selecTech:"/technicalModel/selecTechById",//ææ¯--->ç¼è¾ |
| | | |
| | | selectAllMbom:"/mbomModel/selectAllMbom",//ç©æç»´æ¤--ãå³è¾¹ |
| | | addMbom:"/mbomModel/addMbom",//ç©æ--->æ°å¢ |
| | | material:"/mbomModel/delMbomById",//ç©ææ¸
åå é¤ |
| | | |
| | | selectAllTeque:"/techniqueModel/selectAllTeque",//ç产工èºç»´æ¤---ãå³è¾¹ |
| | | |
| | | selectAllSelf:"/selfcheckModel/selectAllSelf",//èªå»ºç»´æ¤-----ãå³è¾¹ |
| | | selectjilu:"/techniqueModel/selectAllTeque",//ç产记å½ç»´æ¤---ãå³è¾¹ |
| | | addSelfcheck:"/selfcheckModel/addSelfcheck",//èªæ£ ------ãæ°å¢ |
| | | delSelfcheck:"/selfcheckModel/delSelfcheckById",//èªæ£----.å é¤ |
| | | delAll:"selfcheckModel/delAllTech",//æ¹éå é¤---.èªæ£ |
| | | |
| | | selectjilu:"/recordModel/selectAllRecord",//ç产记å½ç»´æ¤---ãå³è¾¹ |
| | | selecRecord:"/recordModel/selecRecordById",//ç产记å½----.ç¼è¾ |
| | | delQueById:"/recordModel/delQueById",//å é¤---.è®°å½å
容 |
| | | delAllRecord:"/recordModel/delAllRecord",//å 餿¹é--->è®°å½ |
| | | addRecord:"/recordModel/addRecord",//ç产记å½-------.æ°å¢ |
| | | |
| | | choosePro:"/techniqueModel/choosePro",//æ°å¢ç产工èºç»´æ¤---ãéæ©ç¶ç±» |
| | | chooseDeiv:"/techniqueModel/chooseDeiv",//æ°å¢----->è®¾å¤ |
| | | addQeMode:"/techniqueModel/addQeMode",//æ°å¢----ãä¼ å |
| | | delQueById:"/techniqueModel/delQueById",//å é¤ |
| | | delAllQue:"/techniqueModel/delAllQue",//æ¹éå é¤ |
| | | } |
| | | const url = { |
| | | enter: "user/enter", //ç»å½ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="record_content"> |
| | | <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12" style="line-height: 32px;">ææ¯ææ ç»´æ¤</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">æ°å¢</el-button> |
| | | <el-button icon="el-icon-edit-outline" @click="modify">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" @click="dels" >å é¤</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div> |
| | | <!-- ç¼è¾å¼¹çª --> |
| | | <div> |
| | | <el-dialog |
| | | title="ææ¯ææ ç¼è¾" |
| | | :visible.sync="modifyevent" |
| | | width="40%" |
| | | :before-close="handleClose"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 560px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="å·¥åº"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥æéæ©å·¥åº"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="å·¥èº"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥æéæ©å·¥èº"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="ä¸çº§"> |
| | | <el-input v-model="form.name" placeholder="è¯·éæ©ä¸çº§"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="项ç®"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥é¡¹ç®"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥åä½" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="modifyevent = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="modifyevent = false">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | <!-- æ°å¢å¼¹çª --> |
| | | <div> |
| | | <el-dialog |
| | | title="ææ¯ææ æ°å¢" |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | :before-close="handleClose"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | | <template> |
| | | <el-select v-model="form.type" size="small" placeholder="è¯·éæ©" @change="TYpe" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="å·¥åº"> |
| | | <template> |
| | | <el-select v-model="form.work" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | allow-create |
| | | filterable |
| | | @change="workevent" |
| | | > |
| | | <el-option |
| | | v-for="(item,index) in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="å·¥èº"> |
| | | <template> |
| | | <el-select v-model="form.name" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | allow-create |
| | | filterable |
| | | > |
| | | <el-option |
| | | v-for="item in craftapi" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="ä¸çº§"> |
| | | <template> |
| | | <el-select v-model="form.father" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | allow-create |
| | | filterable |
| | | > |
| | | <el-option |
| | | v-for="item in higherlevel" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="项ç®"> |
| | | <el-input v-model="form.project" placeholder="请è¾å
¥é¡¹ç®"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.unit" placeholder="请è¾å
¥åä½" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="add">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="choose"> |
| | | <span>ç±»åï¼</span> |
| | | <el-select v-model="search.type" size="small" placeholder="è¯·éæ©" @change="TYpe" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | <!-- <span>å·¥åºï¼</span> |
| | | <el-select v-model="search.name" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | <el-button size="mini"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;"><span>æ¥è¯¢</span></el-button> --> |
| | | </div> |
| | | <div class="thing"> |
| | | <!-- 主ä½å·¦ --> |
| | | <div class="left"> |
| | | <el-input v-model="search.technology" |
| | | suffix-icon="el-icon-search" |
| | | placeholder="请è¾å
¥æç´¢å
容" |
| | | size="small" |
| | | clearable @input="query" ></el-input> |
| | | <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="id" default-expand-all |
| | | @node-click="handleNodeClick" |
| | | > |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | {{data.father}} {{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <!-- 主ä½å³ --> |
| | | <div class="right"> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%;margin-bottom: 20px;" |
| | | row-key="name" |
| | | border |
| | | |
| | | @selection-change="handleSelectionChange" |
| | | default-expand-all |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | type="index" |
| | | width="50"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="项ç®" |
| | | sortable |
| | | width="300px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag> |
| | | <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> |
| | | {{ scope.row.children ? "01" : "02" }} |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black">{{ scope.row.name }}</span> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æä½" |
| | | width="200px"> |
| | | <template slot-scope="scope" style="text-align: center;"> |
| | | <el-button type="text" size="mini" @click="childrenClick(scope)">ç¼è¾</el-button> |
| | | <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div> |
| | | <el-dialog title="ç¼è¾ææ¯å
容" :visible.sync="upDia" width="500px"> |
| | | <div class="body"> |
| | | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">ç±»å:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="form.type" size="small" placeholder="è¯·éæ©" @change="TYpe" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å·¥åº:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="form.work" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | allow-create |
| | | filterable |
| | | @change="workevent" |
| | | > |
| | | <el-option |
| | | v-for="(item,index) in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å·¥èº:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="form.name" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | allow-create |
| | | filterable |
| | | > |
| | | <el-option |
| | | v-for="item in craftapi" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">项ç®åç§°:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="upData.name" size="small" clearable></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">åä½:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="upData.device_group" size="small" clearable></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitUpData">ç¡® å®</el-button> |
| | | <el-button @click="upDia = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | search:{ |
| | | type:'', |
| | | technology:'', |
| | | }, |
| | | // handleClose:[], |
| | | checkTreeNode :{ |
| | | id:2, |
| | | }, |
| | | higherlevel:[], |
| | | value:{}, |
| | | options:[], |
| | | process:[], |
| | | filterNode:[], |
| | | list: [], |
| | | form:{ |
| | | father:'', |
| | | work:'', |
| | | name:'', |
| | | unit:'', |
| | | project:'', |
| | | }, |
| | | children:[], |
| | | modifyevent:false, |
| | | dialogVisible:false, |
| | | tableData: [], |
| | | typeselect:0, |
| | | upData:{}, |
| | | upDia:false, |
| | | craftapi:[], |
| | | edit:{ |
| | | |
| | | } |
| | | } |
| | | |
| | | }, |
| | | mounted() { |
| | | this.selectAllleft() |
| | | this.selectAllright() |
| | | |
| | | }, |
| | | methods:{ |
| | | //ç¼è¾ |
| | | selecTech() { |
| | | this.$axios.get(this.$api.url.selecTech,{ |
| | | params:{ |
| | | id:this.upData.id |
| | | } |
| | | }).then(res => { |
| | | this.edit = res.data[0] |
| | | console.log(this.edit); |
| | | }) |
| | | }, |
| | | childrenClick() { |
| | | this.selecTech() |
| | | this.upDia = true |
| | | }, |
| | | submitUpData() {//ç¡®å® |
| | | |
| | | }, |
| | | //å é¤ |
| | | delTechBy() { |
| | | console.log(this.$api.url.delTechBy,this.upData.id); |
| | | this.$axios.post(this.$api.url.delTechBy,{ |
| | | id:this.upData.id |
| | | }).then(res =>{ |
| | | this.selectAllright() |
| | | this.$message.success('å é¤å®æ') |
| | | }) |
| | | }, |
| | | deleteRow(index, rows) { |
| | | this.tableData.splice(index,1) |
| | | this.upData = rows |
| | | this.upData.id = rows.id |
| | | this.delTechBy() |
| | | }, |
| | | add() { |
| | | this.dialogVisible = false |
| | | this.addTechMode() |
| | | }, |
| | | addTechMode() { |
| | | this.$axios.post(this.$api.url.addTechMode,{ |
| | | father:this.form.father, |
| | | name:this.form.project, |
| | | techTemId:this.form.name, |
| | | unit:this.form.unit, |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }).then(res =>{ |
| | | this.$message.success('æ°å¢å®æ') |
| | | this.selectAllright() |
| | | }) |
| | | }, |
| | | handleClose() { |
| | | |
| | | }, |
| | | TYpe(val) { |
| | | this.typeselect = val |
| | | console.log(this.typeselect); |
| | | this.selectAllleft() |
| | | }, |
| | | //主ä½å·¦ |
| | | selectAllleft() { |
| | | this.$axios.get(this.$api.url.selectAllleft,{ |
| | | params:{type:this.typeselect,message:this.search.technology} |
| | | }).then(res => { |
| | | this.list = res.data; |
| | | console.log(this.list); |
| | | }) |
| | | }, |
| | | // |
| | | //æ¥è¯¢ |
| | | query(val) { |
| | | this.selectAllleft() |
| | | }, |
| | | selectAllright() { |
| | | this.$axios.get(this.$api.url.selectAllright,{ |
| | | params:{id:this.checkTreeNode.id} |
| | | }).then(res => { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData); |
| | | }); |
| | | }, |
| | | //ä¸çº§ |
| | | chooseProFath() { |
| | | console.log(this.checkTreeNode.id); |
| | | this.$axios.get(this.$api.url.chooseProFath,{ |
| | | params:{techTemId:this.checkTreeNode.id} |
| | | }).then(res => { |
| | | this.higherlevel = res.data; |
| | | console.log(this.higherlevel); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | //å·¥åºå·¥èº |
| | | chooseTechFath() { |
| | | this.$axios.get(this.$api.url.chooseTechFath,{ |
| | | params:{type:this.typeselect} |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | workevent(val){ |
| | | console.log(val); |
| | | let idx = this.process.findIndex(el => el.name === val) |
| | | this.craftapi = this.process[idx].children |
| | | }, |
| | | handleNodeClick(data){ |
| | | this.checkTreeNode = data |
| | | console.log(this.checkTreeNode.id); |
| | | this.selectAllright() |
| | | }, |
| | | event(){ |
| | | this.dialogVisible = true |
| | | this.chooseProFath() |
| | | this.chooseTechFath() |
| | | }, |
| | | modify(){ |
| | | this.modifyevent = true |
| | | }, |
| | | // deleteRow(index, rows) { |
| | | // console.log(); |
| | | // rows.splice(index, 1); |
| | | // }, |
| | | handleSelectionChange(val) { |
| | | this.selects = val; |
| | | }, |
| | | dels() { |
| | | this.selects.forEach(a => { |
| | | for (var b = 0; b < this.tableData.length; b++) { |
| | | if (this.tableData[b].id == a.id) { |
| | | this.tableData.splice(b, 1) |
| | | b-- |
| | | } |
| | | } |
| | | }) |
| | | this.$message.success('å é¤å®æ') |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .title * { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .choose { |
| | | padding: 21px 24px; |
| | | display: flex; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | border-bottom: 3px solid rgb(245, 247, 251); |
| | | } |
| | | |
| | | .choose * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .choose .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .thing { |
| | | width: 100%; |
| | | height: calc(100% - 120px); |
| | | background-color: #fff; |
| | | display: flex; |
| | | } |
| | | |
| | | .thing .left { |
| | | width: 295px; |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | font-size: 14px; |
| | | padding-right: 8px; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | } |
| | | |
| | | .el-icon-delete { |
| | | display: none; |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | display: inline; |
| | | } |
| | | |
| | | .thing .right { |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 25px); |
| | | overflow: hidden; |
| | | padding: 10px; |
| | | } |
| | | |
| | | .table_do { |
| | | color: #004ea0; |
| | | cursor: pointer; |
| | | } |
| | | .firstDiv { |
| | | /* float: left; |
| | | width: 20px; |
| | | height: 20px; |
| | | border-radius: 60px; |
| | | /* background-color: #eff5ff; |
| | | margin-top: 5px; |
| | | justify-content: center; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 8px; */ |
| | | /* border-radius: 60px; */ |
| | | } |
| | | .el-tag{ |
| | | border-radius: 50%; |
| | | } |
| | | </style> |
| | | <style> |
| | | .record_content .title .el-button * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .record_content .title .el-button--default { |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | background: rgba(58, 124, 253, 0.2); |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .record_content .el-tree-node__content { |
| | | height: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="record_content"> |
| | | <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12" style="line-height: 32px;">è®¾å¤ææ ç»´æ¤</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">æ°å¢</el-button> |
| | | <el-button icon="el-icon-edit-outline" @click="modify">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" @click="dels" >å é¤</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div> |
| | | <!-- ç¼è¾å¼¹çª --> |
| | | <div> |
| | | <el-dialog |
| | | title="ææ¯ææ ç¼è¾" |
| | | :visible.sync="modifyevent" |
| | | width="40%" |
| | | :before-close="handleClose"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | | <template> |
| | | <el-select v-model="form.type" placeholder="è¯·éæ©ç±»å" > |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="å·¥åº"> |
| | | <template> |
| | | <el-select v-model="form.work" |
| | | placeholder="è¯·éæ©ç±»å" > |
| | | <el-option |
| | | v-for="item in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="设å¤"> |
| | | <el-input v-model="form.father" placeholder="è¯·éæ©ä¸çº§"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="项ç®"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥é¡¹ç®"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.unit" placeholder="请è¾å
¥åä½" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="modifyevent = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="modifyevent = false">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | <!-- æ°å¢å¼¹çª --> |
| | | <div> |
| | | <el-dialog |
| | | title="ææ¯ææ æ°å¢" |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | :before-close="handleClose"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | | <template> |
| | | <el-select v-model="form.type" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="å·¥åº"> |
| | | <template> |
| | | <el-select v-model="form.father" |
| | | placeholder="è¯·éæ©ç±»å" > |
| | | <el-option |
| | | v-for="item in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="设å¤"> |
| | | <template> |
| | | <el-select v-model="form.work" placeholder="è¯·éæ©ç±»å" > |
| | | <el-option |
| | | v-for="item in higherlevel" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="项ç®"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥é¡¹ç®"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.unit" placeholder="请è¾å
¥åä½" style="width: 220px;"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="add">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="choose"> |
| | | <span>ç±»åï¼</span> |
| | | <el-select v-model="search.type" size="small" @change="TYpe" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | <!-- <span>å·¥åºï¼</span> |
| | | <el-select v-model="search.name" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | <el-button size="mini"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;"><span>æ¥è¯¢</span></el-button> --> |
| | | </div> |
| | | <div class="thing"> |
| | | <!-- 主ä½å·¦ --> |
| | | <div class="left"> |
| | | <el-input v-model="search.technology" |
| | | suffix-icon="el-icon-search" |
| | | placeholder="请è¾å
¥æç´¢å
容" |
| | | size="small" clearable ></el-input> |
| | | <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all |
| | | highlight-current :filter-node-method="filterNode" |
| | | @node-click="handleNodeClick" |
| | | > |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | {{data.code}} {{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <!-- 主ä½å³ --> |
| | | <div class="right"> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%;margin-bottom: 20px;" |
| | | row-key="name" |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | default-expand-all |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | type="index" |
| | | width="50"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="设å¤åç§°" |
| | | sortable |
| | | width="300px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag> |
| | | <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`"> |
| | | {{ scope.row.children ? "01" : "02" }} |
| | | </div> |
| | | </el-tag> |
| | | <span style="children: black">{{ scope.row.name }}</span> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="项ç®" |
| | | sortable |
| | | width="300px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag> |
| | | <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`"> |
| | | {{ scope.row.children ? "01" : "02" }} |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black">{{ scope.row.name }}</span> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ææ "> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æä½" |
| | | width="200px"> |
| | | <template slot-scope="scope" style="text-align: center;"> |
| | | <el-button type="text" size="mini" @click="childrenClick(scope)">ç¼è¾</el-button> |
| | | <el-button type="text" size="mini" @click="deleteRow(scope.$index, tableData)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | search:{}, |
| | | value:{}, |
| | | typeselect:0, |
| | | options:[], |
| | | process:[], |
| | | list: [], |
| | | TYpe:'', |
| | | selects:'', |
| | | process:{}, |
| | | options:{}, |
| | | checkTreeNode:{ |
| | | id:2, |
| | | }, |
| | | form:{ |
| | | type:'', |
| | | father:'', |
| | | work:'', |
| | | name:'', |
| | | unit:'', |
| | | |
| | | |
| | | }, |
| | | modifyevent:false, |
| | | dialogVisible:false, |
| | | tableData: [], |
| | | higherlevel:{}, |
| | | } |
| | | |
| | | }, |
| | | mounted() { |
| | | this.selectAllleft() |
| | | this.selectAllTeque() |
| | | }, |
| | | methods:{ |
| | | elForm() {}, |
| | | //æ°å¢ |
| | | choosePro() {//å·¥åº |
| | | this.$axios.get(this.$api.url.choosePro,{ |
| | | params:{techTemId:this.checkTreeNode.id} |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | chooseDeiv() {//è®¾å¤ |
| | | this.$axios.get(this.$api.url.chooseDeiv,{ |
| | | params:{techTemId:this.checkTreeNode.id} |
| | | }).then(res => { |
| | | this.higherlevel = res.data; |
| | | console.log(this.process); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | //æ°å¢ |
| | | event(){ |
| | | this.dialogVisible = true |
| | | this.choosePro() |
| | | this.chooseDeiv() |
| | | }, |
| | | //确认 |
| | | add() { |
| | | this.dialogVisible = false |
| | | }, |
| | | addQeMode(){ |
| | | this.$axios.get(this.$api.url.addQeMode,{ |
| | | devId:this.form.xxx, |
| | | techTemId:this.form.xxx, |
| | | technicalModelId:this.form.xxx, |
| | | }) |
| | | }, |
| | | |
| | | //ç¼è¾ |
| | | childrenClick() { |
| | | this.modifyevent=true |
| | | this.chooseTechFath() |
| | | }, |
| | | TYpe() { |
| | | this.typeselect = val |
| | | this.selectAllleft() |
| | | }, |
| | | handleNodeClick(data){ |
| | | this.checkTreeNode = data |
| | | console.log(this.checkTreeNode.id); |
| | | this.selectAllTeque() |
| | | |
| | | }, |
| | | |
| | | //主ä½å·¦ |
| | | selectAllleft() { |
| | | this.$axios.get(this.$api.url.selectAllleft,{ |
| | | params:{type:this.typeselect} |
| | | }).then(res => { |
| | | this.list = res.data; |
| | | console.log(this.list); |
| | | }) |
| | | }, |
| | | //主ä½å³ |
| | | selectAllTeque() { |
| | | this.$axios.get(this.$api.url.selectAllTeque,{ |
| | | params:{id:this.checkTreeNode.id} |
| | | }).then(res => { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData); |
| | | |
| | | }) |
| | | }, |
| | | modify(){ |
| | | this.modifyevent = true |
| | | }, |
| | | deleteRow(index, rows) { |
| | | rows.splice(index, 1); |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = val |
| | | }, |
| | | dels() { |
| | | this.selects.forEach(a => { |
| | | for (var b = 0; b < this.tableData.length; b++) { |
| | | if (this.tableData[b].id == a.id) { |
| | | this.tableData.splice(b, 1) |
| | | b-- |
| | | } |
| | | } |
| | | }) |
| | | this.$message.success('å é¤å®æ') |
| | | }, |
| | | handleClose(){ |
| | | this.$confirm('确认å
³éï¼') |
| | | .then(_ => { |
| | | done(); |
| | | }) |
| | | .catch(_ => {}) |
| | | }, |
| | | filterNode(){ |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .title * { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .choose { |
| | | padding: 21px 24px; |
| | | display: flex; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | border-bottom: 3px solid rgb(245, 247, 251); |
| | | } |
| | | |
| | | .choose * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .choose .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .thing { |
| | | width: 100%; |
| | | height: calc(100% - 120px); |
| | | background-color: #fff; |
| | | display: flex; |
| | | } |
| | | |
| | | .thing .left { |
| | | width: 295px; |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | font-size: 14px; |
| | | padding-right: 8px; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | } |
| | | |
| | | .el-icon-delete { |
| | | display: none; |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | display: inline; |
| | | } |
| | | |
| | | .thing .right { |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 25px); |
| | | overflow: hidden; |
| | | padding: 10px; |
| | | } |
| | | |
| | | .table_do { |
| | | color: #004ea0; |
| | | cursor: pointer; |
| | | } |
| | | .firstDiv { |
| | | /* float: left; |
| | | width: 20px; |
| | | height: 20px; |
| | | border-radius: 60px; */ |
| | | /* background-color: #eff5ff; |
| | | margin-top: 5px; |
| | | justify-content: center; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 8px; */ |
| | | } |
| | | </style> |
| | | <style> |
| | | .record_content .title .el-button * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .record_content .title .el-button--default { |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | background: rgba(58, 124, 253, 0.2); |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .record_content .el-tree-node__content { |
| | | height: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | </style> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç¶çº§åç±»"> |
| | | <el-form-item label="设å¤ç»" prop="name"> |
| | | <el-select |
| | | v-model="value" |
| | | @blur="productSelect" |
| | | filterable |
| | | allow-create |
| | | placeholder="è¯·éæ©ç¶çº§åç±»" |
| | | v-model="ruleForm.equr" |
| | | placeholder="è¯·éæ©è®¾å¤ç»" |
| | | > |
| | | <el-option |
| | | v-for="list in parentClassificationList" |
| | | :key="list.index" |
| | | :label="list.father" |
| | | :value="list.father" |
| | | v-for="list in equip" |
| | | :key="list" |
| | | :label="list" |
| | | :value="list" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£æµé¡¹ç®" prop="rawInsProductId" required> |
| | | <el-select |
| | | v-model="ruleForm.rawInsProductId" |
| | | placeholder="è¯·éæ©æ£æµé¡¹ç®" |
| | | > |
| | | <el-option |
| | | v-for="item in inspectionList" |
| | | :key="item.index" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£æµæ ·å" required> |
| | | <el-form-item> |
| | | <el-input |
| | | placeholder="æ£æµæ ·å" |
| | | :disabled="true" |
| | | style="width: 206px" |
| | | v-model="showCodeNameModel.name" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <!-- <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è§æ ¼åå·"> |
| | | <el-input |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£æµäºº"> |
| | | <el-input |
| | | placeholder="æ£æµäºº" |
| | | :disabled="true" |
| | | style="width: 206px" |
| | | v-model="showCodeNameModel.user_name" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-row> --> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | |
| | | <el-radio-group |
| | | class="ai-tab-change" |
| | | style="width: 270px; margin-top: 5px" |
| | | v-model="radio1" |
| | | v-model="equipment" |
| | | @input="RadioChange" |
| | | > |
| | | <el-radio-button size="small" label="true"> |
| | | <div>ç产设å¤</div> |
| | | </el-radio-button> |
| | | <el-radio-button size="small" label="false"> |
| | | <div>æ£æµè®¾å¤</div> |
| | | </el-radio-button> |
| | | <el-radio-button label="1">ç产设å¤</el-radio-button> |
| | | <el-radio-button label="2">æ£éªè®¾å¤</el-radio-button> |
| | | </el-radio-group> |
| | | <el-input |
| | | class="frame_input" |
| | |
| | | }` |
| | | " |
| | | ></i> |
| | | {{ data.name }}</span |
| | | {{ data.father }}</span |
| | | > |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="仪å¨è®¾å¤åç§°" width="125"> |
| | | </el-table-column> |
| | | <el-table-column prop="keeper" label="ä¿ç®¡äºº"> </el-table-column> |
| | | <el-table-column prop="userName" label="ä¿ç®¡äºº"> </el-table-column> |
| | | <el-table-column |
| | | prop="end_measure" |
| | | prop="DATE_FORMAT(end_measure, '%Y-%m-%d')" |
| | | label="è®¡éæªè³æææ" |
| | | width="147" |
| | | > |
| | |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="inspectProject" label="æ£æµé¡¹ç®"> |
| | | <!-- <el-table-column prop="inspectProject" label="æ£æµé¡¹ç®"> |
| | | </el-table-column> |
| | | <el-table-column prop="testSample" label="æ£éªæ ·å"> |
| | | </el-table-column> |
| | | <el-table-column prop="user_name" label="æ£æµäºº"> </el-table-column> |
| | | <el-table-column prop="user_name" label="æ£æµäºº"> </el-table-column> --> |
| | | <el-table-column prop="name" label="æä½"> |
| | | <template v-slot="scope"> |
| | | <el-button |
| | | @click="handleClick(scope.$index, tableData, scope.row)" |
| | | @click="handleClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | >å é¤</el-button |
| | |
| | | staue_value: "", // ä¸»é¡µè¡¨æ ¼ä¸æ¹çç¶æéæ© |
| | | // BOMæ æ°æ®ç»æ |
| | | towTree: [], |
| | | equipment: '', |
| | | equip:'', |
| | | ruleForm: { |
| | | // æ°å¢ä»ªå¨è¡¨å |
| | | code: "", |
| | |
| | | keeper: "", |
| | | name: "", |
| | | rawInsProductId: "", |
| | | type: "" |
| | | type: "", |
| | | treedata:{ |
| | | father:'设å¤ç»1', |
| | | }, |
| | | equr:1, |
| | | }, |
| | | delete:{}, |
| | | equip:[], |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: "请è¾å
¥ä»ªå¨è®¾å¤ç¼å·", trigger: "blur" }, |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | selectDevice() {//å³è¾¹æ°æ® |
| | | console.log(this.$api.url.selectDevice); |
| | | this.$axios.get(this.$api.url.selectDevice,{ |
| | | params:{ |
| | | father:this.treedata.father, |
| | | type:this.equip, |
| | | } |
| | | }).then(res =>{ |
| | | console.log(res); |
| | | this.tableData = res.data |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | // 卿æ§å¶å±å¼ä¸æ¶èµ·å忢坹åºå¾æ |
| | | isC() { |
| | | this.isCollapse = !this.isCollapse; |
| | |
| | | } |
| | | }, |
| | | submitForm() { |
| | | this.$refs.ruleForm.validate(valid => { |
| | | if (valid) { |
| | | this.ruleForm.father = this.value; |
| | | this.$axios |
| | | .post(this.$api.url.addDeviceInstrument, this.ruleForm, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | .then(res => { |
| | | this.keeperList = res.data; |
| | | // æåå
³éæ°å¢å¼¹åºæ¡ |
| | | this.dialogVisible = false; |
| | | }); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | }); |
| | | // this.$refs.ruleForm.validate(valid => { |
| | | // if (valid) { |
| | | // this.ruleForm.father = this.value; |
| | | // this.$axios |
| | | // .post(this.$api.url.addDeviceInstrument, this.ruleForm, { |
| | | // headers: { |
| | | // "Content-Type": "application/json" |
| | | // } |
| | | // }) |
| | | // .then(res => { |
| | | // this.keeperList = res.data; |
| | | // // æåå
³éæ°å¢å¼¹åºæ¡ |
| | | // this.dialogVisible = false; |
| | | // }); |
| | | // } else { |
| | | // console.log("error submit!!"); |
| | | // return false; |
| | | // } |
| | | // }); |
| | | this.addApi() |
| | | this.dialogVisible = false; |
| | | }, |
| | | handleClose(done) { |
| | | this.$confirm("确认å
³éï¼") |
| | |
| | | this.$axios.get(this.$api.url.addDeviceKeeper).then(res => { |
| | | this.keeperList = res.data; |
| | | }); |
| | | this.$axios.get(this.$api.url.addDeviceInspectDownBox).then(res => { |
| | | this.inspectionList = res.data; |
| | | }); |
| | | this.$axios.get(this.$api.url.addDeviceParentClassification).then(res => { |
| | | this.parentClassificationList = res.data; |
| | | }); |
| | | this.listgroup() |
| | | }, |
| | | listgroup() { |
| | | this.$axios.get(this.$api.url.listgroup).then(res =>{ |
| | | this.equip = res.data |
| | | }) |
| | | }, |
| | | RadioChange(val){ |
| | | console.log(val); |
| | | this.equip = val |
| | | this.twoTreeApi() |
| | | }, |
| | | twoTreeApi() { |
| | | this.$axios.get(this.$api.url.towTree).then(res => { |
| | | let list = res.data; |
| | | list.forEach(i => { |
| | | if (i.name === undefined) { |
| | | i.name = i.children[0].name; |
| | | i.id = i.children[0].id; |
| | | i.children = undefined; |
| | | } |
| | | }); |
| | | this.$axios.get(this.$api.url.towTree,{ |
| | | params:{ |
| | | type:this.equip |
| | | } |
| | | }).then(res => { |
| | | // let list = res.data; |
| | | // list.forEach(i => { |
| | | // if (i.name === undefined) { |
| | | // i.name = i.children[0].name; |
| | | // i.id = i.children[0].id; |
| | | // i.children = undefined; |
| | | // } |
| | | // }); |
| | | this.towTree = res.data; |
| | | }); |
| | | }, |
| | | tableDataApi() { |
| | | this.$axios.get(this.$api.url.tableDeviceList).then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | addApi() { |
| | | this.$axios.post(this.$api.url.addApi,{ |
| | | code:this.ruleForm.code, |
| | | deviceStatus:this.ruleForm.deviceStatus, |
| | | endMeasure:this.ruleForm.endMeasure, |
| | | factory:this.ruleForm.factory, |
| | | father:this.ruleForm.equr, |
| | | keeper:this.ruleForm.keeper, |
| | | name:this.ruleForm.name, |
| | | type:this.ruleForm.type, |
| | | }, {headers: {"Content-Type": "application/json"}}) |
| | | }, |
| | | // tableDataApi() { |
| | | // this.$axios.get(this.$api.url.tableDeviceList).then(res => { |
| | | // this.tableData = res.data; |
| | | // }); |
| | | // }, |
| | | reset() { |
| | | this.tableDataApi(); |
| | | this.radio1 = "true"; |
| | |
| | | this.staue_value = ""; |
| | | }, |
| | | handleNodeClick(data) { |
| | | if (data.id === undefined) { |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { |
| | | params: { fatherName: data.name } |
| | | }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } else if (data.id !== undefined) { |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { params: { deviceId: data.id } }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } |
| | | console.log(data); |
| | | this.treedata = data |
| | | this.selectDevice() |
| | | }, |
| | | handlerDeptList() { |
| | | this.towTree = []; |
| | |
| | | }); |
| | | } |
| | | }, |
| | | handleClick(index, datas, row) { |
| | | this.$confirm("æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.$axios |
| | | .delete(this.$api.url.deleteDevice, { params: { deviceId: row.id } }) |
| | | .then(res => { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: "success" |
| | | }); |
| | | datas.splice(index, 1); |
| | | }) |
| | | .catch(err => { |
| | | this.$message({ |
| | | message: err.message, |
| | | type: "warning" |
| | | }); |
| | | }); |
| | | }); |
| | | delDeviceById() { |
| | | this.$axios.post(this.$api.url.delDeviceById,{ |
| | | id:this.delete.id |
| | | }) |
| | | }, |
| | | handleClick(row) { |
| | | console.log(row); |
| | | this.delete = row |
| | | this.delDeviceById() |
| | | this.selectDevice() |
| | | // this.$confirm("æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?", "æç¤º", { |
| | | // confirmButtonText: "ç¡®å®", |
| | | // cancelButtonText: "åæ¶", |
| | | // type: "warning" |
| | | // }).then(() => { |
| | | // this.$axios |
| | | // .delete(this.$api.url.deleteDevice, { params: { deviceId: row.id } }) |
| | | // .then(res => { |
| | | // this.$message({ |
| | | // message: res.message, |
| | | // type: "success" |
| | | // }); |
| | | // datas.splice(index, 1); |
| | | // }) |
| | | // .catch(err => { |
| | | // this.$message({ |
| | | // message: err.message, |
| | | // type: "warning" |
| | | // }); |
| | | // }); |
| | | // }); |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?", "æç¤º", { |
| | |
| | | this.twoTreeApi(); |
| | | // åå§åè°ç¨è¡¨æ ¼æ°æ® |
| | | this.tableDataApi(); |
| | | this.selectDevice()//å³è¾¹ |
| | | }, |
| | | watch: { |
| | | "ruleForm.rawInsProductId": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | dialogVisible: { |
| | | handler: function(newVal, oldVal) { |
| | | if (newVal) { |
| | | // æåæ¸
空è¾å
¥å
容 |
| | | this.ruleForm = {}; |
| | | this.value = ""; |
| | | this.showCodeNameModel = {}; |
| | | this.$refs.ruleForm.resetFields(); |
| | | } |
| | | } |
| | | }, |
| | | // dialogVisible: { |
| | | // handler: function(newVal, oldVal) { |
| | | // if (newVal) { |
| | | // // æåæ¸
空è¾å
¥å
容 |
| | | // this.ruleForm = {}; |
| | | // this.value = ""; |
| | | // this.showCodeNameModel = {}; |
| | | // this.$refs.ruleForm.resetFields(); |
| | | // } |
| | | // } |
| | | // }, |
| | | radio1: { |
| | | handler: function(newVal, oldVal) { |
| | | this.towTree = []; |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="å·¥åº:"> |
| | | <el-select v-model="search.type" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åº"> |
| | | <template> |
| | | <el-select v-model="search.work" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | allow-create |
| | | filterable |
| | | @change="workevent" |
| | | > |
| | | <el-option |
| | | v-for="(item,index) in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="å·¥èºåç§°:"> |
| | | <el-select v-model="search.type" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | <el-select v-model="search.craft" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option |
| | | v-for="item in craftapi" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <template> |
| | | <el-table |
| | | border |
| | | :data="tableData" |
| | | :data="tableapi" |
| | | height="calc(80vh - 250px)" |
| | | style="width: 100%"> |
| | | <el-table-column type="index" label="åºå·" width="70"> |
| | |
| | | label="ä¾åºååç§°" |
| | | width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.input" placeholder="请è¾å
¥å
容" ></el-input> |
| | | <el-input v-model="scope.row.supplier" placeholder="" ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="" |
| | | label="è´¨é追溯å·" |
| | | width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.qualityTraceability" placeholder="" ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="è´¨é追溯å·" |
| | | width="180"> |
| | | label="åææåç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.name" placeholder="请è¾å
¥å
容" ></el-input> |
| | | <el-input v-model="scope.row.name" placeholder="" ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åææåç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="è§æ ¼åå·"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.specifications" placeholder="" ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | prop="unit" |
| | | label="åä½"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.unit" placeholder="" ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | |
| | | <el-table-column label="æä½" width="130"> |
| | | <template slot-scope="scope"> |
| | | <!-- <span class="table_do" @click="upContent(scope.row)">ç¼è¾ </span> --> |
| | | <span class="table_do" @click="deleteRow(scope.$index, tableData)">å é¤</span> |
| | | <span class="table_do" @click="deleteRow(scope.$index, scope.row)">å é¤</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | return { |
| | | search:{}, |
| | | list:[], |
| | | process:[], |
| | | process:{}, |
| | | // handleClose:[], |
| | | checkTreeNode:[], |
| | | checkTreeNode:{ |
| | | id:2, |
| | | }, |
| | | tableData:[], |
| | | search:{}, |
| | | tableapi:[{ |
| | | supplier:'', |
| | | qualityTraceability:'', |
| | | name:'', |
| | | specifications:'', |
| | | unit:'', |
| | | }], |
| | | search:{ |
| | | type:'', |
| | | work:'', |
| | | craft:'', |
| | | |
| | | }, |
| | | addsearch:{}, |
| | | upData:{}, |
| | | form:{}, |
| | | dialogVisible:false, |
| | | typeselect:0, |
| | | tableData: [], |
| | | input:'' |
| | | input:'', |
| | | craftapi:[], |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.selectAllleft() |
| | | this.selectAllleft() |
| | | this.selectAllMbom() |
| | | }, |
| | | methods:{ |
| | | workevent(val){ |
| | | console.log(val); |
| | | let idx = this.process.findIndex(el => el.name === val) |
| | | this.craftapi = this.process[idx].children |
| | | }, |
| | | //æ°å¢ |
| | | chooseTechFath() { |
| | | this.$axios.get(this.$api.url.chooseTechFath,{ |
| | | params:{type:this.typeselect} |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | addMbom(data) { |
| | | this.$axios.post(this.$api.url.addMbom,data |
| | | // { |
| | | // name:this.tableapi.name, |
| | | // qualityTraceability:this.tableapi.qualityTraceability, |
| | | // specifications:this.tableapi.specifications, |
| | | // supplier:this.tableapi.supplier, |
| | | // techTemId:this.craftapi.id, |
| | | // unit:this.tableapi.unit, |
| | | // } |
| | | , { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }).then(res =>{ |
| | | console.log(res); |
| | | this.$message.success('æ·»å 宿') |
| | | this.selectAllMbom() |
| | | this.tableapi = [{}] |
| | | }) |
| | | }, |
| | | //å é¤ |
| | | material(index) { |
| | | console.log(this.upData.id); |
| | | this.$axios.post(this.$api.url.material,{ |
| | | id:this.upData.id |
| | | }).then(res =>{ |
| | | this.$message.success(res.message) |
| | | this.tableData.splice(index,1) |
| | | |
| | | // console.log(res); |
| | | }) |
| | | }, |
| | | TYpe(val) { |
| | | this.typeselect = val |
| | | this.selectAllleft() |
| | |
| | | params:{type:this.typeselect} |
| | | }).then(res => { |
| | | this.list = res.data; |
| | | console.log(this.list); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | |
| | | params:{id:this.checkTreeNode.id} |
| | | }).then(res => { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | |
| | | }, |
| | | event(){ |
| | | this.dialogVisible = true |
| | | this.chooseTechFath() |
| | | }, |
| | | Addrow() { |
| | | if (this.tableData == undefined) { |
| | | this.tableData = new Array(); |
| | | if (this.tableapi == undefined) { |
| | | this.tableapi = new Array(); |
| | | } |
| | | let obj = []; |
| | | |
| | | this.tableData.push(obj); |
| | | this.tableapi.push(obj); |
| | | }, |
| | | skipshow(){ |
| | | console.log('666'); |
| | | const data = this.tableData.at(-1) |
| | | console.log(data); |
| | | let data = this.tableapi.at(-1) |
| | | // this.addMbom() |
| | | data.techTemId = this.search.craft |
| | | // console.log(this.search.craft); |
| | | // console.log(data); |
| | | |
| | | this.addMbom(data) |
| | | |
| | | this.dialogVisible = false |
| | | }, |
| | |
| | | this.selects = val; |
| | | }, |
| | | deleteRow(index, rows) { |
| | | rows.splice(index, 1); |
| | | console.log(rows); |
| | | // this.tableData.splice(index,1) |
| | | this.upData.id = rows.id |
| | | console.log(this.upData); |
| | | this.material(index) |
| | | }, |
| | | |
| | | } |
| | |
| | | @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode" |
| | | :key="upIndex"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | {{data.code}} {{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column prop="thing" label="夿³¨"> |
| | | <el-table-column prop="note" label="夿³¨"> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" width="130"> |
| | | <template slot-scope="scope"> |
| | | <span class="table_do" @click="upContent(scope.row)">ç¼è¾ </span> |
| | | <span class="table_do" @click="deleteRow(scope.$index, tableData)">å é¤</span> |
| | | <span class="table_do" @click="deleteRow(scope.$index, scope.row)">å é¤</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </div> |
| | | <el-dialog title="ç¼è¾è®°å½å
容" :visible.sync="upDia" width="500px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">ç±»å:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="edit.type" placeholder="è¯·éæ©ç±»å" style="width: 310px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å·¥åº:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="edit.techFather" |
| | | placeholder="è¯·éæ©ç±»å" |
| | | @change="workevent" |
| | | style="width: 310px;"> |
| | | <el-option |
| | | v-for="item in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å·¥èº:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="edit.techName" placeholder="è¯·éæ©ç±»å" style="width: 310px;"> |
| | | <el-option |
| | | v-for="item in craftapi" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">åç§°:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">夿³¨:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="upData.thing" size="small" clearable></el-input> |
| | | <el-input v-model="upData.note" size="small" clearable></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | <el-select v-model="form.type" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åº"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-select v-model="form.work" |
| | | @change="workevent" |
| | | placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥èºåç§°"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-select v-model="form.craft" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in craftapi" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="è®°å½"> |
| | | <el-input v-model="form.name"></el-input> |
| | | <el-input v-model="form.record"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨"> |
| | | <el-input v-model="form.vvvv"></el-input> |
| | | <el-input v-model="form.remarks"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.aaaa"></el-input> |
| | | <el-input v-model="form.unit"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="dialogVisible = false">ç¡® å®</el-button> |
| | | <el-button type="primary" @click="add">ç¡® å®</el-button> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="è®°å½"> |
| | | <el-input v-model="form.name"></el-input> |
| | | <el-input v-model="form.record"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨"> |
| | | <el-input v-model="form.vvvv"></el-input> |
| | | <el-input v-model="form.remarks"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.aaaa"></el-input> |
| | | <el-input v-model="form.unit"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | }, |
| | | options:[], |
| | | value:{}, |
| | | form:{}, |
| | | craftapi:[], |
| | | form:{ |
| | | type:'', |
| | | work:'', |
| | | craft:'', |
| | | name:'', |
| | | record:'', |
| | | remarks:'', |
| | | unit:'', |
| | | }, |
| | | modifyVisible:false, |
| | | dialogVisible:false, |
| | | process: [], |
| | | process: {}, |
| | | list: [], |
| | | checkTreeNode: {}, |
| | | tableData: [], |
| | | upIndex: 0, |
| | | selects: [], |
| | | delete:[], |
| | | typeselect:0, |
| | | upDia: false, |
| | | checkTreeNode:[], |
| | | checkTreeNode:{ |
| | | id:2, |
| | | }, |
| | | upData:{}, |
| | | edit:{ |
| | | name:'', |
| | | note:'', |
| | | techFather:'', |
| | | techName:'', |
| | | type:'', |
| | | unit:'', |
| | | }, |
| | | upData: { |
| | | id: 0, |
| | | name: null, |
| | |
| | | }, |
| | | mounted() { |
| | | this.selectAllleft() |
| | | this.selectjilu() |
| | | }, |
| | | methods: { |
| | | delQueById() { |
| | | this.$axios.get(this.$api.url.delQueById,) |
| | | }, |
| | | childrenClick() {}, |
| | | //æ°å¢ |
| | | workevent(val){ |
| | | console.log(val); |
| | | let idx = this.process.findIndex(el => el.name === val) |
| | | this.craftapi = this.process[idx].children |
| | | }, |
| | | chooseTechFath() { |
| | | this.$axios.get(this.$api.url.chooseTechFath,{ |
| | | params:{type:this.typeselect} |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | addRecord() { |
| | | this.$axios.post(this.$api.url.addRecord,{ |
| | | name:this.form.record, |
| | | note:this.form.remarks, |
| | | techTemId:this.form.craft, |
| | | unit:this.form.unit, |
| | | } |
| | | , { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | } |
| | | ) |
| | | }, |
| | | add() { |
| | | this.dialogVisible = false |
| | | this.addRecord() |
| | | this.selectjilu() |
| | | this.form = {}; |
| | | }, |
| | | //ç¼è¾ this.upData |
| | | selecRecord() { |
| | | this.$axios.get(this.$api.url.selecRecord,{ |
| | | params:{ |
| | | id:this.upData.id |
| | | } |
| | | }).then(res => { |
| | | this.edit = res.data[0] |
| | | // console.log(this.edit); |
| | | }) |
| | | }, |
| | | TYpe(val) { |
| | | this.typeselect = val |
| | | console.log(this.typeselect); |
| | |
| | | }).then(res => { |
| | | this.list = res.data; |
| | | console.log(this.list); |
| | | this.selectDataList() |
| | | }) |
| | | }, |
| | | //selectjilu checkTreeNode |
| | |
| | | }, |
| | | addend(){ |
| | | this.dialogVisible = true |
| | | this.chooseTechFath() |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | |
| | | } |
| | | } |
| | | }) |
| | | let cc = this.selects.map(el => { |
| | | return el.id |
| | | }) |
| | | this.delete = cc.join(',') |
| | | console.log(this.delete); |
| | | this.delAllRecord() |
| | | this.$message.success('å é¤å®æ') |
| | | }, |
| | | deleteRow(index, rows) { |
| | | rows.splice(index, 1); |
| | | //æ¹éå é¤ |
| | | delAllRecord() { |
| | | this.$axios.post(this.$api.url.delAllRecord,{ |
| | | ids:this.delete |
| | | }) |
| | | }, |
| | | |
| | | //å é¤ |
| | | delQueById() { |
| | | this.$axios.post(this.$api.url.delQueById,{ |
| | | id:this.upData.id |
| | | }) |
| | | }, |
| | | deleteRow(index, rows) { |
| | | this.tableData.splice(index,1) |
| | | this.upData.id = rows.id |
| | | this.delQueById() |
| | | }, |
| | | |
| | | upContent(ob) { |
| | | this.upData = this.HaveJson(ob) |
| | | this.upData = ob |
| | | console.log(this.upData); |
| | | this.selecRecord() |
| | | this.chooseTechFath() |
| | | this.upDia = true |
| | | }, |
| | | submitUpData() { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <style scoped> |
| | | .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .title * { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .choose { |
| | | padding: 21px 24px; |
| | | display: flex; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | border-bottom: 3px solid rgb(245, 247, 251); |
| | | } |
| | | |
| | | .choose * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .choose .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .thing { |
| | | width: 100%; |
| | | height: calc(100% - 120px); |
| | | background-color: #fff; |
| | | display: flex; |
| | | } |
| | | |
| | | .thing .left { |
| | | width: 295px; |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | font-size: 14px; |
| | | padding-right: 8px; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | } |
| | | |
| | | .el-icon-delete { |
| | | display: none; |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | display: inline; |
| | | } |
| | | |
| | | .thing .right { |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 25px); |
| | | overflow: hidden; |
| | | padding: 10px; |
| | | } |
| | | |
| | | .table_do { |
| | | color: #004ea0; |
| | | cursor: pointer; |
| | | } |
| | | </style> |
| | | <style> |
| | | .record_content .title .el-button * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .record_content .title .el-button--default { |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | background: rgba(58, 124, 253, 0.2); |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .record_content .el-tree-node__content { |
| | | height: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="record_content"> |
| | | <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12" style="line-height: 32px;">å·¡æ£é¡¹ç®ç»´æ¤</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">æ°å¢</el-button> |
| | | <el-button icon="el-icon-edit-outline" >ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" @click="dels">å é¤</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="choose"> |
| | | <span>ç±»åï¼</span> |
| | | <el-select v-model="search.type" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | <span>åææåç§°ï¼</span> |
| | | <el-select v-model="search.name" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | <el-button size="mini" @click="clean()"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;"><span>æ¥ |
| | | 询</span></el-button> |
| | | </div> |
| | | <div class="thing"> |
| | | <div class="left"> |
| | | <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请è¾å
¥æç´¢å
容" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></el-input> |
| | | <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all |
| | | @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode" |
| | | :key="upIndex"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | {{data.code}} {{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%" |
| | | @selection-change="handleSelectionChange" default-expand-all> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column type="index" label="åºå·" width="70"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="åææåç§°"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="åä½" width="150"> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="æ°é" width="300"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.num" size="medium" placeholder="请è¾å
¥åä½" clearable @change="(val)=>submitUpData(scope.row.id, val)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" width="100"> |
| | | <template slot-scope="scope"> |
| | | <span class="table_do" @click="deleteRow(scope.$index, tableData)">å é¤</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | search: { |
| | | type: 0, |
| | | name: null |
| | | }, |
| | | process: [], |
| | | product: [], |
| | | list: [{ |
| | | id: 0, |
| | | name: "å·¥èº", |
| | | children: [{ |
| | | id: 5, |
| | | name: "å·¥åº" |
| | | }] |
| | | }, { |
| | | id: 1, |
| | | name: "æå" |
| | | }, { |
| | | id: 2, |
| | | name: "åæå" |
| | | }], |
| | | checkTreeNode: {}, |
| | | tableData: [{ |
| | | id: 1, |
| | | name: "åææåç§°", |
| | | unit: "åä½", |
| | | num: "æ°é" |
| | | }, { |
| | | id: 2, |
| | | name: "ä½ä¸äººå", |
| | | unit: "dajskda", |
| | | num: "12348" |
| | | }, { |
| | | id: 3, |
| | | name: "è§æ ¼", |
| | | unit: "dajskda", |
| | | num: "12348" |
| | | }, { |
| | | id: 4, |
| | | name: "è§æ ¼", |
| | | unit: "dajskda", |
| | | num: "12348" |
| | | }, { |
| | | id: 5, |
| | | name: "è§æ ¼", |
| | | unit: "dajskda", |
| | | num: "12348" |
| | | }], |
| | | upIndex: 0, |
| | | selects: [], |
| | | upData: { |
| | | id: 0, |
| | | num: null |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.selectDataList() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.name.indexOf(value) !== -1; |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("æ¯å¦å é¤", "è¦å", { |
| | | type: "warning" |
| | | }).then(res => { |
| | | const parent = node.parent; |
| | | const children = parent.data.children || parent.data; |
| | | const index = children.findIndex(d => d.id === data.id); |
| | | children.splice(index, 1); |
| | | }).catch(e => {}) |
| | | }, |
| | | selectDataList() { |
| | | this.list.forEach(a => { |
| | | a.code = '[1]' |
| | | if (a.children != undefined) { |
| | | a.children.forEach(b => { |
| | | b.code = '[2]' |
| | | }) |
| | | } |
| | | }) |
| | | this.upIndex++ |
| | | }, |
| | | handleNodeClick(data) { |
| | | this.checkTreeNode = data |
| | | if (data.code == '[2]') { |
| | | console.log(data); |
| | | } |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = val; |
| | | }, |
| | | dels() { |
| | | this.selects.forEach(a => { |
| | | for (var b = 0; b < this.tableData.length; b++) { |
| | | if (this.tableData[b].id == a.id) { |
| | | this.tableData.splice(b, 1) |
| | | b-- |
| | | } |
| | | } |
| | | }) |
| | | this.$message.success('å é¤å®æ') |
| | | }, |
| | | deleteRow(index, rows) { |
| | | rows.splice(index, 1); |
| | | }, |
| | | submitUpData(id,val) { |
| | | this.tableData.forEach(a => { |
| | | if (a.id == id) { |
| | | a.num = val |
| | | } |
| | | }) |
| | | this.$message.success('ä¿®æ¹æå') |
| | | this.upIndex++ |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-col :span="12" style="line-height: 32px;">èªæ£é¡¹ç®ç»´æ¤</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="addend">æ°å¢</el-button> |
| | | <el-button icon="el-icon-edit-outline" @click="modify">ä¿®æ¹</el-button> |
| | | <!-- <el-button icon="el-icon-edit-outline" @click="modify">ä¿®æ¹</el-button> --> |
| | | <el-button icon="el-icon-delete" @click="dels">å é¤</el-button> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | <span>å·¥åºï¼</span> |
| | | <el-select v-model="search.name" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <!-- <span>å·¥åºï¼</span> --> |
| | | <!-- <el-select v-model="search.name" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 30px;"> |
| | | <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | <span>项ç®ï¼</span> |
| | |
| | | </el-select> |
| | | <el-button size="mini" @click="clean()"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;"><span>æ¥ |
| | | 询</span></el-button> |
| | | 询</span></el-button> --> |
| | | </div> |
| | | <div class="thing"> |
| | | <div class="left"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="æä½" width="130"> |
| | | <template slot-scope="scope"> |
| | | <span class="table_do" @click="upContent(scope.row)">ç¼è¾ </span> |
| | | <span class="table_do" @click="deleteRow(scope.$index, tableData)">å é¤</span> |
| | | <!-- <span class="table_do" @click="upContent(scope.row)">ç¼è¾ --> |
| | | <!-- </span> --> |
| | | <span class="table_do" @click="deleteRow(scope.$index, scope.row)">å é¤</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="ç¼è¾è®°å½å
容" :visible.sync="upDia" width="500px"> |
| | | <!-- <el-dialog title="ç¼è¾è®°å½å
容" :visible.sync="upDia" width="500px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">åç§°:</el-col> |
| | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">æ åå¼:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="upData.stand" size="small" clearable></el-input> |
| | | <el-input v-model="upData.required" size="small" clearable></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å
æ§å¼:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="upData.ask" size="small" clearable></el-input> |
| | | <el-input v-model="upData.internal" size="small" clearable></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | |
| | | <el-button type="primary" @click="submitUpData">ç¡® å®</el-button> |
| | | <el-button @click="upDia = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </el-dialog> --> |
| | | <!-- æ°å¢å¼¹çª --> |
| | | <el-dialog title="èªå»ºæ°å¢" :visible.sync="dialogVisible" width="35%"> |
| | | <div> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | <el-select v-model="form.value" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | | <el-option label="忝ç»ä»¶" :value="3"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åº"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-select v-model="form.procedure" |
| | | @change="workevent" |
| | | placeholder="è¯·éæ©ç±»å" style="width: 480px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in process" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | <el-col :span="10"> |
| | | <el-form-item label="å·¥èºåç§°"> |
| | | <template> |
| | | <el-select v-model="value" placeholder="è¯·éæ©ç±»å" style="width: 180px;"> |
| | | <el-select v-model="form.name" placeholder="è¯·éæ©ç±»å" style="width: 180px;"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in craftapi" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10" :offset="3"> |
| | | <el-form-item label="èªå»ºé¡¹ç®"> |
| | | <el-input v-model="form.name" style="width: 180px;"></el-input> |
| | | <el-form-item label="èªæ£é¡¹ç®"> |
| | | <el-input v-model="form.project" style="width: 180px;"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="åä½"> |
| | | <el-input v-model="form.vvvv" style="width: 180px;"></el-input> |
| | | <el-input v-model="form.unit" style="width: 180px;"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10" :offset="3"> |
| | | <el-form-item label="æ åå¼"> |
| | | <el-input v-model="form.aaaa" style="width: 180px;"></el-input> |
| | | <el-input v-model="form.standard" style="width: 180px;"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="å
æ§å¼" > |
| | | <el-input v-model="form.aaaa" style="width: 180px;"></el-input> |
| | | <el-input v-model="form.control" style="width: 180px;"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="dialogVisible = false">ç¡® å®</el-button> |
| | | <el-button type="primary" @click="add">ç¡® å®</el-button> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- ä¿®æ¹å¼¹çª --> |
| | | <el-dialog title="å·¥èºè·¯çº¿ä¿®æ¹" :visible.sync="modifyVisible" width="35%"> |
| | | <!-- <el-dialog title="å·¥èºè·¯çº¿ä¿®æ¹" :visible.sync="modifyVisible" width="35%"> |
| | | <div> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="ç±»å"> |
| | |
| | | <el-button type="primary" @click="modifyVisible = false">ç¡® å®</el-button> |
| | | <el-button @click="modifyVisible = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </el-dialog> --> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | options:[], |
| | | value:{}, |
| | | form:{}, |
| | | form:{ |
| | | value:'', |
| | | procedure:'', |
| | | name:'', |
| | | project:'', |
| | | unit:'', |
| | | standard:'', |
| | | control:'', |
| | | }, |
| | | modifyVisible:false, |
| | | dialogVisible:false, |
| | | process: [], |
| | | product: [], |
| | | list: [], |
| | | checkTreeNode: {}, |
| | | checkTreeNode: { |
| | | id:2, |
| | | }, |
| | | tableData: [], |
| | | upIndex: 0, |
| | | selects: [], |
| | | upDia: false, |
| | | upDia: [], |
| | | typeselect:0, |
| | | checkTreeNode:[], |
| | | process:[], |
| | | craftapi:[], |
| | | delete:{}, |
| | | upData: { |
| | | id: 0, |
| | | name: null, |
| | |
| | | }, |
| | | mounted() { |
| | | this.selectAllleft() |
| | | this.selectAllSelf() |
| | | }, |
| | | methods: { |
| | | //å é¤ |
| | | delSelfcheck() { |
| | | console.log(this.upData.id); |
| | | this.$axios.post(this.$api.url.delSelfcheck,{ |
| | | id:this.upData.id |
| | | } |
| | | |
| | | ) |
| | | }, |
| | | deleteRow(index, row) { |
| | | this.tableData.splice(index,1) |
| | | this.upData.id = row.id |
| | | this.delSelfcheck() |
| | | }, |
| | | //æ¹éå é¤ |
| | | delAll() { |
| | | this.$axios.post(this.$api.url.delAll,{ |
| | | ids:this.delete |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | //æ°å¢ |
| | | add() { |
| | | this.dialogVisible = false |
| | | this.addSelfcheck() |
| | | }, |
| | | addSelfcheck() { |
| | | this.$axios.post(this.$api.url.addSelfcheck,{ |
| | | internal:this.form.control, |
| | | name:this.form.project, |
| | | required:this.form.standard, |
| | | techTemId:this.form.name, |
| | | unit:this.form.unit, |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }).then(res=>{ |
| | | this.selectAllSelf() |
| | | this.form = {} |
| | | }) |
| | | }, |
| | | //å·¥åºå·¥èº |
| | | chooseTechFath() { |
| | | this.$axios.get(this.$api.url.chooseTechFath,{ |
| | | params:{type:this.typeselect} |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | | }, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | }, |
| | | workevent(val){ |
| | | console.log(val); |
| | | let idx = this.process.findIndex(el => el.name === val) |
| | | this.craftapi = this.process[idx].children |
| | | }, |
| | | TYpe(val) { |
| | | this.typeselect = val |
| | | console.log(this.typeselect); |
| | |
| | | }, |
| | | addend(){ |
| | | this.dialogVisible = true |
| | | this.chooseTechFath() |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | |
| | | } |
| | | } |
| | | }) |
| | | let cc = this.selects.map(el => { |
| | | return el.id |
| | | }) |
| | | this.delete = cc.join(',') |
| | | console.log(this.delete); |
| | | this.delAll() |
| | | this.$message.success('å é¤å®æ') |
| | | }, |
| | | deleteRow(index, rows) { |
| | | rows.splice(index, 1); |
| | | }, |
| | | upContent(ob) { |
| | | this.upData = this.HaveJson(ob) |
| | |
| | | <style scoped> |
| | | .standard {} |
| | | |
| | | .standard .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .standard .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .standard .title *{ |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .thing { |
| | | width: 100%; |
| | | height: calc(100% - 48px); |
| | | background-color: #fff; |
| | | display: flex; |
| | | } |
| | | |
| | | .thing .left { |
| | | width: 295px; |
| | | height: calc(100% - 32px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | font-size: 14px; |
| | | padding-right: 8px; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | } |
| | | |
| | | .el-icon-delete { |
| | | display: none; |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | display: inline; |
| | | } |
| | | |
| | | .thing .right { |
| | | width: calc(100% - 295px); |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .thing .right .choose { |
| | | padding: 21px 24px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .thing .right .choose * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .right .choose .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .thing .right .table{ |
| | | margin-right: 24px; |
| | | height: calc(100% - 74px); |
| | | } |
| | | </style> |
| | | <style> |
| | | .standard .title .el-button * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .standard .title .el-button--default{ |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .standard .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | background: rgba(58, 124, 253, 0.3); |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .el-tree-node__content { |
| | | height: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="standard"> |
| | | <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12" style="line-height: 32px;">æ åBOM</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="bomAddModelVisible= true">æ°å¢</el-button> |
| | | <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" |
| | | @click="bomAddModelVisible = true">æ°å¢</el-button> |
| | | <el-button icon="el-icon-plus">æ°å¢çæ¬</el-button> |
| | | <el-button icon="el-icon-edit-outline">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete">å é¤</el-button> |
| | | </el-col> |
| | |
| | | <div class="thing"> |
| | | <div class="left"> |
| | | <el-input v-model="search" suffix-icon="el-icon-search" placeholder="请è¾å
¥æç´¢å
容" size="small" clearable></el-input> |
| | | <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose"> |
| | | |
| | | <el-tree :data="list" ref="tree" :default-expand-all="false" :props="{ children: 'children', label: 'name' }" |
| | | node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span><i :class="`node_i ${data.code != '[4]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | {{data.code}}{{ data.name }}</span> |
| | | <span><i :class="`node_i ${data.code != '[4]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | |
| | | |
| | | <div class="right"> |
| | | <div class="choose"> |
| | | <span>ç±»åï¼</span> |
| | | <el-select v-model="tableType" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 52px;"> |
| | | <el-option :value="0" label="å·¥èºæä»¶"></el-option> |
| | | <el-select v-model="tableType" size="small" placeholder="è¯·éæ©" @change="TYPE" |
| | | style="width: 224px;margin-right: 52px;"> |
| | | <el-option :value="0" label="å·¥èºè·¯çº¿"></el-option> |
| | | <el-option :value="1" label="ææ¯ææ "></el-option> |
| | | <el-option :value="2" label="ç©ææ¸
å"></el-option> |
| | | <el-option :value="3" label="ç产工èº"></el-option> |
| | | </el-select> |
| | | <span>{{tableType==1?'项ç®ï¼':'å·¥èºåç§°ï¼'}}</span> |
| | | <el-input v-model="searchName" size="small" placeholder="请è¾å
¥" style="width: 224px;margin-right: 24px;" clearable></el-input> |
| | | <el-button size="mini" @click="()=>{searchName='';selectProductTableData()}"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>æ¥ è¯¢</span></el-button> |
| | | <span>{{ tableType == 1 ? '项ç®ï¼' : 'å·¥èºåç§°ï¼' }}</span> |
| | | <el-input v-model="searchName" size="small" placeholder="请è¾å
¥" style="width: 224px;margin-right: 24px;" |
| | | clearable></el-input> |
| | | <span>{{ tableType == 1 ? 'çæ¬ï¼' : 'å·¥èºåç§°ï¼' }}</span> |
| | | <el-select v-model="VER" @change="verevent" style="width: 280px;" placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in version" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button size="mini" @click="() => { searchName = ''; selectProductTableData() }"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>æ¥ |
| | | 询</span></el-button> |
| | | </div> |
| | | |
| | | <div> |
| | | <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border |
| | | @selection-change="handleSelectionChange" default-expand-all |
| | | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> |
| | | <el-table-column type="selection" width="55"> |
| | | </el-table-column> |
| | | <el-table-column type="index" width="50" label="åºå·"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="å·¥åº" sortable width="300px"> |
| | | <!-- <template slot-scope="scope"> |
| | | <el-tag> |
| | | <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> |
| | | {{ scope.row.children ? "01" : "02" }} |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black">{{ scope.row.name }}</span> |
| | | |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="" sortable label="å·¥èºåç§°"> |
| | | </el-table-column> |
| | | <el-table-column prop="" label="ææ åç§°"> |
| | | </el-table-column> |
| | | <el-table-column prop="" label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column prop="" label="å
æ§å¼"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="æ åå¼"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="table"> |
| | | <technology v-if="tableData.length!==0" :tableType="tableType" :tableData="tableData"></technology> |
| | | <technology v-if="tableData.length !== 0" :tableType="tableType" :tableData="tableData"></technology> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="bom-add-model"> |
| | | <el-dialog |
| | | title="BOMæ°å¢" |
| | | :visible.sync="bomAddModelVisible" |
| | | width="30%"> |
| | | <el-dialog title="BOMæ°å¢" :visible.sync="bomAddModelVisible" width="30%"> |
| | | <el-form> |
| | | |
| | | </el-form> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import technology from "./standard-table/technology.vue" |
| | | export default { |
| | | components: {technology}, |
| | | data() { |
| | | return { |
| | | // BOMæ æ°æ®ç»æ |
| | | list: [{ |
| | | id: 0, |
| | | name: "åææ", |
| | | code: "[1]", |
| | | children: [] |
| | | }, { |
| | | id: 1, |
| | | name: "æå", |
| | | code: "[1]", |
| | | children: [] |
| | | }, { |
| | | id: 2, |
| | | name: "åæå", |
| | | code: "[1]", |
| | | children: [] |
| | | }], |
| | | search: null, |
| | | // è¡¨æ ¼ç±»å 1ï¼ææ¯ææ ï¼0ï¼å·¥èºè·¯çº¿ |
| | | tableType: 1, |
| | | // æ¥è¯¢æ¡ä»¶-åç§° |
| | | searchName: "", |
| | | // ç¹å»é䏿 èç¹ |
| | | checkTreeNode: {}, |
| | | tableData:[], |
| | | // æ§å¶bomæ°å¢æ¨¡ææ¡æ¯å¦æ¾ç¤º |
| | | bomAddModelVisible: false |
| | | } |
| | | }, |
| | | watch: { |
| | | search(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | tableType(val){ |
| | | this.selectProductTableData() |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.selectMaterialTree() |
| | | }, |
| | | methods: { |
| | | handleNodeClick(data) { |
| | | this.checkTreeNode = data |
| | | // this.selectMaterialTree() |
| | | this.selectProductTableData() |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("æ¯å¦å é¤", "è¦å", { |
| | | type: "warning" |
| | | }).then(res => { |
| | | const parent = node.parent; |
| | | const children = parent.data.children || parent.data; |
| | | const index = children.findIndex(d => d.id === data.id); |
| | | children.splice(index, 1); |
| | | }).catch(e => {}) |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | selectMaterialTree() { |
| | | this.$axios.get(this.$api.url.selectTreeByMaterial).then(res => { |
| | | res.data.forEach(a => { |
| | | this.list.forEach(b => { |
| | | if (a.type == b.id) b.children = [a] |
| | | }) |
| | | }) |
| | | this.$nextTick().then(() => { |
| | | const firstNode = document.querySelector('.el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node') |
| | | firstNode.click() |
| | | }) |
| | | }) |
| | | import technology from "./standard-table/technology.vue" |
| | | export default { |
| | | components: { technology }, |
| | | data() { |
| | | return { |
| | | // BOMæ æ°æ®ç»æ |
| | | list: [], |
| | | search: null, |
| | | tableType: 1, // è¡¨æ ¼ç±»å 1ï¼ææ¯ææ ï¼0ï¼å·¥èºè·¯çº¿ |
| | | searchName: "",// æ¥è¯¢æ¡ä»¶-åç§° |
| | | checkTreeNode: {},// ç¹å»é䏿 èç¹ |
| | | tableData: [], |
| | | bomAddModelVisible: false,// æ§å¶bomæ°å¢æ¨¡ææ¡æ¯å¦æ¾ç¤º |
| | | list: [], |
| | | typeselect: {}, |
| | | returntree: {}, |
| | | version: {}, |
| | | VER: {}, |
| | | verdata: {}, |
| | | character: '', |
| | | } |
| | | }, |
| | | // watch: { |
| | | // search(val) { |
| | | // this.$refs.tree.filter(val); |
| | | // }, |
| | | // tableType(val){ |
| | | // this.selectProductTableData() |
| | | // } |
| | | // }, |
| | | mounted() { |
| | | this.selectMaterialTree() |
| | | }, |
| | | methods: { |
| | | handleSelectionChange() { |
| | | |
| | | }, |
| | | async selectProductTableData() { |
| | | switch (this.tableType) { |
| | | case 0: |
| | | const {data:technologyList} = await this.$axios.get(this.$api.url.selectTechnologyByMaterial,{params:{specificationId:this.checkTreeNode.id,technologyName:this.searchName}}) |
| | | this.tableData = technologyList |
| | | break; |
| | | case 1: |
| | | const {data:productList} = await this.$axios.get(this.$api.url.selectProductByMaterial,{params:{specifications:this.checkTreeNode.id,project:this.searchName}}) |
| | | productList.forEach((item,index)=>{ |
| | | item.name = item.father |
| | | item.index = index+1 |
| | | item.id = item.father |
| | | if(item.children.length===1){ |
| | | productList[index] = {...item.children[0],index: index+1,name:item.father} |
| | | } |
| | | }) |
| | | this.tableData = productList |
| | | break; |
| | | }, |
| | | TYPE(val) {//ç±»å.æ°æ® |
| | | console.log(val); |
| | | this.typeselect = val |
| | | console.log(this.typeselect); |
| | | this.selectVersion() |
| | | }, |
| | | handleNodeClick(val) {//æ çå¼ |
| | | console.log(val); |
| | | this.returntree = val |
| | | }, |
| | | selectVersion() { |
| | | this.$axios.get(this.$api.url.selectVersion, { |
| | | params: { |
| | | specificationsId: this.returntree.id, |
| | | type: this.typeselect, |
| | | } |
| | | }).then(res => { |
| | | this.verdata = res.data |
| | | this.version = this.verdata.map(el => { |
| | | return el = `v${el}` |
| | | }) |
| | | console.log(this.verdata); |
| | | }) |
| | | }, |
| | | verevent(val) { |
| | | console.log(val); |
| | | let cc = val.replace('v', '') |
| | | console.log(cc); |
| | | this.character = cc |
| | | this.selectAll() |
| | | // const { v, ...newObj } = val; |
| | | // delete newObj.v |
| | | // console.log(newObj); |
| | | }, |
| | | //å³ä¾§æ°æ® |
| | | selectAll() { |
| | | console.log(this.$axios.get(this.$api.url.selectAll)); |
| | | this.$axios.get(this.$api.url.selectAll, { |
| | | params: { |
| | | specificationsId: this.returntree.id, |
| | | type: this.typeselect, |
| | | version: this.character, |
| | | } |
| | | }).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | }, |
| | | //äºçº§æ |
| | | selectMaterialTree() { |
| | | this.$axios.get(this.$api.url.selectTreeByMaterial).then(res => { |
| | | this.list = res.data |
| | | this.list.forEach((el, idx, arr) => { |
| | | if (idx == 0) { |
| | | arr[idx].name = 'æå' |
| | | } |
| | | if (idx == 1) { |
| | | arr[idx].name = 'åæå' |
| | | } |
| | | el.children.forEach((newEl, newIdx, newArr) => { |
| | | if (newIdx == 0) { |
| | | newArr[newIdx].name = 'æ©¡è¶è¿æ¥å¨' |
| | | } |
| | | if (newIdx == 1) { |
| | | newArr[newIdx].name = 'éå±è¿æ¥å¨' |
| | | } |
| | | if (newIdx == 2) { |
| | | newArr[newIdx].name = '湿ææçµè¿æ¥å¨' |
| | | } |
| | | if (newIdx == 3) { |
| | | newArr[newIdx].name = '忝ç»ä»¶' |
| | | } |
| | | }) |
| | | }) |
| | | console.log(this.list); |
| | | }) |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("æ¯å¦å é¤", "è¦å", { |
| | | type: "warning" |
| | | }).then(res => { |
| | | const parent = node.parent; |
| | | const children = parent.data.children || parent.data; |
| | | const index = children.findIndex(d => d.id === data.id); |
| | | children.splice(index, 1); |
| | | }).catch(e => { }) |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | async selectProductTableData() { |
| | | switch (this.tableType) { |
| | | case 0: |
| | | const { data: technologyList } = await this.$axios.get(this.$api.url.selectTechnologyByMaterial, { params: { specificationId: this.checkTreeNode.id, technologyName: this.searchName } }) |
| | | this.tableData = technologyList |
| | | break; |
| | | case 1: |
| | | const { data: productList } = await this.$axios.get(this.$api.url.selectProductByMaterial, { params: { specifications: this.checkTreeNode.id, project: this.searchName } }) |
| | | productList.forEach((item, index) => { |
| | | item.name = item.father |
| | | item.index = index + 1 |
| | | item.id = item.father |
| | | if (item.children.length === 1) { |
| | | productList[index] = { ...item.children[0], index: index + 1, name: item.father } |
| | | } |
| | | }) |
| | | this.tableData = productList |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | |
| | | <style scoped> |
| | | .standard {} |
| | | |
| | | .standard .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .standard .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .standard .title * { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .thing { |
| | | width: 100%; |
| | | height: calc(100% - 48px); |
| | | background-color: #fff; |
| | | display: flex; |
| | | } |
| | | |
| | | .thing .left { |
| | | width: 295px; |
| | | height: calc(100% - 32px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | font-size: 14px; |
| | | padding-right: 8px; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | } |
| | | |
| | | .el-icon-delete { |
| | | display: none; |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | display: inline; |
| | | } |
| | | |
| | | .thing .right { |
| | | width: calc(100% - 295px); |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .thing .right .choose { |
| | | padding: 21px 24px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .thing .right .choose * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .thing .right .choose .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .thing .right .table { |
| | | margin-right: 24px; |
| | | height: calc(100% - 74px); |
| | | } |
| | | </style> |
| | | <style> |
| | | .standard .title .el-button * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .standard .title .el-button--default { |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .standard .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | background: rgba(58, 124, 253, 0.3); |
| | | color: #004EA2; |
| | | } |
| | | |
| | | .el-tree-node__content { |
| | | height: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | </style> |
| | | |
| | |
| | | |
| | | <style scoped> |
| | | .technical{ |
| | | height: 100%; |
| | | width: 100%; |
| | | } |
| | | .technical .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .technical .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | /* æç´¢å¤´é¨æ ·å¼ */ |
| | | .search-header{ |
| | | background: #fff; |
| | | padding: 24px 32px; |
| | | } |
| | | .search-header .el-form-item{ |
| | | margin: 0px; |
| | | font-size: 14px; |
| | | } |
| | | .search-header .el-form-item:nth-child(1){ |
| | | margin-right: 48px; |
| | | } |
| | | .search-header .el-form-item:nth-child(2){ |
| | | margin-right: 24px; |
| | | } |
| | | /* éç½®åæ¥è¯¢ä¸¤ä¸ªæé®æ ·å¼ */ |
| | | .search-header .el-form-item .el-button{ |
| | | width: 65px; |
| | | height: 32px; |
| | | box-sizing: border-box; |
| | | background: rgb(255, 255, 255); |
| | | border: 1px solid rgb(217, 217, 217); |
| | | border-radius:2px; |
| | | padding: 0; |
| | | font-size: 14px; |
| | | } |
| | | .search-header .el-form-item .el-button:nth-child(2){ |
| | | /* Rectangle 77 */ |
| | | background: rgb(0, 78, 162); |
| | | color: #fff; |
| | | } |
| | | /* è¾å
¥æ¡çæ ·å¼ */ |
| | | .search-header .el-form-item .el-input >>>.el-input__inner{ |
| | | width: 224px; |
| | | height: 32px ; |
| | | box-sizing: border-box; |
| | | background: rgb(255, 255, 255); |
| | | border: 1px solid rgb(217, 217, 217); |
| | | border-radius:2px; |
| | | } |
| | | |
| | | |
| | | /* ææ¯æä»¶è¡¨æ ¼æ ·å¼ */ |
| | | .technical-table{ |
| | | margin-top: 11px; |
| | | height: calc(100% - 140px); |
| | | background: #fff; |
| | | padding: 23px 21px ; |
| | | font-size: 14px; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | /* .technical-table .el-table{ |
| | | overflow-y:scroll; |
| | | } */ |
| | | .technical-table .table-box { |
| | | flex: 1; |
| | | overflow-y: scroll; |
| | | } |
| | | .technical-table .el-pagination{ |
| | | margin-top: 23px; |
| | | display: flex; |
| | | justify-content: end; |
| | | } |
| | | .formtitle{ |
| | | display: block; |
| | | margin-bottom: 24px; |
| | | font-size: 16px; |
| | | } |
| | | .detail-model >>>.el-form-item__label{ |
| | | color: rgb(51, 51, 51); |
| | | } |
| | | .detail-model >>>.el-input__inner{ |
| | | width: 224px; |
| | | height: 32px; |
| | | box-sizing: border-box; |
| | | background: rgb(238, 238, 238); |
| | | border: 1px solid rgb(221, 221, 221); |
| | | border-radius:4px; |
| | | } |
| | | </style> |
| | | |
| | | |
| | | <template> |
| | | <div class="technical"> |
| | | <div class="title"> |
| | |
| | | width="78"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="id" |
| | | label="订åå·" |
| | | width="124"> |
| | | prop="order_number" |
| | | label="订åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="saleman" |
| | | label="ä¸å¡å"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proname" |
| | | label="å·¥ç¨åç§°" |
| | | width="160"> |
| | | label="客æ·åç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="code" |
| | | label="产åç¼ç " |
| | | width="168" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="type" |
| | | label="产å大类" |
| | | width="128"> |
| | | prop="name" |
| | | label="产ååç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="specifications" |
| | | label="è§æ ¼åå·" |
| | | width="170"> |
| | | label="è§æ ¼åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="åä½" |
| | | width="100"> |
| | | label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="number" |
| | | label="æ°é" |
| | | width="118" |
| | | > |
| | | label="æ°é"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="username" |
| | | label="ä¸å人" |
| | | width="114"> |
| | | prop="ä¸åæ¥æ" |
| | | label="ä¸åæ¥æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="createTime" |
| | | label="ä¸åæ¥æ" |
| | | width="153" |
| | | > |
| | | prop="äº¤è´§æ¥æ" |
| | | label="äº¤è´§æ¥æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="deliveryTime" |
| | | label="äº¤è´§æ¥æ" |
| | | width="137"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="state" |
| | | prop="type" |
| | | label="ç¶æ" |
| | | width="85" |
| | | > |
| | | <template slot-scope="scope"> |
| | | {{scope.state==1?'å¾
ç¼å¶':'å·²ç¼å¶'}} |
| | | {{scope.state==0?'å¾
ç¼å¶':'å·²ç¼å¶'}} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | id:'', |
| | | date:'' |
| | | }, |
| | | technicalTable: [{ |
| | | date: '2016-05-02', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-04', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-01', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | }, { |
| | | date: '2016-05-03', |
| | | name: 'çå°è', |
| | | address: '䏿µ·å¸' |
| | | } |
| | | ], |
| | | technicalTable: [], |
| | | showDetail: false, |
| | | selectedRow: {}, |
| | | pageParams:{ |
| | |
| | | console.log(this.selectedRow) |
| | | }, |
| | | async getTechnicalTableData() { |
| | | const res = await this.$axios.get(this.$api.url.selectAllOrder,{params:{pageSize:(this.pageParams.pageNo-1),countSize:this.pageParams.pageSize,...this.searchData}}) |
| | | const res = await this.$axios.get(this.$api.url.selectAllOrder,{ |
| | | params:{ |
| | | pageSize:(this.pageParams.pageNo-1), |
| | | countSize:this.pageParams.pageSize,...this.searchData}}) |
| | | this.technicalTable = res.data.row |
| | | this.pageParams.total = res.data.total |
| | | }, |
| | |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .technical{ |
| | | height: 100%; |
| | | width: 100%; |
| | | } |
| | | .technical .title .el-button { |
| | | height: 32px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .technical .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | /* æç´¢å¤´é¨æ ·å¼ */ |
| | | .search-header{ |
| | | background: #fff; |
| | | padding: 24px 32px; |
| | | } |
| | | .search-header .el-form-item{ |
| | | margin: 0px; |
| | | font-size: 14px; |
| | | } |
| | | .search-header .el-form-item:nth-child(1){ |
| | | margin-right: 48px; |
| | | } |
| | | .search-header .el-form-item:nth-child(2){ |
| | | margin-right: 24px; |
| | | } |
| | | /* éç½®åæ¥è¯¢ä¸¤ä¸ªæé®æ ·å¼ */ |
| | | .search-header .el-form-item .el-button{ |
| | | width: 65px; |
| | | height: 32px; |
| | | box-sizing: border-box; |
| | | background: rgb(255, 255, 255); |
| | | border: 1px solid rgb(217, 217, 217); |
| | | border-radius:2px; |
| | | padding: 0; |
| | | font-size: 14px; |
| | | } |
| | | .search-header .el-form-item .el-button:nth-child(2){ |
| | | /* Rectangle 77 */ |
| | | background: rgb(0, 78, 162); |
| | | color: #fff; |
| | | } |
| | | /* è¾å
¥æ¡çæ ·å¼ */ |
| | | .search-header .el-form-item .el-input >>>.el-input__inner{ |
| | | width: 224px; |
| | | height: 32px ; |
| | | box-sizing: border-box; |
| | | background: rgb(255, 255, 255); |
| | | border: 1px solid rgb(217, 217, 217); |
| | | border-radius:2px; |
| | | } |
| | | |
| | | |
| | | /* ææ¯æä»¶è¡¨æ ¼æ ·å¼ */ |
| | | .technical-table{ |
| | | margin-top: 11px; |
| | | height: calc(100% - 140px); |
| | | background: #fff; |
| | | padding: 23px 21px ; |
| | | font-size: 14px; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | /* .technical-table .el-table{ |
| | | overflow-y:scroll; |
| | | } */ |
| | | .technical-table .table-box { |
| | | flex: 1; |
| | | overflow-y: scroll; |
| | | } |
| | | .technical-table .el-pagination{ |
| | | margin-top: 23px; |
| | | display: flex; |
| | | justify-content: end; |
| | | } |
| | | .formtitle{ |
| | | display: block; |
| | | margin-bottom: 24px; |
| | | font-size: 16px; |
| | | } |
| | | .detail-model >>>.el-form-item__label{ |
| | | color: rgb(51, 51, 51); |
| | | } |
| | | .detail-model >>>.el-input__inner{ |
| | | width: 224px; |
| | | height: 32px; |
| | | box-sizing: border-box; |
| | | background: rgb(238, 238, 238); |
| | | border: 1px solid rgb(221, 221, 221); |
| | | border-radius:4px; |
| | | } |
| | | </style> |
| | | |
| | |
| | | </div> |
| | | <div class="choose"> |
| | | <span>ç±»åï¼</span> |
| | | <el-select v-model="search.type" size="small" placeholder="è¯·éæ©" @change="type" style="width: 224px;margin-right: 30px;"> |
| | | <el-select v-model="search.type" size="small" placeholder="è¯·éæ©" @change="type" style="width: 224px;margin-right: 30px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">ç±»å:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <template> |
| | | <el-select v-model="upData.type" placeholder="è¯·éæ©ç±»å" style="width: 310px;"> |
| | | <el-select v-model="edit.type" placeholder="è¯·éæ©ç±»å" style="width: 310px;"> |
| | | <el-option label="æ©¡è¶è¿æ¥å¨" :value="0"></el-option> |
| | | <el-option label="éå±è¿æ¥å¨" :value="1"></el-option> |
| | | <el-option label="湿ææçµè¿æ¥å¨" :value="2"></el-option> |
| | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å·¥åº:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="upData.father" style="width: 310px;" placeholder="è¯·éæ©"> |
| | | <el-select v-model="edit.father" style="width: 310px;" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in procedure" |
| | | :key="item" |
| | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å
ä»¶:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="upData.ele" style="width: 310px;" multiple placeholder="è¯·éæ©"> |
| | | <el-select v-model="AAA.id" style="width: 310px;" multiple placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in element" |
| | | :key="item.index" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | |
| | | <el-row style="line-height: 46px;"> |
| | | <el-col :span="4" style="font-size: 14px;text-align: right;">å·¥èºåç§°:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="upData.name" size="small" clearable></el-input> |
| | | <el-input v-model="edit.name" size="small" clearable></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 46px;"> |
| | |
| | | process: [], |
| | | product: [], |
| | | procedure:[], |
| | | checkTreeNode:'䏿', |
| | | checkTreeNode:{ |
| | | name:'䏿' |
| | | }, |
| | | towTree:[], |
| | | value:"", |
| | | modifyevent:false, |
| | | dialogVisible:false, |
| | | checkTreeNode: {}, |
| | | tableData: [], |
| | | upIndex: 0, |
| | | selects: [], |
| | | upDia: false, |
| | | element:[], |
| | | equipment:[0], |
| | | edit:[], |
| | | AAA:[{ |
| | | id:'', |
| | | }], |
| | | edit:{ |
| | | deviceGroup:'', |
| | | elementId:'', |
| | | father:'', |
| | | name:'', |
| | | type:'', |
| | | // children:[], |
| | | }, |
| | | upData: { |
| | | name:'', |
| | | device_group:'', |
| | | deviceGroup:'', |
| | | ele:'', |
| | | father:'', |
| | | type:'', |
| | |
| | | this.chooseTech() |
| | | this.chooseDevGroup() |
| | | this.chooseElement() |
| | | this.selectAllTechNam() |
| | | }, |
| | | methods: { |
| | | type(val){ |
| | | this.typeselect = val |
| | | this.upData.type = val |
| | | console.log(this.typeselect); |
| | | this.selectAllTechTem() |
| | | }, |
| | |
| | | Neworder() { |
| | | this.dialogVisible = false |
| | | this.addTechTemp() |
| | | this.selectAllTechNam() |
| | | // this.form = ''; |
| | | |
| | | }, |
| | | Deleteapi() { |
| | | this.dialogVisible = false |
| | |
| | | } |
| | | ).then(res=>{ |
| | | console.log(res); |
| | | this.selectAllTechNam() |
| | | this.form = {} |
| | | }) |
| | | }, |
| | | |
| | |
| | | id:this.upData.id, |
| | | technologyTemplateDto:{ |
| | | deviceGroup:this.upData.device_group, |
| | | elementId:this.upData.ele[0], |
| | | father:this.upData.father, |
| | | name:this.upData.name, |
| | | type:this.upData.type |
| | | elementId:this.edit.elementId, |
| | | father:this.edit.father, |
| | | name:this.edit.name, |
| | | type:this.edit.type |
| | | } |
| | | // id:this.upData.id, |
| | | } |
| | |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }).then(res =>{ |
| | | console.log(res); |
| | | |
| | | }) |
| | | }, |
| | | |
| | |
| | | } |
| | | } |
| | | }) |
| | | // console.log(this.selects); |
| | | let cc = this.selects.map(el => { |
| | | // console.log(el.id); |
| | | return el.id |
| | | }) |
| | | // console.log(this.delete); |
| | | this.delete = cc.join(',') |
| | | console.log(this.delete); |
| | | this.delAllTech() |
| | | // this.delete = |
| | | // console.log('444'); |
| | | this.$message.success('å é¤å®æ') |
| | | }, |
| | | deleteRow(index, rows) { |
| | | // console.log(rows); |
| | | // rows.splice(index, 1); |
| | | this.tableData.splice(index,1) |
| | | this.upData.id = rows.id |
| | | this.delTechById() |
| | |
| | | params:{ |
| | | id:this.upData.id, |
| | | } |
| | | } |
| | | // , { |
| | | // headers: { |
| | | // "Content-Type": "application/json" |
| | | // } |
| | | // } |
| | | ).then(res =>{ |
| | | this.edit = res.data |
| | | }).then(res =>{ |
| | | this.edit = res.data[0] |
| | | this.AAA = res.data[0].children |
| | | console.log(this.edit); |
| | | console.log(this.AAA); |
| | | // this.edit.forEach(el => { |
| | | // // el.children.forEach(ele =>{ |
| | | // // this.AAA.push(ele) |
| | | // console.log(el); |
| | | // }) |
| | | // console.log(this.AAA.id); |
| | | // }) |
| | | // console.log(this.edit); |
| | | }) |
| | | }, |
| | | //ç¼è¾å
容 |
| | | upContent(ob) { |
| | | this.upData = ob |
| | | this.selecTechById() |
| | | this.selecTechById() |
| | | console.log(this.upData); |
| | | this.upDia = true |
| | | }, |
| | |
| | | Vue.use(qs); |
| | | Vue.use(api); |
| | | |
| | | const javaApi = 'http://localhost:8001/' |
| | | // const javaApi = 'http://127.0.0.1:8001/' |
| | | const javaApi = 'http://127.0.0.1:8001/' |
| | | |
| | | |
| | | |
| | | axios.defaults.baseURL = javaApi |
| | | axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' |
| | |
| | | { |
| | | k: 1, |
| | | v: "ææ¯ç®¡ç", |
| | | i: "font icon-shouye", |
| | | i: "font icon-ic_form_set24px", |
| | | c: [{ |
| | | k: 1, |
| | | v: "æ åBOM", |
| | |
| | | { |
| | | k: 4, |
| | | v: "ç产管ç", |
| | | i: "font icon-shouye", |
| | | i: "font icon-shengchanguanli", |
| | | c: [{ |
| | | k: 12, |
| | | v: "ç产订å", |
| | |
| | | { |
| | | k: 5, |
| | | v: "WMS管ç", |
| | | i: "font icon-shouye", |
| | | i: "font icon-a-Inventorydumprequest", |
| | | c: [{ |
| | | k: 15, |
| | | v: "åææåºå", |
| | |
| | | { |
| | | k: 2, |
| | | v: "QMS管ç", |
| | | i: "font icon-shouye", |
| | | i: "font icon-xunhuan", |
| | | c: [{ |
| | | k: 3, |
| | | v: "åæææ£éª", |
| | |
| | | { |
| | | k: 6, |
| | | v: "æ ¸ç®ç®¡ç", |
| | | i: "font icon-shouye", |
| | | i: "font icon-caiwuhesuanxitong", |
| | | c: [{ |
| | | k: 21, |
| | | v: "产éå·¥èµ", |
| | |
| | | { |
| | | k: 7, |
| | | v: "åºç¡æ°æ®", |
| | | i: "font icon-shouye", |
| | | i: "font icon-a-ziyuan20", |
| | | c: [{ |
| | | k: 23, |
| | | v: "ç产记å½ç»´æ¤", |