| | |
| | | <style scoped> |
| | | .standard { |
| | | padding: 20px 0; |
| | | display: flex; |
| | | } |
| | | .standard { |
| | | padding: 20px 0; |
| | | display: flex; |
| | | } |
| | | |
| | | .left { |
| | | width: 270px; |
| | | height: calc(100% - 40px - 30px); |
| | | background-color: white; |
| | | padding: 15px; |
| | | } |
| | | .left { |
| | | width: 270px; |
| | | height: calc(100% - 40px - 30px); |
| | | background-color: white; |
| | | padding: 15px; |
| | | } |
| | | |
| | | .custom-tree-node { |
| | | width: 100%; |
| | | line-height: 32px; |
| | | } |
| | | .custom-tree-node { |
| | | width: 100%; |
| | | line-height: 32px; |
| | | } |
| | | |
| | | .custom-tree-node .el-icon-delete { |
| | | color: #3A7BFA; |
| | | opacity: 0; |
| | | font-size: 18px; |
| | | } |
| | | .custom-tree-node .el-icon-delete { |
| | | color: #3A7BFA; |
| | | opacity: 0; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | opacity: 1; |
| | | } |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | opacity: 1; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | font-size: 18px; |
| | | } |
| | | .node_i { |
| | | color: orange; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .right { |
| | | margin-left: 5px; |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 40px); |
| | | } |
| | | .right { |
| | | margin-left: 5px; |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 40px); |
| | | } |
| | | |
| | | .right .title { |
| | | height: 50px; |
| | | line-height: 50px; |
| | | padding: 0 10px; |
| | | background-color: white; |
| | | } |
| | | .right .title { |
| | | height: 50px; |
| | | line-height: 50px; |
| | | padding: 0 10px; |
| | | background-color: white; |
| | | } |
| | | |
| | | .standard_table { |
| | | border-top: 1px solid #ebeef5; |
| | | background-color: white; |
| | | } |
| | | .standard_table { |
| | | border-top: 1px solid #ebeef5; |
| | | background-color: white; |
| | | } |
| | | |
| | | .product_table { |
| | | border-top: 1px solid #ebeef5; |
| | | height: calc(100% - 275px); |
| | | margin-top: 5px; |
| | | background-color: white; |
| | | user-select: none; |
| | | } |
| | | .product_table { |
| | | border-top: 1px solid #ebeef5; |
| | | height: calc(100% - 275px); |
| | | margin-top: 5px; |
| | | background-color: white; |
| | | user-select: none; |
| | | } |
| | | |
| | | .product_table .el-table { |
| | | height: 100%; |
| | | } |
| | | .sort{ |
| | | .product_table .el-table { |
| | | height: 100%; |
| | | } |
| | | |
| | | .sort { |
| | | width: 80% !important; |
| | | overflow: hidden; |
| | | } |
| | | </style> |
| | | <style> |
| | | .standard .el-tree-node__content { |
| | | height: 32px; |
| | | font-size: 14px; |
| | | border-radius: 2px; |
| | | } |
| | | .standard .el-tree-node__content { |
| | | height: 32px; |
| | | font-size: 14px; |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | color: #3A7BFA; |
| | | } |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | color: #3A7BFA; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell .cell { |
| | | line-height: 38px; |
| | | background-color: #f8f8f8; |
| | | } |
| | | .standard .has-gutter .el-table__cell .cell { |
| | | line-height: 38px; |
| | | background-color: #f8f8f8; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell { |
| | | background-color: #fafafa !important; |
| | | } |
| | | .standard .has-gutter .el-table__cell { |
| | | background-color: #fafafa !important; |
| | | } |
| | | |
| | | .standard .standard_table .el-table__row .cell { |
| | | font-size: 14px; |
| | | } |
| | | .standard .standard_table .el-table__row .cell { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .standard .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | } |
| | | .standard .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="standard"> |
| | | <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-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> |
| | | </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 @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" |
| | | <div class="standard"> |
| | | <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-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> |
| | | </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 @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" 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}"> |
| | | <span><i |
| | | :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.code }} {{ data.label }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree"> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | <el-row class="title"> |
| | | <el-col :span="24" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <!-- <el-col :span="selectTree==''?24:14" style="text-align: right;" v-if="selectTree!=''"> --> |
| | | <!-- <el-button size="small" type="primary" @click="addStandardDia = true" |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%;"> |
| | | <el-col :span="21" :class="{sort:node.level>3}"> |
| | | <span><i |
| | | :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.code }} {{ data.label }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree"> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | <el-row class="title"> |
| | | <el-col :span="24" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <!-- <el-col :span="selectTree==''?24:14" style="text-align: right;" v-if="selectTree!=''"> --> |
| | | <!-- <el-button size="small" type="primary" @click="addStandardDia = true" |
| | | v-if="addStandardMethod">新增标准</el-button> |
| | | <el-button size="small" type="primary" @click="addProductDia = true" v-if="addStandardProduct">新增项目</el-button> |
| | | <el-button size="small" @click="delStandardProductByIds" v-if="delStandardProduct"> |
| | | <i class="el-icon-delete" style="color: #3A7BFA;"></i> |
| | | <span style="color: #3A7BFA;">删除</span> |
| | | </el-button> --> |
| | | <!-- </el-col> --> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;" height="220px" tooltip-effect="dark" |
| | | highlight-current-row @row-click="rowClick" ref="standard"> |
| | | <el-table-column prop="code" label="标准编号" show-overflow-tooltip> |
| | | <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="createUserName" label="创建人"></el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" width="250px"></el-table-column> |
| | | <!-- <el-table-column label="操作" width="100" align="center" v-if="delStandardMethod"> |
| | | <!-- </el-col> --> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;" height="220px" tooltip-effect="dark" |
| | | highlight-current-row @row-click="rowClick" ref="standard"> |
| | | <el-table-column prop="code" label="标准编号" show-overflow-tooltip> |
| | | <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="createUserName" label="创建人"></el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" width="250px"></el-table-column> |
| | | <!-- <el-table-column label="操作" width="100" align="center" v-if="delStandardMethod"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="delStandardMethodByFLSSM(scope.row.id)">删除</el-button> |
| | | </template> |
| | | </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"> |
| | | <el-table-column type="selection" width="65"> |
| | | </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="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> |
| | | <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> |
| | | <span v-else>{{scope.row.ask}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="method" label="试验方法" width="200"> |
| | | </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"> |
| | | <el-table-column type="selection" width="65"> |
| | | </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 :filters="filters" |
| | | :filter-method="filterHandler"></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> |
| | | <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> |
| | | <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"> |
| | | @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="price" label="单价(元)" width="90" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="manHour" label="工时(H)" width="90" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="manHourGroup" label="工时分组" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="deviceGroup" 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-row> |
| | | </div> |
| | | <el-dialog title="分类添加" :visible.sync="addDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>工厂: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.factory" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in factory" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>实验室: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.laboratory" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in laboratory" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>样品大类: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.sampleType" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in sampleType" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>样品名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.sample" placeholder="请输入样品名称" clearable size="small"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | 型号: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.model" placeholder="请输入型号" clearable size="small"></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> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="新增标准" :visible.sync="addStandardDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>标准名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="standardId" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in standardEnum" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addStandardDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardMethodList" :loading="addLoad2">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="新增项目" :visible.sync="addProductDia" width="70%"> |
| | | <div class="body" style="height: 60vh;" v-if="addProductDia"> |
| | | <ValueTable ref="ValueTable" :url="$api.capacityScope.selectItemParameterList" :componentData="componentData" /> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addProductDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价(元)" width="90" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="manHour" label="工时(H)" width="90" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="manHourGroup" label="工时分组" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="deviceGroup" 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-row> |
| | | </div> |
| | | <el-dialog title="分类添加" :visible.sync="addDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>工厂: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.factory" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in factory" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>实验室: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.laboratory" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in laboratory" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>样品大类: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.sampleType" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in sampleType" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>样品名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.sample" placeholder="请输入样品名称" clearable size="small"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | 型号: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.model" placeholder="请输入型号" clearable size="small"></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> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="新增标准" :visible.sync="addStandardDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>标准名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="standardId" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in standardEnum" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addStandardDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardMethodList" :loading="addLoad2">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="新增项目" :visible.sync="addProductDia" width="70%"> |
| | | <div class="body" style="height: 60vh;" v-if="addProductDia"> |
| | | <ValueTable ref="ValueTable" :url="$api.capacityScope.selectItemParameterList" :componentData="componentData" /> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addProductDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data() { |
| | | return { |
| | | search: null, |
| | | list: [], |
| | | selectTree: '', |
| | | factory: [], |
| | | addDia: false, |
| | | addOb: { |
| | | factory: null, |
| | | laboratory: null, |
| | | sampleType: null, |
| | | sample: null, |
| | | model: null |
| | | }, |
| | | laboratory: [], |
| | | addLoad: false, |
| | | sampleType: [], |
| | | sample: [], |
| | | treeLoad: false, |
| | | addPower: false, |
| | | standardList: [], |
| | | standardEnum: [], |
| | | addStandardDia: false, |
| | | standardId: null, |
| | | addStandardMethod: true, |
| | | addLoad2: false, |
| | | productList: [], |
| | | tableLoad: false, |
| | | tableLoad2: false, |
| | | upStandardProduct: false, |
| | | delStandardMethod: false, |
| | | selects: [], |
| | | delStandardProduct: false, |
| | | addProductDia: false, |
| | | productId: null, |
| | | addStandardProduct: false, |
| | | addLoad3: false, |
| | | productEnum: [], |
| | | componentData: { |
| | | entity: { |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: true, |
| | | select: true, |
| | | do: [], |
| | | tagField: { |
| | | inspectionItemType: { |
| | | select: [] |
| | | }, |
| | | valueType: { |
| | | select: [] |
| | | }, |
| | | bsm: { |
| | | select: [] |
| | | }, |
| | | inspectionValueType: { |
| | | select: [] |
| | | }, |
| | | deviceGroup: { |
| | | select: [] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | }, |
| | | expandedKeys: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getPower() |
| | | this.selectEnumByCategoryForFactory() |
| | | this.selectStandardTreeList() |
| | | this.obtainItemParameterList() |
| | | // this.selectEnumByCategoryForsampleType() |
| | | this.selectTestObjectByName() |
| | | this.selectStandardMethods() |
| | | this.selectEnumByCategoryForDevice() |
| | | this.selectEnumByCategory() |
| | | this.selectEnumByCategoryForValue() |
| | | this.selectEnumByCategoryForSpecial() |
| | | this.selectEnumByCategoryForInspectionValueType() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | searchFilter() { |
| | | this.$refs.tree.filter(this.search) |
| | | }, |
| | | refresh() { |
| | | this.upIndex++ |
| | | }, |
| | | handleNodeClick(val, node, el) { //树的值 |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | this.selectsStandardMethodByFLSSM() |
| | | let trees = this.selectTree.split(" - ") |
| | | this.addOb.factory = trees[0] |
| | | this.addOb.laboratory = trees[1] |
| | | this.addOb.sampleType = trees[2] |
| | | this.addOb.sample = trees[3] |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | this.selectTree += ' - ' + val.label |
| | | this.getNodeParent(val.parent) |
| | | } |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("是否删除该层级", "提示", { |
| | | type: "error" |
| | | }).then(() => { |
| | | this.treeLoad = true |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | this.$axios.post(this.$api.standardTree.delStandardTree, { |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('已删除') |
| | | this.selectStandardTreeList() |
| | | this.selectTree = '' |
| | | this.standardList = [] |
| | | this.productList = [] |
| | | }) |
| | | }).catch(e => {}) |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | selectEnumByCategoryForFactory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "工厂" |
| | | }).then(res => { |
| | | this.factory = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForsampleType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "样品大类" |
| | | }).then(res => { |
| | | this.sampleType = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForDevice() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "设备分类" |
| | | }).then(res => { |
| | | this.componentData.tagField.deviceGroup.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "检验项类型" |
| | | }).then(res => { |
| | | res.data[1].type = 'info' |
| | | this.componentData.tagField.inspectionItemType.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForValue() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "取值类型" |
| | | }).then(res => { |
| | | this.componentData.tagField.valueType.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForSpecial() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "是否" |
| | | }).then(res => { |
| | | this.componentData.tagField.bsm.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForInspectionValueType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "检验值类型" |
| | | }).then(res => { |
| | | this.componentData.tagField.inspectionValueType.select = res.data |
| | | }) |
| | | }, |
| | | selectStandardTreeList() { |
| | | this.treeLoad = true |
| | | this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => { |
| | | this.list = res.data |
| | | this.list.forEach(a => { |
| | | a.children.forEach(b => { |
| | | b.children.forEach(c => { |
| | | this.expandedKeys.push(c.label) |
| | | }) |
| | | // this.expandedKeys.push(b.label) |
| | | }) |
| | | }) |
| | | this.treeLoad = false |
| | | }) |
| | | }, |
| | | obtainItemParameterList() { |
| | | this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.laboratoryName |
| | | }) |
| | | }) |
| | | this.laboratory = data |
| | | }) |
| | | }, |
| | | selectTestObjectByName() { |
| | | this.$axios.get(this.$api.capacityScope.selectTestObjectByName).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.specimenName, |
| | | value: a.specimenName |
| | | }) |
| | | }) |
| | | this.sampleType = data |
| | | }) |
| | | }, |
| | | selectStandardMethods() { |
| | | this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.standardEnum = data |
| | | }) |
| | | }, |
| | | addStandardMethodList() { |
| | | if (this.standardId == null || this.standardId == '') { |
| | | this.$message.error('标准方法未选择') |
| | | return |
| | | } |
| | | this.addLoad2 = true |
| | | this.$axios.post(this.$api.standardTree.addStandardMethodList, { |
| | | standardId: this.standardId, |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | this.addLoad2 = false |
| | | this.addStandardDia = false |
| | | this.$message.success('添加成功') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }, |
| | | addStandardTree() { |
| | | if (this.addOb.factory == null || this.addOb.factory == '') { |
| | | this.$message.error('工厂是必填项') |
| | | return |
| | | } |
| | | if (this.addOb.laboratory == null || this.addOb.laboratory == '') { |
| | | this.$message.error('实验室是必填项') |
| | | return |
| | | } |
| | | if (this.addOb.sampleType == null || this.addOb.sampleType == '') { |
| | | this.$message.error('样品大类是必填项') |
| | | return |
| | | } |
| | | if (this.addOb.sample == null || this.addOb.sample == '') { |
| | | this.$message.error('样品是必填项') |
| | | return |
| | | } |
| | | this.addLoad = true |
| | | this.$axios.post(this.$api.standardTree.addStandardTree, this.addOb, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | this.addLoad = false |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.addDia = false |
| | | this.selectStandardTreeList() |
| | | this.addLoad = false |
| | | }).catch(e => { |
| | | this.addDia = false |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | selectsStandardMethodByFLSSM() { |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | this.tableLoad = false |
| | | this.standardList = res.data.standardMethodList |
| | | if(this.standardList&&this.standardList.length>0){ |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data() { |
| | | return { |
| | | search: null, |
| | | list: [], |
| | | selectTree: '', |
| | | factory: [], |
| | | addDia: false, |
| | | addOb: { |
| | | factory: null, |
| | | laboratory: null, |
| | | sampleType: null, |
| | | sample: null, |
| | | model: null |
| | | }, |
| | | laboratory: [], |
| | | addLoad: false, |
| | | sampleType: [], |
| | | sample: [], |
| | | treeLoad: false, |
| | | addPower: false, |
| | | standardList: [], |
| | | standardEnum: [], |
| | | addStandardDia: false, |
| | | standardId: null, |
| | | addStandardMethod: true, |
| | | addLoad2: false, |
| | | productList: [], |
| | | tableLoad: false, |
| | | tableLoad2: false, |
| | | upStandardProduct: false, |
| | | delStandardMethod: false, |
| | | selects: [], |
| | | delStandardProduct: false, |
| | | addProductDia: false, |
| | | productId: null, |
| | | addStandardProduct: false, |
| | | addLoad3: false, |
| | | productEnum: [], |
| | | componentData: { |
| | | entity: { |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: true, |
| | | select: true, |
| | | do: [], |
| | | tagField: { |
| | | inspectionItemType: { |
| | | select: [] |
| | | }, |
| | | valueType: { |
| | | select: [] |
| | | }, |
| | | bsm: { |
| | | select: [] |
| | | }, |
| | | inspectionValueType: { |
| | | select: [] |
| | | }, |
| | | deviceGroup: { |
| | | select: [] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | }, |
| | | expandedKeys: [], |
| | | filters: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getPower() |
| | | this.selectEnumByCategoryForFactory() |
| | | this.selectStandardTreeList() |
| | | this.obtainItemParameterList() |
| | | // this.selectEnumByCategoryForsampleType() |
| | | this.selectTestObjectByName() |
| | | this.selectStandardMethods() |
| | | this.selectEnumByCategoryForDevice() |
| | | this.selectEnumByCategory() |
| | | this.selectEnumByCategoryForValue() |
| | | this.selectEnumByCategoryForSpecial() |
| | | this.selectEnumByCategoryForInspectionValueType() |
| | | this.selectEnumByCategoryForSonLaboratory() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | searchFilter() { |
| | | this.$refs.tree.filter(this.search) |
| | | }, |
| | | refresh() { |
| | | this.upIndex++ |
| | | }, |
| | | handleNodeClick(val, node, el) { //树的值 |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | this.selectsStandardMethodByFLSSM() |
| | | let trees = this.selectTree.split(" - ") |
| | | this.addOb.factory = trees[0] |
| | | this.addOb.laboratory = trees[1] |
| | | this.addOb.sampleType = trees[2] |
| | | this.addOb.sample = trees[3] |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | this.selectTree += ' - ' + val.label |
| | | this.getNodeParent(val.parent) |
| | | } |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("是否删除该层级", "提示", { |
| | | type: "error" |
| | | }).then(() => { |
| | | this.treeLoad = true |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | this.$axios.post(this.$api.standardTree.delStandardTree, { |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('已删除') |
| | | this.selectStandardTreeList() |
| | | this.selectTree = '' |
| | | this.standardList = [] |
| | | this.productList = [] |
| | | }) |
| | | }).catch(e => {}) |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | selectEnumByCategoryForFactory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "工厂" |
| | | }).then(res => { |
| | | this.factory = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForSonLaboratory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "子实验室" |
| | | }).then(res => { |
| | | this.factory = [] |
| | | res.data.forEach(a=>{ |
| | | this.filters.push({ |
| | | text: a.label, |
| | | value: a.value |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForsampleType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "样品大类" |
| | | }).then(res => { |
| | | this.sampleType = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForDevice() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "设备分类" |
| | | }).then(res => { |
| | | this.componentData.tagField.deviceGroup.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "检验项类型" |
| | | }).then(res => { |
| | | res.data[1].type = 'info' |
| | | this.componentData.tagField.inspectionItemType.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForValue() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "取值类型" |
| | | }).then(res => { |
| | | this.componentData.tagField.valueType.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForSpecial() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "是否" |
| | | }).then(res => { |
| | | this.componentData.tagField.bsm.select = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForInspectionValueType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "检验值类型" |
| | | }).then(res => { |
| | | this.componentData.tagField.inspectionValueType.select = res.data |
| | | }) |
| | | }, |
| | | selectStandardTreeList() { |
| | | this.treeLoad = true |
| | | this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => { |
| | | this.list = res.data |
| | | this.list.forEach(a => { |
| | | a.children.forEach(b => { |
| | | b.children.forEach(c => { |
| | | this.expandedKeys.push(c.label) |
| | | }) |
| | | // this.expandedKeys.push(b.label) |
| | | }) |
| | | }) |
| | | this.treeLoad = false |
| | | }) |
| | | }, |
| | | obtainItemParameterList() { |
| | | this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.laboratoryName |
| | | }) |
| | | }) |
| | | this.laboratory = data |
| | | }) |
| | | }, |
| | | selectTestObjectByName() { |
| | | this.$axios.get(this.$api.capacityScope.selectTestObjectByName).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.specimenName, |
| | | value: a.specimenName |
| | | }) |
| | | }) |
| | | this.sampleType = data |
| | | }) |
| | | }, |
| | | selectStandardMethods() { |
| | | this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.standardEnum = data |
| | | }) |
| | | }, |
| | | addStandardMethodList() { |
| | | if (this.standardId == null || this.standardId == '') { |
| | | this.$message.error('标准方法未选择') |
| | | return |
| | | } |
| | | this.addLoad2 = true |
| | | this.$axios.post(this.$api.standardTree.addStandardMethodList, { |
| | | standardId: this.standardId, |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | this.addLoad2 = false |
| | | this.addStandardDia = false |
| | | this.$message.success('添加成功') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }, |
| | | addStandardTree() { |
| | | if (this.addOb.factory == null || this.addOb.factory == '') { |
| | | this.$message.error('工厂是必填项') |
| | | return |
| | | } |
| | | if (this.addOb.laboratory == null || this.addOb.laboratory == '') { |
| | | this.$message.error('实验室是必填项') |
| | | return |
| | | } |
| | | if (this.addOb.sampleType == null || this.addOb.sampleType == '') { |
| | | this.$message.error('样品大类是必填项') |
| | | return |
| | | } |
| | | if (this.addOb.sample == null || this.addOb.sample == '') { |
| | | this.$message.error('样品是必填项') |
| | | return |
| | | } |
| | | this.addLoad = true |
| | | this.$axios.post(this.$api.standardTree.addStandardTree, this.addOb, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | this.addLoad = false |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.addDia = false |
| | | this.selectStandardTreeList() |
| | | this.addLoad = false |
| | | }).catch(e => { |
| | | this.addDia = false |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | selectsStandardMethodByFLSSM() { |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.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{ |
| | | } else { |
| | | this.productList = []; |
| | | } |
| | | }) |
| | | }, |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let add = false |
| | | let addStandardMethod = false |
| | | let upStandardProduct = false |
| | | let delStandardMethod = false |
| | | let delStandardProduct = false |
| | | let addStandardProduct = false |
| | | let delStandardTree = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'addStandardTree') { |
| | | add = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardMethodList') { |
| | | addStandardMethod = true |
| | | } |
| | | if (power[i].menuMethod == 'upStandardProductList') { |
| | | upStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardMethodByFLSSM') { |
| | | delStandardMethod = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardProductByIds') { |
| | | delStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardProduct') { |
| | | addStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardTree') { |
| | | delStandardTree = true |
| | | } |
| | | } |
| | | this.addPower = add |
| | | this.addStandardMethod = addStandardMethod |
| | | this.upStandardProduct = upStandardProduct |
| | | this.delStandardMethod = delStandardMethod |
| | | this.delStandardProduct = delStandardProduct |
| | | this.addStandardProduct = addStandardProduct |
| | | this.delStandardTree = delStandardTree |
| | | }, |
| | | upStandardProductList(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | ask: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | upStandardProductListOfTell(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | tell: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | upStandardProductListOfMethodS(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | methodS: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }) |
| | | }, |
| | | delStandardMethodByFLSSM(id) { |
| | | this.$confirm('是否删除当前数据?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.delStandardMethodByFLSSM, { |
| | | id: id |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('已删除') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }).catch(() => {}) |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = [] |
| | | val.forEach(a => { |
| | | this.selects.push(a.id) |
| | | }) |
| | | }, |
| | | delStandardProductByIds() { |
| | | if (this.selects.length == 0) { |
| | | this.$message.error('未选中数据') |
| | | return |
| | | } |
| | | this.$confirm('是否删除当前选中 ' + this.selects.length + ' 条数据?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.delStandardProductByIds, { |
| | | ids: JSON.stringify(this.selects) |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('已删除') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }).catch(() => {}) |
| | | }, |
| | | addStandardProductDo() { |
| | | let selects = this.$refs.ValueTable.multipleSelection |
| | | if (selects.length == 0) { |
| | | this.$message.error('未选择数据') |
| | | return |
| | | } |
| | | let select = [] |
| | | selects.forEach(a => { |
| | | select.push(a.id) |
| | | }) |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.addStandardProduct, { |
| | | ids: JSON.stringify(select), |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | this.addProductDia = false |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.tableLoad2 = true |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { |
| | | id: row.id |
| | | }).then(res => { |
| | | this.productList = res.data |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 300) |
| | | this.tableLoad2 = false |
| | | }) |
| | | }, |
| | | toggleSelection(row) { |
| | | this.$refs.productTable.toggleRowSelection(row, true); |
| | | }, |
| | | tableRowClassName({ |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | if (row.state === 0) { |
| | | return 'warning-row'; |
| | | } |
| | | return ''; |
| | | }, |
| | | upProductSelect(selection, row) { |
| | | row.state = row.state == 1 ? 0 : 1 |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: row.id, |
| | | state: row.state |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let add = false |
| | | let addStandardMethod = false |
| | | let upStandardProduct = false |
| | | let delStandardMethod = false |
| | | let delStandardProduct = false |
| | | let addStandardProduct = false |
| | | let delStandardTree = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'addStandardTree') { |
| | | add = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardMethodList') { |
| | | addStandardMethod = true |
| | | } |
| | | if (power[i].menuMethod == 'upStandardProductList') { |
| | | upStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardMethodByFLSSM') { |
| | | delStandardMethod = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardProductByIds') { |
| | | delStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardProduct') { |
| | | addStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardTree') { |
| | | delStandardTree = true |
| | | } |
| | | } |
| | | this.addPower = add |
| | | this.addStandardMethod = addStandardMethod |
| | | this.upStandardProduct = upStandardProduct |
| | | this.delStandardMethod = delStandardMethod |
| | | this.delStandardProduct = delStandardProduct |
| | | this.addStandardProduct = addStandardProduct |
| | | this.delStandardTree = delStandardTree |
| | | }, |
| | | upStandardProductList(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | ask: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | upStandardProductListOfTell(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | tell: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | upStandardProductListOfMethodS(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | methodS: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | delStandardMethodByFLSSM(id) { |
| | | this.$confirm('是否删除当前数据?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.delStandardMethodByFLSSM, { |
| | | id: id |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('已删除') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }).catch(() => {}) |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = [] |
| | | val.forEach(a => { |
| | | this.selects.push(a.id) |
| | | }) |
| | | }, |
| | | delStandardProductByIds() { |
| | | if (this.selects.length == 0) { |
| | | this.$message.error('未选中数据') |
| | | return |
| | | } |
| | | this.$confirm('是否删除当前选中 ' + this.selects.length + ' 条数据?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.delStandardProductByIds, { |
| | | ids: JSON.stringify(this.selects) |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('已删除') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }).catch(() => {}) |
| | | }, |
| | | addStandardProductDo() { |
| | | let selects = this.$refs.ValueTable.multipleSelection |
| | | if (selects.length == 0) { |
| | | this.$message.error('未选择数据') |
| | | return |
| | | } |
| | | let select = [] |
| | | selects.forEach(a => { |
| | | select.push(a.id) |
| | | }) |
| | | this.tableLoad = true |
| | | this.$axios.post(this.$api.standardTree.addStandardProduct, { |
| | | ids: JSON.stringify(select), |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | this.addProductDia = false |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.tableLoad2 = true |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { |
| | | id: row.id |
| | | }).then(res => { |
| | | this.productList = res.data |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 300) |
| | | this.tableLoad2 = false |
| | | }) |
| | | }, |
| | | toggleSelection(row) { |
| | | this.$refs.productTable.toggleRowSelection(row, true); |
| | | }, |
| | | tableRowClassName({ |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | if (row.state === 0) { |
| | | return 'warning-row'; |
| | | } |
| | | return ''; |
| | | }, |
| | | upProductSelect(selection, row) { |
| | | row.state = row.state == 1 ? 0 : 1 |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: row.id, |
| | | state: row.state |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | filterHandler(value, row, column) { |
| | | const property = column['property']; |
| | | return row[property] === value; |
| | | } |
| | | } |
| | | } |
| | | </script> |