Commit 16f22811 by liyuhang19990520

Merge branch 'dev_zwpt' of http://47.92.108.28/changchao/founder_vue into dev_zwpt

parents f0ab2094 808cd29a
......@@ -1198,7 +1198,8 @@
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"optional": true
},
"are-we-there-yet": {
"version": "2.0.0",
......@@ -1344,6 +1345,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"optional": true,
"requires": {
"ansi-regex": "^3.0.0"
}
......@@ -1387,7 +1389,8 @@
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"optional": true
}
}
},
......@@ -2082,37 +2085,6 @@
"webpack-merge": "^4.2.2"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995625950&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz",
"integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502871403&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz",
......@@ -2122,35 +2094,11 @@
"ms": "2.1.2"
}
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz?cache=0&sync_timestamp=1636687934969&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.2.tgz",
"integrity": "sha1-1uO0+4GHByGuTghoqxHdY4NowSk=",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
"dev": true
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/download/vue-loader-16.8.3.tgz",
"integrity": "sha1-1D5nXe9bqTRdbH8FkUwT2GGZcIc=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
}
}
},
......@@ -2443,7 +2391,8 @@
"abab": {
"version": "2.0.5",
"resolved": "https://registry.npm.taobao.org/abab/download/abab-2.0.5.tgz",
"integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o="
"integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=",
"optional": true
},
"abbrev": {
"version": "1.1.1",
......@@ -3016,7 +2965,7 @@
},
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"requires": {
"core-js": "^2.4.0",
......@@ -5393,6 +5342,7 @@
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz",
"integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=",
"optional": true,
"requires": {
"webidl-conversions": "^4.0.2"
}
......@@ -8269,7 +8219,8 @@
"lodash.sortby": {
"version": "4.7.0",
"resolved": "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz",
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"optional": true
},
"lodash.transform": {
"version": "4.6.0",
......@@ -9137,7 +9088,7 @@
},
"normalize-wheel": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
},
"npm-run-path": {
......@@ -9787,7 +9738,8 @@
"version": "2.2.2",
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
"dev": true
"dev": true,
"optional": true
},
"pify": {
"version": "4.0.1",
......@@ -13540,6 +13492,7 @@
"version": "1.0.1",
"resolved": "https://registry.nlark.com/tr46/download/tr46-1.0.1.tgz?cache=0&sync_timestamp=1621678105041&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftr46%2Fdownload%2Ftr46-1.0.1.tgz",
"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
"optional": true,
"requires": {
"punycode": "^2.1.0"
}
......@@ -14179,6 +14132,63 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
}
}
},
"vue-router": {
"version": "3.4.6",
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.6.tgz?cache=0&sync_timestamp=1602077426782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.6.tgz",
......@@ -14424,7 +14434,8 @@
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz",
"integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60="
"integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=",
"optional": true
},
"webpack": {
"version": "4.44.2",
......@@ -14694,6 +14705,7 @@
"version": "1.0.5",
"resolved": "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz",
"integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=",
"optional": true,
"requires": {
"iconv-lite": "0.4.24"
}
......@@ -14701,12 +14713,14 @@
"whatwg-mimetype": {
"version": "2.3.0",
"resolved": "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz",
"integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78="
"integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=",
"optional": true
},
"whatwg-url": {
"version": "7.1.0",
"resolved": "https://registry.nlark.com/whatwg-url/download/whatwg-url-7.1.0.tgz",
"integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=",
"optional": true,
"requires": {
"lodash.sortby": "^4.7.0",
"tr46": "^1.0.1",
......@@ -14860,7 +14874,8 @@
"xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz",
"integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo="
"integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=",
"optional": true
},
"xml-utils": {
"version": "1.0.2",
......
import addrType from '../../netmgr/NetAddressType'
const _path = {
bzxxsh: addrType.api + '/hit',
bzxxsh: addrType.api + '/hit/',
}
export default {
shList(_parameter) {
return fHttp.postJson(_path.bzxxsh + '/queryAllSh', _parameter)
return fHttp.postJson(_path.bzxxsh + 'queryAllSh', _parameter)
},
sh(_parameter) {
return fHttp.postJson(_path.bzxxsh + '/udateShzt', _parameter)
return fHttp.postJson(_path.bzxxsh + 'udateShzt', _parameter)
},
updateJrzg(_parameter) {
return fHttp.postJson(_path.bzxxsh + '/updateJrzg', _parameter)
return fHttp.postJson(_path.bzxxsh + 'updateJrzg', _parameter)
},
plsb(_parameter) { // 批量上报
return fHttp.postJson(_path.bzxxsh + '/insertBeach', _parameter)
return fHttp.postJson(_path.bzxxsh + 'insertBeach', _parameter)
},
}
......@@ -2,12 +2,15 @@ import addrType from '../../netmgr/NetAddressType'
const _path = {
ryfkgl: addrType.api + '/logic/person/',
ajfkgl: addrType.api + ''
ajfkgl: addrType.api + '/logic/case/'
}
export default {
ryList(_parameter) {// 获取人员逻辑库
return fHttp.postJson(_path.ryfkgl + 'queryAll', _parameter)
},
ajList(_parameter) {// 获取案件逻辑库
return fHttp.postJson(_path.ajfkgl + 'queryAll', _parameter)
},
}
......@@ -13,6 +13,8 @@ axios.defaults.headers = {
}
axios.defaults.responseType = 'json'
var common = axios.create()
var instance = axios.create({// post 常规请求
headers: {
'Content-Type': 'multipart/form-data'
......@@ -61,7 +63,7 @@ let onError = (error) => {
logger.error('onError-error', error)
logger.error('onError-error.toString', error.toString())
let result = {
code: -1,
code: 999,
message: ''
}
if (error.toString().indexOf('400') >= 0) {
......@@ -80,13 +82,11 @@ let onError = (error) => {
result.code = 501
result.message = '失败(501):您的操作被取消或不允许提交!'
} else if (error.toString().indexOf('timeout') >= 0) {
result.code = -1
result.message = '请求超时,请检查网络连接!'
} else if (error.toString().indexOf('Cancel') >= 0) {
result.code = -2
result.code = 1000
result.message = '取消请求成功!'
} else {// 其他未知异常
result.code = -1
result.message = '未知错误:' + error.toString()
}
let errorMsg = error + '-------' + result.message
......@@ -101,7 +101,9 @@ let onResponse = (response) => {
if (response.headers && response.headers.token) localStorage.setItem(ACCESS_TOKEN, response.headers.token)
if (response.config && response.config.loading !== false) hideLoading(response.config.loadingTarget)
if (response.data && response.data.code) {
logger.info('response', response)
if (response.data && response.data.code >= 0) {
let status = response.data.code
let message = response.data.message
if (status === 0) {
......@@ -121,14 +123,14 @@ let onResponse = (response) => {
// request 请求拦截器
axios.interceptors.request.use(
common.interceptors.request.use(
config => {
config.headers['Content-Type'] = 'application/json'
config = initConfig(config)
return config
}, onError)
// response 响应拦截器
axios.interceptors.response.use(onResponse, onError)
common.interceptors.response.use(onResponse, onError)
instance.interceptors.request.use(
config => {
......@@ -173,7 +175,7 @@ let handleError = (response) => {
})
}, 500)
break
case -2:
case 1000:
type = 'info'
break
}
......@@ -200,7 +202,7 @@ export default {
*/
get(url, params) {
return new Promise((resolve, reject) => {
axios
common
.get(url, {
params: params
})
......@@ -219,7 +221,7 @@ export default {
*/
post(url, params, config) {
return new Promise((resolve, reject) => {
axios.post(url, qs.stringify(params), config)
common.post(url, qs.stringify(params), config)
.then(response => {
logger.net(data, url, response)
parseResponse(resolve, reject, response)
......
......@@ -332,4 +332,16 @@ export default [
},
component: () => import('@/views/bzxxgl/stBzxxsh.vue')
},
{
path: '/xtfkgl',
name: 'xtfkgl',
hidden: false,
meta: {
title: '系统分库管理',
auth: 'H-4',
parentId: 'SystemManage'
},
component: () =>
import('@/views/xtfkgl/XtfkglMain.vue'),
},
]
......@@ -128,7 +128,7 @@
<el-radio-group v-model="ruleForm.queryClass">
<!-- <el-radio label="5">最低</el-radio> -->
<el-radio label="3"></el-radio>
<el-radio label="2"></el-radio>
<el-radio label="2">普通</el-radio>
<el-radio label="1"></el-radio>
<!-- <el-radio label="1">最高</el-radio> -->
</el-radio-group>
......@@ -347,7 +347,7 @@
<el-radio-group v-model="ruleForm.queryClass">
<!-- <el-radio label="5">最低</el-radio> -->
<el-radio label="3"></el-radio>
<el-radio label="2"></el-radio>
<el-radio label="2">普通</el-radio>
<el-radio label="1"></el-radio>
<!-- <el-radio label="1">最高</el-radio> -->
</el-radio-group>
......@@ -525,11 +525,17 @@ export default {
targets_aj: this.$store.state.ljk.targetOptions_aj, // 目标逻辑库(案件) vuex
dataRy: ['1'], // 人员 目标逻辑库 选中
dataAj: ['1'], // 案件 目标逻辑库 选中
radio: 'true',
byzsArr: '', // 本月总数(5个等级数组)
byzs: null,// 该类型下本月总数
sytsArr: null,// 剩余条数
syts: null, //该类型下剩余条数
bcxh: null, //本次消耗
......@@ -597,8 +603,8 @@ export default {
if (newVal == true) {
this.type == 'ry' ? this.title = '人员发查询' : this.title = '案件发查询'
this.type == 'ry' ? this.ruleForm.cxlx.querytype = '1' : this.ruleForm.cxlx.querytype = '2'
this.searchZTS()
this.searchsytsArr()
// this.searchZTS()
// this.searchsytsArr()
this.getQueryCount()
this.bcxh = this.rowData.length;
if (this.type == 'aj') {
......@@ -997,39 +1003,39 @@ export default {
},
// 获取发查询数据(总条数)
searchZTS () {
// //console.info("发查询条数请求===>", this.reqParam);
this.$axios
.get("/api/querylimit/select", { params: { userId: 1234 } })
.then(response => {
if (response.data.code === 0) {
this.byzsArr = response.data.ret
this.byzs = this.byzsArr[0].level1
//console.info("111发查询总条数返回列表===>", this.byzsArr);
// this.colorDiv()
} else {
this.$message.error(response.data.message);
}
});
},
// 获取发查询剩余条数
searchsytsArr () {
//console.info("发查询条数请求===>", this.reqParam);
this.$axios
.get("/api/querylimit/surplus", { params: { userId: 1234 } })
.then(response => {
if (response.data.code === 0) {
this.sytsArr = response.data.ret
this.syts = this.sytsArr[0].level1
//console.info("222发查询剩余条数返回列表===>", this.sytsArr);
} else {
// this.$message.error(response.data.message);
this.$message.error('获取发查询剩余条数失败');
// // 获取发查询数据(总条数)
// searchZTS () {
// // //console.info("发查询条数请求===>", this.reqParam);
// this.$axios
// .get("/api/querylimit/select", { params: { userId: 1234 } })
// .then(response => {
// if (response.data.code === 0) {
// this.byzsArr = response.data.ret
// this.byzs = this.byzsArr[0].level1
// //console.info("111发查询总条数返回列表===>", this.byzsArr);
// // this.colorDiv()
// } else {
// this.$message.error(response.data.message);
// }
// });
// },
// // 获取发查询剩余条数
// searchsytsArr () {
// //console.info("发查询条数请求===>", this.reqParam);
// this.$axios
// .get("/api/querylimit/surplus", { params: { userId: 1234 } })
// .then(response => {
// if (response.data.code === 0) {
// this.sytsArr = response.data.ret
// this.syts = this.sytsArr[0].level1
// //console.info("222发查询剩余条数返回列表===>", this.sytsArr);
// } else {
// // this.$message.error(response.data.message);
// this.$message.error('获取发查询剩余条数失败');
}
});
},
// }
// });
// },
// 发查询条数
getQueryCount () {
this.$axios
......@@ -1040,6 +1046,8 @@ export default {
// this.syts = this.sytsArr[0].level1
console.log("505050505050发查询剩余条数返回列表===>", response.data);
this.byzs = response.data.detail.totalCount // 本月总数
} else {
// this.$message.error(response.data.message);
this.$message.error('获取发查询剩余条数失败');
......
......@@ -409,10 +409,7 @@
placement="right"
>
<div slot="content">{{scope.row.failReason}}</div>
<img
src="../../assets/img/confirm/history2x.png"
@click.stop="getDialog(scope.row)"
/>
<img src="../../assets/img/confirm/history2x.png" />
</el-tooltip>
</span>
</template>
......@@ -628,10 +625,7 @@
placement="right"
>
<div slot="content">{{scope.row.failReason}}</div>
<img
src="../../assets/img/confirm/history2x.png"
@click.stop="getDialog(scope.row)"
/>
<img src="../../assets/img/confirm/history2x.png" />
</el-tooltip>
</span>
</template>
......
<template>
<div class="addUserDialogBg">
<!-- class="addUserDialogBg"-->
<div class="addUserDialog dialog">
<div class="head-title">
<div class="left">新增人员逻辑分库</div>
<div class="close" @click="canceladd">
<img src="@/assets/img/manage/close.png" alt="" />
</div>
</div>
<div class="info">
<el-form
label-position="left"
label-width="10rem"
:model="addFormParams"
:rules="addrules"
ref="addFormParams"
>
<el-form-item class="info-item" label="逻辑分库名称:" prop="name">
<el-input
placeholder="请输入"
class="input-info"
v-model="addFormParams.name"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="数据库用户:">
<el-input
placeholder="请输入"
class="input-info"
v-model="addFormParams.describe"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="逻辑库说明:">
<el-input
placeholder="请输入"
class="input-info"
v-model="addFormParams.describe"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="启用状态:" prop="status">
<el-radio-group class="radio-info" v-model="addFormParams.status">
<el-radio :label="1" class="qiyong">启用</el-radio>
<el-radio :label="0" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item class="addbtns">
<el-button
class="add"
type="primary"
@click="submitForm('addFormParams')">提交
</el-button>
<el-button class="cancel" @click="canceladd">取消</el-button>
</el-form-item>
</el-form>
</div>
<br />
<!-- <gzl-view />-->
</div>
</div>
</template>
<script>
import GzlView from '../xtfkgl/GzlView.vue'
export default {
name: 'AddXtfkView',
components: {GzlView},
data() {
// 组名
var validateGroupname = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入用户组名称!'))
} else {
callback()
}
}
// 用户名ID
var validateUserId = (rule, value, callback) => {
if (value === '' || value.length == 0) {
callback(new Error('请选择加入用户组的用户!'))
} else {
callback()
}
}
// 用户名ID
var validateRoleId = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择用户组的角色!'))
} else {
callback()
}
}
// 启用状态校验
var validateStatus = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择状态!'))
} else {
callback()
}
}
return {
addFormParams: {
name: '', // 组名称
describe: '', // 用户组描述
userId: [], // 加入组用户
roleId: [], // 加入组角色
status: 1, // 0 未激活 1 已激活
},
addrules: {
name: [
{validator: validateGroupname, trigger: 'blur', required: true},
], //组名称
userId: [
{validator: validateUserId, trigger: 'change', required: true},
], // 用户名ID
roleId: [
{validator: validateRoleId, trigger: 'blur', required: true},
], //角色ID
status: [
{validator: validateStatus, trigger: 'blur', required: true},
], // 启用状态
},
// isShowAddUserDialogBg = true;
}
},
methods: {
submitForm() {
this.canceladd()
},
canceladd() {
this.$emit('close')
},
},
}
</script>
<style scoped lang="scss">
@import "./scss/dialog_table";
</style>
......@@ -5,38 +5,78 @@
<el-table
:height="height"
style="width: 100%"
highlight-current-row
ref="multipleTable"
:data="tableDate"
class="table">
<el-table-column prop="fkmc" label="分库名称" :width="width1"></el-table-column>
<el-table-column prop="logicName" label="分库名称" :width="width1"></el-table-column>
<el-table-column prop="sjkyh" label="数据库用户组/用户" :width="width2">
<template slot-scope="scope">
<div class="tagsBox">
<div
v-for="item in strArr(scope.row.sjkyh)"
:class="{ tags: true, tagszu: item.type === 0 }"
:key="item.id"
v-for="item in strArr(scope.row.groups)"
:class="{ tags: true, tagszu: item.type === 1 }"
:key="item.logicId"
v-show="item !== ''">
{{ item.name }}
<div v-if="item.type === 1 && item.user && item.user.length >0">
<el-tooltip
class="item"
effect="dark"
placement="bottom"
style="width: auto !important">
<span>{{ item.name }}</span>
<div slot="content" class="tooTipBtn">
<div
v-for="it in item.user"
:title="it.name"
:key="it.id"
>
{{ it.name }}
</div>
</div>
</el-tooltip>
</div>
<div v-else>
{{ item.name }}
</div>
</div>
<el-tooltip
class="item"
effect="dark"
placement="right"
style="width: auto !important"
v-if="scope.row.sjkyh.length > 4"
v-if="scope.row.groups && scope.row.groups.length > 4"
>
<span style="margin-left: 5px">...</span>
<div slot="content" class="tooTipBtn">
<div
v-for="item in scope.row.sjkyh"
:class="{divtext:item.type === 0}"
v-for="item in scope.row.groups"
:class="{divtext:item.type === 1}"
:title="item.name"
:key="item.id"
>
{{ item.name }}
<div v-if="item.type === 1 && item.user && item.user.length >0">
<el-tooltip
class="item"
effect="dark"
placement="right"
style="width: auto !important">
<span>{{ item.name }}</span>
<div slot="content" class="tooTipBtn">
<div
v-for="it in item.user"
:title="it.name"
:key="it.id"
>
{{ it.name }}
</div>
</div>
</el-tooltip>
</div>
<div v-else>
{{ item.name }}
</div>
</div>
</div>
</el-tooltip>
......@@ -44,51 +84,68 @@
</template>
</el-table-column>
<el-table-column prop="cjsj" label="创建时间" :width="width3"></el-table-column>
<el-table-column prop="createTime" label="创建时间" :width="width3"></el-table-column>
<el-table-column prop="qyzt" label="启用状态" :width="width4">
<template slot-scope="scope">
<div v-if="scope.row.status === 0" class="circle-red"></div>
<div v-if="scope.row.status === 1" class="circle-blue"></div>
<div v-if="scope.row.status === 1" class="circle-red"></div>
<div v-if="scope.row.status === 0" class="circle-blue"></div>
{{
scope.row.status === 0
scope.row.status === 1
? '停用'
: scope.row.status === 1
: scope.row.status === 0
? '启用'
: '无状态'
}}
</template>
</el-table-column>
<el-table-column prop="ljksm" label="逻辑库说明" :width="width5"></el-table-column>
<el-table-column prop="des" label="逻辑库说明" :width="width5" show-overflow-tooltip>
<template slot-scope="scope">
<div v-if="scope.row.des">
<el-tooltip effect="dark" :content="scope.row.des" placement="top">
<div>
{{ scope.row.des.length > 11 ? scope.row.des.slice(0,11) + '...' : scope.row.des }}
</div>
</el-tooltip>
</div>
<div v-else>- - -</div>
</template>
</el-table-column>
<el-table-column prop="cz" label="操作" width="auto">
<template slot-scope="scope">
<img
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
/>
<img
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
/>
<img
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
/>
<el-tooltip
effect="dark"
content="编辑"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goBj"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-bianji" />
</svg>
</el-tooltip>
<el-tooltip
effect="dark"
content="工作流"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goGzl"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-gongzuoliu" />
</svg>
</el-tooltip>
<el-tooltip
effect="dark"
content="数据管理"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goSjgl"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-shujuguanli" />
</svg>
</el-tooltip>
</template>
</el-table-column>
......@@ -131,8 +188,8 @@ export default {
currPage: 1, // 当前页数
pageSize: 10, // 每页的数据条数
total: 70, // 数据总条数
totalPage: 7, // 总共页数
total: 0, // 数据总条数
totalPage: 0, // 总共页数
}
},
created() {
......@@ -148,39 +205,71 @@ export default {
this.width6 = (this.width6 * w2) / w1
this.initTestData()
// this.getList()
},
methods: {
loadData() {
// this.getList()
},
initTestData() {
// 测试数据出初始化
let _that = this
for (var i = 0; i < 10; i++) {
_that.tableDate.push({
id: i,
fkmc: '本地案件库',
sjkyh: _that.initYhData(i),
cjsj: '2021-11-20',
qyzt: i % 2 === 0 ? '启用' : '停用',
ljksm: '人员库说明信息肌肤的空间',
logicId: i,
logicName: '本地案件库',
groups: _that.initGroupData(i),
createTime: '2021-11-20',
des: '人员库说明信息肌肤的空间11111111111111',
status: i % 2,
})
}
// logger.info(_that.tableDate)
},
initYhData(index) {
initGroupData(index) {
index += 4
let yhs = []
let sta
for (let i = 0; i < index % 9 + 1; i++) {
sta = Math.floor(Math.random() * 2)
let type = Math.floor(Math.random() * 2)
yhs.push({
id: i,
name: '长沙市高级质量检查11111111',
type: type,
user: type === 1 ? this.initYhData(index) : null
}
)
}
return yhs
},
initYhData(index) {
let yhs = []
for (let i = 0; i < index % 4 + 1; i++) {
yhs.push({
name: '长沙市高级质量检查111',
type: sta,
id: i
id: i,
name: '长沙市高级质量检查'
}
)
}
return yhs
},
goBj() {
//TODO...编辑.
this.$emit('openBj')
},
goGzl() {
//TODO.... 工作流
this.$emit('openGzl')
},
goSjgl() {
//TODO....数据管理
this.$emit('openSjgl')
},
strArr(arr) {
if (!arr) return arr
// logger.info(arr)
let newArr = []
if (arr.length > 4) {
newArr = arr.slice(0, 4)
......@@ -190,10 +279,28 @@ export default {
return newArr
},
handleCurrentChange() {
handleCurrentChange(page) {
var _that = this
_that.getList(page)
},
getList(page = 1, limit = 10) {
let _that = this
let ruleForm = {}
ruleForm.page = page
ruleForm.limit = limit
NetUtil.xtfkgl
.ajList(ruleForm)
.then(res => {
if (res && res.code === 0) {
_that.tableDate = res.ret.rows
_that.total = res.ret.total
_that.totalPage = Math.ceil(_that.total / _that.pageSize)
}
})
},
},
}
</script>
......@@ -202,5 +309,3 @@ export default {
@import "scss/xtfkgl_main";
</style>
<template>
<div class="addUserDialogBg">
<!-- class="addUserDialogBg"-->
<div class="addUserDialog dialog">
<div class="head-title">
<div class="left">工作流设置</div>
<div class="close" @click="canceladd">
<img src="@/assets/img/manage/close.png" alt="" />
</div>
</div>
<div class="info">
<el-form
label-position="left"
label-width="10rem"
:model="addFormParams"
:rules="addrules"
ref="addFormParams"
>
<el-form-item class="info-item" label="工作模式:" prop="status">
<el-radio-group class="radio-info" v-model="addFormParams.status">
<el-radio :label="1" class="qiyong">串行模式</el-radio>
<el-radio :label="0" class="tingyong">并行模式</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item class="info-item" label="队列名称:" prop="name">
<el-input
placeholder="请输入"
class="input-info"
v-model="addFormParams.name"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="工作队列:">
<el-input
placeholder="请输入"
class="input-info"
v-model="addFormParams.describe"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="启用状态:" prop="status">
<el-radio-group class="radio-info" v-model="addFormParams.status">
<el-radio :label="1" class="qiyong">启用</el-radio>
<el-radio :label="0" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item class="addbtns">
<el-button
class="add"
type="primary"
@click="submitForm('addFormParams')">添加工作流
</el-button>
<el-button class="cancel" @click="canceladd">取消</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'GzlView',
data() {
// 组名
var validateGroupname = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入用户组名称!'))
} else {
callback()
}
}
// 用户名ID
var validateUserId = (rule, value, callback) => {
if (value === '' || value.length == 0) {
callback(new Error('请选择加入用户组的用户!'))
} else {
callback()
}
}
// 用户名ID
var validateRoleId = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择用户组的角色!'))
} else {
callback()
}
}
// 启用状态校验
var validateStatus = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择状态!'))
} else {
callback()
}
}
return {
addFormParams: {
name: '', // 组名称
describe: '', // 用户组描述
userId: [], // 加入组用户
roleId: [], // 加入组角色
status: 1, // 0 未激活 1 已激活
},
addrules: {
name: [
{validator: validateGroupname, trigger: 'blur', required: true},
], //组名称
userId: [
{validator: validateUserId, trigger: 'change', required: true},
], // 用户名ID
roleId: [
{validator: validateRoleId, trigger: 'blur', required: true},
], //角色ID
status: [
{validator: validateStatus, trigger: 'blur', required: true},
], // 启用状态
},
// isShowAddUserDialogBg = true;
}
},
methods: {
submitForm() {
this.canceladd()
},
canceladd() {
this.$emit('close')
},
},
}
</script>
<style scoped lang="scss">
@import "./scss/dialog_table";
</style>
......@@ -5,38 +5,78 @@
<el-table
:height="height"
style="width: 100%"
highlight-current-row
ref="multipleTable"
:data="tableDate"
class="table">
<el-table-column prop="fkmc" label="分库名称" :width="width1"></el-table-column>
<el-table-column prop="logicName" label="分库名称" :width="width1"></el-table-column>
<el-table-column prop="sjkyh" label="数据库用户组/用户" :width="width2">
<template slot-scope="scope">
<div class="tagsBox">
<div
v-for="item in strArr(scope.row.sjkyh)"
:class="{ tags: true, tagszu: item.type === 0 }"
:key="item.id"
v-for="item in strArr(scope.row.groups)"
:class="{ tags: true, tagszu: item.type === 1 }"
:key="item.logicId"
v-show="item !== ''">
{{ item.name }}
<div v-if="item.type === 1 && item.user && item.user.length >0">
<el-tooltip
class="item"
effect="dark"
placement="bottom"
style="width: auto !important">
<span>{{ item.name }}</span>
<div slot="content" class="tooTipBtn">
<div
v-for="it in item.user"
:title="it.name"
:key="it.id"
>
{{ it.name }}
</div>
</div>
</el-tooltip>
</div>
<div v-else>
{{ item.name }}
</div>
</div>
<el-tooltip
class="item"
effect="dark"
placement="right"
style="width: auto !important"
v-if="scope.row.sjkyh.length > 4"
v-if="scope.row.groups && scope.row.groups.length > 4"
>
<span style="margin-left: 5px">...</span>
<div slot="content" class="tooTipBtn">
<div
v-for="item in scope.row.sjkyh"
:class="{divtext:item.type === 0}"
v-for="item in scope.row.groups"
:class="{divtext:item.type === 1}"
:title="item.name"
:key="item.id"
>
{{ item.name }}
<div v-if="item.type === 1 && item.user && item.user.length >0">
<el-tooltip
class="item"
effect="dark"
placement="right"
style="width: auto !important">
<span>{{ item.name }}</span>
<div slot="content" class="tooTipBtn">
<div
v-for="it in item.user"
:title="it.name"
:key="it.id"
>
{{ it.name }}
</div>
</div>
</el-tooltip>
</div>
<div v-else>
{{ item.name }}
</div>
</div>
</div>
</el-tooltip>
......@@ -44,50 +84,70 @@
</template>
</el-table-column>
<el-table-column prop="cjsj" label="创建时间" :width="width3"></el-table-column>
<el-table-column prop="createTime" label="创建时间" :width="width3"></el-table-column>
<el-table-column prop="qyzt" label="启用状态" :width="width4">
<template slot-scope="scope">
<div v-if="scope.row.status === 0" class="circle-red"></div>
<div v-if="scope.row.status === 1" class="circle-blue"></div>
<div v-if="scope.row.status === 1" class="circle-red"></div>
<div v-if="scope.row.status === 0" class="circle-blue"></div>
{{
scope.row.status === 0
scope.row.status === 1
? '停用'
: scope.row.status === 1
: scope.row.status === 0
? '启用'
: '无状态'
}}
</template>
</el-table-column>
<el-table-column prop="ljksm" label="逻辑库说明" :width="width5"></el-table-column>
<el-table-column prop="des" label="逻辑库说明" :width="width5" show-overflow-tooltip>
<template slot-scope="scope">
<div v-if="scope.row.des">
<el-tooltip effect="dark" :content="scope.row.des" placement="top">
<div>
{{ scope.row.des.length > 11 ? scope.row.des.slice(0,11) + '...' : scope.row.des }}
</div>
</el-tooltip>
</div>
<div v-else>- - -</div>
</template>
</el-table-column>
<el-table-column prop="cz" label="操作" width="auto">
<template slot-scope="scope">
<img
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
/>
<img
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
/>
<img
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
/>
<el-tooltip
effect="dark"
content="编辑"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goBj"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-bianji" />
</svg>
</el-tooltip>
<el-tooltip
effect="dark"
content="工作流"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goGzl"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-gongzuoliu" />
</svg>
</el-tooltip>
<el-tooltip
effect="dark"
content="数据管理"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goSjgl"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-shujuguanli" />
</svg>
</el-tooltip>
</template>
</el-table-column>
......@@ -131,8 +191,8 @@ export default {
currPage: 1, // 当前页数
pageSize: 10, // 每页的数据条数
total: 70, // 数据总条数
totalPage: 7, // 总共页数
total: 0, // 数据总条数
totalPage: 0, // 总共页数
}
},
created() {
......@@ -148,42 +208,72 @@ export default {
this.width6 = (this.width6 * w2) / w1
this.initTestData()
this.getList()
},
methods: {
loadData() {
this.getList()
},
initTestData() {
// 测试数据出初始化
let _that = this
for (var i = 0; i < 10; i++) {
_that.tableDate.push({
id: i,
fkmc: '本地案件库',
sjkyh: _that.initYhData(i),
cjsj: '2021-11-20',
qyzt: i % 2 === 0 ? '启用' : '停用',
ljksm: '人员库说明信息肌肤的空间',
logicId: i,
logicName: '本地案件库',
groups: _that.initGroupData(i),
createTime: '2021-11-20',
des: '人员库说明信息肌肤的空间11111111111111',
status: i % 2,
})
}
logger.info(_that.tableDate)
// logger.info(_that.tableDate)
},
initYhData(index) {
initGroupData(index) {
index += 4
let yhs = []
let sta
for (let i = 0; i < index % 9 + 1; i++) {
sta = Math.floor(Math.random() * 2)
let type = Math.floor(Math.random() * 2)
yhs.push({
name: '长沙市高级质量检查111',
type: sta,
id: i
id: i,
name: '长沙市高级质量检查11111111',
type: type,
user: type === 1 ? this.initYhData(index) : null
}
)
}
return yhs
},
initYhData(index) {
let yhs = []
for (let i = 0; i < index % 4 + 1; i++) {
yhs.push({
id: i,
name: '长沙市高级质量检查'
}
)
}
return yhs
},
goBj() {
//TODO...编辑.
this.$emit('openBj')
},
goGzl() {
//TODO.... 工作流
this.$emit('openGzl')
},
goSjgl() {
//TODO....数据管理
this.$emit('openSjgl')
},
strArr(arr) {
if (!arr) return arr
// logger.info(arr)
let newArr = []
if (arr.length > 4) {
newArr = arr.slice(0, 4)
......@@ -193,15 +283,24 @@ export default {
return newArr
},
handleCurrentChange() {
handleCurrentChange(page) {
var _that = this
_that.getList(page)
},
getList() {
let kk = ''
getList(page = 1, limit = 10) {
let _that = this
let ruleForm = {}
ruleForm.page = page
ruleForm.limit = limit
NetUtil.xtfkgl
.list()
.ryList(ruleForm)
.then(res => {
if (res && res.code === 0) {
_that.tableDate = res.ret.rows
_that.total = res.ret.total
_that.totalPage = Math.ceil(_that.total / _that.pageSize)
}
})
},
......
......@@ -29,34 +29,87 @@
<br />
<!-- 人员逻辑库 -->
<ry-xtljfk-view v-if="isPerson" />
<ry-xtljfk-view
ref="ryXtfk"
v-show="isPerson"
@openBj="openRyBj"
@openGzl="openRyGzl"
@openSjgl="openRySjgl" />
<!-- 案件逻辑库 -->
<aj-xtljfk-view v-else />
<aj-xtljfk-view
ref="ajXtfk"
v-show="!isPerson"
@openBj="openAjBj"
@openGzl="openAjGzl"
@openSjgl="openAjSjgl" />
<!-- 新增分库页面-->
<add-xtfk-view ref="addXtfkViewRef" v-show="isAddFk" @close="closeXtfkView" />
<gzl-view ref="gzlView" v-show="isShowGzl" @close="closeGzlView" />
</el-container>
</template>
<script>
import RyXtljfkView from '../xtfkgl/RyXtljfkView.vue'
import AjXtljfkView from '../xtfkgl/AjXtljfkView.vue'
import AddXtfkView from '../xtfkgl/AddXtfkView.vue'
import GzlView from '../xtfkgl/GzlView.vue'
export default {
name: 'XtfkglMain',
components: {
GzlView,
RyXtljfkView,
AjXtljfkView
AjXtljfkView,
AddXtfkView
},
data() {
return {
isShowGzl: false,
isAddFk: false,
isPerson: true,
}
},
mounted() {
},
methods: {
toggleView(state) {// true: 显示人员逻辑分库 false :显示案件逻辑分库
this.isPerson = state
if (this.isPerson) {
this.$refs.ryXtfk.loadData()
} else {
this.$refs.ajXtfk.loadData()
}
},
addFk() { // 新增分库
this.isAddFk = true
},
openRyBj() { // 案件编辑
this.isAddFk = true
},
openRyGzl() { // 案件工作流
this.isShowGzl = true
},
openRySjgl() { // 案件数据管理
},
closeXtfkView() {
this.isAddFk = false
},
openAjBj() { // 案件编辑
this.isAddFk = true
},
openAjGzl() {// 案件工作流
this.isShowGzl = true
},
openAjSjgl() { // 案件数据管理
},
closeGzlView() {
this.isShowGzl = false
}
},
}
......@@ -65,5 +118,4 @@ export default {
<style scoped lang="scss">
@import "scss/xtfkgl_main";
</style>
.addUserDialogBg {
position: absolute;
top: 0;
left: 0;
z-index: 500;
width: 100%;
height: 100%;
background: rgba($color: #fff, $alpha: 0.65);
//filter: blur(2px);
}
.addUserDialog {
box-sizing: border-box;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-40%, -50%);
z-index: 1000;
width: 890px;
height: 440px;
background: #ffffff;
box-shadow: 0px 14px 30px 0px rgba(0, 21, 51, 0.25);
border-radius: 6px;
.head-title {
box-sizing: border-box;
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
padding: 14px 32px;
border-bottom: 1px solid #eeeeee;
.left {
font-size: 16px;
color: #282f3c;
}
.close {
cursor: pointer;
width: 13px;
height: 13px;
img {
object-fit: contain;
}
}
}
.info {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
// padding-left: 200px;
padding-top: 10px;
margin-bottom: 10px;
.el-form /deep/ {
display: flex;
flex-flow: column;
justify-content: space-around;
align-items: center;
.addbtns {
.el-form-item__content {
}
}
}
.info-item {
margin-bottom: 20px;
width: 500px;
height: 40px;
display: flex;
flex-direction: row;
justify-content: center;
.input-info {
width: 204px;
height: 35px;
//background: #FFFFFF;
border-radius: 4px;
}
.radio-info {
margin-top: 10px;
width: 204px;
height: 35px;
}
}
}
.addbtns {
border-top: 1px solid #eeeeee;
padding-top: 20px;
width: 100%;
text-align: center;
.add {
width: 72px;
height: 40px;
background: #ffffff;
border-radius: 4px;
border: 1px solid #aeb5c2;
font-size: 14px;
color: #2e3846;
line-height: 40px;
cursor: pointer;
margin-right: 24px;
}
.cancel {
width: 72px;
height: 40px;
background: #055fe7;
border-radius: 4px;
font-size: 14px;
color: #ffffff;
line-height: 40px;
cursor: pointer;
}
}
}
.dialog /deep/ {
.el-form-item__content {
margin-left: 20px !important;
position: relative !important;
.el-input__inner {
padding-right: 30px;
}
}
.el-form-item__error {
left: 100%;
width: 100%;
top: 50%;
box-sizing: border-box;
transform: translateY(-50%);
padding-left: 10px;
padding-top: 0 !important;
}
.el-form-item__label {
position: relative;
&::before {
position: absolute;
left: -10px;
transform: translateY(3px);
}
}
.is-error {
.el-input {
&::after {
display: block;
content: "";
width: 16px;
height: 16px;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: url("~@/assets/img/warn.png") 100% 100% / cover;
}
}
.el-input__inner {
border-color: #e6e6e8 !important;
color: #e60012;
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.06);
}
}
.el-radio-group {
display: flex;
align-items: center;
> .el-radio {
display: flex;
align-items: center;
margin-right: 20px;
}
.el-radio__label {
color: #333333 !important;
}
.qiyong,
.tingyong {
.el-radio__label {
position: relative;
padding-left: 20px !important;
&::before {
content: "";
display: block;
width: 8px;
height: 8px;
background: #00B47A;
border-radius: 50%;
position: absolute;
left: 6px;
top: 50%;
transform: translateY(-50%);
}
}
}
.tingyong {
.el-radio__label {
&::before {
background: #fe0000 !important;
}
}
}
.is-checked {
.el-radio__inner {
border-radius: 50% !important;
border-color: #055fe7;
background: #055fe7;
&::after {
width: 7px;
height: 7px;
border-radius: 50% !important;
}
}
}
}
}
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