From fb345cc1a3fb3408bc9c0dd59a0a7935c5344afa Mon Sep 17 00:00:00 2001 From: zhuzhuanzhuan Date: 星期三, 05 七月 2023 16:21:19 +0800 Subject: [PATCH] 扭矩配置界面调取接口渲染,利用率界面增加层级并合并显示 --- src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue | 354 ++++++++++- src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue | 106 +++ src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue | 331 ++++++++++ src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue | 663 ++++++++++++++++----- src/views/mdc/base/Torqueconfiguration.vue | 63 + src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalList.vue | 284 +++++++++ 6 files changed, 1,582 insertions(+), 219 deletions(-) diff --git a/src/views/mdc/base/Torqueconfiguration.vue b/src/views/mdc/base/Torqueconfiguration.vue index 3d9239f..6196264 100644 --- a/src/views/mdc/base/Torqueconfiguration.vue +++ b/src/views/mdc/base/Torqueconfiguration.vue @@ -1,20 +1,30 @@ <template> - <a-card :bordered="false"> - <div style="width: 100%; height: 100%;overflow: hidden"> + <div style="width: 100%; height: 100%;"> + <a-card :bordered="false"> <a-row type="flex" :gutter="16"> - <a-col :md="5" :sm="24"> - <base-tree @getCurrSelected="changeSelectionNode"></base-tree> + <a-col :md="4"> + <a-tabs :activeKey="activeKey" @change="tabChange"> + <a-tab-pane key="1" tab="杞﹂棿灞傜骇" force-render> + <base-tree @getCurrSelected="changeSelectionNode"></base-tree> + </a-tab-pane> + <a-tab-pane key="2" tab="閮ㄩ棬灞傜骇">, + <depart-tree @getCurrSelectedDD="changeSelectionNodedd" + ></depart-tree> + </a-tab-pane> + </a-tabs> </a-col> - <a-col :md="24-5" :sm="24"> - <torqueconfiguration-list :equement="selectEquement"></torqueconfiguration-list> + <a-col :md="20"> + <!--<EfficiencyList ref="EfficiencyList" :nodePeople='selectPeople' :nodeTree = 'selectEquement' :Type="slectTypeTree"></EfficiencyList>--> + <torqueconfiguration-list ref="TorqueconfigurationList" :nodePeople='selectPeople' :nodeTree = 'selectEquement' :Type="slectTypeTree"></torqueconfiguration-list> </a-col> </a-row> - </div> - </a-card> + </a-card> + </div> + </template> <script> - import { putAction,getAction } from '@/api/manage' + import { putAction, getAction } from '@/api/manage' import { frozenBatch } from '@/api/api' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import JInput from '@/components/jeecg/JInput' @@ -22,7 +32,7 @@ import TorqueconfigurationList from './modules/TorqueconfigurationList/TorqueconfigurationList' import JSuperQuery from '@/components/jeecg/JSuperQuery' import JThirdAppButton from '@/components/jeecgbiz/thirdApp/JThirdAppButton' - + import DepartTree from './modules/DepartList/DepartListTree/DepartTree' export default { name: 'Torqueconfiguration', components: { @@ -30,23 +40,42 @@ JInput, BaseTree, JSuperQuery, - TorqueconfigurationList, + DepartTree, + TorqueconfigurationList }, data() { return { - description: '鎵煩閰嶇疆绠$悊椤甸潰', - selectEquement:{}, - equipmentStatisticsInfo:{}, - url:{ - equipmentStatistics:"/mdc/equipment/equipmentStatistics" + activeKey: '1', + description: '璁惧淇℃伅', + selectEquementId: '', + selectEquement: {}, + selectPeople:{}, + slectTypeTree:"", + url: { + equipmentStatistics: '/mdc/equipment/equipmentStatistics' } } }, created() { }, methods: { - changeSelectionNode(val){ + tabChange(val) { + // console.log(val); + this.activeKey = val + this.slectTypeTree = val + }, + // changeSelection(val) { + // this.selectEquementId = val + // this.$refs.efficiencyList.pQuery(val) + // this.$refs.efficiencyList.searchQuery() + // }, + changeSelectionNode(val) { this.selectEquement = val + this.slectTypeTree = "1" + }, + changeSelectionNodedd(val) { + this.selectPeople = val + this.slectTypeTree = "2" } } diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue index de33d06..dfeec49 100644 --- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue +++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue @@ -1,209 +1,211 @@ <template> - <a-card :bordered="false"> + <a-card :bordered="false" class="device_list"> <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> + <div style="width: 100%; background-color: #fff" 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-col :md="7" :sm="7"> + <a-form-item label="鏃堕棿"> + <a-range-picker @change="dateParamChange" v-model="dates" format="YYYY-MM-DD HH:mm:ss" showTime/> + </a-form-item> + </a-col> + <a-col :md="4" :sm="4"> <a-form-item label="璁惧缂栧彿"> - <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentid"></a-input> + <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" v-model="queryParams.equipmentId"></a-input> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col :md="4" :sm="4" :xs="4"> <a-form-item label="璁惧鍚嶇О"> - <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="queryParam.equipmentname"></a-input> + <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" v-model="queryParams.equipmentName"></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="鏃ユ湡"> - <j-date placeholder="璇烽�夋嫨鏃ユ湡" v-model="queryParam.startdate"></j-date> - </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.torquevalue"></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 :md="2" :sm="3" :xs="3"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> </a-col> + <a-col :md="2" :sm="2" :xs="2"> + <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button> + </a-col> + <!--<a-col :lg="2" :md="3" :sm="3" :xs="3">--> + <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>--> + <!--</a-col>--> </a-row> </a-form> </div> - <!-- 鏌ヨ鍖哄煙-END --> - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <div class="table-operator" style="display: inline;"> + <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-button type="primary" icon="import">瀵煎叆</a-button> </a-upload> - <!-- 楂樼骇鏌ヨ鍖哄煙 --> - <!--<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:true}" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - class="j-table-force-nowrap" - @change="handleTableChange"> - - <!--<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>--> - + <div id="DeviceList"> + <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns" + :scroll="{x:1000}" :dataSource="dataSource" :pagination="ipagination" :loading="loading" + :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="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> + <a @click="handleEdit(record)">缂栬緫</a> + <a-divider type="vertical" /> + <a @click="handleDelete(record.id)">鍒犻櫎</a> </span> - + <!--瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず--> + <span slot="num" slot-scope="text" style="font-weight: bold"> + <j-ellipsis :value="text" :length="8"/> + </span> + <span slot="name" slot-scope="text" style="font-weight: bold"> + <j-ellipsis :value="text" :length="8"/> + </span> + <span slot="model" slot-scope="text" style="font-weight: bold"> + <j-ellipsis :value="text" :length="8"/> + </span> </a-table> </div> - + <!-- table鍖哄煙-end --> + <!--<device-repair-model></device-repair-model>--> <torqueconfiguration-modal ref="modalForm" @ok="modalFormOk"></torqueconfiguration-modal> + <torqueconfiguration-modaledit ref="modalFormedit" @ok="modalFormOk">></torqueconfiguration-modaledit> + <!--<device-repair-model-add ref="modalFormadd" @ok="modalFormOk"></device-repair-model-add>--> + <!--<device-repair-model-edit ref="modalFormedit" @ok="modalFormOk"></device-repair-model-edit>--> + <!--<repair-model ref="repairModelFrom" @ok="modalFormOk"></repair-model>--> + </a-card> </template> <script> - - import '@/assets/less/TableExpand.less' - import { mixinDevice } from '@/utils/mixin' - import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import moment from 'moment' + import $ from 'jquery' + import JDictSelectTag from '@/components/dict/JDictSelectTag' + import JDate from '../../../../../components/jeecg/JDate' + import { + requestPut, + deleteAction, + getAction + } from '@/api/manage' import TorqueconfigurationModal from './TorqueconfigurationModal' - + import TorqueconfigurationModaledit from './TorqueconfigurationModalEdit' + // import DeviceRepairModelAdd from './DeviceRepairModelAdd' + // import DeviceRepairModelEdit from './DeviceRepairModelEdit' + import '@/components/table2excel/table2excel' + import { + JeecgListMixin + } from '@/mixins/JeecgListMixin' + import JInput from '@/components/jeecg/JInput' + import JEllipsis from '@/components/jeecg/JEllipsis' + import Tooltip from 'ant-design-vue/es/tooltip' + import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' export default { name: 'TorqueconfigurationList', - mixins:[JeecgListMixin, mixinDevice], + mixins: [JeecgListMixin], components: { - TorqueconfigurationModal + Tooltip, + TorqueconfigurationModal, + TorqueconfigurationModaledit, + // DeviceRepairModelAdd, + // DeviceRepairModelEdit, + JDictSelectTag, + JInput, + JDate, + JEllipsis }, - data () { + props: { nodeTree: '', Type:'',nodePeople: '' }, + data() { return { - description: '鎵煩閰嶇疆绠$悊椤甸潰', - // 琛ㄥご + typeTree:"", + typeParent:1, + typeEquipment:1, + dates: [], + xianshi:"", + readOnly:true, + queryParam: {}, + queryParams:{}, + queryParamEquip:{}, + queryParamPeople:{}, + dataStartsoucre:[], columns: [ { - title: '#', - dataIndex: '', - key:'rowIndex', - width:60, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } + title: '璁惧缂栧彿', + align: 'center', + dataIndex: 'equipmentId' }, { - title:'璁惧缂栧彿', - align:"center", - dataIndex: 'equipmentid' + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'equipmentName', + // defaultSortOrder:'descend', + // sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1} }, { - title:'璁惧鍚嶇О', - align:"center", - dataIndex: 'equipmentname' + title: '鏃堕棿', + align: 'center', + dataIndex: 'torqueDate', + // scopedSlots:{customRender:'startTime'}, + // customRender:(text,row,index) => { + // return moment(text).format("YYYY-MM-DD HH:mm:ss") + // } }, { - title:'鏃ユ湡', - align:"center", - dataIndex: 'startdate', - customRender:function (text) { - return !text?"":(text.length>10?text.substr(0,10):text) - } + title: '鎵煩鍊�', + align: 'center', + dataIndex: 'torqueValue' }, { - title:'鎵煩鍊�', - align:"center", - dataIndex: 'torquevalue' - }, - { - title:'澶囨敞', - align:"center", + title: '澶囨敞', + align: 'center', dataIndex: 'notes' }, { title: '鎿嶄綔', dataIndex: 'action', - align:"center", - fixed:"right", - width:147, - scopedSlots: { customRender: 'action' } + scopedSlots: {customRender: 'action'}, + align: "center", + width: 150 } ], url: { - list: "/torquec/torqueconfiguration/list", - delete: "/torquec/torqueconfiguration/delete", - deleteBatch: "/torquec/torqueconfiguration/deleteBatch", - exportXlsUrl: "/torquec/torqueconfiguration/exportXls", - importExcelUrl: "torquec/torqueconfiguration/importExcel", - - }, - dictOptions:{}, - superFieldList:[], + list: '/mdc/MdcTorqueConfig/pageList', + deleteBatch: '/mdc/MdcTorqueConfig/deleteMdcTorqueConfig', + getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid', + exportXlsUrl: "/mdc/MdcTorqueConfig/exportXls", + importExcelUrl: "/mdc/MdcTorqueConfig/importExcel", + } } }, - created() { - this.getSuperFieldList(); + watch:{ + Type(valmath){ + this.dataList = []; + this.queryParams.typeTree = valmath + // console.log(this.queryParams.typeTree) + }, + nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢 + if (JSON.stringify(val) != '{}') { + if (val.equipmentId) { + this.queryParamEquip.parentId = "" + this.queryParams.equipmentId = val.equipmentId + this.queryParamEquip.equipmentId = val.equipmentId + } else { + this.queryParamEquip.parentId = val.key + this.queryParams.equipmentId = '' + } + this.searchQuery() + } + }, + nodePeople(val){ + if (JSON.stringify(val) != '{}') { + if (val.equipmentId) { + this.queryParamEquip.parentId = "" + this.queryParams.equipmentId = val.equipmentId + this.queryParamEquip.equipmentId = val.equipmentId + } else { + this.queryParamPeople.parentId = val.key + this.queryParams.equipmentId = '' + } + this.searchQuery() + } + } }, computed: { importExcelUrl: function(){ @@ -211,20 +213,357 @@ }, }, methods: { - initDictConfig(){ + dateParamChange(v1, v2) { + // console.log(v1,v2) + this.queryParam.startTime = v2[0] + this.queryParam.endTime = v2[1] + // console.log(v2[0],v2[1]) }, - getSuperFieldList(){ - let fieldList=[]; - fieldList.push({type:'string',value:'equipmentid',text:'璁惧缂栧彿',dictCode:''}) - fieldList.push({type:'string',value:'equipmentname',text:'璁惧鍚嶇О',dictCode:''}) - fieldList.push({type:'date',value:'startdate',text:'鏃ユ湡'}) - fieldList.push({type:'string',value:'torquevalue',text:'鎵煩鍊�',dictCode:''}) - fieldList.push({type:'string',value:'notes',text:'澶囨敞',dictCode:''}) - this.superFieldList = fieldList - } + onChange(value, dateString) { + // console.log('Selected Time: ', value); + // console.log('Formatted Selected Time: ', dateString); + }, + onOk(value) { + console.log('onOk: ', value); + }, + searchReset() { + if(this.queryParams.typeTree == "1"){ + this.typeTree = this.queryParams.typeTree + this.typeParent = this.queryParams.parentId + this.typeEquipment = this.queryParams.equipmentId + this.queryParams = {} + this.queryParam = {} + this.dates = [] + this.queryParams.typeTree = this.typeTree + this.queryParams.parentId = this.typeParent + if(this.queryParams.parentId != ""){ + this.queryParams.equipmentId = "" + }else{ + if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){ + this.queryParams.equipmentId = this.typeEquipment + }else{ + this.queryParams.equipmentId = this.queryParamEquip.equipmentId + } + + } + + this.ipagination.current = 1 + this.ResetloadData(); + }else{ + this.typeTree = this.queryParams.typeTree + this.typeParent = this.queryParams.parentId + // this.typeEquipment = this.queryParams.equipmentId + this.queryParams = {} + this.queryParam = {} + this.dates = [] + this.queryParams.typeTree = this.typeTree + this.queryParams.parentId = this.typeParent + // this.queryParams.equipmentId = this.typeEquipment + this.ipagination.current = 1 + this.ResetloadData(); + } + + }, + ResetloadData() { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + var params = this.getQueryParams();//鏌ヨ鏉′欢 + if(!params){ + return false; + } + params.typeTree = this.queryParams.typeTree + params.parentId = this.queryParams.parentId + params.equipmentId = this.queryParams.equipmentId + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records||res.result; + // this.initDeviceType(this.dataSource) + //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 + }) + }, + handleEdit: function (record) { + this.$refs.modalFormedit.edit(record); + this.$refs.modalFormedit.title = "缂栬緫"; + this.$refs.modalFormedit.disableSubmit = false; + }, + handleTableChange(pagination, filters, sorter) { + this.dataSource = [] + //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂 + //TODO 绛涢�� + // console.log(pagination) + if (Object.keys(sorter).length > 0) { + this.isorter.column = sorter.field; + this.isorter.order = "ascend" == sorter.order ? "asc" : "desc" + } + this.ipagination = pagination; + //鑾峰彇鏌ヨ鏉′欢 + let sqp = {} + if(this.superQueryParams){ + sqp['superQueryParams']=encodeURI(this.superQueryParams) + sqp['superQueryMatchType'] = this.superQueryMatchType + } + var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters); + param.pageNo = this.ipagination.current; + param.pageSize = this.ipagination.pageSize; + param.field = this.getQueryField(); + param.parentId = this.queryParams.parentId; + param.equipmentId = this.queryParams.equipmentId; + param.startTime = this.queryParam.startTime; + param.endTime = this.queryParam.endTime; + getAction(this.url.list,param).then((res) => { + if(res.success){ + this.dataSource = res.result.records||res.result; + if(res.result.total) + { + this.ipagination.total = res.result.total; + }else{ + this.ipagination.total = 0; + } + }else{ + this.$message.warning(res.message) + } + }).finally(() => { + this.loading = false + }) + }, + searchQueryEdit(){ + if(this.queryParams.typeTree == "1"){ + this.queryParams.parentId = this.queryParamEquip.parentId + }else{ + this.queryParams.parentId = this.queryParamPeople.parentId + this.queryParams.equipmentIds = "" + } + this.dataSource = []; + //鑾峰彇鏌ヨ鏉′欢 + let sqp = {} + if(this.superQueryParams){ + sqp['superQueryParams']=encodeURI(this.superQueryParams) + sqp['superQueryMatchType'] = this.superQueryMatchType + } + var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters); + param.pageNo = this.ipagination.current; + param.pageSize = this.ipagination.pageSize; + param.field = this.getQueryField(); + param.parentId = this.queryParams.parentId; + param.equipmentId = this.queryParams.equipmentId; + param.startTime = this.queryParam.startTime; + param.endTime = this.queryParam.endTime; + getAction(this.url.list,param).then((res) => { + if(res.success){ + this.dataSource = res.result.records||res.result; + if(res.result.total) + { + this.ipagination.total = res.result.total; + }else{ + this.ipagination.total = 0; + } + }else{ + this.$message.warning(res.message) + } + }).finally(() => { + this.loading = false + }) + }, + searchQuery(){ + if(this.queryParams.typeTree == "1"){ + this.queryParams.parentId = this.queryParamEquip.parentId + // this.queryParams.equipmentId = this.queryParamEquip.equipmentId + + }else{ + this.queryParams.parentId = this.queryParamPeople.parentId + + // this.queryParams.equipmentId = "" + } + this.dataSource = []; + //鑾峰彇鏌ヨ鏉′欢 + let sqp = {} + if(this.superQueryParams){ + sqp['superQueryParams']=encodeURI(this.superQueryParams) + sqp['superQueryMatchType'] = this.superQueryMatchType + } + var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters); + param.pageNo = 1; + param.pageSize = this.ipagination.pageSize; + param.field = this.getQueryField(); + param.parentId = this.queryParams.parentId; + param.equipmentId = this.queryParams.equipmentId; + param.startTime = this.queryParam.startTime; + param.endTime = this.queryParam.endTime; + // console.log(param); + getAction(this.url.list,param).then((res) => { + if(res.success){ + this.dataSource = res.result.records||res.result; + if(res.result.total) + { + this.ipagination.total = res.result.total; + }else{ + this.ipagination.total = 0; + } + }else{ + this.$message.warning(res.message) + } + }).finally(() => { + this.loading = false + }) + }, + 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) { + this.dataSource = res.result.records||res.result; + // this.initDeviceType(this.dataSource) + //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 + }) + }, + modalFormOk(val) { + // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃 + this.searchQueryEdit(); + // this.$emit('openBasetree','') + this.selectedRowKeys = [] + }, + handleDelete: function (id) { + if(!this.url.deleteBatch){ + this.$message.error("璇疯缃畊rl.delete灞炴��!") + return + } + var that = this; + deleteAction(that.url.deleteBatch, {id: id}).then((res) => { + if (res.success) { + //閲嶆柊璁$畻鍒嗛〉闂 + that.reCalculatePage(1) + that.$message.success(res.message); + that.searchQuery(); + } else { + that.$message.warning(res.message); + } + }); + }, + handleAdd() { + this.$refs.modalForm.add(this.node) + this.$refs.modalForm.title = '鏂板' + this.$refs.modalForm.disableSubmit = false + }, + handleAddXIU() { + this.$refs.modalFormadd.add() + this.$refs.modalFormadd.title = '鏂板' + this.$refs.modalFormadd.disableSubmit = false + }, + pQuery(parentId) { + this.queryParam.parentId = parentId[0] + if(this.selectedRowKeys.length >= 1) { + this.selectedRowKeys.length = 0 + } + this.loadData() + }, + onSelectChange(selectedRowKeys) { + this.selectedRowKeys = selectedRowKeys + }, + initEquipment(id) { + let _this = this + getAction(this.url.getEquipmentByPid, { pid: id }).then((res) => { + if (res.success) { + if (res.result) { + _this.$set(this.queryParams, 'equipmentName', res.result.equipmentName) + _this.$set(this.queryParams, 'equipmentId', res.result.equipmentId) + _this.equipment = res.result + _this.searchQuery() + } else { + _this.$message.warning('璇烽厤缃澶囷紒') + } + } + }) + }, + exportExcel() { + $("#DeviceList").table2excel({ + exclude: ".noExl", + name: "Excel Document Name", + filename: "鎵煩閰嶇疆", + exclude_img: true, + fileext: ".xls", + exclude_links: true, + exclude_inputs: true + }); + }, + }, + created() { + this.queryParam.typeTree = "1" } } </script> -<style scoped> + +<style lang="less" scoped> @import '~@assets/less/common.less'; -</style> \ No newline at end of file + + @media screen and (min-width: 1920px){ + .device_list{ + height: 811px!important; + overflow: scroll; + } + } + @media screen and (min-width: 1680px) and (max-width: 1920px){ + .device_list{ + height: 811px!important; + overflow: scroll; + } + } + @media screen and (min-width: 1400px) and (max-width: 1680px){ + .device_list{ + height: 663px!important; + overflow: scroll; + } + } + @media screen and (min-width: 1280px) and (max-width: 1400px){ + .device_list{ + height: 564px!important; + overflow: scroll; + } + } + @media screen and (max-width: 1280px){ + .device_list{ + height: 564px!important; + overflow: scroll; + } + } +</style> diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue index 0b2f139..7e8f53d 100644 --- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue +++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue @@ -1,60 +1,340 @@ <template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - <torqueconfiguration-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></torqueconfiguration-form> - </j-modal> + <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading" + :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item label="璁惧缁�" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]" + @search="deviceSearch" enter-button/> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item label="鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨鏃堕棿" + v-decorator="['torqueDate', validatorRules.torqueDate]"></j-date> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item label="鎵煩鍊�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ壄鐭╁��" + v-decorator="['torqueValue', validatorRules.torqueValue]"/> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-form-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <a-input v-decorator="['notes', validatorRules.notes]" placeholder="璇疯緭鍏ュ娉�" ></a-input> + </a-form-item> + </a-row> + </a-form> + </a-spin> + <torqueconfiguration-modal-list ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></torqueconfiguration-modal-list> + + </a-modal> </template> <script> + import moment from 'moment' + import pick from 'lodash.pick' + import TorqueconfigurationModalList from './TorqueconfigurationModalList' + // import JDate from './JDate' + import { + getAction, + postAction, + requestPut + } from '@/api/manage' + import { + duplicateCheck + } from '@/api/api' - import TorqueconfigurationForm from './TorqueconfigurationForm' export default { name: 'TorqueconfigurationModal', - components: { - TorqueconfigurationForm - }, - data () { + components: {TorqueconfigurationModalList}, + props: {}, + data() { return { - title:'', - width:800, + mesag:21, + readOnly:true, + title: '', visible: false, - disableSubmit: false + show: false, + model: {}, + checked: false, + startData:"", + endData:"", + labelCol: { + xs: { + span: 24 + }, + sm: { + span: 6 + } + }, + wrapperCol: { + xs: { + span: 24 + }, + sm: { + span: 18 + } + }, + labelColLong: { + xs: { + span: 24 + }, + sm: { + span: 3 + } + }, + wrapperColLong: { + xs: { + span: 24 + }, + sm: { + span: 21 + } + }, + confirmLoading: false, + form: this.$form.createForm(this), + validatorRules: { + equipmentId:{ + rules:[ + { + required:true, + message: "" + }, + ], + }, + equipmentName:{ + rules:[ + { + required:true, + message: "" + }, + ], + }, + mdcRepairType:{ + rules:[ + { + required:true, + message: "" + }, + ], + initialValue: 1 + } + }, + + url: { + add: '/mdc/MdcTorqueConfig/addMdcTorqueConfig', + edit: '/mdc/MdcTorqueConfig/editMdcTorqueConfig' + }, + + disableSubmit: true, + partCategoryCascade: [], + cascadeDefaultValue: [] } }, + created() { + }, + methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); + // disabledDate(current){ + // //Can not slect days before today and today + // // return current && current < moment().endOf("day"); + // return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶� + // }, + moment, + // onChange(dates) { + // // console.log(111) + // // console.log(dates,dateStrings) + // // console.log('From: ', dates[0], ', to: ', dates[1]); + // // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]); + // // this.startTime = dateStrings[0]; + // // this.endData = dateStrings[1]; + // // console.log(this.startData,this.endData); + // }, + onChangeEnd(dates, dateStrings){ + this.endTime = dateStrings[0]; + }, + getDeviceRows(val) { + var equipmentId; + for(var i = 0;i<val.length;i++){ + if (i == 0) { + equipmentId = val[i].equipmentId; + } else { + equipmentId = equipmentId + "," + val[i].equipmentId; + } + } + // console.log("========",equipmentIds); + this.form.setFieldsValue({ + equipmentId: equipmentId, + }) + // this.form.setFieldsValue({ + // equipmentId: val.equipmentId, + // equipmentName: val.equipmentName, + // equipmentModel: val.equipmentModel, + // equipmentIp: val.equipmentIp, + // dataPort: val.dataPort, + // driveType: val.driveType + // }) + }, + deviceSearch() { + this.$refs.deviceRepairListModel.openPage() + this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧' + this.$refs.deviceRepairListModel.disableSubmit = false + }, + //绾ц仈妗唎nChange浜嬩欢 + // onChange(value) { + // + // }, + getParentIdsById(id) { + let that = this + getAction(this.url.getParentIdsById, { + id: id + }).then((res) => { + if (res.success) { + that.form.setFieldsValue({ + partCategoryId: res.result + }) + } }) }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); + add(node) { + let _this = this + this.visible = true + this.form.resetFields() + this.model = {} + this.$nextTick(() => { + // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title }) + // _this.model.parentId = node.key }) }, - close () { - this.$emit('close'); - this.visible = false; + edit(record) { + this.form.resetFields() + this.model = Object.assign({}, record) + this.visible = true + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model, 'equipmentIds', 'equipmentName', 'mdcRepairType', 'startTime', 'endTime', + )) + }) }, - handleOk () { - this.$refs.realForm.submitForm(); + close() { + this.$emit('close') + this.visible = false + this.show = false }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true + let formData = Object.assign(this.model, values) + // let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss'); + // let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss'); + // let startOne = start.replace(/:/g,''); + // let endOne = end.replace(/:/g,''); + // var data = new Date(); + // let stertDate = moment(data).format("YYYY-MM-DD HH:mm:ss"); + // let dataStart = stertDate.replace(/:/g,''); + // if(startOne < dataStart){ + // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�") + // that.confirmLoading = false + // }else{ + // if(startOne>=endOne){ + // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"); + // // console.log(this.model) + // // this.endTime = '' + // that.confirmLoading = false + // }else{ + let obj + if (!this.model.id) { + obj = postAction(this.url.add, formData) + } else { + obj = requestPut(this.url.edit, formData, { + id: this.model.id + }) + } + obj.then((res) => { + if (res.success) { + that.$message.success("娣诲姞鎴愬姛") + // that.$message.success(res.message) + that.$emit('ok', res.result) + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + that.close() + }) + } + // } + + // } + }) }, - handleCancel () { + handleCancel() { this.close() + }, + loadCascade() { + getAction(this.url.loadCascadeData).then((res) => { + if (res.success) { + this.partCategoryCascade = res.result + } + }) + }, + onCascadeChange(value, selectedOptions) { + this.cascadeDefaultValue = [...value] + }, + filter(inputValue, path) { + return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1) + }, + //楠岃瘉 缂栫爜 + validateNum(rule, value, callback) { + var params = { + tableName: 'lxmes_base_part', + fieldName: 'num', + fieldVal: value, + dataId: this.model.id, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true' + } + duplicateCheck(params).then((res) => { + if (res.success) { + callback() + } else { + callback('瀛樿揣缂栫爜宸插瓨鍦�!') + } + }) + }, + checkboxChange(e) { + this.checked = e.target.checked } } } -</script> \ No newline at end of file +</script> + +<style scoped> + .ant-btn { + padding: 0 10px; + margin-left: 3px; + } + + .ant-form-item-control { + line-height: 0px; + } + + /** 涓昏〃鍗曡闂磋窛 */ + .ant-form .ant-form-item { + margin-bottom: 10px; + } + + /** Tab椤甸潰琛岄棿璺� */ + .ant-tabs-content .ant-form-item { + margin-bottom: 0px; + } +</style> diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue new file mode 100644 index 0000000..39c77fd --- /dev/null +++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue @@ -0,0 +1,331 @@ +<template> + <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading" + :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item label="鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨鏃堕棿" + class="query-group-cust" v-decorator="['torqueDate', validatorRules.torqueDate]"></j-date> + </a-form-item> + + </a-col> + <a-col :span="12"> + <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�" + v-decorator="['equipmentName',validatorRules.equipmentName]"/> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item label="鎵煩鍊�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ壄鐭╁��" + v-decorator="['torqueValue', validatorRules.torqueValue]"/> + </a-form-item> + </a-col> + <a-col :span="12"> + + <a-form-item label="璁惧缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�" + v-decorator="['equipmentId',validatorRules.equipmentId]"/> + </a-form-item> + </a-col> + </a-row> + </a-form> + </a-spin> + <!--<device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-list-model>--> + <!--<device-repair-edit-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-edit-list-model>--> + </a-modal> +</template> + +<script> + import moment from 'moment' + import pick from 'lodash.pick' + // import DeviceRepairListModel from './DeviceRepairListModel' + // import DeviceRepairEditListModel from './DeviceRepairEditListModel' + // import JDate from './JDate' + import { + getAction, + postAction, + requestPut + } from '@/api/manage' + import { + duplicateCheck + } from '@/api/api' + + export default { + name: 'TorqueconfigurationModalEdit', + // components: {DeviceRepairListModel,JDate,DeviceRepairEditListModel}, + props: {}, + data() { + return { + readOnly:true, + title: '', + visible: false, + show: false, + model: {}, + checked: false, + startData:"", + endData:"", + labelCol: { + xs: { + span: 24 + }, + sm: { + span: 6 + } + }, + wrapperCol: { + xs: { + span: 24 + }, + sm: { + span: 18 + } + }, + labelColLong: { + xs: { + span: 24 + }, + sm: { + span: 3 + } + }, + wrapperColLong: { + xs: { + span: 24 + }, + sm: { + span: 21 + } + }, + confirmLoading: false, + form: this.$form.createForm(this), + validatorRules: { + equipmentId:{ + rules:[ + { + required:true, + message: "" + }, + ], + }, + equipmentName:{ + rules:[ + { + required:true, + message: "" + }, + ], + }, + // mdcRepairType:{ + // rules:[ + // { + // required:true, + // message: "" + // }, + // ], + // initialValue: '浼戠彮' + // } + }, + + url: { + add: '/mdc/mdcEquipmentRepair/add', + edit: '/mdc/mdcEquipmentRepair/edit' + }, + + disableSubmit: true, + partCategoryCascade: [], + cascadeDefaultValue: [], + editStart:'' + } + }, + created() { + }, + + methods: { + disabledDate(current){ + //Can not slect days before today and today + // return current && current < moment().endOf("day"); + return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶� + }, + moment, + // onChange(dates) { + // console.log(111) + // console.log(dates,dateStrings) + // // console.log('From: ', dates[0], ', to: ', dates[1]); + // // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]); + // // this.startTime = dateStrings[0]; + // // this.endData = dateStrings[1]; + // // console.log(this.startData,this.endData); + // }, + onChangeEnd(dates, dateStrings){ + this.endTime = dateStrings[0]; + }, + getDeviceRows(val) { + this.form.setFieldsValue({ + equipmentId: val.equipmentId, + equipmentName: val.equipmentName, + // // equipmentModel: val.equipmentModel, + // // equipmentIp: val.equipmentIp, + // // dataPort: val.dataPort, + // // driveType: val.driveType + }) + // var equipmentIds; + // for(var i = 0;i<val.length;i++){ + // if (i == 0) { + // equipmentIds = val[i].equipmentId; + // } else { + // equipmentIds = equipmentIds + "," + val[i].equipmentId; + // } + // } + // console.log("========",equipmentIds); + // this.form.setFieldsValue({ + // equipmentId: equipmentIds, + // }) + }, + deviceSearch() { + this.$refs.deviceRepairListModel.openPage() + this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧' + this.$refs.deviceRepairListModel.disableSubmit = false + }, + //绾ц仈妗唎nChange浜嬩欢 + // onChange(value) { + // + // }, + getParentIdsById(id) { + let that = this + getAction(this.url.getParentIdsById, { + id: id + }).then((res) => { + if (res.success) { + that.form.setFieldsValue({ + partCategoryId: res.result + }) + } + }) + }, + add(node) { + let _this = this + this.visible = true + this.form.resetFields() + this.model = {} + this.$nextTick(() => { + // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title }) + // _this.model.parentId = node.key + }) + }, + edit(record) { + this.form.resetFields() + this.model = Object.assign({}, record) + // this.editStart = (this.model.startTime).replace(/:/g,''); + this.visible = true + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model,'equipmentId', 'equipmentName','torqueDate', 'torqueValue', + )) + }) + }, + close() { + this.$emit('close') + this.visible = false + this.show = false + }, + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true + let formData = Object.assign(this.model, values) + let obj + if (!this.model.id) { + obj = postAction(this.url.add, formData) + } else { + + obj = requestPut(this.url.edit, formData, { + id: this.model.id + }) + let shijian = startOne + } + obj.then((res) => { + if (res.success) { + // that.$message.success("淇敼鎴愬姛") + that.$message.success(res.message) + that.$emit('ok', res.result) + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + that.close() + }) + } + // } + + + // } + }) + }, + handleCancel() { + this.close() + }, + loadCascade() { + getAction(this.url.loadCascadeData).then((res) => { + if (res.success) { + this.partCategoryCascade = res.result + } + }) + }, + onCascadeChange(value, selectedOptions) { + this.cascadeDefaultValue = [...value] + }, + filter(inputValue, path) { + return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1) + }, + //楠岃瘉 缂栫爜 + validateNum(rule, value, callback) { + var params = { + tableName: 'lxmes_base_part', + fieldName: 'num', + fieldVal: value, + dataId: this.model.id, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true' + } + duplicateCheck(params).then((res) => { + if (res.success) { + callback() + } else { + callback('瀛樿揣缂栫爜宸插瓨鍦�!') + } + }) + }, + checkboxChange(e) { + this.checked = e.target.checked + } + } + } +</script> + +<style scoped> + .ant-btn { + padding: 0 10px; + margin-left: 3px; + } + + .ant-form-item-control { + line-height: 0px; + } + + /** 涓昏〃鍗曡闂磋窛 */ + .ant-form .ant-form-item { + margin-bottom: 10px; + } + + /** Tab椤甸潰琛岄棿璺� */ + .ant-tabs-content .ant-form-item { + margin-bottom: 0px; + } +</style> diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalList.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalList.vue new file mode 100644 index 0000000..270c9d8 --- /dev/null +++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalList.vue @@ -0,0 +1,284 @@ +<template> + <a-modal :title="title" :width="1000" :visible="visible" :maskClosable="false" @ok="handleOk" @cancel="handleCancel" + cancelText="鍏抽棴"> + <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="6" :sm="6"> + <a-form-item label="閮ㄩ棬" > + <!--<a-select v-model="queryParam.sectionPid" placeholder="璇烽�夋嫨閮ㄩ棬" :options="sectionPData" @change="initGroupOptions" />--> + <a-tree-select + v-model="value" + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨閮ㄩ棬" + tree-default-expand-all + > + <!--<span v-if="key === '0-0-1'" slot="title" slot-scope="{ key, value }" style="color: #08c">--> + <!--Child Node1 {{ value }}--> + <!--</span>--> + </a-tree-select> + </a-form-item> + </a-col> + + <a-col :md="6" :sm="6"> + <a-form-item label="杞﹂棿" > + <!--<a-select v-model="queryParam.sectionId" placeholder="璇烽�夋嫨杞﹂棿" :options="sectionData"/>--> + <a-tree-select + v-model="valueProduct" + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="sectionData" + placeholder="璇烽�夋嫨杞﹂棿" + tree-default-expand-all + > + <!--<span v-if="key === '0-0-1'" slot="title" slot-scope="{ key, value }" style="color: #08c">--> + <!--Child Node1 {{ value }}--> + <!--</span>--> + </a-tree-select> + </a-form-item> + </a-col> + + <a-col :md="6" :sm="6"> + <a-form-item label="璁惧缂栫爜"> + <a-input placeholder="璇疯緭鍏ヨ澶囩紪鐮佹绱�" v-model="queryParam.equipmentId"></a-input> + </a-form-item> + </a-col> + + <a-col :md="6" :sm="6"> + <a-form-item label="璁惧鍚嶇О"> + <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉版绱�" v-model="queryParam.equipmentName"></a-input> + </a-form-item> + </a-col> + </a-row> + </a-form> + </div> + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{聽 y: 300聽}" :columns="columns" + :dataSource="dataSource" :pagination="ipagination" :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + @change="handleTableChange"> + </a-table> + </div> + <!-- table鍖哄煙-end --> + </a-card> + </a-modal> +</template> + +<script> + import { + ajaxGetSelectItems + } from '@/api/api' + import JDictSelectTag from '@/components/dict/JDictSelectTag' + import { + deleteAction, + requestPut, + getAction, + postAction + } from '@/api/manage' + import { + JeecgListMixin + } from '@/mixins/JeecgListMixin' + import JInput from '@/components/jeecg/JInput' + import JEllipsis from '@/components/jeecg/JEllipsis' + import Tooltip from 'ant-design-vue/es/tooltip' + import JDate from '@/components/jeecg/JDate' + import moment from 'moment' + + export default { + name: 'DeviceRepairListModel', + mixins: [JeecgListMixin], + components: { + JDictSelectTag, + JEllipsis, + JInput, + Tooltip, + JDate + }, + props: { + status: { + type: Number, + default: 1 + } + }, + data() { + return { + treeData:[], + readOnly:true, + title:'', + visible: false, + disableMixinCreated: true, + queryParam: {}, + columns: [{ + title: '璁惧缂栫爜', + align: 'center', + dataIndex: 'equipmentId', + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'equipmentName', + }, + { + title: '椹卞姩绫诲瀷', + align: 'center', + dataIndex: 'driveType', + }, + { + title: '鏁版帶绯荤粺', + align: 'center', + dataIndex: 'controlSystem', + } + ], + sectionPData: [], + sectionData: [], + url: { + list: '/mdc/mdcEquipment/findEquipmentList', + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions' + }, + value:undefined, + valueProduct:undefined + } + }, + created() { + + }, + watch: { + value(value) { + // console.log(value); + this.queryParam.departId = value + }, + valueProduct(value){ + this.queryParam.productionId = value + } + }, + + methods: { + openPage() { + this.visible = true + this.onClearSelected() + this.dataSource = []; + this.queryParam = { + status: this.status + }; + this.loadData(); + this.initOptions(); + this.initGroupOptions() + }, + onSelectChange(selectedRowKeys, selectionRows) { + // this.SelectedList.push(selectedRowKeys); + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows + // this.SelectedList =[...this.SelectedList,...selectionRows]; + // console.log(this.SelectedList); + }, + 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 + }) + }, + modalFormOk(val) { + // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃 + this.loadData(); + this.selectedRowKeys = [val.id]; + }, + searchQuery() { + this.loadData(); + this.onClearSelected() + }, + searchReset() { + this.queryParam = { + status: 1 + }; + this.loadData(); + this.onClearSelected() + }, + close() { + this.$emit('close') + this.visible = false + }, + handleCancel() { + this.close() + }, + handleOk() { + this.$emit('sendSelectionRows', this.selectionRows) + this.close() + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + + + initGroupOptions() { + getAction(this.url.loadProductionOptions).then(res => { + if (res.success) { + this.sectionData = res.result + } else { + this.$message.warning(res.message) + } + }) + } + }, + } +</script> +<style> + @import '~@assets/less/common.less'; + + .frozenRowClass { + color: #c9c9c9; + } + + .success { + color: green; + } + + .error { + color: red; + } +</style> diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue index 6352ce8..5b9905b 100644 --- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue +++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue @@ -50,6 +50,9 @@ <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap"> <thead> <tr class="thead fixed equipname"> + <th class="thgu dong1 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"></th> + <th class="thgu dong1 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"></th> + <th class="thgu dong1 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"></th> <th class="thgu dong1 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧缂栧彿</th> <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍚嶇О</th> <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th> @@ -71,10 +74,12 @@ </thead> <tbody> <tr class="mathData" v-for="(item, index) in dataList"> + <td :rowspan="item.level1span" :class="{hidden: item.level1dis}" v-show="!item.level1dis">{{item.level1}}</td> + <td :rowspan="item.level2span" :class="{hidden: item.level2dis}" v-show="!item.level2dis">{{item.level2}}</td> + <td :rowspan="item.level3span" :class="{hidden: item.level3dis}" v-show="!item.level3dis">{{item.level3}}</td> <td class="tdgu kaitou">{{item.equipmentId}}</td> <td class="tdgu1 kaitou">{{item.equipmentName}}</td> <td class="tdgu2 kaitou">{{item.equipmentType}}</td> - <!--<td>{{item.tierType}}</td>--> <template v-for="(tableHead, index) in item.dataList"> <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td> <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('kjl') > -1"> @@ -139,7 +144,8 @@ list: '/mdc/efficiencyReport/efficiencyList', listByType: '/mdc/MdcUtilizationRate/listByType' }, - tableHeads: [] + tableHeads: [], + } }, props: { nodeTree: '',Type:'',nodePeople:'' }, @@ -191,6 +197,93 @@ } }, methods: { + checkSameData(dataList){ + let cache = {}; //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣 + let indices = []; //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍� + dataList.map((item,index)=>{ + let level1 = item.level1; + let _index = cache[level1]; + if(_index!==undefined){ + indices[_index].push(index) + }else{ + cache[level1] = indices.length + indices.push([index]) + } + }) + let result = []; + indices.map((item)=>{ + item.map((index)=>{ + result.push(dataList[index]) + }) + }) + this.dataList = result + }, + checkSameData1(dataList){ + let cache = {}; //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣 + let indices = []; //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍� + dataList.map((item,index)=>{ + let level2 = item.level2; + let _index = cache[level2]; + if(_index!==undefined){ + indices[_index].push(index) + }else{ + cache[level2] = indices.length + indices.push([index]) + } + }) + let result = []; + indices.map((item)=>{ + item.map((index)=>{ + result.push(dataList[index]) + }) + }) + this.dataList = result + }, + checkSameData2(dataList){ + let cache = {}; //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣 + let indices = []; //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍� + dataList.map((item,index)=>{ + let level3 = item.level3; + let _index = cache[level3]; + if(_index!==undefined){ + indices[_index].push(index) + }else{ + cache[level3] = indices.length + indices.push([index]) + } + }) + let result = []; + indices.map((item)=>{ + item.map((index)=>{ + result.push(dataList[index]) + }) + }) + this.dataList = result + }, + // 鍚堝苟 + combineCell() { + console.log(this.dataList) + let list =this.dataList; + for (let field in list[0]) { + var k = 0; + while (k < list.length) { + list[k][field + 'span'] = 1; + list[k][field + 'dis'] = false; + for (var i = k + 1; i <= list.length - 1; i++) { + if (list[k][field] == list[i][field] && list[k][field] != '') { + list[k][field + 'span']++; + list[k][field + 'dis'] = false; + list[i][field + 'span'] = 1; + list[i][field + 'dis'] = true; + } else { + break; + } + } + k = i; + } + } + return list; + }, disabledDate(current){ //Can not slect days before today and today return current && current > moment().subtract('days', 1); @@ -282,7 +375,12 @@ if (res.success) { this.tableHeads = res.result.dates this.dataList = res.result.mdcEfficiencyList + this.checkSameData(this.dataList) + this.checkSameData1(this.dataList) + this.checkSameData2(this.dataList) + this.combineCell(); this.initDeviceType(this.dataList) + } }) } @@ -437,7 +535,9 @@ .dataContent .mathData .tdd { /*display: none;*/ } - +td { + vertical-align: middle; +} .pink { background-color: #ff9bd2; } -- Gitblit v1.9.3