Commit ed11a2d2 authored by 姬鋆屾's avatar 姬鋆屾

tui

parent 0aac261e
...@@ -16,6 +16,9 @@ export default { ...@@ -16,6 +16,9 @@ export default {
}, },
]; ];
} }
data.entity.inspect && data.entity.inspect == 1
? (data.entity.inspect = true)
: (data.entity.inspect = false);
return data; return data;
}, },
// 渲染后置处理 // 渲染后置处理
...@@ -33,10 +36,8 @@ export default { ...@@ -33,10 +36,8 @@ export default {
data.leavePersonId = Number(key); data.leavePersonId = Number(key);
} }
} }
console.log(this.dict.staffList);
} }
} }
return data; return data;
}, },
// 提交表单的后置处理, 会阻断默认的回退行为 // 提交表单的后置处理, 会阻断默认的回退行为
...@@ -56,7 +57,6 @@ export default { ...@@ -56,7 +57,6 @@ export default {
// 默认拉取数据 // 默认拉取数据
getData() { getData() {
this.loading = true; this.loading = true;
this.$get(this.urls.currUrl || this.pageInfo.currUrl, this.query) this.$get(this.urls.currUrl || this.pageInfo.currUrl, this.query)
.then(({ data }) => { .then(({ data }) => {
const res = this.beforeRender(data); const res = this.beforeRender(data);
...@@ -68,7 +68,14 @@ export default { ...@@ -68,7 +68,14 @@ export default {
res.entity = this.util_toDateStr(res.entity, this.toDate); res.entity = this.util_toDateStr(res.entity, this.toDate);
this.form = Object.assign({}, this.form, res.entity); this.form = Object.assign({}, this.form, res.entity);
this.dict = Object.assign({}, this.dict, res.dict); this.dict = Object.assign({}, this.dict, res.dict);
this.$route.name == "window/owner/list"
? this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.dict.staffList = res.data.data;
this.afterRender(res); this.afterRender(res);
}
})
: this.afterRender(res);
}) })
.catch((error) => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
...@@ -102,6 +109,7 @@ export default { ...@@ -102,6 +109,7 @@ export default {
this.form.leaveType this.form.leaveType
? (this.form.leaveType = this.form.leaveType.toString()) ? (this.form.leaveType = this.form.leaveType.toString())
: ""; : "";
this.form.inspect ? (this.form.inspect = 1) : (this.form.inspect = 0);
this.$post(url, this.beforeSubmit(this.form)) this.$post(url, this.beforeSubmit(this.form))
.then((res) => { .then((res) => {
this.$message.success(res.msg); this.$message.success(res.msg);
......
...@@ -133,7 +133,6 @@ export default { ...@@ -133,7 +133,6 @@ export default {
val.length == 0 || val.length > 0 val.length == 0 || val.length > 0
? (this.emptytxt = "暂无数据") ? (this.emptytxt = "暂无数据")
: (this.emptytxt = "加载中..."); : (this.emptytxt = "加载中...");
// if (val.length > 0) { // if (val.length > 0) {
// val.forEach((v) => { // val.forEach((v) => {
// for (let key in v) { // for (let key in v) {
......
...@@ -254,6 +254,11 @@ export default { ...@@ -254,6 +254,11 @@ export default {
computed: { computed: {
field: { field: {
get() { get() {
if (Array.isArray(this.value)) {
this.value = this.value.map((v) => {
return typeof v == 'number' ? v + "" : v;
});
}
return this.value; return this.value;
}, },
set(val) { set(val) {
......
...@@ -271,6 +271,8 @@ export default { ...@@ -271,6 +271,8 @@ export default {
this.$route.name == "perform/gowork/record/list" || this.$route.name == "perform/gowork/record/list" ||
this.$route.name == "perform/effect/record/list" || this.$route.name == "perform/effect/record/list" ||
this.$route.name == "perform/other/record/list" || this.$route.name == "perform/other/record/list" ||
this.$route.name == "perform/attend/appeal/list" ||
this.$route.name == "window/owner/list" ||
this.$route.name == "staff/perform/summary/list" this.$route.name == "staff/perform/summary/list"
) { ) {
this.getArr(); this.getArr();
......
This diff is collapsed.
...@@ -242,6 +242,7 @@ ...@@ -242,6 +242,7 @@
:prePageResult="data.pageInfo.prePageResult" :prePageResult="data.pageInfo.prePageResult"
/> />
</div> </div>
<slot name="table-foot" class="table-foot"></slot>
</div> </div>
</template> </template>
......
...@@ -120,7 +120,7 @@ export default { ...@@ -120,7 +120,7 @@ export default {
? [ ? [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" }, { label: "窗口首席代表", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
...@@ -165,6 +165,16 @@ export default { ...@@ -165,6 +165,16 @@ export default {
prop: "submitDate", prop: "submitDate",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{
label: "核查人",
prop: "submitDate",
formatter: this.formatterDate,
},
{
label: "最新核查时间",
prop: "submitDate",
formatter: this.formatterDate,
},
{ {
label: "处理状态", label: "处理状态",
prop: "checkStatus", prop: "checkStatus",
......
...@@ -119,18 +119,17 @@ export default { ...@@ -119,18 +119,17 @@ export default {
}`; }`;
}, },
}, },
{
label: "所属部门名称",
prop: "deptName",
formatter: this.formatter,
},
{ {
label: "所属大厅", label: "所属大厅",
prop: "salaName", prop: "salaName",
formatter: this.formatter, formatter: this.formatter,
}, },
{
label: "部门(单位)名称",
prop: "deptName",
formatter: this.formatter,
},
{ {
label: "工作纪律", label: "工作纪律",
prop: "discipline", prop: "discipline",
......
...@@ -57,12 +57,12 @@ ...@@ -57,12 +57,12 @@
align="center" align="center"
> >
</el-table-column> </el-table-column>
<el-table-column <!-- <el-table-column
prop="evaluation" prop="evaluation"
label="群众评议" label="群众评议"
align="center" align="center"
> >
</el-table-column> </el-table-column> -->
<el-table-column <el-table-column
prop="efficiency" prop="efficiency"
label="工作效能" label="工作效能"
......
...@@ -121,7 +121,7 @@ export default { ...@@ -121,7 +121,7 @@ export default {
? [ ? [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" }, { label: "窗口首席代表", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
...@@ -148,7 +148,7 @@ export default { ...@@ -148,7 +148,7 @@ export default {
}, },
{ {
label: "考核窗口", label: "窗口(单位)名称",
formatter: (row) => { formatter: (row) => {
return `${row.windowName ? row.windowName : "--"}`; return `${row.windowName ? row.windowName : "--"}`;
}, },
......
...@@ -199,10 +199,16 @@ export default { ...@@ -199,10 +199,16 @@ export default {
label: "全部类型", label: "全部类型",
fuzzy: false, fuzzy: false,
}, },
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
},
{ {
name: "deptId", name: "deptId",
type: "select", type: "selectDeptId",
label: "全部部门", label: "部门",
fuzzy: false, fuzzy: false,
}, },
{ {
...@@ -223,7 +229,7 @@ export default { ...@@ -223,7 +229,7 @@ export default {
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "姓名", prop: "staffName", formatter: this.formatter }, { label: "姓名", prop: "staffName", formatter: this.formatter },
{ label: "所属大厅", prop: "salaName", formatter: this.formatter },
{ label: "所属部门", prop: "deptName", formatter: this.formatter }, { label: "所属部门", prop: "deptName", formatter: this.formatter },
{ {
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "PerformErrorRecordList", name: "PerformErrorRecordList",
components: { components: {
drawerShow drawerShow,
},
mixins: [table],
created() {
}, },
mixins: [table],
created() {},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -33,7 +30,6 @@ ...@@ -33,7 +30,6 @@
toView(row) { toView(row) {
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
data() { data() {
return { return {
...@@ -43,118 +39,152 @@ ...@@ -43,118 +39,152 @@
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "员工姓名", label: "员工姓名",
fuzzy: true fuzzy: true,
}, },
{ {
name: "workNum", name: "workNum",
type: "text", type: "text",
label: "工号", label: "工号",
fuzzy: true fuzzy: true,
}, },
{ {
name: "windowNum", name: "windowNum",
type: "text", type: "text",
label: "窗口编号", label: "窗口编号",
fuzzy: true fuzzy: true,
}, },
{ {
name: "deptName", name: "deptName",
type: "text", type: "text",
label: "所属部门名称", label: "所属部门名称",
fuzzy: true fuzzy: true,
}, },
{ {
name: "irregularType", name: "irregularType",
type: "select", type: "select",
label: "违规类型", label: "违规类型",
fuzzy: true fuzzy: true,
}, },
{ {
name: "happenTime", name: "happenTime",
type: "date", type: "date",
label: "发生时间", label: "发生时间",
fuzzy: true fuzzy: true,
}, },
{ {
name: "duration", name: "duration",
type: "text", type: "text",
label: "持续时间,秒", label: "持续时间,秒",
fuzzy: true fuzzy: true,
}, },
{ {
name: "ruleName", name: "ruleName",
type: "text", type: "text",
label: "规则名称", label: "规则名称",
fuzzy: true fuzzy: true,
}, },
{ {
name: "deductPerson", name: "deductPerson",
type: "text", type: "text",
label: "扣分人员", label: "扣分人员",
fuzzy: true fuzzy: true,
}, },
{ {
name: "score", name: "score",
type: "text", type: "text",
label: "扣分或增加分值", label: "扣分或增加分值",
fuzzy: true fuzzy: true,
}, },
], ],
columns: [ columns: [
{type: "selection", width: 60}, { type: "selection", width: 60 },
{type: "index",label: "序号",width: 50}, { type: "index", label: "序号", width: 50 },
{label: "员工姓名", prop: "staffName"}, { label: "员工姓名", prop: "staffName" },
{label: "工号", prop: "workNum"}, { label: "工号", prop: "workNum" },
{label: "窗口编号", prop: "windowNum"}, { label: "窗口编号", prop: "windowNum" },
{label: "所属部门", prop: "deptId", formatter: this.formatter}, { label: "所属部门", prop: "deptId", formatter: this.formatter },
{label: "所属部门名称", prop: "deptName"}, { label: "所属部门名称", prop: "deptName" },
{label: "违规类型", prop: "irregularType",formatter: this.formatter}, {
label: "违规类型",
prop: "irregularType",
formatter: this.formatter,
},
{label: "发生时间", prop: "happenTime", formatter: this.formatterDate}, {
label: "发生时间",
prop: "happenTime",
formatter: this.formatterDate,
},
{label: "持续时间,秒", prop: "duration",formatter: this.formatter}, {
label: "持续时间,秒",
prop: "duration",
formatter: this.formatter,
},
{label: "报警时间", prop: "alarmTime", formatter: this.formatterDate}, {
label: "报警时间",
prop: "alarmTime",
formatter: this.formatterDate,
},
{label: "图片凭证地址", prop: "snapPath"}, { label: "图片凭证地址", prop: "snapPath" },
{label: "规则名称", prop: "categoryName"}, { label: "规则名称", prop: "categoryName" },
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter}, { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{label: "规则名称", prop: "ruleName"}, { label: "规则名称", prop: "ruleName" },
{label: "扣分方式", prop: "subMethod",formatter: this.formatter}, { label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{label: "扣分人员", prop: "deductPerson"}, { label: "扣分人员", prop: "deductPerson" },
{label: "扣分时间", prop: "deductTime", formatter: this.formatterDate}, {
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{label: "增减类型", prop: "subAddType",formatter: this.formatter}, { label: "增减类型", prop: "subAddType", formatter: this.formatter },
{label: "扣分或增加分值", prop: "score", formatter: this.formatter}, { label: "扣分或增加分值", prop: "score", formatter: this.formatter },
{label: "处理状态", prop: "processStatus",formatter: this.formatter}, {
label: "处理状态",
prop: "processStatus",
formatter: this.formatter,
},
{label: "创建用户", prop: "createUserId", formatter: this.formatter}, {
label: "创建用户",
prop: "createUserId",
formatter: this.formatter,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
); );
} },
} },
] ],
} },
};
}
}; };
},
};
</script> </script>
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
<p> <p>
<span>服务规范</span> <span>服务规范</span>
<p> <p>
{"(考勤绩效 *" + data.dict.weightPdu.attendWeight + "%"} {"(考勤绩效/" + data.dict.weightPdu.attendWeight + ""}
</p> </p>
</p> </p>
)) ))
...@@ -90,7 +90,9 @@ export default { ...@@ -90,7 +90,9 @@ export default {
? (v.label = ( ? (v.label = (
<p> <p>
<span>群众评议</span> <span>群众评议</span>
<p>{"" + data.dict.weightPdu.reviewWeight + "分)"}</p> <p>
{"(评价绩效/" + data.dict.weightPdu.reviewWeight + "分)"}
</p>
</p> </p>
)) ))
: v.label == "工作效能" : v.label == "工作效能"
...@@ -98,7 +100,7 @@ export default { ...@@ -98,7 +100,7 @@ export default {
<p> <p>
<span>工作效能</span> <span>工作效能</span>
<p> <p>
{"(办件绩效 *" + data.dict.weightPdu.goworkWeight + "%"} {"(办件绩效/" + data.dict.weightPdu.goworkWeight + ""}
</p> </p>
</p> </p>
)) ))
...@@ -107,7 +109,7 @@ export default { ...@@ -107,7 +109,7 @@ export default {
<p> <p>
<span>工作纪律</span> <span>工作纪律</span>
<p> <p>
{"(效能绩效 *" + data.dict.weightPdu.effectWeight + "%"} {"(效能绩效/" + data.dict.weightPdu.effectWeight + ""}
</p> </p>
</p> </p>
)) ))
......
...@@ -46,8 +46,14 @@ ...@@ -46,8 +46,14 @@
v-model="form.mobile" v-model="form.mobile"
:maxLength="11" :maxLength="11"
/> />
<Field label="用户类型" prop="userType" v-model="form.userType" :enumData='dict.userType' type='select' /> <Field
<!-- <Field label="用户状态" prop="status" v-model="form.status" :enumData='dict.status' type='select' />--> label="用户类型"
prop="userType"
v-model="form.userType"
:enumData="dict.userType"
type="select"
/>
<!-- <Field label="用户状态" prop="status" v-model="form.status" :enumData='dict.status' type='select' />-->
<Field <Field
label="角色分配" label="角色分配"
:span="24" :span="24"
...@@ -93,7 +99,7 @@ export default { ...@@ -93,7 +99,7 @@ export default {
loginName: [ loginName: [
{ required: true, message: "请输入英文的用户名", trigger: "blur" }, { required: true, message: "请输入英文的用户名", trigger: "blur" },
{ {
validator: function (rule, value, callback) { validator: function(rule, value, callback) {
// 校验英文的正则 // 校验英文的正则
if (/[A-Za-z0-9]$/.test(value) == false) { if (/[A-Za-z0-9]$/.test(value) == false) {
callback(new Error("请输入英文")); callback(new Error("请输入英文"));
...@@ -145,24 +151,39 @@ export default { ...@@ -145,24 +151,39 @@ export default {
}, },
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
let arr = [];
// for (let key in data.dict.roleIds) {
// let obj = {};
// obj["value"] = key;
// obj["label"] = data.dict.roleIds[key];
// arr.push(obj);
// }
// data.dict.roleIds = arr;
if (data.entity.roleIds && data.entity.roleIds.length) {
data.entity.roleIds = data.entity.roleIds.map((v) => {
return v + "";
});
}
console.log(data.entity.roleIds, "1111");
this.$forceUpdate();
this.open = true; this.open = true;
}, },
beforeSubmit(data) { // beforeSubmit(data) {
data.roleIds = data.roleIds // data.roleIds = data.roleIds
.filter((item) => { // .filter((item) => {
return item !== ""; // return item !== "";
}) // })
.join(","); // .join(",");
return data; // return data;
}, // },
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = {roleIds:""}; this.form = { roleIds: "" };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -193,5 +214,3 @@ export default { ...@@ -193,5 +214,3 @@ export default {
}, },
}; };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig" notDel/> <LayoutTable :data="tableData" :config="tableConfig" notAdd notDel />
<dialog-show ref="dialogform" @ok="getData"/> <dialog-show ref="dialogform" @ok="getData" />
<el-dialog title="用户已分配的角色" :visible.sync="role.visible"> <el-dialog title="用户已分配的角色" :visible.sync="role.visible">
<el-form :model="role.form"> <el-form :model="role.form">
<el-checkbox-group v-model="role.checkList" :min="500"> <el-checkbox-group v-model="role.checkList" :min="500">
<el-checkbox <el-checkbox v-for="item in allRoles" :key="item.id" :label="item.id"
v-for="item in allRoles"
:key="item.id"
:label="item.id"
>{{ item.name }} >{{ item.name }}
</el-checkbox </el-checkbox>
>
</el-checkbox-group> </el-checkbox-group>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -70,18 +66,13 @@ ...@@ -70,18 +66,13 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
:title="userPasswordDialog.title" :title="userPasswordDialog.title"
hei hei
:visible.sync="userPasswordDialog.open" :visible.sync="userPasswordDialog.open"
width="40%" width="40%"
> >
<el-form <el-form ref="form" label-width="110px" label-position="right">
ref="form"
label-width="110px"
label-position="right"
>
<el-row> <el-row>
<Field <Field
:span="20" :span="20"
...@@ -91,7 +82,6 @@ ...@@ -91,7 +82,6 @@
v-model="userPasswordDialog.data.loginName" v-model="userPasswordDialog.data.loginName"
/> />
<Field <Field
:span="20" :span="20"
label="重置密码" label="重置密码"
...@@ -101,25 +91,20 @@ ...@@ -101,25 +91,20 @@
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="updatePasswordConfirm">确 定</el-button> <el-button type="primary" @click="updatePasswordConfirm"
>确 定</el-button
>
<el-button @click="userPasswordDialog.open = false">取 消</el-button> <el-button @click="userPasswordDialog.open = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
:title="userLoginDialog.title" :title="userLoginDialog.title"
:visible.sync="userLoginDialog.open" :visible.sync="userLoginDialog.open"
width="40%" width="40%"
> >
<el-form <el-form ref="form" label-width="110px" label-position="right">
ref="form"
label-width="110px"
label-position="right"
>
<el-row> <el-row>
<Field <Field
:span="20" :span="20"
label="登录名称" label="登录名称"
...@@ -139,9 +124,7 @@ ...@@ -139,9 +124,7 @@
<el-button type="primary" @click="updateLoginConfirm">确 定</el-button> <el-button type="primary" @click="updateLoginConfirm">确 定</el-button>
<el-button @click="userLoginDialog.open = false">取 消</el-button> <el-button @click="userLoginDialog.open = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -151,10 +134,10 @@ import table from "@/assets/mixins/table"; ...@@ -151,10 +134,10 @@ import table from "@/assets/mixins/table";
export default { export default {
mixins: [table], mixins: [table],
components: {dialogShow}, components: { dialogShow },
methods: { methods: {
// 打开弹窗 // 打开弹窗
async findRole({id}) { async findRole({ id }) {
try { try {
this.tableData.loading = true; this.tableData.loading = true;
this.allRoles = await this.getUserRoles(id); this.allRoles = await this.getUserRoles(id);
...@@ -167,7 +150,7 @@ export default { ...@@ -167,7 +150,7 @@ export default {
this.tableData.loading = false; this.tableData.loading = false;
}, },
renderContent: function (h, {node, data, store}) { renderContent: function(h, { node, data, store }) {
return ( return (
<span> <span>
<i style="font-size:16px;color:#409EFF" class={data.icon}></i> <i style="font-size:16px;color:#409EFF" class={data.icon}></i>
...@@ -181,7 +164,7 @@ export default { ...@@ -181,7 +164,7 @@ export default {
} }
this.$get("/dept/getListByParentId", { this.$get("/dept/getListByParentId", {
parentId: node.data.id, parentId: node.data.id,
}).then(({data}) => { }).then(({ data }) => {
resolve(data.result); resolve(data.result);
}); });
}, },
...@@ -250,14 +233,14 @@ export default { ...@@ -250,14 +233,14 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$get("/dept/getListByParentId", { this.$get("/dept/getListByParentId", {
parentId: 0, parentId: 0,
}).then(({data}) => { }).then(({ data }) => {
this.data = data.result; this.data = data.result;
this.node = {}; this.node = {};
}); });
this.userDeptDialog.open = true; this.userDeptDialog.open = true;
}).catch(error => { }).catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}) });
this.tableData.loading = false; this.tableData.loading = false;
}, },
...@@ -279,9 +262,10 @@ export default { ...@@ -279,9 +262,10 @@ export default {
this.tableData.loading = true; this.tableData.loading = true;
this.$post("/user/save", { this.$post("/user/save", {
"id": this.userPasswordDialog.data.id, id: this.userPasswordDialog.data.id,
"loginPwd": this.userPasswordDialog.data.loginPwd, loginPwd: this.userPasswordDialog.data.loginPwd,
}).then((res) => { })
.then((res) => {
if (res && res.code == 1) { if (res && res.code == 1) {
this.userPasswordDialog.data = {}; this.userPasswordDialog.data = {};
this.$message.success("修改密码成功!"); this.$message.success("修改密码成功!");
...@@ -291,9 +275,10 @@ export default { ...@@ -291,9 +275,10 @@ export default {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
this.tableData.loading = false; this.tableData.loading = false;
}).catch(error => {
this.$message.error(error.message);
}) })
.catch((error) => {
this.$message.error(error.message);
});
}, },
updateLoginName(row) { updateLoginName(row) {
...@@ -313,10 +298,11 @@ export default { ...@@ -313,10 +298,11 @@ export default {
console.log("修改登录名"); console.log("修改登录名");
this.tableData.loading = true; this.tableData.loading = true;
this.$post("/login/reLoginName", { this.$post("/login/reLoginName", {
"id": this.userLoginDialog.data.id, id: this.userLoginDialog.data.id,
"loginName": this.userLoginDialog.data.loginName, loginName: this.userLoginDialog.data.loginName,
"userType": this.userLoginDialog.data.userType userType: this.userLoginDialog.data.userType,
}).then((res) => { })
.then((res) => {
if (res && res.code == 1) { if (res && res.code == 1) {
this.userLoginDialog.data = {}; this.userLoginDialog.data = {};
this.$message.success("修改登录名成功!"); this.$message.success("修改登录名成功!");
...@@ -326,16 +312,17 @@ export default { ...@@ -326,16 +312,17 @@ export default {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
this.tableData.loading = false; this.tableData.loading = false;
}).catch(error => {
this.$message.error(error.message);
}) })
.catch((error) => {
this.$message.error(error.message);
});
}, },
// 获取用户角色列表 // 获取用户角色列表
getUserRoles(id) { getUserRoles(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/role/roleNameByUserId", {userId: id}) this.$post("/role/roleNameByUserId", { userId: id })
.then(({data}) => { .then(({ data }) => {
resolve(data); resolve(data);
}) })
.catch(reject); .catch(reject);
...@@ -347,7 +334,7 @@ export default { ...@@ -347,7 +334,7 @@ export default {
userId: id, userId: id,
size: -1, size: -1,
}) })
.then(({data}) => { .then(({ data }) => {
const result = data.data const result = data.data
.filter((i) => i.roleId + "") .filter((i) => i.roleId + "")
.map((i) => i.roleId + ""); .map((i) => i.roleId + "");
...@@ -420,8 +407,8 @@ export default { ...@@ -420,8 +407,8 @@ export default {
config: { config: {
isshowTabPane: true, isshowTabPane: true,
columns: [ columns: [
{type: "selection", reserveSelection: true, width: 60}, { type: "selection", reserveSelection: true, width: 60 },
{type: "index", label: "序号", align: "center", width: 50}, { type: "index", label: "序号", align: "center", width: 50 },
{ {
prop: "loginName", prop: "loginName",
label: "登录名称", label: "登录名称",
......
...@@ -6,14 +6,20 @@ ...@@ -6,14 +6,20 @@
:direction="direction" :direction="direction"
size="50%" size="50%"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="100px" style="padding: 20px;"> <el-form
ref="form"
:model="form"
:rules="rules"
label-width="100px"
style="padding: 20px;"
>
<el-row> <el-row>
<Field <Field
type="select" type="select"
label="负责人姓名" label="负责人姓名"
prop="staffId" prop="staffId"
filterable filterable
:disabled="editId?true:false" :disabled="editId ? true : false"
v-model="form.staffId" v-model="form.staffId"
:enumData="userList" :enumData="userList"
placeholder="请输入负责人姓名" placeholder="请输入负责人姓名"
...@@ -24,6 +30,14 @@ ...@@ -24,6 +30,14 @@
v-model="form.phone" v-model="form.phone"
placeholder="请输入联系电话" placeholder="请输入联系电话"
/> />
<Field
label="角色"
prop="roleType"
type="select"
v-model="form.roleType"
:enumData="dict.roleType"
placeholder="请选择角色"
/>
<Field <Field
label="大厅" label="大厅"
prop="salaId" prop="salaId"
...@@ -40,6 +54,10 @@ ...@@ -40,6 +54,10 @@
:enumData="dict.deptId" :enumData="dict.deptId"
placeholder="请选择部门" placeholder="请选择部门"
/> />
<el-form-item label="是否允许巡查" prop="inspect">
<el-checkbox v-model="form.inspect">允许</el-checkbox>
</el-form-item>
<!-- <Field <!-- <Field
label="工号" label="工号"
prop="number" prop="number"
...@@ -62,12 +80,18 @@ ...@@ -62,12 +80,18 @@
/> --> /> -->
</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;">
<wintable
<wintable :editId="editId" ref="wintable" :hallId="dict.hallId" class="wintabel" @selection-change="selectionChange"/> :editId="editId"
ref="wintable"
:hallId="dict.hallId"
class="wintabel"
:checkPeopleArr="checkPeopleArr"
@selection-change="selectionChange"
:staffList="dict.staffList"
/>
</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>
</div> </div>
</el-form> </el-form>
</el-drawer> </el-drawer>
...@@ -80,18 +104,18 @@ export default { ...@@ -80,18 +104,18 @@ export default {
name: "WindowOwnerDetail", name: "WindowOwnerDetail",
mixins: [form], mixins: [form],
components: { components: {
wintable wintable,
}, },
created() { created() {
this.changePath("window/owner"); this.changePath("window/owner");
this.getUser() this.getUser();
}, },
data() { data() {
return { return {
// 大厅 // 大厅
options:[], options: [],
//窗口 //窗口
tableData:[], tableData: [],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
...@@ -103,45 +127,48 @@ export default { ...@@ -103,45 +127,48 @@ export default {
toDate: [], toDate: [],
// 表单校验 // 表单校验
rules: { rules: {
name: [ staffId: [{ required: true, message: "请选择负责人", trigger: "blur" }],
{ required: true, message: "请输入姓名", trigger: "blur" }, },
{ max: 20, message: "最多只能录入20个字符", trigger: "blur" }, userList: {},
] userarr: [], //人员数组
}, checkArr: [], //选中窗口
userList:{}, checkPeopleArr: [], //选中窗口
userarr:[],//人员数组 editId: "", //编辑id
checkArr:[],//选中窗口
editId:''//编辑id
}; };
}, },
methods: { methods: {
//重写表单 //重写表单
beforeSubmit(data){ beforeSubmit(data) {
data['deptName'] = this.dict.deptId[data.deptId] data["deptName"] = this.dict.deptId[data.deptId];
data['salaName'] = this.dict.salaId[data.salaId] data["salaName"] = this.dict.salaId[data.salaId];
data['staffName'] = this.userList[data.staffId] data["staffName"] = this.userList[data.staffId];
try { try {
const userObj = this.userarr.find(v=>v.id == data.staffId) //工号 const userObj = this.userarr.find((v) => v.id == data.staffId); //工号
data['number'] = userObj.workNum data["number"] = userObj.workNum;
// 窗口列表 // 窗口列表
const checkArr = [] const checkArr = [];
this.checkArr.forEach(v=>{ this.checkArr.forEach((v) => {
checkArr.push({ checkArr.push({
windowId:v.id, windowId: v.id,
windowName:v.name, windowName: v.name,
windowCode:v.fromnum, windowCode: v.fromnum,
building:v.building, building: v.building,
level:v.level level: v.level,
}) });
}) });
data['windowOwnerDetailList'] = checkArr data["windowOwnerDetailList"] = checkArr;
} catch (error) {} } catch (error) {}
return data let arr = Array.from(new Set(this.$refs.wintable.checkAllList));
console.log(this.checkAllList);
data.staffIdList = arr ? arr : [];
return data;
}, },
// 选中窗口 // 选中窗口
selectionChange(v){ selectionChange(v) {
this.checkArr = v // this.checkArr = v;
// this.checkPeopleArr = v;
console.log(v, "vvvvvv");
}, },
cascaderChange(val) { cascaderChange(val) {
if (this.deptList.length > 0) { if (this.deptList.length > 0) {
...@@ -152,35 +179,33 @@ export default { ...@@ -152,35 +179,33 @@ export default {
console.log(this.form.deptId, "当前选择"); console.log(this.form.deptId, "当前选择");
}, },
// 查询人员 // 查询人员
getUser(){ getUser() {
this.$post("/staff/list",{page:1,size:-1}).then(res=>{ this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
const {code,data} = res const { code, data } = res;
if(code == 1){ if (code == 1) {
this.userarr = data.data this.userarr = data.data;
const arr = {} const arr = {};
data.data.forEach(element => { data.data.forEach((element) => {
arr[element.id] = element.name arr[element.id] = element.name;
}); });
this.userList = arr this.userList = arr;
} }
}) });
},
onSubmitSearch(){
}, },
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.editId = row.staffId this.editId = row.staffId;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "window/owner/edit"; this.urls.currUrl = "window/owner/edit";
this.getData(); this.getData();
this.checkPeopleArr = row.staffIdList;
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改窗口负责人"; this.title = "修改窗口负责人";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.editId = '' this.editId = "";
this.reset(); this.reset();
this.urls.currUrl = "window/owner/add"; this.urls.currUrl = "window/owner/add";
this.getData(); this.getData();
...@@ -189,7 +214,7 @@ export default { ...@@ -189,7 +214,7 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.editId = row.staffId this.editId = row.staffId;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "window/owner/view"; this.urls.currUrl = "window/owner/view";
...@@ -233,7 +258,7 @@ export default { ...@@ -233,7 +258,7 @@ export default {
}; };
</script> </script>
<style lang="less"> <style lang="less">
.wintabel .table-body{ .wintabel .table-body {
height: 500px; height: 500px;
overflow-y: auto; overflow-y: auto;
} }
......
...@@ -36,6 +36,24 @@ export default { ...@@ -36,6 +36,24 @@ export default {
config: { config: {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
},
{
name: "roleType",
type: "select",
label: "角色",
fuzzy: false,
},
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
...@@ -56,8 +74,8 @@ export default { ...@@ -56,8 +74,8 @@ export default {
{ label: "电话号码", prop: "phone" }, { label: "电话号码", prop: "phone" },
{ {
label: "负责窗口数量", label: "关联人数",
prop: "windowCount", prop: "staffCount",
formatter: this.formatter, formatter: this.formatter,
}, },
......
<template> <template>
<LayoutTable :toggleRowSelection="toggleRowSelection" ref="LayoutTable" :data="tableData" :config="tableConfig" @selection-change="handleSelectionChange"> <div>
<div slot="table-head-left"><div>请选择窗口</div></div> <div class="search_box">
<div slot="table-head-center"></div> <SearchForm
</LayoutTable> :search="config.search"
:page="baseInfo.current_page"
@getData="onSubmit"
ref="search"
/>
</div>
<el-table
ref="multipleTable"
:data="baseInfo.data ? baseInfo.data : []"
tooltip-effect="dark"
style="width: 100%"
@select="handleSelectionChange"
@select-all="handleAllChange"
>
<el-table-column
v-for="(val, i) in config.columns"
:key="i"
:type="val.type"
:width="val.width"
:label="val.label"
:prop="val.prop"
:formatter="val.formatter"
:align="val.align ? val.align : 'center'"
>
</el-table-column>
</el-table>
<el-pagination
@current-change="handleCurrentChange"
:current-page.sync="baseInfo.current_page"
layout="total, prev, pager, next"
:total="baseInfo.total"
style="margin-top: 10px;width: 100%;text-align: end;"
>
</el-pagination>
</div>
</template> </template>
<script> <script>
import table from "@/assets/mixins/table"; import SearchForm from "@/components/SearchFormDrawer.vue";
export default { export default {
props:['hallId','checkId','editId'], components: { SearchForm },
mixins: [table], props: ["hallId", "checkId", "editId", "checkPeopleArr", "staffList"],
methods:{
handleSelectionChange(v){ methods: {
this.$emit("selection-change",v) handleSelectionChange(selecteds, row) {
}, if (!this.checkAllList.includes(row.id)) {
beforeFecth(){ // 回显数据里没有本条,把这条加进来(选中)
this.pageInfo.list = '/window/owner/subWindowList' this.checkAllList.push(row.id);
} else {
// 回显数据里有本条,把这条删除(取消选中)
this.checkAllList.forEach((id, index) => {
if (id === row.id) {
this.checkAllList = this.checkAllList.filter((v) => id !== v);
}
});
this.checkPeopleArr.forEach((id) => {
if (id == row.id) {
this.checkPeopleArr = this.checkPeopleArr.filter((v) => id !== v);
}
});
}
let arr = Array.from(new Set(this.checkAllList));
this.checkAllList = arr;
console.log(this.checkAllList);
}, },
//重写 // 全选、取消全选
afterRender(info){ handleAllChange(selecteds) {
const {data} = info selecteds = selecteds.filter((v) => (v ? v : ""));
if(this.editId){ console.log(selecteds);
// 编辑的时候回显 if (selecteds.length > 0) {
const toggleRowSelection = [] selecteds.forEach((item) => {
data.forEach(element => { if (!this.checkAllList.includes(item.id)) {
if(element.selected == 1){ this.checkAllList.push(item.id);
toggleRowSelection.push(element)
} }
}); });
setTimeout(()=>{ let arr = Array.from(new Set(this.checkAllList));
this.toggleRowSelection = toggleRowSelection this.checkAllList = arr;
}) } else {
this.baseInfo.data.forEach((item) => {
this.checkAllList.forEach((id, index) => {
if (id === item.id) {
this.checkAllList.splice(index, 1);
} }
});
});
let arr = Array.from(new Set(this.checkAllList));
this.checkAllList = arr;
this.baseInfo.data.forEach((item) => {
this.checkPeopleArr.forEach((id, index) => {
if (id === item.id) {
this.checkPeopleArr.splice(index, 1);
}
});
});
} }
}, },
created(){
this.config.search[0].enumData = this.hallId
console.log(this.editId,"editId")
handleCurrentChange(val) {
this.baseInfo.current_page = val;
this.$refs.search.onSubmit();
}, },
watch: { onSubmit(val) {
editId:{ this.baseInfo = val;
handler:function(v){ this.checkAllList = [...this.checkAllList, ...this.checkPeopleArr];
if(v){ if (this.staffList && this.staffList.length) {
this.query = {staffId:v} this.$nextTick(() => {
}else{ this.staffList
this.query = {} ? this.staffList.forEach((v) => {
this.checkAllList.forEach((val, i) => {
if (v.id == val) {
this.checkAllList[i] = v.id;
} }
this.getData() });
}, })
immediate:true : "";
this.baseInfo.data
? this.checkAllList.forEach((key) => {
this.$refs.multipleTable.toggleRowSelection(
this.baseInfo.data.find((row) => {
if (row.id == key) {
return row;
} }
}),
true
);
})
: "";
});
}
},
}, },
data(){ created() {
this.config.search[0].enumData = this.hallId;
},
mounted() {},
watch: {},
data() {
return { return {
toggleRowSelection:[], checkAllList: [],
checkList: [],
baseInfo: {},
total: 0,
currentPage: 1,
toggleRowSelection: [],
config: { config: {
downloadUrl:"", downloadUrl: "",
isshowTabPane: false, isshowTabPane: false,
search: [ search: [
{ {
name: "hallId", name: "salaId",
type: "select", type: "selectSalaId",
label: "大厅", label: "大厅",
enumData:{} fuzzy: false,
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
}, },
{ {
name: "deptName", name: "name",
type: "text", type: "text",
label: "窗口名称", label: "工作人员姓名",
fuzzy: true, fuzzy: true,
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
// { type: "index", label: "序号", width: 50 }, {
label: "序号",
width: 50,
formatter: (row, column, cellValue, index) => {
return index + 1;
},
},
{ label: "窗口名称", prop: "name" }, { label: "工作人员姓名", prop: "name" },
{ label: "编号", prop: "fromnum" }, { label: "工号", prop: "workNum" },
{ label: "所属楼栋", prop: "building" }, { label: "手机号码", prop: "phoneNumber" },
{ label: "所属楼层", prop: "level" }, { label: "所属大厅", prop: "salaName" },
{ label: "所属部门", prop: "deptName" },
// { // {
// label: "操作", // label: "操作",
// width: 240, // width: 100,
// formatter: (row) => { // formatter: (row) => {
// return ( // if (row.check) {
// <table-buttons // return <span style="cursor:pointer;color:#ff0000">已选中</span>;
// noAdd // } else {
// row={row} // return <span style="cursor:pointer;color:#1890ff">选择</span>;
// onEdit={this.toEdit} // }
// onView={this.toView}
// onDel={this.toDel}
// />
// );
// }, // },
// }, // },
], ],
}, },
} };
}, },
} };
</script> </script>
...@@ -108,14 +108,14 @@ export default { ...@@ -108,14 +108,14 @@ export default {
name: "ownerName", name: "ownerName",
type: "text", type: "text",
width: 200, width: 200,
label: "窗口负责人姓名搜索", label: "窗口首席代表’姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" }, { label: "窗口首席代表’", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
......
...@@ -106,14 +106,14 @@ export default { ...@@ -106,14 +106,14 @@ export default {
name: "ownerName", name: "ownerName",
type: "text", type: "text",
width: 200, width: 200,
label: "窗口负责人姓名搜索", label: "窗口首席代表’姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" }, { label: "窗口首席代表’", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
......
...@@ -8,8 +8,8 @@ module.exports = { ...@@ -8,8 +8,8 @@ module.exports = {
hot: true, //自动保存 hot: true, //自动保存
proxy: { proxy: {
"/attendance": { "/attendance": {
// target: 'http://192.168.0.98:11039', target: 'http://192.168.0.98:11039',
target: "http://112.19.80.237:11039", // target: "http://112.19.80.237:11039",
// target: 'http://localhost:17500', // target: 'http://localhost:17500',
// target: "http://118.122.189.109:11039", // target: "http://118.122.189.109:11039",
// target: 'http://10.102.252.13:11039', // target: 'http://10.102.252.13:11039',
......
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