Compare commits
2 Commits
669c8cb3b5
...
596c9f99e4
| Author | SHA1 | Date | |
|---|---|---|---|
| 596c9f99e4 | |||
| e59b401828 |
43
src/api/sjxsgl.js
Normal file
43
src/api/sjxsgl.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import request from "@/utils/request";
|
||||||
|
const api = "/mosty-api/mosty-gsxt";
|
||||||
|
// 新增系数
|
||||||
|
export const sjxsglAddEntity = (data) => {
|
||||||
|
return request({
|
||||||
|
url: api + "/sjxsgl/addEntity",
|
||||||
|
method: "POST",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 删除系数
|
||||||
|
export const sjxsglDeleteEntity = (data) => {
|
||||||
|
return request({
|
||||||
|
url: api + "/sjxsgl/deleteEntity",
|
||||||
|
method: "DELETE",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 修改系数
|
||||||
|
export const sjxsglEditEntity = (data) => {
|
||||||
|
return request({
|
||||||
|
url: api + "/sjxsgl/editEntity",
|
||||||
|
method: "PUT",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 分页查询
|
||||||
|
export const sjxsglGetPageList = (params) => {
|
||||||
|
return request({
|
||||||
|
url: api + "/sjxsgl/getPageList",
|
||||||
|
method: "GET",
|
||||||
|
params
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const sjxsgId = (id) => {
|
||||||
|
return request({
|
||||||
|
url: api + `/sjxsgl/${id}`,
|
||||||
|
method: "GET",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@ -78,6 +78,13 @@ export const tbGsxtBqzhSelectList = (params) => {
|
|||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 组合标签详情
|
||||||
|
export const tbGsxtBqzhId = (id) => {
|
||||||
|
return request({
|
||||||
|
url: api + `/tbGsxtBqzh/${id}`,
|
||||||
|
method: "get",
|
||||||
|
})
|
||||||
|
}
|
||||||
// 身份标签
|
// 身份标签
|
||||||
export const yjzxSfyjSelectList = (params) => {
|
export const yjzxSfyjSelectList = (params) => {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
241
src/components/ChooseList/ChooseJf/index.vue
Normal file
241
src/components/ChooseList/ChooseJf/index.vue
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog :title="titleValue" width="1400px" :model-value="modelValue" append-to-body @close="closed">
|
||||||
|
<div>
|
||||||
|
<el-form :model="listQuery" class="mosty-from-wrap" :inline="true">
|
||||||
|
|
||||||
|
<el-form-item label="系数名称">
|
||||||
|
<el-input placeholder="请输入系数名称" v-model="listQuery.mc" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="计算规则">
|
||||||
|
<el-input placeholder="请输入计算规则" v-model="listQuery.jsgz" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="success" @click="handleFilter">查询</el-button>
|
||||||
|
<el-button type="info" @click="reset()"> 重置 </el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div class="tabBox" :class="props.Single ? 'tabBoxRadio' : ''" style="margin-top: 0px">
|
||||||
|
<el-table ref="multipleUserRef" @selection-change="handleSelectionChange" :data="tableData" border
|
||||||
|
:row-key="keyid" style="width: 100%" height="450">
|
||||||
|
<el-table-column type="selection" width="55" :reserve-selection="true" />
|
||||||
|
<el-table-column prop="mc" align="center" label="系数名称" />
|
||||||
|
<el-table-column prop="sjbl" align="center" label="衰减比例" />
|
||||||
|
<el-table-column prop="jsgz" align="center" label="计算规则" />
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div class="fenye" :style="{ top: tableHeight + 'px' }">
|
||||||
|
<el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||||
|
:current-page="listQuery.current" :page-sizes="[10, 20, 50, 100]" :page-size="listQuery.size"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="closed">取消</el-button>
|
||||||
|
<el-button type="primary" @click="onComfirm">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import * as rule from "@/utils/rules.js";
|
||||||
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import { defineProps, watch, ref, onMounted, nextTick } from "vue";
|
||||||
|
import { selectUnAccreditPage, selectUserDeptPage } from "@/api/user-manage";
|
||||||
|
import { sjxsglGetPageList } from "@/api/sjxsgl.js";
|
||||||
|
import { qcckPost } from "@/api/qcckApi.js";
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
titleValue: {
|
||||||
|
type: String,
|
||||||
|
default: "选择配置"
|
||||||
|
},
|
||||||
|
LeaderType: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
},
|
||||||
|
//是否单选
|
||||||
|
Single: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
roleIds: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
}, url: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
}, bh: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
},
|
||||||
|
chooseJfBh: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const total = ref(0);
|
||||||
|
const listQuery = ref({
|
||||||
|
current: 1,
|
||||||
|
size: 20
|
||||||
|
});
|
||||||
|
const form = ref({});
|
||||||
|
const tableData = ref([]);
|
||||||
|
const emits = defineEmits(["update:modelValue", "choosedUsers"]);
|
||||||
|
onMounted(() => {
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(() => props.modelValue, (val) => {
|
||||||
|
if (val) {
|
||||||
|
nextTick(() => {
|
||||||
|
getListData();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
immediate: true
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听 roleIds 变化,实时更新选择状态
|
||||||
|
watch(() => props.roleIds, (newVal, oldVal) => {
|
||||||
|
console.log('roleIds变化:', newVal, oldVal);
|
||||||
|
// 只要roleIds有变化,就尝试回显,不需要等待modelValue为true
|
||||||
|
// 因为可能是在对话框打开后roleIds才变化
|
||||||
|
nextTick(() => {
|
||||||
|
multipleUser();
|
||||||
|
});
|
||||||
|
}, { deep: true });
|
||||||
|
const closed = () => {
|
||||||
|
// 清空新选择的内容
|
||||||
|
multipleSelectionUser.value = [];
|
||||||
|
// 取消表格中所有行的选择状态
|
||||||
|
if (multipleUserRef.value && tableData.value && tableData.value.length > 0) {
|
||||||
|
tableData.value.forEach(item => {
|
||||||
|
multipleUserRef.value.toggleRowSelection(item, false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
emits("update:modelValue", false);
|
||||||
|
};
|
||||||
|
const reset = () => {
|
||||||
|
listQuery.value = {
|
||||||
|
current: 1,
|
||||||
|
size: 20,
|
||||||
|
loginName: "",
|
||||||
|
phone: ""
|
||||||
|
};
|
||||||
|
getListData();
|
||||||
|
};
|
||||||
|
|
||||||
|
const keyid = (row) => {
|
||||||
|
return row.id;
|
||||||
|
};
|
||||||
|
// 为用户分配角色
|
||||||
|
const onComfirm = () => {
|
||||||
|
const userList = multipleSelectionUser.value;
|
||||||
|
console.log(userList);
|
||||||
|
let promes = {
|
||||||
|
list: userList.map(item => {
|
||||||
|
return {
|
||||||
|
xsid: item.id,
|
||||||
|
mc: item.mc,
|
||||||
|
sjbl: item.sjbl,
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
id: props.chooseJfBh
|
||||||
|
}
|
||||||
|
qcckPost(promes, `/mosty-gsxt${props.url}`).then(res => {
|
||||||
|
ElMessage.success('操作成功');
|
||||||
|
})
|
||||||
|
|
||||||
|
closed();
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* pageSize 改变触发
|
||||||
|
*/
|
||||||
|
const handleSizeChange = (currentSize) => {
|
||||||
|
listQuery.value.size = currentSize;
|
||||||
|
getListData();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页码改变触发
|
||||||
|
*/
|
||||||
|
const handleCurrentChange = (currentPage) => {
|
||||||
|
listQuery.value.current = currentPage;
|
||||||
|
getListData();
|
||||||
|
};
|
||||||
|
const getListData = () => {
|
||||||
|
const params = listQuery.value;
|
||||||
|
sjxsglGetPageList(params).then((res) => {
|
||||||
|
tableData.value = res?.records;
|
||||||
|
total.value = Number(res.total);
|
||||||
|
// 使用 nextTick 确保表格已经渲染完成后再执行回显
|
||||||
|
nextTick(() => {
|
||||||
|
multipleUser();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 列表回显
|
||||||
|
function multipleUser() {
|
||||||
|
// 确保表格引用和数据都存在
|
||||||
|
if (!multipleUserRef.value || !tableData.value || tableData.value.length === 0) {
|
||||||
|
console.log('表格引用或数据不存在,无法回显');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 先清空之前的选择,确保选择状态的准确性
|
||||||
|
tableData.value.forEach(item => {
|
||||||
|
multipleUserRef.value.toggleRowSelection(item, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('开始回显,roleIds:', props.roleIds);
|
||||||
|
console.log('表格数据:', tableData.value);
|
||||||
|
|
||||||
|
// 根据 roleIds 进行回显,确保类型一致
|
||||||
|
tableData.value.forEach((item) => {
|
||||||
|
const itemId = String(item.id);
|
||||||
|
if (props.roleIds.some((id) => String(id) === itemId)) {
|
||||||
|
console.log('回显选择:', item);
|
||||||
|
multipleUserRef.value.toggleRowSelection(item, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleFilter = () => {
|
||||||
|
listQuery.value.current = 1;
|
||||||
|
getListData();
|
||||||
|
};
|
||||||
|
|
||||||
|
const multipleUserRef = ref(null);
|
||||||
|
const multipleSelectionUser = ref([]);
|
||||||
|
const handleSelectionChange = (val) => {
|
||||||
|
if (props.Single) {
|
||||||
|
if (val.length > 1) {
|
||||||
|
let del_row = val.shift();
|
||||||
|
multipleUserRef.value.toggleRowSelection(del_row, false);
|
||||||
|
}
|
||||||
|
multipleSelectionUser.value = val;
|
||||||
|
} else {
|
||||||
|
multipleSelectionUser.value = val;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "@/assets/css/layout.scss";
|
||||||
|
@import "@/assets/css/element-plus.scss";
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.tabBoxRadio .el-checkbox__inner {
|
||||||
|
border-radius: 50% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
<!-- 数值 inputNumber-->
|
<!-- 数值 inputNumber-->
|
||||||
<el-input type="number" v-model="listQuery[item.prop]" v-else-if="item.type == 'inputNumber'" :placeholder="`请输入${item.label}`" :disabled="item.disabled" @blur="inputBlur($event,item)"/>
|
<el-input type="number" v-model="listQuery[item.prop]" v-else-if="item.type == 'inputNumber'" :placeholder="`请输入${item.label}`" :disabled="item.disabled" @blur="inputBlur($event,item)"/>
|
||||||
<!-- 数值 number-->
|
<!-- 数值 number-->
|
||||||
<el-input-number v-model="listQuery[item.prop]" v-else-if="item.type == 'number'" style="width: 100%" :min="item.min || 0" :max="item.max || 1000" :disabled="item.disabled" />
|
<el-input-number v-model="listQuery[item.prop]" v-else-if="item.type == 'number'" :step="item.step || 1" style="width: 100%" :min="item.min || 0" :max="item.max || 1000" :disabled="item.disabled" />
|
||||||
|
|
||||||
<!--选择 select-->
|
<!--选择 select-->
|
||||||
<MOSTY.Select v-else-if="item.type == 'select'" filterable :multiple="item.multiple" v-model="listQuery[item.prop]" :dictEnum="item.options" width="100%" clearable :placeholder="`请选择${item.label}`" :disabled="item.disabled" />
|
<MOSTY.Select v-else-if="item.type == 'select'" filterable :multiple="item.multiple" v-model="listQuery[item.prop]" :dictEnum="item.options" width="100%" clearable :placeholder="`请选择${item.label}`" :disabled="item.disabled" />
|
||||||
|
|||||||
@ -623,6 +623,19 @@ export const publicRoutes = [
|
|||||||
name: "dataApplication",
|
name: "dataApplication",
|
||||||
meta: { title: "数据应用", icon: "article" },
|
meta: { title: "数据应用", icon: "article" },
|
||||||
children: [
|
children: [
|
||||||
|
{
|
||||||
|
path: "/IntegralCoefficient",
|
||||||
|
name: "IntegralCoefficient",
|
||||||
|
component: () =>
|
||||||
|
import(
|
||||||
|
"@/views/backOfficeSystem/fourColorManage/IntegralCoefficient/index"
|
||||||
|
),
|
||||||
|
meta: {
|
||||||
|
title: "积分系数配置",
|
||||||
|
icon: "article"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
path: "/IdentityManage",
|
path: "/IdentityManage",
|
||||||
name: "IdentityManage",
|
name: "IdentityManage",
|
||||||
|
|||||||
@ -93,6 +93,7 @@ export function timeValidate(date, type) {
|
|||||||
const hh = time.getHours().toString().padStart(2, '0')
|
const hh = time.getHours().toString().padStart(2, '0')
|
||||||
const mm = time.getMinutes().toString().padStart(2, '0')
|
const mm = time.getMinutes().toString().padStart(2, '0')
|
||||||
const ss = time.getSeconds().toString().padStart(2, '0')
|
const ss = time.getSeconds().toString().padStart(2, '0')
|
||||||
|
|
||||||
if (type == 'ymd') {
|
if (type == 'ymd') {
|
||||||
return `${yyyy}-${MM}-${dd}`;
|
return `${yyyy}-${MM}-${dd}`;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// let url = "ws://89.40.9.89:2109/mosty-api/mosty-websocket/socket/"; //线上
|
// let url = "ws://89.40.9.89:2109/mosty-api/mosty-websocket/socket/"; //线上
|
||||||
let url = "ws://155.240.22.30:2109/mosty-api/mosty-websocket/socket/"; //线上
|
let url = "ws://155.240.22.30:2109/mosty-api/mosty-websocket/socket/"; //线上
|
||||||
|
|
||||||
if(process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
url = "ws://47.108.232.77:9537/mosty-api/mosty-websocket/socket/"; //本地
|
url = "ws://47.108.232.77:9537/mosty-api/mosty-websocket/socket/"; //本地
|
||||||
}
|
}
|
||||||
import {
|
import {
|
||||||
|
|||||||
@ -0,0 +1,118 @@
|
|||||||
|
<template>
|
||||||
|
<div class="dialog" v-if="dialogForm">
|
||||||
|
<div class="head_box">
|
||||||
|
<span class="title">积分系数规则{{ title }} </span>
|
||||||
|
<div>
|
||||||
|
<el-button type="primary" size="small" :loading="loading" @click="submit" >保存</el-button>
|
||||||
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_cnt">
|
||||||
|
<FormMessage v-model="listQuery" :formList="formData" ref="elform" :rules="rules">
|
||||||
|
</FormMessage>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import DialogList from '@/views/backOfficeSystem/fourColorManage/components/dialogList.vue'
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
||||||
|
import {sjxsglAddEntity ,sjxsglEditEntity,sjxsgId} from '@/api/sjxsgl.js'
|
||||||
|
import { ref,defineProps, defineExpose, reactive, onMounted, defineEmits, getCurrentInstance } from "vue";
|
||||||
|
const emit = defineEmits(["updateDate"]);
|
||||||
|
const props = defineProps({
|
||||||
|
type:String,
|
||||||
|
dic:Object,
|
||||||
|
});
|
||||||
|
const showDialog = ref(false); //弹窗
|
||||||
|
const listQuery = ref({}); //表单
|
||||||
|
const loading = ref(false);
|
||||||
|
const elform = ref();
|
||||||
|
const title = ref("");
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const dialogForm = ref(false); //弹窗
|
||||||
|
const formData = reactive([
|
||||||
|
{ label: "系数名称", prop: "mc", type: "input" },
|
||||||
|
{ label: "衰减比列", prop: "sjbl", type: "number", max: 100,step:0.1 },
|
||||||
|
{ label: "计算规则", prop: "jsgz", type: "textarea" ,width:'100%'},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const rules = reactive({
|
||||||
|
mc: [{ required: true, message: "请输入系数名称", trigger: "blur" }],
|
||||||
|
sjbl: [{ required: true, message: "请输入衰减比列", trigger: "blur" }],
|
||||||
|
jsgz: [{ required: true, message: "请输入计算规则", trigger: ['blur','change'] }],
|
||||||
|
});
|
||||||
|
|
||||||
|
// 初始化数据
|
||||||
|
const init = (type, row,) => {
|
||||||
|
title.value = type == 'add' ? "新增" : "编辑";
|
||||||
|
dialogForm.value = true;
|
||||||
|
if (row) getDataById(row.id);
|
||||||
|
};
|
||||||
|
|
||||||
|
// 根据id查询详情
|
||||||
|
const getDataById = (id) => {
|
||||||
|
sjxsgId(id).then((res) => {
|
||||||
|
listQuery.value = res;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 提交
|
||||||
|
const submit = () => {
|
||||||
|
console.log("xxxxxxxx");
|
||||||
|
|
||||||
|
elform.value.submit((data) => {
|
||||||
|
const promes = {
|
||||||
|
...data
|
||||||
|
}
|
||||||
|
console.log(promes);
|
||||||
|
|
||||||
|
if ( title.value == "新增" ) {
|
||||||
|
sjxsglAddEntity(promes).then((res) => {
|
||||||
|
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||||
|
emit("updateDate");
|
||||||
|
loading.value = false;
|
||||||
|
close();
|
||||||
|
}).catch(() => {loading.value = false;});
|
||||||
|
} else {
|
||||||
|
sjxsglEditEntity(promes).then((res) => {
|
||||||
|
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||||
|
emit("updateDate");
|
||||||
|
loading.value = false;
|
||||||
|
close();
|
||||||
|
}).catch(() => {loading.value = false;});
|
||||||
|
}
|
||||||
|
// let url = title.value == "新增" ? '/mosty-gsxt/tbGsxtBqgl/save':'/mosty-gsxt/tbGsxtBqgl/update';
|
||||||
|
// let params = { ...data, bqLb:props.dic.D_GS_BQ_LB.find((it)=>it.zdmc == props.type).dm }
|
||||||
|
// params.bqLx = '01';
|
||||||
|
// loading.value = true;
|
||||||
|
// qcckPost(params, url).then((res) => {
|
||||||
|
// proxy.$message({ type: "success", message: title.value + "成功" });
|
||||||
|
// emit("updateDate");
|
||||||
|
// loading.value = false;
|
||||||
|
// close();
|
||||||
|
// }).catch(() => {loading.value = false;});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 选择的数据
|
||||||
|
const chooseDate = (val) => {
|
||||||
|
listQuery.value.bqDlId = val[0].id;
|
||||||
|
listQuery.value.bqDlMc = val[0].bqMc;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭
|
||||||
|
const close = () => {
|
||||||
|
listQuery.value = {};
|
||||||
|
dialogForm.value = false;
|
||||||
|
loading.value = false;
|
||||||
|
if(props.type == '标签细类') formData.pop()
|
||||||
|
|
||||||
|
};
|
||||||
|
defineExpose({ init });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "~@/assets/css/layout.scss";
|
||||||
|
@import "~@/assets/css/element-plus.scss";
|
||||||
|
</style>
|
||||||
@ -0,0 +1,149 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="titleBox">
|
||||||
|
<PageTitle title="积分系数配置">
|
||||||
|
<el-button type="primary" @click="addEdit('add', '')">
|
||||||
|
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||||
|
<span style="vertical-align: middle">新增</span>
|
||||||
|
</el-button>
|
||||||
|
</PageTitle>
|
||||||
|
</div>
|
||||||
|
<!-- 搜索 -->
|
||||||
|
<div ref="searchBox">
|
||||||
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
|
</div>
|
||||||
|
<!-- 表格 -->
|
||||||
|
<div class="tabBox" :style="{height:pageData.tableHeight+20+'px'}">
|
||||||
|
<MyTable
|
||||||
|
:tableData="pageData.tableData"
|
||||||
|
:tableColumn="pageData.tableColumn"
|
||||||
|
:tableHeight="pageData.tableHeight"
|
||||||
|
:key="pageData.keyCount"
|
||||||
|
:tableConfiger="pageData.tableConfiger"
|
||||||
|
:controlsWidth="pageData.controlsWidth"
|
||||||
|
>
|
||||||
|
<!-- 操作 -->
|
||||||
|
<template #controls="{ row }">
|
||||||
|
<el-link size="small" @click="addEdit('edit', row)">编辑</el-link>
|
||||||
|
<el-link size="small" @click="delDictItem(row.id)" type="danger">删除</el-link>
|
||||||
|
</template>
|
||||||
|
</MyTable>
|
||||||
|
<Pages
|
||||||
|
@changeNo="changeNo"
|
||||||
|
@changeSize="changeSize"
|
||||||
|
:tableHeight="pageData.tableHeight"
|
||||||
|
:pageConfiger="{
|
||||||
|
...pageData.pageConfiger,
|
||||||
|
total: pageData.total
|
||||||
|
}"
|
||||||
|
></Pages>
|
||||||
|
</div>
|
||||||
|
<!-- 编辑详情 -->
|
||||||
|
<EditAddForm v-if="show" ref="detailDiloag" :type="type" :dic="{D_GS_BQ_LX,D_GS_BQ_DJ,D_GS_SSYJ,D_GS_BQ_LB}" @updateDate="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
|
import {sjxsglDeleteEntity ,sjxsglGetPageList} from '@/api/sjxsgl.js'
|
||||||
|
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const { D_GS_BQ_DJ,D_GS_SSYJ,D_GS_BQ_LB,D_GS_BQ_LX } = proxy.$dict("D_GS_BQ_DJ","D_GS_SSYJ","D_GS_BQ_LB","D_GS_BQ_LX"); //获取字典数据
|
||||||
|
const detailDiloag = ref();
|
||||||
|
const searchBox = ref(); //搜索框
|
||||||
|
const type = ref('标签大类')
|
||||||
|
const show = ref(false)
|
||||||
|
const searchConfiger = ref([
|
||||||
|
{ label: "计算规则",prop:'jsgz',placeholder: "请输入计算规则", showType: "input"},
|
||||||
|
{ label: "系数名称",prop:'mc' ,placeholder: "请输入系数名称", showType: "input"},
|
||||||
|
]);
|
||||||
|
const queryFrom = ref({});
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [], //表格数据
|
||||||
|
keyCount: 0,
|
||||||
|
tableConfiger: {
|
||||||
|
rowHieght: 61,
|
||||||
|
showSelectType: "null",
|
||||||
|
loading: false
|
||||||
|
},
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
controlsWidth: 150, //操作栏宽度
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "系数名称", prop: "mc" },
|
||||||
|
{ label: "衰减比列", prop: "sjbl" },
|
||||||
|
{ label: "计算规则", prop: "jsgz"},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
onMounted(() => {
|
||||||
|
getList()
|
||||||
|
tabHeightFn();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 搜索
|
||||||
|
const onSearch = (val) =>{
|
||||||
|
queryFrom.value = {...val}
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分页
|
||||||
|
const changeNo = (val) =>{
|
||||||
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
// 页数
|
||||||
|
const changeSize = (val) =>{
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取列表
|
||||||
|
const getList = () =>{
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
let data = { ...pageData.pageConfiger,...queryFrom.value };
|
||||||
|
data.bqLb = type.value == '标签大类'? '01':'02'
|
||||||
|
sjxsglGetPageList(data).then(res=>{
|
||||||
|
pageData.tableData = res.records || [];
|
||||||
|
pageData.total = res.total;
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
}).catch(()=>{ pageData.tableConfiger.loading = false; })
|
||||||
|
}
|
||||||
|
// 删除
|
||||||
|
const delDictItem = (id) =>{
|
||||||
|
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
|
||||||
|
sjxsglDeleteEntity({ids:[id]}).then(()=>{
|
||||||
|
proxy.$message({ type: "success", message: "删除成功" });
|
||||||
|
getList();
|
||||||
|
})
|
||||||
|
}).catch(() => {});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增
|
||||||
|
const addEdit = (type, row) => {
|
||||||
|
show.value = true;
|
||||||
|
nextTick(()=>{
|
||||||
|
detailDiloag.value.init(type, row);
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
// 表格高度计算
|
||||||
|
const tabHeightFn = () => {
|
||||||
|
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||||
|
window.onresize = function () { tabHeightFn(); };
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.el-loading-mask {
|
||||||
|
background: rgba(0, 0, 0, 0.5) !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -12,7 +12,9 @@
|
|||||||
<span style="vertical-align: middle">导入</span>
|
<span style="vertical-align: middle">导入</span>
|
||||||
</el-button> -->
|
</el-button> -->
|
||||||
<el-button type="primary" @click="addEdit('add', '')">
|
<el-button type="primary" @click="addEdit('add', '')">
|
||||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
<el-icon style="vertical-align: middle">
|
||||||
|
<CirclePlus />
|
||||||
|
</el-icon>
|
||||||
<span style="vertical-align: middle">新增</span>
|
<span style="vertical-align: middle">新增</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</PageTitle>
|
</PageTitle>
|
||||||
@ -23,14 +25,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div class="tabBox">
|
<div class="tabBox">
|
||||||
<MyTable
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
:tableData="pageData.tableData"
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
:tableColumn="pageData.tableColumn"
|
|
||||||
:tableHeight="pageData.tableHeight"
|
|
||||||
:key="pageData.keyCount"
|
|
||||||
:tableConfiger="pageData.tableConfiger"
|
|
||||||
:controlsWidth="pageData.controlsWidth"
|
|
||||||
>
|
|
||||||
<template #bqYs="{ row }">
|
<template #bqYs="{ row }">
|
||||||
<DictTag :value="row.bqYs" :tag="false" :options="D_GS_SSYJ" />
|
<DictTag :value="row.bqYs" :tag="false" :options="D_GS_SSYJ" />
|
||||||
</template>
|
</template>
|
||||||
@ -39,22 +35,21 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
|
<el-link type="primary" @click="chooseJfFun(row)">配置系统</el-link>
|
||||||
<el-link type="primary" @click="addEdit('edit', row)">编辑</el-link>
|
<el-link type="primary" @click="addEdit('edit', row)">编辑</el-link>
|
||||||
<el-link type="danger" @click="delDictItem(row.id)">删除</el-link>
|
<el-link type="danger" @click="delDictItem(row.id)">删除</el-link>
|
||||||
</template>
|
</template>
|
||||||
</MyTable>
|
</MyTable>
|
||||||
<Pages
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
@changeNo="changeNo"
|
|
||||||
@changeSize="changeSize"
|
|
||||||
:tableHeight="pageData.tableHeight"
|
|
||||||
:pageConfiger="{
|
|
||||||
...pageData.pageConfiger,
|
...pageData.pageConfiger,
|
||||||
total: pageData.total
|
total: pageData.total
|
||||||
}"
|
}"></Pages>
|
||||||
></Pages>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 编辑详情 -->
|
<!-- 编辑详情 -->
|
||||||
<EditAddForm v-if="show" ref="detailDiloag" :dic="{D_GS_BQ_LX,D_GS_BQ_DJ,D_GS_SSYJ,D_GS_BQ_LB}" @updateDate="getList" />
|
<EditAddForm v-if="show" ref="detailDiloag" :dic="{ D_GS_BQ_LX, D_GS_BQ_DJ, D_GS_SSYJ, D_GS_BQ_LB }"
|
||||||
|
@updateDate="getList" />
|
||||||
|
<ChooseJf v-model="chooseJfShow" titleValue="选择系数" :Single="false"
|
||||||
|
:chooseJfBh="chooseJfBh" url="/tbGsxtBqzh/sjxspz" :roleIds="roleIds"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -64,19 +59,21 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
|||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
import Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
import EditAddForm from "./components/editAddForm.vue";
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
|
import ChooseJf from '@/components/ChooseList/ChooseJf/index.vue'
|
||||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||||
|
import { tbGsxtBqzhId } from "@/api/yj.js";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { D_GS_BQ_DJ,D_GS_SSYJ,D_GS_BQ_LB,D_GS_BQ_LX } = proxy.$dict("D_GS_BQ_DJ","D_GS_SSYJ","D_GS_BQ_LB","D_GS_BQ_LX"); //获取字典数据
|
const { D_GS_BQ_DJ, D_GS_SSYJ, D_GS_BQ_LB, D_GS_BQ_LX } = proxy.$dict("D_GS_BQ_DJ", "D_GS_SSYJ", "D_GS_BQ_LB", "D_GS_BQ_LX"); //获取字典数据
|
||||||
const detailDiloag = ref();
|
const detailDiloag = ref();
|
||||||
const show = ref(false)
|
const show = ref(false)
|
||||||
const searchBox = ref(); //搜索框
|
const searchBox = ref(); //搜索框
|
||||||
const searchConfiger = ref(
|
const searchConfiger = ref(
|
||||||
[
|
[
|
||||||
{ label: "组合标签名称", prop: 'bqMc', placeholder: "请输入组合标签名称", showType: "input"},
|
{ label: "组合标签名称", prop: 'bqMc', placeholder: "请输入组合标签名称", showType: "input" },
|
||||||
// { label: "组合标签标签等级", prop: 'bqDj', placeholder: "请选择组合标签标签等级", showType: "select",options: D_GS_BQ_DJ },
|
// { label: "组合标签标签等级", prop: 'bqDj', placeholder: "请选择组合标签标签等级", showType: "select",options: D_GS_BQ_DJ },
|
||||||
{ label: "组合标签颜色", prop: 'bqYs', placeholder: "请选择组合标签标签颜色", showType: "select",options: D_GS_SSYJ },
|
{ label: "组合标签颜色", prop: 'bqYs', placeholder: "请选择组合标签标签颜色", showType: "select", options: D_GS_SSYJ },
|
||||||
]);
|
]);
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
const pageData = reactive({
|
const pageData = reactive({
|
||||||
tableData: [], //表格数据
|
tableData: [], //表格数据
|
||||||
@ -96,9 +93,9 @@ const pageData = reactive({
|
|||||||
{ label: "组合标签名称", prop: "bqMc" },
|
{ label: "组合标签名称", prop: "bqMc" },
|
||||||
{ label: "标签代码", prop: "bqDm" },
|
{ label: "标签代码", prop: "bqDm" },
|
||||||
// { label: "组合标签等级", prop: "bqDj",showSolt:true },
|
// { label: "组合标签等级", prop: "bqDj",showSolt:true },
|
||||||
{ label: "组合标签颜色", prop: "bqYs",showSolt:true },
|
{ label: "组合标签颜色", prop: "bqYs", showSolt: true },
|
||||||
{ label: "组合标签分值", prop: "bqFz"},
|
{ label: "组合标签分值", prop: "bqFz" },
|
||||||
{ label: "组合标签说明", prop: "bqSm",showOverflowTooltip:true },
|
{ label: "组合标签说明", prop: "bqSm", showOverflowTooltip: true },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
@ -108,51 +105,61 @@ onMounted(() => {
|
|||||||
|
|
||||||
|
|
||||||
// 搜索
|
// 搜索
|
||||||
const onSearch = (val) =>{
|
const onSearch = (val) => {
|
||||||
queryFrom.value = {...val}
|
queryFrom.value = { ...val }
|
||||||
pageData.pageConfiger.pageCurrent = 1;
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
const changeNo = (val) =>{
|
const changeNo = (val) => {
|
||||||
pageData.pageConfiger.pageCurrent = val;
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
const changeSize = (val) =>{
|
const changeSize = (val) => {
|
||||||
pageData.pageConfiger.pageSize = val;
|
pageData.pageConfiger.pageSize = val;
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
const getList = () =>{
|
const getList = () => {
|
||||||
pageData.tableConfiger.loading = true;
|
pageData.tableConfiger.loading = true;
|
||||||
qcckGet(queryFrom.value,'/mosty-gsxt/tbGsxtBqzh/selectPage').then((res)=>{
|
qcckGet(queryFrom.value, '/mosty-gsxt/tbGsxtBqzh/selectPage').then((res) => {
|
||||||
pageData.tableData = res.records;
|
pageData.tableData = res.records;
|
||||||
pageData.total = res.total;
|
pageData.total = res.total;
|
||||||
pageData.tableConfiger.loading = false;
|
pageData.tableConfiger.loading = false;
|
||||||
}).catch(()=>{
|
}).catch(() => {
|
||||||
pageData.tableConfiger.loading = false;
|
pageData.tableConfiger.loading = false;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
const delDictItem = (id) =>{
|
const delDictItem = (id) => {
|
||||||
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
|
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
|
||||||
qcckDelete({},'/mosty-gsxt/tbGsxtBqzh/'+id).then(()=>{
|
qcckDelete({}, '/mosty-gsxt/tbGsxtBqzh/' + id).then(() => {
|
||||||
proxy.$message({ type: "success", message: "删除成功" });
|
proxy.$message({ type: "success", message: "删除成功" });
|
||||||
getList();
|
getList();
|
||||||
})
|
})
|
||||||
}).catch(() => {});
|
}).catch(() => { });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增
|
// 新增
|
||||||
const addEdit = (type, row) => {
|
const addEdit = (type, row) => {
|
||||||
show.value = true;
|
show.value = true;
|
||||||
nextTick(()=>{
|
nextTick(() => {
|
||||||
detailDiloag.value.init(type, row,);
|
detailDiloag.value.init(type, row,);
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
// 选择系数
|
||||||
|
const chooseJfShow = ref(false)
|
||||||
|
const chooseJfBh = ref()
|
||||||
|
const roleIds=ref()
|
||||||
|
const chooseJfFun = (val) => {
|
||||||
|
chooseJfBh.value=val.id
|
||||||
|
tbGsxtBqzhId(val.id).then(res => {
|
||||||
|
roleIds.value=res.sjxspzList.map(item => item.xsid)
|
||||||
|
chooseJfShow.value = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
const tabHeightFn = () => {
|
const tabHeightFn = () => {
|
||||||
|
|||||||
@ -47,6 +47,7 @@
|
|||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
||||||
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
||||||
|
<el-link type="primary" @click="chooseJfFun(row)" >配置系统</el-link>
|
||||||
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
||||||
<el-link type="danger" @click="delDictItem(row.id)">转会商</el-link> -->
|
<el-link type="danger" @click="delDictItem(row.id)">转会商</el-link> -->
|
||||||
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs ">签收</el-link>
|
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs ">签收</el-link>
|
||||||
@ -74,7 +75,8 @@
|
|||||||
|
|
||||||
<!-- 处置建议 -->
|
<!-- 处置建议 -->
|
||||||
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
||||||
|
<ChooseJf v-model="chooseJfShow" titleValue="选择系数" :Single="false"
|
||||||
|
:chooseJfBh="chooseJfBh" url="/yjzxXwyj/sjxspz" :roleIds="roleIds"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@ -87,6 +89,8 @@ import Searchs from "@/components/aboutTable/Search.vue";
|
|||||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
import Items from "./item/items.vue";
|
import Items from "./item/items.vue";
|
||||||
|
import {yjzxXwyjSelectList } from "@/api/yj.js";
|
||||||
|
import ChooseJf from '@/components/ChooseList/ChooseJf/index.vue'
|
||||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||||
import HolographicArchive from '@/views/home/components/holographicArchive.vue'
|
import HolographicArchive from '@/views/home/components/holographicArchive.vue'
|
||||||
import { tbGsxtBqglSelectList } from '@/api/zdr'
|
import { tbGsxtBqglSelectList } from '@/api/zdr'
|
||||||
@ -323,6 +327,19 @@ const openSearch = () => {
|
|||||||
tabHeightFn()
|
tabHeightFn()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 选择系数
|
||||||
|
const chooseJfShow = ref(false)
|
||||||
|
const chooseJfBh = ref()
|
||||||
|
const roleIds=ref()
|
||||||
|
const chooseJfFun = (val) => {
|
||||||
|
chooseJfBh.value=val.id
|
||||||
|
yjzxXwyjSelectList(val.id).then(res => {
|
||||||
|
roleIds.value=res.sjxspzList.map(item => item.xsid)
|
||||||
|
chooseJfShow.value = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
const tabHeightFn = () => {
|
const tabHeightFn = () => {
|
||||||
if (search.value) {
|
if (search.value) {
|
||||||
|
|||||||
@ -40,13 +40,14 @@
|
|||||||
<DictTag :value="row.czzt" :options="D_GSXT_YJXX_CZZT" />
|
<DictTag :value="row.czzt" :options="D_GSXT_YJXX_CZZT" />
|
||||||
</template>
|
</template>
|
||||||
<template #expand="{ props }">
|
<template #expand="{ props }">
|
||||||
<div class="expand-content" style="max-width: 100%">
|
<div class="expand-content" style="max-width: 100%; max-height: 400px; overflow-y: auto; padding: 10px;">
|
||||||
<Items :row="props || {}" :dict="dict" />
|
<Items :row="props || {}" :dict="dict" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
||||||
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
||||||
|
<el-link type="primary" @click="chooseJfFun(row)" >配置系统</el-link>
|
||||||
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
||||||
<el-link type="danger" @click="delDictItem(row.id)">转会商</el-link> -->
|
<el-link type="danger" @click="delDictItem(row.id)">转会商</el-link> -->
|
||||||
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs">签收</el-link>
|
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs">签收</el-link>
|
||||||
@ -71,6 +72,9 @@
|
|||||||
<AddFrom ref="addModelRef" :dict="{ D_GSXT_YJXX_CZZT, D_BZ_YJJB, D_GS_SSYJ }" />
|
<AddFrom ref="addModelRef" :dict="{ D_GSXT_YJXX_CZZT, D_BZ_YJJB, D_GS_SSYJ }" />
|
||||||
<!-- 处置建议 -->
|
<!-- 处置建议 -->
|
||||||
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
||||||
|
|
||||||
|
<ChooseJf v-model="chooseJfShow" titleValue="选择系数" :Single="false"
|
||||||
|
:chooseJfBh="chooseJfBh" url="/yjzxZhyj/sjxspz" :roleIds="roleIds"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@ -81,7 +85,8 @@ import Searchs from "@/components/aboutTable/Search.vue";
|
|||||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
import Items from "./item/items.vue";
|
import Items from "./item/items.vue";
|
||||||
import { tbYjxxGetZbtj, tbGsxtBqzhSelectList } from '@/api/yj.js'
|
import ChooseJf from '@/components/ChooseList/ChooseJf/index.vue'
|
||||||
|
import { tbYjxxGetZbtj, tbGsxtBqzhSelectList,yjzxZhyjSelectList } from '@/api/yj.js'
|
||||||
import HolographicArchive from '@/views/home/components/holographicArchive.vue'
|
import HolographicArchive from '@/views/home/components/holographicArchive.vue'
|
||||||
import Information from "@/views/home/model/information.vue";
|
import Information from "@/views/home/model/information.vue";
|
||||||
import SemdFqzl from '@/components/instructionHasBeen/sendFqzl.vue'
|
import SemdFqzl from '@/components/instructionHasBeen/sendFqzl.vue'
|
||||||
@ -300,6 +305,20 @@ const openAddModel = (row) => {
|
|||||||
|
|
||||||
addModelRef.value.init(row)
|
addModelRef.value.init(row)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 选择系数
|
||||||
|
const chooseJfShow = ref(false)
|
||||||
|
const chooseJfBh = ref()
|
||||||
|
const roleIds=ref()
|
||||||
|
const chooseJfFun = (val) => {
|
||||||
|
chooseJfBh.value=val.id
|
||||||
|
yjzxZhyjSelectList(val.id).then(res => {
|
||||||
|
roleIds.value=res.sjxspzList.map(item => item.xsid)
|
||||||
|
chooseJfShow.value = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 搜索栏
|
// 搜索栏
|
||||||
const search = ref(false)
|
const search = ref(false)
|
||||||
const openSearch = () => {
|
const openSearch = () => {
|
||||||
@ -359,3 +378,4 @@ const exportExl = () => {
|
|||||||
background: rgba(0, 0, 0, 0.5) !important;
|
background: rgba(0, 0, 0, 0.5) !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,6 @@ const searchConfiger = ref(
|
|||||||
[
|
[
|
||||||
{ label: "预警级别", prop: 'yjjbList', placeholder: "请输入姓名", showType: "select", options: D_BZ_YJJB },
|
{ label: "预警级别", prop: 'yjjbList', placeholder: "请输入姓名", showType: "select", options: D_BZ_YJJB },
|
||||||
{ label: "预警类型", prop: 'yjlxList', placeholder: "请输入身份证号码", showType: "select", options: D_GS_ZDQT_YJLB },
|
{ label: "预警类型", prop: 'yjlxList', placeholder: "请输入身份证号码", showType: "select", options: D_GS_ZDQT_YJLB },
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
|
|||||||
@ -47,6 +47,7 @@
|
|||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
||||||
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
||||||
|
<el-link type="primary" @click="chooseJfFun(row)" >配置系统</el-link>
|
||||||
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
||||||
<el-link type="danger" @click="handleQsFk(row)">转会商</el-link> -->
|
<el-link type="danger" @click="handleQsFk(row)">转会商</el-link> -->
|
||||||
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs">签收</el-link>
|
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs">签收</el-link>
|
||||||
@ -72,6 +73,9 @@
|
|||||||
|
|
||||||
<!-- 处置建议 -->
|
<!-- 处置建议 -->
|
||||||
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
||||||
|
|
||||||
|
<ChooseJf v-model="chooseJfShow" titleValue="选择系数" :Single="false"
|
||||||
|
:chooseJfBh="chooseJfBh" url="/yjzxSfyj/sjxspz" :roleIds="roleIds"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@ -85,10 +89,11 @@ import HolographicArchive from '@/views/home/components/holographicArchive.vue'
|
|||||||
import Information from "@/views/home/model/information.vue";
|
import Information from "@/views/home/model/information.vue";
|
||||||
import SemdFqzl from '@/components/instructionHasBeen/sendFqzl.vue'
|
import SemdFqzl from '@/components/instructionHasBeen/sendFqzl.vue'
|
||||||
import AddFrom from "./components/addFrom.vue";
|
import AddFrom from "./components/addFrom.vue";
|
||||||
|
import ChooseJf from '@/components/ChooseList/ChooseJf/index.vue'
|
||||||
import FkDialog from "@/views/backOfficeSystem/fourColorManage/warningControl/centerHome/components/fkDialog.vue";
|
import FkDialog from "@/views/backOfficeSystem/fourColorManage/warningControl/centerHome/components/fkDialog.vue";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||||
import { yjzxSfyjSelectList } from "@/api/yj.js";
|
import { yjzxSfyjSelectList,yjzxyjzxSfyjSelectList } from "@/api/yj.js";
|
||||||
import { tbGsxtBqglSelectList } from '@/api/zdr'
|
import { tbGsxtBqglSelectList } from '@/api/zdr'
|
||||||
import Detail from './components/detail.vue'
|
import Detail from './components/detail.vue'
|
||||||
import { watch } from "vue";
|
import { watch } from "vue";
|
||||||
@ -320,6 +325,18 @@ const addModelRef = ref(null)
|
|||||||
const openAddFrom = (row) => {
|
const openAddFrom = (row) => {
|
||||||
addModelRef.value.init('add', row)
|
addModelRef.value.init('add', row)
|
||||||
}
|
}
|
||||||
|
// 选择系数
|
||||||
|
const chooseJfShow = ref(false)
|
||||||
|
const chooseJfBh = ref()
|
||||||
|
const roleIds=ref()
|
||||||
|
const chooseJfFun = (val) => {
|
||||||
|
chooseJfBh.value=val.id
|
||||||
|
yjzxyjzxSfyjSelectList(val.id).then(res => {
|
||||||
|
roleIds.value=res.sjxspzList.map(item => item.xsid)
|
||||||
|
chooseJfShow.value = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 搜索栏
|
// 搜索栏
|
||||||
const search = ref(false)
|
const search = ref(false)
|
||||||
const openSearch = () => {
|
const openSearch = () => {
|
||||||
|
|||||||
@ -7,21 +7,23 @@
|
|||||||
<el-input v-model="formData.ypyt" placeholder="请输入研判议题" clearable />
|
<el-input v-model="formData.ypyt" placeholder="请输入研判议题" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<!-- <el-col :span="12">
|
||||||
<el-form-item label="研判时间" prop="wcsj" class="mt10">
|
<el-form-item label="研判时间" prop="wcsj" class="mt10">
|
||||||
<el-date-picker v-model="formData.wcsj" type="datetime" placeholder="请选择研判时间" style="width: 100%;" />
|
<el-date-picker v-model="formData.wcsj" type="datetime" placeholder="请选择研判时间" style="width: 100%;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="报告类型" prop="bglx" class="mt10">
|
<el-form-item label="报告类型" prop="bglx" class="mt10">
|
||||||
<el-radio-group v-model="formData.bglx">
|
<el-radio-group v-model="formData.bglx">
|
||||||
<el-radio v-for="value in D_BZ_YPLX" :key="value.value" :label="value.value" :value="value.value" >{{value.label}}</el-radio>
|
<el-radio v-for="value in D_BZ_YPLX" :key="value.value" :label="value.value" :value="value.value">{{
|
||||||
|
value.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="参与研判部门" prop="deptIds" class="mt10">
|
<el-form-item label="参与研判部门" prop="bmdm" class="mt10">
|
||||||
<MOSTY.Department clearable v-model="formData.ypbmdm" multiple style="width: 100%;" />
|
<MOSTY.Department clearable v-model="formData.bmdm" multiple style="width: 100%;"
|
||||||
|
@getDepValue="getdep($event)" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
@ -43,40 +45,61 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
import { ElMessage } from 'element-plus';
|
import { ElMessage } from 'element-plus';
|
||||||
import { qcckPost } from '@/api/qcckApi'
|
import { qcckPost } from '@/api/qcckApi'
|
||||||
import { ref,getCurrentInstance } from 'vue'
|
import { ref, getCurrentInstance } from 'vue'
|
||||||
const emit = defineEmits(['change']);
|
const emit = defineEmits(['change']);
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { D_BZ_YPLX,D_BZ_YPFS } = proxy.$dict('D_BZ_YPLX','D_BZ_YPFS')
|
const { D_BZ_YPLX, D_BZ_YPFS } = proxy.$dict('D_BZ_YPLX', 'D_BZ_YPFS')
|
||||||
const visible = ref(true)
|
const visible = ref(false)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const formRef = ref()
|
const formRef = ref()
|
||||||
const formData = ref({})
|
const formData = ref({})
|
||||||
|
|
||||||
const rules = ref({
|
const rules = ref({
|
||||||
ypyt: [{ required: true, message: '请输入研判议题', trigger: 'blur' }],
|
ypyt: [{ required: true, message: '请输入研判议题', trigger: 'blur' }],
|
||||||
wcsj: [{ required: true, message: '请选择研判时间', trigger: 'change' }],
|
// wcsj: [{ required: true, message: '请选择研判时间', trigger: 'change' }],
|
||||||
bglx: [{ required: true, message: '请选择报告类型', trigger: 'change' }],
|
bglx: [{ required: true, message: '请选择报告类型', trigger: 'change' }],
|
||||||
ypfs: [{ required: true, message: '请选择研判方式', trigger: 'change' }],
|
ypfs: [{ required: true, message: '请选择研判方式', trigger: 'change' }],
|
||||||
deptIds: [{ required: true, message: '请选择参与研判部门', trigger: 'change' }],
|
deptIds: [{ required: true, message: '请选择参与研判部门', trigger: 'change' }],
|
||||||
ypyq: [{ required: true, message: '请输入研判内容', trigger: 'blur' }],
|
ypyq: [{ required: true, message: '请输入研判内容', trigger: 'blur' }],
|
||||||
})
|
})
|
||||||
const init = (row) => {
|
|
||||||
|
const init = (row) => {
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
formData.value = Object.assign({}, formData.value, row || {})
|
formData.value = {
|
||||||
|
sjly: '03',
|
||||||
|
sjlyid: row.jjdbh,
|
||||||
}
|
}
|
||||||
const close = () => {
|
}
|
||||||
|
const close = () => {
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
|
}
|
||||||
|
const deptIds = ref([])
|
||||||
|
const getdep = (e) => {
|
||||||
|
if (Array.isArray(e)) {
|
||||||
|
deptIds.value = e
|
||||||
|
} else {
|
||||||
|
deptIds.value = [e]
|
||||||
}
|
}
|
||||||
const submitForm = () => {
|
}
|
||||||
|
const submitForm = () => {
|
||||||
formRef.value.validate((valid) => {
|
formRef.value.validate((valid) => {
|
||||||
if (!valid) return;
|
if (!valid) return;
|
||||||
let data = { ...formData.value, yplx:'01' }
|
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
qcckPost(data,'/mosty-gsxt/lzJcjPjdb/sdyp').then(res => {
|
const promes = {
|
||||||
|
...formData.value,
|
||||||
|
cyypList: deptIds.value.map((item) => {
|
||||||
|
return {
|
||||||
|
ypbmmc: item.orgName,
|
||||||
|
ypbmdm: item.orgCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
),
|
||||||
|
}
|
||||||
|
qcckPost(promes, '/mosty-gsxt/lzJcjPjdb/sdyp').then(res => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
ElMessage.success('研判成功');
|
ElMessage.success('研判成功');
|
||||||
emit('change');
|
emit('change');
|
||||||
@ -86,8 +109,8 @@
|
|||||||
ElMessage.error('研判失败');
|
ElMessage.error('研判失败');
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
defineExpose({
|
defineExpose({
|
||||||
init,
|
init,
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -25,16 +25,17 @@
|
|||||||
<template #jqlbdm="{ row }">
|
<template #jqlbdm="{ row }">
|
||||||
<DictTag :tag="false" :value="row.jqlbdm" :options="JQLB" />
|
<DictTag :tag="false" :value="row.jqlbdm" :options="JQLB" />
|
||||||
</template>
|
</template>
|
||||||
|
<template #ypzt="{ row }">
|
||||||
|
{{ row.ypzt === '01' ? '已研判' : '未研判' }}
|
||||||
|
</template>
|
||||||
<!-- <template #jqdjdm="{ row }">
|
<!-- <template #jqdjdm="{ row }">
|
||||||
<DictTag :tag="false" :value="row.jqdjdm" :options="D_BZ_JQDJ" />
|
<DictTag :tag="false" :value="row.jqdjdm" :options="D_BZ_JQDJ" />
|
||||||
</template> -->
|
</template> -->
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="warning" @click="addEdit('edit', row)">研判</el-link>
|
|
||||||
<el-link type="danger" @click="addEdit('edit', row)">深度研判</el-link>
|
|
||||||
<el-link type="primary" @click="addEdit('edit', row)">详情</el-link>
|
<el-link type="primary" @click="addEdit('edit', row)">详情</el-link>
|
||||||
<el-link type="primary" @click="handleYP('研判', row)">研判</el-link>
|
<el-link type="warning" @click="handleYP('研判', row)">研判</el-link>
|
||||||
<el-link type="primary" @click="handleYP('深度研判', row)">深度研判</el-link>
|
<el-link type="danger" @click="handleYP('深度研判', row)">深度研判</el-link>
|
||||||
</template>
|
</template>
|
||||||
</MyTable>
|
</MyTable>
|
||||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
@ -48,7 +49,7 @@
|
|||||||
|
|
||||||
<!-- 研判弹窗 -->
|
<!-- 研判弹窗 -->
|
||||||
<YpDialog ref="ypDialog" @change="getList" />
|
<YpDialog ref="ypDialog" @change="getList" />
|
||||||
<!-- <DeepYpDialog ref="deepYpDialog" @change="getList" /> -->
|
<DeepYpDialog ref="deepYpDialog" @change="getList" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -122,7 +123,7 @@ const pageData = reactive({
|
|||||||
{ label: "警情类型", prop: "jqlbdm",showSolt:true },
|
{ label: "警情类型", prop: "jqlbdm",showSolt:true },
|
||||||
{ label: "警情地址", prop: "jqdz" },
|
{ label: "警情地址", prop: "jqdz" },
|
||||||
{ label: "补充接警内容", prop: "bcjjnr", showOverflowTooltip: true },
|
{ label: "补充接警内容", prop: "bcjjnr", showOverflowTooltip: true },
|
||||||
|
{ label: "研判状态", prop: "ypzt",showSolt:true },
|
||||||
|
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
163
src/views/home/components/keyGroups.vue
Normal file
163
src/views/home/components/keyGroups.vue
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-model="modelValue" title="重点群体" width="70%" @close="closeDialog" destroy-on-close append-to-body>
|
||||||
|
<div style="height: 60vh; overflow: auto;">
|
||||||
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||||
|
@chooseData="chooseData" fixed="right">
|
||||||
|
<template #qtLb="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.qtLb" :options="D_GS_ZDQT_LB" />
|
||||||
|
</template>
|
||||||
|
<template #qtFxdj="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.qtFxdj" :options="D_GS_ZDQT_FXDJ" />
|
||||||
|
</template>
|
||||||
|
<template #bqList="{ row }">
|
||||||
|
<ul>
|
||||||
|
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{
|
||||||
|
item.bqFz || 0 }} 分) </li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
<template #zdryList="{ row }">
|
||||||
|
<span style="color: #0072ff">{{ row.zdryList ? row.zdryList.length : 0 }}</span>
|
||||||
|
</template>
|
||||||
|
<template #qtZt="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.qtZt" :options="D_GS_ZDQT_ZT" />
|
||||||
|
</template>
|
||||||
|
</MyTable>
|
||||||
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
|
...pageData.pageConfiger,
|
||||||
|
total: pageData.total
|
||||||
|
}"></Pages>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="closeDialog">取消</el-button>
|
||||||
|
<el-button type="primary" @click="closeDialog">确认 </el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||||
|
import { ref, reactive, getCurrentInstance, watch } from "vue";
|
||||||
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
import {timeValidate} from '@/utils/tools.js'
|
||||||
|
const route = useRoute()
|
||||||
|
const router = useRouter()
|
||||||
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_GS_ZDR_CZZT, D_GS_BK_SQLX, D_GS_ZDQT_FXDJ, D_GS_ZDR_RYJB, D_GS_ZDQT_LB, D_GS_ZDR_BK_ZT, D_GS_BQ_LX, D_GS_ZDQT_ZT, D_BZ_SF, D_BZ_XB, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } = proxy.$dict("D_GS_ZDR_CZZT", "D_GS_BK_SQLX", "D_GS_ZDQT_FXDJ", "D_GS_ZDR_RYJB", "D_GS_ZDQT_LB", "D_GS_ZDR_BK_ZT", "D_GS_BQ_LX", "D_GS_ZDQT_ZT", "D_BZ_SF", "D_BZ_XB", "D_GS_XS_LY", "D_BZ_SSZT", "D_GS_XS_LX", "D_GS_XS_QTLX"); //获取字典数据
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
dict: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const searchConfiger = ref([
|
||||||
|
{
|
||||||
|
label: "群体名称",
|
||||||
|
prop: "qtMc",
|
||||||
|
placeholder: "请输入群体名称",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "群体风险等级",
|
||||||
|
prop: "qtFxdj",
|
||||||
|
placeholder: "请选择群体风险等级",
|
||||||
|
showType: "select",
|
||||||
|
options: D_GS_ZDQT_FXDJ
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "群体类别",
|
||||||
|
prop: "qtLb",
|
||||||
|
placeholder: "请选择群体类别",
|
||||||
|
showType: "select",
|
||||||
|
options: D_GS_ZDQT_LB
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "所属部门",
|
||||||
|
prop: "ssbmdm",
|
||||||
|
placeholder: "请输入所属部门",
|
||||||
|
showType: "department",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const emit = defineEmits(['update:modelValue'])
|
||||||
|
const closeDialog = () => {
|
||||||
|
emit('update:modelValue', false)
|
||||||
|
}
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [],
|
||||||
|
keyCount: 0,
|
||||||
|
tableConfiger: {
|
||||||
|
loading: false,
|
||||||
|
rowHieght: 40,
|
||||||
|
haveControls: false,
|
||||||
|
},
|
||||||
|
controlsWidth: 160, //操作栏宽度
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "群体名称", prop: "qtMc", width: 150 },
|
||||||
|
{ label: "群体类别", prop: "qtLb", showSolt: true, width: 150 },
|
||||||
|
{ label: "风险等级", prop: "qtFxdj", showSolt: true, width: 150 },
|
||||||
|
{ label: "背景资料", prop: "qtBjzl", width: 150 },
|
||||||
|
{ label: "背景信息", prop: "bgxx", showSolt: true, width: 150 },
|
||||||
|
{ label: "管辖单位", prop: "gxSsdwmc", width: 150 },
|
||||||
|
{ label: "列控原因", prop: "zdrLkyy", width: 150 },
|
||||||
|
{ label: "开始时间", prop: "zdrRkkssj", width: 150 },
|
||||||
|
{ label: "截至时间", prop: "zdrRkjssj", width: 150 },
|
||||||
|
{ label: "稳控人数", prop: "zdryList", showSolt: true, width: 150 },
|
||||||
|
{ label: "状态", prop: "qtZt", showSolt: true, width: 150 },
|
||||||
|
{ label: "标签", prop: "bqList", showSolt: true, showOverflowTooltip: true, width: 400 },
|
||||||
|
{ label: "创建单位", prop: "xtCjbmmc", width: 150 },
|
||||||
|
{ label: "创建时间", prop: "xtCjsj", width: 150 },
|
||||||
|
],
|
||||||
|
tableHeight: "42vh",
|
||||||
|
});
|
||||||
|
const parameter = ref()
|
||||||
|
const onSearch = (val) => {
|
||||||
|
parameter.value = { ...val }
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
watch(() => props.modelValue, (val) => {
|
||||||
|
if (val) {
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const changePage = () => {
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
let data = {...pageData.pageConfiger, ...parameter.value };
|
||||||
|
qcckGet(data, "/mosty-gsxt/tbGsxtZdqt/selectPage").then((res) => {
|
||||||
|
pageData.tableData = res.records || [];
|
||||||
|
pageData.total = res.total;
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
}).catch(() => {
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const changeNo = (val) => {
|
||||||
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
const changeSize = (val) => {
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
209
src/views/home/components/keyPerson.vue
Normal file
209
src/views/home/components/keyPerson.vue
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-model="modelValue" title="重点人总数" width="70%" @close="closeDialog" destroy-on-close append-to-body>
|
||||||
|
<div style="height: 60vh; overflow: auto;">
|
||||||
|
|
||||||
|
|
||||||
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||||
|
@chooseData="chooseData">
|
||||||
|
<template #bqList="{ row }">
|
||||||
|
<ul>
|
||||||
|
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{
|
||||||
|
item.bqFz || 0 }} 分) </li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
<template #ryXb="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" />
|
||||||
|
</template>
|
||||||
|
<template #ryJg="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM" />
|
||||||
|
</template>
|
||||||
|
<template #ryMz="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" />
|
||||||
|
</template>
|
||||||
|
<template #hjdQh="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" />
|
||||||
|
</template>
|
||||||
|
<template #zdrRyjb="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB" />
|
||||||
|
</template>
|
||||||
|
<template #zdrBkZt="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" />
|
||||||
|
</template>
|
||||||
|
<template #zdrCzzt="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" />
|
||||||
|
</template>
|
||||||
|
<template #zdrZt="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.zdrZt" :options="D_GS_ZDQT_ZT" />
|
||||||
|
</template>
|
||||||
|
<template #xtSjzt="{ row }">
|
||||||
|
<div> {{ row.xtSjzt == 0 ? "注销" : row.xtSjzt == 1 ? "正常" : "封存" }}</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- 操作 -->
|
||||||
|
<template #controls="{ row }">
|
||||||
|
<el-link size="small" type="success" @click="handleremove(row.id)">移除</el-link>
|
||||||
|
<el-link size="small" type="success" v-if="row.zdrZt == '01' || row.zdrZt == '03'"
|
||||||
|
@click="handleSend(row.id)">送审</el-link>
|
||||||
|
<el-link size="small" type="primary" v-if="row.zdrZt == '01' || row.zdrZt == '03'"
|
||||||
|
@click="addEdit('edit', row)">编辑</el-link>
|
||||||
|
<el-link size="small" type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||||
|
<el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link>
|
||||||
|
</template>
|
||||||
|
</MyTable>
|
||||||
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
|
...pageData.pageConfiger,
|
||||||
|
total: pageData.total
|
||||||
|
}"></Pages>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="closeDialog">取消</el-button>
|
||||||
|
<el-button type="primary" @click="closeDialog">确认 </el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||||
|
import { ref, reactive, getCurrentInstance, watch } from "vue";
|
||||||
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
import {timeValidate} from '@/utils/tools.js'
|
||||||
|
const route = useRoute()
|
||||||
|
const router = useRouter()
|
||||||
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_GS_ZDQT_ZT, D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } =
|
||||||
|
proxy.$dict("D_GS_ZDQT_ZT", "D_GS_ZDR_RYJB", "D_BZ_XB", "D_BZ_MZ", "D_BZ_XZQHDM", "D_GS_ZDR_BK_ZT", "D_GS_ZDR_CZZT", "D_GS_BQ_ZL", "D_GS_BQ_LB", "D_GS_BQ_LX", "D_GS_ZDR_YJDJ", "D_GS_BK_SSJZ", "D_GS_BK_SQLX", "D_BZ_SF", "D_GS_XS_LY", "D_BZ_SSZT", "D_GS_XS_LX", "D_GS_XS_QTLX");
|
||||||
|
const obj = ref({});
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
dict: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const searchConfiger = ref([
|
||||||
|
{
|
||||||
|
label: "姓名",
|
||||||
|
prop: "ryXm",
|
||||||
|
placeholder: "请输入姓名",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "身份证",
|
||||||
|
prop: "rySfzh",
|
||||||
|
placeholder: "请输入身份证",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "户籍地",
|
||||||
|
prop: "hjdXz",
|
||||||
|
placeholder: "请输入户籍地",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "人员级别",
|
||||||
|
prop: "zdrRyjb",
|
||||||
|
placeholder: "请输入人员级别",
|
||||||
|
showType: "select",
|
||||||
|
options: D_GS_ZDR_RYJB
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "所属部门",
|
||||||
|
prop: "gxSsbmdm",
|
||||||
|
placeholder: "请输入所属部门",
|
||||||
|
showType: "department",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const emit = defineEmits(['update:modelValue'])
|
||||||
|
const closeDialog = () => {
|
||||||
|
emit('update:modelValue', false)
|
||||||
|
}
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [],
|
||||||
|
keyCount: 0,
|
||||||
|
tableConfiger: {
|
||||||
|
loading: false,
|
||||||
|
rowHieght: 40,
|
||||||
|
haveControls: false,
|
||||||
|
},
|
||||||
|
controlsWidth: 160, //操作栏宽度
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "姓名", prop: "ryXm", width: 150 },
|
||||||
|
{ label: "性别", prop: "ryXb", showSolt: true, width: 100 },
|
||||||
|
{ label: "籍贯", prop: "ryJg", showSolt: true, width: 100 },
|
||||||
|
{ label: "身份证", prop: "rySfzh", width: 200 },
|
||||||
|
{ label: "民族", prop: "ryMz", showSolt: true, width: 100 },
|
||||||
|
{ label: "户籍地区划", prop: "hjdQh", showSolt: true, width: 150 },
|
||||||
|
{ label: "户籍派出所", prop: "hjdPcsmc", width: 200 },
|
||||||
|
{ label: "户籍地详址", prop: "hjdXz", width: 200 },
|
||||||
|
{ label: "标签", prop: "bqList", showSolt: true, width: 400, showOverflowTooltip: true },
|
||||||
|
{ label: "管辖单位", prop: "gxSsbmmc", width: 200 },
|
||||||
|
{ label: "人员级别", prop: "zdrRyjb", showSolt: true, width: 130 },
|
||||||
|
{ label: "管控原因", prop: "zdrLkyy", width: 200, showOverflowTooltip: true },
|
||||||
|
{ label: "管控状态", prop: "zdrBkZt", width: 200, showOverflowTooltip: true },
|
||||||
|
{ label: "处置状态", prop: "zdrCzzt", showSolt: true },
|
||||||
|
{ label: "审核状态", prop: "zdrZt", showSolt: true },
|
||||||
|
{ label: "状态", prop: "xtSjzt", showSolt: true },
|
||||||
|
],
|
||||||
|
tableHeight: "42vh",
|
||||||
|
});
|
||||||
|
const parameter = ref()
|
||||||
|
const onSearch = (val) => {
|
||||||
|
parameter.value = { ...val }
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
watch(() => props.modelValue, (val) => {
|
||||||
|
if (val) {
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const changePage = () => {
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
|
||||||
|
let data = {...pageData.pageConfiger, ...parameter.value };
|
||||||
|
qcckGet(data, "/mosty-gsxt/tbGsxtZdry/selectPage").then((res) => {
|
||||||
|
pageData.tableData = res.records || [];
|
||||||
|
pageData.total = res.total;
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
}).catch(() => {
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查看详情
|
||||||
|
const showDetail = (item) => {
|
||||||
|
router.push({
|
||||||
|
path: '/CollectCrculate',
|
||||||
|
query: {
|
||||||
|
id: item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const changeNo = (val) => {
|
||||||
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
const changeSize = (val) => {
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
191
src/views/home/components/numberWarnings.vue
Normal file
191
src/views/home/components/numberWarnings.vue
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-model="modelValue" title="预警总数" width="70%" @close="closeDialog" destroy-on-close append-to-body>
|
||||||
|
<div style="height: 60vh; overflow: auto;">
|
||||||
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
|
<template #yjtp="{ row }">
|
||||||
|
<div v-if="!row.yjtp || row.yjtp.includes('baidu')">
|
||||||
|
<img src="@/assets/images/car.png" width="65" height="70" v-if="row.yjlb == 2" />
|
||||||
|
<img src="@/assets/images/default_male.png" width="65" height="70" v-else />
|
||||||
|
</div>
|
||||||
|
<el-image preview-teleported v-else @click.stop style="width: 65px; height: 70px" :src="row.yjtp"
|
||||||
|
:preview-src-list="[row.yjtp]" show-progress>
|
||||||
|
<template #error>
|
||||||
|
<div class="image-slot error">
|
||||||
|
<img src="@/assets/images/car.png" width="65" height="70" v-if="row.yjlb == 2" />
|
||||||
|
<img src="@/assets/images/default_male.png" width="65" height="70" v-else />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-image>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #yjjb="{ row }">
|
||||||
|
<DictTag :value="row.yjjb" :tag="false" :color="bqYs(row.yjjb)" :options="D_BZ_YJJB" />
|
||||||
|
</template>
|
||||||
|
<template #yjlx="{ row }">
|
||||||
|
<DictTag :value="row.yjlx" :tag="false" :options="D_GS_ZDQT_YJLB" />
|
||||||
|
</template>
|
||||||
|
<template #yjlb="{ row }">
|
||||||
|
<DictTag :value="row.yjlb" :options="D_BZ_YJLX" />
|
||||||
|
</template>
|
||||||
|
<template #controls="{ row }">
|
||||||
|
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
||||||
|
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link> -->
|
||||||
|
<!-- <el-link type="danger" @click="delDictItem(row.id)">转会商</el-link> -->
|
||||||
|
<!-- <el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01'">签收</el-link>
|
||||||
|
<el-link type="success" @click="handleQsFk(row, '反馈')" v-else-if="row.czzt == '02'">反馈</el-link>
|
||||||
|
<el-link type="success" @click="handleQsFk(row, '查看反馈')" v-else>查看反馈</el-link> -->
|
||||||
|
<!-- <el-link type="primary" @click="openAddModel(row)">详情</el-link> -->
|
||||||
|
</template>
|
||||||
|
</MyTable>
|
||||||
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
|
...pageData.pageConfiger,
|
||||||
|
total: pageData.total
|
||||||
|
}"></Pages>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="closeDialog">取消</el-button>
|
||||||
|
<el-button type="primary" @click="closeDialog">确认 </el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||||
|
import { ref, reactive, getCurrentInstance, watch } from "vue";
|
||||||
|
import {timeValidate} from '@/utils/tools.js'
|
||||||
|
const { proxy } = getCurrentInstance()
|
||||||
|
|
||||||
|
const { D_BZ_YJJB, D_GS_ZDQT_YJLB, D_BZ_YJLX } = proxy.$dict("D_BZ_YJJB", "D_GS_ZDQT_YJLB", "D_BZ_YJLX"); //获取字典数据
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
dict: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const searchConfiger = ref([
|
||||||
|
{ label: "预警级别", prop: 'yjjbList', placeholder: "请输入姓名", showType: "select", options: D_BZ_YJJB },
|
||||||
|
{ label: "预警类型", prop: 'yjlxList', placeholder: "请输入身份证号码", showType: "select", options: D_GS_ZDQT_YJLB },
|
||||||
|
{
|
||||||
|
label: "上报时间",
|
||||||
|
prop: "startTime",
|
||||||
|
placeholder: "请选择时间",
|
||||||
|
showType: "datetimerange"
|
||||||
|
}, {
|
||||||
|
label: "所属部门",
|
||||||
|
prop: "ssbmdm",
|
||||||
|
placeholder: "请输入所属部门",
|
||||||
|
showType: "department",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const emit = defineEmits(['update:modelValue'])
|
||||||
|
const closeDialog = () => {
|
||||||
|
emit('update:modelValue', false)
|
||||||
|
}
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [],
|
||||||
|
keyCount: 0,
|
||||||
|
tableConfiger: {
|
||||||
|
loading: false,
|
||||||
|
rowHieght: 40,
|
||||||
|
haveControls: false,
|
||||||
|
},
|
||||||
|
controlsWidth: 160, //操作栏宽度
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "预警图片", prop: "yjtp", showSolt: true },
|
||||||
|
{ label: "姓名", prop: "ryxm" },
|
||||||
|
{ label: "身份证号", prop: "rysfzh", width: 200 },
|
||||||
|
{ label: "预警标签", prop: "yjbq", width: 150 },
|
||||||
|
{ label: "预警地址", prop: "yjdz" },
|
||||||
|
{ label: "预警级别", prop: "yjjb", showSolt: true },
|
||||||
|
{ label: "预警类别", prop: "yjlb", showSolt: true },
|
||||||
|
{ label: "预警类型", prop: "yjlx", showSolt: true },
|
||||||
|
{ label: "预警时间", prop: "yjsj" },
|
||||||
|
{ label: "所属部门", prop: "ssbm" },
|
||||||
|
{ label: "车牌号", prop: "cph" },
|
||||||
|
],
|
||||||
|
tableHeight: "47vh",
|
||||||
|
});
|
||||||
|
const parameter = ref()
|
||||||
|
const onSearch = (val) => {
|
||||||
|
const promes = {
|
||||||
|
startTime: val.startTime && val.startTime.length > 0 ? val.startTime[0] : '',
|
||||||
|
endTime: val.startTime && val.startTime.length > 0 ? val.startTime[1] : '',
|
||||||
|
}
|
||||||
|
parameter.value = { ...val, ...promes }
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
watch(() => props.modelValue, (val) => {
|
||||||
|
if (val) {
|
||||||
|
// 获取今天的开始时间和结束时间
|
||||||
|
let today = new Date();
|
||||||
|
let startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());
|
||||||
|
let endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59, 999);
|
||||||
|
parameter.value = {startTime:timeValidate(startOfDay), endTime:timeValidate(endOfDay)}
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const ORDIMG = 'https://89.40.7.122:38496/image'
|
||||||
|
const IMGYM = 'https://sg.lz.dsj.xz/dhimage'
|
||||||
|
const changePage = () => {
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
const promes = {
|
||||||
|
...parameter.value,
|
||||||
|
yjjbList:parameter.value.yjjbList? [parameter.value.yjjbList] : [],
|
||||||
|
yjlxList: parameter.value.yjlxList? [parameter.value.yjlxList] : [],
|
||||||
|
pageCurrent: pageData.pageConfiger.pageCurrent,
|
||||||
|
pageSize: pageData.pageConfiger.pageSize
|
||||||
|
}
|
||||||
|
qcckPost(promes, '/mosty-gsxt/tbYjxx/getPageAllList').then((res) => {
|
||||||
|
pageData.total = res.total || 0;
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
pageData.tableData = res.records.map(item => {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
yjtp: item.yjlx == '01' ? item.yjtp.replace(ORDIMG, IMGYM) : item.yjtp
|
||||||
|
}
|
||||||
|
}) || [];
|
||||||
|
}).catch(() => {
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const bqYs = (val) => {
|
||||||
|
if (val == '01') {
|
||||||
|
return '#ff0202'
|
||||||
|
} else if (val == '02') {
|
||||||
|
return '#ff8c00'
|
||||||
|
} else if (val == '03') {
|
||||||
|
return '#ffd325'
|
||||||
|
} else if (val == '04') {
|
||||||
|
return '#0000ff'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const changeNo = (val) => {
|
||||||
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
const changeSize = (val) => {
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
|
|
||||||
185
src/views/home/components/policeReports.vue
Normal file
185
src/views/home/components/policeReports.vue
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-model="modelValue" title="警情总数" width="70%" @close="closeDialog" destroy-on-close append-to-body>
|
||||||
|
<div style="height: 60vh; overflow: auto;">
|
||||||
|
|
||||||
|
|
||||||
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
|
<!-- <template #jjlx="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.jjlx" :options="D_BZ_JQBQ" />
|
||||||
|
</template> -->
|
||||||
|
<template #jqdjdm="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.jqdjdm" :options="D_GS_BQ_DJ" />
|
||||||
|
</template>
|
||||||
|
<template #jqlbdm="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.jqlbdm" :options="JQLB" />
|
||||||
|
</template>
|
||||||
|
<template #ypzt="{ row }">
|
||||||
|
{{ row.ypzt === '01' ? '已研判' : '未研判' }}
|
||||||
|
</template>
|
||||||
|
<!-- <template #jqdjdm="{ row }">
|
||||||
|
<DictTag :tag="false" :value="row.jqdjdm" :options="D_BZ_JQDJ" />
|
||||||
|
</template> -->
|
||||||
|
<!-- 操作 -->
|
||||||
|
<!-- <template #controls="{ row }">
|
||||||
|
<el-link type="primary" @click="addEdit('edit', row)">详情</el-link>
|
||||||
|
<el-link type="warning" @click="handleYP('研判', row)">研判</el-link>
|
||||||
|
<el-link type="danger" @click="handleYP('深度研判', row)">深度研判</el-link>
|
||||||
|
</template> -->
|
||||||
|
</MyTable>
|
||||||
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
|
...pageData.pageConfiger,
|
||||||
|
total: pageData.total
|
||||||
|
}"></Pages>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="closeDialog">取消</el-button>
|
||||||
|
<el-button type="primary" @click="closeDialog">确认 </el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import { lzJcjPjdbSelectPage } from '@/api/semanticAnalysis.js'
|
||||||
|
import { ref, reactive, getCurrentInstance, watch } from "vue";
|
||||||
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
import {timeValidate} from '@/utils/tools.js'
|
||||||
|
const route = useRoute()
|
||||||
|
const router = useRouter()
|
||||||
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_GS_BQ_DJ,JQLB,JQLX,JQXL,JQZL,D_BZ_JQLY,D_BZ_JQFL,JQLB_DP,D_BZ_JQBQ,D_GS_SSYJ } = proxy.$dict('D_GS_BQ_DJ',"JQLB",'JQLX','JQXL','JQZL','D_BZ_JQLY','D_BZ_JQFL','JQLB_DP','D_BZ_JQBQ','D_GS_SSYJ'); //获取字典数据
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
dict: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const searchConfiger = ref([
|
||||||
|
{
|
||||||
|
label: "接警员姓名",
|
||||||
|
prop: "jjyxm",
|
||||||
|
placeholder: "请输入接警员姓名",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "报警内容",
|
||||||
|
prop: "bjnr",
|
||||||
|
placeholder: "请输入报警内容",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "接警单编号",
|
||||||
|
prop: "jjdbh",
|
||||||
|
placeholder: "请输入接警单编号",
|
||||||
|
showType: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "警情级别",
|
||||||
|
prop: "jqdjdm",
|
||||||
|
placeholder: "请选择警情级别",
|
||||||
|
showType: "select",
|
||||||
|
options: D_GS_BQ_DJ
|
||||||
|
}, {
|
||||||
|
label: "上报时间",
|
||||||
|
prop: "startTime",
|
||||||
|
placeholder: "请选择时间",
|
||||||
|
showType: "daterange"
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const emit = defineEmits(['update:modelValue'])
|
||||||
|
const closeDialog = () => {
|
||||||
|
emit('update:modelValue', false)
|
||||||
|
}
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [],
|
||||||
|
keyCount: 0,
|
||||||
|
tableConfiger: {
|
||||||
|
loading: false,
|
||||||
|
rowHieght: 40,
|
||||||
|
haveControls: false,
|
||||||
|
},
|
||||||
|
controlsWidth: 160, //操作栏宽度
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "接警单编号", prop: "jjdbh" },
|
||||||
|
{ label: "报警电话", prop: "bjdh" },
|
||||||
|
{ label: "报警时间", prop: "bjsj" },
|
||||||
|
{ label: "报警内容", prop: "bjnr", showOverflowTooltip: true },
|
||||||
|
{ label: "接警员姓名", prop: "jjyxm" },
|
||||||
|
{ label: "警情级别", prop: "jqdjdm",showSolt:true },
|
||||||
|
// { label: "警情标签", prop: "jjlx", showSolt: true },
|
||||||
|
{ label: "警情类型", prop: "jqlbdm",showSolt:true },
|
||||||
|
{ label: "警情地址", prop: "jqdz" },
|
||||||
|
{ label: "补充接警内容", prop: "bcjjnr", showOverflowTooltip: true },
|
||||||
|
{ label: "研判状态", prop: "ypzt",showSolt:true },
|
||||||
|
],
|
||||||
|
tableHeight: "43vh",
|
||||||
|
});
|
||||||
|
const parameter = ref()
|
||||||
|
const onSearch = (val) => {
|
||||||
|
const promes = {
|
||||||
|
startTime: val.startTime && val.startTime.length > 0 ? val.startTime[0] : '',
|
||||||
|
endTime: val.startTime && val.startTime.length > 0 ? val.startTime[1] : '',
|
||||||
|
}
|
||||||
|
parameter.value = { ...val, ...promes }
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
watch(() => props.modelValue, (val) => {
|
||||||
|
if (val) {
|
||||||
|
parameter.value = {startTime:timeValidate(new Date(),'ymd'),endTime:timeValidate(new Date(),'ymd')}
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const changePage = () => {
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
const params = {
|
||||||
|
pageCurrent: pageData.pageConfiger.pageCurrent,
|
||||||
|
pageSize: pageData.pageConfiger.pageSize,
|
||||||
|
...parameter.value
|
||||||
|
}
|
||||||
|
lzJcjPjdbSelectPage(params).then(res => {
|
||||||
|
console.log(res);
|
||||||
|
pageData.tableData = res.records || [];
|
||||||
|
pageData.total = res.total;
|
||||||
|
|
||||||
|
}).finally(() => {
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查看详情
|
||||||
|
const showDetail = (item) => {
|
||||||
|
router.push({
|
||||||
|
path: '/CollectCrculate',
|
||||||
|
query: {
|
||||||
|
id: item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const changeNo = (val) => {
|
||||||
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
const changeSize = (val) => {
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
changePage()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
@ -327,7 +327,7 @@ onMounted(() => {
|
|||||||
getTbYjxxGetList()
|
getTbYjxxGetList()
|
||||||
// 初始化音频播放器
|
// 初始化音频播放器
|
||||||
initAudioPlayer()
|
initAudioPlayer()
|
||||||
// webSoket.connect()
|
webSoket.connect()
|
||||||
// 监听音频播放事件,获取WebSocket消息数据
|
// 监听音频播放事件,获取WebSocket消息数据
|
||||||
emitter.on("openYp", (newsDate) => {
|
emitter.on("openYp", (newsDate) => {
|
||||||
// 使用工具类播放音频,自动处理静音切换
|
// 使用工具类播放音频,自动处理静音切换
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :model-value="modelValue" @update:model-value="emit('update:modelValue', $event)" title="重点人员列表" width="70%" @close="closeDialog" destroy-on-close>
|
<el-dialog :model-value="modelValue" @update:model-value="emit('update:modelValue', $event)" title="重点人员列表" width="70%" @close="closeDialog" destroy-on-close append-to-body>
|
||||||
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
<MyTable customClass="zdy_peo_table" :tableData="pageData.tableData" :tableColumn="pageData.tableColumn"
|
<MyTable customClass="zdy_peo_table" :tableData="pageData.tableData" :tableColumn="pageData.tableColumn"
|
||||||
:tableHeight="pageData.tableHeight" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger"
|
:tableHeight="pageData.tableHeight" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger"
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="ww100 h80 flex just-between align-center pl10 pr10">
|
<div class="ww100 h80 flex just-between align-center pl10 pr10">
|
||||||
<div class="flex align-center" v-for="(item, idx) in contentItem" :key="idx">
|
<div class="flex align-center" v-for="(item, idx) in contentItem" :key="idx" @click="openTc(item.type)">
|
||||||
<div class="mr10"><img :src="item.icon" alt=""></div>
|
<div class="mr10"><img :src="item.icon" alt=""></div>
|
||||||
<div class="vountItem">
|
<div class="vountItem">
|
||||||
<div style="color:#ffffff" class="f16 lh20">{{ item.label }}</div>
|
<div style="color:#ffffff" class="f16 lh20">{{ item.label }}</div>
|
||||||
@ -8,11 +8,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<PoliceReports v-model="openJqzs"/>
|
||||||
|
<NumberWarnings v-model="openYjzs"/>
|
||||||
|
<keyPerson v-model="openZdry"/>
|
||||||
|
<keyGroups v-model="openZdqt"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { qcckPost } from "@/api/qcckApi.js";
|
import { qcckPost } from "@/api/qcckApi.js";
|
||||||
import { ref, onMounted } from "vue";
|
import { ref, onMounted } from "vue";
|
||||||
|
import PoliceReports from '@/views/home/components/policeReports.vue'
|
||||||
|
import NumberWarnings from '@/views/home/components/numberWarnings.vue'
|
||||||
|
import keyPerson from "@/views/home/components/keyPerson.vue";
|
||||||
|
import keyGroups from "@/views/home/components/keyGroups.vue";
|
||||||
|
|
||||||
const contentItem = ref([
|
const contentItem = ref([
|
||||||
{ type:"jqzs", label: "警情总数", value: "0" ,icon:require('@/assets/images/top-1.png')},
|
{ type:"jqzs", label: "警情总数", value: "0" ,icon:require('@/assets/images/top-1.png')},
|
||||||
{ type:"yjzs", label: "预警总数", value: "0",icon:require('@/assets/images/top-2.png') },
|
{ type:"yjzs", label: "预警总数", value: "0",icon:require('@/assets/images/top-2.png') },
|
||||||
@ -32,6 +41,29 @@ const getCount = () =>{
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 打开警情总数
|
||||||
|
const openJqzs = ref(false)
|
||||||
|
const openYjzs = ref(false)
|
||||||
|
const openZdry = ref(false)
|
||||||
|
const openZdqt = ref(false)
|
||||||
|
const openTc = (val) => {
|
||||||
|
switch (val) {
|
||||||
|
case 'jqzs':
|
||||||
|
openJqzs.value = true
|
||||||
|
break;
|
||||||
|
case 'yjzs':
|
||||||
|
openYjzs.value = true
|
||||||
|
break;
|
||||||
|
case 'zdry':
|
||||||
|
openZdry.value = true
|
||||||
|
break;
|
||||||
|
case 'zdqt':
|
||||||
|
openZdqt.value = true
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user