|
|
@@ -1,196 +1,110 @@
|
|
|
-<!-- 搜索表单 -->
|
|
|
<template>
|
|
|
- <el-form
|
|
|
- label-width="77px"
|
|
|
- class="ele-form-search"
|
|
|
- @keyup.enter.native="search"
|
|
|
- @submit.native.prevent
|
|
|
- >
|
|
|
- <el-row type="flex" :gutter="15">
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="编码:" label-width="100px">
|
|
|
- <el-input clearable v-model="where.code" placeholder="请输入" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="名称:" label-width="100px">
|
|
|
- <el-input clearable v-model="where.name" placeholder="请输入" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="固资编码:" label-width="100px">
|
|
|
- <el-input clearable v-model="where.fixCode" placeholder="请输入" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="使用单位:" label-width="100px">
|
|
|
- <DeptSelect v-model="where.postId" @input="selectChange" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row type="flex" :gutter="15">
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="型号:" label-width="100px">
|
|
|
- <el-input clearable v-model="where.module" placeholder="请输入" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="编号:" label-width="100px">
|
|
|
- <el-input clearable v-model="where.codeNumber" placeholder="请输入" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="网络状态:" label-width="100px">
|
|
|
- <DictSelection
|
|
|
- dictName="网络状态"
|
|
|
- clearable
|
|
|
- v-model="where.networkStatus"
|
|
|
- >
|
|
|
- </DictSelection>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="生命周期:" label-width="100px">
|
|
|
- <!-- <DictSelection
|
|
|
- dictName="生命周期"
|
|
|
- clearable
|
|
|
- v-model="where.lifeCycle"
|
|
|
- >
|
|
|
- </DictSelection> -->
|
|
|
- <el-select v-model="where.lifeCycle" size="small" style="width: 100%">
|
|
|
- <el-option
|
|
|
- v-for="item in sourceStatus"
|
|
|
- :value="item.code"
|
|
|
- :label="item.label"
|
|
|
- :key="item.code"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" :gutter="15">
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="有效期结束" label-width="100px">
|
|
|
- <el-date-picker
|
|
|
- style="width: 100%"
|
|
|
- v-model="where.endTime"
|
|
|
- value-format="yyyy-MM"
|
|
|
- type="month"
|
|
|
- placeholder="选择有效期结束时间"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="状态" label-width="100px">
|
|
|
- <el-select v-model="where.status" size="small" style="width: 100%">
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in businessStatus"
|
|
|
- :value="item.code"
|
|
|
- :key="item.code"
|
|
|
- :label="item.label"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="级别" label-width="100px">
|
|
|
- <el-select v-model="where.level" size="small" style="width: 100%">
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in assetLevel"
|
|
|
- :value="item.id"
|
|
|
- :key="item.code"
|
|
|
- :label="item.name"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="组织机构:" label-width="100px">
|
|
|
- <auth-selection data-type="Array" v-model="where.deptIds" style="width: 100%"></auth-selection>
|
|
|
- </el-form-item>
|
|
|
- </el-col> -->
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" :gutter="15">
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 24, md: 24 } : { span: 24 }">
|
|
|
- <div class="ele-form-actions">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-search"
|
|
|
- class="ele-btn-icon"
|
|
|
- @click="search"
|
|
|
- size="small"
|
|
|
- >
|
|
|
- 查询
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- @click="reset"
|
|
|
- icon="el-icon-refresh-left"
|
|
|
- size="small"
|
|
|
- type="primary"
|
|
|
- >重置</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <!-- <el-row type="flex">
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 24, md: 24 } : { span: 24 }">
|
|
|
- <div class="ele-status">
|
|
|
- <el-checkbox v-model="consumption">显示已消耗</el-checkbox>
|
|
|
- <span class="op"
|
|
|
- >在线:<span>{{ networkCounts.online }}</span></span
|
|
|
- >
|
|
|
- <span class="op"
|
|
|
- >离线:<span>{{ networkCounts.offline }}</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row> -->
|
|
|
- </el-form>
|
|
|
+ <seek-page
|
|
|
+ :seekList="seekList"
|
|
|
+ @search="handleSearch"
|
|
|
+ @reset="handleReset"
|
|
|
+ :formLength="3"
|
|
|
+ />
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { getByCode } from '@/api/system/dictionary-data';
|
|
|
import { businessStatus, sourceStatus } from '@/utils/dict/warehouse';
|
|
|
- import DeptSelect from '@/components/CommomSelect/dept-select.vue';
|
|
|
+
|
|
|
export default {
|
|
|
props: ['networkCounts'],
|
|
|
data() {
|
|
|
- // 默认表单数据
|
|
|
- const defaultWhere = {
|
|
|
- name: '',
|
|
|
- code: '',
|
|
|
- endTime: '',
|
|
|
- networkStatus: '',
|
|
|
- status: '',
|
|
|
- fixCode: '',
|
|
|
- lifeCycle: '',
|
|
|
- module: '',
|
|
|
- space: '',
|
|
|
- postId: ''
|
|
|
- };
|
|
|
return {
|
|
|
assetLevel: [],
|
|
|
businessStatus,
|
|
|
sourceStatus: Object.keys(sourceStatus).map((key) => {
|
|
|
return {
|
|
|
- code: key,
|
|
|
+ value: key,
|
|
|
label: sourceStatus[key]
|
|
|
};
|
|
|
}),
|
|
|
- // 表单数据
|
|
|
- where: { ...defaultWhere },
|
|
|
consumption: false
|
|
|
};
|
|
|
},
|
|
|
- components: {
|
|
|
- DeptSelect
|
|
|
- },
|
|
|
computed: {
|
|
|
- // 是否开启响应式布局
|
|
|
- styleResponsive() {
|
|
|
- return this.$store.state.theme.styleResponsive;
|
|
|
+ seekList() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ label: '编码',
|
|
|
+ value: 'code',
|
|
|
+ type: 'input',
|
|
|
+ placeholder: '请输入'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '名称',
|
|
|
+ value: 'name',
|
|
|
+ type: 'input',
|
|
|
+ placeholder: '请输入'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '使用单位',
|
|
|
+ value: 'postId',
|
|
|
+ type: 'DeptSelect',
|
|
|
+ placeholder: '请选择'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '固资编码',
|
|
|
+ value: 'fixCode',
|
|
|
+ type: 'input',
|
|
|
+ placeholder: '请输入'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '型号',
|
|
|
+ value: 'module',
|
|
|
+ type: 'input',
|
|
|
+ placeholder: '请输入'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '编号',
|
|
|
+ value: 'codeNumber',
|
|
|
+ type: 'input',
|
|
|
+ placeholder: '请输入'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '网络状态',
|
|
|
+ value: 'networkStatus',
|
|
|
+ type: 'DictSelection',
|
|
|
+ dictName: '网络状态',
|
|
|
+ placeholder: '请选择'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '生命周期',
|
|
|
+ value: 'lifeCycle',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '请选择',
|
|
|
+ selectList: this.sourceStatus
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '有效期结束',
|
|
|
+ value: 'endTime',
|
|
|
+ type: 'date',
|
|
|
+ valueFormat: 'yyyy-MM',
|
|
|
+ dateType: 'month',
|
|
|
+ placeholder: '选择有效期结束时间'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '状态',
|
|
|
+ value: 'status',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '请选择',
|
|
|
+ selectList: this.businessStatus.map((item) => ({
|
|
|
+ value: item.code,
|
|
|
+ label: item.label
|
|
|
+ }))
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '级别',
|
|
|
+ value: 'level',
|
|
|
+ type: 'select',
|
|
|
+ placeholder: '请选择',
|
|
|
+ selectList: this.assetLevel
|
|
|
+ }
|
|
|
+ ];
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
@@ -204,48 +118,22 @@
|
|
|
data.length > 0
|
|
|
? data.map((item) => {
|
|
|
return {
|
|
|
- name: Object.keys(item)[0],
|
|
|
- id: item[Object.keys(item)[0]]
|
|
|
+ label: Object.keys(item)[0],
|
|
|
+ value: item[Object.keys(item)[0]]
|
|
|
};
|
|
|
})
|
|
|
: [];
|
|
|
},
|
|
|
- /* 清空 */
|
|
|
- selectChange(value) {
|
|
|
- if (!value) {
|
|
|
- this.where.postId = '';
|
|
|
- }
|
|
|
- },
|
|
|
+
|
|
|
/* 搜索 */
|
|
|
- search() {
|
|
|
- // if (!this.where.endTime) {
|
|
|
- // this.where.endTime = '';
|
|
|
- // }
|
|
|
- this.$emit('search', this.where);
|
|
|
+ handleSearch(where) {
|
|
|
+ this.$emit('search', where);
|
|
|
},
|
|
|
- /* 重置 */
|
|
|
- reset() {
|
|
|
- this.where = { ...this.defaultWhere };
|
|
|
- this.search();
|
|
|
+
|
|
|
+ /* 重置 */
|
|
|
+ handleReset() {
|
|
|
+ this.$emit('reset');
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-
|
|
|
-<style lang="scss" scoped>
|
|
|
- .ele-form-actions {
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
- .ele-status {
|
|
|
- display: flex;
|
|
|
- align-content: center;
|
|
|
- justify-content: flex-end;
|
|
|
- padding: 0 10px 10px 10px;
|
|
|
- .op {
|
|
|
- margin-left: 20px;
|
|
|
- span {
|
|
|
- color: #0000ff;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-</style>
|