更新
This commit is contained in:
@ -74,7 +74,7 @@
|
||||
|
||||
<!-- checkbox -->
|
||||
<template v-else-if="item.showType === 'department'">
|
||||
<MOSTY.Department clearable v-model="item.ssbmdm" />
|
||||
<MOSTY.Department clearable v-model="searchObj[item.prop]" />
|
||||
</template>
|
||||
<!-- checkbox -->
|
||||
<template v-else-if="item.showType === 'checkbox'">
|
||||
@ -125,7 +125,6 @@
|
||||
<!-- 级联选择 -->
|
||||
<el-cascader
|
||||
v-else-if="item.showType === 'cascader'"
|
||||
@change="changeca"
|
||||
v-model="searchObj[item.prop]"
|
||||
:props="item.props"
|
||||
:show-all-levels="item.showAllLevels"
|
||||
@ -151,11 +150,8 @@
|
||||
import {
|
||||
ref,
|
||||
reactive,
|
||||
watch,
|
||||
watchEffect,
|
||||
nextTick,
|
||||
getCurrentInstance,
|
||||
toRefs
|
||||
} from "vue";
|
||||
import * as MOSTY from "@/components/MyComponents/index";
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -183,6 +179,12 @@ const props = defineProps({
|
||||
defaultVal: "",
|
||||
label: "输入"
|
||||
},
|
||||
{
|
||||
showType: "department",
|
||||
prop: "deptKey",
|
||||
defaultVal: "",
|
||||
label: "输入"
|
||||
},
|
||||
{
|
||||
showType: "daterange",
|
||||
prop: "daterangeKey",
|
||||
@ -215,9 +217,6 @@ const props = defineProps({
|
||||
{
|
||||
showType: "radio",
|
||||
defaultVal: ""
|
||||
// prop: "cascaderKey",
|
||||
// label: "级联选择",
|
||||
// checkStrictly: false //点击任意选中
|
||||
},
|
||||
{
|
||||
showType: "defaultTime",
|
||||
@ -237,16 +236,9 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
let loadingPage = ref(false);
|
||||
const isShowDate = ref(false);
|
||||
const emit = defineEmits(["submit", "reset"]);
|
||||
let searchObj = reactive({});
|
||||
const timeConfig = reactive({
|
||||
//时间字典筛选和自定义日期组件相关数据
|
||||
typeValue: "01", //时间字典类型默认
|
||||
timeArry: [] //时间筛选自定义默认值
|
||||
});
|
||||
//全所或自定义选择按钮
|
||||
const slectType = ref("qs");
|
||||
|
||||
// select 的一些默认配置
|
||||
const selectDefault = {
|
||||
clearable: true, // 是否可以清空
|
||||
@ -362,53 +354,6 @@ const dateShortcuts = [
|
||||
}
|
||||
}
|
||||
];
|
||||
//自定义时间选择 item 配置项 value 选中的值
|
||||
const screenSelect = (item, value) => {
|
||||
if (value == "08") {
|
||||
searchObj[item.prop] = value;
|
||||
isShowDate.value = true;
|
||||
} else {
|
||||
timeConfig.typeValue = value;
|
||||
searchObj[item.prop] = value;
|
||||
submit();
|
||||
}
|
||||
};
|
||||
//自定义时间确定时间
|
||||
const chooseDateOk = (item) => {
|
||||
timeConfig.typeValue = "08";
|
||||
if (timeConfig.timeArry && timeConfig.timeArry.length) {
|
||||
//选择了时间
|
||||
searchObj[item.propStart] = timeConfig.timeArry[0];
|
||||
searchObj[item.propEnd] = timeConfig.timeArry[1];
|
||||
} else {
|
||||
//清空了时间
|
||||
searchObj[item.prop] = "01";
|
||||
timeConfig.typeValue = "01";
|
||||
}
|
||||
isShowDate.value = false;
|
||||
submit();
|
||||
};
|
||||
//全所-部门选择回调
|
||||
const organizatioHland = (val) => {
|
||||
let item = getArr.find((item) => item.showType == "qsOrZdy");
|
||||
searchObj[item.propBm] = val?.data?.orgCode || "";
|
||||
if (!val || val == "") {
|
||||
//清空了部门选择后清空责任区ID
|
||||
slectType.value = "qs";
|
||||
delete searchObj[item.propZrq];
|
||||
}
|
||||
submit();
|
||||
};
|
||||
//全所-责任区回调
|
||||
const zrqHland = (val) => {
|
||||
let item = getArr.find((item) => item.showType == "qsOrZdy");
|
||||
searchObj[item.propZrq] = val || ""; //责任区选择
|
||||
submit();
|
||||
};
|
||||
//自定义时间取消事件
|
||||
const popoverCancel = (item) => {
|
||||
isShowDate.value = false;
|
||||
};
|
||||
// 设置不可选的日期
|
||||
const disabledDate = (time) => {
|
||||
return time.getTime() > Date.now();
|
||||
@ -513,10 +458,6 @@ const cascaderLazyProps = reactive({
|
||||
resolve(options);
|
||||
}
|
||||
});
|
||||
// 级联框选择
|
||||
function changeca(v) {
|
||||
console.log("vvvv", v);
|
||||
}
|
||||
// 获取到传过来的参数
|
||||
let getArr = reactive([]);
|
||||
const submit = () => {
|
||||
@ -529,25 +470,22 @@ const reset = () => {
|
||||
emit("submit", searchObj);
|
||||
emit("reset", false);
|
||||
};
|
||||
let dataOptions = reactive([]); //时间字典筛选
|
||||
watchEffect(() => {
|
||||
loadingPage.value = true;
|
||||
getArr = JSON.parse(JSON.stringify(props.searchArr));
|
||||
getArr = getArr.map((item) => {
|
||||
let arr = JSON.parse(JSON.stringify(props.searchArr));
|
||||
getArr = arr.map((item) => {
|
||||
switch (item.showType) {
|
||||
case "select":
|
||||
item = { ...selectDefault, ...item };
|
||||
item.options = reactive(item.options);
|
||||
getOptions[item.prop] = item.options;
|
||||
break;
|
||||
case "input":
|
||||
item = { ...inputDefault, ...item };
|
||||
case "input":
|
||||
item = { ...inputDefault, ...item };
|
||||
break;
|
||||
case "daterange":
|
||||
item = { ...daterangeDefault, ...item };
|
||||
if (item.defaultShortcuts) {
|
||||
item.shortcuts = shortcuts;
|
||||
}
|
||||
if (item.defaultShortcuts) item.shortcuts = shortcuts;
|
||||
break;
|
||||
case "date":
|
||||
item = { ...defaultDate, ...item };
|
||||
|
@ -3,23 +3,12 @@
|
||||
<div class="head_box">
|
||||
<span class="title">社会信息人员建设管理{{ title }} </span>
|
||||
<div>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
:loading="loading"
|
||||
@click="submit"
|
||||
>保存</el-button
|
||||
>
|
||||
<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>
|
||||
<FormMessage v-model="listQuery" :formList="formData" ref="elform" :rules="rules"></FormMessage>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -91,12 +80,12 @@ const validateIdentity = () => {
|
||||
callback(new Error("身份证地区非法"));
|
||||
// 出生日期验证
|
||||
var sBirthday = (
|
||||
value.substr(6, 4) +
|
||||
"-" +
|
||||
Number(value.substr(10, 2)) +
|
||||
"-" +
|
||||
Number(value.substr(12, 2))
|
||||
).replace(/-/g, "-"),
|
||||
value.substr(6, 4) +
|
||||
"-" +
|
||||
Number(value.substr(10, 2)) +
|
||||
"-" +
|
||||
Number(value.substr(12, 2))
|
||||
).replace(/-/g, "-"),
|
||||
d = new Date(sBirthday);
|
||||
let yyyy = d.getFullYear();
|
||||
let mm = d.getMonth() + 1;
|
||||
@ -166,7 +155,7 @@ const rules = reactive({
|
||||
],
|
||||
...rule.phoneRule({ require: true, validator: true }, "ryLxdh") // 是否必填 是否进行校验 可以传第二个参数
|
||||
});
|
||||
onMounted(() => {});
|
||||
onMounted(() => { });
|
||||
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
@ -195,7 +184,7 @@ const submit = () => {
|
||||
emit("updateDate");
|
||||
close();
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -3,68 +3,39 @@
|
||||
<div class="titleBox">
|
||||
<PageTitle title="社会信息人员建设管理">
|
||||
<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>
|
||||
</el-button>
|
||||
<el-button type="primary" @click="importData">
|
||||
<el-icon style="vertical-align: middle"><Upload /></el-icon>
|
||||
<span style="vertical-align: middle">导入</span>
|
||||
</el-button>
|
||||
<el-button type="primary" @click="exportData">
|
||||
<el-icon style="vertical-align: middle"><Download /></el-icon>
|
||||
<span style="vertical-align: middle">导出</span>
|
||||
</el-button>
|
||||
</PageTitle>
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search
|
||||
:searchArr="searchConfiger"
|
||||
@submit="onSearch"
|
||||
:key="pageData.keyCount"
|
||||
/>
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount" />
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData">
|
||||
<template #ryMz="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" />
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="success" @click="addEdit('edit', row)"
|
||||
>编辑</el-link
|
||||
>
|
||||
<el-link size="small" type="danger" @click="deleteRow(row.id)"
|
||||
>删除</el-link
|
||||
>
|
||||
<el-link size="small" type="success" @click="addEdit('edit', 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>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
</div>
|
||||
<!-- 详情 -->
|
||||
<DetailForm
|
||||
v-if="show"
|
||||
@updateDate="getList"
|
||||
ref="detailDiloag"
|
||||
:dic="{ D_BZ_WHCD, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM }"
|
||||
/>
|
||||
<DetailForm v-if="show" @updateDate="getList" ref="detailDiloag"
|
||||
:dic="{ D_BZ_WHCD, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM }" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -76,7 +47,6 @@ import Search from "@/components/aboutTable/Search.vue";
|
||||
import DetailForm from "./components/addForm.vue";
|
||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
import { CirclePlus, Upload, Download } from "@element-plus/icons-vue";
|
||||
import { ElMessage } from "element-plus";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_WHCD, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM } = proxy.$dict(
|
||||
@ -111,7 +81,7 @@ const pageData = reactive({
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 200,
|
||||
controlsWidth: 120,
|
||||
tableColumn: [
|
||||
{ label: "姓名", prop: "ryXm" },
|
||||
{ label: "联系电话", prop: "ryLxdh" },
|
||||
@ -169,7 +139,7 @@ const deleteRow = (id) => {
|
||||
getList();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
};
|
||||
|
||||
// 详情
|
||||
|
@ -75,6 +75,7 @@ const dialogForm = ref(false); //弹窗
|
||||
|
||||
const rules = reactive({
|
||||
bsDwDm: [{ required: true, message: "请选择报送单位", trigger: "change" }],
|
||||
ssbmdm: [{ required: true, message: "请选择所属部门", trigger: "change" }],
|
||||
rwBt: [{ required: true, message: "请输入任务标题", trigger: "blur" }],
|
||||
rwBh: [{ required: true, message: "请输入任务编号", trigger: "blur" }],
|
||||
rwLy: [{ required: true, message: "请选择任务来源", trigger: "change" }],
|
||||
@ -84,7 +85,7 @@ const rules = reactive({
|
||||
rwNr: [{ required: true, message: "请输入任务内容", trigger: "blur" }],
|
||||
});
|
||||
const formData = ref([
|
||||
{ label: "所属单位", prop: "ssbmdm",depMc:'ssbmmc', type: "department" },
|
||||
{ label: "所属部门", prop: "ssbmdm",depMc:'ssbmmc', type: "department" },
|
||||
{ label: "报送单位", prop: "bsDwDm",depMc:'bsDwMc', type: "department" },
|
||||
{ label: "任务标题", prop: "rwBt", type: "input" },
|
||||
{ label: "任务编号", prop: "rwBh", type: "input" },
|
||||
@ -109,6 +110,7 @@ const init = (type, row) => {
|
||||
if (row) {
|
||||
qcckGet({}, "/mosty-gsxt/tbGsxtRlqbRwdd/selectVoById/" + row.id).then((res) => {
|
||||
res.xsList = res.xsList || [];
|
||||
roleIdsxs.value = res.xsList.map(v=>v.id);
|
||||
listQuery.value = res;
|
||||
});
|
||||
}
|
||||
@ -141,8 +143,8 @@ const choosed = (data) => {
|
||||
// 关闭
|
||||
const close = () => {
|
||||
listQuery.value = {};
|
||||
dialogForm.value = false;
|
||||
loading.value = false;
|
||||
dialogForm.value = false;
|
||||
};
|
||||
// 删除
|
||||
const delDictItem = (id) => {
|
||||
|
@ -12,14 +12,7 @@
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount">
|
||||
<!-- 所属单位 -->
|
||||
<template #ssbmdm>
|
||||
<el-select v-model="listQuery.ssbmdm" placeholder="请选择所属单位" style="width: 240px">
|
||||
<el-option v-for="item in deptList" :key="item.value" :label="item.label" :value="item.value.toString()" />
|
||||
</el-select>
|
||||
</template>
|
||||
</Search>
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"> </Search>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
|
@ -2,11 +2,8 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="人力情报信息采集流转">
|
||||
<el-button type="primary">情报研判分析</el-button>
|
||||
<el-button type="primary" @click="handleHB">线索串联</el-button>
|
||||
<el-button type="primary" @click="addEdit">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle">导出</span>
|
||||
</el-button>
|
||||
</PageTitle>
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
@ -60,10 +57,14 @@
|
||||
<AddForm ref="detailDiloag" v-if="isShow" :dic="{D_BZ_SF,D_BZ_XB,D_GS_XS_LY,D_BZ_SSZT,D_GS_XS_LX ,D_GS_XS_QTLX}" />
|
||||
<ZlForm ref="zlDialog" v-if="isShow" :dic="{D_GS_XS_ZLLX,D_GS_ZDQT_FXDJ}"></ZlForm>
|
||||
<HbForm ref="isShowhB" :dic="{D_GS_XS_LX,D_GS_XS_LY,D_GS_XS_CZZT,D_BZ_XSSHZT,D_GS_XS_QTLX}"></HbForm>
|
||||
<teleport to="#app">
|
||||
<!-- <Qbypfx></Qbypfx> -->
|
||||
</teleport>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import Qbypfx from './qbypfx/index.vue'
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
@ -106,7 +107,7 @@ const pageData = reactive({
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 220,
|
||||
controlsWidth: 150,
|
||||
tableColumn: [
|
||||
{ label: "线索编号", prop: "xsBh" },
|
||||
{ label: "线索名称", prop: "xsMc" },
|
||||
|
@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="header flex just-between">
|
||||
<span>情报研判分析</span>
|
||||
<span class="pointer"><el-icon><Close /></el-icon></span>
|
||||
</div>
|
||||
<div class="contant">
|
||||
<div class="contant-left aside">
|
||||
<div></div>
|
||||
</div>
|
||||
<div class="contant-right aside"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
color: #333;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
.header{
|
||||
height: 60px;
|
||||
font-size: 30px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.contant{
|
||||
position: relative;
|
||||
height: calc(100% - 65px);
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
.aside{
|
||||
position: absolute;
|
||||
width: 400px;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
background: red;
|
||||
}
|
||||
.contant-left{
|
||||
left: 0;
|
||||
}
|
||||
.contant-right{
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
Reference in New Issue
Block a user