From bc0956b0fcfb1eb2709d6eb0f94c9e9d11c01eb3 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 07 九月 2023 16:28:38 +0800
Subject: [PATCH] modified: src/router/index.js modified: src/views/laboratory/organizational/index.vue modified: src/views/laboratory/role/index.vue modified: src/views/standardLibrary/index.vue
---
src/views/standardLibrary/index.vue | 1257 +++++++++++++++++++++++++++++----------------------------
src/views/laboratory/role/index.vue | 1
src/views/laboratory/organizational/index.vue | 1
src/router/index.js | 14
4 files changed, 647 insertions(+), 626 deletions(-)
diff --git a/src/router/index.js b/src/router/index.js
index 18015f1..da62bb5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -48,7 +48,7 @@
path: 'index',
name: 'StandardLibrary',
component: () => import('@/views/standardLibrary/index'),
- meta: { title: '鏍囧噯搴�', icon: 'el-icon-s-help' }
+ meta: { title: '鏍囧噯搴�', icon: 'el-icon-s-management' }
},
// {
// path: 'specificationDetails/:id',
@@ -64,7 +64,7 @@
component: Layout,
redirect: '/inspectionManagement/commissionInspection',
name: 'InspectionManagement',
- meta: { title: '鎶ユ绠$悊', icon: 'el-icon-s-help' },
+ meta: { title: '鎶ユ绠$悊', icon: 'el-icon-s-order' },
children: [
{
path: 'commissionInspection',
@@ -85,7 +85,7 @@
component: Layout,
redirect: '/experiment/inspectionApplication',
name: 'Experiment',
- meta: { title: '璇曢獙绠$悊', icon: 'el-icon-s-help' },
+ meta: { title: '璇曢獙绠$悊', icon: 'el-icon-s-marketing' },
children: [
{
path: 'inspectionApplication',
@@ -143,7 +143,7 @@
component: Layout,
redirect: '/laboratory/ledger',
name: 'Laboratory',
- meta: { title: '瀹為獙瀹ょ鐞�', icon: 'el-icon-s-help' },
+ meta: { title: '瀹為獙瀹ょ鐞�', icon: 'el-icon-cpu' },
children: [
{
path: 'ledger',
@@ -221,7 +221,7 @@
component: Layout,
redirect: '/chart/center',
name: 'Chart',
- meta: { title: '鏅鸿兘鍥捐〃', icon: 'el-icon-s-help' },
+ meta: { title: '鏅鸿兘鍥捐〃', icon: 'el-icon-s-data' },
children: [
{
path: 'center',
@@ -261,7 +261,7 @@
name: 'ToDo',
component: () => import('@/views/message/toDo/index'),
// meta: { title: '娑堟伅寰呭姙', icon: 'tree' }
- meta: { title: '鎴戠殑寰呭姙', icon: 'el-icon-s-help' },
+ meta: { title: '鎴戠殑寰呭姙', icon: 'el-icon-s-promotion' },
},
// {
// path: 'message',
@@ -282,7 +282,7 @@
name: 'MyInformation',
component: () => import('@/views/personal/myInformation/index'),
// meta: { title: '涓汉绠$悊', icon: 'el-icon-s-help' }
- meta: { title: '鎴戠殑淇℃伅', icon: 'el-icon-s-help' }
+ meta: { title: '鎴戠殑淇℃伅', icon: 'el-icon-user-solid' }
},
// {
// path: 'myBusiness',
diff --git a/src/views/laboratory/organizational/index.vue b/src/views/laboratory/organizational/index.vue
index b8e8d8a..b5cf795 100644
--- a/src/views/laboratory/organizational/index.vue
+++ b/src/views/laboratory/organizational/index.vue
@@ -315,6 +315,7 @@
}
.filter-tree {
margin-top: 6px;
+ // display: inline-block;
}
.table_top_div {
height: 80px;
diff --git a/src/views/laboratory/role/index.vue b/src/views/laboratory/role/index.vue
index 8c13e3a..b1f41c3 100644
--- a/src/views/laboratory/role/index.vue
+++ b/src/views/laboratory/role/index.vue
@@ -440,6 +440,7 @@
res.data.list.forEach(item => {
item.roleId = String(item.roleId)
})
+ console.log(res.data);
this.roleTable = res.data.list
this.total = res.data.total
},
diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue
index 2bfd5e1..c515bee 100644
--- a/src/views/standardLibrary/index.vue
+++ b/src/views/standardLibrary/index.vue
@@ -4,10 +4,11 @@
<div class="library-bom" style="width: 300px">
<el-row :gutter="10">
<el-col :span="19">
- <el-input size="small" clearable v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input>
+ <el-input size="small" clearable v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input>
</el-col>
<el-col :span="5">
- <el-button size="small" type="primary" icon="el-icon-plus" @click="addTreeFormVisible = true"></el-button>
+ <el-button size="small" type="primary" icon="el-icon-plus"
+ @click="addTreeFormVisible = true"></el-button>
</el-col>
</el-row>
<el-button size="small" type="text">鍏ㄩ儴</el-button>
@@ -39,9 +40,8 @@
<el-table-column label="椤圭洰鍚嶇О" sortable>
<template scope="scope">
<el-tag>
- <div class="firstDiv" :style="`color: ${
- scope.row.code == '[1]' ? '#16a7ff' : '#58c173'
- }`">
+ <div class="firstDiv" :style="`color: ${scope.row.code == '[1]' ? '#16a7ff' : '#58c173'
+ }`">
{{ scope.row.code == "[1]" ? "01" : "02" }}
</div>
<span style="color: black">{{ scope.row.name }}</span>
@@ -51,14 +51,16 @@
<el-table-column prop="unit" label="鍗曚綅" sortable></el-table-column>
<el-table-column label="鏍囧噯鍊�" sortable>
<template scope="scope">
- <el-input v-if="scope.row.edit === true || scope.row.code === '[2]'" @blur="requiredOnfocus(scope)"
- v-model="scope.row.required" placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input>
+ <el-input v-if="scope.row.edit === true || scope.row.code === '[2]'"
+ @blur="requiredOnfocus(scope)" v-model="scope.row.required"
+ placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input>
</template>
</el-table-column>
<el-table-column prop="internal" label="鍐呮帶鍊�" sortable>
<template scope="scope">
- <el-input v-if="scope.row.edit === true || scope.row.code === '[2]'" @blur="requiredOnfocus(scope)"
- v-model="scope.row.internal" placeholder="璇疯緭鍏ュ唴鎺у��"></el-input>
+ <el-input v-if="scope.row.edit === true || scope.row.code === '[2]'"
+ @blur="requiredOnfocus(scope)" v-model="scope.row.internal"
+ placeholder="璇疯緭鍏ュ唴鎺у��"></el-input>
</template>
</el-table-column>
</el-table>
@@ -72,17 +74,17 @@
<el-dialog class="addTree" title="娣诲姞鏍囧噯鎸囨爣" width="28%" :visible.sync="addTreeFormVisible">
<el-form v-model="addTreeForm" label-position="top">
<el-form-item label="鏍囧噯绫诲瀷">
- <el-cascader v-model="addTreeForm.addTypeArr" :options="formTypeOptions"
- :props="{ ...defaultProps, checkStrictly: true }" clearable @change="changeCascader"/>
+ <el-cascader v-model="addTreeForm.addTypeArr" :options="formTypeOptions"
+ :props="{ ...defaultProps, checkStrictly: true }" clearable @change="changeCascader" />
</el-form-item>
<el-form-item v-show="addTreeForm.addTypeArr.length < 2" label="鐗╂枡鍚嶇О">
<el-input @change="changeSample" v-model="addTreeForm.materialName" />
</el-form-item>
<el-form-item v-show="addTreeForm.addTypeArr.length < 3" label="鎵ц鏍囧噯">
- <el-input v-model="addTreeForm.standardName" />
+ <el-input v-model="addTreeForm.standardName" />
</el-form-item>
<el-form-item v-show="addTreeForm.addTypeArr.length < 4" label="瑙勬牸鍨嬪彿">
- <el-input v-model="addTreeForm.specificationsName" />
+ <el-input v-model="addTreeForm.specificationsName" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -101,7 +103,8 @@
<el-col :span="12">
<el-form-item prop="name">
<span>椤圭洰鍚嶇О锛�</span>
- <el-input style="width: calc(100% - 70px);" v-model="form.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
+ <el-input style="width: calc(100% - 70px);" v-model="form.name"
+ placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -121,666 +124,682 @@
</template>
<script>
- import {
- getMaterialList,
- getProductList,
- addMaterial,
- addStandards,
- addSpecifications,
- deleteListApi,
- blurUpdateApi,
- getVersion,
- addVersion,
- addProduct
- } from "@/api/standardLibrary";
- import {
- addStandardProjectGroupApi,
- } from "@/api/basicData/index";
- export default {
- data() {
- return {
- projectGroupingOptions:[],
- form: {
- father: "", // 椤圭洰鍒嗙粍
- name: "", // 椤圭洰鍚嶇О
- unit: "", // 鍗曚綅
- },
- rules: {
- fater:[{required:true,message:"璇烽�夋嫨椤圭洰鍚嶇О",trigger:"blur"}],
- name: [
- {required: true,message: "璇疯緭鍏ラ」鐩悕绉�",trigger: "blur"},
- {min: 2,max: 25,message: "闀垮害鍦� 2 鍒� 25 涓瓧绗�",trigger: "blur",},
- ],
- unit: [
- {required: true,message: "璇疯緭鍏ュ崟浣�",trigger: "blur"},
- {min: 1,max: 25,message: "闀垮害鍦� 1 鍒� 25 涓瓧绗�",trigger: "blur"}
- ],
- },
- centerDialogVisible : false,
- filterNodeData: [],
- options: [],
- versionValue: "",
- deleteList: [],
- msg: "",
- isAllSelect: false,
- addTreeFormVisible: false,
- filterText: "",
- // 鏍囧噯搴揵om鏍�
- standardTree: [],
- // bom鐨�,榛樿閰嶇疆鍊�
- defaultProps: {
- children: "children",
- label: "name",
- value: "id",
- },
- tableData: [],
- oldtableData: [],
- tablespecifications: [],
- // 閫変腑鐨勮妭鐐规暟鎹�
- selectData: {},
- formTypeOptions: [],
- addTreeForm: {
- addTypeArr: [],
- specificationsName: "",
- materialName: "",
- standardName: "",
+import {
+ getMaterialList,
+ getProductList,
+ addMaterial,
+ addStandards,
+ addSpecifications,
+ deleteListApi,
+ blurUpdateApi,
+ getVersion,
+ addVersion,
+ addProduct
+} from "@/api/standardLibrary";
+import {
+ addStandardProjectGroupApi,
+} from "@/api/basicData/index";
+export default {
+ data() {
+ return {
+ projectGroupingOptions: [],
+ form: {
+ father: "", // 椤圭洰鍒嗙粍
+ name: "", // 椤圭洰鍚嶇О
+ unit: "", // 鍗曚綅
+ },
+ rules: {
+ fater: [{ required: true, message: "璇烽�夋嫨椤圭洰鍚嶇О", trigger: "blur" }],
+ name: [
+ { required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" },
+ { min: 2, max: 25, message: "闀垮害鍦� 2 鍒� 25 涓瓧绗�", trigger: "blur", },
+ ],
+ unit: [
+ { required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" },
+ { min: 1, max: 25, message: "闀垮害鍦� 1 鍒� 25 涓瓧绗�", trigger: "blur" }
+ ],
+ },
+ centerDialogVisible: false,
+ filterNodeData: [],
+ options: [],
+ versionValue: "",
+ deleteList: [],
+ msg: "",
+ isAllSelect: false,
+ addTreeFormVisible: false,
+ filterText: "",
+ // 鏍囧噯搴揵om鏍�
+ standardTree: [],
+ // bom鐨�,榛樿閰嶇疆鍊�
+ defaultProps: {
+ children: "children",
+ label: "name",
+ value: "id",
+ },
+ tableData: [],
+ oldtableData: [],
+ tablespecifications: [],
+ // 閫変腑鐨勮妭鐐规暟鎹�
+ selectData: {},
+ formTypeOptions: [],
+ addTreeForm: {
+ addTypeArr: [],
+ specificationsName: "",
+ materialName: "",
+ standardName: "",
+ }
+ };
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ },
+ addTreeFormVisible(newVal) {
+ if (newVal === false) {
+ this.clear();
+ }
+ },
+ centerDialogVisible: {
+ handler(newVal, oldVal) {
+ if (newVal == true) {
+ addStandardProjectGroupApi().then((res) => {
+ this.projectGroupingOptions = res.data;
+ });
+ } else {
+ // 璇锋眰鎴愬姛娓呴櫎鏁版嵁
+ this.form = {};
+ // 鎻愪氦鎴愬姛娓呴櫎妫�楠�
+ this.$refs.ruleForm.resetFields();
}
+ },
+ },
+ },
+ created() {
+ this.getStandardTree();
+ },
+ mounted() {
+
+ },
+ methods: {
+ querySearch(queryString, cb) {
+ var restaurants = []
+ this.projectGroupingOptions.forEach(a => {
+ restaurants.push({
+ value: a
+ })
+ })
+ var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
+ // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
+ cb(results);
+ },
+ createFilter(queryString) {
+ return (restaurant) => {
+ return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
};
},
- watch: {
- filterText(val) {
- this.$refs.tree.filter(val);
- },
- addTreeFormVisible(newVal){
- if(newVal === false){
- this.clear();
- }
- },
- centerDialogVisible: {
- handler(newVal, oldVal) {
- if (newVal == true) {
- addStandardProjectGroupApi().then((res) => {
- this.projectGroupingOptions = res.data;
- });
- } else {
- // 璇锋眰鎴愬姛娓呴櫎鏁版嵁
- this.form = {};
- // 鎻愪氦鎴愬姛娓呴櫎妫�楠�
- this.$refs.ruleForm.resetFields();
- }
- },
- },
+ clear() {
+ this.addTreeFormVisible = false;
+ this.addTreeForm.addTypeArr = [];
+ this.addTreeForm.specificationsName = '';
+ this.addTreeForm.materialName = ''
+ this.addTreeForm.standardName = ''
},
- created() {
- this.getStandardTree();
- },
- mounted() {
-
- },
- methods: {
- querySearch(queryString, cb) {
- var restaurants = []
- this.projectGroupingOptions.forEach(a => {
- restaurants.push({
- value: a
- })
- })
- var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
- // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
- cb(results);
- },
- createFilter(queryString) {
- return (restaurant) => {
- return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
- };
- },
- clear(){
- this.addTreeFormVisible = false;
- this.addTreeForm.addTypeArr=[];
- this.addTreeForm.specificationsName='';
- this.addTreeForm.materialName=''
- this.addTreeForm.standardName=''
- },
- changeSample(){
- let selectType=this.standardTree.filter(item=>{
- return item.id===this.addTreeForm.addTypeArr[0]
- })[0];
- if(this.addTreeForm.addTypeArr.length==1){
- let samples=selectType.children.filter(item=>{
- return item.name===this.addTreeForm.materialName
- })[0]
- if(samples===undefined||samples===[]){
- this.$message({
- message: '璇峰厛鍦ㄥ熀纭�鏁版嵁涓坊鍔犺銆�'+this.addTreeForm.materialName+'銆戞牱鍝�',
- type: 'warning'
- });
- return false;
- }
- }
- return true
- },
- oneSize(){},
- twoSize(){
- return true;
- },
- threeSize(){
- return true;
- },
- async initSelect() {
- this.options = [];
- this.versionValue = "";
- const response = await getVersion({
- specificationsId: this.selectData.id,
- });
- if (response.code === 200 && response.data.length > 0) {
- this.getTableByClick(this.selectData, response.data[0]);
- for (let i = 0; i < response.data.length; i++) {
- this.options.push({
- value: response.data[i],
- label: "V" + response.data[i],
- });
- this.versionValue = response.data[0];
- }
- }
- },
- changeSelect() {
- this.tableData = [];
- this.getTableByClick(this.selectData, this.versionValue);
- },
- async submitAdd(){
- await addProduct({
- father : this.form.father,
- name : this.form.name,
- specificationId: this.selectData.id,
- unit : this.form.unit,
- version : this.versionValue
- }).then(res=>{
- console.log(res);
- this.$message.success(res.message);
- this.centerDialogVisible = false;
- this.getTableByClick(this.selectData, this.versionValue);
- }).catch(error=>{
- this.$message.error(error.message);
- })
- },
- async insertVersion() {
- const resp = await addVersion({
- specificationsId: this.selectData.id,
- version: this.versionValue
- });
- if (resp.code === 200) {
- this.initSelect();
+ changeSample() {
+ let selectType = this.standardTree.filter(item => {
+ return item.id === this.addTreeForm.addTypeArr[0]
+ })[0];
+ if (this.addTreeForm.addTypeArr.length == 1) {
+ let samples = selectType.children.filter(item => {
+ return item.name === this.addTreeForm.materialName
+ })[0]
+ if (samples === undefined || samples === []) {
this.$message({
- type: "success",
- message: resp.message,
+ message: '璇峰厛鍦ㄥ熀纭�鏁版嵁涓坊鍔犺銆�' + this.addTreeForm.materialName + '銆戞牱鍝�',
+ type: 'warning'
});
+ return false;
}
- },
- addVersionFun() {
- this.$confirm("纭娣诲姞鏂扮殑鐗堟湰鍙峰悧?", "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(() => {
- this.insertVersion();
- })
- .catch(() => {});
- },
- filterNode(value, data,node) {
- if (!value) return true;
- return data.name.indexOf(value) !== -1;
- },
- // 鑾峰彇bom鏍戠殑鏍囧噯鏁版嵁
- async getStandardTree() {
- let {
- data
- } = await getMaterialList();
- if (data.length < 2) {
- if (data.length == 0) {
- data = [{
- type: 0
- }, {
- type: 1
- }]
- } else {
- data[1] = {
- type: data[0].type == 1 ? 0 : 1
- }
- }
- }
- this.standardTree = data.map((item) => {
- let name = null;
- switch (item.type) {
- case 0:
- name = "鍘熸潗鏂�";
- break;
- case 1:
- name = "鎴愬搧";
- break;
- }
- return {
- ...item,
- id: item.type,
- name,
- };
- });
- // formTypeOptions
- // 榛樿绗竴涓洓绾ц妭鐐规悳绱紝鏂板閰嶇疆椤�
- const treeOptions = JSON.parse(JSON.stringify(this.standardTree));
- this.getDefault(treeOptions, 0);
- this.formTypeOptions = treeOptions;
- this.$nextTick().then(() => {
- const firstNode = document.querySelector(
- ".el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node"
- );
- try {
- firstNode.click();
- } catch (e) {
- //TODO handle the exception
- }
- });
-
- },
- getDefault(arr, index) {
- for (const item of arr) {
- if (item.children && item.children?.length > 0) {
- // 鏈夊瓙鑺傜偣
- this.getDefault(item.children, index + 1);
- if (index === 2) {
- item.children = null;
- }
- }
- }
- },
- // 鐐瑰嚮bom鏍戣妭鐐规柟娉�
- async nodeClick(data, node, element) {
- // 鏄瓙鑺傜偣
- if (node.level === 4) {
- this.getParentData(node.parent, node.data.name);
- // 瀛樹笅閫変腑鑺傜偣
- this.selectData = data;
- this.getTableByClick(data, this.versionValue);
- this.initSelect();
- }
- if (!("children" in data)) {
- return;
- }
- },
- // 鑾峰彇鏍戣矾寰�
- getParentData(node, name) {
- if (node !== null) {
- if (node.data.name !== undefined) {
- this.msg = node.data.name + " > " + name;
- }
- this.getParentData(node.parent, this.msg);
- }
- },
- async getTableByClick(data, versionVal) {
- await getProductList({
- specificationsId: data.id,
- version: versionVal,
- }).then((res) => {
- res.data.forEach((i) => {
- if (i.name === undefined) {
- i.name = i.children[0].name;
- i.unit = i.children[0].unit;
- i.id = i.children[0].id;
- i.required = i.children[0].required;
- i.internal = i.children[0].internal;
- i.edit = true;
- delete i.children;
- }
+ }
+ return true
+ },
+ oneSize() { },
+ twoSize() {
+ return true;
+ },
+ threeSize() {
+ return true;
+ },
+ async initSelect() {
+ this.options = [];
+ this.versionValue = "";
+ const response = await getVersion({
+ specificationsId: this.selectData.id,
+ });
+ if (response.code === 200 && response.data.length > 0) {
+ this.getTableByClick(this.selectData, response.data[0]);
+ for (let i = 0; i < response.data.length; i++) {
+ this.options.push({
+ value: response.data[i],
+ label: "V" + response.data[i],
});
- this.tableData = res.data;
- this.selectDataList();
- });
- },
- specificationDetails(row) {
- // 璺宠浆浜у搧瑙勬牸璇︽儏椤�
- this.$router.push(`/standardLibrary/SpecificationDetails/${row.id}`);
- },
- renderContent(h, {
- node,
- data,
- store
- }) {
- // 鍒ゆ柇鏄惁鏄埗鑺傜偣鎴栨枃浠跺す
- const isFolder = "children" in data;
- return ( <span class="tree-node"> {
- isFolder ? ( <i class = {node.expanded ?"el-icon-folder-opened blue-folder" : "el-icon-folder blue-folder"} ></i>
- ) : ( <i class = "el-icon-document blue-folder" > </i>)
- } <div class = "tree-lable" > [{node.level}] {data.name} </div> </span>
- );
- },
- async subAddTreeForm() {
- if(this.addTreeForm.addTypeArr.length==0){
- this.$message({
- message: '璇峰厛閫夋嫨鏍囧噯绫诲瀷锛�',
- type: 'warning'
- });
- return
+ this.versionValue = response.data[0];
}
- let handelerSample=this.changeSample()
- if(!handelerSample){
- return;
- }
- let res = null;
- try {
- switch (this.addTreeForm.addTypeArr.length) {
- case 1:
- res = await addMaterial({
- ...this.addTreeForm,
- type: this.addTreeForm.addTypeArr[0],
- });
- break;
- case 2:
- res = await addStandards({
- ...this.addTreeForm,
- materialId: this.addTreeForm.addTypeArr[1],
- });
- break;
- case 3:
- res = await addSpecifications({
- ...this.addTreeForm,
- standardId: this.addTreeForm.addTypeArr[2],
- });
- break;
- }
- } catch (error) {
- this.$message.error("娣诲姞澶辫触");
- }
- this.$message.success("娣诲姞鎴愬姛");
- this.addTreeFormVisible = false;
- this.getStandardTree();
+ }
+ },
+ changeSelect() {
+ this.tableData = [];
+ this.getTableByClick(this.selectData, this.versionValue);
+ },
+ async submitAdd() {
+ await addProduct({
+ father: this.form.father,
+ name: this.form.name,
+ specificationId: this.selectData.id,
+ unit: this.form.unit,
+ version: this.versionValue
+ }).then(res => {
+ console.log(res);
+ this.$message.success(res.message);
+ this.centerDialogVisible = false;
this.getTableByClick(this.selectData, this.versionValue);
- this.addTreeForm.addTypeArr=[];
- this.addTreeForm.specificationsName=''
- this.addTreeForm.materialName=''
- this.addTreeForm.standardName=''
- // console.log(this.addTreeForm);
- },
- changeCascader(data) {
- this.addTreeForm.addTypeArr = data;
- },
- selectDataList() {
- let i=0
- this.tableData.forEach((a) => {
- a.id="0"+i
- a.code = "[1]";
- i++;
- if (a.children != undefined) {
- a.children.forEach((b) => {
- b.code = "[2]";
- });
- }
+ }).catch(error => {
+ this.$message.error(error.message);
+ })
+ },
+ async insertVersion() {
+ const resp = await addVersion({
+ specificationsId: this.selectData.id,
+ version: this.versionValue
+ });
+ if (resp.code === 200) {
+ this.initSelect();
+ this.$message({
+ type: "success",
+ message: resp.message,
});
- },
- // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
- // 鍏ㄩ��/鍙栨秷閫夋搷浣�
- selectAll(val) {
- this.isAllSelect = !this.isAllSelect;
- let data = this.tableData;
- this.toggleSelect(data, this.isAllSelect, "all");
- },
- //閫夋嫨鏌愯
- selectTr(selection, row) {
- this.$set(row, "isChecked", !row.isChecked);
- this.$nextTick(() => {
- this.isAllSelect = row.isChecked;
- this.toggleSelect(row, row.isChecked, "tr");
- });
- },
- //閫掑綊瀛愮骇
- toggleSelect(data, flag, type) {
- if (type === "all") {
- if (data.length > 0) {
- data.forEach((item) => {
- this.toggleSelection(item, flag);
- if (item.children && item.children.length > 0) {
- this.toggleSelect(item.children, flag, type);
- }
- });
- }
+ }
+ },
+ addVersionFun() {
+ this.$confirm("纭娣诲姞鏂扮殑鐗堟湰鍙峰悧?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ this.insertVersion();
+ })
+ .catch(() => { });
+ },
+ filterNode(value, data, node) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鑾峰彇bom鏍戠殑鏍囧噯鏁版嵁
+ async getStandardTree() {
+ let {
+ data
+ } = await getMaterialList();
+ if (data.length < 2) {
+ if (data.length == 0) {
+ data = [{
+ type: 0
+ }, {
+ type: 1
+ }]
} else {
- if (data.children && data.children.length > 0) {
- data.children.forEach((item) => {
- item.isChecked = !item.isChecked;
- this.$refs.multipleTable.toggleRowSelection(item, flag);
- this.toggleSelect(item, flag, type);
- });
+ data[1] = {
+ type: data[0].type == 1 ? 0 : 1
}
}
- },
- //鏀瑰彉閫変腑
- toggleSelection(row, flag) {
- this.$set(row, "isChecked", flag);
- this.$nextTick(() => {
- if (flag) {
- this.$refs.multipleTable.toggleRowSelection(row, flag);
- } else {
- this.$refs.multipleTable.clearSelection();
+ }
+ this.standardTree = data.map((item) => {
+ let name = null;
+ switch (item.type) {
+ case 0:
+ name = "鍘熸潗鏂�";
+ break;
+ case 1:
+ name = "鎴愬搧";
+ break;
+ }
+ return {
+ ...item,
+ id: item.type,
+ name,
+ };
+ });
+ // formTypeOptions
+ // 榛樿绗竴涓洓绾ц妭鐐规悳绱紝鏂板閰嶇疆椤�
+ const treeOptions = JSON.parse(JSON.stringify(this.standardTree));
+ this.getDefault(treeOptions, 0);
+ this.formTypeOptions = treeOptions;
+ this.$nextTick().then(() => {
+ const firstNode = document.querySelector(
+ ".el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node"
+ );
+ try {
+ firstNode.click();
+ } catch (e) {
+ //TODO handle the exception
+ }
+ });
+
+ },
+ getDefault(arr, index) {
+ for (const item of arr) {
+ if (item.children && item.children?.length > 0) {
+ // 鏈夊瓙鑺傜偣
+ this.getDefault(item.children, index + 1);
+ if (index === 2) {
+ item.children = null;
+ }
+ }
+ }
+ },
+ // 鐐瑰嚮bom鏍戣妭鐐规柟娉�
+ async nodeClick(data, node, element) {
+ // 鏄瓙鑺傜偣
+ if (node.level === 4) {
+ this.getParentData(node.parent, node.data.name);
+ // 瀛樹笅閫変腑鑺傜偣
+ this.selectData = data;
+ this.getTableByClick(data, this.versionValue);
+ this.initSelect();
+ }
+ if (!("children" in data)) {
+ return;
+ }
+ },
+ // 鑾峰彇鏍戣矾寰�
+ getParentData(node, name) {
+ if (node !== null) {
+ if (node.data.name !== undefined) {
+ this.msg = node.data.name + " > " + name;
+ }
+ this.getParentData(node.parent, this.msg);
+ }
+ },
+ async getTableByClick(data, versionVal) {
+ await getProductList({
+ specificationsId: data.id,
+ version: versionVal,
+ }).then((res) => {
+ res.data.forEach((i) => {
+ if (i.name === undefined) {
+ i.name = i.children[0].name;
+ i.unit = i.children[0].unit;
+ i.id = i.children[0].id;
+ i.required = i.children[0].required;
+ i.internal = i.children[0].internal;
+ i.edit = true;
+ delete i.children;
}
});
- },
- handleSelectionChange(val) {
- this.deleteList = [];
- val.forEach((v) => {
- if (v.id !== undefined) {
- this.deleteList.push(v.id);
- }
+ this.tableData = res.data;
+ this.selectDataList();
+ });
+ },
+ specificationDetails(row) {
+ // 璺宠浆浜у搧瑙勬牸璇︽儏椤�
+ this.$router.push(`/standardLibrary/SpecificationDetails/${row.id}`);
+ },
+ renderContent(h, {
+ node,
+ data,
+ store
+ }) {
+ // 鍒ゆ柇鏄惁鏄埗鑺傜偣鎴栨枃浠跺す
+ const isFolder = "children" in data;
+ return (<span class="tree-node"> {
+ isFolder ? (<i class={node.expanded ? "el-icon-folder-opened blue-folder" : "el-icon-folder blue-folder"} ></i>
+ ) : (<i class="el-icon-document blue-folder" > </i>)
+ } <div class="tree-lable" > [{node.level}] {data.name} </div> </span>
+ );
+ },
+ async subAddTreeForm() {
+ if (this.addTreeForm.addTypeArr.length == 0) {
+ this.$message({
+ message: '璇峰厛閫夋嫨鏍囧噯绫诲瀷锛�',
+ type: 'warning'
});
- },
- // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫
- deleteListClick() {
- if(this.deleteList.length==0){
- this.$message.error('璇烽�夋嫨瑕佸垹闄ょ殑椤圭洰')
+ return
+ }
+ let handelerSample = this.changeSample()
+ if (!handelerSample) {
+ return;
+ }
+ let res = null;
+ try {
+ switch (this.addTreeForm.addTypeArr.length) {
+ case 1:
+ res = await addMaterial({
+ ...this.addTreeForm,
+ type: this.addTreeForm.addTypeArr[0],
+ });
+ break;
+ case 2:
+ res = await addStandards({
+ ...this.addTreeForm,
+ materialId: this.addTreeForm.addTypeArr[1],
+ });
+ break;
+ case 3:
+ res = await addSpecifications({
+ ...this.addTreeForm,
+ standardId: this.addTreeForm.addTypeArr[2],
+ });
+ break;
+ }
+ } catch (error) {
+ this.$message.error("娣诲姞澶辫触");
+ }
+ this.$message.success("娣诲姞鎴愬姛");
+ this.addTreeFormVisible = false;
+ this.getStandardTree();
+ this.getTableByClick(this.selectData, this.versionValue);
+ this.addTreeForm.addTypeArr = [];
+ this.addTreeForm.specificationsName = ''
+ this.addTreeForm.materialName = ''
+ this.addTreeForm.standardName = ''
+ // console.log(this.addTreeForm);
+ },
+ changeCascader(data) {
+ this.addTreeForm.addTypeArr = data;
+ },
+ selectDataList() {
+ let i = 0
+ this.tableData.forEach((a) => {
+ a.id = "0" + i
+ a.code = "[1]";
+ i++;
+ if (a.children != undefined) {
+ a.children.forEach((b) => {
+ b.code = "[2]";
+ });
+ }
+ });
+ },
+ // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
+ // 鍏ㄩ��/鍙栨秷閫夋搷浣�
+ selectAll(val) {
+ this.isAllSelect = !this.isAllSelect;
+ let data = this.tableData;
+ this.toggleSelect(data, this.isAllSelect, "all");
+ },
+ //閫夋嫨鏌愯
+ selectTr(selection, row) {
+ this.$set(row, "isChecked", !row.isChecked);
+ this.$nextTick(() => {
+ this.isAllSelect = row.isChecked;
+ this.toggleSelect(row, row.isChecked, "tr");
+ });
+ },
+ //閫掑綊瀛愮骇
+ toggleSelect(data, flag, type) {
+ if (type === "all") {
+ if (data.length > 0) {
+ data.forEach((item) => {
+ this.toggleSelection(item, flag);
+ if (item.children && item.children.length > 0) {
+ this.toggleSelect(item.children, flag, type);
+ }
+ });
+ }
+ } else {
+ if (data.children && data.children.length > 0) {
+ data.children.forEach((item) => {
+ item.isChecked = !item.isChecked;
+ this.$refs.multipleTable.toggleRowSelection(item, flag);
+ this.toggleSelect(item, flag, type);
+ });
+ }
+ }
+ },
+ //鏀瑰彉閫変腑
+ toggleSelection(row, flag) {
+ this.$set(row, "isChecked", flag);
+ this.$nextTick(() => {
+ if (flag) {
+ this.$refs.multipleTable.toggleRowSelection(row, flag);
+ } else {
+ this.$refs.multipleTable.clearSelection();
+ }
+ });
+ },
+ handleSelectionChange(val) {
+ this.deleteList = [];
+ val.forEach((v) => {
+ if (v.id !== undefined) {
+ this.deleteList.push(v.id);
+ }
+ });
+ },
+ // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫
+ deleteListClick() {
+ if (this.deleteList.length == 0) {
+ this.$message.error('璇烽�夋嫨瑕佸垹闄ょ殑椤圭洰')
+ return
+ }
+ deleteListApi(this.deleteList).then((res) => {
+ this.$message({
+ message: res.message,
+ type: "success",
+ });
+ this.getTableByClick(this.selectData, this.versionValue);
+ });
+ },
+ async requiredOnfocus(scope) {
+ console.log(scope);
+ let obj = {
+ id: scope.row.id,
+ required: scope.row.required,
+ internal: scope.row.internal,
+ };
+ let arr = ['>', '<', '='];
+ if (obj.required === null || obj.required === undefined) {
+ this.$message({
+ message: '鏍囧噯鍊间笉鑳戒负绌猴紒',
+ type: 'warning'
+ });
+ return
+ } else {
+ let required = obj.required.charAt(0)
+ if (!arr.includes(required)) {
+ this.$message({
+ message: '鏍囧噯鍊煎弬鏁颁笉绗﹀悎锛�',
+ type: 'warning'
+ });
return
}
- deleteListApi(this.deleteList).then((res) => {
- this.$message({
- message: res.message,
- type: "success",
- });
- this.getTableByClick(this.selectData, this.versionValue);
+ }
+ if (obj.internal === null || obj.internal === undefined) {
+ this.$message({
+ message: '鍐呮帶鍊间笉鑳戒负绌猴紒',
+ type: 'warning'
});
- },
- async requiredOnfocus(scope) {
- console.log(scope);
- let obj = {
- id: scope.row.id,
- required: scope.row.required,
- internal: scope.row.internal,
- };
- let internal=obj.internal.charAt(0)
- let required=obj.required.charAt(0)
- let arr=['>','<','='];
- if(!arr.includes(required)){
+ return
+ } else {
+ let internal = obj.internal.charAt(0)
+ if (!arr.includes(internal)) {
this.$message({
- message: '鏍囧噯鍊煎弬鏁颁笉绗﹀悎锛�',
- type: 'warning'
- });
- return
- }
- if(!arr.includes(internal)){
- this.$message({
- message: '鍐呮帶鍊煎弬鏁颁笉绗﹀悎锛�',
- type: 'warning'
- });
- return
- }
- await blurUpdateApi(obj).then((res) => {
- this.$message({
- message: res.message,
- type: "success",
+ message: '鍐呮帶鍊煎弬鏁颁笉绗﹀悎锛�',
+ type: 'warning'
});
- this.getTableByClick(this.selectData, this.versionValue);
+ return
+ }
+ }
+ await blurUpdateApi(obj).then((res) => {
+ this.$message({
+ message: res.message,
+ type: "success",
});
- },
+ this.getTableByClick(this.selectData, this.versionValue);
+ });
},
- };
+ },
+};
</script>
<style lang="scss" scoped>
- // el-table琛ㄦ牸瀵归綈
- ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
- td:nth-child(2) {
- padding-left: 23px !important;
- }
+// el-table琛ㄦ牸瀵归綈
+::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+ td:nth-child(2) {
+ padding-left: 23px !important;
}
+}
- .standard-library-main {
- width: 100vh;
+.standard-library-main {
+ width: 100vh;
+ height: 100%;
+
+ // 椤甸潰涓績鍐呭鍖哄煙
+ .content-main {
+ display: flex;
height: 100%;
+ min-height: calc(100vh - 88px);
+ max-height: calc(100vh - 88px);
+ padding: 15px;
- // 椤甸潰涓績鍐呭鍖哄煙
- .content-main {
- display: flex;
- height: 100%;
- min-height: calc(100vh - 88px);
- max-height: calc(100vh - 88px);
- padding: 15px;
+ >div {
+ padding: 20px;
+ background: #fff;
+ }
- >div {
- padding: 20px;
- background: #fff;
- }
+ .library-bom {
+ // padding-right: 10px;
+ width: 300px;
+ overflow-y: auto;
+ // height: 100%;
+ max-height: 100%;
- .library-bom {
- // padding-right: 10px;
- width: 300px;
- overflow-y: auto;
- // height: 100%;
- max-height: 100%;
+ // margin-right: 12px;
+ // overflow-y: scroll;
+ .el-tree {
+ // margin-top:
+ width: 100%;
- // margin-right: 12px;
- // overflow-y: scroll;
- .el-tree {
- // margin-top:
- width: 100%;
+ ::v-deep .el-tree-node__content {
+ height: 24px !important;
+ font-size: 18px;
+ // display: inline-block !important;
+ padding: 2px;
- ::v-deep .el-tree-node__content {
- height: 24px !important;
- font-size: 18px;
- // display: inline-block !important;
- padding: 2px;
+ // color: #333;
+ .tree-node {
+ display: flex;
+ align-items: center;
+ height: 20px;
+ }
- // color: #333;
- .tree-node {
- display: flex;
- align-items: center;
- height: 20px;
- }
+ .tree-lable {
+ height: 100%;
+ line-height: 23px;
+ font-size: 12px;
+ padding-left: 8px;
+ }
- .tree-lable {
- height: 100%;
- line-height: 23px;
- font-size: 12px;
- padding-left: 8px;
- }
-
- .blue-folder {
- color: rgb(64, 158, 255);
- }
+ .blue-folder {
+ color: rgb(64, 158, 255);
}
}
}
+ }
- .library-table {
- // height: 100%;
- width: 170vh;
- max-height: 100%;
- // flex: 8;
- margin-left: 12px;
+ .library-table {
+ // height: 100%;
+ width: 170vh;
+ max-height: 100%;
+ // flex: 8;
+ margin-left: 12px;
+ display: flex;
+ flex-direction: column;
+
+ // overflow-y: scroll;
+ .table-header {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+
+ .el-form-item {
+ margin-bottom: 30px !important;
+ }
+ }
+
+ .table-box {
+ flex: 1;
+ background: #fff;
+ // padding: 20px 20px 10px 20px;
display: flex;
flex-direction: column;
+ justify-content: space-between;
- // overflow-y: scroll;
- .table-header {
+ >div:nth-child(3) {
+ // height: 20px;
display: flex;
- justify-content: space-between;
- width: 100%;
-
- .el-form-item {
- margin-bottom: 30px !important;
- }
- }
-
- .table-box {
- flex: 1;
- background: #fff;
- // padding: 20px 20px 10px 20px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
-
- >div:nth-child(3) {
- // height: 20px;
- display: flex;
- justify-content: end;
- margin: 10px 0;
- }
+ justify-content: end;
+ margin: 10px 0;
}
}
}
+ }
- .addTree {
- .el-form-item {
- margin-bottom: 10px;
- }
+ .addTree {
+ .el-form-item {
+ margin-bottom: 10px;
+ }
- .el-cascader {
- width: 100%;
- }
+ .el-cascader {
+ width: 100%;
}
}
+}
- .search-bar {
- .el-input {
- position: relative;
- font-size: 0.07292rem;
- display: inline-block;
- width: 70%;
- }
+.search-bar {
+ .el-input {
+ position: relative;
+ font-size: 0.07292rem;
+ display: inline-block;
+ width: 70%;
}
+}
- .firstDiv {
- float: left;
- width: 20px;
- height: 20px;
- border-radius: 50%;
- background-color: #eff5ff;
- margin-top: 5px;
- justify-content: center;
- display: flex;
- align-items: center;
- margin-right: 8px;
+.firstDiv {
+ float: left;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background-color: #eff5ff;
+ margin-top: 5px;
+ justify-content: center;
+ display: flex;
+ align-items: center;
+ margin-right: 8px;
+}
+
+.el-tag.el-tag {
+ border-color: transparent;
+ background-color: transparent;
+}
+
+.el-tag.el-tag:hover {
+ border-color: transparent;
+ background-color: transparent;
+}
+
+.serve-btn {
+ width: 100%;
+ padding-bottom: 6px;
+ text-align: right;
+
+ .el-select {
+ margin-right: 10px;
}
+}
- .el-tag.el-tag {
- border-color: transparent;
- background-color: transparent;
- }
-
- .el-tag.el-tag:hover {
- border-color: transparent;
- background-color: transparent;
- }
-
- .serve-btn {
- width: 100%;
- padding-bottom: 6px;
- text-align: right;
-
- .el-select {
- margin-right: 10px;
- }
- }
-
- .tipMsg {
- float: left;
- font-size: 16px;
- font-weight: 500;
- color: #999999;
- }
+.tipMsg {
+ float: left;
+ font-size: 16px;
+ font-weight: 500;
+ color: #999999;
+}
</style>
\ No newline at end of file
--
Gitblit v1.9.3