Commit ccda4460 authored by ww-xxy's avatar ww-xxy

优化部分组建

parent fc84fac0
<template> <template>
<el-table <el-table
size="small" size="small"
ref="eltable"
:data="tableData" :data="tableData"
:row-key="handleRowKeyMethod" :row-key="handleRowKeyMethod"
:span-method="handleSpanMethod" :span-method="handleSpanMethod"
...@@ -49,6 +50,10 @@ ...@@ -49,6 +50,10 @@
<script> <script>
export default { export default {
props: { props: {
toggleRowSelection:{
type:Array,
default:()=>[]
},
handleRowKeyMethod: { handleRowKeyMethod: {
type: Function, type: Function,
required: false, required: false,
...@@ -117,7 +122,9 @@ export default { ...@@ -117,7 +122,9 @@ export default {
return !this.loading && !this.tableData.length ? "暂无数据" : "加载中..."; return !this.loading && !this.tableData.length ? "暂无数据" : "加载中...";
}, },
}, },
mounted() {}, created(){
},
watch: { watch: {
tableData(val) { tableData(val) {
val.length == 0 || val.length > 0 val.length == 0 || val.length > 0
...@@ -133,6 +140,15 @@ export default { ...@@ -133,6 +140,15 @@ export default {
// console.log(val); // console.log(val);
// } // }
}, },
toggleRowSelection:{
handler:function(v){
v.forEach(element => {
this.$refs.eltable.toggleRowSelection(element,true)
});
},
deep:true,
immediate:true
}
}, },
methods: {}, methods: {},
data() { data() {
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
v-for="($label, $value) in enumData" v-for="($label, $value) in enumData"
:key="$value" :key="$value"
:label="$label" :label="$label"
:value="$value" :value="Number($value)"
></el-option> ></el-option>
</el-select> </el-select>
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
:filterable="item.filterable" :filterable="item.filterable"
:multiple="item.multiple" :multiple="item.multiple"
:clearable="true" :clearable="true"
@change="item.change" @change="item.change && item.change"
@clear="item.clear" @clear="item.clear && item.clear"
v-if="item.type === 'select'" v-if="item.type === 'select'"
:placeholder="'请选择' + item.label" :placeholder="'请选择' + item.label"
> >
...@@ -541,6 +541,7 @@ export default { ...@@ -541,6 +541,7 @@ export default {
computed: {}, computed: {},
data() { data() {
return { return {
downloadUrl:false,
form: { form: {
// groupList: [], // groupList: [],
}, },
......
...@@ -174,6 +174,7 @@ ...@@ -174,6 +174,7 @@
/> />
<DataTable <DataTable
v-if="showType == 'table'" v-if="showType == 'table'"
:toggleRowSelection="toggleRowSelection"
:tableData="data.data" :tableData="data.data"
:columns="config.columns" :columns="config.columns"
:loading="data.loading" :loading="data.loading"
...@@ -255,6 +256,10 @@ import DataTreeTable from "@/components/DataTreeTable.vue"; ...@@ -255,6 +256,10 @@ import DataTreeTable from "@/components/DataTreeTable.vue";
import TabPane from "@/components/tabPane.vue"; import TabPane from "@/components/tabPane.vue";
export default { export default {
props: { props: {
toggleRowSelection:{
type: Array,
default: () => [],
},
data: { data: {
type: Object, type: Object,
required: true, required: true,
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
<Field <Field
type="select" type="select"
label="负责人姓名" label="负责人姓名"
prop="name" prop="staffId"
filterable filterable
v-model="form.name" v-model="form.staffId"
:enumData="userList" :enumData="userList"
placeholder="请输入负责人姓名" placeholder="请输入负责人姓名"
/> />
...@@ -23,34 +23,22 @@ ...@@ -23,34 +23,22 @@
v-model="form.phone" v-model="form.phone"
placeholder="请输入联系电话" placeholder="请输入联系电话"
/> />
<!-- <Field <Field
label="大厅" label="大厅"
prop="deptId" prop="salaId"
type="select" type="select"
v-model="form.deptId" v-model="form.salaId"
:enumData="dict.salaId"
placeholder="请选择大厅" placeholder="请选择大厅"
/> --> />
<el-col :span="12"> <Field
<el-form-item label="大厅/部门" prop="deptId">
<el-cascader
v-model="form.deptId"
style="width:100%"
@change="cascaderChange"
:options="dict.deptId"
clearable
:props="{ label: 'label', value: 'id' }"
>
</el-cascader>
</el-form-item>
</el-col>
<!-- <Field
label="部门" label="部门"
prop="deptId" prop="deptId"
type="select" type="select"
v-model="form.deptId" v-model="form.deptId"
:enumData="dict.deptId"
placeholder="请选择部门" placeholder="请选择部门"
/> --> />
<!-- <Field <!-- <Field
label="工号" label="工号"
prop="number" prop="number"
...@@ -73,55 +61,9 @@ ...@@ -73,55 +61,9 @@
/> --> /> -->
</el-row> </el-row>
<div style="background-color: rgba(242, 246, 252, 1);padding: 20px;"> <div style="background-color: rgba(242, 246, 252, 1);padding: 20px;">
<div style="display: flex;align-items: center;margin-bottom: 20px;">
<div style="flex: 1;">请选择窗口</div>
<div>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item >
<el-input v-model="formInline.user" placeholder="请输入窗口名称或编号"></el-input>
</el-form-item>
<el-form-item >
<el-select v-model="formInline.region" placeholder="请选择大厅">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmitSearch">查询</el-button>
</el-form-item>
</el-form>
</div> <wintable ref="wintable" :hallId="dict.hallId" class="wintabel" @selection-change="selectionChange"/>
</div>
<el-table
:data="tableData"
border
style="width: 100%">
<el-table-column
prop="date"
label="序号">
</el-table-column>
<el-table-column
prop="date"
label="窗口名称">
</el-table-column>
<el-table-column
prop="name"
label="编号">
</el-table-column>
<el-table-column
prop="address"
label="所属楼栋">
</el-table-column>
<el-table-column
prop="address"
label="所属楼层">
</el-table-column>
<el-table-column
prop="address"
label="操作">
</el-table-column>
</el-table>
</div> </div>
<div style="padding: 20px;"> <div style="padding: 20px;">
<el-button type="primary" @click="submitForm" >提交</el-button> <el-button type="primary" @click="submitForm" >提交</el-button>
...@@ -132,20 +74,19 @@ ...@@ -132,20 +74,19 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import wintable from "./wintable.vue";
export default { export default {
name: "WindowOwnerDetail", name: "WindowOwnerDetail",
mixins: [form], mixins: [form],
components: {}, components: {
wintable
},
created() { created() {
this.changePath("window/owner"); this.changePath("window/owner");
this.getUser() this.getUser()
}, },
data() { data() {
return { return {
//搜索表单
formInline:{
},
// 大厅 // 大厅
options:[], options:[],
//窗口 //窗口
...@@ -172,6 +113,10 @@ export default { ...@@ -172,6 +113,10 @@ export default {
}, },
methods: { methods: {
// 选中窗口
selectionChange(v){
console.log(v,this.$refs.wintable,"########@@@@")
},
cascaderChange(val) { cascaderChange(val) {
if (this.deptList.length > 0) { if (this.deptList.length > 0) {
this.form.deptId = this.deptList[this.deptList.length - 1]; this.form.deptId = this.deptList[this.deptList.length - 1];
...@@ -183,17 +128,14 @@ export default { ...@@ -183,17 +128,14 @@ export default {
// 查询人员 // 查询人员
getUser(){ getUser(){
this.$post("/staff/list",{page:1,size:-1}).then(res=>{ this.$post("/staff/list",{page:1,size:-1}).then(res=>{
console.log(res)
const {code,data} = res const {code,data} = res
if(code == 1){ if(code == 1){
const userList = data.data const userList = data.data
const arr = {} const arr = {}
data.data.forEach(element => { data.data.forEach(element => {
arr[element.id] = element.name arr[element.id] = element.name
// arr.push({label:element.name,value:element.id})
}); });
this.userList = arr this.userList = arr
console.log(arr,"@@@")
} }
}) })
}, },
...@@ -261,3 +203,9 @@ export default { ...@@ -261,3 +203,9 @@ export default {
}, },
}; };
</script> </script>
<style lang="less">
.wintabel .table-body{
height: 500px;
overflow-y: auto;
}
</style>
<template>
<LayoutTable :toggleRowSelection="toggleRowSelection" ref="LayoutTable" :data="tableData" :config="tableConfig" @selection-change="handleSelectionChange">
<div slot="table-head-left"><div>请选择窗口</div></div>
<div slot="table-head-center"></div>
</LayoutTable>
</template>
<script>
import table from "@/assets/mixins/table";
export default {
props:['hallId','checkId'],
mixins: [table],
methods:{
handleSelectionChange(v){
this.$emit("selection-change",v)
},
beforeFecth(){
this.pageInfo.list = '/window/owner/subWindowList'
},
},
created(){
this.config.search[0].enumData = this.hallId
// setTimeout(()=>{
// this.toggleRowSelection = [this.tableData.data[0]]
// },2000)
},
data(){
return {
toggleRowSelection:[],
config: {
downloadUrl:"",
isshowTabPane: false,
search: [
{
name: "hallId",
type: "select",
label: "大厅",
enumData:{}
},
{
name: "deptName",
type: "text",
label: "窗口名称",
fuzzy: true,
},
],
columns: [
{ type: "selection", width: 60 },
// { type: "index", label: "序号", width: 50 },
{ label: "窗口名称", prop: "name" },
{ label: "编号", prop: "fromnum" },
{ label: "所属楼栋", prop: "building" },
{ label: "所属楼层", prop: "level" },
// {
// label: "操作",
// width: 240,
// formatter: (row) => {
// return (
// <table-buttons
// noAdd
// row={row}
// onEdit={this.toEdit}
// onView={this.toView}
// onDel={this.toDel}
// />
// );
// },
// },
],
},
}
},
}
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment