|
@@ -15,7 +15,7 @@
|
|
|
</a-form-item>
|
|
|
|
|
|
<row-list :col="2">
|
|
|
- <row-item>
|
|
|
+ <!-- <row-item>
|
|
|
<a-form-item
|
|
|
label="编码"
|
|
|
:labelCol="BaseTool.Constant.labelCol"
|
|
@@ -25,10 +25,23 @@
|
|
|
disabled
|
|
|
v-decorator="['no', {rules: [{required: false, message: '编码不能为空'}]}]"/>
|
|
|
</a-form-item>
|
|
|
+ </row-item>-->
|
|
|
+ <row-item>
|
|
|
+ <a-form-item
|
|
|
+ label="设备编号"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ style="width: 80%"
|
|
|
+ v-decorator="['sbNo', {rules: [{required: false, message: '请选择设备'}]}]"/>
|
|
|
+ <a-button type="primary" style="width: 20%" @click="handleSbSelect">选择</a-button>
|
|
|
+ </a-form-item>
|
|
|
</row-item>
|
|
|
<row-item>
|
|
|
<a-form-item
|
|
|
- label="任务名称"
|
|
|
+ label="标准名称"
|
|
|
:labelCol="BaseTool.Constant.labelCol"
|
|
|
:wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
>
|
|
@@ -45,7 +58,7 @@
|
|
|
<a-input
|
|
|
disabled
|
|
|
style="width: 80%"
|
|
|
- v-decorator="['partName', {rules: [{required: false, message: '检查部位不能为空'}]}]"/>
|
|
|
+ v-decorator="['partName']"/>
|
|
|
<a-button type="primary" style="width: 20%" @click="handlePartSelect">选择</a-button>
|
|
|
</a-form-item>
|
|
|
</row-item>
|
|
@@ -101,7 +114,8 @@
|
|
|
:wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
>
|
|
|
<a-input
|
|
|
- v-decorator="['standardHours']" suffix="分钟"/>
|
|
|
+ v-decorator="['standardHours']"
|
|
|
+ suffix="分钟"/>
|
|
|
</a-form-item>
|
|
|
</row-item>
|
|
|
<row-item>
|
|
@@ -111,11 +125,11 @@
|
|
|
:wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
>
|
|
|
<a-input-number
|
|
|
- :step='1'
|
|
|
+ :step="1"
|
|
|
v-decorator="['sort', {initialValue: 1,rules: [{required: true, message: '排序不能为空'}]}]"/>
|
|
|
</a-form-item>
|
|
|
</row-item>
|
|
|
-<!-- <row-item>
|
|
|
+ <!-- <row-item>
|
|
|
<a-form-item
|
|
|
label="动作类型"
|
|
|
:labelCol="BaseTool.Constant.labelCol"
|
|
@@ -237,193 +251,69 @@
|
|
|
</row-item>
|
|
|
</row-list>
|
|
|
</a-form>
|
|
|
-<!-- <a-tabs type="card" default-active-key="1">
|
|
|
- <a-tab-pane key="1" tab="点检标准参数">
|
|
|
- <div class="table-operator">
|
|
|
- <a-button size="small" type="primary" @click="handleAdd">
|
|
|
- <a-icon type="plus"/>
|
|
|
- 添加
|
|
|
- </a-button>
|
|
|
- <a-button class="margin-left8" size="small" type="danger" @click="handleDel">
|
|
|
- <a-icon type="delete"/>
|
|
|
- 删除
|
|
|
- </a-button>
|
|
|
+ <title-divider title="关联备件" width="100px"></title-divider>
|
|
|
+ <div class="table-operator">
|
|
|
+ <a-button style="margin-left:8px;" type="primary" @click="handleSpareSelect">
|
|
|
+ <a-icon type="plus"/>
|
|
|
+ 添加
|
|
|
+ </a-button>
|
|
|
+ <a-button class="margin-left8" size="small" type="danger" @click="handleDel">
|
|
|
+ <a-icon type="delete"/>
|
|
|
+ 删除
|
|
|
+ </a-button>
|
|
|
+ </div>
|
|
|
+ <a-table
|
|
|
+ :data-source="data"
|
|
|
+ :columns="columns"
|
|
|
+ bordered
|
|
|
+ ref="table"
|
|
|
+ tableLayout="auto"
|
|
|
+ :row-selection="rowSelection"
|
|
|
+ rowKey="bomId">
|
|
|
+ <template slot="num" slot-scope="text, record">
|
|
|
+ <div class="editable-cell-input-wrapper">
|
|
|
+ <a-input :value="text" :id="record.spareId + ',num'" @change="$event => onQuantityChange($event, record.id, 'num')" />
|
|
|
</div>
|
|
|
- <a-table
|
|
|
- bordered
|
|
|
- :data-source="data"
|
|
|
- :columns="columns"
|
|
|
- tableLayout="auto"
|
|
|
- rowKey="id"
|
|
|
- :row-selection="rowSelection">
|
|
|
- <template
|
|
|
- slot="name"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-input
|
|
|
- class="my-form-item-required"
|
|
|
- v-if="record.editable"
|
|
|
- style="margin: -5px 0"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, 'name')"
|
|
|
- />
|
|
|
- <template v-else>
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template
|
|
|
- slot="type"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-select
|
|
|
- v-if="record.editable"
|
|
|
- style="width: 80px"
|
|
|
- :defaultValue="1"
|
|
|
- @change="e => handleChange(e, record.id, 'type')"
|
|
|
- placeholder="请选择">
|
|
|
- <a-select-option
|
|
|
- v-for="(label,value) in paramTypeMap"
|
|
|
- :key="value"
|
|
|
- :label="label"
|
|
|
- :value="parseInt(value)">{{ label }}
|
|
|
- </a-select-option>
|
|
|
- </a-select>
|
|
|
- <template v-else>
|
|
|
- {{ BaseTool.Table.getMapText(paramTypeMap, text) }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template
|
|
|
- slot="upperLimit"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-input
|
|
|
- v-if="record.editable"
|
|
|
- style="margin: -5px 0"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, 'upperLimit')"
|
|
|
- />
|
|
|
- <template v-else>
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template
|
|
|
- slot="lowerrLimit"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-input
|
|
|
- v-if="record.editable"
|
|
|
- style="margin: -5px 0"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, 'lowerrLimit')"
|
|
|
- />
|
|
|
- <template v-else>
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template
|
|
|
- slot="referenceValue"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-input
|
|
|
- v-if="record.editable"
|
|
|
- style="margin: -5px 0"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, 'referenceValue')"
|
|
|
- />
|
|
|
- <template v-else>
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template
|
|
|
- slot="normalSelection"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-input
|
|
|
- v-if="record.editable"
|
|
|
- style="margin: -5px 0"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, 'normalSelection')"
|
|
|
- />
|
|
|
- <template v-else>
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template
|
|
|
- slot="instruction"
|
|
|
- slot-scope="text, record, index"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <a-input
|
|
|
- v-if="record.editable"
|
|
|
- style="margin: -5px 0"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, 'instruction')"
|
|
|
- />
|
|
|
- <template v-else>
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template slot="operation" slot-scope="text, record, index">
|
|
|
- <div class="editable-row-operations">
|
|
|
- <span v-if="record.editable">
|
|
|
- <a @click="() => saveParam(record.id)">保存</a>
|
|
|
- <a-divider type="vertical"/>
|
|
|
- <a-popconfirm title="确定取消吗?" @confirm="() => cancel(record.id)">
|
|
|
- <a>取消</a>
|
|
|
- </a-popconfirm>
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- <a :disabled="editingKey !== ''" @click="() => edit(record.id)">编辑</a>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </a-table>
|
|
|
- </a-tab-pane>
|
|
|
- </a-tabs>-->
|
|
|
+ </template>
|
|
|
+ <span slot="action" slot-scope="record">
|
|
|
+ <template>
|
|
|
+<!-- <a @click="handleDetailSelect(record)">修改</a>
|
|
|
+ <a-divider type="vertical" />-->
|
|
|
+ <a-popconfirm title="是否要删除该条数据?" @confirm="handleDelOne(record)">
|
|
|
+ <a>删除</a>
|
|
|
+ </a-popconfirm>
|
|
|
+ </template>
|
|
|
+ </span>
|
|
|
+ </a-table>
|
|
|
<template slot="footer">
|
|
|
<a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
|
|
|
</template>
|
|
|
<part-info-select-modal ref="partInfoSelectModal" @selected="handlePartSelected"/>
|
|
|
+ <sb-info-select-modal ref="sbInfoSelectModal" @selected="handleSbSelectd"/>
|
|
|
+ <spare-part-info-select-modal-sb-info :type="'checkbox'" ref="spareSelectModal" @selected="handleSpareSelected"/>
|
|
|
</a-modal>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import pick from 'lodash.pick'
|
|
|
import { STable, Ellipsis } from '@/components'
|
|
|
-import { addCheckStandard, updateCheckStandard } from '@/api/check/checkstandard'
|
|
|
-import BaseTool from '../../../../utils/tool'
|
|
|
+import { addCheckStandard, fetchCheckStandard, updateCheckStandard } from '@/api/check/checkstandard'
|
|
|
import { queryUser } from '@/api/upms/user'
|
|
|
import { uploadUrl } from '@/api/upms/file'
|
|
|
import PartInfoSelectModal from '@/views/part/info/modules/PartInfoSelectModal'
|
|
|
import Vue from 'vue'
|
|
|
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
|
|
+import SparePartInfoSelectModalSbInfo from '@/views/sqarepartmanage/sparepartinfo/modules/SparePartInfoSelectModalSbInfo'
|
|
|
+import SbInfoSelectModal from '@/views/sb/info/modules/SbInfoSelectModal'
|
|
|
|
|
|
export default {
|
|
|
name: 'BaseCheckStandard',
|
|
|
components: {
|
|
|
STable,
|
|
|
Ellipsis,
|
|
|
- PartInfoSelectModal
|
|
|
+ SbInfoSelectModal,
|
|
|
+ PartInfoSelectModal,
|
|
|
+ SparePartInfoSelectModalSbInfo
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
@@ -431,6 +321,7 @@ export default {
|
|
|
modalTitle: null,
|
|
|
form: this.$form.createForm(this),
|
|
|
visible: false,
|
|
|
+ sbId: null,
|
|
|
// 下拉框map
|
|
|
typeMap: {},
|
|
|
actionTypeMap: {},
|
|
@@ -455,53 +346,27 @@ export default {
|
|
|
},
|
|
|
// 表头
|
|
|
columns: [
|
|
|
- {
|
|
|
- title: '序号',
|
|
|
- dataIndex: 'index',
|
|
|
- customRender: (text, record, index) => {
|
|
|
- return index + 1
|
|
|
- }
|
|
|
- },
|
|
|
{
|
|
|
title: '名称',
|
|
|
- dataIndex: 'name',
|
|
|
- scopedSlots: { customRender: 'name' }
|
|
|
+ dataIndex: 'spareName'
|
|
|
},
|
|
|
{
|
|
|
- title: '类型',
|
|
|
- dataIndex: 'type',
|
|
|
- scopedSlots: { customRender: 'type' }
|
|
|
+ title: '规格型号',
|
|
|
+ dataIndex: 'ggxh'
|
|
|
},
|
|
|
{
|
|
|
- title: '上限',
|
|
|
- dataIndex: 'upperLimit',
|
|
|
- scopedSlots: { customRender: 'upperLimit' }
|
|
|
- },
|
|
|
- {
|
|
|
- title: '下限',
|
|
|
- dataIndex: 'lowerrLimit',
|
|
|
- scopedSlots: { customRender: 'lowerrLimit' }
|
|
|
- },
|
|
|
- {
|
|
|
- title: '参考值',
|
|
|
- dataIndex: 'referenceValue',
|
|
|
- scopedSlots: { customRender: 'referenceValue' }
|
|
|
- },
|
|
|
- {
|
|
|
- title: '正常选型',
|
|
|
- dataIndex: 'normalSelection',
|
|
|
- scopedSlots: { customRender: 'normalSelection' }
|
|
|
- },
|
|
|
- {
|
|
|
- title: '说明',
|
|
|
- dataIndex: 'instruction',
|
|
|
- scopedSlots: { customRender: 'instruction' }
|
|
|
+ title: '数量',
|
|
|
+ dataIndex: 'num',
|
|
|
+ width: 150,
|
|
|
+ scopedSlots: { customRender: 'num' }
|
|
|
},
|
|
|
{
|
|
|
title: '操作',
|
|
|
- dataIndex: 'operation',
|
|
|
- width: 150,
|
|
|
- scopedSlots: { customRender: 'operation' }
|
|
|
+ key: 'action',
|
|
|
+ checked: true,
|
|
|
+ align: 'center',
|
|
|
+ // fixed: 'right',
|
|
|
+ scopedSlots: { customRender: 'action' }
|
|
|
}
|
|
|
],
|
|
|
data: [],
|
|
@@ -535,6 +400,9 @@ export default {
|
|
|
methods: {
|
|
|
base (record, sbId) {
|
|
|
this.visible = true
|
|
|
+ this.selectedRowKeys = []
|
|
|
+ this.selectedRows = []
|
|
|
+ this.form.resetFields()
|
|
|
queryUser({}).then(res => {
|
|
|
this.userList = res.data
|
|
|
})
|
|
@@ -544,6 +412,7 @@ export default {
|
|
|
this.data = []
|
|
|
this.cacheData = []
|
|
|
if (sbId != null) {
|
|
|
+ this.sbId = sbId
|
|
|
const { form: { setFieldsValue } } = this
|
|
|
// 日期处理
|
|
|
this.$nextTick(() => {
|
|
@@ -556,33 +425,40 @@ export default {
|
|
|
if (this.BaseTool.Object.isBlank(record.id)) {
|
|
|
this.modalTitle = '复制'
|
|
|
}
|
|
|
+ this.sbId = record.sbId
|
|
|
+ // 查询列表
|
|
|
+ fetchCheckStandard({ id: record.id }).then(res => {
|
|
|
+ this.data = res.data.detailList
|
|
|
+ })
|
|
|
this.checkImgList = record.checkImgList
|
|
|
this.checkFileList = record.checkFileList
|
|
|
- this.defaultCheckImgList = this.BaseTool.UPLOAD.transImg(this.checkImgList)
|
|
|
- this.defaultCheckFileList = this.BaseTool.UPLOAD.transImg(this.checkFileList)
|
|
|
+ if (this.checkImgList == null) {
|
|
|
+ this.defaultCheckImgList = this.BaseTool.UPLOAD.transImg(this.checkImgList)
|
|
|
+ }
|
|
|
+ if (this.checkImgList == null) {
|
|
|
+ this.defaultCheckFileList = this.BaseTool.UPLOAD.transImg(this.checkFileList)
|
|
|
+ }
|
|
|
const { form: { setFieldsValue } } = this
|
|
|
// 日期处理
|
|
|
this.$nextTick(() => {
|
|
|
setFieldsValue(Object.assign(pick(record, [
|
|
|
'id',
|
|
|
'sbId',
|
|
|
+ 'sbNo',
|
|
|
'name',
|
|
|
- 'no',
|
|
|
- 'type',
|
|
|
+ // 'no',
|
|
|
+ // 'type',
|
|
|
'period',
|
|
|
'part',
|
|
|
'partName',
|
|
|
'checkUserId',
|
|
|
'periodType',
|
|
|
- 'actionType',
|
|
|
- 'enable',
|
|
|
+ // 'actionType',
|
|
|
+ // 'enable',
|
|
|
'requirement',
|
|
|
'remark'
|
|
|
])))
|
|
|
})
|
|
|
- this.data = BaseTool.Object.copy(record.paramList)
|
|
|
- this.cacheData = BaseTool.Object.copy(record.paramList)
|
|
|
- this.editingKey = ''
|
|
|
},
|
|
|
save () {
|
|
|
const { form: { validateFieldsAndScroll } } = this
|
|
@@ -592,10 +468,11 @@ export default {
|
|
|
this.confirmLoading = false
|
|
|
return
|
|
|
}
|
|
|
- values.paramList = this.data
|
|
|
// 上传文件
|
|
|
values.checkImgList = this.checkImgList
|
|
|
values.checkFileList = this.checkFileList
|
|
|
+ // 备件列表
|
|
|
+ values.detailList = this.data
|
|
|
if (this.BaseTool.String.isBlank(values.id)) {
|
|
|
addCheckStandard(values)
|
|
|
.then(() => {
|
|
@@ -615,111 +492,36 @@ export default {
|
|
|
},
|
|
|
handleCancel (values) {
|
|
|
this.visible = false
|
|
|
+ this.data = []
|
|
|
this.confirmLoading = false
|
|
|
+ this.selectedRowKeys = []
|
|
|
+ this.selectedRows = []
|
|
|
this.form.resetFields()
|
|
|
if (this.BaseTool.Object.isNotBlank(values)) {
|
|
|
this.$emit('ok', values)
|
|
|
}
|
|
|
},
|
|
|
- handleChange (value, key, column) {
|
|
|
- const newData = [...this.data]
|
|
|
- const target = newData.filter(item => key === item.id)[0]
|
|
|
- if (target) {
|
|
|
- target[column] = value
|
|
|
- this.data = newData
|
|
|
- }
|
|
|
- },
|
|
|
- edit (key) {
|
|
|
- const newData = [...this.data]
|
|
|
- const target = newData.filter(item => key === item.id)[0]
|
|
|
- this.editingKey = key
|
|
|
- if (target) {
|
|
|
- target.editable = true
|
|
|
- this.data = newData
|
|
|
- }
|
|
|
- },
|
|
|
- saveParam (key) {
|
|
|
- const newData = [...this.data]
|
|
|
- const newCacheData = [...this.cacheData]
|
|
|
- const target = newData.filter(item => key === item.id)[0]
|
|
|
- // 校验数据
|
|
|
- if (!this.checkParams(target)) {
|
|
|
- return false
|
|
|
- }
|
|
|
- const targetCache = newCacheData.filter(item => key === item.id)[0]
|
|
|
- console.log(targetCache, 686688)
|
|
|
- if (target && targetCache) {
|
|
|
- delete target.editable
|
|
|
- this.data = newData
|
|
|
- Object.assign(targetCache, target)
|
|
|
- this.cacheData = newCacheData
|
|
|
- }
|
|
|
- this.editingKey = ''
|
|
|
+ handleSbSelect () {
|
|
|
+ this.$refs.sbInfoSelectModal.base()
|
|
|
},
|
|
|
- checkParams (param) {
|
|
|
- if (BaseTool.Object.isBlank(param.name)) {
|
|
|
- this.$message.error('参数名称不能为空')
|
|
|
- return false
|
|
|
- }
|
|
|
- return true
|
|
|
- },
|
|
|
- cancel (key) {
|
|
|
- const newData = [...this.data]
|
|
|
- const target = newData.filter(item => key === item.id)[0]
|
|
|
- this.editingKey = ''
|
|
|
- if (!this.checkParams(target)) {
|
|
|
- const data = [...this.data]
|
|
|
- const cacheData = [...this.cacheData]
|
|
|
- this.data = data.filter(item => item.id !== key)
|
|
|
- this.cacheData = cacheData.filter(item => item.id !== key)
|
|
|
- return
|
|
|
- }
|
|
|
- if (target) {
|
|
|
- Object.assign(target, this.cacheData.filter(item => key === item.id)[0])
|
|
|
- console.log(target, 'target')
|
|
|
- delete target.editable
|
|
|
- this.data = newData
|
|
|
- }
|
|
|
- },
|
|
|
- handleAdd () {
|
|
|
- if (this.editingKey !== '') {
|
|
|
- this.$message.error('请保存后再添加')
|
|
|
- return false
|
|
|
- }
|
|
|
- const { data, cacheData } = this
|
|
|
- console.log(this.data, this.cacheData)
|
|
|
- const newParam = this.getNewParam()
|
|
|
- const newCache = { ...newParam }
|
|
|
- data.push(newParam)
|
|
|
- cacheData.push(newCache)
|
|
|
- },
|
|
|
- handleDel () {
|
|
|
- const data = [...this.data]
|
|
|
- const cacheData = [...this.cacheData]
|
|
|
- this.data = data.filter(item => !this.selectedRowKeys.includes(item.id))
|
|
|
- this.cacheData = cacheData.filter(item => !this.selectedRowKeys.includes(item.id))
|
|
|
- if (this.selectedRowKeys.includes(this.editingKey)) {
|
|
|
- this.editingKey = ''
|
|
|
- }
|
|
|
- },
|
|
|
- getNewParam () {
|
|
|
- const newParam = {
|
|
|
- name: '',
|
|
|
- type: '1',
|
|
|
- upperLimit: '',
|
|
|
- lowerrLimit: '',
|
|
|
- referenceValue: '',
|
|
|
- normalSelection: '',
|
|
|
- instruction: ''
|
|
|
- }
|
|
|
- newParam.id = new Date().getTime()
|
|
|
- newParam.editable = true
|
|
|
- this.editingKey = newParam.id
|
|
|
- console.log(newParam, 'newparam')
|
|
|
- return newParam
|
|
|
+ handleSbSelectd (keys, rows) {
|
|
|
+ const [ key ] = keys
|
|
|
+ const [ row ] = rows
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+ this.sbId = key
|
|
|
+ // 日期处理
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign({
|
|
|
+ 'sbId': key,
|
|
|
+ 'sbNo': row.no
|
|
|
+ }))
|
|
|
+ })
|
|
|
},
|
|
|
handlePartSelect () {
|
|
|
const sbId = this.form.getFieldValue('sbId')
|
|
|
+ if (this.BaseTool.Object.isBlank(sbId)) {
|
|
|
+ this.$message.error('请先选择设备')
|
|
|
+ }
|
|
|
this.$refs.partInfoSelectModal.base({ sbId })
|
|
|
},
|
|
|
handlePartSelected (keys, rows) {
|
|
@@ -752,6 +554,60 @@ export default {
|
|
|
this.$message.error('上传失败')
|
|
|
return null
|
|
|
}
|
|
|
+ },
|
|
|
+ handleSpareSelect () {
|
|
|
+ this.$refs.spareSelectModal.base(null, { sbId: this.sbId })
|
|
|
+ },
|
|
|
+ handleSpareSelected (record, keys, rows) {
|
|
|
+ const addData = []
|
|
|
+ for (let i = 0; i < rows.length; i++) {
|
|
|
+ addData.push({ sbId: this.sbId, spareId: rows[i].id, spareName: rows[i].name, num: 1 })
|
|
|
+ }
|
|
|
+ const { data } = this
|
|
|
+ for (let i = 0; i < rows.length; i++) {
|
|
|
+ let find = false
|
|
|
+ for (let j = 0; j < data.length; j++) {
|
|
|
+ if (rows[i].spareId === data[j].spareId) {
|
|
|
+ find = true
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!find) {
|
|
|
+ const selectData = {}
|
|
|
+ selectData.spareId = rows[i].spareId
|
|
|
+ selectData.spareName = rows[i].name
|
|
|
+ selectData.ggxh = rows[i].ggxh
|
|
|
+ selectData.sbId = this.sbId
|
|
|
+ selectData.bomId = rows[i].id
|
|
|
+ selectData.num = 1
|
|
|
+ data.push(selectData)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleDel () {
|
|
|
+ const data = [...this.data]
|
|
|
+ if (this.selectedRowKeys.length === 0) {
|
|
|
+ this.$message.error('请至少选择一条数据')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.data = data.filter(item => !this.selectedRowKeys.includes(item.bomId))
|
|
|
+ },
|
|
|
+ handleDelOne (record) {
|
|
|
+ const data = [...this.data]
|
|
|
+ this.data = data.filter(item => record.bomId !== item.bomId)
|
|
|
+ },
|
|
|
+ onQuantityChange (e, id, attr) {
|
|
|
+ const value = e.target.value
|
|
|
+ console.log(value)
|
|
|
+ if (value !== 0 && !value) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const data = [...this.data]
|
|
|
+ const target = data.find(item => item.id === id)
|
|
|
+ if (target) {
|
|
|
+ target[attr] = value
|
|
|
+ this.data = data
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|