From c51406cdd81fa8087ad30d5765890e74313be9ab Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期二, 29 八月 2023 08:57:01 +0800
Subject: [PATCH] 新增检验的的功能完善
---
src/components/view/rawInsDetail.vue | 314 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 244 insertions(+), 70 deletions(-)
diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index 716cab0..7676e68 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -32,6 +32,9 @@
.raw-detail-info .el-input{
width: auto;
}
+ .raw-detail-info.raw-detail-info-edit >>>.el-input__inner{
+ background:#fff;
+ }
.raw-detail-info >>>.el-input__inner{
width: 224px;
height: 32px;
@@ -42,6 +45,12 @@
}
.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;
}
/* 妫�楠岄」鐩� */
@@ -70,56 +79,149 @@
</el-col>
</el-row>
</div>
- <div class="raw-detail-info">
- <el-form v-model="detail" label-position="right" label-width="120px" >
+ <div class="raw-detail-info" :class="detailId===null?'raw-detail-info-edit':''">
+ <el-form v-model="detailInfo" label-position="right" label-width="120px" >
<el-row>
<el-col :span="7">
- <el-form-item label="鏉ユ枡鏃ユ湡:">
- <el-input></el-input>
+ <el-form-item label="鍘熸潗鏂欏悕绉�:">
+ <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.name"></el-input>
+ <el-select @change="checkRawName" v-else placeholder="璇烽�夋嫨椤圭洰鍚嶇О" v-model="detailInfo.name">
+ <el-option v-for="item in materialOptions" :key="item.id" :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></el-input>
+ <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.specifications"></el-input>
+ <el-cascader
+ placeholder="璇烽�夋嫨瑙勬牸鍨嬪彿"
+ v-else
+ :disabled="specificationOptions.length===0"
+ :props="{label:'name',value:'name'}"
+ v-model="detailInfo.specificationsArr"
+ :options="specificationOptions"
+ ></el-cascader>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="鍘熸潗鏂欑紪鐮�:">
- <el-input></el-input>
+ <el-input disabled v-model="detailInfo.code"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="7">
- <el-form-item label="鍘熸潗鏂欏悕绉�:">
- <el-input></el-input>
+ <el-form-item label="鏉ユ枡鏃ユ湡:">
+ <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>
</el-form-item>
</el-col>
<el-col :span="7">
- <el-form-item label="鎶ユ鏃ユ湡:">
- <el-input></el-input>
+ <el-form-item label="鏁伴噺:">
+ <el-input placeholder="璇疯緭鍏ユ楠屾暟閲�" :disabled="detailId!==null" v-model="detailInfo.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="鍗曚綅:">
- <el-input></el-input>
+ <el-input placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId!==null" v-model="detailInfo.unit"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="3">
+ <el-form-item v-show="detailId===null" label="" label-width="50px">
+ <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+
+ <el-col :span="7">
+ <el-form-item v-show="detailId!==null" label="鎶ユ鏃ユ湡:">
+ <el-input :disabled="detailId!==null" v-model="detailInfo.createTime"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="14">
+ <el-form-item v-show="detailId!==null" label="鎶ユ浜�:">
+ <el-input :disabled="detailId!==null" v-model="detailInfo.userName"></el-input>
+ </el-form-item>
+ </el-col>
+
+ </el-row>
+ </el-form>
+ <!-- <el-form v-show="detailId ===null" v-model="rawInsParams" label-position="right" label-width="120px" >
+ <el-row>
+ <el-col :span="7">
+ <el-form-item label="璁㈠崟鍙�:">
+ <el-input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="rawInsParams.orderNumber"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="瀹㈡埛鍚嶇О:">
+ <el-input placeholder="璇疯緭鍏ュ鎴峰悕绉�" v-model="rawInsParams.customerName"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="宸ョ▼鍚嶇О:">
+ <el-input placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" v-model="rawInsParams.projectName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="7">
- <el-form-item label="鏁伴噺:">
- <el-input></el-input>
+ <el-form-item label="璐ㄩ噺杩芥函鍙�:">
+ <el-input placeholder="璇疯緭鍏ヨ川閲忚拷婧彿" v-model="rawInsParams.qualityTraceability"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
- <el-form-item label="鎶ユ浜�:">
- <el-input></el-input>
+ <el-form-item label="椤圭洰鍚嶇О:">
+ <el-select placeholder="璇疯緭鍏ラ」鐩悕绉�" v-model="rawInsParams.material">
+ <el-option v-for="item in materialOptions" :key="item.id" :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 placeholder="浜у搧缂栫爜" disabled v-model="code"></el-input>
+ </el-form-item>
+ </el-col>
+
</el-row>
- </el-form>
+ <el-row>
+ <el-col :span="7">
+ <el-form-item label="瑙勬牸鍨嬪彿:">
+ <el-input v-model="detailInfo.specificationsModel"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="鍗曚綅:">
+ <el-input placeholder="璇疯緭鍏ュ崟浣�" v-model="rawInsParams.unit"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="鏁伴噺">
+ <el-input placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" v-model="rawInsParams.qualityTraceability"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="21">
+ <el-form-item label="涓绘満宸�:">
+ <el-input placeholder="璇疯緭鍏ヤ富鏈哄伐" v-model="rawInsParams.userId"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="3">
+ <el-form-item label="" label-width="100px">
+ <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form> -->
</div>
<div class="title">
<el-row>
@@ -144,36 +246,43 @@
width="212">
</el-table-column>
<el-table-column
- prop="address"
+ prop="unit"
label="鍗曚綅"
width="148">
</el-table-column>
<el-table-column
- prop="address"
+ prop="required"
label="鏍囧噯"
width="254">
</el-table-column>
<el-table-column
- prop="address"
+ prop="internal"
label="鍐呮帶鍊�"
width="291">
</el-table-column>
<el-table-column
- prop="address"
+ prop="testValue"
label="妫�鏌ュ��"
width="371">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.testValue" @blur="changeState(scope.row)"></el-input>
+ </template>
</el-table-column>
<el-table-column
- prop="address"
+ prop="deviceName"
label="璇曢獙璁惧"
width="248"
>
</el-table-column>
<el-table-column
- prop="address"
+ prop="testState"
label="缁撹"
width="98"
>
+ <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">鏆傛湭缁撹</span>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -185,31 +294,37 @@
<div class="raw-conclusion-table">
<el-table :data="conclusionTable">
<el-table-column
- prop="number"
+ prop="code"
label="鐗╂枡缂栧彿"
width="353">
</el-table-column>
<el-table-column
- prop="number"
+ prop="name"
label="鐗╂枡鍚嶇О"
width="353">
</el-table-column>
<el-table-column
- prop="number"
+ prop="names"
label="妫�楠屽憳"
width="542">
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.names" :key="item&&item.userName" :style="{marginRight:'8px'}">{{item}}</span>
+ </template>
</el-table-column>
<el-table-column
- prop="number"
+ prop="testState"
label="妫�楠岀粨璁�"
width="362">
+ <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">鏆傛湭缁撹</span>
+ </template>
</el-table-column>
<el-table-column
- fixed="right"
label="鎿嶄綔"
width="120">
- <template slot-scope="scope">
- <el-button type="text" size="small">涓婃姤</el-button>
+ <template>
+ <el-button type="text" size="small" @click.once="submitSave">涓婃姤</el-button>
</template>
</el-table-column>
</el-table>
@@ -221,51 +336,110 @@
import RawIns from './raw-ins.vue'
export default {
components:{RawIns},
- props:['goBack','detail'],
+ props:['goBack','detailId'],
created(){
- console.log(this.detail)
+ // 娓呯┖
+ this.detailInfo = {}
+ if(this.detailId){
+ console.log(this.detailId)
+ this.getDetailInfo()
+ }else{
+ this.getOptions()
+ }
+ },
+ mounted(){
+ },
+ computed:{
+ conclusionTable(){
+ // console.log(this.projectTable)
+ // console.log(this.projectTable.map(item=>item.userName))
+ const conclusion = {}
+ conclusion.name = this.detailInfo.name
+ conclusion.code = this.detailInfo.code
+ conclusion.names= [...new Set(this.projectTable.map(item=>item.userName))]
+ console.log(conclusion,this.projectTable)
+ console.log(this.projectTable.filter(item=>item.testState===null).length)
+ if(this.projectTable.filter(item=>item.testState===null).length===this.projectTable.length){
+ conclusion.testState = null
+ return [conclusion]
+ }
+ if(this.projectTable.filter(item=>item.testState===0).length>0){
+ conclusion.testState= 0
+ }else{
+ conclusion.testState= 1
+ }
+ return [conclusion]
+ },
+ // 浜у搧缂栫爜
+ // code(){
+ // const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0]
+ // return material && material.code
+ // }
},
data() {
return {
- conclusionTable:[
- {number:'鐗╂枡鍚嶇О'}
- ],
- projectTable:[
- {
- date: '2016-05-02',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯�'
- }
- ]
+ // 璇︽儏椤靛氨鏄鎯呬俊鎭�
+ detailInfo:{},
+ projectTable:[],
+ // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
+ rawInsParams:{},
+ // 椤圭洰鍚嶇Оoptions
+ materialOptions:[],
+ specificationOptions:[]
+
}
},
+ methods:{
+ // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
+ async getDetailInfo() {
+ const {data} = await this.$axios.get(this.$api.url.selectRawInspectsListById+`${this.detailId}`,{params:{id:this.detailId}})
+ this.detailInfo = data
+ this.projectTable = data.rawInsProducts
+ console.log(data)
+ },
+ // 鏂板妫�楠屽崟
+ async addNewRawInspect() {
+ this.detailInfo.specifications = this.detailInfo.specificationsArr.join("-")
+ // const time = this.detailInfo.formTime
+ // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}`
+ const res = await this.$axios.post(this.$api.url.addRawInspects,{...this.detailInfo},{headers:{'Content-Type':'application/json'}})
+ console.log(res)
+ this.detailId = res.data
+ this.getDetailInfo()
+
+ this.$message.success('鎻愪氦鎴愬姛')
+ },
+ // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
+ async changeState(row){
+ // console.log(row)
+ const res = await this.$axios.post(this.$api.url.updaterawInsProduct,{...row},{headers:{'Content-Type':'application/json'}})
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.getDetailInfo()//閲嶆柊鍒锋柊淇℃伅鏁版嵁
+ },
+ async submitSave() {
+ const res = await this.$axios.post(this.$api.url.updateRawInspectsById+`${this.detailId}`)
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.getDetailInfo()
+ },
+ async getOptions() {
+ // const {data} = await this.$axios.get(this.$api.url.listMaterial)
+ // this.materialOptions = data
+ const {data} = await this.$axios.get(this.$api.url.selectRawMaterial)
+ this.materialOptions = data
+ console.log(this.materialOptions)
+ },
+ checkRawName(data) {
+ console.log('閫夋嫨鍘熸潗鏂欏悕绉�',data)
+ this.materialOptions.forEach(item=>{
+ if(item.name===data){
+ console.log(item.id)
+ this.detailInfo.code = item.code
+ this.$axios.get(this.$api.url.selectSpBySt,{params:{id:item.id}}).then(res=>{
+ this.specificationOptions= res.data
+ })
+ }
+ })
+ }
+ }
}
</script>
--
Gitblit v1.9.3