|
|
@@ -2,8 +2,8 @@
|
|
|
<bs-modal :visible="modalOptions.visible" :width="modalOptions.width" :title="modalOptions.title"
|
|
|
:modal-extra-props="modalOptions.modalExtraProps" @cancel="handleCancel" @ok="handleOk">
|
|
|
<a-form :rules="rules" :model="formData">
|
|
|
- <a-form-item label="营销人" name="marketer">
|
|
|
- <OrgUserSelector v-model:selected-data="formData.marketer" :multiple="SELECT_MULTIPLE.ONE" />
|
|
|
+ <a-form-item label="营销人" name="marker">
|
|
|
+ <OrgUserSelector v-model:selected-data="formData.marker" :multiple="SELECT_MULTIPLE.ONE" />
|
|
|
</a-form-item>
|
|
|
<a-form-item label="营销团队" name="team">
|
|
|
<OrgUserSelector v-model:selected-data="formData.team" :multiple="SELECT_MULTIPLE.ONE"
|
|
|
@@ -17,23 +17,32 @@ import { ref, watch } from 'vue';
|
|
|
import BsModal, { useBsModal } from '/@/components/BsUi/Modal/index.js';
|
|
|
import OrgUserSelector from '/@/components/BsUi/OrgUserSelector/index.vue';
|
|
|
import { SCENE_TYPE, SELECT_MULTIPLE } from '/@/components/BsUi/constant.js';
|
|
|
-import { addMember, getPersonalOriganization } from "/@/api/market-manage/activity-manage";
|
|
|
+import { addMember, getMember, getPersonalOriganization, updateMember } from "/@/api/market-manage/activity-manage";
|
|
|
import { isEmpty } from 'lodash';
|
|
|
+import { message } from 'ant-design-vue';
|
|
|
const emit = defineEmits(['fetchTableData'])
|
|
|
-const props = defineProps(['title'])
|
|
|
+const props = defineProps(['title', 'id'])
|
|
|
const formData = ref({
|
|
|
marketer: '',
|
|
|
- marketingTeam: ''
|
|
|
+ marker: '',
|
|
|
+ team: '',
|
|
|
+ marketingTeam: '',
|
|
|
+ activityId: props.id
|
|
|
})
|
|
|
+const edit = ref(false)
|
|
|
const rules = {
|
|
|
- marketer: [{ required: true, message: '请选择营销人' }],
|
|
|
- marketingTeam: [{ required: true, message: '请选择团队' }]
|
|
|
+ marker: [{ required: true, message: '请选择营销人' }],
|
|
|
+ team: [{ required: true, message: '请选择团队' }]
|
|
|
}
|
|
|
-watch(() => formData.value.marketer, (value) => {
|
|
|
- getPersonalOriganization(value.id).then((res) => {
|
|
|
- formData.value.marketingTeam = res
|
|
|
- })
|
|
|
- console.log(value,formData.value);
|
|
|
+watch(() => formData.value.marker, (value) => {
|
|
|
+ console.log(value);
|
|
|
+ if (value) {
|
|
|
+ getPersonalOriganization(value.id).then((res) => {
|
|
|
+ formData.value.team = res.data[0]
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(value, formData.value);
|
|
|
})
|
|
|
const {
|
|
|
modalOptions,
|
|
|
@@ -41,7 +50,8 @@ const {
|
|
|
setModalPropsValue: setMVal,
|
|
|
} = useBsModal({
|
|
|
modalOptions: {
|
|
|
- width: '25%',
|
|
|
+ // width: '25%',
|
|
|
+ size: 'middle',
|
|
|
title: '',
|
|
|
visible: false,
|
|
|
modalExtraProps: {
|
|
|
@@ -54,10 +64,25 @@ const {
|
|
|
});
|
|
|
|
|
|
const showModal = (title, rowData) => {
|
|
|
- // setMVal("width", "100%")
|
|
|
+ /* 编辑 */
|
|
|
if (!isEmpty(rowData)) {
|
|
|
- formData.value = rowData
|
|
|
+ getMember(rowData.id).then((res) => {
|
|
|
+ formData.value = res.data
|
|
|
+ formData.value.marker = res.data.marketerDTOs[0]
|
|
|
+ formData.value.team = res.data.marketingTeamDTOs[0]
|
|
|
+ })
|
|
|
+ // formData.value = rowData
|
|
|
+ edit.value = true
|
|
|
console.log(title, rowData);
|
|
|
+ } else {
|
|
|
+ formData.value = {
|
|
|
+ marketer: '',
|
|
|
+ marker: '',
|
|
|
+ team: '',
|
|
|
+ marketingTeam: '',
|
|
|
+ activityId: props.id
|
|
|
+ }
|
|
|
+ edit.value = false
|
|
|
}
|
|
|
setMVal('title', title);
|
|
|
setMVal('visible', true);
|
|
|
@@ -69,11 +94,38 @@ const handleCancel = () => {
|
|
|
|
|
|
const handleOk = ({ }) => {
|
|
|
setMVal("modalExtraProps.okButtonProps.loading", true)
|
|
|
- addMember(formData.value).then((res) => {
|
|
|
- setMVal("modalExtraProps.okButtonProps.loading", false)
|
|
|
- setMVal('visible', false);
|
|
|
- emit('fetchTableData')
|
|
|
- })
|
|
|
+ const params = formData.value
|
|
|
+ params.marketer = params.marker.name
|
|
|
+ params.marketingTeam = params.team.name
|
|
|
+ params.employeeId = params.marker.id
|
|
|
+ if (edit.value) {
|
|
|
+ if (params.createUserId) {
|
|
|
+ params.createUserId = params.createUserId.loginName
|
|
|
+ }
|
|
|
+ if (params.updateUserId) {
|
|
|
+ params.updateUserId = params.updateUserId.loginName
|
|
|
+ }
|
|
|
+ updateMember(params).then((res) => {
|
|
|
+ if (!res.ok) {
|
|
|
+ message.error(res.msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ emit('fetchTableData')
|
|
|
+ message.success('新增成功')
|
|
|
+ setMVal('visible', false);
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ addMember(params).then((res) => {
|
|
|
+ if (!res.ok) {
|
|
|
+ message.error(res.msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ emit('fetchTableData')
|
|
|
+ message.success('新增成功')
|
|
|
+ setMVal('visible', false);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ setMVal("modalExtraProps.okButtonProps.loading", false)
|
|
|
};
|
|
|
|
|
|
defineExpose({
|