src/assets/api/controller.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/Technicalindex.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/finishedProductInspectionUp.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/processInspectionUpdate.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/rawInsDetail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/sale.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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删除 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> @@ -72,7 +75,8 @@ <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> <span><i :class="`node_i ${data.code != '[2]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> {{data.code}} {{ data.name }}</span> </div> </el-tree> @@ -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> @@ -231,6 +242,20 @@ <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="add">确 定</el-button> </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> @@ -265,6 +290,9 @@ children: [], modifyevent: false, dialogVisible: false, isDownload: false,//导出按钮 downloadTypeSelect: null, typeTable: [], tableData: [], crafval: '', typeselect: 0, @@ -287,6 +315,20 @@ 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 @@ -331,7 +373,6 @@ }, //递归子级 toggleSelect(data, flag, type) { // console.log('222'); if (type === "all") { if (data.length > 0) { data.forEach((item) => { @@ -377,7 +418,6 @@ } }).then(res => { this.edit = res.data[0] console.log(this.edit); }) }, childrenClick(val) { @@ -386,7 +426,6 @@ 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, @@ -407,7 +446,6 @@ }, //删除 delTechBy() { console.log(this.$api.url.delTechBy, this.upData.id); this.$axios.post(this.$api.url.delTechBy, { id: this.upData.id }).then(res => { @@ -432,9 +470,7 @@ }) }, dels() { let ee = [] console.log(this.selects); this.selects.forEach(el => { if (el.children) { el.children.forEach(ele => { @@ -444,7 +480,6 @@ }) // cc.splice(0,1) this.delete = ee.join(',') console.log(this.delete); this.delAllTechskill() this.$message.success('删除完成') }, @@ -454,7 +489,6 @@ this.form = {}; }, electadd(value) { console.log(value); this.higherlevel.push({}); this.form.father = value; }, @@ -476,7 +510,6 @@ }, TYpe(val) { this.typeselect = val console.log(this.typeselect); this.selectAllleft() }, edittype(val) { @@ -492,7 +525,6 @@ } }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() this.$nextTick(() => { this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个 @@ -500,10 +532,8 @@ 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(); }); @@ -515,7 +545,6 @@ } }).then(res => { this.tableData = res.data; console.log(this.tableData); }); }, // @@ -531,7 +560,6 @@ } }).then(res => { this.tableData = res.data; console.log(this.tableData); }); }, craftrow(val) { @@ -540,14 +568,12 @@ }, //上级 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" @@ -562,7 +588,6 @@ } }).then(res => { this.process = res.data; console.log(this.process); }, { headers: { "Content-Type": "application/json" @@ -570,14 +595,12 @@ }) }, 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.selectAllright() }, event() { 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;" @@ -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> @@ -321,17 +323,21 @@ }); 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 id: this.detailId, number: value }).then(res => { if (res.code == 200) { if (res.message === '项目未检验完!') { this.$message({ message: res.message, type: 'warning' }); return } this.$message({ message: '上报成功', type: 'success' @@ -343,8 +349,39 @@ type: 'warning' }); } }) }) }).catch(() => { this.$message({ type: 'info', message: '取消输入' }); }); } else { this.$axios.post(this.$api.url.finishedInspectUpdateFinishInspectsById, { id: this.detailId }).then(res => { if (res.code == 200) { if (res.message === '项目未检验完!') { this.$message({ message: res.message, type: 'warning' }); return } // this.$message({ // message: '上报成功', // type: 'success' // }); this.$parent.comBackMain(true) } else { this.$message({ message: res.message, type: 'warning' }); } }) } }, changeOptionsSamplename() { let id = this.processInspectVo.material.split("-")[0] 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;" @@ -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> @@ -317,6 +321,41 @@ }); 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({ type: 'info', message: '取消输入' }); }); } else { this.$axios.post(this.$api.url.processInspectUpdateProcessInspectsById, { id: this.detailId }).then(res => { @@ -341,6 +380,7 @@ } }) } }, handleClick() {}, updateInsInfo(row) { src/components/view/rawInsDetail.vue
@@ -6,8 +6,7 @@ <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=" () => { <el-button icon="el-icon-back" @click="() => { goBack(); } ">返 回</el-button> @@ -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> @@ -159,8 +168,8 @@ <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="检验结论"> @@ -173,7 +182,7 @@ </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,12 +191,10 @@ <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' <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets' }` "></i> {{ data.name }}</span> @@ -244,6 +251,8 @@ centerDialogVisible: false, // 详情页就是详情信息 detailInfo: {}, //产品信息 ifsInfo: {}, // 表格 projectTable: [], // 新建检验单参数对象 @@ -261,7 +270,8 @@ clickSelectDevice: { index: "", // 点击选择存储当前行索引 rpId: "" // 点击选择存储当前行项目Id } }, restaurants: [] }; }, watch: { @@ -270,6 +280,56 @@ } }, 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); }) }, 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); }; }, 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) //检验值 } }, assertTest(row) { // let fuArr=['>', '<', '='] // if(!fuArr.includes(row.required[0])){ @@ -379,14 +439,39 @@ this.getDetailInfo(); //重新刷新信息数据 } }, async submitSave() { const res = await this.$axios.post( 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() { src/components/view/sale.vue
@@ -180,6 +180,7 @@ <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'); // 设置链接元素的href属性为文件的URL a.href = baseIp+element; // // 设置链接元素的download属性为文件名 a.download = row.name+"附件"+(index+1); // 模拟点击链接以触发下载 a.click(); // a.remove() } }) }, closeDialog() { this.addData = { orderNumber: null, 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/'