From ed40d9fbd886c5c0fb0f3b0adeb1be1b3240a1dc Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 30 八月 2023 18:02:18 +0800
Subject: [PATCH] modified: src/api/inspection/rawmaterial.js modified: src/layout/components/Sidebar/SidebarItem.vue modified: src/router/index.js modified: src/views/chart/work/index.vue modified: src/views/inspectionManagement/reportForInspection/index.vue
---
src/views/chart/work/index.vue | 20 --
src/views/inspectionManagement/reportForInspection/index.vue | 239 ++++++++++++++++++++++++++++++---------
src/api/inspection/rawmaterial.js | 38 ++++++
src/layout/components/Sidebar/SidebarItem.vue | 1
src/router/index.js | 8 -
5 files changed, 225 insertions(+), 81 deletions(-)
diff --git a/src/api/inspection/rawmaterial.js b/src/api/inspection/rawmaterial.js
index 9b975ce..2ba90cf 100644
--- a/src/api/inspection/rawmaterial.js
+++ b/src/api/inspection/rawmaterial.js
@@ -9,6 +9,7 @@
})
}
+//鏂板鎶ユ鍗�
export function addInspect(data){
return request({
url: '/inspection/addInspect',
@@ -17,10 +18,47 @@
})
}
+//鏍规嵁妫�楠屽崟id鏌ヨ妫�楠屽崟璇︽儏
export function selectInspectsListById(params){
return request({
url: '/inspection/selectInspectsListById',
method: 'get',
params
})
+}
+
+//鏌ヨ鎵�鏈夌敤鎴�
+export function selectUser(params){
+ return request({
+ url: '/inspection/selectUser',
+ method: 'get',
+ params
+ })
+}
+
+//鏌ヨ鎵�鏈夎澶�
+export function selectEquipment(params){
+ return request({
+ url: '/inspection/selectEquipment',
+ method: 'get',
+ params
+ })
+}
+
+//鏂板鍘熸潗鏂欐姤妫�
+export function addMaterial(data){
+ return request({
+ url: '/raw-material/add',
+ method: 'post',
+ data
+ })
+}
+
+//鍒犻櫎鍘熸潗鏂欐姤妫�
+export function deleteMaterial(data){
+ return request({
+ url: '/raw-material/delete',
+ method: 'post',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue
index 9c2d33b..3e5922c 100644
--- a/src/layout/components/Sidebar/SidebarItem.vue
+++ b/src/layout/components/Sidebar/SidebarItem.vue
@@ -6,6 +6,7 @@
<el-menu-item v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
<item :show="onlyOneChild.meta.show" :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />
<span v-if="onlyOneChild.meta.title==='涓婚〉'">涓婚〉</span>
+ <span v-if="onlyOneChild.meta.title==='鍩虹鏁版嵁'">鍩虹鏁版嵁</span>
</el-menu-item>
</app-link>
</template>
diff --git a/src/router/index.js b/src/router/index.js
index da562bd..458100d 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -472,13 +472,7 @@
name: 'BasicDataMessage',
component: () => import('@/views/basicData/index'),
meta: { title: '鍩虹鏁版嵁', icon: 'el-icon-s-tools' }
- },
- {
- path: 'myBusiness',
- name: 'MyBusiness',
- component: () => import('@/views/personal/myBusiness/index'),
- meta: { title: '鎴戠殑浼佷笟', icon: 'tree', show: false }
- }
+ }
]
},
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/views/chart/work/index.vue b/src/views/chart/work/index.vue
index d958e62..9689a03 100644
--- a/src/views/chart/work/index.vue
+++ b/src/views/chart/work/index.vue
@@ -6,8 +6,7 @@
<el-card>
<el-form :rules="rules" ref="formInline" :inline="true"
:model="formInline" class="demo-form-inline">
- <el-form-item prop="date">
- <p><span>*</span>妫�娴嬫棩鏈�:</p>
+ <el-form-item prop="date" label="妫�娴嬫棩鏈�:">
<el-date-picker
v-model="formInline.date"
format="yyyy-MM-dd"
@@ -18,8 +17,7 @@
end-placeholder="缁撴潫鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item prop="type">
- <p><span>*</span>妫�楠岀被鍨�:</p>
+ <el-form-item prop="type" label="妫�楠岀被鍨�:">
<el-select v-model="formInline.type" placeholder="閲囪喘鍏ュ簱">
<el-option label="鍘熸潗鏂�" value="0"></el-option>
<el-option label="鎴愬搧" value="1"></el-option>
@@ -501,24 +499,14 @@
z-index: 10;
.demo-form-inline{
margin: 0px 10px;
- p{
- margin: 0;
- font-size: 16px;
- font-weight: bold;
- span{
- font-size: 16px;
- font-weight: bold;
- color: red;
- }
- }
.buttons{
- margin: 40px 0px 0px 50%;
+ margin-left: 10%;
}
}
}
.work-center{
margin: 0px 0px 150px 10px;
- padding: 18vh 0px 5px 0px;
+ padding: 13vh 0px 5px 0px;
.el-card{
margin: 5px 0px;
height:500px;
diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index 292601a..c70d2a6 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -48,18 +48,36 @@
title="鏂板鍘熸潗鏂欐姤妫�"
:visible.sync="addReportVisible"
width="40%">
- <el-form v-model="insertData" label-position="left" label-width="80px">
- <el-form-item label="鏍囧噯绫诲瀷">
- <el-input v-model="insertData.materialName" />
+ <el-form v-model="insertData" :inline="true" label-position="right" label-width="80px">
+ <el-form-item label="鏉ユ枡鏃ユ湡:">
+ <el-date-picker
+ v-model="insertData.fromDate"
+ type="date"
+ value-format="yyyy-MM-dd"
+ ></el-date-picker>
</el-form-item>
- <el-form-item label="鐗╂枡鍚嶇О">
- <el-input v-model="insertData.materialName" />
+ <el-form-item label="渚涜揣鍟嗗悕绉�:">
+ <el-input v-model="insertData.supplierName" />
</el-form-item>
- <el-form-item label="鎵ц鏍囧噯">
- <el-input v-model="insertData.standardName" />
+ <el-form-item label="鏉愭枡鍚嶇О:">
+ <el-select v-model="insertData.mName" placeholder="璇烽�夋嫨鏉愭枡鍚嶇О">
+ <el-option v-for="(item,index) in 5" :key="index" :label="item" :value="item"></el-option>
+ </el-select>
</el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿">
- <el-input v-model="insertData.specificationsName" />
+ <el-form-item label="鏉愭枡缂栫爜:">
+ <el-input disabled v-model="insertData.mCode" />
+ </el-form-item>
+ <el-form-item label="瑙勬牸鍨嬪彿:">
+ <el-cascader
+ v-model="insertData.specificationsNumber"
+ :options="childrenOptions"
+ @change="handleChange"></el-cascader>
+ </el-form-item>
+ <el-form-item label="鍗曚綅:">
+ <el-input type="text" v-model="insertData.unit" />
+ </el-form-item>
+ <el-form-item label="鏁伴噺:">
+ <el-input type="number" v-model="insertData.num" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -77,7 +95,6 @@
<div class="generateInsp">
<el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button>
</div>
-
</div>
<div class="table-box">
<el-table
@@ -164,7 +181,7 @@
label="鎿嶄綔"
min-width="8%">
<template slot-scope="scope">
- <el-button type="text" size="small" @click="removeFun(scope.row)">鍒犻櫎</el-button>
+ <el-button type="text" size="small" @click="removeFun(scope.row,scope.$index)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -183,12 +200,35 @@
</div>
</div>
</div>
+ <el-dialog title="閫夋嫨鏃ユ湡" :visible.sync="addReportDialog" width="30%">
+ <el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm">
+ <el-form-item label="妫�楠屾棩鏈�" label-width="100px" prop="inspectionDate">
+ <el-date-picker
+ v-model="addInspectionForm.inspectionDate"
+ type="daterange"
+ value-format="yyyy-MM-dd"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鐗堟湰" label-width="100px" prop="version">
+ <el-select v-model="addInspectionForm.version" placeholder="璇烽�夋嫨鐗堟湰">
+ <el-option v-for="(item,index) in 5" :key="index" :value="item" :label="item"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="resetForm('addInspectionForm')">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmBtn('addInspectionForm')">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
<!-- 鐢熸垚鎶ユ鍗� -->
<div class="newPage" v-if="showNewPage">
<!-- 鏂板椤甸潰 -->
<div class="inspectionForm">
- <el-form :model="inspectionForm" ref="inspectionForm" label-position="right" label-width="100px" size="mini" >
+ <el-form :model="inspectionForm" label-position="right" label-width="100px" size="mini" >
<div class="formwrapper">
<el-row>
<el-col :span="8">
@@ -264,17 +304,17 @@
<el-table-column prop="testValue" label="妫�楠屽��" width="125"></el-table-column>
<el-table-column prop="userName" label="妫�楠屼汉">
<template slot-scope="scope">
- <el-select v-model="scope.row.checker" size="small" slot="append" style="width: 260px;">
- <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.value" :label="item.label">{{ item.label }}</el-option>
+ <el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append" style="width: 260px;">
+ <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id" :label="item.name"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="device" label="璇曢獙璁惧">
- <template slot-scope="scope">
- <el-select v-model="scope.row.device" size="small" slot="append" style="width: 260px;">
- <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.value" :label="item.label">{{ item.label }}</el-option>
+ <template slot-scope="scope">
+ <el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append" style="width: 260px;">
+ <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id" :label="item.equipmentName"></el-option>
</el-select>
- </template>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -283,13 +323,28 @@
</template>
<script>
-import { getRawMaterialList,addInspect,selectInspectsListById } from '@/api/inspection/rawmaterial'
+import { getRawMaterialList,
+ addInspect,
+ selectInspectsListById,
+ selectUser,
+ selectEquipment,
+ deleteMaterial,
+ addMaterial
+ } from '@/api/inspection/rawmaterial'
export default {
data() {
return {
- insertData:{
-
+ userName: "",
+ devices: "",
+ addInspectionForm: {
+ inspectionDate: ['2023-08-01','2023-08-31'],
+ version: 5
},
+ addInspectionFormRules: {
+ inspectionDate: [{required: true, message: '璇烽�夋嫨鏃ユ湡鍖洪棿', trigger: 'change' }],
+ },
+ addReportDialog: false,
+ insertData:{},
addReportVisible: false,
checked: false,
resultData : {},
@@ -301,15 +356,36 @@
state: '',
date: ''
},
+ childrenOptions: [{
+ value: 'zhinan',
+ label: '鎸囧崡',
+ children: [{
+ value: 'shejiyuanze',
+ label: '璁捐鍘熷垯',
+ children: [{
+ value: 'yizhi',
+ label: '涓�鑷�'
+ }, {
+ value: 'fankui',
+ label: '鍙嶉'
+ }, {
+ value: 'xiaolv',
+ label: '鏁堢巼'
+ }, {
+ value: 'kekong',
+ label: '鍙帶'
+ }]
+ }]
+ }],
options: [{
- value: 0,
+ value: null,
label: '鍏ㄩ儴'
}, {
value: 1,
- label: '宸叉楠�'
+ label: '宸叉姤妫�'
}, {
- value: 2,
- label: '寰呮楠�'
+ value: 0,
+ label: '鏈姤妫�'
}],
deviceoptions:[{
value: 0,
@@ -327,15 +403,15 @@
}],
radioOptions:[{
label: '鍏ㄩ儴',
- value: 0
+ value: null
},{
value: 1,
- label: '宸叉楠�'
+ label: '宸叉姤妫�'
},{
- value: 2,
- label: '寰呮楠�'
+ value: 0,
+ label: '鏈姤妫�'
}],
- radioValue: 0,
+ radioValue: null,
inspectionTable: [{
createTime: '2023-07-28',
supplier_name: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
@@ -355,23 +431,60 @@
data: '',
showNewPage: false,
inspectionForm:{},
- inspectionItems:[]
+ inspectionItems:[{
+ index: 1,
+ name: "aaa",
+ unit: "KB",
+ required: "1",
+ internal: "2",
+ testValue: "3",
+ userName:"",
+ device: ""
+ }]
}
},
created(){
this.getRawMaterialList()
},
+ mounted(){
+
+ },
methods: {
- removeFun(row){
+ handleChange(){
+
+ },
+ async deleteMaterialFun(row,index){
+ let formData=new FormData();
+ formData.append("deleteId",row.id)
+ await deleteMaterial(formData).then(() => {
+ this.inspectionTable.splice(index,1);
+ this.$message.success("鍒犻櫎鎴愬姛");
+ }).catch(error => {
+ this.$message.error(error.message);
+ });
+ },
+ blurOptions(row){
+ console.log("鏇存柊",row);
+ },
+ async initNewSelection(){
+ const res = await selectUser();
+ const res2 = await selectEquipment();
+ this.checkeroptions = res.data;
+ this.deviceoptions = res2.data;
+ },
+ resetForm(formName) {
+ // this.addInspectionForm.inspectionDate = [],
+ // this.$refs[formName].resetFields();
+ // this.addReportDialog = false
+ },
+ removeFun(row,index){
this.$confirm('纭鍒犻櫎璇ユ暟鎹悧?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- this.$message({
- type: 'success',
- message: '鍒犻櫎鎴愬姛!'
- });
+ console.log(row.id);
+ this.deleteMaterialFun(row,index);
}).catch(() => {});
},
checkSelect(row,index){
@@ -383,21 +496,26 @@
},
handleSelectionChange(val){
this.checkData = val;
- console.log(val);
},
//鐢熸垚鎶ユ鍗曟寜閽�
addReportBtn(){
- let arr = this.checkData;
- if(arr.length < 1){
- this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�!");
- }else{
- if(arr.length > 1){
- this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
+ if(this.checkData.length < 1){
+ this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�!");
}else{
+ if(this.checkData.length > 1){
+ this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
+ }else{
+ this.addReportDialog = true;
+ }
+ }
+ },
+ //鐢熸垚鎶ユ鍗曠‘璁ゆ寜閽�
+ confirmBtn(formName){
+ let dateArr = this.addInspectionForm.inspectionDate;
//娣诲姞鎶ユ鍗�
- let val = arr[0];
+ let val = this.checkData[0];
let obj = {
- "endTime": val.dateSurvey,
+ "endTime": dateArr[1],
"experiment": "",
"formTime": val.createTime,
"id": val.id,
@@ -405,21 +523,21 @@
"name": val.materialName,
"num": val.quantity,
"specifications": val.specificationsModels,
- "startTime": val.inspectionDate,
+ "startTime": dateArr[0],
"supplier": val.supplierName,
"type": val.type,
"unit": val.unit,
"version": val.version
}
- this.createReport(obj);
+ // this.createReport(obj);
+ this.addReportDialog = false;
+ this.initNewSelection();
this.showNewPage = true;
- }
- }
},
//鐢熸垚鎶ヤ环鍗�
async createReport(param){
- await addInspect(param);
- const res2 = await selectInspectsListById({ id : 59});
+ let res = await addInspect(param);
+ const res2 = await selectInspectsListById({ id : res.data});
this.resultData = res2.data;
this.inspectionForm = res2.data;
this.inspectionItems = res2.data.insProducts;
@@ -434,7 +552,7 @@
},
async search(){
this.radioValue = this.searchData.state
- const res = await getRawMaterialList({condition: this.searchData.state,
+ const res = await getRawMaterialList({type: this.searchData.state,
createTime:this.searchData.date,
materialCoding:this.searchData.code,
materialName: this.searchData.name,
@@ -455,14 +573,19 @@
this.getRawMaterialList()
},
radioclick(){
- this.searchData.state = this.radioValue
- this.inspectionTable = this.data.filter((item)=>{
- return item.condition === this.radioValue
- })
+ console.log(this.inspectionTable);
if(this.radioValue === 0){
- this.inspectionTable = this.data
+
}
- this.total = this.inspectionTable.length
+ },
+ getAllTableData(){
+ this.getRawMaterialList()
+ },
+ getCheckData(){
+
+ },
+ getUnCheckData(){
+
},
// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
handleSizeChange(val) {
--
Gitblit v1.9.3