提交 44f84d08 authored 作者: kxjia's avatar kxjia

非现场报送优化

上级 4aa6263d
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -997,10 +997,12 @@ export const tableFormData = [ ...@@ -997,10 +997,12 @@ export const tableFormData = [
{ C24A054: '', C24A055: '', C24A056: '', C24A058: '', C24A059: '', C24A060: '', C24A061: '' }, { C24A054: '', C24A055: '', C24A056: '', C24A058: '', C24A059: '', C24A060: '', C24A061: '' },
{ C24A054: '', C24A055: '', C24A056: '', C24A058: '', C24A059: '', C24A060: '', C24A061: '' }, { C24A054: '', C24A055: '', C24A056: '', C24A058: '', C24A059: '', C24A060: '', C24A061: '' },
], ],
footerData: [ footerData: [
{ {
labelField: 'C24A059', labelField: 'C24A059',
labelValue: '合计', labelValue: '合计',
pcode:'TB1012',
fields: ['C24A060', 'C24A061'], fields: ['C24A060', 'C24A061'],
tp: 'sum', tp: 'sum',
xmlCode: { C24A060: 'C24A075', C24A061: 'C24A076' }, xmlCode: { C24A060: 'C24A075', C24A061: 'C24A076' },
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<BasicTable @register="registerTable"> <BasicTable @register="registerTable">
<template #action="{ record }"> <template #action="{ record }">
<TableAction :actions="getTableAction(record)"/> <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
</template> </template>
<template #htmlSlot="{ text }"> <template #htmlSlot="{ text }">
<div v-html="text"></div> <div v-html="text"></div>
...@@ -14,19 +14,17 @@ ...@@ -14,19 +14,17 @@
</div> </div>
</template> </template>
<script lang="ts" name="baosong-baosongTask" setup> <script lang="ts" setup>
import { ref, computed, unref } from 'vue'; import { ref, computed, unref } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useModal } from '/@/components/Modal';
import { useDrawer } from '/@/components/Drawer';
import { useListPage } from '/@/hooks/system/useListPage'; import { useListPage } from '/@/hooks/system/useListPage';
import { columns, searchFormSchema } from '../task/BaosongTask.data'; import { columns, searchFormSchema } from '../task/BaosongTask.data';
import RecordDrawer from './components/RecordDrawer.vue'; import RecordDrawer from './components/RecordDrawer.vue';
import RecordDrawer2 from './components/RecordDrawer2.vue'; import RecordDrawer2 from './components/RecordDrawer2.vue';
import FileContentView from '../components/FileContentView.vue'; import FileContentView from '../components/FileContentView.vue';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
const router = useRouter() const router = useRouter()
import { listForFillData } from '../task/BaosongTask.api'; import { listForFillData } from '../task/BaosongTask.api';
...@@ -36,7 +34,6 @@ ...@@ -36,7 +34,6 @@
const refRecordDrawer2 = ref() const refRecordDrawer2 = ref()
const refFileContentView = ref() const refFileContentView = ref()
const { prefixCls, tableContext, } = useListPage({ const { prefixCls, tableContext, } = useListPage({
tableProps: { tableProps: {
title: '任务表', title: '任务表',
...@@ -52,10 +49,10 @@ ...@@ -52,10 +49,10 @@
fieldMapToTime: [], fieldMapToTime: [],
}, },
beforeFetch(params) { beforeFetch(params) {
params['sta'] = 2 params['sta'] = 1
}, },
actionColumn: { actionColumn: {
width: 200, width: 100,
fixed: 'right', fixed: 'right',
}, },
}, },
...@@ -66,15 +63,7 @@ ...@@ -66,15 +63,7 @@
function getTableAction(record) { function getTableAction(record) {
return [ return [
{ {
label: '表单方式', label: '填报',
onClick: handleAddRecord.bind(null, record),
},
{
label: '表格方式',
onClick: handleAddRecord2.bind(null, record),
},
{
label: 'WORD方式',
onClick: handleAddRecord3.bind(null, record), onClick: handleAddRecord3.bind(null, record),
}, },
{ {
...@@ -84,6 +73,18 @@ ...@@ -84,6 +73,18 @@
]; ];
} }
function getDropDownAction(record){
return [
{
label: '表单方式',
onClick: handleAddRecord.bind(null, record),
},
{
label: '表格方式',
onClick: handleAddRecord2.bind(null, record),
}
]
}
function handleAddRecord(record) { function handleAddRecord(record) {
refRecordDrawer.value.setIniData(record) refRecordDrawer.value.setIniData(record)
......
...@@ -644,7 +644,6 @@ const collectVxeTableData = async () => { ...@@ -644,7 +644,6 @@ const collectVxeTableData = async () => {
if (child) { if (child) {
const formData = await child.getFormData() const formData = await child.getFormData()
let rind = 0 let rind = 0
// 表格数据 // 表格数据
for (const obj of formData.datas) { for (const obj of formData.datas) {
rind++ rind++
...@@ -652,11 +651,10 @@ const collectVxeTableData = async () => { ...@@ -652,11 +651,10 @@ const collectVxeTableData = async () => {
await addFormValue(pcode, code, value, rind) await addFormValue(pcode, code, value, rind)
} }
} }
// 表尾数据
if (formData.footer) { if (formData.footer) {
alert(formData.footerPcode)
for (const [code, value] of Object.entries(formData.footer)) { for (const [code, value] of Object.entries(formData.footer)) {
await addFormValue(pcode, code, value, 1) await addFormValue(formData.footerPcode, code, value, 1)
} }
} }
} }
......
...@@ -211,11 +211,11 @@ ...@@ -211,11 +211,11 @@
return acc; return acc;
}, {}); }, {});
}) || []; }) || [];
return { return {
...formData, ...formData,
datas: newDatas, datas: newDatas,
footer: formFooterData, footer: formFooterData,
footerPcode: props.footerData[0].pcode,
}; };
}; };
......
<template> <template>
<BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit" okText="确定"> <BasicModal v-bind="$attrs" @register="registerModal"
<BasicForm @register="registerForm" /> destroyOnClose :title="title" width="100%" @ok="handleSubmit" okText="确定">
<div class="split-container">
<div class="left-panel">
<Tb ref="tbRef" />
</div>
<div class="right-panel">
<BasicForm @register="registerForm" />
</div>
</div>
</BasicModal> </BasicModal>
</template> </template>
...@@ -11,7 +20,10 @@ ...@@ -11,7 +20,10 @@
import { BasicForm, useForm } from '/@/components/Form/index'; import { BasicForm, useForm } from '/@/components/Form/index';
import { formSchemaApprove } from '../BaosongTaskReview.data'; import { formSchemaApprove } from '../BaosongTaskReview.data';
import { saveOrUpdate } from '../BaosongTaskReview.api'; import { saveOrUpdate } from '../BaosongTaskReview.api';
import Tb1 from '/@/views/baosong/report/components/Tb1.vue';
const { createConfirm } = useMessage(); const { createConfirm } = useMessage();
const showTab1 = ref(false);
// Emits声明 // Emits声明
const emit = defineEmits(['register', 'success']); const emit = defineEmits(['register', 'success']);
const isUpdate = ref(true); const isUpdate = ref(true);
...@@ -72,6 +84,24 @@ ...@@ -72,6 +84,24 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.split-container {
display: flex;
width: 100%;
height: 100%;
min-height: 500px;
}
.left-panel {
width: 70%;
padding-right: 10px;
border-right: 1px solid #e8e8e8;
}
.right-panel {
width: 30%;
padding-left: 10px;
}
/** 时间和数字输入框样式 */ /** 时间和数字输入框样式 */
:deep(.ant-input-number) { :deep(.ant-input-number) {
width: 100%; width: 100%;
......
import { BasicColumn } from '/@/components/Table'; import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table'; import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils'; import { render } from '/@/utils/common/renderUtils';
import { getAllRolesList, queryUserByDepId } from '/@/views/system/user/user.api';
const objTmp={1:"year",2:"quarter",3:"month"} const objTmp={1:"year",2:"quarter",3:"month"}
const valueFormat={1:"YYYY",2:"YYYYqQ",3:"YYYY-MM"} const valueFormat={1:"YYYY",2:"YYYYqQ",3:"YYYY-MM"}
//列表数据 //列表数据
...@@ -21,13 +21,13 @@ export const columns: BasicColumn[] = [ ...@@ -21,13 +21,13 @@ export const columns: BasicColumn[] = [
customRender: ({ text }) => { customRender: ({ text }) => {
return render.renderDict(text, 'report_tp'); return render.renderDict(text, 'report_tp');
}, },
width: "7%", width: "10%",
resizable:true resizable:true
}, },
{ {
title: '填报角色', title: '填报',
align: 'left', align: 'left',
dataIndex: 'enterRole', dataIndex: 'fillUser',
width:0, width:0,
ifShow: false, ifShow: false,
resizable:true resizable:true
...@@ -35,25 +35,25 @@ export const columns: BasicColumn[] = [ ...@@ -35,25 +35,25 @@ export const columns: BasicColumn[] = [
{ {
title: '负责人', title: '负责人',
align: 'left', align: 'left',
dataIndex: 'respUser_dictText', dataIndex: 'respUser',
width: "7%", width: "10%",
resizable:true resizable:true
}, },
{ {
title: '联系电话', title: '联系电话',
align: 'left', align: 'left',
dataIndex: 'enterTel', dataIndex: 'enterTel',
width: "9%", width: "10%",
resizable:true resizable:true
}, },
{ {
title: '统计时段', title: '统计时段',
align: 'left', align: 'left',
dataIndex: 'enterDate', dataIndex: 'enterDate',
width: "10%",
customRender: ({ text }) => { customRender: ({ text }) => {
return !text ? '' : text.length > 10 ? text.substr(0, 10) : text; return !text ? '' : text.length > 10 ? text.substr(0, 10) : text;
}, },
width: "9%",
resizable:true resizable:true
}, },
{ {
...@@ -63,7 +63,6 @@ export const columns: BasicColumn[] = [ ...@@ -63,7 +63,6 @@ export const columns: BasicColumn[] = [
customRender: ({ text }) => { customRender: ({ text }) => {
return !text ? '' : text.length > 10 ? text.substr(0, 10) : text; return !text ? '' : text.length > 10 ? text.substr(0, 10) : text;
}, },
ifShow: false, ifShow: false,
resizable:true resizable:true
}, },
...@@ -261,58 +260,22 @@ export const formSchema: FormSchema[] = [ ...@@ -261,58 +260,22 @@ export const formSchema: FormSchema[] = [
required: true, required: true,
}, },
{ {
label: '填报角色', label: '填报人',
field: 'enterRole', field: 'fillUser',
component: 'ApiSelect', component: 'Input',
componentProps: {
mode: 'radio',
api: getAllRolesList,
labelField: 'roleName',
valueField: 'id',
},
required: true, required: true,
}, },
{ {
label: '填报部门', label: '填报部门',
field: 'respDepart', field: 'respDepart',
required: true, required: true,
component: 'JSelectDept', component: 'Input',
componentProps: ({ formActionType, formModel }) => {
return {
sync: false,
checkStrictly: true,
defaultExpandLevel: 2,
multiple:false,
onSelect: async (options, values) => {
// const depId = values.value[0]
// if(depId.length==32){
// const users = await queryUserByDepId({id:depId});
// const newArray = users.map(user => ({
// label: user.realname,
// value: user.id
// }));
// const { updateSchema } = formActionType;
// updateSchema([
// {
// field: 'respUser',
// componentProps: { options: newArray },
// },
// ]);
// }
},
};
},
}, },
{ {
label: '负责人', label: '负责人',
field: 'respUser', field: 'respUser',
component: 'JSelectUserByDept', component: 'Input',
componentProps:{
labelKey:'realname',
rowKey:'username'
},
required: true, required: true,
}, },
......
...@@ -164,9 +164,7 @@ ...@@ -164,9 +164,7 @@
} }
] ]
} }
/**
* 下拉操作栏
*/
function getDropDownAction(record){ function getDropDownAction(record){
return [ return [
{ {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论