Commit e21383d7 by yuhao

修改

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