| | |
| | | overflow: hidden; |
| | | } |
| | | |
| | | >>>.el-table__body-wrapper { |
| | | >>> .el-table__body-wrapper { |
| | | height: calc(100% - 46px) !important; |
| | | } |
| | | |
| | | >>>.header-class { |
| | | >>> .header-class { |
| | | height: 40px !important; |
| | | } |
| | | |
| | | >>>.header-class th.el-table__cell>.cell { |
| | | >>> .header-class th.el-table__cell > .cell { |
| | | line-height: 20px !important; |
| | | padding-top: 0 !important; |
| | | padding-bottom: 0 !important; |
| | | } |
| | | |
| | | >>>.el-table__row { |
| | | >>> .el-table__row { |
| | | height: 35px !important; |
| | | } |
| | | |
| | |
| | | right: 70px; |
| | | } |
| | | |
| | | >>>.is-disabled .el-textarea__inner { |
| | | >>> .is-disabled .el-textarea__inner { |
| | | background: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | |
| | | >>>.is-disabled .el-textarea__inner { |
| | | >>> .is-disabled .el-textarea__inner { |
| | | background: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | |
| | | >>>.el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 14px; |
| | | >>> .el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 6px; |
| | | /* 设置滚动条宽度 */ |
| | | } |
| | | </style> |
| | |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | .standard |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | color: #3a7bfa; |
| | | } |
| | | |
| | |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input placeholder="输入关键字进行搜索" suffix-icon="el-icon-search" v-model="search" size="small" |
| | | style="margin-bottom: 5px" clearable @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | <el-input |
| | | placeholder="输入关键字进行搜索" |
| | | suffix-icon="el-icon-search" |
| | | v-model="search" |
| | | size="small" |
| | | style="margin-bottom: 5px" |
| | | clearable |
| | | @blur="searchFilter" |
| | | @clear="searchFilter" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center; line-height: 30px" v-if="addPower"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addDia = true"></el-button> |
| | | <el-col |
| | | :span="4" |
| | | style="text-align: center; line-height: 30px" |
| | | v-if="addPower" |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | circle |
| | | @click="addDia = true" |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current v-loading="treeLoad" |
| | | :expand-on-click-node="false" :default-expanded-keys="expandedKeys" style=" |
| | | <el-tree |
| | | :data="list" |
| | | ref="tree" |
| | | :props="{ children: 'children', label: 'label' }" |
| | | node-key="label" |
| | | :filter-node-method="filterNode" |
| | | @node-click="handleNodeClick" |
| | | highlight-current |
| | | v-loading="treeLoad" |
| | | :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" |
| | | style=" |
| | | height: calc(100% - 30px); |
| | | overflow-y: scroll; |
| | | scrollbar-width: none; |
| | | "> |
| | | " |
| | | > |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%"> |
| | | <el-col :span="21" :class="{ sort: node.level > 3 }" :title="data.label" style="text-align: left"> |
| | | <el-col |
| | | :span="21" |
| | | :class="{ sort: node.level > 3 }" |
| | | :title="data.label" |
| | | style="text-align: left" |
| | | > |
| | | <span> |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`"></i> |
| | | <i |
| | | :class="`node_i ${ |
| | | data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`" |
| | | ></i> |
| | | {{ data.label }} |
| | | </span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right" v-if=" |
| | | (node.data.children === null || |
| | | node.data.children === undefined) |
| | | "> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <el-col |
| | | :span="2" |
| | | style="text-align: right" |
| | | v-if=" |
| | | node.data.children === null || node.data.children === undefined |
| | | " |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click.stop="remove(node, data)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | |
| | | <el-col :span="20" style="font-size: 14px; color: #999">{{ |
| | | selectTree |
| | | }}</el-col> |
| | | <el-button size="small" type="primary" style="position: absolute; right: 100px; top: 1px" |
| | | @click="uploadDia = true" v-if="inExcelOfTreePower">导入</el-button> |
| | | <el-button size="small" type="primary" @click="handleMore" style="position: absolute; right: 5px; top: 1px" |
| | | v-if="upStandardProduct">批量编辑</el-button> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | style="position: absolute; right: 100px; top: 1px" |
| | | @click="uploadDia = true" |
| | | v-if="inExcelOfTreePower" |
| | | >导入</el-button |
| | | > |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | @click="handleMore" |
| | | style="position: absolute; right: 5px; top: 1px" |
| | | v-if="upStandardProduct" |
| | | >批量编辑</el-button |
| | | > |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%; height: 220px !important" height="220" |
| | | tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard" |
| | | header-row-class-name="header-class"> |
| | | <el-table-column prop="code" label="标准编号" show-overflow-tooltip width="200"> |
| | | <el-table |
| | | class="el-table" |
| | | :data="standardList" |
| | | style="width: 100%; height: 220px !important" |
| | | height="220" |
| | | tooltip-effect="dark" |
| | | highlight-current-row |
| | | @row-click="rowClick" |
| | | ref="standard" |
| | | header-row-class-name="header-class" |
| | | > |
| | | <el-table-column |
| | | prop="code" |
| | | label="标准编号" |
| | | show-overflow-tooltip |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span style="color: red; font-size: 14px">{{ |
| | | scope.row["code"] |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="标准名称" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="备注" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="标准名称" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="remark" |
| | | label="备注" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row class="product_table" v-loading="tableLoad2"> |
| | | <el-table :data="productList" ref="productTable" style="width: 100%" height="100%" tooltip-effect="dark" stripe |
| | | :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class"> |
| | | <el-table |
| | | :data="productList" |
| | | ref="productTable" |
| | | style="width: 100%" |
| | | height="100%" |
| | | tooltip-effect="dark" |
| | | stripe |
| | | :fit="true" |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" |
| | | @select-all="handleAll" |
| | | class="productTable" |
| | | header-row-class-name="header-class" |
| | | > |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column prop="sample" label="产品" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="sample" |
| | | label="产品" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="型号" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="检验项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <!-- <el-table-column prop="inspectionItemClassify" label="检验项类型" width="120" show-overflow-tooltip></el-table-column> --> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemSubclass" |
| | | label="检验项子项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sonLaboratory" |
| | | label="子实验室" |
| | | width="130" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable |
| | | @change="(value) => upStandardProductList(value, scope.row.id)" v-if="upStandardProduct" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }"></el-input> |
| | | <el-input |
| | | size="small" |
| | | placeholder="要求值" |
| | | v-model="scope.row.ask" |
| | | clearable |
| | | @change="(value) => upStandardProductList(value, scope.row.id)" |
| | | v-if="upStandardProduct" |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | ></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </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 @change="(value) => upStandardProductListOfTell(value, scope.row.id) |
| | | " v-if="upStandardProduct" type="textarea" :autosize="{ minRows: 1, maxRows: 3 }"></el-input> |
| | | <el-input |
| | | size="small" |
| | | placeholder="要求描述" |
| | | v-model="scope.row.tell" |
| | | clearable |
| | | @change=" |
| | | (value) => upStandardProductListOfTell(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | ></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="method" label="试验方法" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.methodS" size="small" placeholder="试验方法" @change="(value) => upStandardProductListOfMethodS(value, scope.row.id) |
| | | " v-if="upStandardProduct"> |
| | | <el-option v-for="(a, i) in JSON.parse(scope.row.method)" :key="i" :label="a" :value="a"></el-option> |
| | | <el-select |
| | | v-model="scope.row.methodS" |
| | | size="small" |
| | | placeholder="试验方法" |
| | | @change=" |
| | | (value) => upStandardProductListOfMethodS(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | > |
| | | <el-option |
| | | v-for="(a, i) in JSON.parse(scope.row.method)" |
| | | :key="i" |
| | | :label="a" |
| | | :value="a" |
| | | ></el-option> |
| | | </el-select> |
| | | <span v-else>{{ scope.row.methodS }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="计量单位" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="price" label="单价(元)" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.price" size="small" placeholder="单价(元)" @change="(value) => upStandardProductListOfPrice(value, scope.row.id) |
| | | " v-if="upStandardProduct"> |
| | | <el-input |
| | | v-model="scope.row.price" |
| | | size="small" |
| | | placeholder="单价(元)" |
| | | @change=" |
| | | (value) => upStandardProductListOfPrice(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | > |
| | | </el-input> |
| | | <span v-else>{{ scope.row.price }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="manHour" label="工时系数" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.manHour" size="small" placeholder="工时系数" @change="(value) => upStandardProductListOfManHour(value, scope.row.id) |
| | | " v-if="upStandardProduct"> |
| | | <el-input |
| | | v-model="scope.row.manHour" |
| | | size="small" |
| | | placeholder="工时系数" |
| | | @change=" |
| | | (value) => upStandardProductListOfManHour(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | > |
| | | </el-input> |
| | | <span v-else>{{ scope.row.manHour }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="manHourGroup" label="工时分组" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="manHourGroup" |
| | | label="工时分组" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="templateId" label="模板" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct" @change="(value) => |
| | | upStandardProductListOfTemplate(value, scope.row.id) |
| | | "> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | <el-select |
| | | v-model="scope.row.templateId" |
| | | size="small" |
| | | filterable |
| | | :disabled="!upStandardProduct" |
| | | @change=" |
| | | (value) => |
| | | upStandardProductListOfTemplate(value, scope.row.id) |
| | | " |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in templateList" |
| | | :key="ai" |
| | | :label="a.name" |
| | | :value="a.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="section" label="区间" width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="section" |
| | | label="区间" |
| | | width="120" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="section" label="操作" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="sectionUp(scope.row)">区间设置</el-button> |
| | | <el-button type="text" @click="sectionUp(scope.row)" |
| | | >区间设置</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination style="position: absolute; right: 16px; bottom: 1px" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total"> |
| | | <el-pagination |
| | | style="position: absolute; right: 16px; bottom: 1px" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="50" |
| | | :total="total" |
| | | > |
| | | </el-pagination> |
| | | </el-row> |
| | | </div> |
| | |
| | | <span class="required-span">* </span>型号: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.model" placeholder="请输入型号" clearable size="small" |
| | | @keyup.enter.native="addStandardTree"></el-input> |
| | | <el-input |
| | | v-model="addOb.model" |
| | | placeholder="请输入型号" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="addStandardTree" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad" |
| | | >确 定</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="批量编辑" top="5vh" :visible.sync="moreEdit" width="90%" class="more-edit"> |
| | | <div class="body" style="display: flex; flex-direction: column; height: 85vh"> |
| | | <el-dialog |
| | | title="批量编辑" |
| | | top="5vh" |
| | | :visible.sync="moreEdit" |
| | | width="90%" |
| | | class="more-edit" |
| | | > |
| | | <div |
| | | class="body" |
| | | style="display: flex; flex-direction: column; height: 85vh" |
| | | > |
| | | <div class="search"> |
| | | <div class="search-item"> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 要求值:</el-col> |
| | | 要求值:</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.ask" clearable :disabled="moreSelects.length == 0"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="moreInfo.ask" |
| | | clearable |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 要求描述:</el-col> |
| | | <el-col :span="16" style="display: flex; align-items: flex-start; height: 100%"> |
| | | <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3 }" |
| | | v-model="moreInfo.tell" :disabled="moreSelects.length == 0"></el-input> |
| | | 要求描述:</el-col |
| | | > |
| | | <el-col |
| | | :span="16" |
| | | style="display: flex; align-items: flex-start; height: 100%" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | clearable |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | v-model="moreInfo.tell" |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 试验方法:</el-col> |
| | | 试验方法:</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%" |
| | | :disabled="moreSelects.length == 0" clearable> |
| | | <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | <el-select |
| | | v-model="moreInfo.methodS" |
| | | size="small" |
| | | filterable |
| | | style="width: 100%" |
| | | :disabled="moreSelects.length == 0" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in methodList" |
| | | :key="ai" |
| | | :label="a.label" |
| | | :value="a.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 单价(元):</el-col> |
| | | 单价(元):</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.price" clearable |
| | | :disabled="moreSelects.length == 0"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="moreInfo.price" |
| | | clearable |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 工时系数:</el-col> |
| | | 工时系数:</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.manHour" clearable |
| | | :disabled="moreSelects.length == 0"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="moreInfo.manHour" |
| | | clearable |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 模板:</el-col> |
| | | 模板:</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="模板" style="width: 100%" |
| | | :disabled="moreSelects.length == 0"> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | <el-select |
| | | v-model="moreInfo.templateId" |
| | | size="small" |
| | | filterable |
| | | placeholder="模板" |
| | | style="width: 100%" |
| | | :disabled="moreSelects.length == 0" |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in templateList" |
| | | :key="ai" |
| | | :label="a.name" |
| | | :value="a.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%"> |
| | | <el-col :span="6" style="text-align: right"> 是否启用:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.state" size="small" filterable placeholder="是否启用" style="width: 100%" |
| | | :disabled="moreSelects.length == 0" clearable> |
| | | <el-select |
| | | v-model="moreInfo.state" |
| | | size="small" |
| | | filterable |
| | | placeholder="是否启用" |
| | | style="width: 100%" |
| | | :disabled="moreSelects.length == 0" |
| | | clearable |
| | | > |
| | | <el-option label="启用" :value="1"></el-option> |
| | | <el-option label="不启用" :value="0"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 100%; margin-top: 8px"> |
| | | <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end"> |
| | | <el-button @click="clearProduct(1)" size="small" type="danger">重置单价</el-button> |
| | | <el-button @click="clearProduct(2)" size="small" type="danger">重置工时系数</el-button> |
| | | <el-button type="primary" size="small" @click="sectionUp(moreSelects)">设置区间</el-button> |
| | | <el-button @click="moreEdit = false" size="small">取 消</el-button> |
| | | <el-button type="primary" @click="subMoreEdit" :loading="moreEditLoad" size="small">保 存</el-button> |
| | | <el-col |
| | | :span="24" |
| | | style=" |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | " |
| | | > |
| | | <el-button @click="clearProduct(1)" size="small" type="danger" |
| | | >重置单价</el-button |
| | | > |
| | | <el-button @click="clearProduct(2)" size="small" type="danger" |
| | | >重置工时系数</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | @click="sectionUp(moreSelects)" |
| | | >设置区间</el-button |
| | | > |
| | | <el-button @click="moreEdit = false" size="small" |
| | | >取 消</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="subMoreEdit" |
| | | :loading="moreEditLoad" |
| | | size="small" |
| | | >保 存</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div style="flex: 1; overflow-y: auto" v-loading="productTableLoading0"> |
| | | <el-table :data="productList0" ref="productTable0" style="width: 100%" height="96%" tooltip-effect="dark" |
| | | stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" :row-key="(row) => row.id" @filter-change="filterHandler" |
| | | highlight-current-row> |
| | | <el-table |
| | | :data="productList0" |
| | | ref="productTable0" |
| | | style="width: 100%" |
| | | height="96%" |
| | | tooltip-effect="dark" |
| | | stripe |
| | | :fit="true" |
| | | border |
| | | @select-all="handleSelectAll0" |
| | | @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" |
| | | :row-key="(row) => row.id" |
| | | @filter-change="filterHandler" |
| | | highlight-current-row |
| | | > |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column prop="sample" label="产品" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip :filters="filters0" |
| | | :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" show-overflow-tooltip |
| | | :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass" |
| | | filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip |
| | | :filters="dict.type.sys_sub_lab" :filter-multiple="false" column-key="sonLaboratory" |
| | | filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="200px"></el-table-column> |
| | | <el-table-column prop="tell" label="要求描述" min-width="220px"></el-table-column> |
| | | <el-table-column prop="methodS" label="试验方法" width="200"></el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价(元)" width="120"></el-table-column> |
| | | <el-table-column prop="manHour" label="工时系数" width="120"></el-table-column> |
| | | <el-table-column prop="manHourGroup" label="工时分组" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="sample" |
| | | label="产品" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="型号" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="检验项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | :filters="filters0" |
| | | :filter-multiple="false" |
| | | column-key="inspectionItem" |
| | | filter-placement="bottom-start" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemSubclass" |
| | | label="检验项子项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | :filters="filters1" |
| | | :filter-multiple="false" |
| | | column-key="inspectionItemSubclass" |
| | | filter-placement="bottom-start" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sonLaboratory" |
| | | label="子实验室" |
| | | width="130" |
| | | show-overflow-tooltip |
| | | :filters="dict.type.sys_sub_lab" |
| | | :filter-multiple="false" |
| | | column-key="sonLaboratory" |
| | | filter-placement="bottom-start" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="ask" |
| | | label="要求值" |
| | | min-width="200px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="tell" |
| | | label="要求描述" |
| | | min-width="220px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="methodS" |
| | | label="试验方法" |
| | | width="200" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="计量单位" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="price" |
| | | label="单价(元)" |
| | | width="120" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="manHour" |
| | | label="工时系数" |
| | | width="120" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="manHourGroup" |
| | | label="工时分组" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="templateId" label="模板" width="200"> |
| | | <template slot-scope="scope"> |
| | | {{ |
| | | templateList.find((item) => item.id == scope.row.templateId) |
| | | ? templateList.find( |
| | | (item) => item.id == scope.row.templateId |
| | | ).name |
| | | (item) => item.id == scope.row.templateId |
| | | ).name |
| | | : "" |
| | | }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="section" label="区间" width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="section" |
| | | label="区间" |
| | | width="120" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | </el-table> |
| | | <el-pagination style="position: absolute; right: 16px; bottom: 4px" @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0"> |
| | | <el-pagination |
| | | style="position: absolute; right: 16px; bottom: 4px" |
| | | @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="100" |
| | | :total="total0" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="区间设置" :visible.sync="sectionUpDia" width="70%" :close-on-click-modal="false"> |
| | | <el-dialog |
| | | title="区间设置" |
| | | :visible.sync="sectionUpDia" |
| | | width="70%" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div style="width: 100%; text-align: left"> |
| | | <el-button id="copyBtn" v-if="sectionList.length > 0" :data-clipboard-text="JSON.stringify(sectionList)" |
| | | type="primary" size="mini" @click="copySectionConfig">复制区间设置</el-button> |
| | | <el-button type="primary" size="mini" @click="openImportSectionsConfig">导入区间设置</el-button> |
| | | <el-dialog :visible.sync="importSectionsConfigDia" width="30%" title="导入区间配置"> |
| | | <el-input type="textarea" :rows="3" v-model="sectionsConfigText"></el-input> |
| | | <el-button |
| | | id="copyBtn" |
| | | v-if="sectionList.length > 0" |
| | | :data-clipboard-text="JSON.stringify(sectionList)" |
| | | type="primary" |
| | | size="mini" |
| | | @click="copySectionConfig" |
| | | >复制区间设置</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="openImportSectionsConfig" |
| | | >导入区间设置</el-button |
| | | > |
| | | <el-dialog |
| | | :visible.sync="importSectionsConfigDia" |
| | | width="30%" |
| | | title="导入区间配置" |
| | | > |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | v-model="sectionsConfigText" |
| | | ></el-input> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="importSectionsConfigDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="confirmImportConfig">确认</el-button> |
| | | <el-button @click="importSectionsConfigDia = false" |
| | | >取 消</el-button |
| | | > |
| | | <el-button type="primary" @click="confirmImportConfig" |
| | | >确认</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="区间" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.thing" clearable placeholder="区间"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.thing" |
| | | clearable |
| | | placeholder="区间" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="要求值" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.ask" clearable placeholder="要求值"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.ask" |
| | | clearable |
| | | placeholder="要求值" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="要求描述" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求描述" v-model="scope.row.tell" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 2 }"></el-input> |
| | | <el-input |
| | | size="small" |
| | | placeholder="要求描述" |
| | | v-model="scope.row.tell" |
| | | clearable |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 2 }" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="单价" align="center" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.price" clearable placeholder="单价"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.price" |
| | | clearable |
| | | placeholder="单价" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时系数" align="center" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.manHour" clearable placeholder="工时系数"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.manHour" |
| | | clearable |
| | | placeholder="工时系数" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="70" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="danger" icon="el-icon-minus" circle |
| | | @click="sectionList.splice(scope.$index, 1)"></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="danger" |
| | | icon="el-icon-minus" |
| | | circle |
| | | @click="sectionList.splice(scope.$index, 1)" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="sectionUpDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad">保 存</el-button> |
| | | <el-button type="primary" @click=" |
| | | sectionList.push({ |
| | | thing: '', |
| | | price: sectionRow.price, |
| | | manHour: sectionRow.manHour, |
| | | }) |
| | | " icon="el-icon-plus"></el-button> |
| | | <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad" |
| | | >保 存</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click=" |
| | | sectionList.push({ |
| | | thing: '', |
| | | price: sectionRow.price, |
| | | manHour: sectionRow.manHour, |
| | | }) |
| | | " |
| | | icon="el-icon-plus" |
| | | ></el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="数据导入" :visible.sync="uploadDia" width="500px"> |
| | | <div style="margin: 0 auto"> |
| | | <el-upload ref="upload" drag :action="javaApi + '/standardTree/inExcelOfTree' + '/' + 'false' |
| | | " :headers="uploadHeader" :file-list="fileList" name="file" :auto-upload="false" accept=".xlsx" :limit="1" |
| | | :on-change="beforeUpload" :on-success="onSuccess" :on-error="onError"> |
| | | <el-upload |
| | | ref="upload" |
| | | drag |
| | | :action="javaApi + '/standardTree/inExcelOfTree' + '/' + 'false'" |
| | | :headers="uploadHeader" |
| | | :file-list="fileList" |
| | | name="file" |
| | | :auto-upload="false" |
| | | accept=".xlsx" |
| | | :limit="1" |
| | | :on-change="beforeUpload" |
| | | :on-success="onSuccess" |
| | | :on-error="onError" |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> |
| | | </el-upload> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="uploadDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="submitUpload()" :loading="uploading">上 传</el-button> |
| | | <el-button type="primary" @click="submitUpload()" :loading="uploading" |
| | | >上 传</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | resetTreeOfPrice, |
| | | resetTreeOfHour, |
| | | selectsStandardMethodByFLSSM, |
| | | } from '@/api/standard/standardLibrary.js' |
| | | } from "@/api/standard/standardLibrary.js"; |
| | | |
| | | export default { |
| | | dicts: ['sys_sub_lab'], |
| | | dicts: ["sys_sub_lab"], |
| | | data() { |
| | | return { |
| | | importSectionsConfigDia: false, |
| | |
| | | this.selectStandardMethods(); |
| | | }, |
| | | methods: { |
| | | confirmImportConfig() { }, |
| | | confirmImportConfig() {}, |
| | | openImportSectionsConfig() { |
| | | // this.importSectionsConfigDia = true |
| | | this.$confirm("确认导入复制的区间配置?", "提示", { |
| | |
| | | this.$message.success("导入成功"); |
| | | } |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | //复制区间配置 |
| | | copySectionConfig() { |
| | |
| | | this.productList = []; |
| | | }); |
| | | }) |
| | | .catch((e) => { }); |
| | | .catch((e) => {}); |
| | | }, |
| | | deleteStandard(arr, label) { |
| | | arr.forEach((item, index) => { |
| | |
| | | return; |
| | | } |
| | | this.addLoad = true; |
| | | addStandardTree(this.addOb).then((res) => { |
| | | if (res.code === 201) { |
| | | addStandardTree(this.addOb) |
| | | .then((res) => { |
| | | if (res.code === 201) { |
| | | this.addLoad = false; |
| | | return; |
| | | } |
| | | this.$message.success("添加成功"); |
| | | this.addDia = false; |
| | | this.list |
| | | .find((a) => a.label == this.addOb.factory) |
| | | .children.find((a) => a.label == this.addOb.laboratory) |
| | | .children.find((a) => a.label == this.addOb.sampleType) |
| | | .children.find((a) => a.label == this.addOb.sample) |
| | | .children.push({ |
| | | code: "[5]", |
| | | label: this.addOb.model, |
| | | value: this.addOb.model, |
| | | }); |
| | | this.addLoad = false; |
| | | return; |
| | | } |
| | | this.$message.success("添加成功"); |
| | | this.addDia = false; |
| | | this.list |
| | | .find((a) => a.label == this.addOb.factory) |
| | | .children.find((a) => a.label == this.addOb.laboratory) |
| | | .children.find((a) => a.label == this.addOb.sampleType) |
| | | .children.find((a) => a.label == this.addOb.sample) |
| | | .children.push({ |
| | | code: "[5]", |
| | | label: this.addOb.model, |
| | | value: this.addOb.model, |
| | | }); |
| | | this.addLoad = false; |
| | | this.$tab.refreshPage(); |
| | | |
| | | }) |
| | | this.$tab.refreshPage(); |
| | | }) |
| | | .catch((e) => { |
| | | this.addDia = false; |
| | | this.addLoad = false; |
| | |
| | | this.tableLoad = true; |
| | | selectsStandardMethodByFLSSM({ |
| | | tree: this.selectTree, |
| | | }) |
| | | .then((res) => { |
| | | this.tableLoad = false; |
| | | this.standardList = res.data.standardMethodList; |
| | | if (this.standardList && this.standardList.length > 0) { |
| | | this.$refs.standard.setCurrentRow(this.standardList[0]); |
| | | this.rowClick(this.standardList[0]); |
| | | } else { |
| | | this.productList = []; |
| | | } |
| | | }); |
| | | }).then((res) => { |
| | | this.tableLoad = false; |
| | | this.standardList = res.data.standardMethodList; |
| | | if (this.standardList && this.standardList.length > 0) { |
| | | this.$refs.standard.setCurrentRow(this.standardList[0]); |
| | | this.rowClick(this.standardList[0]); |
| | | } else { |
| | | this.productList = []; |
| | | } |
| | | }); |
| | | }, |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem("power")); |
| | |
| | | id: index, |
| | | tell: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | this.$message.success("已保存"); |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | this.$message.success("已保存"); |
| | | }); |
| | | }, |
| | | upStandardProductListOfMethodS(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | methodS: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }, |
| | | upStandardProductListOfPrice(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | price: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }, |
| | | upStandardProductListOfManHour(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | manHour: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }, |
| | | upStandardProductListOfTemplate(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | templateId: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | // this.$message.success('已保存') |
| | | }); |
| | | }, |
| | | delStandardMethodByFLSSM(id) { |
| | | this.$confirm("是否删除当前数据?", "警告", { |
| | |
| | | }) |
| | | .then(() => { |
| | | this.tableLoad = true; |
| | | delStandardMethodByFLSSM({ id: id, }).then((res) => { |
| | | delStandardMethodByFLSSM({ id: id }).then((res) => { |
| | | if (res.code == 201) { |
| | | return; |
| | | } |
| | |
| | | this.selectsStandardMethodByFLSSM(); |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = []; |
| | |
| | | this.selectsStandardMethodByFLSSM(); |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | // addStandardProductDo() { |
| | | // let selects = this.$refs.ValueTable.multipleSelection; |
| | |
| | | price: this.sectionRow.price, |
| | | manHour: this.sectionRow.manHour, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | this.sectionLoad = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | this.$message.success("已保存"); |
| | | this.sectionUpDia = false; |
| | | }); |
| | | }).then((res) => { |
| | | this.sectionLoad = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | | return; |
| | | } |
| | | this.$message.success("已保存"); |
| | | this.sectionUpDia = false; |
| | | }); |
| | | } else { |
| | | upStandardProducts({ |
| | | ids: JSON.stringify(this.moreSelects.map((a) => a.id)), |
| | |
| | | upStandardProducts({ |
| | | ids: JSON.stringify(this.moreSelects.map((a) => a.id)), |
| | | standardProductList: this.moreInfo, |
| | | },).then((res) => { |
| | | }).then((res) => { |
| | | this.moreEditLoad = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("未保存"); |
| | |
| | | laboratory: this.sonLaboratory, |
| | | items: this.inspectionItemSubclass, |
| | | item: this.inspectionItem, |
| | | }) |
| | | .then((res) => { |
| | | this.productList0 = res.data.records; |
| | | this.total0 = res.data.total; |
| | | this.productTableLoading0 = false; |
| | | this.page = res.data.pages; |
| | | this.$nextTick(() => { |
| | | this.productList0.forEach((a, i) => { |
| | | if (this.moreSelects.find((b) => a.id == b.id)) { |
| | | this.$refs.productTable0.toggleRowSelection( |
| | | this.productList0[i], |
| | | true |
| | | ); |
| | | } |
| | | }); |
| | | }).then((res) => { |
| | | this.productList0 = res.data.records; |
| | | this.total0 = res.data.total; |
| | | this.productTableLoading0 = false; |
| | | this.page = res.data.pages; |
| | | this.$nextTick(() => { |
| | | this.productList0.forEach((a, i) => { |
| | | if (this.moreSelects.find((b) => a.id == b.id)) { |
| | | this.$refs.productTable0.toggleRowSelection( |
| | | this.productList0[i], |
| | | true |
| | | ); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | }, |
| | | handleCurrentChange0(e) { |
| | | this.currentPage0 = e; |
| | |
| | | id: this.standardId, |
| | | tree: this.selectTree, |
| | | item: this.inspectionItem, |
| | | }) |
| | | .then((res) => { |
| | | this.filters0 = []; |
| | | this.filters1 = []; |
| | | res.data.item.forEach((a) => { |
| | | this.filters0.push({ |
| | | text: a.inspectionItem, |
| | | value: a.inspectionItem, |
| | | }); |
| | | }); |
| | | res.data.items.forEach((a) => { |
| | | if (a != null) { |
| | | this.filters1.push({ |
| | | text: a.inspectionItemSubclass, |
| | | value: a.inspectionItemSubclass, |
| | | }); |
| | | } |
| | | }).then((res) => { |
| | | this.filters0 = []; |
| | | this.filters1 = []; |
| | | res.data.item.forEach((a) => { |
| | | this.filters0.push({ |
| | | text: a.inspectionItem, |
| | | value: a.inspectionItem, |
| | | }); |
| | | }); |
| | | res.data.items.forEach((a) => { |
| | | if (a != null) { |
| | | this.filters1.push({ |
| | | text: a.inspectionItemSubclass, |
| | | value: a.inspectionItemSubclass, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | beforeUpload(file, fileList) { |
| | | if ( |
| | |
| | | resetTreeOfHour({ |
| | | tree: this.selectTree, |
| | | standardId: this.standardId, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | return; |
| | | } |
| | | this.$message.success("已清空"); |
| | | this.currentPage0 = 1; |
| | | this.getList(); |
| | | this.rowClick({ |
| | | id: this.standardId, |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | return; |
| | | } |
| | | this.$message.success("已清空"); |
| | | this.currentPage0 = 1; |
| | | this.getList(); |
| | | this.rowClick({ |
| | | id: this.standardId, |
| | | }); |
| | | }); |
| | | } |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |