From cac716483630eb312b87afbecf6dbd9c5cb3e3d7 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 25 七月 2025 16:40:30 +0800 Subject: [PATCH] 设备事故登记表页面功能及流程开发 --- /dev/null | 235 ------------- src/views/eam/repair/EamReportAccidentsRegisterList.vue | 124 ++++-- src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue | 6 src/views/flowable/workflow/repairOrder/ReportAccidentsRegisterApprovalModal.vue | 615 ++++++++++++++++++++++++++++++++++ src/views/flowable/workflow/FlowCompleted.vue | 21 + src/views/flowable/workflow/FlowTodo.vue | 21 + 6 files changed, 737 insertions(+), 285 deletions(-) diff --git a/src/views/eam/dispose/EamEquipmentLeanOutList.vue b/src/views/eam/dispose/EamEquipmentLeanOutList.vue deleted file mode 100644 index ec649a4..0000000 --- a/src/views/eam/dispose/EamEquipmentLeanOutList.vue +++ /dev/null @@ -1,263 +0,0 @@ -<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="4" :lg="7" :md="8" :sm="24"> - <a-form-item label="璁惧缂栧彿"> - <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" - v-model="queryParam.equipmentId"></lx-search-equipment-select> - </a-form-item> - </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> - <a-form-item label="鍗曟嵁鍙�"> - <a-input placeholder="璇疯緭鍏ュ崟鎹彿" v-model="queryParam.code"></a-input> - </a-form-item> - </a-col> - <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="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> - </span> - </a-col> - </a-row> - </a-form> - </div> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <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" - :scroll="{ x: 'max-content' }" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - @change="handleTableChange"> - - <span slot="action" slot-scope="text, record"> - <template v-if="record.leanStatus === 'WAIT_SUBMIT'"> - <a @click="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical" /> - <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => handleSubmit(record.id)"> - <a>鎻愪氦</a> - </a-popconfirm> - <a-divider type="vertical" /> - <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> - <a-menu-item> - <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a> - </a-menu-item> - <a-menu-item> - <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - </template> - <template v-else> - <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a> - </template> - </span> - - </a-table> - </div> - <!-- table鍖哄煙-end --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipmentLeanOut-modal ref="modalForm" @ok="modalFormOk"></eamEquipmentLeanOut-modal> - </a-card> -</template> - -<script> -import '@/assets/less/TableExpand.less' -import EamEquipmentLeanOutModal from './modules/EamEquipmentLeanOutModal' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' -import { getAction } from '@api/manage' - -export default { - name: 'EamEquipmentLeanOutList', - mixins: [JeecgListMixin], - components: { - LxSearchEquipmentSelect, - EamEquipmentLeanOutModal - }, - data() { - return { - description: '璁惧鍊熷嚭褰掕繕绠$悊椤甸潰', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - fixed: 'left', - align: 'center', - customRender: function(t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '璁惧缂栧彿', - align: 'center', - dataIndex: 'equipmentCode', - fixed: 'left', - }, - { - title: '璁惧鍚嶇О', - align: 'center', - dataIndex: 'equipmentName', - fixed: 'left', - }, - { - title: '鍗曟嵁鍙�', - align: 'center', - dataIndex: 'code' - }, - { - title: '鍊熷叆杞﹂棿', - align: 'center', - dataIndex: 'leanDepartId_dictText' - }, - { - title: '鍊熷叆浜�', - align: 'center', - dataIndex: 'leanPerson_dictText' - }, - { - title: '鍊熺敤鍘熷洜', - align: 'center', - dataIndex: 'leanReason' - }, - { - title: '鍊熺敤鐘舵��', - align: 'center', - dataIndex: 'leanStatus_dictText' - }, - { - title: '鍊熺敤寮�濮嬫椂闂�', - align: 'center', - dataIndex: 'leanStartTime' - }, - { - title: '鍊熺敤褰掕繕鏃堕棿', - align: 'center', - dataIndex: 'leanEndTime' - }, - { - title: '瀹℃牳浜�', - align: 'center', - dataIndex: 'approvalUser_dictText' - }, - { - title: '瀹℃牳鎰忚', - align: 'center', - dataIndex: 'approvalComment' - }, - { - title: '瀹℃牳鏃堕棿', - align: 'center', - dataIndex: 'approvalTime' - }, - { - title: '褰掕繕纭浜�', - align: 'center', - dataIndex: 'confirmUser_dictText' - }, - { - title: '纭鎰忚', - align: 'center', - dataIndex: 'confirmComment' - }, - { - title: '纭鏃堕棿', - align: 'center', - dataIndex: 'confirmTime' - }, - { - title: '澶囨敞', - align: 'center', - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - fixed: 'right', - width: 200, - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: '/eam/eamEquipmentLeanOut/list', - delete: '/eam/eamEquipmentLeanOut/delete', - deleteBatch: '/eam/eamEquipmentLeanOut/deleteBatch', - submit: '/eam/eamEquipmentLeanOut/submit', - } - } - }, - computed: {}, - methods: { - handleSubmit(id) { - if (!this.url.submit) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - let that = this - getAction(that.url.submit, { id: id }).then((res) => { - if (res.success) { - //閲嶆柊璁$畻鍒嗛〉闂 - that.reCalculatePage(1) - // that.$message.success(res.message); - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }) - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/dispose/EamEquipmentScrapList.vue b/src/views/eam/dispose/EamEquipmentScrapList.vue deleted file mode 100644 index d9986e6..0000000 --- a/src/views/eam/dispose/EamEquipmentScrapList.vue +++ /dev/null @@ -1,272 +0,0 @@ -<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 :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='璁惧缂栧彿'> - <lx-search-equipment-select v-model='queryParam.equipmentId' - placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> - </a-form-item> - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='鍗曟嵁鍙�'> - <a-input v-model='queryParam.code' placeholder='璇疯緭鍏ュ崟鎹彿'></a-input> - </a-form-item> - </a-col> - <template v-if='toggleSearchStatus'> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='璁惧ID'> - <a-input v-model='queryParam.equipmentId' placeholder='璇疯緭鍏ヨ澶嘔D'></a-input> - </a-form-item> - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='杞/鎶ュ簾'> - <a-input v-model='queryParam.scrapType' placeholder='璇疯緭鍏ヨ浆璁�/鎶ュ簾'></a-input> - </a-form-item> - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='鐢宠浜�'> - <a-input v-model='queryParam.reportUser' placeholder='璇疯緭鍏ョ敵璇蜂汉'></a-input> - </a-form-item> - </a-col> - </template> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <span class='table-page-search-submitButtons' style='float: left;overflow: hidden;'> - <a-button icon='search' type='primary' @click='searchQuery'>鏌ヨ</a-button> - <a-button icon='reload' style='margin-left: 8px' type='primary' @click='searchReset'>閲嶇疆</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 icon='plus' type='primary' @click='handleAdd'>鏂板</a-button> - <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' - :columns='columns' - :dataSource='dataSource' - :loading='loading' - :pagination='ipagination' - :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' - bordered - class='j-table-force-nowrap' - rowKey='id' - size='middle' - @change='handleTableChange'> - - <span slot='action' slot-scope='text, record'> - <template v-if="record.scrapStatus === 'WAIT_SUBMIT'"> - <a-popconfirm title='纭畾鎻愪氦鍚�?' @confirm='() => handleSubmit(record.id)'> - <a>鎻愪氦</a> - </a-popconfirm> - <a-divider type='vertical' /> - - <a-dropdown> - <a class='ant-dropdown-link'>鏇村 <a-icon type='down' /></a> - <a-menu slot='overlay'> - <a-menu-item> - <a @click='handleEdit(record)'>缂栬緫</a> - </a-menu-item> - <a-menu-item> - <a-popconfirm title='纭畾鍒犻櫎鍚�?' @confirm='() => handleDelete(record.id)'> - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - </template> - <template v-else> - <a href='javascript:;' @click='handleDetail(record)'>璇︽儏</a> - </template> - </span> - - </a-table> - </div> - <!-- table鍖哄煙-end --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipmentScrap-modal ref='modalForm' @ok='modalFormOk'></eamEquipmentScrap-modal> - </a-card> -</template> - -<script> -import '@/assets/less/TableExpand.less' -import EamEquipmentScrapModal from './modules/EamEquipmentScrapModal' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' -import { getAction } from '@api/manage' - - -export default { - name: 'EamEquipmentScrapList', - mixins: [JeecgListMixin], - components: { - EamEquipmentScrapModal, - LxSearchEquipmentSelect - }, - 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: 'code' - }, - { - title: '璁惧缂栧彿', - align: 'center', - dataIndex: 'equipmentCode' - }, - { - title: '璁惧鍚嶇О', - align: 'center', - dataIndex: 'equipmentName' - }, - { - title: '杞/鎶ュ簾', - align: 'center', - dataIndex: 'scrapType_dictText' - }, - { - title: '鐢宠浜�', - align: 'center', - dataIndex: 'reportUser_dictText' - }, - { - title: '澶勭疆鏃堕棿', - align: 'center', - dataIndex: 'scrapTime' - }, - { - title: '澶勭疆鐞嗙敱', - align: 'center', - dataIndex: 'scrapReason' - }, - { - title: '澶勭疆閲戦', - align: 'center', - dataIndex: 'scrapAmount' - }, - { - title: '澶勭疆鐘舵��', - align: 'center', - dataIndex: 'scrapStatus_dictText' - }, - { - title: '瀹℃牳浜�', - align: 'center', - dataIndex: 'approvalUser_dictText' - }, - { - title: '瀹℃牳鎰忚', - align: 'center', - dataIndex: 'approvalComment' - }, - { - title: '瀹℃牳鏃堕棿', - align: 'center', - dataIndex: 'approvalTime' - }, - { - title: '澶囨敞', - align: 'center', - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - fixed: 'right', - width: 150, - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: '/eam/eamEquipmentScrap/list', - delete: '/eam/eamEquipmentScrap/delete', - deleteBatch: '/eam/eamEquipmentScrap/deleteBatch', - submit: '/eam/eamEquipmentScrap/submit' - } - } - }, - computed: { - importExcelUrl: function() { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` - } - }, - methods: { - handleSubmit(id) { - if (!this.url.submit) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - let that = this - getAction(that.url.submit, { id: id }).then((res) => { - if (res.success) { - //閲嶆柊璁$畻鍒嗛〉闂 - that.reCalculatePage(1) - // that.$message.success(res.message); - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }) - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/dispose/EamEquipmentSealUpList.vue b/src/views/eam/dispose/EamEquipmentSealUpList.vue deleted file mode 100644 index c26873b..0000000 --- a/src/views/eam/dispose/EamEquipmentSealUpList.vue +++ /dev/null @@ -1,264 +0,0 @@ -<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 :lg='7' :md='8' :sm='24' :xl='4'> - <a-form-item label='璁惧缂栧彿'> - <lx-search-equipment-select v-model='queryParam.equipmentId' - placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> - </a-form-item> - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='4'> - <a-form-item label='鍗曟嵁鍙�'> - <a-input v-model='queryParam.code' placeholder='璇疯緭鍏ュ崟鎹彿'></a-input> - </a-form-item> - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <span class='table-page-search-submitButtons' style='float: left;overflow: hidden;'> - <a-button icon='search' type='primary' @click='searchQuery'>鏌ヨ</a-button> - <a-button icon='reload' style='margin-left: 8px' type='info' @click='searchReset'>閲嶇疆</a-button> - </span> - </a-col> - </a-row> - </a-form> - </div> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class='table-operator'> - <a-button icon='plus' type='primary' @click='handleAdd'>鏂板</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' - :columns='columns' - :dataSource='dataSource' - :loading='loading' - :pagination='ipagination' - :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' - bordered - class='j-table-force-nowrap' - rowKey='id' - size='middle' - @change='handleTableChange'> - - <span slot='action' slot-scope='text, record'> - <template v-if="record.sealStatus === 'WAIT_SUBMIT'"> - <a-popconfirm title='纭畾鎻愪氦鍚�?' @confirm='() => handleSubmit(record.id)'> - <a>鎻愪氦</a> - </a-popconfirm> - <a-divider type='vertical' /> - <a @click='handleEdit(record)'>缂栬緫</a> - <a-divider type='vertical' /> - <a-popconfirm title='纭畾鍒犻櫎鍚�?' @confirm='() => handleDelete(record.id)'> - <a>鍒犻櫎</a> - </a-popconfirm> - </template> - <template v-if="record.sealStatus === 'SEALED'"> - <a-popconfirm title='纭畾鍚皝鍚�?' @confirm='() => handleUnseal(record.id)'> - <a>鍚皝</a> - </a-popconfirm> - <a-divider type='vertical' /> - <a @click='handleDetail(record)'>璇︽儏</a> - </template> - <template v-if="record.sealStatus === 'COMPLETE'|| record.sealStatus === 'WAIT_UNSEALING_AUDIT' "> - <a @click='handleDetail(record)'>璇︽儏</a> - </template> - </span> - - </a-table> - </div> - <!-- table鍖哄煙-end --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipmentSealUp-modal ref='modalForm' @ok='modalFormOk'></eamEquipmentSealUp-modal> - </a-card> -</template> - -<script> -import '@/assets/less/TableExpand.less' -import EamEquipmentSealUpModal from './modules/EamEquipmentSealUpModal' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' -import { getAction } from '@api/manage' - -export default { - name: 'EamEquipmentSealUpList', - mixins: [JeecgListMixin], - components: { - EamEquipmentSealUpModal, - LxSearchEquipmentSelect - }, - 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: 'equipmentCode' - }, - { - title: '璁惧鍚嶇О', - align: 'center', - dataIndex: 'equipmentName' - }, - { - title: '鍗曟嵁鍙�', - align: 'center', - dataIndex: 'code' - }, - { - title: '鐢宠浜�', - align: 'center', - dataIndex: 'reportUser_dictText' - }, - { - title: '灏佸瓨寮�濮嬫椂闂�', - align: 'center', - dataIndex: 'sealStartTime' - }, - { - title: '灏佸瓨缁撴潫鏃堕棿', - align: 'center', - dataIndex: 'sealEndTime' - }, - { - title: '灏佸瓨鍘熷洜', - align: 'center', - dataIndex: 'sealUpReason' - }, - { - title: '灏佸瓨鐘舵��', - align: 'center', - dataIndex: 'sealStatus_dictText' - }, - { - title: '瀹℃牳浜�', - align: 'center', - dataIndex: 'approvalUser' - }, - { - title: '瀹℃牳鏃堕棿', - align: 'center', - dataIndex: 'approvalTime' - }, - { - title: '澶囨敞', - align: 'center', - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: '/eam/eamEquipmentSealUp/list', - delete: '/eam/eamEquipmentSealUp/delete', - deleteBatch: '/eam/eamEquipmentSealUp/deleteBatch', - submit: '/eam/eamEquipmentSealUp/submit', - unseal: '/eam/eamEquipmentSealUp/unseal' - } - } - }, - computed: { - importExcelUrl: function() { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` - } - }, - methods: { - handleSubmit(id) { - if (!this.url.submit) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - let that = this - getAction(that.url.submit, { id: id }).then((res) => { - if (res.success) { - //閲嶆柊璁$畻鍒嗛〉闂 - that.reCalculatePage(1) - // that.$message.success(res.message); - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }) - }, - handleUnseal(id) { - if (!this.url.unseal) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - let that = this - getAction(that.url.unseal, { id: id }).then((res) => { - if (res.success) { - //閲嶆柊璁$畻鍒嗛〉闂 - that.reCalculatePage(1) - // that.$message.success(res.message); - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }) - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/dispose/EamEquipmentTransferList.vue b/src/views/eam/dispose/EamEquipmentTransferList.vue deleted file mode 100644 index c49a02a..0000000 --- a/src/views/eam/dispose/EamEquipmentTransferList.vue +++ /dev/null @@ -1,276 +0,0 @@ -<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 :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='璁惧缂栧彿'> - <lx-search-equipment-select v-model='queryParam.equipmentId' - placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> - </a-form-item> - - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='鍗曟嵁鍙�'> - <a-input v-model='queryParam.code' placeholder='璇疯緭鍏ュ崟鎹彿'></a-input> - </a-form-item> - </a-col> - <template v-if='toggleSearchStatus'> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='璋冨嚭閮ㄩ棬'> - <a-input v-model='queryParam.oldDepartId' placeholder='璇疯緭鍏ヨ皟鍑洪儴闂�'></a-input> - </a-form-item> - </a-col> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <a-form-item label='璋冨叆閮ㄩ棬'> - <a-input v-model='queryParam.newDepartId' placeholder='璇疯緭鍏ヨ皟鍏ラ儴闂�'></a-input> - </a-form-item> - </a-col> - </template> - <a-col :lg='7' :md='8' :sm='24' :xl='6'> - <span class='table-page-search-submitButtons' style='float: left;overflow: hidden;'> - <a-button icon='search' type='primary' @click='searchQuery'>鏌ヨ</a-button> - <a-button icon='reload' style='margin-left: 8px' type='primary' @click='searchReset'>閲嶇疆</a-button> -<!-- <a style='margin-left: 8px' @click='handleToggleSearch'>--> -<!-- {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}--> -<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />--> -<!-- </a>--> - </span> - </a-col> - - </a-row> - </a-form> - </div> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class='table-operator'> - <a-button icon='plus' type='primary' @click='handleAdd'>鏂板</a-button> - <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' - :columns='columns' - :dataSource='dataSource' - :loading='loading' - :pagination='ipagination' - :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' - :scroll="{ x: 'max-content' }" - bordered - class='j-table-force-nowrap' - rowKey='id' - size='middle' - @change='handleTableChange'> - - <span slot='action' slot-scope='text, record'> - <template v-if="record.transferStatus === 'WAIT_SUBMIT'"> - <a-popconfirm title='纭畾鎻愪氦鍚�?' @confirm='() => handleSubmit(record.id)'> - <a>鎻愪氦</a> - </a-popconfirm> - <a-divider type='vertical' /> - - <a-dropdown> - <a class='ant-dropdown-link'>鏇村 <a-icon type='down' /></a> - <a-menu slot='overlay'> - <a-menu-item> - <a @click='handleEdit(record)'>缂栬緫</a> - </a-menu-item> - <a-menu-item> - <a-popconfirm title='纭畾鍒犻櫎鍚�?' @confirm='() => handleDelete(record.id)'> - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - </template> - <template v-else> - <a href='javascript:;' @click='handleDetail(record)'>璇︽儏</a> - </template> - </span> - - </a-table> - </div> - <!-- table鍖哄煙-end --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipmentTransfer-modal ref='modalForm' @ok='modalFormOk'></eamEquipmentTransfer-modal> - </a-card> -</template> - -<script> -import '@/assets/less/TableExpand.less' -import EamEquipmentTransferModal from './modules/EamEquipmentTransferModal' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { getAction } from '@api/manage' -import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - - -export default { - name: 'EamEquipmentTransferList', - mixins: [JeecgListMixin], - components: { - EamEquipmentTransferModal, - LxSearchEquipmentSelect - }, - data() { - return { - description: '璁惧褰掑睘鍙樺姩绠$悊椤甸潰', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - fixed: 'left', - align: 'center', - customRender: function(t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '鍗曟嵁鍙�', - align: 'center', - fixed: 'left', - dataIndex: 'code' - }, - { - title: '璁惧缂栧彿', - align: 'center', - fixed: 'left', - dataIndex: 'equipmentCode' - }, - { - title: '璁惧鍚嶇О', - align: 'center', - fixed: 'left', - dataIndex: 'equipmentName' - }, - { - title: '璋冨嚭閮ㄩ棬', - align: 'center', - dataIndex: 'oldDepartId_dictText' - }, - { - title: '璋冨叆閮ㄩ棬', - align: 'center', - dataIndex: 'newDepartId_dictText' - }, - { - title: '鐢宠浜�', - align: 'center', - dataIndex: 'reportUser_dictText' - }, - { - title: '鍙樺姩鍘熷洜', - align: 'center', - dataIndex: 'transferReason' - }, - { - title: '鍙樺姩鐘舵��', - align: 'center', - dataIndex: 'transferStatus_dictText' - }, - { - title: '鍙樺姩鏃ユ湡', - align: 'center', - dataIndex: 'transferTime' - }, - { - title: '瀹℃牳浜�', - align: 'center', - dataIndex: 'approvalUser_dictText' - }, - { - title: '瀹℃牳鎰忚', - align: 'center', - dataIndex: 'approvalComment' - }, - { - title: '瀹℃牳鏃堕棿', - align: 'center', - dataIndex: 'approvalTime' - }, - { - title: '澶囨敞', - align: 'center', - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - fixed: 'right', - width: 150, - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: '/eam/eamEquipmentTransfer/list', - delete: '/eam/eamEquipmentTransfer/delete', - deleteBatch: '/eam/eamEquipmentTransfer/deleteBatch', - submit: '/eam/eamEquipmentTransfer/submit' - } - } - }, - computed: { - importExcelUrl: function() { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` - } - }, - methods: { - handleSubmit(id) { - if (!this.url.submit) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - let that = this - this.loading = true - getAction(that.url.submit, { id: id }).then((res) => { - if (res.success) { - //閲嶆柊璁$畻鍒嗛〉闂 - that.reCalculatePage(1) - // that.$message.success(res.message); - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }).finally(()=>{ - this.loading = false - }) - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/dispose/modules/EamEquipmentLeanOutModal.vue b/src/views/eam/dispose/modules/EamEquipmentLeanOutModal.vue deleted file mode 100644 index 59f6ec8..0000000 --- a/src/views/eam/dispose/modules/EamEquipmentLeanOutModal.vue +++ /dev/null @@ -1,162 +0,0 @@ -<template> - <j-modal - :title="title" - :width="800" - :visible="visible" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - :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="code" label="鍗曟嵁鍙�"> - <a-input placeholder="缂栫爜绯荤粺鑷姩鐢熸垚" v-model="model.code" disabled /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿"> - <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" :disabled="disableSubmit" - v-model="model.equipmentId"></lx-search-equipment-select> - </a-form-model-item> - - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanDepartId" label="鍊熷叆杞﹂棿"> - <a-tree-select v-model="model.leanDepartId" - :disabled="disableSubmit" - style="width: 100%" - :tree-data="treeData" - :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" - placeholder="璇烽�夋嫨鍊熷叆杞﹂棿" - allow-clear - tree-default-expand-all - > - </a-tree-select> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanReason" label="鍊熺敤鍘熷洜"> - <a-textarea placeholder="璇疯緭鍏ュ�熺敤鍘熷洜" :disabled="disableSubmit" v-model="model.leanReason" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> - <a-textarea placeholder="璇疯緭鍏ュ娉�" :disabled="disableSubmit" v-model="model.remark" /> - </a-form-model-item> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@/api/manage' - import moment from "moment" - import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - - export default { - name: "EamEquipmentLeanOutModal", - components: { LxSearchEquipmentSelect }, - data () { - return { - title:"鎿嶄綔", - visible: false, - model: {}, - editable: false, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - treeData: [], - validatorRules:{ - equipmentId: [ - { required: true, message: '璇烽�夋嫨璁惧锛�' } - ], - leanDepartId: [ - { required: true, message: '璇烽�夋嫨杞﹂棿锛�' } - ], - leanReason: [ - { required: true, message: '璇疯緭鍏ュ�熺敤鍘熷洜锛�' } - ], - }, - url: { - add: "/eam/eamEquipmentLeanOut/add", - edit: "/eam/eamEquipmentLeanOut/edit", - loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions', - }, - } - }, - created () { - this.loadAllProductionTree(); - }, - methods: { - add () { - //鍒濆鍖栭粯璁ゅ�� - //鍒濆鍖栭粯璁ゅ�� - this.model = {} - this.visible = true - this.editable = false - }, - edit (record) { - this.model = Object.assign({}, record) - this.visible = true - this.editable = true - // this.loadDetail(record.id) - }, - - 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'); - that.close(); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - }else{ - return false; - } - }) - }, - handleCancel () { - this.close() - }, - loadAllProductionTree() { - //鍔犺浇杞﹂棿閫夋嫨鏍� - getAction(this.url.loadProductionOptions).then(res => { - if (res.success) { - this.treeData = [...res.result] - }else { - that.$message.warning(res.message) - } - }) - }, - - } - } -</script> - -<style lang="less" scoped> - -</style> \ No newline at end of file diff --git a/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue b/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue deleted file mode 100644 index 53dcfa5..0000000 --- a/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue +++ /dev/null @@ -1,145 +0,0 @@ -<template> - <j-modal - :confirmLoading='confirmLoading' - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - :title='title' - :visible='visible' - :width='800' - cancelText='鍏抽棴' - switchFullscreen - @cancel='handleCancel' - @ok='handleOk'> - - <a-spin :spinning='confirmLoading'> - <a-form-model ref='form' :model='model' :rules='validatorRules'> - <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='鍗曟嵁鍙�' prop='code'> - <a-input v-model='model.code' disabled placeholder='缂栫爜绯荤粺鑷姩鐢熸垚' /> - </a-form-model-item> - <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='璋冨嚭璁惧' prop='equipmentId'> - <lx-search-equipment-select v-model='model.equipmentId' - :disabled='disableSubmit' - placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> - </a-form-model-item> - <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭悊绫诲瀷' prop='scrapType'> - <j-dict-select-tag v-model='model.scrapType' :disabled='disableSubmit || initialAcceptanceDisable' dictCode='scrap_sell' - placeholder='璇烽�夋嫨澶勭悊绫诲瀷' type='radio' /> - </a-form-model-item> - <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭疆鐞嗙敱' prop='scrapReason'> - <a-input v-model='model.scrapReason' placeholder='璇疯緭鍏ュ缃悊鐢�' /> - </a-form-model-item> - <div v-if='model.scrapType == 2'> - <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭疆閲戦' prop='scrapAmount'> - <a-input v-model='model.scrapAmount' placeholder='璇疯緭鍏ュ缃噾棰�' /> - </a-form-model-item> - </div> - <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶囨敞' prop='remark'> - <a-textarea v-model='model.remark' :disabled='disableSubmit' placeholder='璇疯緭鍏ュ娉�' /> - </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' - - -export default { - name: 'EamEquipmentScrapModal', - components: { LxSearchEquipmentSelect }, - data() { - return { - title: '鎿嶄綔', - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 } - }, - - confirmLoading: false, - validatorRules: { - scrapReason: [ - { required: true, message: '璇疯緭鍏ュ缃師鍥狅紒' } - ], - equipmentId: [ - { required: true, message: '璇烽�夋嫨璁惧锛�' } - ], - transferReason: [ - { required: true, message: '璇疯緭鍏ュ彉鍔ㄥ師鍥狅紒' } - ], - scrapType: [ - { required: true, message: '璇烽�夋嫨绫诲瀷锛�' } - ] - }, - url: { - add: '/eam/eamEquipmentScrap/add', - edit: '/eam/eamEquipmentScrap/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/dispose/modules/EamEquipmentSealUpModal.vue b/src/views/eam/dispose/modules/EamEquipmentSealUpModal.vue deleted file mode 100644 index f836dc9..0000000 --- a/src/views/eam/dispose/modules/EamEquipmentSealUpModal.vue +++ /dev/null @@ -1,131 +0,0 @@ -<template> - <j-modal - :title="title" - :width="800" - :visible="visible" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - :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="code" label="鍗曟嵁鍙�"> - <a-input placeholder="缂栫爜绯荤粺鑷姩鐢熸垚" v-model="model.code" disabled /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿"> - <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" :disabled="disableSubmit" - v-model="model.equipmentId"></lx-search-equipment-select> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sealUpReason" label="灏佸瓨鍘熷洜"> - <a-input placeholder="璇疯緭鍏ュ皝瀛樺師鍥�" :disabled="disableSubmit" v-model="model.sealUpReason" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> - <a-input placeholder="璇疯緭鍏ュ娉�" :disabled="disableSubmit" 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" - import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - - export default { - name: "EamEquipmentSealUpModal", - components: { - LxSearchEquipmentSelect - }, - data () { - return { - title:"鎿嶄綔", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - - confirmLoading: false, - validatorRules:{ - equipmentId: [ - { required: true, message: '璇烽�夋嫨璁惧锛�' } - ], - sealUpReason: [ - { required: true, message: '璇疯緭鍏ュ皝瀛樺師鍥狅紒' } - ], - }, - url: { - add: "/eam/eamEquipmentSealUp/add", - edit: "/eam/eamEquipmentSealUp/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/dispose/modules/EamEquipmentTransferModal.vue b/src/views/eam/dispose/modules/EamEquipmentTransferModal.vue deleted file mode 100644 index 515711c..0000000 --- a/src/views/eam/dispose/modules/EamEquipmentTransferModal.vue +++ /dev/null @@ -1,167 +0,0 @@ -<template> - <j-modal - :title="title" - :width="800" - :visible="visible" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - :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="code" label="鍗曟嵁鍙�"> - <a-input placeholder="缂栫爜绯荤粺鑷姩鐢熸垚" v-model="model.code" disabled/> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璋冨嚭璁惧"> - <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" - v-model="model.equipmentId" :disabled="disableSubmit"></lx-search-equipment-select> - </a-form-model-item> -<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oldDepartId" label="璋冨嚭閮ㄩ棬">--> -<!-- <a-input placeholder="璇疯緭鍏ヨ皟鍑洪儴闂�" v-model="model.oldDepartId" />--> -<!-- </a-form-model-item>--> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="newDepartId" label="璋冨叆杞﹂棿"> - <a-tree-select v-model="model.newDepartId" - style="width: 100%" - :tree-data="treeData" - :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" - placeholder="璇烽�夋嫨璋冨叆杞﹂棿" - allow-clear - tree-default-expand-all - :disabled="editable || disableSubmit" - > - </a-tree-select> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transferReason" label="鍙樺姩鍘熷洜"> - <a-input placeholder="璇疯緭鍏ュ彉鍔ㄥ師鍥�" v-model="model.transferReason" :disabled="disableSubmit"/> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> - <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" :disabled="disableSubmit"/> - </a-form-model-item> - - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> - import { httpAction,getAction } from '@/api/manage' - import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - - export default { - name: "EamEquipmentTransferModal", - components: { LxSearchEquipmentSelect }, - data () { - return { - title:"鎿嶄綔", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - labelColLong: { - xs: { span: 24 }, - sm: { span: 4 } - }, - wrapperColLong: { - xs: { span: 24 }, - sm: { span: 18 } - }, - treeData: [], - confirmLoading: false, - validatorRules:{ - newDepartId: [ - { required: true, message: '璇烽�夋嫨璋冨叆杞﹂棿' } - ], - equipmentId: [ - { required: true, message: '璇烽�夋嫨璁惧锛�' } - ], - transferReason: [ - { required: true, message: '璇疯緭鍏ュ彉鍔ㄥ師鍥狅紒' } - ], - }, - url: { - add: "/eam/eamEquipmentTransfer/add", - edit: "/eam/eamEquipmentTransfer/edit", - loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions', - }, - } - }, - created () { - this.loadAllProductionTree(); - }, - methods: { - loadAllProductionTree() { - //鍔犺浇杞﹂棿閫夋嫨鏍� - getAction(this.url.loadProductionOptions).then(res => { - if (res.success) { - this.treeData = [...res.result] - }else { - that.$message.warning(res.message) - } - }) - }, - add () { - //鍒濆鍖栭粯璁ゅ�� - this.edit({}); - this.visible = true; - }, - 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/purchase/EamEquipmentPurchasePlanList.vue b/src/views/eam/purchase/EamEquipmentPurchasePlanList.vue deleted file mode 100644 index a5628c1..0000000 --- a/src/views/eam/purchase/EamEquipmentPurchasePlanList.vue +++ /dev/null @@ -1,376 +0,0 @@ -<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="閲囪喘璁″垝缂栫爜"> - <j-input placeholder="璇疯緭鍏ラ噰璐鍒掔紪鐮�" v-model="queryParam.planCode"></j-input> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="閲囪喘璁″垝鍚嶇О"> - <j-input placeholder="璇疯緭鍏ラ噰璐鍒掑悕绉�" v-model="queryParam.planName"></j-input> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="绠$悊鍒嗙被"> - <j-dict-select-tag dict-code="equipment_abc_flag" placeholder="璇烽�夋嫨绠$悊鍒嗙被" - v-model="queryParam.equipmentImportance"></j-dict-select-tag> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24" v-if="toggleSearchStatus"> - <a-form-item label="璁″垝鐘舵��"> - <j-dict-select-tag dict-code="equipment_purchase_plan_status" placeholder="璇烽�夋嫨璁″垝鐘舵��" - v-model="queryParam.planStatus"></j-dict-select-tag> - </a-form-item> - </a-col> - <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="info" @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> - <!-- 鏌ヨ鍖哄煙-END --> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <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-button type="primary" icon="download" @click="handleTemplateXlsDownload">瀵煎叆妯℃澘涓嬭浇</a-button> - <!-- 楂樼骇鏌ヨ鍖哄煙 --> -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>--> - <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" - :scroll="{ x: 'max-content' }" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - class="j-table-force-nowrap" - @change="handleTableChange" - :customRow="customTableRow" - > - - <template slot="htmlSlot" slot-scope="text"> - <div v-html="text"></div> - </template> - <template slot="imgSlot" slot-scope="text,record"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> - <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> - </template> - <template slot="fileSlot" slot-scope="text"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> - <a-button - v-else - :ghost="true" - type="primary" - icon="download" - size="small" - @click="downloadFile(text)"> - 涓嬭浇 - </a-button> - </template> - - <span slot="action" slot-scope="text, record"> - <a @click="handleDetail(record)">璇︽儏</a> - <span v-if="record.planStatus === 'NEWLY'"> - <a-divider type="vertical" /> - <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => handleSubmit(record.id)"> - <a>鎻愪氦</a> - </a-popconfirm> - </span> - <span v-else-if="record.planStatus === 'PENDING_AUDIT'"> - <a-divider type="vertical" /> - <a @click="handleAudit(record)">瀹℃牳</a> - </span> - <span v-if="record.planStatus === 'NEWLY'"> - <a-divider type="vertical" /> - <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> - <a-menu-item> - <a @click="handleEdit(record)">缂栬緫</a> - </a-menu-item> - <a-menu-item> - <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - </span> - </span> - </a-table> - </div> - - <a-tabs defaultActiveKey="1"> - <a-tab-pane tab="璁惧閲囪喘璁″垝闄勪欢" key="1" > - <eam-purchase-plan-attachment-list ref="eamPurchasePlanAttachmentList"></eam-purchase-plan-attachment-list> - </a-tab-pane> - </a-tabs> - - <eam-equipment-purchase-plan-modal ref="modalForm" @ok="modalFormOk"></eam-equipment-purchase-plan-modal> - <eam-equipment-purchase-plan-audit-modal ref="modalAuditForm" @ok="modalFormOk"></eam-equipment-purchase-plan-audit-modal> - </a-card> -</template> - -<script> - - import '@/assets/less/TableExpand.less' - import { mixinDevice } from '@/utils/mixin' - import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import EamEquipmentPurchasePlanModal from './modules/EamEquipmentPurchasePlanModal' - import EamEquipmentPurchasePlanAuditModal from './modules/EamEquipmentPurchasePlanAuditModal.vue' - import EamPurchasePlanAttachmentList from './EamPurchasePlanAttachmentList.vue' - import { getAction, templateXlsDownload } from '../../../api/manage' - - export default { - name: 'EamEquipmentPurchasePlanList', - mixins:[JeecgListMixin, mixinDevice], - components: { - EamEquipmentPurchasePlanModal, - EamEquipmentPurchasePlanAuditModal, - EamPurchasePlanAttachmentList - }, - data () { - return { - description: 'eam_equipment_purchase_plan绠$悊椤甸潰', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key:'rowIndex', - width:60, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - }, - fixed: 'left' - }, - { - title:'閲囪喘璁″垝缂栫爜', - align:"center", - dataIndex: 'planCode', - fixed: 'left' - }, - { - title:'閲囪喘璁″垝鍚嶇О', - align:"center", - dataIndex: 'planName', - fixed: 'left' - }, - { - title:'璁″垝鐘舵��', - align:"center", - dataIndex: 'planStatus_dictText' - }, - { - title:'鍨嬪彿', - align:"center", - dataIndex: 'equipmentModel' - }, - { - title:'閲囪喘鏁伴噺', - align:"center", - dataIndex: 'purchaseNumber' - }, - { - title:'棰勮鍗曚环', - align:"center", - dataIndex: 'estimatedUnitPrice' - }, - { - title:'鎬讳环', - align:"center", - dataIndex: 'totalPrice' - }, - { - title:'鍚堝悓鎬婚噾棰�', - align:"center", - dataIndex: 'overallContractAmount' - }, - { - title:'绠$悊鍒嗙被', - align:"center", - dataIndex: 'equipmentImportance' - }, - // { - // title:'璁″垝绫诲埆', - // align:"center", - // dataIndex: 'planCategory' - // }, - { - title:'鐢宠浜�', - align:"center", - dataIndex: 'applicant' - }, - { - title:'鐢宠杞﹂棿', - align:"center", - dataIndex: 'applicantProduction_dictText' - }, - { - title:'璁″垝寮�濮嬫棩鏈�', - align:"center", - dataIndex: 'planStartDate' - }, - { - title:'璁″垝瀹屾垚鏃ユ湡', - align:"center", - dataIndex: 'planEndDate' - }, - { - title:'璁″垝鎻忚堪', - align:"center", - dataIndex: 'planDescription' - }, - { - title:'瀹炴柦鍙婂崗鍔╅儴闂�', - align:"center", - dataIndex: 'relatedDeparts' - }, - { - title:'澶囨敞', - align:"center", - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align:"center", - fixed:"right", - width:147, - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: "/eam/eamEquipmentPurchasePlan/list", - submit: "/eam/eamEquipmentPurchasePlan/submit", - audit: "/eam/eamEquipmentPurchasePlan/audit", - delete: "/eam/eamEquipmentPurchasePlan/delete", - deleteBatch: "/eam/eamEquipmentPurchasePlan/deleteBatch", - exportXlsUrl: "/eam/eamEquipmentPurchasePlan/exportXls", - importExcelUrl: "eam/eamEquipmentPurchasePlan/importExcel", - templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧閲囪喘璁″垝瀵煎叆妯℃澘_v1.1.xlsx' - - }, - dictOptions:{}, - superFieldList:[], - } - }, - created() { - this.getSuperFieldList(); - }, - computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - }, - }, - methods: { - handleTemplateXlsDownload() { - templateXlsDownload(this.url.templateXlsDownloadUrl) - }, - handleSubmit(id) { - getAction(this.url.submit,{ id: id }).then((res)=>{ - if(res.success){ - this.$message.success(res.message); - this.loadData(this.queryParam); - }else{ - this.$message.warning(res.message); - } - }) - }, - handleAudit(record) { - this.$refs.modalAuditForm.edit(record); - this.$refs.modalAuditForm.title="瀹℃牳"; - this.$refs.modalAuditForm.disableSubmit = true; - }, - onClearSelected() { - this.selectedRowKeys = []; - this.selectionRows = []; - this.$refs.eamPurchasePlanAttachmentList.dataSource = [] - this.$refs.eamPurchasePlanAttachmentList.onClearSelected() - }, - customTableRow(record) { - return { - style: { - cursor: 'pointer' - }, - on: { - click: () => { - this.onSelectChange([record.id]) - } - } - } - }, - onSelectChange(selectedRowKeys, selectionRows) { - this.selectedRowKeys = selectedRowKeys - this.selectionRows = selectionRows - this.$refs.eamPurchasePlanAttachmentList.queryParam.planId = selectedRowKeys[0] - this.$refs.eamPurchasePlanAttachmentList.dataSource = [] - this.$refs.eamPurchasePlanAttachmentList.onClearSelected() - if (selectedRowKeys.length === 1) { - this.$refs.eamPurchasePlanAttachmentList.loadData() - } - }, - initDictConfig(){ - }, - getSuperFieldList(){ - let fieldList=[]; - fieldList.push({type:'string',value:'planName',text:'閲囪喘璁″垝鍚嶇О',dictCode:''}) - fieldList.push({type:'string',value:'planCode',text:'閲囪喘璁″垝缂栫爜',dictCode:''}) - fieldList.push({type:'string',value:'planStatus',text:'璁″垝鐘舵��',dictCode:''}) - fieldList.push({type:'string',value:'equipmentModel',text:'鍨嬪彿',dictCode:''}) - fieldList.push({type:'int',value:'purchaseNumber',text:'閲囪喘鏁伴噺',dictCode:''}) - fieldList.push({type:'BigDecimal',value:'estimatedUnitPrice',text:'棰勮鍗曚环',dictCode:''}) - fieldList.push({type:'BigDecimal',value:'totalPrice',text:'鎬讳环',dictCode:''}) - fieldList.push({type:'BigDecimal',value:'overallContractAmount',text:'鍚堝悓鎬婚噾棰�',dictCode:''}) - fieldList.push({type:'string',value:'equipmentImportance',text:'ABC鏍囪瘑(绠$悊鍒嗙被)',dictCode:''}) - fieldList.push({type:'string',value:'planCategory',text:'璁″垝绫诲埆',dictCode:''}) - fieldList.push({type:'string',value:'applicant',text:'鐢宠浜�',dictCode:''}) - fieldList.push({type:'string',value:'applicantProduction',text:'鐢宠杞﹂棿',dictCode:''}) - fieldList.push({type:'date',value:'planStartDate',text:'璁″垝寮�濮嬫棩鏈�'}) - fieldList.push({type:'date',value:'planEndDate',text:'璁″垝瀹屾垚鏃ユ湡'}) - fieldList.push({type:'string',value:'planDescription',text:'璁″垝鎻忚堪',dictCode:''}) - fieldList.push({type:'string',value:'relatedDeparts',text:'瀹炴柦鍙婂崗鍔╅儴闂�',dictCode:''}) - fieldList.push({type:'string',value:'remark',text:'澶囨敞',dictCode:''}) - this.superFieldList = fieldList - } - } - } -</script> -<style scoped> - @import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/purchase/EamPurchasePlanAttachmentList.vue b/src/views/eam/purchase/EamPurchasePlanAttachmentList.vue deleted file mode 100644 index b0c59be..0000000 --- a/src/views/eam/purchase/EamPurchasePlanAttachmentList.vue +++ /dev/null @@ -1,186 +0,0 @@ -<template> - <a-card :bordered="false"> - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <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 @click="handlePreview(record)">棰勮</a> - </a-menu-item> - <a-menu-item> - <a-popconfirm title="纭畾涓嬭浇鏂囦欢鍚�?" @confirm="() => handleDownload(record)"> - <a>涓嬭浇</a> - </a-popconfirm> - </a-menu-item> - <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 --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eam-purchase-plan-attachment-modal ref="modalForm" @ok="modalFormOk" :planId="queryParam.planId"></eam-purchase-plan-attachment-modal> - <lx-file-preview ref="lxFilePreview" :fileUrl="fileUrl"></lx-file-preview> - </a-card> -</template> - -<script> -import '@/assets/less/TableExpand.less' -import EamPurchasePlanAttachmentModal from './modules/EamPurchasePlanAttachmentModal.vue' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { downFile } from '@api/manage' - -export default { - name: 'EamPurchasePlanAttachmentList', - mixins: [JeecgListMixin], - components: { - EamPurchasePlanAttachmentModal - }, - data() { - return { - description: '璁惧閲囪喘璁″垝闄勪欢绠$悊椤甸潰', - disableMixinCreated: true, - fileUrl: '', - queryParam: {}, - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function(t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '鏂囦欢鍔犲瘑鍚�', - align: 'center', - dataIndex: 'fileEncodeName', - ellipsis: true, - }, - { - title: '鏂囦欢鍚嶇О', - align: 'center', - dataIndex: 'fileName', - ellipsis: true, - }, - { - title: '鏂囦欢璺緞', - align: 'center', - dataIndex: 'filePath', - ellipsis: true, - }, - { - title: '鏂囦欢鍚庣紑鍚�', - align: 'center', - dataIndex: 'fileSuffix' - }, - { - title: '鏂囦欢澶у皬', - align: 'center', - dataIndex: 'fileSize' - }, - { - title: '鎻忚堪', - align: 'center', - dataIndex: 'description', - ellipsis: true, - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: '/eam/eamPurchasePlanAttachment/list', - delete: '/eam/eamPurchasePlanAttachment/delete', - deleteBatch: '/eam/eamPurchasePlanAttachment/deleteBatch', - download: '/eam/eamPurchasePlanAttachment/downloadFile', - } - } - }, - computed: { - }, - methods: { - handleDownload(record) { - downFile(this.url.download, { id: record.id }).then((res) => { - if (!res) { - this.$message.warning('鏂囦欢涓嬭浇澶辫触') - return - } else { - let fileName = record.fileName; - if (typeof window.navigator.msSaveBlob !== 'undefined') { - window.navigator.msSaveBlob(new Blob([res]), fileName); - } else { - let url = window.URL.createObjectURL(new Blob([res])); - let link = document.createElement('a'); - link.style.display = 'none'; - link.href = url; - link.setAttribute('download', fileName); - document.body.appendChild(link); - link.click() - document.body.removeChild(link) //涓嬭浇瀹屾垚绉婚櫎鍏冪礌 - window.URL.revokeObjectURL(url) //閲婃斁鎺塨lob瀵硅薄 - } - } - }) - }, - handlePreview: function (record) { - this.$refs.lxFilePreview.preview(record.filePath); - }, - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanAuditModal.vue b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanAuditModal.vue deleted file mode 100644 index e95c76d..0000000 --- a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanAuditModal.vue +++ /dev/null @@ -1,82 +0,0 @@ -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - - <template slot="footer"> - <a-button type="primary" @click="audit('COMPLETED')">閫氳繃</a-button> - <a-button type="danger" @click="audit('REJECT')">椹冲洖</a-button> - </template> - - <eam-equipment-purchase-plan-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></eam-equipment-purchase-plan-form> - </j-modal> -</template> - -<script> - - import EamEquipmentPurchasePlanForm from './EamEquipmentPurchasePlanForm' - import { postAction } from '../../../../api/manage' - export default { - name: 'EamEquipmentPurchasePlanModal', - components: { - EamEquipmentPurchasePlanForm - }, - data () { - return { - title:'', - width:1200, - visible: false, - disableSubmit: false, - url: { - audit: "/eam/eamEquipmentPurchasePlan/audit" - } - } - }, - methods: { - audit (status) { - console.log(status) - const id = this.$refs.realForm.model.id - postAction(this.url.audit,{ id: id, planStatus: status }).then((res)=>{ - if (res.success) { - this.$message.success(res.message) - this.submitCallback() - } else { - this.$message.warning(res.message) - } - }) - }, - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue deleted file mode 100644 index 4a26886..0000000 --- a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue +++ /dev/null @@ -1,231 +0,0 @@ -<template> - <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> - <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> - <a-row> - <a-col :span="12"> - <a-form-model-item label="閲囪喘璁″垝缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCode"> - <a-input v-model="model.planCode" placeholder="绯荤粺鑷姩鐢熸垚" disabled ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="閲囪喘璁″垝鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planName"> - <a-input v-model="model.planName" placeholder="璇疯緭鍏ラ噰璐鍒掑悕绉�" ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12" v-if="disabled"> - <a-form-model-item label="璁″垝鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStatus"> - <j-dict-select-tag dict-code="equipment_purchase_plan_status" placeholder="璇烽�夋嫨璁″垝鐘舵��" - v-model="model.planStatus" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="鍨嬪彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentModel"> - <a-input v-model="model.equipmentModel" placeholder="璇疯緭鍏ュ瀷鍙�" ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="閲囪喘鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="purchaseNumber"> - <a-input-number v-model="model.purchaseNumber" placeholder="璇疯緭鍏ラ噰璐暟閲�" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="棰勮鍗曚环" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="estimatedUnitPrice"> - <a-input-number v-model="model.estimatedUnitPrice" placeholder="璇疯緭鍏ラ璁″崟浠�" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="鎬讳环" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="totalPrice"> - <a-input-number v-model="model.totalPrice" placeholder="璇疯緭鍏ユ�讳环" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="鍚堝悓鎬婚噾棰�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="overallContractAmount"> - <a-input-number v-model="model.overallContractAmount" placeholder="璇疯緭鍏ュ悎鍚屾�婚噾棰�" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="绠$悊鍒嗙被" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentImportance"> - <j-dict-select-tag dict-code="equipment_abc_flag" placeholder="璇烽�夋嫨绠$悊鍒嗙被" - v-model="model.equipmentImportance" /> - </a-form-model-item> - </a-col> -<!-- <a-col :span="12">--> -<!-- <a-form-model-item label="璁″垝绫诲埆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCategory">--> -<!-- <a-input v-model="model.planCategory" placeholder="璇疯緭鍏ヨ鍒掔被鍒�" ></a-input>--> -<!-- </a-form-model-item>--> -<!-- </a-col>--> - <a-col :span="12"> - <a-form-model-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicant"> - <j-search-select-tag placeholder="璇烽�夋嫨鐢宠浜�" v-model="model.applicant" dict="sys_user,realname, username, del_flag=0 and status=1"/> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="鐢宠杞﹂棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicantProduction"> - <a-tree-select v-model="model.applicantProduction" - style="width: 100%" - :tree-data="treeData" - :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" - placeholder="璇烽�夋嫨浣跨敤杞﹂棿" - allow-clear - tree-default-expand-all - > - </a-tree-select> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="璁″垝寮�濮嬫棩鏈�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStartDate"> - <j-date :show-time="true" dateFormat="YYYY-MM-DD HH" placeholder="璇烽�夋嫨璁″垝寮�濮嬫棩鏈�" v-model="model.planStartDate" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="璁″垝瀹屾垚鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planEndDate"> - <j-date :show-time="true" dateFormat="YYYY-MM-DD HH" placeholder="璇烽�夋嫨璁″垝瀹屾垚鏃ユ湡" v-model="model.planEndDate" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="璁″垝鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planDescription"> - <a-textarea v-model="model.planDescription" placeholder="璇疯緭鍏ヨ鍒掓弿杩�" ></a-textarea> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="瀹炴柦鍙婂崗鍔╅儴闂�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relatedDeparts"> - <a-input v-model="model.relatedDeparts" placeholder="璇疯緭鍏ュ疄鏂藉強鍗忓姪閮ㄩ棬" ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> - <a-textarea v-model="model.remark" placeholder="璇疯緭鍏ュ娉�" ></a-textarea> - </a-form-model-item> - </a-col> - </a-row> - </a-form-model> - </j-form-container> - </a-spin> -</template> - -<script> - - import { httpAction, getAction } from '@/api/manage' - import { validateDuplicateValue } from '@/utils/util' - - export default { - name: 'EamEquipmentPurchasePlanForm', - components: { - }, - props: { - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - model:{ - }, - treeData: [], - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - planName: [ - { required: true, message: '璇疯緭鍏ラ噰璐鍒掑悕绉�!'}, - ], - equipmentModel: [ - { required: true, message: '璇疯緭鍏ュ瀷鍙�!'}, - ], - purchaseNumber: [ - { required: true, message: '璇疯緭鍏ラ噰璐暟閲�!'}, - ], - estimatedUnitPrice: [ - { required: true, message: '璇疯緭鍏ラ璁″崟浠�!'}, - ], - totalPrice: [ - { required: true, message: '璇疯緭鍏ユ�讳环!'}, - ], - overallContractAmount: [ - { required: true, message: '璇疯緭鍏ュ悎鍚屾�婚噾棰�!'}, - ], - planStartDate: [ - { required: true, message: '璇疯緭鍏ヨ鍒掑紑濮嬫棩鏈�!'}, - ], - planEndDate: [ - { required: true, message: '璇疯緭鍏ヨ鍒掑畬鎴愭棩鏈�!'}, - ], - }, - url: { - add: "/eam/eamEquipmentPurchasePlan/add", - edit: "/eam/eamEquipmentPurchasePlan/edit", - queryById: "/eam/eamEquipmentPurchasePlan/queryById", - loadWorkShopOptions:'/mdc/mdcProduction/loadProductionTreeOptions' - } - } - }, - computed: { - formDisabled(){ - return this.disabled - }, - }, - created () { - //澶囦唤model鍘熷鍊� - this.modelDefault = JSON.parse(JSON.stringify(this.model)); - this.loadWorkShopTree() - }, - methods: { - loadWorkShopTree() { - //鍔犺浇杞﹂棿閫夋嫨鏍� - getAction(this.url.loadWorkShopOptions).then(res => { - if (res.success) { - this.treeData = [...res.result] - }else { - that.$message.warning(res.message) - } - }) - }, - add () { - this.edit(this.modelDefault); - }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - submitForm () { - 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; - }) - } - - }) - }, - } - } -</script> \ No newline at end of file diff --git a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanModal.vue b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanModal.vue deleted file mode 100644 index 72cde25..0000000 --- a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanModal.vue +++ /dev/null @@ -1,61 +0,0 @@ -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - - <eam-equipment-purchase-plan-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></eam-equipment-purchase-plan-form> - </j-modal> -</template> - -<script> - - import EamEquipmentPurchasePlanForm from './EamEquipmentPurchasePlanForm' - export default { - name: 'EamEquipmentPurchasePlanModal', - components: { - EamEquipmentPurchasePlanForm - }, - data () { - return { - title:'', - width:1200, - visible: false, - disableSubmit: false - } - }, - methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git a/src/views/eam/purchase/modules/EamPurchasePlanAttachmentModal.vue b/src/views/eam/purchase/modules/EamPurchasePlanAttachmentModal.vue deleted file mode 100644 index d50a53c..0000000 --- a/src/views/eam/purchase/modules/EamPurchasePlanAttachmentModal.vue +++ /dev/null @@ -1,143 +0,0 @@ -<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 - label="涓婁紶" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - v-if="!editable" - prop="fileList"> - <lx-upload :returnUrl="false" - :isMultiple="false" - v-model="model.fileList" - biz="test"> - </lx-upload> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fileName" label="鏂囦欢鍚嶇О" v-if="editable"> - <a-input placeholder="璇疯緭鍏ユ枃浠跺悕绉�" v-model="model.fileName" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="description" label="鎻忚堪"> - <a-textarea placeholder="璇疯緭鍏ユ弿杩�" v-model="model.description" /> - </a-form-model-item> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { httpAction } from '@/api/manage' - -export default { - name: "EamPurchasePlanAttachmentModal", - props: { - planId: { - type: String, - required: false, - default: '-1' - } - }, - data () { - return { - title:"鎿嶄綔", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - - confirmLoading: false, - validatorRules:{ - fileName: [ - { required: true, message: '璇疯緭鍏ユ枃浠跺悕绉�!' } - ] - }, - url: { - add: "/eam/eamPurchasePlanAttachment/add", - edit: "/eam/eamPurchasePlanAttachment/edit", - }, - editable: false, - } - }, - created () { - }, - methods: { - add () { - this.editable = false; - //鍒濆鍖栭粯璁ゅ�� - this.model = {}; - this.visible = true - }, - edit (record) { - this.editable = true; - this.model = Object.assign({}, record) - this.visible = true - }, - close () { - this.$emit('close'); - this.visible = false; - this.$refs.form.clearValidate(); - }, - handleOk () { - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - console.log(this.planId) - if (valid) { - if (this.planId == null || this.planId === '-1') { - this.$message.warning('璇峰厛閫夋嫨閲囪喘璁″垝!'); - return - } - this.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - this.model.planId = this.planId; - console.log(this.model) - httpAction(httpurl, this.model, method).then((res)=>{ - if(res.success){ - this.$message.success(res.message); - this.$emit('ok'); - this.close(); - }else{ - this.$message.warning(res.message); - } - }).finally(() => { - this.confirmLoading = false; - }) - }else{ - return false; - } - }) - }, - handleCancel () { - this.close() - }, - - - } - } -</script> - -<style lang="less" scoped> - -</style> \ No newline at end of file diff --git a/src/views/eam/repair/EamReportAccidentsRegisterList.vue b/src/views/eam/repair/EamReportAccidentsRegisterList.vue index 7758fa2..e2df2e8 100644 --- a/src/views/eam/repair/EamReportAccidentsRegisterList.vue +++ b/src/views/eam/repair/EamReportAccidentsRegisterList.vue @@ -56,7 +56,7 @@ </template> <span slot="action" slot-scope="text, record"> - <template v-if="record.registerStatus=='PENDING_SUBMIT'"> + <template v-if="record.registerStatus==='PENDING_SUBMIT'"> <a @click="handleEdit(record)">缂栬緫</a> <a-divider type="vertical"/> <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => handleSubmit(record.id)"> @@ -72,35 +72,32 @@ <!-- 琛ㄥ崟鍖哄煙 --> <eamReportAccidentsRegister-modal ref="modalForm" @ok="modalFormOk"/> + + <!--瀹℃壒绐楀彛--> + <report-accidents-register-approval-modal ref="reportAccidentsRegisterApprovalModal" + :selectShenpiData="selectedRowData"/> </a-card> </template> <script> - import '@/assets/less/TableExpand.less' import EamReportAccidentsRegisterModal from './modules/EamReportAccidentsRegisterModal' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect' + import { getAction } from '@/api/manage' + import ReportAccidentsRegisterApprovalModal + from '../../flowable/workflow/repairOrder/ReportAccidentsRegisterApprovalModal' export default { name: 'EamReportAccidentsRegisterList', mixins: [JeecgListMixin], components: { + ReportAccidentsRegisterApprovalModal, LxSearchEquipmentSelect, EamReportAccidentsRegisterModal - }, - props: { - isDisplayOperation: { - type: Boolean, - default: true - }, - propsQueryParam: { - type: Object - } }, data() { return { description: '璁惧浜嬫晠鐧昏琛ㄧ鐞嗛〉闈�', - disableMixinCreated: true, // 琛ㄥご columns: [ { @@ -138,6 +135,21 @@ align: 'center', dataIndex: 'registerStatus_dictText', fixed: 'left' + }, + { + title: '搴熷搧浠跺彿', + align: 'center', + dataIndex: 'scrapPartNumber' + }, + { + title: '搴熷搧浠舵暟', + align: 'center', + dataIndex: 'scrapPartQuantity' + }, + { + title: '搴熷搧浠峰��', + align: 'center', + dataIndex: 'scrapPartValue' }, { title: '鏄惁鏈夎澶囨搷浣滆瘉', @@ -191,7 +203,7 @@ { title: '鎿嶄綔宸�', align: 'center', - dataIndex: 'confirmer' + dataIndex: 'confirmer_dictText' }, { title: '鎿嶄綔宸ョ‘璁ゆ椂闂�', @@ -201,7 +213,7 @@ { title: '鍖洪暱', align: 'center', - dataIndex: 'district' + dataIndex: 'district_dictText' }, { title: '鍖洪暱纭鏃堕棿', @@ -211,7 +223,7 @@ { title: '涓績涓讳换', align: 'center', - dataIndex: 'centerDirector' + dataIndex: 'centerDirector_dictText' }, { title: '涓績涓讳换纭鏃堕棿', @@ -226,7 +238,7 @@ { title: '璁惧鐘舵��', align: 'center', - dataIndex: 'equipmentStatus' + dataIndex: 'equipmentStatus_dictText' }, { title: '鍘熷洜鍒嗘瀽', @@ -236,7 +248,7 @@ { title: '妫�鏌ョ粨鏋�', align: 'center', - dataIndex: 'inspectionResults' + dataIndex: 'inspectionResults_dictText' }, { title: '閲囧彇鎺柦', @@ -256,7 +268,7 @@ { title: '缁翠慨纭', align: 'center', - dataIndex: 'repairConfirm' + dataIndex: 'repairConfirm_dictText' }, { title: '缁翠慨纭鏃堕棿', @@ -266,7 +278,7 @@ { title: '缁翠慨缁勯暱纭', align: 'center', - dataIndex: 'repairGroupLeader' + dataIndex: 'repairGroupLeader_dictText' }, { title: '缁翠慨缁勯暱纭鏃堕棿', @@ -276,7 +288,7 @@ { title: '缁翠慨缁勯暱纭', align: 'center', - dataIndex: 'repairDistrict' + dataIndex: 'repairDistrict_dictText' }, { title: '缁翠慨缁勯暱纭鏃堕棿', @@ -284,7 +296,7 @@ dataIndex: 'repairDistrictTime' }, { - title: '鍘熷洜鍒嗘瀽鏍稿;鍚屾剰銆佷笉鍚屾剰', + title: '鍘熷洜鍒嗘瀽鏍稿', align: 'center', dataIndex: 'checkAgree', scopedSlots: { customRender: 'checkAgree' } @@ -307,7 +319,7 @@ { title: '鎶�鏈礋璐d汉', align: 'center', - dataIndex: 'technicalDirector' + dataIndex: 'technicalDirector_dictText' }, { title: '鎶�鏈礋璐d汉纭鏃堕棿', @@ -317,7 +329,7 @@ { title: '鎶�鏈富绠″绾ч瀵�', align: 'center', - dataIndex: 'technicalDirectorLeader' + dataIndex: 'technicalDirectorLeader_dictText' }, { title: '鎶�鏈富绠″绾ч瀵肩‘璁ゆ椂闂�', @@ -327,47 +339,65 @@ { title: '涓荤閮ㄧ骇棰嗗', align: 'center', - dataIndex: 'technicalDirectorPart' + dataIndex: 'technicalDirectorPart_dictText' }, { title: '涓荤閮ㄧ骇棰嗗纭鏃堕棿', align: 'center', dataIndex: 'technicalDirectorPartTime' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + width: 200, + fixed: 'right' } ], selectedRowData: {}, url: { list: '/eam/eamReportAccidentsRegister/list', - delete: '/eam/eamReportAccidentsRegister/delete', - deleteBatch: '/eam/eamReportAccidentsRegister/deleteBatch', - exportXlsUrl: 'eam/eamReportAccidentsRegister/exportXls', - importExcelUrl: 'eam/eamReportAccidentsRegister/importExcel' + submit: '/eam/eamReportAccidentsRegister/submit', + delete: '/eam/eamReportAccidentsRegister/delete' } } - }, - created() { - if (!this.isDisplayOperation) this.queryParam = Object.assign({}, this.propsQueryParam) - else { - const operationColumn = { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - scopedSlots: { customRender: 'action' }, - width: 200, - fixed: 'right' - } - this.columns = [...this.columns, operationColumn] - } - this.loadData(1) }, methods: { /** - * 鐐瑰嚮濉姤鏃惰Е鍙� + * 鐐瑰嚮鎻愪氦鏃惰Е鍙� + * @param id + */ + handleSubmit(id) { + this.loading = true + getAction(this.url.submit, { id }) + .then(res => { + if (res.success) { + this.$notification.success({ + message: '娑堟伅', + description: res.message + }) + this.loadData() + } else { + this.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + this.loading = false + } + }) + }, + + /** + * 鐐瑰嚮璇︽儏鏃惰Е鍙戞椂瑙﹀彂 * @param record */ - handleFillIn(record) { - this.$refs.modalForm.title = '濉姤' - this.$refs.modalForm.handleFillIn(record) + handleDetail(record) { + this.selectedRowData = Object.assign({}, record) + this.$refs.reportAccidentsRegisterApprovalModal.title = '璇︽儏' + this.$refs.reportAccidentsRegisterApprovalModal.disableSubmit = true + this.$refs.reportAccidentsRegisterApprovalModal.visible = true + this.$refs.reportAccidentsRegisterApprovalModal.handleDetail(record) } } } diff --git a/src/views/eam/spare/EamSparePartReceiveList.vue b/src/views/eam/spare/EamSparePartReceiveList.vue deleted file mode 100644 index 80b1766..0000000 --- a/src/views/eam/spare/EamSparePartReceiveList.vue +++ /dev/null @@ -1,478 +0,0 @@ -<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.receiveCode" - /> - </a-form-item> - </a-col> - <template v-if="toggleSearchStatus"> - <a-col - :xl="6" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="棰嗙敤浜�"> - <a-input - placeholder="璇疯緭鍏ラ鐢ㄤ汉" - v-model="queryParam.receiveUser" - ></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.receiveStatus" - ></a-input> --> - <j-dict-select-tag - allow-clear - :disabled="false" - placeholder="璇烽�夋嫨棰嗙敤鐘舵��" - :triggerChange="true" - dictCode="receive_status" - v-model="queryParam.receiveStatus" - /> - </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" - :customRow='clickThenSelect' - > - - <span - slot="action" - slot-scope="text, record" - > - <a - v-show="record.receiveStatus === '1'" - @click="handleEdit(record)" - >缂栬緫</a> - - <a-divider type="vertical" /> - <a-popconfirm - title="纭畾鍒犻櫎鍚�?" - @confirm="() => handleDelete(record.id)" - > - <a v-show="record.receiveStatus === '1'">鍒犻櫎</a> - </a-popconfirm> - <a-divider type="vertical" /> - <a - v-show="record.receiveStatus === '1'" - @click="handleSubmit(record)" - >鎻愪氦</a> - <a-divider type="vertical" /> - <a - v-show="record.receiveStatus === '2'" - @click="handleConfirm(record)" - >纭</a> - <a-divider type="vertical" /> - <a - v-show="record.receiveStatus === '3' && record.giveBackFlag === 'yes'" - @click="handleReturn(record)" - >褰掕繕</a> - <a-divider type="vertical" /> - <a - v-show="record.receiveStatus === '4' && record.giveBackFlag === 'yes'" - @click="handleReturnConfirm(record)" - >褰掕繕纭</a> - <!-- <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> - <a-tabs defaultActiveKey="1"> - <a-tab-pane - tab='澶囦欢棰嗙敤鏄庣粏' - key="1" - > - <div - class="table-operator" - style="margin:-16px" - > - <eamSparePartReceive-Detail-list :sparePartReceiveId='sparePartReceiveId' /> - </div> - </a-tab-pane> - </a-tabs> - </div> - <!-- table鍖哄煙-end --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamSparePartReceive-modal - ref="modalForm" - @ok="modalFormOk" - ></eamSparePartReceive-modal> - </a-card> -</template> - -<script> -import '@assets/less/TableExpand.less' -import EamSparePartReceiveModal from './modules/EamSparePartReceive/EamSparePartReceiveModal.vue' -import EamSparePartReceiveDetailList from './modules/EamSparePartReceive/EamSparePartReceiveDetailList.vue' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { deleteAction, getAction, postAction } from '@api/manage' - -export default { - name: "EamSparePartReceiveList", - mixins: [JeecgListMixin], - components: { - EamSparePartReceiveModal, - EamSparePartReceiveDetailList - }, - data() { - return { - description: '澶囧搧澶囦欢棰嗙敤鍗曠鐞嗛〉闈�', - sparePartReceiveId: "-1", - dataSource: [], - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: "center", - customRender: function (t, r, index) { - return parseInt(index) + 1; - } - }, - { - title: '棰嗙敤鍗曠紪鐮�', - align: "center", - dataIndex: 'receiveCode' - }, - { - title: '棰嗙敤浜�', - align: "center", - dataIndex: 'receiveUser' - }, - { - title: '棰嗙敤浜嬬敱', - align: "center", - dataIndex: 'receiveReason' - }, - { - title: '棰嗙敤鐘舵��', - align: "center", - dataIndex: 'receiveStatus_dictText' - }, - { - title: '鏄惁闇�瑕佸綊杩�', - align: "center", - dataIndex: 'giveBackFlag_dictText' - }, - { - title: '瀹℃牳浜�', - align: "center", - dataIndex: 'approvalUser' - }, - { - title: '瀹℃牳鏃堕棿', - align: "center", - dataIndex: 'approvalTime' - }, - { - title: '澶囨敞', - align: "center", - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: "center", - scopedSlots: { customRender: 'action' }, - } - ], - url: { - list: "/eam/eamSparePartReceive/list", - delete: "/eam/eamSparePartReceive/delete", - deleteBatch: "/eam/eamSparePartReceive/deleteBatch", - exportXlsUrl: "eam/eamSparePartReceive/exportXls", - importExcelUrl: "eam/eamSparePartReceive/importExcel", - submit: "eam/eamSparePartReceive/submit", - confirm: "eam/eamSparePartReceive/confirm", - return: "eam/eamSparePartReceive/return", - returnConfirm: "eam/eamSparePartReceive/returnConfirm", - }, - } - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - } - }, - methods: { - - searchReset() { - this.queryParam = {} - this.onClearSelected() - this.loadData(1); - }, - searchQuery() { - this.onClearSelected() - this.loadData(1); - }, - - clickThenSelect(record) { - return { - on: { - click: () => { - this.onSelectChange(record.id.split(','), [record]) - } - } - } - }, - onClearSelected() { - this.selectedRowKeys = [] - this.selectionRows = [] - this.sparePartReceiveId = '-1' - }, - onSelectChange(selectedRowKeys, selectionRows) { - if (selectedRowKeys.length == 1) { - this.sparePartReceiveId = selectionRows[0]['id'] - } else { - this.sparePartReceiveId = '-1' - } - this.selectedRowKeys = selectedRowKeys - this.selectionRows = selectionRows - }, - - handleSubmit(record) { - if (!this.url.submit) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - var that = this - this.$confirm({ - title: '纭鎻愪氦', - content: '纭畾鎻愪氦鍚�?', - onOk: function () { - that.loading = true; - postAction(that.url.submit, record).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData() - } else { - that.$message.warning(res.message) - } - that.loading = false - }).finally(() => { - that.loading = false; - }); - } - }) - }, - - handleConfirm(record) { - if (!this.url.confirm) { - this.$message.error('璇疯缃畊rl.confirm灞炴��!') - return - } - var that = this - this.$confirm({ - title: '纭棰嗗彇', - content: '纭畾棰嗗彇澶囦欢鍚�?', - onOk: function () { - that.loading = true; - postAction(that.url.confirm, record).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData() - } else { - that.$message.warning(res.message) - } - that.loading = false - }).finally(() => { - that.loading = false; - }); - } - }) - }, - - handleReturn(record) { - if (!this.url.return) { - this.$message.error('璇疯缃畊rl.return灞炴��!') - return - } - var that = this - this.$confirm({ - title: '澶囦欢褰掕繕', - content: '纭畾褰掕繕澶囦欢鍚�?', - onOk: function () { - that.loading = true; - postAction(that.url.return, record).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData() - } else { - that.$message.warning(res.message) - } - that.loading = false - }).finally(() => { - that.loading = false; - }); - } - }) - }, - - - handleReturnConfirm(record) { - if (!this.url.returnConfirm) { - this.$message.error('璇疯缃畊rl.returnConfirm灞炴��!') - return - } - var that = this - this.$confirm({ - title: '澶囦欢褰掕繕纭', - content: '纭畾澶囦欢褰掕繕鍚�?', - onOk: function () { - that.loading = true; - postAction(that.url.returnConfirm, record).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData() - } else { - that.$message.warning(res.message) - } - that.loading = false - }).finally(() => { - that.loading = false; - }); - } - }) - }, - - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/spare/EamSparePartRequisitionList.vue b/src/views/eam/spare/EamSparePartRequisitionList.vue deleted file mode 100644 index 4302e94..0000000 --- a/src/views/eam/spare/EamSparePartRequisitionList.vue +++ /dev/null @@ -1,796 +0,0 @@ -<template > - <a-row :gutter="10"> - <a-col - :md="leftColMd" - :sm="24" - style="margin-bottom: 20px" - > - <a-card :bordered="false"> - <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <!-- 鎼滅储鍖哄煙 --> - <a-form - layout="inline" - @keyup.enter.native="searchQuery" - > - <a-row :gutter="24"> - <a-col - :md="12" - :sm="8" - > - <a-form-item label="璇疯喘鍗曞彿"> - <j-input - placeholder="璇疯緭鍏ヨ璐崟鍙�" - v-model="queryParam.requisitionCode" - ></j-input> - </a-form-item> - </a-col> - <template v-if="toggleSearchStatus"> - <a-col - :xl="6" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="鐢宠浜�"> - <a-input - placeholder="璇疯緭鍏ョ敵璇蜂汉" - v-model="queryParam.reportUser" - ></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.requisitionStatus" - ></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.approvalUser" - ></a-input> - </a-form-item> - </a-col> - </template> - <span - style="float: left;overflow: hidden;" - class="table-page-search-submitButtons" - > - <a-col - :md="12" - :sm="24" - > - <a-button - type="primary" - @click="searchQuery" - icon="search" - style="margin-left: 21px" - >鏌ヨ</a-button> - <a-button - type="primary" - @click="searchReset" - icon="reload" - style="margin-left: 8px" - >閲嶇疆</a-button> - </a-col> - </span> - </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> --> - </div> - - <!-- table鍖哄煙-begin --> - <div - class="ant-alert ant-alert-info" - style="margin-bottom: 16px;" - > - <i class="anticon anticon-info-circle ant-alert-icon"> - </i> 宸查�夋嫨 <a><b>{{ selectedRowKeys1.length }}</b></a>椤� - <a - style="margin-left: 24px" - @click="onClearSelected1" - >娓呯┖</a> - </div> - <div style="margin-top: 15px"> - <a-table - style="height:500px" - ref="table" - size="middle" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="iPagination" - :loading="loading" - :customRow="customRow" - :rowSelection="{selectedRowKeys: selectedRowKeys1, onChange: onSelectChange1, type:'radio'}" - @change="handleTableChange" - > - - <span - slot="action" - slot-scope="text, record" - > - <!-- <a @click="handleOpen(record)">鏄庣粏</a> --> - <!-- <a - v-if="record.requisitionStatus === '1'" - @click="handleConfirm(record)" - >鎻愪氦</a> --> - <a-popconfirm - v-if="record.requisitionStatus === '1'" - title="纭畾鎻愪氦鍚�?" - @confirm="() => handleConfirm(record)" - > <a>鎻愪氦</a> - </a-popconfirm> - <a-divider type="vertical" /> - <a-dropdown v-if="record.requisitionStatus === '1'"> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> - <!-- <a-menu-item> - <a @click="handleConfirm(record)">鎻愪氦</a> - </a-menu-item> --> - <a-menu-item> - <a @click="handleEdit(record)">缂栬緫</a> - </a-menu-item> - <a-menu-item> - <a-popconfirm - title="纭畾鍒犻櫎鍚�?" - @confirm="() => handleDelete(record.id)" - > - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - <!-- <a - v-if="record.requisitionStatus === '2'" - @click="handleExamine(record)" - >瀹℃牳</a> --> - </span> - - </a-table> - </div> - <!-- table鍖哄煙-end --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamSparePartRequisition-modal - ref="modalForm" - @ok="modalFormOk" - ></eamSparePartRequisition-modal> - - <!-- <eamSparePartRequisitionExamine-modal - ref="modalExamine" - @ok="modalFormOk2" - ></eamSparePartRequisitionExamine-modal> --> - - </a-card> - </a-col> - <a-col - :md="rightColMd" - :sm="24" - v-if="this.rightColVal === 1" - > - <a-card - title="澶囦欢璇疯喘鏄庣粏" - :bordered="false" - > - <div style="text-align: left;"> - <a-icon - type="close-circle" - @click="hideSpareDetailList" - /> - </div> - <!-- 鏌ヨ鍖哄煙 --> - <!-- <div class="table-page-search-wrapper"> - <a-form layout="inline"> - <a-row :gutter="24"> - <a-col - :md="9" - :sm="24" - > - <span - style="float: left;overflow: hidden;" - class="table-page-search-submitButtons" - > - <a-button - type="primary" - @click="searchQuery2" - icon="search" - >鏌ヨ</a-button> - <a-button - type="primary" - @click="searchReset2" - icon="reload" - style="margin-left: 8px" - >閲嶇疆</a-button> - </span> - </a-col> - - </a-row> - </a-form> - </div> --> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <!-- <div - class="table-operator" - :md="24" - :sm="24" - > - <a-button - @click="handleAdd2" - 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="selectedRowKeys2.length > 0"> - <a-menu slot="overlay"> - <a-menu-item - key="1" - @click="batchDel2" - > - <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">{{ selectedRowKeys2.length }}</a>椤� - <a - style="margin-left: 24px" - @click="onClearSelected2" - >娓呯┖</a> - </div>--> - - <a-table - style="height:500px" - ref="table2" - size="middle" - bordered - rowKey="id" - :columns="columns2" - :dataSource="dataSource2" - :pagination="iPagination2" - :loading="loading2" - class="j-table-force-nowrap" - @change="handleTableChange2" - > - <!-- :rowSelection="{selectedRowKeys: selectedRowKeys2, onChange: onSelectChange2}" --> - - <span - slot="action" - slot-scope="text, record" - > - <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> - <a-menu-item> - <a-popconfirm @click="handleEdit2(record)"> - <a>缂栬緫</a> - </a-popconfirm> - <a-popconfirm - title="纭畾鍒犻櫎鍚�?" - @confirm="() => handleDelete2(record.id)" - > - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - </span> - - </a-table> - - <!-- table鍖哄煙-end --> - </a-card> - </a-col> - - </a-row> -</template> - -<script> -import '@assets/less/TableExpand.less' -import EamSparePartRequisitionModal from './modules/EamSparePartRequisition/EamSparePartRequisitionModal.vue' -// import EamSparePartRequisitionExamineModal from './modules/EamSparePartRequisition/EamSparePartRequisitionExamineModal.vue' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { deleteAction, getAction, postAction } from '@api/manage' -import { filterObj } from '@/utils/util' - -export default { - name: "EamSparePartRequisitionList", - mixins: [JeecgListMixin], - components: { - EamSparePartRequisitionModal, - // EamSparePartRequisitionExamineModal - }, - data() { - return { - description: '澶囦欢璇疯喘鍗曠鐞嗛〉闈�', - model1: {}, - model2: {}, - queryParam1: {}, - queryParam2: {}, - dataSource: [], - dataSource2: [], - spareRequisitionId: '', - iPagination: { - current: 1, - pageSize: 10, - pageSizeOptions: ['10', '20', '30'], - showTotal: (total, range) => { - return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' - }, - showQuickJumper: true, - showSizeChanger: true, - total: 0, - }, - iPagination2: { - current: 1, - pageSize: 10, - pageSizeOptions: ['10', '20', '30'], - showTotal: (total, range) => { - return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' - }, - showQuickJumper: true, - showSizeChanger: true, - total: 0, - }, - iSorter1: { - column: 'createTime', - order: 'desc', - }, - iSorter2: { - column: 'createTime', - order: 'desc', - }, - filters1: {}, - filters2: {}, - loading: false, - loading2: false, - selectedRowKeys1: [], - selectedRowKeys2: [], - selectionRows1: [], - selectionRows2: [], - rightColVal: 0, - // 楂樼骇鏌ヨ鍙傛暟 - superQueryParams2: '', - // 楂樼骇鏌ヨ鎷兼帴鏉′欢 - superQueryMatchType2: 'and', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function (t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '璇疯喘鍗曞彿', - align: "center", - dataIndex: 'requisitionCode' - }, - { - title: '鐘舵��', - align: "center", - dataIndex: 'requisitionStatus_dictText' - }, - { - title: '璇疯喘浜�', - align: "center", - dataIndex: 'reportUser' - }, - { - title: '璇疯喘鏃堕棿', - align: "center", - dataIndex: 'createTime' - }, - { - title: '瀹℃牳浜�', - align: "center", - dataIndex: 'approvalUser' - }, - { - title: '瀹℃牳鏃堕棿', - align: "center", - dataIndex: 'approvalTime' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: "center", - scopedSlots: { customRender: 'action' }, - } - ], - // 瀛愯〃琛ㄥご - columns2: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function (t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '澶囧搧缂栫爜', - align: "center", - dataIndex: 'partCode' - }, - { - title: '鍚嶇О', - align: "center", - dataIndex: 'partName' - }, - { - title: '鍨嬪彿', - align: "center", - dataIndex: 'partModel' - }, - { - title: '璇疯喘鏁伴噺', - align: "center", - dataIndex: 'requisitionNum' - }, - // { - // title: '鎿嶄綔', - // dataIndex: 'action', - // align: "center", - // scopedSlots: { customRender: 'action' }, - // } - ], - url: { - list: "/eam/eamSparePartRequisition/list", - list2: "/eam/eamSparePartRequisitionDetail/list", - delete: "/eam/eamSparePartRequisition/delete", - delete2: "/eam/eamSparePartRequisitionDetail/delete", - deleteBatch: "/eam/eamSparePartRequisition/deleteBatch", - deleteBatch2: "/eam/eamSparePartRequisitionDetail/deleteBatch", - exportXlsUrl: "eam/eamSparePartRequisition/exportXls", - exportXlsUrl2: "eam/eamSparePartRequisitionDetail/exportXls", - importExcelUrl: "eam/eamSparePartRequisition/importExcel", - importExcelUrl2: "eam/eamSparePartRequisitionDetail/importExcel", - submit: "eam/eamSparePartRequisition/submitSpareRequisition" - }, - } - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - }, - leftColMd() { - return this.selectedRowKeys1.length === 0 ? 24 : 14 - }, - rightColMd() { - return this.selectedRowKeys1.length === 0 ? 0 : 10 - } - }, - methods: { - customRow(record) { - return { - on: { - click: () => { - this.handleOpen(record) - } - } - } - }, - onSelectChange1(selectedRowKeys, selectionRows) { - this.rightColVal = 1 - this.selectedRowKeys1 = selectedRowKeys - this.selectionRows1 = selectionRows - this.model1 = Object.assign({}, selectionRows[0]) - this.spareRequisitionId = selectedRowKeys[0] - this.loadData2() - }, - onSelectChange2(selectedRowKeys, selectionRows) { - this.selectedRowKeys2 = selectedRowKeys - this.selectionRows2 = selectionRows - }, - /** - * 鐐瑰嚮褰撳墠琛岃溅闂撮�夐」鍚庤Е鍙戜簨浠� - * @param record 褰撳墠琛屾暟鎹� - */ - handleOpen: function (record) { - this.rightColVal = 1 - this.selectedRowKeys1 = [record.id] - this.model1 = Object.assign({}, record) - this.spareRequisitionId = record.id - this.onClearSelected2() - this.loadData2() - }, - - // handleAdd: function () { - // // if (this.spareRequisitionId === '') { - // // this.$message.error('璇烽�夋嫨涓�涓璐崟!') - // // } else { - // // this.$refs.modalForm2.roleDisabled = true - // this.$refs.sparePartRequisitionModalForm.title = '鏂板' - // this.$refs.sparePartRequisitionModalForm.add() - // // } - // }, - searchQuery: function () { - this.loadData(1) - this.dataSource2 = [] - }, - searchReset: function () { - this.queryParam = {} - this.loadData(1) - this.dataSource2 = [] - }, - searchQuery2: function () { - this.loadData2(1) - }, - searchReset2: function () { - this.queryParam2 = {} - this.loadData2(1) - }, - handleTableChange2: function (pagination, filters, sorter) { - //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂 - if (Object.keys(sorter).length > 0) { - this.iSorter2.column = sorter.field - this.iSorter2.order = 'ascend' == sorter.order ? 'asc' : 'desc' - } - this.iPagination2 = pagination - this.loadData2() - }, - onClearSelected2: function () { - this.selectedRowKeys2 = [] - this.selectionRows2 = [] - }, - loadData(arg) { - if (!this.url.list) { - this.$message.error("璇疯缃畊rl.list灞炴��!") - return - } - //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 - if (arg === 1) { - this.ipagination.current = 1; - } - var params = this.getQueryParams();//鏌ヨ鏉′欢 - if (!params) { - return false; - } - this.loading = true; - getAction(this.url.list, params).then((res) => { - if (res.success) { - // console.log(res) - //update-begin---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------ - this.dataSource = res.result.records || res.result; - if (res.result.total) { - this.ipagination.total = res.result.total; - } else { - this.ipagination.total = 0; - } - //update-end---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------ - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.loading = false - }) - }, - loadData2: function (arg) { - if (!this.url.list2) { - this.$message.error('璇疯缃畊rl.list2灞炴��!') - return - } - //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 - if (arg === 1) { - this.iPagination2.current = 1 - } - if (this.currentWorkshopId === '') return - let params = this.getQueryParams2() //鏌ヨ鏉′欢 - params.spareRequisitionId = this.spareRequisitionId - this.loading2 = true - getAction(this.url.list2, params).then((res) => { - if (res.success) { - this.dataSource2 = res.result.records - this.iPagination2.total = res.result.total - } else { - this.dataSource2 = [] - } - this.loading2 = false - }) - }, - getQueryParams2() { - //鑾峰彇鏌ヨ鏉′欢 - let sqp = {} - if (this.superQueryParams2) { - sqp['superQueryParams'] = encodeURI(this.superQueryParams2) - sqp['superQueryMatchType'] = this.superQueryMatchType2 - } - var param = Object.assign(sqp, this.queryParam2, this.iSorter2, this.filters2) - param.field = this.getQueryField2() - param.pageNo = this.iPagination2.current - param.pageSize = this.iPagination2.pageSize - return filterObj(param) - }, - getQueryField2() { - var str = 'id,' - this.columns2.forEach(function (value) { - str += ',' + value.dataIndex - }) - return str - }, - hideSpareDetailList: function () { - this.selectedRowKeys1 = [] - }, - handleEdit2: function (record) { - this.$refs.modalForm2.title = '缂栬緫' - // this.$refs.modalForm2.roleDisabled = true - this.$refs.modalForm2.edit(record) - }, - handleAdd2: function () { - if (this.spareRequisitionId === '') { - this.$message.error('璇烽�夋嫨涓�涓璐崟!') - } else { - // this.$refs.modalForm2.roleDisabled = true - this.$refs.modalForm2.title = '鏂板' - this.$refs.modalForm2.edit({ selectedSpareRequisitions: this.spareRequisitionId }) - } - }, - handleDelete2: function (id) { - if (!this.url.delete2) { - this.$message.error('璇疯缃畊rl.delete2灞炴��!') - return - } - var that = this - deleteAction(that.url.delete2, { spareRequisitionId: this.spareRequisitionId, spareRequisitionDetailId: id }).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData2() - } else { - that.$message.warning(res.message) - } - }) - }, - batchDel2: function () { - if (!this.url.deleteBatch2) { - this.$message.error('璇疯缃畊rl.deleteBatch2灞炴��!') - return - } - if (this.selectedRowKeys2.length <= 0) { - this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒') - return - } else { - var ids = '' - for (var a = 0; a < this.selectedRowKeys2.length; a++) { - ids += this.selectedRowKeys2[a] + ',' - } - var that = this - this.$confirm({ - title: '纭鍒犻櫎', - content: '鏄惁鍒犻櫎閫変腑鏁版嵁?', - onOk: function () { - deleteAction(that.url.deleteBatch2, { spareRequisitionId: that.spareRequisitionId, spareRequisitionDetailIds: ids }).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData2() - that.onClearSelected2() - } else { - that.$message.warning(res.message) - } - }) - } - }) - } - }, - onClearSelected1() { - this.selectedRowKeys1 = [] - this.selectionRows1 = [] - }, - handleConfirm(record) { - setTimeout(() => { - this.loading = true - }, 100); - - if (!this.url.submit) { - this.$message.error('璇疯缃畊rl.submit灞炴��!') - return - } - var that = this - // this.$confirm({ - // title: '纭鎻愪氦', - // content: '纭畾鎻愪氦鍚�?', - // onOk: function () { - - postAction(that.url.submit, record).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData() - // that.onClearSelected1() - } else { - that.$message.warning(res.message) - } - that.loading = false - }) - // } - // }) - this.loading = false - }, - handleExamine: function (record) { - this.$refs.modalExamine.examine(record); - this.$refs.modalExamine.title = "瀹℃牳"; - this.$refs.modalExamine.disableSubmit = false; - }, - modalFormOk2: function () { - this.loadData() - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/spare/EamSparePartScrapList.vue b/src/views/eam/spare/EamSparePartScrapList.vue deleted file mode 100644 index 66441ff..0000000 --- a/src/views/eam/spare/EamSparePartScrapList.vue +++ /dev/null @@ -1,307 +0,0 @@ -<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.scrapCode" - ></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="澶囦欢鍚嶇О"> - <a-input - placeholder="璇疯緭鍏ュ浠跺悕绉�" - v-model="queryParam.partName" - ></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 - v-show="record.scrapStatus === '1'" - @click="handleEdit(record)" - >缂栬緫</a> - - <a-divider type="vertical" /> - <a - v-show="record.scrapStatus === '1'" - @click="handleConfirm(record)" - >瀹℃牳纭</a> - - <a-divider type="vertical" /> - <a-dropdown> - <a - v-show="record.scrapStatus === '1'" - class="ant-dropdown-link" - >鏇村 <a-icon type="down" /></a> - <a-menu - v-show="record.scrapStatus === '1'" - 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 --> - - <!-- 琛ㄥ崟鍖哄煙 --> - <eamSparePartScrap-modal - ref="modalForm" - @ok="modalFormOk" - ></eamSparePartScrap-modal> - </a-card> -</template> - -<script> -import '@assets/less/TableExpand.less' -import EamSparePartScrapModal from './modules/EamSparePartScrap/EamSparePartScrapModal.vue' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { deleteAction, getAction, postAction } from '@api/manage' - -export default { - name: "EamSparePartScrapList", - mixins: [JeecgListMixin], - components: { - EamSparePartScrapModal - }, - 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: 'scrapCode' - }, - { - title: '澶囦欢鍚嶇О', - align: "center", - dataIndex: 'partName' - }, - { - title: '澶囦欢鍨嬪彿', - align: "center", - dataIndex: 'partModel' - }, - { - title: '鎶ュ簾鍘熷洜', - align: "center", - dataIndex: 'scrapReason' - }, - { - title: '鎶ュ簾鏁伴噺', - align: "center", - dataIndex: 'scrapNum' - }, - { - title: '鐢宠浜�', - align: "center", - dataIndex: 'reportUser' - }, - { - title: '瀹℃牳浜�', - align: "center", - dataIndex: 'approvalUser' - }, - { - title: '瀹℃牳鏃堕棿', - align: "center", - dataIndex: 'approvalTime' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: "center", - scopedSlots: { customRender: 'action' }, - } - ], - url: { - list: "/eam/eamSparePartScrap/list", - delete: "/eam/eamSparePartScrap/delete", - deleteBatch: "/eam/eamSparePartScrap/deleteBatch", - exportXlsUrl: "eam/eamSparePartScrap/exportXls", - importExcelUrl: "eam/eamSparePartScrap/importExcel", - confirm: "/eam/eamSparePartScrap/confirm", - }, - } - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - } - }, - methods: { - handleConfirm(record) { - if (!this.url.confirm) { - this.$message.error('璇疯缃畊rl.confirm灞炴��!') - return - } - var that = this - this.$confirm({ - title: '澶囦欢鎶ュ簾纭', - content: '纭澶囦欢鎶ュ簾鍚�?', - onOk: function () { - that.loading = true; - postAction(that.url.confirm, record).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadData() - } else { - that.$message.warning(res.message) - } - that.loading = false - }).finally(() => { - that.loading = false; - }); - } - }) - }, - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/spare/EamSparePartsList.vue b/src/views/eam/spare/EamSparePartsList.vue deleted file mode 100644 index 267b852..0000000 --- a/src/views/eam/spare/EamSparePartsList.vue +++ /dev/null @@ -1,375 +0,0 @@ -<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="4" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="澶囦欢鍒嗙被"> - <j-dict-select-tag - allow-clear - :disabled="false" - placeholder="璇烽�夋嫨澶囦欢鍒嗙被" - :triggerChange="true" - dictCode="spare_part_category" - v-model="queryParam.partCategory" - /> - </a-form-item> - </a-col> - <a-col - :xl="4" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="澶囦欢缂栫爜"> - <j-input - placeholder="璇疯緭鍏ュ浠剁紪鐮�" - v-model="queryParam.partCode" - ></j-input> - </a-form-item> - </a-col> - <a-col - :xl="4" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="澶囦欢鍚嶇О"> - <j-input - placeholder="璇疯緭鍏ュ浠跺悕绉�" - v-model="queryParam.partName" - ></j-input> - </a-form-item> - </a-col> - <a-col - :xl="4" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="澶囦欢鍨嬪彿"> - <j-input - placeholder="璇疯緭鍏ュ浠跺瀷鍙�" - v-model="queryParam.partModel" - ></j-input> - </a-form-item> - </a-col> - <a-col - :xl="4" - :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> - </span> - </a-col> - - </a-row> - </a-form> - </div> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button - @click="handleAdd" - type="primary" - icon="plus" - >鏂板</a-button> - - <a-button - @click="handleInto" - 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}' - :customRow='clickThenSelect' - @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> - <a-tabs defaultActiveKey="1"> - <a-tab-pane - tab='搴撳瓨鏄庣粏' - key="1" - > - <div - class="table-operator" - style="margin:-16px" - > - <eamSpare-part-inventory-list :sparePartId='sparePartId' /> - </div> - </a-tab-pane> - </a-tabs> - </div> - <!-- table鍖哄煙-end --> - - <eamSpareParts-modal - ref="modalForm" - @ok="modalFormOk" - ></eamSpareParts-modal> - - <eamSpare-part-into-modal - ref="intoModalForm" - @ok="modalFormOk" - ></eamSpare-part-into-modal> - </a-card> -</template> - -<script> -import '@assets/less/TableExpand.less' -import EamSparePartsModal from './modules/EamSpareParts/EamSparePartsModal.vue' -import EamSparePartInventoryList from './modules/EamSpareParts/EamSparePartInventoryList.vue' -import EamSparePartIntoModal from './modules/EamSpareParts/EamSparePartIntoModal.vue' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' - -export default { - name: "EamSparePartsList", - mixins: [JeecgListMixin], - components: { - EamSparePartsModal, - EamSparePartInventoryList, - EamSparePartIntoModal - }, - data() { - return { - description: '澶囧搧澶囦欢绠$悊椤甸潰', - sparePartId: '-1', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function (t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '澶囦欢缂栫爜', - align: "center", - dataIndex: 'partCode' - }, - { - title: '鍒嗙被', - align: "center", - dataIndex: 'partCategory_dictText' - }, - { - title: '澶囦欢鍚嶇О', - align: "center", - dataIndex: 'partName' - }, - { - title: '鍨嬪彿', - align: "center", - dataIndex: 'partModel' - }, - { - title: '瑙勬牸', - align: "center", - dataIndex: 'partSpecification' - }, - { - title: '瀛樻斁浠撳簱', - align: "center", - dataIndex: 'storehouse' - }, - { - title: '鍒堕�犲晢', - align: "center", - dataIndex: 'manufacturingEnterprise' - }, - { - title: '鍗曚綅', - align: "center", - dataIndex: 'unit' - }, - { - title: '鏈夋晥鏈燂紙澶╋級', - align: "center", - dataIndex: 'periodOfValidity' - }, - { - title: '搴撳瓨涓婇檺鍊�', - align: "center", - dataIndex: 'inventoryMax' - }, - { - title: '搴撳瓨涓嬮檺鍊�', - align: "center", - dataIndex: 'inventoryMin' - }, - { - title: '搴撳瓨棰勮鍊�', - align: "center", - dataIndex: 'inventoryWarning' - }, - { - title: '搴撳瓨鎬绘暟', - align: "center", - dataIndex: 'totalQuantity' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: "center", - scopedSlots: { customRender: 'action' }, - } - ], - url: { - list: "/eam/eamSpareParts/list", - delete: "/eam/eamSpareParts/delete", - deleteBatch: "/eam/eamSpareParts/deleteBatch", - exportXlsUrl: "eam/eamSpareParts/exportXls", - importExcelUrl: "eam/eamSpareParts/importExcel", - }, - } - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - } - }, - methods: { - - handleInto() { - this.$refs.intoModalForm.add(); - this.$refs.intoModalForm.title = "鍏ュ簱"; - }, - searchReset() { - this.queryParam = {} - this.onClearSelected() - this.loadData(1); - }, - searchQuery() { - this.onClearSelected() - this.loadData(1); - }, - clickThenSelect(record) { - return { - on: { - click: () => { - this.onSelectChange(record.id.split(','), [record]) - } - } - } - }, - onClearSelected() { - this.selectedRowKeys = [] - this.selectionRows = [] - this.sparePartId = '-1' - }, - onSelectChange(selectedRowKeys, selectionRows) { - if (selectedRowKeys.length == 1) { - this.sparePartId = selectionRows[0]['id'] - } else { - this.sparePartId = '-1' - } - this.selectedRowKeys = selectedRowKeys - this.selectionRows = selectionRows - }, - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/eam/spare/modules/EamSparePartReceive/EamSparePartReceiveDetailList.vue b/src/views/eam/spare/modules/EamSparePartReceive/EamSparePartReceiveDetailList.vue deleted file mode 100644 index 0e21cb5..0000000 --- a/src/views/eam/spare/modules/EamSparePartReceive/EamSparePartReceiveDetailList.vue +++ /dev/null @@ -1,185 +0,0 @@ -<template> - <a-card - :bordered="false" - :class="'cust-erp-sub-tab'" - > - <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <a-form - layout="inline" - @keyup.enter.native="searchQuery" - > - <a-row :gutter="24"> - </a-row> - </a-form> - </div> - <div> - <a-table - ref="table" - size="middle" - bordered - rowKey="id" - :scroll="{x:true}" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - @change="handleTableChange" - > - - </a-table> - </div> - - </a-card> -</template> - -<script> -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { getAction } from '@/api/manage' -import Tooltip from 'ant-design-vue/es/tooltip' -import { ACCESS_TOKEN } from '@/store/mutation-types' -import Vue from 'vue' -import { getFileAccessHttpUrl } from '@/api/manage'; - -export default { - name: "EamSparePartInventoryList", - mixins: [JeecgListMixin], - components: { - Tooltip, - }, - props: { - sparePartReceiveId: { - type: String, - default: '-1', - required: false - } - }, - watch: { - sparePartReceiveId: { - immediate: true, - handler(val) { - if (!this.sparePartReceiveId) { - this.clearList() - } else { - this.queryParam['sparePartReceiveId'] = val; - this.loadData(1); - } - } - } - }, - data() { - return { - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: "center", - customRender: function (t, r, index) { - return parseInt(index) + 1; - } - }, - { - title: '澶囦欢缂栫爜', - align: "center", - dataIndex: 'partCode' - }, - { - title: '澶囦欢鍚嶇О', - align: "center", - dataIndex: 'partName' - }, - { - title: '澶囦欢鍨嬪彿', - align: "center", - dataIndex: 'partModel' - }, - { - title: '澶囦欢瑙勬牸', - align: "center", - dataIndex: 'partSpecification' - }, - - { - title: '棰嗙敤/褰掕繕鏁伴噺', - align: "center", - dataIndex: 'receiveNum' - }, - // { - // title: '鎿嶄綔', - // dataIndex: 'action', - // align: "center", - // scopedSlots: { customRender: 'action' }, - // } - ], - url: { - list: "/eam/eamSparePartReceiveDetail/list", - delete: "/eam/eamSparePartInventory/delete", - deleteBatch: "/eam/eamSparePartInventory/deleteBatch", - exportXlsUrl: "eam/eamSparePartInventory/exportXls", - importExcelUrl: "eam/eamSparePartInventory/importExcel", - }, - /* 鍒嗛〉鍙傛暟 */ - ipagination: { - current: 1, - pageSize: 20, - pageSizeOptions: ['5', '10', '20', '50'], - showTotal: (total, range) => { - return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' - }, - showQuickJumper: true, - showSizeChanger: true, - total: 0 - }, - } - }, - created() { - }, - computed: { - }, - methods: { - clearList() { - this.dataSource = [] - this.selectedRowKeys = [] - this.ipagination.current = 1 - }, - loadData(arg) { - if (!this.url.list) { - this.$message.error("璇疯缃畊rl.list灞炴��!") - return - } - //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 - if (arg === 1) { - this.ipagination.current = 1; - } - var params = this.getQueryParams();//鏌ヨ鏉′欢 - this.loading = true; - // this.originTargetKeys = []; - getAction(this.url.list, params).then((res) => { - if (res.success) { - // for (let i = 0; i < res.result.records.length; i++) { - // let r = res.result.records[i].upload; - // r.src = this.getSrc(res.result.records[i].upload); - // } - this.dataSource = res.result.records || res.result; - if (res.result.total) { - this.ipagination.total = res.result.total; - } else { - this.ipagination.total = 0; - } - //update-end---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------ - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.loading = false - }) - }, - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> diff --git a/src/views/eam/spare/modules/EamSparePartReceive/EamSparePartReceiveModal.vue b/src/views/eam/spare/modules/EamSparePartReceive/EamSparePartReceiveModal.vue deleted file mode 100644 index 1c5e9e1..0000000 --- a/src/views/eam/spare/modules/EamSparePartReceive/EamSparePartReceiveModal.vue +++ /dev/null @@ -1,305 +0,0 @@ -<template> - <j-modal - :title="title" - :width="1000" - :visible="visible" - :confirmLoading="confirmLoading" - switchFullscreen - centered - :mask-closable="false" - @ok="handleOk" - @cancel="handleCancel" - cancelText="鍏抽棴" - > - - <a-spin :spinning="spinning"> - <a-form-model - ref="form" - :model="model" - :rules="validatorRules" - > - <!-- :labelCol="labelCol" - :wrapperCol="wrapperCol" --> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="receiveCode" - label="璇疯喘鍗曠紪鐮�" - > - <a-input - placeholder="璇疯喘鍗曠紪鐮佽嚜鍔ㄧ敓鎴�" - v-model="model.receiveCode" - :disabled="true" - /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="giveBackFlag" - label="鏄惁闇�瑕佸綊杩�" - > - <j-dict-select-tag - allow-clear - :disabled="false" - placeholder="璇烽�夋嫨鏄惁闇�瑕佸綊杩�" - :triggerChange="true" - dictCode="give_back_flag" - v-model="model.giveBackFlag" - /> - </a-form-model-item> - </a-col> - - </a-row> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-model-item - :labelCol="{xs: { span: 24 }, sm: { span: 3 }}" - :wrapperCol="{xs: { span: 24 },sm: { span: 21 }}" - prop="receiveReason" - label="棰嗙敤浜嬬敱" - > - <a-textarea - placeholder="璇疯緭鍏ラ鐢ㄤ簨鐢�" - v-model="model.receiveReason" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-model-item - :labelCol="{xs: { span: 24 }, sm: { span: 3 }}" - :wrapperCol="{xs: { span: 24 },sm: { span: 21 }}" - prop="remark" - label="澶囨敞" - > - <a-textarea - placeholder="璇疯緭鍏ュ娉�" - v-model="model.remark" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <j-vxe-table - ref="editableDetailTable" - :rowNumber="true" - :rowSelection="true" - :bordered="true" - :alwaysEdit="true" - :toolbar="true" - keep-source - :height="300" - :loading="detail.loading" - :dataSource="detail.dataSource" - :columns="detail.columns" - style="margin-top: 8px;" - /> - </a-row> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@/api/manage' -import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' -import { JVXETypes } from '@/components/jeecg/JVxeTable' - -export default { - name: 'EamSparePartReceiveModal', - mixins: [JVxeTableModelMixin], - components: {}, - data() { - return { - title: '鎿嶄綔', - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - }, - confirmLoading: false, - spinning: false, - disabled: false, - validatorRules: { - giveBackFlag: [ - { required: true, message: '璇烽�夋嫨褰掕繕鏉′欢锛�' } - ] - }, - url: { - add: '/eam/eamSparePartReceive/add', - edit: '/eam/eamSparePartReceive/edit', - // add: "/eam/eamSparePartRequisition/add", - // edit: "/eam/eamSparePartRequisition/edit", - getDetails: "/eam/eamSparePartRequisitionDetail/list", - generateRequisitionCode: "sys/sysBusinessCodeRule/generateBusinessCodeSeq" - }, - detail: { - loading: false, - dataSource: [], - columns: [ - { - title: '澶囦欢', - key: 'partId', - type: JVXETypes.select, - width: '30%', - align: 'center', - dictCode: 'eam_spare_parts,part_name,id, del_flag!=\'1\'', - validateRules: [ - { required: true, message: '澶囦欢涓嶈兘涓虹┖锛�' }, - ], - }, - { - title: '棰嗙敤鏁伴噺', - key: 'receiveNum', - type: JVXETypes.inputNumber, - width: '30%', - align: 'center', - validateRules: [ - { required: true, message: '鏁伴噺涓嶈兘涓虹┖锛�' }, - ] - }, - - ] - } - } - }, - created() { - }, - methods: { - add() { - - const that = this - this.visible = true; - let params = { - businessCode: "SparePartReceive" - } - getAction(that.url.generateRequisitionCode, params).then((res) => { - if (res.success) { - this.model = { - receiveCode: res.result - } - } else { - that.$message.warning(res.message); - } - }) - //鍒濆鍖栭粯璁ゅ�� - that.edit(this.model); - }, - edit(record) { - this.model = Object.assign({}, record); - this.detail.dataSource = record.sparePartReceiveDetails - this.visible = true; - }, - - async handleOk() { - const that = this - let errMap = await that.$refs.editableDetailTable.validateTable() - if (errMap) { - this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') - return - } - let tableData = that.$refs.editableDetailTable.getTableData() - if (tableData.length == 0) { - this.$message.warning('璇烽�夋嫨澶囦欢棰嗙敤淇℃伅锛�') - return - } - - for (var i = 0; i < tableData.length; i++) { - let count = 0; - tableData.forEach(row => { - if (row.partId === tableData[i].partId) { - count++; - } - }); - // 濡傛灉閲嶅娆℃暟澶т簬1锛岃鏄庢湁閲嶅 - if (count > 1) { - 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.sparePartReceiveDetails = [...tableData] - that.model.removeDetailList = [...removeData] - - that.confirmLoading = that.spinning = 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') - that.close() - } else { - that.$message.warning(res.message) - } - }).finally(() => { - that.confirmLoading = that.spinning = false - }) - } else { - return false - } - }) - }, - - - - handleCancel() { - this.close() - }, - - close() { - this.$emit('close') - this.visible = false - this.$refs.form.clearValidate() - }, - checkUniqueName(rule, value, callback) { - - // if (!value) { - // return callback(); // 绌哄�肩敱required瑙勫垯鏍¢獙 - // } - - // 鑾峰彇褰撳墠琛ㄦ牸鏁版嵁 - let tableData = this.$refs.editableDetailTable.getTableData() - // 璁$畻閲嶅娆℃暟锛堜笉鍖呮嫭褰撳墠琛岋級 - let count = 0; - tableData.forEach(row => { - if (row.partId === rule.cellValue) { - count++; - } - }); - // 濡傛灉閲嶅娆℃暟澶т簬1锛岃鏄庢湁閲嶅 - if (count > 1) { - this.$message.warning('閫夋嫨鐨勫浠朵笉鑳介噸澶嶏紒') - return - } - }, - } -} -</script> - -<style lang="less" scoped> -</style> \ No newline at end of file diff --git a/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionDetailModal.vue b/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionDetailModal.vue deleted file mode 100644 index e7c17a2..0000000 --- a/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionDetailModal.vue +++ /dev/null @@ -1,117 +0,0 @@ -<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="partId" label="澶囧搧澶囦欢ID"> - <a-input placeholder="璇疯緭鍏ュ鍝佸浠禝D" v-model="model.partId" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requisitionNum" label="璇疯喘鏁伴噺"> - <a-input placeholder="璇疯緭鍏ヨ璐暟閲�" v-model="model.requisitionNum" /> - </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: "EamSparePartRequisitionDetailModal", - 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/eamSparePartRequisitionDetail/add", - edit: "/eam/eamSparePartRequisitionDetail/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/spare/modules/EamSparePartRequisition/EamSparePartRequisitionExamineModal.vue b/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionExamineModal.vue deleted file mode 100644 index f3e9ca5..0000000 --- a/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionExamineModal.vue +++ /dev/null @@ -1,122 +0,0 @@ -<template> - <j-modal - :title="title" - :width="800" - :visible="visible" - :confirmLoading="confirmLoading" - switchFullscreen - :cancel="close" - > - - <a-spin :spinning="confirmLoading"> - <a-form-model - ref="form" - :model="model" - :rules="validatorRules" - > - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="requisitionCode" - label="璇疯喘鍗曠紪鐮�" - > - <a-input - placeholder="璇疯喘鍗曠紪鐮佽嚜鍔ㄧ敓鎴�" - v-model="model.requisitionCode" - :disabled="true" - /> - </a-form-model-item> - </a-form-model> - </a-spin> - - <template slot='footer'> - <a-popconfirm - @confirm="handleReject" - title="纭灏嗗綋鍓嶅浠惰璐崟椹冲洖锛�" - > - <a-button - :loading='confirmLoading' - :style="{marginRight: '8px'}" - >椹冲洖</a-button> - </a-popconfirm> - <a-popconfirm - @confirm="handleOk" - title="纭灏嗗綋鍓嶅浠惰璐崟瀹℃牳閫氳繃锛�" - > - <a-button - type='primary' - :loading='confirmLoading' - :style="{marginRight: '8px'}" - >閫氳繃</a-button> - </a-popconfirm> - </template> - </j-modal> -</template> - -<script> -import { postAction } from '@api/manage' - -export default { - name: "EamSparePartRequisitionExamineModal", - data() { - return { - title: "瀹℃牳", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - - confirmLoading: false, - validatorRules: { - }, - url: { - examine: "eam/eamSparePartRequisition/examineSpareRequisition" - }, - } - }, - created() { - }, - methods: { - examine(record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - close() { - this.$emit('close'); - this.visible = false; - }, - handleOk() { - this.handleSubmit("3"); - }, - handleReject() { - this.handleSubmit("4"); - }, - handleSubmit(status) { - const that = this; - that.model.requisitionStatus = status; - postAction(that.url.examine, that.model).then((res) => { - if (res.success) { - that.$message.success(res.message); - that.$emit('ok'); - } else { - that.$message.warning(res.message); - } - }).catch(() => { - that.$message.error('鎿嶄綔澶辫触锛岃绋嶅悗閲嶈瘯'); - }).finally(() => { - that.confirmLoading = false; - that.close(); - }); - } - } -} -</script> - -<style lang="less" scoped> -</style> \ No newline at end of file diff --git a/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionModal.vue b/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionModal.vue deleted file mode 100644 index cdae5fe..0000000 --- a/src/views/eam/spare/modules/EamSparePartRequisition/EamSparePartRequisitionModal.vue +++ /dev/null @@ -1,258 +0,0 @@ -<template> - <j-modal - :title="title" - :width="900" - :visible="visible" - :confirmLoading="confirmLoading" - switchFullscreen - centered - :mask-closable="false" - @ok="handleOk" - @cancel="handleCancel" - cancelText="鍏抽棴" - > - - <a-spin :spinning="spinning"> - <a-form-model - ref="form" - :model="model" - :rules="validatorRules" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - > - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="requisitionCode" - label="璇疯喘鍗曠紪鐮�" - > - <a-input - placeholder="璇疯喘鍗曠紪鐮佽嚜鍔ㄧ敓鎴�" - v-model="model.requisitionCode" - :disabled="true" - /> - </a-form-model-item> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="remark" - label="澶囨敞" - > - <a-textarea - placeholder="璇疯緭鍏ュ娉�" - v-model="model.remark" - /> - </a-form-model-item> - <a-row :gutter="24"> - <j-vxe-table - ref="editableDetailTable" - :rowNumber="true" - :rowSelection="true" - :bordered="true" - :alwaysEdit="true" - :toolbar="true" - keep-source - :height="300" - :loading="detail.loading" - :dataSource="detail.dataSource" - :columns="detail.columns" - style="margin-top: 8px;" - /> - </a-row> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@/api/manage' -import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' -import { JVXETypes } from '@/components/jeecg/JVxeTable' - -export default { - name: 'EamSparePartIntoModal', - mixins: [JVxeTableModelMixin], - components: {}, - data() { - return { - title: '鎿嶄綔', - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 15 } - }, - confirmLoading: false, - spinning: false, - disabled: false, - validatorRules: {}, - url: { - //add: '/eam/eamSparePartInventory/add', - //edit: '/eam/eamSparePartInventory/edit', - add: "/eam/eamSparePartRequisition/add", - edit: "/eam/eamSparePartRequisition/edit", - getDetails: "/eam/eamSparePartRequisitionDetail/list", - generateRequisitionCode: "sys/sysBusinessCodeRule/generateBusinessCodeSeq" - }, - detail: { - loading: false, - dataSource: [], - columns: [ - { - title: '澶囦欢', - key: 'partId', - type: JVXETypes.select, - width: '30%', - align: 'center', - dictCode: 'eam_spare_parts,part_name,id, del_flag!=\'1\'', - validateRules: [ - { required: true, message: '澶囦欢涓嶈兘涓虹┖锛�' } - ] - }, - // { - // title: '鎵规鍙�', - // key: 'batchNum', - // type: JVXETypes.input, - // width: '10%', - // align: 'center', - // validateRules: [ - // { required: true, message: '鎵规鍙蜂笉鑳戒负绌猴紒' } - // ] - // }, - { - title: '鏁伴噺', - key: 'requisitionNum', - type: JVXETypes.inputNumber, - width: '30%', - align: 'center', - validateRules: [ - { required: true, message: '鏁伴噺涓嶈兘涓虹┖锛�' } - ] - }, - // { - // title: '鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)', - // key: 'manufactureDate', - // type: JVXETypes.datetime, - // width: '16%', - // align: 'center', - // validateRules: [ - // { required: false, message: '鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)涓嶈兘涓虹┖锛�' } - // ] - // }, - - ] - } - } - }, - created() { - }, - methods: { - add() { - - const that = this - this.visible = true; - let params = { - businessCode: "SpareRequisitionCodeRule" - } - getAction(that.url.generateRequisitionCode, params).then((res) => { - if (res.success) { - this.model = { - requisitionCode: res.result - } - } else { - that.$message.warning(res.message); - } - }) - //鍒濆鍖栭粯璁ゅ�� - that.edit(this.model); - }, - edit(record) { - this.model = Object.assign({}, record); - this.detail.dataSource = record.sparePartRequisitionDetails - this.visible = true; - }, - - async handleOk() { - const that = this - let errMap = await that.$refs.editableDetailTable.validateTable() - if (errMap) { - this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') - return - } - - let tableData = that.$refs.editableDetailTable.getTableData() - if (tableData.length == 0) { - this.$message.warning('璇烽�夋嫨澶囦欢淇℃伅锛�') - return - } - - for (var i = 0; i < tableData.length; i++) { - let count = 0; - tableData.forEach(row => { - if (row.partId === tableData[i].partId) { - count++; - } - }); - // 濡傛灉閲嶅娆℃暟澶т簬1锛岃鏄庢湁閲嶅 - if (count > 1) { - 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.sparePartRequisitionDetails = [...tableData] - that.model.removeDetailList = [...removeData] - - that.confirmLoading = that.spinning = 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') - that.close() - } else { - that.$message.warning(res.message) - } - }).finally(() => { - that.confirmLoading = that.spinning = false - }) - } else { - return false - } - }) - }, - - - - handleCancel() { - this.close() - }, - - close() { - this.$emit('close') - this.visible = false - this.$refs.form.clearValidate() - } - } -} -</script> - -<style lang="less" scoped> -</style> \ No newline at end of file diff --git a/src/views/eam/spare/modules/EamSparePartScrap/EamSparePartScrapModal.vue b/src/views/eam/spare/modules/EamSparePartScrap/EamSparePartScrapModal.vue deleted file mode 100644 index 85a581b..0000000 --- a/src/views/eam/spare/modules/EamSparePartScrap/EamSparePartScrapModal.vue +++ /dev/null @@ -1,188 +0,0 @@ -<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="scrapCode" - label="鎶ュ簾鍗曞彿" - > - <a-input - placeholder="璇疯緭鍏ユ姤搴熷崟鍙�" - v-model="model.scrapCode" - :disabled="true" - /> - </a-form-model-item> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="sparePartsId" - label="澶囦欢淇℃伅" - > - <j-dict-select-tag - allow-clear - :disabled="false" - placeholder="璇烽�夋嫨澶囦欢淇℃伅" - :triggerChange="true" - dictCode="eam_spare_parts,part_name,id, del_flag!='1'" - v-model="model.sparePartsId" - /> - </a-form-model-item> - - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="scrapNum" - label="鎶ュ簾鏁伴噺" - > - <a-input-number - style="width: 100%" - :min="1" - :max="999999" - placeholder="璇疯緭鍏ユ姤搴熸暟閲�" - v-model="model.scrapNum" - /> - </a-form-model-item> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="scrapReason" - label="鎶ュ簾鍘熷洜" - > - <a-textarea - placeholder="璇疯緭鍏ユ姤搴熷師鍥�" - v-model="model.scrapReason" - /> - </a-form-model-item> - - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@api/manage' -import moment from "moment" - -export default { - name: "EamSparePartScrapModal", - data() { - return { - title: "鎿嶄綔", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - - confirmLoading: false, - validatorRules: { - sparePartsId: [ - { required: true, message: '璇烽�夋嫨澶囦欢' } - ], - scrapNum: [ - { required: true, message: '璇疯緭鍏ユ姤搴熸暟閲�' } - ], - scrapReason: [ - { required: true, message: '璇疯緭鍏ユ姤搴熷師鍥�' } - ] - }, - url: { - add: "/eam/eamSparePartScrap/add", - edit: "/eam/eamSparePartScrap/edit", - generateRequisitionCode: "sys/sysBusinessCodeRule/generateBusinessCodeSeq" - }, - } - }, - created() { - }, - methods: { - add() { - const that = this - let params = { - businessCode: "SparePartScrapCodeRule" - } - getAction(that.url.generateRequisitionCode, params).then((res) => { - if (res.success) { - this.model = { - scrapCode: res.result - } - } else { - that.$message.warning(res.message); - } - }) - //鍒濆鍖栭粯璁ゅ�� - that.edit(this.model); - }, - 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/spare/modules/EamSpareParts/EamSparePartIntoModal.vue b/src/views/eam/spare/modules/EamSpareParts/EamSparePartIntoModal.vue deleted file mode 100644 index 6b29c95..0000000 --- a/src/views/eam/spare/modules/EamSpareParts/EamSparePartIntoModal.vue +++ /dev/null @@ -1,253 +0,0 @@ -<template> - <j-modal - :title="title" - :width="1500" - :visible="visible" - :confirmLoading="confirmLoading" - switchFullscreen - centered - :mask-closable="false" - @ok="handleOk" - @cancel="handleCancel" - cancelText="鍏抽棴" - > - - <a-spin :spinning="spinning"> - <a-form-model - ref="form" - :model="model" - :rules="validatorRules" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - > - <a-row :gutter="24"> - <j-vxe-table - ref="editableDetailTable" - :rowNumber="true" - :rowSelection="true" - :bordered="true" - :alwaysEdit="true" - :toolbar="true" - keep-source - :height="300" - :loading="detail.loading" - :dataSource="detail.dataSource" - :columns="detail.columns" - style="margin-top: 8px;" - /> - </a-row> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@/api/manage' -import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' -import { JVXETypes } from '@/components/jeecg/JVxeTable' - -export default { - name: 'EamSparePartIntoModal', - mixins: [JVxeTableModelMixin], - components: {}, - data() { - return { - title: '鎿嶄綔', - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 15 } - }, - confirmLoading: false, - spinning: false, - disabled: false, - validatorRules: {}, - url: { - add: '/eam/eamSparePartInventory/add', - edit: '/eam/eamSparePartInventory/edit', - }, - detail: { - loading: false, - dataSource: [], - columns: [ - { - title: '鏉ユ簮绫诲瀷', - key: 'sparePartIntoType', - type: JVXETypes.hidden, - width: '12%', - align: 'center', - defaultValue: '1', - validateRules: [ - { required: true, message: '澶囦欢涓嶈兘涓虹┖锛�' } - ] - }, - { - title: '澶囦欢', - key: 'sparePartId', - type: JVXETypes.select, - width: '12%', - align: 'center', - dictCode: 'eam_spare_parts,part_name,id, del_flag!=\'1\'', - validateRules: [ - { required: true, message: '澶囦欢涓嶈兘涓虹┖锛�' } - ] - }, - { - title: '鎵规鍙�', - key: 'batchNum', - type: JVXETypes.input, - width: '10%', - align: 'center', - validateRules: [ - { required: true, message: '鎵规鍙蜂笉鑳戒负绌猴紒' } - ] - }, - { - title: '鏁伴噺', - key: 'inventory', - type: JVXETypes.inputNumber, - width: '10%', - align: 'center', - validateRules: [ - { required: true, message: '鏁伴噺涓嶈兘涓虹┖锛�' } - ] - }, - { - title: '鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)', - key: 'manufactureDate', - type: JVXETypes.datetime, - width: '16%', - align: 'center', - validateRules: [ - { required: false, message: '鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)涓嶈兘涓虹┖锛�' } - ] - }, - { - title: '渚涘簲鍟�', - key: 'supplier', - type: JVXETypes.textarea, - width: '15%', - align: 'center', - validateRules: [ - { required: false, message: '渚涘簲鍟嗕笉鑳戒负绌猴紒' } - ] - }, - { - title: '鎴鏈夋晥鏈�', - key: 'expirationOfValidity', - type: JVXETypes.datetime, - width: '16%', - align: 'center', - validateRules: [ - { required: false, message: '鎴鏈夋晥鏈熶笉鑳戒负绌猴紒' } - ] - }, - { - title: '瀛樻斁浣嶇疆', - key: 'location', - type: JVXETypes.textarea, - width: '13%', - align: 'center', - validateRules: [ - { required: false, message: '瀛樻斁浣嶇疆涓嶈兘涓虹┖锛�' } - ] - }, - ] - } - } - }, - created() { - }, - methods: { - add() { - this.model = {} - this.detail.dataSource = [] - this.visible = true - }, - - - async handleOk() { - const that = this - let errMap = await that.$refs.editableDetailTable.validateTable() - if (errMap) { - this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') - return - } - - let tableData = that.$refs.editableDetailTable.getTableData() - if (tableData.length == 0) { - this.$message.warning('璇烽�夋嫨澶囦欢鍏ュ簱鏄庣粏锛�') - return - } - - for (var i = 0; i < tableData.length; i++) { - let count = 0; - tableData.forEach(row => { - if (row.sparePartId === tableData[i].sparePartId) { - count++; - } - }); - // 濡傛灉閲嶅娆℃暟澶т簬1锛岃鏄庢湁閲嶅 - if (count > 1) { - 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.eamSparePartInventories = [...tableData] - that.model.removeDetailList = [...removeData] - - that.confirmLoading = that.spinning = 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') - that.close() - } else { - that.$message.warning(res.message) - } - }).finally(() => { - that.confirmLoading = that.spinning = false - }) - } else { - return false - } - }) - }, - - - - handleCancel() { - this.close() - }, - - close() { - this.$emit('close') - this.visible = false - this.$refs.form.clearValidate() - } - } -} -</script> - -<style lang="less" scoped> -</style> \ No newline at end of file diff --git a/src/views/eam/spare/modules/EamSpareParts/EamSparePartInventoryList.vue b/src/views/eam/spare/modules/EamSpareParts/EamSparePartInventoryList.vue deleted file mode 100644 index 80dbf4f..0000000 --- a/src/views/eam/spare/modules/EamSpareParts/EamSparePartInventoryList.vue +++ /dev/null @@ -1,194 +0,0 @@ -<template> - <a-card - :bordered="false" - :class="'cust-erp-sub-tab'" - > - <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <a-form - layout="inline" - @keyup.enter.native="searchQuery" - > - <a-row :gutter="24"> - </a-row> - </a-form> - </div> - <div> - <a-table - ref="table" - size="middle" - bordered - rowKey="id" - :scroll="{x:true}" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - @change="handleTableChange" - > - - </a-table> - </div> - - </a-card> -</template> - -<script> -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { getAction } from '@/api/manage' -import Tooltip from 'ant-design-vue/es/tooltip' -import { ACCESS_TOKEN } from '@/store/mutation-types' -import Vue from 'vue' -import { getFileAccessHttpUrl } from '@/api/manage'; - -export default { - name: "EamSparePartInventoryList", - mixins: [JeecgListMixin], - components: { - Tooltip, - }, - props: { - sparePartId: { - type: String, - default: '-1', - required: false - } - }, - watch: { - sparePartId: { - immediate: true, - handler(val) { - if (!this.sparePartId) { - this.clearList() - } else { - this.queryParam['sparePartId'] = val; - this.loadData(1); - } - } - } - }, - data() { - return { - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: "center", - customRender: function (t, r, index) { - return parseInt(index) + 1; - } - }, - { - title: '鏉ユ簮绫诲瀷', - align: "center", - dataIndex: 'sparePartIntoType_dictText' - }, - { - title: '鎵规鍙�', - align: "center", - dataIndex: 'batchNum' - }, - { - title: '搴撳瓨鏁伴噺', - align: "center", - dataIndex: 'inventory' - }, - { - title: '鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)', - align: "center", - dataIndex: 'manufactureDate' - }, - { - title: '渚涘簲鍟�', - align: "center", - dataIndex: 'supplier' - }, - { - title: '鎴鏈夋晥鏈�', - align: "center", - dataIndex: 'expirationOfValidity' - }, - { - title: '瀛樻斁浣嶇疆', - align: "center", - dataIndex: 'location' - }, - // { - // title: '鎿嶄綔', - // dataIndex: 'action', - // align: "center", - // scopedSlots: { customRender: 'action' }, - // } - ], - url: { - list: "/eam/eamSparePartInventory/list", - delete: "/eam/eamSparePartInventory/delete", - deleteBatch: "/eam/eamSparePartInventory/deleteBatch", - exportXlsUrl: "eam/eamSparePartInventory/exportXls", - importExcelUrl: "eam/eamSparePartInventory/importExcel", - }, - /* 鍒嗛〉鍙傛暟 */ - ipagination: { - current: 1, - pageSize: 20, - pageSizeOptions: ['5', '10', '20', '50'], - showTotal: (total, range) => { - return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' - }, - showQuickJumper: true, - showSizeChanger: true, - total: 0 - }, - } - }, - created() { - }, - computed: { - }, - methods: { - clearList() { - this.dataSource = [] - this.selectedRowKeys = [] - this.ipagination.current = 1 - }, - loadData(arg) { - if (!this.url.list) { - this.$message.error("璇疯缃畊rl.list灞炴��!") - return - } - //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 - if (arg === 1) { - this.ipagination.current = 1; - } - var params = this.getQueryParams();//鏌ヨ鏉′欢 - this.loading = true; - // this.originTargetKeys = []; - getAction(this.url.list, params).then((res) => { - if (res.success) { - // for (let i = 0; i < res.result.records.length; i++) { - // let r = res.result.records[i].upload; - // r.src = this.getSrc(res.result.records[i].upload); - // } - this.dataSource = res.result.records || res.result; - if (res.result.total) { - this.ipagination.total = res.result.total; - } else { - this.ipagination.total = 0; - } - //update-end---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------ - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.loading = false - }) - }, - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> diff --git a/src/views/eam/spare/modules/EamSpareParts/EamSparePartsModal.vue b/src/views/eam/spare/modules/EamSpareParts/EamSparePartsModal.vue deleted file mode 100644 index dbfe962..0000000 --- a/src/views/eam/spare/modules/EamSpareParts/EamSparePartsModal.vue +++ /dev/null @@ -1,324 +0,0 @@ -<template> - <j-modal - :title="title" - :width="900" - :visible="visible" - :confirmLoading="confirmLoading" - switchFullscreen - @ok="handleOk" - @cancel="handleCancel" - cancelText="鍏抽棴" - > - - <a-spin :spinning="confirmLoading"> - <a-form-model - ref="form" - :model="model" - :rules="validatorRules" - > - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="partCode" - label="澶囦欢缂栫爜" - > - <a-input - placeholder="澶囦欢缂栫爜鑷姩鐢熸垚" - v-model="model.partCode" - :disabled="true" - /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="partCategory" - label="澶囦欢鍒嗙被" - > - <!-- <a-input - placeholder="璇疯緭鍏ュ浠跺垎绫�" - v-model="model.partCategory" - /> --> - <j-dict-select-tag - allow-clear - :disabled="false" - placeholder="璇烽�夋嫨澶囦欢鍒嗙被" - :triggerChange="true" - dictCode="spare_part_category" - v-model="model.partCategory" - /> - </a-form-model-item> - </a-col> - - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="partName" - label="澶囦欢鍚嶇О" - > - <a-input - placeholder="璇疯緭鍏ュ浠跺悕绉�" - v-model="model.partName" - /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="partModel" - label="澶囦欢鍨嬪彿" - > - <a-input - placeholder="璇疯緭鍏ュ浠跺瀷鍙�" - v-model="model.partModel" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="partSpecification" - label="澶囦欢瑙勬牸" - > - <a-input - placeholder="璇疯緭鍏ュ浠惰鏍�" - v-model="model.partSpecification" - /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="storehouse" - label="瀛樻斁浠撳簱" - > - <a-input - placeholder="璇疯緭鍏ュ瓨鏀句粨搴�" - v-model="model.storehouse" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="unit" - label="璁¢噺鍗曚綅" - > - <a-input - placeholder="璇疯緭鍏ヨ閲忓崟浣�" - v-model="model.unit" - /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="manufacturingEnterprise" - label="鍒堕�犱紒涓�" - > - <a-input - placeholder="璇疯緭鍏ュ埗閫犱紒涓�" - v-model="model.manufacturingEnterprise" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="periodOfValidity" - label="鏈夋晥鏈�(澶�)" - > - <a-input-number - style="width: 100%" - :min="0" - :precision="0" - v-model="model.periodOfValidity" - /> - </a-form-model-item> - </a-col> - - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="inventoryWarning" - label="搴撳瓨棰勮鍊�" - > - <a-input-number - style="width: 100%" - :min="0" - v-model="model.inventoryWarning" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="inventoryMax" - label="鏈�澶у璐у簱瀛�" - > - <a-input-number - style="width: 100%" - :min="0" - v-model="model.inventoryMax" - /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="inventoryMin" - label="鏈�灏忓璐у簱瀛�" - > - <a-input-number - style="width: 100%" - :min="0" - v-model="model.inventoryMin" - /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-model-item - :labelCol="{xs: { span: 24 }, sm: { span: 3 }}" - :wrapperCol="{xs: { span: 24 },sm: { span: 21 }}" - prop="remark" - label="澶囨敞" - > - <a-textarea - placeholder="璇疯緭鍏ュ娉�" - v-model="model.remark" - /> - </a-form-model-item> - </a-col> - </a-row> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@api/manage' -import moment from "moment" - -export default { - name: "EamSparePartsModal", - data() { - return { - title: "鎿嶄綔", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - }, - - confirmLoading: false, - validatorRules: { - partName: [ - { required: true, message: '璇疯緭鍏ュ浠跺悕绉�' } - ] - }, - url: { - add: "/eam/eamSpareParts/add", - edit: "/eam/eamSpareParts/edit", - generateRequisitionCode: "sys/sysBusinessCodeRule/generateBusinessCodeSeq" - }, - } - }, - created() { - }, - methods: { - add() { - const that = this - let params = { - businessCode: "SparePartCodeRule" - } - getAction(that.url.generateRequisitionCode, params).then((res) => { - if (res.success) { - this.model = { - partCode: res.result - } - } else { - that.$message.warning(res.message); - } - }) - //鍒濆鍖栭粯璁ゅ�� - that.edit(this.model); - }, - 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/flowable/workflow/FlowCompleted.vue b/src/views/flowable/workflow/FlowCompleted.vue index 19fafab..a35123e 100644 --- a/src/views/flowable/workflow/FlowCompleted.vue +++ b/src/views/flowable/workflow/FlowCompleted.vue @@ -80,6 +80,10 @@ <!--鐪熺┖鐑鐞嗙倝涓変繚--> <third-maintenance-furnace-approval-modal ref="thirdMaintenanceFurnaceApprovalModal" :selectShenpiData="selectedRowData"/> + + <!--璁惧浜嬫晠鐧昏--> + <report-accidents-register-approval-modal ref="reportAccidentsRegisterApprovalModal" + :selectShenpiData="selectedRowData"/> </a-card> </template> @@ -100,11 +104,13 @@ import MaintenanceStandardApprovalModal from './MaintenanceStandard/MaintenanceStandardApprovalModal' import ThirdMaintenanceOrderChangeApprovalModal from './thirdMaintenance/ThirdMaintenanceOrderChangeApprovalModal' import ThirdMaintenanceFurnaceApprovalModal from './thirdMaintenance/ThirdMaintenanceFurnaceApprovalModal' + import ReportAccidentsRegisterApprovalModal from './repairOrder/ReportAccidentsRegisterApprovalModal' export default { name: 'FlowCompleted', mixins: [JeecgListMixin], components: { + ReportAccidentsRegisterApprovalModal, ThirdMaintenanceFurnaceApprovalModal, ThirdMaintenanceOrderChangeApprovalModal, MaintenanceStandardApprovalModal, @@ -219,6 +225,9 @@ break case 'third_maintenance_furnace_process': this.handleThirdMaintenanceFurnace(record) + break + case 'eam_report_accidents_register': + this.handleAccidentsRegister(record) break default: alert('娌℃壘鍒拌娴佺▼') @@ -369,6 +378,18 @@ this.$refs.thirdMaintenanceFurnaceApprovalModal.handleApprove(record) }, + /** + * 鐐瑰嚮璁惧浜嬫晠鐧昏娴佺▼鎵ц瀹℃壒鏃惰Е鍙� + * @param record + */ + handleAccidentsRegister(record) { + this.selectedRowData = Object.assign({}, record) + this.$refs.reportAccidentsRegisterApprovalModal.visible = true + this.$refs.reportAccidentsRegisterApprovalModal.title = record.name + this.$refs.reportAccidentsRegisterApprovalModal.disableSubmit = true + this.$refs.reportAccidentsRegisterApprovalModal.handleApprove(record) + }, + splitProcessType(title) { let parts = title.split('锛�') // 娉ㄦ剰鍐掑彿鏄叏瑙掑瓧绗︼紝浣跨敤瀵瑰簲鐨勫瓧杩涜鍒嗗壊 let result = parts[0] diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue index 89f1065..8b57b8f 100644 --- a/src/views/flowable/workflow/FlowTodo.vue +++ b/src/views/flowable/workflow/FlowTodo.vue @@ -130,6 +130,11 @@ <third-maintenance-furnace-approval-modal ref="thirdMaintenanceFurnaceApprovalModal" :selectShenpiData="selectedRowData" @modalFormOk="modalFormOk"/> + + <!--璁惧浜嬫晠鐧昏--> + <report-accidents-register-approval-modal ref="reportAccidentsRegisterApprovalModal" + :selectShenpiData="selectedRowData" + @modalFormOk="modalFormOk"/> </a-card> </template> @@ -151,11 +156,13 @@ import TechnicalStatusDeactivateApprovalModal from './TechnicalStatus/TechnicalStatusDeactivateApprovalModal' import ThirdMaintenanceOrderChangeApprovalModal from './thirdMaintenance/ThirdMaintenanceOrderChangeApprovalModal' import ThirdMaintenanceFurnaceApprovalModal from './thirdMaintenance/ThirdMaintenanceFurnaceApprovalModal' + import ReportAccidentsRegisterApprovalModal from './repairOrder/ReportAccidentsRegisterApprovalModal' export default { name: 'FlowTodo', mixins: [JeecgListMixin], components: { + ReportAccidentsRegisterApprovalModal, ThirdMaintenanceFurnaceApprovalModal, ThirdMaintenanceOrderChangeApprovalModal, TechnicalStatusDeactivateApprovalModal, @@ -285,6 +292,9 @@ break case 'third_maintenance_furnace_process': this.handleThirdMaintenanceFurnace(record) + break + case 'eam_report_accidents_register': + this.handleAccidentsRegister(record) break default: alert('娌℃壘鍒拌娴佺▼') @@ -423,6 +433,17 @@ this.$refs.thirdMaintenanceFurnaceApprovalModal.handleApprove(record) }, + /** + * 鐐瑰嚮璁惧浜嬫晠鐧昏娴佺▼鎵ц瀹℃壒鏃惰Е鍙� + * @param record + */ + handleAccidentsRegister(record) { + this.selectedRowData = Object.assign({}, record) + this.$refs.reportAccidentsRegisterApprovalModal.visible = true + this.$refs.reportAccidentsRegisterApprovalModal.title = record.name + this.$refs.reportAccidentsRegisterApprovalModal.handleApprove(record) + }, + batchHandle() { const categorySet = new Set(this.selectionRows.map(item => item.category)) const nameSet = new Set(this.selectionRows.map(item => item.name)) diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue index c3f01a0..0a6dee2 100644 --- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue +++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue @@ -19,12 +19,12 @@ <a-input v-model="model.repairCode" readOnly/> </a-form-model-item> </a-col> - <a-col :span="customSpan"> + <a-col :span="12"> <a-form-model-item label="鏁呴殰绫诲瀷"> <j-dict-select-tag dict-code="fault_type" v-model="model.faultType" disabled/> </a-form-model-item> </a-col> - <a-col :span="customSpan"> + <a-col :span="12"> <a-form-model-item label="鎶ヤ慨浜�"> <a-input v-model="model.reportPerson" readOnly/> </a-form-model-item> @@ -39,7 +39,7 @@ <a-input v-model="model.actualEndTime" readOnly/> </a-form-model-item> </a-col> - <a-col :span="customSpan"> + <a-col :span="24"> <a-form-model-item label="鏁呴殰鐜拌薄"> <a-textarea v-model="model.faultPhenomenon" readOnly/> </a-form-model-item> diff --git a/src/views/flowable/workflow/repairOrder/ReportAccidentsRegisterApprovalModal.vue b/src/views/flowable/workflow/repairOrder/ReportAccidentsRegisterApprovalModal.vue new file mode 100644 index 0000000..e87a922 --- /dev/null +++ b/src/views/flowable/workflow/repairOrder/ReportAccidentsRegisterApprovalModal.vue @@ -0,0 +1,615 @@ +<template> + <j-modal :title="title" :visible="visible" :confirmLoading="confirmLoading" :width="1300" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" fullscreen @ok="handleOk" + @cancel="handleCancel" centered cancelText="鍏抽棴"> + <a-spin :spinning="spinning"> + <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-row id="outer-row" :gutter="24"> + <!--宸︿晶鍩虹淇℃伅鍒�--> + <a-col :span="selectShenpiData.procInstId?8:12" class="scroll-col"> + <a-tabs> + <a-tab-pane tab="鍩虹淇℃伅"> + <a-row> + <a-col :span="12"> + <a-form-model-item label="缁熶竴缂栫爜"> + <lx-search-equipment-select v-model="model.equipmentId" disabled/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="搴熷搧浠跺彿"> + <a-input v-model="model.scrapPartNumber" readOnly/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="12"> + <a-form-model-item label="搴熷搧浠舵暟"> + <a-input v-model="model.scrapPartQuantity" readOnly/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="搴熷搧浠峰��"> + <a-input v-model="model.scrapPartValue" readOnly/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="12"> + <a-form-model-item label="鏄惁鏈夎澶囨搷浣滆瘉"> + <j-dict-select-tag dict-code="yn" type="radio" v-model="model.operationCertificate" disabled/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鏄惁鏂數閲嶅惎"> + <j-dict-select-tag dict-code="yn" type="radio" v-model="model.powerOffRestart" disabled/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="12"> + <a-form-model-item label="鏄惁涓烘壒娆¢浠�"> + <j-dict-select-tag dict-code="yn" type="radio" v-model="model.batchFirstPiece" disabled/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鍙樺姩鍥犵礌"> + <j-dict-select-tag dict-code="yn" type="radio" v-model="model.variableFactors" disabled/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="12"> + <a-form-model-item label="鍙樺姩鍥犵礌鍐呭"> + <a-input v-model="model.variableFactorsValue_dictText" readOnly/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鎵ц绋嬪簭"> + <a-input v-model="model.executeNc" readOnly/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="24"> + <a-form-model-item label="浜嬫晠鐜拌薄" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <a-textarea v-model="model.accidentPhenomenon" readOnly/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="24"> + <a-form-model-item label="閲囧彇鎺柦" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <a-textarea v-model="model.measure" readOnly/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="24"> + <a-form-model-item label="閫犳垚缁撴灉" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <a-textarea v-model="model.causingResults" readOnly/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + </a-col> + + <!-- 涓棿鏄庣粏椤瑰垪--> + <a-col v-if="selectShenpiData.procInstId" :span="10" class="scroll-col"> + <a-tabs default-active-key="1"> + <a-tab-pane key='1' tab='娴佺▼鍥�'> + <img :src="imageSrc" v-if="imageSrc" style="width: 100%"/> + </a-tab-pane> + </a-tabs> + </a-col> + + <!--鍙充晶瀹℃壒鍒�--> + <a-col :span="selectShenpiData.procInstId?6:12" class="scroll-col"> + <a-tabs v-if="displayRegionalManagerFlag"> + <a-tab-pane tab="鍖洪暱纭"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="districtResult" label="纭绫诲瀷" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.districtResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REGIONAL_MANAGER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.districtConfirm" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REGIONAL_MANAGER')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displayCenterManagerFlag"> + <a-tab-pane tab="涓績涓讳换纭"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="centerDirectorResult" label="纭绫诲瀷" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.centerDirectorResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_CENTER_MANAGER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.centerDirectorConfirm" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_CENTER_MANAGER')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displayRepairFlag"> + <a-tab-pane tab="缁翠慨宸ョ‘璁�"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="reportStartTime" label="缁翠慨寮�濮嬫椂闂�" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-date-picker v-model="model.reportStartTime" value-format="YYYY-MM-DD" style="width: 100%" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="equipmentStatus" label="璁惧鐘舵��" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-input v-model="model.equipmentStatus" placeholder="璇疯緭鍏ヨ澶囩姸鎬�" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="causeAnalysis" label="鍘熷洜鍒嗘瀽" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea v-model="model.causeAnalysis" placeholder="璇疯緭鍏ュ師鍥犲垎鏋�" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="inspectionResults" label="妫�鏌ョ粨鏋�" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea v-model="model.inspectionResults" placeholder="璇疯緭鍏ユ鏌ョ粨鏋�" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="takeSteps" label="閲囧彇鎺柦" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea v-model="model.takeSteps" placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="suggestionTakeSteps" label="寤鸿閲囧彇鎺柦" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea v-model="model.suggestionTakeSteps" placeholder="璇疯緭鍏ュ缓璁噰鍙栨帾鏂�" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="suggestionTakeStepsTime" label="寤鸿閲囧彇鎺柦鏃堕棿" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-date-picker v-model="model.suggestionTakeStepsTime" value-format="YYYY-MM-DD" + style="width: 100%" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="repairConfirmResult" label="纭绫诲瀷" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.repairConfirmResult' dictCode='approve_reject' + disabled/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.repairConfirmComment" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_WORKER')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displayRepairLeaderFlag"> + <a-tab-pane tab="缁翠慨瀹や富浠荤‘璁�"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="repairGroupLeaderResult" label="纭绫诲瀷" + :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.repairGroupLeaderResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_TEAM_LEADER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.repairGroupLeaderComment" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_TEAM_LEADER')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displayRepairRegionalManagerFlag"> + <a-tab-pane tab="缁翠慨鍖洪暱纭"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="repairDistrictResult" label="纭绫诲瀷" + :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.repairDistrictResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_REGIONAL_MANAGER')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.repairDistrictComment" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_REPAIR_REGIONAL_MANAGER')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displayTechnicalLeaderFlag"> + <a-tab-pane tab="鎶�鏈礋璐d汉纭"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="checkAgree" label="鍘熷洜鍒嗘瀽鏍稿" + :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.checkAgree' + dictCode='approve_reject' @change="handleCheckAgreeChange" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_RESPONSIBLE')"/> + </a-form-model-item> + </a-col> + <a-col :span="24" v-if="model.checkAgree==='2'"> + <a-form-model-item label="涓嶅悓鎰忓師鍥犲垎鏋�" prop="disagreeReason" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ヤ笉鍚屾剰鍘熷洜" v-model="model.disagreeReason" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_RESPONSIBLE')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="鏁存敼鎺柦" prop="rectificationMeasures" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ暣鏀规帾鏂�" v-model="model.rectificationMeasures" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_RESPONSIBLE')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="浜嬫晠缁撹" prop="accidentConclusion" :labelCol="rightColLabelCol" + :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ヤ簨鏁呯粨璁�" v-model="model.accidentConclusion" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_RESPONSIBLE')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item prop="technicalDirectorResult" label="纭绫诲瀷" + :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.technicalDirectorResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_RESPONSIBLE')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.technicalDirectorConfirm" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_RESPONSIBLE')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displayTechnicalSupervisorFlag"> + <a-tab-pane tab="鎶�鏈富绠″绾ч瀵�"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="technicalDirectorLeaderResult" label="纭绫诲瀷" + :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.technicalDirectorLeaderResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_SUPERVISOR')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.technicalDirectorLeaderConfirm" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_TECHNICAL_SUPERVISOR')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + + <a-tabs v-if="displaySuperiorDepartmentFlag"> + <a-tab-pane tab="涓荤閮ㄧ骇棰嗗"> + <a-row> + <a-col :span="24"> + <a-form-model-item prop="technicalDirectorPartResult" label="纭绫诲瀷" + :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <j-dict-select-tag type='radio' v-model='model.technicalDirectorPartResult' + dictCode='approve_reject' + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_SUPERIOR_DEPARTMENT')"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.technicalDirectorPartConfirm" + :disabled="disableSubmit||(model.registerStatus&&model.registerStatus!=='PENDING_SUPERIOR_DEPARTMENT')"/> + </a-form-model-item> + </a-col> + </a-row> + </a-tab-pane> + </a-tabs> + </a-col> + </a-row> + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> + import { downFile, getAction, httpAction } from '@/api/manage' + import TechnicalStatusEquipmentSelect from '../../../eam/equipment/modules/TechnicalStatusEquipmentSelect' + import LxSearchEquipmentSelect from '../../../eam/equipment/modules/LxSearchEquipmentSelect' + + export default { + name: 'ReportAccidentsRegisterApprovalModal', + components: { + LxSearchEquipmentSelect, + TechnicalStatusEquipmentSelect + }, + props: { + selectShenpiData: { + type: Object + } + }, + data() { + return { + title: '鎿嶄綔', + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 10 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 14 } + }, + labelColLong: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperColLong: { + xs: { span: 24 }, + sm: { span: 19 } + }, + rightColLabelCol: { + xs: { span: 24 }, + sm: { span: 8 } + }, + rightColWrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + confirmLoading: false, + spinning: false, + imageSrc: null, + validatorRules: { + districtResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + centerDirectorResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + reportStartTime: [{ required: true, message: '璇烽�夋嫨缁翠慨寮�濮嬫椂闂�', trigger: 'change' }], + equipmentStatus: [{ required: true, message: '璇疯緭鍏ヨ澶囩姸鎬�', trigger: 'change' }], + causeAnalysis: [{ required: true, message: '璇疯緭鍏ュ師鍥犲垎鏋�', trigger: 'change' }], + inspectionResults: [{ required: true, message: '璇疯緭鍏ユ鏌ョ粨鏋�', trigger: 'change' }], + takeSteps: [{ required: true, message: '璇疯緭鍏ラ噰鍙栨帾鏂�', trigger: 'change' }], + suggestionTakeSteps: [{ required: true, message: '璇疯緭鍏ュ缓璁噰鍙栨帾鏂�', trigger: 'change' }], + suggestionTakeStepsTime: [{ required: true, message: '璇烽�夋嫨寤鸿閲囧彇鎺柦鏃堕棿', trigger: 'change' }], + repairConfirmResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + repairGroupLeaderResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + repairDistrictResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + checkAgree: [{ required: true, message: '璇烽�夋嫨鍘熷洜鍒嗘瀽鏍稿' }], + disagreeReason: [{ required: true, message: '璇疯緭鍏ヤ笉鍚屾剰鍘熷洜', trigger: 'change' }], + rectificationMeasures: [{ required: true, message: '璇疯緭鍏ユ暣鏀规帾鏂�', trigger: 'change' }], + accidentConclusion: [{ required: true, message: '璇疯緭鍏ヤ簨鏁呯粨璁�', trigger: 'change' }], + technicalDirectorResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + technicalDirectorLeaderResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + technicalDirectorPartResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }] + }, + url: { + queryById: '/eam/eamReportAccidentsRegister/queryById', + approval: '/eam/eamReportAccidentsRegister/perform', + diagramView: '/assign/flow/diagramView' + }, + disableSubmit: false + } + }, + computed: { + displayRegionalManagerFlag() { + return this.model.registerStatus && ['PENDING_REGIONAL_MANAGER', 'PENDING_CENTER_MANAGER', 'PENDING_REPAIR_WORKER', 'PENDING_REPAIR_TEAM_LEADER', 'PENDING_REPAIR_REGIONAL_MANAGER', 'PENDING_TECHNICAL_RESPONSIBLE', 'PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) + }, + displayCenterManagerFlag() { + return this.model.registerStatus && ['PENDING_CENTER_MANAGER', 'PENDING_REPAIR_WORKER', 'PENDING_REPAIR_TEAM_LEADER', 'PENDING_REPAIR_REGIONAL_MANAGER', 'PENDING_TECHNICAL_RESPONSIBLE', 'PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.districtResult === '1' + }, + displayRepairFlag() { + return this.model.registerStatus && ['PENDING_REPAIR_WORKER', 'PENDING_REPAIR_TEAM_LEADER', 'PENDING_REPAIR_REGIONAL_MANAGER', 'PENDING_TECHNICAL_RESPONSIBLE', 'PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.centerDirectorResult === '1' + }, + displayRepairLeaderFlag() { + return this.model.registerStatus && ['PENDING_REPAIR_TEAM_LEADER', 'PENDING_REPAIR_REGIONAL_MANAGER', 'PENDING_TECHNICAL_RESPONSIBLE', 'PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.repairConfirmResult === '1' + }, + displayRepairRegionalManagerFlag() { + return this.model.registerStatus && ['PENDING_REPAIR_REGIONAL_MANAGER', 'PENDING_TECHNICAL_RESPONSIBLE', 'PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.repairGroupLeaderResult === '1' + }, + displayTechnicalLeaderFlag() { + return this.model.registerStatus && ['PENDING_TECHNICAL_RESPONSIBLE', 'PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.repairDistrictResult === '1' + }, + displayTechnicalSupervisorFlag() { + return this.model.registerStatus && ['PENDING_TECHNICAL_SUPERVISOR', 'PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.technicalDirectorResult === '1' + }, + displaySuperiorDepartmentFlag() { + return this.model.registerStatus && ['PENDING_SUPERIOR_DEPARTMENT', 'REPAIR_COMPLETED', 'REJECTED'].includes(this.model.registerStatus) && this.model.technicalDirectorLeaderResult === '1' + } + }, + methods: { + /** + * 涓婚〉闈㈢偣鍑绘墽琛屽鎵规椂瑙﹀彂 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + async handleApprove(record) { + this.model = {} + this.getBasicInformationByApi(record) + this.getFlowChartImageByApi(record) + }, + + /** + * 涓婚〉闈㈢偣鍑昏鎯呮椂瑙﹀彂 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + handleDetail(record) { + this.model = Object.assign({}, record) + }, + + /** + * 鑾峰彇鍩虹淇℃伅 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + getBasicInformationByApi(record) { + this.spinning = true + const that = this + getAction(this.url.queryById, { id: record.dataId }) + .then(res => { + if (res.success) { + that.model = Object.assign({}, res.result, { repairConfirmResult: '1' }) + that.model.dataId = record.dataId + that.model.taskId = record.id + that.model.userId = record.assignee + that.model.instanceId = record.procInstId + } + else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.spinning = false + }) + }, + + /** + * 鑾峰彇娴佺▼鍥� + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + getFlowChartImageByApi(record) { + const { processDefinitionId, processInstanceId, processDefinitionKey } = record + + downFile(this.url.diagramView, { + processDefinitionId, + processInstanceId, + TaskDefinitionKey: processDefinitionKey + }, 'get') + .then((res => { + this.imageSrc = window.URL.createObjectURL(new Blob([res])) + })) + .catch(err => { + this.$notification.error({ + message: '娑堟伅', + description: err.message + }) + }) + }, + + async handleOk() { + const that = this + + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = that.spinning = true + + httpAction(that.url.approval, that.model, 'post') + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.$emit('modalFormOk') + that.close() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.confirmLoading = that.spinning = false + }) + } else { + return false + } + }) + }, + + /** + * 鍘熷洜鍒嗘瀽鏍稿鍊煎彂鐢熸敼鍙樻椂瑙﹀彂 + * @param value + */ + handleCheckAgreeChange(value) { + if (value === '1') delete this.model.disagreeReason + }, + + handleCancel() { + this.close() + }, + + close() { + this.$emit('close') + this.visible = false + if (this.$refs.form) this.$refs.form.clearValidate() + } + } + } +</script> + +<style scoped lang="less"> + /deep/ .ant-spin-nested-loading { + height: 100%; + + .ant-spin-container { + height: 100%; + + .ant-form { + height: 100%; + + #outer-row { + height: 100%; + + .scroll-col { + height: 100%; + overflow: auto; + } + } + } + } + } +</style> \ No newline at end of file diff --git a/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue b/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue deleted file mode 100644 index c0f5b68..0000000 --- a/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue +++ /dev/null @@ -1,235 +0,0 @@ -<template> - <j-modal - :title="title" - :width="800" - :visible="visible" - :confirmLoading="confirmLoading" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - switchFullscreen - @ok="handleOk" - @cancel="handleCancel" - centered - cancelText="鍏抽棴"> - - <a-spin :spinning="spinning"> - <a-form-model ref="form" :model="model" :rules="validatorRules"> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 褰掑睘淇℃伅 - </a-divider> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code" label="鍗曟嵁鍙�"> - <a-input v-model="model.code" disabled /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栫爜"> - <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" - v-model="model.equipmentId" disabled></lx-search-equipment-select> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="newDepartId_dictText" label="璋冨叆閮ㄩ棬"> - <a-input v-model="model.newDepartId_dictText" disabled /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oldDepartId_dictText" label="璋冨嚭閮ㄩ棬"> - <a-input v-model="model.oldDepartId_dictText" disabled /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportUser_dictText" label="鐢宠浜�"> - <a-input v-model="model.reportUser_dictText" disabled /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transferReason" label="鍙樺姩鍘熷洜"> - <a-input v-model="model.transferReason" disabled /> - </a-form-model-item> - </a-col> - </a-row> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞"> - <a-textarea v-model="model.remark" disabled /> - </a-form-model-item> - </a-col> - </a-row> - <div v-if="approvalDisable"> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 绠$悊鍛樺皝瀛樺鏍� - </a-divider> - <a-row :gutter="24"> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalDealType" label="瀹℃壒绫诲瀷"> - <j-dict-select-tag type="radio" v-model="model.approvalDealType" dictCode="approved_rejected" - placeholder="璇烽�夋嫨澶勭悊绫诲瀷" :disabled="disableSubmit || initialAcceptanceDisable" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalComment" label="瀹℃壒鎰忚"> - <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.approvalComment" - :disabled="disableSubmit || returnDisable" /> - </a-form-model-item> - </a-col> - </a-row> - </div> - </a-form-model> - </a-spin> - </j-modal> -</template> - -<script> -import { getAction, httpAction } from '@/api/manage' -import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - -export default { - name: 'EquipmentTransferApprovalModal', - components: { - LxSearchEquipmentSelect - }, - props: { - selectShenpiData: { - type: Object - } - }, - data() { - return { - title: '鎿嶄綔', - visible: false, - editable: false, - model: {}, - treeData: [], - labelCol: { - xs: { span: 24 }, - sm: { span: 5 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - }, - labelColLong: { - xs: { span: 24 }, - sm: { span: 2 } - }, - wrapperColLong: { - xs: { span: 24 }, - sm: { span: 21 } - }, - confirmLoading: false, - spinning: false, - imageSrc: null, - validatorRules: { - approvalDealType: [ - { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } - ], - unsealApprovalDealType: [ - { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } - ], - approvalComment: [ - { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } - ], - unsealApprovalComment: [ - { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } - ], - returnComment: [ - { required: true, message: '璇疯緭鍏ュ綊杩樺娉�!' } - ], - confirmComment: [ - { required: true, message: '璇疯緭鍏ョ‘璁ゆ剰瑙�!' } - ] - }, - url: { - queryById: '/eam/eamEquipmentTransfer/queryById', - approval: '/eam/eamEquipmentTransfer/approval', - loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions' - }, - disableSubmit: false - } - }, - created() { - this.loadAllProductionTree() - }, - computed: { - approvalDisable: function() { - return ['WAIT_CHECK'].includes(this.model.transferStatus) - }, - }, - methods: { - async handleDetail(item) { - this.initParams() - this.model = {} - let res = await getAction(this.url.queryById, { id: item.dataId }) - this.model = Object.assign({}, res.result) - this.model.dataId = item.dataId - this.model.taskId = item.id - this.model.userId = item.assignee - this.model.instanceId = item.procInstId - this.model.values = item.variables - this.spinning = false; - }, - - recordDetail(record) { - console.log('record', record) - this.initParams() - this.model = Object.assign({}, record) - }, - - initParams() { - this.visible = true - this.spinning = true - }, - - async handleOk() { - const that = this - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = that.spinning = true - let httpurl = this.url.approval - let method = 'put' - httpAction(httpurl, this.model, method).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.$emit('searchReset') - that.close() - } else { - that.$message.warning(res.message) - } - }).finally(() => { - that.confirmLoading = that.spinning = false - }) - } else { - return false - } - }) - }, - handleCancel() { - this.close() - }, - - close() { - this.$emit('close') - this.visible = false - this.$refs.form.clearValidate() - }, - loadAllProductionTree() { - //鍔犺浇杞﹂棿閫夋嫨鏍� - getAction(this.url.loadProductionOptions).then(res => { - if (res.success) { - this.treeData = [...res.result] - } else { - that.$message.warning(res.message) - } - }) - } - } -} -</script> - -<style lang="less" scoped> - -</style> \ No newline at end of file -- Gitblit v1.9.3