|
@@ -12,11 +12,21 @@
|
|
|
|
|
|
<el-dialog :title="modalType == 'add' ? '添加' : '编辑'" v-if="dialogVisible" v-model="dialogVisible" width="60%">
|
|
<el-dialog :title="modalType == 'add' ? '添加' : '编辑'" v-if="dialogVisible" v-model="dialogVisible" width="60%">
|
|
<byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit" v-loading="loadingDialog">
|
|
<byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit" v-loading="loadingDialog">
|
|
- <template #other>
|
|
|
|
|
|
+ <template #main>
|
|
<div style="width:100%">
|
|
<div style="width:100%">
|
|
- <el-checkbox-group v-model="formData.data.checkList">
|
|
|
|
- <el-checkbox v-for="item in checkBoxList" :label="item.label" :value="item.value" />
|
|
|
|
-
|
|
|
|
|
|
+ <el-checkbox-group v-model="formData.data.mainCheckList">
|
|
|
|
+ <el-checkbox v-for="item in checkBoxMap.infoField" :value="item.key" :label="item.key" :key="item.key">
|
|
|
|
+ {{item.val}}
|
|
|
|
+ </el-checkbox>
|
|
|
|
+ </el-checkbox-group>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template #detail>
|
|
|
|
+ <div style="width:100%">
|
|
|
|
+ <el-checkbox-group v-model="formData.data.detailCheckList">
|
|
|
|
+ <el-checkbox v-for="item in checkBoxMap.detailField" :value="item.key" :label="item.key" :key="item.key">
|
|
|
|
+ {{item.val}}
|
|
|
|
+ </el-checkbox>
|
|
</el-checkbox-group>
|
|
</el-checkbox-group>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -48,7 +58,7 @@ const typeData = ref([
|
|
value: 20,
|
|
value: 20,
|
|
},
|
|
},
|
|
]);
|
|
]);
|
|
-const checkBoxList = ref([]);
|
|
|
|
|
|
+const checkBoxMap = ref({});
|
|
const sourceList = ref({
|
|
const sourceList = ref({
|
|
data: [],
|
|
data: [],
|
|
pagination: {
|
|
pagination: {
|
|
@@ -137,16 +147,9 @@ const config = computed(() => {
|
|
});
|
|
});
|
|
const corporationList = ref([]);
|
|
const corporationList = ref([]);
|
|
const getDict = () => {
|
|
const getDict = () => {
|
|
- proxy
|
|
|
|
- .post("/dictTenantData/page", {
|
|
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 999,
|
|
|
|
- dictCode: "account_currency",
|
|
|
|
- tenantId: useUserStore().user.tenantId,
|
|
|
|
- })
|
|
|
|
- .then((res) => {
|
|
|
|
- checkBoxList.value = res;
|
|
|
|
- });
|
|
|
|
|
|
+ proxy.post("/costControl/getFieldInfo").then((res) => {
|
|
|
|
+ checkBoxMap.value = res;
|
|
|
|
+ });
|
|
};
|
|
};
|
|
const getList = async (req) => {
|
|
const getList = async (req) => {
|
|
sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
|
|
sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
|
|
@@ -214,8 +217,13 @@ const formConfig = computed(() => {
|
|
},
|
|
},
|
|
{
|
|
{
|
|
type: "slot",
|
|
type: "slot",
|
|
- slotName: "other",
|
|
|
|
- label: "勾选需要字段",
|
|
|
|
|
|
+ slotName: "main",
|
|
|
|
+ label: "主要字段",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "slot",
|
|
|
|
+ slotName: "detail",
|
|
|
|
+ label: "明细字段",
|
|
},
|
|
},
|
|
];
|
|
];
|
|
});
|
|
});
|
|
@@ -231,7 +239,8 @@ const formData = reactive({
|
|
const openModal = (val) => {
|
|
const openModal = (val) => {
|
|
modalType.value = val;
|
|
modalType.value = val;
|
|
formData.data = {
|
|
formData.data = {
|
|
- accountRemainderList: [{ currency: "", remainder: undefined }],
|
|
|
|
|
|
+ mainCheckList: [],
|
|
|
|
+ detailCheckList: [],
|
|
};
|
|
};
|
|
loadingDialog.value = false;
|
|
loadingDialog.value = false;
|
|
dialogVisible.value = true;
|
|
dialogVisible.value = true;
|
|
@@ -265,6 +274,11 @@ const isRepeat = (arr) => {
|
|
const submitForm = () => {
|
|
const submitForm = () => {
|
|
submit.value.handleSubmit(() => {
|
|
submit.value.handleSubmit(() => {
|
|
loadingDialog.value = true;
|
|
loadingDialog.value = true;
|
|
|
|
+ let dynamicFieldJson = {
|
|
|
|
+ mainCheckList: formData.data.mainCheckList,
|
|
|
|
+ detailCheckList: formData.data.detailCheckList,
|
|
|
|
+ };
|
|
|
|
+ formData.data.dynamicFieldJson = JSON.stringify(dynamicFieldJson);
|
|
proxy.post("/paymentType/" + modalType.value, formData.data).then(
|
|
proxy.post("/paymentType/" + modalType.value, formData.data).then(
|
|
() => {
|
|
() => {
|
|
proxy.msgTip("操作成功", 1);
|
|
proxy.msgTip("操作成功", 1);
|
|
@@ -278,11 +292,17 @@ const submitForm = () => {
|
|
);
|
|
);
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
+
|
|
const update = (row) => {
|
|
const update = (row) => {
|
|
modalType.value = "edit";
|
|
modalType.value = "edit";
|
|
loadingDialog.value = true;
|
|
loadingDialog.value = true;
|
|
proxy.post("/paymentType/detail", { id: row.id }).then((res) => {
|
|
proxy.post("/paymentType/detail", { id: row.id }).then((res) => {
|
|
formData.data = res;
|
|
formData.data = res;
|
|
|
|
+ if (res && res.dynamicFieldJson) {
|
|
|
|
+ let jsonObj = JSON.parse(res.dynamicFieldJson);
|
|
|
|
+ formData.data.mainCheckList = jsonObj.mainCheckList;
|
|
|
|
+ formData.data.detailCheckList = jsonObj.detailCheckList;
|
|
|
|
+ }
|
|
loadingDialog.value = false;
|
|
loadingDialog.value = false;
|
|
});
|
|
});
|
|
dialogVisible.value = true;
|
|
dialogVisible.value = true;
|