From 1308d4d7a162d3cabd0fe4f639b6d7f5dd376584 Mon Sep 17 00:00:00 2001 From: wyg <wu1555611@163.com> Date: 星期二, 18 六月 2024 09:30:18 +0800 Subject: [PATCH] '基础数据仓库初次提交' --- src/views/basicData/locationGroup/index.vue | 592 ++++++++++++++++++++-------------------------------------- 1 files changed, 205 insertions(+), 387 deletions(-) diff --git a/src/views/basicData/locationGroup/index.vue b/src/views/basicData/locationGroup/index.vue index d8ee741..c160371 100644 --- a/src/views/basicData/locationGroup/index.vue +++ b/src/views/basicData/locationGroup/index.vue @@ -1,410 +1,228 @@ <template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="搴撲綅缁勭紪鍙�" prop="locationGroupNo"> - <el-input - v-model="queryParams.locationGroupNo" - placeholder="璇疯緭鍏ュ簱浣嶇粍缂栧彿" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="搴撲綅缁勫悕绉�" prop="locationGroupName"> - <el-input - v-model="queryParams.locationGroupName" - placeholder="璇疯緭鍏ュ簱浣嶇粍鍚嶇О" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="浠撳簱缂栧彿" prop="lgort"> - <el-input - v-model="queryParams.lgort" - placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:locationGroup:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:locationGroup:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:locationGroup:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:locationGroup:export']" - >瀵煎嚭</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" border :data="locationGroupList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column - label="搴忓彿" - type="index" - fixed - width="50" /> - <!-- <el-table-column label="搴撲綅缁処D" align="center" prop="locationGroupId" v-if="true"/> --> - <el-table-column label="搴撲綅缁勭紪鍙�" align="center" prop="locationGroupNo" /> - <el-table-column label="宸ュ巶" align="center" prop="werks" /> - <el-table-column label="搴撲綅缁勫悕绉�" align="center" prop="locationGroupName" /> - <el-table-column label="浠撳簱缂栧彿" align="center" prop="lgort" /> - <el-table-column label="鎻忚堪" align="center" prop="description" /> - <el-table-column label="鐘舵��" align="center" prop="state" /> - <el-table-column label="瀹℃牳鐘舵��" align="center" prop="auditState" /> - <el-table-column label="瀹℃牳浜篒D" align="center" prop="auditUserId" /> - <el-table-column label="瀹℃牳浜哄鍚�" align="center" prop="auditUserName" /> - <el-table-column label="瀹℃牳鏃ユ湡鏃堕棿" align="center" prop="auditDateTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.auditDateTime, '{y}-{m}-{d}') }}</span> + <el-main class="contbox" ref="contBox"> + <div class="head" ref="headBox"> + <BaseSearch + @getList="getList" + :formItemList="searchFormSchema" + @search="getList" + @showSearchChange="getElHeight(28)" + > + <template #actionButton> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['iqc_checkItem_create']" + >鏂板</el-button + > + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + @click="handleUpdate" + v-hasPermi="['iqc_checkItem_edit']" + >淇敼</el-button + > + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + @click="handleDelete" + v-hasPermi="['iqc_checkItem_delete']" + >鍒犻櫎</el-button + > + </el-col> </template> - </el-table-column> - <el-table-column label="瀹℃牳鎰忚" align="center" prop="auditOpinion" /> - <el-table-column label="鏈�鍚庢洿鏂颁汉id" align="center" prop="lastUpdatedUserId" /> - <el-table-column label="鏈�鍚庢洿鏂颁汉濮撳悕" align="center" prop="lastUpdatedUserName" /> - <el-table-column label="鏈�鍚庢洿鏂版椂闂�" align="center" prop="lastUpdatedDateTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.lastUpdatedDateTime, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:locationGroup:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:locationGroup:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰簱浣嶇粍瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="搴撲綅缁勭紪鍙�" prop="locationGroupNo"> - <el-input v-model="form.locationGroupNo" placeholder="璇疯緭鍏ュ簱浣嶇粍缂栧彿" /> - </el-form-item> - <el-form-item label="宸ュ巶" prop="werks"> - <el-input v-model="form.werks" placeholder="璇疯緭鍏ュ伐鍘�" /> - </el-form-item> - <el-form-item label="搴撲綅缁勫悕绉�" prop="locationGroupName"> - <el-input v-model="form.locationGroupName" placeholder="璇疯緭鍏ュ簱浣嶇粍鍚嶇О" /> - </el-form-item> - <el-form-item label="浠撳簱缂栧彿" prop="lgort"> - <el-input v-model="form.lgort" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" /> - </el-form-item> - <el-form-item label="鎻忚堪" prop="description"> - <el-input v-model="form.description" placeholder="璇疯緭鍏ユ弿杩�" /> - </el-form-item> - <el-form-item label="鐘舵��" prop="state"> - <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" /> - </el-form-item> - <!-- <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId"> - <el-input v-model="form.lastUpdatedUserId" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉id" /> - </el-form-item> - <el-form-item label="鏈�鍚庢洿鏂颁汉濮撳悕" prop="lastUpdatedUserName"> - <el-input v-model="form.lastUpdatedUserName" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉濮撳悕" /> - </el-form-item> - <el-form-item label="鏈�鍚庢洿鏂版椂闂�" prop="lastUpdatedDateTime"> - <el-date-picker clearable - v-model="form.lastUpdatedDateTime" - type="datetime" - value-format="yyyy-MM-dd HH:mm:ss" - placeholder="璇烽�夋嫨鏈�鍚庢洿鏂版椂闂�"> - </el-date-picker> - </el-form-item> --> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> + </BaseSearch> + </div> + <TableCom + :column="tabiInfo.columns" + :table-data="tabiInfo.tableData" + :table-loading="tabiInfo.tableLoading" + :isSelection="tabiInfo.isSelection" + :height="elementHeight" + rowKey="locationGroupId" + ref="tabel" + @checkData="checkData" + @checkLook="checkInfo" + > + <template slot="checkType" slot-scope="scope"> + <dict-tag + :options="dict.type.check_type" + :value="scope.row.checkType" + /> + </template> + <template slot="isAutoCheck" slot-scope="scope"> + <dict-tag + :options="dict.type.is_auto_check" + :value="scope.row.isAutoCheck" + /> + </template> + <template slot="isRequired" slot-scope="scope"> + <dict-tag + :options="dict.type.is_required" + :value="scope.row.isRequired" + /> + </template> + <template slot="auditState" slot-scope="scope"> + <dict-tag :options="dict.type.audit_status" :value="scope.row.auditState" /> + </template> + <template slot="status" slot-scope="scope"> + <dict-tag :options="dict.type.status" :value="scope.row.status" /> + </template> + </TableCom> + <div class="pagination" ref="pagination"> + <pagination + v-show="pageInfo.pageTotal > 0" + :total="pageInfo.pageTotal" + :page.sync="pageInfo.currentPage" + :limit.sync="pageInfo.pageSize" + @pagination="getList" + /> + </div> + <AddaddModal ref="addaddModal" @getList="getList" /> + </el-main> </template> <script> -import { listLocationGroup, getLocationGroup, delLocationGroup, addLocationGroup, updateLocationGroup } from "@/api/basicData/locationGroup"; +import TableCom from "@/components/Table/index"; +import BaseSearch from "@/components/Table/BaseSearch"; + +import { columns, searchFormSchema } from "./info.data"; +import mixin from "@/components/Table/mixins/resize"; + +import { listLocationGroup, delLocationGroup } from "@/api/basicData/locationGroup"; +import AddaddModal from "./addModal"; export default { name: "LocationGroup", + components: { TableCom, BaseSearch, AddaddModal }, + mixins: [mixin], + dicts: ["audit_status", "status"], data() { return { - // 鎸夐挳loading - buttonLoading: false, - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 搴撲綅缁勮〃鏍兼暟鎹� - locationGroupList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - locationGroupNo: undefined, - locationGroupName: undefined, - lgort: undefined, + searchFormSchema: searchFormSchema, + tabiInfo: { + columns: columns, + tableData: [], + tableLoading: false, + isSelection: true, + rowClassName: "rowClassName", }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - locationGroupId: [ - { required: true, message: "搴撲綅缁処D涓嶈兘涓虹┖", trigger: "blur" } - ], - locationGroupNo: [ - { required: true, message: "搴撲綅缁勭紪鍙蜂笉鑳戒负绌�", trigger: "blur" } - ], - werks: [ - { required: true, message: "宸ュ巶涓嶈兘涓虹┖", trigger: "blur" } - ], - locationGroupName: [ - { required: true, message: "搴撲綅缁勫悕绉颁笉鑳戒负绌�", trigger: "blur" } - ], - lgort: [ - { required: true, message: "浠撳簱缂栧彿涓嶈兘涓虹┖", trigger: "blur" } - ], - description: [ - { required: true, message: "鎻忚堪涓嶈兘涓虹┖", trigger: "blur" } - ], - state: [ - { required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur" } - ], - displayOrder: [ - { required: true, message: "鎺掑簭涓嶈兘涓虹┖", trigger: "blur" } - ], - createdUserId: [ - { required: true, message: "鍒涘缓浜篿d涓嶈兘涓虹┖", trigger: "blur" } - ], - createdUserName: [ - { required: true, message: "鍒涘缓浜哄鍚嶄笉鑳戒负绌�", trigger: "blur" } - ], - createdDateTime: [ - { required: true, message: "鍒涘缓鏃ユ湡鏃堕棿涓嶈兘涓虹┖", trigger: "blur" } - ], - auditState: [ - { required: true, message: "瀹℃牳鐘舵�佷笉鑳戒负绌�", trigger: "blur" } - ], - auditUserId: [ - { required: true, message: "瀹℃牳浜篒D涓嶈兘涓虹┖", trigger: "blur" } - ], - auditUserName: [ - { required: true, message: "瀹℃牳浜哄鍚嶄笉鑳戒负绌�", trigger: "blur" } - ], - auditDateTime: [ - { required: true, message: "瀹℃牳鏃ユ湡鏃堕棿涓嶈兘涓虹┖", trigger: "blur" } - ], - auditOpinion: [ - { required: true, message: "瀹℃牳鎰忚涓嶈兘涓虹┖", trigger: "blur" } - ], - lastUpdatedUserId: [ - { required: true, message: "鏈�鍚庢洿鏂颁汉id涓嶈兘涓虹┖", trigger: "blur" } - ], - lastUpdatedUserName: [ - { required: true, message: "鏈�鍚庢洿鏂颁汉濮撳悕涓嶈兘涓虹┖", trigger: "blur" } - ], - lastUpdatedDateTime: [ - { required: true, message: "鏈�鍚庢洿鏂版椂闂翠笉鑳戒负绌�", trigger: "blur" } - ], - isDeleted: [ - { required: true, message: "鏄惁鍒犻櫎涓嶈兘涓虹┖", trigger: "blur" } - ] - } + pageInfo: { + pageSize: 10, + pageTotal: 0, + currentPage: 1, + }, + visible: false, + ids: [], + open: false, }; }, - created() { + mounted() { this.getList(); }, methods: { - /** 鏌ヨ搴撲綅缁勫垪琛� */ - getList() { - this.loading = true; - listLocationGroup(this.queryParams).then(response => { - this.locationGroupList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - locationGroupId: undefined, - locationGroupNo: undefined, - werks: undefined, - locationGroupName: undefined, - lgort: undefined, - description: undefined, - state: undefined, - displayOrder: undefined, - createdUserId: undefined, - createdUserName: undefined, - createdDateTime: undefined, - auditState: undefined, - auditUserId: undefined, - auditUserName: undefined, - auditDateTime: undefined, - auditOpinion: undefined, - lastUpdatedUserId: undefined, - lastUpdatedUserName: undefined, - lastUpdatedDateTime: undefined, - isDeleted: undefined + getList(info = {}) { + this.ids = []; + this.tabiInfo.tableLoading = true; + let params = { + pageSize: this.pageInfo.pageSize, + pageNum: this.pageInfo.currentPage, + bizType: 10, + ...info, }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.locationGroupId) - this.single = selection.length!==1 - this.multiple = !selection.length - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞搴撲綅缁�"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.loading = true; - this.reset(); - const locationGroupId = row.locationGroupId || this.ids - getLocationGroup(locationGroupId).then(response => { - this.loading = false; - this.form = response.data; - this.open = true; - this.title = "淇敼搴撲綅缁�"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - this.$refs["form"].validate(valid => { - if (valid) { - this.buttonLoading = true; - if (this.form.locationGroupId != null) { - updateLocationGroup(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }).finally(() => { - this.buttonLoading = false; - }); - } else { - addLocationGroup(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }).finally(() => { - this.buttonLoading = false; - }); - } + listLocationGroup(params).then((res) => { + if (res.code == 200) { + this.pageInfo.pageTotal = res.total; + this.tabiInfo.tableData = res.rows; + this.tabiInfo.tableLoading = false; } }); }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const locationGroupIds = row.locationGroupId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎搴撲綅缁勭紪鍙蜂负"' + locationGroupIds + '"鐨勬暟鎹」锛�').then(() => { - this.loading = true; - return delLocationGroup(locationGroupIds); - }).then(() => { - this.loading = false; - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => { - }).finally(() => { - this.loading = false; - }); + checkData(data) { + if (data.length) { + this.ids = data.map((item) => { + return item.locationGroupId; + }); + } else { + this.ids = []; + } }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/locationGroup/export', { - ...this.queryParams - }, `locationGroup_${new Date().getTime()}.xlsx`) - } - } + handleAdd() { + this.$refs.addaddModal.elDialogShow(1); + }, + checkInfo(info) { + this.$refs.addaddModal.elDialogShow(3, info.locationGroupId); + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate() { + if (this.ids.length > 1) { + this.$message({ + message: "鍙兘鎿嶄綔鍗曟潯鏁版嵁锛�", + type: "warning", + }); + return; + } else if (this.ids.length < 1) { + this.$message({ + message: "璇烽�夋嫨鏁版嵁", + type: "warning", + }); + return; + } + this.$refs.addaddModal.elDialogShow(2, this.ids[0]); + }, + handleDelete() { + const locationGroupIds = this.ids; + + if (locationGroupIds.length) { + this.$modal + .confirm( + '鏄惁纭鍒犻櫎宸查�変腑鐨勬暟鎹」锛�' + ) + .then(() => { + this.tabiInfo.tableLoading = true; + return delLocationGroup(locationGroupIds); + }) + .then(() => { + this.tabiInfo.tableLoading = false; + this.ids = []; + this.getList(); + this.$message({ + message: "鍒犻櫎鎴愬姛", + type: "success", + }); + }) + .catch(() => {}) + .finally(() => { + this.tabiInfo.tableLoading = false; + }); + } else { + this.$message({ + message: "璇烽�夋嫨鏁版嵁", + type: "warning", + }); + } + }, + }, }; </script> + +<style lang="less" scoped> +.rowClassName { + height: 50px; +} +.contbox { + width: 100; + height: 100%; +} +</style> -- Gitblit v1.9.3