|
@@ -7,17 +7,16 @@
|
|
|
@ok="handleOk"
|
|
|
>
|
|
|
<div class="pt-3px pr-3px">
|
|
|
- <BasicForm @register="registerForm" :model="model" />
|
|
|
+ <BasicForm @register="registerForm" />
|
|
|
</div>
|
|
|
</BasicModal>
|
|
|
</template>
|
|
|
<script lang="ts">
|
|
|
- import { defineComponent, ref, computed } from 'vue';
|
|
|
- import { saveApi, updateApi } from '/@/api/staff/list';
|
|
|
+ import { defineComponent, ref, unref } from 'vue';
|
|
|
+ import { delApi } from '/@/api/staff/list';
|
|
|
import { BasicModal, useModalInner } from '/@/components/Modal';
|
|
|
import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
- import { useUserStore } from '/@/store/modules/user';
|
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
const { t } = useI18n();
|
|
|
|
|
@@ -26,28 +25,17 @@
|
|
|
props: {
|
|
|
userData: { type: Object },
|
|
|
},
|
|
|
+ emits: ['ok'],
|
|
|
setup(_, context) {
|
|
|
- const modelRef = ref({});
|
|
|
- const userStore = useUserStore();
|
|
|
- const options = ref([
|
|
|
- {
|
|
|
- label: '是',
|
|
|
- value: 1,
|
|
|
- key: '1',
|
|
|
- },
|
|
|
- { label: '否', value: 0, key: '0' },
|
|
|
- ]);
|
|
|
- const userinfo = computed(() => userStore.getUserInfo);
|
|
|
+ const modelRef = ref({
|
|
|
+ toUserId: 0,
|
|
|
+ userId: 0,
|
|
|
+ });
|
|
|
+ const options = ref([]);
|
|
|
const { createMessage } = useMessage();
|
|
|
const schemas: FormSchema[] = [
|
|
|
{
|
|
|
- field: 'userId',
|
|
|
- component: 'Input',
|
|
|
- label: '手机号',
|
|
|
- show: false,
|
|
|
- },
|
|
|
- {
|
|
|
- field: 'toUser',
|
|
|
+ field: 'toUserPhone',
|
|
|
component: 'Select',
|
|
|
label: '角色',
|
|
|
required: true,
|
|
@@ -59,12 +47,10 @@
|
|
|
},
|
|
|
componentProps: {
|
|
|
options: options.value,
|
|
|
- // labelField: 'roleName',
|
|
|
- // valueField: 'roleId',
|
|
|
},
|
|
|
},
|
|
|
];
|
|
|
- const [registerForm, { setFieldsValue, validate, resetFields, updateSchema }] = useForm({
|
|
|
+ const [registerForm, { validate, resetFields, updateSchema }] = useForm({
|
|
|
labelWidth: 120,
|
|
|
schemas,
|
|
|
showActionButtonGroup: false,
|
|
@@ -77,15 +63,18 @@
|
|
|
data && onDataReceive(data);
|
|
|
});
|
|
|
function onDataReceive(data) {
|
|
|
+ data = unref(data);
|
|
|
+ modelRef.value.userId = data.id;
|
|
|
console.log('onDataReceive', data);
|
|
|
// 方式1;
|
|
|
- setFieldsValue({
|
|
|
- ...data,
|
|
|
- });
|
|
|
if (data.option) {
|
|
|
- options.value = data.option;
|
|
|
+ options.value = data.option.map((ele) => {
|
|
|
+ ele.label = ele.nickName;
|
|
|
+ ele.value = ele.phone;
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
updateSchema({
|
|
|
- field: 'toUser',
|
|
|
+ field: 'toUserPhone',
|
|
|
component: 'Select',
|
|
|
label: '角色',
|
|
|
required: true,
|
|
@@ -96,7 +85,11 @@
|
|
|
span: 22,
|
|
|
},
|
|
|
componentProps: {
|
|
|
- options: options.value,
|
|
|
+ options: data.option,
|
|
|
+ onChange: function (value, item) {
|
|
|
+ modelRef.value.toUserId = item.id;
|
|
|
+ console.log('onChange', value, item);
|
|
|
+ },
|
|
|
},
|
|
|
});
|
|
|
}
|
|
@@ -104,23 +97,18 @@
|
|
|
|
|
|
async function handleOk() {
|
|
|
let data = await validate();
|
|
|
- const { companyId } = userinfo.value;
|
|
|
- const requestApi = data.id ? updateApi : saveApi;
|
|
|
- let res = await requestApi({
|
|
|
- userName: data.phone,
|
|
|
- phone: data.phone,
|
|
|
- nickName: data.nickName,
|
|
|
- roleId: data.roleId,
|
|
|
- companyId,
|
|
|
+ let res = await delApi({
|
|
|
+ toUserPhone: data.toUserPhone,
|
|
|
+ userId: modelRef.value.userId,
|
|
|
+ toUserId: modelRef.value.toUserId,
|
|
|
});
|
|
|
- console.log('res', res);
|
|
|
context && context.emit('ok', res);
|
|
|
createMessage.success(t('common.optSuccess'));
|
|
|
closeModal();
|
|
|
resetFields();
|
|
|
}
|
|
|
|
|
|
- return { options, register, schemas, registerForm, model: modelRef, handleOk, resetFields };
|
|
|
+ return { options, register, registerForm, model: modelRef, handleOk, resetFields };
|
|
|
},
|
|
|
});
|
|
|
</script>
|