{
- if (Object.hasOwn(this.dataForm, [item.name])) {
+ // if (Object.hasOwn(this.dataForm, [item.name])) {
+ if (this.dataForm.hasOwnProperty(item.name)) {
return
} else {
this.$set(this.dataForm, [item.name], calDefault(item.fieldType))
@@ -394,7 +410,8 @@ export default {
this.dataForm.files.forEach(file => {
// const fileName = file.fileUrl.split('/').pop()
/** [1] 处理 fileList */
- if (Object.hasOwn(this.fileList, file.typeCode)) {
+ // if (Object.hasOwn(this.fileList, file.typeCode)) {
+ if (this.fileList.hasOwnProperty(file.typeCode)) {
/** 已存在 */
// this.fileList[file.typeCode].push({ id: file.id, name: fileName, typeCode: file.typeCode })
this.fileList[file.typeCode].push(file)
@@ -404,7 +421,8 @@ export default {
}
/** [2] 处理 fileForm */
- if (Object.hasOwn(this.fileForm, file.typeCode)) {
+ // if (Object.hasOwn(this.fileForm, file.typeCode)) {
+ if (this.fileForm.hasOwnProperty(file.typeCode)) {
this.fileForm[file.typeCode].push(file.id)
} else {
this.fileForm[file.typeCode] = [file.id]
@@ -425,12 +443,17 @@ export default {
})
// console.log('create new, dataform', JSON.stringify(this.dataForm))
}
+ this.shouldWait = null
})
}
})
},
emitSelectChange(name, id) {
+ const currentField = this.configs.fields.find(item => item.name === name)
+ if (currentField.relatedField) {
+ this.dataForm[currentField.relatedField] = null
+ }
this.$emit('select-change', { name, id })
},
diff --git a/src/utils/request.js b/src/utils/request.js
index d06a328..0700744 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -8,7 +8,7 @@ import merge from 'lodash/merge'
const http = axios.create({
// baseURL: window.SITE_CONFIG['apiURL'],
- baseURL: '/api',
+ baseURL: '/yd-monitor',
// baseURL: process.env.NODE_ENV === 'production' ? '/api' : '/yd-monitor',
timeout: 1000 * 180,
withCredentials: true
diff --git a/src/views/modules/monitoring/equipment.vue b/src/views/modules/monitoring/equipment.vue
index 88e109c..9007ccd 100644
--- a/src/views/modules/monitoring/equipment.vue
+++ b/src/views/modules/monitoring/equipment.vue
@@ -30,7 +30,7 @@
layout="total, sizes, prev, pager, next, jumper"
>
-
+
@@ -62,6 +62,7 @@ const tableConfigs = [
{ prop: 'groupName', name: i18n.t('eq.group') },
{ prop: 'enName', name: i18n.t('enname') },
{ prop: 'abbr', name: i18n.t('abbr') },
+ { prop: 'lineName', name: i18n.t('pl.title') },
{ prop: 'sectionName', name: i18n.t('ws.title') },
{
prop: 'details',
@@ -94,6 +95,14 @@ const addOrUpdateConfigs = {
type: 'select',
options: []
},
+ {
+ name: 'lineId',
+ label: i18n.t('pl.title'),
+ required: true,
+ type: 'select',
+ options: [],
+ relatedField: 'sectionId', // 关联下面的id,在更换lineId时,会清空相应的sectionId选择结果
+ },
{
name: 'sectionId',
label: i18n.t('ws.title'),
@@ -283,19 +292,41 @@ export default {
console.log('activated')
this.getDataList()
this.getGroupList()
- this.getWsList()
+ this.getPlList()
this.getTypeList()
},
methods: {
- // 获取工段列表
- getWsList() {
+ // 获取产线列表,用于刷新工段列表
+ getPlList() {
this.$http({
- url: this.$http.adornUrl('/monitoring/workshopSection/list'),
+ url: this.$http.adornUrl('/monitoring/productionLine/list'),
method: 'get'
- }).then(({ data : res }) => {
+ }).then(({ data: res }) => {
+ const plConfig = this.addOrUpdateConfigs.fields.find(item => item.name === 'lineId')
+ plConfig.options =
+ res.data?.map(item => ({
+ value: item.id,
+ label: item.name
+ })) || []
+ })
+ },
+ // 获取工段列表
+ getWsList(id) {
+ let params = {
+ page: 1,
+ limit: 999
+ }
+ if (id) {
+ params.lineId = id
+ }
+ this.$http({
+ url: this.$http.adornUrl('/monitoring/workshopSection/page'),
+ method: 'get',
+ params: this.$http.adornParams(params)
+ }).then(({ data: res }) => {
const wsConfig = this.addOrUpdateConfigs.fields.find(item => item.name === 'sectionId')
wsConfig.options =
- res.data?.map(item => ({
+ res.data?.list?.map(item => ({
value: item.id,
label: item.name
})) || []
@@ -378,6 +409,13 @@ export default {
selectionChangeHandle(val) {
this.dataListSelections = val
},
+ // 对话框里的某个选择改变了
+ handleDialogSelectChange({ name, id }) {
+ switch (name) {
+ case 'lineId':
+ this.getWsList(id)
+ }
+ },
handleOperations({ type, data: id }) {
switch (type) {
case 'view-detail':
diff --git a/src/views/modules/monitoring/workshopSectionDialog.vue b/src/views/modules/monitoring/workshopSectionDialog.vue
index 71189aa..16b7ca5 100644
--- a/src/views/modules/monitoring/workshopSectionDialog.vue
+++ b/src/views/modules/monitoring/workshopSectionDialog.vue
@@ -39,7 +39,7 @@