Commit 3fc4c26f by 张超军

111

parents 4b52f25c da212cc2
<?xml version="1.0" encoding="UTF-8"?>
<svg width="78px" height="77px" viewBox="0 0 78 77" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 64 (93537) - https://sketch.com -->
<title>编组 9备份</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="FPTX导入-导入成功" transform="translate(-921.000000, -305.000000)">
<g id="编组-63" transform="translate(720.000000, 260.000000)">
<g id="编组-5">
<g id="编组-9备份" transform="translate(186.000000, 30.000000)">
<g id="编组-8备份-3" stroke="#006AFF" stroke-width="4">
<g id="步骤条/圆形/45">
<circle id="椭圆形" transform="translate(54.000000, 53.804398) rotate(-315.000000) translate(-54.000000, -53.804398) " cx="54" cy="53.8043978" r="36.0454545"></circle>
</g>
</g>
<path d="M49.393164,63.3595796 L40.8636706,54.9089522 C40.4037787,54.4533127 40.4003316,53.7111278 40.8559711,53.251236 C40.8660091,53.2411043 40.8762312,53.2311567 40.8866323,53.221398 C41.3816423,52.7569624 42.1552575,52.7669633 42.6380961,53.2440402 L50.8514661,61.3593999 L50.8514661,61.3593999 L66.4086006,44.6980576 C66.8612171,44.2133155 67.6210965,44.1872725 68.1058387,44.6398891 C68.1111095,44.6448106 68.1163359,44.6497794 68.1215172,44.6547951 C68.6087331,45.1264345 68.6269449,45.9019003 68.1624067,46.3958916 L52.257775,63.3089247 C51.5010831,64.1135931 50.2353505,64.1524858 49.4306821,63.3957939 C49.4180193,63.383886 49.4055122,63.3718136 49.393164,63.3595796 Z" id="Rectangle-34备份" fill="#006AFF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
...@@ -69,10 +69,30 @@ export default [ ...@@ -69,10 +69,30 @@ export default [
name: "drFPTX", name: "drFPTX",
hidden: false, hidden: false,
meta: { meta: {
title: "导入FPTX", title: "FPTX导入",
auth: "5" auth: "5"
}, },
component: () => import("@/views/drFPTX/Index.vue") component: () => import("@/views/drFPTX/Index.vue")
},
{
path: "/RAList",
name: "RAList",
hidden: true,
meta: {
title: "FPTX导入",
auth: "5"
},
component: () => import("@/views/drFPTX/RAList.vue")
},
{
path: "/BDList",
name: "BDList",
hidden: true,
meta: {
title: "FPTX导入",
auth: "5"
},
component: () => import("@/views/drFPTX/BDList.vue")
} }
] ]
}, },
......
<template>
<el-dialog
title="新增案件"
:visible.sync="dialogVisible"
width="958px"
append-to-body
:before-close="handleClose"
>
<el-form
:label-position="labelPosition"
label-width="120px"
:model="ruleForm"
:rules="rules"
ref="ruleForm"
hide-required-asterisk
>
<el-form-item label="源条码号:">
<el-input></el-input>
</el-form-item>
<el-form-item
label="新数据条码号:"
prop='barcode'
>
<el-input
placeholder="请增加条码号"
maxlength='23'
show-word-limit
></el-input>
</el-form-item>
</el-form>
<span
slot="footer"
class="dialog-footer"
>
<el-button @click="updata('ruleForm')">确 定</el-button>
<el-button
@click="resetForm('ruleForm')"
type="primary"
>取 消</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
name: "xzaj",
props: {
isShowXzaj: {
type: [Number, String, Boolean],
default: false
}
},
data () {
return {
title: "",
labelPosition: 'left', // 标签对齐方式
dialogVisible: false, // 弹窗状态
ruleForm: {
barcode: '', // 增加条码号
},
reqParam: { // 请求参数
},
rules: {
barcode: [
{ required: true, message: '请输入', trigger: 'blur' },
{ min: 19, max: 23, message: '根据部门要求必须19位或23位', trigger: 'blur' }
]
}
};
},
mounted () {
this.dialogVisible = this.isShowXzaj;
},
watch: {
isShowXzaj (newVal, oldVal) {
this.dialogVisible = newVal;
},
dialogVisible (val) {
console.log(this.dialogVisible, 123)
this.$emit('closeXzaj', this.dialogVisible);
}
},
methods: {
updata (formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
// alert('submit!');
let reqUrl = '';
if (this.type == 'ry') {
reqUrl = '/api/personstore/copy'
Object.assign(this.reqParam, this.rowData);
delete this.reqParam.pid;
this.reqParam.barcode = this.ruleForm.barcode;
console.log(this.reqParam, '人员复制数据')
} else if (this.type == 'aj') {
reqUrl = '/api/casestore/copyBarcode'
let caseBase = {}
Object.assign(caseBase, this.rowData);
delete caseBase.cid;
caseBase.barcode = this.ruleForm.barcode
this.reqParam.caseBase = caseBase
console.log(this.reqParam, '案件复制数据')
}
this.$axios
.put(reqUrl, this.reqParam)
.then(response => {
if (response.data.code === 0) {
this.$message.success("复制成功");
this.barcode = '';
this.dialogVisible = false;
} else {
this.$message.error("复制失败");
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
handleClose (done) {
this.resetForm('ruleForm');
this.dialogVisible = false;
},
resetForm (formName) {
this.$refs[formName].resetFields();
this.dialogVisible = false;
}
}
};
</script>
<style lang="scss" scoped>
/deep/.el-dialog {
border-radius: 6px;
font-family: MicrosoftYaHei;
}
/deep/.el-dialog__header {
border-bottom: 1px solid #eee;
padding: 15px 20px 8px;
}
/deep/.el-dialog__title {
font-size: 16px;
}
/deep/.el-button--primary {
border-color: #055fe7;
background: #055fe7;
}
/deep/.el-button + .el-button {
margin-left: 24px;
}
/deep/.el-dialog {
border-radius: 6px;
}
/deep/.el-dialog__footer {
text-align: center;
}
/deep/.el-input__prefix,
/deep/.el-input__suffix {
top: 30px;
right: -4px;
}
</style>
\ No newline at end of file
...@@ -70,6 +70,10 @@ ...@@ -70,6 +70,10 @@
>删除</div> >删除</div>
<div <div
class="btn send" class="btn send"
@click="isShowXzajBtn"
>新增案件</div>
<div
class="btn send"
@click="isShowFcxBtn" @click="isShowFcxBtn"
>发查询</div> >发查询</div>
</div> </div>
...@@ -372,6 +376,12 @@ ...@@ -372,6 +376,12 @@
@closeFcx="closeFcx" @closeFcx="closeFcx"
> >
</fcx> </fcx>
<!-- 发查询弹窗 -->
<xzaj
:isShowXzaj="isShowXzaj"
@closeXzaj="closeXzaj"
>
</xzaj>
</div> </div>
</el-container> </el-container>
...@@ -384,6 +394,7 @@ import fztm from "./modules/fztm.vue" // 复制数据弹窗 ...@@ -384,6 +394,7 @@ import fztm from "./modules/fztm.vue" // 复制数据弹窗
import dcftpx from "./modules/dcftpx.vue" //导出FTPX弹窗 import dcftpx from "./modules/dcftpx.vue" //导出FTPX弹窗
import ggrytm from "./modules/ggrytm.vue"// 更改人员条码弹窗 import ggrytm from "./modules/ggrytm.vue"// 更改人员条码弹窗
import fcx from "./modules/fcx.vue" // 发查询弹窗 import fcx from "./modules/fcx.vue" // 发查询弹窗
import xzaj from "./modules/xzaj.vue"// 新增案件
export default { export default {
name: "AllPersonnelBase", name: "AllPersonnelBase",
components: { components: {
...@@ -392,7 +403,8 @@ export default { ...@@ -392,7 +403,8 @@ export default {
fztm, fztm,
dcftpx, dcftpx,
ggrytm, ggrytm,
fcx fcx,
xzaj
}, },
data () { data () {
return { return {
...@@ -401,6 +413,7 @@ export default { ...@@ -401,6 +413,7 @@ export default {
isShowGgrytm: false,// 更改条码 isShowGgrytm: false,// 更改条码
isShowFztm: false, //复制条码 isShowFztm: false, //复制条码
isShowFcx: false, //发查询 isShowFcx: false, //发查询
isShowXzaj: false, // 新增案件
type: 'aj', // 人员还是案件 type: 'aj', // 人员还是案件
reqParam: { reqParam: {
caseStoreCustomSearchReq: { caseStoreCustomSearchReq: {
...@@ -659,6 +672,15 @@ export default { ...@@ -659,6 +672,15 @@ export default {
this.isShowFcx = val this.isShowFcx = val
this.search() this.search()
}, },
// 新增案件操作
isShowXzajBtn () {
this.isShowXzaj = true;
},
closeXzaj (val) {
console.log('新增案件关闭', val)
this.isShowXzaj = val
this.search()
},
/** /**
* @description: 是否是批量操作 * @description: 是否是批量操作
* @param {*} * @param {*}
......
<template>
<div class="confirm_base">
<div class="confirm_main">
<div class="confirm_main_search margin0 width100">
<div class="display_style">
<el-button
type="info"
@click="batch"
>批量操作</el-button>
</div>
<div class="display_style confirm_main_button">
<!-- 复制条码号 起 -->
<el-button
type="info"
v-clipboard:copy="barcode"
@click="getBarcode"
v-clipboard:success="onCopy"
v-clipboard:error="onError"
>
复制条码
</el-button>
<!-- 复制条码号 止 -->
<el-button>发查询</el-button>
</div>
</div>
<el-tag
style="width:100%;color:#666666;margin-top:16px;"
v-show="isShowTip"
>
<i
class="el-icon-info"
style="color:#055FE7;font-size:15px"
></i>
已选择
<span style="color:#055FE7">{{ selectionData.length }}</span> 项​
<span v-html="'&nbsp;&nbsp;'"></span>
​服务调用总计:<span v-html="'&nbsp;&nbsp;'"></span>36.4万
<el-link
type="primary"
:underline="false"
style="margin-left:20px;"
@click="toggleSelection()"
>清除</el-link>
</el-tag>
<div class="confirm_main_table">
<el-table
class="mineral-table"
border
@selection-change="handleSelectionChange"
height="450"
ref="confirmTable"
tooltip-effect="dark"
:data="list"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
row-key="queryId"
@row-click="confirm"
@expand-change="hadnlExpandChange"
>
<el-table-column
type="selection"
height
width="auto"
v-if="isSelected"
></el-table-column>
<el-table-column
prop=""
label="任务号/查询号"
width="155"
>
<template slot-scope="scope">
<svg-icon
style="width: 14px;height: 11px;margin-bottom: 2px ;margin-left: 5px ;"
v-if="scope.row.children || scope.row.children === null"
icon-class="tree_f"
>
</svg-icon>
<svg-icon
style="width: 13px;height: 6px;margin: 0 0 3px 0 ;"
v-else-if="!scope.row.children || scope.row.children !== null"
icon-class="tree_c"
></svg-icon>
{{
scope.row.children || scope.row.children === null
? scope.row.qid
: scope.row.qqid
}}
<div
v-show="scope.row.children && scope.row.children !== null"
class="children-count"
>
{{ scope.row.children ? scope.row.children.length : 0 }}
</div>
</template>
</el-table-column>
<el-table-column
v-for="(item, index) in tableProps"
show-overflow-tooltip
:key="index"
:label="item.colume"
:prop="item.prop"
:width="item.width"
>
<template slot-scope="scope">
<template v-if="item.prop === 'querytype'">
<div
v-if="scope.row.querytype === '3'"
style="color: #FFA219"
>
{{ scope.row.queryTypeName }}
</div>
<div
v-else-if="scope.row.querytype === '0'"
style="color: #005FE7"
>
{{ scope.row.queryTypeName }}
</div>
<div
v-else-if="scope.row.querytype === '1'"
style="color:#E60012 "
>
{{ scope.row.queryTypeName }}
</div>
<div
v-else-if="scope.row.querytype === '2'"
style="color:#08BD9E"
>
{{ scope.row.queryTypeName }}
</div>
<div v-else>
{{ scope.row.queryTypeName }}
</div>
</template>
<template v-else-if="item.prop === 'barcode'">
<div>
{{ scope.row.barcode }}
<div v-if="scope.row.querylog && scope.row.querylog === '1'">
<el-tooltip
effect="dark"
placement="right"
>
<div slot="content">
历史信息1<br />历史信息2<br />历史信息3<br />历史信息4<br />历史信息5<br />{{
scope.row.querylog
}}
</div>
<img
class="history"
:src="historyUrl"
/>
</el-tooltip>
</div>
</div>
</template>
<template v-else-if="item.prop === 'queryclass'">
{{
scope.row.queryclass === "5"
? "最低"
: scope.row.queryclass === "4"
? "低"
: scope.row.queryclass === "3"
? "中"
: scope.row.queryclass === "2"
? "高"
: scope.row.queryclass === "1"
? "最高"
: ""
}}
</template>
<template v-else>
{{ dataFormat(scope.row, item.prop) }}</template>
</template>
</el-table-column>
<el-table-column
width="auto"
label="操作"
>
<template slot-scope="scope">
<div
class="img"
@click="edit(scope.row)"
type="text"
style="font-size:24px"
v-if="scope.row.barcode"
>
<i>
<img
style="width:16px;height:16px;cursor: pointer;
"
:src="editUrl"
alt
/>
</i>
</div>
<div
v-if="scope.row.barcode"
class="img"
@click.stop="delOne(scope.row.qqid)"
type="text"
style="font-size:24px"
>
<i>
<img
style="width:12px;height:14px;cursor: pointer;
"
:src="delUrl"
alt
/>
</i>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="footer">
<span class="count">共{{ reqParam.page.total }} 条记录 第{{ reqParam.page.currPage }}/{{
Tpage
}}页</span>
<div class="page">
<el-pagination
class="paging"
background
@size-change="handleSizeChange"
@current-change="handleCurrPageChange"
:current-page="reqParam.page.currPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="reqParam.page.pageSize"
layout="prev, pager, next"
:total="reqParam.page.total"
>
</el-pagination>
</div>
</div>
<el-dialog
:visible.sync="historyDialogVisible"
style="z-index: 1500"
>
</el-dialog>
</div>
</template>
<script>
import "@/icons/tree_f.svg";
import "@/icons/tree_c.svg";
import moment from "moment";
import SvgIcon from "../../components/SvgIcon/index.vue";
import "@/icons/tree_f.svg";
import "@/icons/tree_c.svg";
export default {
name: "QueryConfirm",
components: { SvgIcon },
data () {
return {
isShowTip: false, //批量操作提示
// selectionData: [], // 表单选择项目
reqParam: {
page: {
total: 0,
pageSize: 10,
currPage: 1
},
contrastCustomSearchReq: {
barcode: "",
qqid: null,
qid: null,
sendTimeStart: null,
sendTimeEnd: null,
userid: null,
querytypes: [],
querystates: [],
remoteflags: [],
queryclasss: []
}
},
list: [],
currentPage: 5,
startEndDate: null,
account: "00000000",
number: 15,
tableData: datas1,
queryClassList: setQueryClass,
userOption: [],
// userOption:users,
delUrl: require("../../assets/img/confirm/del.png"),
editUrl: require("../../assets/img/confirm/edit.png"),
historyUrl: require("../../assets/img/confirm/history2x.png"),
selectionData: [],
barcode: null,
// 是否批量操作
isSelected: false,
delLabels: [],
// 自定义展示列table数据
key: 1,
tableProps: content,
checkedProps: [
"barcode",
"maxcandidatecnt",
"querytype",
"queryStateName",
"hitpossibility",
"queryclass",
"affirmtime",
"requestdatetime",
"userdesc"
],
defaultTableProps: content,
expanded: false, // 展开标志
historyDialogVisible: false
};
},
watch: {
// 批量处理
checkedProps (val) {
this.tableProps = this.defaultTableProps.filter(
i => val.indexOf(i.prop) >= 0
);
//挑选被选中的对象
this.key = this.key + 1; //为了保证table 每次都会重渲,这样做体验感更好,如果不为table设置key值的话,用户一旦选中了复选框选项,就是在原来table基础上添加删除每一列,页面就有跳动的感觉,体验感不好
}
},
computed: {
// 计算总页数
Tpage () {
return (
Math.floor(this.reqParam.page.total / this.reqParam.page.pageSize) + 1
);
}
},
methods: {
// 获取认定列表
search () {
this.getParam();
// console.info("请求===>", this.reqParam.contrastCustomSearchReq);
this.$axios
.post("/api/queryque/standardQid", this.reqParam)
.then(response => {
if (response.data.code === 0) {
this.list = response.data.ret.list;
this.reqParam.page.total = response.data.ret.total;
console.info("查询结果===>", this.list);
this.userInfo = this.getUserInfo(this.list);
} else {
this.$message.error(response.data.message);
}
// console.info(JSON.stringify(this.list));
});
},
// 多条件查询 获取查询条件
getQueryType (data, type) {
let { name, value } = data;
let list = this.reqParam.contrastCustomSearchReq[type];
if (list.includes(value)) {
list = list.filter(item => item !== value);
this.dynamicTags = this.dynamicTags.filter(
item => item.value !== value
);
} else {
list.push(value);
this.dynamicTags.push(data);
}
this.reqParam.contrastCustomSearchReq[type] = JSON.parse(
JSON.stringify(list)
);
this.search();
},
// 多选删除
delMore () {
// 检查table选择的数据 如果没有选择则不可以删除
if (this.selectionData.length === 0) {
this.$message.error("请选择需要删除的数据!");
return;
}
// 封装删除的qqid为数组
let qqid = [];
for (let i = 0; i < this.selectionData.length; i++) {
qqid.push(this.selectionData[i].qqid);
}
this.doDelete(qqid);
},
// 单选删除
delOne (val) {
// 将传入的qqid转为数组
let qqid = [];
qqid.push(val);
// console.info("删除接口里的qqid:", qqid);
this.doDelete(qqid);
},
// 请求删除接口
doDelete (qqid) {
// 删除确认提示
this.$confirm("是否确定删除已选择的数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.$axios
.post("/api/queryque/delete", { qqid: qqid })
.then(response => {
if (response.data.code === 0) {
this.$message.success("删除成功");
this.search();
} else {
this.$message.error("删除失败");
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除"
});
});
},
// 认定
confirm (row) {
// tt 查重 0
if (row.querytype === "0") {
console.log(row);
// console.info("查重", row.querytype, row);
if (row.children) {
let routeUrl = this.$router.resolve({
path: "/confirm/TT",
query: {
qqid: row.qqid,
qid: row.qid,
barcode: row.barcode,
type: "father"
}
});
window.open(routeUrl.href, "_blank");
} else {
let routeUrl = this.$router.resolve({
path: "/confirm/TT",
query: {
qqid: row.qqid,
qid: row.qid,
barcode: row.barcode,
type: "son"
}
});
window.open(routeUrl.href, "_blank");
}
} // tl 倒查 1
else if (row.querytype === "1") {
// console.info("倒查", row.querytype);
// this.$router.push({ path: "/confirm/TL", query: { rowData: row } });
// console.log(row);
if (row.children) {
// 父级
let routeUrl = this.$router.resolve({
path: "/confirm/TL",
query: { qid: row.qid, qqid: row.qqid, type: "father" }
});
window.open(routeUrl.href, "_blank");
} else {
// 子级
let routeUrl = this.$router.resolve({
path: "/confirm/TL",
query: { qid: row.qid, qqid: row.qqid, type: "son" }
});
window.open(routeUrl.href, "_blank");
}
}
// ll 串查 3 lt 正查 2
else {
// console.info("串查/正查", row.querytype, row);
// 打开新页面
if (row.children) {
let routeUrl = this.$router.resolve({
path: "/confirm/LT",
query: { qid: row.qid, qqid: row.qqid, type: "father" }
});
window.open(routeUrl.href, "_blank");
} else {
let routeUrl = this.$router.resolve({
path: "/confirm/LT",
query: { qid: row.qid, qqid: row.qqid, type: "son" }
});
window.open(routeUrl.href, "_blank");
}
}
},
// 编辑
edit () { },
// 展开或关闭行
hadnlExpandChange (row, expanded) {
// 获取展开标志
this.expanded = expanded;
// 获取下标
var i = this.list.findIndex(table => table.queryId === row.queryId);
// var i = this.tableData.findIndex(table => table.id === row.id);
// console.log(i);
if (expanded) {
this.list[i] = {
qid: row.qid,
children: row.children,
queryId: row.queryId
};
this.$forceUpdate();
// console.info("展开时row数据", this.list[i]);
// this.$set(this.tableData[i], "barcode", "");
// 保证临时变量中存在下标属性,方便后续折叠时取值
//row.index = i;
// // push到临时数组中
// this.arr.push(row);
// 清空表格数据
// var obj = {
// qid: row.qid,
// children: row.children,
// queryId: row.queryId
// };
// this.list[i] = obj;
} else {
console.info("折叠时row数据", this.list[i]);
this.list[i] = {
qid: row.qid,
children: row.children,
queryId: row.queryId,
barcode: row.children[0].barcode,
maxcandidatecnt: row.children[0].maxcandidatecnt,
querytype: row.children[0].querytype,
queryStateName: row.children[0].queryStateName,
hitpossibility: row.children[0].hitpossibility,
queryclass: row.children[0].queryclass,
affirmtime: row.children[0].affirmtime,
requestdatetime: row.children[0].requestdatetime,
userdesc: row.children[0].userdesc,
queryTypeName: row.children[0].queryTypeName
};
console.log(this.list[i]);
this.$forceUpdate();
// console.info("塞完数据的row", this.list[i]);
}
},
// table表格选中获取数据
handleSelectionChange (val) {
this.selectionData = val;
console.log(this.selectionData);
if (this.selectionData.length) {
this.isShowTip = true;
} else {
this.isShowTip = false;
}
},
// 复制条码号 获取选中条码值
getBarcode () {
let self = this;
this.barcode = [];
// if (this.selectionData.length === 0) {
// this.$message.error("请选择需要复制条码号的数据!");
// } else if (this.selectionData.length === 1) {
// this.barcode = this.selectionData[0].barcode;
// } else {
// this.$message.error("只能复制单条数据的条码号!");
// }
if (this.selectionData.length === 0) {
this.$message.error("请选择需要复制条码号的数据!");
} else {
console.log(this.selectionData);
self.selectionData.forEach(item => {
self.barcode.push(item.barcode);
});
this.barcode = this.barcode.join(",");
}
},
// 复制成功时的回调函数
onCopy (e) {
console.info(this.barcode);
this.$message({
type: "success",
// message: "复制条码号:" + this.barcode + "成功!"
message: "已复制到剪切板"
});
},
// 复制失败时的回调函数
onError (e) {
this.$message.error("抱歉,复制条码号失败!");
},
// 自定义展示列 多选框
changeCheckbox () {
// console.info("默认", this.defaultTableProps);
// console.info("table", this.tableProps);
// console.info("选中", this.checkedProps);
},
// 当期页发生变化
handleCurrPageChange: function (val) {
this.reqParam.page.currPage = val;
this.search();
},
// 每页展示数量发生变化
handleSizeChange: function (val) {
this.reqParam.page.pageSize = val;
this.search();
},
// 标签关闭 isTag:是否为标签点击
handleClose (tag) {
let { type, value } = tag;
this.dynamicTags = this.dynamicTags.filter(item => item.value !== value);
this.reqParam.contrastCustomSearchReq[
type
] = this.reqParam.contrastCustomSearchReq[type].filter(
item => item !== value
);
this.search();
},
// 标签生成
tagClick (name) {
if (this.dynamicTags.indexOf(name) === -1) {
this.dynamicTags.push(name);
} else {
this.$message.error("该筛选条件已存在!请重新选择!");
}
},
// 全部状态
allQueryType () {
let newdynamicTags = [];
this.dynamicTags.forEach((item, index) => {
if (item.type !== "querystates") {
newdynamicTags.push(item);
// this.dynamicTags.splice(index, 1);
}
});
this.dynamicTags = newdynamicTags;
this.reqParam.contrastCustomSearchReq.querytypes = [];
this.search();
},
showHistory () {
this.historyDialogVisible = true;
},
// 全部数据
clearAll () {
this.dynamicTags = [];
this.clearParams();
this.search();
},
// 清空筛选条件
clearParams () {
// this.remoteFlag = null;
this.startEndDate = null;
this.reqParam.page.currPage = 1;
this.reqParam.page.pageSize = 10;
this.reqParam.page.total = 0;
this.reqParam.contrastCustomSearchReq.barcode = null;
this.reqParam.contrastCustomSearchReq.qqid = null;
this.reqParam.contrastCustomSearchReq.qid = null;
this.reqParam.contrastCustomSearchReq.sendTimeStart = null;
this.reqParam.contrastCustomSearchReq.sendTimeEnd = null;
this.reqParam.contrastCustomSearchReq.userid = null;
this.reqParam.contrastCustomSearchReq.querytypes = [];
this.reqParam.contrastCustomSearchReq.querystates = [];
this.reqParam.contrastCustomSearchReq.remoteflags = [];
this.reqParam.contrastCustomSearchReq.queryclasss = [];
this.search();
},
// // 初始化方法
// init() {
// this.tableProps = this.defaultTableProps;
// },
// 批量操作
batch () {
this.isSelected = !this.isSelected;
},
/**
* @description: 清除所有选项
* @param {*}
* @return {*}
*/
toggleSelection (rows) {
if (rows) {
rows.forEach(row => {
this.$refs.confirmTable.toggleRowSelection(row);
});
} else {
this.$refs.confirmTable.clearSelection();
}
console.log(this.selectionData);
}
},
mounted () {
this.search();
}
};
// 用户ID 下拉的数据
const users = [
{ userdesc: "张三", userid: 4567 },
{ userdesc: "李四", userid: 1111 },
{ userdesc: "赵6", userid: 3333 }
];
const content = [
// { colume: "任务号", prop: "aid", width: 100 },
// { colume: "查询号", prop: "qqid", width: 100 },
{ colume: "源条码号", prop: "barcode", width: 235 },
{ colume: "关系序号", prop: "maxcandidatecnt", width: 300 },
{ colume: "查询类型", prop: "querytype", width: 100 },
{ colume: "人员编号/案事件编号", prop: "queryStateName", width: 300 },
{ colume: "逻辑分库", prop: "hitpossibility", width: 150 },
{ colume: "状态", prop: "queryclass", width: 150 },
];
// 数据
const datas1 = [
{
qid: 21,
id: 5,
pid: 4791,
barcode: "R1100002487002018050033",
srcdbid: "PFP",
querytype: "3",
destdbid: "PFP",
requestdatetime: "2021-09-13T23:33:19.000+0000",
finisheddatetime: null,
querystate: 21,
querymethod: null,
maxcandidatecnt: 54,
curcandidatenum: null,
userid: 4567,
hitpossibility: "54",
queryclass: "3",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 485,
affirmtime: null,
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "正在复核",
queryTypeName: "串案",
children: [
{
qid: 21,
id: 51,
pid: 4791,
barcode: "R1100002487002018050033",
srcdbid: "PFP",
querytype: "3",
destdbid: "PFP",
requestdatetime: "2021-09-13T23:33:19.000+0000",
finisheddatetime: null,
querystate: 21,
querymethod: null,
maxcandidatecnt: 54,
curcandidatenum: null,
userid: 4567,
hitpossibility: "54",
queryclass: "3",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 485,
affirmtime: null,
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "正在复核",
queryTypeName: "串案",
private: "0"
},
{
qid: 21,
id: 52,
pid: 4773,
barcode: "R1100002487002018050015",
srcdbid: "PFP",
querytype: "1",
destdbid: "PFP",
requestdatetime: "2021-09-13T23:33:19.000+0000",
finisheddatetime: null,
querystate: 19,
querymethod: null,
maxcandidatecnt: 68,
curcandidatenum: null,
userid: 4567,
hitpossibility: "68",
queryclass: "1",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 467,
affirmtime: "2021-09-14T07:32:24.000+0000",
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "认定出错",
queryTypeName: "倒查",
private: "0"
},
{
qid: 21,
id: 53,
pid: 4769,
barcode: "R1100002487002018050011",
srcdbid: "PFP",
querytype: "1",
destdbid: "PFP",
requestdatetime: "2021-09-01T23:33:19.000+0000",
finisheddatetime: null,
querystate: 29,
querymethod: null,
maxcandidatecnt: 54,
curcandidatenum: null,
userid: 4567,
hitpossibility: "54",
queryclass: "1",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 463,
affirmtime: null,
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "复核出错",
queryTypeName: "倒查",
private: "0"
}
]
},
{
qid: 23,
id: 4,
pid: 4780,
barcode: "R1100002487002018050022",
srcdbid: "PFP",
querytype: "0",
destdbid: "PFP",
requestdatetime: "2021-09-13T23:33:19.000+0000",
finisheddatetime: null,
querystate: 21,
querymethod: null,
maxcandidatecnt: 54,
curcandidatenum: null,
userid: 4567,
hitpossibility: "54",
queryclass: "4",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 474,
affirmtime: null,
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "正在复核",
queryTypeName: "查重",
children: null,
private: "0"
},
{
qid: 8,
id: 999,
pid: 4785,
barcode: "R1100002487002018050037",
srcdbid: "PFP",
querytype: "1",
destdbid: "PFP",
requestdatetime: "2021-09-13T23:33:19.000+0000",
finisheddatetime: null,
querystate: 29,
querymethod: null,
maxcandidatecnt: 65,
curcandidatenum: null,
userid: 4567,
hitpossibility: "65",
queryclass: "1",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 479,
affirmtime: null,
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "复核出错",
queryTypeName: "倒查",
// children: null,
children: [
{
qid: 21,
id: 9991,
pid: 4769,
barcode: "R1100002487002018050011",
srcdbid: "PFP",
querytype: "1",
destdbid: "PFP",
requestdatetime: "2021-09-01T23:33:19.000+0000",
finisheddatetime: null,
querystate: 29,
querymethod: null,
maxcandidatecnt: 54,
curcandidatenum: null,
userid: 4567,
hitpossibility: "54",
queryclass: "1",
multiresult: null,
remoteflag: 0,
srcdatatype: "1,2",
destdatatype: "1,2",
seqno: "0",
srcsourceid: null,
destsourceid: "0",
qqid: 463,
affirmtime: null,
ifsend: "0",
querycfg:
"PD94bWwgdmVyc2lvbj0iMS4wIj8+PFRFWFQ+PSM1NCokISMxMT8kPC9URVhUPjxMT0dJQ1BTTj4wMDAwMDAwMDAwMDAwMTExPC9MT0dJQ1BTTj4=",
userdesc: "张三",
useraccount: "11",
queryCfgStr:
'<?xml version="1.0"?><TEXT>=#54*$!#11?$</TEXT><LOGICPSN>0000000000000111</LOGICPSN>',
queryStateName: "复核出错",
queryTypeName: "倒查",
private: "0"
}
],
private: "0"
}
];
const setQueryClass = [
{ queryclass: "1", name: "最高" },
{ queryclass: "2", name: "高" },
{ queryclass: "3", name: "中" },
{ queryclass: "4", name: "低" },
{ queryclass: "5", name: "最低" }
];
</script>
<style scoped lang="scss">
/deep/.el-pager {
.number {
background-color: transparent;
}
.number.active {
background-color: #055fe7 !important;
box-shadow: 0px 12px 16px 1px rgba(0, 21, 51, 0.03);
border-radius: 6px;
}
.el-icon.more.btn-quicknext.el-icon-more,
.el-icon.more.btn-quickprev.el-icon-more {
background-color: transparent !important;
}
}
/deep/ .btn-prev,
/deep/ .btn-next {
background-color: transparent !important;
}
/deep/ .el-pagination__sizes {
position: absolute;
right: 0;
}
/deep/ .btn-next {
//margin-right: 120px !important;
}
.paging {
float: right;
}
.el-dropdown-menu {
width: 120px;
height: 288px;
padding: 0;
.el-checkbox-group {
.el-checkbox {
height: 32px;
width: 102px;
padding-left: 16px;
&:hover {
background: #f5f5f7;
}
}
}
}
</style>
<style scoped lang="scss">
div {
margin: 0;
padding: 0;
display: inline-block;
/*border: none;*/
}
hr {
background-color: #eeeeee;
height: 1px;
border: none;
margin: 16px 0 16px 0;
}
label {
width: 70px;
height: 22px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #999999;
line-height: 22px;
}
i {
height: 16px;
width: 16px;
margin: 0 9px 0 9px;
}
b {
width: 64px;
height: 24px;
font-size: 16px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
line-height: 24px;
}
.font {
width: 80px;
height: 16px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #666666;
line-height: 16px;
margin: 0 6px 0 8px;
cursor: pointer;
}
.history {
width: 12px;
height: 12px;
margin-left: 4px;
margin-bottom: 3px;
cursor: pointer;
}
.children-count {
width: 34px;
height: 21px;
font-size: 12px;
line-height: 21px;
text-align: center;
background: #f6f8fa;
border-radius: 11px;
position: absolute;
right: 10px;
}
/deep/.el-tag .el-icon-close::before {
margin-right: 8px;
display: block;
}
.el-icon-arrow-down {
color: #999999;
border: #999999 1px solid;
border-radius: 50%; /*边设置为圆形*/
font-size: 12px;
}
.el-button {
width: 96px;
height: 32px;
border-radius: 4px;
border: 1px solid #aeb5c2;
margin: 0;
padding: 0;
}
.el-button__inner {
width: 56px;
height: 16px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #2e3846;
line-height: 16px;
}
.el-tag {
width: 82px;
height: 24px;
background: #ddebff;
border-radius: 4px;
}
.confirm_base {
height: 100%;
background-color: #ffffff;
padding: 24px;
}
.display_style {
display: inline-block;
margin: 5px 24px 5px 0;
}
.display_style span {
height: 24px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #333333;
line-height: 20px;
margin: 0;
padding: 0;
}
.el_select {
width: 168px;
height: 32px;
background: #ffffff;
border-radius: 4px;
border: 1px solid #e6e6e8;
}
.el_data_picker {
width: 256px;
height: 32px;
background: #ffffff;
border-radius: 4px;
border: 1px solid #e6e6e8;
}
.el_input {
width: 168px;
height: 32px;
background: #ffffff;
border-radius: 4px;
border: 1px solid #e6e6e8;
}
.btn {
width: fit-content;
font-family: MicrosoftYaHei;
border: none;
height: 22px;
padding: 0;
margin: 0 12px 0 12px;
font-size: 14px;
font-weight: 350;
color: #333333;
cursor: pointer;
}
.btn:hover {
color: #055fe7;
}
.btn-active {
color: #055fe7;
}
.el-button--primary {
width: 96px;
height: 32px;
line-height: 22px;
padding: 0;
background: #055fe7;
border-radius: 4px;
}
.el-checkbox-button__inner {
width: 56px;
height: 22px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #ffffff;
line-height: 22px;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.el-button--info {
width: 96px;
height: 32px;
font-weight: 350;
color: #2e3846;
background: #ffffff;
border: 1px solid #aeb5c2;
border-radius: 4px;
margin: 0 8px 0 8px;
}
.el-button--info:hover {
border: 1px solid #055fe7;
color: #055fe7;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #055fe7 !important;
border: 1px solid #055fe7 !important;
}
/deep/.el-checkbox__inner:hover {
border-color: #055fe7;
/*background: #f5f5f7;*/
}
/deep/.el-checkbox__input + .el-checkbox__label {
color: #333333;
font-size: 14px;
}
/deep/.el-checkbox__input.is-focus .el-checkbox__inner {
border-color: #055fe7 !important;
}
.confirm_main_search {
width: 100%;
height: 34px;
}
.confirm_main_button {
position: absolute;
right: 48px;
}
.confirm_header_search {
width: 100%;
}
.confirm_main {
width: 100%;
height: 60px;
}
.confirm_main_table {
margin: 16px 0 15px 0;
padding: 0;
width: 100%;
height: 500px;
}
.footer {
width: 1544px;
//width: calc(100vw - 367px);
position: absolute;
bottom: 27px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>
<!--table树-->
<style scoped lang="scss">
.el-tree /deep/ .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
/*有子节点 且未展开*/
.el-table /deep/ .el-icon-arrow-right:before {
// background: url("../../icons/tree_f.svg") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*有子节点 且已展开*/
.el-table /deep/ .el-table__expand-icon--expanded {
.el-icon-arrow-right:before {
// background: url("../../icons/tree_c.svg") no-repeat 0 3px;
content: "";
display: block;
width: 15px;
height: 20px;
font-size: 18px;
background-size: 21px;
}
}
/*没有子节点*/
.el-tree
/deep/
.el-tree-node__expand-icon.is-leaf::before
.el-table
/deep/
.el-table__placeholder::before {
// background: url("../../icons/tree_f.svg") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 18px;
font-size: 16px;
background-size: 16px;
}
/deep/.el-table--enable-row-hover .el-table__body tr:hover {
cursor: pointer;
}
</style>
<style lang="scss">
.el-table__expand-icon {
position: absolute;
right: 45px;
cursor: pointer;
color: #b51f1f;
transition: transform 0.2s ease-in-out;
width: 11px;
height: 11px;
/* border: black 1px solid; */
margin: 0;
background-image: url("../../assets/img/confirm/expend.png");
background-position: center;
background-size: 11px;
background-repeat: no-repeat;
}
.el-table__expand-icon.el-table__expand-icon--expanded {
width: 11px;
height: 11px;
background-image: url("../../assets/img/confirm/shrink.png");
background-position: center;
background-size: 11px;
background-repeat: no-repeat;
transform: rotate(180deg) !important;
}
</style>
...@@ -20,7 +20,20 @@ ...@@ -20,7 +20,20 @@
<div class="text" @click="wjlx==3?uploadFile():uploadFiles()">选择</div> <div class="text" @click="wjlx==3?uploadFile():uploadFiles()">选择</div>
<!-- 上传 --> <!-- 上传 -->
<!-- style="display:none" --> <!-- style="display:none" -->
<el-upload class="upload-demo" ref="upload" :action='action' :on-preview="handlePreview" :on-remove="handleRemove" :on-success="uploadSuccess" :on-change='onChange' :file-list="fileList" :auto-upload="false" :before-upload="beforeUpload" :show-file-list="false"> <el-upload
class="upload-demo"
ref="upload"
:action='action'
:on-preview="handlePreview"
:on-remove="handleRemove"
:on-success="uploadSuccess"
:on-change='onChange'
:on-progress="uploadProcess"
:file-list="fileList"
:auto-upload="false"
:before-upload="beforeUpload"
:show-file-list="false"
>
</el-upload> </el-upload>
</div> </div>
</div> </div>
...@@ -131,72 +144,89 @@ ...@@ -131,72 +144,89 @@
</div> </div>
<div class="right"> <div class="right">
<!-- <div class='target'> <div class="head">
<div class="targetHead"> 人员逻辑分库
人员逻辑分库 <div></div>
</div> 案件逻辑分库
<div class="targetBody"> </div>
<div class="bottom">
<div class="targetLeft">
<el-checkbox <el-checkbox
:indeterminate="isIndeterminate" :indeterminate="isIndeterminateLeft"
v-model="checkAll" v-model="checkAllLeft"
@change="handleCheckAllChange" @change="handleCheckAllChangeLeft"
>全选</el-checkbox> >全选</el-checkbox>
<el-checkbox-group <el-checkbox-group
v-model="checkedTargets" v-model="checkedTargetsLeft"
@change="handleCheckedTargetsChange" @change="handleCheckedTargetsChangeLeft"
> >
<el-checkbox <el-checkbox
v-for="target in targets" v-for="target in targetsLeft"
:label="target" :label="target"
:key="target" :key="target"
>{{target}}</el-checkbox> >{{target}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</div> </div>
</div> <div class="line"></div>
<div class='target'> <div class="targetRight">
<div class="targetHead">
人员逻辑分库
</div>
<div class="targetBody">
<el-checkbox <el-checkbox
:indeterminate="isIndeterminate" :indeterminate="isIndeterminateRight"
v-model="checkAll" v-model="checkAllRight"
@change="handleCheckAllChange" @change="handleCheckAllChangeRight"
>全选</el-checkbox> >全选</el-checkbox>
<el-checkbox-group <el-checkbox-group
v-model="checkedTargets" v-model="checkedTargetsRight"
@change="handleCheckedTargetsChange" @change="handleCheckedTargetsChangeRight"
> >
<el-checkbox <el-checkbox
v-for="target in targets" v-for="target in targetsRight"
:label="target" :label="target"
:key="target" :key="target"
>{{target}}</el-checkbox> >{{target}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</div> </div>
</div> -->
<div class="head">
人员逻辑分库
<div></div>
案件逻辑分库
</div>
<div class="bottom">
<div class="targetLeft">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<el-checkbox-group v-model="checkedTargets" @change="handleCheckedTargetsChange">
<el-checkbox v-for="target in targets" :label="target" :key="target">{{target}}</el-checkbox>
</el-checkbox-group>
</div>
<div class="line"></div>
<div class="targetRight">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<el-checkbox-group v-model="checkedTargets" @change="handleCheckedTargetsChange">
<el-checkbox v-for="target in targets" :label="target" :key="target">{{target}}</el-checkbox>
</el-checkbox-group>
</div>
</div> </div>
</div> </div>
</div> </div>
<!-- 进度条弹窗 -->
<!-- <div
class
v-if="Flag == true"
>
</div> -->
<el-dialog
style=" margin-top:10vh"
:visible.sync="dialogVisible"
width="480px"
:modal-append-to-body="false"
>
<div v-if="showProgress">
<el-progress
type="circle"
:percentage="UploadPercent"
></el-progress>
<div style="margin-top:15px; margin-bottom:15px;font-size: 14px;font-family: MicrosoftYaHei;color: #909090;">正在解析指纹文件,点击“取消”可终止处理</div>
<el-button @click="abort">取 消</el-button>
</div>
<div v-else>
<div>
<img
style="width: 134px;height:134px"
src="../../assets/img/drFptx/success.svg"
alt=""
>
</div>
<div style="margin-top:15px; margin-bottom:15px;font-size: 14px;font-family: MicrosoftYaHei;color: #909090;">导出成功432条,失败34条</div>
<el-button
style="background: #055FE7;border-radius: 4px; border-color:#055FE7;"
type="primary"
@click="goList"
>查看详情</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -218,12 +248,17 @@ export default { ...@@ -218,12 +248,17 @@ export default {
return { return {
action: 'http://www.meetfood.cn:2390/api/upload/person', action: 'http://www.meetfood.cn:2390/api/upload/person',
fileList: [], fileList: [],
UploadPercent: null,
percentage: null,
dialogVisible: false, // 进度条弹窗
showProgress: true, // 进度条(正在导入)
drlx: 3, // 导入类型 drlx: 3, // 导入类型
wjlx: 3, // 文件类型 wjlx: 3, // 文件类型
file: {}, // 导入文件列表 file: {}, // 导入文件列表
fileName: '', // 导入文件名字 fileName: '', // 导入文件名字
fileContent: '', // 导入文件内容 fileContent: '', // 导入文件内容
// 人员/案件 导入逻辑库
checkAll: false, // 逻辑库全选 checkAll: false, // 逻辑库全选
checkedTargets: [], // 选定逻辑库 checkedTargets: [], // 选定逻辑库
targetHead: '人员逻辑分库',// 逻辑库标题 targetHead: '人员逻辑分库',// 逻辑库标题
...@@ -233,15 +268,19 @@ export default { ...@@ -233,15 +268,19 @@ export default {
// 表格 // 表格
selectArr: [], // 右边列表 selectArr: [], // 右边列表
buttonSize: 'large', buttonSize: 'large',
datas: [ datas: [],// 左边表格数据项
// {
// name: '王小虎',
// barcode: '上海市普陀区金沙江路 1518 弄',
// file: {}
// }
],
nowSelectData: [], // 左边选中列表数据 nowSelectData: [], // 左边选中列表数据
nowSelectRightData: [], // 右边选中列表数据 nowSelectRightData: [], // 右边选中列表数据
// 比中关系
checkAllLeft: false, // 逻辑库全选
checkedTargetsLeft: [], // 选定逻辑库
targetsLeft: targetOptions_ry, // 逻辑库列表
isIndeterminateLeft: false, // 逻辑库全选状态
checkAllRight: false, // 逻辑库全选
checkedTargetsRight: [], // 选定逻辑库
targetsRight: targetOptions_aj, // 逻辑库列表
isIndeterminateRight: false, // 逻辑库全选状态
}; };
}, },
watch: { watch: {
...@@ -255,7 +294,7 @@ export default { ...@@ -255,7 +294,7 @@ export default {
} else if (newValue == 6) { } else if (newValue == 6) {
this.targetHead = '案件逻辑分库' this.targetHead = '案件逻辑分库'
this.targets = targetOptions_aj this.targets = targetOptions_aj
this.action = 'http://192.168.128.109:8099/api/upload/case' this.action = 'http://www.meetfood.cn:2390/api/upload/case'
this.isIndeterminate = false this.isIndeterminate = false
this.checkAll = false this.checkAll = false
} else if (newValue == 9) { } else if (newValue == 9) {
...@@ -263,23 +302,49 @@ export default { ...@@ -263,23 +302,49 @@ export default {
} }
}, },
methods: { methods: {
// 导入成功,跳转详情
goList () {
if (this.drlx == 3 || this.drlx == 6) {
this.$router.push('/RAList')
}
},
// 取消上传
abort () {
this.nowSelectRightData = []
this.dialogVisible = false;
this.$refs.upload.abort()
this.$refs.upload.clearFiles();
location.reload();
},
// 上传进度
uploadProcess (event, file, fileList) {
// console.log(event)
this.dialogVisible = true;
// this.UploadPercent = Number(file.percentage.toFixed(0));
this.UploadPercent = Number(event.percent.toFixed())
if (this.UploadPercent == 100) {
// this.dialogVisible = false;
// this.$refs.upload.clearFiles()
// this.nowSelectRightData = []
this.showProgress = false;
}
},
// 获取文件列表 // 获取文件列表
onChange (file, fileList) { onChange (file, fileList) {
console.log(file, fileList) // console.log(file, fileList)
console.log('file', file) // console.log('file', file)
console.log("filelist", fileList) // console.log("filelist", fileList)
this.datas = fileList; this.datas = fileList;
console.log('datas', this.datas) // console.log('datas', this.datas)
}, },
// 提交前钩子函数 // 提交前钩子函数
beforeUpload () { beforeUpload () {
console.log('数据liebiao', this.$refs.upload.uploadFiles) // console.log('数据liebiao', this.$refs.upload.uploadFiles)
}, },
// 上传 // 上传
submitUpload () { submitUpload () {
console.log('this.selectArr', this.selectArr) // console.log('this.selectArr', this.selectArr)
console.log('this.nowSelectRightData', this.nowSelectRightData) // console.log('this.nowSelectRightData', this.nowSelectRightData)
this.$refs.upload.uploadFiles = this.nowSelectRightData this.$refs.upload.uploadFiles = this.nowSelectRightData
this.$refs.upload.submit(); this.$refs.upload.submit();
}, },
...@@ -293,7 +358,7 @@ export default { ...@@ -293,7 +358,7 @@ export default {
}, },
// 上传成功 // 上传成功
uploadSuccess () { uploadSuccess () {
this.$refs.upload.clearFiles() // this.$refs.upload.clearFiles()
}, },
// 选择上传文件 // 选择上传文件
uploadFile () { uploadFile () {
...@@ -345,7 +410,7 @@ export default { ...@@ -345,7 +410,7 @@ export default {
// arr.barcode = res[1] // arr.barcode = res[1]
// this.datas.push(arr) // this.datas.push(arr)
// }, // },
// 逻辑分库 // 人员/案件逻辑分库
handleCheckAllChange (val) { handleCheckAllChange (val) {
if (this.drlx == 3) { if (this.drlx == 3) {
this.checkedTargets = val ? targetOptions_ry : []; this.checkedTargets = val ? targetOptions_ry : [];
...@@ -359,6 +424,25 @@ export default { ...@@ -359,6 +424,25 @@ export default {
this.checkAll = checkedCount === this.targets.length; this.checkAll = checkedCount === this.targets.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.targets.length; this.isIndeterminate = checkedCount > 0 && checkedCount < this.targets.length;
}, },
// 比中关系逻辑分库
handleCheckAllChangeLeft (val) {
this.checkedTargetsLeft = val ? targetOptions_ry : [];
this.isIndeterminateLeft = false;
},
handleCheckedTargetsChangeLeft (value) {
let checkedCount = value.length;
this.checkAllLeft = checkedCount === this.targetsLeft.length;
this.isIndeterminateLeft = checkedCount > 0 && checkedCount < this.targetsLeft.length;
},
handleCheckAllChangeRight (val) {
this.checkedTargetsRight = val ? targetOptions_aj : [];
this.isIndeterminateRight = false;
},
handleCheckedTargetsChangeRight (value) {
let checkedCount = value.length;
this.checkAllRight = checkedCount === this.targetsRight.length;
this.isIndeterminateRight = checkedCount > 0 && checkedCount < this.targetsRight.length;
},
// 表格穿梭框 // 表格穿梭框
checkAll1 (val) { checkAll1 (val) {
...@@ -402,6 +486,32 @@ export default { ...@@ -402,6 +486,32 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
// /deep/.el-dialog__wrapper {
// background: rgba($color: #fff, $alpha: 0.65);
// // filter: blur(2px);
// }
/deep/.el-dialog {
margin-top: 30vh;
}
/deep/.el-dialog__header {
display: none;
}
/deep/.el-dialog__body {
text-align: center;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #055fe7;
border-color: #055fe7;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
/deep/.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #055fe7;
border-color: #055fe7;
}
/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
color: #333333;
}
.drFPTX { .drFPTX {
padding: 25px; padding: 25px;
} }
...@@ -529,7 +639,7 @@ export default { ...@@ -529,7 +639,7 @@ export default {
height: 16px; height: 16px;
background: #055fe7; background: #055fe7;
border-radius: 2px; border-radius: 2px;
margin-left: 24px; margin-left: 10px;
margin-right: 6px; margin-right: 6px;
} }
} }
...@@ -631,7 +741,7 @@ export default { ...@@ -631,7 +741,7 @@ export default {
height: 16px; height: 16px;
background: #055fe7; background: #055fe7;
border-radius: 2px; border-radius: 2px;
margin-left: 24px; margin-left: 10px;
margin-right: 6px; margin-right: 6px;
} }
} }
......
<template>
<el-container
class="RAList"
direction='vertical'
>
<!-- 三 -->
<div class="options">
<div class="left">
<div
class="btn"
@click="batch"
>批量操作</div>
</div>
<div class="right">
<div
class="btn"
@click="isShowTjddlBtn"
>添加到队列</div>
<div class="btn">复制入库失败编号</div>
<div class="btn">复制入库成功编号</div>
<div
class="btn"
v-clipboard:copy="barcode"
@click="getBarcode"
v-clipboard:success="onCopy"
v-clipboard:error="onError"
>复制条码</div>
<div
class="btn send"
@click="isShowFcxBtn"
>发查询</div>
</div>
</div>
<!--四 -->
<el-tag
style="width:100%;color:#666666;margin-bottom:16px"
v-show="isShowTip"
>
<i
class="el-icon-info"
style="color:#055FE7;font-size:15px"
></i>
已选择 <span style="color:#055FE7">{{multipleSelection.length}}</span> 项​
<span v-html="'&nbsp;&nbsp;'"></span>
​服务调用总计:<span v-html="'&nbsp;&nbsp;'"></span>36.4万
<el-link
type="primary"
:underline="false"
style="margin-left:20px;"
@click="toggleSelection()"
>清除</el-link>
</el-tag>
<!-- 五 -->
<el-table
max-height="500"
ref="multipleTable"
:data="tableDate"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="auto"
v-if="isSelected"
>
</el-table-column>
<el-table-column
prop="barcode"
label="人员编号/案事件编号"
width="320"
>
</el-table-column>
<el-table-column
prop="name"
label="类型"
width="180"
>
</el-table-column>
<el-table-column
:formatter="idNumberFormat"
prop="idnumber"
label="逻辑分库"
width="180"
>
</el-table-column>
<el-table-column
:formatter="dateTimeFormat"
prop="状态"
label="出生日期"
width="auto"
>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="100"
>
<template slot-scope="scope">
<div class="ops">
<el-tooltip
class="item"
effect="dark"
content="编辑"
placement="top"
:open-delay='500'
@click="handleClick(scope.row)"
>
<div
class="icon bj"
@click="handleClick(scope.row)"
>
<img
src="../../assets/img/qbryk/bj.svg"
alt=""
>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="复制数据"
placement="top"
:open-delay='500'
>
<div
class="icon bz"
@click='isShowFztmBtn(scope.row)'
>
<img
src="../../assets/img/qbryk/bz.svg"
alt=""
>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="发查询"
placement="top"
:open-delay='500'
>
<div
class="icon look"
@click="isShowFcxBtn1(scope.row)"
>
<img
src="../../assets/img/qbryk/search.svg"
alt=""
>
</div>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
<!-- 六 -->
<div class="block">
<span class="record">共{{ reqParam.page.total }}条记录 第{{ reqParam.page.currPage }}/{{ Tpage }}页</span>
<el-pagination
class='paging'
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="reqParam.page.currPage"
:page-sizes="[10, 20, 30, 40]"
background
layout="prev, pager, next"
:total="reqParam.page.total"
>
</el-pagination>
<!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" background layout="sizes, prev, pager, next" :total="tableDataLength">
</el-pagination> -->
<!-- 添加到队列弹窗 -->
<tjddl
:isShowTjddl="isShowTjddl"
:rowData="rowData"
:type="type"
@closeTjddl="closeTjddl"
></tjddl>
<!-- 复制数据弹窗 -->
<fztm
:isShowFztm="isShowFztm"
:rowData="rowData"
:type="type"
@closeFztm="closeFztm"
></fztm>
<!-- 发查询弹窗 -->
<fcx
:isShowFcx="isShowFcx"
:rowData="rowData"
:type="type"
@closeFcx="closeFcx"
>
</fcx>
</div>
</el-container>
</template>
<script>
import tjddl from "../AllPersonnelBase/modules/tjddl.vue" // 添加到队列弹窗
import fztm from "../AllPersonnelBase/modules/fztm.vue" // 复制数据弹窗
import fcx from "../AllPersonnelBase/modules/fcx.vue" // 发查询弹窗
export default {
name: 'FPTX导入',
components: {
tjddl,
fztm,
fcx
},
data () {
return {
isSelected: false,// 是否批量操作
isShowTjddl: false,// 添加到队列
isShowFztm: false, //复制条码
isShowFcx: false, //发查询
type: 'ry', // 人员还是案件
rowData: {}, // 单行数据
barcode: null,
reqParam: { // 请求参数
page: {
total: 0,//表格条数
pageSize: 10, //当前选择要显示的条数
currPage: 1 // 当前在第几页
},
personStoreCustomSearch: {
barcode: '', // 搜索框内容
searchOptions: 3, // 默认搜索方式
checkboxQuery: [], //滚动平面等筛选条件
}
},
tableDate: [
{
barcode: 'B00000022111452111214211',
name: '王小虎',
idnumber: '46000000232********',
birthdate: '1996-07-21',
sex: '1',
rollcount: '10',
plancount: '10',
plamcount: '10',
piccount: '10',
ifidcard: '1',
collectunitname: '海南省海口市公安局ssssssssssssssssssssssssssss'
}
], // 人员列表数据
multipleSelection: [], // 表单选择项目
isShowTip: false,//批量操作提示
selectionData: [],
};
},
methods: {
// 获取全部人员列表请求
search () {
// console.info("请求===>", this.reqParam);
this.$axios
.post("/api/personstore/allperson", this.reqParam)
.then(response => {
if (response.data.code === 0) {
this.tableDate = response.data.ret.list;
this.reqParam.page.total = response.data.ret.total;
console.info("查询结果===>", this.tableDate);
// this.userInfo = this.getUserInfo(this.tableDate);
} else {
this.$message.error(response.data.message);
}
});
},
// 复制条码号 获取选中条码值
getBarcode () {
this.barcode = null;
if (this.multipleSelection.length === 0) {
this.$message.error("请选择需要复制条码号的数据!");
} else if (this.multipleSelection.length === 1) {
this.barcode = this.multipleSelection[0].barcode;
} else {
this.$message.error("只能复制单条数据的条码号!");
}
},
// 复制成功时的回调函数
onCopy (e) {
this.$message({
type: "success",
message: "复制条码号:" + this.barcode + "成功!"
});
},
// 复制失败时的回调函数
onError (e) {
this.$message.error("抱歉,复制条码号失败!");
},
// 添加到队列
isShowTjddlBtn () {
console.log('添加到队列')
if (this.multipleSelection.length === 0) {
this.$message.error("请选择需要添加到队列的数据!");
this.isSelected = true
} else {
this.rowData = this.multipleSelection
this.isShowTjddl = true;
}
},
closeTjddl (val) {
console.log('添加到队列关闭', val)
this.isShowTjddl = val
},
//复制条码列表操作
isShowFztmBtn (val) {
console.log('复制条码', val)
this.rowData = val
this.isShowFztm = true;
},
closeFztm (val) {
console.log('closeFztm复制条码关闭', val)
this.isShowFztm = val
this.search()
},
//发查询操作(多行)
isShowFcxBtn () {
if (this.multipleSelection.length === 0) {
this.$message.error("请选择需要发查询的数据!");
this.isSelected = true
} else {
this.rowData = this.multipleSelection
this.isShowFcx = true;
}
},
isShowFcxBtn1 (val) {
console.log('单行人员发查询数据', val)
let rowVal = [];
rowVal.push(val)
this.rowData = rowVal
this.isShowFcx = true;
},
closeFcx (val) {
console.log('发查询关闭', val)
this.isShowFcx = val
this.search()
},
/**
* @description: 是否是批量操作
* @param {*}
* @return {*}
*/
batch () {
this.isSelected = !this.isSelected
},
cancel () {
alert(888)
},
/**
* @description: 编辑数据
* @param {*} row
* @return {*}
*/
handleClick (row) {
console.log(row);
},
/**
* @description: 单选事件
* @param {*} val
* @return {*}
*/
handleSelectionChange (val) {
this.multipleSelection = val;
console.log(this.multipleSelection);
if (this.multipleSelection.length) {
this.isShowTip = true
} else {
this.isShowTip = false
}
},
/**
* @description: pageSize 改变时会触发
* @param {*} pageSize 每页条数
* @return {*}
*/
handleSizeChange (pageSize) {
this.reqParam.page.pageSize = pageSize;
console.log('每页条数', this.reqParam.page.pageSize);
},
/**
* @description: currentPage 改变时会触发
* @param {*} page 当前页
* @return {*}
*/
handleCurrentChange (page) {
this.reqParam.page.currPage = page
console.log('当前页', this.reqParam.page.currPage);
this.search()
},
/**
* @description: 清除所有选项
* @param {*}
* @return {*}
*/
toggleSelection (rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable.toggleRowSelection(row);
});
} else {
this.$refs.multipleTable.clearSelection();
}
console.log(this.multipleSelection);
}
},
computed: {
/**
* @description: 计算总页数
* @param {*}
* @return {*}
*/
Tpage () {
return Math.floor(this.reqParam.page.total / this.reqParam.page.pageSize) + 1;
},
},
mounted () {
this.search();
}
}
</script>
<style scoped lang="scss">
.RAList {
height: 100%;
box-sizing: border-box;
padding: 0 24px;
font-family: MicrosoftYaHei;
.options {
height: 72px;
display: flex;
justify-content: space-between;
align-items: center;
.btn {
height: 32px;
padding: 8px 20px;
border-radius: 4px;
border: 1px solid #aeb5c2;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
margin-left: 16px;
&:nth-child(1) {
margin-left: 0;
}
&:hover {
border: 1px solid #055fe7;
color: #055fe7;
}
&:active {
border: 1px solid #044cb9;
color: #044cb9;
}
}
.left {
display: flex;
.el-checkbox-group {
display: flex;
align-items: center;
margin-left: 38px;
}
}
.right {
display: flex;
.send {
border: none;
background: #055fe7;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #ffffff;
&:hover {
background: #377fec;
}
&:active {
background: #044cb9;
}
}
}
}
.icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
margin-left: 14px;
&:nth-child(1) {
margin-left: 0;
}
img {
width: 16px;
height: 16px;
object-fit: fill;
}
}
.ops {
display: flex;
}
.block {
position: absolute;
bottom: 27px;
// width: calc(100vw - 367px);
width: 1544px;
// justify-content: space-between;
// align-items: center;
.record {
font-size: 14px;
font-family: MicrosoftYaHei;
color: #666666;
}
.paging {
float: right;
}
}
/deep/.el-pager {
.number {
background-color: transparent;
}
.number.active {
background-color: #055fe7 !important;
box-shadow: 0px 12px 16px 1px rgba(0, 21, 51, 0.03);
border-radius: 6px;
}
.el-icon.more.btn-quicknext.el-icon-more,
.el-icon.more.btn-quickprev.el-icon-more {
background-color: transparent !important;
}
}
/deep/ .btn-prev,
/deep/.btn-next {
background-color: transparent !important;
}
/deep/ .el-pagination__sizes {
position: absolute;
right: 0;
}
}
/deep/.el-table th {
background-color: #f6f8fa;
}
/deep/.el-popover {
padding: 15px 20px !important;
}
/deep/.el-popconfirm__action {
display: flex;
justify-content: center;
}
/deep/.el-popover.el-popper {
background: #006aff;
}
/deep/.el-form-item__label {
color: #333333;
}
/deep/.el-table th > .cell {
font-size: 14px;
font-family: MicrosoftYaHei;
font-weight: normal;
color: #282f3c;
}
/deep/.el-table td > .cell {
font-size: 14px;
font-family: MicrosoftYaHei;
color: #333333;
}
</style>
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