From c34fe6f588045e527bccfd4c67b9764b2a141ea2 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期三, 26 二月 2025 15:24:41 +0800 Subject: [PATCH] 设施和环境条件代码迁移 --- src/views/standard/standardLibrary/index.vue | 1121 +++++++--------------------------------------------------- 1 files changed, 144 insertions(+), 977 deletions(-) diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue index 6314cb0..180ad2c 100644 --- a/src/views/standard/standardLibrary/index.vue +++ b/src/views/standard/standardLibrary/index.vue @@ -1,7 +1,8 @@ <style scoped> .standard { - padding: 10px 0; + padding-top: 10px; display: flex; + height: calc(100vh - 90px); } .left { @@ -43,7 +44,7 @@ .right { margin-left: 5px; - width: calc(100% - 365px); + width: calc(100% - 350px); height: calc(100% - 40px); } @@ -76,21 +77,21 @@ 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; } @@ -124,11 +125,13 @@ right: 70px; } ->>> .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: 14px; + /* 璁剧疆婊氬姩鏉″搴� */ } </style> <style> @@ -138,10 +141,7 @@ 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; } @@ -192,104 +192,49 @@ <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-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="addPower" - :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 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-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-expand="nodeOpen" - @node-collapse="nodeClose" - @node-drop="handleDrop" - > + " @node-click="handleNodeClick" @node-expand="nodeOpen" @node-collapse="nodeClose" @node-drop="handleDrop"> <div slot-scope="{ node, data }" class="custom-tree-node"> <el-row style="width: 100%"> - <el-col - :class="{ sort: node.level > 3 }" - :span="19" - :title="data.label" - style="text-align: left" - > + <el-col :class="{ sort: node.level > 3 }" :span="19" :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 - v-if=" - checkPermi(['system:standard:delStandardTree']) && - (node.data.children === null || - node.data.children === undefined) - " - :span="2" - style="text-align: right" - > - <el-button - size="mini" - type="text" - @click="editTreeName(node.data)" - > + <el-col v-if=" + checkPermi(['standard:standardLibrary:delStandardTree']) && + (node.data.children === null || + node.data.children === undefined) + " :span="2" style="text-align: right"> + <el-button size="mini" type="text" @click.stop="editTreeName(node.data)"> <i class="el-icon-edit"></i> </el-button> </el-col> - <el-col - v-if=" - checkPermi(['system:standard:delStandardTree']) && - (node.data.children === null || - node.data.children === undefined) - " - :span="2" - style="text-align: right" - > - <el-button - size="mini" - type="text" - @click.stop="remove(node, data)" - > + <el-col v-if=" + checkPermi(['standard:standardLibrary:delStandardTree']) && + (node.data.children === null || + node.data.children === undefined) + " :span="2" style="text-align: right"> + <el-button size="mini" type="text" @click.stop="remove(node, data)"> <i class="el-icon-delete"></i> </el-button> </el-col> @@ -303,285 +248,132 @@ selectTree }}</el-col> <el-col :span="4"> - <el-button - v-if="isShowCopy" - size="small" - style="position: absolute; right: 50px; top: 1px" - type="primary" - @click="openCopyDia" - >鎵归噺澶嶅埗</el-button - > + <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" - 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" - > + <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" height="220" + 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-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" - :fit="true" - :row-class-name="tableRowClassName" - border - 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 id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList" + :fit="true" :row-class-name="tableRowClassName" border 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="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(['system:standard: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> + <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(['system:standard: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> + <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(['system:standard: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 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 - > + <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip> <template slot-scope="scope"> - <el-select - v-if="checkPermi(['system:standard: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 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="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(['system:standard:upStandardProduct'])" - v-model="scope.row.price" - placeholder="鍗曚环(鍏�)" - size="small" - @change=" - (value) => upStandardProductListOfPrice(value, scope.row.id) - " - > + <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(['system:standard:upStandardProduct'])" - v-model="scope.row.manHour" - placeholder="鍗曚环(鍏�)" - size="small" - @change=" - (value) => upStandardProductListOfManHour(value, scope.row.id) - " - > + <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="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(['system:standard: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 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" 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)" - >鍖洪棿璁剧疆</el-button - > - <el-button - type="text" - @click="bindSupplierDensitySecond(scope.row)" - >缁戝畾鍘傚</el-button - > + <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, prev, pager, next, jumper" - style="position: absolute; right: 16px; bottom: 1px" - @current-change="handleCurrentChange" - > - </el-pagination> + <!-- <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> + <el-dialog :visible.sync="addDia" title="鍒嗙被娣诲姞" width="400px"> <div class="body"> <el-row style="line-height: 50px"> @@ -589,21 +381,14 @@ <span class="required-span">* </span>鍨嬪彿锛� </el-col> <el-col :offset="1" :span="16"> - <el-input - v-model="addOb.model" - clearable - placeholder="璇疯緭鍏ュ瀷鍙�" - size="small" - @keyup.enter.native="addStandardTree" - ></el-input> + <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" 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 :loading="addLoad" type="primary" @click="addStandardTree" - >纭� 瀹�</el-button - > + <el-button :loading="addLoad" type="primary" @click="addStandardTree">纭� 瀹�</el-button> </span> </el-dialog> <el-dialog :visible.sync="updateDia" title="鍒嗙被淇敼" width="400px"> @@ -613,395 +398,50 @@ <span class="required-span">* </span>鍨嬪彿锛� </el-col> <el-col :offset="1" :span="16"> - <el-input - v-model="addOb.model" - clearable - placeholder="璇疯緭鍏ュ瀷鍙�" - size="small" - @keyup.enter.native="updateStandardTree" - ></el-input> + <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small" + @keyup.enter.native="updateStandardTree"></el-input> </el-col> </el-row> </div> <span slot="footer" class="dialog-footer"> <el-button @click="updateDia = false">鍙� 娑�</el-button> - <el-button - :loading="updateLoad" - type="primary" - @click="updateStandardTree" - >纭� 瀹�</el-button - > + <el-button :loading="updateLoad" type="primary" @click="updateStandardTree">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog - :visible.sync="moreEdit" - class="more-edit" - title="鎵归噺缂栬緫" - width="90%" - > - <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 :span="16"> - <el-input - v-model="moreInfo.ask" - :disabled="moreSelects.length == 0" - clearable - size="small" - ></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 - v-model="moreInfo.tell" - :autosize="{ minRows: 1, maxRows: 3 }" - :disabled="moreSelects.length == 0" - clearable - size="small" - type="textarea" - ></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"> - <el-select - v-model="moreInfo.methodS" - :disabled="moreSelects.length == 0" - clearable - filterable - size="small" - style="width: 100%" - > - <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 :span="16"> - <el-input - v-model="moreInfo.price" - :disabled="moreSelects.length == 0" - clearable - size="small" - ></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 :span="16"> - <el-input - v-model="moreInfo.manHour" - :disabled="moreSelects.length == 0" - clearable - size="small" - ></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 :span="16"> - <el-select - v-model="moreInfo.templateId" - :disabled="moreSelects.length == 0" - filterable - placeholder="妯℃澘" - size="small" - style="width: 100%" - > - <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" - :disabled="moreSelects.length == 0" - clearable - filterable - placeholder="妯℃澘" - size="small" - style="width: 100%" - > - <el-option :value="1" label="鍚敤"></el-option> - <el-option :value="0" label="涓嶅惎鐢�"></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: end" - > - <el-button size="small" type="danger" @click="clearProduct(1)" - >閲嶇疆鍗曚环</el-button - > - <el-button size="small" type="danger" @click="clearProduct(2)" - >閲嶇疆宸ユ椂绯绘暟</el-button - > - <el-button - size="small" - type="primary" - @click="sectionUp(moreSelects)" - >璁剧疆鍖洪棿</el-button - > - <el-button size="small" @click="moreEdit = false" - >鍙� 娑�</el-button - > - <el-button - :loading="moreEditLoad" - size="small" - type="primary" - @click="subMoreEdit" - >淇� 瀛�</el-button - > - </el-col> - </el-row> - </div> - </div> - <div v-loading="productTableLoading0" style="flex: 1; overflow-y: auto"> - <el-table - ref="productTable0" - :data="productList0" - :fit="true" - :row-key="(row) => row.id" - border - header-row-class-name="header-class" - height="96%" - highlight-current-row - stripe - style="width: 100%" - tooltip-effect="dark" - @select="handleSelectionChange0" - @select-all="handleSelectAll0" - @filter-change="filterHandler" - > - <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 - :filter-multiple="false" - :filters="filters0" - column-key="inspectionItem" - filter-placement="bottom-start" - label="妫�楠岄」" - min-width="140" - prop="inspectionItem" - show-overflow-tooltip - ></el-table-column> - <el-table-column - :filter-multiple="false" - :filters="filters1" - column-key="inspectionItemSubclass" - filter-placement="bottom-start" - label="妫�楠岄」瀛愰」" - min-width="140" - prop="inspectionItemSubclass" - show-overflow-tooltip - ></el-table-column> - <el-table-column - :filter-multiple="false" - :filters="filters" - column-key="sonLaboratory" - filter-placement="bottom-start" - label="瀛愬疄楠屽" - prop="sonLaboratory" - show-overflow-tooltip - width="130" - ></el-table-column> - <el-table-column - label="瑕佹眰鍊�" - min-width="200px" - prop="ask" - ></el-table-column> - <el-table-column - label="瑕佹眰鎻忚堪" - min-width="220px" - prop="tell" - ></el-table-column> - <el-table-column - label="璇曢獙鏂规硶" - prop="methodS" - width="200" - ></el-table-column> - <el-table-column - label="鏉′欢" - prop="radius" - width="200" - ></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" - ></el-table-column> - <el-table-column - label="宸ユ椂绯绘暟" - prop="manHour" - width="120" - ></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"> - {{ - templateList.find((item) => item.id == scope.row.templateId) - ? templateList.find( - (item) => item.id == scope.row.templateId - ).name - : "" - }} - </template> - </el-table-column> - <el-table-column - label="鍖洪棿" - prop="section" - show-overflow-tooltip - width="120" - ></el-table-column> - </el-table> - <el-pagination - :current-page="currentPage0" - :page-size="100" - :total="total0" - layout="total, prev, pager, next, jumper" - style="position: absolute; right: 16px; bottom: 4px" - @current-change="handleCurrentChange0" - > - </el-pagination> - </div> - </div> - </el-dialog> - <el-dialog - :close-on-click-modal="false" - :visible.sync="sectionUpDia" - title="鍖洪棿璁剧疆" - width="80%" - > + <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%"> <el-table-column align="center" label="搴忓彿" type="index" width="70"> </el-table-column> <el-table-column align="center" label="鍖洪棿"> <template slot-scope="scope"> - <el-input - v-model="scope.row.thing" - clearable - placeholder="鍖洪棿" - size="small" - ></el-input> + <el-input v-model="scope.row.thing" clearable placeholder="鍖洪棿" size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="鑺暟"> <template slot-scope="scope"> - <el-input - v-model="scope.row.cores" - clearable - placeholder="鑺暟" - size="small" - ></el-input> + <el-input v-model="scope.row.cores" clearable placeholder="鑺暟" size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="瑕佹眰鍊�"> <template slot-scope="scope"> - <el-input - v-model="scope.row.ask" - clearable - placeholder="瑕佹眰鍊�" - size="small" - ></el-input> + <el-input v-model="scope.row.ask" clearable placeholder="瑕佹眰鍊�" size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="瑕佹眰鎻忚堪"> <template slot-scope="scope"> - <el-input - v-model="scope.row.tell" - :autosize="{ minRows: 1, maxRows: 2 }" - clearable - placeholder="瑕佹眰鎻忚堪" - size="small" - type="textarea" - ></el-input> + <el-input v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 2 }" clearable placeholder="瑕佹眰鎻忚堪" + size="small" type="textarea"></el-input> </template> </el-table-column> <el-table-column align="center" label="瀵间綋鏉愯川"> <template slot-scope="scope"> - <el-input - v-model="scope.row.conductorMaterial" - clearable - placeholder="瀵间綋鏉愯川" - size="small" - ></el-input> + <el-input v-model="scope.row.conductorMaterial" clearable placeholder="瀵间綋鏉愯川" size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="瀵间綋绫诲瀷"> <template slot-scope="scope"> - <el-input - v-model="scope.row.conductorType" - clearable - placeholder="瀵间綋绫诲瀷" - size="small" - ></el-input> + <el-input v-model="scope.row.conductorType" clearable placeholder="瀵间綋绫诲瀷" size="small"></el-input> </template> </el-table-column> <!-- <el-table-column align="center" label="鍗曚环" width="120">--> @@ -1016,64 +456,24 @@ <!-- </el-table-column>--> <el-table-column align="center" label="鎿嶄綔" width="70"> <template slot-scope="scope"> - <el-button - circle - icon="el-icon-minus" - size="mini" - type="danger" - @click="sectionList.splice(scope.$index, 1)" - ></el-button> + <el-button circle icon="el-icon-minus" size="mini" type="danger" + @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 :loading="sectionLoad" type="primary" @click="sectionLoadAdd" - >淇� 瀛�</el-button - > - <el-button - icon="el-icon-plus" - type="primary" - @click="sectionList.push({ thing: '' })" - ></el-button> + <el-button :loading="sectionLoad" type="primary" @click="sectionLoadAdd">淇� 瀛�</el-button> + <el-button icon="el-icon-plus" type="primary" @click="sectionList.push({ thing: '' })"></el-button> </span> </el-dialog> - <el-dialog :visible.sync="uploadDia" title="鏁版嵁瀵煎叆" width="500px"> - <div style="margin: 0 auto"> - <el-upload - ref="upload" - :action=" - VUE_APP_BASE_API + '/standardTree/inExcelOfTree/' + isEquipment - " - :auto-upload="false" - :file-list="fileList" - :headers="token" - :limit="1" - :on-change="beforeUpload" - :on-error="onError" - :on-success="onSuccess" - accept=".xlsx" - drag - name="file" - > - <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 :loading="uploading" type="primary" @click="submitUpload()" - >涓� 浼�</el-button - > - </span> - </el-dialog> - <!-- <bindSupplierDensityDialogAsk v-if="bindSupplierDensityDialog" - :bindSupplierDensityDialog="bindSupplierDensityDialog" - :currentRow="currentSupplierDensityRow" - @closeBindPartDialog="closeBindSupplierDensityDialog"></bindSupplierDensityDialogAsk> --> - <!-- <BatchCopy v-if="batchCopyDia" ref="BatchCopy" :selectTree1="selectTree" - :standardId="standardId" @refreshList="refreshList"></BatchCopy> --> + <bindSupplierDensityDialogAsk v-if="bindSupplierDensityDialog" + :bindSupplierDensityDialog="bindSupplierDensityDialog" :currentRow="currentSupplierDensityRow" + @closeBindPartDialog="closeBindSupplierDensityDialog"> + </bindSupplierDensityDialogAsk> + <BatchCopy v-if="batchCopyDia" ref="BatchCopy" :selectTree1="selectTree" :standardId="standardId" + @refreshList="refreshList"></BatchCopy> </div> </template> @@ -1088,30 +488,24 @@ obtainItemParameterList, selectTestObjectByName, selectStandardMethods, - addStandardMethodList, addStandardTree, updateStandardTree, selectsStandardMethodByFLSSM, upStandardProductList, - delStandardMethodByFLSSM, - delStandardProductByIds, - addStandardProduct, selectStandardProductListByMethodId, updateSection, upStandardProducts, getStandardTemplate, selectStandardProductByMethodId, selectStandardProductEnumByMethodId, - resetTreeOfPrice, - resetTreeOfHour, } from "@/api/standard/standardLibrary"; -import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟 -// import bindSupplierDensityDialogAsk from "../do/a5-capacity-scope/bindSupplierDensityDialogAsk.vue"; -// import BatchCopy from "../do/a5-capacity-scope/BatchCopy.vue"; +import bindSupplierDensityDialogAsk from "./components/bindSupplierDensityDialogAsk.vue"; +import BatchCopy from "./components/BatchCopy.vue"; export default { + name: 'StandardLibrary', components: { - // BatchCopy, - // bindSupplierDensityDialogAsk, + BatchCopy, + bindSupplierDensityDialogAsk, draggable, }, dicts: ["sys_factory", "sys_sub_lab", "sys_samp_type"], @@ -1162,21 +556,9 @@ total: 0, currentPage: 1, standardId: 0, - moreEdit: false, - moreEditLoad: false, - moreSelects: [], total0: 0, currentPage0: 1, productList0: [], - moreInfo: { - ask: "", - tell: "", - methodS: "", - price: "", - manHour: "", - templateId: "", - state: null, - }, methodList: [], productTableLoading0: false, filters0: [], @@ -1185,7 +567,6 @@ inspectionItem: null, inspectionItemSubclass: null, sonLaboratory: null, - uploadDia: false, token: null, fileList: [], uploading: false, @@ -1197,25 +578,8 @@ isShowCopy: false, batchCopyDia: false, VUE_APP_BASE_API: process.env.VUE_APP_BASE_API, + moreSelects: [], }; - }, - watch: { - moreEdit(val) { - if (!val) { - this.$refs.productTable0.clearSelection(); - this.moreSelects = []; - this.currentPage0 = 1; - this.productList0 = []; - this.moreInfo = { - ask: "", - tell: "", - methodS: "", - price: "", - manHour: "", - templateId: "", - }; - } - }, }, mounted() { this.selectEnumByCategoryForFactory(); @@ -1224,6 +588,7 @@ this.selectTestObjectByName(); this.selectStandardMethods(); this.selectEnumByCategoryForSonLaboratory(); + this.selectEnumByCategoryForsampleType(); this.getStandardTemplate(); this.selectStandardMethodsSec(); this.token = { @@ -1231,7 +596,6 @@ }; }, methods: { - checkPermi, // 淇敼鏈�瀛愮骇鍚嶅瓧 editTreeName(info) { this.updateDia = true; @@ -1390,7 +754,7 @@ this.productList = []; }); }) - .catch((e) => {}); + .catch((e) => { }); }, deleteStandard(arr, label) { arr.forEach((item, index) => { @@ -1478,22 +842,6 @@ this.standardEnum = data; }); }, - addStandardMethodList() { - if (this.standardId == null || this.standardId == "") { - this.$message.error("鏍囧噯鏂规硶鏈�夋嫨"); - return; - } - this.addLoad2 = true; - addStandardMethodList({ - standardId: this.standardId, - tree: this.selectTree, - }).then((res) => { - this.addLoad2 = false; - this.addStandardDia = false; - this.$message.success("娣诲姞鎴愬姛"); - this.selectsStandardMethodByFLSSM(); - }); - }, // 鎻愪氦鍒嗙被娣诲姞 addStandardTree() { if (this.addOb.sampleType == null || this.addOb.sampleType == "") { @@ -1549,7 +897,8 @@ return; } this.$message.success("娣诲姞鎴愬姛"); - this.selectStandardTreeList(); + this.$tab.refreshPage(); + // this.selectStandardTreeList(); this.updateDia = false; this.updateLoad = false; }) @@ -1673,81 +1022,13 @@ this.$message.success("宸蹭繚瀛�"); }); }, - delStandardMethodByFLSSM(id) { - this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.tableLoad = true; - 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; - 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; - addStandardProduct({ - ids: JSON.stringify(select), - tree: this.selectTree, - }).then((res) => { - if (res.code == 201) { - return; - } - this.$message.success("娣诲姞鎴愬姛"); - this.selectsStandardMethodByFLSSM(); - }); - this.addProductDia = false; - }, + refreshList() { this.batchCopyDia = false; const index = this.standardList.findIndex( @@ -2047,16 +1328,6 @@ this.$refs.BatchCopy.getList(); }); }, - async handleMore() { - if ( - (!this.standardId && this.standardId != 0) || - this.standardList.length == 0 - ) { - return this.$message.error("璇烽�夋嫨瀹為獙瀹ゃ�佹牱鍝�"); - } - await this.getList(); - this.moreEdit = true; - }, selectStandardMethodsSec() { selectStandardMethods().then((res) => { let data = []; @@ -2067,33 +1338,6 @@ }); }); this.methodList = data; - }); - }, - subMoreEdit() { - if (this.moreSelects.length === 0) { - return this.$message.error("璇烽�夋嫨妫�楠岄」"); - } - this.moreEditLoad = true; - for (let a in this.moreInfo) { - if (this.moreInfo[a] == "") { - delete this.moreInfo[a]; - } - } - upStandardProducts({ - ids: JSON.stringify(this.moreSelects.map((a) => a.id)), - standardProductList: this.moreInfo, - }).then((res) => { - this.moreEditLoad = false; - if (res.code == 201) { - this.$message.error("鏈繚瀛�"); - return; - } - this.$message.success("宸蹭繚瀛�"); - this.currentPage0 = 1; - this.getList(); - this.rowClick({ - id: this.standardId, - }); }); }, handleSelectAll0(rows) { @@ -2170,83 +1414,6 @@ } }); }); - }, - beforeUpload(file, fileList) { - if ( - file.raw.type != - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" - ) { - this.$message.error("涓婁紶鏂囦欢鏍煎紡涓嶆纭�"); - this.$refs.upload.clearFiles(); - return false; - } - }, - submitUpload() { - if (this.$refs.upload.uploadFiles.length == 0) { - this.$message.error("鏈�夋嫨鏂囦欢"); - return; - } - this.uploading = true; - this.$refs.upload.submit(); - }, - onSuccess(response, file, fileList) { - this.$refs.upload.clearFiles(); - this.uploadDia = false; - this.uploading = false; - if (response.code == 201) { - this.$message.error(response.message); - return; - } - this.$message.success("涓婁紶鎴愬姛"); - this.standardList = []; - this.productList = []; - this.selectStandardTreeList(); - }, - onError(err, file, fileList) { - this.$message.error("涓婁紶澶辫触"); - this.$refs.upload.clearFiles(); - this.uploading = false; - }, - clearProduct(type) { - this.$confirm("鏄惁娓呯┖?", "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - if (type === 1) { - resetTreeOfPrice({ - 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, - }); - }); - } else if (type === 2) { - 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, - }); - }); - } - }) - .catch(() => {}); }, }, }; -- Gitblit v1.9.3