Commit e21383d7 by yuhao

修改

parent 53822ec8
......@@ -10,4 +10,31 @@ export const insertXzqqXx = params =>
export const selectAll = params =>
postform(`${base.alyIP}/hcypgl/selectAll`, params);
//详情
export const selectOne = params =>
postform(`${base.alyIP}/hcypgl/selectOne`, params);
export const imgInfo = params =>
postform(`${base.alyIP}/hcypgl/imgInfo`, params);
// 整体修改
export const updateXzqqXx = params =>
postform(`${base.alyIP}/hcypgl/updateXzqqXx`, params);
// 审批
export const shXzqqXx = params =>
postform(`${base.alyIP}/hcypgl/shXzqqXx`, params);
// 删除
export const deleteById = params =>
postform(`${base.alyIP}/hcypgl/deleteById`, params);
// 列表
export const selectCyglList = params =>
postform(`${base.alyIP}/hcypgl/selectCyglList`, params);
// 列表
export const selectUserNewList = params =>
postform(`${base.alyIP}/hcypgl/selectUserNewList`, params);
export const insertCyglById = params =>
postform(`${base.alyIP}/hcypgl/insertCyglById`, params);
export const deleteCyglById = params =>
postform(`${base.alyIP}/hcypgl/deleteCyglById`, params);
export const insertFkXx = params =>
postform(`${base.alyIP}/hcypgl/insertFkXx`, params);
export const selectFkXxOne = params =>
postform(`${base.alyIP}/hcypgl/selectFkXxOne`, params);
\ No newline at end of file
......@@ -9,6 +9,7 @@
style="width: 100%"
border
@sort-change='sortTableFun'
@selection-change="handleSelectionChange"
v-loading="columObj.loading">
<!-- 选择框是否开启,selectable控制是否单行禁用 -->
<el-table-column v-if="columObj.selection"
......@@ -159,7 +160,7 @@
:page-sizes="[10, 15, 20, 30,50]"
:page-size="pageObj.pageData.size"
background
layout="sizes,prev, pager, next,jumper"
layout="total,sizes,prev, pager, next,jumper"
:total="pageObj.total">
</el-pagination>
</div>
......@@ -203,6 +204,9 @@ export default {
handleCurrentChange (e) {
this.$emit('handleCurrentChange', e);
},
handleSelectionChange (e) {
this.$emit('handleSelectionChange', e);
},
// 导出数据
exportData () {
this.$emit('exportData', '')
......
<template>
<div>
<!--字典框 @emitValue="getLbValue"-->
<el-select
:placeholder="curItem.placeholder"
v-model="curFormData[curItem.id]"
:class="curItem.code"
popper-class="zdyCodeDialog"
style="width: 100%"
@clear="clearSeleted"
@remove-tag="removeTag"
:popper-append-to-body="false"
:multiple="curItem.multiple"
:disabled="curItem.disabled"
empty-text="请从弹框中选择数据"
@focus="
<el-select :placeholder="curItem.placeholder"
v-model="curFormData[curItem.id]"
:class="curItem.code"
popper-class="zdyCodeDialog"
style="width: 100%"
@clear="clearSeleted"
@remove-tag="removeTag"
:popper-append-to-body="false"
:multiple="curItem.multiple"
:disabled="curItem.disabled"
empty-text="请从弹框中选择数据"
@focus="
(val, $event) =>
showCodeTreeDialog(val, curItem, curFormData, curItem.id)
"
clearable
>
<el-option
v-for="item2 in codeTreeConfig.fieldItem"
:key="item2.id"
:label="item2.label"
:value="item2.id"
>
clearable>
<el-option v-for="item2 in codeTreeConfig.fieldItem"
:key="item2.id"
:label="item2.label"
:value="item2.id">
</el-option>
</el-select>
<!--多级或多数据下拉框弹框样式-->
<el-dialog
v-if="dialogCodeVisible"
custom-class="treeDialog"
:visible.sync="dialogCodeVisible"
style="z-index: 2020 !important"
:close-on-click-modal="false"
center
>
<div
slot="title"
class="header-title"
style="
<el-dialog v-if="dialogCodeVisible"
custom-class="treeDialog"
:visible.sync="dialogCodeVisible"
style="z-index: 2020 !important"
:close-on-click-modal="false"
center>
<div slot="title"
class="header-title"
style="
text-align: left;
height: 30px;
font-size: 16px;
......@@ -47,64 +40,53 @@
font-weight: bold;
line-height: 30px;
opacity: 1;
"
>
">
<div>{{ codeTreeConfig.title }}</div>
</div>
<el-input
placeholder="输入关键字进行过滤"
v-model="filterText"
style="
<el-input placeholder="输入关键字进行过滤"
v-model="filterText"
style="
margin-bottom: 4px;
width: calc(100% - 26px) !important;
margin-left: 15px;
margin-top: 2px;
"
>
">
</el-input>
<div
style="
<div style="
width: calc(100% - 18px);
height: calc(100% - 42px);
overflow-y: auto;
border-bottom: 1px solid #f2f2f2;
margin-left: 7px;
"
>
<el-tree
:props="defaultProps"
node-key="id"
:filter-node-method="filterNode"
ref="codeTreeDialog"
:default-expanded-keys="defaultExpandedKeys"
:default-checked-keys="
">
<el-tree :props="defaultProps"
node-key="id"
:filter-node-method="filterNode"
ref="codeTreeDialog"
:default-expanded-keys="defaultExpandedKeys"
:default-checked-keys="
Array.isArray(curFormData[curItem.id])
? curFormData[curItem.id]
: [...curFormData[curItem.id]]
"
@check="codeTreeNodeCheck"
@check-change="handleNodeClick"
:check-on-click-node="true"
lazy
:load="loadNode"
check-strictly
show-checkbox
style="height: 288px"
>
@check="codeTreeNodeCheck"
@check-change="handleNodeClick"
:check-on-click-node="true"
lazy
:load="loadNode"
check-strictly
show-checkbox
style="height: 288px">
</el-tree>
</div>
<div slot="footer" class="dialog-footer ar" style="margin-top: 11px">
<el-button
@click="dialogCodeVisible = false"
style="width: 120px; height: 36px"
>取 消</el-button
>
<el-button
type="primary"
@click="forSureSelectCode"
style="width: 120px; height: 36px"
>确 定</el-button
>
<div slot="footer"
class="dialog-footer ar"
style="margin-top: 11px">
<el-button @click="dialogCodeVisible = false"
style="width: 120px; height: 36px">取 消</el-button>
<el-button type="primary"
@click="forSureSelectCode"
style="width: 120px; height: 36px">确 定</el-button>
</div>
</el-dialog>
</div>
......@@ -120,7 +102,7 @@ export default {
currentItem: Object,
sendId: String,
},
data() {
data () {
return {
curFormData: this.formData,
curItem: this.currentItem,
......@@ -155,19 +137,19 @@ export default {
};
},
computed: {
newValue() {
newValue () {
this.getcode();
return this.curFormData[this.curItem.id];
},
},
watch: {
formData(val) {
formData (val) {
this.curFormData = val;
},
filterText(val) {
filterText (val) {
this.$refs.codeTreeDialog.filter(val);
},
newValue(val) {
newValue (val) {
// if (val != '' && this.codeTreeConfig.fieldItem == null) {
if (val != "") {
var self = this;
......@@ -215,7 +197,7 @@ export default {
},
},
methods: {
getcode() {
getcode () {
var self = this;
if (self.curFormData[self.curItem.id]) {
let parm = {
......@@ -261,7 +243,7 @@ export default {
}
},
// 搜索树状数据中的 ID
queryTree(tree, id) {
queryTree (tree, id) {
let stark = [];
stark = stark.concat(tree);
while (stark.length) {
......@@ -277,7 +259,7 @@ export default {
return "";
},
//多选模式下移除tag时触发
removeTag(val) {
removeTag (val) {
let self = this,
label = "";
self.codeTreeConfig.fieldItem.splice(
......@@ -294,11 +276,11 @@ export default {
this.$emit("getDialogSeleted", label);
},
//可清空的单选模式下用户点击清空按钮时触发
clearSeleted() {
clearSeleted () {
this.$emit("getDialogSeleted", "");
},
//确定选择当前用户
forSureSelectCode() {
forSureSelectCode () {
var self = this;
var thisCodeOptions = [];
if (self.$refs.codeTreeDialog.getCheckedNodes().length != 0) {
......@@ -357,12 +339,12 @@ export default {
self.dialogCodeVisible = false;
},
//对树节点进行筛选
filterNode(value, data) {
filterNode (value, data) {
if (!value) return true;
return data.label.indexOf(value) !== -1 || data.id.indexOf(value) !== -1;
},
//树节点点击事件(改为点选)
handleNodeClick(data, checked) {
handleNodeClick (data, checked) {
var self = this;
if (!self.curItem.multiple) {
if (checked === true) {
......@@ -376,13 +358,13 @@ export default {
}
},
//树形字典节点点击事件(用来拦截并控制单选)
codeTreeNodeCheck(data, checked, node) {
codeTreeNodeCheck (data, checked, node) {
console.log(data, checked, node);
},
/**
* 展示字典树弹出框
*/
showCodeTreeDialog(value, item, realFormLableAlign, realValueKey) {
showCodeTreeDialog (value, item, realFormLableAlign, realValueKey) {
var self = this;
//判断是否要回显
if (realFormLableAlign[realValueKey]) {
......@@ -454,7 +436,7 @@ export default {
/**
* 懒加载节点
*/
loadNode(currentNode, resolve) {
loadNode (currentNode, resolve) {
var self = this;
var cc = arguments;
let parm = {
......@@ -481,7 +463,7 @@ export default {
}
});
},
doQueryRequest(form, relurl) {
doQueryRequest (form, relurl) {
var currentUrl = relurl ? relurl : this.cxUrl;
return Http({
url: url.alyIP + currentUrl,
......@@ -489,14 +471,14 @@ export default {
params: form,
method: "get",
headers: {
"blade-auth": localStorage.getItem("token"),
"blade-auth": sessionStorage.getItem("token"),
},
});
},
/**
* 获取子字典数据
*/
getChildrenCode(codeArry, singleRo) {
getChildrenCode (codeArry, singleRo) {
var self = this;
singleRo.children.forEach((childrenItem) => {
if (childrenItem.children && childrenItem.children.length > 0) {
......@@ -508,7 +490,7 @@ export default {
/**
* 获取子字典数据item
*/
getChildrenItem(orgId, singleRo) {
getChildrenItem (orgId, singleRo) {
var self = this;
var readyToReturn;
singleRo.children.forEach((childrenItem) => {
......
......@@ -21,23 +21,27 @@
@change="item.change && item.change(formData[item.prop])"></el-input>
<el-input-number v-if="item.type === 'inputNum'"
size="small"
placeholder="请输入" :min="0"
v-model.trim="formData[item.prop]"
:disabled="item.disabled"
:style="{ width: item.width }"
@change="item.change && item.change(formData[item.prop])"></el-input-number>
size="small"
placeholder="请输入"
:min="0"
v-model.trim="formData[item.prop]"
:disabled="item.disabled"
:style="{ width: item.width }"
@change="item.change && item.change(formData[item.prop])"></el-input-number>
<div v-if="item.type === 'inputRangeNum'" style="display: inline-flex">
<div v-if="item.type === 'inputRangeNum'"
style="display: inline-flex">
<el-input-number size="small"
placeholder="请输入" :min="0"
placeholder="请输入"
:min="0"
v-model.trim="formData[item.propMin]"
:disabled="item.disabled"
:style="{ width: item.width }"
@change="item.change && item.change(formData[item.propMin])"></el-input-number>
<el-input-number size="small"
placeholder="请输入" :min="0"
placeholder="请输入"
:min="0"
v-model.trim="formData[item.propMax]"
:disabled="item.disabled"
:style="{ width: item.width }"
......@@ -216,8 +220,8 @@ export default {
});
}
} else if (val.type == "codeTreeDialogs") {
let unitcode = JSON.parse(localStorage.getItem("userInfo")).unitcode;
let grade = JSON.parse(localStorage.getItem("userInfo")).grade;
let unitcode = JSON.parse(sessionStorage.getItem("userInfo")).unitcode;
let grade = JSON.parse(sessionStorage.getItem("userInfo")).grade;
if (grade == 'S' || grade == 'T') {
var newUnicode = unitcode.substring(0, 2) + '0000000000'
} else if (grade == 'D') {
......
......@@ -213,7 +213,7 @@
<select-tree v-model="formData[item.id]"
:placeholder="'请选择' + item.name"
:options="item.codeOptions"
:sendId="item.id"/>
:sendId="item.id" />
</div>
<!--字典弹框 @emitValue="getLbValue"-->
<div class="zdyInputW"
......@@ -221,14 +221,14 @@
<select-tree-dialog :placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"/>
:currentItem="item" />
</div>
<div class="zdyInputW"
v-else-if="item.type == 'codeTreeDialogs'">
<select-tree-dialog :placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"/>
:currentItem="item" />
</div>
<!--字典弹框懒加载 @emitValue="getLbValue"-->
<div class="zdyInputW"
......@@ -236,7 +236,7 @@
<lazy-select-tree-dialog :placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"/>
:currentItem="item" />
</div>
</el-form-item>
</div>
......@@ -285,29 +285,25 @@
</el-row>
<!--表格-->
<el-table
id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableData"
header-cell-style="background: #EBEDF1"
tooltip-effect="dark"
style="margin: 0 auto"
width="100%"
size="small"
@selection-change="handleSelectionChange"
@expand-change="rowExpand"
@sort-change="sortChange"
>
<el-table-column
v-for="(tdata,tindex) in cxDefaultFormThead"
:key="tindex"
:prop="tdata.prop"
:label="tdata.label"
:width="tdata.width"
>
<el-table id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableData"
header-cell-style="background: #EBEDF1"
tooltip-effect="dark"
style="margin: 0 auto"
width="100%"
size="small"
@selection-change="handleSelectionChange"
@expand-change="rowExpand"
@sort-change="sortChange">
<el-table-column v-for="(tdata,tindex) in cxDefaultFormThead"
:key="tindex"
:prop="tdata.prop"
:label="tdata.label"
:width="tdata.width">
<template slot-scope="scope">
<div v-if="tdata.prop == 'dzzt'">
<span v-if="scope.row.dzzt == '0'">草稿</span>
......@@ -325,9 +321,11 @@
v-if="scope.row.dzzt == '6'">已回复已反馈</span>
</div>
<div v-else-if="tdata.prop == 'dzbh'">
<span class="blue-color nowrap" @click="toDetail(scope.row)">{{ scope.row[tdata.prop] }}</span>
<span class="blue-color nowrap"
@click="toDetail(scope.row)">{{ scope.row[tdata.prop] }}</span>
</div>
<div v-else class="nowrap">{{ scope.row[tdata.prop] }}</div>
<div v-else
class="nowrap">{{ scope.row[tdata.prop] }}</div>
</template>
</el-table-column>
<el-table-column align="center"
......@@ -335,31 +333,48 @@
width="200"
fixed="right">
<template slot-scope="scope">
<slot name="czBtn" :scope="scope">
<slot name="czBtn"
:scope="scope">
<div class="flex-default">
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('tiQingShenPi') >= 0">
<span class="color-ml16" @click="onTqsh(scope.row)">提请审批</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('tiQingShenPi') >= 0">
<span class="color-ml16"
@click="onTqsh(scope.row)">提请审批</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('shanChu') >= 0">
<span class="color-ml16" @click="onDel(scope.row)">删除</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('shanChu') >= 0">
<span class="color-ml16"
@click="onDel(scope.row)">删除</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('xiuGai') >= 0">
<span class="color-ml16" @click="toEdit(scope.row)">修改</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('xiuGai') >= 0">
<span class="color-ml16"
@click="toEdit(scope.row)">修改</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('shenHe') >= 0">
<span class="color-ml16" @click="onSh(scope.row)">审核</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('shenHe') >= 0">
<span class="color-ml16"
@click="onSh(scope.row)">审核</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('cheXiao') >= 0">
<span class="color-ml16" @click="onCx(scope.row)">撤销</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('cheXiao') >= 0">
<span class="color-ml16"
@click="onCx(scope.row)">撤销</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('shangChuanJieGuo') >= 0">
<span class="color-ml16" @click="onScJg(scope.row)">上传结果</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('shangChuanJieGuo') >= 0">
<span class="color-ml16"
@click="onScJg(scope.row)">上传结果</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('daoChuQingQiu') >= 0">
<span class="color-ml16" @click="onDcqq('/qqzc/flow/checkZipExists', scope.row,'dcqq')">导出请求</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('daoChuQingQiu') >= 0">
<span class="color-ml16"
@click="onDcqq('/qqzc/flow/checkZipExists', scope.row,'dcqq')">导出请求</span>
</div>
<div style="color: #1a81e1" v-if="scope.row.czqxList.indexOf('daoChuJieGuo') >= 0">
<span class="color-ml16" @click="onDcjg('/qqzc/flow/checkZipExists', scope.row,'dcjg')">导出结果</span>
<div style="color: #1a81e1"
v-if="scope.row.czqxList.indexOf('daoChuJieGuo') >= 0">
<span class="color-ml16"
@click="onDcjg('/qqzc/flow/checkZipExists', scope.row,'dcjg')">导出结果</span>
</div>
</div>
</slot>
......@@ -407,7 +422,7 @@
import SelectTree from "@c/tree_components.vue";
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import {getApi, postApi, postJsonApi} from '@/api/apply/index'
import { getApi, postApi, postJsonApi } from '@/api/apply/index'
import axios from "axios";
import base from "@/api/base";
......@@ -450,7 +465,7 @@ export default {
default: () => [],
},
},
data() {
data () {
return {
saveSort: "", //排序类型
pageShow: true, //是否显示分页
......@@ -472,7 +487,7 @@ export default {
};
},
methods: {
toEdit(e) {
toEdit (e) {
this.$router.push({
path: 'editPage',
query: {
......@@ -480,23 +495,23 @@ export default {
}
})
},
rowExpand(row, expandedRows) {
rowExpand (row, expandedRows) {
if (expandedRows.length == 0) {
return;
}
this.$emit(rowExpand, row);
},
handleSelectionChange(row) {
handleSelectionChange (row) {
this.selectData = row;
this.$emit("selectionChange", row);
},
add() {
add () {
this.$emit("add");
},
toInfor(data, columnTitle) {
toInfor (data, columnTitle) {
this.$emit("toInfor", data, columnTitle);
},
clearData() {
clearData () {
let self = this;
for (let i in self.formData) {
if (i == "pageSize") {
......@@ -508,22 +523,22 @@ export default {
}
}
},
handleSizeChange(val) {
handleSizeChange (val) {
this.pagObj.pageSize = val;
this.doQuery();
},
handleCurrentChange(val) {
handleCurrentChange (val) {
this.pagObj.currentPage = val;
this.doQuery();
},
print() {
print () {
let html = document.getElementById("ajzbQuery");
this.$emit("print", html);
},
doQuery() {
doQuery () {
this.$emit("doQuery", this.pagObj);
},
sortChange({column, prop, order}) {
sortChange ({ column, prop, order }) {
if (order == "ascending") {
this.saveSort = order;
this.$emit("queryAsceCount", prop);
......@@ -533,10 +548,10 @@ export default {
} else if (order == null) {
debugger;
column.order =
this.saveSort == "descending" ? "descending" : "ascending";
this.saveSort == "descending" ? "descending" : "ascending";
}
},
onDel(e) {
onDel (e) {
this.$confirm(`确定要删除${e.ajmc}吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -559,7 +574,7 @@ export default {
})
},
onCx(e) {
onCx (e) {
this.$confirm(`确定要撤销${e.ajmc}吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -578,7 +593,7 @@ export default {
this.doQuery();
})
},
onScJg(e) {
onScJg (e) {
this.$router.push({
path: '/queryApply/result',
query: {
......@@ -586,7 +601,7 @@ export default {
}
})
},
onSh(e) {
onSh (e) {
this.$router.push({
path: '/queryApply/approval',
query: {
......@@ -596,7 +611,7 @@ export default {
// this.sh.xxzjbh = e.xxzjbh
// this.shVisible = true
},
shSubmit() {
shSubmit () {
console.log(this.sh)
postApi('/qqzc/flow/shDzqq', this.sh).then(res => {
if (res.code == 200) {
......@@ -614,7 +629,7 @@ export default {
this.shVisible = false
})
},
onTqsh(e) {
onTqsh (e) {
this.$confirm(`确定要提请审核${e.ajmc}吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -642,7 +657,7 @@ export default {
})
},
downLoad(row, title) {
downLoad (row, title) {
let params = new FormData();
params.append("fjlx", row.fjlx);
params.append("xxzjbh", row.xxzjbh);
......@@ -655,30 +670,30 @@ export default {
}
let url = `${base.alyIP}/qqzc/flow/downLoadFile`;
axios
.post(url, params, {
responseType: "blob",
})
.then((res) => {
if (res.size > 0) {
let blob = new Blob([res]);
// 组装a标签
let elink = document.createElement("a");
// 设置下载文件名
elink.download = row.dzwjbt;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
} else {
this.$message.error("未找到有效的文件")
}
.post(url, params, {
responseType: "blob",
})
.then((res) => {
if (res.size > 0) {
let blob = new Blob([res]);
// 组装a标签
let elink = document.createElement("a");
// 设置下载文件名
elink.download = row.dzwjbt;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
} else {
this.$message.error("未找到有效的文件")
}
}).catch(err => {
});
}).catch(err => {
});
},
onDcjg(url, e, type) {
onDcjg (url, e, type) {
e.fjlx = '4';
getApi(url, {
xxzjbh: e.xxzjbh,
......@@ -693,11 +708,11 @@ export default {
}
})
},
exportDataFile(xxzjbh) {
exportDataFile (xxzjbh) {
let params = new FormData();
params.append("xxzjbh", xxzjbh);
let url = `${base.alyIP}/qqzc/flow/dcjg`;
axios.post(url, params, {responseType: "blob"}).then((res) => {
axios.post(url, params, { responseType: "blob" }).then((res) => {
if (res.size > 0) {
let fileName = '';
const contentDisposition = res.headers['content-disposition'];
......@@ -723,7 +738,7 @@ export default {
});
},
// 跳转详情
toDetail(e) {
toDetail (e) {
this.$router.push({
path: '/queryApply/detail',
query: {
......@@ -731,7 +746,7 @@ export default {
}
})
},
onDcqq(url, e, type) {
onDcqq (url, e, type) {
e.fjlx = '3';
if (type === 'dcqq') {
getApi(url, {
......@@ -756,7 +771,7 @@ export default {
}
},
mounted() {
mounted () {
let self = this;
/*获取字典*/
// // debugger;
......@@ -764,49 +779,49 @@ export default {
if (val.type == "codeTree" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
self.$set(val, "codeOptions", res.data.rows);
})
.catch((err) => {
console.log(err);
});
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
self.$set(val, "codeOptions", res.data.rows);
})
.catch((err) => {
console.log(err);
});
}
} else if (val.type == "codeTreeDialogs") {
let unitcode = JSON.parse(localStorage.getItem("userInfo")).unitcode;
let unitcode = JSON.parse(sessionStorage.getItem("userInfo")).unitcode;
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
self.$set(val, "codeOptions", res.data.rows);
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
self.$set(val, "codeOptions", res.data.rows);
function liMap(ji) {
let mi;
let gd = "";
if (ji.length) {
mi = ji.filter((item) =>
item.id.includes(unitcode.substring(0, 2))
);
for (let g of mi.values()) {
if (g.id === unitcode) {
gd = g;
self.propQueryField[1].codeOptions = [gd];
break;
} else {
liMap(g["children"]);
}
function liMap (ji) {
let mi;
let gd = "";
if (ji.length) {
mi = ji.filter((item) =>
item.id.includes(unitcode.substring(0, 2))
);
for (let g of mi.values()) {
if (g.id === unitcode) {
gd = g;
self.propQueryField[1].codeOptions = [gd];
break;
} else {
liMap(g["children"]);
}
} else {
gd = ji;
}
return gd;
} else {
gd = ji;
}
return gd;
}
liMap(res.data.rows);
})
.catch((err) => {
console.log(err);
});
liMap(res.data.rows);
})
.catch((err) => {
console.log(err);
});
}
}
});
......@@ -815,23 +830,23 @@ export default {
computed: {},
watch: {
cxDefaultFormThead: {
handler(newfaultFormThead, oldName) {
handler (newfaultFormThead, oldName) {
this.propdefaultFormThead = JSON.parse(
JSON.stringify(newfaultFormThead)
JSON.stringify(newfaultFormThead)
);
},
immediate: true,
},
selectedPropAllformThead: {
handler(newAllformThead, oldName) {
handler (newAllformThead, oldName) {
this.selectedPropAllformThead_ = JSON.parse(
JSON.stringify(newAllformThead)
JSON.stringify(newAllformThead)
);
},
immediate: true,
},
},
created() {
created () {
},
};
</script>
......@@ -1011,7 +1026,7 @@ export default {
}
.blue-color {
color: #3375E1;
color: #3375e1;
cursor: pointer;
}
......@@ -1021,7 +1036,7 @@ export default {
}
.color-ml16 {
color: #3375E1;
color: #3375e1;
margin-left: 16px;
cursor: pointer;
}
......
/**
* 项目默认配置项
* primaryColor - 默认主题色, 如果修改颜色不生效,请清理 localStorage
* primaryColor - 默认主题色, 如果修改颜色不生效,请清理 sessionStorage
* navTheme - sidebar theme ['dark', 'light'] 两种主题
* colorWeak - 色盲模式
* layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局
......@@ -9,7 +9,7 @@
* autoHideHeader - 向下滚动时,隐藏 Header : boolean
* contentWidth - 内容区布局: 流式 | 固定
*
* storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage)
* storageOptions: {} - Vue-ls 插件配置项 (sessionStorage/sessionStorage)
*
*/
export default {
......
......@@ -104,7 +104,7 @@ import { mapGetters } from "vuex";
import checkPermission from '@/utils/permission' // 权限判断函数
import path from 'path'
import router from '@/router'
import {activeLogOper} from "@/api/manage/manage";
import { activeLogOper } from "@/api/manage/manage";
export default {
name: "leftMenu_components",
props: {
......@@ -126,7 +126,7 @@ export default {
topMenus: [],
activeName: "",
topHeader: "",
realname: JSON.parse(localStorage.getItem("userInfo")).realname
realname: JSON.parse(sessionStorage.getItem("userInfo")).realname
};
},
computed: {
......@@ -141,7 +141,7 @@ export default {
created () {
console.log(router.options.routes, 3232)
// console.log(this.$route.matched[1], this.$route.meta.activePath, 1111);
this.navList = JSON.parse(localStorage.getItem("navList"));
this.navList = JSON.parse(sessionStorage.getItem("navList"));
this.topMenus = this.topMenu;
this.leftMenus = this.leftMenu;
this.topHeader = this.header;
......@@ -270,7 +270,7 @@ export default {
this.$router.push(item.index);
path.resolve('/', item.index)
}
activeLogOper({activeMenu : item.index}).then(res=>{})
activeLogOper({ activeMenu: item.index }).then(res => { })
},
handleClick (tab) {
this.activeName = tab.name;
......@@ -279,11 +279,11 @@ export default {
handleMenuOpen (key, keyPath) { },
handleMenuClose (key, keyPath) { },
changeSidebar (index) {
localStorage.setItem("routerPath", index);
sessionStorage.setItem("routerPath", index);
},
loginOut () {
localStorage.removeItem("userInfo")
localStorage.removeItem('token')
sessionStorage.removeItem("userInfo")
sessionStorage.removeItem('token')
this.$router.replace('/login')
}
},
......
......@@ -13,7 +13,7 @@
</transition>
<!-- <el-scrollbar style="height: calc(100% - 68px)"> -->
<el-menu @select="changeSidebar"
:default-active="'/' + this.$route.path.split('/')[1] "
:default-active="this.$route.path "
@open="handleMenuOpen"
@close="handleMenuClose"
:collapse="isCollapse"
......@@ -305,8 +305,8 @@ export default {
type: "warning",
})
.then(() => {
localStorage.removeItem("userInfo")
localStorage.removeItem('token')
sessionStorage.removeItem("userInfo")
sessionStorage.removeItem('token')
this.$router.replace('/login')
}).catch(() => { });
}
......@@ -359,6 +359,9 @@ export default {
.el-menu-item {
padding-left: 14px !important;
}
::v-deep .el-submenu__title {
padding-left: 14px !important;
}
.get-user {
/deep/.el-menu--popup {
min-width: 90px !important;
......
......@@ -36,9 +36,9 @@ Vue.prototype.$util = Util;
window.util = Util;
Vue.use(VueWechatTitle);
let userInfo = window.localStorage.getItem("userInfo") || "";
let userInfo = window.sessionStorage.getItem("userInfo") || "";
if (userInfo) {
userInfo = JSON.parse(window.localStorage.getItem("userInfo"))
userInfo = JSON.parse(window.sessionStorage.getItem("userInfo"))
let zjhm = userInfo.identitycard.replace(/^(.{10})(?:\d+)(.{4})$/, "$1****$2")
let name = userInfo.realname.substring(0, userInfo.realname.length - 1)
let names = userInfo.realname.replace(name, '***')
......
......@@ -5,7 +5,7 @@ export const AccountPermissions = {
let testPermission = '430001,dzCeshi01,dzCeshi02,dzCeshi03,fzMlPt,fzHkSp,fzZlSp';
//正式环境开放的radion选项
let prodOptions = '外卖,SF,通话记录,KS';
let userInfo = JSON.parse(localStorage.getItem('userInfo'));
let userInfo = JSON.parse(sessionStorage.getItem('userInfo'));
//发起权限
let userPermission = userInfo.permission;
if (userPermission.indexOf('A120404') >= 0) {
......
......@@ -12,6 +12,39 @@ const menuLayouts = [
},
component: () => import("@/views/hcyp/queryHcyp.vue")
},
{
path: "/queryHcypXj",
name: "queryHcypXj",
meta: {
title: '合成研判',
auth: "5",
isUpdata: false,
affix: true
},
component: () => import("@/views/hcyp/queryHcypXj.vue")
},
{
path: "/querySpgl",
name: "querySpgl",
meta: {
title: '审批管理',
auth: "5",
isUpdata: false,
affix: true
},
component: () => import("@/views/hcyp/querySpgl.vue")
},
{
path: "/queryCygl",
name: "queryCygl",
meta: {
title: '成员管理',
auth: "5",
isUpdata: false,
affix: true
},
component: () => import("@/views/hcyp/queryCygl.vue")
},
]
export default [{
......@@ -28,4 +61,14 @@ export default [{
affix: true
},
component: () => import("@/views/hcyp/addHcyp.vue")
}, {
path: "/detailHcyp",
name: "detailHcyp",
meta: {
title: '合成研判',
auth: "5",
isUpdata: false,
affix: true
},
component: () => import("@/views/hcyp/detailHcyp.vue")
},]
\ No newline at end of file
......@@ -22,13 +22,5 @@ export default [
},
component: () => import("@/views/index/login.vue")
},
{
path: "/startApply",
name: "startApply",
meta: {
title: "调证请求",
auth: "5"
},
component: () => import("@/views/pageModule/startApply.vue")
},
]
\ No newline at end of file
......@@ -14,7 +14,7 @@ const store = new Vuex.Store({
getters,
plugins: [
createPersistedState({
storage: window.localStorage,
storage: window.sessionStorage,
reducer (val) {
const { user } = val;
return { user };
......
......@@ -41,8 +41,8 @@ const actions = {
},
logout ({ commit }) {
commit('SET_ROLES', [])
localStorage.removeItem("userInfo");
localStorage.removeItem('token', '')
sessionStorage.removeItem("userInfo");
sessionStorage.removeItem('token', '')
},
};
......
......@@ -3,7 +3,7 @@
* @type {{}}
*/
let jumpUrlPath = {};
const userInfo = localStorage.getItem('userInfo') && JSON.parse(localStorage.getItem('userInfo'))
const userInfo = sessionStorage.getItem('userInfo') && JSON.parse(sessionStorage.getItem('userInfo'))
//案件档案跳转地址
//jumpUrlPath.toAjda = "http://65.26.2.101:9026/#/jump?path=queryAjda&asjbh=";
jumpUrlPath.toAjda = "http://65.26.106.172:9026/#/jump?path=queryAjda&asjbh=";
......
import axios from "axios";
import store from "../store";
import {Message, MessageBox} from "element-ui";
import { Message, MessageBox } from "element-ui";
import qs from "qs";
var arr = document.cookie.split("; ");
let userToken = "";
let appToken = "";
arr.forEach((item) => {
if (item.includes("userToken=")) {
userToken = item.split("userToken=")[1];
}
if (item.includes("appToken=")) {
appToken = item.split("appToken=")[1];
}
if (item.includes("userToken=")) {
userToken = item.split("userToken=")[1];
}
if (item.includes("appToken=")) {
appToken = item.split("appToken=")[1];
}
});
// debugger
axios.defaults.timeout = 0;
axios.defaults.headers = {
"X-Requested-With": "XMLHttpRequest",
"authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
"token": userToken,
"appToken": appToken,
"X-Requested-With": "XMLHttpRequest",
"authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
"token": userToken,
"appToken": appToken,
};
axios.defaults.responseType = "json";
// axios.defaults.withCredentials = true;
var instance = axios.create({
headers: {
"content-type": "multipart/form-data",
"authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
"token": userToken,
"appToken": appToken,
}
headers: {
"content-type": "multipart/form-data",
"authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
"token": userToken,
"appToken": appToken,
}
});
var json = axios.create({
headers: {
"content-type": "application/json",
"authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
"token": userToken,
"appToken": appToken,
}
headers: {
"content-type": "application/json",
"authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
"token": userToken,
"appToken": appToken,
}
});
var down = axios.create({
headers: {
"content-type": "application/json",
"blade-auth": window.localStorage.getItem("token")
},
headers: {
"content-type": "application/json",
"blade-auth": window.sessionStorage.getItem("token")
},
});
// request 请求拦截器
axios.interceptors.request.use(
config => {
config => {
config.headers["Content-Type"] = "application/x-www-form-urlencoded";
config.headers["Content-Type"] = "application/x-www-form-urlencoded";
let token = localStorage.getItem("token")
if (config.url.indexOf("/api/blade-auth/token") === -1) {
config.headers["blade-auth"] = token;
}
return config;
},
error => {
return Promise.reject(error);
let token = sessionStorage.getItem("token")
if (config.url.indexOf("/api/blade-auth/token") === -1) {
config.headers["blade-auth"] = token;
}
return config;
},
error => {
return Promise.reject(error);
}
);
// response 响应拦截器
axios.interceptors.response.use(
response => {
const status = response.data.code;
const message = response.data.message;
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let unitcode = ''
if (JSON.parse(window.localStorage.getItem("userInfo"))) {
unitcode = JSON.parse(window.localStorage.getItem("userInfo")).unitcode
}
response => {
const status = response.data.code;
const message = response.data.message;
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let unitcode = ''
if (JSON.parse(window.sessionStorage.getItem("userInfo"))) {
unitcode = JSON.parse(window.sessionStorage.getItem("userInfo")).unitcode
}
// debugger
var self = this
if (status == "401" || status == '403') {
let notice = message;
if(!notice){
notice = response.data.msg;
}
MessageBox.confirm(notice, "提示", {
confirmButtonText: "确定",
//cancelButtonText: "取消",
showCancelButton: false,
type: "warning",
}).then(() => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
}).catch(err => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
})
}
if (status < 0) {
Message({
message: message,
type: "error"
});
return Promise.reject(new Error(message));
// debugger
var self = this
if (status == "401" || status == '403') {
let notice = message;
if (!notice) {
notice = response.data.msg;
}
MessageBox.confirm(notice, "提示", {
confirmButtonText: "确定",
//cancelButtonText: "取消",
showCancelButton: false,
type: "warning",
}).then(() => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
if (response.config.url.indexOf('dcjg') >= 0 || response.config.url.indexOf('exportResultExcel') >= 0
|| response.config.url.indexOf('exportZgfkExcel') >= 0) {
return response;
}).catch(err => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
return response.data;
},
error => {
return Promise.reject(new Error(error));
})
}
if (status < 0) {
Message({
message: message,
type: "error"
});
return Promise.reject(new Error(message));
}
if (response.config.url.indexOf('dcjg') >= 0 || response.config.url.indexOf('exportResultExcel') >= 0
|| response.config.url.indexOf('exportZgfkExcel') >= 0) {
return response;
}
return response.data;
},
error => {
return Promise.reject(new Error(error));
}
);
instance.interceptors.request.use(
config => {
let token = localStorage.getItem("token")
config => {
let token = sessionStorage.getItem("token")
if (config.url.indexOf("/api/blade-auth/token") === -1) {
config.headers["blade-auth"] = token;
}
return config;
},
error => {
return Promise.reject(error);
if (config.url.indexOf("/api/blade-auth/token") === -1) {
config.headers["blade-auth"] = token;
}
return config;
},
error => {
return Promise.reject(error);
}
);
instance.interceptors.response.use(
response => {
const status = response.data.code;
const message = response.data.message;
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let unitcode = ''
if (JSON.parse(window.localStorage.getItem("userInfo"))) {
unitcode = JSON.parse(window.localStorage.getItem("userInfo")).unitcode
}
var self = this
if (status == "401") {
MessageBox.confirm("系统登录超时,请重新登录", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
})
}
if (status < 0) {
Message({
message: message,
type: "error"
});
return Promise.reject(new Error(message));
}
return response.data;
},
error => {
return Promise.reject(new Error(error));
response => {
const status = response.data.code;
const message = response.data.message;
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let unitcode = ''
if (JSON.parse(window.sessionStorage.getItem("userInfo"))) {
unitcode = JSON.parse(window.sessionStorage.getItem("userInfo")).unitcode
}
var self = this
if (status == "401") {
MessageBox.confirm("系统登录超时,请重新登录", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
})
}
if (status < 0) {
Message({
message: message,
type: "error"
});
return Promise.reject(new Error(message));
}
return response.data;
},
error => {
return Promise.reject(new Error(error));
}
);
json.interceptors.response.use(
response => {
const status = response.data.code;
const message = response.data.message;
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let unitcode = ''
if (JSON.parse(window.localStorage.getItem("userInfo"))) {
unitcode = JSON.parse(window.localStorage.getItem("userInfo")).unitcode
}
var self = this
if (status == "401") {
MessageBox.confirm("系统登录超时,请重新登录", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
response => {
const status = response.data.code;
const message = response.data.message;
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let unitcode = ''
if (JSON.parse(window.sessionStorage.getItem("userInfo"))) {
unitcode = JSON.parse(window.sessionStorage.getItem("userInfo")).unitcode
}
var self = this
if (status == "401") {
MessageBox.confirm("系统登录超时,请重新登录", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
if (relUrlIp == 'localhost') {
store.dispatch('user/logout')
window.location.href = 'http://localhost:8080/#/login';
} else if (unitcode.includes('46')) {
store.dispatch('user/logout')
window.location.href = 'http://zhyy.xzxt.an:8080/index'
} else if (unitcode.includes('37')) {
store.dispatch('user/logout')
window.location.href = 'http://74.6.54.166:9002/index'
} else if (unitcode.includes('43')) {
store.dispatch('user/logout')
window.location.href = 'http://65.26.106.167:9001/#/login'
}
})
}
return response.data;
},
error => {
return Promise.reject(new Error(error));
})
}
return response.data;
},
error => {
return Promise.reject(new Error(error));
}
);
json.interceptors.request.use(
config => {
config.headers["Content-Type"] = "application/x-www-form-urlencoded";
let token = localStorage.getItem("token")
if (config.url.indexOf("/api/blade-auth/token") === -1) {
config.headers["blade-auth"] = token;
}
return config;
},
error => {
return Promise.reject(error);
config => {
config.headers["Content-Type"] = "application/x-www-form-urlencoded";
let token = sessionStorage.getItem("token")
if (config.url.indexOf("/api/blade-auth/token") === -1) {
config.headers["blade-auth"] = token;
}
return config;
},
error => {
return Promise.reject(error);
}
);
/**
......@@ -268,19 +268,19 @@ json.interceptors.request.use(
* @returns {Promise}
*/
export function get(url, params) {
return new Promise((resolve, reject) => {
axios
.get(url, {
params: params
})
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err.data);
});
});
export function get (url, params) {
return new Promise((resolve, reject) => {
axios
.get(url, {
params: params
})
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err.data);
});
});
}
/**
......@@ -290,17 +290,17 @@ export function get(url, params) {
* @returns {Promise}
*/
export function post(url, params) {
return new Promise((resolve, reject) => {
axios
.post(url, qs.stringify(params))
.then(response => {
resolve(response);
})
.catch(err => {
reject(err.data);
});
});
export function post (url, params) {
return new Promise((resolve, reject) => {
axios
.post(url, qs.stringify(params))
.then(response => {
resolve(response);
})
.catch(err => {
reject(err.data);
});
});
}
/**
......@@ -309,14 +309,14 @@ export function post(url, params) {
* @param data
* @returns {Promise}
*/
export function postform(url, data) {
return new Promise((resolve, reject) => {
instance.post(url, data).then(response => {
resolve(response);
});
}).catch(err => {
reject(err.data);
export function postform (url, data) {
return new Promise((resolve, reject) => {
instance.post(url, data).then(response => {
resolve(response);
});
}).catch(err => {
reject(err.data);
});
}
/**
......@@ -325,14 +325,14 @@ export function postform(url, data) {
* @param data
* @returns {Promise}
*/
export function postdown(url, data) {
return new Promise((resolve, reject) => {
down.post(url, data).then(response => {
resolve(response);
});
}).catch(err => {
reject(err.data);
export function postdown (url, data) {
return new Promise((resolve, reject) => {
down.post(url, data).then(response => {
resolve(response);
});
}).catch(err => {
reject(err.data);
});
}
......@@ -342,15 +342,15 @@ export function postdown(url, data) {
* @param data
* @returns {Promise}
*/
export function postJson(url, data) {
// debugger
return new Promise((resolve, reject) => {
json.post(url, JSON.parse(data)).then(response => {
resolve(response);
});
}).catch(err => {
reject(err.data);
export function postJson (url, data) {
// debugger
return new Promise((resolve, reject) => {
json.post(url, JSON.parse(data)).then(response => {
resolve(response);
});
}).catch(err => {
reject(err.data);
});
}
export default axios;
<template>
<div class="content_box">
<div class="content_box_container">
<div class="content_box_container"
v-loading="loadings"
element-loading-text="加载中...">
<div class="box_header">
研判采集
</div>
......@@ -40,7 +42,6 @@
:key="item.id"
:placeholder="'请选择'"
:sendId="item.id"
@getDialogSeleted="getDialogSeleted"
:formData="form"
:currentItem="item" />
</el-form-item>
......@@ -95,7 +96,7 @@
size="medium"></el-input>
</el-form-item>
</div>
<div class="form_line1">
<!-- <div class="form_line1">
<el-form-item label="录入人姓名:"
prop="lrxm">
<el-input v-model="form.lrxm"
......@@ -108,7 +109,6 @@
:key="item.id"
:placeholder="'请选择'"
:sendId="item.id"
@getDialogSeleted="getDialogSeleted"
:formData="form"
:currentItem="item" />
</el-form-item>
......@@ -123,29 +123,29 @@
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</div>
</div> -->
<div class="form_line1">
<el-form-item label="立案决定书:"
prop="imageUrlSa">
prop="imageUrlLa">
<el-upload class="update-img"
action="#"
:auto-upload="false"
accept=".png,.jpg,.PNG,.JPG,.pdf,.PDF"
:show-file-list="false"
v-model="form.imageUrlSa"
v-model="form.imageUrlLa"
:on-change="
(flie, fileList) => {
onChangeSa(flie, fileList,'sadjb');
}
">
<img v-if="form.imageUrlSa"
:src="form.imageUrlSa"
<img v-if="form.imageUrlLa"
:src="form.imageUrlLa"
class="avatar">
<span v-if="form.imageUrlSa"
<span v-if="form.imageUrlLa"
class="el-upload-action"
@click.stop="() => {}">
<i class="el-icon-zoom-in"
@click="handlePictureCardPreview(form.imageUrlSa,'sadjb')"></i>
@click="handlePictureCardPreview(form.imageUrlLa,'sadjb')"></i>
<i class="el-icon-delete"
@click.stop="removePhoto('sadjb')"></i>
......@@ -167,10 +167,12 @@
<el-upload action="#"
:auto-upload="false"
accept=".png,.jpg,.PNG,.JPG,.pdf,.PDF"
:show-file-list="true"
:file-list="form.qtfile"
v-model="form.qtfile"
multiple
:on-exceed="handleExceed"
:limit="1"
:on-remove="removePhoto"
:on-change="
(flie, fileList) => {
onChangeSa(flie, fileList,'qtfj');
......@@ -185,7 +187,17 @@
</div>
</div>
<div class="form_footer">
<div class="footer">
<div class="footer"
v-if="this.$route.query.id">
<el-button size="medium"
type="primary"
:loading="loadingBtn"
:disabled="loadingBtn"
@click="addForm('form')"
icon="el-icon-s-promotion">提交修改</el-button>
</div>
<div class="footer"
v-else>
<el-button size="medium"
:loading="loadingBtn"
:disabled="loadingBtn"
......@@ -209,6 +221,9 @@
<script>
import {
insertXzqqXx,//协助新增
selectOne,
imgInfo,
updateXzqqXx,
} from "@/api/statistical.js"
import SelectTreeDialog from "@c/treeCode_components.vue";
......@@ -220,8 +235,9 @@ export default {
SelectTreeDialog, LazySelectTreeDialog
},
data () {
return {
removeXxzjbh: [],
loadings: false,
qgdwmc: '',
tableDataMj: [],
tableDataXyr: [],
......@@ -231,9 +247,7 @@ export default {
// 表单信息
isCjcs: false,
form: {
imageUrlSa: '',
imageUrlLa: '',
imageUrlXz: '',
asjbh: '',
ajmc: '',
ajlbdm: '',
......@@ -246,6 +260,8 @@ export default {
lrxm: '',
lrrdwdm: '',
lrsj: '',
lajdsfile: '',
qtfile: [],
},
rules: {
asjbh: [
......@@ -275,14 +291,8 @@ export default {
xsms: [
{ required: true, message: '请填写线索描述', trigger: 'change' }
],
lrxm: [
{ required: true, message: '请填写录入人姓名', trigger: 'change' }
],
lrrdwdm: [
{ required: true, message: '请选择录入人单位', trigger: 'change' }
],
lrsj: [
{ required: true, message: '请选择录入时间', trigger: 'change' }
imageUrlLa: [
{ required: true, message: '请上传立案决定书', trigger: 'change' }
],
},
//字典码
......@@ -297,7 +307,6 @@ export default {
col: "3",
codeOptions: [],
codeTree: "CODE_QGUNIT",
},],
//字典码
propQueryFieldAjlb: [{
......@@ -311,7 +320,6 @@ export default {
col: "3",
codeOptions: [],
codeTree: "CODE_AJLB",
},],
//字典码
propQueryField: [{
......@@ -343,38 +351,65 @@ export default {
},
mixins: [mixinsZd],
mounted () {
if (this.$route.query.id) {
this.getJbInfo()
this.getJbInfoImg()
}
const userInfo = JSON.parse(sessionStorage.getItem("userInfo"))
},
watch: {
},
methods: {
getDialogSeleted (item) {
console.log(item, 1111222);
this.qgdwmc = item
handleExceed (files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,请删除后,再进行上传!`);
},
// 获取民警数据
getMjData (item) {
this.tableDataMj = item
async getJbInfo () {
this.loadings = true
const paramas = new FormData()
paramas.append('id', this.$route.query.id)
let res = await selectOne(paramas)
if (res && res.code == 200) {
this.baseInfoDetail = res.data.rows
this.form.asjbh = this.baseInfoDetail.asjbh
this.form.ajmc = this.baseInfoDetail.ajmc
this.form.ajlbdm = this.baseInfoDetail.ajlbdm
this.form.ladwdm = this.baseInfoDetail.ladwdm
this.form.larq = this.baseInfoDetail.larq
this.form.jayq = this.baseInfoDetail.jayq
this.form.xslx = this.baseInfoDetail.xslx
this.form.xshm = this.baseInfoDetail.xshm
this.form.xsms = this.baseInfoDetail.xsms
this.loadings = false
}
},
// 获取嫌疑人数据
getXyrData (item) {
this.tableDataXyr = item
async getJbInfoImg () {
const paramas = new FormData()
paramas.append('xxzjbh', this.$route.query.id)
let res = await imgInfo(paramas)
if (res && res.code == 200) {
if (res.data.detail) {
res.data.detail.forEach(item => {
if (item.fjlx == 1) {
this.form.imageUrlLa = item.dzwjnrBase64
this.form.removeLa = item.xxzjbh
} else if (item.fjlx == 2) {
item.name = item.dzwjbt
this.form.qtfile.push(item)
this.form.removeFj = item.xxzjbh
}
})
}
console.log(this.form.qtfile, 999);
}
},
removePhoto (item) {
this.$confirm("此操作将删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
if (item == 'sadjb') {
this.form.imageUrlSa = '';
}
})
.catch(() => {
});
if (item == 'sadjb') {
this.form.imageUrlLa = '';
this.removeXxzjbh.push(this.form.removeLa)
} else {
this.form.qtfile = []
this.removeXxzjbh.push(this.form.removeFj)
}
},
handlePictureCardPreview (file, item) {
this.dialogImageUrl = file;
......@@ -390,28 +425,13 @@ export default {
return;
}
if (item == 'sadjb') {
this.form.imageUrlSa = URL.createObjectURL(file.raw);
this.form.imageUrlLa = URL.createObjectURL(file.raw);
this.form.lajdsfile = file.raw;
} else if (item == 'qtfj') {
this.form.qtfile = file.raw;
this.form.qtfile.push(file);
}
console.log(fileList, 11);
},
// 厂商型号字典码
async getCsxhList (val) {
let params = { cjsbCode: val }
let res = await getCsxh(params)
console.log(res, 3333333);
this.formConfig[val - 1].option2 = [...res]
},
// 厂商字典码
async getQueryClientCs (val) {
let params = { cjsbCode: val }
let res = await getQueryClientCsBySblx(params)
this.formConfig[val - 1].option = [...res]
},
// 保存
addForm (formName, item) {
this.$refs[formName].validate(async (valid) => {
......@@ -427,26 +447,44 @@ export default {
params.append('xslx', this.form.xslx)
params.append('xshm', this.form.xshm)
params.append('xsms', this.form.xsms)
params.append('lrxm', this.form.lrxm)
params.append('lrrdwdm', this.form.lrrdwdm)
params.append('lrsj', this.form.lrsj)
params.append('lajdsfile', this.form.lajdsfile || '')
params.append('qtfile', this.form.qtfile || '')
params.append('xszt', item)
let res = await insertXzqqXx(params)
if (res && res.code == 200) {
this.loadingBtn = false
this.$alert("保存成功", "提示", {
confirmButtonText: "确定",
type: "success",
}).then(() => {
this.$message.success('提交成功!');
window.opener.postMessage("appReloadData", location.origin);
// window.close()
}).catch(() => {
})
params.append('qtfile', this.form.qtfile.length > 0 && this.form.qtfile[0].raw || '')
if (this.$route.query.id) {
params.append('xxzjbh', this.$route.query.id)
params.append('removezpStr', this.removeXxzjbh && this.removeXxzjbh.join(',') || '')
//修改
let res = await updateXzqqXx(params)
if (res && res.code == 200) {
this.loadingBtn = false
this.$alert("保存成功", "提示", {
confirmButtonText: "确定",
type: "success",
}).then(() => {
this.$message.success('提交成功!');
window.opener.postMessage("appReloadData", location.origin);
// window.close()
}).catch(() => {
})
} else {
this.loadingBtn = false
}
} else {
this.loadingBtn = false
params.append('xzzt', item)
let res = await insertXzqqXx(params)
if (res && res.code == 200) {
this.loadingBtn = false
this.$alert("保存成功", "提示", {
confirmButtonText: "确定",
type: "success",
}).then(() => {
this.$message.success('提交成功!');
window.opener.postMessage("appReloadData", location.origin);
// window.close()
}).catch(() => {
})
} else {
this.loadingBtn = false
}
}
} else {
return false;
......@@ -457,8 +495,6 @@ export default {
this.$refs[formName].resetFields();
this.form = {}
},
},
}
......
<template>
<div class="content_box">
<div class="content_box_container"
v-loading="loadings"
element-loading-text="加载中...">
<div class="box_header">
研判采集
</div>
<div class="box_form">
<el-form ref="form"
:rules="rules"
label-position="left"
:model="form"
label-width="116px">
<!-- 基本信息 -->
<div class="form_line1">
<el-form-item label="案件编号:"
prop="asjbh">
{{baseInfoDetail.asjbh||'--'}}
</el-form-item>
<el-form-item label="案件名称:"
prop="ajmc">
{{baseInfoDetail.ajmc||'--'}}
</el-form-item>
<el-form-item label="案件类型:"
prop="ajlbdm">
{{baseInfoDetail.ajlbdm||'--'}}
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="立案单位:"
prop="ladwdm">
{{baseInfoDetail.ladwdm||'--'}}
</el-form-item>
<el-form-item label="立案日期:"
prop="larq">
{{baseInfoDetail.larq||'--'}}
</el-form-item>
<el-form-item>
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="简要案情:"
style="width:38%;"
prop="jayq">
{{baseInfoDetail.jayq||'--'}}
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="线索类型:"
prop="xslx">
{{baseInfoDetail.xslx||'--'}}
</el-form-item>
<el-form-item label="线索号码:"
prop="xshm">
{{baseInfoDetail.xshm||'--'}}
</el-form-item>
<el-form-item>
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="线索描述:"
style="width:38%;"
prop="xsms">
{{baseInfoDetail.xsms||'--'}}
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="录入人姓名:"
prop="lrxm">
{{baseInfoDetail.xxdjryXm||'--'}}
</el-form-item>
<el-form-item label="录入人单位:"
prop="lrdwdm">
{{baseInfoDetail.xxdjdwGajgmc||'--'}}
</el-form-item>
<el-form-item label="录入时间:"
prop="lrsj">
{{baseInfoDetail.djsj||'--'}}
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="立案决定书:"
prop="imageUrlSa">
<div class="imgDel"
v-for="(item,index) in baseInfoDetailImg"
:key="index"
style="width: 50%;">
<p style="width: 100%;">
<el-image :src="item.dzwjnrBase64"
:preview-src-list="[item.dzwjnrBase64]"
alt=""></el-image>
<span style="cursor: pointer; width:110px;word-wrap: break-word;">{{ item.dzwjbt || '--' }}</span>
<!-- @click="downLoad(item,'调取证据通知书')" -->
</p>
</div>
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="附件:"
prop="qtfile">
<div class="imgDel"
v-for="(item,index) in fjFile"
:key="index"
style="width: 50%;">
<p style="width: 100%;">
<!-- <el-image :src="item.dzwjnrBase64"
:preview-src-list="[item.dzwjnrBase64]"
alt=""></el-image> -->
<span @click="downLoad(item,'附件')"
style="cursor: pointer; width:110px;word-wrap: break-word;">{{ item.dzwjbt || '--' }}</span>
</p>
</div>
</el-form-item>
</div>
<!-- 民警信息 -->
<div class="box_table">
<div class="contentTitle">反馈信息:</div>
<div class="form_line1">
<el-form-item label="反馈内容:"
style="width:38%;">
{{fkDetail.fknr||'--'}}
</el-form-item>
</div>
<div class="form_line1">
<el-form-item label="反馈附件:"
prop="qtfile">
<div class="imgDel"
v-for="(item,index) in fkDetail.wj"
:key="index"
style="width: 50%;">
<p style="width: 100%;">
<!-- <el-image :src="item.dzwjnrBase64"
:preview-src-list="[item.dzwjnrBase64]"
alt=""></el-image> -->
<span @click="downLoad(item,'附件')"
style="cursor: pointer; width:110px;word-wrap: break-word;">{{ item.dzwjbt || '--' }}</span>
</p>
</div>
</el-form-item>
</div>
</div>
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogVisibleImg">
<img width="100%"
:src="dialogImageUrl"
alt="" />
</el-dialog>
</div>
</template>
<script>
import {
selectOne,
imgInfo,
selectFkXxOne
} from "@/api/statistical.js"
import axios from "axios";
import base from "@/api/base";
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
export default {
components: {
SelectTreeDialog, LazySelectTreeDialog
},
data () {
return {
loadings: false,
baseInfoDetail: {},
fkDetail: {},
baseInfoDetailImg: [],
fjFile: [],
qgdwmc: '',
tableDataMj: [],
tableDataXyr: [],
dialogImageUrl: '',
dialogVisibleImg: false,
loadingBtn: false,
// 表单信息
isCjcs: false,
form: {
imageUrlSa: '',
imageUrlLa: '',
imageUrlXz: '',
asjbh: '',
ajmc: '',
ajlbdm: '',
ladwdm: '',
larq: '',
jayq: '',
xslx: '',
xshm: '',
xsms: '',
lrxm: '',
lrrdwdm: '',
lrsj: '',
},
rules: {
asjbh: [
{ required: true, message: '请填写案件编号', trigger: 'change' }
],
ajmc: [
{ required: true, message: '请填写案件名称', trigger: 'change' }
],
ajlbdm: [
{ required: true, message: '请填写案件类型', trigger: 'change' }
],
ladwdm: [
{ required: true, message: '请填写立案单位', trigger: 'change' }
],
larq: [
{ required: true, message: '请选择立案日期', trigger: 'change' }
],
jayq: [
{ required: true, message: '请填写简要案情', trigger: 'change' },
],
xslx: [
{ required: true, message: '请填写线索类型', trigger: 'change' },
],
xshm: [
{ required: true, message: '请填写线索号码', trigger: 'change' },
],
xsms: [
{ required: true, message: '请填写线索描述', trigger: 'change' }
],
lrxm: [
{ required: true, message: '请填写录入人姓名', trigger: 'change' }
],
lrrdwdm: [
{ required: true, message: '请选择录入人单位', trigger: 'change' }
],
lrsj: [
{ required: true, message: '请选择录入时间', trigger: 'change' }
],
},
}
},
mounted () {
this.getJbInfo()
this.getJbInfoImg()
if (this.$route.query.xszt == '5' || this.$route.query.xszt == '10') {
this.getFkInfo()
}
},
watch: {
},
methods: {
async getFkInfo () {
const paramas = new FormData()
paramas.append('id', this.$route.query.id)
let res = await selectFkXxOne(paramas)
if (res && res.code == 200) {
this.fkDetail = res.data.rows
}
},
// 导出
downLoad (row, title) {
let params = new FormData();
params.append("xxzjbh", row.xxzjbh);
let url = `${base.alyIP}/hcypgl/downLoadFile`;
axios
.post(url, params, {
responseType: "blob",
})
.then((res) => {
if (res.size > 0) {
let blob = new Blob([res]);
// 组装a标签
let elink = document.createElement("a");
// 设置下载文件名
elink.download = row.dzwjbt;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
} else {
this.$message.error("未找到有效的文件")
}
}).catch(err => {
});
},
async getJbInfo () {
this.loadings = true
const paramas = new FormData()
paramas.append('id', this.$route.query.id)
let res = await selectOne(paramas)
if (res && res.code == 200) {
this.baseInfoDetail = res.data.rows
this.loadings = false
}
},
async getJbInfoImg () {
const paramas = new FormData()
paramas.append('xxzjbh', this.$route.query.id)
let res = await imgInfo(paramas)
if (res && res.code == 200) {
if (res.data.detail) {
res.data.detail.forEach(item => {
if (item.fjlx == 1) {
this.baseInfoDetailImg.push(item)
} else if (item.fjlx == 2) {
this.fjFile.push(item)
}
})
}
}
},
getDialogSeleted (item) {
console.log(item, 1111222);
this.qgdwmc = item
},
// 获取民警数据
getMjData (item) {
this.tableDataMj = item
},
// 获取嫌疑人数据
getXyrData (item) {
this.tableDataXyr = item
},
handlePictureCardPreview (file, item) {
this.dialogImageUrl = file;
this.dialogVisibleImg = true;
},
},
}
</script>
<style lang="scss" scoped>
.content_box {
height: 100vh;
display: flex;
flex-direction: column;
background: #f1f2f5;
box-sizing: border-box;
.content_box_container {
flex: 1;
overflow: auto;
padding: 19px 24px;
}
.box_header {
font-size: 14px;
font-weight: 500;
color: #383838;
line-height: 18px;
margin-bottom: 19px;
.el-breadcrumb__item:nth-child(1) {
/deep/.el-breadcrumb__inner {
color: #8b8b8b !important;
}
}
}
.box_form {
padding: 32px 40px;
background: #ffffff;
margin-bottom: 1px;
.el-form {
/deep/.el-form-item {
/* display: inline-block; */
.el-form-item__label {
font-size: 16px;
font-weight: 400;
color: #4b4b4b;
}
.el-form-item__content {
/* height: 32px; */
/* line-height: 32px; */
}
}
.form_line1 {
display: flex;
justify-content: space-between;
/deep/.el-form-item {
display: inline-block;
width: 28%;
}
}
.form_line2 {
/deep/.el-form-item {
margin-bottom: 0;
}
}
.searchBtn {
float: right;
}
}
.box_table {
background: #ffffff;
padding: 16px 0 28px;
border-top: 1px solid #f1f2f5;
.contentTitle {
font-size: 20px;
font-weight: 500;
margin-bottom: 8px;
}
.pagination {
margin-top: 20px;
display: flex;
justify-content: space-between;
height: 48px;
line-height: 48px;
}
}
}
.form_footer {
border-top: 1px solid #e5e6e8;
display: flex;
justify-content: flex-end;
height: 64px;
line-height: 64px;
background: #ffffff;
margin-left: -20px;
}
}
/deep/ .update-img {
margin-bottom: 8px;
position: relative;
.el-upload-list {
.el-upload-list__item {
overflow: initial;
}
}
img {
width: 118px;
height: 118px;
object-fit: cover;
}
&.on-upload {
// width: 118px;
height: 118px;
.el-upload {
display: none;
width: 118px;
height: 118px;
}
}
.el-upload {
width: 118px;
height: 118px;
border-radius: 0;
position: relative;
background: #eeeeee;
border: 1px dashed #dcdcdc;
}
.el-icon-plus {
width: 118px;
height: 118px;
line-height: 118px;
}
.el-upload-list {
.el-upload-list__item {
width: 118px;
height: 118px;
border-radius: 0;
.show-name {
position: absolute;
bottom: -25px;
z-index: 9;
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
color: #4b4b4b;
font-size: 14px;
overflow: hidden;
}
}
}
}
.el-upload-action {
position: absolute;
top: 0;
left: 0;
display: block;
width: 118px;
height: 118px;
font-size: 0;
color: #fff;
text-align: center;
line-height: 120px;
}
.el-upload-action:hover {
font-size: 20px;
background-color: #000;
background-color: rgba(0, 0, 0, 0.6);
}
</style>
\ No newline at end of file
<template>
<div class="content_box">
<div class="box_header">成员管理</div>
<div class="box_form">
<myForm :labelWidth="labelWidth"
:isActive="true"
:formConfig="formConfig"
:formData="formData"
:searchHandle="searchHandle"
ref="ruleForm"></myForm>
</div>
<div class="box_table">
<div class="tableBtn">
<el-button size="small"
@click="addPer"
icon="el-icon-plus">角色分配</el-button>
</div>
<div class="table_contanier">
<Mytable v-loading="downLoading"
element-loading-text="加载中..."
:tableData="tableData"
:columObj="columObj"
:pageObj="pageObj"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange">
<template #btnGroup="scope">
<el-button class="hbyp"
type="text"
size="mini"
@click="deletBtn(scope.scope)">删除</el-button>
</template>
</Mytable>
</div>
</div>
<el-dialog title=""
class="dialogPer"
:before-close="handleClose"
:visible.sync="dialogVisiblePermisson"
width="70%">
<span class="titleTips"
slot="title">
<span style="font-size:20px;">研判角色</span>
</span>
<div class="tableBtn">
<el-button size="small"
style="margin-bottom:8px;"
@click="addRole"
icon="el-icon-plus">角色分配</el-button>
</div>
<Mytable :tableData="tableDataRole"
:columObj="columObjRole"
:pageObj="pageObjRole"
@handleSizeChange="handleSizeChangeRole"
@handleSelectionChange="handleSelectionChange"
@handleCurrentChange="handleCurrentChangeRole">
</Mytable>
</el-dialog>
<!-- 角色配置 -->
<el-dialog title="角色配置"
:visible.sync="dialogVisiblePer"
width="30%"
class="roleSty"
:before-close="handleClosePer">
<el-form ref="ruleForm"
:model="formPer"
size="small"
label-position="left">
<el-form-item prop="role">
<el-radio-group v-model="formPer.role"
size="medium">
<el-radio :label="1">{{'组长'}}</el-radio>
<el-radio :label="2">{{'研判员'}}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer">
<el-button @click="qx">取 消</el-button>
<el-button type="primary"
:loading="loadingRole"
@click="submitRoleBtn">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import myForm from '@/components/myForm.vue'
import Mytable from '@/components/Mytable.vue'
import {
selectUserNewList, //列表
selectCyglList, //列表
insertCyglById,
deleteCyglById
} from '@/api/statistical.js'
import axios from "axios";
import base from "@/api/base";
import checkPermission from '@/utils/permission' // 权限判断函数
import { mapGetters } from "vuex";
import encry from "@/utils/encry";
export default {
components: {
myForm, Mytable
},
data () {
return {
formPer: {
role: ''
},
glxxzjbh: '',
loadingRole: false,
dialogVisiblePer: false,
multipleSelection: [],
dialogVisiblePermisson: false,
loadingPer: false,
columnType: '1',
downLoading: false,
// 表单域标签的宽度
labelWidth: '100px',
// 表单配置
formConfig: [
{
label: '用户名:',
prop: 'username',
type: 'input',
}, {
label: '警号:',
prop: 'policemanid',
type: 'input',
}, {
label: '用户姓名:',
prop: 'trueName',
type: 'input',
},
{
label: '所属单位:',
id: 'unitcode',
type: 'codeTreeDialog',
props: [], //字典弹框需要的字段
value: "",
width: '100%',
codeOptions: [],
codeTree: "CODE_UNIT",
}, {
label: '研判角色:',
prop: 'cyjs',
type: 'radio',
value: [],
width: '100%',
radios: [{
label: "组长",
val: '1',
},
{
label: "研判员",
val: '2',
},
]
},
],
// 表单数据
formData: {
username: '',
policemanid: '',
trueName: '',
unitcode: '',
cyjs: '',
},
searchHandle: [
{
label: '查询',
show: true,
icon: 'el-icon-search',
type: 'primary',
handle: () => {
this.searchData()
},
},
{
label: '重置',
show: true,
handle: () => {
this.resetData()
},
},
],
rules: [],
pageObj: { //分页对象
total: 10,
pageData: {
page: 1,
size: 10
}
},
tableData: [],
columObj: {
visble: false,
loading: false,
columnData: [
{
text: true,
prop: "trueName",
editRow: undefined,
label: "用户姓名",
width: "",
align: "center",
}, {
text: true,
prop: "unitname",
editRow: undefined,
label: "用户单位",
width: "",
align: "center",
}, {
text: true,
prop: "policemanid",
editRow: undefined,
label: "警号",
width: "",
align: "center",
}, {
text: true,
prop: "telephone",
editRow: undefined,
label: "联系电话",
width: "",
align: "center",
}, {
text: true,
prop: "syRolesStr",
editRow: undefined,
label: "研判角色",
width: "",
align: "center",
},
{
isOperation: true,
type: 'basicSlot',
label: "操作",
width: "250",
align: "center",
fixed: "right",
sortable: false,
},
]
},
pageObjRole: { //分页对象
total: 10,
pageData: {
page: 1,
size: 10
}
},
tableDataRole: [],
columObjRole: {
visble: false,
loading: false,
selection: true,
columnData: [
{
text: true,
prop: "trueName",
editRow: undefined,
label: "用户姓名",
width: "",
align: "center",
}, {
text: true,
prop: "unitname",
editRow: undefined,
label: "用户单位",
width: "",
align: "center",
}, {
text: true,
prop: "policemanid",
editRow: undefined,
label: "警号",
width: "",
align: "center",
}, {
text: true,
prop: "telephone",
editRow: undefined,
label: "联系电话",
width: "",
align: "center",
},
]
},
}
},
created () {
},
mounted () {
this.getList();
document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
window.addEventListener("message", this.messageReciver, false);
},
beforeDestroy () {
window.removeEventListener("message", this.messageReciver, false);
},
methods: {
deletBtn (rows) {
this.$confirm("此操作将删除该条信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
const params = new FormData()
params.append('xxzjbh', rows.cyxxzjbh)
let res = await deleteCyglById(params)
if (res && res.code == 200) {
this.$message.success('删除成功!')
this.getList()
}
}).catch(() => {
});
},
qx () {
this.dialogVisiblePer = false
},
// 配置角色提交
async submitRoleBtn () {
if (this.glxxzjbh) {
this.loadingRole = true
let params = new FormData()
params.append('glxxzjbh', this.glxxzjbh)
params.append('cyjs', this.formPer.role)
let res = await insertCyglById(params)
if (res && res.code == 200) {
this.loadingRole = false;
this.dialogVisiblePer = false;
this.dialogVisiblePermisson = false;
this.$message.success('分配成功')
this.getList()
}
} else {
this.loadingRole = false;
this.dialogVisiblePer = false;
}
},
handleClosePer () {
this.dialogVisiblePer = false
},
// 分配角色
addPer () {
this.dialogVisiblePermisson = true
this.getRoleList()
},
addRole () {
if (this.multipleSelection.length == 0 || this.multipleSelection.length > 1) {
this.$message.warning('请选择一条数据进行分配!')
} else {
this.glxxzjbh = this.multipleSelection[0].id
this.dialogVisiblePer = true
}
},
handleSelectionChange (val) {
this.multipleSelection = val;
},
// 审批
cancelBtn () {
this.$refs['ruleForm'].resetFields();
this.dialogVisiblePermisson = false;
},
handleClose () {
this.dialogVisiblePermisson = false;
},
messageReciver (e) {
if (e.origin == location.origin && e.data == 'appReloadData') {
this.getList();
}
},
checkPermission,
async getList () {
this.columObj.loading = true;
let params = new FormData()
params.append('page', this.pageObj.pageData.page)
params.append('limit', this.pageObj.pageData.size)
params.append('username', this.formData.username)
params.append('policemanid', this.formData.policemanid)
params.append('trueName', this.formData.trueName)
params.append('unitcode', this.formData.unitcode)
params.append('cyjs', this.formData.cyjs)
let res = await selectCyglList(params)
if (res && res.code == 200) {
this.columObj.loading = false;
this.pageObj.total = res.data.total;
this.tableData = res.data.rows
}
},
async getRoleList () {
this.columObjRole.loading = true;
let params = new FormData()
params.append('page', this.pageObjRole.pageData.page)
params.append('limit', this.pageObjRole.pageData.size)
let res = await selectUserNewList(params)
if (res && res.code == 200) {
this.columObjRole.loading = false;
this.pageObjRole.total = res.data.total;
this.tableDataRole = res.data.rows
}
},
// 操作按钮
approvalBtn (row) {
this.$router.pushToTab({
path: "/userApproval",
query: {
xxzjbh: row.id,
},
});
},
//页码变化
handleCurrentChange (e) {
this.pageObj.pageData.page = e;
this.getList()
},
//条数变化
handleSizeChange (e) {
this.pageObj.pageData.size = e;
this.pageObj.pageData.page = 1;
this.getList()
},
//页码变化
handleCurrentChangeRole (e) {
this.pageObjRole.pageData.page = e;
this.getRoleList()
},
//条数变化
handleSizeChangeRole (e) {
this.pageObjRole.pageData.size = e;
this.pageObjRole.pageData.page = 1;
this.getRoleList()
},
searchData () {
this.pageObj.pageData.size = 10;
this.pageObj.pageData.page = 1;
this.getList()
},
resetData () {
this.pageObj.pageData.size = 10;
this.pageObj.pageData.page = 1;
this.formData = {
username: '',
policemanid: '',
trueName: '',
unitcode: '',
shzt: '1',
}
this.getList()
},
},
}
</script>
<style lang="scss" scoped>
.content_box {
padding: 24px;
font-weight: 400;
overflow: auto;
width: 100%;
height: 94vh;
box-sizing: border-box;
.box_header {
font-size: 14px;
font-weight: 500;
color: #383838;
line-height: 18px;
margin-bottom: 19px;
}
.box_form {
padding: 24px 24px 20px;
background: #ffffff;
margin-bottom: 1px;
.el-form {
/deep/.el-form-item {
display: inline-block;
.el-form-item__label {
height: 32px;
line-height: 32px;
font-size: 16px;
font-weight: 400;
color: #4b4b4b;
}
.el-form-item__content {
height: 32px;
line-height: 32px;
}
}
.form_line1 {
text-align: center;
/deep/.el-form-item {
display: inline-block;
width: 25%;
}
}
.form_line2 {
/deep/.el-form-item {
/* margin-bottom: 0; */
}
}
.form_lineInner {
}
.form_line3 {
display: inline-block;
.el-form-item {
width: 100%;
}
}
.searchBtn {
display: inline-block;
margin-left: 16px;
.el-button {
width: 98px;
}
}
}
}
.box_table {
background: #ffffff;
padding: 16px 20px 28px;
.tableBtn {
margin-bottom: 16px;
}
.pagination {
margin-top: 20px;
display: flex;
justify-content: space-between;
height: 48px;
line-height: 48px;
/* text-align: center; */
}
}
}
::v-deep .dialogPer {
.el-dialog__body {
padding: 24px !important;
}
}
::v-deep .roleSty {
.el-dialog__body {
padding: 24px !important;
min-height: 100px;
}
}
</style>
\ No newline at end of file
......@@ -26,6 +26,7 @@
@rowBtn="rowBtn"
@rowOperation="rowOperation">
<template #btnGroup="scope">
<!-- v-if="scope.scope.xzzt=='0'" -->
<el-button class="hbyp"
type="text"
size="mini"
......@@ -33,14 +34,15 @@
<el-button class="hbyp"
type="text"
size="mini"
@click="editBtn(scope.scope)">删除</el-button>
@click="deletBtn(scope.scope)">删除</el-button>
<el-button class="hbyp"
type="text"
size="mini"
@click="editBtn(scope.scope)">详情</el-button>
@click="detailBtn(scope.scope)">详情</el-button>
<el-button class="hbyp"
type="text"
size="mini"
v-if="scope.scope.xzzt=='0'"
:loading="loadingAPP"
@click="toApprovalBtn(scope.scope)">提交审批</el-button>
......@@ -56,6 +58,8 @@ import Myform from '@/components/myForm.vue'
import Mytable from '@/components/Mytable.vue'
import {
selectAll,//协助查询
shXzqqXx,
deleteById
} from "@/api/statistical.js"
import SelectTreeDialog from "@c/treeCode_components.vue";
import { mapGetters } from "vuex"
......@@ -66,32 +70,33 @@ export default {
data () {
return {
userInfo: {},
// 表单域标签的宽度
labelWidth: '150px',
// 表单配置
formConfig: [
{
label: '线索状态:',
prop: 'xszt',
prop: 'xzzt',
type: 'select',
width: '100%',
options: [
{
label: '草稿',
value: '01'
value: '0'
}, {
label: '待审批',
value: '02'
value: '1'
},
{
label: '审批不通过',
value: '03'
value: '2'
}, {
label: '待反馈',
value: '04'
value: '4'
}, {
label: '已反馈',
value: '05'
value: '5'
},
]
},
......@@ -134,7 +139,7 @@ export default {
],
// 表单数据
formData: {
xszt: '',
xzzt: '',
xslx: '',
xshm: '',
asjbh: '',
......@@ -161,7 +166,7 @@ export default {
{
id: "queryHcyp",
label: "数据管理",
newAuth: [],
newAuth: [""],
index: "/queryHcyp",
className: "iconfont icon-ziyuanliebiao1",
hasChildren: true,
......@@ -178,14 +183,41 @@ export default {
]
},
{
id: "queryApproval",
label: "注册审核管理",
newAuth: ["C1903", "F010101"],
index: "/queryApproval",
id: "querySpgl",
label: "审批管理",
newAuth: [],
index: "/querySpgl",
className: "iconfont icon-ziyuanliebiao1",
hasChildren: false,
},
{
id: "queryCygl",
label: "成员管理",
newAuth: [],
index: "/queryCygl",
className: "iconfont icon-ziyuanliebiao1",
hasChildren: false,
},
],
leftMenusBj: [
{
id: "queryHcyp",
label: "本单位线索",
newAuth: [],
index: "/queryHcyp",
className: "iconfont icon-shenpi",
hasChildren: false,
},
],
leftMenusXj: [
{
id: "queryHcypXj",
label: "下级单位线索",
newAuth: [],
index: "/queryHcypXj",
className: "iconfont icon-shenpi",
hasChildren: false,
},
],
value1: true,//启用
value2: false,//禁用
......@@ -243,7 +275,7 @@ export default {
label: "线索描述",
width: "",
align: "center",
showToolTip: true,
}, {
text: true,
prop: "asjbh",
......@@ -269,7 +301,7 @@ export default {
},
{
text: true,
prop: "xszt",
prop: "xzztStr",
editRow: undefined,
label: "线索状态",
width: "",
......@@ -305,6 +337,14 @@ export default {
}
},
created () {
this.userInfo = JSON.parse(sessionStorage.getItem("userInfo"))
if (this.userInfo.grade == 'D') {
this.leftMenus[0].children.push(...this.leftMenusXj)
}
// else if (this.userInfo.grade == 'S' || this.userInfo.grade == 'D') {
// this.leftMenus[0].children.push(this.leftMenusXj)
// }
console.log(this.leftMenus, 11222);
this.$store.commit("user/SET_LeftMenu", this.leftMenus);
this.$store.commit("user/SET_Header", '合成研判管理');
......@@ -322,9 +362,17 @@ export default {
window.removeEventListener("message", this.messageReciver, false);
},
methods: {
detailBtn (rows) {
this.$router.pushToTab({
path: '/detailHcyp',
query: {
id: rows.xxzjbh,
}
})
},
editBtn (rows) {
this.$router.pushToTab({
path: '/editBaxz',
path: '/addHcyp',
query: {
id: rows.xxzjbh,
}
......@@ -362,6 +410,23 @@ export default {
}
},
deletBtn (rows) {
this.$confirm("此操作将删除该条信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
const params = new FormData()
params.append('xxzjbh', rows.xxzjbh)
let res = await deleteById(params)
if (res && res.code == 200) {
this.$message.success('删除成功!')
this.getList()
}
}).catch(() => {
});
},
messageReciver (e) {
if (e.origin == location.origin && e.data == 'appReloadData') {
this.getList();
......@@ -373,7 +438,7 @@ export default {
},
resetData () {
this.formData = {
xszt: '',
xzzt: '',
xslx: '',
xshm: '',
asjbh: '',
......@@ -426,11 +491,13 @@ export default {
const params = new FormData()
params.append('page', this.pageObj.pageData.page)
params.append('limit', this.pageObj.pageData.size)
params.append('xszt', this.formData.xszt)
params.append('xzzt', this.formData.xzzt)
params.append('xslx', this.formData.xslx)
params.append('xshm', this.formData.xshm)
params.append('asjbh', this.formData.asjbh)
params.append('ajmc', this.formData.ajmc)
params.append('ajlbdm', this.formData.ajlbdm)
params.append('sfbj', 'bdw')
let res = await selectAll(params)
if (res && res.code == 200) {
this.tableData = res.data.rows
......
<template>
<div class="content_box">
<div class="box_header">下级单位线索</div>
<div class="box_form">
<Myform :labelWidth="labelWidth"
:formConfig="formConfig"
:formData="formData"
:isActive="true"
:searchHandle="searchHandle"
ref="ruleForm">
</Myform>
</div>
<div class="box_table">
<div class="tableBtn">
<el-button size="small"
@click="addCj"
icon="el-icon-plus">请求采集</el-button>
</div>
<div class="table_contanier">
<Mytable v-loading="loadings"
element-loading-text="加载中..."
:tableData="tableData"
:columObj="columObj"
:pageObj="pageObj"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
@rowBtn="rowBtn"
@rowOperation="rowOperation">
<template #btnGroup="scope">
<el-button class="hbyp"
type="text"
size="mini"
@click="detailBtn(scope.scope)">详情</el-button>
<!-- 5 10 -->
<el-button class="hbyp"
type="text"
size="mini"
:loading="loadingAPP"
v-if="userInfo.grade=='D'&&scope.scope.xzzt=='4'"
@click="toApprovalBtn(scope.scope)">提交审批</el-button>
<el-button class="hbyp"
type="text"
size="mini"
v-if="scope.scope.xzzt=='4'||scope.scope.xzzt=='9'"
@click="toFk(scope.scope)">反馈</el-button>
</template>
</Mytable>
</div>
</div>
<!-- 反馈 -->
<el-dialog title=""
class="dialogPer"
:before-close="handleClose"
:visible.sync="dialogVisiblePermisson"
width="53%">
<span class="titleTips"
slot="title">
<span style="font-size:20px;">审批</span>
</span>
<el-form ref="ruleForm"
:model="formPer"
size="small"
label-width="100px"
label-position="left"
:rules="rulesPer">
<el-form-item label="反馈内容"
prop="fknr">
<el-input type="textarea"
style="width:80%;"
:rows="2"
v-model="formPer.fknr"></el-input>
</el-form-item>
<el-form-item label="附件"
prop="fkfile">
<el-upload action="#"
:auto-upload="false"
accept=".png,.jpg,.PNG,.JPG,.pdf,.PDF"
:file-list="formPer.fkfile"
v-model="formPer.fkfile"
multiple
:limit="1"
:on-remove="removePhoto"
:on-change="
(flie, fileList) => {
onChange(flie, fileList);
}
">
<el-button size="small"
type="primary">附件</el-button>
</el-upload>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer">
<el-button type="primary"
:loading="loadingPer"
style="backgroundColor:#266FE8;"
@click="submitPer('ruleForm')">确认反馈</el-button>
<el-button @click="cancelBtn">取 消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Myform from '@/components/myForm.vue'
import Mytable from '@/components/Mytable.vue'
import {
selectAll,//协助查询
shXzqqXx,
deleteById,
insertFkXx
} from "@/api/statistical.js"
import SelectTreeDialog from "@c/treeCode_components.vue";
import { mapGetters } from "vuex"
export default {
components: {
SelectTreeDialog, Mytable, Myform
},
data () {
return {
userInfo: {},
glxxzjbh: '',
itemGrade: '',
formPer: {
fknr: '',
fkfile: [],
},
dialogVisiblePermisson: false,
loadingPer: false,
rulesPer: {
fknr: [
{ required: true, message: "请填写反馈", trigger: "change" },
],
fkfile: [
{ required: true, message: "请上传反馈附件", trigger: "change" },
],
},
// 表单域标签的宽度
labelWidth: '150px',
// 表单配置
formConfig: [
{
label: '线索状态:',
prop: 'xzzt',
type: 'select',
width: '100%',
options: [
{
label: '草稿',
value: '0'
}, {
label: '待审批',
value: '1'
},
{
label: '审批不通过',
value: '2'
}, {
label: '待反馈',
value: '4'
}, {
label: '已反馈',
value: '5'
},
]
},
{
label: '线索类型:',
prop: 'xslx',
type: 'input',
width: '100%'
},
{
label: '线索号码:',
prop: 'xshm',
type: 'input',
},
{
label: '案件编号:',
prop: 'asjbh',
type: 'input',
width: '100%'
},
{
label: '案件名称:',
prop: 'ajmc',
type: 'input',
width: '100%'
},
{
label: '案件类别:',
name: "案件类别",
id: "ajlbdm",
props: "checkEmpty",
type: "codeTreeDialogs",
value: "",
placeholder: "请选择",
col: "3",
codeOptions: [],
codeTree: "CODE_AJLB",
},
],
// 表单数据
formData: {
xzzt: '',
xslx: '',
xshm: '',
asjbh: '',
ajmc: '',
ajlbdm: '',
},
searchHandle: [
{
label: '查询',
show: true,
type: 'primary',
handle: () => { this.searchData() },
},
{
label: '清空',
show: true,
handle: () => { this.resetData() },
},
],
loadingAPP: false,
loadingBack: false,
value1: true,//启用
value2: false,//禁用
form: {
gjzss: '',
},
page: {
page: 1,
limit: 10,
},
total: null,
collectionConfig: [{ labe: "指纹", value: "1" }, { labe: "身高体重", value: "3" }, { labe: "手机", value: "4" }, { labe: "足迹", value: "5" }, { labe: "声纹", value: "6" }, { labe: "虹膜", value: "7" }],
pageObj: { //分页对象
total: 10,
pageData: {
page: 1,
size: 10
}
},
loadings: false,
tableData: [],
columObj: {
visble: false,
loading: false,
columnData: [
{
isOperation: true,
type: 'basicSlot',
label: "操作",
width: "250",
align: "center",
fixed: "right",
sortable: false,
operation: [
]
},
{
text: true,
prop: "xslx",
editRow: undefined,
label: "线索类型",
width: "",
align: "center",
}, {
text: true,
prop: "xshm",
editRow: undefined,
label: "线索号码",
width: "",
align: "center",
}, {
text: true,
prop: "xsms",
editRow: undefined,
label: "线索描述",
width: "",
align: "center",
showToolTip: true,
}, {
text: true,
prop: "asjbh",
editRow: undefined,
label: "案件编号",
width: "",
align: "center",
}, {
text: true,
prop: "ajmc",
editRow: undefined,
label: "案件名称",
width: "",
align: "center",
},
{
text: true,
prop: "ajmc",
editRow: undefined,
label: "立案日期",
width: "",
align: "center",
},
{
text: true,
prop: "xzztStr",
editRow: undefined,
label: "线索状态",
width: "",
align: "center",
},
{
text: true,
prop: "djsj",
editRow: undefined,
label: "录入时间",
width: "",
align: "center",
},
{
text: true,
prop: "xxdjryXm",
editRow: undefined,
label: "录入人",
width: "",
align: "center",
},
{
text: true,
prop: "xxdjdwGajgmc",
editRow: undefined,
label: "录入单位",
width: "",
align: "center",
},
]
},
leftMenus: [
//左侧导航(模块第一个页面需要)
{
id: "queryHcyp",
label: "数据管理",
newAuth: [""],
index: "/queryHcyp",
className: "iconfont icon-ziyuanliebiao1",
hasChildren: true,
children: [
{
id: "queryHcypXj",
label: "下级单位线索",
newAuth: [],
index: "/queryHcypXj",
className: "iconfont icon-shenpi",
hasChildren: false,
},
]
},
{
id: "querySpgl",
label: "审批管理",
newAuth: [],
index: "/querySpgl",
className: "iconfont icon-ziyuanliebiao1",
hasChildren: false,
},
{
id: "queryCygl",
label: "成员管理",
newAuth: [],
index: "/queryCygl",
className: "iconfont icon-ziyuanliebiao1",
hasChildren: false,
},
],
leftMenusBj: [
{
id: "queryHcyp",
label: "本单位线索",
newAuth: [],
index: "/queryHcyp",
className: "iconfont icon-shenpi",
hasChildren: false,
},
],
}
},
created () {
this.userInfo = JSON.parse(sessionStorage.getItem("userInfo"))
if (this.userInfo.grade == 'D') {
this.leftMenus[0].children.unshift(...this.leftMenusBj)
}
this.$store.commit("user/SET_LeftMenu", this.leftMenus);
this.$store.commit("user/SET_Header", '合成研判管理');
},
computed: {
...mapGetters(["userAuth"])
},
mounted () {
document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
this.getList()
window.addEventListener("message", this.messageReciver, false);
},
beforeDestroy () {
window.removeEventListener("message", this.messageReciver, false);
},
methods: {
onChange (file, fileList) {
const index = file.name.lastIndexOf(".");
const isJPG = /^.*\.(jpg|png|JPG|PNG|pdf|PDF)$/i.test(
file.name.substring(index)
);
if (!isJPG) {
this.$message.error("图片类型必须是jpg,png,pdf中的一种!");
return;
}
this.formPer.fkfile.push(file)
},
removePhoto (item) {
this.formPer.fkfile = []
},
toFk (rows) {
this.glxxzjbh = rows.xxzjbh
this.itemGrade = rows.grade
this.dialogVisiblePermisson = true
},
// 审批
cancelBtn () {
this.$refs['ruleForm'].resetFields();
this.dialogVisiblePermisson = false;
},
handleClose () {
this.$refs['ruleForm'].resetFields();
this.dialogVisiblePermisson = false;
},
async submitPer (searchForm) {
this.$refs[searchForm].validate(async (valid) => {
if (valid) {
this.loadingPer = true
let xzzt = ''
let grade = JSON.parse(sessionStorage.getItem("userInfo")).grade;
if (grade == 'D') {
xzzt = '5'
} else {
xzzt = '10'
}
const params = new FormData()
params.append('glxxzjbh', this.glxxzjbh)
params.append('fknr', this.formPer.fknr)
params.append('xzzt', xzzt)
params.append('fkfile', this.formPer.fkfile[0].raw)
let res = await insertFkXx(params)
try {
if (res && res.code == 200) {
this.$message.success('审核成功')
this.dialogVisiblePermisson = false;
this.loadingPer = false
this, this.getList()
} else {
console.log(123, res);
this.$message.error(`${res.message}`)
this.loadingPer = false
}
} catch (error) {
console.log(error, res, 333);
this.loadingPer = false
}
}
})
},
detailBtn (rows) {
this.$router.pushToTab({
path: '/detailHcyp',
query: {
id: rows.xxzjbh,
xzzt: rows.xzzt
}
})
},
editBtn (rows) {
this.$router.pushToTab({
path: '/addHcyp',
query: {
id: rows.xxzjbh,
}
})
},
async backBtn (rows) {
this.loadingBack = true
const params = new FormData()
params.append('xzzt', xzzt)
params.append('xxzjbh', rows.xxzjbh)
let res = await shXzqqXx(params)
try {
if (res && res.code == 200) {
this.loadingBack = false
this.$message.success('退回成功!')
this.getList()
}
} catch (error) {
}
},
async toApprovalBtn (rows) {
this.loadingAPP = true
const params = new FormData()
let xzzt = ''
let grade = JSON.parse(sessionStorage.getItem("userInfo")).grade;
if (rows.grade == 'X' && grade == 'D') {
xzzt = '6'
} else {
xzzt = '1'
}
params.append('xzzt', xzzt)
params.append('xxzjbh', rows.xxzjbh)
let res = await shXzqqXx(params)
try {
if (res && res.code == 200) {
this.loadingAPP = false
this.$message.success('提交审核成功!')
this.getList()
}
} catch (error) {
}
},
deletBtn (rows) {
this.$confirm("此操作将删除该条信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
const params = new FormData()
params.append('xxzjbh', rows.xxzjbh)
let res = await deleteById(params)
if (res && res.code == 200) {
this.$message.success('删除成功!')
this.getList()
}
}).catch(() => {
});
},
messageReciver (e) {
if (e.origin == location.origin && e.data == 'appReloadData') {
this.getList();
}
},
// 查询
searchData () {
this.getList()
},
resetData () {
this.formData = {
xzzt: '',
xslx: '',
xshm: '',
asjbh: '',
ajmc: '',
ajlbdm: '',
}
this.getList()
},
//页码变化
handleCurrentChange (e) {
this.pageObj.pageData.page = e;
this.getList()
},
//条数变化
handleSizeChange (e) {
this.pageObj.pageData.size = e;
this.pageObj.pageData.page = 1;
this.getList()
},
rowOperation (row, index, item) {
if (item == 'ckxq') {
this.$router.pushToTab({
path: '/baxzDetail',
query: {
id: row.xxzjbh,
}
})
} else if (item == 'xg') {
this.$router.pushToTab({
path: '/editBaxz',
query: {
id: row.xxzjbh,
}
})
}
},
rowBtn (row, index) {
this.$router.pushToTab({
path: '/baxzDetail',
query: {
id: row.xxzjbh,
}
})
},
//列表
async getList () {
try {
this.loadings = true;
const params = new FormData()
params.append('page', this.pageObj.pageData.page)
params.append('limit', this.pageObj.pageData.size)
params.append('xzzt', this.formData.xzzt)
params.append('xslx', this.formData.xslx)
params.append('xshm', this.formData.xshm)
params.append('asjbh', this.formData.asjbh)
params.append('ajmc', this.formData.ajmc)
params.append('ajlbdm', this.formData.ajlbdm)
params.append('sfbj', 'bxq')
let res = await selectAll(params)
if (res && res.code == 200) {
this.tableData = res.data.rows
this.pageObj.total = res.data.total
this.loadings = false;
} else {
this.loadings = false;
}
} catch (error) {
this.loadings = false;
// this.$message.error('服务器异常')
}
},
//新增设备
addCj () {
this.$router.pushToTab({ path: '/addHcyp' })
},
},
}
</script>
<style lang="scss" scoped>
.content_box {
height: 100%;
overflow-y: auto;
background: #f1f2f5;
padding: 19px 20px;
box-sizing: border-box;
.box_header {
font-size: 14px;
font-weight: 500;
color: #383838;
line-height: 18px;
margin-bottom: 19px;
}
.box_form {
padding: 24px 24px 20px;
background: #ffffff;
margin-bottom: 1px;
.el-form {
/deep/.el-form-item {
display: inline-block;
.el-form-item__label {
height: 32px;
line-height: 32px;
font-size: 16px;
font-weight: 400;
color: #4b4b4b;
}
.el-form-item__content {
height: 32px;
line-height: 32px;
}
}
.form_line1 {
text-align: center;
/deep/.el-form-item {
display: inline-block;
width: 25%;
}
}
.form_line2 {
/deep/.el-form-item {
/* margin-bottom: 0; */
}
}
.form_lineInner {
}
.form_line3 {
display: inline-block;
.el-form-item {
width: 100%;
}
}
.searchBtn {
display: inline-block;
margin-left: 16px;
.el-button {
width: 98px;
}
}
}
}
.box_table {
background: #ffffff;
padding: 16px 20px 28px;
.tableBtn {
margin-bottom: 16px;
}
.pagination {
margin-top: 20px;
display: flex;
justify-content: space-between;
height: 48px;
line-height: 48px;
/* text-align: center; */
}
}
}
</style>
\ No newline at end of file
<template>
<div class="content_box">
<div class="box_header">本单位线索</div>
<div class="box_form">
<Myform :labelWidth="labelWidth"
:formConfig="formConfig"
:formData="formData"
:isActive="true"
:searchHandle="searchHandle"
ref="ruleForm"></Myform>
</div>
<div class="box_table">
<div class="tableBtn">
<el-button size="small"
@click="addCj"
icon="el-icon-plus">请求采集</el-button>
</div>
<div class="table_contanier">
<Mytable v-loading="loadings"
element-loading-text="加载中..."
:tableData="tableData"
:columObj="columObj"
:pageObj="pageObj"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange">
<template #btnGroup="scope">
<el-button class="hbyp"
type="text"
size="mini"
@click="toAprroval(scope.scope)">审批</el-button>
</template>
</Mytable>
</div>
</div>
<!-- 审核 -->
<el-dialog title=""
class="dialogPer"
:before-close="handleClose"
:visible.sync="dialogVisiblePermisson"
width="53%">
<span class="titleTips"
slot="title">
<span style="font-size:20px;">审批</span>
</span>
<el-form ref="ruleForm"
:model="formPer"
size="small"
label-width="100px"
label-position="left"
:rules="rulesPer">
<el-form-item label="审核状态"
prop="result">
<el-radio-group v-model="formPer.result">
<el-radio :label="4">{{'通过'}}</el-radio>
<el-radio :label="2">{{'不通过'}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审核意见"
prop="spsm">
<el-input type="textarea"
style="width:80%;"
:rows="2"
v-model="formPer.spsm"></el-input>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer">
<el-button type="primary"
:loading="loadingPer"
style="backgroundColor:#266FE8;"
@click="submitPer('ruleForm')">确认审核</el-button>
<el-button @click="cancelBtn">取 消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Myform from '@/components/myForm.vue'
import Mytable from '@/components/Mytable.vue'
import {
selectAll,//协助查询
shXzqqXx
} from "@/api/statistical.js"
import SelectTreeDialog from "@c/treeCode_components.vue";
import { mapGetters } from "vuex"
export default {
components: {
SelectTreeDialog, Mytable, Myform
},
data () {
return {
// 权限
dialogVisiblePermisson: false,
itemGrade: false,
loadingPer: false,
formPer: {
result: '',
spsm: '',
},
rulesPer: {
result: [
{ required: true, message: "请选择审核状态", trigger: "change" },
],
spsm: [
{ required: true, message: "请输入审核意见", trigger: "change" },
],
},
// 表单域标签的宽度
labelWidth: '150px',
// 表单配置
formConfig: [
{
label: '线索状态:',
prop: 'xzzt',
type: 'select',
width: '100%',
options: [
{
label: '草稿',
value: '01'
}, {
label: '待审批',
value: '02'
},
{
label: '审批不通过',
value: '03'
}, {
label: '待反馈',
value: '04'
}, {
label: '已反馈',
value: '05'
},
]
},
{
label: '线索类型:',
prop: 'xslx',
type: 'input',
width: '100%'
},
{
label: '线索号码:',
prop: 'xshm',
type: 'input',
},
{
label: '案件编号:',
prop: 'asjbh',
type: 'input',
width: '100%'
},
{
label: '案件名称:',
prop: 'ajmc',
type: 'input',
width: '100%'
},
{
label: '案件类别:',
name: "案件类别",
id: "ajlbdm",
props: "checkEmpty",
type: "codeTreeDialogs",
value: "",
placeholder: "请选择",
col: "3",
codeOptions: [],
codeTree: "CODE_AJLB",
},
],
// 表单数据
formData: {
xzzt: '',
xslx: '',
xshm: '',
asjbh: '',
ajmc: '',
ajlbdm: '',
},
searchHandle: [
{
label: '查询',
show: true,
type: 'primary',
handle: () => { this.searchData() },
},
{
label: '清空',
show: true,
handle: () => { this.resetData() },
},
],
loadingAPP: false,
loadingBack: false,
value1: true,//启用
value2: false,//禁用
form: {
gjzss: '',
},
page: {
page: 1,
limit: 10,
},
total: null,
collectionConfig: [{ labe: "指纹", value: "1" }, { labe: "身高体重", value: "3" }, { labe: "手机", value: "4" }, { labe: "足迹", value: "5" }, { labe: "声纹", value: "6" }, { labe: "虹膜", value: "7" }],
pageObj: { //分页对象
total: 10,
pageData: {
page: 1,
size: 10
}
},
loadings: false,
tableData: [],
columObj: {
visble: false,
loading: false,
columnData: [
{
isOperation: true,
type: 'basicSlot',
label: "操作",
width: "250",
align: "center",
fixed: "right",
sortable: false,
operation: [
]
},
{
text: true,
prop: "xslx",
editRow: undefined,
label: "线索类型",
width: "",
align: "center",
}, {
text: true,
prop: "xshm",
editRow: undefined,
label: "线索号码",
width: "",
align: "center",
}, {
text: true,
prop: "xsms",
editRow: undefined,
label: "线索描述",
width: "",
align: "center",
showToolTip: true,
}, {
text: true,
prop: "asjbh",
editRow: undefined,
label: "案件编号",
width: "",
align: "center",
}, {
text: true,
prop: "ajmc",
editRow: undefined,
label: "案件名称",
width: "",
align: "center",
},
{
text: true,
prop: "ajmc",
editRow: undefined,
label: "立案日期",
width: "",
align: "center",
},
{
text: true,
prop: "xzztStr",
editRow: undefined,
label: "线索状态",
width: "",
align: "center",
},
{
text: true,
prop: "djsj",
editRow: undefined,
label: "录入时间",
width: "",
align: "center",
},
{
text: true,
prop: "xxdjryXm",
editRow: undefined,
label: "录入人",
width: "",
align: "center",
},
{
text: true,
prop: "xxdjdwGajgmc",
editRow: undefined,
label: "录入单位",
width: "",
align: "center",
},
]
},
}
},
created () {
},
computed: {
...mapGetters(["userAuth"])
},
mounted () {
document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
this.getList()
window.addEventListener("message", this.messageReciver, false);
},
beforeDestroy () {
window.removeEventListener("message", this.messageReciver, false);
},
methods: {
// 审批
cancelBtn () {
this.$refs['ruleForm'].resetFields();
this.dialogVisiblePermisson = false;
},
handleClose () {
this.$refs['ruleForm'].resetFields();
this.dialogVisiblePermisson = false;
},
async submitPer (searchForm) {
this.$refs[searchForm].validate(async (valid) => {
if (valid) {
this.loadingPer = true
let spyj = ''
let grade = JSON.parse(sessionStorage.getItem("userInfo")).grade;
if (grade == this.itemGrade) {
spyj = this.formPer.result
} else {
if (this.formPer.result == '4') {
spyj = '9'
} else {
spyj = '8'
}
}
const params = new FormData()
params.append('xxzjbh', this.glxxzjbh)
params.append('spyj', this.formPer.spsm)
params.append('xzzt', spyj)
console.log(spyj, grade, 111);
let res = await shXzqqXx(params)
try {
if (res && res.code == 200) {
this.$message.success('审核成功')
this.dialogVisiblePermisson = false;
this.loadingPer = false
this, this.getList()
} else {
console.log(123, res);
this.$message.error(`${res.message}`)
this.loadingPer = false
}
} catch (error) {
console.log(error, res, 333);
this.loadingPer = false
}
}
})
},
messageReciver (e) {
if (e.origin == location.origin && e.data == 'appReloadData') {
this.getList();
}
},
// 查询
searchData () {
this.getList()
},
resetData () {
this.formData = {
xzzt: '',
xslx: '',
xshm: '',
asjbh: '',
ajmc: '',
ajlbdm: '',
}
this.getList()
},
//页码变化
handleCurrentChange (e) {
this.pageObj.pageData.page = e;
this.getList()
},
//条数变化
handleSizeChange (e) {
this.pageObj.pageData.size = e;
this.pageObj.pageData.page = 1;
this.getList()
},
toAprroval (rows) {
this.glxxzjbh = rows.xxzjbh
this.itemGrade = rows.grade
this.dialogVisiblePermisson = true
},
//列表
async getList () {
try {
this.loadings = true;
const params = new FormData()
params.append('page', this.pageObj.pageData.page)
params.append('limit', this.pageObj.pageData.size)
params.append('xzzt', this.formData.xzzt)
params.append('xslx', this.formData.xslx)
params.append('xshm', this.formData.xshm)
params.append('asjbh', this.formData.asjbh)
params.append('ajmc', this.formData.ajmc)
params.append('ajlbdm', this.formData.ajlbdm)
params.append('sfbj', 'dsp')
let res = await selectAll(params)
if (res && res.code == 200) {
this.tableData = res.data.rows
this.pageObj.total = res.data.total
this.loadings = false;
} else {
this.loadings = false;
}
} catch (error) {
this.loadings = false;
// this.$message.error('服务器异常')
}
},
//新增设备
addCj () {
this.$router.pushToTab({ path: '/addHcyp' })
},
},
}
</script>
<style lang="scss" scoped>
.content_box {
height: 100%;
overflow-y: auto;
background: #f1f2f5;
padding: 19px 20px;
box-sizing: border-box;
.box_header {
font-size: 14px;
font-weight: 500;
color: #383838;
line-height: 18px;
margin-bottom: 19px;
}
.box_form {
padding: 24px 24px 20px;
background: #ffffff;
margin-bottom: 1px;
.el-form {
/deep/.el-form-item {
display: inline-block;
.el-form-item__label {
height: 32px;
line-height: 32px;
font-size: 16px;
font-weight: 400;
color: #4b4b4b;
}
.el-form-item__content {
height: 32px;
line-height: 32px;
}
}
.form_line1 {
text-align: center;
/deep/.el-form-item {
display: inline-block;
width: 25%;
}
}
.form_line2 {
/deep/.el-form-item {
/* margin-bottom: 0; */
}
}
.form_lineInner {
}
.form_line3 {
display: inline-block;
.el-form-item {
width: 100%;
}
}
.searchBtn {
display: inline-block;
margin-left: 16px;
.el-button {
width: 98px;
}
}
}
}
.box_table {
background: #ffffff;
padding: 16px 20px 28px;
.tableBtn {
margin-bottom: 16px;
}
.pagination {
margin-top: 20px;
display: flex;
justify-content: space-between;
height: 48px;
line-height: 48px;
/* text-align: center; */
}
}
}
</style>
\ No newline at end of file
......@@ -15,13 +15,13 @@ export default {
login () {
var self = this;
// const tokenOld = encrypt.Encrypt(self.$route.query.token)
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
sign({
token: encrypt.Decrypt(self.$route.query.token),
}).then((res) => {
if (res.code == 200) {
localStorage.setItem("token", "bearer " + res.data.accessToken);
localStorage.setItem("userInfo", JSON.stringify(res.data));
sessionStorage.setItem("token", "bearer " + res.data.accessToken);
sessionStorage.setItem("userInfo", JSON.stringify(res.data));
const roles = res.data.permission.split(",");
this.$store.commit("user/SET_ROLES", roles);
this.Loading.close();
......
......@@ -31,11 +31,11 @@ export default {
self.doQueryRequest(params, "/blade-auth/sign").then((res) => {
this.Loading.close();
if (res.code == 200) {
localStorage.removeItem("userInfo");
localStorage.removeItem("gzzm_userInfo");
localStorage.setItem("token", "bearer " + res.data.accessToken);
localStorage.setItem("userInfo", JSON.stringify(res.data));
localStorage.setItem("gzzm_userInfo", self.$route.query.gzzm_token);
sessionStorage.removeItem("userInfo");
sessionStorage.removeItem("gzzm_userInfo");
sessionStorage.setItem("token", "bearer " + res.data.accessToken);
sessionStorage.setItem("userInfo", JSON.stringify(res.data));
sessionStorage.setItem("gzzm_userInfo", self.$route.query.gzzm_token);
const roles = res.data.permission.split(",");
this.$store.commit("user/SET_ROLES", roles);
......
......@@ -80,11 +80,15 @@ export default {
password: this.ruleForm2.password,
}).then((res) => {
if (res.code == 200) {
localStorage.setItem("token", "bearer " + res.data.accessToken);
localStorage.setItem("userInfo", JSON.stringify(res.data));
sessionStorage.setItem("token", "bearer " + res.data.accessToken);
sessionStorage.setItem("userInfo", JSON.stringify(res.data));
const roles = res.data.permission.split(",");
this.$store.commit("user/SET_ROLES", roles);
this.$router.push("/queryHcyp");
if (res.data.grade == 'X' || res.data.grade == 'D') {
this.$router.push("/queryHcyp");
} else if (res.data.grade == 'S' || res.data.grade == 'D') {
this.$router.push("/queryHcypXj");
}
} else {
this.$confirm("账号或密码错误!", {
confirmButtonText: "确定",
......
<template>
<div class="Content">
<right-content
:pageBs="pageBs"
:header="header"
:cxFormData="cxFormData"
:cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl"
:tableData='tableData'
:tableDataLength='tableDataLength'
ref="rightContent"
@doQuery="doQuery"
@add="add"
@toInfor="toInfor"
@selectionChange="selectionChange"
@handleSwitch="handleSwitch"
>
<right-content :pageBs="pageBs"
:header="header"
:cxFormData="cxFormData"
:cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl"
:tableData='tableData'
:tableDataLength='tableDataLength'
ref="rightContent"
@doQuery="doQuery"
@add="add"
@toInfor="toInfor"
@selectionChange="selectionChange"
@handleSwitch="handleSwitch">
<template #listOperation="scope">
<span class="hbyps" @click="editRole(scope.scope)"> 角色配置</span>
<span class="hbyps"
@click="editRole(scope.scope)"> 角色配置</span>
</template>
<template #czBtn="scope">
<span
@click="editMa(scope.scope)"
class="edit"
style="margin-right: 16px"
>修改密码</span
>
<span @click="dele(scope.scope)" class="dele">删除</span>
<span @click="editMa(scope.scope)"
class="edit"
style="margin-right: 16px">修改密码</span>
<span @click="dele(scope.scope)"
class="dele">删除</span>
<!-- <span @click="edit(scope.scope)" class="edit">编辑</span> -->
</template>
</right-content>
<el-dialog
title="角色管理"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-checkbox v-model="checkAll" @change="handleCheckAllChange"
>全选</el-checkbox
>
<el-tree
:data="treeData"
show-checkbox
node-key="id"
ref="tree"
highlight-current
:props="defaultProps"
:default-checked-keys="selec"
@check-change="handleCheckChange"
>
<el-dialog title="角色管理"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose">
<el-checkbox v-model="checkAll"
@change="handleCheckAllChange">全选</el-checkbox>
<el-tree :data="treeData"
show-checkbox
node-key="id"
ref="tree"
highlight-current
:props="defaultProps"
:default-checked-keys="selec"
@check-change="handleCheckChange">
</el-tree>
<span slot="footer" class="dialog-footer">
<span slot="footer"
class="dialog-footer">
<el-button @click="qx">取 消</el-button>
<el-button type="primary" @click="submitRole">确 定</el-button>
<el-button type="primary"
@click="submitRole">确 定</el-button>
</span>
</el-dialog>
<el-dialog title="修改密码" :visible.sync="dialogVisibleMzxg" width="30%">
<el-dialog title="修改密码"
:visible.sync="dialogVisibleMzxg"
width="30%">
<div class="name">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="请输入旧密码: " v-if="!hasPermission">
<el-input
placeholder="请输入旧密码"
v-model="form.oldPassword"
></el-input>
<el-form ref="form"
:model="form"
label-width="80px">
<el-form-item label="请输入旧密码: "
v-if="!hasPermission">
<el-input placeholder="请输入旧密码"
v-model="form.oldPassword"></el-input>
</el-form-item>
<el-form-item label="请输入新密码: ">
<el-input
placeholder="请输入新密码"
show-password
v-model="form.newPassword"
></el-input>
<el-input placeholder="请输入新密码"
show-password
v-model="form.newPassword"></el-input>
</el-form-item>
<el-form-item label="请确定新密码: ">
<el-input
placeholder="请确定新密码"
show-password
v-model="form.newPassword1"
></el-input>
<el-input placeholder="请确定新密码"
show-password
v-model="form.newPassword1"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<span slot="footer"
class="dialog-footer">
<el-button @click="dialogVisibleMzxg = false">取 消</el-button>
<el-button type="primary" @click="submitMaa">确 定</el-button>
<el-button type="primary"
@click="submitMaa">确 定</el-button>
</span>
</el-dialog>
</div>
......@@ -96,7 +91,7 @@ export default {
components: {
rightContent,
},
data() {
data () {
return {
form: {
id: "",
......@@ -306,16 +301,16 @@ export default {
checkAll: false,
identitycard: "",
selec: [],
tableData:[],
tableDataLength:0,
tableData: [],
tableDataLength: 0,
};
},
created() {
created () {
this.$store.commit("user/SET_Menu", this.Menu);
this.$store.commit("user/SET_LeftMenu", this.leftMenus);
this.$store.commit("user/SET_Header", this.header);
this.identitycard = JSON.parse(
localStorage.getItem("userInfo")
sessionStorage.getItem("userInfo")
).identitycard;
const roles = this.$store.getters && this.$store.getters.roles;
const permissionRoles = ["F0101", "admin", "A0000"];
......@@ -323,9 +318,9 @@ export default {
return permissionRoles.includes(role);
});
},
mounted() {},
mounted () { },
methods: {
doQuery(obj) {
doQuery (obj) {
const self = this
selectUserNewList({
...self.cxFormData,
......@@ -337,13 +332,13 @@ export default {
self.$refs.rightContent.closeLoading()
});
},
qx() {
qx () {
this.dialogVisible = false;
this.selec = [];
this.$refs.tree.setCheckedKeys([]);
this.checkAll = false;
},
getThead() {
getThead () {
if (this.isPremission >= 0 || this.isAdmin) {
let obj = {
label: "用户状态",
......@@ -352,11 +347,11 @@ export default {
this.cxDefaultFormThead.push(obj);
}
},
editMa(scope) {
editMa (scope) {
this.$set(this.form, "id", scope.row.id);
this.dialogVisibleMzxg = true;
},
submitMaa() {
submitMaa () {
if (this.form.newPassword == this.form.newPassword1) {
updateUserMm(this.form).then((res) => {
if (res.code == 200) {
......@@ -372,7 +367,7 @@ export default {
this.form.newPassword1 = "";
}
},
handleSwitch(obj) {
handleSwitch (obj) {
this.$confirm("是否修改用户状态", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -394,7 +389,7 @@ export default {
});
});
},
submitRole() {
submitRole () {
let userIds = "";
this.selectedId.forEach((item) => {
userIds = item.id;
......@@ -422,7 +417,7 @@ export default {
this.$message.error("请选择用户权限");
}
},
editRole() {
editRole () {
if (this.selectedId.length > 0) {
this.dialogVisible = true;
this.selec = this.selectedId[0].userRolesIds;
......@@ -430,12 +425,12 @@ export default {
this.$message.error("请选择用户");
}
},
getTree() {
getTree () {
tree().then((res) => {
this.treeData = res.data.rows;
});
},
selectionChange(val) {
selectionChange (val) {
debugger;
this.selectedId = val;
this.checkAll = false;
......@@ -450,7 +445,7 @@ export default {
this.$refs.tree.setCheckedKeys([]);
});
},
handleCheckChange(data, checked) {
handleCheckChange (data, checked) {
debugger;
if (checked === true) {
if (data.hasChildren) {
......@@ -466,7 +461,7 @@ export default {
this.selec.splice(indexs, 1);
}
},
handleChildren(data) {
handleChildren (data) {
debugger;
data.forEach((item) => {
if (item.hasChildren) {
......@@ -476,13 +471,13 @@ export default {
}
});
},
handleClose() {
handleClose () {
this.dialogVisible = false;
},
add() {
add () {
this.$router.pushToTab("addUser");
},
toInfor(obj) {
toInfor (obj) {
this.$router.pushToTab({
path: "/userDetail",
query: {
......@@ -490,7 +485,7 @@ export default {
},
});
},
dele(obj) {
dele (obj) {
this.$confirm("此操作将永久删除该用户, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -517,7 +512,7 @@ export default {
});
},
//全选
handleCheckAllChange(val) {
handleCheckAllChange (val) {
if (this.checkAll) {
this.$refs.tree.setCheckedNodes(this.treeData);
} else {
......@@ -525,7 +520,7 @@ export default {
this.selec = [];
}
},
getTreeCode(children) {
getTreeCode (children) {
children.forEach((item) => {
if (item.hasChildren) {
item.label = item.title;
......
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