This commit is contained in:
lcw
2025-12-03 16:58:06 +08:00
parent e2a54c16eb
commit 0e80cd6678
127 changed files with 3714 additions and 258 deletions

View File

@ -3,7 +3,7 @@
<div class="head_box">
<span class="title">{{ titleData }}{{ title }}</span>
<div>
<el-button @click="submitForm()" type="primary">保存</el-button>
<el-button @click="submitForm()" type="primary" v-if="!disabled">保存</el-button>
<el-button @click="close">关闭</el-button>
</div>
</div>
@ -30,6 +30,21 @@
</div>
</template>
</FormMessage>
<div v-if="showBc">
<div class="supplement-title">补充信息</div>
<div class="supplement-list">
<div v-for="(item,index) in qbBcList" :key="index" class="supplement-item">
<div class="supplement-content">{{item.bcnr}}</div>
<div class="supplement-actions">
<el-icon class="action-icon edit-icon" @click="editData(item)"><EditPen /></el-icon>
<el-icon class="action-icon delete-icon" @click="delItem(item)"><Delete /></el-icon>
</div>
</div>
</div>
</div>
<el-divider content-position="left"><span class="mr20">活跃人员</span> </el-divider>
<Personnel :dict="props.dict" ref="personnel" :perList="listQuery.ryList" />
<el-divider content-position="left"><span class="mr20">车辆信息</span> </el-divider>
@ -37,11 +52,9 @@
<el-divider content-position="left"><span class="mr20">关联群体</span> </el-divider>
<Group :dict="props.dict" ref="group" :qtList="listQuery.qtList" />
</div>
<!-- <div class="person" v-if="showPj&&listQuery.qbjb!='00'">
<AddForm ref="addForm" :dict="props.dict" :msgeDat="msgeDat" />
</div> -->
</div>
</div>
<pursueContent v-model="pursueShow" :dataList="dataList" :updeteBool="true" @getqbcjCzztList="getqbcjCzztList"/>
</template>
<script setup>
@ -51,20 +64,31 @@ import VehicleCar from '../components/vehicleCar/index.vue'
import Group from '../components/group/index.vue'
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import { qbcjAdd, qbcjUpdate, qbcjSelectByid } from "@/api/Intelligence.js";
import { ref, defineExpose, onMounted, defineEmits, watch } from "vue";
import AddForm from '@/views/backOfficeSystem/MakeAcomment/components/a/addForm.vue'
import {useRoute,useRouter} from 'vue-router'
import pursueContent from "@/views/backOfficeSystem/HumanIntelligence/components/pursueContent.vue";
import { ref, defineExpose, onMounted, defineEmits, watch,getCurrentInstance } from "vue";
import { useRoute, useRouter } from 'vue-router'
import {qbcjCzztList,qbcjCzztDelete} from '@/api/qbcj'
const {proxy}=getCurrentInstance()
const emit = defineEmits(["getList"]);
const props = defineProps({
dict: Object,
titleData: {
type: String,
default: ""
},
showBc: {
type: Boolean,
default: false
}
});
const loading = ref(false)
const dialogForm = ref(false); //弹窗
const formData = ref();
const rules = ref({
qbmc: [{ required: true, message: "请输入情报标题", trigger: "blur" }],
qbnr: [{ required: true, message: "请输入情报内容", trigger: "blur" }],
})
watch(() => dialogForm.value, (val) => {
if (val) {
formData.value = [
@ -102,6 +126,7 @@ const init = (type, row) => {
msgeDat.value = row
// 初始化表单数据,并根据详情页设置禁用状态
if (row) getDataById(row.id);
getqbcjCzztList()
} else {
showPj.value = false
}
@ -123,8 +148,6 @@ const submitForm = () => {
loading.value = true
elform.value.submit(valid => {
if (valid) {
const promes = {
...listQuery.value,
fjdz: fjdz.value.length > 0 ? fjdz.value.join(',') : '',
@ -132,7 +155,6 @@ const submitForm = () => {
clList: vehicleCar.value.listData() || [],
qtList: group.value.listData() || [],
cjLx: 0
}
if (title.value == '新增') {
qbcjAdd(promes).then((res) => {
@ -166,6 +188,36 @@ const close = () => {
dialogForm.value = false;
loading.value = false;
};
const qbBcList = ref()
const getqbcjCzztList = () => {
qbcjCzztList({ qbid: msgeDat.value.id }).then(res => {
console.log(res);
qbBcList.value = res || []
})
}
// 删除
const delItem = (val) => {
proxy.$confirm('确认删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
qbcjCzztDelete({ ids: [val.id] }).then(res => {
proxy.$message({
message: '删除成功',
type: 'success'
})
getqbcjCzztList()
})
});
}
const pursueShow = ref(false)
const dataList=ref()
const editData = (item) => {
pursueShow.value = true
dataList.value=item
}
defineExpose({ init });
</script>
@ -210,4 +262,71 @@ defineExpose({ init });
width: 25%;
// height: 100vh;
}
/* 补充信息样式 */
.supplement-title {
font-size: 14px;
font-weight: 500;
color: #333;
margin: 16px 0 10px 0;
padding-left: 5px;
border-left: 3px solid #24b6dd;
}
.supplement-list {
margin-left: 5px;
}
.supplement-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 12px;
background-color: #f5f7fa;
border: 1px solid #e4e7ed;
border-radius: 4px;
margin-bottom: 8px;margin-right: 10px;
transition: all 0.3s ease;
}
.supplement-item:hover {
background-color: #ecf5ff;
border-color: #c6e2ff;
}
.supplement-content {
flex: 1;
font-size: 14px;
color: #606266;
line-height: 1.5;
}
.supplement-actions {
display: flex;
gap: 12px;
}
.action-icon {
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease;
}
.edit-icon {
color: #24b6dd;
}
.edit-icon:hover {
color: #409eff;
transform: scale(1.1);
}
.delete-icon {
color: #f56c6c;
}
.delete-icon:hover {
color: #f78989;
transform: scale(1.1);
}
</style>

View File

@ -14,6 +14,18 @@
</el-icon>
<span style="vertical-align: middle">导出</span>
</el-button>
<el-button type="primary" :disabled="ids.length === 0" @click="batchMark(ids)" v-if="qxkz.deptLevel == '01'">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">批量转线索</span>
</el-button>
<el-button type="primary" :disabled="ids.length === 0" @click="batchMark(ids)" v-if="qxkz.deptLevel == '01'">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">批量转合成</span>
</el-button>
<el-button type="primary" :disabled="ids.length === 0" @click="batchMark(ids)" v-if="qxkz.deptLevel == '01'">
<el-icon style="vertical-align: middle">
<CirclePlus />
@ -56,15 +68,18 @@
<!-- 操作 -->
<template #controls="{ row }">
<!-- 01 提交 02 上报 03 采纳 04 退回 05 打标签v-if="qxkz.deptLevel == '01'" -->
<el-link size="small" type="primary" v-if="row.czzt == '02' && qxkz.deptLevel == '01'"
<el-link size="small" type="primary" v-if="row.czzt == '02' && qxkz.depBool"
@click="cnMsg(row)">采纳</el-link>
<el-link size="small" type="primary" v-if="row.czzt == '03' && qxkz.deptLevel == '01'"
<el-link size="small" type="primary" v-if="row.czzt == '03' && qxkz.depBool"
@click="opneMsg(row)">打标签</el-link>
<el-link size="small" type="primary" @click="rollbackNewspapers(row)"
v-if="row.czzt == '02' && row.qbjb == '00'">回退</el-link>
v-if="row.czzt == '02' && row.qbjb == '00' &&row.fxjsfsb!=1&&row.pcssfsb!=0&& qxkz.depBool">回退</el-link>
<el-link size="small" type="primary" @click="checkProcess(row)">查看流程</el-link>
<el-link size="small" type="primary" @click="appearNewspapers(row)"
v-if="row.czzt == '01' || row.czzt == '04' && row.qbjb == '00' && qxkz.deptLevel != '01'">上报</el-link>
v-if="(row.czzt == '01' || row.czzt == '04') && row.qbjb == '00' && qxkz.deptLevel != '01'">上报</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)" v-if="qxkz.depBool">转线索</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)" v-if="qxkz.depBool">转合成</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)">转会商</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)">详情</el-link>
<el-link size="small" type="primary" @click="addEdit('edit', row)">修改</el-link>
<el-link size="small" type="danger" @click="delDictItem(row.id)">删除</el-link>
@ -113,7 +128,6 @@ import ExportFile from './components/exportFile.vue'
import CheckProcess from '../components/checkProcess.vue'
import { ElMessageBox } from 'element-plus'
import { getItem } from '@//utils/storage.js'
import { tbYjxxGetZbtj } from '@/api/yj.js'
const { proxy } = getCurrentInstance();
const { D_GS_XS_LY, D_BZ_SSZT, D_BZ_SF, D_GS_XS_LX, D_BZ_BQJB,
D_GS_XS_QTLX, D_GS_ZDQT_LB,
@ -196,7 +210,7 @@ const rollbackNewspapers = (item) => {
cancelButtonText: '取消',
})
.then(({ value }) => {
qbcjCzzt({ id: item.id, czzt: '04', qbjb: '00', czthyy: value }).then(res => {
qbcjCzzt({ id: item.id, czzt: '01', qbjb: '00', czthyy: value }).then(res => {
proxy.$message({ type: "success", message: "回退成功" });
getList();
})
@ -228,7 +242,7 @@ const batchMark = () => {
dataList.value = tableList.value
} else {
proxy.$message({
message: '还有情报未审批',
message: '还有情报未采纳',
type: 'warning',
showClose: true,
})
@ -330,12 +344,20 @@ const titleData = ref()
const qxkz = reactive({
deptBizType: '',
deptLevel: '',
depBool: false
});
onMounted(() => {
const { deptBizType, deptLevel } = getItem('deptId')[0]
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) {