| | |
| | | <splitpanes class="default-theme"> |
| | | <pane size="20"> |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input v-model="search" clearable placeholder="输入关键字进行搜索" size="small" style="margin-bottom: 5px" |
| | | suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | </el-col> |
| | | <el-col v-if="checkPermi(['standard:standardLibrary:add'])" :span="4" |
| | | style="text-align: center; line-height: 30px"> |
| | | <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="addDia = true"></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree ref="tree" v-loading="treeLoad" :allow-drop="allowDrop" :data="list" |
| | | :default-expanded-keys="expandedKeys" :draggable="true" :filter-node-method="filterNode" |
| | | :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" style=" |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input v-model="search" clearable placeholder="输入关键字进行搜索" size="small" style="margin-bottom: 5px" |
| | | suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | </el-col> |
| | | <el-col v-if="checkPermi(['standard:standardLibrary:add'])" :span="4" |
| | | style="text-align: center; line-height: 30px"> |
| | | <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="addDia = true"></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree ref="tree" v-loading="treeLoad" :allow-drop="allowDrop" :data="list" |
| | | :default-expanded-keys="expandedKeys" :draggable="true" :filter-node-method="filterNode" |
| | | :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" style=" |
| | | height: calc(100% - 30px); |
| | | overflow-y: scroll; |
| | | scrollbar-width: none; |
| | | " @node-click="handleNodeClick" |
| | | @node-drop="handleDrop"> |
| | | <div slot-scope="{ node, data }" class="custom-tree-node" style="width: calc(100% - 15px)"> |
| | | <div :title="data.label" style="display: flex;align-items: center;flex-wrap: nowrap;flex-direction: row;justify-content: space-between;"> |
| | | <div style="width: calc(100% - 50px);white-space: nowrap;text-overflow: ellipsis;" |
| | | :style="`overflow:${(node.data.children === null || node.data.children === undefined)?'clip':'visible'}`" |
| | | > |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`"></i> |
| | | {{data.label}} |
| | | " @node-click="handleNodeClick" @node-drop="handleDrop"> |
| | | <div slot-scope="{ node, data }" class="custom-tree-node" style="width: calc(100% - 15px)"> |
| | | <div :title="data.label" |
| | | style="display: flex;align-items: center;flex-wrap: nowrap;flex-direction: row;justify-content: space-between;"> |
| | | <div style="width: calc(100% - 50px);white-space: nowrap;text-overflow: ellipsis;" |
| | | :style="`overflow:${(node.data.children === null || node.data.children === undefined) ? 'clip' : 'visible'}`"> |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`"></i> |
| | | {{ data.label }} |
| | | </div> |
| | | <div v-if="(node.data.children === null || node.data.children === undefined)" style="width:50px"> |
| | | <el-button v-if="checkPermi(['standard:standardLibrary:delStandardTree'])" size="mini" type="text" |
| | | @click.stop="editTreeName(node.data)"> |
| | | <i class="el-icon-edit"></i> |
| | | </el-button> |
| | | <el-button style="margin-left: 0" size="mini" |
| | | v-if="checkPermi(['standard:standardLibrary:delStandardTree'])" type="text" |
| | | @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="(node.data.children === null || node.data.children === undefined)" style="width:50px"> |
| | | <el-button v-if="checkPermi(['standard:standardLibrary:delStandardTree'])" size="mini" type="text" @click.stop="editTreeName(node.data)"> |
| | | <i class="el-icon-edit"></i> |
| | | </el-button> |
| | | <el-button style="margin-left: 0" size="mini" v-if="checkPermi(['standard:standardLibrary:delStandardTree'])" type="text" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | </pane> |
| | | <pane size="80"> |
| | | <div class="right"> |
| | | <el-row class="title" style="width: 100%"> |
| | | <el-col :span="20" style="font-size: 14px; color: #999">{{ |
| | | selectTree |
| | | }}</el-col> |
| | | <el-col :span="4"> |
| | | <el-button v-if="isShowCopy" size="small" style="position: absolute; right: 20px; top: 1px" type="primary" |
| | | @click="openCopyDia">批量复制</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-loading="tableLoad" class="standard_table"> |
| | | <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" height="220" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border |
| | | highlight-current-row style="width: 100%; height: 220px !important" tooltip-effect="dark" |
| | | @row-click="rowClick"> |
| | | <el-table-column label="标准编号" prop="code" 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 label="标准名称" prop="name" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row v-loading="tableLoad2" class="product_table"> |
| | | <el-table id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border |
| | | :fit="true" :row-class-name="tableRowClassName" class="productTable" |
| | | header-row-class-name="header-class" height="100%" row-key="id" stripe style="width: 100%" |
| | | tooltip-effect="dark" @select="upProductSelect" @selection-change="handleSelectionChange" |
| | | @select-all="handleAll"> |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项" min-width="140" prop="inspectionItem" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项子项" min-width="140" prop="inspectionItemSubclass" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="子实验室" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column> |
| | | <el-table-column label="要求值" min-width="200px" prop="ask"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求值" size="small" |
| | | type="textarea" @change="(value) => upStandardProductList(value, scope.row.id)"></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="要求描述" min-width="220px" prop="tell"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求描述" |
| | | size="small" type="textarea" @change="(value) => upStandardProductListOfTell(value, scope.row.id) |
| | | "></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="试验方法" prop="method" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.methodS" clearable placeholder="试验方法" size="small" @change="(value) => upStandardProductListOfMethodS(value, scope.row.id) |
| | | "> |
| | | <el-option v-for="(a, i) in scope.row.method && |
| | | 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 label="条件" min-width="140" prop="radius" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <el-select v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.radius" clearable placeholder="条件" size="small" @change="(value) => upStandardProductListOfRadius(value, scope.row.id) |
| | | "> |
| | | <el-option v-for="(a, i) in scope.row.radiusList && |
| | | JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option> |
| | | </el-select> |
| | | <span v-else>{{ scope.row.radius }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="计量单位" prop="unit" show-overflow-tooltip width="100"></el-table-column> |
| | | <el-table-column label="单价(元)" prop="price" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.price" placeholder="单价(元)" size="small" @change="(value) => upStandardProductListOfPrice(value, scope.row.id) |
| | | "> |
| | | </el-input> |
| | | <span v-else>{{ scope.row.price }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时系数" prop="manHour" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.manHour" placeholder="单价(元)" size="small" @change="(value) => upStandardProductListOfManHour(value, scope.row.id) |
| | | "> |
| | | </el-input> |
| | | <span v-else>{{ scope.row.manHour }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时分组" prop="manHourGroup" show-overflow-tooltip width="100"></el-table-column> |
| | | <el-table-column label="模板" prop="templateId" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.templateId" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " filterable size="small" @change="(value) => |
| | | upStandardProductListOfTemplate(value, scope.row.id) |
| | | <el-row class="title" style="width: 100%"> |
| | | <el-col :span="20" style="font-size: 14px; color: #999">{{ |
| | | displaySelectTree |
| | | }}</el-col> |
| | | <el-col :span="4"> |
| | | <el-button v-if="isShowCopy" size="small" style="position: absolute; right: 20px; top: 1px" type="primary" |
| | | @click="openCopyDia">批量复制</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-loading="tableLoad" class="standard_table"> |
| | | <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" |
| | | height="220" :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border highlight-current-row |
| | | style="width: 100%; height: 220px !important" tooltip-effect="dark" @row-click="rowClick"> |
| | | <el-table-column label="标准编号" prop="code" 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 label="标准名称" prop="name" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row v-loading="tableLoad2" class="product_table"> |
| | | <el-table id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :fit="true" |
| | | :row-class-name="tableRowClassName" class="productTable" header-row-class-name="header-class" |
| | | height="100%" row-key="id" stripe style="width: 100%" tooltip-effect="dark" @select="upProductSelect" |
| | | @selection-change="handleSelectionChange" @select-all="handleAll"> |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项" min-width="140" prop="inspectionItem" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项子项" min-width="140" prop="inspectionItemSubclass" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="子实验室" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column> |
| | | <el-table-column label="要求值" min-width="200px" prop="ask"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求值" |
| | | size="small" type="textarea" |
| | | @change="(value) => upStandardProductList(value, scope.row.id)"></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="要求描述" min-width="220px" prop="tell"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求描述" |
| | | size="small" type="textarea" @change="(value) => upStandardProductListOfTell(value, scope.row.id) |
| | | "></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="试验方法" prop="method" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.methodS" clearable placeholder="试验方法" size="small" @change="(value) => upStandardProductListOfMethodS(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 label="区间" prop="section" show-overflow-tooltip width="120"></el-table-column> |
| | | <el-table-column label="操作" prop="section" width="160"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="sectionUp(scope.row)" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | ">区间设置</el-button> |
| | | <el-button type="text" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " @click="bindSupplierDensitySecond(scope.row)">绑定厂家</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- <el-pagination :current-page="currentPage" :page-size="300" :total="total" layout="total" |
| | | <el-option v-for="(a, i) in scope.row.method && |
| | | 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 label="条件" min-width="140" prop="radius" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <el-select v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.radius" clearable placeholder="条件" size="small" @change="(value) => upStandardProductListOfRadius(value, scope.row.id) |
| | | "> |
| | | <el-option v-for="(a, i) in scope.row.radiusList && |
| | | JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option> |
| | | </el-select> |
| | | <span v-else>{{ scope.row.radius }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="计量单位" prop="unit" show-overflow-tooltip width="100"></el-table-column> |
| | | <el-table-column label="单价(元)" prop="price" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.price" placeholder="单价(元)" size="small" @change="(value) => upStandardProductListOfPrice(value, scope.row.id) |
| | | "> |
| | | </el-input> |
| | | <span v-else>{{ scope.row.price }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时系数" prop="manHour" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | | checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " v-model="scope.row.manHour" placeholder="单价(元)" size="small" @change="(value) => upStandardProductListOfManHour(value, scope.row.id) |
| | | "> |
| | | </el-input> |
| | | <span v-else>{{ scope.row.manHour }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时分组" prop="manHourGroup" show-overflow-tooltip width="100"></el-table-column> |
| | | <el-table-column label="模板" prop="templateId" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.templateId" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " filterable size="small" @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 label="区间" prop="section" show-overflow-tooltip width="120"></el-table-column> |
| | | <el-table-column label="操作" prop="section" width="160"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="sectionUp(scope.row)" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | ">区间设置</el-button> |
| | | <el-button type="text" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) |
| | | " @click="bindSupplierDensitySecond(scope.row)">绑定厂家</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- <el-pagination :current-page="currentPage" :page-size="300" :total="total" layout="total" |
| | | style="position: absolute; right: 16px; bottom: 1px" @current-change="handleCurrentChange"> |
| | | </el-pagination> --> |
| | | <p style="text-align: right;margin-right: 20px;color: #333;">共{{ total }}条</p> |
| | | </el-row> |
| | | </div> |
| | | <p style="text-align: right;margin-right: 20px;color: #333;">共{{ total }}条</p> |
| | | </el-row> |
| | | </div> |
| | | </pane> |
| | | </splitpanes> |
| | | |
| | |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="sectionUpDia" title="区间设置" width="80%"> |
| | | <div class="body" style="padding: 5px 0"> |
| | | <el-table :data="sectionList" border height="350px" style="width: 100%" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"> |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"> |
| | | <el-table-column align="center" label="序号" type="index" width="70"> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="区间"> |
| | |
| | | @closeBindPartDialog="closeBindSupplierDensityDialog"> |
| | | </bindSupplierDensityDialogAsk> |
| | | <BatchCopy v-if="batchCopyDia" ref="BatchCopy" :selectTree1="selectTree" :standardId="standardId" |
| | | @refreshList="refreshList"></BatchCopy> |
| | | @refreshList="refreshList" @close="batchCopyDia = false"></BatchCopy> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | moreSelects: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | displaySelectTree() { |
| | | if (!this.selectTree) return ""; |
| | | return this.selectTree |
| | | .split(" - ") |
| | | .filter((item) => item !== "null") |
| | | .join(" - "); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.selectEnumByCategoryForFactory(); |
| | | this.selectStandardTreeList(); |
| | |
| | | } |
| | | }, |
| | | // 调用tree过滤方法 中文英过滤 |
| | | filterNode (value, data, node) { |
| | | filterNode(value, data, node) { |
| | | if (!value) { //如果数据为空,则返回true,显示所有的数据项 |
| | | return true |
| | | } |
| | |
| | | return this.chooseNode(val, data, node) // 调用过滤二层方法 |
| | | }, |
| | | // 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符. |
| | | chooseNode (value, data, node) { |
| | | chooseNode(value, data, node) { |
| | | if (data.label.indexOf(value) !== -1) { |
| | | return true |
| | | } |
| | |
| | | let data = this.selectTree.split(" - "); |
| | | let data2 = ""; |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | if (data[index] && data[index] !== 'null') { |
| | | data2 += " - " + data[index]; |
| | | } |
| | | data2 += " - " + data[index]; |
| | | } |
| | | this.selectTree = data2.replace(" - ", ""); |
| | | if (node.childNodes.length === 0) { |
| | |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | this.selectTree += " - " + val.label; |
| | | if (val.data.children === null) { |
| | | this.selectTree += " - " + val.label + " - " + "null"; |
| | | } else { |
| | | this.selectTree += " - " + val.label; |
| | | } |
| | | this.getNodeParent(val.parent); |
| | | } |
| | | }, |