From 941fff624eddc4b9f369f1b91f65fdb50309851d Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期日, 24 九月 2023 16:54:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main.js | 5 src/components/view/processInspectionUpdate.vue | 956 +++++++------- src/components/view/Technicalindex.vue | 943 +++++++------- src/components/view/finishedProductInspectionUp.vue | 1039 ++++++++------- src/components/view/rawInsDetail.vue | 787 ++++++----- src/assets/api/controller.js | 2 src/components/view/sale.vue | 33 7 files changed, 1,989 insertions(+), 1,776 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index f6adcf8..b9aa5b2 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -48,6 +48,7 @@ rawSelectDevice: "/rawInsProduct/selectDevice", //鏌ヨ璁惧淇℃伅 addRawInspects: "/rawInspect/addRawInspects", // 娣诲姞 updateDevByRpId: "/rawInsProduct/updateDevByRpId", // 鏇存敼璁惧 + rawInspectChooseIFS: "/rawInspect/chooseIFS",//閫氳繃璁惧缂栫爜寰楀埌淇℃伅 } //涓嶅悎鏍煎師鏉愭枡 const unqualifiedaa = { @@ -185,6 +186,7 @@ selectSaleDatilById: "sale/selectSaleDatilById", //鏍规嵁閿�鍞崟id鏌ョ湅璇︽儏, addSale: "sale/addSale", //鏂板閿�鍞崟 saleCheck: "sale/check", //瀹℃牳閿�鍞崟 + saleDownload: "sale/download",//涓嬭浇闄勪欢 synchronization: "sale/synchronization", //鍚屾 updateSaleById: "sale/updateSaleById", //鏍规嵁閿�鍞崟id淇敼璇︽儏淇℃伅 delSale: "sale/delSale", //鏍规嵁閿�鍞崟id鍒犻櫎 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/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..7c964c7 100644 --- a/src/components/view/sale.vue +++ b/src/components/view/sale.vue @@ -157,7 +157,7 @@ </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"> @@ -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 v-else>{{ null }}</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,32 @@ 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 => { + // console.log(res.data); + // 寰幆閬嶅巻姣忎釜鏂囦欢骞跺垱寤轰笅杞介摼鎺� + for (let index = 0; index < 2; index++) { + const element = res.data[0]; + // 鍒涘缓涓�涓摼鎺ュ厓绱� + var a = document.createElement('a'); + + // 璁剧疆閾炬帴鍏冪礌鐨刪ref灞炴�т负鏂囦欢鐨刄RL + a.href = baseIp+element; + + // // 璁剧疆閾炬帴鍏冪礌鐨刣ownload灞炴�т负鏂囦欢鍚� + a.download = row.name+"闄勪欢"+(index+1); + + // 妯℃嫙鐐瑰嚮閾炬帴浠ヨЕ鍙戜笅杞� + a.click(); + + // + a.remove() + } + }) + }, closeDialog() { this.addData = { orderNumber: null, @@ -485,7 +512,7 @@ message: '鍚屾鍋囨垚鍔�(鈼曖礂鈼�)锛�', type: 'success' }); - this.isSync=false + this.isSync = false }, 2000); return //璋冪敤鍚屾鎺ュ彛 diff --git a/src/main.js b/src/main.js index aca3149..5a73aa6 100644 --- a/src/main.js +++ b/src/main.js @@ -10,7 +10,6 @@ import axios from 'axios' import api from './assets/api/controller.js' import swal from 'sweetalert' -import print from './components/view/report/print' Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80/"; //鍓嶇鏈湴绔彛 Vue.prototype.HaveJson = (val) => { @@ -24,9 +23,9 @@ Vue.use(qs); Vue.use(api); -// const javaApi = 'http://192.168.14.249:8001' +const javaApi = 'http://127.0.0.1:8001' -const javaApi = 'http://127.0.0.1:8001/' +// const javaApi = 'http://127.0.0.1:8001/' -- Gitblit v1.9.3