| | |
| | | <style scoped> |
| | | .rawInsBox{ |
| | | height: 100%; |
| | | width: 100%; |
| | | overflow-y: scroll; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .rawInsBox .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; |
| | | } |
| | | .rawInsBox .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | /* 检验详情 */ |
| | | .raw-detail-info{ |
| | | background: #fff; |
| | | padding: 26px 0px 11px 80px; |
| | | } |
| | | .raw-detail-info >>>.el-form-item__label{ |
| | | |
| | | color: rgb(51, 51, 51); |
| | | font-family: 微软雅黑; |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | letter-spacing: 0px; |
| | | } |
| | | .raw-detail-info .el-input{ |
| | | width: auto; |
| | | } |
| | | .raw-detail-info.raw-detail-info-edit >>>.el-input__inner{ |
| | | background:#fff; |
| | | } |
| | | .raw-detail-info >>>.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; |
| | | } |
| | | .raw-detail-info .el-form-item{ |
| | | margin-bottom: 24px; |
| | | } |
| | | .raw-detail-info .el-form-item .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; |
| | | } |
| | | |
| | | /* 检验项目 */ |
| | | .raw-project-table{ |
| | | padding: 24px 14px; |
| | | background: #fff; |
| | | flex: 1; |
| | | /* max-height: 360px; */ |
| | | /* overflow-y: hidden; */ |
| | | } |
| | | /* 检验结论 */ |
| | | .raw-conclusion-table{ |
| | | padding: 9px 14px; |
| | | background: #fff; |
| | | } |
| | | </style> |
| | | |
| | | |
| | | <template> |
| | | <div class="rawInsBox"> |
| | | <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 icon="el-icon-download" @click="()=>{goBack()}">返 回</el-button> |
| | | <el-button |
| | | icon="el-icon-circle-plus-outline" |
| | | v-show="detailId === null" |
| | | @click="addNewRawInspect" |
| | | style="background-color: #004ea2; color: #ffffff;" |
| | | >提 交</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-download" |
| | | @click=" |
| | | () => { |
| | | goBack(); |
| | | } |
| | | " |
| | | >返 回</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="raw-detail-info" :class="detailId===null?'raw-detail-info-edit':''"> |
| | | <el-form v-model="detailInfo" label-position="right" label-width="120px" > |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.name"></el-input> |
| | | <el-select @change="checkRawName" v-else placeholder="请选择项目名称" v-model="detailInfo.name"> |
| | | <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.specifications"></el-input> |
| | | <el-cascader |
| | | placeholder="请选择规格型号" |
| | | v-else |
| | | :disabled="specificationOptions.length===0" |
| | | :props="{label:'name',value:'name'}" |
| | | v-model="detailInfo.specificationsArr" |
| | | :options="specificationOptions" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input disabled v-model="detailInfo.code"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.formTime"></el-input> |
| | | <el-date-picker |
| | | v-else |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | v-model="detailInfo.formTime" |
| | | placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="数量:"> |
| | | <el-input placeholder="请输入检验数量" :disabled="detailId!==null" v-model="detailInfo.number"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="单位:"> |
| | | <el-input placeholder="请输入检验单位" :disabled="detailId!==null" v-model="detailInfo.unit"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <el-form-item v-show="detailId===null" label="" label-width="50px"> |
| | | <el-button @click="addNewRawInspect">保存提交</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | <el-col :span="7"> |
| | | <el-form-item v-show="detailId!==null" label="报检日期:"> |
| | | <el-input :disabled="detailId!==null" v-model="detailInfo.createTime"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="14"> |
| | | <el-form-item v-show="detailId!==null" label="报检人:"> |
| | | <el-input :disabled="detailId!==null" v-model="detailInfo.userName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </el-form> |
| | | <!-- <el-form v-show="detailId ===null" v-model="rawInsParams" label-position="right" label-width="120px" > |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input placeholder="请输入订单号" v-model="rawInsParams.orderNumber"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="客户名称:"> |
| | | <el-input placeholder="请输入客户名称" v-model="rawInsParams.customerName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="工程名称:"> |
| | | <el-input placeholder="请输入工程名称" v-model="rawInsParams.projectName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="质量追溯号:"> |
| | | <el-input placeholder="请输入质量追溯号" v-model="rawInsParams.qualityTraceability"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="项目名称:"> |
| | | <el-select placeholder="请输入项目名称" v-model="rawInsParams.material"> |
| | | <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="产品编码:"> |
| | | <el-input placeholder="产品编码" disabled v-model="code"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input v-model="detailInfo.specificationsModel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="单位:"> |
| | | <el-input placeholder="请输入单位" v-model="rawInsParams.unit"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="数量"> |
| | | <el-input placeholder="请输入产品编码" v-model="rawInsParams.qualityTraceability"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="21"> |
| | | <el-form-item label="主机工:"> |
| | | <el-input placeholder="请输入主机工" v-model="rawInsParams.userId"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <el-form-item label="" label-width="100px"> |
| | | <el-button @click="addNewRawInspect">保存提交</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> --> |
| | | <div |
| | | class="raw-detail-info" |
| | | :class="detailId === null ? 'raw-detail-info-edit' : ''" |
| | | > |
| | | <el-form v-model="detailInfo" label-position="right" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input |
| | | v-if="detailId !== null" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.formTime" |
| | | ></el-input> |
| | | <el-date-picker |
| | | v-else |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | v-model="detailInfo.formTime" |
| | | placeholder="选择日期" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input |
| | | v-if="detailId !== null" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.name" |
| | | ></el-input> |
| | | <el-input |
| | | v-else |
| | | v-model="detailInfo.name" |
| | | placeholder="请输入" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.code" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input |
| | | v-if="detailId !== null" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.specifications" |
| | | ></el-input> |
| | | <el-input |
| | | v-else |
| | | v-model="detailInfo.specificationsArr" |
| | | placeholder="请输入规格型号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="单位:"> |
| | | <el-input |
| | | placeholder="请输入检验单位" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.unit" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="数量:"> |
| | | <el-input |
| | | placeholder="请输入检验数量" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.number" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input |
| | | placeholder="请输入检验数量" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.number" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item v-show="detailId !== null" label="报检日期:"> |
| | | <el-input |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.createTime" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item v-show="detailId !== null" label="报检人:"> |
| | | <el-input |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.userName" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div class="title"> |
| | | <el-row> |
| | | <el-col :span="12" style="line-height: 32px;">检验项目</el-col> |
| | | <el-col :span="12" style="line-height: 32px; padding-top: 6px;"> |
| | | <el-button v-if="detailId == null" style="float: right;" |
| | | >添加检验值列</el-button |
| | | > |
| | | <el-button |
| | | v-if="detailId == null" |
| | | style="float: right;margin-right: 30px;" |
| | | @click="clickAddLine()" |
| | | >添加检验行</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="raw-project-table"> |
| | | <el-table |
| | | :data="projectTable" |
| | | style="width: 100%" |
| | | max-height="320" |
| | | <el-table :data="projectTable" style="width: 100%" height="320"> |
| | | <el-table-column type="index" label="序号" width="100"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="项目" width="212"> |
| | | <template scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.name" |
| | | placeholder="请输入项目名称" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="单位" width="148"> |
| | | <template scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.unit" |
| | | placeholder="请输入单位" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="required" label="标准" width="254"> |
| | | <template scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.required" |
| | | placeholder="请输入标准值" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="internal" label="内控值" width="254"> |
| | | <template scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.internal" |
| | | placeholder="请输入内控值" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testValue" label="检查值" width="254"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.testValue" |
| | | @blur="changeState(scope.row)" |
| | | placeholder="请输入检测值" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="deviceName" label="试验设备"> |
| | | <el-button type="text">选择</el-button> |
| | | </el-table-column> |
| | | <el-table-column prop="testState" label="结论"> |
| | | <template slot-scope="scope"> |
| | | <span |
| | | v-show="scope.row.testState != null" |
| | | :style="{ |
| | | color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C' |
| | | }" |
| | | >{{ scope.row.testState === 1 ? "合格" : "不合格" }}</span |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | width="100" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="项目" |
| | | width="212"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位" |
| | | width="148"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="required" |
| | | label="标准" |
| | | width="254"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="internal" |
| | | label="内控值" |
| | | width="291"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="testValue" |
| | | label="检查值" |
| | | width="371"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.testValue" @blur="changeState(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="deviceName" |
| | | label="试验设备" |
| | | width="248" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="testState" |
| | | label="结论" |
| | | width="98" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'合格':'不合格'}}</span> |
| | | <span v-show="scope.row.testState==null">暂未结论</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span v-show="scope.row.testState == null">暂未结论</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="detailId == null" label="操作" fixed="right"> |
| | | <template scope="scope"> |
| | | <el-button type="text" @click="clickDeleteline(scope)" |
| | | >删除</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="title"> |
| | | <el-row> |
| | |
| | | </el-row> |
| | | </div> |
| | | <div class="raw-conclusion-table"> |
| | | <el-table :data="conclusionTable"> |
| | | <el-table-column |
| | | prop="code" |
| | | label="物料编号" |
| | | width="353"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="物料名称" |
| | | width="353"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="names" |
| | | label="检验员" |
| | | width="542"> |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.names" :key="item&&item.userName" :style="{marginRight:'8px'}">{{item}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="testState" |
| | | label="检验结论" |
| | | width="362"> |
| | | <template slot-scope="scope"> |
| | | <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'合格':'不合格'}}</span> |
| | | <span v-show="scope.row.testState==null">暂未结论</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | width="120"> |
| | | <template> |
| | | <el-button type="text" size="small" @click.once="submitSave">上报</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <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="names" label="检验员"> |
| | | <template slot-scope="scope"> |
| | | <span |
| | | v-for="item in scope.row.names" |
| | | :key="item && item.userName" |
| | | :style="{ marginRight: '8px' }" |
| | | >{{ item }}</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testState" label="检验结论"> |
| | | <template slot-scope="scope"> |
| | | <span |
| | | v-show="scope.row.testState != null" |
| | | :style="{ |
| | | color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C' |
| | | }" |
| | | >{{ scope.row.testState === 1 ? "合格" : "不合格" }}</span |
| | | > |
| | | <span v-show="scope.row.testState == null">暂未结论</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="detailId !== null" label="操作" width="120"> |
| | | <template> |
| | | <el-button type="text" size="small" @click.once="submitSave" |
| | | >上报</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import RawIns from './raw-ins.vue' |
| | | import RawIns from "./raw-ins.vue"; |
| | | export default { |
| | | components:{RawIns}, |
| | | props:['goBack','detailId'], |
| | | created(){ |
| | | // 清空 |
| | | this.detailInfo = {} |
| | | if(this.detailId){ |
| | | console.log(this.detailId) |
| | | this.getDetailInfo() |
| | | }else{ |
| | | this.getOptions() |
| | | components: { RawIns }, |
| | | props: ["goBack", "detailId"], |
| | | created() { |
| | | // 清空 |
| | | this.detailInfo = {}; |
| | | if (this.detailId) { |
| | | this.getDetailInfo(); |
| | | } else { |
| | | this.getOptions(); |
| | | } |
| | | }, |
| | | mounted() {}, |
| | | computed: { |
| | | conclusionTable() { |
| | | const conclusion = {}; |
| | | conclusion.name = this.detailInfo.name; |
| | | conclusion.code = this.detailInfo.code; |
| | | conclusion.names = [ |
| | | ...new Set(this.projectTable.map(item => item.userName)) |
| | | ]; |
| | | if ( |
| | | this.projectTable.filter(item => item.testState === null).length === |
| | | this.projectTable.length |
| | | ) { |
| | | conclusion.testState = null; |
| | | return [conclusion]; |
| | | } |
| | | }, |
| | | mounted(){ |
| | | }, |
| | | computed:{ |
| | | conclusionTable(){ |
| | | // console.log(this.projectTable) |
| | | // console.log(this.projectTable.map(item=>item.userName)) |
| | | const conclusion = {} |
| | | conclusion.name = this.detailInfo.name |
| | | conclusion.code = this.detailInfo.code |
| | | conclusion.names= [...new Set(this.projectTable.map(item=>item.userName))] |
| | | console.log(conclusion,this.projectTable) |
| | | console.log(this.projectTable.filter(item=>item.testState===null).length) |
| | | if(this.projectTable.filter(item=>item.testState===null).length===this.projectTable.length){ |
| | | conclusion.testState = null |
| | | return [conclusion] |
| | | } |
| | | if(this.projectTable.filter(item=>item.testState===0).length>0){ |
| | | conclusion.testState= 0 |
| | | }else{ |
| | | conclusion.testState= 1 |
| | | } |
| | | return [conclusion] |
| | | }, |
| | | // 产品编码 |
| | | // code(){ |
| | | // const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0] |
| | | // return material && material.code |
| | | // } |
| | | }, |
| | | data() { |
| | | return { |
| | | // 详情页就是详情信息 |
| | | detailInfo:{}, |
| | | projectTable:[], |
| | | // 新建检验单参数对象 |
| | | rawInsParams:{}, |
| | | // 项目名称options |
| | | materialOptions:[], |
| | | specificationOptions:[] |
| | | |
| | | } |
| | | }, |
| | | methods:{ |
| | | // 获取报检单详情信息 |
| | | async getDetailInfo() { |
| | | const {data} = await this.$axios.get(this.$api.url.selectRawInspectsListById+`${this.detailId}`,{params:{id:this.detailId}}) |
| | | this.detailInfo = data |
| | | this.projectTable = data.rawInsProducts |
| | | console.log(data) |
| | | }, |
| | | // 新增检验单 |
| | | async addNewRawInspect() { |
| | | this.detailInfo.specifications = this.detailInfo.specificationsArr.join("-") |
| | | // const time = this.detailInfo.formTime |
| | | // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}` |
| | | const res = await this.$axios.post(this.$api.url.addRawInspects,{...this.detailInfo},{headers:{'Content-Type':'application/json'}}) |
| | | console.log(res) |
| | | this.detailId = res.data |
| | | this.getDetailInfo() |
| | | |
| | | this.$message.success('提交成功') |
| | | }, |
| | | // 修改项目的检测值改变结论 |
| | | async changeState(row){ |
| | | // console.log(row) |
| | | const res = await this.$axios.post(this.$api.url.updaterawInsProduct,{...row},{headers:{'Content-Type':'application/json'}}) |
| | | this.$message.success('提交成功') |
| | | this.getDetailInfo()//重新刷新信息数据 |
| | | }, |
| | | async submitSave() { |
| | | const res = await this.$axios.post(this.$api.url.updateRawInspectsById+`${this.detailId}`) |
| | | this.$message.success('提交成功') |
| | | this.getDetailInfo() |
| | | }, |
| | | async getOptions() { |
| | | // const {data} = await this.$axios.get(this.$api.url.listMaterial) |
| | | // this.materialOptions = data |
| | | const {data} = await this.$axios.get(this.$api.url.selectRawMaterial) |
| | | this.materialOptions = data |
| | | console.log(this.materialOptions) |
| | | }, |
| | | checkRawName(data) { |
| | | console.log('选择原材料名称',data) |
| | | this.materialOptions.forEach(item=>{ |
| | | if(item.name===data){ |
| | | console.log(item.id) |
| | | this.detailInfo.code = item.code |
| | | this.$axios.get(this.$api.url.selectSpBySt,{params:{id:item.id}}).then(res=>{ |
| | | this.specificationOptions= res.data |
| | | }) |
| | | } |
| | | }) |
| | | if (this.projectTable.filter(item => item.testState === 0).length > 0) { |
| | | conclusion.testState = 0; |
| | | } else { |
| | | conclusion.testState = 1; |
| | | } |
| | | } |
| | | } |
| | | return [conclusion]; |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | // 详情页就是详情信息 |
| | | detailInfo: {}, |
| | | projectTable: [], |
| | | // 新建检验单参数对象 |
| | | rawInsParams: {}, |
| | | // 项目名称options |
| | | materialOptions: [], |
| | | specificationOptions: [] |
| | | }; |
| | | }, |
| | | methods: { |
| | | // 获取报检单详情信息 |
| | | async getDetailInfo() { |
| | | const { data } = await this.$axios.get( |
| | | this.$api.url.selectRawInspectsListById + `${this.detailId}`, |
| | | { params: { id: this.detailId } } |
| | | ); |
| | | this.detailInfo = data; |
| | | this.projectTable = data.rawInsProducts; |
| | | }, |
| | | // 新增检验单 |
| | | async addNewRawInspect() { |
| | | this.detailInfo.specifications = this.detailInfo.specificationsArr.join( |
| | | "-" |
| | | ); |
| | | // const time = this.detailInfo.formTime |
| | | // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}` |
| | | const res = await this.$axios.post( |
| | | this.$api.url.addRawInspects, |
| | | { ...this.detailInfo }, |
| | | { headers: { "Content-Type": "application/json" } } |
| | | ); |
| | | this.detailId = res.data; |
| | | this.getDetailInfo(); |
| | | |
| | | this.$message.success("提交成功"); |
| | | }, |
| | | // 修改项目的检测值改变结论 |
| | | async changeState(row) { |
| | | const res = await this.$axios.post( |
| | | this.$api.url.updaterawInsProduct, |
| | | { ...row }, |
| | | { headers: { "Content-Type": "application/json" } } |
| | | ); |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); //重新刷新信息数据 |
| | | }, |
| | | async submitSave() { |
| | | const res = await this.$axios.post( |
| | | this.$api.url.updateRawInspectsById + `${this.detailId}` |
| | | ); |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); |
| | | }, |
| | | async getOptions() { |
| | | const { data } = await this.$axios.get(this.$api.url.selectDevice); |
| | | this.materialOptions = data; |
| | | }, |
| | | checkRawName(data) { |
| | | this.materialOptions.forEach(item => { |
| | | if (item.name === data) { |
| | | this.detailInfo.code = item.code; |
| | | this.$axios |
| | | .get(this.$api.url.selectSpBySt, { params: { id: item.id } }) |
| | | .then(res => { |
| | | this.specificationOptions = res.data; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 添加行 |
| | | clickAddLine() { |
| | | let obj = { |
| | | deviceId: 0, |
| | | internal: "", |
| | | name: "", |
| | | required: "", |
| | | testValue: "", |
| | | unit: "" |
| | | }; |
| | | this.projectTable.push(obj); |
| | | }, |
| | | // 删除行 |
| | | clickDeleteline(scope) { |
| | | this.projectTable.splice(scope.$index, 1); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .rawInsBox { |
| | | height: 100%; |
| | | width: 100%; |
| | | overflow-y: scroll; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .rawInsBox .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; |
| | | } |
| | | .rawInsBox .title { |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | } |
| | | /* 检验详情 */ |
| | | .raw-detail-info { |
| | | background: #fff; |
| | | padding: 26px 0px 11px 80px; |
| | | } |
| | | .raw-detail-info >>> .el-form-item__label { |
| | | color: rgb(51, 51, 51); |
| | | font-family: 微软雅黑; |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | letter-spacing: 0px; |
| | | } |
| | | .raw-detail-info .el-input { |
| | | width: auto; |
| | | } |
| | | .raw-detail-info.raw-detail-info-edit >>> .el-input__inner { |
| | | background: #fff; |
| | | } |
| | | .raw-detail-info >>> .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; |
| | | } |
| | | .raw-detail-info .el-form-item { |
| | | margin-bottom: 24px; |
| | | } |
| | | .raw-detail-info .el-form-item .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; |
| | | } |
| | | |
| | | /* 检验项目 */ |
| | | .raw-project-table { |
| | | padding: 24px 14px; |
| | | background: #fff; |
| | | flex: 1; |
| | | /* max-height: 360px; */ |
| | | /* overflow-y: hidden; */ |
| | | } |
| | | /* 检验结论 */ |
| | | .raw-conclusion-table { |
| | | padding: 9px 14px; |
| | | background: #fff; |
| | | } |
| | | </style> |