From d85f732ccc3a9392710dc42d44baeebd615594fd Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期二, 29 四月 2025 09:35:38 +0800
Subject: [PATCH] OEE页面新增分页查询功能
---
src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue | 275 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 160 insertions(+), 115 deletions(-)
diff --git a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
index 657fe80..038abde 100644
--- a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
+++ b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
@@ -35,10 +35,13 @@
<a-input placeholder="璇疯緭鍏ユ晠闅滃垎绫�" v-model="model.faultType_dictText" readOnly/>
</a-form-model-item>
</a-col>
+ </a-row>
- <a-col :span="12">
- <a-form-model-item label="鏁呴殰鎻忚堪">
- <a-input placeholder="璇疯緭鍏ユ晠闅滄弿杩�" v-model="model.faultDescription" readOnly/>
+ <a-row>
+ <a-col :span="24">
+ <a-form-model-item label="鏁呴殰鎻忚堪" prop="faultDescription" :labelCol="labelColLong"
+ :wrapperCol="wrapperColLong">
+ <a-textarea placeholder="璇疯緭鍏ユ晠闅滄弿杩�" v-model="model.faultDescription"/>
</a-form-model-item>
</a-col>
</a-row>
@@ -47,7 +50,8 @@
<a-col :span="12">
<a-form-model-item prop="faultStartTime" label="鏁呴殰寮�濮嬫椂闂�">
<a-date-picker showTime placeholder="璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�" v-model="model.faultStartTime"
- :allow-clear="false" value-format="YYYY-MM-DD HH:mm:ss"/>
+ :allow-clear="false" value-format="YYYY-MM-DD HH:mm:ss" :disabledDate="disabledDate"
+ :disabledTime="disabledTime"/>
</a-form-model-item>
</a-col>
@@ -63,7 +67,8 @@
<a-row>
<a-col :span="24">
<a-form-model-item prop="imageFiles" label="鎶ヤ慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
- <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" v-model="model.imageFilesResult"/>
+ <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
+ v-model="model.imageFilesResult"/>
</a-form-model-item>
</a-col>
</a-row>
@@ -75,132 +80,172 @@
</a-form-model-item>
</a-col>
</a-row>
- <!-- <a-form-model-item prop="reportStatus" label="鎶ヤ慨鐘舵��">-->
- <!-- <a-input placeholder="璇疯緭鍏ユ姤淇姸鎬�" v-model="model.reportStatus" />-->
- <!-- </a-form-model-item>-->
-
</a-form-model>
</a-spin>
</j-modal>
</template>
<script>
-import { httpAction } from '@/api/manage'
-import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+ import { httpAction } from '@/api/manage'
+ import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+ import moment from 'moment'
-export default {
- name: 'EamReportRepairModal',
- components: { LxSearchEquipmentSelect },
- props: {
- breakdownFlagList: {
- type: Array
+ export default {
+ name: 'EamReportRepairModal',
+ components: { LxSearchEquipmentSelect },
+ props: {
+ breakdownFlagList: {
+ type: Array
+ },
+ faultReasonList: {
+ type: Array
+ }
},
- faultReasonList: {
- type: Array
- }
- },
- data() {
- return {
- title: '鎿嶄綔',
- visible: false,
- model: {},
- labelCol: {
- xs: { span: 24 },
- sm: { span: 8 }
+ data() {
+ return {
+ title: '鎿嶄綔',
+ visible: false,
+ model: {},
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 8 }
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 12 }
+ },
+ labelColLong: {
+ xs: { span: 24 },
+ sm: { span: 4 }
+ },
+ wrapperColLong: {
+ xs: { span: 24 },
+ sm: { span: 18 }
+ },
+ confirmLoading: false,
+ validatorRules: {
+ faultStartTime: [
+ { required: true, message: '璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�' }
+ ],
+ breakdownFlag: [
+ { required: true, message: '璇烽�夋嫨鏄惁鍋滄満' }
+ ],
+ equipmentId: [
+ { required: true, message: '璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储' }
+ ],
+ faultName: [
+ { required: true, message: '璇烽�夋嫨鏁呴殰绠�绉�' }
+ ],
+ faultDescription: [
+ { required: true, message: '璇疯緭鍏ユ晠闅滄弿杩�' }
+ ]
+ },
+ url: {
+ add: '/eam/eamReportRepair/add',
+ edit: '/eam/eamReportRepair/edit'
+ }
+ }
+ },
+ methods: {
+ add() {
+ //鍒濆鍖栭粯璁ゅ��
+ this.edit({
+ faultDescription: '',
+ breakdownFlag: this.breakdownFlagList.find(item => item.label === '鍚�').value
+ })
},
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 12 }
+
+ edit(record) {
+ this.model = Object.assign({}, record, { imageFilesResult: record.imageFiles && this.isJSON(record.imageFiles) ? JSON.parse(record.imageFiles) : null })
+ this.visible = true
},
- labelColLong: {
- xs: { span: 24 },
- sm: { span: 4 }
+
+ handleFaultNameChange(value) {
+ const faultReasonItem = this.faultReasonList.find(item => item.faultName === value)
+ this.model.faultType = faultReasonItem.faultCategory
+ this.model.faultType_dictText = faultReasonItem.faultCategory_dictText
+ this.model.faultDescription = faultReasonItem.faultDescription
},
- wrapperColLong: {
- xs: { span: 24 },
- sm: { span: 18 }
+
+ handleOk() {
+ const that = this
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ console.log('model---------------', that.model)
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true
+ let httpUrl = ''
+ let method = ''
+ if (!this.model.id) {
+ httpUrl += this.url.add
+ method = 'post'
+ } else {
+ httpUrl += this.url.edit
+ method = 'put'
+ }
+ httpAction(httpUrl, this.model, method).then((res) => {
+ if (res.success) {
+ that.$message.success(res.message)
+ that.$emit('ok')
+ } else {
+ that.$message.warning(res.message)
+ }
+ }).finally(() => {
+ that.confirmLoading = false
+ that.close()
+ })
+ } else {
+ return false
+ }
+ })
},
- confirmLoading: false,
- validatorRules: {
- faultStartTime: [
- { required: true, message: '璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�' }
- ],
- breakdownFlag: [
- { required: true, message: '璇烽�夋嫨鏄惁鍋滄満' }
- ],
- equipmentId: [
- { required: true, message: '璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储' }
- ],
- faultName: [
- { required: true, message: '璇烽�夋嫨鏁呴殰绠�绉�' }
- ]
+
+ // 鍒ゆ柇鏄笉鏄疛SON瀛楃涓�
+ isJSON(str) {
+ try {
+ JSON.parse(str)
+ return true // 濡傛灉杩欓噷娌℃湁鎶涘嚭寮傚父锛岃鏄庢槸JSON鏍煎紡鐨勫瓧绗︿覆
+ } catch (e) {
+ return false // 濡傛灉鎶涘嚭寮傚父锛岃鏄庝笉鏄疛SON鏍煎紡鐨勫瓧绗︿覆
+ }
},
- url: {
- add: '/eam/eamReportRepair/add',
- edit: '/eam/eamReportRepair/edit'
+
+ /**
+ * 绂佺敤鏃ユ湡
+ * @params current 琚鐢ㄧ殑鏃堕棿
+ */
+ disabledDate(current) {
+ // Can not select days after today
+ return current > moment().endOf('day')
+ },
+
+ /**
+ * 绂佺敤鏃ユ湡涓殑鏃堕棿
+ * @returns {{disabledHours: (function(): Array), disabledMinutes: (function(): Array)}}
+ */
+ disabledTime() {
+ function range(start, end) {
+ const result = []
+ for (let i = start; i < end; i++) {
+ result.push(i)
+ }
+ return result
+ }
+
+ return {
+ disabledHours: () => range(moment().hour() + 1, 24),
+ disabledMinutes: () => range(moment().minute() + 1, 60),
+ disabledSeconds: () => range(moment().second() + 1, 60)
+ }
+ },
+
+ close() {
+ this.$emit('close')
+ this.visible = false
+ if (this.$refs.form) this.$refs.form.clearValidate()
}
}
- },
- created() {
- },
- methods: {
- add() {
- //鍒濆鍖栭粯璁ゅ��
- this.edit({
- breakdownFlag: this.breakdownFlagList.find(item => item.label === '鏄�').value
- })
- },
- edit(record) {
- this.model = Object.assign({}, record)
- this.visible = true
- },
- handleFaultNameChange(value) {
- const faultReasonItem = this.faultReasonList.find(item => item.faultName === value)
- this.model.faultType = faultReasonItem.faultCategory
- this.model.faultType_dictText = faultReasonItem.faultCategory_dictText
- this.model.faultDescription = faultReasonItem.faultDescription
- },
-
- handleOk() {
- const that = this
- // 瑙﹀彂琛ㄥ崟楠岃瘉
- console.log('model---------------', that.model)
- this.$refs.form.validate(valid => {
- if (valid) {
- that.confirmLoading = true
- let httpUrl = ''
- let method = ''
- if (!this.model.id) {
- httpUrl += this.url.add
- method = 'post'
- } else {
- httpUrl += this.url.edit
- method = 'put'
- }
- httpAction(httpUrl, this.model, method).then((res) => {
- if (res.success) {
- that.$message.success(res.message)
- that.$emit('ok')
- } else {
- that.$message.warning(res.message)
- }
- }).finally(() => {
- that.confirmLoading = false
- that.close()
- })
- } else {
- return false
- }
- })
- },
-
- close() {
- this.$emit('close')
- this.visible = false
- this.$refs.form.clearValidate()
- }
}
-}
</script>
<style lang="less" scoped>
--
Gitblit v1.9.3