This commit is contained in:
lcw
2025-12-17 16:27:59 +08:00
parent cd06aaf1be
commit 6a80bddff3
8 changed files with 144 additions and 21269 deletions

21242
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<template>
<div class="form-item-box" :style="{ width: width }">
<el-checkbox-group v-model="modelValue" @change="handleCheckAllChange">
<el-checkbox-group :model-value="localValue" @change="handleCheckAllChange">
<el-checkbox
v-for="item in checkList"
:key="item.value"
@ -34,15 +34,21 @@ const props = defineProps({
type: String
}
});
const localValue = ref(props.modelValue);
watch(
() => props.modelValue,
(val) => {
localValue.value = val;
console.log(val, "val");
},
{ deep: true }
);
const emits = defineEmits(["update:modelValue"]);
const handleCheckAllChange = (e) => {
localValue.value = e;
emits("update:modelValue", e);
};
</script>

View File

@ -57,7 +57,7 @@ const rules = ref({
]
})
const formData = ref([
{ label: "关注部门", prop: "ssbmdm", depMc: 'ssbm', type: "department", width: '45%', multiple: true },
{ label: "关注部门", prop: "ssbmdm", depMc: 'ssbm', type: "department", width: '45%', multiple: true,isAll: true },
])
const elform = ref(null)
watch(() => props.modelValue, (newVal) => {

View File

@ -53,7 +53,7 @@ const props = defineProps({
},
path: {
type: String,
default: "/qbcjZhc/sendFqzl"
default: "/mosty-gsxt/qbcjZhc/sendFqzl"
}
@ -101,16 +101,17 @@ const getsendFqzl = () => {
}
try {
const res = await qcckPost(promes,props.path )
// qbcjZhcSendFqzl(promes)
const str = JSON.parse(res)
if (str.code == 200) {
// const str = JSON.parse(res)
// if (str.code == 200) {
ElMessage.success('发送成功')
listQuery.value = {}
listQuery.value.attachmentPath = ''
// listQuery.value = {}
// listQuery.value.attachmentPath = ''
emit('handleClose')
} else {
ElMessage.error(str.msg)
}
close()
// } else {
// ElMessage.error(str.msg)
// }
} catch (error) {
console.log(error);

View File

@ -40,14 +40,14 @@
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">信息</h3>
<h3 class="tags-title">信息</h3>
<div class="list-container">
<div v-for="(item, index) in dataList.xb" :key="item.id || index" class="list-item">
<div class="list-content">
{{ item.bcnr }}
</div>
<div class="tag-actions">
<el-icon class="action-icon edit-icon" :size="32" @click="openPursue('续信息', item)">
<el-icon class="action-icon edit-icon" :size="32" @click="openPursue('续信息', item)">
<EditPen />
</el-icon>
<el-icon class="action-icon delete-icon" :size="32" @click="handleDeleteTag(item)">
@ -56,7 +56,7 @@
</div>
</div>
<span v-if="!dataList.xb || dataList.xb.length === 0" class="no-tags">
暂无标签
暂无续报信息
</span>
</div>
</div>
@ -77,7 +77,7 @@
</div>
</div>
<span v-if="!dataList.bc || dataList.bc.length === 0" class="no-tags">
暂无标签
暂无补充信息
</span>
</div>
</div>
@ -113,6 +113,7 @@ import { xxcjAddEntity, xxcjUpdateEntity, xxcjSelectByid, xxcjSelectCzlcList, xx
import { EditPen, Delete } from '@element-plus/icons-vue'
import { ref, defineExpose, onMounted, defineEmits, watch, getCurrentInstance } from "vue"
import { ElMessage } from 'element-plus';
import { getItem } from '@//utils/storage.js'
import { useRoute, useRouter } from 'vue-router'
import pursueContent from "@/views/backOfficeSystem/HumanIntelligence/components/pursueContent.vue";
import * as MOSTY from "@/components/MyComponents/index";
@ -258,8 +259,9 @@ const getxxcjSelectListBc = (id, lx) => {
// 处理标签删除
const handleDeleteTag = (tag) => {
proxy.$confirm("确定要删除吗?", "警告", { type: "warning" }).then(() => {
const userName = getItem('USERNAME')
if(userName == tag.bcrxm){
xxcjDeletesBc({ ids: [tag.id] }).then(res => {
ElMessage({
message: '删除成功',
@ -268,8 +270,14 @@ const handleDeleteTag = (tag) => {
})
getxxcjSelectListBc(msgeDat.value.id, '01')
getxxcjSelectListBc(msgeDat.value.id, '02')
})
}else{
proxy.$message({
message: '您不是该数据的创建人,不能删除',
type: 'warning',
showClose: true,
})
}
})
}
@ -278,10 +286,19 @@ const pursueShow = ref(false)
const dataVals = ref([])
const processtitle = ref()
const openPursue = (title, data) => {
console.log(title, data);
const userName = getItem('USERNAME')
if (userName == data.bcrxm) {
pursueShow.value = true
processtitle.value = title
dataVals.value = data
} else {
proxy.$message({
message: '您不是该数据的创建人,不能进行操作',
type: 'warning',
showClose: true,
})
}
}
defineExpose({ init });
</script>

View File

@ -230,6 +230,16 @@ const cnMsg = (item) => {
}
// 回退
const rollbackNewspapers = (item) => {
if (item.lczt == '04') {
proxy.$message({
message: '已经采纳的信息无法回退',
type: 'warning',
showClose: true,
})
return
}
if (item.lczt == '03') {
proxy.$message({
message: '无法回退市局上报信息',
@ -264,13 +274,13 @@ const rollbackNewspapers = (item) => {
}
// 上报
const appearNewspapers = (item) => {
if ((item.lczt == '01' || item.lczt == '05') && item.qbjb == '00' && qxkz.deptLevel != '01') {
if ((item.lczt == '01' || item.lczt == '05'||item.lczt == '02') && item.qbjb == '00' && qxkz.deptLevel != '01') {
proxy.$confirm("确定要上报", "警告", { type: "warning" }).then(() => {
let promes = {}
if (qxkz.deptLevel == '01') {
promes = { id: item.id, czzt: '03' }
if (qxkz.deptLevel == '02') {
promes = { id: item.id, lczt: '03' }
} else {
promes = { id: item.id, czzt: '02' }
promes = { id: item.id, lczt: '02' }
}
xxcjUpdateCzlc(promes).then(res => {
proxy.$message({ type: "success", message: "上报成功" });
@ -279,7 +289,7 @@ const appearNewspapers = (item) => {
}).catch(() => { });
} else {
proxy.$message({ type: "warning", message: "只能上报提交的情报" });
proxy.$message({ type: "warning", message: "市局无法进行上报" });
}
}
// 分组
@ -294,8 +304,12 @@ const opneMsg = (item) => {
// 打标签
const customTagShow = ref(false)
const openCustomTag = (item) => {
customTagShow.value = true
dataList.value = item
if (qxkz.depBool) { customTagShow.value = true
dataList.value = item }else {
proxy.$message.warning('暂无权限')
}
}
// 肯定
const affirm = (item) => {
@ -310,8 +324,13 @@ const affirm = (item) => {
// 配置关注部门
const configurationShow = ref(false)
const FollowUpOnDept = (item) => {
if (qxkz.depBool) {
configurationShow.value = true
dataList.value = item
} else {
proxy.$message.warning('暂无权限')
}
}

View File

@ -72,7 +72,7 @@
<MakeTag v-model="chooseRow" :dataList="dataList" :dict="{ D_BZ_CJLX, D_BZ_QBCZZT, D_GS_XS_LX, D_BZ_BQJB }"
@getList="getList" />
<pursueContent v-model="pursueShow" :dataList="dataList" :title="processtitle" />
<Fszl v-model="fszlShow" :itemData="dataList"/>
<Fszl v-model="fszlShow" :itemData="dataList" path="/mosty-gsxt/qbcjZhc/sendFqzl" />
<!-- <SemdFqzl ref="semdFqzlRef" :itemData="itemData" @handleClose="handleClose" identification="yj"
:tacitly="tacitly" /> -->
</template>
@ -106,9 +106,16 @@ const ids = ref([])
const tableList = ref([]);
onMounted(() => {
const { deptBizType, deptLevel } = getItem('deptId')[0]
qxkz.userName = getItem('USERNAME')
const Jb = deptLevel[0] == '2' ? '01' : deptLevel[0] == '3' ? '02' : '03'
qxkz.deptBizType = deptBizType
qxkz.deptLevel = Jb
if (deptBizType == '23' && Jb == '01') {
qxkz.depBool = true
} else {
qxkz.depBool = false
}
getRouter()
tabHeightFn()
if (route.query.id) {
@ -127,7 +134,8 @@ const chooseData = (val) => {
}
const qxkz = reactive({
deptBizType: "",
deptLevel: ""
deptLevel: "",
userName:''
})
const list = ref()
const searchConfiger = ref();
@ -179,14 +187,6 @@ const queryFrom = ref({});
const chooseRow = ref(false)
const dataList = ref()
// 批量打标
const batchMark = () => {
chooseRow.value = true
dataList.value = tableList.value
}
// 搜索
const onSearch = (val) => {
const { lrkssj, zxkssj } = val
@ -218,8 +218,6 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value, qbjb: routerMate.value.qbjbList };
xxcjSelectPage(data).then(res => {
pageData.tableData = res.records || [];
pageData.total = res.total;
@ -273,18 +271,18 @@ const openCheckProcess = (item) => {
}
// 续报
const openCheckProcessXb = (item) => {
if (qxkz.userName == item.xssbr) {
processtitle.value = '信息续报'
pursueShow.value = true
dataList.value = item
} else {
proxy.$message({
message: '您不是该情报的上报人,不能续报',
type: 'warning',
showClose: true,
})
}
// 转线索
const instQbcjZxs = (item) => {
proxy.$confirm("确定要转线索吗?", "警告", { type: "warning" }).then(() => {
qbcjZxs({ qbid: item.id }).then(res => {
proxy.$message({ type: "success", message: "转线索成功" });
getList();
})
})
}
// 转线索
@ -295,7 +293,6 @@ const FollowUpOnLeads = (row) => {
type: 'warning',
showClose: true,
})
return
} else {
proxy.$confirm("确定要转线索吗?", "警告", { type: "warning" }).then(() => {
xxcjXxzsx({ ids: Array.isArray(row) ? row.join(',') : row.id }).then(res => {
@ -309,8 +306,15 @@ const FollowUpOnLeads = (row) => {
// 转合成
const fszlShow = ref(false)
const openFszl = (item) => {
fszlShow.value = true
dataList.value = item
if (!qxkz.depBool) {
proxy.$message({
message: '权限不足',
type: 'warning',
showClose: true,
})
} else { fszlShow.value = true
dataList.value = item }
}
</script>

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="modelValue" 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>
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
<MyTable customClass="zdy_peo_table" :tableData="pageData.tableData" :tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger"