| | |
| | | @search="loadData" |
| | | :placeholder="placeholder" |
| | | v-model="selectedAsyncValue" |
| | | :maintenanceCategory="maintenanceCategory" |
| | | style="width: 100%" |
| | | :filterOption="false" |
| | | @change="handleAsyncChange" |
| | |
| | | <a-icon type="search" /> |
| | | </template> |
| | | <a-spin v-if="loading" slot="notFoundContent" size="small" /> |
| | | <a-select-option v-for="d in options" :key="d.value" :value="d.value">{{ d.text }}</a-select-option> |
| | | <a-select-option v-for="d in options" :key="d.equipmentId" :value="d.equipmentId">{{ d.equipmentText }} |
| | | </a-select-option> |
| | | </a-select> |
| | | |
| | | </template> |
| | |
| | | name: 'MaintenanceEquipmentSelect', |
| | | props: { |
| | | disabled: Boolean, |
| | | value: [String, Number], |
| | | value: [String, Number, String], |
| | | placeholder: { |
| | | type: String, |
| | | default: '请选择', |
| | |
| | | default: 20, |
| | | required: false |
| | | }, |
| | | maintenanceCategory: { |
| | | type: String, |
| | | default: '', |
| | | required: false |
| | | } |
| | | }, |
| | | data() { |
| | | this.loadData = debounce(this.loadData, 800)//消抖 |
| | |
| | | immediate: true, |
| | | handler(val) { |
| | | if (!val) { |
| | | this.initDictData(); |
| | | this.initDictData() |
| | | } else { |
| | | this.initSelectValue() |
| | | } |
| | |
| | | }, |
| | | methods: { |
| | | initSelectValue() { |
| | | if(!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key!=this.value){ |
| | | console.log("这才请求后台") |
| | | getAction(`/eam/maintenanceStandard/listByUser`, { id: this.value }).then(res=>{ |
| | | if (!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key != this.value || !this.maintenanceCategory) { |
| | | console.log('ssfs', this.selectedAsyncValue) |
| | | console.log('ASGasgsgas', this.maintenanceCategory) |
| | | console.log('这才请求后台') |
| | | getAction(`/eam/maintenanceStandard/listByUser`, { |
| | | id: this.value, |
| | | maintenanceCategory: this.maintenanceCategory |
| | | }).then(res => { |
| | | if(res.success){ |
| | | if(res.result && res.result.length > 0){ |
| | | let obj = { |
| | | key : this.value, |
| | | label: res.result[0].text |
| | | } |
| | | this.selectedAsyncValue = {...obj}; |
| | | this.selectedAsyncValue = { ...obj } |
| | | } |
| | | this.options = res.result; |
| | | this.options = res.result |
| | | } |
| | | }) |
| | | } |
| | |
| | | const currentLoad = this.lastLoad |
| | | this.options = [] |
| | | this.loading = true |
| | | console.log('ssfs', this.selectedAsyncValue) |
| | | console.log('ASGasgsgas', this.maintenanceCategory) |
| | | // 字典code格式:table,text,code |
| | | getAction(`/eam/maintenanceStandard/listByUser`, { keyword: value, pageSize: this.pageSize }).then(res => { |
| | | getAction(`/eam/maintenanceStandard/listByUser`, { |
| | | keyword: value, |
| | | maintenanceCategory: this.maintenanceCategory, |
| | | pageSize: this.pageSize |
| | | }).then(res => { |
| | | this.loading = false |
| | | if (res.success) { |
| | | if (currentLoad != this.lastLoad) { |
| | |
| | | }, |
| | | initDictData() { |
| | | //异步一开始也加载一点数据 |
| | | console.log('fasfasgasgasgfasg') |
| | | this.loading = true |
| | | getAction(`/eam/maintenanceStandard/listByUser`, { pageSize: this.pageSize, keyword: '' }).then(res => { |
| | | getAction(`/eam/maintenanceStandard/listByUser`, { |
| | | pageSize: this.pageSize, |
| | | keyword: '', |
| | | maintenanceCategory: this.maintenanceCategory |
| | | }).then(res => { |
| | | this.loading = false |
| | | if (res.success) { |
| | | this.options = [...res.result] |
| | |
| | | return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 |
| | | }, |
| | | handleAsyncChange(selectedObj) { |
| | | console.log('selectedObj', selectedObj) |
| | | //update-begin-author:scott date:20201222 for:【搜索】搜索查询组件,删除条件,默认下拉还是上次的缓存数据,不好 JT-191 |
| | | if (selectedObj) { |
| | | this.selectedAsyncValue = selectedObj |
| | | //update-begin---author:wangshuai ---date:20221115 for:[issues/4213]JSearchSelectTag改造支持多选------------ |
| | | this.selectedValue = selectedObj.key |
| | | this.$emit('autocompleteForm', this.options.find(item => item.equipmentId === selectedObj.key)) |
| | | //update-end---author:wangshuai ---date:20221115 for:[issues/4213]JSearchSelectTag改造支持多选------------ |
| | | } else { |
| | | this.selectedAsyncValue = null |
| | |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="设备编号"> |
| | | <MaintenanceEquipmentSelect placeholder="请输入设备编号或名称搜索" v-model="model.equipmentId" :disabled="editable"></MaintenanceEquipmentSelect> |
| | | <MaintenanceEquipmentSelect placeholder="请输入设备编号或名称搜索" v-model="model.equipmentId" |
| | | :maintenanceCategory="maintenanceCategory" :disabled="editable" |
| | | @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | |
| | | import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect' |
| | | |
| | | export default { |
| | | name: "EamMaintenanceStandardModal", |
| | | name: 'EamMaintenanceStandardModal', |
| | | mixins: [JVxeTableModelMixin], |
| | | components: { |
| | | MaintenanceEquipmentSelect, |
| | | MaintenanceEquipmentSelect |
| | | }, |
| | | data () { |
| | | return { |
| | | title:"操作", |
| | | title: '操作', |
| | | visible: false, |
| | | model: {}, |
| | | editable: false, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | |
| | | ] |
| | | }, |
| | | url: { |
| | | add: "/eam/maintenanceStandard/add", |
| | | edit: "/eam/maintenanceStandard/edit", |
| | | detail: "/eam/eamMaintenanceStandardDetail/queryList", |
| | | add: '/eam/maintenanceStandard/add', |
| | | edit: '/eam/maintenanceStandard/edit', |
| | | detail: '/eam/eamMaintenanceStandardDetail/queryList' |
| | | }, |
| | | maintenanceCategory: 'POINT_INSPECTION', |
| | | detail: { |
| | | loading: false, |
| | | dataSource: [], |
| | |
| | | title: '序号', |
| | | key: 'itemCode', |
| | | width: '10%', |
| | | align:"center", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '保养项', |
| | | key: 'itemName', |
| | | width: '20%', |
| | | align:"center", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '保养要求', |
| | | key: 'itemDemand', |
| | | width: '30%', |
| | | align:"center", |
| | | }, |
| | | ], |
| | | align: 'center' |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | |
| | | }, |
| | | methods: { |
| | | add () { |
| | | this.model = {}; |
| | | this.visible = true; |
| | | this.editable = false; |
| | | this.model = {} |
| | | this.visible = true |
| | | this.editable = false |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.editable = true; |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | this.editable = true |
| | | if(record && record.referenceFile) { |
| | | let obj = JSON.parse(record.referenceFile); |
| | | this.model.fileList = [obj]; |
| | | let obj = JSON.parse(record.referenceFile) |
| | | this.model.fileList = [obj] |
| | | }else { |
| | | this.model.fieldList = []; |
| | | this.model.fieldList = [] |
| | | } |
| | | this.loadDetail(record.id); |
| | | this.loadDetail(record.id) |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | }, |
| | | async handleOk () { |
| | | const that = this; |
| | | let errMap = await that.$refs.editableDetailTable.validateTable(); |
| | | const that = this |
| | | let errMap = await that.$refs.editableDetailTable.validateTable() |
| | | if(errMap){ |
| | | this.$message.warning("数据校验失败!"); |
| | | return; |
| | | this.$message.warning('数据校验失败!') |
| | | return |
| | | } |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | let tableData = that.$refs.editableDetailTable.getTableData(); |
| | | let removeData = that.$refs.editableDetailTable.getDeleteData(); |
| | | that.model.tableDetailList = [...tableData]; |
| | | that.model.removeDetailList = [...removeData]; |
| | | let tableData = that.$refs.editableDetailTable.getTableData() |
| | | let removeData = that.$refs.editableDetailTable.getDeleteData() |
| | | that.model.tableDetailList = [...tableData] |
| | | that.model.removeDetailList = [...removeData] |
| | | |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | that.confirmLoading = true |
| | | let httpurl = '' |
| | | let method = '' |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | httpurl += this.url.add |
| | | method = 'post' |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | httpurl += this.url.edit |
| | | method = 'put' |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | that.close(); |
| | | that.$message.success(res.message) |
| | | that.$emit('ok') |
| | | that.close() |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | that.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.confirmLoading = false |
| | | }) |
| | | }else{ |
| | | return false; |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel () { |
| | | this.close() |
| | | }, |
| | | autocompleteForm(selectObj) { |
| | | this.model.standardName = selectObj.standardName |
| | | this.model.maintenancePeriod=selectObj.maintenancePeriod |
| | | }, |
| | | //加载详情数据 |
| | | loadDetail(standardId) { |
| | | this.detail.dataSource = []; |
| | | this.detail.dataSource = [] |
| | | if (standardId) { |
| | | getAction(this.url.detail, { standardId: standardId }).then(res => { |
| | | if (res.success) { |
| | | this.detail.dataSource = [...res.result]; |
| | | this.detail.dataSource = [...res.result] |
| | | } |
| | | }) |
| | | } |