| | |
| | | <div class="ins_order_add" style=" display: block; "> |
| | | <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow"> |
| | | <el-row class="title"> |
| | | <el-col :span="6" style="padding-left: 20px;text-align: left;">委托单信息 总价:<span |
| | | style="color: #3A7BFA">¥{{total}}</span></el-col> |
| | | <el-col :span="18" style="text-align: right;"> |
| | | <el-col :span="8" style="padding-left: 20px;text-align: left;">委托单信息 单位成本总价:<span |
| | | style="color: #3A7BFA">¥{{total.toFixed(2)}}</span></el-col> |
| | | <el-col :span="16" style="text-align: right;"> |
| | | <el-select v-model="template" size="medium" placeholder="下单模板" style="margin-right: 10px;" v-show="active==1" |
| | | @change="selectInsOrderTemplateById"> |
| | | <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name"> |
| | |
| | | <el-button size="medium" @click="templateDia=true" v-show="active==1"> |
| | | <span style="color: #3A7BFA;">保存模板</span> |
| | | </el-button> |
| | | <el-button size="medium" type="primary" @click="openCableConfig" |
| | | v-if="active==1&&PROJECT=='装备电缆'&&addObj.sampleType!=undefined&&addObj.sampleType.indexOf('电缆')>-1">电缆配置</el-button> |
| | | <el-button size="medium" type="primary" @click="openEquipConfig" v-if="active==1">子样品配置</el-button> |
| | | <el-button size="medium" type="primary" @click="openConfig" v-if="addObj.sampleType==='光缆'">光纤配置</el-button> |
| | | <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">提交</el-button> |
| | | <!-- 审核 --> |
| | | <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3&&addObj.companyId" |
| | |
| | | <div class="search_label"><span class="required-span">* </span>制单人:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" clearable disabled v-model="addObj.custom"></el-input> |
| | | <!-- <el-input readonly size="small" v-model="addObj.custom"> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true" |
| | | :disabled="active>1"></el-button></template> |
| | | </el-input> --> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>委托单位:</div> |
| | | <div class="search_input"> |
| | | <!-- <el-input size="small" placeholder="←选择委托客户" clearable disabled v-model="addObj.company"></el-input> --> |
| | | <el-input readonly size="small" v-model="addObj.company" placeholder="选择委托单位"> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true" |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true,createState=1" |
| | | :disabled="active>1"></el-button></template> |
| | | </el-input> |
| | | </div> |
| | |
| | | <div class="search_label"><span class="required-span">* </span>联系方式:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="选择委托客户" clearable :readonly="active>1" v-model="addObj.phone"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6" v-if="addObj.orderType=='C'"> |
| | | <div class="search_label"><span class="required-span">* </span>下单至:</div> |
| | | <div class="search_input"> |
| | | <el-select size="small" style="width: 100%;" clearable v-model="addObj.departmentLimsId" :disabled="active>1" placeholder="部门"> |
| | | <el-option v-for="(a, ai) in deaprtEnum" :key="ai" :value="a.id" :label="a.name"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>样品名称:</div> |
| | | <div class="search_label"><span class="required-span">* </span>样品类型:</div> |
| | | <div class="search_input"> |
| | | <el-input readonly size="small" v-model="addObj.sample"> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectStandardTree = true" |
| | |
| | | <div class="search_label"><span class="required-span">* </span>样品数量:</div> |
| | | <div class="search_input"> |
| | | <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0" |
| | | style="width: 65%;" @change="addStandardTree" :disabled="active>1"></el-input-number> |
| | | style="width: 100%;" @change="addStandardTree" :disabled="active>1"></el-input-number> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col class="search_thing" :span="6"> |
| | |
| | | </div> |
| | | </el-col> --> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>来样方式:</div> |
| | | <div class="search_label"><span class="required-span">* </span>订单类型:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addObj.formType" size="small" :disabled="active>1" style="width: 100%;"> |
| | | <el-option v-for="(a,ai) in formType" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <el-col class="search_thing" :span="6" v-if="addObj.formType==='其他成品'"> |
| | | <div class="search_label">零件号:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" :placeholder="active>1 ? '' : '请输入'" clearable v-model="addObj.partNo" |
| | | :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6" v-if="addObj.formType!='其他成品'&&addObj.formType"> |
| | | <div class="search_label"><span class="required-span">* </span>通知至样机员:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addObj.issueUser" size="small" :disabled="active>1" style="width: 100%;"> |
| | | <el-option v-for="(a,ai) in personList" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">报告发送方式:</div> |
| | | <div class="search_input"> |
| | | <el-radio-group v-model="addObj.send"> |
| | |
| | | <el-radio :label="0">其他</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | </el-col> --> |
| | | <!-- <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">样品处理方式:</div> |
| | | <div class="search_input"> |
| | | <el-radio-group v-model="addObj.processing"> |
| | |
| | | <el-radio :label="1">实验室处理</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">工程名称:</div> |
| | | <div class="search_input"> |
| | |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>生产单位:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="addObj.production" |
| | | :readonly="active>1"></el-input> |
| | | <!-- <el-input size="small" placeholder="请输入" clearable v-model="addObj.production" |
| | | :readonly="active>1"></el-input> --> |
| | | <el-input size="small" v-model="addObj.production" placeholder="选择生产单位" :readonly="active>1"> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true,createState=2" |
| | | :disabled="active>1"></el-button></template> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | |
| | | :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <!-- <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">是否留样:</div> |
| | | <div class="search_input"> |
| | | <el-radio-group v-model="addObj.isLeave"> |
| | |
| | | <el-radio :label="1">留样</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label" style="width: 175px;">是否涉及配套样品:</div> |
| | | <div class="search_input" style="width: calc(100% - 175px);"> |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()"> |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <!-- <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">OTC订单号:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" :placeholder="active>1 ? '' : '请输入'" clearable v-model="addObj.otcCode" :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">委托人:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" :placeholder="active>1 ? '' : '请输入'" clearable v-model="addObj.prepareUser" :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>约定时间:</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addObj.appointed" |
| | | :disabled="active>1" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;"> |
| | | </el-date-picker> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6" v-if="addObj.formType!='其他成品'&&addObj.formType"> |
| | | <div class="search_label"><span class="required-span">* </span>样机完成时间:</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addObj.issueTime" |
| | | :disabled="active>1" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;"> |
| | | </el-date-picker> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing upload" :span="4" style="align-items: flex-start;height: auto" v-if="active==1"> |
| | | <el-upload |
| | | style="margin: 8px 0 0px 50px;" |
| | | action="#" |
| | | :auto-upload="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload"> |
| | | <el-button size="small" type="primary">上传附件</el-button> |
| | | </el-upload> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="8"> |
| | | <div class="search_input" style="width: 100%;margin-left: 40px;"> |
| | | <el-radio-group v-model="ruleInfo.rule" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> |
| | | <el-radio :label="1">不考虑不确定度</el-radio> |
| | | <el-radio :label="2">考虑不确定度<el-input placeholder="" v-model="ruleInfo.num" style="width: 100px;margin-left: 10px;" size="mini" :disabled="active>1"> |
| | | <template slot="append">%</template> |
| | | </el-input></el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;"> |
| | |
| | | <div style="height: auto;"> |
| | | <div class="search" v-if="active==1" style="display: flex;background: transparent;"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">样品型号:</div> |
| | | <div class="search_label">样品名称:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="model" :placeholder="active>1 ? '' : '请输入'" filterable allow-create default-first-option size="small" |
| | | @change="changeModel"> |
| | | <el-input size="small" v-model="allInfo.sample" @change="changeModel('sample')"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">样品类别:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="allInfo.model" :placeholder="active>1 ? '' : '请输入'" filterable allow-create default-first-option size="small" |
| | | @change="changeModel('model')"> |
| | | <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">产品型号:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" v-model="allInfo.modelNum" @change="changeModel('modelNum')"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">试验标准:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="allInfo.testRequirements" :placeholder="active>1 ? '' : '请输入'" filterable allow-create default-first-option size="small" |
| | | @change="changeModel('testRequirements')"> |
| | | <el-option v-for="item in standard" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验标准:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="standardMethodListId" :placeholder="active>1 ? '' : '请输入'" size="small" @focus="methodFocus" |
| | | :loading="methodLoad" @change="changeStandardMethodListId"> |
| | | <el-select v-model="standardMethodListId" :placeholder="active>1 ? '' : '请输选择'" size="small" @focus="methodFocus" |
| | | :loading="methodLoad" multiple @change="changeStandardMethodListId"> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-radio-group v-model="currentPage" v-if="active>1" size="small" style="margin-top: 20px;"> |
| | | <el-radio-button :label="0">样品</el-radio-button> |
| | | <el-radio-button :label="1">附件</el-radio-button> |
| | | </el-radio-group> |
| | | <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" max-height="400px" tooltip-effect="dark" |
| | | border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;"> |
| | | border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;" v-show="currentPage==0"> |
| | | <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> |
| | | <el-table-column type="index" label="序号" width="65" align="center"></el-table-column> |
| | | <el-table-column prop="sample" label="样品名称" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input> |
| | | <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1" placeholder="必填"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="sampleCode" label="样品编号" min-width="140" align="center"> |
| | | <el-table-column prop="sampleCode" label="样品编号" min-width="100" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="不填写则系统自动生成" |
| | | :readonly="active>1"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="model" label="样品型号" align="center" min-width="100"> |
| | | <el-table-column prop="model" label="样品类别" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品型号" |
| | | <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品类别" |
| | | size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;"> |
| | | <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="modelNum" label="型号参数" width="130" align="center" v-if="!(active>1)"> |
| | | <el-table-column prop="modelNum" label="产品型号" min-width="100" align="center" v-if="!(active>1)"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="非必填" |
| | | <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="必填" |
| | | @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)" |
| | | @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testRequirements" label="试验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1" |
| | | placeholder="试验标准" size="small" :readonly="active>1" style="width: 100%;" clearable @change="changeModel0(scope.row)"> |
| | | <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="standardMethodListId" label="检验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" |
| | | placeholder="检验标准" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" |
| | | @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []"> |
| | | @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []" multiple> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </el-table> |
| | | <el-table class="el-table" ref="productTable" :data="productList" max-height="400px" tooltip-effect="dark" border |
| | | @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect" |
| | | :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll"> |
| | | :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll" v-show="currentPage==0"> |
| | | <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column> |
| | | <el-table-column prop="inspectionItemClass" v-if="PROJECT === '装备电缆'" label="检验项分类" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '装备电缆'" label="检验项分类(EN)" min-width="140" show-overflow-tooltip></el-table-column> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求描述" v-model="scope.row.tell" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'tell')" |
| | | v-if="active==1&&isAskOnlyRead"></el-input> |
| | | v-if="active==1" :disabled="!!scope.row.tell&&scope.row.tell.includes('[')&&scope.row.tell.includes(']')&&scope.row.tell.includes(',')"></el-input> |
| | | <span v-else> |
| | | <template >{{ scope.row.tell }}</template> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="220px" v-if="isAskOnlyRead"> |
| | | <el-table-column prop="ask" label="要求值" min-width="220px" > |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')" |
| | | v-if="active==1&&isAskOnlyRead&&scope.row.inspectionValueType!='5'"></el-input> |
| | | v-if="active==1&&scope.row.inspectionValueType!='5'" :disabled="!!scope.row.ask&&scope.row.ask.includes('[')&&scope.row.ask.includes(']')&&scope.row.ask.includes(',')"></el-input> |
| | | <span v-else> |
| | | <!-- <template v-if="(scope.row.ask.indexOf('D')>-1 |
| | | ||scope.row.ask.indexOf('W')>-1 |
| | |
| | | <el-table-column prop="sonLaboratory" label="子实验室" min-width="130" show-overflow-tooltip :filters="filters" |
| | | :filter-method="filterHandler"></el-table-column> |
| | | </el-table> |
| | | <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" |
| | | :componentData="componentData0" |
| | | :delUrl="$api.insOrderPlan.delfile" style="height: 100%;margin-top: 16px;" v-show="currentPage==1"/> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="选择单位" :visible.sync="selectUserDia" width="70%"> |
| | |
| | | <el-button type="primary" @click="selectUser">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="选择样品" :visible.sync="selectStandardTree" width="400px"> |
| | | <el-dialog title="选择样品" :visible.sync="selectStandardTree" width="500px"> |
| | | <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :active="active" /> |
| | | <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine==0" :active="active" :inspectionItemST='inspectionItemST' /> |
| | | <fiberOpticConfigTwo :currentId="currentId" v-if="configShow && examine==1" :active="active" /> |
| | | <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" /> |
| | | <cableConfig v-if="cableConfigShow" :active="active" /> |
| | | <!-- 单选特殊值处理框--> |
| | |
| | | width="800px" :show-close="false"> |
| | | <el-table |
| | | :data="editTable" |
| | | style="width: 100%"> |
| | | style="width: 100%" height="80vh"> |
| | | <!-- inspectionItemList --> |
| | | <el-table-column |
| | | prop="inspectionItemList" |
| | |
| | | <el-button type="primary" @click="spliceData">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="单根垂直燃烧检测次数填写" :visible.sync="singleVerticalCombustionShow" width="900px" |
| | | :close-on-click-modal="false" :close-on-press-escape="false" |
| | | :before-close="beforeCirculateShowClose" :show-close="false"> |
| | | <div>111</div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="cleanSpliceData">取消</el-button> |
| | | <el-button type="primary" @click="spliceData">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 电力试验室---温升试验/热循环 --> |
| | | <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow" |
| | | :close-on-click-modal="false" :close-on-press-escape="false" |
| | |
| | | <el-button type="primary" @click="spliceTemperatureTest">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 功率容量--填写端口 --> |
| | | <el-dialog title="填写端口" :visible.sync="powerShow" |
| | | :close-on-click-modal="false" :close-on-press-escape="false" |
| | | width="50%"> |
| | | <el-table |
| | | :data="powerTable" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | fixed |
| | | prop="sample" |
| | | label="样品" |
| | | min-width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="型号" |
| | | min-width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="检验项" |
| | | min-width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="ask" |
| | | label="端口" |
| | | min-width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.ask" :min="1" :max="100" label="端口" size="small"></el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="powerShow=false">取消</el-button> |
| | | <el-button type="primary" @click="savePowerTest">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="文件预览" |
| | | :visible.sync="lookFileVisible" |
| | | width="60%" fullscreen> |
| | | <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" |
| | | :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/> |
| | | </el-dialog> |
| | | <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">双方承诺:<br/> |
| | | 1、委托方承诺提供的信息与样品的真实性;<br/> |
| | | 2、委托送样检验结果仅适用于收到的样品;<br/> |
| | | 3、试验过程导致的样品损坏、配件损坏、损耗,本测试场不承担赔偿责任;<br/> |
| | | 4、实验室承诺公正开展检测活动,并承诺保守在检测活动过程中所获知的保密信息。 |
| | | </p> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../../tool/value-table.vue' |
| | | import fiberOpticConfig from './fiberoptic-config.vue' |
| | | import fiberOpticConfigTwo from './fiberoptic-config-two.vue' |
| | | import equipConfig from './equip-config.vue' |
| | | import cableConfig from './cable-config.vue' |
| | | import Vue from 'vue' |
| | | import {iuCharts} from "../../../util/echarts"; |
| | | import filePreview from '../../tool/file-preview.vue' |
| | | |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | | fiberOpticConfig, |
| | | fiberOpticConfigTwo, |
| | | equipConfig, |
| | | cableConfig |
| | | cableConfig, |
| | | filePreview |
| | | }, |
| | | props: { |
| | | examine: { |
| | | type: Number, |
| | | default: () => 0 |
| | | }, |
| | | active: { |
| | | type: Number, |
| | | default: () => 0 |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | currentFile:{}, |
| | | lookFileVisible:false, |
| | | inspectionItemST: null, |
| | | sampleSelectionList: [],//样品表格选中数据 |
| | | editTable:[], |
| | | template: null, |
| | |
| | | type: '0', |
| | | code: null, |
| | | appointed: null, |
| | | issueTime:null, |
| | | remark: null, |
| | | otcCode: null, |
| | | mating: 0, |
| | |
| | | production: null, |
| | | productionEn: null, |
| | | companyId: null, |
| | | prepareUser:null |
| | | prepareUser:null, |
| | | departmentLimsId:null, |
| | | departmentLims:null, |
| | | partNo: null, // 零件号 |
| | | }, |
| | | sample: { |
| | | sampleCode: null, |
| | |
| | | RTS: '', |
| | | totalArr: [], |
| | | model: null, |
| | | standardMethodListId: null, |
| | | standardMethodListId: [], |
| | | symbolList:[ |
| | | 'RTS','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'], |
| | | inspectionItem:null, |
| | |
| | | entrustNum: '', |
| | | entrustPoint: '' |
| | | }, |
| | | singleVerticalCombustionShow: false, |
| | | isBsm2Val2:false, |
| | | opticalProject: [], // 温度循环弹框光纤项目列表 |
| | | opticalProjectList: [], // 温度循环弹框光纤项目选中的数组 |
| | |
| | | temId: '', |
| | | sonLaboratoryList:[], |
| | | selectiveEcho: [], // 检验下单的时候勾选检验项目,如果使用筛选提交显示检验项目为空 回显列表 |
| | | deaprtEnum:[], |
| | | standard:[], |
| | | createState:1,//1:选择委托单位,2:选择生产单位 |
| | | fileList:[], |
| | | currentPage:0,//0:样品信息,1:附件 |
| | | componentData0: { |
| | | entity: { |
| | | insOrderId:'' |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | sort: false, |
| | | init:false, |
| | | do: [ |
| | | { |
| | | id: 'handleDown', |
| | | font: '下载', |
| | | type: 'text', |
| | | method: 'handleDown' |
| | | }, |
| | | { |
| | | id: '1', |
| | | font: '预览', |
| | | type: 'text', |
| | | method: 'lookFile', |
| | | } |
| | | ], |
| | | isPage: false, |
| | | linkEvent: {}, |
| | | tagField: { |
| | | type:{ |
| | | select:[ |
| | | { |
| | | value: 1, |
| | | label: '图片' |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: '文件' |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | currentId: '', |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | ruleInfo:{ |
| | | rule:1, |
| | | num:null, |
| | | }, |
| | | powerShow:false, |
| | | powerTable:[], |
| | | allInfo:{ |
| | | model:null, |
| | | sample:null, |
| | | modelNum:null, |
| | | testRequirements:null, |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | } |
| | | }, |
| | | productListSelected: { |
| | | deep: true, |
| | | handler(val) { |
| | | if(val.length>0){ |
| | | for(let i =0 ; i< val.length; i++){ |
| | | if(val[i].inspectionItem.includes('松套管')){ |
| | | this.inspectionItemST = 1 |
| | | break; |
| | | }else{ |
| | | this.inspectionItemST = 0 |
| | | } |
| | | } |
| | | }else{ |
| | | this.inspectionItemST = 0 |
| | | } |
| | | |
| | | console.log('0000',this.inspectionItemST); |
| | | } |
| | | }, |
| | | sampleList: { |
| | | deep: true, |
| | | handler(val) { |
| | |
| | | } |
| | | }, |
| | | 'addObj.sample'(val) { |
| | | this.model = null |
| | | this.standardMethodListId = null |
| | | this.allInfo.model = null |
| | | this.allInfo.sample = null |
| | | this.allInfo.modelNum = null |
| | | this.allInfo.testRequirements = null |
| | | this.standardMethodListId = [] |
| | | }, |
| | | 'addObj.sampleNum'(val) { |
| | | this.model = null |
| | | this.standardMethodListId = null |
| | | this.allInfo.model = null |
| | | this.allInfo.sample = null |
| | | this.allInfo.modelNum = null |
| | | this.allInfo.testRequirements = null |
| | | this.standardMethodListId = [] |
| | | }, |
| | | active(val){ |
| | | this.saveLoad = false |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | // this.selectInsOrderTemplate() |
| | | this.getAuthorizedPerson(); |
| | | this.selectEnumByCategoryForUnit() |
| | | this.selectEnumByCategoryForStandard() |
| | | this.selectStandardMethods() |
| | | this.selectEnumByCategoryForOrderType() |
| | | this.selectDepartmentEnum() |
| | | // this.selectEnumByCategoryForSonLaboratory() |
| | | this.selectEnumByCategoryForSampleForm() |
| | | if (this.active != 1) { |
| | |
| | | this.addObj = { |
| | | ...res.data.insOrder |
| | | }; |
| | | if(this.addObj.rule){ |
| | | if(this.addObj.rule=='不考虑不确定度'){ |
| | | this.ruleInfo.rule = 1 |
| | | }else{ |
| | | this.ruleInfo.rule = 2 |
| | | this.ruleInfo.num = this.addObj.rule.split('-')[1] |
| | | } |
| | | } |
| | | this.addObj.type = String(this.addObj.type) |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct); |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct) |
| | | this.sampleList.forEach(m=>{ |
| | | m.standardMethodListId = JSON.parse(m.standardMethodListId) |
| | | }); |
| | | this.getProNum() |
| | | this.addObj.sampleNum = this.sampleList.length |
| | | this.$nextTick(() => { |
| | |
| | | } |
| | | }) |
| | | }) |
| | | // 文件信息 |
| | | this.componentData0.entity.insOrderId = this.currentId; |
| | | this.$refs.fileList.selectList() |
| | | } |
| | | }, |
| | | methods: { |
| | | lookFile(row){ |
| | | this.currentFile = row; |
| | | if(row.type==1){ |
| | | this.currentFile.url = this.javaApi+'/img/'+row.fileUrl |
| | | }else{ |
| | | this.currentFile.url = this.javaApi+'/word/'+row.fileUrl |
| | | } |
| | | this.lookFileVisible = true |
| | | }, |
| | | handleDown(row){ |
| | | this.$axios.post(this.$api.insOrderPlan.downFile, { |
| | | id: row.id, |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | let url = ''; |
| | | if(res.data.type==1){ |
| | | url = this.javaApi+'/img/'+res.data.fileUrl |
| | | file.downloadIamge(url,row.fileName) |
| | | }else{ |
| | | url = this.javaApi+'/word/'+res.data.fileUrl |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = row.fileName; |
| | | link.click(); |
| | | } |
| | | } |
| | | }).catch(error => { |
| | | |
| | | }) |
| | | }, |
| | | handleChangeUpload(file, fileLists){ |
| | | this.fileList = fileLists |
| | | }, |
| | | //特殊值填写处理 |
| | | inputValueHandler(row,index){ |
| | | if(row){ |
| | | const nextIndex = index+1 |
| | | console.log(nextIndex, this.editTable) |
| | | for (let i = nextIndex; i < this.editTable.length; i++) { |
| | | const element = this.editTable[i]; |
| | | if(element.model==row.model){ |
| | | if(element.model==row.model&&row.symbolItem==element.symbolItem){ |
| | | this.editTable[i].value = row.value |
| | | }else{ |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | }) |
| | | this.circulateShow = false |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | if(this.sampleSelectionList.length>0){ |
| | | this.sampleSelectionList.forEach(item=>{ |
| | | item.insProduct = this.productList0 |
| | | }) |
| | | }else{ |
| | | this.currentMethod.insProduct = this.productList0 |
| | | } |
| | | this.getProNum() |
| | | }, |
| | | spliceTemperatureTest () { |
| | |
| | | return |
| | | } |
| | | this.spliceTemperatureTest() |
| | | }, |
| | | savePowerTest(){ |
| | | if(!this.powerTable.every(m=>m.ask)) |
| | | { |
| | | this.$message.error('请填写完整数据') |
| | | } |
| | | let num = 0; |
| | | let sampleList = this.HaveJson(this.sampleList) |
| | | sampleList.forEach(item=>{ |
| | | item.insProduct.forEach(m=>{ |
| | | if(m.inspectionItem.includes('功率试验')&&m.state==1){ |
| | | m.ask = '端口数:'+this.powerTable[num].ask |
| | | num++ |
| | | } |
| | | }) |
| | | }) |
| | | this.saveMethod(sampleList) |
| | | this.powerShow = false; |
| | | }, |
| | | cleanTemperatureTest () { |
| | | this.temperatureTest = [] |
| | |
| | | this.$message.error('未选择数据') |
| | | return |
| | | } |
| | | this.addObj.company = selects.company |
| | | this.addObj.code = selects.code |
| | | this.addObj.companyId = selects.id |
| | | this.selectUserDia = false |
| | | if(this.active==1){ |
| | | // TODO |
| | | this.selectInsOrderTemplate() |
| | | if(this.createState==1){ |
| | | this.addObj.company = selects.company |
| | | this.addObj.code = selects.code |
| | | this.addObj.companyId = selects.id |
| | | if(this.active==1){ |
| | | this.selectInsOrderTemplate() |
| | | } |
| | | }else if(this.createState==2){ |
| | | this.addObj.production = selects.company |
| | | // 如果选择的单位是没有对应的英文名称就用'/'代替 |
| | | if (!selects.companyEn) { |
| | | this.addObj.productionEn = '/' |
| | | } else { |
| | | this.addObj.productionEn = selects.companyEn |
| | | } |
| | | } |
| | | this.selectUserDia = false |
| | | }, |
| | | containsValue(str) { |
| | | if(str){ |
| | |
| | | return str.replace(find, value); |
| | | }, |
| | | save() { |
| | | if(this.addObj.orderType=='C'&&this.addObj.departmentLimsId){ |
| | | this.addObj.departmentLims = this.deaprtEnum.find(m=>m.id==this.addObj.departmentLimsId).name |
| | | }else if(this.addObj.orderType&&this.addObj.orderType!='C'&&!this.addObj.departmentLimsId){ |
| | | this.addObj.departmentLims = '检测中心' |
| | | this.addObj.departmentLimsId = this.deaprtEnum.find(m=>m.name=='检测中心').id |
| | | } |
| | | // else{ |
| | | // this.$message.error('请选择检验类别') |
| | | // return |
| | | // } |
| | | if (!this.addObj.companyId) { |
| | | this.$message.error('未选择客户单位') |
| | | return |
| | | } |
| | | let noLaboratory = this.totalArr.filter(a => a.state == 1&&!a.sonLaboratory) |
| | | if(noLaboratory.length>0){ |
| | | let str = '' |
| | | noLaboratory.forEach((m,j)=>{ |
| | | str += j==noLaboratory.length-1?m.inspectionItem+'-'+m.inspectionItemSubclass:m.inspectionItem+'-'+m.inspectionItemSubclass+',' |
| | | }) |
| | | this.$message.error(str+'没有关联实验室室,请联系管理员') |
| | | return |
| | | } |
| | | if (!this.addObj.type) { |
| | | this.$message.error('未选择紧急程度') |
| | | } else if (!this.addObj.formType) { |
| | | this.$message.error('请输入来样方式') |
| | | this.$message.error('请输入订单类型') |
| | | } else if (!this.addObj.orderType) { |
| | | this.$message.error('请选择检验类别') |
| | | } else if (!this.addObj.production) { |
| | | this.$message.error('请输入生产单位') |
| | | } else if (!this.addObj.productionEn) { |
| | | this.$message.error('请输入生产单位EN') |
| | | }else if (!this.addObj.departmentLimsId) { |
| | | this.$message.error('选择下单到哪个部门') |
| | | } else if (this.sampleList.length < 1) { |
| | | this.$message.error('请添加一个样品') |
| | | } else if (!this.sampleList.every(m => m.sample)) { |
| | | this.$message.error('请输入样品名称') |
| | | } else if (!this.sampleList.every(m => m.model)) { |
| | | this.$message.error('请输入样品型号') |
| | | } else if (!this.sampleList.every(m => m.standardMethodListId)) { |
| | | }else if (!this.addObj.appointed) { |
| | | this.$message.error('请选择约定时间') |
| | | }else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) { |
| | | this.$message.error('请选择检验标准') |
| | | } else { |
| | | const select = this.selectTree.split(' - ') |
| | | const productListSelected = this.productListSelected.some(item => item.inspectionItem === '温度循环') |
| | | let isHaveBushing = '' |
| | | this.sampleList.forEach(item => { |
| | | if (!item.bushing || item.bushing.length === 0) { |
| | | isHaveBushing = false |
| | | } |
| | | }) |
| | | //过滤检测项:去除特殊项 |
| | | let filterProductList = this.productListSelected.filter(ele=>ele.bsm==0&&/[0-9]/.test(ele.ask)).filter(ele=>{ |
| | | if(select[1].indexOf('通信')>=0 && ['光缆','光纤'].includes(select[2])){ |
| | | return !['温度循环','光纤接头损耗'].includes(ele.inspectionItem) |
| | | } |
| | | return true |
| | | }).filter(ele=>{ |
| | | if(select[1].indexOf('电力')>=0){ |
| | | return !['温升试验','热循环'].includes(ele.inspectionItem) |
| | | } |
| | | return true |
| | | }) |
| | | } else if(this.addObj.formType&&this.addObj.formType!='其他成品'&&!this.addObj.issueUser){ |
| | | this.$message.error('请选择通知至样机员') |
| | | }else if(this.addObj.formType&&this.addObj.formType!='其他成品'&&!this.addObj.issueTime){ |
| | | this.$message.error('请选择样机完成时间') |
| | | }else{ |
| | | //校验检验项的要求值和要求描述,仅委托要求 |
| | | if(this.active==1&&this.isAskOnlyRead){ |
| | | const isTrue = this.checkRequiredValueAndRemark(filterProductList) |
| | | if(!isTrue){ |
| | | this.$message.error('检验项的要求值与要求描述不匹配, 请检查') |
| | | return |
| | | // if(this.active==1&&this.isAskOnlyRead){ |
| | | // const isTrue = this.checkRequiredValueAndRemark(filterProductList) |
| | | // if(!isTrue){ |
| | | // this.$message.error('检验项的要求值与要求描述不匹配, 请检查') |
| | | // return |
| | | // } |
| | | // } |
| | | let sampleList = this.HaveJson(this.sampleList) |
| | | for (let i = 0; i < sampleList.length; i++) { |
| | | if (sampleList[i].insProduct.length > 0) { |
| | | let set = new Set() |
| | | for (let j = 0; j < sampleList[i].insProduct.length; j++) { |
| | | if(sampleList[i].insProduct[j].state == 1){ |
| | | let num0 = set.size |
| | | set.add(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass) |
| | | let num1 = set.size |
| | | if(num0==num1){ |
| | | this.$message.error(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass+'重复') |
| | | return |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | console.log('isHaveBushing===', this.totalArr) |
| | | // inspectionItem |
| | | let spcialItem = null//this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('松套管')) |
| | | // console.log('isHaveBushing===', isHaveBushing) |
| | | if (productListSelected && select[2] === '光缆' && isHaveBushing === false) { |
| | | this.$message.error('光缆温度循环项目必须进行光纤配置') |
| | | this.$refs.sampleTable.setCurrentRow(this.currentMethod, true) |
| | | this.rowClick(this.currentMethod) |
| | | this.sampleIds = [this.currentMethod.id] |
| | | this.openConfig() |
| | | return |
| | | }else if(spcialItem&& isHaveBushing === false){ |
| | | this.$message.error('松套管项目必须进行光纤配置') |
| | | this.$refs.sampleTable.setCurrentRow(this.currentMethod, true) |
| | | this.rowClick(this.currentMethod) |
| | | this.sampleIds = [this.currentMethod.id] |
| | | this.openConfig() |
| | | return |
| | | } |
| | | let sampleList = this.HaveJson(this.sampleList) |
| | | |
| | | let index0 = sampleList.findIndex(m=>!m.sample) |
| | | if(index0>-1) return this.$message.error('请填写样品名称') |
| | | let index1 = sampleList.findIndex(m=>!m.modelNum) |
| | | if(index1>-1) return this.$message.error('请填写产品型号') |
| | | |
| | | |
| | | let projectNum = this.totalArr.filter(a => a.state == 1).length |
| | | if(projectNum==0){ |
| | | this.$confirm('检验项目为空,是否确认提交?', "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.saveMethod(sampleList) |
| | | }).catch(() => {}) |
| | | // this.$confirm('检验项目为空,是否确认提交?', "提示", { |
| | | // confirmButtonText: "确定", |
| | | // cancelButtonText: "取消", |
| | | // type: "warning" |
| | | // }).then(() => { |
| | | // this.saveMethod(sampleList) |
| | | // }).catch(() => {}) |
| | | return this.$message.error('请添加检验项目') |
| | | }else{ |
| | | let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1) |
| | | let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask&&a.ask.includes(b)) && a.state == 1) |
| | | if (isRTS&&this.PROJECT=='检测中心') { |
| | | this.editTable = this.handleData(sampleList,this.containsValue, 0) |
| | | this.editTable.forEach(item => { |
| | | item.value = item.modelNum |
| | | }) |
| | | this.bsm3Dia = true; |
| | | return |
| | | } |
| | | let isPower = this.totalArr.find(a => a.inspectionItem.includes('功率试验')&&a.state==1) |
| | | if (isPower) { |
| | | this.powerTable = this.totalArr.filter(a => a.inspectionItem.includes('功率试验')&&a.state==1) |
| | | this.powerTable.forEach(a => { |
| | | a.ask = null |
| | | }) |
| | | this.powerShow = true; |
| | | return |
| | | } |
| | | this.saveMethod(sampleList) |
| | |
| | | if(['≤','≥','>','<','='].includes(ele.ask[0])){ |
| | | const askVal = ele.ask.substring(1,ele.ask.length) |
| | | if(isNaN(askVal) || ele.tell.indexOf(askVal)<0){ |
| | | console.log(1111); |
| | | isTrue = false |
| | | } |
| | | } |
| | |
| | | if(ele.ask.indexOf('-')>0 && ele.ask.length>1){ |
| | | //要求描述的~和要求值的-,等效 |
| | | let tell = ele.tell |
| | | if(ele.tell.indexOf('~')>0){ |
| | | tell = ele.tell.replace('~','-') |
| | | if(ele.tell.indexOf('~')>0 || ele.tell.indexOf('(') || ele.tell.indexOf(')')){ |
| | | tell = tell.replace('~','-') |
| | | tell = tell.replace('(','(') |
| | | tell = tell.replace(')',')') |
| | | } |
| | | const splits = ele.ask.split('-') |
| | | //满足格式要求,并且两个都是数字 |
| | |
| | | isTrue = false |
| | | } |
| | | //要求描述中不包含±以及区间的数字,则返回false |
| | | if((tell.indexOf('±')<0&&tell.indexOf('-')<0)){ |
| | | if(tell.indexOf('±')<0&&tell.indexOf('-')<0){ |
| | | console.log(3333,ele); |
| | | console.log(3333333,tell,tell.indexOf('±')<0,tell.indexOf('-')<0); |
| | | isTrue = false |
| | | }else if(ele.tell.indexOf('-')==0){ |
| | | console.log(4444); |
| | | isTrue = false |
| | | }else if(tell.indexOf('-')>0){ |
| | | const splitTells = tell.split('-') |
| | | if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){ |
| | | isTrue = false |
| | | } |
| | | }else if(tell.indexOf('±')>0&&tell!=ele.ask){ |
| | | //校验要求描述为10±5这种写法的情况 |
| | | let splitNums = ele.tell.split('±') |
| | | if(splitNums.length<2){ |
| | | isTrue = false |
| | | if(tell.indexOf('±')>0){ |
| | | ////校验要求描述为(10-15)±5这种写法的情况 |
| | | const num = tell.split('±')[1] |
| | | const startIndex = tell.indexOf('(') |
| | | const endIndex = tell.indexOf(')') |
| | | if(startIndex>-1 && endIndex>0 ){ |
| | | const str = tell.substring(startIndex,endIndex) |
| | | if(str && str.indexOf('-')>0){ |
| | | let strList = str.split('-') |
| | | const minNum = Number(strList[0]-num) |
| | | const maxNum = Number(strList[1]+num) |
| | | if(minNum>min || maxNum<max){ |
| | | console.log(555555); |
| | | isTrue = false |
| | | } |
| | | } |
| | | }else{ |
| | | //校验要求描述为10±5这种写法的情况 |
| | | let splitNums = ele.tell.split('±') |
| | | if(splitNums.length<2){ |
| | | console.log(66666); |
| | | isTrue = false |
| | | }else{ |
| | | let minTell = Number(splitNums[0])-Number(splitNums[1]) |
| | | let maxTell = Number(splitNums[0])+Number(splitNums[1]) |
| | | if(minTell!=min || maxTell!=max){ |
| | | console.log(7777777); |
| | | isTrue = false |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | let minTell = Number(splitNums[0])-Number(splitNums[1]) |
| | | let maxTell = Number(splitNums[0])+Number(splitNums[1]) |
| | | if(minTell!=min || maxTell!=max){ |
| | | const splitTells = tell.split('-') |
| | | if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){ |
| | | console.log(88888888); |
| | | isTrue = false |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | console.log(89999999); |
| | | isTrue = false |
| | | } |
| | | } |
| | | // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){ |
| | | // //判断 |
| | | // } |
| | | }) |
| | | }catch(error){ |
| | | console.log(error); |
| | |
| | | let arr = this.editTable.filter(b => b.sampleId == item.id) |
| | | for (var i=0;i<arr.length;i++){ |
| | | if(a.ask){ |
| | | if(a.ask.includes(arr[i].symbolItem)){ |
| | | if(a.ask&&a.ask.includes(arr[i].symbolItem)){ |
| | | let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value) |
| | | if (ask) { |
| | | a.ask = ask |
| | |
| | | } |
| | | } |
| | | }else{ |
| | | this.$message.error('要求值为空,需要去标准库维护!') |
| | | // this.$message.error('要求值为空,需要去标准库维护!') |
| | | } |
| | | } |
| | | // arr.forEach(f => { |
| | |
| | | } |
| | | }, |
| | | saveMethod(sampleList){ |
| | | let isHaveAsk = this.totalArr.filter(a => (a.ask === null||a.ask=='')&&a.state==1) |
| | | let isHaveAsk0 = this.totalArr.filter(a => (a.ask=='/'||a.ask=='-'||a.ask=='——'||((/\d/.test(a.ask))&&(a.ask.includes('<')||a.ask.includes('>')||a.ask.includes('=')||a.ask.includes('>')||a.ask.includes('<')||a.ask.includes('≥')||a.ask.includes('≤'))))&&a.state==1) |
| | | let stateArr = this.totalArr.filter(a=>a.state==1) |
| | | if (isHaveAsk.length > 0) { |
| | | this.$message({ |
| | | type: 'error', |
| | | message: '请填写要求值后再提交' |
| | | }) |
| | | return false; |
| | | } |
| | | if (isHaveAsk0.length <stateArr.length) { |
| | | this.$message({ |
| | | type: 'error', |
| | | message: '要求值输入格式不对,可输入/、-、——代表不判定,<、=、>、≥、≤加上数字代表范围,请重新输入', |
| | | duration: 8 * 1000 |
| | | }) |
| | | return false; |
| | | } |
| | | let isHaveTell = this.totalArr.filter(a => (a.tell == null||a.tell=='')&&a.state==1) |
| | | if (isHaveTell.length > 0) { |
| | | this.$message({ |
| | | type: 'error', |
| | | message: '请填写要求描述后再提交' |
| | | }) |
| | | return false; |
| | | } |
| | | if(this.ruleInfo.rule==1){ |
| | | this.addObj.rule = '不考虑不确定度' |
| | | }else if(this.ruleInfo.rule==2){ |
| | | if(this.ruleInfo.rule==2&&(!this.ruleInfo.num||this.ruleInfo.num<0||this.ruleInfo.num==0)){ |
| | | this.$message({ |
| | | type: 'error', |
| | | message: '请输入不确定度' |
| | | }) |
| | | return; |
| | | } |
| | | this.addObj.rule = '考虑不确定度'+'-'+this.ruleInfo.num |
| | | } |
| | | this.saveLoad = true |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, { |
| | | str: JSON.stringify({ |
| | | let fd = new FormData(); |
| | | this.fileList.forEach((item,index)=>{ |
| | | //文件信息中raw才是真的文件 |
| | | fd.append("files",item.raw); |
| | | }) |
| | | fd.append("str",JSON.stringify({ |
| | | insOrder: this.addObj, |
| | | list: JSON.stringify(sampleList.map(a => { |
| | | if (this.PROJECT === '装备电缆') { |
| | |
| | | return a |
| | | })), |
| | | pairing: JSON.stringify(this.bsm2Val2) |
| | | }) |
| | | })); |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, fd,{ |
| | | headers: { |
| | | 'Content-Type': 'multipart/form-data' |
| | | }, |
| | | noQs:true |
| | | }).then(res => { |
| | | this.saveLoad = false |
| | | if (res.code == 201) return |
| | |
| | | this.distributeData.appointed = ress.data |
| | | }) |
| | | setTimeout(() => { |
| | | this.issuedDialogVisible = true; |
| | | // this.issuedDialogVisible = true; |
| | | // this.$message.success('提交成功') |
| | | this.upLoad = false |
| | | this.$parent.playOrder(0) |
| | | }, 1000) |
| | | }) |
| | | } else { |
| | |
| | | }) |
| | | }, |
| | | getProNum() { |
| | | this.sampleSelectionList.forEach((m, i) => { |
| | | Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | if (this.active != 1) { |
| | | this.sampleList.forEach((m, i) => { |
| | | Vue.set(this.sampleList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | }else{ |
| | | this.sampleSelectionList.forEach((m, i) => { |
| | | Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | } |
| | | this.$refs.sampleTable.doLayout() |
| | | }, |
| | | searchFilter() { |
| | |
| | | this.selectTree = '' |
| | | this.models = val.children |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | activeStandardTree() { |
| | | let trees = this.selectTree.split(" - ") |
| | | if(this.selectTree == null || this.selectTree == '') return this.$message.error('未选择样品类型') |
| | | let trees = this.selectTree.split(" - ").filter(m=>m) |
| | | if (trees.length < 3) { |
| | | this.$message.error('未选择对象') |
| | | this.$message.error('未选择样品类别') |
| | | return |
| | | } |
| | | this.addObj.factory = trees[0] |
| | | this.addObj.laboratory = trees[1] |
| | | this.addObj.sampleType = trees[2] |
| | | if (trees[3] === undefined || trees[3] === '') { |
| | | this.addObj.sample = trees[2] |
| | | } else { |
| | | this.addObj.sample = trees[3] |
| | | } |
| | | this.addObj.model = (trees[4] == undefined ? null : trees[4]) |
| | | this.addObj.factory = '中天科技检测中心' |
| | | this.addObj.laboratory = '通信产品实验室' |
| | | this.addObj.sampleType = trees[0] |
| | | this.addObj.sample = trees[1] |
| | | this.addObj.model = trees[2] |
| | | this.selectStandardTree = false |
| | | this.sampleList = [] |
| | | for (var i = 0; i < this.addObj.sampleNum; i++) { |
| | | this.sample.joinName = null |
| | | this.sample.joinModel = null |
| | | this.sample.joinNum = 1 |
| | | this.sample.sample = this.addObj.sample |
| | | // this.sample.sample = this.addObj.sample |
| | | this.sample.model = this.addObj.model |
| | | this.sample.unit = this.addObj.unit |
| | | this.sample.standardMethodListId = null |
| | | this.sample.standardMethodListId = [] |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sample.childSampleList = [] |
| | |
| | | selectsStandardMethodByFLSSM() { |
| | | this.methodLoad = true |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { |
| | | tree: this.selectTree |
| | | tree: '中天科技检测中心'+' - '+'通信产品实验室'+' - '+this.selectTree |
| | | }).then(res => { |
| | | this.methodLoad = false |
| | | try { |
| | | if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) { |
| | | let arr = this.selectTree.split('-') |
| | | let arr0 = arr.slice(0, arr.length - 1) |
| | | let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1) |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { |
| | | tree: selectTree |
| | | }).then(ress => { |
| | | this.methods = ress.data.standardMethodList |
| | | }) |
| | | } else { |
| | | this.methods = res.data.standardMethodList |
| | | } |
| | | } catch (e) {} |
| | | this.methods = res.data.standardMethodList |
| | | }) |
| | | }, |
| | | addStandardTree() { |
| | |
| | | this.sample.joinName = null |
| | | this.sample.joinModel = null |
| | | this.sample.joinNum = 1 |
| | | this.sample.sample = this.addObj.sample |
| | | // this.sample.sample = this.addObj.sample |
| | | this.sample.model = this.addObj.model |
| | | this.sample.unit = this.addObj.unit |
| | | this.sample.standardMethodListId = null |
| | | this.sample.standardMethodListId = [] |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sample.id = parseInt(i+1) |
| | | this.sample.childSampleList = [] |
| | | this.sample.insulating = null |
| | | this.sample.sheath = null |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | | this.count++ |
| | | // this.count++ |
| | | } |
| | | this.computationalPairing(this.sampleList.length) |
| | | this.bsm2Val2 = this.HaveJson(this.bsm2Val3) |
| | |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.currentMethod = row |
| | | let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | if (obj && obj.code == '委托要求') { |
| | | this.isAskOnlyRead = true |
| | | } else { |
| | | this.isAskOnlyRead = false |
| | | } |
| | | this.sampleId = row.id |
| | | if (this.active !== 1) { |
| | | this.sampleIds = [] |
| | |
| | | if(row.section === null) { |
| | | row.section = "" |
| | | } |
| | | let arr = this.productList.filter(m=>m.state==1&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1) |
| | | // console.log(row,this.productList) |
| | | let arr = this.productList.filter(m=>m.state==1&&m.bsmRow&&m.bsmRow.section==row.section&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1) |
| | | if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1&&arr.length==0) { |
| | | if (row.section.indexOf('[') > -1) { |
| | | row.bsmRow = this.HaveJson(row) |
| | |
| | | } |
| | | return item |
| | | }) |
| | | const select = this.selectTree.split(' - ') |
| | | if (row.inspectionItem === '温度循环' && select[2] === '光缆' && row.state === 1&&this.isAskOnlyRead) { |
| | | this.circulateShow = true; |
| | | return |
| | | } else if (row.inspectionItem === '温度循环' && select[2] === '光缆' && row.state === 0) { |
| | | this.circulateShow = false; |
| | | } |
| | | if ((row.inspectionItem === '温升试验' || row.inspectionItem === '热循环') && row.state === 1) { |
| | | // console.log('row---', row) |
| | | this.temperatureTitle = `${row.inspectionItem}要求填写` |
| | | this.isShowInput = row.inspectionItem === '热循环' |
| | | this.temId = row.id |
| | | this.temperatureShow = true; |
| | | return |
| | | } else if ((row.inspectionItem === '温升试验' || row.inspectionItem === '热循环') && row.state === 0) { |
| | | this.temperatureShow = false; |
| | | } |
| | | |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | if(this.sampleSelectionList.length>0){ |
| | | this.sampleSelectionList.forEach(item=>{ |
| | | item.insProduct = this.productList0 |
| | | }) |
| | | }else{ |
| | | this.currentMethod.insProduct = this.productList0 |
| | | } |
| | | this.getProNum() |
| | | }, |
| | | searchProject () { |
| | |
| | | // 保存模板 |
| | | addTemplateDia() { |
| | | if (this.templateName) { |
| | | this.templateLoading = true; |
| | | if(this.templates.find(m=>m.name==this.templateName)){ |
| | | this.$confirm('已存在同名模板,是否进行替换?', "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.saveTemplateDia() |
| | | }).catch(() => {}) |
| | | }else{ |
| | | this.saveTemplateDia() |
| | | } |
| | | } else { |
| | | this.$message.error('请填写模板名称') |
| | | } |
| | | }, |
| | | saveTemplateDia(){ |
| | | this.templateLoading = true; |
| | | this.$axios.post(this.$api.insOrder.addInsOrderTemplate, { |
| | | name: this.templateName, |
| | | thing: JSON.stringify({ |
| | |
| | | this.selectInsOrderTemplate() |
| | | this.templateName = '' |
| | | }) |
| | | } else { |
| | | this.$message.error('请填写模板名称') |
| | | } |
| | | }, |
| | | // 查询模板 |
| | | selectInsOrderTemplateById(e) { |
| | |
| | | this.units = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForStandard() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "试验标准" |
| | | }).then(res => { |
| | | this.standard = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForOrderType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "检验类别" |
| | | }).then(res => { |
| | | this.orderType = res.data |
| | | if (res.data.length > 0) { |
| | | this.addObj.orderType = res.data[0].value |
| | | this.addObj.orderType = 'C' |
| | | } |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForSampleForm() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "来样方式" |
| | | category: "订单类型" |
| | | }).then(res => { |
| | | this.formType = res.data |
| | | if (this.formType.length > 0) { |
| | |
| | | }) |
| | | }, |
| | | methodChange(val, row) { |
| | | if (val === null || val === '') return |
| | | if (val === null || val === ''||val.length ==0) return |
| | | this.currentMethod = row |
| | | let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | if (obj && obj.code == '委托要求') { |
| | | this.isAskOnlyRead = true |
| | | } else { |
| | | this.isAskOnlyRead = false |
| | | } |
| | | this.getProductLoad = true |
| | | let selectTreeList = this.selectTree.split(" - ") |
| | | this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum, |
| | | standardMethodListId: val, |
| | | factory: selectTreeList.join(" - "), |
| | | model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum+';'+row.testRequirements, |
| | | standardMethodListId: val.join(','), |
| | | factory: '中天科技检测中心'+' - '+'通信产品实验室'+' - '+selectTreeList.join(" - "), |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.getProductLoad = false |
| | | res.data.forEach(a => { |
| | | a.state = 0 |
| | | }) |
| | | row.insProduct = this.HaveJson(res.data) |
| | | this.getProductLoad = false |
| | | this.productList = row.insProduct |
| | | this.productList0 = JSON.parse(JSON.stringify(this.productList)) |
| | | this.$refs.sampleTable.setCurrentRow(row) |
| | |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | }).catch(e => { |
| | | this.getProductLoad = false |
| | | }) |
| | | this.searchProject() |
| | | this.searchTemList() |
| | |
| | | } |
| | | }) |
| | | }, |
| | | changeModel() { |
| | | changeModel(type) { |
| | | this.sampleList.forEach(a => { |
| | | let obj = this.sampleIds.find(b => b == a.id) |
| | | if (obj) { |
| | | a.model = this.model |
| | | this.$set(a,type, this.allInfo[type]) |
| | | if(type=='testRequirements'&&a.standardMethodListId&&a.standardMethodListId.length>0){ |
| | | this.methodChange(a.standardMethodListId, a) |
| | | } |
| | | // a[type] = this.allInfo[type] |
| | | } |
| | | }) |
| | | }, |
| | | changeModel0(row){ |
| | | if(row.standardMethodListId&&row.standardMethodListId.length>0){ |
| | | this.methodChange(row.standardMethodListId, row) |
| | | } |
| | | }, |
| | | changeStandardMethodListId() { |
| | | this.sampleList.forEach(a => { |
| | |
| | | }, |
| | | // 要求值变化时 |
| | | requestChange(e, row,type) { |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | if (m.id == row.id) { |
| | | m[type] = e; |
| | | //this.currentMethod 当前样品id |
| | | this.sampleList.forEach(item=>{ |
| | | if(item.id == this.currentMethod.id){ |
| | | item.insProduct.forEach(i=>{ |
| | | if(i.id == row.id){ |
| | | i[type] = e |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | // this.sampleList.map(item => { |
| | | // if (this.sampleIds.indexOf(item.id) > -1) { |
| | | // item.insProduct.map(m => { |
| | | // if (m.id == row.id) { |
| | | // m[type] = e; |
| | | // } |
| | | // return m; |
| | | // }) |
| | | // } |
| | | // return item |
| | | // }) |
| | | }, |
| | | selectStandardMethods() { |
| | | this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => { |
| | |
| | | this.$refs.productTable.clearSelection() |
| | | return |
| | | } |
| | | const select = this.selectTree.split(' - ') |
| | | if (p.inspectionItem === '温度循环' && select[2] === '光缆' && p.state === 1&&this.isAskOnlyRead) { |
| | | this.circulateShow = true; |
| | | return |
| | | } else if (p.inspectionItem === '温度循环' && select[2] === '光缆' && p.state === 0) { |
| | | this.circulateShow = false; |
| | | } |
| | | if ((p.inspectionItem === '温升试验' || p.inspectionItem === '热循环') && p.state === 1) { |
| | | // console.log('p---', p) |
| | | this.temperatureTitle = `${p.inspectionItem}要求填写` |
| | | this.isShowInput = p.inspectionItem === '热循环' |
| | | this.temId = p.id |
| | | this.temperatureShow = true; |
| | | return |
| | | } else if ((p.inspectionItem === '温升试验' || p.inspectionItem === '热循环') && p.state === 0) { |
| | | this.temperatureShow = false; |
| | | } |
| | | /* if (p.ask.includes('RTS')&&p.state === 1) { |
| | | p.rts = '' |
| | | this.bsm3Val = '' |
| | | this.bsm3 = true |
| | | this.bsm3Dia = true |
| | | this.bsmRow3.push(p) |
| | | } */ |
| | | }) |
| | | if (e.length > 0) { |
| | | this.sampleList.map(item => { |
| | |
| | | }) |
| | | } |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | if(this.sampleSelectionList.length>0){ |
| | | this.sampleSelectionList.forEach(item=>{ |
| | | item.insProduct = this.productList0 |
| | | }) |
| | | }else{ |
| | | this.currentMethod.insProduct = this.productList0 |
| | | } |
| | | this.getProNum() |
| | | this.$nextTick(() => { |
| | | this.$refs.productTable.doLayout() |
| | |
| | | const property = column['property']; |
| | | return row[property] === value; |
| | | }, |
| | | openConfig() { |
| | | if (this.active === 1) { |
| | | if (this.sampleIds.length === 0) { |
| | | this.$message.error("未选择样品") |
| | | return |
| | | } |
| | | this.configShow = true |
| | | } else { |
| | | if (this.sampleId === null) { |
| | | this.$message.error('未选中样品') |
| | | return |
| | | } |
| | | this.sampleIds = [this.sampleId] |
| | | this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { |
| | | sampleId: this.sampleId |
| | | }).then(res => { |
| | | if (res.data.length === 0) { |
| | | this.$message.error('该样品没有配置光纤') |
| | | return |
| | | } |
| | | for (var i in this.sampleList) { |
| | | if (this.sampleList[i].id = this.sampleId) { |
| | | this.sampleList[i].bushing = res.data |
| | | break |
| | | } |
| | | } |
| | | this.configShow = true |
| | | }) |
| | | } |
| | | }, |
| | | openEquipConfig() { |
| | | if (this.active === 1) { |
| | | if (this.sampleIds.length === 0) { |
| | |
| | | return |
| | | } |
| | | this.equipConfigShow = true |
| | | } else { |
| | | if (this.sampleId === null) { |
| | | this.$message.error('未选中样品') |
| | | return |
| | | } |
| | | // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { |
| | | // sampleId: this.sampleId |
| | | // }).then(res => { |
| | | // if (res.data.length === 0) { |
| | | // this.$message.error('该样品没有配置光纤') |
| | | // return |
| | | // } |
| | | // for (var i in this.sampleList) { |
| | | // if (this.sampleList[i].id = this.sampleId) { |
| | | // this.sampleList[i].bushing = res.data |
| | | // break |
| | | // } |
| | | // } |
| | | // this.configShow = true |
| | | // }) |
| | | } |
| | | }, |
| | | openCableConfig() { |
| | | if (this.active === 1) { |
| | | if (this.sampleIds.length === 0) { |
| | | this.$message.error("未选择样品") |
| | | return |
| | | } |
| | | this.cableConfigShow = true |
| | | } else { |
| | | if (this.sampleId === null) { |
| | | this.$message.error('未选中样品') |
| | |
| | | } |
| | | } |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | if(this.sampleSelectionList.length>0){ |
| | | this.sampleSelectionList.forEach(item=>{ |
| | | item.insProduct = this.productList0 |
| | | }) |
| | | }else{ |
| | | this.currentMethod.insProduct = this.productList0 |
| | | } |
| | | }, |
| | | save1 () { |
| | | if (this.bsm1DiaList.length > 0) { |
| | |
| | | this.totalArr = [] |
| | | this.total = 0; |
| | | this.sampleList.forEach(item => { |
| | | if (item.insProduct && item.insProduct.length > 0) { |
| | | if (item.insProduct && item.insProduct.length > 0) { |
| | | item.insProduct.forEach(a => { |
| | | this.totalArr.push(a) |
| | | }) |
| | |
| | | if(this.sonLaboratoryList.length>0){ |
| | | this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value |
| | | } |
| | | }, |
| | | selectDepartmentEnum(){ |
| | | this.$axios.get(this.$api.department.selectDepartmentLimsEnum).then(res=>{ |
| | | this.deaprtEnum = res.data.filter(item=>item.name === '质量部' || item.name === '检测中心') |
| | | }) |
| | | } |
| | | } |
| | | } |