From 746fc975621dc0538d0dcc6d4c8b3f17fc13fe3c Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 30 十月 2023 13:24:43 +0800
Subject: [PATCH] modified: src/api/equipment/equipment.js new file: src/api/quality/rawMaterial.js modified: src/api/technology/document.js new file: src/const/crud/quality/rawMaterial.js modified: src/router/views/index.js modified: src/views/common/teststandardradio.vue modified: src/views/equipment/equipment/index.vue modified: src/views/plan/customerorder/customerorder-form.vue modified: src/views/plan/customerorder/index.vue new file: src/views/quality/rawMaterial/index.vue new file: src/views/quality/rawMaterial/rawMaterial-form.vue modified: src/views/technology/document/document-form.vue modified: src/views/technology/operation/index.vue modified: src/views/technology/operation/operation-form.vue modified: src/views/technology/routing/index.vue modified: src/views/technology/routing/routing-form.vue modified: src/views/technology/structure/index.vue modified: src/views/technology/structure/single-structure-form.vue modified: vue.config.js
---
src/views/equipment/equipment/index.vue | 21
vue.config.js | 1
src/views/plan/customerorder/index.vue | 16
src/views/technology/routing/routing-form.vue | 10
src/router/views/index.js | 17
src/api/technology/document.js | 8
src/api/quality/rawMaterial.js | 47 ++
src/views/plan/customerorder/customerorder-form.vue | 14
src/views/technology/operation/operation-form.vue | 32
src/const/crud/quality/rawMaterial.js | 116 +++++
src/views/quality/rawMaterial/rawMaterial-form.vue | 561 ++++++++++++++++++++++++
src/views/technology/structure/single-structure-form.vue | 16
src/views/technology/operation/index.vue | 18
src/views/technology/document/document-form.vue | 130 ++++-
src/views/common/teststandardradio.vue | 9
src/api/equipment/equipment.js | 7
src/views/technology/routing/index.vue | 26
src/views/technology/structure/index.vue | 26
src/views/quality/rawMaterial/index.vue | 294 ++++++++++++
19 files changed, 1,272 insertions(+), 97 deletions(-)
diff --git a/src/api/equipment/equipment.js b/src/api/equipment/equipment.js
index 23e7624..1050e3b 100644
--- a/src/api/equipment/equipment.js
+++ b/src/api/equipment/equipment.js
@@ -33,6 +33,13 @@
})
}
+export function pullEquip() {
+ return request({
+ url: '/mes/equipment/pullEquip',
+ method: 'post',
+ })
+}
+
export function addObj(obj) {
return request({
url: '/mes/equipment',
diff --git a/src/api/quality/rawMaterial.js b/src/api/quality/rawMaterial.js
new file mode 100644
index 0000000..340f0fd
--- /dev/null
+++ b/src/api/quality/rawMaterial.js
@@ -0,0 +1,47 @@
+import request from '@/router/axios'
+
+export function getRawInspectList(query) {
+ return request({
+ url: '/mes/rawInspect/page',
+ method: 'get',
+ params: query
+ })
+}
+
+export function selectDevice() {
+ return request({
+ url: '/mes/rawInsProduct/selectDevice',
+ method: 'get',
+ })
+}
+
+export function addRawInspects(data) {
+ return request({
+ url: '/mes/rawInspect/addRawInspects',
+ method: 'post',
+ data: data
+ })
+}
+
+export function getObj(data) {
+ return request({
+ url: '/mes/rawInspect/'+data,
+ method: 'get',
+ })
+}
+
+export function delObj(data) {
+ return request({
+ url: '/mes/rawInspect/'+data,
+ method: 'delete'
+ })
+}
+
+export function updateRawInsProduct(data) {
+ return request({
+ url: '/mes/rawInsProduct/updaterawInsProduct',
+ method: 'post',
+ params: data
+ })
+}
+
diff --git a/src/api/technology/document.js b/src/api/technology/document.js
index 13fffb1..0f5e30a 100644
--- a/src/api/technology/document.js
+++ b/src/api/technology/document.js
@@ -23,6 +23,14 @@
})
}
+export function getRouting(query) {
+ return request({
+ url: '/mes/document/getRouting',
+ method: 'get',
+ params: query
+ })
+}
+
export function delObj(id) {
return request({
url: '/mes/document/' + id,
diff --git a/src/const/crud/quality/rawMaterial.js b/src/const/crud/quality/rawMaterial.js
new file mode 100644
index 0000000..2299d9c
--- /dev/null
+++ b/src/const/crud/quality/rawMaterial.js
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2018-2025, ztt All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: ztt
+ */
+export const object = {
+ border: true,
+ index: true,
+ height: '300px',
+ expandFixed: true,
+ indexLabel: '搴忓彿',
+ stripe: true,
+ menuAlign: 'center',
+ searchMenuSpan: 6,
+ editBtn: false,
+ delBtn: true,
+ align: 'center',
+ addBtn: false,
+ viewBtn: false,
+ refreshBtn: false,
+ columnBtn: false,
+ column: [{
+ label: '椤圭洰',
+ width: 260,
+ prop: 'name',
+ span: 24,
+ type: 'text',
+ cell: true,
+ }, {
+ width: 260,
+ label: '鍗曚綅',
+ prop: 'unit',
+ span: 24,
+ type: 'text',
+ cell: true,
+ }, {
+ width: 260,
+ label: '鏍囧噯鍊�',
+ prop: 'required',
+ type: 'text',
+ span: 24,
+ cell: true,
+ }, {
+ label: '妫�娴嬪��',
+ prop: 'testValue',
+ type: 'text',
+ width: 260,
+ slot: true,
+ formSlot: true,
+ cell: true,
+ }, {
+ label: '璇曢獙璁惧',
+ prop: 'deviceName',
+ type: 'select',
+ cell: true,
+ slot: true,
+ formSlot: true,
+ width: 260
+ },{
+ label: '缁撹',
+ prop: 'testState',
+ type: 'text',
+ slot: true,
+ formSlot: true,
+ hide: false,
+ fixed: 'right'
+ }]
+}
+
+export const conclusion = {
+ border: true,
+ index: true,
+ height: '300px',
+ indexLabel: '搴忓彿',
+ stripe: true,
+ menuAlign: 'center',
+ searchMenuSpan: 6,
+ editBtn: false,
+ delBtn: false,
+ align: 'center',
+ addBtn: false,
+ viewBtn: false,
+ refreshBtn: false,
+ columnBtn: false,
+ column: [{
+ label: '鐗╂枡缂栧彿',
+ prop: 'code',
+ span: 24,
+ type: 'text',
+ }, {
+ label: '鐗╂枡鍚嶇О',
+ prop: 'name',
+ span: 24,
+ type: 'text',
+ }, {
+ label: '妫�楠屽憳',
+ prop: 'userName',
+ type: 'text',
+ span: 24,
+ }, {
+ label: '妫�楠岀粨璁�',
+ prop: 'testState',
+ type: 'text',
+ }]
+}
\ No newline at end of file
diff --git a/src/router/views/index.js b/src/router/views/index.js
index b12f8fc..b3402ed 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -145,6 +145,23 @@
]
},
{
+ path: '/quality/rawMaterial',
+ component: Layout,
+ children: [
+ {
+ path: 'rawMaterial-form',
+ name: 'rawMaterialForm',
+ component: () =>
+ import(/* webpackChunkName: "views" */ '@/views/quality/rawMaterial/rawMaterial-form'),
+ meta: {
+ keepAlive: false,
+ isTab: false,
+ isAuth: false
+ }
+ }
+ ]
+ },
+ {
path: '/quality/newReport',
component: Layout,
children: [
diff --git a/src/views/common/teststandardradio.vue b/src/views/common/teststandardradio.vue
index 075fd96..5729466 100644
--- a/src/views/common/teststandardradio.vue
+++ b/src/views/common/teststandardradio.vue
@@ -187,6 +187,15 @@
},
{
minWidth: '120',
+ prop: 'operationName',
+ label: '宸ュ簭鍚嶇О',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: '120',
prop: 'remark',
label: '澶囨敞',
sort: true,
diff --git a/src/views/equipment/equipment/index.vue b/src/views/equipment/equipment/index.vue
index 7dcc880..59fead3 100644
--- a/src/views/equipment/equipment/index.vue
+++ b/src/views/equipment/equipment/index.vue
@@ -23,7 +23,7 @@
</template>
<script>
-import { delObj, fetchList } from '@/api/equipment/equipment'
+import { delObj, fetchList,pullEquip } from '@/api/equipment/equipment'
import TableForm from './equipment-form'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
@@ -188,7 +188,7 @@
label: '鐘舵��',
sort: true,
isTrue: true,
- isSearch: false,
+ isSearch: true,
searchInfoType: 'text'
}
],
@@ -197,6 +197,12 @@
text: '鏂板',
type: 'primary',
fun: this.addOrUpdateHandle
+ },
+ {
+ text: '鍚屾',
+ type: 'primary',
+ loading: false,
+ fun: this.pullEquipFun
}
],
operator: [
@@ -243,6 +249,17 @@
})
},
methods: {
+ pullEquipFun(){
+ this.table.toolbar.find((e) => e.text === '鍚屾').loading = true
+ pullEquip().then(res=>{
+ this.$message.success(res.data.data.msg)
+ this.table.toolbar.find((e) => e.text === '鍚屾').loading = false
+ }).catch(error=>{
+ this.$message.error("鍚屾澶辫触",error)
+ this.getData()
+ this.table.toolbar.find((e) => e.text === '鍚屾').loading = false
+ })
+ },
workShopFormatter(row, column, cellValue) {
this.workshopList.forEach((obj) => {
if (obj.value == cellValue) {
diff --git a/src/views/plan/customerorder/customerorder-form.vue b/src/views/plan/customerorder/customerorder-form.vue
index dae2ea8..9427657 100644
--- a/src/views/plan/customerorder/customerorder-form.vue
+++ b/src/views/plan/customerorder/customerorder-form.vue
@@ -248,10 +248,11 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鏀惰揣鍦板潃" prop="shippingAddress">
+ <el-form-item label="宸ヨ壓鏂囦欢鍚嶇О" prop="docName">
<el-input
- v-model="dataForm.shippingAddress"
+ v-model="dataForm.docName"
placeholder=""
+ disabled
></el-input>
</el-form-item>
</el-col>
@@ -323,6 +324,14 @@
</el-col> -->
</el-row>
<el-row>
+ <el-col :span="6">
+ <el-form-item label="鏀惰揣鍦板潃" prop="shippingAddress">
+ <el-input
+ v-model="dataForm.shippingAddress"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ </el-col>
<!-- <el-col :span="6">
<el-form-item label="OTC鎺ㄩ�佺姸鎬�" prop="remark">
<span>{{
@@ -820,6 +829,7 @@
productType: '',
partNo: '',
docNumber: '',
+ docName: '',
shippingAddress: '',
remark: '',
otcUnit: '',
diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index cf9d74d..239db79 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -919,14 +919,14 @@
// })
// }
if (this.permissions.customerorder_submit_oa) {
- // this.table.toolbar.push({
- // text: '鎻愪氦瀹℃牳',
- // type: 'primary',
- // fun: this.auditCustomerOrder,
- // disabled: false,
- // permitArr: [],
- // loading: false
- // })
+ this.table.toolbar.push({
+ text: '鎻愪氦瀹℃牳',
+ type: 'primary',
+ fun: this.auditCustomerOrder,
+ disabled: false,
+ permitArr: [],
+ loading: false
+ })
}
if (this.permissions.customerorder_set_salesparts) {
this.table.toolbar.push({
diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
new file mode 100644
index 0000000..ae5e1c2
--- /dev/null
+++ b/src/views/quality/rawMaterial/index.vue
@@ -0,0 +1,294 @@
+<!--
+ - Copyright (c) 2018-2025, ztt All rights reserved.
+ -
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions are met:
+ -
+ - Redistributions of source code must retain the above copyright notice,
+ - this list of conditions and the following disclaimer.
+ - Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in the
+ - documentation and/or other materials provided with the distribution.
+ - Neither the name of the pig4cloud.com developer nor the names of its
+ - contributors may be used to endorse or promote products derived from
+ - this software without specific prior written permission.
+ - Author: ztt
+ -->
+<template>
+ <div class="mod-config">
+ <basic-container>
+ <ttable
+ :table="table"
+ @handleSelectionChange="handleSelectionChange"
+ :prelang="prelang"
+ :options="options"
+ :ajaxFun="ajaxFun"
+ ref="rawMaterialTable">
+ <template #toolbar></template>
+ </ttable>
+ </basic-container>
+ <!-- 寮圭獥, 鏂板 / 淇敼 -->
+ <RawMaterialForm
+ v-if="addOrUpdateVisible"
+ ref="addOrUpdate"
+ @refreshDataList="getData"
+ ></RawMaterialForm>
+ </div>
+</template>
+
+<script>
+import ttable from '@/views/common/ztt-table.vue'
+import { getRawInspectList,delObj } from '@/api/quality/rawMaterial'
+import RawMaterialForm from './rawMaterial-form'
+import * as fecha from 'element-ui/lib/utils/date'
+import { mapGetters } from 'vuex'
+ export default {
+ data() {
+ return {
+ addOrUpdateVisible: false,
+ type: [1],
+ prelang: 'rawMaterial',
+ ajaxFun: getRawInspectList,
+ options: {
+ height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
+ stripe: true, // 鏄惁涓烘枒椹汗 table
+ highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
+ border: true, // 鏄惁鏈夌旱鍚戣竟妗�
+ lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
+ fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
+ multiSelect: true, //
+ seqNo: true,
+ isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+ isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
+ isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
+ defaultOrderBy: { column: 'formTime', direction: 'desc' },
+ },
+ table: {
+ total: 0,
+ currentPage: 1,
+ pageSize: 20,
+ data: [],
+ // 鏍囬
+ column: [
+ {
+ minWidth: '120',
+ prop: 'code',
+ label: '鍘熸潗鏂欑紪鐮�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ render: { fun: this.addOrUpdateHandle }
+ },
+ {
+ minWidth: '120',
+ prop: 'name',
+ label: '鍘熸潗鏂欏悕绉�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '130',
+ width: '150',
+ prop: 'formTime',
+ label: '鏉ユ枡鏃ユ湡',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'datetimerange',
+ formatter: this.formatDateTime,
+ },
+ {
+ minWidth: '120',
+ prop: 'specs',
+ label: '瑙勬牸鍨嬪彿',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '120',
+ prop: 'unit',
+ label: '鍗曚綅',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '120',
+ prop: 'number',
+ label: '鏁伴噺',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '120',
+ prop: 'createTime',
+ label: '鎶ユ鏃ユ湡',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ formatter: this.formatDateTime,
+ },
+ {
+ minWidth: '120',
+ prop: 'createUser',
+ label: '鎶ユ浜�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '120',
+ prop: 'insTime',
+ label: '妫�楠屾棩鏈�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ formatter: this.formatDateTime,
+ },
+ {
+ minWidth: '120',
+ prop: 'insState',
+ label: '妫�娴嬬姸鎬�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'select',
+ formatter: this.formatInsState,
+ optList: () => {
+ return this.insStateList
+ }
+ },
+ {
+ minWidth: '120',
+ prop: 'judgeState',
+ label: '鍚堟牸鐘舵��',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ formatter: this.formatJudgeState,
+ },
+ ],
+ toolbar: [
+ {
+ text: '鏂板',
+ type: 'primary',
+ fun: this.addOrUpdateHandle
+ },
+ {
+ text: '瀵煎嚭',
+ }
+ ],
+ operator: [{
+ text: '鎵撳嵃',
+ type: 'text',
+ size: 'small',
+ },{
+ text: '浣滃簾',
+ type: 'text',
+ size: 'small',
+ fun: this.deleteHandle
+ }],
+ operatorConfig: {
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: 100,
+ minWidth: 100
+ },
+ },
+ insStateList: [{label:'鍏ㄩ儴',value:''},{label:'宸叉娴�',value:'1'},{label:'鏈娴�',value:'0'}]
+ }
+ },
+ components: {
+ ttable,
+ RawMaterialForm,
+ },
+ created() {
+ },
+ computed: {
+ ...mapGetters(['permissions'])
+ },
+ methods:{
+ // 鍒犻櫎
+ deleteHandle(row) {
+ this.$confirm('鏄惁纭鍒犻櫎璇ユ暟鎹細' + row.code , '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ closeOnClickModal: false,
+ type: 'warning'
+ }).then(function() {
+ return delObj(row.id)
+ }).then((response) => {
+ var data = response.data
+ if (data.code == 0) {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ } else {
+ this.$message.error('鍒犻櫎澶辫触')
+ }
+ this.getData()
+ })
+ },
+ // 鏂板 / 淇敼
+ addOrUpdateHandle(row) {
+ this.$router.push({
+ name: 'rawMaterialForm',
+ query: { id: row == null ? null : row.id }
+ })
+ },
+ formatInsState(row, column, cellValue){
+ if(cellValue != undefined || cellValue != null){
+ if(cellValue == 0){
+ return "<span style='color:#E84738;'>鏈娴�</span>"
+ }
+ return "<span style='color:#34BD66;'>宸叉娴�</span>"
+ }
+ },
+ formatJudgeState(row, column, cellValue){
+ if(cellValue != undefined || cellValue != null){
+ if(cellValue == 0){
+ return "<span style='color:#E84738;'>涓嶅悎鏍�</span>"
+ }
+ return "<span style='color:#34BD66;'>鍚堟牸</span>"
+ }
+ },
+ formatDateTime(row, column, cellValue) {
+ return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
+ },
+ getData() {
+ this.$refs.rawMaterialTable.getDataList()
+ },
+ // table鑷甫浜嬩欢
+ handleSelectionChange(val) {
+ // 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳
+ // 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬�
+ var stateArr = val.map(function(value, index) {
+ return value.coState
+ })
+ // 閫変腑鐘舵�佹暟缁勫厓绱犲幓閲�
+ var uniqueStateArr = []
+ for (var i = 0; i < stateArr.length; i++) {
+ if (uniqueStateArr.indexOf(stateArr[i]) == -1) {
+ uniqueStateArr.push(stateArr[i])
+ }
+ }
+ // 寰幆鑷畾涔夋寜閽紝鍒ゆ柇姣忎釜鎸夐挳鐨刾ermitArr鏄惁瀹屽叏鍖呭惈閫変腑鐘舵�侊紝鑻ュ畬鍏ㄥ寘鍚紝鍒欐寜閽寒锛屽惁鍒欐寜閽伆
+ for (var i = 0; i < this.stateTagArr.length; i++) {
+ if (
+ uniqueStateArr.every((val) =>
+ this.stateTagArr[i].permitArr.length <= 0
+ ? true
+ : this.stateTagArr[i].permitArr.includes(val)
+ )
+ ) {
+ this.stateTagArr[i].disabled = false
+ } else {
+ this.stateTagArr[i].disabled = true
+ }
+ }
+ this.multipleSelection = val
+ },
+ }
+ }
+ </script>
+
\ No newline at end of file
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
new file mode 100644
index 0000000..46ad3e2
--- /dev/null
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -0,0 +1,561 @@
+<template>
+ <div style="height: 100%">
+ <div class="page-header">
+ <div class="header-left">
+ <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a>
+ <h2>缂栬緫-鍘熸潗鏂欐楠�</h2>
+ </div>
+ <div class="btn-group header-right">
+ <el-button @click="save()">淇濆瓨</el-button>
+ </div>
+ </div>
+ <div class="page-main">
+ <div class="rawMaterial-basic">
+ <el-row style="width:100%;height:20px;margin-bottom:20px;" v-show="dataForm.id==null">
+ <el-col :span="20">
+ <span style="color:red;font-size:18px;padding: 0;margin: 0;">璇锋壂鎻忎簩缁寸爜鑾峰彇鏁版嵁</span>
+ </el-col>
+ <el-col :span="4" style="text-align: right;">
+ <el-button>鎵弿浜岀淮鐮�</el-button>
+ </el-col>
+ </el-row>
+ <el-form
+ :model="dataForm"
+ :rules="dataRule"
+ ref="dataForm"
+ style="width: 100%"
+ class="l-mes"
+ label-width="110px">
+ <el-row>
+ <el-col :span="6">
+ <el-form-item prop="formTime" label="鏉ユ枡鏃ユ湡">
+ <el-date-picker
+ v-model="dataForm.formTime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ disabled>
+
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item prop="name" label="鍘熸潗鏂欏悕绉�">
+ <el-input v-model="dataForm.name" disabled >
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鍘熸潗鏂欑紪鐮�" prop="code">
+ <el-input v-model="dataForm.code" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="瑙勬牸鍨嬪彿" prop="specs">
+ <el-input v-model="dataForm.specs" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item prop="unit" label="鍗曚綅">
+ <el-input
+ v-model="dataForm.unit"
+ disabled
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplier">
+ <el-input v-model="dataForm.supplier" disabled />
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏁伴噺" prop="number">
+ <el-input v-model="dataForm.number" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null">
+ <el-input v-model="dataForm.createTime" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鎶ユ浜�" prop="createUser" v-if="dataForm.id!=null">
+ <el-input v-model="dataForm.createUser" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <div class="rawMaterial-detail">
+ <el-row style="width:100%;z-index: 10;height:50px;">
+ <el-col :span="19">妫�楠岄」鐩�</el-col>
+ <el-col :span="5">
+ <div style="width:100%;text-align: right;">
+ <el-button v-show="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button>
+ <el-button size="small" @click="addTeatValueColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <el-button size="small" @click="delTeatValueColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ <el-row style="width:100%;margin-top:-30px">
+ <el-col :span="24">
+ <avue-crud
+ ref="crud"
+ :option="tableOption"
+ @current-row-change="changeEquipment"
+ :data="list"
+ v-model="form">
+ <template slot="testValue" slot-scope="scope">
+ <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+ placement="top-start">
+ <el-input :disabled="scope.row.equipmentId == null" v-model="scope.row.testValue"
+ @blur="updateTestValue(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+ </el-tooltip>
+ </template>
+ <template slot="deviceName" slot-scope="scope">
+ <el-select v-model="scope.row.equipmentId" filterable>
+ <el-option v-for="(item,index) in deviceList"
+ :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
+ </el-select>
+ </template>
+ <template slot="testState" slot-scope="scope">
+ <span v-if="scope.row.testState == 0" style="color:#F56C6C">涓嶅悎鏍�</span>
+ <span v-else-if="scope.row.testState == 1" style="color:#67C23A">鍚堟牸</span>
+ <span v-else>鏆傛棤缁撹</span>
+ </template>
+ </avue-crud>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="rawMaterial-detail">
+ <el-row>
+ <el-col :span="24">妫�楠岀粨璁�</el-col>
+ </el-row>
+ <el-row style="width:100%">
+ <el-col :span="24">
+ <avue-crud
+ ref="conclusion"
+ :option="option"
+ :data="conclusionTable"
+ v-model="conclusion">
+ <template #menu>
+ <el-button type="text" size="small">涓婃姤</el-button>
+ </template>
+ </avue-crud>
+ </el-col>
+ </el-row>
+ </div>
+
+ </div>
+ </div>
+</template>
+
+<script>
+import { object,conclusion } from '@/const/crud/quality/rawMaterial'
+import { selectDevice,addRawInspects,getObj,updateRawInsProduct } from '@/api/quality/rawMaterial'
+export default {
+ data(){
+ return{
+ columnIndex: 2,
+ columnList: [],
+ dataForm:{
+ id: null,
+ formTime: '2023-10-28 00:00:00',
+ name: 'name',
+ code: 'code4',
+ specs: 'specs',
+ unit: 'mm',
+ number: '111',
+ supplier: 'supplier',
+ rawInsProducts: null,
+ },
+ form: null,
+ list:[],
+ conclusion: null,
+ conclusionTable: [{
+ code: '',
+ name: '',
+ userName: '',
+ testState: ''
+ }],
+ tableOption: object,
+ option: conclusion,
+ dataRule: {},
+ deviceList: [],
+ }
+ },
+ mounted(){
+ this.dataForm.id = this.$route.query.id
+ this.init()
+ let isShow = this.dataForm.id == null ? true : false
+ this.tableOption.menu = isShow
+ let len = this.tableOption.column.length
+ this.tableOption.column[len-1].hide = isShow
+ this.getDeviceList()
+ },
+ watch:{
+ 'columnList.length':function(newVal){
+ const column = [{
+ label: '椤圭洰',
+ width: 260,
+ prop: 'name',
+ span: 24,
+ type: 'text',
+ cell: true,
+ }, {
+ width: 260,
+ label: '鍗曚綅',
+ prop: 'unit',
+ span: 24,
+ type: 'text',
+ cell: true,
+ }, {
+ width: 260,
+ label: '鏍囧噯鍊�',
+ prop: 'required',
+ type: 'text',
+ span: 24,
+ cell: true,
+ }, {
+ label: '妫�娴嬪��',
+ prop: 'testValue',
+ type: 'text',
+ width: 260,
+ slot: true,
+ formSlot: true,
+ cell: true,
+ }, {
+ label: '璇曢獙璁惧',
+ prop: 'deviceName',
+ type: 'select',
+ cell: true,
+ slot: true,
+ formSlot: true,
+ width: 260
+ },{
+ label: '缁撹',
+ prop: 'testState',
+ type: 'text',
+ slot: true,
+ formSlot: true,
+ hide: true,
+ fixed: 'right'
+ }]
+ if(newVal > 0){
+ if(this.columnList.length > 0){
+ this.tableOption.column = column
+ this.columnList.forEach(item=>{
+ this.tableOption.column.splice(4,0,item)
+ })
+ }
+ }else{
+ this.tableOption.column = column
+ }
+ },
+ },
+ methods:{
+ changeEquipment(current,old){
+ console.log(current,old)
+ },
+ addTeatValueColumn(){
+ let propName = 'testValue' + this.columnIndex
+ this.columnList.push({
+ label: '妫�娴嬪��',
+ prop: propName,
+ type: 'text',
+ width: 260,
+ $cellEdit: true,
+ disabled: this.list[0].equiomentId == null
+ })
+ this.columnIndex+=1
+ },
+ delTeatValueColumn(){
+ this.columnList.pop()
+ },
+ updateTestValue(row){
+ if(row.rpId == null){
+ return
+ }
+ let obj = {
+ equiomentId: row.equipmentId,
+ rpId: row.rpId,
+ testValue: row.testValue
+ }
+ updateRawInsProduct(obj).then(res=>{
+ if(res.data.code === 0){
+ this.$message.success("鏇存柊鎴愬姛")
+ this.init()
+ }else{
+ this.$message.success("鏇存柊澶辫触")
+ }
+ }).catch(error=>{
+ this.$message.error(error)
+ })
+ },
+ init(){
+ if(this.dataForm.id){
+ getObj(this.dataForm.id).then(res=>{
+ let data = res.data.data
+ this.dataForm.name = data.name
+ this.dataForm.formTime = data.formTime
+ this.dataForm.code = data.code
+ this.dataForm.specs = data.specs
+ this.dataForm.unit = data.runit
+ this.dataForm.supplier = data.supplier
+ this.dataForm.number = data.number
+ this.dataForm.createTime = data.creatTime
+ this.dataForm.createUser = data.createUser
+ let userNameList = []
+ this.list = []
+ data.children.forEach(item=>{
+ userNameList.push(item.userName)
+ this.list.push({
+ equipmentId: item.equiomentId,
+ name: item.rpName,
+ required: item.required,
+ testValue: item.testValue,
+ unit: item.rpUnit,
+ testState: item.testState,
+ rpId: item.rpId
+ })
+ })
+ this.conclusionTable = [{
+ code: data.code,
+ name: data.name,
+ userName: Array.from(new Set(userNameList)).join(','),
+ testState: ''
+ }]
+ }).catch(error=>{
+ this.$message.error("鑾峰彇澶辫触",error)
+ })
+ }else{
+ this.conclusionTable = []
+ this.tableOption.column = object.column
+ }
+ },
+ save(){
+ let data = this.dataForm
+ data.rawInsProducts = this.list
+ console.log(this.list)
+ return
+ addRawInspects(data).then(res=>{
+ this.$message.success("淇濆瓨鎴愬姛")
+ }).catch(error=>{
+ this.$message.error(error)
+ })
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ $cellEdit: true,
+ equipmentId: null,
+ name: "",
+ required: "",
+ testValue: "",
+ unit: ""
+ };
+ this.list.push(obj);
+ },
+ getDeviceList(){
+ selectDevice(null).then(res=>{
+ this.deviceList = res.data.data
+ })
+ },
+ },
+ computed:{},
+ components:{}
+}
+</script>
+
+<style>
+.rawMaterial-detail {
+ width: 100%;
+ height: 400px;
+ padding: 10px 20px;
+ display: flex;
+ border: 1px solid #ddd;
+ background-color: #fff;
+ margin-top: 10px;
+ box-sizing: border-box;
+ flex-wrap: wrap;
+}
+
+.rawMaterial-basic {
+ background-color: #fff;
+ height: 150px;
+ display: flex;
+ flex-wrap: wrap;
+ padding: 10px 20px;
+ border: 1px solid #ddd;
+ box-sizing: border-box;
+}
+
+.rawMaterial-related-stock-part {
+ background-color: #fff;
+ width: 100%;
+ height: 220px;
+ border: 1px solid #ddd;
+ padding: 10px 20px 0px 20px;
+ box-sizing: border-box;
+}
+
+.rawMaterial-bom {
+ background-color: #fff;
+ width: 100%;
+ height: 499px;
+ border: 1px solid #ddd;
+ padding: 10px 20px;
+ box-sizing: border-box;
+}
+
+.rawMaterial-bom .el-card__header {
+ padding: 1px 20px;
+ border-bottom: 0px solid #ebeef5;
+}
+
+.rawMaterial-bom .el-card__body {
+ height: calc(100% - 22px);
+}
+
+.rawMaterial-bom .el-card__body .el-collapse {
+ height: 100%;
+ overflow: auto;
+}
+
+.rawMaterial-technology-params {
+ background-color: #fff;
+ width: calc(52% - 20px);
+ float: left;
+ height: 719px;
+ border: 1px solid #ddd;
+ padding: 10px 20px;
+ margin-left: 20px;
+}
+
+.rawMaterial-structure {
+ background-color: #fff;
+ width: 35%;
+ float: left;
+ height: 719px;
+ border: 1px solid #ddd;
+ padding: 10px 20px;
+ box-sizing: border-box;
+}
+
+.rawMaterial-flow {
+ background-color: #fff;
+ width: calc(65% - 20px);
+ float: left;
+ height: 719px;
+ border: 1px solid #ddd;
+ padding: 10px 20px;
+ margin-left: 20px;
+ box-sizing: border-box;
+}
+
+/*鑷畾涔塪isabled鐘舵�佷笅checkbox鐨勬牱寮�*/
+.completeproductstructure-checkout
+ .el-checkbox__input.is-disabled.is-checked
+ .el-checkbox__inner {
+ background-color: #006eff;
+ border-color: #006eff;
+}
+
+.completeproductstructure-checkout
+ .el-checkbox__input.is-disabled.is-checked
+ + span.el-checkbox__label {
+ color: #006eff;
+ border-color: #006eff;
+}
+
+.completeproductstructure-checkout
+ .el-checkbox__input.is-disabled
+ .el-checkbox__inner {
+ background-color: #ffffff;
+ cursor: pointer;
+}
+
+.completeproductstructure-checkout
+ .el-checkbox__input.is-disabled
+ + span.el-checkbox__label {
+ color: #606266;
+ cursor: pointer;
+}
+
+.completeproductstructure-checkout .el-checkbox__inner::after {
+ border: 1px solid #fff !important;
+ border-left: 0 !important;
+ border-top: 0 !important;
+ cursor: pointer !important;
+}
+
+.rawMaterial-bom-div {
+ width: 100%;
+ margin-bottom: 5px;
+}
+
+.rawMaterial-technology-div {
+ width: 100%;
+ margin-bottom: 5px;
+ margin-right: 10px;
+}
+
+.rawMaterial-technology-div .el-collapse {
+ border-top: 0px;
+ border-bottom: 0px;
+}
+
+.structure-detail-table th.gutter {
+ display: table-cell !important;
+ width: 10px !important;
+}
+
+.structure-detail-table colgroup.gutter {
+ display: table-cell !important;
+ width: 10px !important;
+}
+
+.final-product-checkout .el-card__header {
+ padding: 0px 20px;
+ border-bottom: 0px;
+}
+
+.final-product-checkout .el-card__body {
+ padding: 0px 20px 20px;
+}
+
+.orimaterial-quantity .el-card__header {
+ padding: 0px 20px;
+ border-bottom: 0px;
+}
+
+.orimaterial-quantity .el-card__body {
+ padding: 0px 20px 20px;
+}
+
+.rawMaterial-materialcost-table th.gutter {
+ display: table-cell !important;
+ width: 10px !important;
+}
+
+.rawMaterial-materialcost-table colgroup.gutter {
+ display: table-cell !important;
+ width: 10px !important;
+}
+
+.GooFlow .ico .ico_start:before {
+ color: red;
+}
+.highlight-tab-class {
+ color: #006eff;
+ background: #e4e7ed;
+ border-top: 1px solid #006eff;
+}
+.unhighlight-tab-class {
+ border: 1px solid #e4e7ed;
+ border-bottom: none;
+}
+</style>
diff --git a/src/views/technology/document/document-form.vue b/src/views/technology/document/document-form.vue
index a6c7556..95d7185 100644
--- a/src/views/technology/document/document-form.vue
+++ b/src/views/technology/document/document-form.vue
@@ -22,7 +22,7 @@
label-width="110px"
>
<el-row>
- <el-col :span="5">
+ <el-col :span="6">
<el-form-item prop="name" label="鏂囦欢鍚嶇О">
<el-input
v-model="dataForm.name"
@@ -30,7 +30,7 @@
></el-input>
</el-form-item>
</el-col>
- <el-col :span="4">
+ <el-col :span="6">
<el-form-item prop="number" label="鏂囦欢缂栧彿">
<el-input v-model="dataForm.number" placeholder="鏂囦欢缂栧彿">
</el-input>
@@ -53,14 +53,6 @@
</el-select>
</el-form-item>
</el-col> -->
- <el-col :span="3">
- <el-form-item prop="version" label="鐗堟湰鍙�">
- <el-input
- v-model="dataForm.version"
- placeholder="鐗堟湰鍙�"
- ></el-input>
- </el-form-item>
- </el-col>
<!-- <el-col :span="3">
<el-form-item prop="sheathColor" label="鎶ゅ棰滆壊">
<el-input
@@ -126,16 +118,58 @@
</el-col>
</el-row>
<el-row>
- <el-col :span="5">
- <el-form-item label="澶囨敞" prop="remark">
- <el-input
- type="textarea"
- v-model="dataForm.remark"
- placeholder="澶囨敞"
- style="width:360px"
- ></el-input>
- </el-form-item>
- </el-col>
+ <el-col :span="6">
+ <el-form-item prop="version" label="鐗堟湰鍙�">
+ <el-input
+ v-model="dataForm.version"
+ placeholder="鐗堟湰鍙�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="BOM" prop="bomId">
+ <el-select
+ :disabled="dataForm.id != null"
+ v-model="dataForm.bomId"
+ placeholder=""
+ style="width: 100%;"
+ filterable>
+ <el-option
+ v-for="item in bomList"
+ :key="item.id"
+ :label="item.number"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="宸ヨ壓璺嚎缂栧彿" prop="routingList">
+ <el-select
+ :disabled="dataForm.id != null"
+ v-model="dataForm.routingId"
+ placeholder=""
+ style="width: 100%;"
+ filterable>
+ <el-option
+ v-for="item in routingList"
+ :key="item.id"
+ :label="item.routing_no"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input
+ type="textarea"
+ v-model="dataForm.remark"
+ placeholder="澶囨敞"
+ style="width:100%"
+ ></el-input>
+ </el-form-item>
+ </el-col>
</el-row>
</el-form>
</div>
@@ -143,7 +177,7 @@
<div class="document-detail">
<el-tabs type="card" style="width: 100%;height: 100%">
<el-tab-pane
- label="鍘熸潗鐢ㄩ噺"
+ label="鍘熸潗鏂欑敤閲�"
style="height: 100%"
class="orimaterial-quantity"
>
@@ -198,6 +232,8 @@
align="center"
>
</el-table-column>
+ <el-table-column label="鐗╂枡缂栧彿" prop="partNo" align="center">
+ </el-table-column>
<el-table-column label="鐗╂枡" prop="partName" align="center">
</el-table-column>
<el-table-column label="鏁伴噺" prop="quantity" align="center">
@@ -219,7 +255,7 @@
</TeststandardDialog>
</el-tab-pane>
<el-tab-pane label="浜у搧缁撴瀯宸ュ簭鍙傛暟" style="height: 100%">
- <!-- <div class="document-related-stock-part">
+ <div class="document-related-stock-part">
<div
style="padding-left:18px;font-size:14px;font-weight:700;color:#000;height:20px;line-height:20px;"
>
@@ -306,7 +342,7 @@
>
</el-table-column>
</el-table>
- </div> -->
+ </div>
<el-card class="document-bom" header="">
<!-- <div slot="header">
<span>BOM-宸ュ簭鍙傛暟</span>
@@ -742,6 +778,8 @@
import { delDocumentSamplingRule } from '@/api/quality/documentsamplingrule'
import { getObj as getTechnologyDetail } from '@/api/technology/routing'
import { getObj as getStructureDetail } from '@/api/technology/completeproductstructure'
+import { fetchList as getBomList } from '@/api/technology/completeproductstructure'
+import { getRouting } from '@/api/technology/document'
import { getTestStandardParams } from '@/api/quality/teststandard'
import { remote } from '@/api/admin/dict'
import { fetchList as getStandard } from '@/api/quality/standardbind'
@@ -760,6 +798,8 @@
export default {
data() {
return {
+ bomList: [],
+ routingList: [],
operationPart: {},
showCompleteproductstructure: false,
showTechnology: false,
@@ -786,6 +826,8 @@
],
dataForm: {
id: null,
+ bomId: null,
+ routingId: null,
number: null,
name: null,
version: null,
@@ -902,6 +944,43 @@
window.winDbClick = this.getDbClick
// 鍒濆鍖栨祦绋嬪浘瀹炰緥
this.initFlowDesign()
+ },
+ watch: {
+ 'dataForm.partId'(newValue, oldValue) {
+ if (oldValue) {
+ this.dataForm.bomId = null
+ }
+ if (newValue) {
+ getBomList(
+ Object.assign({
+ current: 1,
+ size: 999,
+ partId: this.dataForm.partId,
+ })
+ ).then((response) => {
+ this.bomList = response.data.data.records
+ })
+ } else {
+ this.bomList = []
+ }
+ },
+ 'dataForm.bomId'(newValue, oldValue) {
+ if (oldValue) {
+ this.dataForm.routingId = null
+ }
+ if (newValue) {
+ getRouting(
+ Object.assign({
+ bomId: this.dataForm.bomId,
+ })
+ ).then((response) => {
+ console.log(response)
+ this.routingList = response.data.data
+ })
+ } else {
+ this.routingList = []
+ }
+ },
},
methods: {
// 鏌ヨ绫诲瀷瀛楀吀
@@ -1771,6 +1850,7 @@
allKeyValues = allKeyValues.concat(keyValues)
i = i + keyValues.length
}
+ console.log("aaa--",allKeyValues)
this.materialCostList = allKeyValues
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
@@ -1910,8 +1990,8 @@
},
getSummaries(param) {
const { columns, data } = param
- console.log(columns, 'A')
- console.log(data, 'B')
+ // console.log(columns, 'A')
+ // console.log(data, 'B')
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
diff --git a/src/views/technology/operation/index.vue b/src/views/technology/operation/index.vue
index 8d06f7e..2aa2d7c 100644
--- a/src/views/technology/operation/index.vue
+++ b/src/views/technology/operation/index.vue
@@ -177,15 +177,15 @@
// }
// },
// 鐝粍浜哄憳
- {
- minWidth: '120',
- prop: 'crewSize',
- label: '鐝粍浜哄憳',
- sort: true,
- isTrue: true,
- isSearch: true,
- searchInfoType: 'text'
- },
+ // {
+ // minWidth: '120',
+ // prop: 'crewSize',
+ // label: '鐝粍浜哄憳',
+ // sort: true,
+ // isTrue: true,
+ // isSearch: true,
+ // searchInfoType: 'text'
+ // },
{
minWidth: '120',
prop: 'outsideOpItem',
diff --git a/src/views/technology/operation/operation-form.vue b/src/views/technology/operation/operation-form.vue
index b510c9a..765b7e7 100644
--- a/src/views/technology/operation/operation-form.vue
+++ b/src/views/technology/operation/operation-form.vue
@@ -120,12 +120,12 @@
/>
</el-select>
</el-form-item> -->
- <el-form-item label="鐝粍浜哄憳" prop="crewSize">
+ <!-- <el-form-item label="鐝粍浜哄憳" prop="crewSize">
<el-input
v-model="dataForm.crewSize"
placeholder="鐝粍浜哄憳"
></el-input>
- </el-form-item>
+ </el-form-item> -->
<!-- <el-form-item label="澶栭儴宸ュ簭椤圭洰" prop="outsideOpItem">
<el-select
v-model="dataForm.outsideOpItem"
@@ -448,7 +448,7 @@
laborRunFactor: 0,
laborSetupTime: 0,
runTimeCodeDb: '2',
- crewSize: 1,
+ crewSize: null,
outsideOpItem:null
},
operationTemplateList: [],
@@ -724,7 +724,7 @@
this.dataForm.laborRunFactor = 0
this.dataForm.laborSetupTime = 0
this.dataForm.runTimeCodeDb = '2'
- this.dataForm.crewSize = 1
+ this.dataForm.crewSize = null
this.fileList = []
this.operationTemplateList = []
this.stepList = []
@@ -751,17 +751,17 @@
this.$refs.dataForm.validate((valid) => {
if (valid) {
// 鏍¢獙銆愭満鍣ㄨ繍杞洜绱犮�戙�併�愭満鍣ㄨ缃椂闂淬�戙�併�愬姵鍔涜繍杞洜绱犮�戙�併�愬姵鍔涜缃椂闂淬�戜腑鑷冲皯鏈変竴涓瓧娈电殑鍊奸』澶т簬0
- if (
- this.dataForm.machRunFactor == 0 &&
- this.dataForm.machSetupTime == 0 &&
- this.dataForm.laborRunFactor == 0 &&
- this.dataForm.laborSetupTime == 0
- ) {
- this.$message.error(
- '銆愭満鍣ㄨ繍杞洜绱犮�戙�併�愭満鍣ㄨ缃椂闂淬�戙�併�愬姵鍔涜繍杞洜绱犮�戙�併�愬姵鍔涜缃椂闂淬�戜腑鑷冲皯鏈変竴涓瓧娈电殑鍊奸』澶т簬0'
- )
- this.isSubmit = false
- } else {
+ // if (
+ // this.dataForm.machRunFactor == 0 &&
+ // this.dataForm.machSetupTime == 0 &&
+ // this.dataForm.laborRunFactor == 0 &&
+ // this.dataForm.laborSetupTime == 0
+ // ) {
+ // this.$message.error(
+ // '銆愭満鍣ㄨ繍杞洜绱犮�戙�併�愭満鍣ㄨ缃椂闂淬�戙�併�愬姵鍔涜繍杞洜绱犮�戙�併�愬姵鍔涜缃椂闂淬�戜腑鑷冲皯鏈変竴涓瓧娈电殑鍊奸』澶т簬0'
+ // )
+ // this.isSubmit = false
+ // } else {
// 銆愪汉宸ョ被鍒�戜负绌烘椂銆愮彮缁勪汉鍛樸�戝繀椤讳负绌猴紝鍚﹀垯蹇呴』澶т簬0
let remindInfo = ''
let remindFlag = false
@@ -828,7 +828,7 @@
})
}
}
- }
+ // }
} else {
this.isSubmit = false
}
diff --git a/src/views/technology/routing/index.vue b/src/views/technology/routing/index.vue
index 1dca9cb..7b31528 100644
--- a/src/views/technology/routing/index.vue
+++ b/src/views/technology/routing/index.vue
@@ -266,19 +266,19 @@
searchInfoType: 'text'
},
// 宸ヨ壓绫诲瀷
- {
- minWidth: '120',
- prop: 'bomTypeDb',
- label: '宸ヨ壓绫诲瀷',
- sort: true,
- isTrue: true,
- isSearch: true,
- searchInfoType: 'select',
- formatter: this.formatBomTypeDbType,
- optList: () => {
- return this.bomTypeDbOptions
- }
- },
+ // {
+ // minWidth: '120',
+ // prop: 'bomTypeDb',
+ // label: '宸ヨ壓绫诲瀷',
+ // sort: true,
+ // isTrue: true,
+ // isSearch: true,
+ // searchInfoType: 'select',
+ // formatter: this.formatBomTypeDbType,
+ // optList: () => {
+ // return this.bomTypeDbOptions
+ // }
+ // },
// 閫愭閲囩敤鏃ユ湡
{
minWidth: '200',
diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue
index 2465b01..a75de54 100644
--- a/src/views/technology/routing/routing-form.vue
+++ b/src/views/technology/routing/routing-form.vue
@@ -66,7 +66,7 @@
></el-input>
</el-form-item>
<el-form-item label="BOM" prop="bomId">
- <el-select v-model="dataForm.bomId" placeholder="" filterable>
+ <el-select :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" filterable>
<el-option
v-for="item in bomList"
:key="item.id"
@@ -75,13 +75,13 @@
/>
</el-select>
</el-form-item>
- <el-form-item prop="version" label="宸ヨ壓鐗堟湰">
+ <!-- <el-form-item prop="version" label="宸ヨ壓鐗堟湰">
<el-input
v-model="dataForm.version"
placeholder="宸ヨ壓鐗堟湰"
></el-input>
- </el-form-item>
- <el-form-item label="宸ヨ壓绫诲瀷" prop="bomTypeDb">
+ </el-form-item> -->
+ <!-- <el-form-item label="宸ヨ壓绫诲瀷" prop="bomTypeDb">
<el-select
v-model="dataForm.bomTypeDb"
placeholder="璇烽�夋嫨宸ヨ壓绫诲瀷"
@@ -96,7 +96,7 @@
>
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
<el-form-item label="閫愭閲囩敤鏃ユ湡" prop="phaseInDate">
<el-date-picker
v-model="dataForm.phaseInDate"
diff --git a/src/views/technology/structure/index.vue b/src/views/technology/structure/index.vue
index d3a6693..996ffb6 100644
--- a/src/views/technology/structure/index.vue
+++ b/src/views/technology/structure/index.vue
@@ -185,19 +185,19 @@
searchInfoType: 'text'
},
// 缁撴瀯绫诲瀷
- {
- minWidth: '120',
- prop: 'bomTypeDb',
- label: '缁撴瀯绫诲瀷',
- sort: true,
- isTrue: true,
- isSearch: true,
- searchInfoType: 'select',
- formatter: this.formatBomTypeDbType,
- optList: () => {
- return this.bomTypeDbOptions
- }
- },
+ // {
+ // minWidth: '120',
+ // prop: 'bomTypeDb',
+ // label: '缁撴瀯绫诲瀷',
+ // sort: true,
+ // isTrue: true,
+ // isSearch: true,
+ // searchInfoType: 'select',
+ // formatter: this.formatBomTypeDbType,
+ // optList: () => {
+ // return this.bomTypeDbOptions
+ // }
+ // },
// 鏇夸唬
// {
// minWidth: '120',
diff --git a/src/views/technology/structure/single-structure-form.vue b/src/views/technology/structure/single-structure-form.vue
index fd0319d..98f13c6 100644
--- a/src/views/technology/structure/single-structure-form.vue
+++ b/src/views/technology/structure/single-structure-form.vue
@@ -28,8 +28,10 @@
v-model="dataForm.partNo"
placeholder="璇烽�夋嫨闆朵欢"
@blur="checkPartNo()"
+ readonly
>
<el-button
+ :disabled="isUpdated"
slot="append"
icon="el-icon-search"
@click="openPartDialog()"
@@ -40,11 +42,12 @@
<el-input
v-model="dataForm.partName"
placeholder="闆朵欢鍚嶇О"
+ style="width: 150px"
:readonly="true"
>
</el-input>
</el-form-item>
- <el-form-item label="缁撴瀯绫诲瀷" prop="bomTypeDb">
+ <!-- <el-form-item label="缁撴瀯绫诲瀷" prop="bomTypeDb">
<el-select
v-model="dataForm.bomTypeDb"
placeholder="璇烽�夋嫨缁撴瀯绫诲瀷"
@@ -58,7 +61,7 @@
>
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
<!-- <el-form-item label="鏇夸唬" prop="alternativeNo">
<el-input v-model="dataForm.alternativeNo"></el-input>
</el-form-item>
@@ -69,9 +72,9 @@
v-model="dataForm.alternativeDesc"
></el-input>
</el-form-item> -->
- <el-form-item label="鐗堟湰鍙�" prop="version">
+ <!-- <el-form-item label="鐗堟湰鍙�" prop="version">
<el-input v-model="dataForm.version" disabled></el-input>
- </el-form-item>
+ </el-form-item> -->
<el-form-item label="澶囨敞" prop="remark">
<el-input
type="textarea"
@@ -158,6 +161,7 @@
v-if="scope.row.isUpdate"
@blur="verifyPartNo(scope.row, scope.$index)"
@focus="clearClass(scope.$index)"
+ readonly
>
<el-button
slot="append"
@@ -272,6 +276,7 @@
},
data() {
return {
+ isUpdated: false,
customClass: [],
showPart: false,
editNodePart: null,
@@ -334,6 +339,9 @@
},
created() {
const formId = this.$route.params.id
+ if(formId != null){
+ this.isUpdated = true
+ }
this.init(formId)
this.getBomTypeDbOptions()
},
diff --git a/vue.config.js b/vue.config.js
index 64b6d3b..115733f 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -3,6 +3,7 @@
* https://cli.vuejs.org/zh/config/
*/
const url = 'http://192.168.0.23:9999'
+// const url = 'http://ztt-gateway:9999'
const localUrl = 'http://localhost:8089'
//const localUrl = 'http://10.88.15.95:8089'
const CompressionWebpackPlugin = require('compression-webpack-plugin')
--
Gitblit v1.9.3