From 2573c1c123a8464c312d27e380ac16d7e0ac2f11 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期日, 24 九月 2023 23:22:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/view/technology.vue | 2
src/components/view/mbom.vue | 2
src/components/view/processInspectionUpdate.vue | 956 ++++----
src/components/view/processInspection.vue | 1626 +++++++------
src/view/index.vue | 1060 ++++----
src/assets/api/controller.js | 59
src/components/view/sale.vue | 61
src/components/view/standard.vue | 44
src/components/view/self-inspection.vue | 32
src/main.js | 131
src/components/view/Technicalindex.vue | 943 ++++----
src/components/view/finishedProductInspectionUp.vue | 1039 ++++----
src/components/view/rawInsDetail.vue | 787 +++---
13 files changed, 3,577 insertions(+), 3,165 deletions(-)
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index c8fbad9..79bbf40 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -41,13 +41,14 @@
}
// 鍘熸潗鏂欐楠�
const raw = {
- selectRawInspectsList: "/rawInspect/selectRawInspectsList", //鏌ヨ鍘熸潗鏂欐楠屽崟鍒楄〃
- selectRawInspectsListById: "/rawInspect/selectRawInspectsListById/", //鏍规嵁妫�楠屽崟id鑾峰彇妫�楠屽崟璇︽儏
- updaterawInsProduct: '/rawInsProduct/updaterawInsProduct', //淇敼椤圭洰鐨勬楠屽��
- updateRawInspectsById: "/rawInspect/updateRawInspectsById/", //涓婃姤,
- rawSelectDevice: "/rawInsProduct/selectDevice", //鏌ヨ璁惧淇℃伅
- addRawInspects: "/rawInspect/addRawInspects", // 娣诲姞
- updateDevByRpId: "/rawInsProduct/updateDevByRpId", // 鏇存敼璁惧
+ selectRawInspectsList: "/rawInspect/selectRawInspectsList", //鏌ヨ鍘熸潗鏂欐楠屽崟鍒楄〃
+ selectRawInspectsListById: "/rawInspect/selectRawInspectsListById/", //鏍规嵁妫�楠屽崟id鑾峰彇妫�楠屽崟璇︽儏
+ updaterawInsProduct: '/rawInsProduct/updaterawInsProduct', //淇敼椤圭洰鐨勬楠屽��
+ updateRawInspectsById: "/rawInspect/updateRawInspectsById/", //涓婃姤,
+ rawSelectDevice: "/rawInsProduct/selectDevice", //鏌ヨ璁惧淇℃伅
+ addRawInspects: "/rawInspect/addRawInspects", // 娣诲姞
+ updateDevByRpId: "/rawInsProduct/updateDevByRpId", // 鏇存敼璁惧
+ rawInspectChooseIFS: "/rawInspect/chooseIFS",//閫氳繃璁惧缂栫爜寰楀埌淇℃伅
}
// 鏌ヨ鎴愬搧涓嶅悎鏍煎搧绠$悊
@@ -164,26 +165,28 @@
}
const url = {
- enter: "user/enter", //鐧诲綍
- ...standard,
- ...raw,
- ...laboratory,
- ...measure,
- ...finishedIns,
- ...dispose,
- ...Basicdata,
- ...unRawInspects,
- ...processInspection,
- // ...gettable,
- selectSaleList: "sale/selectSaleList", //鏌ヨ閿�鍞崟鍒楄〃
- selectSaleDatilById: "sale/selectSaleDatilById", //鏍规嵁閿�鍞崟id鏌ョ湅璇︽儏,
- addSale: "sale/addSale", //鏂板閿�鍞崟
- saleCheck: "sale/check", //瀹℃牳閿�鍞崟
- synchronization: "sale/synchronization", //鍚屾
- updateSaleById: "sale/updateSaleById", //鏍规嵁閿�鍞崟id淇敼璇︽儏淇℃伅
- delSale: "sale/delSale", //鏍规嵁閿�鍞崟id鍒犻櫎
- delAllSale: "sale/delAllSale", //鎵归噺鍒犻櫎閿�鍞崟锛�
- chooseType: "technologyTemplate/chooseType", //鏌ヨ绫诲瀷
+ enter: "user/enter", //鐧诲綍
+ ...standard,
+ ...raw,
+ ...laboratory,
+ ...measure,
+ ...finishedIns,
+ ...dispose,
+ ...Basicdata,
+ ...unRawInspects,
+ ...processInspection,
+ // ...gettable,
+ selectSaleList: "sale/selectSaleList", //鏌ヨ閿�鍞崟鍒楄〃
+ selectSaleDatilById: "sale/selectSaleDatilById", //鏍规嵁閿�鍞崟id鏌ョ湅璇︽儏,
+ addSale: "sale/addSale", //鏂板閿�鍞崟
+ saleCheck: "sale/check", //瀹℃牳閿�鍞崟
+ exportSale: "sale/exportSale",//瀵煎嚭閿�鍞鍗�
+ saleDownload: "sale/download",//涓嬭浇闄勪欢
+ synchronization: "sale/synchronization", //鍚屾
+ updateSaleById: "sale/updateSaleById", //鏍规嵁閿�鍞崟id淇敼璇︽儏淇℃伅
+ delSale: "sale/delSale", //鏍规嵁閿�鍞崟id鍒犻櫎
+ delAllSale: "sale/delAllSale", //鎵归噺鍒犻櫎閿�鍞崟锛�
+ chooseType: "technologyTemplate/chooseType", //鏌ヨ绫诲瀷
}
@@ -192,4 +195,4 @@
Vue.prototype.$api = {
url
}
-}
\ No newline at end of file
+}
diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue
index 623d0eb..c363f22 100644
--- a/src/components/view/Technicalindex.vue
+++ b/src/components/view/Technicalindex.vue
@@ -7,6 +7,8 @@
<el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">鏂板</el-button>
<!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> -->
<el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button>
+ <el-button icon="el-icon-download" @click="clickDownload">瀵煎嚭</el-button>
+ <el-button icon="el-icon-upload2">瀵煎叆</el-button>
</el-col>
</el-row>
</div>
@@ -18,7 +20,8 @@
<el-form-item label="绫诲瀷">
<template>
<el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 560px;">
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+ <el-option v-for="item in options" :key="item.value" :label="item.label"
+ :value="item.value">
</el-option>
</el-select>
</template>
@@ -69,11 +72,12 @@
<div class="left">
<el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small"
clearable @input="query"></el-input>
- <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="name"
+ <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'father' }" node-key="name"
default-expand-all @node-click="handleNodeClick" highlight-current>
<div class="custom-tree-node" slot-scope="{ node, data }">
- <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
- {{data.code}} {{ data.name }}</span>
+ <span><i
+ :class="`node_i ${data.code != '[2]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
+ {{ data.code }} {{ data.name }}</span>
</div>
</el-tree>
</div>
@@ -82,7 +86,7 @@
<el-table :data="tableData" style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
row-key="name" border @select-all="selectAll" @select="selectTr" ref="multipleTable"
@selection-change="handleSelectionChange" default-expand-all
- :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
+ :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index" width="50">
@@ -90,7 +94,7 @@
<el-table-column prop="name" label="椤圭洰" sortable width="400px">
<template slot-scope="scope">
<el-tag>
- <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`">
+ <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`">
{{ scope.row.children ? "01" : "02" }}
</div>
</el-tag>
@@ -103,7 +107,8 @@
<template slot-scope="scope" style="text-align: center;">
<div v-if="!scope.row.children">
<el-button type="text" size="mini" @click="childrenClick(scope.row)">缂栬緫</el-button>
- <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button>
+ <el-button type="text" size="mini"
+ @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button>
</div>
</template>
</el-table-column>
@@ -127,9 +132,10 @@
<el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col>
<el-col :span="16" :offset="1">
<template>
- <el-select v-model="edit.techFather" placeholder="璇烽�夋嫨" allow-create disabled style="width: 306px;"
- filterable @change="workevent">
- <el-option v-for="(item,index) in process" :key="item.name" :label="item.name" :value="item.name">
+ <el-select v-model="edit.techFather" placeholder="璇烽�夋嫨" allow-create disabled
+ style="width: 306px;" filterable @change="workevent">
+ <el-option v-for="(item, index) in process" :key="item.name" :label="item.name"
+ :value="item.name">
</el-option>
</el-select>
</template>
@@ -139,9 +145,10 @@
<el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓:</el-col>
<el-col :span="16" :offset="1">
<template>
- <el-select v-model="edit.techName" placeholder="璇烽�夋嫨" disabled style="width: 306px;" allow-create
- filterable>
- <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
+ <el-select v-model="edit.techName" placeholder="璇烽�夋嫨" disabled style="width: 306px;"
+ allow-create filterable>
+ <el-option v-for="item in craftapi" :key="item.id" :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</template>
@@ -189,8 +196,8 @@
<el-form-item label="宸ュ簭">
<template>
<el-select v-model="form.work" placeholder="璇烽�夋嫨" @change="workevent">
- <el-option v-for="(item,index) in process" :key="item.name" :label="item.name"
- :value="item.name">
+ <el-option v-for="(item, index) in process" :key="item.name"
+ :label="item.name" :value="item.name">
</el-option>
</el-select>
</template>
@@ -199,8 +206,10 @@
<el-col :span="11" :offset="2">
<el-form-item label="宸ヨ壓">
<template>
- <el-select v-model="form.name" style="width: 95%;" placeholder="璇烽�夋嫨" @change="craftrow">
- <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
+ <el-select v-model="form.name" style="width: 95%;" placeholder="璇烽�夋嫨"
+ @change="craftrow">
+ <el-option v-for="item in craftapi" :key="item.id" :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</template>
@@ -211,8 +220,10 @@
<el-col :span="11">
<el-form-item label="椤圭洰缁�">
<template>
- <el-select v-model="form.father" placeholder="璇烽�夋嫨" allow-create filterable @create="electadd">
- <el-option v-for="item in higherlevel" :key="item" :label="item" :value="item">
+ <el-select v-model="form.father" placeholder="璇烽�夋嫨" allow-create filterable
+ @create="electadd">
+ <el-option v-for="item in higherlevel" :key="item" :label="item"
+ :value="item">
</el-option>
</el-select>
</template>
@@ -234,457 +245,469 @@
</span>
</el-dialog>
</div>
+ <div>
+ <el-dialog title="瀵煎嚭绫诲瀷閫夋嫨" :visible.sync="isDownload" width="30%">
+ <el-col>
+ 璇烽�夋嫨绫诲瀷锛�
+ </el-col>
+ <el-select v-model="downloadTypeSelect" style="width: 100%;margin-top: 10px;" placeholder="璇烽�夋嫨">
+ <el-option v-for="(a, ai) in typeTable" :key="ai" :value="a"></el-option>
+ </el-select>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="isDownload = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="downloadSelect">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
</div>
</div>
</div>
</template>
<script>
- export default {
- data() {
- return {
- search: {
- type: 0,
- technology: null,
- },
- checkTreeNode: {
- id: '',
- },
- higherlevel: [],
- value: {},
- options: [],
- process: [],
- filterNode: [],
- list: [],
- form: {
- father: '',
- work: '',
- name: '',
- unit: '',
- project: '',
- },
- children: [],
- modifyevent: false,
- dialogVisible: false,
- tableData: [],
- crafval: '',
- typeselect: 0,
- upData: {},
- upDia: false,
- craftapi: [],
- edit: {
- techFather: '',
- techName: '',
- father: '',
- name: '',
- unit: '',
- id: '',
- },
- isAllSelect: false,
- bigType: []
+export default {
+ data() {
+ return {
+ search: {
+ type: 0,
+ technology: null,
+ },
+ checkTreeNode: {
+ id: '',
+ },
+ higherlevel: [],
+ value: {},
+ options: [],
+ process: [],
+ filterNode: [],
+ list: [],
+ form: {
+ father: '',
+ work: '',
+ name: '',
+ unit: '',
+ project: '',
+ },
+ children: [],
+ modifyevent: false,
+ dialogVisible: false,
+ isDownload: false,//瀵煎嚭鎸夐挳
+ downloadTypeSelect: null,
+ typeTable: [],
+ tableData: [],
+ crafval: '',
+ typeselect: 0,
+ upData: {},
+ upDia: false,
+ craftapi: [],
+ edit: {
+ techFather: '',
+ techName: '',
+ father: '',
+ name: '',
+ unit: '',
+ id: '',
+ },
+ isAllSelect: false,
+ bigType: []
+ }
+ },
+ mounted() {
+ this.chooseType()
+ },
+ methods: {
+ clickDownload() {
+ this.isDownload = true
+ this.typeTable = []
+ let data=JSON.parse(JSON.stringify(this.bigType))
+ data.unshift("鍏ㄩ儴")
+ this.typeTable=data
+ },
+ downloadSelect() {
+ console.log(this.downloadTypeSelect);
+
+ },
+ handleSelectionChange() {
+
+ },
+ chooseType() {
+ this.$axios.get(this.$api.url.chooseType).then(res => {
+ this.bigType = res.data
+ this.typeselect = res.data[0]
+ this.search.type = res.data[0]
+ this.selectAllleft()
+ this.selectAllright()
+ })
+ },
+ handleSelectionChange(val) {
+ this.selects = val;
+ this.deleteList = [];
+ val.forEach((v) => {
+ if (v.id !== undefined) {
+ this.deleteList.push(v.id);
+ }
+ });
+ },
+ // 鍏ㄩ��/鍙栨秷閫夋搷浣�
+ 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");
+ });
+ },
+ toggleSelection(row, flag) {
+ this.$set(row, "isChecked", flag);
+ this.$nextTick(() => {
+ if (flag) {
+ this.$refs.multipleTable.toggleRowSelection(row, flag);
+ } else {
+ this.$refs.multipleTable.clearSelection();
+ }
+ });
+ },
+ //閫掑綊瀛愮骇
+ 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);
+ });
+ }
}
},
- mounted() {
- this.chooseType()
- },
- methods: {
- chooseType() {
- this.$axios.get(this.$api.url.chooseType).then(res => {
- this.bigType = res.data
- this.typeselect = res.data[0]
- this.search.type = res.data[0]
- this.selectAllleft()
- this.selectAllright()
- })
- },
- handleSelectionChange(val) {
- this.selects = val;
- this.deleteList = [];
- val.forEach((v) => {
- if (v.id !== undefined) {
- this.deleteList.push(v.id);
- }
- });
- },
- // 鍏ㄩ��/鍙栨秷閫夋搷浣�
- 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");
- });
- },
- toggleSelection(row, flag) {
- this.$set(row, "isChecked", flag);
- this.$nextTick(() => {
- if (flag) {
- this.$refs.multipleTable.toggleRowSelection(row, flag);
- } else {
- this.$refs.multipleTable.clearSelection();
- }
- });
- },
- //閫掑綊瀛愮骇
- toggleSelect(data, flag, type) {
- // console.log('222');
- 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);
- });
- }
- }
- },
- //---------------------------------------------------------------------------------------------------------------------------------------
- handleClose() {},
- selectDataList() {
- this.list.forEach(a => {
- a.code = '[1]'
- if (a.children != undefined) {
- a.children.forEach(b => {
- b.code = '[2]'
- if (b.children != undefined) {
- b.children.forEach(c => {
- c.code = '[3]'
- })
- }
- })
- }
- })
- this.upIndex++
- },
- //缂栬緫
- selecTech() {
- this.$axios.get(this.$api.url.selecTech, {
- params: {
- id: this.upData.id
- }
- }).then(res => {
- this.edit = res.data[0]
- console.log(this.edit);
- })
- },
- childrenClick(val) {
- this.upData = val
- this.selecTech()
- this.upDia = true
- },
- writeTechByIdskill() {
- // console.log(this.upData.id);
- this.$axios.post(this.$api.url.writeTechByIdskill + '?id=' + this.upData.id, {
- name: this.edit.name,
- father: this.edit.father,
- techTemId: this.edit.id,
- unit: this.edit.unit
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- }).then(res => {
- /* this.selectAllright() */
- this.$parent.removeAllTab()
- })
- },
- submitUpData() { //纭畾
- this.writeTechByIdskill()
- this.upDia = false
- },
- //鍒犻櫎
- delTechBy() {
- console.log(this.$api.url.delTechBy, this.upData.id);
- this.$axios.post(this.$api.url.delTechBy, {
- id: this.upData.id
- }).then(res => {
- /* this.selectAllright() */
- this.$message.success('鍒犻櫎瀹屾垚')
- this.$parent.removeAllTab()
- })
- },
- deleteRow(index, rows) {
- this.tableData.splice(index, 1)
- this.upData = rows
- this.upData.id = rows.id
- this.delTechBy()
- },
- //鎵归噺鍒犻櫎
- delAllTechskill() {
- this.$axios.post(this.$api.url.delAllTechskill, {
- ids: this.delete
- }).then(res => {
- /* this.selectAllright() */
- this.$parent.removeAllTab()
- })
- },
- dels() {
-
- let ee = []
- console.log(this.selects);
- this.selects.forEach(el => {
- if (el.children) {
- el.children.forEach(ele => {
- ee.push(ele.id)
- })
- }
- })
- // cc.splice(0,1)
- this.delete = ee.join(',')
- console.log(this.delete);
- this.delAllTechskill()
- this.$message.success('鍒犻櫎瀹屾垚')
- },
- add() {
- this.dialogVisible = false
- this.addTechMode()
- this.form = {};
- },
- electadd(value) {
- console.log(value);
- this.higherlevel.push({});
- this.form.father = value;
- },
- addTechMode() {
- this.$axios.post(this.$api.url.addTechMode, {
- father: this.form.father,
- name: this.form.project,
- techTemId: this.form.name,
- unit: this.form.unit,
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- }).then(res => {
- this.$message.success('鏂板瀹屾垚')
- this.selectAllright()
-
- })
- },
- TYpe(val) {
- this.typeselect = val
- console.log(this.typeselect);
- this.selectAllleft()
- },
- edittype(val) {
- this.typeselect = val
- this.chooseTechFath()
- },
- //涓讳綋宸�
- selectAllleft() {
- this.$axios.get(this.$api.url.selectAllleft, {
- params: {
- type: this.typeselect,
- message: this.search.technology
- }
- }).then(res => {
- this.list = res.data;
- console.log(this.list);
- this.selectDataList()
- this.$nextTick(() => {
- this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓�
+ //---------------------------------------------------------------------------------------------------------------------------------------
+ handleClose() { },
+ selectDataList() {
+ this.list.forEach(a => {
+ a.code = '[1]'
+ if (a.children != undefined) {
+ a.children.forEach(b => {
+ b.code = '[2]'
+ if (b.children != undefined) {
+ b.children.forEach(c => {
+ c.code = '[3]'
+ })
+ }
})
- let one = this.list.filter(item => {
- return item.children.length > 0
- })[0]
- console.log(one);
- let name = one.children[0].id
- this.checkTreeNode.id = name
- console.log(name);
- this.selectAllrightStart(name)
- this.selectDataList();
- });
- },
- selectAllrightStart(name) {
- this.$axios.get(this.$api.url.selectAllright, {
- params: {
- id: name
- }
- }).then(res => {
- this.tableData = res.data;
- console.log(this.tableData);
- });
- },
- //
- //鏌ヨ
- query(val) {
- this.selectAllleft()
- },
- //鍙�
- selectAllright() {
- this.$axios.get(this.$api.url.selectAllright, {
- params: {
- id: this.checkTreeNode.id
- }
- }).then(res => {
- this.tableData = res.data;
- console.log(this.tableData);
- });
- },
- craftrow(val) {
- this.crafval = val
- this.chooseProFath()
- },
- //涓婄骇
- chooseProFath() {
- console.log(this.checkTreeNode.id);
- this.$axios.get(this.$api.url.chooseProFath, {
- params: {
- techTemId: this.crafval
- }
- }).then(res => {
- this.higherlevel = res.data;
- console.log(this.higherlevel);
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- })
- },
- //宸ュ簭宸ヨ壓
- chooseTechFath() {
- this.$axios.get(this.$api.url.chooseTechFath, {
- params: {
- type: this.typeselect
- }
- }).then(res => {
- this.process = res.data;
- console.log(this.process);
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- })
- },
- workevent(val) {
- console.log(val);
- let idx = this.process.findIndex(el => el.name === val)
- this.craftapi = this.process[idx].children
- },
-
- handleNodeClick(data) {
- this.checkTreeNode = data
- console.log(this.checkTreeNode.id);
+ }
+ })
+ this.upIndex++
+ },
+ //缂栬緫
+ selecTech() {
+ this.$axios.get(this.$api.url.selecTech, {
+ params: {
+ id: this.upData.id
+ }
+ }).then(res => {
+ this.edit = res.data[0]
+ })
+ },
+ childrenClick(val) {
+ this.upData = val
+ this.selecTech()
+ this.upDia = true
+ },
+ writeTechByIdskill() {
+ this.$axios.post(this.$api.url.writeTechByIdskill + '?id=' + this.upData.id, {
+ name: this.edit.name,
+ father: this.edit.father,
+ techTemId: this.edit.id,
+ unit: this.edit.unit
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res => {
+ /* this.selectAllright() */
+ this.$parent.removeAllTab()
+ })
+ },
+ submitUpData() { //纭畾
+ this.writeTechByIdskill()
+ this.upDia = false
+ },
+ //鍒犻櫎
+ delTechBy() {
+ this.$axios.post(this.$api.url.delTechBy, {
+ id: this.upData.id
+ }).then(res => {
+ /* this.selectAllright() */
+ this.$message.success('鍒犻櫎瀹屾垚')
+ this.$parent.removeAllTab()
+ })
+ },
+ deleteRow(index, rows) {
+ this.tableData.splice(index, 1)
+ this.upData = rows
+ this.upData.id = rows.id
+ this.delTechBy()
+ },
+ //鎵归噺鍒犻櫎
+ delAllTechskill() {
+ this.$axios.post(this.$api.url.delAllTechskill, {
+ ids: this.delete
+ }).then(res => {
+ /* this.selectAllright() */
+ this.$parent.removeAllTab()
+ })
+ },
+ dels() {
+ let ee = []
+ this.selects.forEach(el => {
+ if (el.children) {
+ el.children.forEach(ele => {
+ ee.push(ele.id)
+ })
+ }
+ })
+ // cc.splice(0,1)
+ this.delete = ee.join(',')
+ this.delAllTechskill()
+ this.$message.success('鍒犻櫎瀹屾垚')
+ },
+ add() {
+ this.dialogVisible = false
+ this.addTechMode()
+ this.form = {};
+ },
+ electadd(value) {
+ this.higherlevel.push({});
+ this.form.father = value;
+ },
+ addTechMode() {
+ this.$axios.post(this.$api.url.addTechMode, {
+ father: this.form.father,
+ name: this.form.project,
+ techTemId: this.form.name,
+ unit: this.form.unit,
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res => {
+ this.$message.success('鏂板瀹屾垚')
this.selectAllright()
- },
- event() {
- this.dialogVisible = true
- this.chooseProFath()
- this.chooseTechFath()
- },
- modify() {
- this.modifyevent = true
- },
- //缂栬緫
- }
+ })
+ },
+ TYpe(val) {
+ this.typeselect = val
+ this.selectAllleft()
+ },
+ edittype(val) {
+ this.typeselect = val
+ this.chooseTechFath()
+ },
+ //涓讳綋宸�
+ selectAllleft() {
+ this.$axios.get(this.$api.url.selectAllleft, {
+ params: {
+ type: this.typeselect,
+ message: this.search.technology
+ }
+ }).then(res => {
+ this.list = res.data;
+ this.selectDataList()
+ this.$nextTick(() => {
+ this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓�
+ })
+ let one = this.list.filter(item => {
+ return item.children.length > 0
+ })[0]
+ let name = one.children[0].id
+ this.checkTreeNode.id = name
+ this.selectAllrightStart(name)
+ this.selectDataList();
+ });
+ },
+ selectAllrightStart(name) {
+ this.$axios.get(this.$api.url.selectAllright, {
+ params: {
+ id: name
+ }
+ }).then(res => {
+ this.tableData = res.data;
+ });
+ },
+ //
+ //鏌ヨ
+ query(val) {
+ this.selectAllleft()
+ },
+ //鍙�
+ selectAllright() {
+ this.$axios.get(this.$api.url.selectAllright, {
+ params: {
+ id: this.checkTreeNode.id
+ }
+ }).then(res => {
+ this.tableData = res.data;
+ });
+ },
+ craftrow(val) {
+ this.crafval = val
+ this.chooseProFath()
+ },
+ //涓婄骇
+ chooseProFath() {
+ this.$axios.get(this.$api.url.chooseProFath, {
+ params: {
+ techTemId: this.crafval
+ }
+ }).then(res => {
+ this.higherlevel = res.data;
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ },
+ //宸ュ簭宸ヨ壓
+ chooseTechFath() {
+ this.$axios.get(this.$api.url.chooseTechFath, {
+ params: {
+ type: this.typeselect
+ }
+ }).then(res => {
+ this.process = res.data;
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ },
+ workevent(val) {
+ let idx = this.process.findIndex(el => el.name === val)
+ this.craftapi = this.process[idx].children
+ },
+
+ handleNodeClick(data) {
+ this.checkTreeNode = data
+ this.selectAllright()
+ },
+ event() {
+ this.dialogVisible = true
+ this.chooseProFath()
+ this.chooseTechFath()
+ },
+ modify() {
+ this.modifyevent = true
+ },
+ //缂栬緫
+
}
+}
</script>
<style scoped>
- .title .el-button {
- height: 32px;
- border: 1px solid rgba(190, 190, 190, 0.44);
- box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
- padding: 0 12px;
- }
+.title .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+}
- .title {
- margin-bottom: 10px;
- padding: 0 20px;
- }
+.title {
+ margin-bottom: 10px;
+ padding: 0 20px;
+}
- .title * {
- font-size: 16px;
- }
+.title * {
+ font-size: 16px;
+}
- .choose {
- padding: 21px 24px;
- display: flex;
- align-items: center;
- background-color: #fff;
- border-bottom: 3px solid rgb(245, 247, 251);
- }
+.choose {
+ padding: 21px 24px;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ border-bottom: 3px solid rgb(245, 247, 251);
+}
- .choose * {
- font-size: 14px;
- }
+.choose * {
+ font-size: 14px;
+}
- .choose .el-button {
- height: 32px;
- border: 1px solid rgba(190, 190, 190, 0.44);
- box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
- padding: 0 12px;
- }
+.choose .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+}
- .thing {
- width: 100%;
- height: calc(100% - 78px);
- background-color: #fff;
- display: flex;
- }
+.thing {
+ width: 100%;
+ height: calc(100% - 78px);
+ background-color: #fff;
+ display: flex;
+}
- .thing .left {
- width: 295px;
- height: calc(100% - 20px);
- border-right: 3px solid rgb(245, 247, 251);
- padding: 16px;
- overflow-y: auto;
- }
+.thing .left {
+ width: 295px;
+ height: calc(100% - 20px);
+ border-right: 3px solid rgb(245, 247, 251);
+ padding: 16px;
+ overflow-y: auto;
+}
- .thing .left .custom-tree-node span {
- font-size: 14px;
- }
+.thing .left .custom-tree-node span {
+ font-size: 14px;
+}
- .thing .left .custom-tree-node {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: space-between;
- font-size: 14px;
- padding-right: 8px;
- }
+.thing .left .custom-tree-node {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ padding-right: 8px;
+}
- .node_i {
- color: orange;
- }
+.node_i {
+ color: orange;
+}
- .el-icon-delete {
- display: none;
- color: #004EA2;
- }
+.el-icon-delete {
+ display: none;
+ color: #004EA2;
+}
- .custom-tree-node:hover .el-icon-delete {
- display: inline;
- }
+.custom-tree-node:hover .el-icon-delete {
+ display: inline;
+}
- .thing .right {
- width: calc(100% - 305px);
- height: calc(100% - 25px);
- overflow: hidden;
- padding: 10px;
- }
+.thing .right {
+ width: calc(100% - 305px);
+ height: calc(100% - 25px);
+ overflow: hidden;
+ padding: 10px;
+}
- .table_do {
- color: #004ea0;
- cursor: pointer;
- }
+.table_do {
+ color: #004ea0;
+ cursor: pointer;
+}
- .firstDiv {
- /* float: left;
+.firstDiv {
+ /* float: left;
width: 20px;
height: 20px;
border-radius: 60px;
@@ -694,29 +717,29 @@
display: flex;
align-items: center;
margin-right: 8px; */
- /* border-radius: 60px; */
- }
+ /* border-radius: 60px; */
+}
- .el-tag {
- border-radius: 50%;
- }
+.el-tag {
+ border-radius: 50%;
+}
</style>
<style>
- .record_content .title .el-button * {
- font-size: 14px;
- }
+.record_content .title .el-button * {
+ font-size: 14px;
+}
- .record_content .title .el-button--default {
- color: #004EA2;
- }
+.record_content .title .el-button--default {
+ color: #004EA2;
+}
- .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
- background: rgba(58, 124, 253, 0.2);
- color: #004EA2;
- }
+.record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+ background: rgba(58, 124, 253, 0.2);
+ color: #004EA2;
+}
- .record_content .el-tree-node__content {
- height: 30px;
- border-radius: 2px;
- }
+.record_content .el-tree-node__content {
+ height: 30px;
+ border-radius: 2px;
+}
</style>
\ No newline at end of file
diff --git a/src/components/view/finishedProductInspectionUp.vue b/src/components/view/finishedProductInspectionUp.vue
index dd3495e..af64790 100644
--- a/src/components/view/finishedProductInspectionUp.vue
+++ b/src/components/view/finishedProductInspectionUp.vue
@@ -24,14 +24,14 @@
</el-col>
<el-col :span="7">
<el-form-item label="瀹㈡埛鍚嶇О锛�">
- <el-input disabled style="width: 180px;" v-model="processInspectVo.prname" placeholder="璇疯緭鍏ュ鎴峰悕绉�"
- autocomplete="off" />
+ <el-input disabled style="width: 180px;" v-model="processInspectVo.prname"
+ placeholder="璇疯緭鍏ュ鎴峰悕绉�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="宸ョ▼鍚嶇О锛�">
- <el-input disabled style="width: 180px;" v-model="processInspectVo.sname" placeholder="璇疯緭鍏ュ伐绋嬪悕绉�"
- autocomplete="off" />
+ <el-input disabled style="width: 180px;" v-model="processInspectVo.sname"
+ placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" autocomplete="off" />
</el-form-item>
</el-col>
</el-row>
@@ -54,8 +54,8 @@
</el-col>
<el-col :span="7">
<el-form-item label="浜у搧缂栫爜锛�">
- <el-input disabled style="width: 180px;" v-model="processInspectVo.mcode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
- autocomplete="off" />
+ <el-input disabled style="width: 180px;" v-model="processInspectVo.mcode"
+ placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" />
</el-form-item>
</el-col>
</el-row>
@@ -68,14 +68,14 @@
</el-col>
<el-col :span="7">
<el-form-item label="鍗曚綅锛�">
- <el-input disabled style="width: 180px;" v-model="processInspectVo.unit" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
- autocomplete="off" />
+ <el-input disabled style="width: 180px;" v-model="processInspectVo.unit"
+ placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="鏁伴噺锛�">
- <el-input disabled style="width: 180px;" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�"
- autocomplete="off" />
+ <el-input disabled style="width: 180px;" v-model="processInspectVo.quantity"
+ placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="3" style="display: flex;justify-content: end;">
@@ -88,9 +88,11 @@
<div class="inspectionProject">
<el-row>
<el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
- <el-col v-if="!isUpBtn" :span="12" class="inspectionProject_span" style="display: flex;justify-content: end;">
+ <el-col v-if="!isUpBtn" :span="12" class="inspectionProject_span"
+ style="display: flex;justify-content: end;">
<el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
- <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <el-button style="margin-right: 30px;" size="mini"
+ @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
<!-- <el-button
size="mini"
style="margin-right: 30px;"
@@ -120,8 +122,8 @@
<el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
<template slot-scope="scope">
<el-button type="text" @click="clickTableSelect(scope)">{{
- scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
- }}</el-button>
+ scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
+ }}</el-button>
</template>
</el-table-column>
<el-table-column label="缁撹">
@@ -164,11 +166,11 @@
<div class="div_device_dialog">
<el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;">
</el-input>
- <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current
- @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
+ <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all
+ highlight-current @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
<div class="custom-tree-node" slot-scope="{ data }">
- <span><i
- :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>{{ data.name }}</span>
+ <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>{{
+ data.name }}</span>
</div>
</el-tree>
</div>
@@ -181,146 +183,181 @@
</template>
<script>
- export default {
- props: ['rowInfo'],
- data() {
- return {
- isUpBtn: false,
- showUp: false,
- isAddProject: false,
- showLook: false,
- detailId: 0,
- rowInfp: {},
- search: {
- countSize: 10,
- pageSize: 1,
- result: "", // 妫�娴嬬姸鎬�
- name: "", // 浜у搧鍚嶇О
- techfather: "" // 宸ュ簭
- },
- optionsSamplename: [],
- inspectionTable: [],
- tableColumn: [],
- optionSoptionSprocesses: [],
- optionTechnology: [],
- inspectionTableTotal: 0,
- pageSize: 10,
- currentPage: 1,
- treeProject: [],
- // 娣诲姞鍒�
- empiricalValueAdd: 1,
- // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
- empiricalValueAddMaxNumber: 0,
- showAddPage: false,
- processInspectVo: {
- id: null,
- material: null,
- mcode: null,
- prname: null,
- sname: null,
- orderNumber: "D-001",
- qualityTraceability: null,
- quantity: null,
- specificationsModel: null,
- unit: null,
- technologyId: null
- },
- InspectioniD: null,
- addInspectionform: [{
- number: "",
- username: "",
- projectname: "",
- tracenumber: "",
- code: "",
- class: "",
- specificationmodel: "",
- unit: "",
- quantity: "",
- group: "",
- worker: "",
- machine: ""
- }],
- inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
- inspectionResultForm: [{
- id: "",
- name: "",
- inspecter: "",
- conclusion: "",
- operation: ""
- }],
- options: [],
- value: "",
- rowList: [],
- spanArr: [],
- position: 0,
- // 璁惧閫夋嫨鏍戞樉绀�
- centerDialogVisible: false,
- filterText: "",
- materialOptions: [],
- defaultProps: {
- // 璁惧鏍戞暟鎹缃�
- children: "children",
- label: "name"
- },
- nodeData: {
- id: 0,
- name: null
- }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
- clickSelectDevice: {
- index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
- rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
- }
- };
- },
- watch: {
- // filterText(val) {
- // this.$refs.tree.filter(val);
- // }
- },
- mounted() {
- if (this.rowInfo.result != null && this.rowInfo.result != '') {
- this.isUpBtn = true
+export default {
+ props: ['rowInfo'],
+ data() {
+ return {
+ isUpBtn: false,
+ showUp: false,
+ isAddProject: false,
+ showLook: false,
+ detailId: 0,
+ rowInfp: {},
+ search: {
+ countSize: 10,
+ pageSize: 1,
+ result: "", // 妫�娴嬬姸鎬�
+ name: "", // 浜у搧鍚嶇О
+ techfather: "" // 宸ュ簭
+ },
+ optionsSamplename: [],
+ inspectionTable: [],
+ tableColumn: [],
+ optionSoptionSprocesses: [],
+ optionTechnology: [],
+ inspectionTableTotal: 0,
+ pageSize: 10,
+ currentPage: 1,
+ treeProject: [],
+ // 娣诲姞鍒�
+ empiricalValueAdd: 1,
+ // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+ empiricalValueAddMaxNumber: 0,
+ showAddPage: false,
+ processInspectVo: {
+ id: null,
+ material: null,
+ mcode: null,
+ prname: null,
+ sname: null,
+ orderNumber: "D-001",
+ qualityTraceability: null,
+ quantity: null,
+ specificationsModel: null,
+ unit: null,
+ technologyId: null
+ },
+ InspectioniD: null,
+ addInspectionform: [{
+ number: "",
+ username: "",
+ projectname: "",
+ tracenumber: "",
+ code: "",
+ class: "",
+ specificationmodel: "",
+ unit: "",
+ quantity: "",
+ group: "",
+ worker: "",
+ machine: ""
+ }],
+ inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
+ inspectionResultForm: [{
+ id: "",
+ name: "",
+ inspecter: "",
+ conclusion: "",
+ operation: ""
+ }],
+ options: [],
+ value: "",
+ rowList: [],
+ spanArr: [],
+ position: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ filterText: "",
+ materialOptions: [],
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
+ },
+ nodeData: {
+ id: 0,
+ name: null
+ }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
}
- this.processInspectVo.material = this.rowInfo.material
- this.processInspectVo.mcode = this.rowInfo.material_code
- this.processInspectVo.orderNumber = this.rowInfo.order_number
- this.processInspectVo.qualityTraceability = this.rowInfo.quality_traceability
- this.processInspectVo.specificationsModel = this.rowInfo.specifications_model
- this.processInspectVo.unit = this.rowInfo.unit
- this.processInspectVo.quantity = this.rowInfo.quantity
- this.processInspectVo.prname = this.rowInfo.customer_name
- this.processInspectVo.sname = this.rowInfo.project_name
- this.inspectionResultForm[0].id = this.rowInfo.material_code
- this.inspectionResultForm[0].name = this.rowInfo.material
- this.inspectionResultForm[0].conclusion = this.rowInfo.result
- this.detailId = this.rowInfo.id
- this.getTableData()
- // this.getOptions();
- },
- methods: {
- // blurNode(row){
- // console.log(11);
- // row.isSelectDevice=false
- // },
- escalation() {
- let arr = this.inspectionItems
- let bl = false
- for (let index = 0; index < arr.length; index++) {
- const element = arr[index];
- if (element.dname != null && element.empiricalValueAddss[0] != '') {
- bl = true
- break
- } else {
- bl = false
- }
+ };
+ },
+ watch: {
+ // filterText(val) {
+ // this.$refs.tree.filter(val);
+ // }
+ },
+ mounted() {
+ if (this.rowInfo.result != null && this.rowInfo.result != '') {
+ this.isUpBtn = true
+ }
+ this.processInspectVo.material = this.rowInfo.material
+ this.processInspectVo.mcode = this.rowInfo.material_code
+ this.processInspectVo.orderNumber = this.rowInfo.order_number
+ this.processInspectVo.qualityTraceability = this.rowInfo.quality_traceability
+ this.processInspectVo.specificationsModel = this.rowInfo.specifications_model
+ this.processInspectVo.unit = this.rowInfo.unit
+ this.processInspectVo.quantity = this.rowInfo.quantity
+ this.processInspectVo.prname = this.rowInfo.customer_name
+ this.processInspectVo.sname = this.rowInfo.project_name
+ this.inspectionResultForm[0].id = this.rowInfo.material_code
+ this.inspectionResultForm[0].name = this.rowInfo.material
+ this.inspectionResultForm[0].conclusion = this.rowInfo.result
+ this.detailId = this.rowInfo.id
+ this.getTableData()
+ // this.getOptions();
+ },
+ methods: {
+ // blurNode(row){
+ // console.log(11);
+ // row.isSelectDevice=false
+ // },
+ escalation() {
+ let arr = this.inspectionItems
+ let bl = false
+ for (let index = 0; index < arr.length; index++) {
+ const element = arr[index];
+ if (element.dname != null && element.empiricalValueAddss[0] != '') {
+ bl = true
+ break
+ } else {
+ bl = false
}
- if (bl != true) {
+ }
+ if (bl != true) {
+ this.$message({
+ message: '璇峰厛妫�娴嬩竴椤归」鐩紒',
+ type: 'warning'
+ });
+ return
+ }
+ let pro = this.inspectionItems.filter(item => {
+ return item.result === 0;
+ })
+ if (pro.length > 0) {
+ this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ inputPattern: /^\d+$/,
+ inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
+ }).then(({ value }) => {
+ this.$axios.post(this.$api.url.finishedInspectUpdateFinishInspectsById, {
+ id: this.detailId,
+ number: value
+ }).then(res => {
+ if (res.code == 200) {
+ this.$message({
+ message: '涓婃姤鎴愬姛',
+ type: 'success'
+ });
+ this.$parent.comBackMain(true)
+ } else {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ }
+
+ })
+ }).catch(() => {
this.$message({
- message: '璇峰厛妫�娴嬩竴椤归」鐩紒',
- type: 'warning'
+ type: 'info',
+ message: '鍙栨秷杈撳叆'
});
- return
- }
+ });
+ } else {
this.$axios.post(this.$api.url.finishedInspectUpdateFinishInspectsById, {
id: this.detailId
}).then(res => {
@@ -332,10 +369,10 @@
});
return
}
- this.$message({
- message: '涓婃姤鎴愬姛',
- type: 'success'
- });
+ // this.$message({
+ // message: '涓婃姤鎴愬姛',
+ // type: 'success'
+ // });
this.$parent.comBackMain(true)
} else {
this.$message({
@@ -344,365 +381,365 @@
});
}
})
-
- },
- changeOptionsSamplename() {
- let id = this.processInspectVo.material.split("-")[0]
- let sample = this.optionsSamplename.filter(o => {
- return o.id == id
- })[0]
- this.processInspectVo.qualityTraceability = sample.qualityTraceability
- this.processInspectVo.mcode = sample.mcode
- this.processInspectVo.specificationsModel = sample.specifications
- this.processInspectVo.unit = sample.unit
- },
- comBack() {
- this.$parent.comBackMain()
- },
- handleClick(row) {
- this.rowInfp = row
- this.showLook = true
- },
- updateInsInfo(row) {
- this.rowInfp = row
- this.showUp = true
- },
- combackMain() {
- this.showUp = false
- this.showLook = false
- },
- searchPro() {
- this.search.countSize = this.pageSize
- this.search.pageSize = this.currentPage
- this.defaultInitializationTable()
- },
- // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
- nodeClick(data) {
- if (data.id != undefined) this.nodeData = data;
- },
- // 璁惧鏍戣繃婊ゆ悳绱�
- filterNode(value, data) {
- if (!value) return true;
- return data.name.indexOf(value) !== -1;
- },
- // 鑾峰彇璁惧鏍戝唴瀹�
- getOptions(row) {
- this.$axios.get(this.$api.url.inspectionItemChooseDev, {
- params: {
- father: row.father,
- name: row.name,
- technologyId: this.processInspectVo.technologyId
- }
- }).then(res => {
- this.materialOptions = res.data;
- if (this.materialOptions.length === 1 && row.did != null) {
- this.$message({
- message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
- type: 'warning'
- });
- return
- }
- row.isSelectDevice = true
- });
- },
- // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
- clickTableSelect(scope) {
- this.centerDialogVisible = true;
- this.clickSelectDevice.index = scope.$index;
- this.clickSelectDevice.rpId = scope.row.id;
- this.getOptions(scope.row);
- },
- // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
- clickNodeSure(row) {
- if (this.detailId == null) {
- this.projectTable[this.clickSelectDevice.index].deviceId = this.nodeData.id;
- this.projectTable[this.clickSelectDevice.index].deviceName = this.nodeData.name;
- this.centerDialogVisible = false;
- } else {
- this.$axios.post(this.$api.url.inspectionItemUpdateDevByInsId, {
- id: this.clickSelectDevice.rpId,
- devId: this.nodeData.id,
- type: 2
- }).then(res => {
- this.centerDialogVisible = false;
- this.inspectionItems.forEach(a=>{
- if(a.id == this.clickSelectDevice.rpId){
- a.dname = this.nodeData.name
- }
- })
- });
+ }
+ },
+ changeOptionsSamplename() {
+ let id = this.processInspectVo.material.split("-")[0]
+ let sample = this.optionsSamplename.filter(o => {
+ return o.id == id
+ })[0]
+ this.processInspectVo.qualityTraceability = sample.qualityTraceability
+ this.processInspectVo.mcode = sample.mcode
+ this.processInspectVo.specificationsModel = sample.specifications
+ this.processInspectVo.unit = sample.unit
+ },
+ comBack() {
+ this.$parent.comBackMain()
+ },
+ handleClick(row) {
+ this.rowInfp = row
+ this.showLook = true
+ },
+ updateInsInfo(row) {
+ this.rowInfp = row
+ this.showUp = true
+ },
+ combackMain() {
+ this.showUp = false
+ this.showLook = false
+ },
+ searchPro() {
+ this.search.countSize = this.pageSize
+ this.search.pageSize = this.currentPage
+ this.defaultInitializationTable()
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions(row) {
+ this.$axios.get(this.$api.url.inspectionItemChooseDev, {
+ params: {
+ father: row.father,
+ name: row.name,
+ technologyId: this.processInspectVo.technologyId
}
- },
- changeState(row, index) {
- if (row.did != null && row.did != '') {
- // let val = row.empiricalValueAddss.filter(item => {
- // return item != '' && item != null
- // })
- // let eq = val.filter(item => {
- // return /^[^><=]/.test(item)
- // })
- // if (eq.length > 0) {
- // this.$message({
- // message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
- // type: 'warning'
- // });
- // return
- // }
- let str = ""
- row.empiricalValueAddss.forEach(e => {
- str += e + ","
- })
- if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
- return
- }
- this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
- deviceId: row.did,
- inspectionItemId: row.id,
- inspectionValue: str.slice(0, -1)
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- }).then(res => {
- row.result = res.data.result
- row.username = res.data.username
- })
- } else {
+ }).then(res => {
+ this.materialOptions = res.data;
+ if (this.materialOptions.length === 1 && row.did != null) {
this.$message({
- message: '璇烽�夋嫨鎷╄澶囷紒',
+ message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
type: 'warning'
});
+ return
}
- },
- // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
- handleSizeChange(val) {
- this.search.countSize = val;
- this.defaultInitializationTable();
- },
- handleSpanMethod({
- row,
- column,
- rowIndex,
- columnIndex
- }) {
- if (columnIndex === 0) {
- const _row = this.spanArr[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- if (columnIndex === 1) {
- const _row = this.spanArr[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- },
- // 鍚堝苟琛ㄦ牸
- mergeTable() {
- this.rowList = []
- this.spanArr = []
- this.position = 0
- this.inspectionItems.forEach((item, index) => {
- if (index === 0) {
- this.spanArr.push(1);
- this.position = 0;
- } else {
- if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
- this.spanArr[this.position] += 1;
- this.spanArr.push(0);
- } else {
- this.spanArr.push(1);
- this.position = index;
+ row.isSelectDevice = true
+ });
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ this.centerDialogVisible = true;
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.id;
+ this.getOptions(scope.row);
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure(row) {
+ if (this.detailId == null) {
+ this.projectTable[this.clickSelectDevice.index].deviceId = this.nodeData.id;
+ this.projectTable[this.clickSelectDevice.index].deviceName = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios.post(this.$api.url.inspectionItemUpdateDevByInsId, {
+ id: this.clickSelectDevice.rpId,
+ devId: this.nodeData.id,
+ type: 2
+ }).then(res => {
+ this.centerDialogVisible = false;
+ this.inspectionItems.forEach(a => {
+ if (a.id == this.clickSelectDevice.rpId) {
+ a.dname = this.nodeData.name
}
- }
+ })
+ });
+ }
+ },
+ changeState(row, index) {
+ if (row.did != null && row.did != '') {
+ // let val = row.empiricalValueAddss.filter(item => {
+ // return item != '' && item != null
+ // })
+ // let eq = val.filter(item => {
+ // return /^[^><=]/.test(item)
+ // })
+ // if (eq.length > 0) {
+ // this.$message({
+ // message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+ // type: 'warning'
+ // });
+ // return
+ // }
+ let str = ""
+ row.empiricalValueAddss.forEach(e => {
+ str += e + ","
})
- },
- changeOptionSoptionSprocesses() {
- this.optionTechnology = []
- let working = this.optionSoptionSprocesses.filter(item => {
- return item.name === this.processInspectVo.techfather
- })[0]
- this.optionTechnology = working.children
- },
- addTestProjevt() {
- // this.isAddProject = true
- let val = JSON.parse(JSON.stringify(this.processInspectVo))
- val.material = this.processInspectVo.material.split("-")[1]
- val.id = this.processInspectVo.material.split("-")[0]
- this.$axios.post(this.$api.url.finishedInspectAddFinish, val, {
+ if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
+ return
+ }
+ this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
+ deviceId: row.did,
+ inspectionItemId: row.id,
+ inspectionValue: str.slice(0, -1)
+ }, {
headers: {
"Content-Type": "application/json"
}
}).then(res => {
- if (res.code == 201) {
- this.$message({
- message: res.message,
- type: 'warning'
- });
- return
- }
- this.detailId = res.data
- this.inspectionResultForm[0].id = val.mcode
- this.inspectionResultForm[0].name = val.material
- this.getTableData()
+ row.result = res.data.result
+ row.username = res.data.username
})
- },
- getTableData() {
- console.log(this.rowInfo);
- this.$axios.get(this.$api.url.finishedInspectSelectFinishInspectsListById, {
- params: {
- id: this.rowInfo.id
- }
- }).then(res => {
- this.processInspectVo.technologyId = res.data[0].techId
- })
- this.$axios.get(this.$api.url.inspectionItemListUser, {
- params: {
- id: this.detailId,
- type: 2
- }
- }).then(res => {
- if (res.data.length < 1) {
- return
- }
- this.inspectionItems = res.data
- let arr = []
- let val = JSON.parse(JSON.stringify(this.inspectionItems))
- const uName = []
- //杞垚涓�缁存暟缁�
- val.forEach(l => {
- let father = l.father
- l.children.forEach(c => {
- c.father = father
- c.empiricalValueAddss = []
- if (c.inspectionValue != '' && c.inspectionValue != null) {
- c.empiricalValueAddss = c.inspectionValue.split(",");
- } else {
- c.empiricalValueAddss.push("")
- }
- uName.push(c['username'])
- c.isSelectDevice = false
- arr.push(c)
- })
- })
- this.inspectionItems = arr
- let arrSort = JSON.parse(JSON.stringify(arr))
- //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
- arrSort.sort((a, b) => {
- if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
- return -1; // a鎺掑湪b鍓嶉潰
- } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
- return 1; // a鎺掑湪b鍚庨潰
- } else {
- return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
- }
- });
- // console.log(arrSort);
- console.log(uName);
- let name = [...new Set(uName)].filter(item => item !== null);
- let rname = ''
- name.forEach(m => {
- rname += m + ","
- })
- this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
- this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
- this.mergeTable(arr)
- })
- },
- selectSample() {
- let sample = this.optionsSamplename.filter(item => {
- return item.name === this.processInspectVo.material
- })[0]
- this.processInspectVo.techfather = null
- this.processInspectVo.techname = null
- this.processInspectVo.materialCode = sample.code
- this.processInspectVo.specificationsModel = sample.specifications
- this.processInspectVo.unit = sample.unit
- this.optionSoptionSprocesses = []
- this.optionSoptionSprocesses = sample.children
- },
- selectInfoByOrderId() {
- this.$axios.get(this.$api.url.finishedInspectChooseMater, {
- params: {
- orderNumber: this.processInspectVo.orderNumber
- }
- }).then(res => {
- if (res.data.length > 0) {
- console.log(res.data);
- this.processInspectVo.sname = res.data[0].sname
- this.processInspectVo.prname = res.data[0].prname
- this.optionsSamplename = res.data[0].children
- } else {
- this.$message({
- message: '娌℃湁璇ヨ鍗曞彿锛�',
- type: 'warning'
- });
- }
- })
- },
- // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
- handleCurrentChange(val) {
- this.search.pageSize = val;
- this.defaultInitializationTable();
- },
- // 鏄剧ず鏂板椤甸潰
- handleAddNew() {
- this.showAddPage = true;
- // this.getTableData()
- },
- // 琛ㄦ牸鍒濆鍖栨帴鍙�
- defaultInitializationTable() {
- this.$axios
- .post(this.$api.url.selectProcessInspectsList, this.search)
- .then(res => {
- this.inspectionTableTotal = res.data.total;
- this.inspectionTable = res.data.row;
- });
- },
- // 娣诲姞琛�
- clickAddLine() {
- let obj = {
- material: "",
- materialCode: "",
- orderNumber: "",
- quantity: 0,
- specificationsModel: "",
- techfather: "",
- techname: "",
- technologyId: 0,
- unit: ""
- };
- this.inspectionItems.push(obj);
- },
- // 鍒犻櫎琛�
- clickDeleteline(scope) {
- this.inspectionItems.splice(scope.$index, 1);
- },
- // 鍒犻櫎妫�楠屽�煎垪
- clickDeleteInspectionColumn() {
- if (this.empiricalValueAdd - 1 === 0) {} else {
- if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
- this.empiricalValueAdd = this.empiricalValueAdd - 1;
- this.inspectionItems.forEach(i => {
- i.testValueList.splice(this.empiricalValueAdd, 1);
- });
- }
- }
- },
- // 娣诲姞妫�楠屽�煎垪
- clickAddInspectionColumn() {
- this.empiricalValueAdd = this.empiricalValueAdd + 1;
+ } else {
+ this.$message({
+ message: '璇烽�夋嫨鎷╄澶囷紒',
+ type: 'warning'
+ });
}
},
- created() {
- this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+ // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+ handleSizeChange(val) {
+ this.search.countSize = val;
+ this.defaultInitializationTable();
+ },
+ handleSpanMethod({
+ row,
+ column,
+ rowIndex,
+ columnIndex
+ }) {
+ if (columnIndex === 0) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ if (columnIndex === 1) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ },
+ // 鍚堝苟琛ㄦ牸
+ mergeTable() {
+ this.rowList = []
+ this.spanArr = []
+ this.position = 0
+ this.inspectionItems.forEach((item, index) => {
+ if (index === 0) {
+ this.spanArr.push(1);
+ this.position = 0;
+ } else {
+ if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
+ this.spanArr[this.position] += 1;
+ this.spanArr.push(0);
+ } else {
+ this.spanArr.push(1);
+ this.position = index;
+ }
+ }
+ })
+ },
+ changeOptionSoptionSprocesses() {
+ this.optionTechnology = []
+ let working = this.optionSoptionSprocesses.filter(item => {
+ return item.name === this.processInspectVo.techfather
+ })[0]
+ this.optionTechnology = working.children
+ },
+ addTestProjevt() {
+ // this.isAddProject = true
+ let val = JSON.parse(JSON.stringify(this.processInspectVo))
+ val.material = this.processInspectVo.material.split("-")[1]
+ val.id = this.processInspectVo.material.split("-")[0]
+ this.$axios.post(this.$api.url.finishedInspectAddFinish, val, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res => {
+ if (res.code == 201) {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ }
+ this.detailId = res.data
+ this.inspectionResultForm[0].id = val.mcode
+ this.inspectionResultForm[0].name = val.material
+ this.getTableData()
+ })
+ },
+ getTableData() {
+ console.log(this.rowInfo);
+ this.$axios.get(this.$api.url.finishedInspectSelectFinishInspectsListById, {
+ params: {
+ id: this.rowInfo.id
+ }
+ }).then(res => {
+ this.processInspectVo.technologyId = res.data[0].techId
+ })
+ this.$axios.get(this.$api.url.inspectionItemListUser, {
+ params: {
+ id: this.detailId,
+ type: 2
+ }
+ }).then(res => {
+ if (res.data.length < 1) {
+ return
+ }
+ this.inspectionItems = res.data
+ let arr = []
+ let val = JSON.parse(JSON.stringify(this.inspectionItems))
+ const uName = []
+ //杞垚涓�缁存暟缁�
+ val.forEach(l => {
+ let father = l.father
+ l.children.forEach(c => {
+ c.father = father
+ c.empiricalValueAddss = []
+ if (c.inspectionValue != '' && c.inspectionValue != null) {
+ c.empiricalValueAddss = c.inspectionValue.split(",");
+ } else {
+ c.empiricalValueAddss.push("")
+ }
+ uName.push(c['username'])
+ c.isSelectDevice = false
+ arr.push(c)
+ })
+ })
+ this.inspectionItems = arr
+ let arrSort = JSON.parse(JSON.stringify(arr))
+ //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
+ arrSort.sort((a, b) => {
+ if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
+ return -1; // a鎺掑湪b鍓嶉潰
+ } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
+ return 1; // a鎺掑湪b鍚庨潰
+ } else {
+ return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
+ }
+ });
+ // console.log(arrSort);
+ console.log(uName);
+ let name = [...new Set(uName)].filter(item => item !== null);
+ let rname = ''
+ name.forEach(m => {
+ rname += m + ","
+ })
+ this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
+ this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
+ this.mergeTable(arr)
+ })
+ },
+ selectSample() {
+ let sample = this.optionsSamplename.filter(item => {
+ return item.name === this.processInspectVo.material
+ })[0]
+ this.processInspectVo.techfather = null
+ this.processInspectVo.techname = null
+ this.processInspectVo.materialCode = sample.code
+ this.processInspectVo.specificationsModel = sample.specifications
+ this.processInspectVo.unit = sample.unit
+ this.optionSoptionSprocesses = []
+ this.optionSoptionSprocesses = sample.children
+ },
+ selectInfoByOrderId() {
+ this.$axios.get(this.$api.url.finishedInspectChooseMater, {
+ params: {
+ orderNumber: this.processInspectVo.orderNumber
+ }
+ }).then(res => {
+ if (res.data.length > 0) {
+ console.log(res.data);
+ this.processInspectVo.sname = res.data[0].sname
+ this.processInspectVo.prname = res.data[0].prname
+ this.optionsSamplename = res.data[0].children
+ } else {
+ this.$message({
+ message: '娌℃湁璇ヨ鍗曞彿锛�',
+ type: 'warning'
+ });
+ }
+ })
+ },
+ // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+ handleCurrentChange(val) {
+ this.search.pageSize = val;
+ this.defaultInitializationTable();
+ },
+ // 鏄剧ず鏂板椤甸潰
+ handleAddNew() {
+ this.showAddPage = true;
+ // this.getTableData()
+ },
+ // 琛ㄦ牸鍒濆鍖栨帴鍙�
+ defaultInitializationTable() {
+ this.$axios
+ .post(this.$api.url.selectProcessInspectsList, this.search)
+ .then(res => {
+ this.inspectionTableTotal = res.data.total;
+ this.inspectionTable = res.data.row;
+ });
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ material: "",
+ materialCode: "",
+ orderNumber: "",
+ quantity: 0,
+ specificationsModel: "",
+ techfather: "",
+ techname: "",
+ technologyId: 0,
+ unit: ""
+ };
+ this.inspectionItems.push(obj);
+ },
+ // 鍒犻櫎琛�
+ clickDeleteline(scope) {
+ this.inspectionItems.splice(scope.$index, 1);
+ },
+ // 鍒犻櫎妫�楠屽�煎垪
+ clickDeleteInspectionColumn() {
+ if (this.empiricalValueAdd - 1 === 0) { } else {
+ if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+ this.empiricalValueAdd = this.empiricalValueAdd - 1;
+ this.inspectionItems.forEach(i => {
+ i.testValueList.splice(this.empiricalValueAdd, 1);
+ });
+ }
+ }
+ },
+ // 娣诲姞妫�楠屽�煎垪
+ clickAddInspectionColumn() {
+ this.empiricalValueAdd = this.empiricalValueAdd + 1;
}
+ },
+ created() {
+ this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
}
+}
</script>
<style></style>
\ No newline at end of file
diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue
index b28101d..88c3344 100644
--- a/src/components/view/mbom.vue
+++ b/src/components/view/mbom.vue
@@ -471,4 +471,4 @@
height: 30px;
border-radius: 2px;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index 1da7079..7bd5ac8 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -1,823 +1,969 @@
<template>
- <div class="content-main">
- <div v-if="!showAddPage && !showUp && !showLook" class="rawPage">
- <div class="title">
- <el-row>
- <el-col :span="12">杩囩▼妫�楠�</el-col>
- <el-col :span="12" style="text-align: right;">
- <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">鏂板</el-button>
- <el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button>
- </el-col>
- </el-row>
- </div>
- <div class="nav">
- <span>妫�楠岀姸鎬侊細</span>
- <el-select size="small" v-model="search.result" placeholder="璇烽�夋嫨妫�娴嬬姸鎬�" style="width: 224px;margin-right: 52px;">
- <el-option :value="''" label="鍏ㄩ儴"></el-option>
- <el-option :value="1" label="鍚堟牸"></el-option>
- <el-option :value="0" label="涓嶅悎鏍�"></el-option>
- </el-select>
- <span>浜у搧鍚嶇О锛�</span>
- <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.name" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></el-input>
- <span>宸ュ簭锛�</span>
- <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.techfather" placeholder="璇疯緭鍏ュ伐搴�"></el-input>
- <el-button size="mini"><span>閲� 缃�</span></el-button>
- <el-button size="mini" @click="searchPro" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
- </div>
- <div class="content-body">
- <div class="inspectionTable">
- <el-table ref="inspectionTable" height="calc(100vh - 290px)" :cell-style="{ textAlign: 'center' }" :header-cell-style="{
- border: '0px',
- background: '#f5f7fa',
- color: '#606266',
- boxShadow: 'inset 0 1px 0 #ebeef5',
- textAlign: 'center'
- }" border :data="inspectionTable" style="width: 100%">
- <el-table-column type="selection" width="50"> </el-table-column>
- <el-table-column label="搴忓彿" type="index" width="60"></el-table-column>
- <el-table-column prop="order_number" label="璁㈠崟缂栧彿" min-width="100" />
- <el-table-column prop="material" label="浜у搧鍚嶇О" min-width="100" />
- <el-table-column prop="specifications_model" label="瑙勬牸鍨嬪彿" min-width="100" />
- <el-table-column prop="techfather" label="宸ュ簭" min-width="60" />
- <el-table-column prop="techname" label="宸ヨ壓鍚嶇О" min-width="100" />
- <el-table-column prop="unit" label="鍗曚綅" min-width="60" />
- <el-table-column prop="quantity" label="鏁伴噺" min-width="60" />
- <el-table-column prop="createTime" label="鎶ユ鏃ユ湡" min-width="110" />
- <el-table-column prop="name" label="鎶ユ浜�" min-width="80" />
- <el-table-column prop="updateTime" label="妫�娴嬫棩鏈�" min-width="110" />
- <el-table-column prop="result" label="鍚堟牸鐘舵��" min-width="100">
- <template slot-scope="scope">
- <span style="color: #34BD66;" v-if="scope.row.result == 1">鍚堟牸</span>
- <span style="color: #E84738;" v-else-if="scope.row.result == 0">涓嶅悎鏍�</span>
- </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" min-width="150" fixed="right">
- <template slot-scope="scope">
- <el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;">璇︽儏</el-button>
- <el-button type="text" size="small">鏌ョ湅</el-button>
- <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;" @click="updateInsInfo(scope.row)">缂栬緫</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <!-- 鍒嗛〉鍣� -->
- <div class="pagination">
- <el-pagination :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="inspectionTableTotal" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
- </div>
- </div>
+ <div class="content-main">
+ <div v-if="!showAddPage && !showUp && !showLook" class="rawPage">
+ <div class="title">
+ <el-row>
+ <el-col :span="12">杩囩▼妫�楠�</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus"
+ style="background: #004EA2; ">鏂板</el-button>
+ <el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button>
+ <el-button @click="report" icon="el-icon-download" size="mini">鐢熸垚鎶ュ憡</el-button>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="nav">
+ <span>妫�楠岀姸鎬侊細</span>
+ <el-select size="small" v-model="search.result" placeholder="璇烽�夋嫨妫�娴嬬姸鎬�" style="width: 224px;margin-right: 52px;">
+ <el-option :value="''" label="鍏ㄩ儴"></el-option>
+ <el-option :value="1" label="鍚堟牸"></el-option>
+ <el-option :value="0" label="涓嶅悎鏍�"></el-option>
+ </el-select>
+ <span>浜у搧鍚嶇О锛�</span>
+ <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.name"
+ placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></el-input>
+ <span>宸ュ簭锛�</span>
+ <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.techfather"
+ placeholder="璇疯緭鍏ュ伐搴�"></el-input>
+ <el-button size="mini"><span>閲� 缃�</span></el-button>
+ <el-button size="mini" @click="searchPro" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
+ </div>
+ <div class="content-body">
+ <div class="inspectionTable">
+ <el-table ref="inspectionTable" height="calc(100vh - 320px)" :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{
+ border: '0px',
+ background: '#f5f7fa',
+ color: '#606266',
+ boxShadow: 'inset 0 1px 0 #ebeef5',
+ textAlign: 'center'
+ }" border :data="inspectionTable" style="width: 100%">
+ <el-table-column type="selection" width="50"> </el-table-column>
+ <el-table-column label="搴忓彿" type="index" width="60"></el-table-column>
+ <el-table-column prop="order_number" label="璁㈠崟缂栧彿" min-width="90" />
+ <el-table-column prop="material" label="浜у搧鍚嶇О" min-width="80" />
+ <el-table-column prop="specifications_model" label="瑙勬牸鍨嬪彿" min-width="60" />
+ <el-table-column prop="techfather" label="宸ュ簭" min-width="70" />
+ <el-table-column prop="techname" label="宸ヨ壓鍚嶇О" min-width="70" />
+ <el-table-column prop="unit" label="鍗曚綅" min-width="50" />
+ <el-table-column prop="quantity" label="鏁伴噺" min-width="50" />
+ <el-table-column prop="createTime" label="鎶ユ鏃ユ湡" min-width="60" />
+ <el-table-column prop="name" label="鎶ユ浜�" min-width="50" />
+ <el-table-column prop="updateTime" label="妫�娴嬫棩鏈�" min-width="60" />
+ <el-table-column prop="result" label="鍚堟牸鐘舵��" min-width="80">
+ <template slot-scope="scope">
+ <span style="color: #34BD66;" v-if="scope.row.result == 1">鍚堟牸</span>
+ <span style="color: #E84738;" v-else-if="scope.row.result == 0">涓嶅悎鏍�</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="80">
+ <template slot-scope="scope">
+ <el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;">璇︽儏</el-button>
+ <el-button type="text" size="small">鏌ョ湅</el-button>
+ <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;"
+ @click="updateInsInfo(scope.row)">缂栬緫</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
</div>
- <div class="newPage" v-if="showAddPage">
- <!-- 鏂板椤甸潰 -->
- <div class="addInspection">
- <el-row class="header">
- <el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col>
- <el-col :span="12" style="text-align: right;">
- <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
- <!-- <el-button type="primary" size="mini" style="background: #004EA2; "
+ <!-- 鍒嗛〉鍣� -->
+ <div class="pagination">
+ <el-pagination :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper" :total="inspectionTableTotal" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange" />
+ </div>
+ </div>
+ </div>
+ <div class="newPage" v-if="showAddPage">
+ <!-- 鏂板椤甸潰 -->
+ <div class="addInspection">
+ <el-row class="header">
+ <el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
+ <!-- <el-button type="primary" size="mini" style="background: #004EA2; "
icon="el-icon-circle-plus-outline">鏂板</el-button> -->
- <el-button @click="combackIndex" type="primary" size="mini" icon="el-icon-back" style="background: #004EA2; ">杩斿洖</el-button>
- </el-col>
- </el-row>
- <el-form :model="processInspectVo" ref="addInspectionform" class="addInspectionform" label-position="right" label-width="120px" size="small">
- <div class="formwrapper">
- <el-row :gutter="230">
- <el-col :span="7">
- <el-form-item label="璁㈠崟鍙凤細">
- <el-input @blur="selectInfoByOrderId" style="width: 210px;" size="small" v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" />
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="浜у搧鍚嶇О锛�">
- <el-select style="width: 210px;" size="small" @change="selectSample" v-model="processInspectVo.material" placeholder="璇烽�夋嫨浜у搧">
- <el-option v-for="item in optionsSamplename" :key="item.value" :label="item.name" :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="浜у搧缂栫爜锛�">
- <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.materialCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="230">
- <el-col :span="7">
- <el-form-item label="瑙勬牸鍨嬪彿锛�">
- <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.specificationsModel" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="宸ュ簭鍚嶇О锛�">
- <el-select @change="changeOptionSoptionSprocesses" v-model="processInspectVo.techfather" placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
- <el-option v-for="item in optionSoptionSprocesses" :key="item.name" :label="item.name" :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="宸ヨ壓鍚嶇О锛�">
- <el-select v-model="processInspectVo.techname" placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
- <el-option v-for="item in optionTechnology" :key="item.id" :label="item.name" :value="item.id + '-' + item.name">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="230">
- <el-col :span="7">
- <el-form-item label="鍗曚綅锛�">
- <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.unit" placeholder="璇疯緭鍏ュ崟浣�" />
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鏁伴噺锛�">
- <el-input style="width: 210px;" size="small" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="display: flex;justify-content: end;">
- <el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
- </el-col>
- </el-row>
- </div>
- </el-form>
- </div>
- <div class="inspectionProject">
- <el-row>
- <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
- <el-col :span="12" class="inspectionProject_span">
- <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
- <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
- <!-- <el-button
+ <el-button @click="combackIndex" type="primary" size="mini" icon="el-icon-back"
+ style="background: #004EA2; ">杩斿洖</el-button>
+ </el-col>
+ </el-row>
+ <el-form :model="processInspectVo" ref="addInspectionform" class="addInspectionform" label-position="right"
+ label-width="120px" size="small">
+ <div class="formwrapper">
+ <el-row :gutter="230">
+ <el-col :span="7">
+ <el-form-item label="璁㈠崟鍙凤細">
+ <el-input @blur="selectInfoByOrderId" style="width: 210px;" size="small"
+ v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="浜у搧鍚嶇О锛�">
+ <el-select style="width: 210px;" size="small" @change="selectSample" v-model="processInspectVo.material"
+ placeholder="璇烽�夋嫨浜у搧">
+ <el-option v-for="item in optionsSamplename" :key="item.value" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="浜у搧缂栫爜锛�">
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.materialCode"
+ placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="230">
+ <el-col :span="7">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�">
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.specificationsModel"
+ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="宸ュ簭鍚嶇О锛�">
+ <el-select @change="changeOptionSoptionSprocesses" v-model="processInspectVo.techfather"
+ placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-option v-for="item in optionSoptionSprocesses" :key="item.name" :label="item.name"
+ :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="宸ヨ壓鍚嶇О锛�">
+ <el-select v-model="processInspectVo.techname" placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-option v-for="item in optionTechnology" :key="item.id" :label="item.name"
+ :value="item.id + '-' + item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="230">
+ <el-col :span="7">
+ <el-form-item label="鍗曚綅锛�">
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.unit"
+ placeholder="璇疯緭鍏ュ崟浣�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="鏁伴噺锛�">
+ <el-input style="width: 210px;" size="small" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10" style="display: flex;justify-content: end;">
+ <el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+ <div class="inspectionProject">
+ <el-row>
+ <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
+ <el-col :span="12" class="inspectionProject_span">
+ <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
+ <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <!-- <el-button
size="mini"
style="margin-right: 30px;"
@click="clickAddLine()"
>娣诲姞妫�楠岃</el-button
> -->
- </el-col>
- </el-row>
- <el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod" height="calc(100vh - 550px)" style="width: 100%">
- <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
- <el-table-column label="椤圭洰" prop="father"></el-table-column>
- <el-table-column prop="name" label="鎸囨爣"></el-table-column>
- <el-table-column prop="unit" label="鍗曚綅"></el-table-column>
- <el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
- <el-table-column prop="internal" label="鍐呮祴鍊�"></el-table-column>
- <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��" min-width="100" style="text-align: center;">
- <template slot-scope="scope">
- <el-tooltip :disabled="scope.row.dname != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
- <el-input :disabled="scope.row.dname === null" v-model="scope.row.empiricalValueAddss[index]" @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
- </el-tooltip>
- </template>
- </el-table-column>
- <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
- <template slot-scope="scope">
- <el-button v-if="!scope.row.isSelectDevice" type="text" @click="clickTableSelect(scope)">{{
+ </el-col>
+ </el-row>
+ <el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod"
+ height="calc(100vh - 550px)" style="width: 100%">
+ <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
+ <el-table-column label="椤圭洰" prop="father"></el-table-column>
+ <el-table-column prop="name" label="鎸囨爣"></el-table-column>
+ <el-table-column prop="unit" label="鍗曚綅"></el-table-column>
+ <el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
+ <el-table-column prop="internal" label="鍐呮祴鍊�"></el-table-column>
+ <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
+ min-width="100" style="text-align: center;">
+ <template slot-scope="scope">
+ <el-tooltip :disabled="scope.row.dname != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+ placement="top-start">
+ <el-input :disabled="scope.row.dname === null" v-model="scope.row.empiricalValueAddss[index]"
+ @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
+ <template slot-scope="scope">
+ <el-button v-if="!scope.row.isSelectDevice" type="text" @click="clickTableSelect(scope)">{{
scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
}}</el-button>
- <el-select v-if="scope.row.isSelectDevice" style="width: 100%;" @change="clickNodeSure(scope.row)" v-model="filterText" placeholder="璇烽�夋嫨">
- <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="缁撹">
- <template slot-scope="scope">
- <span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
- <span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
- <span v-show="scope.row.result === null">鏆傛湭缁撹</span>
- </template>
- </el-table-column>
- <!-- <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
+ <el-select v-if="scope.row.isSelectDevice" style="width: 100%;" @change="clickNodeSure(scope.row)"
+ v-model="filterText" placeholder="璇烽�夋嫨">
+ <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="缁撹">
+ <template slot-scope="scope">
+ <span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
+ <span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
+ <span v-show="scope.row.result === null">鏆傛湭缁撹</span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
<template slot-scope="scope">
<el-button type="text" @click="clickDeleteline(scope)">鍒犻櫎</el-button>
</template>
</el-table-column> -->
- </el-table>
- </div>
- <div class="inspectionResult">
- <span>妫�娴嬬粨鏋�</span>
- <el-table :data="inspectionResultForm">
- <el-table-column prop="id" label="鐗╂枡缂栧彿"></el-table-column>
- <el-table-column prop="name" label="鐗╂枡鍚嶇О"></el-table-column>
- <el-table-column prop="inspecter" label="妫�楠屽憳"></el-table-column>
- <el-table-column prop="conclusion" label="妫�楠岀粨璁�"></el-table-column>
- <el-table-column prop="operation" label="涓婃姤"></el-table-column>
- </el-table>
- </div>
- <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%">
- <div class="div_device_dialog">
- <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨">
- <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
- </el-option>
- </el-select>
- </div>
- </el-dialog>
+ </el-table>
+ </div>
+ <div class="inspectionResult">
+ <span>妫�娴嬬粨鏋�</span>
+ <el-table :data="inspectionResultForm">
+ <el-table-column prop="id" label="鐗╂枡缂栧彿"></el-table-column>
+ <el-table-column prop="name" label="鐗╂枡鍚嶇О"></el-table-column>
+ <el-table-column prop="inspecter" label="妫�楠屽憳"></el-table-column>
+ <el-table-column prop="conclusion" label="妫�楠岀粨璁�"></el-table-column>
+ <el-table-column prop="operation" label="涓婃姤"></el-table-column>
+ </el-table>
+ </div>
+ <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%">
+ <div class="div_device_dialog">
+ <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨">
+ <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
+ </el-option>
+ </el-select>
</div>
- <div class="newPage" v-if="showUp">
- <processInspectionUpdate :rowInfo="rowInfp" />
- </div>
- <div class="newPage" v-if="showLook">
- <processInspectionLook :rowInfo="rowInfp" />
- </div>
+ </el-dialog>
</div>
+ <div class="newPage" v-if="showUp">
+ <processInspectionUpdate :rowInfo="rowInfp" />
+ </div>
+ <div class="newPage" v-if="showLook">
+ <processInspectionLook :rowInfo="rowInfp" />
+ </div>
+ <!-- <div class="newPage" v-if="reportlook">
+ <index />
+ </div> -->
+ <el-dialog
+ title="杩囩▼妫�楠屾姤鍛�" :visible.sync="reportlook" width="40%">
+ <template>
+ <div ref="print">
+
+ <div style="margin:0 auto;">
+ <!-- <div style="text-align:center;margin-top:10px;">杩囩▼妫�楠屾姤鍛�</div> -->
+ <table class="table table-striped table-bordered" align="center" border style="width: 100%;height: 700px;" valign="center">
+ <tr>
+ <td class="column" colspan="2" rowspan="2" > </td>
+ <td class="column" colspan="2" ><p>璁板綍鍚嶇О锛氭楠岃褰曡〃</p>Table: Inspection Record</td>
+ <td class="column" colspan="2"><p>淇濆瓨鏈熼檺锛�25骞�</p> Storage Life: 25 years</td>
+ </tr>
+ <tr>
+ <td class="column" colspan="2" > 璁板綍缂栧彿</td>
+ <td class="column" colspan="2" > 褰掓。閮ㄩ棬</td>
+ </tr>
+ <tr>
+ <td class="column"><p>闆朵欢鍚嶇О</p> Part Description</td>
+ <td class="value"></td>
+ <td class="column"><p>鍨嬪彿</p> Model</td>
+ <td class="value"></td>
+ <td class="column"><p>鍔犲伐鍗曞彿</p> Order No</td>
+ <td class="value"></td>
+ </tr>
+ <tr>
+ <td class="column"><p>妫�楠屼华鍣�</p> Inspection instrument</td>
+ <td class="value"></td>
+ <td class="column"><p>妫�楠屾暟閲�</p> Quantity to check</td>
+ <td class="value"></td>
+ <td class="column"><p>渚涜揣鍗曚綅</p> Supplier</td>
+ <td class="value"></td>
+ </tr>
+ <tr>
+ <td class="column"><p>妫�楠岄」鐩�</p> Inspection Item</td>
+
+ <td class="column" colspan="3"><p><p>妫�楠岀粨鏋�(瀹炴祴鍊�)</p> Test result (Measured value)</p></td>
+
+ <td class="column" rowspan="2" colspan="2"><p>鍒ゅ畾</p> Conclusion</td>
+ </tr>
+ <tr>
+ <td class="column"><p>鎶�鏈姹�</p> Technical Requirement</td>
+ <td class="column"><p>鍏樊</p> TOL</td>
+ <!-- <td class="daughter" >01</td> -->
+ </tr>
+ <tr>
+ <td class="column" rowspan="9" colspan="0.5">灏哄</td>
+ <td class="value" ></td>
+ <td class="column"></td>
+ <td class="value" ></td>
+
+ </tr>
+ <tr>
+ <td class="column"></td>
+ <td class="value" colspan="3"></td>
+ <td class="column"></td>
+
+ </tr>
+ <tr>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ </tr>
+ <tr>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ </tr>
+
+ <tr>
+ <td class="column" colspan="6"></td>
+ </tr>
+ <tr>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ </tr>
+ <tr>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ </tr>
+ <tr>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ </tr>
+ <tr>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ <td class="value" colspan="2"></td>
+ </tr>
+
+ <tr>
+ <td class="column">鏉愯川</td>
+ <td class="value" colspan="5"></td>
+ </tr>
+ <tr >
+ <td class="column" >澶栬鎬ц兘</td>
+ <td class="value" colspan="5" style="text-align:left;">
+ <br>
+ <br>
+ <br>
+ <br>
+ </td>
+ </tr>
+ <tr>
+ <td class="column">澶囨敞</td>
+ <td class="value" colspan="5">
+ <br>
+ <br>
+ <br>
+ <br>
+ </td>
+ </tr>
+
+
+ </table>
+ </div>
+ </div>
+ </template>
+ </el-dialog>`
+ </div>
</template>
<script>
-import processInspectionUpdate from "../view/processInspectionUpdate.vue";
-import processInspectionLook from "../view/processInspectionLook.vue";
+import processInspectionUpdate from '../view/processInspectionUpdate.vue'
+import processInspectionLook from '../view/processInspectionLook.vue'
+// import index from '../view/report/index.vue'
export default {
- components: {
- processInspectionUpdate,
- processInspectionLook,
+ components: {
+ processInspectionUpdate,
+ processInspectionLook,
+ // index
+ },
+ data() {
+ return {
+ showUp: false,
+ isAddProject: false,
+ showLook: false,
+ reportlook: false,
+ detailId: 28,
+ rowInfp: {},
+ search: {
+ countSize: 10,
+ pageSize: 1,
+ result: "", // 妫�娴嬬姸鎬�
+ name: "", // 浜у搧鍚嶇О
+ techfather: "" // 宸ュ簭
+ },
+ optionsSamplename: [],
+ inspectionTable: [],
+ tableColumn: [],
+ optionSoptionSprocesses: [],
+ optionTechnology: [],
+ inspectionTableTotal: 0,
+ pageSize: 10,
+ currentPage: 1,
+ treeProject: [],
+ // 娣诲姞鍒�
+ empiricalValueAdd: 1,
+ // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+ empiricalValueAddMaxNumber: 0,
+ showAddPage: false,
+ processInspectVo: {
+ material: null,
+ materialCode: null,
+ orderNumber: "",
+ quantity: null,
+ specificationsModel: null,
+ techfather: null,
+ techname: null,
+ technologyId: null,
+ unit: null
+ },
+ InspectioniD: null,
+ addInspectionform: [
+ {
+ number: "",
+ username: "",
+ projectname: "",
+ tracenumber: "",
+ code: "",
+ class: "",
+ specificationmodel: "",
+ unit: "",
+ quantity: "",
+ group: "",
+ worker: "",
+ machine: ""
+ }]
+ ,
+ inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
+ inspectionResultForm: [
+ {
+ id: "",
+ name: "",
+ inspecter: "",
+ conclusion: "",
+ operation: ""
+ }
+ ],
+ options: [],
+ value: "",
+ rowList: [],
+ spanArr: [],
+ position: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ filterText: "",
+ materialOptions: [],
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
+ },
+ nodeData: {
+ id: 0,
+ name: null
+ }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+ }
+ };
+ },
+ watch: {
+ // filterText(val) {
+ // this.$refs.tree.filter(val);
+ // }
+ },
+ mounted() {
+ // this.getTableData()
+ // this.getOptions();
+ },
+ methods: {
+ report() {
+ this.reportlook = true
+ // this.$nextTick(() => {
+ // this.$print(this.$refs.print);
+ // })
},
- data() {
- return {
- showUp: false,
- isAddProject: false,
- showLook: false,
- detailId: 28,
- rowInfp: {},
- search: {
- countSize: 10,
- pageSize: 1,
- result: "", // 妫�娴嬬姸鎬�
- name: "", // 浜у搧鍚嶇О
- techfather: "", // 宸ュ簭
- },
- optionsSamplename: [],
- inspectionTable: [],
- tableColumn: [],
- optionSoptionSprocesses: [],
- optionTechnology: [],
- inspectionTableTotal: 0,
- pageSize: 10,
- currentPage: 1,
- treeProject: [],
- // 娣诲姞鍒�
- empiricalValueAdd: 1,
- // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
- empiricalValueAddMaxNumber: 0,
- showAddPage: false,
- processInspectVo: {
- material: null,
- materialCode: null,
- orderNumber: "",
- quantity: null,
- specificationsModel: null,
- techfather: null,
- techname: null,
- technologyId: null,
- unit: null,
- },
- InspectioniD: null,
- addInspectionform: [
- {
- number: "",
- username: "",
- projectname: "",
- tracenumber: "",
- code: "",
- class: "",
- specificationmodel: "",
- unit: "",
- quantity: "",
- group: "",
- worker: "",
- machine: "",
- },
- ],
- inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
- inspectionResultForm: [
- {
- id: "",
- name: "",
- inspecter: "",
- conclusion: "",
- operation: "",
- },
- ],
- options: [],
- value: "",
- rowList: [],
- spanArr: [],
- position: 0,
- // 璁惧閫夋嫨鏍戞樉绀�
- centerDialogVisible: false,
- filterText: "",
- materialOptions: [],
- defaultProps: {
- // 璁惧鏍戞暟鎹缃�
- children: "children",
- label: "name",
- },
- nodeData: {
- id: 0,
- name: null,
- }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
- clickSelectDevice: {
- index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
- rpId: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
- },
- };
+ handleClick(row) {
+ this.rowInfp = row
+ this.showLook = true
},
- watch: {
- // filterText(val) {
- // this.$refs.tree.filter(val);
+ combackIndex() {
+ this.showAddPage = false
+ this.defaultInitializationTable()
+ },
+ updateInsInfo(row) {
+ this.rowInfp = row
+ this.showUp = true
+ },
+ combackMain(val) {
+ this.showUp = false
+ this.showLook = false
+ this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+ if (val) {
+ this.$parent.removeAllTab()
+ }
+ },
+ searchPro() {
+ this.search.countSize = this.pageSize
+ this.search.pageSize = this.currentPage
+ this.defaultInitializationTable()
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions(row) {
+ this.$axios.get(this.$api.url.inspectionItemChooseDev, {
+ params: {
+ father: row.father,
+ name: row.name,
+ technologyId: this.processInspectVo.technologyId
+ }
+ }).then(res => {
+ this.materialOptions = res.data;
+ if (this.materialOptions.length === 1) {
+ this.$message({
+ message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+ type: 'warning'
+ });
+ return
+ }
+ row.isSelectDevice = true
+ this.filterText = row.did
+ });
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ // this.centerDialogVisible = true;
+ if (this.clickSelectDevice.index != null) {
+ this.$set(this.inspectionItems[this.clickSelectDevice.index], 'isSelectDevice', false)
+ }
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.id;
+ this.getOptions(scope.row)
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure() {
+ let select = this.materialOptions.filter(item => {
+ return item.id === this.filterText
+ })[0]
+ this.nodeData.id = select.id
+ this.nodeData.name = select.device
+ if (this.detailId == null) {
+ this.inspectionItems[
+ this.clickSelectDevice.index
+ ].did = this.nodeData.id;
+ this.inspectionItems[
+ this.clickSelectDevice.index
+ ].dname = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios
+ .post(this.$api.url.inspectionItemUpdateDevByInsId, {
+ id: this.clickSelectDevice.rpId,
+ type: 1,
+ devId: this.nodeData.id
+ })
+ .then(res => {
+ this.getTableData()
+ this.centerDialogVisible = false;
+ });
+ }
+ },
+ changeState(row, index) {
+ if (row.did != null && row.did != '') {
+ // let val = row.empiricalValueAddss.filter(item => {
+ // return item != '' && item != null
+ // })
+ // let eq = val.filter(item => {
+ // return /^[^><=]/.test(item)
+ // })
+ // if (eq.length > 0) {
+ // this.$message({
+ // message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+ // type: 'warning'
+ // });
+ // return
// }
- },
- mounted() {
- // this.getTableData()
- // this.getOptions();
- },
- methods: {
- handleClick(row) {
- this.rowInfp = row;
- this.showLook = true;
- },
- combackIndex() {
- this.showAddPage = false;
- this.defaultInitializationTable();
- },
- updateInsInfo(row) {
- this.rowInfp = row;
- this.showUp = true;
- },
- combackMain(val) {
- this.showUp = false;
- this.showLook = false;
- this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
- if (val) {
- this.$parent.removeAllTab();
- }
- },
- searchPro() {
- this.search.countSize = this.pageSize;
- this.search.pageSize = this.currentPage;
- this.defaultInitializationTable();
- },
- // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
- nodeClick(data) {
- if (data.id != undefined) this.nodeData = data;
- },
- // 璁惧鏍戣繃婊ゆ悳绱�
- filterNode(value, data) {
- if (!value) return true;
- return data.name.indexOf(value) !== -1;
- },
- // 鑾峰彇璁惧鏍戝唴瀹�
- getOptions(row) {
- this.$axios
- .get(this.$api.url.inspectionItemChooseDev, {
- params: {
- father: row.father,
- name: row.name,
- technologyId: this.processInspectVo.technologyId,
- },
- })
- .then((res) => {
- this.materialOptions = res.data;
- if (this.materialOptions.length === 1) {
- this.$message({
- message: "璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�",
- type: "warning",
- });
- return;
- }
- row.isSelectDevice = true;
- this.filterText = row.did;
- });
- },
- // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
- clickTableSelect(scope) {
- // this.centerDialogVisible = true;
- if (this.clickSelectDevice.index != null) {
- this.$set(
- this.inspectionItems[this.clickSelectDevice.index],
- "isSelectDevice",
- false
- );
- }
- this.clickSelectDevice.index = scope.$index;
- this.clickSelectDevice.rpId = scope.row.id;
- this.getOptions(scope.row);
- },
- // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
- clickNodeSure() {
- let select = this.materialOptions.filter((item) => {
- return item.id === this.filterText;
- })[0];
- this.nodeData.id = select.id;
- this.nodeData.name = select.device;
- if (this.detailId == null) {
- this.inspectionItems[this.clickSelectDevice.index].did =
- this.nodeData.id;
- this.inspectionItems[this.clickSelectDevice.index].dname =
- this.nodeData.name;
- this.centerDialogVisible = false;
- } else {
- this.$axios
- .post(this.$api.url.inspectionItemUpdateDevByInsId, {
- id: this.clickSelectDevice.rpId,
- type: 1,
- devId: this.nodeData.id,
- })
- .then((res) => {
- this.getTableData();
- this.centerDialogVisible = false;
- });
- }
- },
- changeState(row, index) {
- if (row.did != null && row.did != "") {
- // let val = row.empiricalValueAddss.filter(item => {
- // return item != '' && item != null
- // })
- // let eq = val.filter(item => {
- // return /^[^><=]/.test(item)
- // })
- // if (eq.length > 0) {
- // this.$message({
- // message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
- // type: 'warning'
- // });
- // return
- // }
- let str = "";
- row.empiricalValueAddss.forEach((e) => {
- str += e + ",";
- });
- if (
- str.slice(0, -1) === "" ||
- str.slice(0, -1) === null ||
- str.slice(0, -1) === undefined
- ) {
- return;
- }
- this.$axios
- .post(
- this.$api.url.inspectionItemlose_focus_update,
- {
- deviceId: row.did,
- inspectionItemId: row.id,
- inspectionValue: str.slice(0, -1),
- },
- {
- headers: { "Content-Type": "application/json" },
- }
- )
- .then((res) => {
- if (res.message === "鍐呮帶鍊艰緭鍏ユ牸寮忔湁闂!") {
- this.$message({
- message: res.message,
- type: "warning",
- });
- return;
- }
- row.result = res.data.result;
- row.username = res.data.username;
- });
- } else {
- this.$message({
- message: "璇烽�夋嫨鎷╄澶囷紒",
- type: "warning",
- });
- }
- },
- // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
- handleSizeChange(val) {
- this.search.countSize = val;
- this.defaultInitializationTable();
- },
- handleSpanMethod({ row, column, rowIndex, columnIndex }) {
- if (columnIndex === 0) {
- const _row = this.spanArr[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col,
- };
- }
- if (columnIndex === 1) {
- const _row = this.spanArr[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col,
- };
- }
- },
- // 鍚堝苟琛ㄦ牸
- mergeTable() {
- this.rowList = [];
- this.spanArr = [];
- this.position = 0;
- this.inspectionItems.forEach((item, index) => {
- if (index === 0) {
- this.spanArr.push(1);
- this.position = 0;
- } else {
- if (
- this.inspectionItems[index].father ===
- this.inspectionItems[index - 1].father
- ) {
- this.spanArr[this.position] += 1;
- this.spanArr.push(0);
- } else {
- this.spanArr.push(1);
- this.position = index;
- }
- }
+ let str = ""
+ row.empiricalValueAddss.forEach(e => {
+ str += e + ","
+ })
+ if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
+ return
+ }
+ this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
+ deviceId: row.did,
+ inspectionItemId: row.id,
+ inspectionValue: str.slice(0, -1)
+ }, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ if (res.message === '鍐呮帶鍊艰緭鍏ユ牸寮忔湁闂!') {
+ this.$message({
+ message: res.message,
+ type: 'warning'
});
- },
- changeOptionSoptionSprocesses() {
- this.optionTechnology = [];
- let working = this.optionSoptionSprocesses.filter((item) => {
- return item.name === this.processInspectVo.techfather;
- })[0];
- this.optionTechnology = working.children;
- },
- addTestProjevt() {
- let val = JSON.parse(JSON.stringify(this.processInspectVo));
- val.techname = this.processInspectVo.techname.split("-")[1];
- val.technologyId = this.processInspectVo.techname.split("-")[0];
- this.processInspectVo.technologyId = val.technologyId;
- this.$axios
- .post(
- this.$api.url.processInspectAddProcess,
- {
- material: val.material,
- materialCode: val.materialCode,
- orderNumber: val.orderNumber,
- quantity: val.quantity,
- specificationsModel: val.specificationsModel,
- techfather: val.techfather,
- techname: val.techname,
- techId: Number(val.technologyId),
- mtId: Number(val.technologyId),
- unit: val.unit,
- },
- {
- headers: { "Content-Type": "application/json" },
- }
- )
- .then((res) => {
- if (res.code === 201) {
- this.$message({
- message: res.message,
- type: "warning",
- });
- return;
- }
- this.isAddProject = true;
- this.detailId = res.data;
- this.inspectionResultForm[0].id = val.materialCode;
- this.inspectionResultForm[0].name = val.material;
- this.getTableData();
- });
- },
- getTableData() {
- this.$axios
- .get(this.$api.url.inspectionItemListUser, {
- params: {
- id: this.detailId,
- type: 1,
- },
- })
- .then((res) => {
- this.inspectionItems = res.data;
- let arr = [];
- let val = JSON.parse(JSON.stringify(this.inspectionItems));
- const uName = [];
- //杞垚涓�缁存暟缁�
- val.forEach((l) => {
- let father = l.father;
- l.children.forEach((c) => {
- c.father = father;
- c.empiricalValueAddss = [];
- if (
- c.inspectionValue != "" &&
- c.inspectionValue != null
- ) {
- c.empiricalValueAddss =
- c.inspectionValue.split(",");
- } else {
- c.empiricalValueAddss.push("");
- }
- uName.push(c["username"]);
- c.isSelectDevice = false;
- arr.push(c);
- });
- });
- this.inspectionItems = arr;
- let arrSort = JSON.parse(JSON.stringify(arr));
- //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
- arrSort.sort((a, b) => {
- if (
- a.empiricalValueAddss.length <
- b.empiricalValueAddss.length
- ) {
- return -1; // a鎺掑湪b鍓嶉潰
- } else if (
- a.empiricalValueAddss.length >
- b.empiricalValueAddss.length
- ) {
- return 1; // a鎺掑湪b鍚庨潰
- } else {
- return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
- }
- });
- // console.log(arrSort);
- console.log(uName);
- let name = [...new Set(uName)].filter(
- (item) => item !== null
- );
- let rname = "";
- name.forEach((m) => {
- rname += m + ",";
- });
- this.inspectionResultForm[0].inspecter = rname.slice(0, -1);
- this.empiricalValueAdd =
- arrSort[arrSort.length - 1].empiricalValueAddss.length;
- this.mergeTable(arr);
- });
- },
- selectSample() {
- let sample = this.optionsSamplename.filter((item) => {
- return item.name === this.processInspectVo.material;
- })[0];
- this.processInspectVo.techfather = null;
- this.processInspectVo.techname = null;
- this.processInspectVo.materialCode = sample.code;
- this.processInspectVo.specificationsModel = sample.specifications;
- this.processInspectVo.unit = sample.unit;
- this.optionSoptionSprocesses = [];
- this.optionSoptionSprocesses = sample.children;
- },
- selectInfoByOrderId() {
- this.$axios
- .get(this.$api.url.chooseMaterProcessInspect, {
- params: {
- orderNumber: this.processInspectVo.orderNumber,
- },
- })
- .then((res) => {
- if (res.data.length > 0) {
- console.log(res.data);
- this.optionsSamplename = res.data;
- } else {
- this.$message({
- message: "娌℃湁璇ヨ鍗曞彿锛�",
- type: "warning",
- });
- }
- });
- },
- // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
- handleCurrentChange(val) {
- this.search.pageSize = val;
- this.defaultInitializationTable();
- },
- // 鏄剧ず鏂板椤甸潰
- handleAddNew() {
- this.showAddPage = true;
- // this.getTableData()
- },
- // 琛ㄦ牸鍒濆鍖栨帴鍙�
- defaultInitializationTable() {
- this.$axios
- .post(this.$api.url.selectProcessInspectsList, this.search)
- .then((res) => {
- this.inspectionTableTotal = res.data.total;
- this.inspectionTable = res.data.row;
- });
- },
- // 娣诲姞琛�
- clickAddLine() {
- let obj = {
- material: "",
- materialCode: "",
- orderNumber: "",
- quantity: 0,
- specificationsModel: "",
- techfather: "",
- techname: "",
- technologyId: 0,
- unit: "",
- };
- this.inspectionItems.push(obj);
- },
- // 鍒犻櫎琛�
- clickDeleteline(scope) {
- this.inspectionItems.splice(scope.$index, 1);
- },
- // 鍒犻櫎妫�楠屽�煎垪
- clickDeleteInspectionColumn() {
- if (this.empiricalValueAdd - 1 === 0) {
+ return
+ }
+ row.result = res.data.result
+ row.username = res.data.username
+ })
+ } else {
+ this.$message({
+ message: '璇烽�夋嫨鎷╄澶囷紒',
+ type: 'warning'
+ });
+ }
+ },
+ // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+ handleSizeChange(val) {
+ this.search.countSize = val;
+ this.defaultInitializationTable();
+ },
+ handleSpanMethod({ row, column, rowIndex, columnIndex }) {
+ if (columnIndex === 0) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ if (columnIndex === 1) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ },
+ // 鍚堝苟琛ㄦ牸
+ mergeTable() {
+ this.rowList = []
+ this.spanArr = []
+ this.position = 0
+ this.inspectionItems.forEach((item, index) => {
+ if (index === 0) {
+ this.spanArr.push(1);
+ this.position = 0;
+ } else {
+ if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
+ this.spanArr[this.position] += 1;
+ this.spanArr.push(0);
+ } else {
+ this.spanArr.push(1);
+ this.position = index;
+ }
+ }
+ })
+ },
+ changeOptionSoptionSprocesses() {
+ this.optionTechnology = []
+ let working = this.optionSoptionSprocesses.filter(item => {
+ return item.name === this.processInspectVo.techfather
+ })[0]
+ this.optionTechnology = working.children
+ },
+ addTestProjevt() {
+ let val = JSON.parse(JSON.stringify(this.processInspectVo))
+ val.techname = this.processInspectVo.techname.split("-")[1]
+ val.technologyId = this.processInspectVo.techname.split("-")[0]
+ this.processInspectVo.technologyId = val.technologyId
+ this.$axios.post(this.$api.url.processInspectAddProcess, {
+ material: val.material,
+ materialCode: val.materialCode,
+ orderNumber: val.orderNumber,
+ quantity: val.quantity,
+ specificationsModel: val.specificationsModel,
+ techfather: val.techfather,
+ techname: val.techname,
+ techId: Number(val.technologyId),
+ mtId: Number(val.technologyId),
+ unit: val.unit
+ }, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ if (res.code === 201) {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ }
+ this.isAddProject = true
+ this.detailId = res.data
+ this.inspectionResultForm[0].id = val.materialCode
+ this.inspectionResultForm[0].name = val.material
+ this.getTableData()
+ })
+ },
+ getTableData() {
+ this.$axios.get(this.$api.url.inspectionItemListUser, {
+ params: {
+ id: this.detailId,
+ type: 1
+ }
+ }).then(res => {
+ this.inspectionItems = res.data
+ let arr = []
+ let val = JSON.parse(JSON.stringify(this.inspectionItems))
+ const uName = []
+ //杞垚涓�缁存暟缁�
+ val.forEach(l => {
+ let father = l.father
+ l.children.forEach(c => {
+ c.father = father
+ c.empiricalValueAddss = []
+ if (c.inspectionValue != '' && c.inspectionValue != null) {
+ c.empiricalValueAddss = c.inspectionValue.split(",");
} else {
- if (
- this.empiricalValueAddMaxNumber !=
- this.empiricalValueAdd - 1
- ) {
- this.empiricalValueAdd = this.empiricalValueAdd - 1;
- this.inspectionItems.forEach((i) => {
- i.testValueList.splice(this.empiricalValueAdd, 1);
- });
- }
+ c.empiricalValueAddss.push("")
}
- },
- // 娣诲姞妫�楠屽�煎垪
- clickAddInspectionColumn() {
- this.empiricalValueAdd = this.empiricalValueAdd + 1;
- },
+ uName.push(c['username'])
+ c.isSelectDevice = false
+ arr.push(c)
+ })
+ })
+ this.inspectionItems = arr
+ let arrSort = JSON.parse(JSON.stringify(arr))
+ //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
+ arrSort.sort((a, b) => {
+ if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
+ return -1; // a鎺掑湪b鍓嶉潰
+ } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
+ return 1; // a鎺掑湪b鍚庨潰
+ } else {
+ return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
+ }
+ });
+ // console.log(arrSort);
+ console.log(uName);
+ let name = [...new Set(uName)].filter(item => item !== null);
+ let rname = ''
+ name.forEach(m => {
+ rname += m + ","
+ })
+ this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
+ this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
+ this.mergeTable(arr)
+ })
},
- created() {
- this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+ selectSample() {
+ let sample = this.optionsSamplename.filter(item => {
+ return item.name === this.processInspectVo.material
+ })[0]
+ this.processInspectVo.techfather = null
+ this.processInspectVo.techname = null
+ this.processInspectVo.materialCode = sample.code
+ this.processInspectVo.specificationsModel = sample.specifications
+ this.processInspectVo.unit = sample.unit
+ this.optionSoptionSprocesses = []
+ this.optionSoptionSprocesses = sample.children
},
+ selectInfoByOrderId() {
+ this.$axios.get(this.$api.url.chooseMaterProcessInspect, {
+ params: {
+ orderNumber: this.processInspectVo.orderNumber
+ }
+ }).then(res => {
+ if (res.data.length > 0) {
+ console.log(res.data);
+ this.optionsSamplename = res.data
+ } else {
+ this.$message({
+ message: '娌℃湁璇ヨ鍗曞彿锛�',
+ type: 'warning'
+ });
+ }
+ })
+ },
+ // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+ handleCurrentChange(val) {
+ this.search.pageSize = val;
+ this.defaultInitializationTable();
+ },
+ // 鏄剧ず鏂板椤甸潰
+ handleAddNew() {
+ this.showAddPage = true;
+ // this.getTableData()
+ },
+ // 琛ㄦ牸鍒濆鍖栨帴鍙�
+ defaultInitializationTable() {
+ this.$axios
+ .post(this.$api.url.selectProcessInspectsList, this.search)
+ .then(res => {
+ this.inspectionTableTotal = res.data.total;
+ this.inspectionTable = res.data.row;
+ });
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ material: "",
+ materialCode: "",
+ orderNumber: "",
+ quantity: 0,
+ specificationsModel: "",
+ techfather: "",
+ techname: "",
+ technologyId: 0,
+ unit: ""
+ };
+ this.inspectionItems.push(obj);
+ },
+ // 鍒犻櫎琛�
+ clickDeleteline(scope) {
+ this.inspectionItems.splice(scope.$index, 1);
+ },
+ // 鍒犻櫎妫�楠屽�煎垪
+ clickDeleteInspectionColumn() {
+ if (this.empiricalValueAdd - 1 === 0) {
+ } else {
+ if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+ this.empiricalValueAdd = this.empiricalValueAdd - 1;
+ this.inspectionItems.forEach(i => {
+ i.testValueList.splice(this.empiricalValueAdd, 1);
+ });
+ }
+ }
+ },
+ // 娣诲姞妫�楠屽�煎垪
+ clickAddInspectionColumn() {
+ this.empiricalValueAdd = this.empiricalValueAdd + 1;
+ }
+ },
+ created() {
+ this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+ }
};
</script>
<style>
.node_i {
- color: orange;
+ color: orange;
}
.div_device_dialog {
- min-height: 400px;
- overflow: auto;
+ min-height: 400px;
+ overflow: auto;
}
.nav {
- display: flex;
- padding: 20px 20px;
- align-items: center;
- background-color: #fff;
+ display: flex;
+ padding: 20px 20px;
+ align-items: center;
+ background-color: #fff;
}
.table_header {
- height: calc(100vh - 550px);
+ height: calc(100vh - 550px);
}
.nav * {
- font-size: 14px;
+ font-size: 14px;
}
.content-body .rawPage {
- background-color: #fff;
- overflow: hidden;
-}
-
-.rawPage span {
- white-space: nowrap;
+ background-color: #fff;
+ overflow: hidden;
}
.inspectionTable {
- padding: 20px 20px;
+ padding: 20px 20px;
}
.pagination {
- float: right;
- margin-right: 20px;
+ float: right;
+ margin-right: 20px;
}
.newPage {
- overflow: hidden;
+ overflow: hidden;
}
.header {
- padding: 12px;
+ padding: 12px;
}
.addInspectionform {
- background-color: #fff;
+ background-color: #fff;
}
.addInspectionform .formwrapper {
- padding: 20px 0px;
- margin-left: 100px;
+ padding: 20px 0px;
+ margin-left: 100px;
}
.inspectionProject .el-table {
- background-color: #fff;
- padding: 10px 12px;
+ background-color: #fff;
+ padding: 10px 12px;
}
.inspectionResult span {
- display: block;
- padding: 5px 0px;
+ display: block;
+ padding: 5px 0px;
}
.inspectionResult .el-table {
- background-color: #fff;
- padding: 10px 12px;
+ background-color: #fff;
+ padding: 10px 12px;
}
.inspectionProject_span {
- line-height: 32px;
- padding: 10px 20px;
+ line-height: 32px;
+ padding: 10px 20px;
}
.inspectionProject_span .el-button {
- float: right;
- font-size: 13px !important;
+ float: right;
+ font-size: 13px !important;
}
+
+/* .table{
+ border-collapse: collapse;
+ border-spacing: 0;
+ background-color: transparent;
+ display: table;
+ width: 100%;
+ max-width: 100%;
+ width: 800px;
+ margin:0 auto;
+} */
+/* .table td{
+ text-align:center;
+ vertical-align:middle;
+ font-size: 14px;
+ font-family: 'Arial Normal', 'Arial';
+ color: #333333;
+ padding: 8px 12px;
+} */
+/* .table-bordered {
+ border: 1px solid #ddd;
+} */
+.column{
+ width:auto;
+ height:30px;
+ font-size: 12px;
+ text-align:center
+ /* border:1px solid #333;
+ background: #f1f1f1; */
+}
+.value{
+ width:70px;
+ height:30px;
+ border:1px solid #333;
+}
+
</style>
diff --git a/src/components/view/processInspectionUpdate.vue b/src/components/view/processInspectionUpdate.vue
index e7b2921..eb95ed5 100644
--- a/src/components/view/processInspectionUpdate.vue
+++ b/src/components/view/processInspectionUpdate.vue
@@ -24,29 +24,31 @@
<el-form-item label="浜у搧鍚嶇О锛�">
<el-select style="width: 210px;" size="small" disabled @change="selectSample"
v-model="processInspectVo.material" placeholder="璇烽�夋嫨浜у搧">
- <el-option v-for="item in optionsSamplename" :key="item.value" :label="item.name" :value="item.name">
+ <el-option v-for="item in optionsSamplename" :key="item.value" :label="item.name"
+ :value="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="浜у搧缂栫爜锛�">
- <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.materialCode"
- placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
+ <el-input style="width: 210px;" size="small" disabled
+ v-model="processInspectVo.materialCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="瑙勬牸鍨嬪彿锛�">
- <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.specificationsModel"
- placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
+ <el-input style="width: 210px;" size="small" disabled
+ v-model="processInspectVo.specificationsModel" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="宸ュ簭鍚嶇О锛�">
- <el-select @change="changeOptionSoptionSprocesses" disabled v-model="processInspectVo.techfather"
- placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-select @change="changeOptionSoptionSprocesses" disabled
+ v-model="processInspectVo.techfather" placeholder="璇烽�夋嫨" style="width: 210px;"
+ size="small">
<el-option v-for="item in optionSoptionSprocesses" :key="item.name" :label="item.name"
:value="item.name">
</el-option>
@@ -55,8 +57,8 @@
</el-col>
<el-col :span="7">
<el-form-item label="宸ヨ壓鍚嶇О锛�">
- <el-select v-model="processInspectVo.techname" disabled placeholder="璇烽�夋嫨" style="width: 210px;"
- size="small">
+ <el-select v-model="processInspectVo.techname" disabled placeholder="璇烽�夋嫨"
+ style="width: 210px;" size="small">
<el-option v-for="item in optionTechnology" :key="item.id" :label="item.name"
:value="item.id + '-' + item.name">
</el-option>
@@ -89,7 +91,8 @@
<el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
<el-col v-if="!isUpBtn" :span="12" class="inspectionProject_span">
<el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
- <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <el-button style="margin-right: 30px;" size="mini"
+ @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
<!-- <el-button
size="mini"
style="margin-right: 30px;"
@@ -120,7 +123,7 @@
<template slot-scope="scope">
<el-col>
<el-button type="text" @click="clickTableSelect(scope)">
- {{scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname}}
+ {{ scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname }}
</el-button>
</el-col>
</template>
@@ -129,7 +132,7 @@
<template slot-scope="scope">
<span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
<span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
- <span v-show="scope.row.result === null">{{null}}</span>
+ <span v-show="scope.row.result === null">{{ null }}</span>
</template>
</el-table-column>
<!-- <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
@@ -165,10 +168,11 @@
<div class="div_device_dialog">
<el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;">
</el-input>
- <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current
- @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
+ <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all
+ highlight-current @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
<div class="custom-tree-node" slot-scope="{ data }">
- <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>{{ data.name }}</span>
+ <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>{{
+ data.name }}</span>
</div>
</el-tree>
</div>
@@ -181,142 +185,177 @@
</template>
<script>
- export default {
- props: ['rowInfo'],
- data() {
- return {
- isUpBtn: false,
- showUp: false,
- isAddProject: false,
- detailId: 0,
- row: {},
- search: {
- countSize: 10,
- pageSize: 1,
- result: "", // 妫�娴嬬姸鎬�
- name: "", // 浜у搧鍚嶇О
- techfather: "" // 宸ュ簭
- },
- optionsSamplename: [],
- inspectionTable: [],
- tableColumn: [],
- optionSoptionSprocesses: [],
- optionTechnology: [],
- inspectionTableTotal: "",
- treeProject: [],
- // 娣诲姞鍒�
- empiricalValueAdd: 1,
- // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
- empiricalValueAddMaxNumber: 0,
- showAddPage: false,
- processInspectVo: {
- material: null,
- materialCode: null,
- orderNumber: "",
- quantity: null,
- specificationsModel: null,
- techfather: null,
- techname: null,
- technologyId: null,
- unit: null
- },
- InspectioniD: null,
- addInspectionform: [{
- number: "",
- username: "",
- projectname: "",
- tracenumber: "",
- code: "",
- class: "",
- specificationmodel: "",
- unit: "",
- quantity: "",
- group: "",
- worker: "",
- machine: ""
- }],
- inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
- inspectionResultForm: [{
- id: "",
- name: "",
- inspecter: "",
- conclusion: "",
- operation: ""
- }],
- options: [],
- value: "",
- rowList: [],
- spanArr: [],
- position: 0,
- // 璁惧閫夋嫨鏍戞樉绀�
- centerDialogVisible: false,
- filterText: "",
- materialOptions: [],
- defaultProps: {
- // 璁惧鏍戞暟鎹缃�
- children: "children",
- label: "name"
- },
- nodeData: {
- id: 0,
- name: null
- }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
- clickSelectDevice: {
- index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
- rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
- }
- };
- },
- watch: {
- // filterText(val) {
- // this.$refs.tree.filter(val);
- // }
- },
- created() {
- if (this.rowInfo.result != null && this.rowInfo.result != '') {
- this.isUpBtn = true
- }
- this.processInspectVo.orderNumber = this.rowInfo.order_number
- this.processInspectVo.material = this.rowInfo.material
- this.processInspectVo.materialCode = this.rowInfo.material_code
- this.processInspectVo.specificationsModel = this.rowInfo.specifications_model
- this.processInspectVo.techfather = this.rowInfo.techfather
- this.processInspectVo.techname = this.rowInfo.techname
- this.processInspectVo.unit = this.rowInfo.unit
- this.processInspectVo.quantity = this.rowInfo.quantity
- this.detailId = this.rowInfo.id
- this.inspectionResultForm[0].id = this.rowInfo.material_code
- this.inspectionResultForm[0].name = this.rowInfo.material
- this.inspectionResultForm[0].conclusion = this.rowInfo.result
- // console.log(this.detailId);
- },
- mounted() {
- this.getTableData()
- },
- methods: {
- blurNode(scope) {
- // console.log(11);
- // this.$set(this.inspectionItems[scope.$index],'isSelectDevice',false)
+export default {
+ props: ['rowInfo'],
+ data() {
+ return {
+ isUpBtn: false,
+ showUp: false,
+ isAddProject: false,
+ detailId: 0,
+ row: {},
+ search: {
+ countSize: 10,
+ pageSize: 1,
+ result: "", // 妫�娴嬬姸鎬�
+ name: "", // 浜у搧鍚嶇О
+ techfather: "" // 宸ュ簭
},
- escalation() {
- let arr = this.inspectionItems
- let bl = false
- for (let index = 0; index < arr.length; index++) {
- const element = arr[index];
- if (element.dname != null && element.empiricalValueAddss[0] != '') {
- bl = true
- break
- } else {
- bl = false
- }
+ optionsSamplename: [],
+ inspectionTable: [],
+ tableColumn: [],
+ optionSoptionSprocesses: [],
+ optionTechnology: [],
+ inspectionTableTotal: "",
+ treeProject: [],
+ // 娣诲姞鍒�
+ empiricalValueAdd: 1,
+ // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+ empiricalValueAddMaxNumber: 0,
+ showAddPage: false,
+ processInspectVo: {
+ material: null,
+ materialCode: null,
+ orderNumber: "",
+ quantity: null,
+ specificationsModel: null,
+ techfather: null,
+ techname: null,
+ technologyId: null,
+ unit: null
+ },
+ InspectioniD: null,
+ addInspectionform: [{
+ number: "",
+ username: "",
+ projectname: "",
+ tracenumber: "",
+ code: "",
+ class: "",
+ specificationmodel: "",
+ unit: "",
+ quantity: "",
+ group: "",
+ worker: "",
+ machine: ""
+ }],
+ inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
+ inspectionResultForm: [{
+ id: "",
+ name: "",
+ inspecter: "",
+ conclusion: "",
+ operation: ""
+ }],
+ options: [],
+ value: "",
+ rowList: [],
+ spanArr: [],
+ position: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ filterText: "",
+ materialOptions: [],
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
+ },
+ nodeData: {
+ id: 0,
+ name: null
+ }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+ }
+ };
+ },
+ watch: {
+ // filterText(val) {
+ // this.$refs.tree.filter(val);
+ // }
+ },
+ created() {
+ if (this.rowInfo.result != null && this.rowInfo.result != '') {
+ this.isUpBtn = true
+ }
+ this.processInspectVo.orderNumber = this.rowInfo.order_number
+ this.processInspectVo.material = this.rowInfo.material
+ this.processInspectVo.materialCode = this.rowInfo.material_code
+ this.processInspectVo.specificationsModel = this.rowInfo.specifications_model
+ this.processInspectVo.techfather = this.rowInfo.techfather
+ this.processInspectVo.techname = this.rowInfo.techname
+ this.processInspectVo.unit = this.rowInfo.unit
+ this.processInspectVo.quantity = this.rowInfo.quantity
+ this.detailId = this.rowInfo.id
+ this.inspectionResultForm[0].id = this.rowInfo.material_code
+ this.inspectionResultForm[0].name = this.rowInfo.material
+ this.inspectionResultForm[0].conclusion = this.rowInfo.result
+ // console.log(this.detailId);
+ },
+ mounted() {
+ this.getTableData()
+ },
+ methods: {
+ blurNode(scope) {
+ // console.log(11);
+ // this.$set(this.inspectionItems[scope.$index],'isSelectDevice',false)
+ },
+ escalation() {
+ let arr = this.inspectionItems
+ let bl = false
+ for (let index = 0; index < arr.length; index++) {
+ const element = arr[index];
+ if (element.dname != null && element.empiricalValueAddss[0] != '') {
+ bl = true
+ break
+ } else {
+ bl = false
}
- if (bl != true) {
+ }
+ if (bl != true) {
+ this.$message({
+ message: '璇峰厛妫�娴嬩竴椤归」鐩紒',
+ type: 'warning'
+ });
+ return
+ }
+ let pro = this.inspectionItems.filter(item => {
+ return item.result === 0;
+ })
+ if (pro.length > 0) {
+ this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ inputPattern: /^\d+$/,
+ inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
+ }).then(({ value }) => {
+ this.$axios.post(this.$api.url.processInspectUpdateProcessInspectsById, {
+ id: this.detailId,
+ number: value
+ }).then(res => {
+ if (res.code == 200) {
+ // this.$message({
+ // message: '涓婃姤鎴愬姛',
+ // type: 'success'
+ // });
+ this.$parent.combackMain(true)
+ } else {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ }
+
+ })
+ }).catch(() => {
this.$message({
- message: '璇峰厛妫�娴嬩竴椤归」鐩紒',
- type: 'warning'
+ type: 'info',
+ message: '鍙栨秷杈撳叆'
});
- return
- }
+ });
+ } else {
this.$axios.post(this.$api.url.processInspectUpdateProcessInspectsById, {
id: this.detailId
}).then(res => {
@@ -341,336 +380,337 @@
}
})
- },
- handleClick() {},
- updateInsInfo(row) {
- this.row = row
- this.showUp = true
- },
- // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
- nodeClick(data) {
- if (data.id != undefined) this.nodeData = data;
- },
- // 璁惧鏍戣繃婊ゆ悳绱�
- filterNode(value, data) {
- if (!value) return true;
- return data.name.indexOf(value) !== -1;
- },
- // 鑾峰彇璁惧鏍戝唴瀹�
- getOptions(row) {
- this.$axios.get(this.$api.url.inspectionItemChooseDev, {
- params: {
- father: row.father,
- name: row.name,
- technologyId: this.processInspectVo.technologyId
- }
- }).then(res => {
- this.materialOptions = res.data;
- if (this.materialOptions.length === 1 && row.did != null) {
- this.$message({
- message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
- type: 'warning'
- });
- return
- }
- row.isSelectDevice = true
- });
- },
- //杩斿洖
- combackFather() {
- this.$parent.combackMain()
- },
- // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
- clickTableSelect(scope) {
- this.centerDialogVisible = true;
- this.clickSelectDevice.index = scope.$index;
- this.clickSelectDevice.rpId = scope.row.id;
- this.getOptions(scope.row);
- },
- // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
- clickNodeSure() {
- if (this.detailId == null) {
- this.projectTable[this.clickSelectDevice.index].deviceId = this.nodeData.id;
- this.projectTable[this.clickSelectDevice.index].deviceName = this.nodeData.name;
- this.centerDialogVisible = false;
- } else {
- this.$axios.post(this.$api.url.inspectionItemUpdateDevByInsId, {
- id: this.clickSelectDevice.rpId,
- devId: this.nodeData.id,
- type: 1
- }).then(res => {
- this.centerDialogVisible = false;
- this.inspectionItems.forEach(a=>{
- if(a.id == this.clickSelectDevice.rpId){
- a.dname = this.nodeData.name
- }
- })
- });
+ }
+ },
+ handleClick() { },
+ updateInsInfo(row) {
+ this.row = row
+ this.showUp = true
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions(row) {
+ this.$axios.get(this.$api.url.inspectionItemChooseDev, {
+ params: {
+ father: row.father,
+ name: row.name,
+ technologyId: this.processInspectVo.technologyId
}
- },
- changeState(row, index) {
- if (row.did != null && row.did != '') {
- let str = ""
- row.empiricalValueAddss.forEach(e => {
- str += e + ","
- })
- if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
- return
- }
- this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
- deviceId: row.did,
- inspectionItemId: row.id,
- inspectionValue: str.slice(0, -1)
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- }).then(res => {
- row.result = res.data.result
- row.username = res.data.username
- })
- } else {
+ }).then(res => {
+ this.materialOptions = res.data;
+ if (this.materialOptions.length === 1 && row.did != null) {
this.$message({
- message: '璇烽�夋嫨鎷╄澶囷紒',
+ message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
type: 'warning'
});
+ return
}
- },
- // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
- handleSizeChange(val) {
- this.search.countSize = val;
- this.defaultInitializationTable();
- },
- handleSpanMethod({
- row,
- column,
- rowIndex,
- columnIndex
- }) {
- if (columnIndex === 0) {
- const _row = this.spanArr[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- if (columnIndex === 1) {
- const _row = this.spanArr[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- },
- // 鍚堝苟琛ㄦ牸
- mergeTable() {
- this.rowList = []
- this.spanArr = []
- this.position = 0
- this.inspectionItems.forEach((item, index) => {
- if (index === 0) {
- this.spanArr.push(1);
- this.position = 0;
- } else {
- if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
- this.spanArr[this.position] += 1;
- this.spanArr.push(0);
- } else {
- this.spanArr.push(1);
- this.position = index;
+ row.isSelectDevice = true
+ });
+ },
+ //杩斿洖
+ combackFather() {
+ this.$parent.combackMain()
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ this.centerDialogVisible = true;
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.id;
+ this.getOptions(scope.row);
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure() {
+ if (this.detailId == null) {
+ this.projectTable[this.clickSelectDevice.index].deviceId = this.nodeData.id;
+ this.projectTable[this.clickSelectDevice.index].deviceName = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios.post(this.$api.url.inspectionItemUpdateDevByInsId, {
+ id: this.clickSelectDevice.rpId,
+ devId: this.nodeData.id,
+ type: 1
+ }).then(res => {
+ this.centerDialogVisible = false;
+ this.inspectionItems.forEach(a => {
+ if (a.id == this.clickSelectDevice.rpId) {
+ a.dname = this.nodeData.name
}
- }
+ })
+ });
+ }
+ },
+ changeState(row, index) {
+ if (row.did != null && row.did != '') {
+ let str = ""
+ row.empiricalValueAddss.forEach(e => {
+ str += e + ","
})
- },
- changeOptionSoptionSprocesses() {
- this.optionTechnology = []
- let working = this.optionSoptionSprocesses.filter(item => {
- return item.name === this.processInspectVo.techfather
- })[0]
- this.optionTechnology = working.children
- },
- addTestProjevt() {
- this.isAddProject = true
- let val = JSON.parse(JSON.stringify(this.processInspectVo))
- val.techname = this.processInspectVo.techname.split("-")[1]
- val.technologyId = this.processInspectVo.techname.split("-")[0]
- this.$axios.post(this.$api.url.processInspectAddProcess, {
- material: val.material,
- materialCode: val.materialCode,
- orderNumber: val.orderNumber,
- quantity: val.quantity,
- specificationsModel: val.specificationsModel,
- techfather: val.techfather,
- techname: val.techname,
- technologyId: val.technologyId,
- unit: val.unit
+ if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
+ return
+ }
+ this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
+ deviceId: row.did,
+ inspectionItemId: row.id,
+ inspectionValue: str.slice(0, -1)
}, {
headers: {
"Content-Type": "application/json"
}
}).then(res => {
- if (res.code === 201) {
- this.$message({
- message: res.message,
- type: 'warning'
- });
- return
- }
- this.detailId = res.data
- this.inspectionResultForm[0].id = res.data
- this.inspectionResultForm[0].name = val.material
- this.getTableData()
+ row.result = res.data.result
+ row.username = res.data.username
})
- },
- getTableData() {
- this.$axios.get(this.$api.url.processInspectSelectProcessInspectsListById, {
- params: {
- id: this.rowInfo.id
- }
- }).then(res => {
- // console.log(res.data);
- this.processInspectVo.technologyId = res.data[0].techId
- // console.log(this.processInspectVo);
- })
- this.$axios.get(this.$api.url.inspectionItemListUser, {
- params: {
- id: this.detailId,
- type: 1
- }
- }).then(res => {
- if (res.data.length < 1) {
- return
- }
- this.inspectionItems = res.data
- let arr = []
- let val = JSON.parse(JSON.stringify(this.inspectionItems))
- const uName = []
- //杞垚涓�缁存暟缁�
- val.forEach(l => {
- let father = l.father
- l.children.forEach(c => {
- c.father = father
- c.empiricalValueAddss = []
- if (c.inspectionValue != '' && c.inspectionValue != null) {
- c.empiricalValueAddss = c.inspectionValue.split(",");
- } else {
- c.empiricalValueAddss.push("")
- }
- uName.push(c['username'])
- c.isSelectDevice = false
- arr.push(c)
- })
- })
- this.inspectionItems = arr
- let arrSort = JSON.parse(JSON.stringify(arr))
- //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
- arrSort.sort((a, b) => {
- if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
- return -1; // a鎺掑湪b鍓嶉潰
- } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
- return 1; // a鎺掑湪b鍚庨潰
- } else {
- return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
- }
- });
- // console.log(arrSort);
- console.log(uName);
- let name = [...new Set(uName)].filter(item => item !== null);
- let rname = ''
- name.forEach(m => {
- rname += m + ","
- })
- this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
- this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
- this.mergeTable(arr)
- })
- },
- selectSample() {
- let sample = this.optionsSamplename.filter(item => {
- return item.name === this.processInspectVo.material
- })[0]
- this.processInspectVo.techfather = null
- this.processInspectVo.techname = null
- this.processInspectVo.materialCode = sample.code
- this.processInspectVo.specificationsModel = sample.specifications
- this.processInspectVo.unit = sample.unit
- this.optionSoptionSprocesses = []
- this.optionSoptionSprocesses = sample.children
- },
- selectInfoByOrderId() {
- this.$axios.get(this.$api.url.chooseMaterProcessInspect, {
- params: {
- orderNumber: this.processInspectVo.orderNumber
- }
- }).then(res => {
- if (res.data.length > 0) {
- console.log(res.data);
- this.optionsSamplename = res.data
+ } else {
+ this.$message({
+ message: '璇烽�夋嫨鎷╄澶囷紒',
+ type: 'warning'
+ });
+ }
+ },
+ // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+ handleSizeChange(val) {
+ this.search.countSize = val;
+ this.defaultInitializationTable();
+ },
+ handleSpanMethod({
+ row,
+ column,
+ rowIndex,
+ columnIndex
+ }) {
+ if (columnIndex === 0) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ if (columnIndex === 1) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ },
+ // 鍚堝苟琛ㄦ牸
+ mergeTable() {
+ this.rowList = []
+ this.spanArr = []
+ this.position = 0
+ this.inspectionItems.forEach((item, index) => {
+ if (index === 0) {
+ this.spanArr.push(1);
+ this.position = 0;
+ } else {
+ if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
+ this.spanArr[this.position] += 1;
+ this.spanArr.push(0);
} else {
- this.$message({
- message: '娌℃湁璇ヨ鍗曞彿锛�',
- type: 'warning'
- });
- }
- })
- },
- // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
- handleCurrentChange(val) {
- this.search.pageSize = val;
- this.defaultInitializationTable();
- },
- // 鏄剧ず鏂板椤甸潰
- handleAddNew() {
- this.showAddPage = true;
- // this.getTableData()
- },
- // 琛ㄦ牸鍒濆鍖栨帴鍙�
- defaultInitializationTable() {
- this.$axios
- .post(this.$api.url.selectProcessInspectsList, this.search)
- .then(res => {
- this.inspectionTableTotal = res.data.total;
- this.inspectionTable = res.data.row;
- });
- },
- // 娣诲姞琛�
- clickAddLine() {
- let obj = {
- material: "",
- materialCode: "",
- orderNumber: "",
- quantity: 0,
- specificationsModel: "",
- techfather: "",
- techname: "",
- technologyId: 0,
- unit: ""
- };
- this.inspectionItems.push(obj);
- },
- // 鍒犻櫎琛�
- clickDeleteline(scope) {
- this.inspectionItems.splice(scope.$index, 1);
- },
- // 鍒犻櫎妫�楠屽�煎垪
- clickDeleteInspectionColumn() {
- if (this.empiricalValueAdd - 1 === 0) {} else {
- if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
- this.empiricalValueAdd = this.empiricalValueAdd - 1;
- this.inspectionItems.forEach(i => {
- i.testValueList.splice(this.empiricalValueAdd, 1);
- });
+ this.spanArr.push(1);
+ this.position = index;
}
}
- },
- // 娣诲姞妫�楠屽�煎垪
- clickAddInspectionColumn() {
- this.empiricalValueAdd = this.empiricalValueAdd + 1;
+ })
+ },
+ changeOptionSoptionSprocesses() {
+ this.optionTechnology = []
+ let working = this.optionSoptionSprocesses.filter(item => {
+ return item.name === this.processInspectVo.techfather
+ })[0]
+ this.optionTechnology = working.children
+ },
+ addTestProjevt() {
+ this.isAddProject = true
+ let val = JSON.parse(JSON.stringify(this.processInspectVo))
+ val.techname = this.processInspectVo.techname.split("-")[1]
+ val.technologyId = this.processInspectVo.techname.split("-")[0]
+ this.$axios.post(this.$api.url.processInspectAddProcess, {
+ material: val.material,
+ materialCode: val.materialCode,
+ orderNumber: val.orderNumber,
+ quantity: val.quantity,
+ specificationsModel: val.specificationsModel,
+ techfather: val.techfather,
+ techname: val.techname,
+ technologyId: val.technologyId,
+ unit: val.unit
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ }
+ this.detailId = res.data
+ this.inspectionResultForm[0].id = res.data
+ this.inspectionResultForm[0].name = val.material
+ this.getTableData()
+ })
+ },
+ getTableData() {
+ this.$axios.get(this.$api.url.processInspectSelectProcessInspectsListById, {
+ params: {
+ id: this.rowInfo.id
+ }
+ }).then(res => {
+ // console.log(res.data);
+ this.processInspectVo.technologyId = res.data[0].techId
+ // console.log(this.processInspectVo);
+ })
+ this.$axios.get(this.$api.url.inspectionItemListUser, {
+ params: {
+ id: this.detailId,
+ type: 1
+ }
+ }).then(res => {
+ if (res.data.length < 1) {
+ return
+ }
+ this.inspectionItems = res.data
+ let arr = []
+ let val = JSON.parse(JSON.stringify(this.inspectionItems))
+ const uName = []
+ //杞垚涓�缁存暟缁�
+ val.forEach(l => {
+ let father = l.father
+ l.children.forEach(c => {
+ c.father = father
+ c.empiricalValueAddss = []
+ if (c.inspectionValue != '' && c.inspectionValue != null) {
+ c.empiricalValueAddss = c.inspectionValue.split(",");
+ } else {
+ c.empiricalValueAddss.push("")
+ }
+ uName.push(c['username'])
+ c.isSelectDevice = false
+ arr.push(c)
+ })
+ })
+ this.inspectionItems = arr
+ let arrSort = JSON.parse(JSON.stringify(arr))
+ //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
+ arrSort.sort((a, b) => {
+ if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
+ return -1; // a鎺掑湪b鍓嶉潰
+ } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
+ return 1; // a鎺掑湪b鍚庨潰
+ } else {
+ return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
+ }
+ });
+ // console.log(arrSort);
+ console.log(uName);
+ let name = [...new Set(uName)].filter(item => item !== null);
+ let rname = ''
+ name.forEach(m => {
+ rname += m + ","
+ })
+ this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
+ this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
+ this.mergeTable(arr)
+ })
+ },
+ selectSample() {
+ let sample = this.optionsSamplename.filter(item => {
+ return item.name === this.processInspectVo.material
+ })[0]
+ this.processInspectVo.techfather = null
+ this.processInspectVo.techname = null
+ this.processInspectVo.materialCode = sample.code
+ this.processInspectVo.specificationsModel = sample.specifications
+ this.processInspectVo.unit = sample.unit
+ this.optionSoptionSprocesses = []
+ this.optionSoptionSprocesses = sample.children
+ },
+ selectInfoByOrderId() {
+ this.$axios.get(this.$api.url.chooseMaterProcessInspect, {
+ params: {
+ orderNumber: this.processInspectVo.orderNumber
+ }
+ }).then(res => {
+ if (res.data.length > 0) {
+ console.log(res.data);
+ this.optionsSamplename = res.data
+ } else {
+ this.$message({
+ message: '娌℃湁璇ヨ鍗曞彿锛�',
+ type: 'warning'
+ });
+ }
+ })
+ },
+ // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+ handleCurrentChange(val) {
+ this.search.pageSize = val;
+ this.defaultInitializationTable();
+ },
+ // 鏄剧ず鏂板椤甸潰
+ handleAddNew() {
+ this.showAddPage = true;
+ // this.getTableData()
+ },
+ // 琛ㄦ牸鍒濆鍖栨帴鍙�
+ defaultInitializationTable() {
+ this.$axios
+ .post(this.$api.url.selectProcessInspectsList, this.search)
+ .then(res => {
+ this.inspectionTableTotal = res.data.total;
+ this.inspectionTable = res.data.row;
+ });
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ material: "",
+ materialCode: "",
+ orderNumber: "",
+ quantity: 0,
+ specificationsModel: "",
+ techfather: "",
+ techname: "",
+ technologyId: 0,
+ unit: ""
+ };
+ this.inspectionItems.push(obj);
+ },
+ // 鍒犻櫎琛�
+ clickDeleteline(scope) {
+ this.inspectionItems.splice(scope.$index, 1);
+ },
+ // 鍒犻櫎妫�楠屽�煎垪
+ clickDeleteInspectionColumn() {
+ if (this.empiricalValueAdd - 1 === 0) { } else {
+ if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+ this.empiricalValueAdd = this.empiricalValueAdd - 1;
+ this.inspectionItems.forEach(i => {
+ i.testValueList.splice(this.empiricalValueAdd, 1);
+ });
+ }
}
+ },
+ // 娣诲姞妫�楠屽�煎垪
+ clickAddInspectionColumn() {
+ this.empiricalValueAdd = this.empiricalValueAdd + 1;
}
}
+}
</script>
<style></style>
\ No newline at end of file
diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index 5597375..fe4b199 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -6,11 +6,10 @@
<el-col :span="12" style="text-align: right;">
<el-button icon="el-icon-circle-plus-outline" v-show="detailId === null" @click="addNewRawInspect"
style="background-color: #004ea2; color: #ffffff;">鎻� 浜�</el-button>
- <el-button icon="el-icon-back" @click="
- () => {
- goBack();
- }
- ">杩� 鍥�</el-button>
+ <el-button icon="el-icon-back" @click="() => {
+ goBack();
+ }
+ ">杩� 鍥�</el-button>
</el-col>
</el-row>
</div>
@@ -19,7 +18,8 @@
<el-row>
<el-col :span="7">
<el-form-item label="鏉ユ枡鏃ユ湡:">
- <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.formTime"></el-input>
+ <el-input v-if="detailId !== null" :disabled="detailId !== null"
+ v-model="detailInfo.formTime"></el-input>
<el-date-picker v-else type="date" value-format="yyyy-MM-dd" v-model="detailInfo.formTime"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
@@ -27,12 +27,15 @@
</el-col>
<el-col :span="7">
<el-form-item label="鍘熸潗鏂欏悕绉�:">
- <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.name"></el-input>
- <el-input v-else v-model="detailInfo.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О"></el-input> </el-form-item></el-col>
+ <el-input v-if="detailId !== null" :disabled="detailId !== null"
+ v-model="detailInfo.name"></el-input>
+ <el-input v-else v-model="detailInfo.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О"></el-input>
+ </el-form-item></el-col>
<el-col :span="7">
<el-form-item label="鍘熸潗鏂欑紪鐮�:">
- <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.code"></el-input>
- <el-input v-else v-model="detailInfo.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜"></el-input>
+ <el-input v-if="detailId !== null" :disabled="detailId !== null"
+ v-model="detailInfo.code"></el-input>
+ <el-input @blur="blurCode" v-else v-model="detailInfo.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -46,8 +49,10 @@
</el-col>
<el-col :span="7">
<el-form-item label="鍗曚綅:">
- <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.runit"></el-input>
- <el-input v-else placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId !== null" v-model="detailInfo.unit"></el-input>
+ <el-input v-if="detailId !== null" :disabled="detailId !== null"
+ v-model="detailInfo.runit"></el-input>
+ <el-input v-else placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId !== null"
+ v-model="detailInfo.unit"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
@@ -82,7 +87,8 @@
<el-col :span="12" style="line-height: 32px;">妫�楠岄」鐩�</el-col>
<el-col :span="12" style="line-height: 32px; padding-top: 6px;">
<el-button style="float: right;" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
- <el-button style="float: right;margin-right: 30px;" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <el-button style="float: right;margin-right: 30px;"
+ @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
<el-button v-if="detailId == null" style="float: right;margin-right: 30px;"
@click="clickAddLine()">娣诲姞妫�楠岃</el-button>
</el-col>
@@ -94,7 +100,10 @@
</el-table-column>
<el-table-column prop="rpName" label="椤圭洰" width="212">
<template slot-scope="scope">
- <el-input v-if="detailId == null" v-model="scope.row.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
+ <!-- <el-input v-if="detailId == null" v-model="scope.row.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> -->
+ <el-autocomplete v-if="detailId == null" class="inline-input" v-model="scope.row.name"
+ :fetch-suggestions="querySearch" placeholder="璇疯緭鍏ラ」鐩悕绉�" @select="handleSelect(scope.row)"
+ @blur="handleSelect(scope.row)"></el-autocomplete>
<el-input v-else v-model="scope.row.rpName" disabled></el-input>
</template>
</el-table-column>
@@ -129,15 +138,15 @@
<el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="100">
<template slot-scope="scope">
<el-button type="text" @click="clickTableSelect(scope)">{{
- scope.row.deviceId == null ? "璇烽�夋嫨" : scope.row.deviceName
- }}</el-button>
+ scope.row.deviceId == null ? "璇烽�夋嫨" : scope.row.deviceName
+ }}</el-button>
</template>
</el-table-column>
<el-table-column v-if="detailId !== null" prop="testState" label="缁撹" min-width="100">
<template slot-scope="scope">
<span v-show="scope.row.testState != null" :style="{
- color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C'
- }">{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span>
+ color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C'
+ }">{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span>
<span v-show="scope.row.testState == null">鏆傛湭缁撹</span>
</template>
</el-table-column>
@@ -159,21 +168,21 @@
<el-table-column prop="name" label="鐗╂枡鍚嶇О"> </el-table-column>
<el-table-column v-if="detailId != null" prop="uName" label="妫�楠屽憳">
<template slot-scope="scope">
- <span v-for="item in scope.row.uName" :key="item && item.uName"
- :style="{ marginRight: '8px' }">{{ item }}</span>
+ <span v-for="item in scope.row.uName" :key="item && item.uName" :style="{ marginRight: '8px' }">{{
+ item }}</span>
</template>
</el-table-column>
<el-table-column prop="testState" label="妫�楠岀粨璁�">
<template slot-scope="scope">
<span v-show="scope.row.testState != null" :style="{
- color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C'
- }">{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span>
- <span v-show="scope.row.testState != null">{{null}}</span>
+ color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C'
+ }">{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span>
+ <span v-show="scope.row.testState != null">{{ null }}</span>
</template>
</el-table-column>
<el-table-column v-if="detailId !== null" label="鎿嶄綔" width="120">
<template>
- <el-button type="text" size="small" @click.once="submitSave">涓婃姤</el-button>
+ <el-button type="text" size="small" @click="submitSave">涓婃姤</el-button>
</template>
</el-table-column>
</el-table>
@@ -182,14 +191,12 @@
<div class="div_device_dialog">
<el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;">
</el-input>
- <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current
- @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
+ <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all
+ highlight-current @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
<div class="custom-tree-node" slot-scope="{ data }">
- <span><i :class="
- `node_i ${
- data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'
- }`
- "></i>
+ <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'
+ }`
+ "></i>
{{ data.name }}</span>
</div>
</el-tree>
@@ -203,355 +210,433 @@
</template>
<script>
- import {
- triggerRef
- } from "vue";
- import RawIns from "./raw-ins.vue";
- export default {
- components: {
- RawIns
- },
- props: ["goBack", "detailId"],
- created() {
- // 娓呯┖
- this.detailInfo = {};
- if (this.detailId) {
- this.getDetailInfo();
- }
- this.getOptions();
- },
- mounted() {
+import {
+ triggerRef
+} from "vue";
+import RawIns from "./raw-ins.vue";
+export default {
+ components: {
+ RawIns
+ },
+ props: ["goBack", "detailId"],
+ created() {
+ // 娓呯┖
+ this.detailInfo = {};
+ if (this.detailId) {
+ this.getDetailInfo();
+ }
+ this.getOptions();
+ },
+ mounted() {
- },
- computed: {
- conclusionTable() {
- const conclusion = {};
- conclusion.name = this.detailInfo.name;
- conclusion.code = this.detailInfo.code;
- conclusion.uName = [
- ...new Set(this.projectTable.map(item => item.uName))
- ];
- return [conclusion];
+ },
+ computed: {
+ conclusionTable() {
+ const conclusion = {};
+ conclusion.name = this.detailInfo.name;
+ conclusion.code = this.detailInfo.code;
+ conclusion.uName = [
+ ...new Set(this.projectTable.map(item => item.uName))
+ ];
+ return [conclusion];
+ }
+ },
+ data() {
+ return {
+ // 娣诲姞鍒�
+ empiricalValueAdd: 1,
+ // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+ empiricalValueAddMaxNumber: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ // 璇︽儏椤靛氨鏄鎯呬俊鎭�
+ detailInfo: {},
+ //浜у搧淇℃伅
+ ifsInfo: {},
+ // 琛ㄦ牸
+ projectTable: [],
+ // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
+ rawInsParams: {},
+ // 椤圭洰鍚嶇Оoptions
+ specificationOptions: [],
+ filterText: "",
+ materialOptions: [], // 鏍戞暟鎹�
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
+ },
+ nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+ },
+ restaurants: []
+ };
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ }
+ },
+ methods: {
+ blurCode() {
+ // this.detailId=10
+ let data = {
+ code: this.detailInfo.code
}
+ console.log(data);
+ this.$axios.post(
+ this.$api.url.rawInspectChooseIFS, {
+ code: this.detailInfo.code
+ }
+ ).then(res => {
+ this.ifsInfo = res.data
+ console.log("ifs", this.ifsInfo);
+ this.$set(this.detailInfo, "formTime", this.ifsInfo.formTime)
+ this.detailInfo.formTime = this.ifsInfo.formTime
+ this.detailInfo.name = this.ifsInfo.name
+ this.detailInfo.supplier = this.ifsInfo.supplier
+ this.detailInfo.unit = this.ifsInfo.unit
+ this.detailInfo.userName = this.ifsInfo.userName
+ this.detailInfo.number = this.ifsInfo.number
+ this.detailInfo.specifications = this.ifsInfo.specifications
+ this.restaurants = JSON.parse(JSON.stringify(this.ifsInfo.rawInsProducts))
+ this.restaurants.forEach(item => {
+ this.$set(item, "value", item.name)
+ })
+ console.log("restaurants", this.restaurants);
+ })
},
- data() {
- return {
- // 娣诲姞鍒�
- empiricalValueAdd: 1,
- // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
- empiricalValueAddMaxNumber: 0,
- // 璁惧閫夋嫨鏍戞樉绀�
- centerDialogVisible: false,
- // 璇︽儏椤靛氨鏄鎯呬俊鎭�
- detailInfo: {},
- // 琛ㄦ牸
- projectTable: [],
- // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
- rawInsParams: {},
- // 椤圭洰鍚嶇Оoptions
- specificationOptions: [],
- filterText: "",
- materialOptions: [], // 鏍戞暟鎹�
- defaultProps: {
- // 璁惧鏍戞暟鎹缃�
- children: "children",
- label: "name"
- },
- nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
- clickSelectDevice: {
- index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
- rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
- }
+ querySearch(queryString, cb) {
+ var restaurants = this.restaurants;
+ 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);
+ handleSelect(row) {
+ let select = this.restaurants.filter(item => {
+ return item.name === row.name
+ })[0]
+ if (select != undefined) {
+ this.$set(row, "internal", select.internal)
+ this.$set(row, "required", select.required)
+ this.$set(row, "unit", select.unit)
+ //妫�楠屽��
}
},
- methods: {
- assertTest(row) {
- // let fuArr=['>', '<', '=']
- // if(!fuArr.includes(row.required[0])){
- // this.$message({
- // message: "鏍囧噯鍊糩"+row.required+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
- // type: 'warning'
- // });
- // return
- // }
- // if(!fuArr.includes(row.internal[0])){
- // this.$message({
- // message: "鍐呮帶鍊糩"+row.internal+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
- // type: 'warning'
- // });
- // return
- // }
- },
- // 璁惧鏍戣繃婊ゆ悳绱�
- filterNode(value, data) {
- if (!value) return true;
- return data.name.indexOf(value) !== -1;
- },
+ assertTest(row) {
+ // let fuArr=['>', '<', '=']
+ // if(!fuArr.includes(row.required[0])){
+ // this.$message({
+ // message: "鏍囧噯鍊糩"+row.required+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+ // type: 'warning'
+ // });
+ // return
+ // }
+ // if(!fuArr.includes(row.internal[0])){
+ // this.$message({
+ // message: "鍐呮帶鍊糩"+row.internal+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+ // type: 'warning'
+ // });
+ // return
+ // }
+ },
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
- // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
- async getDetailInfo() {
- await this.$axios
- .get(this.$api.url.selectRawInspectsListById + `${this.detailId}`, {
- params: {
- id: this.detailId
+ // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
+ async getDetailInfo() {
+ await this.$axios
+ .get(this.$api.url.selectRawInspectsListById + `${this.detailId}`, {
+ params: {
+ id: this.detailId
+ }
+ })
+ .then(res => {
+ console.log(res);
+ this.detailInfo = res.data;
+ this.projectTable = res.data.children;
+ this.projectTable.forEach(i => {
+ // 瑙e喅閲嶆柊璧嬪�兼棤娉曠紪杈戞搷浣�
+ if (i.testValue == null) {
+ this.$set(i, "testValueList", []);
+ } else {
+ this.$set(i, "testValueList", i.testValue.split(","));
}
+ // 鍙栨渶闀跨殑鍒楄〃鏁�
+ if (i.testValueList.length > this.empiricalValueAdd) {
+ this.empiricalValueAdd = i.testValueList.length;
+ this.empiricalValueAddMaxNumber = i.testValueList.length - 1;
+ }
+ });
+ });
+ },
+ // 鏂板妫�楠屽崟
+ async addNewRawInspect() {
+ //TODO:
+ console.log(this.projectTable);
+ if (this.projectTable.length > 0) {
+ let filterTable = this.projectTable.filter(item => {
+ return item.required === '' || item.internal === '' ||
+ item.required === null || item.internal === null || item.name === ''
+ })
+ if (filterTable.length > 0) {
+ this.$message({
+ message: "椤圭洰鍚嶇О锛屾爣鍑嗗�煎拰鍐呮帶鍊间笉鑳戒负绌猴紒",
+ type: 'warning'
+ });
+ return
+ }
+ }
+ this.projectTable.forEach(i => {
+ // 灏嗗垪琛ㄨ浆鎹负瀛楃涓�
+ i.testValue = i.testValueList.join(",");
+ });
+ this.detailInfo.rawInsProducts = this.projectTable;
+ this.$axios.post(
+ this.$api.url.addRawInspects, {
+ ...this.detailInfo
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }
+ ).then(res => {
+ console.log(res);
+ if (res.code == "201") {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ } else {
+ // this.detailId = res.data;
+ // this.getDetailInfo();
+ // // this.$message.success(res.message);
+ // this.goBack();
+ }
+ });
+ },
+
+ // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
+ async changeState(row, index) {
+ if (this.detailId !== null) {
+ const res = await this.$axios.post(this.$api.url.updaterawInsProduct, {
+ DevId: row.deviceId,
+ rpId: row.rpId,
+ testValue: row.testValueList.join(",")
+ });
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁
+ }
+ },
+ submitSave() {
+ let pro = this.projectTable.filter(item => {
+ return item.testState === 0;
+ })
+ if (pro.length > 0) {
+ this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ inputPattern: /^\d+$/,
+ inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
+ }).then(({ value }) => {
+ this.$axios.post(
+ this.$api.url.updateRawInspectsById+`${this.detailId}`, {"number": value }
+ ).then(res => {
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo();
+ this.goBack()
+ });
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '鍙栨秷杈撳叆'
+ });
+ });
+ }else{
+ this.$axios.post(
+ this.$api.url.updateRawInspectsById + `${this.detailId}`
+ ).then(res => {
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo();
+ this.goBack()
+ });
+ }
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions() {
+ this.$axios.get(this.$api.url.rawSelectDevice).then(res => {
+ this.materialOptions = res.data;
+ });
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ deviceId: null,
+ deviceName: "",
+ internal: "",
+ name: "",
+ required: "",
+ textValue: "",
+ testState: null,
+ testValueList: [],
+ unit: ""
+ };
+ this.projectTable.push(obj);
+ },
+ // 鍒犻櫎琛�
+ clickDeleteline(scope) {
+ this.projectTable.splice(scope.$index, 1);
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ this.centerDialogVisible = true;
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.rpId;
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure() {
+ if (this.detailId == null) {
+ this.projectTable[
+ this.clickSelectDevice.index
+ ].deviceId = this.nodeData.id;
+ this.projectTable[
+ this.clickSelectDevice.index
+ ].deviceName = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios
+ .post(this.$api.url.updateDevByRpId, {
+ rpId: this.clickSelectDevice.rpId,
+ devId: this.nodeData.id
})
.then(res => {
- console.log(res);
- this.detailInfo = res.data;
- this.projectTable = res.data.children;
- this.projectTable.forEach(i => {
- // 瑙e喅閲嶆柊璧嬪�兼棤娉曠紪杈戞搷浣�
- if (i.testValue == null) {
- this.$set(i, "testValueList", []);
- } else {
- this.$set(i, "testValueList", i.testValue.split(","));
- }
- // 鍙栨渶闀跨殑鍒楄〃鏁�
- if (i.testValueList.length > this.empiricalValueAdd) {
- this.empiricalValueAdd = i.testValueList.length;
- this.empiricalValueAddMaxNumber = i.testValueList.length - 1;
- }
- });
+ this.getDetailInfo();
+ this.centerDialogVisible = false;
});
- },
- // 鏂板妫�楠屽崟
- async addNewRawInspect() {
- //TODO:
- console.log(this.projectTable);
- if (this.projectTable.length > 0) {
- let filterTable = this.projectTable.filter(item => {
- return item.required === '' || item.internal === '' ||
- item.required === null || item.internal === null || item.name === ''
- })
- if (filterTable.length > 0) {
- this.$message({
- message: "椤圭洰鍚嶇О锛屾爣鍑嗗�煎拰鍐呮帶鍊间笉鑳戒负绌猴紒",
- type: 'warning'
- });
- return
- }
- }
- this.projectTable.forEach(i => {
- // 灏嗗垪琛ㄨ浆鎹负瀛楃涓�
- i.testValue = i.testValueList.join(",");
- });
- this.detailInfo.rawInsProducts = this.projectTable;
- this.$axios.post(
- this.$api.url.addRawInspects, {
- ...this.detailInfo
- }, {
- headers: {
- "Content-Type": "application/json"
- }
- }
- ).then(res => {
- console.log(res);
- if (res.code == "201") {
- this.$message({
- message: res.message,
- type: 'warning'
- });
- return
- } else {
- // this.detailId = res.data;
- // this.getDetailInfo();
- // // this.$message.success(res.message);
- // this.goBack();
- }
- });
- },
-
- // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
- async changeState(row, index) {
- if (this.detailId !== null) {
- const res = await this.$axios.post(this.$api.url.updaterawInsProduct, {
- DevId: row.deviceId,
- rpId: row.rpId,
- testValue: row.testValueList.join(",")
- });
- this.$message.success("鎻愪氦鎴愬姛");
- this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁
- }
- },
- async submitSave() {
- const res = await this.$axios.post(
- this.$api.url.updateRawInspectsById + `${this.detailId}`
- ).then(res => {
- this.$message.success("鎻愪氦鎴愬姛");
- this.getDetailInfo();
- this.goBack()
- });
- },
- // 鑾峰彇璁惧鏍戝唴瀹�
- getOptions() {
- this.$axios.get(this.$api.url.rawSelectDevice).then(res => {
- this.materialOptions = res.data;
- });
- },
- // 娣诲姞琛�
- clickAddLine() {
- let obj = {
- deviceId: null,
- deviceName: "",
- internal: "",
- name: "",
- required: "",
- textValue: "",
- testState: null,
- testValueList: [],
- unit: ""
- };
- this.projectTable.push(obj);
- },
- // 鍒犻櫎琛�
- clickDeleteline(scope) {
- this.projectTable.splice(scope.$index, 1);
- },
- // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
- nodeClick(data) {
- if (data.id != undefined) this.nodeData = data;
- },
- // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
- clickTableSelect(scope) {
- this.centerDialogVisible = true;
- this.clickSelectDevice.index = scope.$index;
- this.clickSelectDevice.rpId = scope.row.rpId;
- },
- // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
- clickNodeSure() {
- if (this.detailId == null) {
- this.projectTable[
- this.clickSelectDevice.index
- ].deviceId = this.nodeData.id;
- this.projectTable[
- this.clickSelectDevice.index
- ].deviceName = this.nodeData.name;
- this.centerDialogVisible = false;
- } else {
- this.$axios
- .post(this.$api.url.updateDevByRpId, {
- rpId: this.clickSelectDevice.rpId,
- devId: this.nodeData.id
- })
- .then(res => {
- this.getDetailInfo();
- this.centerDialogVisible = false;
- });
- }
- },
- // 鍒犻櫎妫�楠屽�煎垪
- clickDeleteInspectionColumn() {
- if (this.empiricalValueAdd - 1 === 0) {} else {
- if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
- this.empiricalValueAdd = this.empiricalValueAdd - 1;
- this.projectTable.forEach(i => {
- i.testValueList.splice(this.empiricalValueAdd, 1);
- });
- }
- }
- },
- // 娣诲姞妫�楠屽�煎垪
- clickAddInspectionColumn() {
- this.empiricalValueAdd = this.empiricalValueAdd + 1;
}
+ },
+ // 鍒犻櫎妫�楠屽�煎垪
+ clickDeleteInspectionColumn() {
+ if (this.empiricalValueAdd - 1 === 0) { } else {
+ if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+ this.empiricalValueAdd = this.empiricalValueAdd - 1;
+ this.projectTable.forEach(i => {
+ i.testValueList.splice(this.empiricalValueAdd, 1);
+ });
+ }
+ }
+ },
+ // 娣诲姞妫�楠屽�煎垪
+ clickAddInspectionColumn() {
+ this.empiricalValueAdd = this.empiricalValueAdd + 1;
}
- };
+ }
+};
</script>
<style scoped>
- .node_i {
- color: orange;
- }
+.node_i {
+ color: orange;
+}
- .div_device_dialog {
- min-height: 400px;
- overflow: auto;
- }
+.div_device_dialog {
+ min-height: 400px;
+ overflow: auto;
+}
- .rawInsBox {
- height: 100%;
- width: 100%;
- overflow-y: scroll;
- display: flex;
- flex-direction: column;
- }
+.rawInsBox {
+ height: 100%;
+ width: 100%;
+ overflow-y: scroll;
+ display: flex;
+ flex-direction: column;
+}
- .el-table__fixed-body-wrapper {
- top: 48px;
- }
+.el-table__fixed-body-wrapper {
+ top: 48px;
+}
- .rawInsBox .title .el-button {
- height: 32px;
- border: 1px solid rgba(190, 190, 190, 0.44);
- box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
- padding: 0 12px;
- }
+.rawInsBox .title .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+}
- .rawInsBox .title {
- margin-bottom: 10px;
- padding: 0 20px;
- }
+.rawInsBox .title {
+ margin-bottom: 10px;
+ padding: 0 20px;
+}
- /* 妫�楠岃鎯� */
- .raw-detail-info {
- background: #fff;
- padding: 26px 0px 11px 80px;
- }
+/* 妫�楠岃鎯� */
+.raw-detail-info {
+ background: #fff;
+ padding: 26px 0px 11px 80px;
+}
- .raw-detail-info>>>.el-form-item__label {
- color: rgb(51, 51, 51);
- font-family: 寰蒋闆呴粦;
- font-size: 16px;
- font-weight: 400;
- letter-spacing: 0px;
- }
+.raw-detail-info>>>.el-form-item__label {
+ color: rgb(51, 51, 51);
+ font-family: 寰蒋闆呴粦;
+ font-size: 16px;
+ font-weight: 400;
+ letter-spacing: 0px;
+}
- .raw-detail-info .el-input {
- width: auto;
- }
+.raw-detail-info .el-input {
+ width: auto;
+}
- .raw-detail-info.raw-detail-info-edit>>>.el-input__inner {
- background: #fff;
- }
+.raw-detail-info.raw-detail-info-edit>>>.el-input__inner {
+ background: #fff;
+}
- .raw-detail-info>>>.el-input__inner {
- width: 224px;
- height: 32px;
- box-sizing: border-box;
- background: rgb(238, 238, 238);
- border: 1px solid rgb(221, 221, 221);
- border-radius: 4px;
- }
+.raw-detail-info>>>.el-input__inner {
+ width: 224px;
+ height: 32px;
+ box-sizing: border-box;
+ background: rgb(238, 238, 238);
+ border: 1px solid rgb(221, 221, 221);
+ border-radius: 4px;
+}
- .raw-detail-info .el-form-item {
- margin-bottom: 24px;
- }
+.raw-detail-info .el-form-item {
+ margin-bottom: 24px;
+}
- .raw-detail-info .el-form-item .el-button {
- height: 32px;
- border: 1px solid rgba(190, 190, 190, 0.44);
- box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
- padding: 0 12px;
- }
+.raw-detail-info .el-form-item .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+}
- /* 妫�楠岄」鐩� */
- .raw-project-table {
- padding: 24px 14px;
- background: #fff;
- flex: 1;
- /* max-height: 360px; */
- /* overflow-y: hidden; */
- }
+/* 妫�楠岄」鐩� */
+.raw-project-table {
+ padding: 24px 14px;
+ background: #fff;
+ flex: 1;
+ /* max-height: 360px; */
+ /* overflow-y: hidden; */
+}
- /* 妫�楠岀粨璁� */
- .raw-conclusion-table {
- padding: 9px 14px;
- background: #fff;
- }
+/* 妫�楠岀粨璁� */
+.raw-conclusion-table {
+ padding: 9px 14px;
+ background: #fff;
+}
</style>
\ No newline at end of file
diff --git a/src/components/view/sale.vue b/src/components/view/sale.vue
index e4c28ad..60bd99f 100644
--- a/src/components/view/sale.vue
+++ b/src/components/view/sale.vue
@@ -119,7 +119,7 @@
:icon="isSync ? 'el-icon-loading' : 'el-icon-refresh'">鍚屾</el-button>
<el-button type="primary" icon="el-icon-plus" @click="openAddDia">鏂板</el-button>
<el-button icon="el-icon-delete" @click="delSales">鍒犻櫎</el-button>
- <el-button icon="el-icon-download">瀵煎嚭</el-button>
+ <el-button icon="el-icon-download" @click="exportSale">瀵煎嚭</el-button>
</el-col>
</el-row>
</div>
@@ -157,10 +157,10 @@
</el-table-column>
<el-table-column label="璁㈠崟绫诲瀷" width="100">
<template slot-scope="scope">
- <el-tag effect="dark" size="mini" style="font-size: 8px;">{{scope.row.order_type}}</el-tag>
+ <el-tag effect="dark" size="mini" style="font-size: 8px;">{{ scope.row.order_type }}</el-tag>
</template>
</el-table-column>
- <el-table-column prop="code" label="鍚堝悓缂栧彿" width="220">
+ <el-table-column prop="code" label="鍚堝悓缂栧彿" >
</el-table-column>
<el-table-column prop="name" label="宸ョ▼鍚嶇О" width="120">
</el-table-column>
@@ -174,12 +174,13 @@
<template slot-scope="scope">
<span style="color: #34BD66;" v-if="scope.row.type == 1">閫氳繃</span>
<span style="color: #E84738;" v-else-if="scope.row.type == 0">涓嶉�氳繃</span>
- <span v-else>{{null}}</span>
+ <span style="color: #ff9900;" v-else>鏈鏍�</span>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" width="220">
<template slot-scope="scope">
<span class="table_do" @click="changeShowDetail(scope.row)"> 鏌ョ湅璇︽儏 </span>
+ <span class="table_do" @click="downloadFile(scope.row)"> 涓嬭浇闄勪欢 </span>
<span class="table_do" v-if="scope.row.type == 2" @click="saleCheck(scope)"> 瀹℃牳 </span>
<span class="table_do" v-else> </span>
<span class="table_do" v-if="scope.row.type == 2"
@@ -450,6 +451,56 @@
this.selectRawInspectsList()
},
methods: {
+ downloadFile(row) {
+ let baseIp = "http://192.168.18.16:9999"
+ this.axios.post(this.$api.url.saleDownload, {
+ id: row.id
+ }).then(res => {
+ const fileUrls = []; // 鏂囦欢鐨剈rls
+ res.data.forEach(item=>{
+ let url=baseIp+item
+ fileUrls.push(url)
+ })
+ const downloadFile = (url, fileName) => {
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = fileName;
+ // link.style.display = 'none';
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ };
+
+ console.log(fileUrls);
+ fileUrls.forEach((url, index) => {
+ let s=url.split(".")
+ const fileName = row.name+`闄勪欢(${index + 1}).`+s[s.length-1];
+ downloadFile(url, fileName);
+ });
+ })
+ },
+ //閿�鍞鍗曞鍑�
+ exportSale(){
+ this.$axios.post(this.$api.url.exportSale,{
+ delTime: this.search.delTime,
+ name: this.search.name,
+ type: this.search.type,
+ orderNumber: this.search.code
+ },{responseType:'blob',headers:{"Content-Type":"application/json"}}).then((res)=>{
+ const result = res;
+ var nameList = result.headers['content-disposition'];
+ nameList = decodeURI(nameList);
+ var fileName = nameList.split('=')[1];
+ const blob = new Blob([result.data,{type: 'application/vnd.ms-excel'}]);
+ const link = document.createElement('a');
+ link.download = fileName;
+ const URL = window.URL || window.webkitURL;
+ link.href= URL.createObjectURL(blob);
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ }).catch()
+ },
closeDialog() {
this.addData = {
orderNumber: null,
@@ -485,7 +536,7 @@
message: '鍚屾鍋囨垚鍔�(鈼曖礂鈼�)锛�',
type: 'success'
});
- this.isSync=false
+ this.isSync = false
}, 2000);
return
//璋冪敤鍚屾鎺ュ彛
diff --git a/src/components/view/self-inspection.vue b/src/components/view/self-inspection.vue
index 9eb52c1..8f23b85 100644
--- a/src/components/view/self-inspection.vue
+++ b/src/components/view/self-inspection.vue
@@ -113,7 +113,6 @@
<el-col :span="12" style="line-height: 32px;">鑷椤圭洰缁存姢</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="addend">鏂板</el-button>
- <!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> -->
<el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button>
</el-col>
</el-row>
@@ -121,22 +120,9 @@
<div class="choose">
<span>绫诲瀷锛�</span>
<el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
- <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
- <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
- <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
- <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+ <el-option v-for="(a, ai) in bigType" :key="ai" :value="a">
+ </el-option>
</el-select>
- <!-- <span>宸ュ簭锛�</span> -->
- <!-- <el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
- <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
- </el-select>
- <span>椤圭洰锛�</span>
- <el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
- <el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option>
- </el-select>
- <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button>
- <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌�
- 璇�</span></el-button> -->
</div>
<div class="thing">
<div class="left">
@@ -147,9 +133,6 @@
<div class="custom-tree-node" slot-scope="{ node, data }">
<span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
{{data.code}} {{ data.name }}</span>
- <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
- <i class="el-icon-delete"></i>
- </el-button> -->
</div>
</el-tree>
</div>
@@ -384,6 +367,7 @@
checkTreeNode: {
id:'',
},
+ bigType: [],
tableData: [],
upIndex: 0,
selects: [],
@@ -402,10 +386,20 @@
}
},
mounted() {
+ this.chooseType()
this.selectAllleft()
this.selectAllSelf()
},
methods: {
+ chooseType() {
+ this.$axios.get(this.$api.url.chooseType).then(res => {
+ this.bigType = res.data
+ this.typeselect = res.data[0]
+ this.search.type = res.data[0]
+ this.selectAllTechTem();
+ this.selectAllTechNam();
+ })
+ },
selectDataList() {
this.list.forEach(a => {
a.code = '[1]'
diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue
index 3cbdff9..95908b5 100644
--- a/src/components/view/standard.vue
+++ b/src/components/view/standard.vue
@@ -48,7 +48,7 @@
<el-option :value="0" label="宸ヨ壓璺嚎"></el-option>
<el-option :value="1" label="鎶�鏈寚鏍�"></el-option>
<el-option :value="2" label="鐗╂枡娓呭崟"></el-option>
- <!-- <el-option :value="3" label="鐢熶骇宸ヨ壓"></el-option> -->
+ <el-option :value="3" label="鐢熶骇宸ヨ壓"></el-option>
</el-select>
<span>鐗堟湰锛�</span>
<el-select v-model="versionVal" @change="verevent" size="small" style="width: 13vw;margin-right: 15px;" placeholder="璇烽�夋嫨">
@@ -89,7 +89,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="宸ュ簭:" prop="tefather" style="display: flex;">
- <el-select size="small"
+ <el-select size="small"
filterable allow-create default-first-option style="width: 100%;"
v-model="technologyForm.tefather" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭">
<el-option :value="item.father" :label="item.father" v-for="(item,index) in fatherList" :key="index"></el-option>
@@ -98,7 +98,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="宸ヨ壓鍚嶇О:" prop="tename" style="display: flex;">
- <el-input style="width: 100%;" size="small" placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"
+ <el-input style="width: 100%;" size="small" placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"
clearable v-model="technologyForm.tename"></el-input>
</el-form-item>
</el-col>
@@ -108,7 +108,7 @@
<el-form-item label="璁惧缁�:" prop="deviceGroup" style="display: flex;">
<el-select placeholder="璇烽�夋嫨璁惧缁�" size="small" style="width: 100%;"
v-model="technologyForm.deviceGroup">
- <el-option :value="item.father"
+ <el-option :value="item.father"
v-for="(item,index) in deviceList" :key="index" :label="item.father"></el-option>
</el-select>
</el-form-item>
@@ -132,7 +132,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="宸ュ簭:" prop="pfather">
- <el-select v-model="targetForm.pfather"
+ <el-select v-model="targetForm.pfather"
@change="changeFather" size="small" placeholder="璇烽�夋嫨宸ュ簭">
<el-option :value="item.name" :label="item.name" v-for="(item,index) in targetFormList" :key="index"></el-option>
</el-select>
@@ -151,7 +151,7 @@
<el-col :span="12">
<el-form-item label="椤圭洰:" prop="father">
<el-select v-model="targetForm.father"
- filterable allow-create default-first-option
+ filterable allow-create default-first-option
size="small" placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰">
<el-option :value="item.father" :label="item.father" v-for="(item,index) in projectList" :key="index"></el-option>
</el-select>
@@ -200,16 +200,16 @@
style="width:100%;" v-model="materialForm.mfather" size="small">
<el-option v-for="(item,index) in materialFormList" :key="index"
:label="item.name" :value="item.name" ></el-option>
- </el-select>
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="宸ヨ壓鍚嶇О:" prop="mtechnologyId">
- <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" style="width:100%;"
+ <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" style="width:100%;"
v-model="materialForm.mtechnologyId" size="small">
- <el-option v-for="(item,index) in mIdList" :key="index"
+ <el-option v-for="(item,index) in mIdList" :key="index"
:value="item.id" :label="item.name"></el-option>
- </el-select>
+ </el-select>
</el-form-item>
</el-col>
</el-row>
@@ -283,7 +283,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="宸ュ簭:" prop="profather">
- <el-select v-model="productForm.profather"
+ <el-select v-model="productForm.profather"
@change="changeProduct" placeholder="璇烽�夋嫨宸ュ簭" size="small">
<el-option v-for="(item,index) in productFormList" :key="index"
:value="item.name" :label="item.name"></el-option>
@@ -559,8 +559,8 @@
this.leftAdd.name=null
this.leftAdd.specifications=null
this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
+ this.bomLeftAdd=false
+ this.selectVersion()
})
return
}
@@ -587,8 +587,8 @@
this.leftAdd.name=null
this.leftAdd.specifications=null
this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
+ this.bomLeftAdd=false
+ this.selectVersion()
})
}else{
let three=two.children.filter(item=>{
@@ -610,7 +610,7 @@
this.leftAdd.name=null
this.leftAdd.specifications=null
this.selectMaterialTree()
- this.bomLeftAdd=false
+ this.bomLeftAdd=false
this.selectVersion()
})
}else{
@@ -637,8 +637,8 @@
this.leftAdd.name=null
this.leftAdd.specifications=null
this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
+ this.bomLeftAdd=false
+ this.selectVersion()
})
}else{
let specificationsDto={
@@ -658,7 +658,7 @@
this.leftAdd.name=null
this.leftAdd.specifications=null
this.selectMaterialTree()
- this.bomLeftAdd=false
+ this.bomLeftAdd=false
this.selectVersion()
})
}
@@ -676,7 +676,7 @@
this.$refs[formName].resetFields();
},
leftAddBom(){
-
+
},
//鑾峰彇瀛愮粍浠舵暟鎹�
getChildData(data){
@@ -975,7 +975,7 @@
}
},
startLeftAdd(){
-
+
},
getType(typeName){
return typeName==="鎴愬搧"?1:2
@@ -1312,7 +1312,7 @@
height: calc(100% - 48px);
background-color: #fff;
display: flex;
-
+
}
.thing .left {
diff --git a/src/components/view/technology.vue b/src/components/view/technology.vue
index 36ed1ed..5102ff6 100644
--- a/src/components/view/technology.vue
+++ b/src/components/view/technology.vue
@@ -559,4 +559,4 @@
}
},
};
-</script>
\ No newline at end of file
+</script>
diff --git a/src/main.js b/src/main.js
index 8b8170e..9a81a52 100644
--- a/src/main.js
+++ b/src/main.js
@@ -13,7 +13,7 @@
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80/"; //鍓嶇鏈湴绔彛
Vue.prototype.HaveJson = (val) => {
- return JSON.parse(JSON.stringify(val))
+ return JSON.parse(JSON.stringify(val))
}
Vue.use(VueAxios, axios)
@@ -23,9 +23,9 @@
Vue.use(qs);
Vue.use(api);
-// const javaApi = 'http://192.168.14.249:8001'
+const javaApi = 'http://localhost:8001'
-const javaApi = 'http://127.0.0.1:8001/'
+// const javaApi = 'http://127.0.0.1:8001/'
@@ -37,71 +37,74 @@
Vue.prototype.$axios = axios
import {
- Message
+ Message
} from 'element-ui';
-axios.interceptors.request.use(function (config) {
- let tk = sessionStorage.getItem("token")
- let token;
- if (tk != undefined && tk != '') {
- token = tk
- }
- if (token) {
- config.headers['token'] = "" + token
- // config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
- // config.headers['Content-Type'] = 'application/json'
- }
- // console.log(config)
- if (config.method === 'post' || config.method === 'put') {
+axios.interceptors.request.use(function(config) {
+ let tk = sessionStorage.getItem("token")
+ let token;
+ if (tk != undefined && tk != '') {
+ token = tk
+ }
+ if (token) {
+ config.headers['token'] = "" + token
+ // config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
+ // config.headers['Content-Type'] = 'application/json'
+ }
+ // console.log(config)
+ if (config.method === 'post' || config.method === 'put') {
- config.data = qs.stringify(config.data)
- }
- if (config.headers['Content-Type'] == 'application/json') {
- config.data = qs.parse(config.data)
- // console.log(config.data)
- }
+ config.data = qs.stringify(config.data)
+ }
+ if (config.headers['Content-Type'] == 'application/json') {
+ config.data = qs.parse(config.data)
+ // console.log(config.data)
+ }
- return config
-}, function (error) {
- return Promise.reject(error)
+ return config
+}, function(error) {
+ return Promise.reject(error)
})
axios.interceptors.response.use(res => {
- return res.data
-}, async function (err) {
- if (JSON.stringify(err).indexOf('timeout of') > -1) {
- Message.error('璇锋眰瓒呮椂锛岃妫�鏌ョ綉缁滆缃�')
- } else if (JSON.stringify(err).indexOf('ERR_CONNECTION_RESET') > -1 || JSON.stringify(err).indexOf(
- 'Network Error') > -1) {
- Message.error('缃戠粶杩炴帴閿欒')
- } else if (err.response.status == "503") {
- Message.error('鏈嶅姟鏈搷搴�')
- } else if (err.response.status == "404") {
- Message.error('璇锋眰澶辫触锛岄摼鎺ュ湴鍧�涓嶅瓨鍦�')
- } else if (err.response.status == "403") {
- Message.error('token涓嶅瓨鍦�')
- } else if (err.response.status == "402") {
- Message.error('鏃犳晥绛惧悕锛岃閲嶆柊鐧诲綍')
- localStorage.removeItem('autoenter')
- window.location.href = '/enter'
- } else if (err.response.status == "401") {
- await axios.post(javaApi + "user/refresh", {
- reToken: sessionStorage.getItem('reToken')
- }).then(res => {
- if (res.data.code == 201) {
- Message.error('璁よ瘉澶辫触锛岄渶瑕侀噸鏂扮櫥褰�')
- localStorage.removeItem('autoenter')
- window.location.href = '/enter'
- return Promise.reject(err)
- }
- sessionStorage.setItem('token', res.data.token)
- sessionStorage.setItem('reToken', res.data.reToken)
- })
- return axios(err.config)
- } else if (err.response.status == "500") {
- Message.error('鏈嶅姟绔嚭鐜伴敊璇�')
- }
- return Promise.reject(err)
+ if(res.config.responseType === 'blob'){
+ return res;
+ }
+ return res.data
+}, async function(err) {
+ if (JSON.stringify(err).indexOf('timeout of') > -1) {
+ Message.error('璇锋眰瓒呮椂锛岃妫�鏌ョ綉缁滆缃�')
+ } else if (JSON.stringify(err).indexOf('ERR_CONNECTION_RESET') > -1 || JSON.stringify(err).indexOf(
+ 'Network Error') > -1) {
+ Message.error('缃戠粶杩炴帴閿欒')
+ } else if (err.response.status == "503") {
+ Message.error('鏈嶅姟鏈搷搴�')
+ } else if (err.response.status == "404") {
+ Message.error('璇锋眰澶辫触锛岄摼鎺ュ湴鍧�涓嶅瓨鍦�')
+ } else if (err.response.status == "403") {
+ Message.error('token涓嶅瓨鍦�')
+ } else if (err.response.status == "402") {
+ Message.error('鏃犳晥绛惧悕锛岃閲嶆柊鐧诲綍')
+ localStorage.removeItem('autoenter')
+ window.location.href = '/enter'
+ } else if (err.response.status == "401") {
+ await axios.post(javaApi + "user/refresh", {
+ reToken: sessionStorage.getItem('reToken')
+ }).then(res => {
+ if (res.data.code == 201) {
+ Message.error('璁よ瘉澶辫触锛岄渶瑕侀噸鏂扮櫥褰�')
+ localStorage.removeItem('autoenter')
+ window.location.href = '/enter'
+ return Promise.reject(err)
+ }
+ sessionStorage.setItem('token', res.data.token)
+ sessionStorage.setItem('reToken', res.data.reToken)
+ })
+ return axios(err.config)
+ } else if (err.response.status == "500") {
+ Message.error('鏈嶅姟绔嚭鐜伴敊璇�')
+ }
+ return Promise.reject(err)
})
// 璺敱鎷︽埅鍣�
@@ -119,7 +122,7 @@
// });
new Vue({
- el: '#app',
- router,
- render: h => h(App)
+ el: '#app',
+ router,
+ render: h => h(App)
});
diff --git a/src/view/index.vue b/src/view/index.vue
index eebb722..87a1449 100644
--- a/src/view/index.vue
+++ b/src/view/index.vue
@@ -1,556 +1,586 @@
<style scoped>
-.all {
- width: 100vw;
- height: 100vh;
- background-size: 100% 100%;
- display: flex;
- flex-wrap: wrap;
-}
+ .all {
+ width: 100vw;
+ height: 100vh;
+ background-size: 100% 100%;
+ display: flex;
+ flex-wrap: wrap;
+ }
-.title {
- width: 100%;
- height: 58px;
- display: flex;
- align-items: center;
- padding: 0 30px;
-}
+ .title {
+ width: 100%;
+ height: 58px;
+ display: flex;
+ align-items: center;
+ padding: 0 30px;
+ }
-.logo {
- width: 130px;
-}
+ .logo {
+ width: 130px;
+ }
-.logo img {
- width: 100%;
- height: 100%;
-}
+ .logo img {
+ width: 100%;
+ height: 100%;
+ }
-.title .label {
- font-size: 18px;
- text-align: center;
- width: calc(100% - 130px - 200px);
-}
+ .title .label {
+ font-size: 18px;
+ text-align: center;
+ width: calc(100% - 130px - 200px);
+ }
-.user {
- width: 200px;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: right;
- color: #000;
-}
+ .user {
+ width: 200px;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ color: #000;
+ }
-.user * {
- margin: 0 5px;
-}
+ .user * {
+ margin: 0 5px;
+ }
-.user img {
- margin-left: 20px;
- cursor: pointer;
- width: 14px;
-}
+ .user img {
+ margin-left: 20px;
+ cursor: pointer;
+ width: 14px;
+ }
-.user span {
- font-size: 14px;
-}
+ .user span {
+ font-size: 14px;
+ }
-.left {
- height: calc(100vh - 58px - 40px);
- background-color: #004ea2;
- display: flex;
- align-items: center;
- flex-direction: column;
- padding: 20px 0;
- transition: 0.3s;
- overflow-y: auto;
-}
+ .left {
+ height: calc(100vh - 58px - 40px);
+ background-color: #004ea2;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ padding: 20px 0;
+ transition: 0.3s;
+ overflow-y: auto;
+ }
-.left::-webkit-scrollbar {
- width: 0;
-}
+ .left::-webkit-scrollbar {
+ width: 0;
+ }
-.left .box {
- color: #fff;
- width: 68px;
- height: 68px;
- margin: 8px 0;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
- border-radius: 8px;
-}
+ .left .box {
+ color: #fff;
+ width: 68px;
+ height: 68px;
+ margin: 8px 0;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ border-radius: 8px;
+ }
-.left .box:active {
- opacity: 0.8;
-}
+ .left .box:active {
+ opacity: 0.8;
+ }
-.left .active_box {
- background-color: #fff;
- color: #004ea2;
-}
+ .left .active_box {
+ background-color: #fff;
+ color: #004ea2;
+ }
-.left .box i {
- font-size: 24px;
- margin-bottom: 8px;
-}
+ .left .box i {
+ font-size: 24px;
+ margin-bottom: 8px;
+ }
-.left .box div {
- font-size: 14px;
-}
+ .left .box div {
+ font-size: 14px;
+ }
-.small_menu {
- color: #666;
-}
+ .small_menu {
+ color: #666;
+ }
-.small_menu .active_p {
- color: #004ea2;
-}
+ .small_menu .active_p {
+ color: #004ea2;
+ }
-.small_menu p {
- padding: 12px 15px;
- cursor: pointer;
-}
+ .small_menu p {
+ padding: 12px 15px;
+ cursor: pointer;
+ }
-.small_menu p:hover {
- background-color: rgba(0, 0, 0, 0.05);
-}
+ .small_menu p:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+ }
-.small_menu i {
- font-size: 16px;
-}
+ .small_menu i {
+ font-size: 16px;
+ }
-.small_menu span {
- font-size: 14px;
-}
+ .small_menu span {
+ font-size: 14px;
+ }
-.right {
- height: calc(100vh - 58px);
- transition: 0.3s;
-}
+ .right {
+ height: calc(100vh - 58px);
+ transition: 0.3s;
+ }
-.tag {
- width: 100%;
- height: 36px;
- background: rgb(255, 255, 255);
- opacity: 0.8;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
- display: flex;
- align-items: center;
- color: #999;
- font-size: 14px;
-}
+ .tag {
+ width: 100%;
+ height: 36px;
+ background: rgb(255, 255, 255);
+ opacity: 0.8;
+ box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
+ display: flex;
+ align-items: center;
+ color: #999;
+ font-size: 14px;
+ }
-.tag .el-icon-delete {
- display: none;
-}
+ .tag .el-icon-delete {
+ display: none;
+ }
-.tag .el-icon-delete:hover {
- color: #F56C6C;
-}
+ .tag .el-icon-delete:hover {
+ color: #F56C6C;
+ }
-.tag:hover .el-icon-delete {
- display: block;
-}
+ .tag:hover .el-icon-delete {
+ display: block;
+ }
-.tag>.el-icon-s-unfold,
-.el-icon-s-fold,
-.el-icon-delete {
- font-size: 18px;
- cursor: pointer;
- margin: 0 8px;
-}
+ .tag>.el-icon-s-unfold,
+ .el-icon-s-fold,
+ .el-icon-delete {
+ font-size: 18px;
+ cursor: pointer;
+ margin: 0 8px;
+ }
-.tabs {
- min-width: calc(100% - 68px);
- height: 100%;
- align-items: center;
- display: flex;
- overflow-x: auto;
-}
+ .tabs {
+ min-width: calc(100% - 68px);
+ height: 100%;
+ align-items: center;
+ display: flex;
+ overflow-x: auto;
+ }
-.tab {
- cursor: pointer;
- font-size: 14px;
- margin: 0 8px;
- line-height: 32px;
- transition: 0.3s;
- border-top: 2px solid transparent;
- border-bottom: 2px solid transparent;
- user-select: none;
- flex-shrink: 0;
-}
+ .tab {
+ cursor: pointer;
+ font-size: 14px;
+ margin: 0 8px;
+ line-height: 32px;
+ transition: 0.3s;
+ border-top: 2px solid transparent;
+ border-bottom: 2px solid transparent;
+ user-select: none;
+ flex-shrink: 0;
+ }
-.tab i {
- font-size: 12px;
- display: none;
-}
+ .tab i {
+ font-size: 12px;
+ display: none;
+ }
-.active_tab {
- border-bottom: 2px solid #004ea2;
- color: #004ea2;
-}
+ .active_tab {
+ border-bottom: 2px solid #004ea2;
+ color: #004ea2;
+ }
-.active_tab i {
- display: inline;
- color: #004ea2;
-}
+ .active_tab i {
+ display: inline;
+ color: #004ea2;
+ }
-.component_view {
- height: calc(100vh - 94px - 22px);
- width: calc(100% - 48px);
- padding: 11px 24px;
- background: rgb(245, 247, 251);
- overflow-y: auto;
-}
+ .component_view {
+ height: calc(100vh - 94px - 22px);
+ width: calc(100% - 48px);
+ padding: 11px 24px;
+ background: rgb(245, 247, 251);
+ overflow-y: auto;
+ }
-.com_index {
- width: 100%;
- height: 100%;
-}
+ .com_index {
+ width: 100%;
+ height: 100%;
+ }
</style>
<template>
- <div class="all">
- <div class="title">
- <div class="logo">
- <img src="../../static/img/logo 1.png" />
- </div>
- <div class="label">涓ぉ娴锋磱鏂颁竴浠om绯荤粺</div>
- <div class="user">
- <el-avatar :size="24">{{ userName.substring(0, 1) }}</el-avatar>
- <span>{{ userName }}</span>
- <img src="../../static/img/閫�鍑�.png" @click="out" />
- </div>
- </div>
- <div class="left" :style="`width: ${leftOpen ? '92' : '0'}px;`">
- <div :class="`box ${activeBox == 0 ? 'active_box' : ''}`" @click="addTab(menu[0].c[0])">
- <i class="font icon-shouye"></i>
- <div>棣栭〉</div>
- </div>
- <div :class="`box ${activeBox == 3 ? 'active_box' : ''}`" @click="addTab(menu[1].c[0])">
- <i class="font icon-jine"></i>
- <div>閿�鍞鐞�</div>
- </div>
- <el-popover placement="right-start" width="90" trigger="click" v-for="(a, ai) in menu" :key="ai"
- v-if="a.k != '0' && a.k != '3'">
- <div :class="`box ${activeBox == a.k ? 'active_box' : ''}`" @click="activeBox = a.k" slot="reference">
- <i :class="a.i"></i>
- <div>{{ a.v }}</div>
- </div>
- <div class="small_menu">
- <p v-for="(b, bi) in a.c" :key="bi" :class="activeP == b.k ? 'active_p' : ''" @click="addTab(b)">
- <i :class="b.i"></i>
- <span>{{ b.v }}</span>
- </p>
- </div>
- </el-popover>
- </div>
- <div class="right" :style="`width: calc(100% - ${leftOpen ? '92' : '0'}px);`">
- <div class="tag">
- <i :class="`${leftOpen ? 'el-icon-s-unfold' : 'el-icon-s-fold'}`" @click="leftOpen = !leftOpen"></i>
- <div class="tabs">
- <div :class="`tab ${tabActive == a.k ? 'active_tab' : ''}`" v-for="(a, ai) in tabs" :key="ai"
- @click="upTabActive(a.k)">
- {{ a.v }}
- <i class="el-icon-close" @click="removeTab(ai)" v-if="tabActive != 0"></i>
- </div>
- </div>
- <i class="el-icon-delete" @click="allDel" title="鍒犻櫎鎵�鏈夋爣绛鹃〉"></i>
- </div>
- <div class="component_view">
- <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="upIndex + '|' + index"
- v-show="com.k == tabActive" @removeAllTab="removeAllTab">
- </component>
- </div>
- </div>
- </div>
+ <div class="all">
+ <div class="title">
+ <div class="logo">
+ <img src="../../static/img/logo 1.png" />
+ </div>
+ <div class="label">涓ぉ娴锋磱鏂颁竴浠om绯荤粺</div>
+ <div class="user">
+ <el-avatar :size="24">{{ userName.substring(0, 1) }}</el-avatar>
+ <span>{{ userName }}</span>
+ <img src="../../static/img/閫�鍑�.png" @click="out" />
+ </div>
+ </div>
+ <div class="left" :style="`width: ${leftOpen ? '92' : '0'}px;`">
+ <div :class="`box ${activeBox == 0 ? 'active_box' : ''}`" @click="addTab(menu[0].c[0])">
+ <i class="font icon-shouye"></i>
+ <div>棣栭〉</div>
+ </div>
+ <div :class="`box ${activeBox == 3 ? 'active_box' : ''}`" @click="addTab(menu[1].c[0])">
+ <i class="font icon-jine"></i>
+ <div>閿�鍞鐞�</div>
+ </div>
+ <el-popover placement="right-start" width="90" trigger="click" v-for="(a, ai) in menu" :key="ai"
+ v-if="a.k != '0' && a.k != '3'">
+ <div :class="`box ${activeBox == a.k ? 'active_box' : ''}`" @click="activeBox = a.k" slot="reference">
+ <i :class="a.i"></i>
+ <div>{{ a.v }}</div>
+ </div>
+ <div class="small_menu">
+ <p v-for="(b, bi) in a.c" :key="bi" :class="activeP == b.k ? 'active_p' : ''" @click="addTab(b)">
+ <i :class="b.i"></i>
+ <span>{{ b.v }}</span>
+ </p>
+ </div>
+ </el-popover>
+ </div>
+ <div class="right" :style="`width: calc(100% - ${leftOpen ? '92' : '0'}px);`">
+ <div class="tag">
+ <i :class="`${leftOpen ? 'el-icon-s-unfold' : 'el-icon-s-fold'}`" @click="leftOpen = !leftOpen"></i>
+ <div class="tabs">
+ <div :class="`tab ${tabActive == a.k ? 'active_tab' : ''}`" v-for="(a, ai) in tabs" :key="ai"
+ @click="upTabActive(a.k)">
+ {{ a.v }}
+ <i class="el-icon-close" @click="removeTab(ai)" v-if="tabActive != 0"></i>
+ </div>
+ </div>
+ <i class="el-icon-delete" @click="allDel" title="鍒犻櫎鎵�鏈夋爣绛鹃〉"></i>
+ </div>
+ <div class="component_view">
+ <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="upIndex + '|' + index"
+ v-show="com.k == tabActive" @removeAllTab="removeAllTab">
+ </component>
+ </div>
+ </div>
+ </div>
</template>
<script>
-const requireComponent = require.context("../components/view", false, /\.vue/);
-var comObj = {};
-requireComponent.keys().forEach(fileName => {
- var names = fileName
- .split("/")
- .pop()
- .replace(".vue", "");
- const componentConfig = requireComponent(fileName);
- comObj[names] = componentConfig.default || componentConfig;
-});
-export default {
- components: comObj,
- data() {
- return {
- userName: "value",
- leftOpen: true,
- menu: [{
- k: 0,
- v: "棣栭〉",
- i: "font icon-shouye",
- c: [{
- k: 0,
- v: "棣栭〉",
- i: "font icon-shouye",
- u: "index-index"
- }]
- },
- {
- k: 3,
- v: "閿�鍞鐞�",
- i: "font icon-jine",
- c: [{
- k: 11,
- v: "閿�鍞鐞�",
- i: "font icon-jine",
- u: "sale"
- }]
- },
- {
- k: 1,
- v: "鎶�鏈鐞�",
- i: "font icon-ic_form_set24px",
- c: [{
- k: 1,
- v: "鏍囧噯BOM",
- i: "font icon-shouye",
- u: "standard"
- },
- {
- k: 2,
- v: "璁㈠崟BOM",
- i: "font icon-shouye",
- u: "technical"
- }
- ]
- },
- {
- k: 4,
- v: "鐢熶骇绠$悊",
- i: "font icon-shengchanguanli",
- c: [{
- k: 12,
- v: "鐢熶骇璁㈠崟",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 13,
- v: "鐢熶骇璁″垝",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 14,
- v: "鐢熶骇鎶ュ伐",
- i: "font icon-shouye",
- u: ""
- }
- ]
- },
- {
- k: 5,
- v: "WMS绠$悊",
- i: "font icon-a-Inventorydumprequest",
- c: [{
- k: 17,
- v: "鍗婃垚鍝佸簱瀛�",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 18,
- v: "鎴愬搧搴撳瓨",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 19,
- v: "鎴愬搧鍙戣揣",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 20,
- v: "鎴愬搧鍏ュ簱",
- i: "font icon-shouye",
- u: ""
- }
- ]
- },
- {
- k: 2,
- v: "QMS绠$悊",
- i: "font icon-xunhuan",
- c: [{
- k: 3,
- v: "鍘熸潗鏂欐楠�",
- i: "font icon-shouye",
- u: "rawInsBox"
- },
- {
- k: 5,
- v: "杩囩▼妫�楠�",
- i: "font icon-shouye",
- u: "processInspection"
- },
- {
- k: 6,
- v: "浜у搧妫�楠�",
- i: "font icon-shouye",
- u: "finishedProductInspection"
- },
- {
- k: 7,
- v: "涓嶅悎鏍煎搧绠$悊",
- i: "font icon-shouye",
- u: "unqualifiedManagement"
- },
- {
- k: 9,
- v: "璐ㄩ噺缁熻",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 10,
- v: "璁¢噺绠$悊",
- i: "font icon-shouye",
- u: "measurementManagement"
- },
- {
- k: 10.1,
- v: "涓嶅悎鏍煎搧澶勭疆",
- i: "font icon-shouye",
- u: "Processingproducts"
- }
- ]
- },
- {
- k: 6,
- v: "鏍哥畻绠$悊",
- i: "font icon-caiwuhesuanxitong",
- c: [{
- k: 21,
- v: "浜ч噺宸ヨ祫",
- i: "font icon-shouye",
- u: ""
- },
- {
- k: 22,
- v: "鍛樺伐鍑哄嫟",
- i: "font icon-shouye",
- u: ""
- }
- ]
- },
- {
- k: 7,
- v: "鍩虹鏁版嵁",
- i: "font icon-a-ziyuan20",
- c: [{
- k: 23,
- v: "鐢熶骇璁板綍缁存姢",
- i: "font icon-shouye",
- u: "record-content"
- },
- {
- k: 25,
- v: "鎶�鏈寚鏍囩淮鎶�",
- i: "font icon-shouye",
- u: "Technicalindex"
- },
- {
- k: 26,
- v: "宸ヨ壓璺嚎缁存姢",
- i: "font icon-shouye",
- u: "technology"
- },
- {
- k: 27,
- v: "璁惧缁存姢",
- i: "font icon-shouye",
- u: "laboratoryManagement"
- },
- {
- k: 28,
- v: "鐗╂枡娓呭崟缁存姢",
- i: "font icon-shouye",
- u: "mbom"
- }
- ]
- }
- ],
- activeBox: 0,
- activeP: 0,
- tabActive: 0,
- tabs: [{
- k: 0,
- v: "棣栭〉",
- i: "font icon-shouye",
- u: "index-index"
- }],
- upIndex: 0
- };
- },
- created() { },
- mounted() {
- this.userName = JSON.parse(localStorage.getItem("user")).name;
- },
- methods: {
- addTab(ob) {
- if (ob.k == 0) this.activeBox = 0;
- if (ob.k == 11) this.activeBox = 3;
- this.activeP = ob.k; //0
- this.tabActive = ob.k; //0
- let num = -1;
- this.tabs.forEach((a, ai) => {
- if (ob.k == a.k) {
- num = a.k;
- }
- });
- // 濡傛灉娌℃湁閬嶅巻鍒皌abs閲屾病鏈夎ob瀵瑰簲鐨則able锛屽線tabs閲岄潰鍔犲叆璇b
- if (num == -1) {
- this.tabs.push(ob);
- }
- },
- removeTab(index) {
- this.tabs.splice(index, 1);
- this.activeP = this.tabs[this.tabs.length - 1].k;
- this.tabActive = this.tabs[this.tabs.length - 1].k;
- },
- allDel() {
- this.activeBox = 0
- this.activeP = 0
- this.tabActive = 0
- this.tabs = [{
- k: 0,
- v: " 棣栭〉",
- i: "font icon-shouye",
- u: "index-index"
- }]
- },
-
- upTabActive(num) {
- this.tabActive = num;
- this.activeP = num;
- for (var i = 0; i < this.menu.length; i++) {
- this.menu[i].c.forEach(b => {
- if (b.k == num) {
- this.activeBox = this.menu[i].k;
- return
+ const requireComponent = require.context("../components/view", false, /\.vue/);
+ var comObj = {};
+ requireComponent.keys().forEach(fileName => {
+ var names = fileName
+ .split("/")
+ .pop()
+ .replace(".vue", "");
+ const componentConfig = requireComponent(fileName);
+ comObj[names] = componentConfig.default || componentConfig;
+ });
+ export default {
+ components: comObj,
+ data() {
+ return {
+ userName: "value",
+ leftOpen: true,
+ menu: [{
+ k: 0,
+ v: "棣栭〉",
+ i: "font icon-shouye",
+ c: [{
+ k: 0,
+ v: "棣栭〉",
+ i: "font icon-shouye",
+ u: "index-index"
+ }]
+ },
+ {
+ k: 3,
+ v: "閿�鍞鐞�",
+ i: "font icon-jine",
+ c: [{
+ k: 11,
+ v: "閿�鍞鐞�",
+ i: "font icon-jine",
+ u: "sale"
+ }]
+ },
+ {
+ k: 1,
+ v: "鎶�鏈鐞�",
+ i: "font icon-ic_form_set24px",
+ c: [{
+ k: 1,
+ v: "鏍囧噯BOM",
+ i: "font icon-shouye",
+ u: "standard"
+ },
+ {
+ k: 2,
+ v: "璁㈠崟BOM",
+ i: "font icon-shouye",
+ u: "technical"
+ }
+ ]
+ },
+ {
+ k: 4,
+ v: "鐢熶骇绠$悊",
+ i: "font icon-shengchanguanli",
+ c: [{
+ k: 12,
+ v: "鐢熶骇璁㈠崟",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 13,
+ v: "鐢熶骇璁″垝",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 14,
+ v: "鐢熶骇鎶ュ伐",
+ i: "font icon-shouye",
+ u: ""
+ }
+ ]
+ },
+ {
+ k: 5,
+ v: "WMS绠$悊",
+ i: "font icon-a-Inventorydumprequest",
+ c: [{
+ k: 15,
+ v: "鍘熸潗鏂欏簱瀛�",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 16,
+ v: "鍥炲崟绠$悊",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 17,
+ v: "鍗婃垚鍝佸簱瀛�",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 18,
+ v: "鎴愬搧搴撳瓨",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 19,
+ v: "鎴愬搧鍙戣揣",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 20,
+ v: "鎴愬搧鍏ュ簱",
+ i: "font icon-shouye",
+ u: ""
+ }
+ ]
+ },
+ {
+ k: 2,
+ v: "QMS绠$悊",
+ i: "font icon-xunhuan",
+ c: [{
+ k: 3,
+ v: "鍘熸潗鏂欐楠�",
+ i: "font icon-shouye",
+ u: "rawInsBox"
+ },
+ {
+ k: 4,
+ v: "鍘熸潗鏂欎笉鍚堟牸鍝�",
+ i: "font icon-shouye",
+ u: "rawUnqualifiedBox"
+ },
+ {
+ k: 5,
+ v: "杩囩▼妫�楠�",
+ i: "font icon-shouye",
+ u: "processInspection"
+ },
+ {
+ k: 6,
+ v: "鎴愬搧妫�楠�",
+ i: "font icon-shouye",
+ u: "finishedProductInspection"
+ },
+ {
+ k: 7,
+ v: "涓嶅悎鏍煎搧绠$悊",
+ i: "font icon-shouye",
+ u: "unqualifiedManagement"
+ },
+ {
+ k: 9,
+ v: "璐ㄩ噺缁熻",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 10,
+ v: "璁¢噺绠$悊",
+ i: "font icon-shouye",
+ u: "measurementManagement"
+ },
+ {
+ k: 10.1,
+ v: "涓嶅悎鏍煎搧澶勭疆",
+ i: "font icon-shouye",
+ u: "Processingproducts"
+ }
+ ]
+ },
+ {
+ k: 6,
+ v: "鏍哥畻绠$悊",
+ i: "font icon-caiwuhesuanxitong",
+ c: [{
+ k: 21,
+ v: "浜ч噺宸ヨ祫",
+ i: "font icon-shouye",
+ u: ""
+ },
+ {
+ k: 22,
+ v: "鍛樺伐鍑哄嫟",
+ i: "font icon-shouye",
+ u: ""
+ }
+ ]
+ },
+ {
+ k: 7,
+ v: "鍩虹鏁版嵁",
+ i: "font icon-a-ziyuan20",
+ c: [{
+ k: 23,
+ v: "鐢熶骇璁板綍缁存姢",
+ i: "font icon-shouye",
+ u: "record-content"
+ },
+ {
+ k: 24,
+ v: "鑷椤圭洰缁存姢",
+ i: "font icon-shouye",
+ u: "self-inspection"
+ },
+ {
+ k: 25,
+ v: "鎶�鏈寚鏍囩淮鎶�",
+ i: "font icon-shouye",
+ u: "Technicalindex"
+ },
+ {
+ k: 26,
+ v: "宸ヨ壓璺嚎缁存姢",
+ i: "font icon-shouye",
+ u: "technology"
+ },
+ {
+ k: 27,
+ v: "璁惧缁存姢",
+ i: "font icon-shouye",
+ u: "laboratoryManagement"
+ },
+ {
+ k: 28,
+ v: "鐗╂枡娓呭崟缁存姢",
+ i: "font icon-shouye",
+ u: "mbom"
+ },
+ {
+ k: 30,
+ v: "鐢熶骇宸ヨ壓缁存姢",
+ i: "font icon-shouye",
+ u: "equipmentmaintain"
+ }
+ ]
}
- })
- }
- },
- out() {
- sessionStorage.clear();
- localStorage.removeItem("autoenter");
- this.$router.push("/enter");
- },
- removeAllTab() {
- this.upIndex++
- this.$message.warning('鏁版嵁鍙樺姩杈冨ぇ,椤甸潰鑷姩鏇存柊!')
- }
- }
-};
-</script>
\ No newline at end of file
+ ],
+ activeBox: 0,
+ activeP: 0,
+ tabActive: 0,
+ tabs: [{
+ k: 0,
+ v: "棣栭〉",
+ i: "font icon-shouye",
+ u: "index-index"
+ }],
+ upIndex: 0
+ };
+ },
+ created() {},
+ mounted() {
+ this.userName = JSON.parse(localStorage.getItem("user")).name;
+ },
+ methods: {
+ addTab(ob) {
+ if (ob.k == 0) this.activeBox = 0;
+ if (ob.k == 11) this.activeBox = 3;
+ this.activeP = ob.k; //0
+ this.tabActive = ob.k; //0
+ let num = -1;
+ this.tabs.forEach((a, ai) => {
+ if (ob.k == a.k) {
+ num = a.k;
+ }
+ });
+ // 濡傛灉娌℃湁閬嶅巻鍒皌abs閲屾病鏈夎ob瀵瑰簲鐨則able锛屽線tabs閲岄潰鍔犲叆璇b
+ if (num == -1) {
+ this.tabs.push(ob);
+ }
+ },
+ removeTab(index) {
+ this.tabs.splice(index, 1);
+ this.activeP = this.tabs[this.tabs.length - 1].k;
+ this.tabActive = this.tabs[this.tabs.length - 1].k;
+ },
+ allDel() {
+ this.activeBox = 0
+ this.activeP = 0
+ this.tabActive = 0
+ this.tabs = [{
+ k: 0,
+ v: " 棣栭〉",
+ i: "font icon-shouye",
+ u: "index-index"
+ }]
+ },
+
+ upTabActive(num) {
+ this.tabActive = num;
+ this.activeP = num;
+ for (var i = 0; i < this.menu.length; i++) {
+ this.menu[i].c.forEach(b => {
+ if (b.k == num) {
+ this.activeBox = this.menu[i].k;
+ return
+ }
+ })
+ }
+ },
+ out() {
+ sessionStorage.clear();
+ localStorage.removeItem("autoenter");
+ this.$router.push("/enter");
+ },
+ removeAllTab() {
+ this.upIndex++
+ this.$message.warning('鏁版嵁鍙樺姩杈冨ぇ,椤甸潰鑷姩鏇存柊!')
+ }
+ }
+ };
+</script>
--
Gitblit v1.9.3