Merge remote-tracking branch 'origin/master'
| | |
| | | <span slot="tab" :pagekey="page.fullPath">{{ page.meta.title }}</span> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | <div style="margin: 12px 12px 0;"> |
| | | <div :style="{margin:$route.meta.title!=='首页'? '12px 12px 0':0,flex:1,display: 'flex',flexDirection: 'column'}"> |
| | | <!-- update-begin-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 --> |
| | | <keep-alive v-if="multipage"> |
| | | <router-view v-if="reloadFlag"/> |
| | |
| | | /> |
| | | |
| | | <!-- layout content --> |
| | | <a-layout-content :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0' }"> |
| | | <a-layout-content :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0',display:'flex',flexDirection:'column' }"> |
| | | <slot></slot> |
| | | </a-layout-content> |
| | | |
| | |
| | | //--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ |
| | | //this.menus = this.mainRouters.find((item) => item.path === '/').children; |
| | | this.menus = this.permissionMenuList |
| | | |
| | | |
| | | //--update-begin----author:liusq---date:20210223------for:关于测边菜单遮挡内容问题详细说明 #2255 |
| | | this.collapsed=!this.sidebarOpened; |
| | | //--update-begin----author:liusq---date:20210223------for:关于测边菜单遮挡内容问题详细说明 #2255 |
| | | |
| | | |
| | | // 根据后台配置菜单,重新排序加载路由信息 |
| | | //console.log('----加载菜单逻辑----') |
| | | //console.log(this.mainRouters) |
| | |
| | | <template> |
| | | <div> |
| | | |
| | | <div class="container"> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "Analysis", |
| | | components: { |
| | | |
| | | }, |
| | | name: 'Analysis', |
| | | components: {}, |
| | | data() { |
| | | return { |
| | | |
| | | } |
| | | return {} |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | methods: {} |
| | | } |
| | | </script> |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .container { |
| | | flex: 1; |
| | | background-image: url("../../assets/dashboard.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | </style> |
| | |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <!--<a-col--> |
| | | <!--:xl="4"--> |
| | | <!--:lg="4"--> |
| | | <!--:md="4"--> |
| | | <!--:sm="24"--> |
| | | <!-->--> |
| | | <!--<a-form-item label="设备编号">--> |
| | | <!--<a-input--> |
| | | <!--placeholder="请输入设备编号"--> |
| | | <!--v-model="queryParam.equipmentId"--> |
| | | <!--></a-input>--> |
| | | <!--</a-form-item>--> |
| | | <!--</a-col>--> |
| | | <!--<a-col--> |
| | | <!--:xl="4"--> |
| | | <!--:lg="4"--> |
| | | <!--:md="4"--> |
| | | <!--:sm="24"--> |
| | | <!-->--> |
| | | <!--<a-form-item label="设备名称">--> |
| | | <!--<a-input--> |
| | | <!--placeholder="请输入设备名称"--> |
| | | <!--v-model="queryParam.equipmentName"--> |
| | | <!--></a-input>--> |
| | | <!--</a-form-item>--> |
| | | <!--</a-col>--> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="控制系统类型"> |
| | | <!--<j-dict-select-tag--> |
| | | <!--placeholder="请选择控制系统类型"--> |
| | | <!--v-model="queryParam.driveType"--> |
| | | <!--dictCode="mdc_driveType"--> |
| | | <!--/>--> |
| | | <a-auto-complete |
| | | v-model="queryParam.driveType" |
| | | :data-source="driveTypeList" |
| | |
| | | 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> |
| | |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | // { |
| | | // title: '设备编号', |
| | | // align: "center", |
| | | // // sorter: true, |
| | | // dataIndex: 'equipmentId' |
| | | // }, |
| | | // { |
| | | // title: '设备名称', |
| | | // align: "center", |
| | | // // sorter: true, |
| | | // dataIndex: 'equipmentName' |
| | | // }, |
| | | { |
| | | title: '报警号', |
| | | align: "center", |
| | |
| | | </a-col> |
| | | |
| | | <a-col :md="4" :sm="4"> |
| | | <a-form-item label="设备名称"> |
| | | <a-input placeholder="请输入设备名称" v-model="queryParam.equipmentName"></a-input> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="请输入安装位置" v-model="queryParam.equipmentName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'equipmentName' |
| | |
| | | // sorter: true |
| | | }, |
| | | { |
| | | title: '安装位置', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName', |
| | | width: 200 |
| | | // sorter: true |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'equipmentName' |
| | | dataIndex: 'equipmentAddress' |
| | | }, |
| | | { |
| | | title: '车间', |
| | |
| | | // sorter: true |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'equipmentName' |
| | |
| | | <div> |
| | | <img src="@/assets/signage/repair/table-container.png"/> |
| | | <dv-scroll-board class="scroll-table-container" :config="scrollTableConfig"/> |
| | | <!--<table>--> |
| | | <!--<thead>--> |
| | | <!--<tr>--> |
| | | <!--<th>设备编号</th>--> |
| | | <!--<th>设备名称</th>--> |
| | | <!--<th>所属车间</th>--> |
| | | <!--<th>安装位置</th>--> |
| | | <!--<th>报修人</th>--> |
| | | <!--<th>报修时间</th>--> |
| | | <!--<th>维修人</th>--> |
| | | <!--<th>接单时间</th>--> |
| | | <!--<th>故障持续时间</th>--> |
| | | <!--<th>状态</th>--> |
| | | <!--</tr>--> |
| | | <!--</thead>--> |
| | | |
| | | <!--<tbody>--> |
| | | <!--<tr v-for="item in 8">--> |
| | | |
| | | <!--</tr>--> |
| | | <!--</tbody>--> |
| | | <!--</table>--> |
| | | </div> |
| | | <div> |
| | | <img src="@/assets/signage/repair/repaired-rank.png"/> |
| | |
| | | right: '10%', |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | top: 80, |
| | | right: '10%', |
| | | itemGap: 15, |
| | | textStyle: { |
| | | fontSize: 14, |
| | | fontFamily: 'LanTing', |
| | | color: '#eee', |
| | | height: 10, |
| | | rich: { |
| | | a: { |
| | | verticalAlign: 'bottom' |
| | | } |
| | | } |
| | | }, |
| | | data: ['设备平均故障率'] |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: [], |
| | |
| | | color: '#eee', |
| | | fontWeight: 'bold', |
| | | margin: 14, |
| | | formatter(value) { |
| | | return value + '%' |
| | | } |
| | | } |
| | | } |
| | | ], |
| | |
| | | <template> |
| | | <div class="page-container"> |
| | | <h1>车间布局看板</h1> |
| | | <a-list |
| | | :grid="{gutter: 16, xs: 1, sm: 2, md: 4, lg: 4, xl: 6, xxl: 3 }" |
| | | :data-source="workshopList"> |
| | | <a-list-item slot="renderItem" slot-scope="item, index"> |
| | | <div class="workshop-name" @click="navigateToWorkshopSignage(item.id)">{{item.workshopName}}</div> |
| | | </a-list-item> |
| | | </a-list> |
| | | <a-row> |
| | | <h1>车间布局看板</h1> |
| | | <a-list :grid="{gutter: 16, column:4}"> |
| | | <a-list-item v-for="item in workshopList" :key="item.id"> |
| | | <div class="workshop-name" @click="navigateToWorkshopSignage(item.id)">{{item.workshopName}}</div> |
| | | </a-list-item> |
| | | </a-list> |
| | | </a-row> |
| | | |
| | | <h1>分级看板</h1> |
| | | <a-list |
| | | :grid="{gutter: 16, column:4}"> |
| | | <a-list-item> |
| | | <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/GradeWorkshopSignage')">分级看板</div> |
| | | </a-list-item> |
| | | <a-list-item> |
| | | <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/RepairWorkshopSignage')">维修看板</div> |
| | | </a-list-item> |
| | | </a-list> |
| | | |
| | | <a-row> |
| | | <h1>分级看板</h1> |
| | | <a-list :grid="{gutter: 16, column:4}"> |
| | | <a-list-item> |
| | | <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/GradeWorkshopSignage')">分级看板</div> |
| | | </a-list-item> |
| | | <a-list-item> |
| | | <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/RepairWorkshopSignage')">维修看板</div> |
| | | </a-list-item> |
| | | </a-list> |
| | | </a-row> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | :column="4" |
| | | > |
| | | <a-descriptions-item label="设备编号">{{resultData.equipmentId}}</a-descriptions-item> |
| | | <a-descriptions-item label="设备名称">{{resultData.equipmentName}}</a-descriptions-item> |
| | | <a-descriptions-item label="安装位置">{{resultData.equipmentName}}</a-descriptions-item> |
| | | <a-descriptions-item label="IP地址">{{resultData.equipmentIp}}</a-descriptions-item> |
| | | <a-descriptions-item label="端口号">{{resultData.dataPort}}</a-descriptions-item> |
| | | <a-descriptions-item label="驱动类型">{{resultData.driveType}}</a-descriptions-item> |
| | |
| | | width:210 |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: "center", |
| | | dataIndex: 'equipmentName', |
| | | width:300 |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="6" :sm="6"> |
| | | <a-form-item label="设备名称"> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="请选择设备" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="6"> |
| | | <a-form-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | <a-form-item label="安装位置" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="输入安装位置查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | |
| | | </a-col> |
| | |
| | | <a-form-item label="设备编号"> |
| | | <a-input placeholder="输入设备编号查询" :readOnly="true" v-model="queryParams.equipmentId"></a-input> |
| | | </a-form-item> |
| | | <a-form-item label="设备名称"> |
| | | <a-input placeholder="输入设备名称查询" :readOnly="true" v-model="queryParams.equipmentName"></a-input> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="输入安装位置查询" :readOnly="true" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | <a-form-item label="日期"> |
| | | <a-range-picker v-model="dates" :disabledDate="disabledDate" @change="dateParamChange" format='YYYY-MM-DD'/> |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="4" :sm="4"> |
| | | <a-form-item label="设备名称"> |
| | | <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="输入安装位置查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="4" :sm="4"> |
| | | <a-form-item label="设备名称"> |
| | | <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="输入设备安装位置" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="4" :sm="4" :xs="4"> |
| | |
| | | </template> |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :form="form" :model="model" :rules="validatorRules"> |
| | | <a-form-model ref="form" :form="form" :model="model" :rules="validatorRules" :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="统一编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId"> |
| | | <a-input-search v-model="model.equipmentId" :disabled="disableSubmit" @search="deviceSearch" enter-button |
| | | <a-form-model-item label="统一编码" prop="equipmentId"> |
| | | <a-input-search v-model="model.equipmentId" readOnly :disabled="disableSubmit" @search="deviceSearch" |
| | | enter-button |
| | | placeholder='请选择统一编码'/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input :disabled="disableSubmit" allow-clear placeholder="请输入设备名称" |
| | | <a-form-model-item label="安装位置"> |
| | | <a-input :disabled="disableSubmit || model.id" allow-clear placeholder="请输入安装位置" |
| | | v-model="model.equipmentName"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item v-if="isDepartType == 0" label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol" |
| | | <a-form-model-item v-if="isDepartType == 0" label="部门分配" |
| | | v-show="!departDisabled"> |
| | | <j-select-equipment-depart :disabled="disableSubmit" v-model="model.selectedDeparts" :multi="false" |
| | | @back="backDepartInfo" :backDepart="true" |
| | | :treeOpera="true"></j-select-equipment-depart> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item v-if="isDepartType == -1" label="设备类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item v-if="isDepartType == -1" label="设备类型"> |
| | | <a-select :disabled="disableSubmit" placeholder="请选择设备类型" |
| | | :triggerChange="true" |
| | | v-model="model.equipmentType"> |
| | |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="车间分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled" |
| | | <a-form-model-item label="车间分配" v-show="!productionDisabled" |
| | | ref="selectedProduction" prop="selectedProduction"> |
| | | <!--<j-select-equipment-production v-decorator="['selectedProduction',{rules:[{required:true,message:'请选择车间!'}]}]" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>--> |
| | | <j-select-equipment-production :disabled="disableSubmit" v-model="model.selectedProduction" :multi="false" |
| | |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item v-if="isDepartType == -1" label="系统版本号" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item v-if="isDepartType == -1" label="系统版本号"> |
| | | <a-input :disabled="disableSubmit" allow-clear placeholder="请输入系统版本号" |
| | | v-model="model.systemVersion"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item v-if="isDepartType == 0" label="设备类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item v-if="isDepartType == 0" label="设备类型"> |
| | | <a-select :disabled="disableSubmit" placeholder="请选择设备类型" |
| | | :triggerChange="true" |
| | | v-model="model.equipmentType"> |
| | |
| | | |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设备功率(kw)" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item label="设备功率(kw)"> |
| | | <a-input :disabled="disableSubmit" allow-clear placeholder="请输入设备功率" |
| | | v-model="model.devicePower"/> |
| | | </a-form-model-item> |
| | |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="机床IP" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input :disabled="true" placeholder="请输入机床IP" |
| | | <a-form-model-item label="机床IP"> |
| | | <a-input :disabled="true" placeholder="请输入机床IP" |
| | | v-model="model.equipmentIp"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="机床端口" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item label="机床端口"> |
| | | <a-input :disabled="true" placeholder="请输入机床端口" |
| | | v-model="model.dataPort"/> |
| | | </a-form-model-item> |
| | |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="驱动类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item label="驱动类型"> |
| | | <j-dict-select-tag :disabled="true" placeholder="请选择驱动类型" |
| | | :triggerChange="true" dictCode="mdc_driveType" |
| | | v-model="model.driveType" allow-clear/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设备型号" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input :disabled="true" allow-clear placeholder="请输入设备型号" |
| | | <a-form-model-item label="设备型号"> |
| | | <a-input :disabled="true" allow-clear placeholder="请输入设备型号" |
| | | v-model="model.equipmentModel"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="系统类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <j-dict-select-tag placeholder="请选择系统类型" :triggerChange="true" dictCode="system_type" :disabled="disableSubmit" |
| | | <a-form-model-item label="系统类型"> |
| | | <j-dict-select-tag placeholder="请选择系统类型" :triggerChange="true" dictCode="system_type" |
| | | :disabled="disableSubmit" |
| | | v-model="model.systemType" allow-clear/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="排序" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item label="排序"> |
| | | <a-input :disabled="disableSubmit" :readOnly="disableSubmit" placeholder="请输入排序" |
| | | v-model="model.sortNo" style="width: 100%"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24" v-if="systemType"> |
| | | <a-col :span='24'> |
| | | <a-form-model-item label="系统类型" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span='12' v-if="systemType"> |
| | | <a-form-model-item label="系统类型"> |
| | | <a-radio-group name="radioGroup" v-model="systemValue" :disabled="disableSubmit"> |
| | | <a-radio value="1">DNC</a-radio> |
| | | <a-radio value="2">MDC</a-radio> |
| | |
| | | </a-radio-group> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label="设备名称"> |
| | | <a-input v-model="model.equipmentAddress" allow-clear placeholder="请输入设备名称" :disabled="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span='12'> |
| | | <a-form-model-item v-if="isDepartType == 0" label="系统版本号" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item v-if="isDepartType == 0" label="系统版本号"> |
| | | <a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入系统版本号" |
| | | v-model="model.systemVersion"/> |
| | | </a-form-model-item> |
| | |
| | | equipmentId: |
| | | [ |
| | | { |
| | | required: true, message: '请选择设备编号!' |
| | | required: true, message: '请选择设备编号!', trigger: 'change' |
| | | } |
| | | // { |
| | | // validator: this.validatequipmentId |
| | |
| | | selectedProduction: |
| | | [ |
| | | { |
| | | required: true, message: '请选择车间' |
| | | required: true, message: '请选择车间!' |
| | | } |
| | | ] |
| | | |
| | |
| | | console.log(val) |
| | | if (val.equipmentid) { |
| | | this.model.equipmentId = val.equipmentid |
| | | this.model.equipmentName = val.equipmentname |
| | | this.model.equipmentAddress = val.equipmentname |
| | | this.model.equipmentModel = val.equipmentmodel |
| | | this.model.equipmentIp = val.equipmentip |
| | | this.model.dataPort = val.dataport |
| | |
| | | |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(that.model, 'selectedDeparts', 'selectedProduction', 'equipmentId', 'equipmentName', 'equipmentModel', 'equipmentType', 'equipmentIp', 'dataPort', |
| | | 'driveType', 'sortNo', 'remark', 'systemVersion', 'devicePower', 'controlSystem', 'saveTableName', 'systemValue')) |
| | | 'driveType', 'sortNo', 'remark', 'systemVersion', 'devicePower', 'controlSystem', 'saveTableName', 'systemValue', 'equipmentAddress')) |
| | | }) |
| | | if (record.hasOwnProperty('id')) { |
| | | // that.getUserRoles(record.id); |
| | |
| | | if (screenWidth < 500) { |
| | | this.drawerWidth = screenWidth |
| | | } else { |
| | | this.drawerWidth = 700 |
| | | this.drawerWidth = 800 |
| | | } |
| | | }, |
| | | getUserDeparts(userid) { |
| | |
| | | // if(this.model.userIdentity!==2){ |
| | | // this.model.departIds=""; |
| | | // } |
| | | if (this.systemValue==null){ |
| | | this.$message.warning('请选择系统类型!'); |
| | | return false; |
| | | if (this.systemValue == null) { |
| | | this.$message.warning('请选择系统类型!') |
| | | return false |
| | | } |
| | | let obj; |
| | | if(!this.model.id){ |
| | | this.model.id = this.userId; |
| | | this.model.systemValue=this.systemValue; |
| | | obj=addEquipment(this.model); |
| | | }else{ |
| | | this.model.systemValue=this.systemValue; |
| | | obj=editEquipment(this.model,{ |
| | | id: this.model.id |
| | | }); |
| | | let obj |
| | | if (!this.model.id) { |
| | | this.model.id = this.userId |
| | | this.model.systemValue = this.systemValue |
| | | obj = addEquipment(this.model) |
| | | } else { |
| | | this.model.systemValue = this.systemValue |
| | | obj = editEquipment(this.model, { |
| | | id: this.model.id |
| | | }) |
| | | } |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName', |
| | | width: 200 |
| | |
| | | }, |
| | | |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.model = Object.assign({}, record, { equipmentIds: record.equipmentId }) |
| | | this.getDowntimeDescriptionListByApi() |
| | | if (this.model.downtimeType === null) { |
| | | delete this.model.downtimeType |
| | |
| | | <thead> |
| | | <tr> |
| | | <th>设备编号</th> |
| | | <th>设备名称</th> |
| | | <th>安装位置</th> |
| | | </tr> |
| | | </thead> |
| | | |
| | |
| | | <table> |
| | | <tr> |
| | | <td>设备名称</td> |
| | | <a-tooltip :title="setTooltipTittle(equipmentStatusAndInfoObj.equipmentName)"> |
| | | <td :style="{color:setNullValueFontColor(equipmentStatusAndInfoObj.equipmentName)}"> |
| | | {{equipmentStatusAndInfoObj.equipmentName|filterNullValue}} |
| | | <a-tooltip :title="setTooltipTittle(equipmentStatusAndInfoObj.equipmentAddress)"> |
| | | <td :style="{color:setNullValueFontColor(equipmentStatusAndInfoObj.equipmentAddress)}"> |
| | | {{equipmentStatusAndInfoObj.equipmentAddress|filterNullValue}} |
| | | </td> |
| | | </a-tooltip> |
| | | </tr> |
| | |
| | | <div class="equipment-search-container"> |
| | | <img src="@/assets/signage/section/search-input.png"/> |
| | | <a-auto-complete @select="handleSelectChange" placeholder="回车键查询" :filter-option="filterOption" |
| | | :dataSource="equipmentList.map(item=>item.equipmentId)" |
| | | style="position: absolute;width: 15vw;height: 2.24vw;"/> |
| | | style="position: absolute;width: 15vw;height: 2.24vw;"> |
| | | <template slot="dataSource"> |
| | | <a-select-option v-for="item in equipmentList" :key="item.equipmentId"> |
| | | {{item.equipmentId+`[${item.equipmentName}]`}} |
| | | </a-select-option> |
| | | </template> |
| | | </a-auto-complete> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | chartQuantity: 6, |
| | | hasLoadedChartDataQuantity: 0, |
| | | activeIndex: null, |
| | | equipmentList: [ |
| | | { |
| | | 'id': '1694181185660579842', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2023-08-23 10:54:05', |
| | | 'updateBy': 'admin', |
| | | 'updateTime': '2024-09-14 09:15:10', |
| | | 'equipmentId': '2140342', |
| | | 'equipmentName': '数控卧车', |
| | | 'equipmentType': '复合机床', |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.44', |
| | | 'dataPort': '8193', |
| | | 'driveType': 'FANUC', |
| | | 'equipmentModel': 'GLS-200', |
| | | 'controlSystem': 'FANUC', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'FANUC_2140342', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': 'A', |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': null, |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | }, |
| | | { |
| | | 'id': '1694181274449801217', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2023-08-23 10:54:26', |
| | | 'updateBy': 'admin', |
| | | 'updateTime': '2024-09-12 13:27:27', |
| | | 'equipmentId': '2140345', |
| | | 'equipmentName': '数控卧式车床', |
| | | 'equipmentType': '车床', |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.45', |
| | | 'dataPort': '8193', |
| | | 'driveType': 'FANUC', |
| | | 'equipmentModel': 'FTC-350L', |
| | | 'controlSystem': 'FANUC', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'FANUC_2140345', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': null, |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': null, |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | }, |
| | | { |
| | | 'id': '1694182117068697602', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2023-08-23 10:57:47', |
| | | 'updateBy': 'admin', |
| | | 'updateTime': '2024-01-31 11:30:00', |
| | | 'equipmentId': '2640236', |
| | | 'equipmentName': '立式加工中心', |
| | | 'equipmentType': '加工中心', |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.17', |
| | | 'dataPort': '8193', |
| | | 'driveType': 'FANUC', |
| | | 'equipmentModel': 'VNP-32A', |
| | | 'controlSystem': 'FANUC', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'FANUC_2640236', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': null, |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': null, |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | }, |
| | | { |
| | | 'id': '1694182375483961346', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2023-08-23 10:58:49', |
| | | 'updateBy': 'admin', |
| | | 'updateTime': '2024-01-31 11:29:19', |
| | | 'equipmentId': '2640263', |
| | | 'equipmentName': '数控加工中心', |
| | | 'equipmentType': '加工中心', |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.74', |
| | | 'dataPort': '8193', |
| | | 'driveType': 'FANUC', |
| | | 'equipmentModel': 'SW-850', |
| | | 'controlSystem': 'FANUC', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'FANUC_2640263', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': null, |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': null, |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | }, |
| | | { |
| | | 'id': '1701169612893388801', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2023-09-11 17:43:36', |
| | | 'updateBy': 'admin', |
| | | 'updateTime': '2023-11-29 16:45:11', |
| | | 'equipmentId': '2640315', |
| | | 'equipmentName': '加工中心', |
| | | 'equipmentType': '车床', |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.90', |
| | | 'dataPort': '19000', |
| | | 'driveType': 'LSV2', |
| | | 'equipmentModel': 'C32U', |
| | | 'controlSystem': 'LSV2', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'LSV2_2640315', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': null, |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': null, |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | }, |
| | | { |
| | | 'id': '1728950536953856002', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2023-11-27 09:35:05', |
| | | 'updateBy': 'admin', |
| | | 'updateTime': '2024-01-31 11:29:01', |
| | | 'equipmentId': '2140111', |
| | | 'equipmentName': '数控车床', |
| | | 'equipmentType': '车床', |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.167', |
| | | 'dataPort': '502', |
| | | 'driveType': 'ZUOLAN', |
| | | 'equipmentModel': 'SSCKZ40-1000', |
| | | 'controlSystem': 'ZUOLAN', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'ZUOLAN_2140111', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': null, |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': null, |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | }, |
| | | { |
| | | 'id': '1753259512871624705', |
| | | 'createBy': 'admin', |
| | | 'createTime': '2024-02-02 11:30:16', |
| | | 'updateBy': null, |
| | | 'updateTime': null, |
| | | 'equipmentId': '3102038', |
| | | 'equipmentName': '电火花成型机', |
| | | 'equipmentType': null, |
| | | 'productionName': null, |
| | | 'orgCodeTxt': null, |
| | | 'systemVersion': null, |
| | | 'devicePower': null, |
| | | 'equipmentIp': '192.168.86.23', |
| | | 'dataPort': '502', |
| | | 'driveType': 'ZUOLAN', |
| | | 'equipmentModel': 'DM7150', |
| | | 'controlSystem': 'ZUOLAN', |
| | | 'systemType': null, |
| | | 'deviceCategory': null, |
| | | 'alarm': null, |
| | | 'collectTime': null, |
| | | 'oporation': null, |
| | | 'saveTableName': 'ZUOLAN_3102038', |
| | | 'deviceAbnormalStatus': 1, |
| | | 'equipmentStatus': 0, |
| | | 'deviceLevel': null, |
| | | 'deviceImportanceLevel': null, |
| | | 'sortNo': null, |
| | | 'remark': '222333', |
| | | 'selectedDeparts': null, |
| | | 'selectedProduction': null |
| | | } |
| | | ], |
| | | equipmentList: [] |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | signageApi.getEquipmentStatusAnalysisApi(this.currentProductionId) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.leftChart1Data = res.result.equipmentStatus |
| | | that.leftChart1Data = res.result.equipmentStatus |
| | | } |
| | | this.initLeftChart1() |
| | | that.initLeftChart1() |
| | | }) |
| | | .finally(() => { |
| | | that.hasLoadedChartDataQuantity++ |
| | |
| | | signageApi.getRepairAndMaintenanceStatusApi(this.currentProductionId) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.leftChart2Data = res.result.map(item => { |
| | | that.leftChart2Data = res.result.map(item => { |
| | | return { |
| | | name: item.statusText, |
| | | value: item.totalNumber |
| | | } |
| | | }) |
| | | } |
| | | this.initLeftChart2() |
| | | that.initLeftChart2() |
| | | }) |
| | | .finally(() => { |
| | | that.hasLoadedChartDataQuantity++ |
| | |
| | | const that = this |
| | | signageApi.getRateAnalysisTrendApi(this.currentProductionId) |
| | | .then(res => { |
| | | if (res.success) this.rightTopChartData = res.result |
| | | this.initRightTopChart() |
| | | if (res.success) that.rightTopChartData = res.result |
| | | that.initRightTopChart() |
| | | }) |
| | | .finally(() => { |
| | | that.hasLoadedChartDataQuantity++ |
| | |
| | | const that = this |
| | | signageApi.getRepairAnalysisApi(this.currentProductionId) |
| | | .then(res => { |
| | | if (res.success) this.rightBottomChart1Data = res.result |
| | | this.initRightBottomChart1() |
| | | if (res.success) that.rightBottomChart1Data = res.result |
| | | that.initRightBottomChart1() |
| | | }) |
| | | .finally(() => { |
| | | that.hasLoadedChartDataQuantity++ |
| | |
| | | const that = this |
| | | signageApi.getInspectionAnalysisApi(this.currentProductionId) |
| | | .then(res => { |
| | | if (res.success) this.rightBottomChart2Data = res.result |
| | | this.initRightBottomChart2() |
| | | if (res.success) that.rightBottomChart2Data = res.result |
| | | that.initRightBottomChart2() |
| | | }) |
| | | .finally(() => { |
| | | that.hasLoadedChartDataQuantity++ |
| | |
| | | const that = this |
| | | signageApi.getMaintenanceAnalysisApi(this.currentProductionId) |
| | | .then(res => { |
| | | if (res.success) this.rightBottomChart3Data = res.result |
| | | this.initRightBottomChart3() |
| | | if (res.success) that.rightBottomChart3Data = res.result |
| | | that.initRightBottomChart3() |
| | | }) |
| | | .finally(() => { |
| | | that.hasLoadedChartDataQuantity++ |
| | |
| | | * @param equipmentId 设备编号 |
| | | */ |
| | | handleSelectChange(equipmentId) { |
| | | // this.equipmentId = value |
| | | console.log('equipment', equipmentId) |
| | | this.$emit('nextSignage', { id: equipmentId }) |
| | | }, |
| | |
| | | scopedSlots: { customRender: 'percent' } |
| | | }, |
| | | { |
| | | title: '加工零件数量', |
| | | align: 'center', |
| | | dataIndex: 'processCount', |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: '合格零件数量', |
| | | align: 'center', |
| | | dataIndex: 'passCount', |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: '一次合格率', |
| | | align: 'center', |
| | | dataIndex: 'passRate', |
| | |
| | | 设备编号 |
| | | </th> |
| | | <th class="thgu dong2 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;"> |
| | | 设备名称 |
| | | 安装位置 |
| | | </th> |
| | | <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"> |
| | | 设备类型 |
| | |
| | | 设备编号 |
| | | </th> |
| | | <th class="thgu dong2 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;"> |
| | | 设备名称 |
| | | 安装位置 |
| | | </th> |
| | | <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"> |
| | | 设备类型 |
| | |
| | | } |
| | | this.XData = Xarr |
| | | this.YData = Yarr |
| | | // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){ |
| | | // this.openRateTrendAnalysisChart.dispose() |
| | | // } |
| | | |
| | | this.draw() |
| | | }, |
| | |
| | | this.requestAlldataSize = moment.duration(moment(this.queryParam.endDate) - moment(this.queryParam.startDate), 'millisecond').asDays() + 1 |
| | | this.loadData1() |
| | | }, |
| | | // searchReset() { |
| | | // this.typeTree = this.queryParam.typeTree |
| | | // this.typeParent = this.queryParam.parentId |
| | | // this.typeEquipment = this.queryParam.equipmentId |
| | | // this.queryParam = {} |
| | | // this.dates = [] |
| | | // this.queryParam.typeTree = this.typeTree |
| | | // this.queryParam.parentId = this.typeParent |
| | | // this.queryParam.equipmentId = this.typeEquipment |
| | | // // this.ipagination.current = 1 |
| | | // this.loadData1(); |
| | | // // this.queryParam = {} |
| | | // // this.dates = [] |
| | | // // this.loadData() |
| | | // // this.onClearSelected() |
| | | // }, |
| | | // loadData1() { |
| | | // let that = this |
| | | // that.columns=[ |
| | | // { |
| | | // title: '设备编号', |
| | | // align: 'center', |
| | | // dataIndex: 'equipmentId', |
| | | // width:'150px' |
| | | // }, |
| | | // { |
| | | // title: '设备名称', |
| | | // align: 'center', |
| | | // dataIndex: 'equipmentName', |
| | | // width:'150px' |
| | | // }, |
| | | // ] |
| | | // that.tableHeads = [] |
| | | // that.dataList = [] |
| | | // getAction(this.url.efficiencyList, that.queryParam).then(res => { |
| | | // var tmp = {} |
| | | // console.log(res) |
| | | // if (res.success) |
| | | // |
| | | // that.dataSource = res.result.mdcEfficiencyList |
| | | // for(var k = 0;k<that.dataSource[0].dataList.length;k++){ |
| | | // that.columns.push( |
| | | // { |
| | | // title:that.dataSource[0].dataList.theDate, |
| | | // align: 'center', |
| | | // width:'120px', |
| | | // // dataIndex:'utilizationRate', |
| | | // } |
| | | // ) |
| | | // } |
| | | // for(var i = 0;i<that.dataSource.length;i++){ |
| | | // for (var j = 0; j < that.dataSource[i].dataList.length;j++){ |
| | | // // that.columns.push( |
| | | // // { |
| | | // // title:that.dataSource[0].dataList[j].theDate, |
| | | // // align: 'center', |
| | | // // width:'120px', |
| | | // // dataIndex:'utilizationRate', |
| | | // // } |
| | | // // ) |
| | | // } |
| | | // |
| | | // } |
| | | // console.log(that.columns) |
| | | // console.log(that.dataSource) |
| | | // // this.initDeviceType(this.dataList) |
| | | // this.draw() |
| | | // } |
| | | // } |
| | | loadData1() { |
| | | this.loading = true |
| | | this.tableHeads = [] |
| | |
| | | <a-row :gutter="24"> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | | <a-form-item label="名称"> |
| | | <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input> |
| | | <a-input placeholder="请选择树节点" :readOnly="readOnly" v-model="queryParam.tierName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="4" :sm="4" :xs="4"> |
| | |
| | | <a-row :gutter="24"> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | | <a-form-item label="名称"> |
| | | <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input> |
| | | <a-input placeholder="请选择树节点" :readOnly="readOnly" v-model="queryParam.tierName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="4" :sm="4" :xs="4"> |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | | <a-form-item label="设备名称"> |
| | | <a-input placeholder="输入设备名称查询" v-model="queryParams.equipmentName"></a-input> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="输入安装位置查询" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="2" :sm="2" :xs="2"> |
| | |
| | | width:200 |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName', |
| | | width:250 |
| | |
| | | </a-col> |
| | | |
| | | <a-col :span="12"> |
| | | <a-form-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="请输入设备名称" |
| | | <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> |
| | |
| | | } |
| | | }, |
| | | { title: '设备编号', dataIndex: 'equipmentId', key: 'equipmentId', align: 'center' }, |
| | | { title: '设备名称', dataIndex: 'equipmentName', key: 'equipmentName', align: 'center' }, |
| | | { title: '安装位置', dataIndex: 'equipmentName', key: 'equipmentName', align: 'center' }, |
| | | { title: '报警时间', dataIndex: 'startTime', key: 'startTime', align: 'center' }, |
| | | { title: '结束时间', dataIndex: 'endTime', key: 'endTime', align: 'center' }, |
| | | { |
| | |
| | | <template> |
| | | <div class="comparative_Bar" style="width: 100%;height: 900px;display: flex;flex-direction: column;overflow: scroll"> |
| | | <div id="compAnalBar1" style="flex: 1;"></div> |
| | | <div id="compAnalBar2" style="flex: 1;"></div> |
| | | </div> |
| | | <div class="comparative_Bar" style="width: 100%;height: 900px;display: flex;flex-direction: column;overflow: scroll"> |
| | | <div id="compAnalBar1" style="flex: 1;"></div> |
| | | <div id="compAnalBar2" style="flex: 1;"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts' |
| | | |
| | | export default { |
| | | name: 'comparativeAnalysisBar', |
| | | props:{ |
| | | dataList:'' |
| | | |
| | | }, |
| | | data(){ |
| | | return{ |
| | | OpenCloseList:[], |
| | | openRate:[], |
| | | utilizationRate:[], |
| | | openLong:[], |
| | | closeLong:[], |
| | | equipmentList:[] |
| | | props: { |
| | | dataList: { |
| | | type: Array |
| | | } |
| | | }, |
| | | created(){ |
| | | |
| | | data() { |
| | | return { |
| | | compAnalBar1: null, |
| | | compAnalBar2: null |
| | | } |
| | | }, |
| | | watch:{ |
| | | dataList(val){ |
| | | this.OpenCloseList = val |
| | | watch: { |
| | | dataList(val) { |
| | | this.drawTu() |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.drawTu() |
| | | window.addEventListener('resize', this.handleWindowResize) |
| | | }, |
| | | methods:{ |
| | | drawTu(){ |
| | | let compAnalBar1 = this.$echarts.init(document.getElementById('compAnalBar1'), 'macarons'); |
| | | let compAnalBar2 = this.$echarts.init(document.getElementById('compAnalBar2'), 'macarons'); |
| | | let compAnalBarOption1 = { |
| | | methods: { |
| | | drawTu() { |
| | | this.compAnalBar1 = this.$echarts.init(document.getElementById('compAnalBar1'), 'macarons') |
| | | this.compAnalBar2 = this.$echarts.init(document.getElementById('compAnalBar2'), 'macarons') |
| | | let compAnalBarOption1 = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: "shadow", |
| | | type: 'shadow', |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | |
| | | } |
| | |
| | | data: ['开机率', '利用率'] |
| | | }, |
| | | toolbox: { |
| | | show : true, |
| | | feature : { |
| | | mark : {show: true}, |
| | | magicType : {show: true, type: ['line', 'bar']}, |
| | | restore : {show: true}, |
| | | saveAsImage : {show: true,name:'设备运行效率对比分析图'} |
| | | show: true, |
| | | feature: { |
| | | mark: { show: true }, |
| | | magicType: { show: true, type: ['line', 'bar'] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { show: true, name: '设备运行效率对比分析图' } |
| | | } |
| | | }, |
| | | calculable: true, |
| | |
| | | top: 110, |
| | | bottom: 95, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | splitLine: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | axisTick: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | splitArea: { |
| | | show: false |
| | | }, |
| | | boundaryGap : true, |
| | | axisLabel : { |
| | | interval : 0, |
| | | rotate : 0, |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | rotate: 0, |
| | | show: true, |
| | | wigth:20, |
| | | wigth: 20, |
| | | splitNumber: 8, |
| | | textStyle: { |
| | | fontFamily: "微软雅黑", |
| | | fontFamily: '微软雅黑', |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | data : [0] |
| | | data: [0] |
| | | } |
| | | ], |
| | | yAxis: [ |
| | |
| | | handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z', |
| | | handleSize: '110%', |
| | | handleStyle: { |
| | | color: "#d3dee5" |
| | | color: '#d3dee5' |
| | | }, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | }, |
| | | borderColor: "#90979c" |
| | | borderColor: '#90979c' |
| | | }, { |
| | | type: "inside", |
| | | type: 'inside', |
| | | show: true, |
| | | height: 15, |
| | | start: 1, |
| | |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | // ["#4fe1c5","#4ecee1"], |
| | | // // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:'#6496e9' |
| | | ['#6496e9', '#6bded3'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#6496e9' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#6bded3" |
| | | }],false) |
| | | offset: 1, |
| | | color: '#6bded3' |
| | | }], false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | markPoint : { |
| | | data : [ |
| | | {type : 'max', name: '最大值',symbolSize:70}, |
| | | {type : 'min', name: '最小值',symbolSize:70} |
| | | markPoint: { |
| | | data: [ |
| | | { type: 'max', name: '最大值', symbolSize: 70 }, |
| | | { type: 'min', name: '最小值', symbolSize: 70 } |
| | | ] |
| | | }, |
| | | markLine : { |
| | | data : [ |
| | | {type : 'average', name: '平均值'} |
| | | markLine: { |
| | | data: [ |
| | | { type: 'average', name: '平均值' } |
| | | ] |
| | | } |
| | | }, |
| | | { |
| | | name: '利用率', |
| | | type: 'bar', |
| | | //barWidth: 30, |
| | | barWidth: 25, |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | // ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | ["#4fe1c5","#4ecee1"], |
| | | // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:"#4fe1c5" |
| | | ['#4fe1c5', '#4ecee1'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#4fe1c5' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#4ecee1" |
| | | }],false) |
| | | offset: 1, |
| | | color: '#4ecee1' |
| | | }], false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | | markPoint : { |
| | | data : [ |
| | | {type : 'max', name: '最大值',symbolSize:70}, |
| | | {type : 'min', name: '最小值',symbolSize:70} |
| | | markPoint: { |
| | | data: [ |
| | | { type: 'max', name: '最大值', symbolSize: 70 }, |
| | | { type: 'min', name: '最小值', symbolSize: 70 } |
| | | ] |
| | | }, |
| | | markLine : { |
| | | data : [ |
| | | {type : 'average', name: '平均值'} |
| | | markLine: { |
| | | data: [ |
| | | { type: 'average', name: '平均值' } |
| | | ] |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | // let compAnalBarOption2 = { |
| | | // tooltip: { |
| | | // trigger: 'axis', |
| | | // axisPointer: { |
| | | // type: "shadow", |
| | | // textStyle: { |
| | | // color: "#fff" |
| | | // } |
| | | // |
| | | // } |
| | | // }, |
| | | // legend: { |
| | | // x: '4%', |
| | | // top: '11%', |
| | | // textStyle: { |
| | | // color: '#90979c' |
| | | // }, |
| | | // data: ['开机时间', '关机时间'], |
| | | // color:['#6496e9','#b4b8cc'] |
| | | // }, |
| | | // toolbox: { |
| | | // show : true, |
| | | // feature : { |
| | | // mark : {show: true}, |
| | | // magicType : {show: true, type: ['line', 'bar']}, |
| | | // restore : {show: true}, |
| | | // saveAsImage : {show: true,name:'设备运行时间对比分析图'} |
| | | // } |
| | | // }, |
| | | // calculable: true, |
| | | // grid: { |
| | | // borderWidth: 0, |
| | | // top: 110, |
| | | // bottom: 95, |
| | | // textStyle: { |
| | | // color: "#fff" |
| | | // } |
| | | // }, |
| | | // xAxis: [ |
| | | // { |
| | | // type: 'category', |
| | | // splitLine: { |
| | | // "show": false |
| | | // }, |
| | | // axisTick: { |
| | | // "show": false |
| | | // }, |
| | | // splitArea: { |
| | | // show: false |
| | | // }, |
| | | // boundaryGap : true, |
| | | // axisLabel : { |
| | | // interval : 0, |
| | | // rotate : 0, |
| | | // show: true, |
| | | // wigth:20, |
| | | // splitNumber: 8, |
| | | // textStyle: { |
| | | // fontFamily: "微软雅黑", |
| | | // fontSize: 12 |
| | | // } |
| | | // }, |
| | | // data : [0] |
| | | // } |
| | | // ], |
| | | // yAxis: [ |
| | | // { |
| | | // type: 'value', |
| | | // splitLine: { |
| | | // show: false |
| | | // }, |
| | | // axisLine: { |
| | | // lineStyle: { |
| | | // color: '#90979c' |
| | | // } |
| | | // }, |
| | | // axisTick: { |
| | | // show: false |
| | | // }, |
| | | // axisLabel: { |
| | | // interval: 0 |
| | | // |
| | | // }, |
| | | // splitArea: { |
| | | // show: false |
| | | // } |
| | | // } |
| | | // ], |
| | | // dataZoom: [{ |
| | | // show: true, |
| | | // height: 30, |
| | | // xAxisIndex: [0], |
| | | // bottom: 30, |
| | | // start: 0, |
| | | // end: 100, |
| | | // handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z', |
| | | // handleSize: '110%', |
| | | // handleStyle: { |
| | | // color: "#d3dee5" |
| | | // }, |
| | | // textStyle: { |
| | | // color: "#fff" |
| | | // }, |
| | | // borderColor: "#90979c" |
| | | // }, { |
| | | // type: "inside", |
| | | // show: true, |
| | | // height: 15, |
| | | // start: 1, |
| | | // end: 35 |
| | | // }], |
| | | // series: [ |
| | | // { |
| | | // name: '开机时间', |
| | | // type: 'bar', |
| | | // //barWidth: 30, |
| | | // barWidth: 25, |
| | | // // stack: 'sum', |
| | | // // barCategoryGap: '20%', |
| | | // itemStyle: { |
| | | // normal: { |
| | | // color: function(params) { |
| | | // let colorList = [ |
| | | // ["#6496e9","#6bded3"], |
| | | // // ["#849db8","#b4b8cc"], |
| | | // // ["#4fe1c5","#4ecee1"], |
| | | // // // ["#9978fa","#88a1fa"], |
| | | // // ["#ffbb65","#fdc68b"], |
| | | // ]; |
| | | // // return colorList[params.dataIndex]; |
| | | // let colorItem = colorList[params.dataIndex]; |
| | | // return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | // offset:0, |
| | | // color:'#6496e9' |
| | | // }, |
| | | // { |
| | | // offset:1, |
| | | // color:"#6bded3" |
| | | // }],false) |
| | | // }, |
| | | // barBorderRadius: [5, 5, 0, 0], |
| | | // } |
| | | // }, |
| | | // data: [0] |
| | | // }, |
| | | // { |
| | | // name: '关机时间', |
| | | // type: 'bar', |
| | | // //barWidth: 30, |
| | | // barWidth: 25, |
| | | // // stack: 'sum', |
| | | // // barCategoryGap: '20%', |
| | | // itemStyle: { |
| | | // normal: { |
| | | // color: function(params) { |
| | | // let colorList = [ |
| | | // // ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | // // ["#4fe1c5","#4ecee1"], |
| | | // // // ["#9978fa","#88a1fa"], |
| | | // // ["#ffbb65","#fdc68b"], |
| | | // ]; |
| | | // // return colorList[params.dataIndex]; |
| | | // let colorItem = colorList[params.dataIndex]; |
| | | // return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | // offset:0, |
| | | // color:'#849db8' |
| | | // }, |
| | | // { |
| | | // offset:1, |
| | | // color:"#b4b8cc" |
| | | // }],false) |
| | | // }, |
| | | // barBorderRadius: [5, 5, 0, 0], |
| | | // } |
| | | // }, |
| | | // data: [0] |
| | | // } |
| | | // ] |
| | | // }; |
| | | } |
| | | let compAnalBarOption2 = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: "shadow", |
| | | type: 'shadow', |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | |
| | | } |
| | | }, |
| | | legend: { |
| | |
| | | textStyle: { |
| | | color: '#90979c' |
| | | }, |
| | | color:['#6496e9','#b4b8cc'], |
| | | color: ['#6496e9', '#b4b8cc'], |
| | | data: ['开机时间', '关机时间'] |
| | | }, |
| | | toolbox: { |
| | | show : true, |
| | | feature : { |
| | | mark : {show: true}, |
| | | magicType : {show: true, type: ['line', 'bar']}, |
| | | restore : {show: true}, |
| | | saveAsImage : {show: true,name:'设备运行效率对比分析图'} |
| | | show: true, |
| | | feature: { |
| | | mark: { show: true }, |
| | | magicType: { show: true, type: ['line', 'bar'] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { show: true, name: '设备运行效率对比分析图' } |
| | | } |
| | | }, |
| | | calculable: true, |
| | |
| | | top: 110, |
| | | bottom: 95, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | splitLine: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | axisTick: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | splitArea: { |
| | | show: false |
| | | }, |
| | | boundaryGap : true, |
| | | axisLabel : { |
| | | interval : 0, |
| | | rotate : 0, |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | rotate: 0, |
| | | show: true, |
| | | wigth:20, |
| | | wigth: 20, |
| | | splitNumber: 8, |
| | | textStyle: { |
| | | fontFamily: "微软雅黑", |
| | | fontFamily: '微软雅黑', |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | data : [0] |
| | | data: [0] |
| | | } |
| | | ], |
| | | yAxis: [ |
| | |
| | | handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z', |
| | | handleSize: '110%', |
| | | handleStyle: { |
| | | color: "#d3dee5" |
| | | color: '#d3dee5' |
| | | }, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | }, |
| | | borderColor: "#90979c" |
| | | borderColor: '#90979c' |
| | | }, { |
| | | type: "inside", |
| | | type: 'inside', |
| | | show: true, |
| | | height: 15, |
| | | start: 1, |
| | |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | // ["#4fe1c5","#4ecee1"], |
| | | // // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:'#6496e9' |
| | | ['#6496e9', '#6bded3'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#6496e9' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#6bded3" |
| | | }],false) |
| | | offset: 1, |
| | | color: '#6bded3' |
| | | }], false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | markPoint : { |
| | | data : [ |
| | | {type : 'max', name: '最大值',symbolSize:70}, |
| | | {type : 'min', name: '最小值',symbolSize:70} |
| | | markPoint: { |
| | | data: [ |
| | | { type: 'max', name: '最大值', symbolSize: 70 }, |
| | | { type: 'min', name: '最小值', symbolSize: 70 } |
| | | ] |
| | | }, |
| | | markLine : { |
| | | data : [ |
| | | {type : 'average', name: '平均值'} |
| | | markLine: { |
| | | data: [ |
| | | { type: 'average', name: '平均值' } |
| | | ] |
| | | } |
| | | }, |
| | | { |
| | | name: '关机时间', |
| | | type: 'bar', |
| | | //barWidth: 30, |
| | | barWidth: 25, |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | // ["#6496e9","#6bded3"], |
| | | ["#849db8","#b4b8cc"], |
| | | // ["#4fe1c5","#4ecee1"], |
| | | // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:"#849db8" |
| | | ['#849db8', '#b4b8cc'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#849db8' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#b4b8cc" |
| | | }],false) |
| | | offset: 1, |
| | | color: '#b4b8cc' |
| | | }], false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | | markPoint : { |
| | | data : [ |
| | | {type : 'max', name: '最大值',symbolSize:70}, |
| | | {type : 'min', name: '最小值',symbolSize:70} |
| | | markPoint: { |
| | | data: [ |
| | | { type: 'max', name: '最大值', symbolSize: 70 }, |
| | | { type: 'min', name: '最小值', symbolSize: 70 } |
| | | ] |
| | | }, |
| | | markLine : { |
| | | data : [ |
| | | {type : 'average', name: '平均值'} |
| | | markLine: { |
| | | data: [ |
| | | { type: 'average', name: '平均值' } |
| | | ] |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | if(this.OpenCloseList != null){ |
| | | this.equipmentList = [] |
| | | this.openRate =[] |
| | | this.utilizationRate =[] |
| | | this.openLong = [] |
| | | this.closeLong = [] |
| | | for(var i = 0;i<this.OpenCloseList.length;i++){ |
| | | this.equipmentList.push(this.OpenCloseList[i].equipmentId) |
| | | this.openRate.push((this.OpenCloseList[i].openRate*100).toFixed(2)) |
| | | // (this.openRate * 100).toFixed(2) |
| | | this.utilizationRate.push((this.OpenCloseList[i].utilizationRate*100).toFixed(2)) |
| | | this.openLong.push(this.OpenCloseList[i].openLong) |
| | | this.closeLong.push(this.OpenCloseList[i].closeLong) |
| | | } |
| | | compAnalBarOption1.xAxis[0].data = this.equipmentList |
| | | compAnalBarOption1.series[0].data = this.openRate |
| | | compAnalBarOption1.series[1].data = this.utilizationRate |
| | | compAnalBarOption2.xAxis[0].data = this.equipmentList |
| | | compAnalBarOption2.series[0].data = this.openLong |
| | | compAnalBarOption2.series[1].data = this.closeLong |
| | | compAnalBar1.setOption(compAnalBarOption1); |
| | | compAnalBar2.setOption(compAnalBarOption2); |
| | | }else{ |
| | | compAnalBar1.setOption(compAnalBarOption1); |
| | | compAnalBar2.setOption(compAnalBarOption2); |
| | | } |
| | | window.addEventListener('resize', function() { |
| | | compAnalBar1.resize() |
| | | compAnalBar2.resize() |
| | | }) |
| | | console.log('dataList', this.dataList) |
| | | if (this.dataList != null) { |
| | | const equipmentList = this.dataList.map(item => item.equipmentId) |
| | | const openRate = this.dataList.map(item => (item.openRate * 100).toFixed(2)) |
| | | const utilizationRate = this.dataList.map(item => (item.utilizationRate * 100).toFixed(2)) |
| | | const openLong = this.dataList.map(item => item.openLong) |
| | | const closeLong = this.dataList.map(item => item.closeLong) |
| | | |
| | | compAnalBarOption1.xAxis[0].data = equipmentList |
| | | compAnalBarOption1.series[0].data = openRate |
| | | compAnalBarOption1.series[1].data = utilizationRate |
| | | |
| | | compAnalBarOption2.xAxis[0].data = equipmentList |
| | | compAnalBarOption2.series[0].data = openLong |
| | | compAnalBarOption2.series[1].data = closeLong |
| | | } |
| | | this.compAnalBar1.setOption(compAnalBarOption1,true) |
| | | this.compAnalBar2.setOption(compAnalBarOption2,true) |
| | | }, |
| | | |
| | | handleWindowResize() { |
| | | this.compAnalBar1.resize() |
| | | this.compAnalBar2.resize() |
| | | } |
| | | } |
| | | } |
| | |
| | | <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 :md="5" :sm="5">--> |
| | | <!--<a-form-item label="名称">--> |
| | | <!--<a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>--> |
| | | <!--</a-form-item>--> |
| | | <!--</a-col>--> |
| | | <a-col :md="5" :sm="5"> |
| | | <a-form-item label="设备"> |
| | | <a-input-search :readOnly="true" v-model="queryParam.equipmentId" @search="deviceSearch" |
| | |
| | | |
| | | <a-col :md="5" :sm="5"> |
| | | <a-form-item label="驱动类型"> |
| | | <!--<j-dict-select-tag placeholder="请选择驱动类型"--> |
| | | <!--:triggerChange="true" dictCode="mdc_driveType"--> |
| | | <!--v-model="queryParam.driveType" allow-clear/>--> |
| | | <a-auto-complete |
| | | v-model="queryParam.driveType" |
| | | :data-source="driveTypeList" |
| | |
| | | </a-col> |
| | | <a-col :md="6" :sm="6" :xs="6"> |
| | | <a-form-item label="时间"> |
| | | <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD"/> |
| | | <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD" :allow-clear="false"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col> |
| | | <a-col :md="5" :sm="5"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
| | | <a-button type="primary" @click="searchReset" icon="reload">重置</a-button> |
| | |
| | | </div> |
| | | <!-- table区域-begin --> |
| | | <div id="DeviceList"> |
| | | <a-tabs :activeKey="activeKey" @change="tabChange" tabPosition="top"> |
| | | <a-tabs> |
| | | <a-tab-pane key="1" tab="图形"> |
| | | <ComparativeAnalysisBar ref="AnalysisBar" :dataList='AnalysisBarList'></ComparativeAnalysisBar> |
| | | </a-tab-pane> |
| | |
| | | |
| | | <script> |
| | | 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 { getAction } from '@/api/manage' |
| | | import ComparativeAnalysisBar from './ComparativeAnalysisBar' |
| | | import ComparativeAnalysisGauge from './ComparativeAnalysisGauge' |
| | | import ComparativeAnalysisPie from './ComparativeAnalysisPie' |
| | | import '@/components/table2excel/table2excel' |
| | | 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' |
| | | import api from '@/api/mdc' |
| | | import SelectDeviceDrawer from '../../../../system/modules/SelectDeviceDrawer.vue' |
| | | |
| | | export default { |
| | | name: 'ComparativeAnalysisMain', |
| | | // mixins: [JeecgListMixin], |
| | | components: { |
| | | Tooltip, |
| | | ComparativeAnalysisBar, |
| | | ComparativeAnalysisGauge, |
| | | ComparativeAnalysisPie, |
| | | JDictSelectTag, |
| | | JInput, |
| | | JDate, |
| | | JEllipsis, |
| | | SelectDeviceDrawer |
| | | }, |
| | | props: { nodeTree: '', Type: '', nodePeople: '' }, |
| | | data() { |
| | | return { |
| | | activeKey: '1', |
| | | typeTree: '', |
| | | typeParent: 1, |
| | | typeEquipment: 1, |
| | |
| | | AnalysisGauge: [], |
| | | AnalysisPie: [], |
| | | dates: [], |
| | | xianshi: '', |
| | | readOnly: true, |
| | | queryParam: { |
| | | equipmentId: '' |
| | | }, |
| | | queryParams: {}, |
| | | queryParamEquip: {}, |
| | | queryParamPeople: {}, |
| | | dataStartsoucre: [], |
| | | url: { |
| | | comparativeAnalysis: '/mdc/efficiencyReport/comparativeAnalysis' |
| | | }, |
| | |
| | | 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.$set(this.queryParam, 'tierName', val.title) |
| | | this.queryParamEquip.parentId = '' |
| | | // this.queryParams.equipmentId = val.equipmentId |
| | | this.queryParam.equipmentId = val.equipmentId |
| | | this.queryParamEquip.equipmentId = val.equipmentId |
| | | } else { |
| | | // this.$set(this.queryParam, 'tierName', val.title) |
| | | this.queryParamEquip.parentId = val.key |
| | | this.queryParam.equipmentId = '' |
| | | this.queryParams.equipmentId = '' |
| | | } |
| | | this.searchQuery() |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | tabChange(val) { |
| | | this.activeKey = val |
| | | }, |
| | | dateParamChange(v1, v2) { |
| | | // console.log(v1,v2) |
| | | this.queryParam.startTime = v2[0] |
| | | this.queryParam.endTime = v2[1] |
| | | console.log(v2[0], v2[1]) |
| | | }, |
| | | |
| | | loadAnalysis() { |
| | | getAction(this.url.comparativeAnalysis, this.queryParam).then(res => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | | this.AnalysisBarList = res.result.graphics |
| | | this.AnalysisGauge = res.result.meters |
| | | this.AnalysisPie.push(res.result.pieCharts) |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | searchQuery() { |
| | | if (this.dates && this.dates.length > 0) { |
| | | this.AnalysisList = [] |
| | | this.AnalysisBarList = [] |
| | | this.AnalysisGauge = [] |
| | | this.AnalysisPie = [] |
| | | if (this.queryParams.typeTree == '1') { |
| | | this.queryParams.parentId = this.queryParamEquip.parentId |
| | | // this.queryParams.equipmentId = this.queryParamEquip.equipmentId |
| | | } else { |
| | | this.queryParams.parentId = this.queryParamEquip.parentId |
| | | // this.queryParams.equipmentId = "" |
| | | } |
| | | this.AnalysisList = [] |
| | | //获取查询条件 |
| | | this.queryParam.parentId = this.queryParams.parentId |
| | | // this.queryParam.equipmentId = this.queryParams.equipmentId |
| | | this.queryParam.typeTree = this.queryParams.typeTree |
| | | getAction(this.url.comparativeAnalysis, this.queryParam).then((res) => { |
| | | getAction(this.url.comparativeAnalysis, this.queryParam) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | | this.AnalysisBarList = res.result.graphics |
| | | this.AnalysisGauge = res.result.meters |
| | | this.AnalysisPie.push(res.result.pieCharts) |
| | | } else { |
| | | // this.$message.warning(res.message) |
| | | this.$notification.warning({ |
| | | message: '消息', |
| | | description: res.message |
| | | }) |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false |
| | | }) |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: '提示', |
| | | description: '请选择时间' |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | |
| | | searchQuery() { |
| | | this.AnalysisList = [] |
| | | this.AnalysisBarList = [] |
| | | this.AnalysisGauge = [] |
| | | this.AnalysisPie = [] |
| | | if (this.queryParams.typeTree == '1') { |
| | | this.queryParams.parentId = this.queryParamEquip.parentId |
| | | // this.queryParams.equipmentId = this.queryParamEquip.equipmentId |
| | | } else { |
| | | this.queryParams.parentId = this.queryParamEquip.parentId |
| | | // this.queryParams.equipmentId = "" |
| | | } |
| | | this.AnalysisList = [] |
| | | //获取查询条件 |
| | | this.queryParam.parentId = this.queryParams.parentId |
| | | // this.queryParam.equipmentId = this.queryParams.equipmentId |
| | | this.queryParam.typeTree = this.queryParams.typeTree |
| | | getAction(this.url.comparativeAnalysis, this.queryParam).then((res) => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | | this.AnalysisBarList = res.result.graphics |
| | | this.AnalysisGauge = res.result.meters |
| | | this.AnalysisPie.push(res.result.pieCharts) |
| | | } else { |
| | | // this.$message.warning(res.message) |
| | | this.$notification.warning({ |
| | | message: '消息', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | searchReset() { |
| | | this.AnalysisList = [] |
| | | this.AnalysisBarList = [] |
| | |
| | | this.typeEquipment = this.queryParams.equipmentId |
| | | this.queryParams = {} |
| | | this.queryParam = {} |
| | | this.dates = [] |
| | | this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)] |
| | | this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD') |
| | | this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD') |
| | | this.queryParams.typeTree = this.typeTree |
| | | this.queryParams.parentId = this.typeParent |
| | | if (this.queryParams.parentId != '') { |
| | |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * 调用接口获取控制系统类型 |
| | | */ |
| | |
| | | this.driveTypeList = res.result.map(item => item.value) |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 联想输入框筛选功能 |
| | | * @param input 输入的内容 |
| | |
| | | option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 |
| | | ) |
| | | }, |
| | | // onChange(value, dateString) { |
| | | // // console.log('Selected Time: ', value); |
| | | // // console.log('Formatted Selected Time: ', dateString); |
| | | // }, |
| | | // 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("请设置url.list属性!") |
| | | // return |
| | | // } |
| | | // var params = {} |
| | | // 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; |
| | | // }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 param = {} |
| | | // param.parentId = this.queryParams.parentId; |
| | | // param.equipmentId = this.queryParams.equipmentId; |
| | | // param.startTime = this.queryParam.startTime; |
| | | // param.driveType = this.queryParam.driveType; |
| | | // param.endTime = this.queryParam.endTime; |
| | | // getAction(this.url.list,param).then((res) => { |
| | | // if(res.success){ |
| | | // this.dataSource = res.result.records||res.result; |
| | | // }else{ |
| | | // this.$message.warning(res.message) |
| | | // } |
| | | // }).finally(() => { |
| | | // this.loading = false |
| | | // }) |
| | | // }, |
| | | // loadData() { |
| | | // if(!this.url.list){ |
| | | // this.$message.error("请设置url.list属性!") |
| | | // return |
| | | // } |
| | | // //加载数据 若传入参数1则加载第一页的内容 |
| | | // var params = {} |
| | | // this.loading = true; |
| | | // params.startTime = this.queryParam.startTime; |
| | | // params.endTime = this.queryParam.endTime; |
| | | // params.typeTree = this.queryParams.typeTree |
| | | // getAction(this.url.list, params).then((res) => { |
| | | // if (res.success) { |
| | | // this.dataSource = res.result.records||res.result; |
| | | // }else{ |
| | | // this.$message.warning(res.message) |
| | | // } |
| | | // }).finally(() => { |
| | | // this.loading = false |
| | | // }) |
| | | // }, |
| | | |
| | | deviceSearch() { |
| | | console.log('触发') |
| | | this.$refs.selectDeviceDrawer.visible = true |
| | | this.$refs.selectDeviceDrawer.selectedRowKeys = [] |
| | | this.$refs.selectDeviceDrawer.selectedRows = [] |
| | |
| | | * @param data 已选择的设备 |
| | | */ |
| | | selectOK(data) { |
| | | // let params = {} |
| | | // params.equipmentIdList = [] |
| | | // for (var a = 0; a < data.length; a++) { |
| | | // params.equipmentIdList.push(data[a]) |
| | | // } |
| | | console.log('data=', data) |
| | | this.queryParam.equipmentId = data.join(',') |
| | | console.log('queryParam', this.queryParam.equipmentId) |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | /*@import '~@assets/less/common.less';*/ |
| | | |
| | | @media screen and (min-width: 1920px) { |
| | | .device_list { |
| | | height: 811px !important; |
| | |
| | | } |
| | | } |
| | | |
| | | /*.device_list{*/ |
| | | /*display: flex;*/ |
| | | /*}*/ |
| | | /*.device_list .table-page-search-wrapper{*/ |
| | | /**/ |
| | | /*}*/ |
| | | /deep/ .ant-card-body { |
| | | height: 100% !important; |
| | | } |
| | |
| | | import { filterObj } from '@/utils/util' |
| | | import { putAction, getAction } from '@/api/manage' |
| | | import DeviceCalendarModel from './DeviceCalendarModel' |
| | | import DeviceCalendarAdd from './DeviceCalendarAdd' |
| | | import DeviceCalendarListModel from './DeviceCalendarListModel' |
| | | import { |
| | | JeecgListMixin |
| | | } from '@/mixins/JeecgListMixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | |
| | | export default { |
| | | name: 'DeviceCalendarList', |
| | | components: { DeviceCalendarModel, DeviceCalendarAdd, DeviceCalendarListModel }, |
| | | components: { DeviceCalendarModel }, |
| | | mixins: [JeecgListMixin], |
| | | data() { |
| | | return { |
| | |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName', |
| | | width: 150 |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | | <a-form-item label="设备名称"> |
| | | <a-input placeholder="输入设备名称查询" v-model="queryParams.equipmentName"></a-input> |
| | | <a-form-item label="安装位置"> |
| | | <a-input placeholder="输入安装位置查询" v-model="queryParams.equipmentName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="2" :sm="2" :xs="2"> |
| | |
| | | <a-form :form="form"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <!--<a-form-item label="设备编号" :labelCol="labelCol" :wrapperCol="wrapperCol">--> |
| | | <!--<a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]"--> |
| | | <!--@search="deviceSearch" enter-button/>--> |
| | | <!--<!–<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"–>--> |
| | | <!--<!–v-decorator="['equipmentId',validatorRules.equipmentId]"/>–>--> |
| | | <!--</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-form-item label="设备组" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> |
| | | <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]" |
| | | @search="deviceSearch" enter-button placeholder="请选择设备"/> |
| | | <!--<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"--> |
| | | <!--v-decorator="['equipmentId',validatorRules.equipmentId]"/>--> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <!--<a-row :gutter="24">--> |
| | | <!--<a-col :span="12">--> |
| | | <!--<a-form-item v-show="this.mesag == 1" label="维修类型" :labelCol="labelCol" :wrapperCol="wrapperCol">--> |
| | | <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" placeholder="请选择设备类型"--> |
| | | <!--:triggerChange="true"--> |
| | | <!--v-decorator="['mdcRepairType', validatorRules.mdcRepairType]"/>--> |
| | | <!--</a-form-item>--> |
| | | <!--</a-col>--> |
| | | <!--</a-row>--> |
| | | </a-form> |
| | | </a-spin> |
| | | <select-device-drawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'选择设备'"/> |
| | |
| | | <a-form :form="form"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <!--<a-form-item label="设备编号" :labelCol="labelCol" :wrapperCol="wrapperCol">--> |
| | | <!--<a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]"--> |
| | | <!--@search="deviceSearch" enter-button/>--> |
| | | <!--<!–<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"–>--> |
| | | <!--<!–v-decorator="['equipmentId',validatorRules.equipmentId]"/>–>--> |
| | | <!--</a-form-item>--> |
| | | <a-form-item label="设备组" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> |
| | | <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]" |
| | | @search="deviceSearch" enter-button/> |
| | | <!--<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"--> |
| | | <!--v-decorator="['equipmentId',validatorRules.equipmentId]"/>--> |
| | | </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="24">--> |
| | | <!--<a-form-item label="设备名称" :labelCol="labelColLong" :wrapperCol="wrapperColLong">--> |
| | | <!--<a-input :readOnly="true" v-decorator="['equipmentName', validatorRules.equipmentName]"--> |
| | | <!--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"> |
| | |
| | | <th class="thgu dong2 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">车间</th> |
| | | <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">工段</th> |
| | | <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备编号</th> |
| | | <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">设备名称</th> |
| | | <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">安装位置</th> |
| | | <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备类型</th> |
| | | <!--<th rowspan="2">组别</th>--> |
| | | <template v-for="(tableHead, index) in tableHeads"> |
| | |
| | | <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">工段</th> |
| | | <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备编号 |
| | | </th> |
| | | <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">设备名称 |
| | | <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">安装位置 |
| | | </th> |
| | | <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备类型 |
| | | </th> |
| | |
| | | <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">工段</th> |
| | | <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备编号 |
| | | </th> |
| | | <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">设备名称 |
| | | <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">安装位置 |
| | | </th> |
| | | <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备类型 |
| | | </th> |
| | |
| | | <a-row :gutter="24"> |
| | | <a-col :md="8" :sm="8"> |
| | | <a-form-item label="车间名称" :labelCol="{ span: 5 }" :wrapperCol="{ span: 19}"> |
| | | <a-input placeholder="" v-model="queryParam.workshopName"></a-input> |
| | | <a-input placeholder="请输入车间名称" v-model="queryParam.workshopName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <span style="float: left; overflow: hidden" class="table-page-search-submitButtons"> |
| | |
| | | <a-row :gutter="24"> |
| | | <a-col :md="12" :sm="12"> |
| | | <a-form-item label="统一编码"> |
| | | <a-input placeholder="" v-model="queryParam2.equipmentId"></a-input> |
| | | <a-input placeholder="请输入统一编码" v-model="queryParam2.equipmentId"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <span style="float: left; overflow: hidden" class="table-page-search-submitButtons"> |
| | |
| | | width: 120, |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: 'center', |
| | | width: 100, |
| | | dataIndex: 'equipmentName', |
| | |
| | | // sorter: true |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | title: '安装位置', |
| | | align: "center", |
| | | width: 150, |
| | | dataIndex: 'equipmentName', |