This commit is contained in:
2025-07-19 18:37:07 +08:00
parent fbd2431f63
commit f4bd352162
9 changed files with 90 additions and 57 deletions

View File

@ -1,7 +1,7 @@
<template>
<div class="dialog" v-if="dialogForm">
<div class="head_box">
<span class="title">人力情报信息采集流转编辑</span>
<span class="title">人力情报信息采集流转详情</span>
<div>
<el-button @click="close">关闭</el-button>
</div>
@ -21,7 +21,7 @@
<template #scfj>
<div style="width: 100%;padding-left: 50px;">
<div>上传附件:<span class="f12">可附电子表格Word文档图像音视频文件</span> </div>
<div><MOSTY.Upload :showBtn="true" :isImg="true" disabled :limit="10" v-model="fjdz" /> </div>
<div><MOSTY.Upload :showBtn="true" :isAll="true" :isImg="true" disabled :limit="10" v-model="fjdz" /> </div>
</div>
</template>
</FormMessage>
@ -127,7 +127,7 @@ const init = (type, row) => {
// 根据id查询详情
const getDataById = (id) => {
qcckGet({id}, "/mosty-gsxt/qbcj/selectByid").then((res) => {
fjdz.value = res.fjdz ? res.fjdz.split(',') :[];
fjdz.value = res.ossList || [];
listQuery.value = res;
pageForm.tableData = res.ryList || [];
});

View File

@ -2,7 +2,7 @@
<div>
<div class="titleBox">
<PageTitle title="人力情报信息采集流转">
<el-button type="primary" @click="addEdit('add', '')">
<el-button type="primary">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle">导出</span>
</el-button>

View File

@ -22,7 +22,7 @@
<template #scfj>
<div style="width: 100%;padding-left: 50px;">
<div>上传附件:<span class="f12">可附电子表格Word文档图像音视频文件</span> </div>
<div><MOSTY.Upload :showBtn="true" :isImg="true" :limit="10" v-model="fjdz" /> </div>
<MOSTY.Upload :showBtn="true" :isAll="true" :isImg="false" :limit="10" v-model="fjdz" />
</div>
</template>
</FormMessage>
@ -127,7 +127,7 @@ const init = (type, row) => {
// 根据id查询详情
const getDataById = (id) => {
qcckGet({id}, "/mosty-gsxt/qbcj/selectByid").then((res) => {
fjdz.value = res.fjdz ? res.fjdz.split(',') :[];
fjdz.value = res.ossList || [];
listQuery.value = res;
pageForm.tableData = res.ryList || [];
});
@ -156,7 +156,15 @@ const submit = () => {
elform.value.submit((data) => {
let url = title.value == "新增" ? "/mosty-gsxt/qbcj/add" : "/mosty-gsxt/qbcj/update";
let params = { ...data ,ryList:pageForm.tableData,cjLx:'0'};
params.fjdz = fjdz.value.length > 0 ? fjdz.value.join(','):'';
let fjids = [];
fjdz.value.forEach(item=>{
if(Object.prototype.toString.call(item) === '[object Object]'){
fjids.push(item.id)
}else{
fjids.push(item)
}
})
params.fjdz = fjids.length > 0 ? fjids.join(','):'';
loading.value = true;
qcckPost(params, url).then((res) => {
loading.value = false;

View File

@ -21,7 +21,7 @@
<template #scfj>
<div style="width: 100%;padding-left: 50px;">
<div>上传附件:<span class="f12">可附电子表格Word文档图像音视频文件</span> </div>
<div><MOSTY.Upload :showBtn="true" :isImg="true" disabled :limit="10" v-model="fjdz" /> </div>
<MOSTY.Upload :showBtn="true" :isAll="true" :isImg="false" :limit="10" v-model="fjdz" />
</div>
</template>
</FormMessage>
@ -122,7 +122,7 @@ const init = (type, row) => {
// 根据id查询详情
const getDataById = (id) => {
qcckGet({id}, "/mosty-gsxt/qbcj/selectByid").then((res) => {
fjdz.value = res.fjdz ? res.fjdz.split(',') :[];
fjdz.value = res.ossList || [];
listQuery.value = res;
pageForm.tableData = res.ryList || [];
});

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="showDialog" :destroy-on-close="true" :title="title+'人员'" @close="close" :close-on-click-modal="false">
<el-dialog v-model="modelValue" :destroy-on-close="true" :title="title+'人员'" @close="close" :close-on-click-modal="false">
<FormMessage v-model="listQuery" :formList="formData" labelWidth="120px" ref="elform" :rules="rules">
<template #bqList>
<div class="marks pointer" @click="chooseMarksVisible = true">
@ -29,19 +29,22 @@ const props = defineProps({
type:Object,
default:{}
},
modelValue:{
type:Boolean,
default:false
}
})
const chooseMarksVisible = ref(false)
const roleIds = ref([])
const elform = ref()
const showDialog = ref(false)
const emit = defineEmits(['change'])
const emit = defineEmits(['change','update:modelValue'])
const listQuery = ref({})
const formData = ref([
{ label: "姓名", prop: "xm", type: "input" ,width:'48%'},
{ label: "性别", prop: "xb", type: "select",options:props.dic.D_BZ_XB ,width:'48%'},
{ label: "身份证号", prop: "sfzh", type: "input" ,width:'48%'},
{ label: "户籍地", prop: "hjdz", type: "input",width:'48%' },
{ label: "户籍地派出所", prop: "hjdpcsdm", type: "department" ,width:'48%'},
{ label: "户籍地派出所", prop: "hjdpcsdm",depMc:'hjdpcs', type: "department" ,width:'48%'},
{ label: "标签", prop: "bqList", type: "slot",width:'100%' },
{ label: "是否挑头人", prop: "sfttr", type: "select",options:props.dic.D_BZ_SF ,width:'48%'},
{ label: "是否响应人", prop: "sfxyr", type: "select" ,options:props.dic.D_BZ_SF,width:'48%' },
@ -60,8 +63,7 @@ const order = ref(null)
const init = (type,row,index) =>{
title.value = type == 'add' ? '新增' :'编辑';
order.value = index;
showDialog.value = true;
if(row) listQuery.value = {...row};
if(type == 'edit') listQuery.value = JSON.parse(JSON.stringify(row))
}
// 选择标签
@ -80,10 +82,9 @@ const closeTag = (idx) =>{
const submitForm = () =>{
elform.value.submit((val)=>{
let obj = JSON.parse(JSON.stringify({ data:val,type:title.value ,index:order.value}))
emit('change',obj)
showDialog.value = false;
elform.value.reset()
let obj = { data:val,type:title.value ,index:order.value}
emit('change',obj);
emit('update:modelValue',false);
})
}

View File

@ -22,7 +22,7 @@
<template #scfj>
<div style="width: 100%;padding-left: 50px;">
<div>上传附件:<span class="f12">可附电子表格Word文档图像音视频文件</span> </div>
<MOSTY.Upload :showBtn="true" :isImg="true" :limit="10" v-model="fjdz" />
<MOSTY.Upload :showBtn="true" :isAll="true" :isImg="false" :limit="10" v-model="fjdz" />
</div>
</template>
</FormMessage>
@ -51,7 +51,7 @@
</MyTable>
</div>
<!-- 人员 -->
<AddPeo ref="showAdd" :dic="props.dic" @change="getPeo"></AddPeo>
<AddPeo ref="showAdd" v-model="showPeo" v-if="showPeo" :dic="props.dic" @change="getPeo"></AddPeo>
</div>
</template>
@ -66,6 +66,7 @@ const emit = defineEmits(["change"]);
const props = defineProps({
dic: Object
});
const showPeo = ref(false)
const { proxy } = getCurrentInstance();
const dialogForm = ref(false); //弹窗
const rules = reactive({
@ -127,7 +128,7 @@ const init = (type, row) => {
// 根据id查询详情
const getDataById = (id) => {
qcckGet({id}, "/mosty-gsxt/qbcj/selectByid").then((res) => {
fjdz.value = res.fjdz ? res.fjdz.split(',') :[];
fjdz.value = res.ossList || [];
listQuery.value = res;
pageForm.tableData = res.ryList || [];
});
@ -135,7 +136,10 @@ const getDataById = (id) => {
// 打开弹窗
const addEdit = (type,row,index) =>{
showAdd.value.init(type,row,index)
showPeo.value = true;
nextTick(()=>{
showAdd.value.init(type,row,index)
})
}
// 新增人员
@ -155,7 +159,15 @@ const deleteRow = (index) =>{
const submit = () => {
elform.value.submit((data) => {
let params = { ...data ,ryList:pageForm.tableData,cjLx:'2'};
params.fjdz = fjdz.value.length > 0 ? fjdz.value.join(','):'';
let fjids = [];
fjdz.value.forEach(item=>{
if(Object.prototype.toString.call(item) === '[object Object]'){
fjids.push(item.id)
}else{
fjids.push(item)
}
})
params.fjdz = fjids.length > 0 ? fjids.join(','):'';
loading.value = true;
qcckPost(params, "/mosty-gsxt/qbcj/update").then((res) => {
loading.value = false;

View File

@ -26,7 +26,7 @@
</template>
</MyTable>
<div class="txetBox">
{{ container }}
{{ container.text }}
</div>
<div class="footBnt">
<el-button type="primary" @click="showText = true">导入</el-button>
@ -139,10 +139,9 @@ const searchConfigerR = ref([
]);
const queryFrom = ref({});
const queryFromR = ref({});
const container = ref('')
const container = ref({})
const btnLoading = ref(false)
const prsentText = ref(null)
const qbid = ref('') //情报id
const pageData = reactive({
tableData: [], //表格数据
tableDataR: [], //表格数据
@ -266,8 +265,8 @@ const changeSize = (val) => {
// 提取数据
const getText = (val) =>{
prsentText.value = null; //先清空
container.value = val.text;
let obj = {
container.value = val;
let obj = {
"model": "deepseek-reasoner",
"messages": [
{
@ -287,14 +286,9 @@ const getText = (val) =>{
let qbLy = '情报来源是一个字典,字典内容包括:' + (D_GS_XS_LY.value.map(item=>item.dm+':'+item.zdmc).join(','))+'\n'
let sszt = '所属专题是一个字典,字典内容包括:' + (D_BZ_SSZT.value.map(item=>item.dm+':'+item.zdmc).join(','))+'\n'
let time = '时间必须按照 YYYY-MM-DD HH:mm:ss 的格式 \n'
obj.messages[0].content = obj.messages[0].content + xslx + qbLy + sszt + time;
// *********************
obj.messages[1].content = obj.messages[1].content + val.text;
obj.messages[1].content = obj.messages[1].content + val.text
prsentText.value = obj;
qcckPost({fjdz:val.fjdz,tjnr:val.text},'/mosty-gsxt/qbcjjl/add').then((res)=>{
qbid.value = res || '';
})
}
const handleFx = () => {
@ -313,12 +307,14 @@ const handleFx = () => {
}
if(!message) return proxy.$message({ type: "danger", message: "解析异常,请重新上传解析" });
let params = {
qbid:qbid.value,
...message.jbxx[0],
ryList:message.ryList,
cjLx:2,
xsNr:container.value.text,
fjdz:container.value.fjdz
}
qcckPost(params,'/mosty-gsxt/qbcj/add').then((res)=>{
container.value = {};
getjxListR()
})
})