Merge remote-tracking branch 'origin/master'
| | |
| | | selectProductByMaterial: "product/selectTreeByMaterial", //æ ¹æ®ç©ææ¥è¯¢é¡¹ç®è¡¨æ ¼ |
| | | selectTechnologyByMaterial: "technology/select", |
| | | selectAll:"/material/selectAll",//å³ä¾§æ°æ® |
| | | technologyWrite:"/technology/write",//å·¥èºè·¯çº¿ï¼ç§»å¼ä¿åç产å®é¢ |
| | | productWrite:"/product/write",//ææ¯ææ ï¼ç§»å¼ä¿åå
æ§å¼åæ åå¼ |
| | | chooseFather: "/technology/chooseFather",//è·åå·¥åºå表 |
| | | chooseDevice: "/technology/chooseDevice",//è·å设å¤ç»å表 |
| | | addTechnology: "/technology/add",//æ·»å å·¥èºè·¯çº¿ |
| | | leftAddOneTwo: "/material/add",//左侧æ°å¢1ï¼2级 |
| | | leftAddThree: "/standard/add",//左侧ä¸çº§æ°å¢ |
| | | leftAddFour: "/specifications/add",//左侧å级æ°å¢ |
| | | // ææ¯ç®¡ç-ææ¯æä»¶ |
| | | selectAllOrder: "/orders/selectAllOrder", //æ¥è¯¢ææè®¢åå表 |
| | | selectOrderById: "/orders/selectOrderById", //æ ¹æ®è®¢åidæ¥è¯¢è®¢å详æ
|
| | |
| | | } |
| | | //ä¸åæ ¼åææ |
| | | const unqualifiedaa ={ |
| | | selectUnRawInspectsList: "/inspectUnaccepted/selectURawMaterials" |
| | | selectUnRawInspectsList: "/inspectUnaccepted/selectURawMaterials", // æ¥è¯¢åææä¸åæ ¼åæ£éªåå表 |
| | | evaluatePassOrNo: "/inspectUnaccepted/evaluatePassOrNo" // è¯å®¡ |
| | | } |
| | | // æ¥è¯¢æåä¸åæ ¼å管ç |
| | | const unRawInspects ={ |
| | |
| | | projectListByfinishId: "/inspection-item/list_user", //æ ¹æ®idæ¥è¯¢ææé¡¹ç® |
| | | |
| | | } |
| | | |
| | | // è¿ç¨æ£éª |
| | | const processInspection = { |
| | | selectProcessInspectsList: "/processInspect/selectProcessInspectsList", // å页æ¥è¯¢è¿ç¨æ£éªåå表 |
| | | } |
| | | // QMSå®éªå®¤ç®¡ç |
| | | const laboratory = { |
| | | delDeviceById:"/device/delDeviceById",//å é¤ |
| | |
| | | ...dispose, |
| | | ...Basicdata, |
| | | ...unRawInspects, |
| | | ...processInspection, |
| | | // ...gettable, |
| | | selectSaleList: "sale/selectSaleList", //æ¥è¯¢éå®åå表 |
| | | selectSaleDatilById: "sale/selectSaleDatilById", //æ ¹æ®éå®åidæ¥ç详æ
, |
| | |
| | | </el-card> |
| | | </div> |
| | | <el-dialog title="æç¤º" :visible.sync="dialogVisible" width="30%"> |
| | | <el-form label-width="130px"> |
| | | <el-form label-width="130px" style="height: 500px; overflow: auto ;"> |
| | | <el-empty |
| | | v-if="updateEditList.length == 0" |
| | | :image-size="200" |
| | | ></el-empty> |
| | | <div v-for="item in updateEditList" :key="item.$index"> |
| | | <el-form-item |
| | | :label=" |
| | |
| | | <template> |
| | | <div class="content-main"> |
| | | <div v-if="!showAddPage" class="rawPage"> |
| | | <div class="title"> |
| | | <div class="content-main"> |
| | | <div v-if="!showAddPage" class="rawPage"> |
| | | <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12">è¿ç¨æ£éª</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">æ°å¢</el-button> |
| | | <el-button icon="el-icon-delete" size="mini">å é¤</el-button> |
| | | <el-button |
| | | @click="handleAddNew" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-plus" |
| | | style="background: #004EA2; " |
| | | >æ°å¢</el-button |
| | | > |
| | | <el-button icon="el-icon-download" size="mini">导åº</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="nav"> |
| | | <span>æ£éªç»æï¼</span> |
| | | <el-select v-model="inspectionResult" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 52px;"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | <span>æ£éªæ¥æï¼</span> |
| | | <el-date-picker |
| | | v-model="inspectionDate" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | style="margin-right: 52px"> |
| | | </el-date-picker> |
| | | <span>æ£éªäººï¼</span> |
| | | <el-select v-model="inspecter" size="small" placeholder="è¯·éæ©" style="width: 224px;margin-right: 52px;"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></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> |
| | | <span>æ£éªç¶æï¼</span> |
| | | <el-select |
| | | size="small" |
| | | v-model="search.result" |
| | | placeholder="è¯·éæ©æ£æµç¶æ" |
| | | style="width: 224px;margin-right: 52px;" |
| | | > |
| | | <el-option :value="''" label="å
¨é¨"></el-option> |
| | | <el-option :value="1" label="å·²æ£æµ"></el-option> |
| | | <el-option :value="2" label="å¾
æ£æµ"></el-option> |
| | | </el-select> |
| | | <span>产ååç§°ï¼</span> |
| | | <el-input |
| | | size="small" |
| | | style="width: 224px;margin-right: 30px;" |
| | | v-model="search.name" |
| | | placeholder="请è¾å
¥äº§ååç§°" |
| | | ></el-input> |
| | | <span>å·¥åºï¼</span> |
| | | <el-input |
| | | size="small" |
| | | style="width: 224px;margin-right: 30px;" |
| | | v-model="search.techfather" |
| | | placeholder="请è¾å
¥å·¥åº" |
| | | ></el-input> |
| | | <el-button size="mini"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;" |
| | | ><span>æ¥ è¯¢</span></el-button |
| | | > |
| | | </div> |
| | | <div class="content-body"> |
| | | <div class="inspectionTable"> |
| | | <el-table |
| | | ref="inspectionTable" |
| | | :height="400" |
| | | :max-height="400" |
| | | :cell-style="{textAlign: 'center'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" |
| | | :data="inspectionTable" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="50"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="number" |
| | | label="订åå·" |
| | | min-width="100" |
| | | /> |
| | | <el-table-column |
| | | prop="username" |
| | | label="客æ·åç§°" |
| | | min-width="80" |
| | | /> |
| | | <el-table-column |
| | | prop="projectname" |
| | | label="å·¥ç¨åç§°" |
| | | min-width="80" |
| | | /> |
| | | <el-table-column |
| | | prop="tracenumber" |
| | | label="è´¨é追溯å·" |
| | | min-width="108" |
| | | /> |
| | | <el-table-column |
| | | prop="code" |
| | | label="产åç¼ç " |
| | | min-width="100" |
| | | /> |
| | | <el-table-column |
| | | prop="class" |
| | | label="产å大类" |
| | | min-width="72" |
| | | /> |
| | | <el-table-column |
| | | prop="specificationmodel" |
| | | label="è§æ ¼åå·" |
| | | min-width="110" |
| | | /> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="åä½" |
| | | min-width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="quantity" |
| | | label="æ°é" |
| | | min-width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="machine" |
| | | label="æºå°" |
| | | min-width="60" |
| | | /> |
| | | <el-table-column |
| | | prop="group" |
| | | label="çç»" |
| | | min-width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="worker" |
| | | label="主æºå·¥" |
| | | min-width="60" |
| | | /> |
| | | <el-table-column |
| | | prop="date" |
| | | label="æ£éªæ¥æ" |
| | | min-width="80" |
| | | /> |
| | | <el-table-column |
| | | prop="result" |
| | | label="æ£æµç»æ" |
| | | min-width="80" |
| | | /> |
| | | <el-table-column |
| | | label="æä½" |
| | | min-width="80" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="handleClick(scope.row)">æ¥ç</el-button> |
| | | <el-button type="text" size="small" style="margin-left: 0;">æå°</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- åé¡µå¨ --> |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | :current-page="currentPage" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="this.inspectionTable.length" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | <div class="inspectionTable"> |
| | | <el-table |
| | | ref="inspectionTable" |
| | | height="calc(100vh - 320px)" |
| | | :cell-style="{ textAlign: 'center' }" |
| | | :header-cell-style="{ |
| | | border: '0px', |
| | | background: '#f5f7fa', |
| | | color: '#606266', |
| | | boxShadow: 'inset 0 1px 0 #ebeef5', |
| | | textAlign: 'center' |
| | | }" |
| | | border |
| | | :data="inspectionTable" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column |
| | | label="åºå·" |
| | | type="index" |
| | | width="60" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="order_number" |
| | | label="订åç¼å·" |
| | | min-width="90" |
| | | /> |
| | | </div> |
| | | <el-table-column prop="material" label="产ååç§°" min-width="80" /> |
| | | <el-table-column |
| | | prop="specifications_model" |
| | | label="è§æ ¼åå·" |
| | | min-width="60" |
| | | /> |
| | | <el-table-column prop="techfather" label="å·¥åº" min-width="70" /> |
| | | <el-table-column prop="techname" label="å·¥èºåç§°" min-width="70" /> |
| | | <el-table-column prop="unit" label="åä½" min-width="50" /> |
| | | <el-table-column prop="quantity" label="æ°é" min-width="50" /> |
| | | <el-table-column |
| | | prop="createTime" |
| | | label="æ¥æ£æ¥æ" |
| | | min-width="60" |
| | | /> |
| | | <el-table-column prop="name" label="æ¥æ£äºº" min-width="50" /> |
| | | <el-table-column |
| | | prop="updateTime" |
| | | label="æ£æµæ¥æ" |
| | | min-width="60" |
| | | /> |
| | | <el-table-column prop="result" label="åæ ¼ç¶æ" min-width="80"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: #34BD66;" v-if="scope.row.result == 1" |
| | | >åæ ¼</span |
| | | > |
| | | <span style="color: #E84738;" v-else-if="scope.row.result == 0" |
| | | >ä¸åæ ¼</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" style="margin-left: 0;" |
| | | >详æ
</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | @click="handleClick(scope.row)" |
| | | >æ¥ç</el-button |
| | | > |
| | | <el-button type="text" size="small" style="margin-left: 0;" |
| | | >ç¼è¾</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- åé¡µå¨ --> |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | :current-page="1" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="inspectionTableTotal" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="newPage" v-if="showAddPage"> |
| | | <!-- æ°å¢é¡µé¢ --> |
| | | <div class="addInspection"> |
| | | <el-row class="header"> |
| | | <el-col :span="12">æ°å¢è¿ç¨æ£éªå</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <!-- ç¹å»è¿åï¼å½å页é¢å¼ä¸ºfalse --> |
| | | <el-button @click="showAddPage = false" type="primary" size="mini" icon="el-icon-back" style="background: #004EA2; ">è¿å</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form :model="addInspectionform" ref="addInspectionform" class="addInspectionform" label-position="left" label-width="100px" size="mini" > |
| | | <div class="formwrapper"> |
| | | <el-row :gutter="450"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="订åå·ï¼"> |
| | | <el-input style="width: 180px;" v-model="addInspectionform.number" placeholder="请è¾å
¥è®¢åå·" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="客æ·åç§°ï¼"> |
| | | <el-input style="width: 180px;" v-model="addInspectionform.username" placeholder="请è¾å
¥å®¢æ·åç§°" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="å·¥ç¨åç§°ï¼"> |
| | | <el-input style="width: 180px;" v-model="addInspectionform.projectname" placeholder="请è¾å
¥å·¥ç¨åç§°" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="450"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="è´¨é追溯å·ï¼" > |
| | | <el-input style="width: 180px;" v-model="addInspectionform.tracenumber" placeholder="请è¾å
¥è¿½æº¯å·" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="产åç¼ç ï¼"> |
| | | <el-input style="width: 180px;" v-model="addInspectionform.code" placeholder="请è¾å
¥äº§åç¼ç " autocomplete="off" /> </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="产ååç§°ï¼"> |
| | | <el-select style="width: 180px;" v-model="addInspectionform.class" size="small" placeholder="è¯·éæ©äº§ååç§°"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="450"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="è§æ ¼åå·ï¼" > |
| | | <el-select style="width: 180px;" v-model="addInspectionform.specificationmodel" size="small" placeholder="è¯·éæ©è§æ ¼åå·"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="åä½ï¼" > |
| | | <el-select style="width: 180px;" v-model="addInspectionform.unit" size="small" placeholder="è¯·éæ©åä½"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="æ°éï¼"> |
| | | <el-input style="width: 180px;" v-model="addInspectionform.quantity" placeholder="请è¾å
¥æ°é" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="450"> |
| | | <!-- <el-col :span="5"> |
| | | <el-form-item label="çç»ï¼" > |
| | | <el-select style="width: 180px;" v-model="addInspectionform.group" size="small" placeholder="è¯·éæ©çç»"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> </el-form-item> |
| | | </el-col> --> |
| | | <el-col :span="5"> |
| | | <el-form-item label="主æºå·¥ï¼" > |
| | | <el-select style="width: 180px;" v-model="addInspectionform.worker" size="small" placeholder="è¯·éæ©ä¸»æºå·¥"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="æºå°ï¼" > |
| | | <el-select style="width: 180px;" v-model="addInspectionform.machine" size="small" placeholder="è¯·éæ©äº§åæºå°"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <div class="inspectionProject"> |
| | | <span>æ£éªé¡¹ç®</span> |
| | | <el-table :data="inspectionItems"> |
| | | <el-table-column type="index" label="åºå·" width="60"></el-table-column> |
| | | <el-table-column prop="project" label="项ç®"></el-table-column> |
| | | <el-table-column prop="unit" label="åä½"></el-table-column> |
| | | <el-table-column prop="standardVal" label="æ åå¼"></el-table-column> |
| | | <el-table-column prop="controlVal" label="å
æµå¼"></el-table-column> |
| | | <el-table-column prop="detectionVal" label="æ£éªå¼"></el-table-column> |
| | | <el-table-column label="è¯éªè®¾å¤"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.device }} |
| | | <el-select v-model="scope.row.device" size="small" slot="append" style="width: 100px;"> |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="ç»è®º"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: #34BD66;" v-if="scope.row.insState==1">åæ ¼</span> |
| | | <span style="color: #E84738;" v-else-if="scope.row.insState==0">ä¸åæ ¼</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="inspectionResult"> |
| | | <span>æ£æµç»æ</span> |
| | | <el-table :data="inspectionResultForm"> |
| | | <el-table-column prop="id" label="ç©æç¼å·"></el-table-column> |
| | | <el-table-column prop="name" label="ç©æåç§°"></el-table-column> |
| | | <el-table-column prop="inspecter" label="æ£éªå"></el-table-column> |
| | | <el-table-column prop="conclusion" label="æ£éªç»è®º"></el-table-column> |
| | | <el-table-column prop="operation" label="䏿¥"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | <div class="newPage" v-if="showAddPage"> |
| | | <!-- æ°å¢é¡µé¢ --> |
| | | <div class="addInspection"> |
| | | <el-row class="header"> |
| | | <el-col :span="12">æ°å¢è¿ç¨æ£éªå</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <!-- ç¹å»è¿åï¼å½å页é¢å¼ä¸ºfalse --> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | style="background: #004EA2; " |
| | | icon="el-icon-circle-plus-outline" |
| | | >æ°å¢</el-button |
| | | > |
| | | <el-button |
| | | @click="showAddPage = false" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-back" |
| | | style="background: #004EA2; " |
| | | >è¿å</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | <el-form |
| | | :model="addInspectionform" |
| | | ref="addInspectionform" |
| | | class="addInspectionform" |
| | | label-position="right" |
| | | label-width="120px" |
| | | size="small" |
| | | > |
| | | <div class="formwrapper"> |
| | | <el-row :gutter="230"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="订åå·ï¼"> |
| | | <el-input |
| | | style="width: 210px;" |
| | | size="small" |
| | | v-model="addInspectionform.number" |
| | | placeholder="请è¾å
¥è®¢åå·" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="产ååç§°ï¼"> |
| | | <el-input |
| | | style="width: 210px;" |
| | | size="small" |
| | | v-model="addInspectionform.code" |
| | | placeholder="请è¾å
¥äº§åç¼ç " |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="产åç¼ç ï¼"> |
| | | <el-input |
| | | style="width: 210px;" |
| | | size="small" |
| | | disabled |
| | | v-model="addInspectionform.code" |
| | | placeholder="请è¾å
¥äº§åç¼ç " |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="230"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="è§æ ¼åå·ï¼"> |
| | | <el-input |
| | | style="width: 210px;" |
| | | size="small" |
| | | disabled |
| | | v-model="addInspectionform.number" |
| | | placeholder="请è¾å
¥è§æ ¼åå·" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="å·¥åºåç§°ï¼"> |
| | | <el-select |
| | | v-model="value" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 210px;" |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="å·¥èºåç§°ï¼"> |
| | | <el-select |
| | | v-model="value" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 210px;" |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="230"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="åä½ï¼"> |
| | | <el-input |
| | | style="width: 210px;" |
| | | size="small" |
| | | disabled |
| | | v-model="addInspectionform.quantity" |
| | | placeholder="请è¾å
¥åä½" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="æ°éï¼"> |
| | | <el-input |
| | | style="width: 210px;" |
| | | size="small" |
| | | v-model="addInspectionform.quantity" |
| | | placeholder="请è¾å
¥æ°é" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-button |
| | | type="primary" |
| | | style="float: right; font-size: 14px; !important" |
| | | >çææ£éªé¡¹ç®</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <div class="inspectionProject"> |
| | | <el-row> |
| | | <el-col :span="12" class="inspectionProject_span">æ£éªé¡¹ç®</el-col> |
| | | <el-col :span="12" class="inspectionProject_span"> |
| | | <el-button size="mini" @click="clickDeleteInspectionColumn()" |
| | | >å 餿£éªå¼å</el-button |
| | | > |
| | | <el-button |
| | | style="margin-right: 30px;" |
| | | size="mini" |
| | | @click="clickAddInspectionColumn()" |
| | | >æ·»å æ£éªå¼å</el-button |
| | | > |
| | | <el-button |
| | | size="mini" |
| | | style="margin-right: 30px;" |
| | | @click="clickAddLine()" |
| | | >æ·»å æ£éªè¡</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | :data="inspectionItems" |
| | | height="calc(100vh - 550px)" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="åºå·" |
| | | width="60" |
| | | ></el-table-column> |
| | | <el-table-column prop="material" label="项ç®"></el-table-column> |
| | | <el-table-column prop="unit" label="åä½"></el-table-column> |
| | | <el-table-column prop="standardVal" label="æ åå¼"></el-table-column> |
| | | <el-table-column prop="controlVal" label="å
æµå¼"></el-table-column> |
| | | <el-table-column |
| | | prop="testValue" |
| | | label="æ£æµå¼" |
| | | min-width="150" |
| | | v-for="(item, index) in empiricalValueAdd" |
| | | :key="index" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | :disabled="scope.row.deviceId != null" |
| | | class="item" |
| | | effect="dark" |
| | | content="请å
éæ©è®¾å¤ï¼" |
| | | placement="top-start" |
| | | > |
| | | <el-input |
| | | :disabled="scope.row.deviceId == null" |
| | | // v-model="scope.row.testValueList[index]" |
| | | @blur="changeState(scope.row, index)" |
| | | placeholder="请è¾å
¥æ£æµå¼" |
| | | ></el-input> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è¯éªè®¾å¤"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.device }} |
| | | <el-select |
| | | v-model="scope.row.device" |
| | | size="small" |
| | | slot="append" |
| | | style="width: 100px;" |
| | | > |
| | | <el-option value="é项1"></el-option> |
| | | <el-option value="é项2"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="ç»è®º"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: #34BD66;" v-if="scope.row.insState == 1" |
| | | >åæ ¼</span |
| | | > |
| | | <span style="color: #E84738;" v-else-if="scope.row.insState == 0" |
| | | >ä¸åæ ¼</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="detailId == null" label="æä½" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="clickDeleteline(scope)" |
| | | >å é¤</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="inspectionResult"> |
| | | <span>æ£æµç»æ</span> |
| | | <el-table :data="inspectionResultForm"> |
| | | <el-table-column prop="id" label="ç©æç¼å·"></el-table-column> |
| | | <el-table-column prop="name" label="ç©æåç§°"></el-table-column> |
| | | <el-table-column prop="inspecter" label="æ£éªå"></el-table-column> |
| | | <el-table-column prop="conclusion" label="æ£éªç»è®º"></el-table-column> |
| | | <el-table-column prop="operation" label="䏿¥"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | export default { |
| | | data(){ |
| | | return { |
| | | inspectionResult: '', |
| | | inspectionDate: '', |
| | | inspecter: '', |
| | | inspectionTable:[{ |
| | | number: '8540395029753', |
| | | username: 'jack', |
| | | projectname: 'å¸é迪', |
| | | tracenumber: '826403164021', |
| | | code: 'C-982164', |
| | | class: 'æå', |
| | | specificationmodel: '8.8/15kV JLS-3.2', |
| | | unit: 'å¨', |
| | | quantity: '15', |
| | | machine: 'æé¸æº', |
| | | group: '1ç»', |
| | | worker: 'é»å°æ', |
| | | date: '2023-08-01', |
| | | result: 'åæ ¼', |
| | | operation: '' |
| | | },{ |
| | | number: '2497320327652', |
| | | username: 'rose', |
| | | projectname: 'å¸é迪', |
| | | tracenumber: '826403164021', |
| | | code: 'C-24114', |
| | | class: 'æå', |
| | | specificationmodel: '8.6/15kV JAD-3.2', |
| | | unit: 'å¨', |
| | | quantity: '43', |
| | | machine: 'æé¸æº', |
| | | group: '1ç»', |
| | | worker: 'é»å°æ', |
| | | date: '2023-08-01', |
| | | result: 'åæ ¼', |
| | | operation: '' |
| | | }], |
| | | currentPage: 1, // å½å页ç |
| | | pageSize: 100, |
| | | showAddPage: false, |
| | | addInspectionform: [{ |
| | | number: '', |
| | | username: '', |
| | | projectname: '', |
| | | tracenumber: '', |
| | | code: '', |
| | | class: '', |
| | | specificationmodel: '', |
| | | unit: '', |
| | | quantity: '', |
| | | group: '', |
| | | worker: '', |
| | | machine: '' |
| | | }], |
| | | inspectionItems:[{ |
| | | project:'å¸é迪', |
| | | unit:'å¨', |
| | | standardVal: '8219384314', |
| | | controlVal:'9823401', |
| | | detectionVal:'11111', |
| | | device:'', |
| | | conclusion:'åæ ¼' |
| | | }], |
| | | inspectionResultForm:[{ |
| | | id:'274024', |
| | | name:'111', |
| | | inspecter:'111', |
| | | conclusion:'', |
| | | operation:'' |
| | | }] |
| | | } |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | search: { |
| | | countSize: 10, |
| | | pageSize: 1, |
| | | result: "", // æ£æµç¶æ |
| | | name: "", // 产ååç§° |
| | | techfather: "" // å·¥åº |
| | | }, |
| | | methods:{ |
| | | // æ¯é¡µæ¡æ°æ¹åæ¶è§¦å éæ©ä¸é¡µæ¾ç¤ºå¤å°è¡ |
| | | handleSizeChange(val) { |
| | | console.log(`æ¯é¡µ ${val} æ¡`) |
| | | this.currentPage = 1 |
| | | this.pageSize = val |
| | | }, |
| | | // å½å页æ¹åæ¶è§¦å 跳转å
¶ä»é¡µ |
| | | handleCurrentChange(val) { |
| | | console.log(`å½å页: ${val}`) |
| | | this.currentPage = val |
| | | }, |
| | | handleAddNew(){ |
| | | this.showAddPage=true |
| | | } |
| | | inspectionTable: [], |
| | | inspectionTableTotal: "", |
| | | // æ·»å å |
| | | empiricalValueAdd: 1, |
| | | // ç¼è¾æ¶å卿é¿çåæ°åï¼åå é¤å¤æ |
| | | empiricalValueAddMaxNumber: 0, |
| | | showAddPage: false, |
| | | addInspectionform: [ |
| | | { |
| | | number: "", |
| | | username: "", |
| | | projectname: "", |
| | | tracenumber: "", |
| | | code: "", |
| | | class: "", |
| | | specificationmodel: "", |
| | | unit: "", |
| | | quantity: "", |
| | | group: "", |
| | | worker: "", |
| | | machine: "" |
| | | } |
| | | ], |
| | | inspectionItems: [], // æ°å¢æ£éªé¡¹ç®è¡¨æ ¼ |
| | | inspectionResultForm: [ |
| | | { |
| | | id: "274024", |
| | | name: "111", |
| | | inspecter: "111", |
| | | conclusion: "", |
| | | operation: "" |
| | | } |
| | | ], |
| | | options: [ |
| | | { |
| | | value: "é项1", |
| | | label: "é»éç³" |
| | | }, |
| | | { |
| | | value: "é项2", |
| | | label: "åç®å¥¶" |
| | | }, |
| | | { |
| | | value: "é项3", |
| | | label: "èµä»ç
" |
| | | }, |
| | | { |
| | | value: "é项4", |
| | | label: "é¾é¡»é¢" |
| | | }, |
| | | { |
| | | value: "é项5", |
| | | label: "å京ç¤é¸" |
| | | } |
| | | ], |
| | | value: "" |
| | | }; |
| | | }, |
| | | methods: { |
| | | // æ¯é¡µæ¡æ°æ¹åæ¶è§¦å éæ©ä¸é¡µæ¾ç¤ºå¤å°è¡ |
| | | handleSizeChange(val) { |
| | | this.search.countSize = val; |
| | | this.defaultInitializationTable(); |
| | | }, |
| | | // å½å页æ¹åæ¶è§¦å 跳转å
¶ä»é¡µ |
| | | handleCurrentChange(val) { |
| | | this.search.pageSize = val; |
| | | this.defaultInitializationTable(); |
| | | }, |
| | | // æ¾ç¤ºæ°å¢é¡µé¢ |
| | | handleAddNew() { |
| | | this.showAddPage = true; |
| | | }, |
| | | // è¡¨æ ¼åå§åæ¥å£ |
| | | defaultInitializationTable() { |
| | | this.$axios |
| | | .post(this.$api.url.selectProcessInspectsList, this.search) |
| | | .then(res => { |
| | | this.inspectionTableTotal = res.data.total; |
| | | this.inspectionTable = res.data.row; |
| | | }); |
| | | }, |
| | | // æ·»å è¡ |
| | | clickAddLine() { |
| | | let obj = { |
| | | material: "", |
| | | materialCode: "", |
| | | orderNumber: "", |
| | | quantity: 0, |
| | | specificationsModel: "", |
| | | techfather: "", |
| | | techname: "", |
| | | technologyId: 0, |
| | | unit: "" |
| | | }; |
| | | this.inspectionItems.push(obj); |
| | | }, |
| | | // å é¤è¡ |
| | | clickDeleteline(scope) { |
| | | this.inspectionItems.splice(scope.$index, 1); |
| | | }, |
| | | // å 餿£éªå¼å |
| | | clickDeleteInspectionColumn() { |
| | | if (this.empiricalValueAdd - 1 === 0) { |
| | | } else { |
| | | if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { |
| | | this.empiricalValueAdd = this.empiricalValueAdd - 1; |
| | | this.inspectionItems.forEach(i => { |
| | | i.testValueList.splice(this.empiricalValueAdd, 1); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | // æ·»å æ£éªå¼å |
| | | clickAddInspectionColumn() { |
| | | this.empiricalValueAdd = this.empiricalValueAdd + 1; |
| | | } |
| | | }, |
| | | created() { |
| | | this.defaultInitializationTable(); // åå§åè¡¨æ ¼æ°æ® |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .title{ |
| | | padding: 12px; |
| | | |
| | | } |
| | | .nav{ |
| | | display: flex; |
| | | padding: 20px 20px; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | } |
| | | .nav *{ |
| | | font-size: 14px; |
| | | } |
| | | .content-body .rawPage{ |
| | | background-color: #fff; |
| | | overflow: hidden; |
| | | } |
| | | .inspectionTable{ |
| | | padding: 20px 20px; |
| | | } |
| | | .pagination{ |
| | | float: right; |
| | | margin-right: 20px; |
| | | } |
| | | .newPage{ |
| | | overflow: hidden; |
| | | } |
| | | .header{ |
| | | padding: 12px; |
| | | } |
| | | .addInspectionform{ |
| | | background-color: #fff; |
| | | } |
| | | .addInspectionform .formwrapper{ |
| | | padding: 20px 0px; |
| | | margin-left: 100px; |
| | | } |
| | | .inspectionProject span{ |
| | | display: block; |
| | | padding: 5px 0px; |
| | | } |
| | | .inspectionProject .el-table{ |
| | | background-color: #fff; |
| | | padding: 10px 12px; |
| | | } |
| | | .inspectionResult span{ |
| | | display: block; |
| | | padding: 5px 0px; |
| | | } |
| | | .inspectionResult .el-table{ |
| | | background-color: #fff; |
| | | padding: 10px 12px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .nav { |
| | | display: flex; |
| | | padding: 20px 20px; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | } |
| | | .table_header { |
| | | height: calc(100vh - 550px); |
| | | } |
| | | .nav * { |
| | | font-size: 14px; |
| | | } |
| | | .content-body .rawPage { |
| | | background-color: #fff; |
| | | overflow: hidden; |
| | | } |
| | | .inspectionTable { |
| | | padding: 20px 20px; |
| | | } |
| | | .pagination { |
| | | float: right; |
| | | margin-right: 20px; |
| | | } |
| | | .newPage { |
| | | overflow: hidden; |
| | | } |
| | | .header { |
| | | padding: 12px; |
| | | } |
| | | .addInspectionform { |
| | | background-color: #fff; |
| | | } |
| | | .addInspectionform .formwrapper { |
| | | padding: 20px 0px; |
| | | margin-left: 100px; |
| | | } |
| | | .inspectionProject .el-table { |
| | | background-color: #fff; |
| | | padding: 10px 12px; |
| | | } |
| | | .inspectionResult span { |
| | | display: block; |
| | | padding: 5px 0px; |
| | | } |
| | | .inspectionResult .el-table { |
| | | background-color: #fff; |
| | | padding: 10px 12px; |
| | | } |
| | | .inspectionProject_span { |
| | | line-height: 32px; |
| | | padding: 10px 20px; |
| | | } |
| | | .inspectionProject_span .el-button { |
| | | float: right; |
| | | font-size: 13px !important; |
| | | } |
| | | </style> |
| | |
| | | <span>åææç¼ç ï¼</span> |
| | | <el-input |
| | | v-model="search.code" |
| | | size="small" |
| | | placeholder="请è¾å
¥" |
| | | size="small" |
| | | style="width: 224px;margin-right: 30px;" |
| | | clearable |
| | | ></el-input> |
| | |
| | | <el-col :span="7"> |
| | | <el-form-item label="ä¾åºååç§°:"> |
| | | <el-input |
| | | :placeholder="detailId !== null ? '' : '请è¾å
¥æ£éªæ°é'" |
| | | :placeholder="detailId !== null ? '' : '请è¾å
¥ä¾åºååç§°'" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.supplier" |
| | | ></el-input> |
| | |
| | | <el-table :data="conclusionTable" style="100%"> |
| | | <el-table-column prop="code" label="ç©æç¼å·"> </el-table-column> |
| | | <el-table-column prop="name" label="ç©æåç§°"> </el-table-column> |
| | | <el-table-column prop="uName" label="æ£éªå"> |
| | | <el-table-column v-if="detailId != null" prop="uName" label="æ£éªå"> |
| | | <template slot-scope="scope"> |
| | | <span |
| | | v-for="item in scope.row.uName" |
| | |
| | | this.projectTable = res.data.children; |
| | | this.projectTable.forEach(i => { |
| | | // è§£å³éæ°èµå¼æ æ³ç¼è¾æä½ |
| | | this.$set(i, "testValueList", i.testValue.split(",")); |
| | | if (i.testValue == null) { |
| | | this.$set(i, "testValueList", []); |
| | | } else { |
| | | this.$set(i, "testValueList", i.testValue.split(",")); |
| | | } |
| | | // åæé¿çåè¡¨æ° |
| | | if (i.testValueList.length > this.empiricalValueAdd) { |
| | | this.empiricalValueAdd = i.testValueList.length; |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="code" label="ææç¼ç "> </el-table-column> |
| | | <el-table-column prop="id" label="ææåç§°"> </el-table-column> |
| | | <el-table-column prop="name" label="ææåç§°"> </el-table-column> |
| | | <el-table-column prop="specifications" label="è§æ ¼åå·"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="åä½"> </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="deal_reasult" label="å¤çç»æ" width="100"> |
| | | <template slot-scope="scope"> |
| | | <span style="color:#34BD66;" v-if="scope.row.deal_reasult == 1" |
| | | <span style="color:#E84738;" v-if="scope.row.deal_reasult == 0" |
| | | >ä¸éè¿</span |
| | | > |
| | | <span |
| | | style="color:#E84738;" |
| | | v-else-if="scope.row.deal_reasult == 0" |
| | | style="color:#34BD66;" |
| | | v-else-if="scope.row.deal_reasult == 1" |
| | | >éè¿</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" width="100"> |
| | | <template> |
| | | <template slot-scope="scope"> |
| | | <div style="display: flex;"> |
| | | <el-button type="text" siae="small" size="mini">è¯å®¡</el-button> |
| | | <el-popover |
| | | placement="left" |
| | | width="160" |
| | | :ref="`popover-${scope.$index}`" |
| | | > |
| | | <div style="padding: 6px">è¯å®¡æ¯å¦éè¿ï¼</div> |
| | | <div style="text-align: right; margin: 6px;"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | style="color: #E84738;" |
| | | @click=" |
| | | scope._self.$refs[`popover-${scope.$index}`].doClose(); |
| | | rawEvaluate(scope.row, 0); |
| | | " |
| | | >ä¸éè¿</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | style="color: #34bd66;" |
| | | size="mini" |
| | | @click=" |
| | | scope._self.$refs[`popover-${scope.$index}`].doClose(); |
| | | rawEvaluate(scope.row, 1); |
| | | " |
| | | >éè¿</el-button |
| | | > |
| | | </div> |
| | | <el-button |
| | | slot="reference" |
| | | type="text" |
| | | siae="small" |
| | | size="mini" |
| | | >è¯å®¡</el-button |
| | | > |
| | | </el-popover> |
| | | |
| | | <el-button |
| | | type="text" |
| | | siae="small" |
| | | size="mini" |
| | | style=" color:87, 138, 193 ;" |
| | | style=" color:87, 138, 193 ; margin-left: 10px;" |
| | | >æ¥ç</el-button |
| | | > |
| | | </div> |
| | |
| | | supplier: "" // ä¾åºå |
| | | }, |
| | | unqualifiedTable: [], // 页é¢è¡¨æ ¼æ°æ® |
| | | total: 0 |
| | | total: 0, |
| | | visible: false |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | supplier: "" // ä¾åºå |
| | | }; |
| | | this.getDetailInfo(); |
| | | }, |
| | | rawEvaluate(row, passOrNo) { |
| | | this.$axios |
| | | .post(this.$api.url.evaluatePassOrNo, { |
| | | rawId: row.id, |
| | | passOrNo: passOrNo |
| | | }) |
| | | .then(res => { |
| | | this.unqualifiedTable = []; |
| | | this.getDetailInfo(); |
| | | }); |
| | | } |
| | | } |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | 1 |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | |
| | | </style> |
| | |
| | | <template> |
| | | <div class="standard"> |
| | | <div> |
| | | <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border |
| | | @selection-change="handleSelectionChange" default-expand-all |
| | | <el-table :data="tableData" max-height="675" row-key="rowId" border |
| | | @select-all="selectAll" @select="selectTr" ref="multipleTable" |
| | | @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 type="index" width="60" label="åºå·"> |
| | | </el-table-column> |
| | | <el-table-column prop="father" label="å·¥åº" sortable width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag v-if="scope.row.children" :type="scope.row.children ? 'primary' : 'success'"> |
| | | <div class="firstDiv" :style="{ color: scope.row.children ? '#16a7ff' : '#58c173' }"> |
| | | 01 |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black"> |
| | | {{ scope.row.father }} |
| | | </span> |
| | | <el-tag v-if="scope.row.father != null" type="primary">01</el-tag> |
| | | <span style="color: #000000"> |
| | | {{ scope.row.father }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tanme" sortable label="å·¥èºåç§°"> |
| | | <!-- <template slot-scope="scope"> |
| | | <el-tag v-if="!scope.row.children"> |
| | | <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> |
| | | 02 |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black"> |
| | | {{ scope.row.tname }} |
| | | </span> |
| | | </template> --> |
| | | <el-table-column prop="tname" sortable label="å·¥èºåç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="success" v-if="scope.row.tname != null">02</el-tag> |
| | | <span style="color: #000000"> |
| | | {{ scope.row.tname }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="mname" label="ææåç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="info" color="#faf2ff" v-if="scope.row.mname != null"> |
| | | <span style="color: #e1affb">03</span> |
| | | </el-tag> |
| | | <span> |
| | | {{scope.row.mname}} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="specifications" label="è§æ ¼"> |
| | | </el-table-column> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | hasChildren:true, |
| | | selects: [] |
| | | } |
| | | }, |
| | | props:['tableData','tableType'], |
| | | created() { |
| | | console.log(this.tableData,this.tableType) |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | created() {}, |
| | | mounted() {}, |
| | | methods: { |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® |
| | | // å
¨é/åæ¶éæä½ |
| | | selectAll(val) { |
| | | this.isAllSelect = !this.isAllSelect; |
| | | let data = this.tableData; |
| | | this.toggleSelect(data, this.isAllSelect, "all"); |
| | | }, |
| | | //éæ©æè¡ |
| | | selectTr(selection, row) { |
| | | this.$set(row, "isChecked", !row.isChecked); |
| | | this.$nextTick(() => { |
| | | this.isAllSelect = row.isChecked; |
| | | this.toggleSelect(row, row.isChecked, "tr"); |
| | | }); |
| | | }, |
| | | //éå½å级 |
| | | toggleSelect(data, flag, type) { |
| | | if (type === "all") { |
| | | if (data.length > 0) { |
| | | data.forEach((item) => { |
| | | this.toggleSelection(item, flag); |
| | | if (item.children && item.children.length > 0) { |
| | | this.toggleSelect(item.children, flag, type); |
| | | } |
| | | }); |
| | | } |
| | | } else { |
| | | if (data.children && data.children.length > 0) { |
| | | data.children.forEach((item) => { |
| | | item.isChecked = !item.isChecked; |
| | | this.$refs.multipleTable.toggleRowSelection(item, flag); |
| | | this.toggleSelect(item, flag, type); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = val; |
| | | } |
| | | this.deleteList = []; |
| | | val.forEach((v) => { |
| | | if (v.id !== undefined) { |
| | | this.deleteList.push(v.id); |
| | | } |
| | | }); |
| | | }, |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® ç»æ |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <style scoped> |
| | | .standard { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .standard * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell { |
| | | background-color: #F0F1F5 !important; |
| | | color: #333; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell .cell { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .standard .cell { |
| | | color: #333; |
| | | padding-left: 17px !important; |
| | | } |
| | | |
| | | .standard { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: auto; |
| | | } |
| | | |
| | | /* .standard .el-table__body-wrapper { |
| | | height: 100%; |
| | | } */ |
| | | |
| | | /* .standard .el-table__body { |
| | | height: 100%; |
| | | } */ |
| | | .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ |
| | | padding-left: 23px !important; |
| | | } |
| | | </style> |
| | | <template> |
| | | <div class="standard"> |
| | | <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675" |
| | | @select-all="selectAll" @select="selectTr" |
| | | @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="60" label="åºå·"></el-table-column> |
| | | <el-table-column prop="father" label="å·¥åº"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="primary" v-if="scope.row.father != null">01</el-tag> |
| | | <span>{{scope.row.father}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="å·¥èºåç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="success" v-if="scope.row.name != null">02</el-tag> |
| | | <span>{{scope.row.name}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="device" label="设å¤åç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="info" color="#faf2ff" v-if="scope.row.device != null"> |
| | | <span style="color: #e1affb">03</span> |
| | | </el-tag> |
| | | <span>{{scope.row.device}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="productFather" label="项ç®"></el-table-column> |
| | | <el-table-column prop="unit" label="åä½"></el-table-column> |
| | | <el-table-column prop="product" label="ææ "></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default ({ |
| | | data() { |
| | | |
| | | }, |
| | | props:['tableData','tableType'], |
| | | methods:{ |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® |
| | | // å
¨é/åæ¶éæä½ |
| | | selectAll(val) { |
| | | this.isAllSelect = !this.isAllSelect; |
| | | let data = this.tableData; |
| | | this.toggleSelect(data, this.isAllSelect, "all"); |
| | | }, |
| | | //éæ©æè¡ |
| | | selectTr(selection, row) { |
| | | this.$set(row, "isChecked", !row.isChecked); |
| | | this.$nextTick(() => { |
| | | this.isAllSelect = row.isChecked; |
| | | this.toggleSelect(row, row.isChecked, "tr"); |
| | | }); |
| | | }, |
| | | //éå½å级 |
| | | toggleSelect(data, flag, type) { |
| | | if (type === "all") { |
| | | if (data.length > 0) { |
| | | data.forEach((item) => { |
| | | this.toggleSelection(item, flag); |
| | | if (item.children && item.children.length > 0) { |
| | | this.toggleSelect(item.children, flag, type); |
| | | } |
| | | }); |
| | | } |
| | | } else { |
| | | if (data.children && data.children.length > 0) { |
| | | data.children.forEach((item) => { |
| | | item.isChecked = !item.isChecked; |
| | | this.$refs.multipleTable.toggleRowSelection(item, flag); |
| | | this.toggleSelect(item, flag, type); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.deleteList = []; |
| | | val.forEach((v) => { |
| | | if (v.id !== undefined) { |
| | | this.deleteList.push(v.id); |
| | | } |
| | | }); |
| | | }, |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® ç»æ |
| | | } |
| | | }) |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="standard"> |
| | | <div> |
| | | <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675" |
| | | @select-all="selectAll" @select="selectTr" |
| | | @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="60" label="åºå·"></el-table-column> |
| | | <el-table-column prop="tfather" label="å·¥åº"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="primary" v-if="scope.row.tfather != null">01</el-tag> |
| | | <span>{{scope.row.tfather}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tname" label="å·¥èºåç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="success" v-if="scope.row.tname != null">02</el-tag> |
| | | <span>{{scope.row.tname}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="pname" label="ææ åç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="info" color="#faf2ff" v-if="scope.row.pname != null"> |
| | | <span style="color: #e1affb">03</span> |
| | | </el-tag> |
| | | <span>{{scope.row.pname}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="åä½"></el-table-column> |
| | | <el-table-column prop="internal" label="å
æ§å¼"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.internal" |
| | | v-if="scope.row.internal != null" |
| | | @blur="updateVal(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="required" label="æ åå¼"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.required" |
| | | v-if="scope.row.required != null" |
| | | @blur="updateVal(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | selects: [], |
| | | } |
| | | }, |
| | | props:['tableData','tableType'], |
| | | created() {}, |
| | | mounted() {}, |
| | | methods: { |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® |
| | | // å
¨é/åæ¶éæä½ |
| | | selectAll(val) { |
| | | this.isAllSelect = !this.isAllSelect; |
| | | let data = this.tableData; |
| | | this.toggleSelect(data, this.isAllSelect, "all"); |
| | | }, |
| | | //éæ©æè¡ |
| | | selectTr(selection, row) { |
| | | this.$set(row, "isChecked", !row.isChecked); |
| | | this.$nextTick(() => { |
| | | this.isAllSelect = row.isChecked; |
| | | this.toggleSelect(row, row.isChecked, "tr"); |
| | | }); |
| | | }, |
| | | //éå½å级 |
| | | toggleSelect(data, flag, type) { |
| | | if (type === "all") { |
| | | if (data.length > 0) { |
| | | data.forEach((item) => { |
| | | this.toggleSelection(item, flag); |
| | | if (item.children && item.children.length > 0) { |
| | | this.toggleSelect(item.children, flag, type); |
| | | } |
| | | }); |
| | | } |
| | | } else { |
| | | if (data.children && data.children.length > 0) { |
| | | data.children.forEach((item) => { |
| | | item.isChecked = !item.isChecked; |
| | | this.$refs.multipleTable.toggleRowSelection(item, flag); |
| | | this.toggleSelect(item, flag, type); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.deleteList = []; |
| | | val.forEach((v) => { |
| | | if (v.id !== undefined) { |
| | | this.deleteList.push(v.id); |
| | | } |
| | | }); |
| | | }, |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® ç»æ |
| | | updateVal(row){ |
| | | this.$axios.post(this.$api.url.productWrite,{ |
| | | id : row.pid, |
| | | internal : row.internal, |
| | | required : row.required |
| | | }).then(res=>{ |
| | | this.$message.success(res.message); |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = val; |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .expand-button { |
| | | cursor: pointer; |
| | | color: #1890ff; |
| | | } |
| | | .standard { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | <style> |
| | | .standard * { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell { |
| | | background-color: #F0F1F5 !important; |
| | | color: #333; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell .cell { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .standard .cell { |
| | | color: #333; |
| | | padding-left: 17px !important; |
| | | } |
| | | |
| | | .standard { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: auto; |
| | | } |
| | | |
| | | /* .standard .el-table__body-wrapper { |
| | | height: 100%; |
| | | } */ |
| | | |
| | | /* .standard .el-table__body { |
| | | height: 100%; |
| | | } */ |
| | | .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ |
| | | padding-left: 23px !important; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <template> |
| | | <div class="standard"> |
| | | <div> |
| | | <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border |
| | | <el-table :data="tableData" max-height="675" row-key="rowId" border |
| | | @select-all="selectAll" @select="selectTr" ref="multipleTable" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}" |
| | | @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 type="index" width="60" label="åºå·"> |
| | | </el-table-column> |
| | | <el-table-column prop="father" label="å·¥åº" sortable width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag v-if="scope.row.children" :type="scope.row.children ? 'primary' : 'success'"> |
| | | <div class="firstDiv" :style="{ color: scope.row.children ? '#16a7ff' : '#58c173' }"> |
| | | 01 |
| | | </div> |
| | | </el-tag> |
| | | <el-tag v-if="scope.row.children" type="primary">01</el-tag> |
| | | <span style="color: black"> |
| | | {{ scope.row.father }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" sortable label="å·¥èºåç§°"> |
| | | <el-table-column sortable label="å·¥èºåç§°"> |
| | | <template slot-scope="scope"> |
| | | <el-tag v-if="!scope.row.children"> |
| | | <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> |
| | | 02 |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black"> |
| | | {{ scope.row.name }} |
| | | </span> |
| | | </template> |
| | | <el-tag type="success" v-if="!scope.row.children">02</el-tag> |
| | | <span style="color: black">{{ scope.row.name }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="dg" label="设å¤ç»"> |
| | | <template slot-scope="scope"> |
| | | <div class="showDiv"> |
| | | <span>{{scope.row.dg}}</span> |
| | | <div @click="showDialog">éæ©</div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="pq" label="ç产å®é¢"> |
| | | </el-table-column> |
| | | <el-table-column prop="" label="æä½"> |
| | | <el-butten style="color: rgb(137, 137, 229);">ç¼è¾</el-butten> |
| | | <el-table-column prop="pq" label="ç产å®é¢(个/天)"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.pq" |
| | | v-if="scope.row.pq != null" |
| | | @blur="updatePq(scope.row)" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-dialog |
| | | title="éæ©è®¾å¤ç»" |
| | | :visible.sync="deviceGroupDialog" |
| | | width="30%"> |
| | | <span>è¿æ¯ä¸æ®µä¿¡æ¯</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="deviceGroupDialog = false">ç¡® å®</el-button> |
| | | <el-button @click="deviceGroupDialog = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | selects: [] |
| | | deviceGroupDialog:false, |
| | | selects: [], |
| | | isAllSelect:false, |
| | | } |
| | | }, |
| | | props:['tableData','tableType'], |
| | | created() { |
| | | console.log(this.tableData,this.tableType) |
| | | console.log(this.tableData) |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | methods: { |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® |
| | | // å
¨é/åæ¶éæä½ |
| | | selectAll(val) { |
| | | this.isAllSelect = !this.isAllSelect; |
| | | let data = this.tableData; |
| | | this.toggleSelect(data, this.isAllSelect, "all"); |
| | | }, |
| | | //éæ©æè¡ |
| | | selectTr(selection, row) { |
| | | this.$set(row, "isChecked", !row.isChecked); |
| | | this.$nextTick(() => { |
| | | this.isAllSelect = row.isChecked; |
| | | this.toggleSelect(row, row.isChecked, "tr"); |
| | | }); |
| | | }, |
| | | //éå½å级 |
| | | toggleSelect(data, flag, type) { |
| | | if (type === "all") { |
| | | if (data.length > 0) { |
| | | data.forEach((item) => { |
| | | this.toggleSelection(item, flag); |
| | | if (item.children && item.children.length > 0) { |
| | | this.toggleSelect(item.children, flag, type); |
| | | } |
| | | }); |
| | | } |
| | | } else { |
| | | if (data.children && data.children.length > 0) { |
| | | data.children.forEach((item) => { |
| | | item.isChecked = !item.isChecked; |
| | | this.$refs.multipleTable.toggleRowSelection(item, flag); |
| | | this.toggleSelect(item, flag, type); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = val; |
| | | } |
| | | this.deleteList = []; |
| | | val.forEach((v) => { |
| | | if (v.id !== undefined) { |
| | | this.deleteList.push(v.id); |
| | | } |
| | | }); |
| | | }, |
| | | // è¡¨æ ¼æ å
¨é¨éä¸é
ç½® ç»æ |
| | | showDialog(){ |
| | | this.deviceGroupDialog = true |
| | | }, |
| | | updatePq(row){ |
| | | this.$axios.post(this.$api.url.technologyWrite,{ |
| | | id : row.id, |
| | | productionQuota : row.pq |
| | | }).then(res=>{ |
| | | this.$message.success(res.message); |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | .standard { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .standard .showDiv{ |
| | | cursor: pointer; |
| | | } |
| | | .standard .showDiv div{ |
| | | color:#407ab9; |
| | | display: none; |
| | | } |
| | | .showDiv span{ |
| | | cursor: pointer; |
| | | display: block; |
| | | width: 100%; |
| | | } |
| | | .showDiv:hover span{ |
| | | display: none; |
| | | } |
| | | .showDiv:hover div{ |
| | | display: block; |
| | | } |
| | | </style> |
| | | <style> |
| | |
| | | overflow: auto; |
| | | } |
| | | |
| | | .standard .el-table__body-wrapper { |
| | | /* .standard .el-table__body-wrapper { |
| | | height: 100%; |
| | | } |
| | | } */ |
| | | |
| | | .standard .el-table__body { |
| | | /* .standard .el-table__body { |
| | | height: 100%; |
| | | } |
| | | } */ |
| | | .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ |
| | | padding-left: 23px !important; |
| | | } |
| | |
| | | <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> |
| | | @click="showBomAddModel">æ°å¢</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-button @click="bomRightUp=true" icon="el-icon-edit-outline">ä¿®æ¹</el-button> |
| | | <el-button @click="bomRightDl=true" icon="el-icon-delete">å é¤</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <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" default-expand-all :props="{ children: 'children', label: 'name' }" |
| | | <el-row> |
| | | <el-col :span="21"> |
| | | <el-input v-model="search" suffix-icon="el-icon-search" placeholder="请è¾å
¥æç´¢å
容" size="small" clearable></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <el-button size="mini" icon="el-icon-plus" @click="bomLeftAdd=true"></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree style="width: ;" :data="list" ref="tree" default-expand-all :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 != '[5]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.name }}</span> |
| | | {{ data.code }}{{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | |
| | | <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-select size="small" 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 style="margin-left:10px;" 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> |
| | |
| | | <technology :tableType="tableType" :tableData="tableData"></technology> |
| | | </div> |
| | | <div v-if="this.typeselect == 1"> |
| | | ææ¯ææ |
| | | <target :tableType="tableType" :tableData="tableData"></target> |
| | | </div> |
| | | <div v-if="this.typeselect == 2"> |
| | | <material :tableType="tableType" :tableData="tableData"></material> |
| | | <material :tableType="tableType" :tableData="tableData"></material> |
| | | </div> |
| | | <div v-if="this.typeselect == 3"> |
| | | çäº§å·¥èº |
| | | <product :tableType="tableType" :tableData="tableData"></product> |
| | | </div> |
| | | <!-- <div class="table"> |
| | | <technology v-if="tableData.length !== 0" :tableType="tableType" :tableData="tableData"></technology> |
| | | </div> --> |
| | | <!-- <div class="table"> |
| | | <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-form> |
| | | |
| | | </el-form> |
| | | <el-dialog title="BOMæ°å¢" :visible.sync="bomAddModelVisible" width="35%"> |
| | | <!-- å·¥èºè·¯çº¿ --> |
| | | <div v-if="typeselect == 0">ã |
| | | <el-form :model="technologyForm" :inline="true" class="demo-form-inline" label-position="right" |
| | | :rules="boomRules" ref="boomForm" label-width="90px"> |
| | | <el-form-item label="å·¥åº:" prop="father" width="250"> |
| | | <el-select v-model="technologyForm.father" |
| | | style="width:200px;" placeholder="请è¾å
¥æéæ©å·¥åº"> |
| | | <el-option :value="item.father" :label="item.father" v-for="(item,index) in fatherList" :key="index"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥èºåç§°:" prop="name" width="250"> |
| | | <el-input placeholder="请è¾å
¥å·¥èºåç§°" style="width:200px;" |
| | | v-model="technologyForm.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="设å¤ç»:" prop="deviceGroup" width="250"> |
| | | <el-select placeholder="è¯·éæ©è®¾å¤ç»" |
| | | style="width:200px;" |
| | | v-model="technologyForm.deviceGroup"> |
| | | <el-option :value="item.father" |
| | | v-for="(item,index) in deviceList" :key="index" :label="item.father"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç产å®é¢:" prop="productionQuota" width="250"> |
| | | <el-input style="width:200px;" v-model.number="technologyForm.productionQuota" placeholder="请è¾å
¥ç产å®é¢" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- ææ¯ææ --> |
| | | <div v-if="typeselect == 1"> |
| | | <el-form :model="targetForm" :inline="true" class="demo-form-inline" label-position="right" |
| | | label-width="80px"> |
| | | <el-form-item label="ææ åç§°:" prop="father" width="250"> |
| | | <el-input style="width:200px;" v-model="targetForm.pname" placeholder="请è¾å
¥åä½"/> |
| | | </el-form-item> |
| | | <el-form-item label="åä½:" prop="name" width="250"> |
| | | <el-input style="width:200px;" v-model="targetForm.unit" placeholder="请è¾å
¥åä½"/> |
| | | </el-form-item> |
| | | <el-form-item label="å
æ§å¼:" prop="dg" width="250"> |
| | | <el-input style="width:200px;" v-model="targetForm.internal" placeholder="请è¾å
¥åä½"/> |
| | | </el-form-item> |
| | | <el-form-item label="æ åå¼:" prop="unit" width="250"> |
| | | <el-input style="width:200px;" v-model="targetForm.required" placeholder="请è¾å
¥åä½"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- ç©ææ¸
å --> |
| | | <div v-if="typeselect == 2"> |
| | | <el-form :model="materialForm" class="demo-form-inline" label-position="right" |
| | | label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è§æ ¼åå·:" prop="father" width="250"> |
| | | <el-input style="width:200px;" v-model="materialForm.pname" placeholder="请è¾å
¥åä½"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-form-item label="产å大类:" prop="name" width="250"> |
| | | <el-select placeholder="è¯·éæ©äº§å大类" |
| | | style="width:240px;" v-model="materialForm.dg"> |
| | | <el-option value="1">1</el-option> |
| | | <el-option value="2">2</el-option> |
| | | <el-option value="3">3</el-option> |
| | | <el-option value="4">4</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ææä¿¡æ¯"></el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="mini" style="text-align: right;">æ·»å è¡</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-table > |
| | | <el-table-column label="ææåç§°"></el-table-column> |
| | | <el-table-column label="è§æ ¼åå·"></el-table-column> |
| | | <el-table-column label="åä½"></el-table-column> |
| | | <el-table-column label="æ°é"></el-table-column> |
| | | </el-table> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <!-- çäº§å·¥èº --> |
| | | <div v-if="typeselect == 3"> |
| | | <el-form :model="technologyForm" :inline="true" class="demo-form-inline" label-position="right" |
| | | label-width="80px"> |
| | | <el-form-item label="å·¥åº:" prop="father" width="250"> |
| | | <el-select v-model="technologyForm.father" |
| | | style="width:200px;" |
| | | placeholder="请è¾å
¥æéæ©ç产å®é¢"> |
| | | <el-option value="1">1</el-option> |
| | | <el-option value="2">2</el-option> |
| | | <el-option value="3">3</el-option> |
| | | <el-option value="4">4</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥èºåç§°:" prop="name" width="250"> |
| | | <el-select placeholder="请è¾å
¥æéæ©å·¥èºåç§°" |
| | | style="width:200px;" |
| | | v-model="technologyForm.name"> |
| | | <el-option value="1">1</el-option> |
| | | <el-option value="2">2</el-option> |
| | | <el-option value="3">3</el-option> |
| | | <el-option value="4">4</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="设å¤:" prop="dg" width="250"> |
| | | <el-select placeholder="è¯·éæ©è®¾å¤" |
| | | style="width:200px;" |
| | | v-model="technologyForm.dg"> |
| | | <el-option value="1">1</el-option> |
| | | <el-option value="2">2</el-option> |
| | | <el-option value="3">3</el-option> |
| | | <el-option value="4">4</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="项ç®:" prop="dg" width="250"> |
| | | <el-select placeholder="è¯·éæ©é¡¹ç®" |
| | | style="width:200px;" |
| | | v-model="technologyForm.dg"> |
| | | <el-option value="1">1</el-option> |
| | | <el-option value="2">2</el-option> |
| | | <el-option value="3">3</el-option> |
| | | <el-option value="4">4</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åä½:" prop="unit" width="250"> |
| | | <el-input style="width:200px;" v-model="technologyForm.unit" placeholder="请è¾å
¥åä½"/> |
| | | </el-form-item> |
| | | <el-form-item label="ææ :" prop="pq" width="250"> |
| | | <el-input style="width:200px;" v-model="technologyForm.pq" placeholder="请è¾å
¥ææ " /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="bomAddModelVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="bomAddModelVisible = false">ç¡® å®</el-button> |
| | | <el-button type="primary" @click="confirmAdd('boomForm')">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 左侧ç¹å»+æé® --> |
| | | <el-dialog title="BOMæ°å¢" :visible.sync="bomLeftAdd" width="29%"> |
| | | <el-form ref="leftAdd" :model="leftAdd"> |
| | | <el-form-item :rules="[{ required: true, message: 'è¯·éæ©äº§åç±»å', trigger: 'blur' }]" label="产åç±»å" prop="type"> |
| | | <el-cascader @change="changeLeftAdd" v-model="leftAdd.type" style="width: 86%;" :options="formTypeOptions" :props="{ checkStrictly: true }" clearable></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item v-if="leftAdd.type.length<2" label="产å大类" prop="father"> |
| | | <el-autocomplete class="inline-input" style="width: 88%;" v-model="leftAdd.father" :fetch-suggestions="querySearch" placeholder="è¯·éæ©äº§å大类" @select="handleSelect"></el-autocomplete> |
| | | </el-form-item> |
| | | <el-form-item v-if="leftAdd.type.length<3" label="产ååç§°" prop="name"> |
| | | <el-autocomplete class="inline-input" style="width: 88%;" v-model="leftAdd.name" :fetch-suggestions="querySearchName" placeholder="è¯·éæ©äº§ååç§°" @select="handleSelect"></el-autocomplete> |
| | | </el-form-item> |
| | | <el-form-item v-if="leftAdd.type.length<4" label="äº§åæ å" prop="standard"> |
| | | <el-autocomplete class="inline-input" style="width: 88%;" v-model="leftAdd.standard" :fetch-suggestions="querySearchStandar" placeholder="è¯·éæ©äº§åæ å" @select="handleSelect"></el-autocomplete> |
| | | </el-form-item> |
| | | <el-form-item label="产ååå·" prop="specifications"> |
| | | <el-input v-model="leftAdd.specifications" style="width: 88%;" placeholder="请è¾å
¥äº§ååå·"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="resetForm('leftAdd')">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitForm('leftAdd')">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- å³ä¸ä¾§ç¹å»ä¿®æ¹æé® --> |
| | | <el-dialog title="BOMä¿®æ¹" :visible.sync="bomRightUp" width="30%"> |
| | | <el-form> |
| | | ä¿®æ¹ |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="bomRightUp = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="bomRightUp = false">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- å³ä¸ä¾§ç¹å»å é¤æé® --> |
| | | <el-dialog title="BOMå é¤" :visible.sync="bomRightDl" width="30%"> |
| | | <el-form> |
| | | å é¤ |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="bomRightDl=false">å æ¶</el-button> |
| | | <el-button type="primary" @click="bomRightDl = false">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | <script> |
| | | import technology from "./standard-table/technology.vue" |
| | | import material from "./standard-table/material.vue" |
| | | import target from "./standard-table/target.vue" |
| | | import product from "./standard-table/product.vue" |
| | | import bomClickAdd from '@/components/view/standard-box/bomClickAdd' |
| | | export default { |
| | | components: { technology,material }, |
| | | |
| | | components: { technology,material,target,product,bomClickAdd }, |
| | | data() { |
| | | return { |
| | | //å·¥åºå表 |
| | | fatherList:[], |
| | | //设å¤ç»å表 |
| | | deviceList:[], |
| | | technologyForm:{ |
| | | father:'', |
| | | name:'', |
| | | deviceGroup:'', |
| | | productionQuota:'' |
| | | }, |
| | | targetForm:{ |
| | | pname:'', |
| | | unit:'', |
| | | internal:'', |
| | | required: '' |
| | | }, |
| | | formTypeOptions:[], |
| | | materialForm:{}, |
| | | boomRules:{ |
| | | father:{required:true,message:'å·¥åºä¸è½ä¸ºç©º',trigger:'change'}, |
| | | name:{required:true,message:'å·¥èºåç§°ä¸è½ä¸ºç©º',trigger:'blur'}, |
| | | deviceGroup:{required:true,message:'设å¤ç»ä¸è½ä¸ºç©º',trigger:'change'}, |
| | | productionQuota:[ |
| | | {required:true,message:'ç产å®é¢ä¸è½ä¸ºç©º',trigger:'blur'}, |
| | | {type:'number',required:true,message:'æ°æ®ç±»åå¿
é¡»æ¯çº¯æ°å',trigger:'blur'} |
| | | ] |
| | | }, |
| | | // BOMæ æ°æ®ç»æ |
| | | list: [], |
| | | search: null, |
| | |
| | | checkTreeNode: {},// ç¹å»é䏿 èç¹ |
| | | tableData: [], |
| | | bomAddModelVisible: false,// æ§å¶bomæ°å¢æ¨¡ææ¡æ¯å¦æ¾ç¤º |
| | | list: [], |
| | | bomLeftAdd: false, |
| | | bomRightUp: false, |
| | | bomRightDl: false, |
| | | formTypeOptions: null, |
| | | typeselect: 0, |
| | | returntree: { |
| | | id:28, |
| | | }, |
| | | version: {}, |
| | | leftAdd:{ |
| | | type: [], |
| | | father: null, |
| | | standard: null, |
| | | name: null, |
| | | specifications: null |
| | | }, |
| | | VER: {}, |
| | | verdata: {}, |
| | | character: 0, |
| | | restaurants: [], |
| | | bomName:[], |
| | | bomStandard:[], |
| | | isLeftAdd: true |
| | | } |
| | | }, |
| | | // watch: { |
| | |
| | | // } |
| | | // }, |
| | | mounted() { |
| | | this.tableType=0 |
| | | this.selectMaterialTree() |
| | | // this.selectAll() |
| | | this.selectVersion() |
| | | console.log(this.formTypeOptions); |
| | | }, |
| | | methods: { |
| | | changeLeftAdd(){ |
| | | if(this.leftAdd.type.length===2){ |
| | | this.leftAdd.father=null |
| | | this.leftAdd.father=this.leftAdd.type[1] |
| | | } |
| | | if(this.leftAdd.type.length===3){ |
| | | this.leftAdd.name=null |
| | | this.leftAdd.father=this.leftAdd.type[1] |
| | | this.leftAdd.name=this.leftAdd.type[2] |
| | | } |
| | | if(this.leftAdd.type.length===4){ |
| | | this.leftAdd.standard=null |
| | | this.leftAdd.father=this.leftAdd.type[1] |
| | | this.leftAdd.name=this.leftAdd.type[2] |
| | | this.leftAdd.standard=this.leftAdd.type[3] |
| | | } |
| | | }, |
| | | submitForm(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | let obj=JSON.parse(JSON.stringify(this.leftAdd)) |
| | | console.log(obj); |
| | | let one=this.list.filter(item=>{ |
| | | return item.name===obj.type[0] |
| | | })[0] |
| | | let two=one.children.filter(item=>{ |
| | | return item.name===obj.father |
| | | })[0] |
| | | console.log("two",two); |
| | | //æ§è¡ä¸äºçº§æ°å¢ |
| | | if(two===undefined||two===null){ |
| | | obj.type=this.getType(obj.type[0]) |
| | | this.$axios.post(this.$api.url.leftAddOneTwo,obj,{ |
| | | headers: { "Content-Type": "application/json" } |
| | | }).then(res=>{ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | }); |
| | | this.selectMaterialTree() |
| | | }) |
| | | }else{ |
| | | let three=two.children.filter(item=>{ |
| | | return item.name===obj.name |
| | | })[0] |
| | | console.log("three",three); |
| | | if(three===undefined||three===null){ |
| | | obj.type=this.getType(obj.type[0]) |
| | | this.$axios.post(this.$api.url.leftAddOneTwo,obj,{ |
| | | headers: { "Content-Type": "application/json" } |
| | | }).then(res=>{ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | }); |
| | | this.selectMaterialTree() |
| | | }) |
| | | }else{ |
| | | //æ°å¢æ ååå· |
| | | let four=three.children.filter(item=>{ |
| | | return item.name===obj.standard |
| | | })[0] |
| | | if(four===undefined||four===null){ |
| | | let StandardDto={ |
| | | "id": three.id, |
| | | "specifications": obj.specifications, |
| | | "standard": obj.standard |
| | | } |
| | | this.$axios.post(this.$api.url.leftAddThree,StandardDto,{ |
| | | headers: { "Content-Type": "application/json" } |
| | | }).then(res=>{ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | }); |
| | | this.selectMaterialTree() |
| | | }) |
| | | }else{ |
| | | let specificationsDto={ |
| | | "id": four.id, |
| | | "specifications": obj.specifications |
| | | } |
| | | this.$axios.post(this.$api.url.leftAddFour,specificationsDto,{ |
| | | headers: { "Content-Type": "application/json" } |
| | | }).then(res=>{ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | }); |
| | | this.selectMaterialTree() |
| | | this.selectVersion() |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | this.resetForm('leftAdd') |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | resetForm(formName) { |
| | | this.bomLeftAdd=false |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | leftAddBom(){ |
| | | |
| | | }, |
| | | confirmAdd(formName){ |
| | | this.$refs[formName].validate(valid=>{ |
| | | if(valid){ |
| | | console.log(this.technologyForm); |
| | | this.$axios.post(this.$api.url.addTechnology, |
| | | { |
| | | "specificationsId": this.returntree.id, |
| | | "technologyDto": JSON.stringify({ |
| | | deviceGroup: this.technologyForm.deviceGroup, |
| | | father: this.technologyForm.father, |
| | | name: this.technologyForm.name, |
| | | productionQuota: this.technologyForm.productionQuota, |
| | | }) |
| | | },{ |
| | | headers: { "Content-Type": "application/json" } |
| | | }).then(res=>{ |
| | | this.$message.success(res.message); |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | this.bomAddModelVisible = false; |
| | | } |
| | | }) |
| | | }, |
| | | //è·åå·¥åºå表 |
| | | getFatherList(){ |
| | | this.$axios.get(this.$api.url.chooseFather,{ |
| | | params:{specificationsId : this.returntree.id} |
| | | }).then(res=>{ |
| | | this.fatherList = res.data; |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | }, |
| | | //è·å设å¤ç»å表 |
| | | getDeviceList(){ |
| | | this.$axios.get(this.$api.url.chooseDevice).then(res=>{ |
| | | this.deviceList = res.data; |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | }, |
| | | showBomAddModel(){ |
| | | this.getFatherList(); |
| | | this.getDeviceList(); |
| | | this.bomAddModelVisible = true |
| | | }, |
| | | startLeftAdd(){ |
| | | |
| | | }, |
| | | getType(typeName){ |
| | | return typeName==="æå"?1:2 |
| | | }, |
| | | handleSelect(item) { |
| | | console.log(item); |
| | | }, |
| | | querySearch(queryString, cb) { |
| | | var restaurants = this.restaurants; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | // è°ç¨ callback è¿å建议åè¡¨çæ°æ® |
| | | cb(results); |
| | | }, |
| | | querySearchName(queryString, cb) { |
| | | var restaurants = this.bomName; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | // è°ç¨ callback è¿å建议åè¡¨çæ°æ® |
| | | cb(results); |
| | | }, |
| | | querySearchStandar(queryString, cb) { |
| | | var restaurants = this.bomStandard; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | // è°ç¨ callback è¿å建议åè¡¨çæ°æ® |
| | | cb(results); |
| | | }, |
| | | loadFatherType(){ |
| | | return [{label:"æ©¡è¶è¿æ¥å¨",value: "æ©¡è¶è¿æ¥å¨"},{label:"éå±è¿æ¥å¨",value: "éå±è¿æ¥å¨"}, |
| | | {label:"湿ææçµè¿æ¥å¨",value: "湿ææçµè¿æ¥å¨"},{label:"忝ç»ä»¶",value: "忝ç»ä»¶"}] |
| | | }, |
| | | createFilter(queryString) { |
| | | return (restaurant) => { |
| | | return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); |
| | | }; |
| | | }, |
| | | selectDataList() { |
| | | this.list.forEach(a => { |
| | | a.code = '[1]' |
| | |
| | | |
| | | }, |
| | | TYPE(val) {//ç±»å.æ°æ® |
| | | console.log(val); |
| | | // console.log(val); |
| | | this.typeselect = val |
| | | |
| | | // console.log(this.typeselect); |
| | | this.selectVersion() |
| | | }, |
| | | handleNodeClick(val) {//æ çå¼ |
| | | console.log(val); |
| | | this.returntree = val |
| | | if(val.code==='[5]'&&val.children===undefined){ |
| | | console.log(val); |
| | | this.returntree = val |
| | | this.typeselect=0 |
| | | this.selectVersion() |
| | | } |
| | | }, |
| | | selectVersion() {//çæ¬ |
| | | this.$axios.get(this.$api.url.selectVersion, { |
| | | async selectVersion() {//çæ¬ |
| | | let v=await this.$axios.get(this.$api.url.selectVersion, { |
| | | params: { |
| | | specificationsId: this.returntree.id, |
| | | type: this.typeselect, |
| | |
| | | this.version = this.verdata.map(el => { |
| | | return el = `v${el}` |
| | | }) |
| | | console.log(this.verdata); |
| | | // console.log("çæ¬"); |
| | | return this.verdata[0] |
| | | }) |
| | | this.character=v |
| | | this.VER="v"+v |
| | | this.selectAll() |
| | | }, |
| | | //å³ä¾§æ°æ® |
| | | selectAll() { |
| | | console.log(this.$axios.get(this.$api.url.selectAll)); |
| | | this.$axios.get(this.$api.url.selectAll, { |
| | | params: { |
| | | specificationsId: this.returntree.id,//treeçç¹å»åé¦ |
| | |
| | | version: this.character,//çæ¬ |
| | | } |
| | | }).then(res => { |
| | | console.log(res.data); |
| | | this.tableData = res.data |
| | | let arr = res.data; |
| | | this.formatData(arr) |
| | | this.tableData = arr; |
| | | }) |
| | | }, |
| | | formatData(data){ |
| | | let arr = data; |
| | | for(var i=0;i<arr.length;i++){ |
| | | arr[i].rowId = Math.random(); |
| | | if(arr[i].children != undefined){ |
| | | this.formatData(arr[i].children); |
| | | } |
| | | } |
| | | }, |
| | | verevent(val) { |
| | | console.log(val); |
| | | // console.log(val); |
| | | let cc = val.replace('v', '') |
| | | console.log(cc); |
| | | // console.log(cc); |
| | | this.character = cc |
| | | this.selectAll() |
| | | // const { v, ...newObj } = val; |
| | |
| | | }, |
| | | //äºçº§æ |
| | | selectMaterialTree() { |
| | | this.$axios.get(this.$api.url.selectTreeByMaterial).then(res => { |
| | | this.list = res.data |
| | | 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 = 'æå' |
| | |
| | | } |
| | | }) |
| | | this.selectDataList() |
| | | // é»è®¤ç¬¬ä¸ä¸ªäºçº§èç¹æç´¢ï¼æ°å¢é
置项 |
| | | const treeOptions = JSON.parse(JSON.stringify(this.list)); |
| | | this.getDefault(treeOptions, 0); |
| | | this.formTypeOptions = treeOptions; |
| | | 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 .el-tree-node__children .el-tree-node" |
| | | ); |
| | | try { |
| | | firstNode.click(); |
| | | } catch (e) { |
| | | //TODO handle the exception |
| | | } |
| | | }); |
| | | }) |
| | | }, |
| | | getDefault(arr, index) { |
| | | for (const item of arr) { |
| | | if (item.children && item.children.length > 0) { |
| | | // æåèç¹ |
| | | this.getDefault(item.children, index + 1); |
| | | if (index === 2) { |
| | | item.children = null; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | |
| | | this.tableData = productList |
| | | break; |
| | | } |
| | | }, |
| | | // é彿´æ¹æ·»å 级èæé屿§ |
| | | replaceProp(arr){ |
| | | for (let index = 0; index < arr.length; index++) { |
| | | let element = arr[index]; |
| | | element.label=element.name |
| | | element.value=element.name |
| | | if(element.children!=undefined){ |
| | | if(element.code==='[4]'){ |
| | | delete element['children'] |
| | | continue |
| | | } |
| | | this.replaceProp(element.children) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | watch:{ |
| | | leftAdd: { |
| | | handler(newVal, oldVal) { |
| | | if(this.isLeftAdd){ |
| | | let tree=JSON.parse(JSON.stringify(this.list)) |
| | | let father=null; |
| | | if(newVal.father!=null&&newVal.father!=''&&newVal.type.length>0){ |
| | | let one=tree.filter(item=>{ |
| | | return item.name===newVal.type[0] |
| | | })[0] |
| | | console.log(one); |
| | | let two=one.children.filter(item=>{ |
| | | return item.name===newVal.father |
| | | })[0] |
| | | if(two!=undefined){ |
| | | this.bomName=[] |
| | | father=JSON.parse(JSON.stringify(two)) |
| | | two.children.forEach(item=>{ |
| | | let obj={label: item.name,value: item.name} |
| | | this.bomName.push(obj) |
| | | }) |
| | | } |
| | | } |
| | | if(newVal.name!=null&&newVal!=''&&newVal.father!=null&&newVal.father!=''&&newVal.type.length>0){ |
| | | let three=null |
| | | if(father!=undefined&&father!=null){ |
| | | three=father.children.filter(item=>{ |
| | | return item.name===newVal.name |
| | | })[0] |
| | | } |
| | | if(three!=undefined&&three!=null){ |
| | | this.bomStandard=[] |
| | | three.children.forEach(item=>{ |
| | | let obj={label: item.name,value: item.name} |
| | | this.bomStandard.push(obj) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | deep: true // 深度çå¬å¯¹è±¡å
é¨å±æ§çååï¼å¯éç |
| | | }, |
| | | bomLeftAdd:{ |
| | | handler(newval,oldVal){ |
| | | if(newval){ |
| | | let treeOptions = JSON.parse(JSON.stringify(this.list)); |
| | | this.replaceProp(treeOptions) |
| | | this.formTypeOptions=treeOptions |
| | | this.restaurants=this.loadFatherType() |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | .thing .left { |
| | | width: 295px; |
| | | height: calc(100% - 32px); |
| | | overflow-y: auto; |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | } |
| | |
| | | clearable |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | <span>产å大类ï¼</span> |
| | | <el-select |
| | | v-model="search.productCategories" |
| | | size="small" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 224px;margin-right: 30px;" |
| | | > |
| | | <el-option label="å
¨é¨" :value="''"></el-option> |
| | | <el-option label="æå" :value="1"></el-option> |
| | | <el-option label="åæå" :value="2"></el-option> |
| | | </el-select> |
| | | <el-button size="mini" @click="clean()"><span>é ç½®</span></el-button> |
| | | <el-button |
| | | size="mini" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="material_code" label="ææç¼ç "> |
| | | </el-table-column> |
| | | <el-table-column prop="id" label="ææåç§°"> </el-table-column> |
| | | <el-table-column prop="project_name" label="ææåç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="specifications_model" |
| | | label="è§æ ¼åå·" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="deal_reasult" label="å¤çç»æ" width="100"> |
| | | <template slot-scope="scope"> |
| | | <span style="color:#34BD66;" v-if="scope.row.deal_reasult == 1" |
| | | <span style="color:#E84738;" v-if="scope.row.deal_reasult == 0" |
| | | >ä¸éè¿</span |
| | | > |
| | | <span |
| | | style="color:#E84738;" |
| | | v-else-if="scope.row.deal_reasult == 0" |
| | | style="color:#34BD66;" |
| | | v-else-if="scope.row.deal_reasult == 1" |
| | | >éè¿</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" width="100"> |
| | | <template> |
| | | <template slot-scope="scope"> |
| | | <div style="display: flex;"> |
| | | <el-button type="text" siae="small" size="mini">è¯å®¡</el-button> |
| | | <el-popover |
| | | placement="left" |
| | | width="160" |
| | | :ref="`popover-${scope.$index}`" |
| | | > |
| | | <div style="padding: 6px">è¯å®¡æ¯å¦éè¿ï¼</div> |
| | | <div style="text-align: right; margin: 6px;"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | style="color: #E84738;" |
| | | @click=" |
| | | scope._self.$refs[`popover-${scope.$index}`].doClose(); |
| | | rawEvaluate(scope.row, 0); |
| | | " |
| | | >ä¸éè¿</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | style="color: #34bd66;" |
| | | size="mini" |
| | | @click=" |
| | | scope._self.$refs[`popover-${scope.$index}`].doClose(); |
| | | rawEvaluate(scope.row, 1); |
| | | " |
| | | >éè¿</el-button |
| | | > |
| | | </div> |
| | | <el-button |
| | | slot="reference" |
| | | type="text" |
| | | siae="small" |
| | | size="mini" |
| | | >è¯å®¡</el-button |
| | | > |
| | | </el-popover> |
| | | <el-button |
| | | type="text" |
| | | siae="small" |
| | | size="mini" |
| | | style=" color:87, 138, 193 ;" |
| | | style=" color:87, 138, 193 ;margin-left: 10px;" |
| | | >æ¥ç</el-button |
| | | > |
| | | </div> |
| | |
| | | countSize: 10, // æ¡æ°/页 |
| | | pageSize: 1, // èµ·å§é¡µ |
| | | formTime: "", // æ¥ææ¥æ |
| | | productCategories: "", // 产å大类 |
| | | dealState: "" // å¤çç¶æ |
| | | }, |
| | | unqualifiedTable: [], // 页é¢è¡¨æ ¼æ°æ® |
| | |
| | | dealState: "" // å¤çç¶æ |
| | | }; |
| | | this.getDetailInfo(); |
| | | }, |
| | | rawEvaluate(row, passOrNo) { |
| | | this.$axios |
| | | .post(this.$api.url.evaluatePassOrNo, { |
| | | rawId: row.id, |
| | | passOrNo: passOrNo |
| | | }) |
| | | .then(res => { |
| | | this.unqualifiedTable = []; |
| | | this.getDetailInfo(); |
| | | }); |
| | | } |
| | | } |
| | | }; |