0752255d by 任超

style:打包

2 parents 8521a4e9 3a6a30f9
Showing 47 changed files with 763 additions and 1025 deletions
......@@ -38,6 +38,7 @@
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "2.4.2",
"connect": "3.6.6",
"copy-webpack-plugin": "^6.0.0",
"element-ui": "^2.15.13",
"html-webpack-plugin": "3.2.0",
"runjs": "4.3.2",
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 14:48:13
-->
<!DOCTYPE html>
<html>
......@@ -15,14 +20,14 @@
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
<script>
document.write("<s" + "cript type='text/javascript' src='./dist/config.js?" + Math.random().toString(36).substr(2) + "'></scr" + "ipt>");
window.baseUrl = location.origin || location.protocol + '//' + location.host
// window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR';
// window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b';
window.timeout = 5000
window.authorization = "bearer AT-6-KSOqiWx3hbGL2fsRjyQQUDzPXR8rat-U"
window.authorization = "bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6"
</script>
\ No newline at end of file
......
......@@ -4,12 +4,9 @@
* @LastEditTime: 2023-03-01 15:35:44
*/
export default {
// SERVERAPI: '/service-bdcsjsb-th', //浩浩
// SERVERAPI: '/service-bdcsjsb-zz',
TITLE: '汉中市数据上报系统',
SERVERAPI: '/bdcsjsb', //赵千
MANAGEMENTAPI: 'http://192.168.2.236/management'
// SERVERAPI: '/bdcsjsb-service'
// SERVERAPI: '/bdcsjsb-jiao0'
}
// 汉中
// export default {
......
......@@ -97,6 +97,10 @@ export default {
type: String,
default: 'left',
},
calcHeight: {
type: Number,
default: 230
},
merge: Array,
},
components: {
......@@ -137,9 +141,9 @@ export default {
_this.$nextTick(() => {
window.addEventListener('resize', () => {
_this.tableHeight = _this.calcHeightx(230)
_this.tableHeight = _this.calcHeightx(_this.calcHeight)
});
_this.tableHeight = _this.calcHeightx(230)
_this.tableHeight = _this.calcHeightx(_this.calcHeight)
})
} else {
_this.tableHeight = window.innerHeight - _this.heightNum
......

1.74 MB | W: | H:

1.67 MB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

256 KB | W: | H:

258 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-10 16:43:16
* @LastEditTime: 2023-03-15 11:17:28
*/
import router from "./router";
import store from "./store";
......
......@@ -222,7 +222,7 @@ export const asyncRoutes = [
path: 'validationRule',
component: () => import('@/views/system/validationRule/index'),
name: 'validationRule',
meta: { title: '上报验规则配置' }
meta: { title: '上报验规则配置' }
},
{
path: 'timedTask',
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 11:08:56
*/
module.exports = {
title: '',
title: '数据上报系统',
/**
* @type {boolean} true | false
* @description Whether show the settings right-panel
......
......@@ -221,7 +221,7 @@ table td {
cursor: pointer;
}
.el-table__body tr:hover {
.el-table__body-wrapper .el-table__body tr:hover {
background: #063160 !important;
box-shadow: inset 0px 0px 20px 0px #03DBFF !important;
}
......@@ -233,9 +233,9 @@ table td {
// table 固定列样式
// tr:hover {
// background: #063160 !important;
// box-shadow: inset 0px 0px 20px 0px #03DBFF !important;
// }
// background: #063160 !important;
// box-shadow: inset 0px 0px 20px 0px #03DBFF !important;
// }
// .el-table__fixed-right-patch {
// background-color: #073781
// }
......
......@@ -338,12 +338,61 @@ aside {
// 操作按钮样式
.btnColor {
color: #8DEAF9;
color: #02D9FD;
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
}
.btnColor:hover {
color: #02D9FD;
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
}
.successColor {
color:#67C23A
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
color: #0097FF;
}
.successColor:hover {
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
color: #0097FF;
}
.delColor {
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
color: #B06974;
}
.delColor:hover {
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
color: #B06974;
}
// 弹框中间区域样式
.dialogCon {
background: #031A46;
box-shadow: inset 0px 0px 12px 0px #02D9FD;
border-radius: 0px 2px 2px 2px;
border: 1px solid #6BC1FC;
padding: 15px;
}
// 通过 入库 样式
.adopt,
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 14:37:05
*/
// 获取浏览器便签标题
import defaultSettings from '@/settings'
import config from '@/api/config'
const title = defaultSettings.title || '厦门市房屋数据服务平台'
const title = config.TITLE
export default function getPageTitle(pageTitle) {
export default function getPageTitle (pageTitle) {
if (pageTitle) {
return `${pageTitle} - ${title}`
}
......
......@@ -125,7 +125,6 @@ export default {
onClick={() => { this.handleEdit(scope.row) }}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
)
......
......@@ -115,11 +115,9 @@ export default {
<el-button
type="text"
class='btnColor'
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
)
......
......@@ -126,7 +126,6 @@ export default {
onClick={() => { this.handleEdit(scope.row) }}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
)
......
......@@ -116,7 +116,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -84,7 +84,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -116,7 +116,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -112,7 +112,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -113,7 +113,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -110,7 +110,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -107,7 +107,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -112,7 +112,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -108,7 +108,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -118,7 +118,6 @@ export default {
onClick={() => { this.handleEdit(scope.row) }}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
)
......
......@@ -106,7 +106,6 @@ export default {
onClick={() => { this.handleEdit(scope.row) }}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
)
......
......@@ -109,7 +109,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -55,200 +55,201 @@
<script>
import columnar from "@/components/Echart/Columnar";
import work from "@/api/work";
export default {
data () {
return {
// 日均接入量
qxerrer: "",
qxsuccess: "",
sterrer: "",
stsuccess: "",
qxjrl: "",
stjrl: "",
qxcgl: "",
stcgl: ""
};
import columnar from "@/components/Echart/Columnar";
import work from "@/api/work";
export default {
data () {
return {
// 日均接入量
qxerrer: "",
qxsuccess: "",
sterrer: "",
stsuccess: "",
qxjrl: "",
stjrl: "",
qxcgl: "",
stcgl: ""
};
},
mounted () {
this.getsthjqxjrtotal();
},
components: { columnar },
computed: {
qxjrlList: function () {
return this.qxjrl && this.qxjrl.toString().split("");
},
mounted () {
this.getsthjqxjrtotal();
stjrlList: function () {
return this.stjrl && this.stjrl.toString().split("");
},
components: { columnar },
computed: {
qxjrlList: function () {
return this.qxjrl && this.qxjrl.toString().split("");
},
stjrlList: function () {
return this.stjrl && this.stjrl.toString().split("");
},
},
methods: {
getsthjqxjrtotal () {
return new Promise(async (resolve) => {
try {
let p = {
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getsthjqxjrtotal(p);
this.stjrl = res.result.stsum
this.qxjrl = res.result.qxsum
this.qxerrer = Number(res.result.qxjrerrer)
this.sterrer = Number(res.result.sthjerrer)
if (res.result.sum == "0") {
this.qxcgl = "100%"
this.stcgl = "100%"
} else {
let qxcglnum = Number(res.result.qxjrsuccess) / this.qxjrl * 100
let stcgl = Number(res.result.sthjsuccess) / this.qxjrl * 100
this.qxcgl = qxcglnum.toFixed(2) + "%";
this.stcgl = stcgl.toFixed(2) + "%";
}
} catch (error) {
this.$refs.msg.messageShow();
},
methods: {
getsthjqxjrtotal () {
return new Promise(async (resolve) => {
try {
let p = {
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getsthjqxjrtotal(p);
this.stjrl = res.result.stsum
this.qxjrl = res.result.qxsum
this.qxerrer = Number(res.result.qxjrerrer)
this.sterrer = Number(res.result.sthjerrer)
if (res.result.sum == "0") {
this.qxcgl = "100%"
this.stcgl = "100%"
} else {
let qxcglnum = Number(res.result.qxjrsuccess) / this.qxjrl * 100
let stcgl = Number(res.result.sthjsuccess) / this.qxjrl * 100
this.qxcgl = qxcglnum.toFixed(2) + "%";
this.stcgl = stcgl.toFixed(2) + "%";
}
});
},
} catch (error) {
this.$refs.msg.messageShow();
}
});
},
};
},
};
</script>
<style lang="scss" scoped>
.leftcard {
width: 32%;
.leftcard {
width: 32%;
display: flex;
height: calc(100vh - 114px);
flex-direction: column;
.card {
height: 22%;
background: url("~@/image/qxjr.png") no-repeat;
background-size: 100% 100%;
position: relative;
text-align: center;
width: 100%;
}
.carda {
height: 22%;
background: url("~@/image/sthj.png") no-repeat;
background-size: 100% 100%;
position: relative;
text-align: center;
width: 100%;
}
.card1 {
background: url("~@/image/sbtj.png") no-repeat;
background-size: 100% 100%;
position: relative;
box-sizing: border-box;
flex: 1;
}
.cardhead {
color: #02d9fd;
line-height: 0.125rem;
letter-spacing: 0.0104rem;
position: absolute;
font-size: 0.1042rem;
left: 0;
right: 0;
margin: auto;
text-align: center;
top: 8px;
font-weight: 700;
}
.rjjrlList {
display: flex;
height: calc(100vh - 114px);
flex-direction: column;
margin-top: 0.01781rem;
.card {
height: 22%;
background: url("~@/image/qxjr.png") no-repeat;
background-size: 100% 100%;
position: relative;
text-align: center;
width: 100%;
}
.carda {
height: 22%;
background: url("~@/image/sthj.png") no-repeat;
.qxjr {
background: url("~@/image/jrl3.png");
background-size: 100% 100%;
position: relative;
text-align: center;
width: 100%;
width: 29px;
height: 46px;
}
.card1 {
background: url("~@/image/sbtj.png") no-repeat;
.sthj {
background: url("~@/image/jh.png");
background-size: 100% 100%;
position: relative;
box-sizing: border-box;
flex: 1;
width: 29px;
height: 46px;
}
.cardhead {
color: #02d9fd;
line-height: 0.125rem;
letter-spacing: 0.0104rem;
position: absolute;
font-size: 0.1042rem;
left: 0;
right: 0;
margin: auto;
text-align: center;
top: 8px;
p {
margin: 0 0.0156rem 0.0521rem 0.0156rem;
font-weight: 700;
font-size: 30px;
}
}
.rjjrlList {
display: flex;
margin-top: 0.01781rem;
.qxjr {
background: url("~@/image/jrl3.png");
background-size: 100% 100%;
}
.cardcontent {
width: 100%;
height: 100%;
display: flex;
// padding: 35px 20px 20px 20px;
box-sizing: border-box;
color: #e3f1ff;
margin-top: 0.1263rem;
.cardcontent-left {
width: 60%;
flex-direction: column;
position: relative;
flex: 1;
height: 100%;
.sthj {
background: url("~@/image/jh.png");
background-size: 100% 100%;
li {
font-size: 0.1042rem;
}
}
p {
margin: 0 0.0156rem 0.0521rem 0.0156rem;
font-weight: 700;
width: 0.195rem;
height: 0.2475rem;
font-size: 0.2863rem;
font-size: 0.2867rem;
}
.cardcontent-left::before {
position: absolute;
right: 0;
top: 0.24rem;
content: "";
width: 0.0052rem;
height: 0.4688rem;
background: linear-gradient(180deg,
#091b4c 0%,
#47b5e0 56%,
#091b4c 100%);
}
.cardcontent {
.cardcontent-right {
flex: 1;
width: 100%;
height: 100%;
display: flex;
// padding: 35px 20px 20px 20px;
box-sizing: border-box;
color: #e3f1ff;
margin-top: 0.1263rem;
.cardcontent-left {
width: 60%;
flex-direction: column;
position: relative;
flex: 1;
height: 100%;
li {
font-size: 0.1042rem;
}
}
flex-direction: column;
font-size: 0.09977rem;
.cardcontent-left::before {
position: absolute;
right: 0;
top: 0.3042rem;
content: "";
width: 0.0052rem;
height: 0.4688rem;
background: linear-gradient(
180deg,
#091b4c 0%,
#47b5e0 56%,
#091b4c 100%
);
.bad {
color: #c97168;
}
.cardcontent-right {
flex: 1;
width: 100%;
height: 100%;
flex-direction: column;
font-size: 0.09977rem;
.cg {
color: #5fba7d;
}
.bad {
color: #c97168;
}
p {
margin-bottom: 0.0417rem;
.cg {
color: #5fba7d;
span:nth-child(1) {
margin-right: 0.0781rem;
}
p {
margin-bottom: 0.0417rem;
span:nth-child(1) {
margin-right: 0.0781rem;
}
span:nth-child(2) {
font-size: 0.1142rem;
font-weight: 900;
}
span:nth-child(2) {
font-size: 20px;
font-weight: 900;
}
}
}
}
}
</style>
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 14:08:59
*/
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
......@@ -12,9 +17,9 @@ class data extends filter {
render: (h, scope) => {
return (
<div>
<span class='adopt' v-show={scope.row.receiveState == 0}></span>
<span class='adopt' v-show={scope.row.receiveState == 1}>验成功</span>
<span class='warehousing' v-show={scope.row.receiveState == 2}>验失败</span>
<span class='adopt' v-show={scope.row.receiveState == 0}></span>
<span class='adopt' v-show={scope.row.receiveState == 1}>验成功</span>
<span class='warehousing' v-show={scope.row.receiveState == 2}>验失败</span>
</div>
)
}
......@@ -46,7 +51,7 @@ class data extends filter {
{
prop: "bizMsgid",
label: "业务报文ID",
width: 98,
minWidth: 100,
},
{
prop: "createdate",
......@@ -56,12 +61,12 @@ class data extends filter {
{
prop: "recflowid",
label: "业务流水号",
width: 100,
minWidth: 100,
},
{
prop: "estatenum",
label: "不动产单元号",
width: 240,
minWidth: 160,
},
{
prop: "rectype",
......
......@@ -199,7 +199,6 @@ export default {
}}
>
修改
<i class="el-icon-d-arrow-right"></i>
</el-button> :
<el-button
type="text"
......@@ -209,7 +208,6 @@ export default {
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
}
</div>
......
......@@ -156,8 +156,8 @@
.login-logo {
background: url(../../image/loginLogo.png) no-repeat;
background-size: 100% 100%;
width: 28%;
height: 52%;
width: 580px;
height: 540px;
position: absolute;
top: 25%;
left: 19%;
......@@ -171,7 +171,7 @@
min-width: 360px;
min-height: 380px;
top: 30%;
right: 20%;
right: 18%;
position: absolute;
background-size: 100% 100%;
box-sizing: border-box;
......
......@@ -33,8 +33,8 @@
</div>
<!-- 列表区域 -->
<div class="from-clues-content">
<lb-table ref="table" :header-cell-style="headerStyle1" :pagination="false" :column="tableData.columns"
:data="tableData.data">
<lb-table ref="table" :header-cell-style="headerStyle1" :calcHeight="200" :pagination="false"
:column="tableData.columns" :data="tableData.data">
</lb-table>
<down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :header-cell-style="headerStyle"
......
......@@ -11,12 +11,12 @@
<el-col :span="6">
<el-form-item label="接收日期" prop="startTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="至" prop="endTime" label-width="35px">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
......@@ -34,7 +34,7 @@
</div>
<!-- 列表区域 -->
<div class="from-clues-content">
<lb-table ref="table" :pagination="false" :column="tableData.columns" :data="tableData.data">
<lb-table ref="table" :pagination="false" :calcHeight="200" :column="tableData.columns" :data="tableData.data">
</lb-table>
<down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false"
......@@ -157,5 +157,9 @@ export default {
// 引入表单整体样式
// @import "~@/styles/public.scss";
@import "../css/index.scss";
/deep/.el-table thead.is-group th.el-table__cell {
height: 14px !important;
}
</style>
......
......@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-17 16:32:50
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-14 13:19:18
* @LastEditTime: 2023-03-15 10:42:21
* @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue
* @Description:
*
......@@ -43,7 +43,7 @@
</div>
<!-- 列表区域 -->
<div class="from-clues-content">
<lb-table ref="table" :pagination="false" :border="true" :header-cell-style="headerStyle"
<lb-table ref="table" :pagination="false" :border="true" :calcHeight="200" :header-cell-style="headerStyle"
:column="tableData.columns" :data="tableData.data">
</lb-table>
<down-lb-table ref="table" v-show="false" :id="'mytable'" :header-cell-style="headerStyle1" :downExcel="true"
......
......@@ -193,13 +193,12 @@ class data {
<div>
<el-button
type="text"
style="color:#67C23A"
class='successColor'
onClick={() => {
vm.handleEdit(scope.row);
}}
>
修改
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -159,25 +159,22 @@ export default {
{
scope.row.exchangeState == 2 ?
<el-button
size="mini"
type="text"
style="color:#67C23A"
class='successColor'
onClick={() => {
this.handleDetail(scope.row);
}}
>
修改
<i class="el-icon-d-arrow-right"></i>
</el-button> :
<el-button
size="mini"
class='btnColor'
type="text"
onClick={() => {
this.handleDetail(scope.row);
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
}
......
<template>
<!-- 编辑 -->
<dialogBox ref="addTask" width="60%" @submitForm="handleSubmit" @closeDialog="handleClose" v-model="myValue"
customClass="editValidRule" title="新增定时任务">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="任务名" prop="jobName">
<el-input v-model="ruleForm.jobName" placeholder="任务名"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类名" prop="beanName">
<el-input v-model="ruleForm.beanName" placeholder="类名"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="ruleForm.cronExpression" placeholder="cron表达式"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="方法名" prop="methodName">
<el-input v-model="ruleForm.methodName" placeholder="方法名"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="任务描述" prop="remark">
<el-input v-model="ruleForm.remark" placeholder="任务描述"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<dialogBox ref="addTask" width="50%" :isMain="true" @submitForm="handleSubmit" @closeDialog="handleClose"
v-model="myValue" customClass="editValidRule" title="新增定时任务">
<div class="dialogCon" style="height:360px">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="任务名" prop="jobName">
<el-input v-model="ruleForm.jobName" placeholder="任务名"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类名" prop="beanName">
<el-input v-model="ruleForm.beanName" placeholder="类名"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="ruleForm.cronExpression" placeholder="cron表达式"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="方法名" prop="methodName">
<el-input v-model="ruleForm.methodName" placeholder="方法名"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="任务描述" prop="remark">
<el-input v-model="ruleForm.remark" placeholder="任务描述"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<message-tips :message="message" ref="msg" />
</dialogBox>
</template>
......@@ -125,10 +127,10 @@ export default {
}
},
watch: {
value(val) {
value (val) {
this.myValue = val
},
taskData(val) {
taskData (val) {
if (val != null) {
this.ruleForm = val
} else {
......@@ -146,23 +148,30 @@ export default {
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
// @import "~@/styles/public.scss";
.editDialogBox-box {
margin: 14px 18px 30px 18px !important
}
/deep/.dialogBox .dialog_title {
margin-left: 5px !important;
}
/deep/.el-form-item__label {
color: #fff;
}
/deep/.el-dialog__headerbtn {
margin-top: -12px;
}
/deep/.el-form-item {
color: #fff;
margin-bottom: 10px;
}
.editDialogBox-box {
margin: 14px 18px 30px 18px !important
}
/deep/ .el-input__inner {
background-color: transparent;
border: 1px solid #458ACF;
}
/deep/.el-form-item__label {
color: #fff;
}
/deep/.el-form-item {
color: #fff;
margin-bottom: 10px;
}
/deep/ .el-input__inner {
background-color: transparent;
border: 1px solid #458ACF;
}
</style>
......
<template>
<!-- 编辑 -->
<dialogBox ref="edit" width="60%" :closed="true" @closeDialog="handleClose" @submitForm="handleSubmit"
customClass="editDictionary" multiple title="字典信息">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="字典类型编码" prop="DCODE">
<el-input v-model.trim="ruleForm.DCODE" placeholder="字典类型编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="字典类型名称" prop="DNAME">
<el-input v-model.trim="ruleForm.DNAME" placeholder="字典类型名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="字典结构" prop="ISTREE">
<el-radio-group v-model="ruleForm.ISTREE">
<el-radio label="1">树形</el-radio>
<el-radio label="0">列表</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<lb-table :column="column" :heightNum="550" :key="key" :expand-row-keys="keyList" row-key="DICTID"
:tree-props="{ children: 'children' }" :pagination="false" :data="tableData">
</lb-table>
</dialogBox>
</template>
<script>
import dictionaries from '@/api/dictionaries'
import { getUuid } from '@/utils/tools'
export default {
props: {
dictList: Array,
dicData: Object
},
data () {
return {
key: 0,
message: '',
keyList: [],
ruleForm: {
DCODE: '',
DNAME: '',
ISTREE: '1'
},
column: [
{
width: '60',
renderHeader: (h, scope) => {
return <i class="el-icon-plus" onClick={() => { this.handleAdd() }} style="cursor:pointer;color:#409EFF">增加</i>
},
render: (h, scope) => {
return (
<span>{scope.row.index}</span>
)
}
},
{
prop: 'DCODE',
label: '字典项编码',
render: (h, scope) => {
return (
<div>
<el-input placeholder="字典项编码" v-show={scope.row.codeShow} v-fo value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
<el-input placeholder="字典项编码" v-show={!scope.row.codeShow} value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
</div>
)
}
},
{
prop: 'DNAME',
label: '字典项名称',
render: (h, scope) => {
return (
<div>
<el-input placeholder="字典项编码" v-show={scope.row.nameShow} v-fo value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
<el-input placeholder="字典项名称" v-show={!scope.row.nameShow} value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
</div>
)
}
},
{
width: '130px',
label: '移动',
render: (h, scope) => {
return (
<div>
<el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
<el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
</div >
)
}
},
{
width: '150px',
label: '操作',
render: (h, scope) => {
return (
<div>
<el-button type="text" style="margin-right:10px" v-show={this.ruleForm.ISTREE == '1'} onClick={() => { this.handleAddSubordinate(scope.row) }}>增加下级</el-button>
<el-button type="text" style="margin-left:0" onClick={() => { this.handleMinus(scope.$index, scope.row) }}>删除</el-button>
</div>
)
}
}
],
tableData: [],
rules: {
DCODE: [
{ required: true, message: '字典类型编码', trigger: 'blur' }
],
}
}
},
methods: {
isShow () {
this.$refs.edit.isShow()
setTimeout(() => {
this.tableData = _.cloneDeep(this.dictList)
this.addIndexes()
let { DCODE, DNAME, ISTREE } = this.dicData
this.ruleForm = {
DCODE,
DNAME,
ISTREE
}
}, 0)
},
// 添加索引
addIndexes () {
this.tableData.forEach((item, index) => {
if (index == 0) {
item.codeShow = true
} else {
item.codeShow = false
item.nameShow = false
}
item.index = index + 1
})
},
itemShowFalse () {
this.tableData.forEach((item, index) => {
item.codeShow = false
item.nameShow = false
})
},
handleMinus (index, row) {
this.removeTreeListItem(this.tableData, row.DICTID)
},
removeTreeListItem (treeList, DICTID) {
if (!treeList || !treeList.length) {
return
}
for (let i = 0; i < treeList.length; i++) {
if (treeList[i].DICTID === DICTID) {
treeList.splice(i, 1);
break;
}
this.removeTreeListItem(treeList[i].children, DICTID)
}
},
async handleSubmit () {
let submitData = _.cloneDeep(this.tableData)
this.ruleForm.DICTID = this.dicData.DICTID
this.ruleForm.PARENTID = null
this.ruleForm.TYPEID = this.dicData.TYPEID
submitData.forEach((item) => {
item.ISTREE = this.ruleForm.ISTREE
})
submitData.unshift(this.ruleForm)
try {
let res = await dictionaries.editSysDict({ 'editDicts': submitData })
if (res.code == 200) {
this.$message({
message: res.message,
type: 'success'
})
this.handleClose()
this.$parent.featchData()
}
} catch (error) {
this.message = error
this.$refs.msg.messageShow()
}
},
handleClose () {
this.$refs['ruleForm'].resetFields();
this.$refs.edit.isHide()
},
// 增加下级
handleAddSubordinate (row) {
if (!row.children) {
row.children = []
}
row.children.push(
{
DCODE: '',
DNAME: '',
DICTID: getUuid(32),
TYPEID: row.TYPEID,
PARENTID: row.DICTID,
children: null,
ISTREE: this.ruleForm.ISTREE
}
)
this.keyList = [];
this.keyList.push(row.DICTID)
},
// 增加
handleAdd () {
this.$nextTick(() => {
let container = this.$el.querySelector('.el-table__body-wrapper');
container.scrollTop = container.scrollHeight;
})
this.tableData.push(
{
DCODE: '',
DNAME: '',
DICTID: getUuid(32),
TYPEID: this.dicData.TYPEID,
PARENTID: this.dicData.DICTID,
children: null,
ISTREE: this.ruleForm.ISTREE
}
)
this.addIndexes()
},
// 上移下移
moveUpward (index, row) {
if (index > 0) {
let upData = this.tableData[index - 1];
this.tableData.splice(index - 1, 1);
this.tableData.splice(index, 0, upData);
} else {
this.$message({
message: '已经是第一条,上移失败',
type: 'warning'
});
}
this.key++
},
moveDown (index, row) {
if ((index + 1) == this.tableData.length) {
this.$message({
message: '已经是最后一条,下移失败',
type: 'warning'
});
} else {
let downData = this.tableData[index + 1];
this.tableData.splice(index + 1, 1);
this.tableData.splice(index, 0, downData);
}
this.key++
}
}
}
</script>
<style rel="stylesheet/less" lang="less" scoped>
</style>
<template>
<!-- 编辑 -->
<dialogBox ref="validRule" width="60%" @submitForm="handleSubmit" :closed="true" @closeDialog="handleClose"
customClass="editValidRule" multiple title="上报验规则设置">
customClass="editValidRule" multiple title="上报验规则设置">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row :gutter="20">
<el-col :span="12">
......@@ -84,10 +84,10 @@ export default {
)
}
},
// 验表达式
// 验表达式
{
prop: 'EXPRESSION',
label: '验表达式',
label: '验表达式',
render: (h, scope) => {
return (
<el-select value={scope.row[scope.column.property]} clearable
......@@ -204,7 +204,5 @@ export default {
}
}
</script>
<style rel="stylesheet/less" lang="less" scoped>
</style>
<style rel="stylesheet/less" lang="less" scoped></style>
......
......@@ -69,7 +69,9 @@ export default {
label: "操作",
render: (h, scope) => {
return (
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button>
<el-button type="text"
class='successColor'
onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button>
)
}
}
......@@ -128,4 +130,8 @@ export default {
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
/deep/.dialogBox .dialog_title {
top: 0;
margin-left: 5px;
}
</style>
......
<template>
<dialogBox class="modifydialog" :isMain="true" :title="2222" @closeDialog="close" @submitForm="submitForm" v-model="myValue">
<div class="modifydialog-con">
<dialogBox class="modifydialog" :isMain="true" :title="2222" @closeDialog="close" @submitForm="submitForm"
v-model="myValue">
<div class="dialogCon">
<el-form ref="form" :model="form" :rules="rules">
<el-row :gutter="24">
<el-col :span="12">
......@@ -217,15 +218,8 @@ export default {
},
close () {
this.resetForm()
this.visible = false
this.$emit('input', false)
}
}
}
</script>
<style scoped lang="scss">
.modifydialog {
&-con {
background: #031A46;
}
}
</style>
\ No newline at end of file
......
......@@ -13,8 +13,8 @@
</el-form>
</div>
<div class="from-clues-content">
<lb-table :pagination="false" :column="tableData.columns" :data="tablelistData" row-key="id" default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<lb-table :pagination="false" :column="tableData.columns" :calcHeight="200" :data="tablelistData" row-key="id"
default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
</lb-table>
</div>
<edit-dialog ref="dialogForm" v-model="isDialog" :product-id="productId" :resource-category-id="resourceCategoryId"
......@@ -36,12 +36,10 @@ import {
findParents,
removeTreeListItem,
} from "@/utils/operation";
// import authorizationdiglog from "./authorizationdiglog.vue";
export default {
name: "menus",
components: {
EditDialog,
// authorizationdiglog,
},
data () {
return {
......@@ -74,8 +72,7 @@ export default {
<div>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
class='successColor'
onClick={() => {
this.handleEdit(scope.row);
}}
......@@ -85,9 +82,7 @@ export default {
<el-button
type="text"
size="mini"
icon="el-icon-delete"
style="color:#F56C6C"
class='delColor'
onClick={() => {
this.handleDelete(scope.row.id, scope.row.name);
}}
......@@ -148,7 +143,7 @@ export default {
this.productId = res.content[0].id;
this.getAuthorityList(res.content[0].id, res.content[0].code)
this.selectedSubsystemCode = res.content[0].code
})
.catch((error) => {
console.log("er", error);
......
......@@ -13,7 +13,7 @@
</el-form>
</div>
<div class="from-clues-content">
<lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
<lb-table :pagination="false" @size-change="handleSizeChange" :calcHeight="200" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="listdata" :expand-row-keys="keyList" row-key="dictid">
</lb-table>
</div>
......
......@@ -24,7 +24,7 @@
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
<add-task ref="task" :taskData="taskData" v-model="isDialog"/>
<add-task ref="task" :taskData="taskData" v-model="isDialog" />
</div>
</div>
</template>
......@@ -62,22 +62,26 @@ export default {
render: (h, scope) => {
return (
<div>
<el-button type="text" size="mini"
<el-button type="text"
v-show={scope.row.jobStatus === 0}
class='btnColor'
icon="el-icon-video-pause"
onClick={() => { this.handleActive(scope.row) }}>激活
</el-button>
<el-button type="text" size="mini"
v-show={scope.row.jobStatus === -1}
icon="el-icon-video-pause"
onClick={() => { this.recover(scope.row) }}>恢复
<el-button type="text"
v-show={scope.row.jobStatus === -1}
class='btnColor'
icon="el-icon-video-pause"
onClick={() => { this.recover(scope.row) }}>恢复
</el-button>
<el-button type="text" size="mini"
<el-button type="text"
icon="el-icon-edit"
class='btnColor'
onClick={() => { this.handleEdit(scope.row) }}>编辑
</el-button>
<el-button type="text" size="mini"
icon="el-icon-delete" style="color:#F56C6C"
<el-button type="text"
icon="el-icon-delete"
class='successColor'
v-show={scope.row.jobStatus !== -1}
onClick={() => { this.handleDel(scope.row) }}>删除
</el-button>
......@@ -100,7 +104,7 @@ export default {
this.taskData = null
this.isDialog = true
},
resetSe() {
resetSe () {
this.form.jobName = ''
this.featchData()
},
......@@ -114,7 +118,7 @@ export default {
this.message = error
}
},
recover(row) {
recover (row) {
this.$confirm('此操将进行恢复操作, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -146,7 +150,7 @@ export default {
})
},
handleActive(row) {
handleActive (row) {
this.$confirm('此操将进行激活操作, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......
<template>
<Dialog :title="title" class="modifydialog" :show.sync="visible" :width="'715px'" @close="close()">
<template slot="content">
<dialogBox :title="title" class="modifydialog" @closeDialog="close" :isMain="true" @submitForm="submitForm"
v-model="myValue">
<div class="dialogCon">
<el-form ref="form" :model="form" :rules="rules">
<el-row :gutter="24">
<el-col :span="11">
......@@ -11,11 +12,8 @@
<el-col :span="13">
<el-col :span="18" class="col-pd0">
<el-form-item label="性别:" label-width="72px">
<el-radio
v-for="(item, index) in sexList"
:key="index"
v-model="form.sex"
:label="item.value">{{ item.name }}</el-radio>
<el-radio v-for="(item, index) in sexList" :key="index" v-model="form.sex" :label="item.value">{{
item.name }}</el-radio>
</el-form-item>
</el-col>
<el-col :span="6">
......@@ -31,10 +29,7 @@
</el-col>
<el-col :span="13">
<el-form-item label="用户名:" prop="loginName" label-width="72px">
<el-input
v-model="form.loginName"
:disabled="showLoginName"
placeholder="用户名" />
<el-input v-model="form.loginName" :disabled="showLoginName" placeholder="用户名" />
</el-form-item>
</el-col>
</el-row>
......@@ -45,27 +40,16 @@
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item
label="手机号码:"
prop="mobilePhone"
label-width="72px">
<el-input
v-model="form.mobilePhone"
placeholder="手机号码" />
<el-form-item label="手机号码:" prop="mobilePhone" label-width="72px">
<el-input v-model="form.mobilePhone" placeholder="手机号码" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="最高职务级别:" label-width="100px">
<el-select
v-model="form.jobLevel"
placeholder="最高职务级别">
<el-option
v-for="item in levelList"
:key="item.value"
:label="item.name"
:value="item.value" />
<el-select v-model="form.jobLevel" placeholder="最高职务级别">
<el-option v-for="item in levelList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
......@@ -77,145 +61,118 @@
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item
label="办公地点:"
label-width="100px"
class="form-item-mb0">
<el-form-item label="办公地点:" label-width="100px" class="form-item-mb0">
<el-input v-model="form.address" placeholder="办公地点" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<template slot="footer">
<el-button type="primary" class="save" @click="submitForm(1)">保存</el-button>
<el-button class="cancel-button" @click="close()">取消</el-button>
</template>
</Dialog>
</div>
</dialogBox>
</template>
<script>
import { api, httpAction } from '@/api/manageApi'
import Dialog from "@/components/Dialog/";
export default {
name: "",
components: { Dialog },
props: {},
data () {
return {
form: {
sex: "0",
},
rules: {
name: [{ required: true, message: "请输入姓名", trigger: "blur" }],
code: [{ required: true, message: "请输入工号", trigger: "blur" }],
mobilePhone: [{ validator: "sddd", trigger: "blur" }],
loginName: [
{ required: true, message: "请输入用户名", trigger: "blur" },
],
},
title: "修改",
visible: false,
showLoginName: false,
sexList: [{ lable: "0", value: "0", name: "男" }, { lable: "1", value: "1", name: "女" }],
levelList: [{ lable: "0", value: "0", name: "干事" }, { lable: "1", value: "1", name: "经理" }],
dataUrl: api.users
};
},
computed: {
departmentid () {
return this.$store.state.user.userInfo;
import { api, httpAction } from '@/api/manageApi'
export default {
name: "",
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
form: {
sex: "0",
},
},
watch: {},
created () { },
mounted () { },
methods: {
// initDictConfig() {
// getDictItems('XB').then((res) => {
// if (res.status === 1) {
// this.sexList = res.content
// } else {
// this.$message.error({ message: res.message, showClose: true })
// }
// })
// getDictItems('ZWJB').then((res) => {
// if (res.status === 1) {
// this.levelList = res.content
// } else {
// this.$message.error({ message: res.message, showClose: true })
// }
// })
// },
// 添加人员
adds () {
this.visible = true;
// this.type = 0
this.showLoginName = false
rules: {
name: [{ required: true, message: "请输入姓名", trigger: "blur" }],
code: [{ required: true, message: "请输入工号", trigger: "blur" }],
mobilePhone: [{ validator: "sddd", trigger: "blur" }],
loginName: [
{ required: true, message: "请输入用户名", trigger: "blur" },
],
},
// 编辑
edit (record) {
// this.initDictConfig()
this.showLoginName = true
// 若有id为编辑
if (record) {
this.$nextTick(() => {
this.form = Object.assign({}, record)
})
}
this.visible = true
},
handleChange (value) {
this.form.departmentId = value;
},
// 保存
submitForm (submitType) {
this.$refs.form.validate((valid) => {
if (valid) {
let method = ''
let url = ''
this.form.organizationId = this.departmentid.organizationId;
this.form.departmentId = this.departmentid.departmentId;
const formData = this.form
if (!formData.id) {
method = 'post'
url = this.dataUrl
} else {
method = 'put'
url = `${this.dataUrl}/${formData.id}`
}
title: "修改",
showLoginName: false,
sexList: [{ lable: "0", value: "0", name: "男" }, { lable: "1", value: "1", name: "女" }],
levelList: [{ lable: "0", value: "0", name: "干事" }, { lable: "1", value: "1", name: "经理" }],
dataUrl: api.users
};
},
computed: {
departmentid () {
return this.$store.state.user.userInfo;
},
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
// 添加人员
adds () {
this.showLoginName = false
},
// 编辑
edit (record) {
this.showLoginName = true
// 若有id为编辑
if (record) {
this.$nextTick(() => {
this.form = Object.assign({}, record)
})
}
},
handleChange (value) {
this.form.departmentId = value;
},
// 保存
submitForm (submitType) {
this.$refs.form.validate((valid) => {
if (valid) {
let method = ''
let url = ''
this.form.organizationId = this.departmentid.organizationId;
this.form.departmentId = this.departmentid.departmentId;
const formData = this.form
if (!formData.id) {
method = 'post'
url = this.dataUrl
} else {
method = 'put'
url = `${this.dataUrl}/${formData.id}`
}
httpAction(url, formData, method).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
httpAction(url, formData, method).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
this.resetForm()
this.resetForm()
this.close()
this.close()
this.$emit('ok')
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
} else {
console.log('提交错误!!!')
return false
}
})
},
resetForm () {
this.form = {
sex: '0'
this.$emit('ok')
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
} else {
return false
}
this.$refs.form.resetFields()
},
close () {
this.resetForm()
this.visible = false
})
},
resetForm () {
this.form = {
sex: '0'
}
this.$refs.form.resetFields()
},
};
close () {
this.resetForm()
this.$emit('input', false)
}
}
}
</script>
<style scoped lang="scss">
</style>
<style scoped lang="scss"></style>
......
......@@ -16,319 +16,315 @@
</el-form>
</div>
<div class="from-clues-content">
<lb-table
:pagination="false"
@size-change="handleSizeChange"
@p-current-change="handleCurrentChange"
:column="tableData.columns"
:data="tableData.data"
:expand-row-keys="keyList"
row-key="dictid">
<lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data" :expand-row-keys="keyList" row-key="dictid">
</lb-table>
</div>
<EditDialog ref="dialogForm" @ok="reloadTableData" />
<EditDialog ref="dialogForm" v-model="isDialog" @ok="reloadTableData" />
</div>
</template>
<script>
import {
getUuid,
judgeSort,
realMove,
findParents,
removeTreeListItem,
} from "@/utils/operation";
import {
resetPassword,
getUserList,
} from "@/api/personnelManage";
import { api, deleteAction } from '@/api/manageApi'
import data from "./data";
import { deleteDomStr } from '@/utils/proDomStr'
import tableMixin from "@/mixins/tableMixin.js";
import EditDialog from "./edit-dialog.vue";
import {updateOrder} from "@/api/orders"
export default {
name: "menus",
mixins: [tableMixin],
components: {
EditDialog,
},
data () {
return {
taskData: null,
keyList: [],
form: {
job_name: "",
currentPage: 1,
import {
getUuid,
judgeSort,
realMove,
findParents,
removeTreeListItem,
} from "@/utils/operation";
import {
resetPassword,
getUserList,
} from "@/api/personnelManage";
import { api, deleteAction } from '@/api/manageApi'
import data from "./data";
import { deleteDomStr } from '@/utils/proDomStr'
import tableMixin from "@/mixins/tableMixin.js";
import EditDialog from "./edit-dialog.vue";
import { updateOrder } from "@/api/orders"
export default {
name: "menus",
mixins: [tableMixin],
components: {
EditDialog,
},
data () {
return {
isDialog: false,
taskData: null,
keyList: [],
form: {
job_name: "",
currentPage: 1,
},
queryParam: {},
selectType: "0",
queryName: "",
organizationId: "", // 组织机构ID
departmentId: "", // 部门ID
departmentList: [], // 部门列表
levelList: [], // 职务级别
sexList: [],
typeOptions: [
{
value: "0",
label: "姓名",
},
queryParam: {},
selectType: "0",
queryName: "",
organizationId: "", // 组织机构ID
departmentId: "", // 部门ID
departmentList: [], // 部门列表
levelList: [], // 职务级别
sexList: [],
typeOptions: [
{
value: "0",
label: "姓名",
},
{
value: "1",
label: "工号",
},
{
value: "2",
label: "部门",
},
{
value: "1",
label: "工号",
},
{
value: "2",
label: "部门",
},
{
value: "3",
label: "机构",
},
],
selectionList: [],
tableData: {
columns: [
{
value: "3",
label: "机构",
label: "序号",
type: "index",
width: "50",
index: this.indexMethod,
},
],
selectionList: [],
tableData: {
columns: [
]
.concat(data.columns())
.concat([
{
label: "序号",
type: "index",
width: "50",
index: this.indexMethod,
label: "负责人",
render: (h, scope) => {
return (
<i v-show={scope.row.isDuty !== null} class="el-icon-check" />
)
}
},
]
.concat(data.columns())
.concat([
{
label: "负责人",
render: (h, scope) => {
return (
<i v-show={scope.row.isDuty !== null} class="el-icon-check" />
)
}
},
{
label: "排序",
width: 200,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
disabled={scope.row.isTop}
onClick={() => {
this.updateOrder(scope.row,'TOP');
}}
>
置顶
</el-button>
<el-button
type="text"
disabled={scope.row.isTop}
onClick={() => {
this.updateOrder(scope.row,'UP');
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.row.isBottom}
onClick={() => {
this.updateOrder(scope.row,'DOWN');
}}
>
下移
</el-button>
<el-button
type="text"
disabled={scope.row.isBottom}
onClick={() => {
this.updateOrder(scope.row,'BOTTOM');
}}
>
置底
</el-button>
</div>
);
},
{
label: "排序",
width: 200,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
disabled={scope.row.isTop}
onClick={() => {
this.updateOrder(scope.row, 'TOP');
}}
>
置顶
</el-button>
<el-button
type="text"
disabled={scope.row.isTop}
onClick={() => {
this.updateOrder(scope.row, 'UP');
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.row.isBottom}
onClick={() => {
this.updateOrder(scope.row, 'DOWN');
}}
>
下移
</el-button>
<el-button
type="text"
disabled={scope.row.isBottom}
onClick={() => {
this.updateOrder(scope.row, 'BOTTOM');
}}
>
置底
</el-button>
</div>
);
},
{
label: "操作",
width: 380,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
icon="el-icon-video-pause"
onClick={() => {
this.resetPassword(scope.row.id);
}}
>
重置
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
onClick={() => {
this.handleEdit(scope.row);
}}
>
修改
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-delete"
style="color:#F56C6C"
onClick={() => {
this.handleDelete(scope.row.id, scope.row.name);
}}
>
删除
</el-button>
</div>
);
},
},
{
label: "操作",
width: 380,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
icon="el-icon-video-pause"
onClick={() => {
this.resetPassword(scope.row.id);
}}
>
重置
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
onClick={() => {
this.handleEdit(scope.row);
}}
>
修改
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-delete"
style="color:#F56C6C"
onClick={() => {
this.handleDelete(scope.row.id, scope.row.name);
}}
>
删除
</el-button>
</div>
);
},
]),
data: [],
},
};
},
created () {
this.getTableList();
},
computed: {
departmentid () {
return this.$store.state.user.userInfo;
},
]),
data: [],
},
};
},
created () {
this.getTableList();
},
computed: {
departmentid () {
return this.$store.state.user.userInfo;
},
methods: {
handleAdd () {
this.$refs.dialogForm.adds();
this.$refs.dialogForm.title = "添加";
},
getTableList () {
this.loading = true;
this.queryParam = {
organizationId: this.departmentid.organizationId,
departmentId: this.departmentid.departmentId,
};
getUserList(this.queryParam).then((res) => {
console.log("人员列表", res);
if (res.status === 1) {
this.loading = false;
this.tableData.data = res.content;
this.tableData.data = judgeSort(this.tableData.data);
} else {
this.$message.error({ message: res.message, showClose: true });
}
});
},
// 重置用户密码
resetPassword (data) {
const ids = []
if (data instanceof Array) {
data.forEach((item) => {
ids.push(item.id)
})
},
methods: {
handleAdd () {
this.isDialog = true
this.$refs.dialogForm.adds();
this.$refs.dialogForm.title = "添加";
},
getTableList () {
this.loading = true;
this.queryParam = {
organizationId: this.departmentid.organizationId,
departmentId: this.departmentid.departmentId,
};
getUserList(this.queryParam).then((res) => {
if (res.status === 1) {
this.loading = false;
this.tableData.data = res.content;
this.tableData.data = judgeSort(this.tableData.data);
} else {
ids.push(data)
this.$message.error({ message: res.message, showClose: true });
}
if (ids.length === 0) {
this.$message({
message: '请选择需要重置密码的用户!',
showClose: true
})
return
}
this.$confirm(
`<div class="customer-message-wrapper">
});
},
// 重置用户密码
resetPassword (data) {
const ids = []
if (data instanceof Array) {
data.forEach((item) => {
ids.push(item.id)
})
} else {
ids.push(data)
}
if (ids.length === 0) {
this.$message({
message: '请选择需要重置密码的用户!',
showClose: true
})
return
}
this.$confirm(
`<div class="customer-message-wrapper">
<h5 class="title">确定要重置密码吗</h5>
<p class="result">执行后,数据将
<span >无法恢复</span>
</p>
</div>`,
'执行确认',
{
dangerouslyUseHTMLString: true,
customClass: 'customer-delete',
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}
)
.then(() => {
resetPassword(ids).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
this.getTableList()
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
})
.catch(() => { })
},
//排序
updateOrder(record, operate){
const findIndex = this.tableData.data.findIndex(item => item.id === record.id)
let swapId = ''
if (operate === 'UP') {
swapId = this.tableData.data[findIndex - 1].id
} else if (operate === 'DOWN') {
swapId = this.tableData.data[findIndex + 1].id
}
updateOrder('/rest/users', record, operate, swapId).then(res => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
this.getTableList();
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
},
// 修改人员信息
handleEdit (row) {
this.$refs.dialogForm.edit(row);
this.$refs.dialogForm.title = "修改";
},
// 删除
handleDelete (id, content) {
this.$confirm(deleteDomStr(content), '执行确认', {
'执行确认',
{
dangerouslyUseHTMLString: true,
customClass: 'customer-delete',
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteAction(`${api.users}/${id}`).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
} else {
this.$message.error({ message: res.message, showClose: true })
}
}
)
.then(() => {
resetPassword(ids).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
this.getTableList()
})
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
.catch(() => { })
},
// 新增回显
reloadTableData () {
this.getTableList()
},
})
.catch(() => { })
},
//排序
updateOrder (record, operate) {
const findIndex = this.tableData.data.findIndex(item => item.id === record.id)
let swapId = ''
if (operate === 'UP') {
swapId = this.tableData.data[findIndex - 1].id
} else if (operate === 'DOWN') {
swapId = this.tableData.data[findIndex + 1].id
}
updateOrder('/rest/users', record, operate, swapId).then(res => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
this.getTableList();
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
},
// 修改人员信息
handleEdit (row) {
this.isDialog = true
this.$refs.dialogForm.edit(row);
this.$refs.dialogForm.title = "修改";
},
// 删除
handleDelete (id, content) {
this.$confirm(deleteDomStr(content), '执行确认', {
dangerouslyUseHTMLString: true,
customClass: 'customer-delete',
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteAction(`${api.users}/${id}`).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
} else {
this.$message.error({ message: res.message, showClose: true })
}
this.getTableList()
})
})
.catch(() => { })
},
// 新增回显
reloadTableData () {
this.getTableList()
},
};
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
@import "./index.scss";
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......
......@@ -8,6 +8,8 @@ function resolve (dir) {
const name = defaultSettings.title
const port = process.env.port || process.env.npm_config_port || 8888 // dev port
const CopyWebpackPlugin = require('copy-webpack-plugin')
// All configuration item explanations can be find in https://cli.vuejs.org/config/
module.exports = {
/**
......@@ -68,6 +70,7 @@ module.exports = {
'@': resolve('src')
}
},
plugins: [new CopyWebpackPlugin({ patterns: [{ from: 'src/api/config.js', to: 'config.js'}] })],
devtool: '#eval-source-map' //测试
},
// chainWebpack通过链式编程的形式,来修改默认的webpack配置
......