| | |
| | | <template> |
| | | <div> |
| | | <div class="bg-1"> |
| | | <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="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-select |
| | | v-model="template" |
| | | size="medium" |
| | | filterable |
| | | 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-select v-model="template" size="medium" filterable 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"> |
| | | <span style="float: left">{{ a.name }}</span> |
| | | <i |
| | | class="el-icon-delete" |
| | | style="float: right; color: #66b1ff; font-size: 16px" |
| | | @click.stop="handleDelete(a)" |
| | | ></i> |
| | | <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px" |
| | | @click.stop="handleDelete(a)"></i> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button |
| | | size="medium" |
| | | @click="templateDia = true" |
| | | v-show="active == 1" |
| | | > |
| | | <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" 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" |
| | | :disabled="saveLoad" |
| | | >不通过</el-button |
| | | > |
| | | <el-button |
| | | size="medium" |
| | | type="primary" |
| | | @click="upInsOrderOfState(1)" |
| | | :loading="saveLoad" |
| | | v-show="active == 3 && addObj.companyId" |
| | | >通过</el-button |
| | | > |
| | | <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" |
| | | v-show="active == 3 && addObj.companyId" :disabled="saveLoad">不通过</el-button> |
| | | <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad" |
| | | v-show="active == 3 && addObj.companyId">通过</el-button> |
| | | <el-button size="medium" @click="$parent.playOrder(0)"> |
| | | <span style="color: #3a7bfa">返回</span> |
| | | </el-button> |
| | |
| | | </el-row> |
| | | </div> |
| | | <basic-container> |
| | | <div |
| | | class="search" |
| | | v-show="!configShow && !equipConfigShow && !cableConfigShow" |
| | | > |
| | | <el-form |
| | | :model="addObj" |
| | | :rules="formRule" |
| | | label-position="right" |
| | | inline |
| | | > |
| | | <div class="search" v-show="!configShow && !equipConfigShow && !cableConfigShow"> |
| | | <el-form :model="addObj" :rules="formRule" label-position="right" inline> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="委托编号:" prop="entrustCode"> |
| | | <el-input |
| | | v-model="addObj.entrustCode" |
| | | size="small" |
| | | class="search_input" |
| | | placeholder="系统生成" |
| | | disabled |
| | | ></el-input> |
| | | <el-input v-model="addObj.entrustCode" size="small" class="search_input" placeholder="系统生成" |
| | | disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="检验类别:" prop="orderType"> |
| | | <el-select |
| | | size="small" |
| | | class="search_input" |
| | | clearable |
| | | v-model="addObj.orderType" |
| | | :disabled="active > 1" |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in orderType" |
| | | :key="ai" |
| | | :value="a.dictValue" |
| | | :label="a.dictLabel" |
| | | ></el-option> |
| | | <el-select size="small" class="search_input" clearable v-model="addObj.orderType" |
| | | :disabled="active > 1"> |
| | | <el-option v-for="(a, ai) in orderType" :key="ai" :value="a.dictValue" |
| | | :label="a.dictLabel"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="制单人:" prop="custom"> |
| | | <el-input |
| | | size="small" |
| | | class="search_input" |
| | | clearable |
| | | disabled |
| | | v-model="addObj.custom" |
| | | ></el-input> |
| | | <el-input size="small" class="search_input" clearable disabled v-model="addObj.custom"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item |
| | | label="委托单位:" |
| | | prop="company" |
| | | class="company_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" |
| | | :disabled=" |
| | | active > 1 || addObj.company != '中天科技检测中心' |
| | | " |
| | | ></el-button |
| | | ></template> |
| | | <el-form-item label="委托单位:" prop="company" class="company_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" |
| | | :disabled="active > 1 || addObj.company != '中天科技检测中心' |
| | | "></el-button></template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="联系方式:" prop="phone"> |
| | | <el-input |
| | | size="small" |
| | | placeholder="请输入" |
| | | class="search_input" |
| | | clearable |
| | | :readonly="active > 1" |
| | | v-model="addObj.phone" |
| | | ></el-input> |
| | | <el-input size="small" placeholder="请输入" class="search_input" clearable :readonly="active > 1" |
| | | v-model="addObj.phone"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="紧急程度:" prop="type"> |
| | | <el-select |
| | | @change="changeType" |
| | | size="small" |
| | | class="search_input" |
| | | clearable |
| | | v-model="addObj.type" |
| | | :disabled="active > 1" |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in type" |
| | | :key="ai" |
| | | :value="a.dictValue" |
| | | :label="a.dictLabel" |
| | | ></el-option> |
| | | <el-select @change="changeType" size="small" class="search_input" clearable v-model="addObj.type" |
| | | :disabled="active > 1"> |
| | | <el-option v-for="(a, ai) in type" :key="ai" :value="a.dictValue" :label="a.dictLabel"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item |
| | | label="样品名称:" |
| | | prop="sample" |
| | | class="sample_input" |
| | | > |
| | | <el-form-item label="样品名称:" prop="sample" class="sample_input"> |
| | | <el-input readonly size="small" v-model="addObj.sample"> |
| | | <template slot="append" |
| | | ><el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="selectStandardTree = true" |
| | | :disabled="active > 1" |
| | | ></el-button |
| | | ></template> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" |
| | | @click="selectStandardTree = true" :disabled="active > 1"></el-button></template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="样品数量:" prop="sampleNum"> |
| | | <el-input-number |
| | | size="small" |
| | | v-model="addObj.sampleNum" |
| | | :min="1" |
| | | :max="100" |
| | | :precision="0" |
| | | @change="addStandardTree" |
| | | :disabled="active > 1" |
| | | ></el-input-number> |
| | | <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0" |
| | | @change="addStandardTree" :disabled="active > 1"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="来样方式:" prop="formType"> |
| | | <el-select |
| | | v-model="addObj.formType" |
| | | size="small" |
| | | class="search_input" |
| | | :disabled="active > 1" |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in formType" |
| | | :key="ai" |
| | | :label="a.dictLabel" |
| | | :value="a.dictValue" |
| | | ></el-option> |
| | | <el-select v-model="addObj.formType" size="small" class="search_input" :disabled="active > 1"> |
| | | <el-option v-for="(a, ai) in formType" :key="ai" :label="a.dictLabel" |
| | | :value="a.dictValue"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item |
| | | label="样品处理方式:" |
| | | prop="processing" |
| | | class="processing_input" |
| | | > |
| | | <el-form-item label="样品处理方式:" prop="processing" class="processing_input"> |
| | | <el-radio-group v-model="addObj.processing" size="mini"> |
| | | <el-radio :label="0">委托单位取回</el-radio> |
| | | <el-radio :label="1">实验室处理</el-radio> |
| | |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="工程名称:" prop="engineering"> |
| | | <el-input |
| | | size="small" |
| | | class="search_input" |
| | | :placeholder="active > 1 ? '' : '请输入'" |
| | | clearable |
| | | v-model="addObj.engineering" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-input size="small" class="search_input" :placeholder="active > 1 ? '' : '请输入'" clearable |
| | | v-model="addObj.engineering" :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item |
| | | label="工程名称EN:" |
| | | prop="engineeringEn" |
| | | class="engineeringEn_input" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | :placeholder="active > 1 ? '' : '请输入'" |
| | | clearable |
| | | v-model="addObj.engineeringEn" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-form-item label="工程名称EN:" prop="engineeringEn" class="engineeringEn_input"> |
| | | <el-input size="small" :placeholder="active > 1 ? '' : '请输入'" clearable v-model="addObj.engineeringEn" |
| | | :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="生产单位:" prop="production"> |
| | | <el-input |
| | | size="small" |
| | | class="search_input" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="addObj.production" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-input size="small" class="search_input" placeholder="请输入" clearable v-model="addObj.production" |
| | | :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item |
| | | label="生产单位EN:" |
| | | prop="productionEn" |
| | | class="productionEn_input" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | class="search_input" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="addObj.productionEn" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-form-item label="生产单位EN:" prop="productionEn" class="productionEn_input"> |
| | | <el-input size="small" class="search_input" placeholder="请输入" clearable v-model="addObj.productionEn" |
| | | :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="是否涉及配套样品:" prop="mating"> |
| | | <el-radio-group |
| | | v-model="addObj.mating" |
| | | @change="$refs.sampleTable.doLayout()" |
| | | > |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item |
| | | label="OTC订单号:" |
| | | prop="otcCode" |
| | | class="otcCode_input" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | :placeholder="active > 1 ? '' : '请输入'" |
| | | clearable |
| | | v-model="addObj.otcCode" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-form-item label="OTC订单号:" prop="otcCode" class="otcCode_input"> |
| | | <el-input size="small" :placeholder="active > 1 ? '' : '请输入'" clearable v-model="addObj.otcCode" |
| | | :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="委托人:" prop="prepareUser"> |
| | | <el-input |
| | | size="small" |
| | | class="search_input" |
| | | :placeholder="active > 1 ? '' : '请输入'" |
| | | clearable |
| | | v-model="addObj.prepareUser" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-input size="small" class="search_input" :placeholder="active > 1 ? '' : '请输入'" clearable |
| | | v-model="addObj.prepareUser" :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="备注:" prop="remark"> |
| | | <el-input |
| | | type="textarea" |
| | | :autosize="{ minRows: 2, maxRows: 2 }" |
| | | size="small" |
| | | clearable |
| | | :placeholder="active > 1 ? '' : '请输入'" |
| | | v-model="addObj.remark" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2 }" size="small" clearable |
| | | :placeholder="active > 1 ? '' : '请输入'" v-model="addObj.remark" :readonly="active > 1"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </basic-container> |
| | | <basic-container> |
| | | <div style="height: auto"> |
| | | <div |
| | | class="search" |
| | | v-if="active == 1" |
| | | style="display: flex; background: transparent" |
| | | > |
| | | <div class="search" v-if="active == 1" style="display: flex; background: transparent"> |
| | | <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-option |
| | | v-for="item in models" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="model" :placeholder="active > 1 ? '' : '请输入'" filterable allow-create |
| | | default-first-option size="small" @change="changeModel"> |
| | | <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_label">检验标准:</div> |
| | | <div class="search_input"> |
| | | <el-select |
| | | filterable |
| | | v-model="standardMethodListId" |
| | | :placeholder="active > 1 ? '' : '请输入'" |
| | | size="small" |
| | | @focus="methodFocus" |
| | | :loading="methodLoad" |
| | | @change="changeStandardMethodListId" |
| | | > |
| | | <el-option |
| | | v-for="item in methods" |
| | | :key="item.id" |
| | | :label="item.code" |
| | | :value="item.id" |
| | | > |
| | | <el-select filterable v-model="standardMethodListId" :placeholder="active > 1 ? '' : '请输入'" size="small" |
| | | @focus="methodFocus" :loading="methodLoad" @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-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" |
| | | > |
| | | <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" |
| | | > |
| | | <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"> |
| | | <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"></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="140" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.sampleCode" |
| | | clearable |
| | | placeholder="不填写则系统自动生成" |
| | | :readonly="active > 1" |
| | | ></el-input> |
| | | <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="样品型号" |
| | | 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-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="型号参数" width="130" align="center" v-if="!(active > 1)"> |
| | | <template slot-scope="scope"> |
| | | <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> |
| | | <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="standardMethodListId" |
| | | label="检验标准" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <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="检验标准" |
| | | filterable |
| | | size="small" |
| | | :loading="methodLoad" |
| | | @change="(value) => methodChange(value, scope.row)" |
| | | @focus="methodFocus" |
| | | :readonly="active > 1" |
| | | style="width: 100%" |
| | | clearable |
| | | @clear="productList = []" |
| | | > |
| | | <el-option |
| | | v-for="item in methods" |
| | | :key="item.id" |
| | | :label="item.code" |
| | | :value="item.id" |
| | | > |
| | | <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model == null || active > 1" |
| | | placeholder="检验标准" filterable size="small" :loading="methodLoad" |
| | | @change="(value) => methodChange(value, scope.row)" @focus="methodFocus" :readonly="active > 1" |
| | | style="width: 100%" clearable @clear="productList = []"> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="joinName" |
| | | label="配套样品名称" |
| | | width="140" |
| | | align="center" |
| | | v-if="addObj.mating == 1" |
| | | > |
| | | <el-table-column prop="joinName" label="配套样品名称" width="140" align="center" v-if="addObj.mating == 1"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | size="small" |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 1 }" |
| | | v-model="scope.row.joinName" |
| | | ></el-input> |
| | | <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1 }" |
| | | v-model="scope.row.joinName"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="joinModel" |
| | | label="配套样品型号" |
| | | width="140" |
| | | align="center" |
| | | v-if="addObj.mating == 1" |
| | | > |
| | | <el-table-column prop="joinModel" label="配套样品型号" width="140" align="center" v-if="addObj.mating == 1"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | size="small" |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 1 }" |
| | | v-model="scope.row.joinModel" |
| | | ></el-input> |
| | | <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1 }" |
| | | v-model="scope.row.joinModel"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="joinNum" |
| | | label="配套样品数量" |
| | | width="140" |
| | | align="center" |
| | | v-if="addObj.mating == 1" |
| | | > |
| | | <el-table-column prop="joinNum" label="配套样品数量" width="140" align="center" v-if="addObj.mating == 1"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | | size="small" |
| | | v-model="scope.row.joinNum" |
| | | :min="1" |
| | | :max="100" |
| | | :precision="0" |
| | | :controls="false" |
| | | style="width: 80%" |
| | | ></el-input-number> |
| | | <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0" |
| | | :controls="false" style="width: 80%"></el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proNum" |
| | | label="待检项数量" |
| | | width="105" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column prop="proNum" label="待检项数量" width="105" align="center"></el-table-column> |
| | | </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="standardLoading || getProductLoad" |
| | | @select-all="handleAll" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="65" |
| | | :selectable="selectable" |
| | | v-if="active == 1" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="检验项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | > |
| | | <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="standardLoading || getProductLoad" @select-all="handleAll"> |
| | | <el-table-column type="selection" width="65" :selectable="selectable" v-if="active == 1"></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div |
| | | style=" |
| | | <div style=" |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | font-size: 14px; |
| | | " |
| | | > |
| | | "> |
| | | <span>检验项</span> |
| | | <el-input |
| | | v-if="active == 1" |
| | | v-model="inspectionItem" |
| | | @input="searchFilterList" |
| | | size="mini" |
| | | placeholder="请输入" |
| | | /> |
| | | <el-input v-if="active == 1" v-model="inspectionItem" @input="searchFilterList" size="mini" |
| | | placeholder="请输入" /> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemSubclass" |
| | | label="检验项子项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div |
| | | style=" |
| | | <div style=" |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | font-size: 14px; |
| | | " |
| | | > |
| | | "> |
| | | <span>检验项子项</span> |
| | | <el-input |
| | | v-if="active == 1" |
| | | v-model="inspectionItemSubclass" |
| | | @input="searchFilterList" |
| | | size="mini" |
| | | placeholder="请输入" |
| | | /> |
| | | <el-input v-if="active == 1" v-model="inspectionItemSubclass" @input="searchFilterList" size="mini" |
| | | placeholder="请输入" /> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tell" label="要求描述" min-width="220px"> |
| | | <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> |
| | | <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> |
| | | <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" v-if="isAskOnlyRead"> |
| | | <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=" |
| | | <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> |
| | | "></el-input> |
| | | <span v-else> |
| | | <template>{{ scope.row.ask }}</template> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="methodS" |
| | | label="试验方法" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="methodS" label="试验方法" min-width="120" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div |
| | | style=" |
| | | <div style=" |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | font-size: 14px; |
| | | " |
| | | > |
| | | "> |
| | | <span>试验方法</span> |
| | | <el-input |
| | | v-if="active == 1" |
| | | v-model="methodS" |
| | | @input="searchFilterList" |
| | | size="mini" |
| | | placeholder="请输入" |
| | | /> |
| | | <el-input v-if="active == 1" v-model="methodS" @input="searchFilterList" size="mini" |
| | | placeholder="请输入" /> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="计量单位" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="price" |
| | | label="单价" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="section" |
| | | label="区间" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sonLaboratory" |
| | | label="子实验室" |
| | | min-width="130" |
| | | show-overflow-tooltip |
| | | :filters="filters" |
| | | :filter-method="filterHandler" |
| | | ></el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="section" label="区间" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" min-width="130" show-overflow-tooltip :filters="filters" |
| | | :filter-method="filterHandler"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </basic-container> |
| | |
| | | }); |
| | | }, |
| | | //保存单根垂直燃烧特殊值 |
| | | saveSingleVerticalCombustionData() {}, |
| | | saveSingleVerticalCombustionData() { }, |
| | | openSingleVerticalCombustionDialog() { |
| | | this.$prompt("单根垂直燃烧次数", "特殊检测项目", { |
| | | confirmButtonText: "确定", |
| | |
| | | this.currentMethod.insProduct = this.productList0; |
| | | this.getProNum(); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | }, |
| | | singleVerticalData(arr, value) { |
| | | arr.forEach((ins) => { |
| | |
| | | try { |
| | | let num = this.replaceAll(tell, symbolItem, value); |
| | | return num; |
| | | } catch (e) {} |
| | | } catch (e) { } |
| | | }, |
| | | replaceAll(str, find, value) { |
| | | if (str === undefined) { |
| | |
| | | .then(() => { |
| | | this.saveMethod(sampleList); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | } else { |
| | | let isRTS = this.totalArr.find( |
| | | (a) => |
| | |
| | | .then(() => { |
| | | this.saveMethod(sampleList); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | } else { |
| | | let isRTS = this.totalArr.find( |
| | | (a) => |
| | |
| | | }); |
| | | } |
| | | }, |
| | | errorSet() {}, |
| | | errorSet() { }, |
| | | /** |
| | | * 校验委托要求的检验项的要求描述和要求值 |
| | | * |
| | |
| | | console.log("ask or tell is null"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | }); |
| | | isTrue = false; |
| | |
| | | ); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | console.log("要求值中没有数字"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | console.log("直径公差之半与0.5不匹配"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | // if(ele.tell.indexOf(askVal[0])<0 && ele.tell.indexOf('半')<0){ |
| | |
| | | console.log("最大值和最小值相等"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | console.log("要求描述中不包含±以及区间的数字"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } else if (ele.tell.indexOf("-") == 0) { |
| | | console.log("要求值的区间格式错误"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } else if (tell.indexOf("-") > 0 || tell.indexOf("±") > 0) { |
| | |
| | | console.log("错误的区间设置"); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | console.log(777777); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } else { |
| | |
| | | console.log(888888); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | console.log(99999); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | console.log(1010101001); |
| | | this.errorInspectionItemList.push( |
| | | ele.inspectionItem + |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | " " + |
| | | (ele.inspectionItemSubclass == null |
| | | ? "" |
| | | : ele.inspectionItemSubclass) |
| | | ); |
| | | isTrue = false; |
| | | } |
| | |
| | | a.model = |
| | | a.model + |
| | | (a.modelNum == null || |
| | | a.modelNum == "" || |
| | | a.modelNum == "null" |
| | | a.modelNum == "" || |
| | | a.modelNum == "null" |
| | | ? "" |
| | | : "-" + a.modelNum); |
| | | } |
| | |
| | | a.model = |
| | | a.model + |
| | | (a.modelNum == null || |
| | | a.modelNum == "" || |
| | | a.modelNum == "null" |
| | | a.modelNum == "" || |
| | | a.modelNum == "null" |
| | | ? "" |
| | | : "-" + a.modelNum); |
| | | } |
| | |
| | | } else { |
| | | this.methods = res.data.standardMethodList; |
| | | } |
| | | } catch (e) {} |
| | | } catch (e) { } |
| | | }); |
| | | }, |
| | | addStandardTree(currentValue, oldValue) { |
| | |
| | | // row.manHour = arr2[index]; |
| | | // row.price = arr3[index]; |
| | | // row.tell = arr4[index]; |
| | | } catch (e) {} |
| | | } catch (e) { } |
| | | } |
| | | if ( |
| | | row.bsm === "1" && |
| | |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrder.selectInsOrderTemplate + |
| | | "?company=" + |
| | | this.addObj.company |
| | | "?company=" + |
| | | this.addObj.company |
| | | ) |
| | | .then((res) => { |
| | | if (res.code == 201) return; |
| | |
| | | this.$message.error("删除失败"); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | }, |
| | | // 保存模板 |
| | | addTemplateDia() { |
| | |
| | | line-height: 24px; |
| | | margin-top: 5px; |
| | | } |
| | | |
| | | .circulateTable { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .opticalProject { |
| | | width: 38%; |
| | | } |
| | | |
| | | .temperatureList { |
| | | width: 60%; |
| | | } |
| | | |
| | | .temperatureListTitle { |
| | | display: flex; |
| | | flex-direction: row; |
| | |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .ins_order_add |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | .ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | color: #3a7bfa; |
| | | } |
| | | |
| | |
| | | .ins_order_add .el-select .is-disabled .el-input__inner { |
| | | background: transparent !important; |
| | | } |
| | | |
| | | .company_input .el-form-item__content, |
| | | .sample_input .el-form-item__content { |
| | | width: 72%; |
| | | } |
| | | |
| | | .engineeringEn_input .el-form-item__content, |
| | | .otcCode_input .el-form-item__content, |
| | | .productionEn_input .el-form-item__content { |
| | | width: 65%; |
| | | } |
| | | |
| | | .processing_input .el-form-item__content { |
| | | width: 60%; |
| | | } |