ebc

user-management.vue 9.1KB

    <template> <div class="track-container"> <div class="search-container"> <div class="search-ctn"> <div> <div class="label-content"> <div class="label">部门:</div> <div class="input-rule"> <t-select v-model="queryCondition.alarmPerson" width="200" placeholder="请输入..."> <t-option>张三</t-option> <t-option>李四</t-option> </t-select> </div> </div> <div class="label-content"> <div class="label">姓名:</div> <div class="input-rule"> <t-select v-model="queryCondition.alarmPerson" width="200" placeholder="请输入..."> <t-option>张三</t-option> <t-option>李四</t-option> </t-select> </div> </div> <div class="label-content"> <div class="label">员工编号:</div> <div class="input-rule"> <t-select v-model="queryCondition.alarmPerson" width="200" placeholder="请输入..."> <t-option>张三</t-option> <t-option>李四</t-option> </t-select> </div> </div> <div class="btns"> <t-button color="secondary" class="reset-btn" @click="onReset">重置</t-button> <t-button color="success" icon="search-outline" @click="onSearch">查询</t-button> <t-button color="secondary" icon="upload-outline" @click="toExport">导出至Excel</t-button> <t-button color="secondary" icon="delete-outline" @click="toExport">删除</t-button> </div> </div> <div class="btns"> <t-button color="success" icon="upload-outline" @click="onReset">导入</t-button> <t-button color="success" icon="download-outline" @click="onReset">下载模板</t-button> <t-button color="success" icon="plus-outline" @click="addUser">新增</t-button> </div> </div> </div> <div> <t-table :data="table.data"> <t-table-column prop="name" label="姓名"></t-table-column> <t-table-column prop="number" label="员工编号"></t-table-column> <t-table-column prop="relevance" label="关联终端"></t-table-column> <t-table-column prop="department" label="部门"></t-table-column> <t-table-column prop="job" label="职务"></t-table-column> <t-table-column prop="age" label="年龄"></t-table-column> <t-table-column prop="phone" label="手机"></t-table-column> <t-table-column fixed="right" label="操作" width="240" > <template slot-scope="scope"> <a href="javascript:void(0)" size="sm" @click="handleClick(scope.row)">关联终端</a> <span class="mod-line">|</span> <a href="javascript:void(0)" size="sm" @click="remove(scope.$index)">解绑终端</a> <span class="mod-line">|</span> <a href="javascript:void(0)" size="sm" @click="handleClick(scope.row)">编辑</a> <span class="mod-line">|</span> <a href="javascript:void(0)" size="sm" @click="remove(scope.$index)">删除</a> </template> </t-table-column> </t-table> <t-pager :total="table.pager.total" :current.sync="table.pager.currentPage" :page-size.sync="table.pager.size" :sizer-range="[10,20,50]" class="px-24 pt-16 float-right" show-elevator show-sizer @on-size-change="onSizeChange" @on-change="onPagerChange"> </t-pager> </div> <t-modal :visibled.sync="modal" title="新增设备" > <t-form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80" label-position="left"> <t-form-item label="姓名" prop="name"> <t-input v-model="formValidate.name" placeholder="请输入风机名称"></t-input> </t-form-item> <t-form-item label="员工编号" prop="number"> <t-input v-model="formValidate.number" placeholder="请输入字母、数字、中划线、下划线、#"></t-input> </t-form-item> <t-form-item label="部门" prop="department"> <t-select v-model="formValidate.department" label-in-value placeholder="请选择设备类型"> <t-option value="1">部门1</t-option> <t-option value="2">部门2</t-option> <t-option value="3">部门3</t-option> </t-select> </t-form-item> <t-form-item label="职务" prop="job"> <t-select v-model="formValidate.job" label-in-value placeholder="请选择设备类型"> <t-option value="1">职务1</t-option> <t-option value="2">职务2</t-option> <t-option value="3">职务3</t-option> </t-select> </t-form-item> <t-form-item label="年龄" prop="age"> <t-input v-model="formValidate.age" placeholder="请输入数字"></t-input> </t-form-item> <t-form-item label="手机" prop="phone"> <t-input v-model="formValidate.phone" placeholder="请输入数字"></t-input> </t-form-item> </t-form> <div slot="footer"> <t-button @click="cancel">取消</t-button> <t-button class="submit-button" @click="submit">保存</t-button> </div> </t-modal> </div> </template> <script> import './user-management.scss' export default { data() { return { table: { data: [ { name: '张三', number: '108373', relevance: 'ZDBH0001', department: '设备管理处', job: '运维人员', age: 24, phone: '18888888888' }, { name: '张三', number: '108373', relevance: 'ZDBH0001', department: '设备管理处', job: '运维人员', age: 24, phone: '18888888888' }, { name: '张三', number: '108373', relevance: 'ZDBH0001', department: '设备管理处', job: '运维人员', age: 24, phone: '18888888888' } ], pager: { currentPage: 1, size: 10, total: 0 } }, queryCondition: { type: '', alarmPerson: '' }, rangeDate: '', modal: false, formValidate: { name: '', number: '', department: '', job: '', age: '', phone: '' }, ruleValidate: { name: [ { required: true, message: '姓名不能为空', trigger: 'blur' } ], number: [ { required: true, message: '员工编号不能为空', trigger: 'blur' }, { message: '员工编号重复', trigger: 'blur', validator: function(rule, value, callback) { // TODO 判断编号重复 if (false) { callback(rule.message) } } } ], department: [ { required: true, message: '部门不能为空', trigger: 'blur' } ], job: [ { required: true, message: '职务不能为空', trigger: 'blur' } ], age: [ { required: true, message: '年龄不能为空', trigger: 'blur' }, { message: '年龄不正确', trigger: 'blur', validator: function(rule, value, callback) { let pattern = /^(([0-9]|[1-9][1-9]|1[0-7][0-9])(\\.[0-9]+)?|180)$/ if (!pattern.test(value)) { callback(rule.message) } } } ], phone: [ { required: true, message: '手机不能为空', trigger: 'blur' }, { message: '手机不正确', trigger: 'blur', validator: function(rule, value, callback) { let pattern = /^1[3456789]\d{9}$/ if (!pattern.test(value)) { callback(rule.message) } } } ] } } }, mounted() { this.table.data = this.table.data.concat(this.table.data) this.table.pager.total = this.table.data.length }, methods: { onChange(value) { console.log('date change:' + value) }, onReset() { }, onSearch() { }, toExport() { }, onPagerChange(page) { }, onSizeChange(number) { }, cancel() { this.modal = false }, submit() { this.$refs.formValidate.validate(valid => { if (valid) { this.$Message.success('提交成功!') } else { this.$Message.danger('表单验证失败!') } }) }, addUser() { this.modal = true } } } </script>