Browse Source

feat:[模板管理][update]

luojie
luojie 3 weeks ago
parent
commit
2cb008b833
4 changed files with 56 additions and 7 deletions
  1. +1
    -1
      src/components/Template/CustomTable.vue
  2. +45
    -3
      src/components/Template/StepComponents/JcbComp.vue
  3. +9
    -2
      src/components/Template/StepFormPackage.vue
  4. +1
    -1
      src/views/business/comps/template/comps/lba/LBA002.vue

+ 1
- 1
src/components/Template/CustomTable.vue View File

@ -201,7 +201,7 @@
:orange-bg="hasOrangeBg(rowIndex, colIndex, col.otherCode)" /> :orange-bg="hasOrangeBg(rowIndex, colIndex, col.otherCode)" />
</div> </div>
</div> </div>
<div class="m-l-5 flex" :class="{ 'flex1': col.bodySubType !== 'button' }"
<div class="m-l-5 flex" :class="{ 'flex1': (col.bodySubType !== 'button' && col.bodySubType !== 'span') }"
v-if="isShowBodySub(col, row)"> v-if="isShowBodySub(col, row)">
<template <template
v-if="col.bodySubType === 'inputNumber' || col.bodySubType === 'input' || col.bodySubType === 'select'"> v-if="col.bodySubType === 'inputNumber' || col.bodySubType === 'input' || col.bodySubType === 'select'">

+ 45
- 3
src/components/Template/StepComponents/JcbComp.vue View File

@ -1,7 +1,9 @@
<template> <template>
<div class="jcb-table-container"> <div class="jcb-table-container">
<CustomTable :ref="`tableRef`" :columns="jcbColumns" :formData="formData" :prefixKey="prefixKey" <CustomTable :ref="`tableRef`" :columns="jcbColumns" :formData="formData" :prefixKey="prefixKey"
class="jcb-table" operationWidth="120px" @clickButton="handleClickButton"
class="jcb-table" operationWidth="120px" @clickButton="handleClickButton" @blur="commonHandleUpdate"
@onAddRow="onAddRow"
@onRegentSubmit="commonHandleUpdate"
fieldItemLabel="template.common.operationSteps" :showOperation="templateFillType === 'preFill'"> fieldItemLabel="template.common.operationSteps" :showOperation="templateFillType === 'preFill'">
<template slot="operation" slot-scope="{ row, rowIndex, columns }"> <template slot="operation" slot-scope="{ row, rowIndex, columns }">
<TableOpertaionDelete :row="row" :rowIndex="rowIndex" :columns="columns" @deleteRow="deleteRow"> <TableOpertaionDelete :row="row" :rowIndex="rowIndex" :columns="columns" @deleteRow="deleteRow">
@ -12,7 +14,8 @@
</template> </template>
<script> <script>
import CustomTable from '../CustomTable.vue'; import CustomTable from '../CustomTable.vue';
import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue"
import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue";
import { getuuid } from "@/utils/index.js";
import moment from "moment" import moment from "moment"
export default { export default {
@ -32,6 +35,10 @@ export default {
default: '', default: '',
}, },
}, },
data() {
return {
};
},
computed: { computed: {
jcbColumns() { jcbColumns() {
return [ return [
@ -60,11 +67,23 @@ export default {
}, },
}, },
methods: { methods: {
//
onAddRow(data) {
const { dataSource = [] } = data;
const tableRef = this.$refs['tableRef'];
if (tableRef) {
tableRef.addRow({ clp: '', time: '' ,id:getuuid(),rowIndex:dataSource.length});
//
this.onDataChange();
}
},
// //
deleteRow(rowIndex) { deleteRow(rowIndex) {
const tableRef = this.$refs['tableRef']; const tableRef = this.$refs['tableRef'];
if (tableRef) { if (tableRef) {
tableRef.deleteRow(rowIndex); tableRef.deleteRow(rowIndex);
//
this.onDataChange();
} }
}, },
// validateFormData // validateFormData
@ -85,11 +104,34 @@ export default {
return validateResult; return validateResult;
}, },
// //
handleClickButton(key, rowIndex, row) {
handleClickButton(key, rowIndex) {
if (key === 'timeClick') { if (key === 'timeClick') {
this.$refs['tableRef'].updateDataSourceByRowIndex(rowIndex, { time: moment().format("YYYY-MM-DD HH:mm:ss") }) this.$refs['tableRef'].updateDataSourceByRowIndex(rowIndex, { time: moment().format("YYYY-MM-DD HH:mm:ss") })
this.onDataChange();
} }
}, },
//
onDataChange() {
//
let tableData = [];
if (this.$refs.tableRef) {
const filledData = this.$refs.tableRef.getFilledFormData();
tableData = filledData.stepTableFormData || [];
}
//
this.$emit('update', {
jcbInfo: {
stepTableFormData: tableData,
}
});
},
// blur
commonHandleUpdate() {
//
this.onDataChange();
},
} }
} }
</script> </script>

+ 9
- 2
src/components/Template/StepFormPackage.vue View File

@ -54,7 +54,7 @@
:stepIndex="stepIndex" :prefixKey="prefixKey+'_'+index" @update="(data)=>onSubPackageUpdate(data,key)" :subData = "formFields[key]" :ref="'zlSubPackageRef_'+key" /> :stepIndex="stepIndex" :prefixKey="prefixKey+'_'+index" @update="(data)=>onSubPackageUpdate(data,key)" :subData = "formFields[key]" :ref="'zlSubPackageRef_'+key" />
</template> </template>
<template v-else-if="sItem.type === 'qb'"> <template v-else-if="sItem.type === 'qb'">
<JcbComp :ref="'jcbComp_'+key" :stepIndex="stepIndex" :prefixKey="prefixKey+'_'+index" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
<JcbComp @update="(data)=>onJcbUpdate(data,key)" :ref="'jcbComp_'+key" :stepIndex="stepIndex" :prefixKey="prefixKey+'_'+index" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData.qb" />
</template> </template>
<div v-show="isShowOther(formFields[key])" class="flex flex1"> <div v-show="isShowOther(formFields[key])" class="flex flex1">
@ -77,7 +77,7 @@ import JcbComp from '@/components/Template/StepComponents/JcbComp.vue'
import ZLSubPackage from '@/components/Template/StepComponents/ZLSubPackage.vue' import ZLSubPackage from '@/components/Template/StepComponents/ZLSubPackage.vue'
import { isShowOther } from "@/utils/formPackageCommon.js"; import { isShowOther } from "@/utils/formPackageCommon.js";
import { EventBus } from "@/utils/eventBus"; import { EventBus } from "@/utils/eventBus";
import { isRegent} from "@/utils/index.js";
import { isRegent,justUpdateFilledFormData} from "@/utils/index.js";
import moment from 'moment' import moment from 'moment'
export default { export default {
inject: ['templateFillType','templateData'], inject: ['templateFillType','templateData'],
@ -159,6 +159,13 @@ export default {
onSubPackageUpdate(data,key){ onSubPackageUpdate(data,key){
this.formFields[key] = data; this.formFields[key] = data;
}, },
//
onJcbUpdate(data,key){
this.formFields[key] = data.jcbInfo;
this.$nextTick(() => {
justUpdateFilledFormData();
});
},
// ZLSubPackage // ZLSubPackage
validateSubComponents() { validateSubComponents() {
const refs = []; const refs = [];

+ 1
- 1
src/views/business/comps/template/comps/lba/LBA002.vue View File

@ -160,7 +160,7 @@ export default {
bodySubType: 'span', bodySubType: 'span',
bodySubKey: 'bh', bodySubKey: 'bh',
bodyFillType: 'preFill', bodyFillType: 'preFill',
width: 280,
width: 380,
}] }]
}, },
}, },

Loading…
Cancel
Save