|
@@ -0,0 +1,188 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <basic-container>
|
|
|
+ <avue-crud
|
|
|
+ :option="option"
|
|
|
+ :data="dataList"
|
|
|
+ ref="crud"
|
|
|
+ v-model="form"
|
|
|
+ :page.sync="page"
|
|
|
+ :search.sync="search"
|
|
|
+ @search-change="searchChange"
|
|
|
+ @current-change="currentChange"
|
|
|
+ @size-change="sizeChange"
|
|
|
+ @refresh-change="refreshChange"
|
|
|
+ @on-load="onLoad"
|
|
|
+ :table-loading="loading"
|
|
|
+ >
|
|
|
+ <template slot="moudleNameSearch">
|
|
|
+ <el-select
|
|
|
+ v-model="search.moudleName"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in moudleOption"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ :key="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="scope" slot="moudleName">
|
|
|
+ <span>{{ scope.row.moudleName | moudleNameFormat(moudleOption) }}</span>
|
|
|
+ </template>
|
|
|
+ <template slot="menu" slot-scope="{ row, index }">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-unlock"
|
|
|
+ size="small"
|
|
|
+ @click="rowUnlock(row, index)"
|
|
|
+ >解锁</el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </basic-container>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import option from "./config/mainList.json";
|
|
|
+import {lockList, lockRemove} from "@/api/lock/lock";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "index",
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ option: {},
|
|
|
+ dataList: [],
|
|
|
+ form: {},
|
|
|
+ page: {
|
|
|
+ pageSize: 10,
|
|
|
+ pagerCount: 5,
|
|
|
+ total: 0,
|
|
|
+ },
|
|
|
+ search: {},
|
|
|
+ loading: false,
|
|
|
+ moudleOption: [
|
|
|
+ {
|
|
|
+ label: '销售',
|
|
|
+ value: 'xs'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '采购',
|
|
|
+ value: 'cg'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '发货',
|
|
|
+ value: 'fh'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '收货',
|
|
|
+ value: 'sh'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '收费',
|
|
|
+ value: 'sf'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '付费',
|
|
|
+ value: 'ff'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '进项',
|
|
|
+ value: 'jx'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '销项',
|
|
|
+ value: 'xx'
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.option = option
|
|
|
+ let i = 0;
|
|
|
+ this.option.column.forEach(item => {
|
|
|
+ if (item.search) i++
|
|
|
+ })
|
|
|
+ if (i % 3 !== 0){
|
|
|
+ const num = 3 - Number(i % 3)
|
|
|
+ this.option.searchMenuSpan = num * 8;
|
|
|
+ this.option.searchMenuPosition = "right";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ moudleNameFormat(row, moudleOption) {
|
|
|
+ let name;
|
|
|
+ moudleOption.map((e) => {
|
|
|
+ if (row == e.value) {
|
|
|
+ name = e.label
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return name;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ searchChange(params, done) {
|
|
|
+ this.onLoad(this.page, params);
|
|
|
+ done();
|
|
|
+ },
|
|
|
+ currentChange(val) {
|
|
|
+ this.page.currentPage = val;
|
|
|
+ },
|
|
|
+ sizeChange(val) {
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.page.pageSize = val;
|
|
|
+ },
|
|
|
+ refreshChange() {
|
|
|
+ this.dataList.forEach(item => {
|
|
|
+ this.$refs.crud.toggleRowExpansion(item, false)
|
|
|
+ })
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.onLoad(this.page, this.search);
|
|
|
+ },
|
|
|
+ onLoad(page, params) {
|
|
|
+ this.dataList.forEach(item => {
|
|
|
+ this.$refs.crud.toggleRowExpansion(item, false)
|
|
|
+ })
|
|
|
+ this.loading = true;
|
|
|
+ lockList(page.currentPage, page.pageSize, params)
|
|
|
+ .then(res => {
|
|
|
+ this.dataList = res.data.data.records ? res.data.data.records : [];
|
|
|
+ this.page.total = res.data.data.total;
|
|
|
+ if (this.page.total) {
|
|
|
+ this.option.height = window.innerHeight - 260;
|
|
|
+ }
|
|
|
+ this.dataList.forEach(item => {
|
|
|
+ this.$set(item,'insideList',[])
|
|
|
+ this.$set(item,'loading', true)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 解锁
|
|
|
+ rowUnlock(row, index) {
|
|
|
+ this.$confirm('是否确认解锁?', '提示', {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ return lockRemove({ids: row.id})
|
|
|
+ }).then(() => {
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "操作成功!"
|
|
|
+ });
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.onLoad(this.page, {parentId: 0});
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|