登录页面,租赁导出

master
xy 1 year ago
parent 0a37246082
commit 9739d5d453

@ -1,24 +1,25 @@
import request from '@/utils/request' import request from '@/utils/request'
export function save(data) { export function save(data) {
return request({ return request({
url: '/api/admin/department/save', url: '/api/admin/department/save',
method: 'post', method: 'post',
data data
}) })
}
export function listdept() {
return request({
url: '/api/admin/department',
method: 'get'
})
} }
export function del(data) { export function listdept(params) {
return request({ return request({
url: '/api/admin/department/delete', url: '/api/admin/department',
method: 'post', method: 'get',
data params
}) })
}
export function del(data) {
return request({
url: '/api/admin/department/delete',
method: 'post',
data
})
} }

@ -1,33 +1,34 @@
import request from '@/utils/request' import request from '@/utils/request'
export function save(data) { export function save(data) {
return request({ return request({
url: '/api/admin/admin/save', url: '/api/admin/admin/save',
method: 'post', method: 'post',
data data
}) })
}
export function listuser() {
return request({
url: '/api/admin/admin',
method: 'get'
})
} }
export function del(data) { export function listuser(params) {
return request({ return request({
url: '/api/admin/admin/delete', url: '/api/admin/admin',
method: 'post', method: 'get',
data params
}) })
} }
export function setRoles(data) { export function del(data) {
return request({ return request({
url: '/api/admin/admin/set-roles', url: '/api/admin/admin/delete',
method: 'post', method: 'post',
data data
}) })
} }
export function setRoles(data) {
return request({
url: '/api/admin/admin/set-roles',
method: 'post',
data
})
}

@ -18,7 +18,10 @@
<i class="el-icon-bell"></i> <i class="el-icon-bell"></i>
</el-badge> </el-badge>
<img src="../../assets/face.jpg" class="user-avatar"> <img src="../../assets/face.jpg" class="user-avatar">
<span>{{ $store.state.user.name }}</span> <div style="display: flex;flex-direction: column;line-height: 1.25;">
<span>{{ $store.state.user.name }}</span>
<span style="font-size: 12px;color: #eee;font-weight: 400;">{{ $store.state.user.department.name }}</span>
</div>
<i class="el-icon-caret-bottom" /> <i class="el-icon-caret-bottom" />
</div> </div>
<el-dropdown-menu slot="dropdown" class="user-dropdown"> <el-dropdown-menu slot="dropdown" class="user-dropdown">

@ -17,7 +17,8 @@ const getDefaultState = () => {
token: getToken(), token: getToken(),
name: '', name: '',
avatar: '', avatar: '',
roles: [] roles: [],
department: {}
} }
} }
@ -38,6 +39,9 @@ const mutations = {
}, },
SET_ROLES: (state, roles) => { SET_ROLES: (state, roles) => {
state.roles = roles state.roles = roles
},
SET_DEPARTMENT: (state, department) => {
state.department = department
} }
} }
@ -86,7 +90,8 @@ const actions = {
const { const {
roles, roles,
name, name,
avatar avatar,
department
} = response } = response
@ -94,6 +99,7 @@ const actions = {
commit('SET_ROLES', roles) commit('SET_ROLES', roles)
commit('SET_NAME', name) commit('SET_NAME', name)
commit('SET_AVATAR', avatar) commit('SET_AVATAR', avatar)
commit('SET_DEPARTMENT', department??{})
resolve(response) resolve(response)
}).catch(error => { }).catch(error => {
reject(error) reject(error)

@ -142,9 +142,10 @@ export default {
table-item={ table-item={
[ [
{ {
prop: "selection",
type: "selection", type: "selection",
width: 56, width: 56,
label: " " label: "选择"
}, },
{ {
"prop": "id", "prop": "id",

@ -85,9 +85,13 @@ export default {
if (header._params) { if (header._params) {
response.forEach(row => { response.forEach(row => {
if (row.hasOwnProperty(header.key)) { if (row.hasOwnProperty(header.key)) {
console.log(header.key, header._params, row[header.key])
row[header.key] = header._params.find(i => i.key == row[header.key]) ? header._params.find(i => i.key == row[header.key]).value : row[header.key] row[header.key] = header._params.find(i => i.key == row[header.key]) ? header._params.find(i => i.key == row[header.key]).value : row[header.key]
} }
for (let key in row) {
if (row[key].hasOwnProperty('date')) {
row[key] = row[key]['date']
}
}
}) })
} }
}) })

@ -292,6 +292,11 @@
</add> </add>
<addPay ref="addPay"></addPay> <addPay ref="addPay"></addPay>
<payList ref="payList"></payList> <payList ref="payList"></payList>
<imports
:table-name="customForm.tableName"
:form-info="form"
ref="imports"
@refresh="$refs['xyTable'].getTableData()"></imports>
</div> </div>
</template> </template>
@ -308,6 +313,7 @@ import { saveAs } from "file-saver";
import { listdept } from "@/api/system/department" import { listdept } from "@/api/system/department"
import add from "./component/addLease.vue"; import add from "./component/addLease.vue";
import imports from "@/views/component/imports.vue"
import LxHeader from "@/components/LxHeader/index.vue"; import LxHeader from "@/components/LxHeader/index.vue";
import headerContent from "@/components/LxHeader/XyContent.vue"; import headerContent from "@/components/LxHeader/XyContent.vue";
import addPay from "@/views/lease/component/addPay.vue"; import addPay from "@/views/lease/component/addPay.vue";
@ -315,6 +321,7 @@ import payList from "@/views/lease/component/payList.vue"
export default { export default {
name: 'tableList', name: 'tableList',
components: { components: {
imports,
LxHeader, LxHeader,
add, add,
headerContent, headerContent,

@ -14,6 +14,26 @@ export default {
let dialog = new CreateDialog( let dialog = new CreateDialog(
this, this,
[ [
{
show: this.type === 'editor',
key: 'let_id',
label: '关联招租',
render: h('div',[
h('el-button',{
props: {
type: 'primary',
size: 'small'
},
on: {
click: _ => {
this.letDialog = true
}
}
},'关联招租'),
h('br'),
h('span', Object.keys(this.selectLet).length > 0 ? `${this.selectLet.juecezhuti}/${this.selectLet.zhaozufangshi}/${this.selectLet.zujindijiaquedingfangshi}/${this.selectLet.shouniannianzujin}` : '')
])
},
{ {
show: true, show: true,
key: "chengzufang", key: "chengzufang",
@ -79,6 +99,10 @@ export default {
let oldDialog = new CreateDialog( let oldDialog = new CreateDialog(
this, this,
[ [
{
show: false,
key: 'let_id'
},
{ {
show: true, show: true,
key: "qiandingnianyue", key: "qiandingnianyue",
@ -716,6 +740,132 @@ export default {
} }
</div> </div>
{
this.type === 'editor' ? (
<el-drawer
title="招租列表"
append-to-body={true}
visible={this.letDialog}
size="64%"
on={{
["update:visible"]: (val) => (this.letDialog = val)
}}
>
<div style="padding: 0 10px;">
<div>
<Input
vModel={_this.letSelect.keyword}
style="width: 300px;"
placeholder="请填写关键词"
/>
<Button
type="primary"
style="margin-left: 10px;"
on={{
["click"]: (_) => {
this.$refs["letLinkTable"].getTableData(true);
},
}}
>
搜索
</Button>
</div>
<xy-table
isHandlerKey={false}
height="600"
ref="letLinkTable"
table-item={[
{
prop: "selection",
label: "选择",
type: "selection",
width: 56,
align: "center",
reserveSelection: true,
fixed: "left",
},
{
prop: "id",
width: 60,
label: "序号",
formatter: (row, column, cellValue, index) => (this.$refs['letLinkTable'].selectOpt.page - 1) * this.$refs['letLinkTable'].selectOpt.page_size + index + 1
},
{
prop: "juecezhuti",
label: "决策主体",
width: 0,
align: "left",
},
{
prop: "zhaozufangshi",
label: "招租方式",
width: 0,
align: "left",
},
{
prop: "xingshi",
label: "公开招租渠道/协议招租",
width: 0,
align: "left",
},
{
prop: "zujindijiaquedingfangshi",
label: "租金底价确定方式",
width: 0,
align: "left",
},
{
prop: "mianzuqi",
label: "免租期(天)",
width: 0,
align: "center",
},
{
prop: "shouniannianzujin",
label: "首年年租金(万元)",
width: 0,
align: "right",
},
{
prop: "danweimianjizhaozudijia",
label: "单位面积招租底价(首年)(元/m²)",
width: 0,
align: "right",
},
{
prop: "zhaozunianxian",
label: "招租年限",
width: 0,
align: "center",
}
]}
action={this.index}
req-opt={_this.letSelect}
on={{
["loaded"]: (_) => {
if (this.selectLet.id) {
this.$refs['letLinkTable'].setCurrentRow(
this.$refs['letLinkTable'].getListData().find(row => row.id === this.selectLet.id)
);
}
},
["select"]: (selection, row) => {
this.form.let_id = row.id
if (selection.length > 0) {
this.selectLet = row;
this.$refs['letLinkTable'].clearSelection();
this.$refs['letLinkTable'].toggleRowSelection(row, true);
} else {
this.selectLet = {};
this.$refs['letLinkTable'].clearSelection();
}
},
}}
></xy-table>
</div>
</el-drawer>
) : ''
}
<el-drawer <el-drawer
title="土地列表" title="土地列表"
append-to-body={true} append-to-body={true}
@ -750,6 +900,8 @@ export default {
ref="landLinkTable" ref="landLinkTable"
table-item={[ table-item={[
{ {
prop: "selection",
label: "选择",
type: "selection", type: "selection",
width: 56, width: 56,
align: "center", align: "center",
@ -1002,6 +1154,8 @@ export default {
ref="houseLinkTable" ref="houseLinkTable"
table-item={[ table-item={[
{ {
prop: "selection",
label: "选择",
type: "selection", type: "selection",
width: 56, width: 56,
align: "center", align: "center",
@ -1205,6 +1359,13 @@ export default {
table_name: "houses", table_name: "houses",
keyword: "", keyword: "",
}, },
selectLet: {},
letDialog: false,
letSelect: {
is_auth: 1,
table_name: "lets",
keyword: "",
},
columns: 1, columns: 1,
row: {}, row: {},
@ -1365,7 +1526,7 @@ export default {
}); });
} }
this.form.let_id = this.$route.params.letId; this.form.let_id = !this.form.let_id ? this.$route.params.letId : this.form.let_id;
save(Object.assign(this.form, { table_name: "leases" })).then((res) => { save(Object.assign(this.form, { table_name: "leases" })).then((res) => {
if (this.type !== "add") { if (this.type !== "add") {
Promise.all([ Promise.all([

@ -7,7 +7,7 @@
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>
<div> <div>
<Input style="width: 200px; margin-right: 10px" v-model.number="searchFields.Name" placeholder="关键字搜索" /> <Input style="width: 200px; margin-right: 10px" v-model.number="select.keyword" placeholder="关键字搜索" />
<Button type="primary" @click="load" style="margin-left: 10px">查询</Button> <Button type="primary" @click="load" style="margin-left: 10px">查询</Button>
<Button type="primary" @click="edit()" style="margin-left: 10px">新增用户</Button> <Button type="primary" @click="edit()" style="margin-left: 10px">新增用户</Button>
</div> </div>
@ -48,6 +48,24 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination
style="margin-top: 10px;"
:current-page.sync="select.page"
:page-sizes="[20, 30, 40, 50]"
:page-size.sync="select.page_size"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="e => {
select.page_size = e;
select.page = 1;
getList();
}"
@current-change="e => {
select.page = e;
getList();
}"
/>
</div> </div>
<el-dialog modal-append-to-body append-to-body title="用户编辑" :visible.sync="dialogFormVisible" width="30%"> <el-dialog modal-append-to-body append-to-body title="用户编辑" :visible.sync="dialogFormVisible" width="30%">
<el-form :model="form" :rules="rules" ref="form" label-position="right" :label-width="formLabelWidth"> <el-form :model="form" :rules="rules" ref="form" label-position="right" :label-width="formLabelWidth">
@ -147,9 +165,12 @@
}, },
tableHeight: 0, tableHeight: 0,
// //
searchFields: { select: {
KeyWord: "" page: 1,
keyword: '',
page_size: 20
}, },
total: 0,
tableData: [] tableData: []
} }
}, },
@ -171,10 +192,11 @@
//reject(error) //reject(error)
}) })
}, },
load() { getList() {
var that = this; const that = this
listuser().then(response => { listuser(this.select).then(response => {
var data = response.data; var data = response.data;
this.total = response.total;
var _rolelist = []; var _rolelist = [];
for (var m of data) { for (var m of data) {
_rolelist = that.roleList; _rolelist = that.roleList;
@ -200,8 +222,15 @@
//reject(error) //reject(error)
}) })
}, },
load() {
this.getList()
},
async getDepartmentList() { async getDepartmentList() {
const res = await listdept(); const res = await listdept({
page: 1,
page_size: 9999
});
this.departmentList = res; this.departmentList = res;
}, },
hasRoles(roles, id) { hasRoles(roles, id) {

Loading…
Cancel
Save