From abb72ed0fc3358620960329f6bd10c8a012a71e9 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期五, 29 十二月 2023 15:02:47 +0800 Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/vue_mdc_430 into develop --- src/views/eam/modules/equipmentNew/edit/EquipmentSelectModel.vue | 320 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 320 insertions(+), 0 deletions(-) diff --git a/src/views/eam/modules/equipmentNew/edit/EquipmentSelectModel.vue b/src/views/eam/modules/equipmentNew/edit/EquipmentSelectModel.vue new file mode 100644 index 0000000..a84798f --- /dev/null +++ b/src/views/eam/modules/equipmentNew/edit/EquipmentSelectModel.vue @@ -0,0 +1,320 @@ +<template> + <!--鏀寔鍏ㄥ睆缂╂斁--> + <a-modal + :visible="visible" + :title="title" + switchFullscreen + @ok="handleSubmit" + @cancel="close" + style="top:50px" + cancelText="鍏抽棴" + :width="1400" + > + <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="8" + :sm="6" + > + <a-form-item label="缁熶竴缂栫爜"> + <a-input + placeholder="璇疯緭鍏ョ粺涓�缂栫爜" + v-model="queryParam.num" + /> + </a-form-item> + </a-col> + <a-col + :md="8" + :sm="6" + > + <a-form-item label="璁惧鍚嶇О"> + <a-input + placeholder="璁惧鍚嶇О" + v-model="queryParam.name" + /> + </a-form-item> + </a-col> + <a-col + :md="8" + :sm="6" + > + <a-form-item + label="缁熶竴缂栧彿缇�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-textarea + placeholder="璇疯緭鍏ユ墍鏈夌粺涓�缂栫爜,椤荤敤鎹㈣闅斿紑,鍚﹀垯鍙兘鏌ヨ鍑洪敊璇俊鎭�" + v-model="queryParam.nums" + :auto-size="{ minRows: 2, maxRows:2 }" + ></a-textarea> + </a-form-item> + </a-col> + <a-col :md="3"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + style="margin-left: 10px" + >閲嶇疆</a-button> + </span> + </a-col> + </a-row> + </a-form> + </div> + <a-table + ref="table" + :scroll="scrollTrigger" + size="middle" + rowKey="id" + bordered + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :rowSelection="rowSelection" + :loading="loading" + @change="handleTableChange" + > + <template slot="equipmentPhoto" 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> + </a-table> + </a-card> + </a-modal> +</template> + +<script> +import { filterObj } from '@/utils/util' +import { getAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' + +export default { + name: 'EquipmentSelectModel', + mixins: [JeecgListMixin], + components: {}, + props: {}, + data() { + return { + queryParam: {}, + columns: [ + { + title: '#', + dataIndex: 'id', + key: 'rowIndex', + width: 50, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + } + }, + { + title: '缁熶竴缂栫爜', + align: 'center', + dataIndex: 'num', + width:200 + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'name', + width:200 + }, + { + title: '璁惧鍨嬪彿', + align: 'center', + dataIndex: 'model', + width:200 + }, + { + title: '璁惧瑙勬牸', + align: 'center', + dataIndex: 'specification', + width:200 + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + width:100 + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + width:100 + }, + { + title: '璁惧鐘舵��', + align: 'center', + dataIndex: 'equipmentStatus_dictText', + width:100 + }, + { + title: '鎶�鏈姸鎬�', + align: 'center', + dataIndex: 'technologyStatus_dictText', + width:100 + }, + ], + selectedRowKeys: [], + oldSelectRows: [], + scrollTrigger: {}, + dataSource: [], + selectionRows: [], + title: '閫夋嫨璁惧', + ipagination: { + current: 1, + pageSize: 10, + pageSizeOptions: ['5', '10', '30', '50', '100'], + showTotal: (total, range) => { + return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + isorter: { + column: 'num', + order: 'desc' + }, + visible: false, + loading: false, + url: { + list: '/eam/equipment/getEquipmentList' + } + } + }, + computed: { + rowSelection() { + return { + type: 'checkbox', + onChange: (selectedRowKeys, selectedRows) => { + this.selectedRowKeys = selectedRowKeys + this.onSelectChange(selectedRows) + }, + getCheckboxProps: record => ({ + props: { + disabled: record.distable + } + }), + selectedRowKeys: this.selectedRowKeys + } + } + }, + + methods: { + + async loadData(arg) { + if (arg === 1) { + this.ipagination.current = 1 + } + let that = this + this.loading = true + this.queryParam.equipmentImportanceId = 'A'; + let params = this.getQueryParams()//鏌ヨ鏉′欢 + // params.equipmentStatus = '1' + await getAction(this.url.list, params).then((res) => { + if (res.success) { + for (let i = 0; i < res.result.records.length; i++) { + if (that.oldSelectRows.indexOf(res.result.records[i].id) > -1) { + res.result.records[i].distable = true + } else { + res.result.records[i].distable = false + } + } + this.dataSource = res.result.records + this.ipagination.total = res.result.total + } + if (res.code === 510) { + this.$message.warning(res.message) + } + this.loading = false + }) + }, + + showModals(oldSelectRows) { + this.oldSelectRows = oldSelectRows + this.visible = true + this.loadData(1) + }, + getQueryParams() { + let param = Object.assign({}, this.queryParam, this.isorter) + param.field = this.getQueryField() + param.pageNo = this.ipagination.current + param.pageSize = this.ipagination.pageSize + return filterObj(param) + }, + //鏌ヨ鏉′欢澶勭悊 + getQueryField() { + let str = 'id,' + for (let a = 0; a < this.columns.length; a++) { + str += ',' + this.columns[a].dataIndex + } + return str + }, + searchReset(num) { + let that = this + this.queryParam = [] + if (num !== 0) { + that.loadData(1) + } + that.selectborrowIds = [] + }, + close() { + this.searchReset(0) + this.selectedRowKeys = [] + this.visible = false + }, + handleTableChange(pagination, filters, sorter) { + //TODO 绛涢�� + + if (Object.keys(sorter).length > 0) { + this.isorter.column = sorter.field + this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc' + } + this.ipagination = pagination + this.loadData() + }, + handleSubmit() { + this.$emit('selectionRows', this.selectionRows) + this.searchReset(0) + this.close() + }, + onSelectChange(selectionRows) { + this.selectionRows = selectionRows + }, + searchQuery() { + this.loadData(1) + } + } +} +</script> + +<style scoped> +.ant-table-tbody .ant-table-row td { + padding-top: 10px; + padding-bottom: 10px; +} + +#components-layout-demo-custom-trigger .trigger { + font-size: 18px; + line-height: 64px; + padding: 0 24px; + cursor: pointer; + transition: color 0.3s; +} +</style> \ No newline at end of file -- Gitblit v1.9.3