From 379ad4226bc5a3ad175635b5c40e6bf5b68e4069 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 19 三月 2025 13:30:59 +0800 Subject: [PATCH] 能力范围功能更新70% --- src/components/Table/lims-table.vue | 13 src/views/standard/standardLibrary/index.vue | 27 src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue | 175 +++++++- src/assets/styles/sidebar.scss | 66 ++- src/views/business/rawMaterialInspection/index.vue | 13 src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue | 161 ++++---- src/views/structural/capabilityAndLaboratory/workshop/components/fileList.vue | 24 src/views/business/materialOrder/customsInspection.vue | 545 +++++++++++++--------------- src/api/structural/structureTestObjectPart.js | 18 src/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue | 12 src/views/structural/capabilityAndLaboratory/workshop/index.vue | 6 src/layout/components/Sidebar/SidebarItem.vue | 24 src/components/Preview/filePreview.vue | 1 src/views/structural/capabilityAndLaboratory/capability/index.vue | 37 + 14 files changed, 631 insertions(+), 491 deletions(-) diff --git a/src/api/structural/structureTestObjectPart.js b/src/api/structural/structureTestObjectPart.js index a2d9dce..83db6a7 100644 --- a/src/api/structural/structureTestObjectPart.js +++ b/src/api/structural/structureTestObjectPart.js @@ -64,3 +64,21 @@ params: query, }); } + +// 鏍规嵁妫�楠屽璞℃煡璇㈡楠� +export function inspectionItems(query) { + return request({ + url: "/productPart/inspectionItems", + method: "get", + params: query, + }); +} + +// 闆朵欢澶嶆牳 +export function productPartReview(query) { + return request({ + url: "/productPart/productPartReview", + method: "post", + data: query, + }); +} diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss index 8e69993..e6f52a7 100644 --- a/src/assets/styles/sidebar.scss +++ b/src/assets/styles/sidebar.scss @@ -1,18 +1,17 @@ #app { - .main-container { height: 100%; - transition: margin-left .28s; + transition: margin-left 0.28s; margin-left: $base-sidebar-width; position: relative; } .sidebarHide { - margin-left: 0!important; + margin-left: 0 !important; } .sidebar-container { - -webkit-transition: width .28s; + -webkit-transition: width 0.28s; transition: width 0.28s; width: $base-sidebar-width !important; background-color: $base-menu-background; @@ -24,12 +23,13 @@ left: 0; z-index: 1001; overflow: hidden; - -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35); + -webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); //box-shadow: 2px 0 6px rgba(0,21,41,.35); // reset element-ui css .horizontal-collapse-transition { - transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + transition: 0s width ease-in-out, 0s padding-left ease-in-out, + 0s padding-right ease-in-out; } .scrollbar-wrapper { @@ -70,7 +70,8 @@ width: 100% !important; } - .el-menu-item, .el-submenu__title { + .el-menu-item, + .el-submenu__title { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; @@ -88,7 +89,7 @@ color: $base-menu-color-active !important; } - & .nest-menu .el-submenu>.el-submenu__title, + & .nest-menu .el-submenu > .el-submenu__title, & .el-submenu .el-menu-item { min-width: $base-sidebar-width !important; @@ -97,7 +98,7 @@ } } - & .theme-dark .nest-menu .el-submenu>.el-submenu__title, + & .theme-dark .nest-menu .el-submenu > .el-submenu__title, & .theme-dark .el-submenu .el-menu-item { background-color: $base-sub-menu-background !important; @@ -109,11 +110,11 @@ .hideSidebar { .sidebar-container { - width: 54px !important; + width: 70px !important; } .main-container { - margin-left: 54px; + margin-left: 70px; } .submenu-title-noDropdown { @@ -124,33 +125,43 @@ padding: 0 !important; .svg-icon { - margin-left: 20px; + width: 1.5em; + height: 1.5em; + margin-left: 25px; } } } - + .el-menu-item.is-active, + .el-submenu.is-active > .el-submenu__title { + background-color: transparent !important; + } .el-submenu { overflow: hidden; - &>.el-submenu__title { + & > .el-submenu__title { padding: 0 !important; .svg-icon { - margin-left: 20px; + width: 1.5em; + height: 1.5em; + margin-left: 25px; } - } } .el-menu--collapse { .el-submenu { - &>.el-submenu__title { - &>span { - height: 0; - width: 0; - overflow: hidden; - visibility: hidden; - display: inline-block; + & > .el-submenu__title { + height: auto; /* 鏍规嵁鍐呭鑷姩璋冩暣楂樺害 */ + flex-direction: column; /* 鏀瑰彉甯冨眬鏂瑰悜涓哄瀭鐩� */ + align-items: center; /* 灞呬腑瀵归綈 */ + margin-bottom: 10px; + & > span { + display: block !important; + visibility: visible !important; + white-space: normal; /* 鍏佽鎹㈣ */ + text-align: center; /* 鏂囨湰灞呬腑瀵归綈 */ + line-height: normal; } } } @@ -168,7 +179,7 @@ } .sidebar-container { - transition: transform .28s; + transition: transform 0.28s; width: $base-sidebar-width !important; } @@ -182,7 +193,6 @@ } .withoutAnimation { - .main-container, .sidebar-container { transition: none; @@ -192,13 +202,13 @@ // when menu collapsed .el-menu--vertical { - &>.el-menu { + & > .el-menu { .svg-icon { margin-right: 16px; } } - .nest-menu .el-submenu>.el-submenu__title, + .nest-menu .el-submenu > .el-submenu__title, .el-menu-item { &:hover { // you can use $subMenuHover @@ -207,7 +217,7 @@ } // the scroll bar appears when the subMenu is too long - >.el-menu--popup { + > .el-menu--popup { max-height: 100vh; overflow-y: auto; diff --git a/src/components/Preview/filePreview.vue b/src/components/Preview/filePreview.vue index 7633c5e..f1c8d13 100644 --- a/src/components/Preview/filePreview.vue +++ b/src/components/Preview/filePreview.vue @@ -96,6 +96,7 @@ if (state) { this.imgUrl = this.fileUrl.replaceAll('word', 'img') } + console.log(2222, this.imgUrl) return state; }, isPdf() { diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue index 63c6f71..dad9288 100644 --- a/src/components/Table/lims-table.vue +++ b/src/components/Table/lims-table.vue @@ -99,7 +99,7 @@ </template> </el-table-column> </el-table> - <pagination v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current" + <pagination v-if="page" v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" /> </div> </template> @@ -422,6 +422,17 @@ // } // } }, + // 鍥炴樉澶氶�夐�変腑鐘舵�� + toggleRowSelection(list) { + this.$nextTick(() => { + this.tableData.forEach(row => { + let obj = list.find(m => m == row[this.rowKey]) + if (obj) { + this.$refs.multipleTable.toggleRowSelection(obj, true); + } + }); + }); + } }, }; </script> diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index fabc61e..3b68ff2 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -1,9 +1,10 @@ <template> <div v-if="!item.hidden"> - <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"> + <template + v-if="hasOneShowingChild(item.children, item) && (!onlyOneChild.children || onlyOneChild.noShowingChildren) && !item.alwaysShow"> <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)"> - <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> - <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> + <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{ 'submenu-title-noDropdown': !isNest }"> + <item :icon="onlyOneChild.meta.icon || (item.meta && item.meta.icon)" :title="onlyOneChild.meta.title" /> </el-menu-item> </app-link> </template> @@ -12,14 +13,8 @@ <template slot="title"> <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> </template> - <sidebar-item - v-for="(child, index) in item.children" - :key="child.path + index" - :is-nest="true" - :item="child" - :base-path="resolvePath(child.path)" - class="nest-menu" - /> + <sidebar-item v-for="(child, index) in item.children" :key="child.path + index" :is-nest="true" :item="child" + :base-path="resolvePath(child.path)" class="nest-menu" /> </el-submenu> </div> </template> @@ -75,7 +70,7 @@ // Show parent if there are no child router to display if (showingChildren.length === 0) { - this.onlyOneChild = { ... parent, path: '', noShowingChildren: true } + this.onlyOneChild = { ...parent, path: '', noShowingChildren: true } return true } @@ -97,3 +92,8 @@ } } </script> +<style scoped> +::v-deep .el-submenu__title i { + color: #ffffff !important; +} +</style> \ No newline at end of file diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue index b7af486..2404734 100644 --- a/src/views/business/materialOrder/customsInspection.vue +++ b/src/views/business/materialOrder/customsInspection.vue @@ -5,23 +5,25 @@ <div> <span>閲囪喘璁㈠崟淇℃伅</span> <ul class="tab" v-if="active > 1 && isShowTab"> - <li v-for="(m,i) in dataTitle" :key="i" :class="{active:i===dataIndex}" @click="handleDataTab(m,i)">{{m.label}}</li> + <li v-for="(m, i) in dataTitle" :key="i" :class="{ active: i === dataIndex }" @click="handleDataTab(m, i)"> + {{ m.label }}</li> </ul> </div> <div> - <el-select v-show="active==1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" style="margin-right: 10px;" - @change="selectInsOrderTemplateByIdList"> + <el-select v-show="active == 1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" style="margin-right: 10px;" + @change="selectInsOrderTemplateByIdList"> <el-option v-for="(a, ai) in templates" :key="ai" :label="a.name" :value="a.id"> <span style="float: left">{{ a.name }}</span> <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px" - @click.stop="handleDelete(a)"></i> + @click.stop="handleDelete(a)"></i> </el-option> </el-select> - <el-button v-show="active==1" size="small" @click="templateDia=true"> + <el-button v-show="active == 1" size="small" @click="templateDia = true"> <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> </el-button> - <el-button v-show="active==1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="small" type="primary" @click="noNeedCheck">鍏嶆</el-button> - <el-button v-show="active==1" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button> + <el-button v-show="active == 1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="small" + type="primary" @click="noNeedCheck">鍏嶆</el-button> + <el-button v-show="active == 1" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button> <el-button size="small" @click="goBack"> <span style="color: #3A7BFA;">杩斿洖</span> </el-button> @@ -33,42 +35,41 @@ <el-row> <el-col :span="6"> <el-form-item class="addObj-form-item" label="閲囪喘璁㈠崟鍙�:"> - <el-input v-model="addObj.orderNo" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.orderNo" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="濮旀墭鍗曚綅:"> - <el-input v-model="addObj.company" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.company" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鎺ユ敹鏃堕棿:"> - <el-date-picker - v-model="addObj.receiverDate" - disabled - placeholder="閫夋嫨鏃ユ湡" - size="small" - style="width: 100%;" - type="date" - value-format="yyyy-MM-dd"> + <el-date-picker v-model="addObj.receiverDate" disabled placeholder="閫夋嫨鏃ユ湡" size="small" + style="width: 100%;" type="date" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="闆朵欢鍙�:"> - <el-input v-model="addObj.partNo" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.partNo" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鏍峰搧鍚嶇О:"> - <el-input v-model="addObj.sample" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.sample" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鏍峰搧鎬绘暟:"> - <el-input v-model="addObj.qtyArrived" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.qtyArrived" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> @@ -90,22 +91,24 @@ </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鎶芥鏁伴噺:" prop="testQuantity"> - <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info" - clearable - placeholder="璇峰~鍐欐娊妫�鏁伴噺" size="small"></el-input> + <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info" clearable + placeholder="璇峰~鍐欐娊妫�鏁伴噺" size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="妫�楠岀被鍒�:" prop="orderType"> - <el-select v-model="addObj.orderType" :disabled="active>1 || orderType==1" clearable size="small" style="width: 100%"> - <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label" :value="a.value"></el-option> + <el-select v-model="addObj.orderType" :disabled="active > 1 || orderType == 1" clearable size="small" + style="width: 100%"> + <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label" + :value="a.value"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="瑙勬牸鍨嬪彿:" placeholder="璇峰~鍐�" prop="partDetail"> <el-tooltip :content="addObj.partDetail" :disabled="!addObj.partDetail"> - <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" size="small"></el-input> + <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" + size="small"></el-input> </el-tooltip> </el-form-item> </el-col> @@ -113,29 +116,24 @@ <el-row> <el-col :span="6"> <el-form-item class="addObj-form-item" label="绱ф�ョ▼搴�:" placeholder="璇烽�夋嫨" prop="type"> - <el-select v-model="addObj.type" :disabled="active>1" class="addObj-info" clearable size="small" style="width: 100%"> - <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label" :value="a.value"></el-option> + <el-select v-model="addObj.type" :disabled="active > 1" class="addObj-info" clearable size="small" + style="width: 100%"> + <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label" + :value="a.value"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="绾﹀畾鏃堕棿:" prop="appointed"> - <el-date-picker - v-model="addObj.appointed" - :disabled="active > 1" - format="yyyy-MM-dd" - placeholder="閫夋嫨鏃ユ湡" - size="small" - style="width: 100%" - type="date" - value-format="yyyy-MM-dd"> + <el-date-picker v-model="addObj.appointed" :disabled="active > 1" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" + size="small" style="width: 100%" type="date" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="澶囨敞:"> - <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small" type="textarea"></el-input> + <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2 }" :disabled="active > 1" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small" type="textarea"></el-input> </el-form-item> </el-col> </el-row> @@ -143,162 +141,146 @@ </div> <div> <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px"> - <div v-if="active==1"> + <div v-if="active == 1"> <el-form :inline="true" :model="addObj1" label-width="90px"> <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px;margin-top: 6px"> - <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" - allow-create clearable default-first-option filterable - size="small" - @change="changeModel"> + <el-select v-model="model" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" allow-create clearable + default-first-option filterable size="small" @change="changeModel"> <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px"> - <el-select v-model="standardMethodListId" :loading="methodLoad" - :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small" - @change="changeStandardMethodListId" @focus="methodFocus"> + <el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus"> <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> </el-option> </el-select> </el-form-item> + <el-form-item label="" style="margin-bottom: 6px;margin-top: 6px"> + <el-button type="primary" size="small">杞﹂棿闄勪欢鏌ョ湅</el-button> + </el-form-item> </el-form> </div> <div style="margin-bottom: 6px;margin-top: 6px"> - <el-button v-show="active==1" :disabled="sampleList.length === 2" size="small" type="primary" @click="handleSplitCountNum">鎷嗗垎</el-button> + <el-button v-show="active == 1" :disabled="sampleList.length === 2" size="small" type="primary" + @click="handleSplitCountNum">鎷嗗垎</el-button> </div> </div> - <el-table ref="sampleTable" :data="sampleList" - class="el-table sampleTable" - highlight-current-row - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border - max-height="400px" - tooltip-effect="dark" - @selection-change="selectSample" @row-click="rowClick"> - <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column> + <el-table ref="sampleTable" :data="sampleList" class="el-table sampleTable" highlight-current-row + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border max-height="400px" tooltip-effect="dark" + @selection-change="selectSample" @row-click="rowClick"> + <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> <el-table-column align="center" label="搴忓彿" prop="index" type="index" width="65"></el-table-column> <el-table-column align="center" label="鏍峰搧鍚嶇О" min-width="100" prop="sample"> <template slot-scope="scope"> - <el-input v-model="scope.row.sample" :disabled="active>1 || scope.$index !== 0" size="small" @change="(val)=>changeValue(val, 'sample')"></el-input> + <el-input v-model="scope.row.sample" :disabled="active > 1 || scope.$index !== 0" size="small" + @change="(val) => changeValue(val, 'sample')"></el-input> </template> </el-table-column> <el-table-column align="center" label="鏍峰搧缂栧彿" min-width="140" prop="sampleCode"> <template slot-scope="scope"> - <el-input v-model="scope.row.sampleCode" :disabled="active>1 || scope.$index !== 0" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" - size="small" - @change="(val)=>changeValue(val, 'sampleCode')"></el-input> + <el-input v-model="scope.row.sampleCode" :disabled="active > 1 || scope.$index !== 0" clearable + placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" size="small" @change="(val) => changeValue(val, 'sampleCode')"></el-input> </template> </el-table-column> <el-table-column align="center" label="鏍峰搧鍨嬪彿" min-width="100" prop="model"> <template slot-scope="scope"> - <el-select v-model="scope.row.model" :disabled="active>1 || scope.$index !== 0" allow-create default-first-option filterable - placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" @change="handleChangeModel"> + <el-select v-model="scope.row.model" :disabled="active > 1 || scope.$index !== 0" allow-create + default-first-option filterable placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" + @change="handleChangeModel"> <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </template> </el-table-column> - <el-table-column v-if="!(active>1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="130"> + <el-table-column v-if="!(active > 1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="130"> <template slot-scope="scope"> - <el-input v-model="scope.row.modelNum" :disabled="active>1|| scope.$index !== 0" clearable placeholder="闈炲繀濉�" - size="small" - @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> + <el-input v-model="scope.row.modelNum" :disabled="active > 1 || scope.$index !== 0" clearable + placeholder="闈炲繀濉�" size="small" + @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> </template> </el-table-column> <el-table-column align="center" label="妫�楠屾爣鍑�" min-width="100" prop="standardMethodListId"> <template slot-scope="scope"> - <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1|| scope.$index !== 0" - :loading="methodLoad" clearable placeholder="妫�楠屾爣鍑�" size="small" - style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus"> + <el-select v-model="scope.row.standardMethodListId" + :disabled="scope.row.model == null || active > 1 || scope.$index !== 0" :loading="methodLoad" clearable + placeholder="妫�楠屾爣鍑�" size="small" style="width: 100%;" @change="(value) => methodChange(value, scope.row)" + @clear="productList = []" @focus="methodFocus"> <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> </el-option> </el-select> </template> </el-table-column> - <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鍚嶇О" prop="joinName" width="140"> + <el-table-column v-if="addObj.mating == 1" align="center" label="閰嶅鏍峰搧鍚嶇О" prop="joinName" width="140"> <template slot-scope="scope"> - <el-input v-model="scope.row.joinName" :autosize="{ minRows: 1, maxRows: 1}" size="small" - type="textarea"></el-input> + <el-input v-model="scope.row.joinName" :autosize="{ minRows: 1, maxRows: 1 }" size="small" + type="textarea"></el-input> </template> </el-table-column> - <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鍨嬪彿" prop="joinModel" width="140"> + <el-table-column v-if="addObj.mating == 1" align="center" label="閰嶅鏍峰搧鍨嬪彿" prop="joinModel" width="140"> <template slot-scope="scope"> - <el-input v-model="scope.row.joinModel" :autosize="{ minRows: 1, maxRows: 1}" size="small" - type="textarea"></el-input> + <el-input v-model="scope.row.joinModel" :autosize="{ minRows: 1, maxRows: 1 }" size="small" + type="textarea"></el-input> </template> </el-table-column> - <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鏁伴噺" prop="joinNum" width="140"> + <el-table-column v-if="addObj.mating == 1" align="center" label="閰嶅鏍峰搧鏁伴噺" prop="joinNum" width="140"> <template slot-scope="scope"> <el-input-number v-model="scope.row.joinNum" :controls="false" :max="100" :min="1" :precision="0" - size="small" style="width: 80%;"></el-input-number> + size="small" style="width: 80%;"></el-input-number> </template> </el-table-column> <el-table-column align="center" label="寰呮椤规暟閲�" prop="quantity" width="105"> <template slot-scope="scope"> - <el-select v-model="scope.row.quantity" disabled clearable - size="small"> - <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-select v-model="scope.row.quantity" disabled clearable size="small"> + <el-option v-for="item in quantityList" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </template> </el-table-column> </el-table> - <el-table ref="productTable" v-loading="getProductLoad" :data="productList" - :row-class-name="tableRowClassName" - class="el-table" - max-height="400px" - style="margin-bottom: 10px;" - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border - tooltip-effect="dark" - @select="selectOne" - @selection-change="selectProduct" - @select-all="handleAll"> - <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column> + <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" + class="el-table" max-height="400px" style="margin-bottom: 10px;" + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark" + @select="selectOne" @selection-change="selectProduct" @select-all="handleAll"> + <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> <el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" show-overflow-tooltip> <template slot="header" slot-scope="scope"> <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」</span> - <el-input - v-if="active==1" - v-model="inspectionItem" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="inspectionItem" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> - <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass" - show-overflow-tooltip> + <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass" show-overflow-tooltip> <template slot="header" slot-scope="scope"> <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」瀛愰」</span> - <el-input - v-if="active==1" - v-model="inspectionItemSubclass" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="inspectionItemSubclass" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> <el-table-column label="瑕佹眰鍊�" min-width="220px" prop="ask"> <template slot-scope="scope"> - <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鍊�" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row)"></el-input> + <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" + clearable placeholder="瑕佹眰鍊�" size="small" type="textarea" + @change="e => requestChange(e, scope.row)"></el-input> <span v-else> - <template >{{ scope.row.ask }}</template> + <template>{{ scope.row.ask }}</template> </span> </template> </el-table-column> <el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell"> <template slot-scope="scope"> - <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鎻忚堪" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row,'tell')"></el-input> + <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.tell" + :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪" size="small" type="textarea" + @change="e => requestChange(e, scope.row, 'tell')"></el-input> <span v-else> - <template >{{ scope.row.tell }}</template> - </span> + <template>{{ scope.row.tell }}</template> + </span> </template> </el-table-column> <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> @@ -306,35 +288,29 @@ <template slot="header" slot-scope="scope"> <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>璇曢獙鏂规硶</span> - <el-input - v-if="active==1" - v-model="methodS" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="methodS" placeholder="璇疯緭鍏�" size="mini" @input="searchFilterList" /> </div> </template> </el-table-column> <el-table-column label="璁¢噺鍗曚綅" prop="unit" show-overflow-tooltip width="100"></el-table-column> <el-table-column label="鍗曚环" prop="price" show-overflow-tooltip width="100"></el-table-column> <el-table-column label="鍖洪棿" min-width="120" prop="section" show-overflow-tooltip></el-table-column> - <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" prop="sonLaboratory" - show-overflow-tooltip></el-table-column> + <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" + prop="sonLaboratory" show-overflow-tooltip></el-table-column> </el-table> </div> <!--鐗规畩鍊煎鐞嗘--> - <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" - :visible.sync="bsm1DiaAll" - min-width="400px" - title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"> + <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" + :show-close="false" :visible.sync="bsm1DiaAll" min-width="400px" title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"> <div v-for="(item, index) in bsm1DiaList" :key="item.id" class="body" style="max-height: 60vh;"> - <span>{{item.inspectionItem}}</span> + <span>{{ item.inspectionItem }}</span> <el-row v-if="item.bsm1"> <el-col :span="24" class="search_thing" style="height: initial;margin: 5px 0;"> <div class="search_label" style="width: 80px;"><span class="required-span">* </span>閫夐」锛�</div> <div class="search_input"> <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" + style="margin-bottom: 2px;margin-top: 2px;"></el-radio> </el-radio-group> </div> </el-col> @@ -342,8 +318,8 @@ <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div> <div class="search_input"> <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" - :label="a">{{JSON.parse(item.bsmRow.askCopy)[ai]}}</el-radio> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a">{{ + JSON.parse(item.bsmRow.askCopy)[ai] }}</el-radio> </el-radio-group> </div> </el-col> @@ -356,9 +332,8 @@ </span> </el-dialog> <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border - :show-close="false" :visible.sync="bsm3Dia" - title="鍖洪棿鍊煎~鍐�" width="800px"> + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :show-close="false" + :visible.sync="bsm3Dia" title="鍖洪棿鍊煎~鍐�" width="800px"> <el-table :data="editTable" height="80vh" style="width: 100%"> <!-- inspectionItemList --> <el-table-column label="妫�楠岄」" prop="inspectionItemList" width="180"> @@ -371,36 +346,27 @@ </el-table-column> <el-table-column label="璇嗗埆绗﹀��" prop="value"> <template slot-scope="scope"> - <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" @input="inputValueHandler(scope.row,scope.$index)"></el-input> + <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" + @input="inputValueHandler(scope.row, scope.$index)"></el-input> </template> </el-table-column> </el-table> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="bsm3Dia=false">鍙� 娑�</el-button> + <el-button @click="bsm3Dia = false">鍙� 娑�</el-button> <el-button :loading="saveLoad" type="primary" @click="save0">纭� 瀹�</el-button> </el-row> </span> </el-dialog> - <el-dialog - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - :visible.sync="dialogVisible" - title="鎻愮ず" - width="32%"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="dialogVisible" title="鎻愮ず" width="32%"> <span>{{ dialogMessage }}</span> <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="dialogVisible= false,closeOpenPage()">纭� 瀹�</el-button> + <el-button type="primary" @click="dialogVisible = false, closeOpenPage()">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - :visible.sync="dialogVisible2" - title="鎻愮ず" - width="32%"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="dialogVisible2" title="鎻愮ず" width="32%"> <span>{{ dialogMessage2 }}</span> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="dialogVisible2 = false">纭� 瀹�</el-button> @@ -418,13 +384,8 @@ <el-button :loading="templateLoading" type="primary" @click="addTemplateDia">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - :visible.sync="noNeedCheckDia" - title="鍏嶆鎻愮ず" - width="32%"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="noNeedCheckDia" title="鍏嶆鎻愮ず" width="32%"> <span>纭鍏嶆褰撳墠妫�楠屽崟锛�</span> <span slot="footer" class="dialog-footer"> <el-button :loading="noNeedCheckLoad" type="primary" @click="handleNoNeedCheck">纭� 瀹�</el-button> @@ -462,7 +423,7 @@ active: 0, currentId: 0, isReport: '', - editTable:[], // 鍖洪棿鐗规畩鍊煎~鍐� + editTable: [], // 鍖洪棿鐗规畩鍊煎~鍐� template: null, saveLoad: false, // 淇濆瓨鎸夐挳loading noNeedCheckLoad: false, // 鍏嶆鎸夐挳loading @@ -555,9 +516,9 @@ addObj1: {}, model: null, standardMethodListId: null, - inspectionItem:null, - inspectionItemSubclass:null, - methodS:null, + inspectionItem: null, + inspectionItemSubclass: null, + methodS: null, codeLevel: '', // 鏍峰搧鎵�鍦ㄧ骇鍒� selectTreeTem: '', // 鏍峰搧鐖剁骇 checkType: [], // 妫�楠岀被鍨嬮�夐」鏁版嵁 @@ -570,14 +531,14 @@ templateName: '', // 淇濆瓨妯$増鍚嶇О templates: [], // 妯$増涓嬫媺妗嗘暟鎹� quantityList: [ - { label: 1, value: 1}, - { label: 2, value: 2}, - { label: 3, value: 3}, - { label: 4, value: 4}, - { label: 5, value: 5}, - { label: 6, value: 6}, - { label: 7, value: 7}, - { label: 8, value: 8}, + { label: 1, value: 1 }, + { label: 2, value: 2 }, + { label: 3, value: 3 }, + { label: 4, value: 4 }, + { label: 5, value: 5 }, + { label: 6, value: 6 }, + { label: 7, value: 7 }, + { label: 8, value: 8 }, ], types: [], // 绱ф�ョ▼搴︿笅鎷夋 dataTitle: [ @@ -592,7 +553,7 @@ ], dataIndex: 0, isShowTab: false, - symbolList:['RTS'], + symbolList: ['RTS'], bsm3Dia: false, // 鍖洪棿鍊煎~鍐欏脊妗� bsmRow: {}, bsm1: false, @@ -658,7 +619,7 @@ this.getInfo() // 鑾峰彇鏁版嵁 }, methods: { - save1 () { + save1() { if (this.bsm1DiaList.length > 0) { this.bsm1DiaList.forEach(item => { if (!item.bsm1Val) { @@ -679,24 +640,24 @@ done() }, //鐗规畩鍊煎~鍐欏鐞� - inputValueHandler(row,index){ - if(row){ - const nextIndex = index+1 + inputValueHandler(row, index) { + if (row) { + const nextIndex = index + 1 for (let i = nextIndex; i < this.editTable.length; i++) { const element = this.editTable[i]; - if(element.model==row.model&&row.symbolItem==element.symbolItem){ + if (element.model == row.model && row.symbolItem == element.symbolItem) { this.editTable[i].value = row.value } } } }, // 鏌ョ湅鏃跺垏鎹ab鏍� - handleDataTab (m, i) { + handleDataTab(m, i) { this.dataIndex = i this.getInfo() }, // 鑾峰彇鏁版嵁 - getInfo () { + getInfo() { if (this.active == 2) { let orderId = '' if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) { @@ -744,7 +705,7 @@ } }) } else { - notificationRawOrder({ifsInventoryId:this.customsInspection.id}).then(res => { + notificationRawOrder({ ifsInventoryId: this.customsInspection.id }).then(res => { if (res.code === 200) { if (res.data === 1) { if (this.orderType != 1) { @@ -758,7 +719,7 @@ } }) // 鎶ユ娴佺▼ - selectStandardTreeListByPartNo({partNo:this.customsInspection.partNo}).then(res => { + selectStandardTreeListByPartNo({ partNo: this.customsInspection.partNo }).then(res => { if (res.data !== null) { this.addObj.sample = res.data.label this.codeLevel = res.data.code @@ -790,7 +751,7 @@ }, // 鏌ヨ妯℃澘-鍙嶆樉妯℃澘 selectInsOrderTemplateByIdList(e) { - selectRawMaterOrderTemplateById({id: e}).then(res => { + selectRawMaterOrderTemplateById({ id: e }).then(res => { let obj = JSON.parse(res.data) this.sampleList = obj.sampleList; this.productList = obj.sampleList[0].insProduct @@ -812,7 +773,7 @@ thing: JSON.stringify({ // addObj: this.addObj, sampleList: sampleList, - selectTree:this.selectTree + selectTree: this.selectTree }) }).then(res => { this.templateLoading = false; @@ -832,22 +793,22 @@ cancelButtonText: "鍙栨秷", type: "warning" }).then(() => { - delRawMaterOrderTemplate({id: row.id}).then(res => { + delRawMaterOrderTemplate({ id: row.id }).then(res => { this.$message.success('鍒犻櫎鎴愬姛') this.selectInsOrderTemplate() }).catch(e => { this.$message.error('鍒犻櫎澶辫触') }) - }).catch(() => {}) + }).catch(() => { }) }, // 鏌ヨ妯℃澘鍒楄〃 selectInsOrderTemplate() { - selectRawMaterOrderTemplate({partNo:this.addObj.partNo}).then(res => { + selectRawMaterOrderTemplate({ partNo: this.addObj.partNo }).then(res => { this.templates = res.data }) }, // 鎷嗗垎 - handleSplitCountNum () { + handleSplitCountNum() { this.sample.joinName = null this.sample.joinModel = null this.sample.joinNum = 1 @@ -870,7 +831,7 @@ this.computationalPairing(this.sampleList.length) }, // 妫�楠岄」鍒楄〃绛涢�� - searchFilterList () { + searchFilterList() { const vtw = { inspectionItem: this.inspectionItem, // 妫�楠岄」 inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」 @@ -881,7 +842,7 @@ }) this.changeProductList0() if (isHaveValue) { - for(let i in vtw) { + for (let i in vtw) { if (vtw[i]) { this.productList = this.productList0.filter((item) => { return item[i] && item[i].includes(vtw[i]) @@ -894,11 +855,11 @@ } }, containsValue(str) { - if(str){ + if (str) { let symbolItem = '' - this.symbolList.some(value =>{ - if(str.includes(value)){ - symbolItem = value + this.symbolList.some(value => { + if (str.includes(value)) { + symbolItem = value return true } }) @@ -919,18 +880,18 @@ }) this.getTotal(sampleList) let projectNum = this.totalArr.filter(a => a.state == 1).length - if(projectNum==0){ + if (projectNum == 0) { this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" }).then(() => { this.saveMethod(sampleList) - }).catch(() => {}) - }else{ - let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1) + }).catch(() => { }) + } else { + let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b => a.ask.includes(b)) && a.state == 1) if (isRTS) { - this.editTable = this.handleData(sampleList,this.containsValue, 0) + this.editTable = this.handleData(sampleList, this.containsValue, 0) this.editTable.forEach(item => { item.value = item.modelNum }) @@ -946,21 +907,21 @@ }); }, // 鎻愪氦鍖洪棿鍊� - save0(){ - if(this.editTable.every(m=>m.value)){ + save0() { + if (this.editTable.every(m => m.value)) { this.sampleList.forEach(item => { item.insProduct = this.productList }) - let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) + let sampleList = this.handleData(this.HaveJson(this.sampleList), this.handleAsk, 1) sampleList.forEach(a => { - a.insProduct = a.insProduct.filter(b=>b.state === 1) + a.insProduct = a.insProduct.filter(b => b.state === 1) }) this.saveMethod(sampleList) - }else{ + } else { this.$message.error('璇峰~鍐欒瘑鍒鍊�') } }, - noNeedCheck () { + noNeedCheck() { this.$refs['addObj'].validate((valid) => { if (valid) { if (!this.sampleList.every(m => m.standardMethodListId)) { @@ -974,7 +935,7 @@ }) this.getTotal(sampleList) let projectNum = this.totalArr.filter(a => a.state == 1).length - if (projectNum!=0){ + if (projectNum != 0) { this.$message.error('鍏嶆涓嶅彲閫夋嫨妫�楠岄」') return } @@ -985,7 +946,7 @@ } }); }, - handleNoNeedCheck () { + handleNoNeedCheck() { // 妫�楠岀被鍨嬩负杩涘巶妫�楠屾椂鍙�夋嫨鍏嶆锛屼絾涓嶈兘閫夋嫨妫�楠岄」 const sampleList = this.HaveJson(this.sampleList) sampleList.forEach(item => { @@ -1025,7 +986,7 @@ } else { a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) } - a.insProduct = a.insProduct.filter(b=>b.state === 1) + a.insProduct = a.insProduct.filter(b => b.state === 1) return a }), }).then(res => { @@ -1033,11 +994,11 @@ this.noNeedCheckDia = false this.$message.success('宸叉彁浜�') this.closeOpenPage() - }).catch(e=>{ + }).catch(e => { this.noNeedCheckLoad = false }) }, - saveMethod(sampleList){ + saveMethod(sampleList) { let trees = this.selectTree.split(" - ") if (trees.length < 3) { this.$message.error('鏈�夋嫨瀵硅薄') @@ -1079,7 +1040,7 @@ } else { a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) } - a.insProduct = a.insProduct.filter(b=>b.state === 1) + a.insProduct = a.insProduct.filter(b => b.state === 1) return a }), }).then(res => { @@ -1087,12 +1048,12 @@ this.$message.success('宸叉彁浜�') this.bsm3Dia = false; this.closeOpenPage() - }).catch(e=>{ + }).catch(e => { this.saveLoad = false }) }, - handleAsk(ask,symbolItem, value) { - try{ + handleAsk(ask, symbolItem, value) { + try { let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤", "*", "/"]; let code2 = ['+', '*', '/', '-'] if (ask.includes('&')) { @@ -1136,42 +1097,42 @@ return code[index] + '' + num } } - }catch(e){} + } catch (e) { } }, - handleData(sampleList,calBack,type){ + handleData(sampleList, calBack, type) { let editTable = [] sampleList.forEach(item => { let obj = { - sampleCode:item.sampleCode, - model:item.model, - symbolList:[], - sampleId:item.id, - modelNum:item.modelNum, + sampleCode: item.sampleCode, + model: item.model, + symbolList: [], + sampleId: item.id, + modelNum: item.modelNum, } if (item.insProduct && item.insProduct.length > 0) { item.insProduct.forEach(a => { if (a.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(a.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:a.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: a.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { let arr = this.editTable.filter(b => b.sampleId == item.id) - for (var i=0;i<arr.length;i++){ - if(a.ask){ - if(a.ask.includes(arr[i].symbolItem)){ - let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value) + for (var i = 0; i < arr.length; i++) { + if (a.ask) { + if (a.ask.includes(arr[i].symbolItem)) { + let ask = calBack(a.ask, arr[i].symbolItem, arr[i].value) if (ask) { a.ask = ask } - let tell = this.handleAsk(a.tell, arr[i].symbolItem,arr[i].value) + let tell = this.handleAsk(a.tell, arr[i].symbolItem, arr[i].value) if (tell) { a.tell = tell } } - }else{ + } else { this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') } } @@ -1187,21 +1148,21 @@ if (b.productList && b.productList.length > 0) { b.productList.forEach(c => { if (c.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(c.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:c.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: c.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { let arr = this.editTable.filter(b => b.sampleId == item.id) arr.forEach(f => { - if(c.ask.includes(f.symbolItem)){ - let ask = calBack(c.ask, f.symbolItem,f.value) + if (c.ask.includes(f.symbolItem)) { + let ask = calBack(c.ask, f.symbolItem, f.value) if (ask) { c.ask = ask } - let tell = this.handleTell(c.tell, f.symbolItem,f.value) + let tell = this.handleTell(c.tell, f.symbolItem, f.value) if (tell) { c.tell = tell } @@ -1218,25 +1179,25 @@ if (b.productList && b.productList.length > 0) { b.productList.forEach(c => { if (c.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(c.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:c.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: c.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { // let ask = calBack(c.ask, c.rts) // if (ask && c.state == 1) { // c.ask = csk // } let arr = this.editTable.filter(b => b.sampleId == item.id) arr.forEach(f => { - if(c.ask.includes(f.symbolItem)){ - let ask = calBack(c.ask, f.symbolItem,f.value) + if (c.ask.includes(f.symbolItem)) { + let ask = calBack(c.ask, f.symbolItem, f.value) if (ask) { c.ask = ask } - let tell = this.handleTell(c.tell, f.symbolItem,f.value) + let tell = this.handleTell(c.tell, f.symbolItem, f.value) if (tell) { c.tell = tell } @@ -1251,25 +1212,25 @@ if (c.productList && c.productList.length > 0) { c.productList.forEach(d => { if (d.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(d.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:d.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: d.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { // let ask = calBack(d.ask, d.rts) // if (ask && d.state == 1) { // d.ask = ask // } let arr = this.editTable.filter(b => b.sampleId == item.id) arr.forEach(f => { - if(d.ask.includes(f.symbolItem)){ - let ask = calBack(d.ask, f.symbolItem,f.value) + if (d.ask.includes(f.symbolItem)) { + let ask = calBack(d.ask, f.symbolItem, f.value) if (ask) { d.ask = ask } - let tell = this.handleTell(d.tell, f.symbolItem,f.value) + let tell = this.handleTell(d.tell, f.symbolItem, f.value) if (tell) { d.tell = tell } @@ -1285,11 +1246,11 @@ } }) } - if(type==0){ + if (type == 0) { editTable.push(obj) } }) - if(type==0){ + if (type == 0) { editTable.forEach(a => { a.symbolList.forEach(b => { let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem); @@ -1298,13 +1259,13 @@ }) editTable.forEach(a => { let mySet = new Set(); - a.symbolList = a.symbolList.filter(b =>{ + a.symbolList = a.symbolList.filter(b => { let num0 = mySet.size; mySet.add(b.symbolItem); let num1 = mySet.size; - if(num0!=num1){ + if (num0 != num1) { return true; - }else{ + } else { return false } }) @@ -1313,19 +1274,19 @@ editTable.forEach(a => { a.symbolList.forEach(b => { let obj = { - sampleCode:a.sampleCode, - model:a.model, - symbolItem:b.symbolItem, - sampleId:a.sampleId, - value:null, - inspectionItemList:b.inspectionItemList, - modelNum:a.modelNum, + sampleCode: a.sampleCode, + model: a.model, + symbolItem: b.symbolItem, + sampleId: a.sampleId, + value: null, + inspectionItemList: b.inspectionItemList, + modelNum: a.modelNum, } editTableNew.push(obj) }) }) return editTableNew - }else{ + } else { return sampleList } }, @@ -1335,7 +1296,7 @@ } catch (e) { } }, - replaceAll(str,find,value) { + replaceAll(str, find, value) { if (str === undefined) { return str } @@ -1413,10 +1374,10 @@ let num1 = mySet0.size mySet0.add(item.sonLaboratory) let num2 = mySet0.size - if(num2>num1){ + if (num2 > num1) { this.sonLaboratoryList.push({ - label:item.sonLaboratory, - value:item.sonLaboratory, + label: item.sonLaboratory, + value: item.sonLaboratory, }) } }) @@ -1464,11 +1425,11 @@ } else { this.methods = res.data.standardMethodList } - } catch (e) {} + } catch (e) { } }) }, // 璧嬪�肩涓�鏉¢粯璁ゆ暟鎹� - addListInfo (codeLevel, data) { + addListInfo(codeLevel, data) { this.sampleList = [] this.productList = [] this.sample.model = this.addObj.model @@ -1561,14 +1522,14 @@ } this.bsm2Val3 = this.HaveJson(this.permute(nums)) }, - tableRowClassName({row, rowIndex}) { + tableRowClassName({ row, rowIndex }) { if (row.state === 0) { return ''; } return 'warning-row'; }, // 淇敼鏍峰搧鍚嶇О - changeValue (val, string) { + changeValue(val, string) { if (this.sampleList.length > 1) { // 鏈変袱鏉℃牱鍝佹椂锛岀浜屾潯鏍峰搧淇℃伅鍜岀涓�鏉′繚鎸佷竴鑷� this.sampleList.forEach(item => { @@ -1595,9 +1556,9 @@ } this.getProductLoad = true let selectTreeList = this.selectTree.split(" - ") - this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) + this.addObj.model && (selectTreeList[selectTreeList.length - 1] = this.addObj.model) selectStandardProductList({ - model: this.addObj.model?this.addObj.model:row.model, + model: this.addObj.model ? this.addObj.model : row.model, modelNum: row.modelNum, standardMethodListId: val, factory: selectTreeList.join(" - "), @@ -1617,7 +1578,7 @@ }) }, 200) }).catch(err => { - console.log('err-',err) + console.log('err-', err) }) }, // 閫夋嫨鏍峰搧鍨嬪彿鐨勫洖璋� @@ -1678,7 +1639,7 @@ } }, // 鍏ㄩ�夌壒娈婂�煎鐞嗘閫夋嫨瑕佹眰鍊肩殑鍥炶皟 - upBsmAll (item) { + upBsmAll(item) { const i = this.bsm1DiaList.findIndex(obj => obj.id === item.id) if (i > -1) { // 鎵惧埌鐩稿簲鐨勬楠岄」璧嬪�� @@ -1709,7 +1670,7 @@ selectOne(selection, row) { this.bsm1DiaList = [] row.state = row.state == 1 ? 0 : 1 - if(row.section === null) { + if (row.section === null) { row.section = "" } if (row.sectionCopy === undefined && row.section) { @@ -1723,18 +1684,18 @@ if (row.tell.includes('[')) { this.$set(row, 'tellCopy', row.tell) } - let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1) - if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1&&arr.length==0) { + let arr = this.productList.filter(m => m.state == 1 && row.sectionCopy && row.sectionCopy.includes(m.sectionCopy) && m.ask && m.sectionCopy.indexOf('[') == -1) + if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1 && arr.length == 0) { if (row.sectionCopy.indexOf('[') > -1) { row.bsmRow = this.HaveJson(row) } row.bsm1 = true this.bsm1DiaList.push(row) this.bsm1DiaAll = true - } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0&&arr.length==0) { + } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0 && arr.length == 0) { row.bsm1 = false - }else if(arr.length>0){ - try{ + } else if (arr.length > 0) { + try { row.bsmRow = this.HaveJson(row) let section = arr[0].section let arr0 = JSON.parse(row.section) @@ -1744,7 +1705,7 @@ row.section = section row.ask = arr1[index] row.tell = arr4[index] - } catch(e) {} + } catch (e) { } } this.sampleList.map(item => { if (this.sampleIds.indexOf(item.id) > -1) { @@ -1764,7 +1725,7 @@ handleAll(e) { if (e.length > 0) { this.productList.map(m => { - if(e.find(a=>a.id == m.id)){ + if (e.find(a => a.id == m.id)) { m.state = 1 } return m @@ -1828,10 +1789,10 @@ this.$refs.productTable.doLayout() }) }, - changeProductList0(){ - this.productList0.forEach(a=>{ + changeProductList0() { + this.productList0.forEach(a => { let obj = this.productList.find(m => m.id == a.id) - if(obj){ + if (obj) { a.state = obj.state a.section = obj.section a.ask = obj.ask @@ -1839,7 +1800,7 @@ // a.price = obj.price a.tell = obj.tell } - if(a.state == 0&&a.bsmRow){ + if (a.state == 0 && a.bsmRow) { a = this.HaveJson(a.bsmRow) } }) @@ -1848,7 +1809,7 @@ const property = column['property']; return row[property] === value; }, - goBack () { + goBack() { if (this.active == 1) { this.$router.go(-1) } else { @@ -1869,6 +1830,7 @@ justify-content: space-between; margin-bottom: 10px; } + .tab { list-style-type: none; display: flex; @@ -1897,5 +1859,4 @@ background-color: #ffffff; } - </style> diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue index d3fa7e4..7b6f9e8 100644 --- a/src/views/business/rawMaterialInspection/index.vue +++ b/src/views/business/rawMaterialInspection/index.vue @@ -141,6 +141,11 @@ <el-option :value="1" label="杩囨湡鐗╂枡"></el-option> </el-select> </el-form-item> + <!-- TODO:蹇呭~ --> + <el-form-item class="declareObj-form-item" label="渚涘簲鍟嗘壒鍙�:" prop="buyUnitMeas"> + <el-input v-model="declareObj.buyUnitMeas" :disabled="declareType !== 'add'" clearable class="addObj-info" + size="small"></el-input> + </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-row> @@ -161,8 +166,8 @@ </el-dialog> <!-- 鎾ら攢鎶ユ --> <el-dialog :visible.sync="declareDialogVisible1" title="鎶ユ鎾ら攢" width="30%"> - <p style="font-size:16px;color:#333333">鎵瑰彿<span - style="color:#34BD66">{{ insOrderRow.updateBatchNo }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span></p> + <p style="font-size:16px;color:#333333">鎵瑰彿<span style="color:#34BD66">{{ insOrderRow.updateBatchNo + }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span></p> <span slot="footer" class="dialog-footer"> <el-row> <el-button @click="declareDialogVisible1 = false">鍙� 娑�</el-button> @@ -561,7 +566,7 @@ // 宸插畬鎴愰儴鏌ヨ getIfsByFinishList() { this.tableLoading1 = true - if(null != this.componentData.date){ + if (null != this.componentData.date) { this.componentData.beginDeclareDate = this.componentData.date[0] this.componentData.endDeclareDate = this.componentData.date[1] } else { @@ -581,7 +586,7 @@ // 鍏ㄩ儴鏌ヨ getIfsByAllList() { this.tableLoading1 = true - if(null != this.componentData.date){ + if (null != this.componentData.date) { this.componentData.beginDeclareDate = this.componentData.date[0] this.componentData.endDeclareDate = this.componentData.date[1] } else { diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue index e36597d..05bd11d 100644 --- a/src/views/standard/standardLibrary/index.vue +++ b/src/views/standard/standardLibrary/index.vue @@ -17,8 +17,7 @@ height: calc(100% - 30px); overflow-y: scroll; scrollbar-width: none; - " @node-click="handleNodeClick" - @node-drop="handleDrop"> + " @node-click="handleNodeClick" @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"> @@ -66,9 +65,8 @@ </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"> + :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">{{ @@ -82,11 +80,10 @@ </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"> + :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> @@ -176,8 +173,8 @@ <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> + <!-- <el-button type="text" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct']) + " @click="bindSupplierDensitySecond(scope.row)">缁戝畾鍘傚</el-button> --> </template> </el-table-column> </el-table> @@ -225,7 +222,7 @@ <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="鍖洪棿"> @@ -498,7 +495,7 @@ } }, // 璋冪敤tree杩囨护鏂规硶 涓枃鑻辫繃婊� - filterNode (value, data, node) { + filterNode(value, data, node) { if (!value) {銆�銆�銆�銆�//濡傛灉鏁版嵁涓虹┖锛屽垯杩斿洖true,鏄剧ず鎵�鏈夌殑鏁版嵁椤� return true } @@ -507,7 +504,7 @@ return this.chooseNode(val, data, node) // 璋冪敤杩囨护浜屽眰鏂规硶 }, // 杩囨护鐖惰妭鐐� / 瀛愯妭鐐� (濡傛灉杈撳叆鐨勫弬鏁版槸鐖惰妭鐐逛笖鑳藉尮閰嶏紝鍒欒繑鍥炶鑺傜偣浠ュ強鍏朵笅鐨勬墍鏈夊瓙鑺傜偣锛涘鏋滃弬鏁版槸瀛愯妭鐐癸紝鍒欒繑鍥炶鑺傜偣鐨勭埗鑺傜偣銆俷ame鏄腑鏂囧瓧绗︼紝enName鏄嫳鏂囧瓧绗�. - chooseNode (value, data, node) { + chooseNode(value, data, node) { if (data.label.indexOf(value) !== -1) { return true } diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue index 046c120..ea3b1cd 100644 --- a/src/views/structural/capabilityAndLaboratory/capability/index.vue +++ b/src/views/structural/capabilityAndLaboratory/capability/index.vue @@ -97,7 +97,8 @@ <EditForm ref="editForm" @refreshList="refreshList1"></EditForm> <testObjectEditForm ref="testObjectEditForm" @refreshList="refreshList"></testObjectEditForm> <BindPartDialog v-if="bindPartDialog" :bindPartDialog="bindPartDialog" :currentRow="currentRow" :type="type" - @closeBindPartDialog="closeBindPartDialog"></BindPartDialog> + @closeBindPartDialog="closeBindPartDialog" :currentObj="currentObj"> + </BindPartDialog> <BindSupplierDensityDialog v-if="bindSupplierDensityDialog" :bindSupplierDensityDialog="bindSupplierDensityDialog" :currentRow="currentSupplierDensityRow" @closeBindPartDialog="closeBindSupplierDensityDialog"> </BindSupplierDensityDialog> @@ -232,7 +233,7 @@ { label: '妫�楠屽璞�', prop: 'specimenName' }, { label: '妫�楠屽璞N', prop: 'specimenNameEn' }, { label: '浜у搧', prop: 'product' }, - { label: '瀵硅薄浠e彿', prop: 'code' }, + // { label: '瀵硅薄浠e彿', prop: 'code' }, { label: '瀵硅薄绫诲瀷', prop: 'objectType', dataType: 'tag', @@ -274,13 +275,13 @@ this.upProduct(row); }, }, - // { - // name: '闆朵欢缁戝畾', - // type: 'text', - // clickFun: (row) => { - // this.bindPartFirst(row); - // }, - // }, + { + name: '闆朵欢缁戝畾', + type: 'text', + clickFun: (row) => { + this.bindPartFirst(row); + }, + }, ] } ], @@ -343,13 +344,13 @@ } } }, - { - name: '鍘傚瀵嗗害缁戝畾', - type: 'text', - clickFun: (row) => { - this.bindSupplierDensitySecond(row); - }, - }, + // { + // name: '鍘傚瀵嗗害缁戝畾', + // type: 'text', + // clickFun: (row) => { + // this.bindSupplierDensitySecond(row); + // }, + // }, ] } ], @@ -674,6 +675,7 @@ this.bindPart(row, 1) }, bindWokshop(row) { + this.workshopForm.workShopId = row.workShopId this.currentProduct = row; this.workshopVisible = true }, @@ -688,6 +690,9 @@ }, // 鎵撳紑闆朵欢缁戝畾寮规 bindPart(row, index) { + if (index == 0) { + this.currentObj = row + } this.type = index this.currentRow = row this.bindPartDialog = true diff --git a/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue b/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue index 4755b92..b060f50 100644 --- a/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue +++ b/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue @@ -30,9 +30,8 @@ <el-col :span="12"> <el-form-item label="妫�楠屽璞★細" prop="sample"> <el-cascader v-model="editForm.sample" :options="itemParameterData.cascaderField.sample.tree" - :props="{value:'name',label:'name',checkStrictly: true, multiple: true}" - :show-all-levels="false" clearable - filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;"></el-cascader> + :props="{ value: 'name', label: 'name', checkStrictly: true, multiple: true }" :show-all-levels="false" + clearable filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;"></el-cascader> </el-form-item> </el-col> <el-col :span="12"> @@ -45,14 +44,16 @@ <el-col :span="12"> <el-form-item label="鍦烘墍锛�" prop="laboratory"> <el-select v-model="editForm.laboratory" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label" :value="item.label"></el-option> + <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label" + :value="item.label"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="璇曢獙瀹わ細" prop="sonLaboratory"> <el-select v-model="editForm.sonLaboratory" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in dict.type.sys_sub_lab" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-option v-for="item in dict.type.sys_sub_lab" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> @@ -73,7 +74,8 @@ <el-col :span="12"> <el-form-item label="璁¢噺鍗曚綅锛�" prop="unit"> <el-select v-model="editForm.unit" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in dict.type.sys_unit" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-option v-for="item in dict.type.sys_unit" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> @@ -98,15 +100,19 @@ <el-row> <el-col :span="12"> <el-form-item label="妫�楠岄」绫诲瀷锛�" prop="inspectionItemType"> - <el-select v-model="editForm.inspectionItemType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in dict.type.inspection_item_type" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-select v-model="editForm.inspectionItemType" clearable placeholder="璇烽�夋嫨" size="small" + style="width: 100%"> + <el-option v-for="item in dict.type.inspection_item_type" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="妫�楠屽�肩被鍨嬶細" prop="inspectionValueType"> - <el-select v-model="editForm.inspectionValueType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in dict.type.inspection_value_type" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-select v-model="editForm.inspectionValueType" clearable placeholder="璇烽�夋嫨" size="small" + style="width: 100%"> + <el-option v-for="item in dict.type.inspection_value_type" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> @@ -115,14 +121,16 @@ <el-col :span="12"> <el-form-item label="鐗规畩鏍囪瘑锛�" prop="bsm"> <el-select v-model="editForm.bsm" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="鍘熷璁板綍妯℃澘锛�" prop="templateId"> <el-select v-model="editForm.templateId" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in templateIdList" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-option v-for="item in templateIdList" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> @@ -142,18 +150,19 @@ <el-row> <el-col :span="12"> <el-form-item label="璇曢獙鏂规硶锛�" prop="method"> - <el-select v-model="editForm.method" clearable multiple placeholder="璇烽�夋嫨" size="small" style="width: 100%"> - <el-option v-for="item in methodList" :key="item.value" :label="item.label" :value="item.label"></el-option> + <el-select v-model="editForm.method" clearable multiple placeholder="璇烽�夋嫨" size="small" + style="width: 100%"> + <el-option v-for="item in methodList" :key="item.value" :label="item.label" + :value="item.label"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鏉′欢锛�" prop="radiusList"> + <el-form-item label="璇曢獙鏉′欢锛�" prop="radiusList"> <el-select v-model="editForm.radiusList" allow-create default-first-option filterable multiple - placeholder="璇烽�夋嫨" - size="small" - style="width: 100%"> - <el-option v-for="item in radiusListList" :key="item.value" :label="item.label" :value="item.value"></el-option> + placeholder="璇烽�夋嫨" size="small" style="width: 100%"> + <el-option v-for="item in radiusListList" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </el-form-item> </el-col> @@ -165,13 +174,13 @@ </el-form-item> </el-col> </el-row> -<!-- <el-col :span="12">--> -<!-- <el-form-item label="瀛楀吀绫诲瀷锛�" prop="dic">--> -<!-- <el-select v-model="editForm.dic" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">--> -<!-- <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option>--> -<!-- </el-select>--> -<!-- </el-form-item>--> -<!-- </el-col>--> + <!-- <el-col :span="12">--> + <!-- <el-form-item label="瀛楀吀绫诲瀷锛�" prop="dic">--> + <!-- <el-select v-model="editForm.dic" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">--> + <!-- <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option>--> + <!-- </el-select>--> + <!-- </el-form-item>--> + <!-- </el-col>--> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="closeDia">鍙� 娑�</el-button> @@ -190,7 +199,7 @@ obtainItemParameterList, upItemParameter } from "@/api/structural/capability"; -import {selectStandardMethods} from "@/api/structural/standardMethod"; +import { selectStandardMethods } from "@/api/structural/standardMethod"; export default { name: "EditForm", @@ -267,7 +276,7 @@ }, // 鏂规硶闆嗗悎 methods: { - openDia (type, row) { + openDia(type, row) { this.operationType = type this.editFormDia = true this.obtainItemParameterList() // 鍦烘墍绫诲瀷 @@ -277,29 +286,29 @@ if (type === 'add') { this.editForm = { inspectionItem: '', // 妫�楠岄」 - inspectionItemEn: '', // 妫�楠岄」EN - inspectionItemSubclass: '', // 妫�楠屽瓙椤� - inspectionItemSubclassEn: '', // 妫�楠屽瓙椤笶N - sample: [], // 妫�楠屽璞� - price: '', // 鍗曚环 - laboratory: '', // 鍦烘墍 - sonLaboratory: '', // 璇曢獙瀹� - askTell: '', // 瑕佹眰鎻忚堪 - ask: '', // 瑕佹眰鍊� - unit: '', // 璁¢噺鍗曚綅 - manHour: '', // 宸ユ椂 - manDay: '', // 棰勮鏃堕棿 - manHourGroup: '', // 宸ユ椂鍒嗙粍 - inspectionItemType: '', // 妫�楠岄」绫诲瀷 - inspectionValueType: '', // 妫�楠屽�肩被鍨� - dic: '', // 瀛楀吀绫诲瀷 - bsm: '', // 鐗规畩鏍囪瘑 - templateId: '', // 鍘熷璁板綍妯℃澘 - inspectionItemClass: '', // 妫�楠岄」鍒嗙被 - inspectionItemClassEn: '', // 妫�楠岄」鍒嗙被EN - method: '', // 璇曢獙鏂规硶 - radiusList: [], // 鏉′欢 - rates: '', // 鏉′欢 + inspectionItemEn: '', // 妫�楠岄」EN + inspectionItemSubclass: '', // 妫�楠屽瓙椤� + inspectionItemSubclassEn: '', // 妫�楠屽瓙椤笶N + sample: [], // 妫�楠屽璞� + price: '', // 鍗曚环 + laboratory: '', // 鍦烘墍 + sonLaboratory: '', // 璇曢獙瀹� + askTell: '', // 瑕佹眰鎻忚堪 + ask: '', // 瑕佹眰鍊� + unit: '', // 璁¢噺鍗曚綅 + manHour: '', // 宸ユ椂 + manDay: '', // 棰勮鏃堕棿 + manHourGroup: '', // 宸ユ椂鍒嗙粍 + inspectionItemType: '', // 妫�楠岄」绫诲瀷 + inspectionValueType: '', // 妫�楠屽�肩被鍨� + dic: '', // 瀛楀吀绫诲瀷 + bsm: '', // 鐗规畩鏍囪瘑 + templateId: '', // 鍘熷璁板綍妯℃澘 + inspectionItemClass: '', // 妫�楠岄」鍒嗙被 + inspectionItemClassEn: '', // 妫�楠岄」鍒嗙被EN + method: '', // 璇曢獙鏂规硶 + radiusList: [], // 鏉′欢 + rates: '', // 鏉′欢 } this.resetForm('editForm') } else { @@ -310,7 +319,7 @@ } }, // 鎻愪氦缂栬緫 - handleEdit () { + handleEdit() { this.$refs.editForm.validate(valid => { if (valid) { this.editLoad = true @@ -322,7 +331,7 @@ } else { obj.radiusList = null } - if(obj.id){ + if (obj.id) { // 淇敼 upItemParameter(obj).then(res => { this.editLoad = false @@ -335,7 +344,7 @@ }).catch(e => { this.editLoad = false }) - }else{ + } else { // 鏂板 addItemParameter(obj).then(res => { this.editLoad = false @@ -353,31 +362,31 @@ }) }, // 鍏抽棴寮规 - closeDia () { + closeDia() { this.editFormDia = false this.resetForm("editForm"); }, selectTestObjectByName() { getItemTree().then(res => { if (res.data.length > 0) { - res.data.forEach(a=>{ + res.data.forEach(a => { this.cascaderFieldData(a) }) this.itemParameterData.cascaderField.sample.tree = res.data } }) }, - cascaderFieldData(val){ - if(val.children === undefined) { + cascaderFieldData(val) { + if (val.children === undefined) { return - }else if(val.children.length==0){ + } else if (val.children.length == 0) { val.label = val.name val.value = val.id delete val.children - }else{ + } else { val.label = val.name val.value = val.id - val.children.forEach(a=>{ + val.children.forEach(a => { a.label = a.name a.value = a.id this.cascaderFieldData(a) @@ -387,28 +396,28 @@ getSelectStandardMethods() { selectStandardMethods().then(res => { let data = [] - if (res.data.length > 0) { - res.data.forEach(a => { - data.push({ - label: a.code, - value: a.id, - }) + if (res.data.length > 0) { + res.data.forEach(a => { + data.push({ + label: a.code, + value: a.id, }) - this.methodList = data - } + }) + this.methodList = data + } }) }, obtainItemParameterList() { obtainItemParameterList().then(res => { let data = [] - if (res.data.length > 0) { - res.data.forEach(a => { - data.push({ - label: a.laboratoryName, - value: a.id - }) + if (res.data.length > 0) { + res.data.forEach(a => { + data.push({ + label: a.laboratoryName, + value: a.id }) - } + }) + } this.laboratoryList = data }) }, diff --git a/src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue b/src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue index bf2716e..92e3e56 100644 --- a/src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue +++ b/src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue @@ -1,22 +1,20 @@ <template> <div> <el-dialog title="闆朵欢缁戝畾" :visible.sync="isShow" width="800px" @close="$emit('closeBindPartDialog')"> - <lims-table :tableData="tableData" :column="column" height="460" - :page="page" :tableLoading="tableLoading"></lims-table> + <lims-table :tableData="tableData" :column="column" height="460" :page="page" :tableLoading="tableLoading" + :key="1"></lims-table> <span slot="footer" class="dialog-footer"> <el-button @click="$emit('closeBindPartDialog')">鍙� 娑�</el-button> <el-button type="primary" @click="addBindPart('add')" :loading="addBindLoad">鏂� 澧�</el-button> </span> </el-dialog> <el-dialog :title="dialogTitle" :visible.sync="addBindPartDialog" width="400px" @close="closeBindPartDialog" - :close-on-click-modal="false" > + :close-on-click-modal="false"> <div class="body" v-if="addBindPartDialog"> - <el-form label-position="right" label-width="80px" - ref="bindPartData" - :rules="bindPartDataRules" - :model="bindPartData"> + <el-form label-position="right" label-width="80px" ref="bindPartData" :rules="bindPartDataRules" + :model="bindPartData"> <el-form-item label="闆朵欢鍙凤細" prop="partNo"> - <el-input v-model="bindPartData.partNo" size="small"></el-input> + <el-input v-model="bindPartData.partNo" size="small" :disabled="dialogTitle == '淇敼闆朵欢缁戝畾'"></el-input> </el-form-item> <el-form-item label="棰滆壊锛�" prop="color"> <el-input v-model="bindPartData.color" size="small"></el-input> @@ -24,12 +22,30 @@ <el-form-item label="鑹叉爣锛�" prop="colorCode"> <el-input v-model="bindPartData.colorCode" size="small"></el-input> </el-form-item> + <el-form-item label="杩涘巶妫�楠岄」锛�" prop="inspectionItem" v-if="currentObj.objectType == '鍘熸潗鏂�'" label-width="100px"> + <!-- <el-input v-model="bindPartData.inspectionItem" disabled placeholder="閫夋嫨妫�楠岄」" size="small"> + <template slot="append"> + <el-button slot="append" icon="el-icon-search" @click="openItems"></el-button> + </template> +</el-input> --> + <el-select v-model="bindPartData.inspectionItem" multiple collapse-tags placeholder="璇烽�夋嫨" size="small"> + <el-option v-for="item in itemList" :key="item.inspectionItem" :label="item.inspectionItem" + :value="item.inspectionItem"> + </el-option> + </el-select> + </el-form-item> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button @click="closeBindPartDialog">鍙� 娑�</el-button> <el-button type="primary" @click="submitBind" :loading="bindLoad">纭� 璁�</el-button> </span> + </el-dialog> + <el-dialog title="淇敼璁板綍" :visible.sync="editItem" width="600px"> + <div class="body" v-if="editItem"> + <lims-table :tableData="editList" :column="editColumn" height="460px" :tableLoading="tableLoading0" :key="2" + :page="editPage" @pagination="editPagination"></lims-table> + </div> </el-dialog> </div> </template> @@ -40,14 +56,13 @@ addProductPart, addTestObjectPart, deleteProductPart, deleteTestObjectPart, selectByProductId, - selectByTestObjectId, updateProductPart, updateTestObjectPart + selectByTestObjectId, updateProductPart, updateTestObjectPart, inspectionItems, productPartReview } from "@/api/structural/structureTestObjectPart"; -import {delProduct} from "@/api/structural/capability"; export default { name: "bindPartDialog", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {limsTable}, + components: { limsTable }, props: { bindPartDialog: { type: Boolean, @@ -57,10 +72,14 @@ type: Number, default: () => null }, - currentRow : { // 閫夋嫨鏈潯鏁版嵁鐨勪俊鎭� + currentRow: { // 閫夋嫨鏈潯鏁版嵁鐨勪俊鎭� type: Object, - default: () => {} - } + default: () => { } + }, + currentObj: {//褰撳墠瀵硅薄 + type: Object, + default: () => { } + }, }, data() { // 杩欓噷瀛樻斁鏁版嵁 @@ -71,9 +90,20 @@ tableData: [], tableLoading: false, column: [ - {label: '闆朵欢鍙�', prop: 'partNo'}, - {label: '棰滆壊', prop: 'color'}, - {label: '鑹叉爣', prop: 'colorCode'}, + { label: '闆朵欢鍙�', prop: 'partNo' }, + { label: '棰滆壊', prop: 'color' }, + { label: '鑹叉爣', prop: 'colorCode' }, + { + label: '鐘舵��', prop: 'review', + dataType: "tag", + formatType: (params) => { + if (params == '寰呭鏍�') { + return 'danger' + } else { + return 'success' + } + }, + }, { dataType: 'action', fixed: 'right', @@ -93,13 +123,40 @@ this.delete(row); }, }, + { + name: '澶嶆牳', + type: 'text', + clickFun: (row) => { + this.$confirm("鏄惁澶嶆牳閫氳繃?", "澶嶆牳", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + productPartReview({ id: row.id }).then((res) => { + if (res.code == 200) { + this.$message.success("澶嶆牳閫氳繃"); + this.getList()(); + } + }); + }) + .catch(() => { }); + }, + }, + { + name: '璁板綍', + type: 'text', + clickFun: (row) => { + this.lookList(row); + }, + }, ] } ], page: { - total:0, - size:10, - current:1, + total: 0, + size: 10, + current: 1, layout: 'total, prev, pager, next' }, bindPartComponent: { @@ -135,6 +192,7 @@ partNo: '', // 闆朵欢鍙� color: '', // 棰滆壊 colorCode: '', // 鑹叉爣 + inspectionItem: [],//鍘熸潗鏂欒繘鍘傛楠屽璞″垪琛� }, bindPartDataRules: { partNo: [ @@ -143,19 +201,60 @@ }, bindLoad: false, upIndex: 0, + addBindLoad: false, + itemList: [],//鍘熸潗鏂欒繘鍘傛楠屽璞″垪琛� + editItem: false, + editList: [], + editColumn: [ + { label: '闆朵欢鍙�', prop: 'inspectionItem' }, + { label: '棰滆壊', prop: 'inspectionItemSubclass' }, + { label: '鑹叉爣', prop: 'ask' }, + { label: '杩涘巶妫�楠岄」', prop: 'askTell' }, + { label: '淇敼鏃堕棿', prop: 'method' }, + { label: '淇敼浜�', prop: 'method' }, + ], + editPage: { + total: 0, + size: 10, + current: 0, + }, + tableLoading0: false, + // mutilSelect: [] } }, mounted() { this.getList() + this.getItemList() }, // 鏂规硶闆嗗悎 methods: { + getItemList() { + // this.tableLoading0 = true; + inspectionItems({ + sample: this.currentObj.specimenName, + productName: this.type == 0 ? null : this.currentRow.name + }).then(res => { + this.itemList = res.data + // this.tableLoading0 = false; + }) + }, + // 淇敼璁板綍 + lookList() { + this.editItem = true; + this.getEditList() + }, + getEditList() { }, + editPagination() { + this.editPage.current = page; + this.editPage.size = limit; + this.getEditList(); + }, getList() { this.tableLoading = true // 鏍规嵁绫诲瀷鍒ゆ柇鏄楠屽璞¢浂浠剁粦瀹氳繕鏄骇鍝佺淮鎶ら浂浠剁粦瀹� if (this.type === 0) { - selectByTestObjectId({testObjectId: this.currentRow.id}).then(res => { + selectByTestObjectId({ testObjectId: this.currentRow.id }).then(res => { this.tableLoading = false if (res.code === 200) { this.tableData = res.data.records @@ -165,7 +264,7 @@ this.tableLoading = false }) } else { - selectByProductId({productId: this.currentRow.id}).then(res => { + selectByProductId({ productId: this.currentRow.id }).then(res => { this.tableLoading = false if (res.code === 200) { this.tableData = res.data.records @@ -176,16 +275,17 @@ }) } }, - addBindPart (type, row) { + addBindPart(type, row) { this.addBindPartDialog = true this.dialogTitle = type === 'add' ? '鏂板闆朵欢缁戝畾' : '淇敼闆朵欢缁戝畾' this.operationType = type if (type === 'edit') { this.bindPartData = this.HaveJson(row) + this.bindPartData.inspectionItem = this.bindPartData.inspectionItem ? this.bindPartData.inspectionItem.split(',') : [] } }, // 鎻愪氦闆朵欢缁戝畾 - submitBind () { + submitBind() { this.$refs['bindPartData'].validate((valid) => { if (valid) { // 鏍规嵁绫诲瀷鍒ゆ柇鏄楠屽璞¢浂浠剁粦瀹氳繕鏄骇鍝佺淮鎶ら浂浠剁粦瀹� @@ -194,16 +294,19 @@ color: this.bindPartData.color, colorCode: this.bindPartData.colorCode, partNo: this.bindPartData.partNo, - } : { + inspectionItem: this.bindPartData.inspectionItem && this.bindPartData.inspectionItem.length > 0 ? this.bindPartData.inspectionItem.join(',') : '' + } : { productId: this.currentRow.id, color: this.bindPartData.color, colorCode: this.bindPartData.colorCode, partNo: this.bindPartData.partNo, + inspectionItem: this.bindPartData.inspectionItem && this.bindPartData.inspectionItem.length > 0 ? this.bindPartData.inspectionItem.join(',') : '' } this.bindLoad = true if (this.operationType === 'add') { if (this.type === 0) { addTestObjectPart(params).then(res => { + this.bindLoad = false if (res.code === 200) { this.resetForm('bindPartData') this.addBindPartDialog = false @@ -260,21 +363,21 @@ } }) }, - delete (row) { + delete(row) { this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { if (this.type === 0) { - deleteTestObjectPart({id:row.id}).then(res => { + deleteTestObjectPart({ id: row.id }).then(res => { if (res.code === 200) { this.$message.success('鍒犻櫎鎴愬姛') this.getList(); } }) } else { - deleteProductPart({id:row.id}).then(res => { + deleteProductPart({ id: row.id }).then(res => { if (res.code === 200) { this.$message.success('鍒犻櫎鎴愬姛') this.getList(); @@ -288,13 +391,23 @@ }); }) }, - closeBindPartDialog () { + closeBindPartDialog() { this.resetForm('bindPartData') this.addBindPartDialog = false }, + // openItems() { + // this.mutilSelect = this.bindPartData.inspectionItem ? this.bindPartData.inspectionItem.split(',') : [] + // this.$refs.itemTable.toggleRowSelection(this.mutilSelect) + // this.addBindItem = true; + // }, + // submitBindItem() { + // this.bindPartData.inspectionItem = this.mutilSelect.join(',') + // }, + // handleSelectionChange(val) { + // this.mutilSelect = val + // } }, } </script> -<style scoped> -</style> +<style scoped></style> diff --git a/src/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue b/src/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue index 3a8bfe1..ecdd9f2 100644 --- a/src/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue +++ b/src/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue @@ -15,9 +15,9 @@ <el-form-item label="妫�楠屽璞N锛�" prop="specimenNameEn"> <el-input v-model="editForm.specimenNameEn" clearable size="small"></el-input> </el-form-item> - <el-form-item label="瀵硅薄浠e彿锛�" prop="code"> + <!-- <el-form-item label="瀵硅薄浠e彿锛�" prop="code"> <el-input v-model="editForm.code" clearable size="small"></el-input> - </el-form-item> + </el-form-item> --> <el-form-item label="瀵硅薄绫诲瀷锛�" prop="objectType"> <el-select v-model="editForm.objectType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%"> <el-option v-for="item in dict.type.product_classification" :key="item.value" :label="item.label" @@ -53,7 +53,7 @@ laboratoryId: '', // 鍦烘墍 specimenName: '', // 妫�楠屽璞� specimenNameEn: '', // 妫�楠屽璞N - code: '', // 瀵硅薄浠e彿 + // code: '', // 瀵硅薄浠e彿 objectType: '', // 瀵硅薄绫诲瀷 }, laboratoryList: [], @@ -64,9 +64,9 @@ specimenName: [ { required: true, message: '璇疯緭鍏ユ楠屽璞�', trigger: 'blur' } ], - code: [ - { required: true, message: '璇疯緭鍏ュ璞′唬鍙�', trigger: 'blur' } - ], + // code: [ + // { required: true, message: '璇疯緭鍏ュ璞′唬鍙�', trigger: 'blur' } + // ], }, operationType: '' } diff --git a/src/views/structural/capabilityAndLaboratory/workshop/components/fileList.vue b/src/views/structural/capabilityAndLaboratory/workshop/components/fileList.vue index 5d420d3..11287cd 100644 --- a/src/views/structural/capabilityAndLaboratory/workshop/components/fileList.vue +++ b/src/views/structural/capabilityAndLaboratory/workshop/components/fileList.vue @@ -10,15 +10,21 @@ </div> <lims-table :tableData="tableDataFile" :column="columnFile" height="500px" key="tableDataFile" :tableLoading="tableLoadingFile"></lims-table> + <el-dialog title="鏌ョ湅闄勪欢" :visible.sync="lookDialogVisible" width="800px" top="5vh" fullscreen append-to-body> + <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.fileUrl" :currentFile="{}" + style="max-height: 90vh;overflow-y: auto;" /> + </el-dialog> </div> </template> <script> import limsTable from "@/components/Table/lims-table.vue"; import { fileList, delFile } from "@/api/structural/workshop.js" +import filePreview from "@/components/Preview/filePreview.vue"; export default { components: { limsTable, + filePreview, }, props: ['currentId'], computed: { @@ -75,11 +81,21 @@ this.delete(row); } }, + { + name: '棰勮', + type: 'text', + clickFun: (row) => { + this.currentInfo = row + this.lookDialogVisible = true + } + }, ] } ], tableDataFile: [], tableLoadingFile: false, + lookDialogVisible: false, + currentInfo: {}, } }, mounted() { @@ -119,13 +135,7 @@ }, // 涓嬭浇闄勪欢鐨勬枃浠� handleDown(row) { - downFile({ - id: row.id, - }).then(res => { - this.$download.saveAs(res.data.fileUrl, row.fileName); - }).catch(error => { - - }) + this.$download.saveAs(row.fileUrl, row.fileName); }, // 鍒犻櫎闄勪欢鏂囦欢 delete(row) { diff --git a/src/views/structural/capabilityAndLaboratory/workshop/index.vue b/src/views/structural/capabilityAndLaboratory/workshop/index.vue index 12e0053..5ccdf89 100644 --- a/src/views/structural/capabilityAndLaboratory/workshop/index.vue +++ b/src/views/structural/capabilityAndLaboratory/workshop/index.vue @@ -2,7 +2,7 @@ <div class="workshop"> <div class="search"> <div class="search_thing"> - <div class="search_label">鍚嶇О锛�</div> + <div class="search_label">杞﹂棿鍚嶇О锛�</div> <div class="search_input"> <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.name" @keyup.enter.native="refreshTable()"></el-input> @@ -32,7 +32,7 @@ </span> </el-dialog> <el-dialog :visible.sync="filesDialogVisible" title="闄勪欢鏌ョ湅" width="80%"> - <fileList :currentId="id" /> + <fileList :currentId="id" v-if="filesDialogVisible" /> </el-dialog> </div> </template> @@ -223,7 +223,7 @@ } .search_label { - width: 70px; + width: 90px; font-size: 14px; text-align: right; } -- Gitblit v1.9.3