From 6898affed9de568f7af17bc156ea5e9c70605a1d Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 29 四月 2025 15:40:49 +0800 Subject: [PATCH] art: 设备管理-设备二保、三保-基础代码生成 --- src/views/eam/maintenance/modules/EamSecondMaintenanceOrderModal.vue | 153 ++++++++++ src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue | 156 +++++++++++ src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue | 245 +++++++++++++++++ src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue | 240 +++++++++++++++++ 4 files changed, 794 insertions(+), 0 deletions(-) diff --git a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue new file mode 100644 index 0000000..4aa53d0 --- /dev/null +++ b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue @@ -0,0 +1,240 @@ +<template> + <a-card :bordered="false"> + + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鍒犻櫎鏍囪"> + <a-input placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" v-model="queryParam.delFlag"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="宸ュ崟鍙�"> + <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="queryParam.orderNum"></a-input> + </a-form-item> + </a-col> + <template v-if="toggleSearchStatus"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="璁惧ID"> + <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="queryParam.equipmentId"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鏍囧噯ID"> + <a-input placeholder="璇疯緭鍏ユ爣鍑咺D" v-model="queryParam.standardId"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="璁″垝寮�濮嬫椂闂�"> + <a-input placeholder="璇疯緭鍏ヨ鍒掑紑濮嬫椂闂�" v-model="queryParam.planStartTime"></a-input> + </a-form-item> + </a-col> + </template> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + <a @click="handleToggleSearch" style="margin-left: 8px"> + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧浜岀骇淇濆吇')">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import">瀵煎叆</a-button> + </a-upload> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + </a-dropdown> + </div> + + <!-- table鍖哄煙-begin --> + <div> + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + class="j-table-force-nowrap" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + @change="handleTableChange"> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + <!-- table鍖哄煙-end --> + + <!-- 琛ㄥ崟鍖哄煙 --> + <eamSecondMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"></eamSecondMaintenanceOrder-modal> + </a-card> +</template> + +<script> + import '@/assets/less/TableExpand.less' + import EamSecondMaintenanceOrderModal from './modules/EamSecondMaintenanceOrderModal' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + + export default { + name: "EamSecondMaintenanceOrderList", + mixins:[JeecgListMixin], + components: { + EamSecondMaintenanceOrderModal + }, + data () { + return { + description: '璁惧浜岀骇淇濆吇绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title: '鍒犻櫎鏍囪', + align:"center", + dataIndex: 'delFlag' + }, + { + title: '宸ュ崟鍙�', + align:"center", + dataIndex: 'orderNum' + }, + { + title: '璁惧ID', + align:"center", + dataIndex: 'equipmentId' + }, + { + title: '鏍囧噯ID', + align:"center", + dataIndex: 'standardId' + }, + { + title: '璁″垝寮�濮嬫椂闂�', + align:"center", + dataIndex: 'planStartTime' + }, + { + title: '璁″垝缁撴潫鏃堕棿', + align:"center", + dataIndex: 'planEndTime' + }, + { + title: '瀹為檯寮�濮嬫椂闂�', + align:"center", + dataIndex: 'actualStartTime' + }, + { + title: '瀹為檯缁撴潫鏃堕棿', + align:"center", + dataIndex: 'actualEndTime' + }, + { + title: '淇濆吇浜�', + align:"center", + dataIndex: 'operator' + }, + { + title: '淇濆吇鐘舵��', + align:"center", + dataIndex: 'maintenanceStatus' + }, + { + title: '鍒涘缓鏂瑰紡', + align:"center", + dataIndex: 'creationMethod' + }, + { + title: '璁惧绠$悊鍛樼‘璁�', + align:"center", + dataIndex: 'confirmUser' + }, + { + title: '纭鏃堕棿', + align:"center", + dataIndex: 'confirmTime' + }, + { + title: '鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧', + align:"center", + dataIndex: 'imageFiles' + }, + { + title: '澶囨敞', + align:"center", + dataIndex: 'remark' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align:"center", + scopedSlots: { customRender: 'action' }, + } + ], + url: { + list: "/eam/eamSecondMaintenanceOrder/list", + delete: "/eam/eamSecondMaintenanceOrder/delete", + deleteBatch: "/eam/eamSecondMaintenanceOrder/deleteBatch", + exportXlsUrl: "eam/eamSecondMaintenanceOrder/exportXls", + importExcelUrl: "eam/eamSecondMaintenanceOrder/importExcel", + }, + } + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue b/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue new file mode 100644 index 0000000..6b32590 --- /dev/null +++ b/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue @@ -0,0 +1,245 @@ +<template> + <a-card :bordered="false"> + + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鍒犻櫎鏍囪"> + <a-input placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" v-model="queryParam.delFlag"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="宸ュ崟鍙�"> + <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="queryParam.orderNum"></a-input> + </a-form-item> + </a-col> + <template v-if="toggleSearchStatus"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="璁惧ID"> + <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="queryParam.equipmentId"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鏍囧噯ID"> + <a-input placeholder="璇疯緭鍏ユ爣鍑咺D" v-model="queryParam.standardId"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="璁″垝寮�濮嬫椂闂�"> + <a-input placeholder="璇疯緭鍏ヨ鍒掑紑濮嬫椂闂�" v-model="queryParam.planStartTime"></a-input> + </a-form-item> + </a-col> + </template> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + <a @click="handleToggleSearch" style="margin-left: 8px"> + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧涓夌骇淇濆吇')">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import">瀵煎叆</a-button> + </a-upload> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + </a-dropdown> + </div> + + <!-- table鍖哄煙-begin --> + <div> + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + class="j-table-force-nowrap" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + @change="handleTableChange"> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + <!-- table鍖哄煙-end --> + + <!-- 琛ㄥ崟鍖哄煙 --> + <eamThirdMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"></eamThirdMaintenanceOrder-modal> + </a-card> +</template> + +<script> + import '@/assets/less/TableExpand.less' + import EamThirdMaintenanceOrderModal from './modules/EamThirdMaintenanceOrderModal' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + + export default { + name: "EamThirdMaintenanceOrderList", + mixins:[JeecgListMixin], + components: { + EamThirdMaintenanceOrderModal + }, + data () { + return { + description: '璁惧涓夌骇淇濆吇绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title: '鍒犻櫎鏍囪', + align:"center", + dataIndex: 'delFlag' + }, + { + title: '宸ュ崟鍙�', + align:"center", + dataIndex: 'orderNum' + }, + { + title: '璁惧ID', + align:"center", + dataIndex: 'equipmentId' + }, + { + title: '鏍囧噯ID', + align:"center", + dataIndex: 'standardId' + }, + { + title: '璁″垝寮�濮嬫椂闂�', + align:"center", + dataIndex: 'planStartTime' + }, + { + title: '璁″垝缁撴潫鏃堕棿', + align:"center", + dataIndex: 'planEndTime' + }, + { + title: '瀹為檯寮�濮嬫椂闂�', + align:"center", + dataIndex: 'actualStartTime' + }, + { + title: '瀹為檯缁撴潫鏃堕棿', + align:"center", + dataIndex: 'actualEndTime' + }, + { + title: '淇濆吇浜�', + align:"center", + dataIndex: 'operator' + }, + { + title: '淇濆吇鐘舵��', + align:"center", + dataIndex: 'maintenanceStatus' + }, + { + title: '鍒涘缓鏂瑰紡', + align:"center", + dataIndex: 'creationMethod' + }, + { + title: '璁惧绠$悊鍛樼‘璁�', + align:"center", + dataIndex: 'confirmUser' + }, + { + title: '纭鏃堕棿', + align:"center", + dataIndex: 'confirmTime' + }, + { + title: '纭鐘舵��', + align:"center", + dataIndex: 'confirmStatus' + }, + { + title: '鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧', + align:"center", + dataIndex: 'imageFiles' + }, + { + title: '澶囨敞', + align:"center", + dataIndex: 'remark' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align:"center", + scopedSlots: { customRender: 'action' }, + } + ], + url: { + list: "/eam/eamThirdMaintenanceOrder/list", + delete: "/eam/eamThirdMaintenanceOrder/delete", + deleteBatch: "/eam/eamThirdMaintenanceOrder/deleteBatch", + exportXlsUrl: "eam/eamThirdMaintenanceOrder/exportXls", + importExcelUrl: "eam/eamThirdMaintenanceOrder/importExcel", + }, + } + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/eam/maintenance/modules/EamSecondMaintenanceOrderModal.vue b/src/views/eam/maintenance/modules/EamSecondMaintenanceOrderModal.vue new file mode 100644 index 0000000..5879629 --- /dev/null +++ b/src/views/eam/maintenance/modules/EamSecondMaintenanceOrderModal.vue @@ -0,0 +1,153 @@ +<template> + <j-modal + :title="title" + :width="800" + :visible="visible" + :confirmLoading="confirmLoading" + switchFullscreen + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴"> + + <a-spin :spinning="confirmLoading"> + <a-form-model ref="form" :model="model" :rules="validatorRules"> + + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪"> + <a-input-number v-model="model.delFlag"/> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNum" label="宸ュ崟鍙�"> + <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="model.orderNum" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID"> + <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardId" label="鏍囧噯ID"> + <a-input placeholder="璇疯緭鍏ユ爣鍑咺D" v-model="model.standardId" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStartTime" label="璁″垝寮�濮嬫椂闂�"> + <a-input placeholder="璇疯緭鍏ヨ鍒掑紑濮嬫椂闂�" v-model="model.planStartTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planEndTime" label="璁″垝缁撴潫鏃堕棿"> + <a-input placeholder="璇疯緭鍏ヨ鍒掔粨鏉熸椂闂�" v-model="model.planEndTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualStartTime" label="瀹為檯寮�濮嬫椂闂�"> + <a-input placeholder="璇疯緭鍏ュ疄闄呭紑濮嬫椂闂�" v-model="model.actualStartTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualEndTime" label="瀹為檯缁撴潫鏃堕棿"> + <a-input placeholder="璇疯緭鍏ュ疄闄呯粨鏉熸椂闂�" v-model="model.actualEndTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="淇濆吇浜�"> + <a-input placeholder="璇疯緭鍏ヤ繚鍏讳汉" v-model="model.operator" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceStatus" label="淇濆吇鐘舵��"> + <a-input placeholder="璇疯緭鍏ヤ繚鍏荤姸鎬�" v-model="model.maintenanceStatus" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="creationMethod" label="鍒涘缓鏂瑰紡"> + <a-input placeholder="璇疯緭鍏ュ垱寤烘柟寮�" v-model="model.creationMethod" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmUser" label="璁惧绠$悊鍛樼‘璁�"> + <a-input placeholder="璇疯緭鍏ヨ澶囩鐞嗗憳纭" v-model="model.confirmUser" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime" label="纭鏃堕棿"> + <a-input placeholder="璇疯緭鍏ョ‘璁ゆ椂闂�" v-model="model.confirmTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="imageFiles" label="鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧"> + <a-input placeholder="璇疯緭鍏ョ収鐗囨枃浠秈ds;id浠ラ�楀彿鍒嗛殧" v-model="model.imageFiles" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> + <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" /> + </a-form-model-item> + + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> + import { httpAction } from '@/api/manage' + import moment from "moment" + + export default { + name: "EamSecondMaintenanceOrderModal", + data () { + return { + title:"鎿嶄綔", + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + + confirmLoading: false, + validatorRules:{ + }, + url: { + add: "/eam/eamSecondMaintenanceOrder/add", + edit: "/eam/eamSecondMaintenanceOrder/edit", + }, + } + }, + created () { + }, + methods: { + add () { + //鍒濆鍖栭粯璁ゅ�� + this.edit({}); + }, + edit (record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + close () { + this.$emit('close'); + this.visible = false; + this.$refs.form.clearValidate(); + }, + handleOk () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + 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; + } + }) + }, + handleCancel () { + this.close() + }, + + + } + } +</script> + +<style lang="less" scoped> + +</style> \ No newline at end of file diff --git a/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue b/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue new file mode 100644 index 0000000..ed26cae --- /dev/null +++ b/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue @@ -0,0 +1,156 @@ +<template> + <j-modal + :title="title" + :width="800" + :visible="visible" + :confirmLoading="confirmLoading" + switchFullscreen + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴"> + + <a-spin :spinning="confirmLoading"> + <a-form-model ref="form" :model="model" :rules="validatorRules"> + + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪"> + <a-input-number v-model="model.delFlag"/> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNum" label="宸ュ崟鍙�"> + <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="model.orderNum" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID"> + <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardId" label="鏍囧噯ID"> + <a-input placeholder="璇疯緭鍏ユ爣鍑咺D" v-model="model.standardId" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStartTime" label="璁″垝寮�濮嬫椂闂�"> + <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.planStartTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planEndTime" label="璁″垝缁撴潫鏃堕棿"> + <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.planEndTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualStartTime" label="瀹為檯寮�濮嬫椂闂�"> + <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.actualStartTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualEndTime" label="瀹為檯缁撴潫鏃堕棿"> + <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.actualEndTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="淇濆吇浜�"> + <a-input placeholder="璇疯緭鍏ヤ繚鍏讳汉" v-model="model.operator" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceStatus" label="淇濆吇鐘舵��"> + <a-input placeholder="璇疯緭鍏ヤ繚鍏荤姸鎬�" v-model="model.maintenanceStatus" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="creationMethod" label="鍒涘缓鏂瑰紡"> + <a-input placeholder="璇疯緭鍏ュ垱寤烘柟寮�" v-model="model.creationMethod" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmUser" label="璁惧绠$悊鍛樼‘璁�"> + <a-input placeholder="璇疯緭鍏ヨ澶囩鐞嗗憳纭" v-model="model.confirmUser" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime" label="纭鏃堕棿"> + <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.confirmTime" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmStatus" label="纭鐘舵��"> + <a-input placeholder="璇疯緭鍏ョ‘璁ょ姸鎬�" v-model="model.confirmStatus" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="imageFiles" label="鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧"> + <a-input placeholder="璇疯緭鍏ョ収鐗囨枃浠秈ds;id浠ラ�楀彿鍒嗛殧" v-model="model.imageFiles" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> + <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" /> + </a-form-model-item> + + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> + import { httpAction } from '@/api/manage' + import moment from "moment" + + export default { + name: "EamThirdMaintenanceOrderModal", + data () { + return { + title:"鎿嶄綔", + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + + confirmLoading: false, + validatorRules:{ + }, + url: { + add: "/eam/eamThirdMaintenanceOrder/add", + edit: "/eam/eamThirdMaintenanceOrder/edit", + }, + } + }, + created () { + }, + methods: { + add () { + //鍒濆鍖栭粯璁ゅ�� + this.edit({}); + }, + edit (record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + close () { + this.$emit('close'); + this.visible = false; + this.$refs.form.clearValidate(); + }, + handleOk () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + 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; + } + }) + }, + handleCancel () { + this.close() + }, + + + } + } +</script> + +<style lang="less" scoped> + +</style> \ No newline at end of file -- Gitblit v1.9.3