Quellcode durchsuchen

添加 统计信息录入页面新增页面

lfj vor 3 Jahren
Ursprung
Commit
41e8197324
1 geänderte Dateien mit 580 neuen und 0 gelöschten Zeilen
  1. 580 0
      fjs-scenic-manager/src/main/resources/templates/system/inputInfo.html

+ 580 - 0
fjs-scenic-manager/src/main/resources/templates/system/inputInfo.html

@@ -0,0 +1,580 @@
+<#include "/incloud/header.ftl" />
+<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
+<html>
+<@header></@header>
+
+<body class="hold-transition skin-blue sidebar-mini">
+    <div class="wrapper">
+
+        <@top></@top>
+        <@left></@left>
+
+        <!-- Content Wrapper. Contains page content -->
+        <div class="content-wrapper">
+            <!-- Content Header (Page header) -->
+            <section class="content-header">
+                <h1>
+                    统计信息录入
+                    <small>Optional description</small>
+                </h1>
+                <ol class="breadcrumb">
+                    <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
+                    <li class="active">Here</li>
+                </ol>
+            </section>
+            <!-- Main content -->
+            <section class="content container-fluid" id="app">
+                <div class="box-body">
+                    <!--查询区域-->
+                    <div class="query">
+                        <el-form :inline="true" :model="con" class="demo-form-inline">
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-date-picker v-model="con.createTime" type="daterange" range-separator="至"
+                                    start-placeholder="新增开始日期" end-placeholder="新增结束日期">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-date-picker v-model="con.dataTime" type="daterange" range-separator="至"
+                                    start-placeholder="数据开始日期" end-placeholder="数据结束日期">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-cascader placeholder="景区" v-model="con.companyScenic" :options="companyScenicOptions" :props="{ multiple: true }">
+                            </el-form-item>
+                            </el-cascader>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-input v-model="con.name" placeholder="姓名" maxlength="4" minlength="2"></el-input>
+                            </el-form-item>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-button type="primary" @click="loadTable1()">查询</el-button>
+                            </el-form-item>
+                        </el-form>
+                    </div>
+                    <!--功能按钮区-->
+                    <div class="buttonDiv">
+                        <el-button size="mini" type="primary" class="pagination-but" @click="dialog1Visible = true">新增
+                        </el-button>
+                    </div>
+                    <!--表格区-->
+                    <el-table border :data="tableData" style="width: 100%">
+                        <el-table-column min-width="150px" label="姓名" prop="name">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="账号" prop="account">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="电话" prop="phone">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="公司" prop="company">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="景区" prop="scenic">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="状态">
+                            <template slot-scope="scope">
+                                {{scope.row.status|getEnumVal(MANAGE_STATUS)}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="创建时间" prop="createTime">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="修改时间" prop="updateTime">
+                        </el-table-column>
+                        <el-table-column label="操作" min-width="300px">
+                            <template slot-scope="scope">
+                                <el-button size="mini" type="primary" @click="table1Edit(scope.$index, scope.row)">修改
+                                </el-button>
+                                <el-button size="mini" type="danger" @click="table1Del(scope.$index, scope.row)">删除
+                                </el-button>
+                                <el-button size="mini" type="primary" @click="authorityClick(scope.$index, scope.row)">
+                                    分配权限
+                                </el-button>
+                                <el-button v-if="scope.row.status===MANAGE_STATUS.正常" size="mini" type="warning"
+                                    @click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.无效)">冻结
+                                </el-button>
+                                <el-button v-if="scope.row.status===MANAGE_STATUS.无效" size="mini" type="primary"
+                                    @click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.正常)">解冻
+                                </el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <!--分页-->
+                    <div class="block">
+                        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                            :current-page="con.currentPage" :page-sizes="[1,10, 50, 200, 500]" :page-size="con.pageSize"
+                            layout="total, sizes, prev, pager, next, jumper, slot" :total="con.total">
+                        </el-pagination>
+                    </div>
+                    <!--对话框1 新增-->
+                    <el-dialog title="新增" :visible.sync="dialog1Visible" :custom-class="'ele-dialog'" :center="true"
+                        @close="closeAddDialog1">
+                        <el-collapse v-model="collapse">
+                            <el-collapse-item title="大峡谷景区" name="0">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="水车坪景区" name="1">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="濯水景区" name="2">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="小南海" name="3">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="十三寨" name="4">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="水师码头" name="5">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="神龟峡景区" name="6">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="官村" name="7">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="爱莉丝" name="8">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="阿蓬江旅行社公司" name="9">
+                                <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                                    <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                        <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                          </el-collapse>
+                        <div slot="footer" class="dialog-footer">
+                            <el-button type="primary" @click="dialog1Sub('dialog1')">提 交</el-button>
+                            <el-button @click="dialog1Visible = false">取 消</el-button>
+                        </div>
+                    </el-dialog>
+                </div>
+            </section>
+            <!-- /.content -->
+        </div>
+        <!-- Main Footer -->
+        <@footer></@footer>
+    </div>
+</body>
+<script src="/js/util/dyAjax.js"></script>
+<script>
+    $(function () {
+        const TYPE_AUTHORITY = { authority: 0, companyScenic: [[0, 0]] }
+        var option = {
+            mixins: [dyMixin],
+            data() {
+                return {
+                    collapse:['0','1','2','3','4','5','6','7','8','9'],
+                    companyScenic: undefined,
+                    companyScenicOptions: [
+                        {
+                            value: 0,
+                            label: '巴拉胡景区管理公司',
+                            children: [
+                                { value: 0, label: '大峡谷景区' },
+                                { value: 1, label: '水车坪景区' },
+                                { value: 2, label: '濯水景区' },
+                                { value: 3, label: '小南海' },
+                                { value: 4, label: '十三寨' }]
+                        }, {
+                            value: 1,
+                            label: '芭拉胡公司',
+                            children: [
+                                { value: 5, label: '水师码头' },
+                                { value: 6, label: '神龟峡景区' }]
+                        }, {
+                            value: 2,
+                            label: '爱莉丝公司',
+                            children: [
+                                { value: 7, label: '官村' },
+                                { value: 8, label: '爱莉丝' }]
+                        }, {
+                            value: 3,
+                            label: '阿蓬江旅行社公司',
+                            children: [{ value: 9, label: '阿蓬江旅行社公司' }]
+                        }],
+                    con: { dataTime:undefined,companyScenic:undefined, currentPage: 1, pageSize: 10, total: 0,createTime:undefined, },//查询条件
+                    tableData: [],
+                    dialog1Visible: false,//对话框隐藏
+                    addData: {
+                        name: '',
+                        phone: '',
+                        account: '',
+                        password: '',
+                        password2: ''
+                    },//新增数据模板
+                    editData: {},//编辑数据
+                    typeAuthority: Object.assign(TYPE_AUTHORITY),//角色数据
+                    roleIds: [],
+                    dialog2Visible: false,//编辑弹框隐藏
+                    dialog3Visible: false,//角色弹框隐藏
+                    rules: {
+                        name: [
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
+                                        callback(new Error('请输入正确的姓名,只能输入汉字,长度在2-4个字符之间'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
+                        ],
+                        phone: [
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^1[34578]\d{9}$/.test(value))) {
+                                        callback(new Error('请输入正确的联系方式'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
+                        ],
+                        account: [
+                            {
+                                required: true,
+                                validator: (rule, value, callback) => {
+                                    if (!(/^[a-zA-Z0-9]+$/.test(value))) {
+                                        callback(new Error('请输入字母或数字'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            },
+                            { min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
+                        ],
+                        password: [
+                            {
+                                required: true,
+                                validator: (rule, value, callback) => {
+                                    if (!(/^.{6,12}$/.test(value))) {
+                                        callback(new Error('请输入6-12位密码'));
+                                    } else {
+                                        if (this.addData.password !== '') {
+                                            this.$refs.dialog1.validateField('password2');
+                                        }
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
+                        ],
+                        password2: [
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (value === '') {
+                                        callback(new Error('请再次输入密码'));
+                                    } else if (value !== this.addData.password) {
+                                        callback(new Error('两次输入密码不一致!'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
+                        ]
+                    },//对话框1验证规则
+                    rules2: {
+                        name: [
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
+                                        callback(new Error('请输入正确的姓名'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
+                        ],
+                        phone: [
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^1[34578]\d{9}$/.test(value))) {
+                                        callback(new Error('请输入正确的联系方式'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
+                        ],
+                        account: [
+                            {
+                                required: true,
+                                validator: (rule, value, callback) => {
+                                    if (!(/^[a-zA-Z0-9]+$/.test(value))) {
+                                        callback(new Error('请输入字母或数字'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            },
+                            { min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
+                        ],
+                        password: [
+                            {
+                                required: false,
+                                validator: (rule, value, callback) => {
+                                    // console.log(value===null)
+                                    if (value !== null && value !== '') {
+                                        if (!(/^.{6,12}$/.test(value))) {
+                                            callback(new Error('请输入6-12位密码'));
+                                        } else {
+                                            if (this.editData.password !== '') {
+                                                this.$refs.dialog2.validateField('password2');
+                                            }
+                                            callback();
+                                        }
+                                    } else {
+                                        callback();
+                                    }
+
+                                }, trigger: 'blur'
+                            }
+                        ],
+                        password2: [
+                            {
+                                required: false, validator: (rule, value, callback) => {
+                                    // if (value === '') {
+                                    //     callback(new Error('请再次输入密码'));
+                                    // } else
+                                    console.log(value, typeof (value), typeof (value) !== 'undefined', "b:" + this.editData.password)
+                                    console.log(this.editData.password)
+                                    if ((this.editData.password !== null && this.editData.password !== '') || typeof (value) !== 'undefined' && value !== null) {
+                                        if (value !== this.editData.password) {
+                                            callback(new Error('两次输入密码不一致!'));
+                                        } else {
+                                            callback();
+                                        }
+                                    } else {
+                                        callback();
+                                    }
+
+                                }, trigger: 'blur'
+                            }
+                        ]
+                    },//对话框2验证规则
+                    MANAGE_STATUS: { '正常': "1", '无效': "0" },//账户状态
+                }
+            },
+            mounted: function () {
+                this.loadTable1();
+            },
+            methods: {
+                companyScenicChange(value) {
+                    console.log(value);
+                },
+                // 表1 冻结 解结
+                table1FreezeUnfreeza(id, stutes) {
+                    let _this = this;
+                    let isFreeze = stutes === _this.MANAGE_STATUS.无效;
+                    this.$confirm(isFreeze ? '确定冻结' : '确定解冻?', '提示', {
+                        confirmButtonText: '确定',
+                        cancelButtonText: '取消',
+                        type: 'warning'
+                    }).then(() => {
+                        $.dyAjax('/manage/freezeUnfreeza', { id: id, status: stutes }, function (data) {
+                            _this.$message({ message: '操作成功', type: 'success' });
+                            _this.loadTable1();
+                        });
+                    }).catch(() => {
+                    });
+                },
+                //编辑
+                table1Edit(index, row) {
+                    let _this = this;
+                    $.dyAjax('/manage/get/' + row.id, {}, function (data) {
+                        _this.editData = data;
+                        //                        _this.editData.password2 = '';
+                        _this.dialog2Visible = true;
+                        console.log(data);
+                    }, 'get');
+                },
+                //翻页大小改变事件
+                handleSizeChange(val) {
+                    var _this = this;
+                    _this.con.pageSize = val;
+                    _this.loadTable1();
+                },
+                //翻页翻页事件
+                handleCurrentChange(val) {
+                    var _this = this;
+                    _this.con.currentPage = val;
+                    _this.loadTable1();
+                },
+                //对话框1提交事件
+                dialog1Sub: function (formName) {
+                    var _this = this;
+                    console.log(this.addData);
+                    this.$refs[formName].validate((valid) => {
+                        if (valid) {
+                            $.dyAjax('/manage/addManage', _this.addData, function (data) {
+                                if (data.status === 200) {
+                                    _this.loadTable1(function () {
+                                        _this.$message({
+                                            message: '成功',
+                                            type: 'success'
+                                        });
+                                        _this.dialog1Visible = false;
+                                        _this.jsonClear(_this.addData);
+                                    });
+                                } else {
+                                    _this.loadTable1(function () {
+                                        _this.$message({
+                                            message: data.msg,
+                                            type: 'error'
+                                        });
+                                        _this.dialog1Visible = false;
+                                        _this.jsonClear(_this.addData);
+                                    });
+                                }
+
+                            });
+                        } else {
+                            return false;
+                        }
+                    });
+                },
+                //加载表数据
+                loadTable1: function (callback) {
+                    var _this = this;
+                    $.dyAjax('/manage/page1', this.con, function (data) {
+                        callback && callback(data);
+                        console.log(data)
+                        _this.tableData = data.list;
+                        _this.con.total = data.total;
+                        _this.con.currentPage = data.pageNum;
+                        _this.con.pageSize = data.pageSize;
+                    });
+                },
+                //删除
+                table1Del: function (index, row) {
+                    let _this = this;
+                    console.log(row);
+                    this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
+                        confirmButtonText: '确定',
+                        cancelButtonText: '取消',
+                        type: 'warning'
+                    }).then(() => {
+                        $.dyAjax('/manage/del', { id: row.id }, function (data) {
+                            _this.loadTable1(function () {
+                                _this.$message({
+                                    type: 'success',
+                                    message: '删除成功!'
+                                });
+                            });
+                        });
+                    }).catch(() => {
+                    });
+                },
+                //分配权限
+                authorityClick: function (index, row) {
+                    var _this = this;
+                    $.dyAjax('/manage/getTypeAuthority/' + row.id, undefined, function (data) {
+                        if (data.length > 0) {
+                            let companyScenic = data.reduce((acc, cur) => {
+                                acc.push([cur.company, cur.scenic])
+                                return acc
+                            }, [])
+                            _this.typeAuthority = { authority: data[0].authority ? 1 : 0, companyScenic, manager: row.id }
+                        } else {
+                            _this.typeAuthority = Object.assign(TYPE_AUTHORITY, { manager: row.id })
+                        }
+                        _this.dialog3Visible = true;
+                    });
+                },
+                //对话框2 编辑提交事件
+                dialog2Sub: function (formName) {
+                    var _this = this;
+                    console.log(this.editData);
+                    this.$refs[formName].validate((valid) => {
+                        if (valid) {
+                            $.dyAjax('/manage/update', _this.editData, function (data) {
+                                _this.loadTable1(function () {
+                                    _this.$message({
+                                        message: '成功',
+                                        type: 'success'
+                                    });
+                                    _this.dialog2Visible = false;
+                                    _this.jsonClear(_this.editData);
+                                });
+                            });
+                        } else {
+                            return false;
+                        }
+                    });
+                },
+                //对话框3 编辑提交事件
+                dialog3Sub: function (formName) {
+                    var _this = this;
+                    this.$refs[formName].validate((valid) => {
+                        if (valid) {
+                            const { companyScenic, authority, manager } = _this.typeAuthority
+                            let datas = []
+                            companyScenic.forEach(element => {
+                                datas.push({ company: element[0], scenic: element[1], authority, manager })
+                            });
+                            $.dyjAjax('/manage/saveTypeAuthority', datas, function (data) {
+                                _this.loadTable1(function () {
+                                    _this.$message({
+                                        message: '成功',
+                                        type: 'success'
+                                    });
+                                    _this.dialog3Visible = false;
+                                }, 'post');
+                            });
+                        } else {
+                            return false;
+                        }
+                    });
+                },
+
+                closeAddDialog1: function () {
+                    this.$refs['dialog1'].resetFields()
+                },
+
+                closeEditDialog2: function () {
+                    this.$refs['dialog2'].resetFields()
+                },
+
+
+
+            },
+        };
+        var app = Vue.extend(option);
+        new app().$mount('#app');
+    });
+</script>
+
+</html>