|
@@ -34,6 +34,21 @@
|
|
show-count
|
|
show-count
|
|
/>
|
|
/>
|
|
</FormItem>
|
|
</FormItem>
|
|
|
|
+ <FormItem
|
|
|
|
+ label="微信类型"
|
|
|
|
+ name="ctype"
|
|
|
|
+ :rules="[{ required: true, message: '请选择微信类型' }]"
|
|
|
|
+ >
|
|
|
|
+ <Select
|
|
|
|
+ :disabled="btnDisabled"
|
|
|
|
+ v-model:value="form.ctype"
|
|
|
|
+ placeholder="请选择微信类型"
|
|
|
|
+ @change="handleCtypeChange"
|
|
|
|
+ >
|
|
|
|
+ <SelectOption :value="1">个微</SelectOption>
|
|
|
|
+ <SelectOption :value="3">企微</SelectOption>
|
|
|
|
+ </Select>
|
|
|
|
+ </FormItem>
|
|
<FormItem label="发送账号" name="wxid" :rules="[{ required: true, message: '请选择' }]">
|
|
<FormItem label="发送账号" name="wxid" :rules="[{ required: true, message: '请选择' }]">
|
|
<Select
|
|
<Select
|
|
:disabled="btnDisabled"
|
|
:disabled="btnDisabled"
|
|
@@ -209,6 +224,7 @@
|
|
const form = reactive({
|
|
const form = reactive({
|
|
taskName: '',
|
|
taskName: '',
|
|
wxid: '',
|
|
wxid: '',
|
|
|
|
+ ctype: 1,
|
|
conditionOperator: '1',
|
|
conditionOperator: '1',
|
|
startTimeStr: '',
|
|
startTimeStr: '',
|
|
labels: [],
|
|
labels: [],
|
|
@@ -224,6 +240,7 @@
|
|
taskName: '',
|
|
taskName: '',
|
|
conditionOperator: '1',
|
|
conditionOperator: '1',
|
|
wxid: '',
|
|
wxid: '',
|
|
|
|
+ ctype: 1,
|
|
startTimeStr: '',
|
|
startTimeStr: '',
|
|
labels: [],
|
|
labels: [],
|
|
groupLabels: [],
|
|
groupLabels: [],
|
|
@@ -240,20 +257,12 @@
|
|
loading.value = true;
|
|
loading.value = true;
|
|
try {
|
|
try {
|
|
let res = await getLabelSelectList({ page: 1, pageSize: 1000, type: 1 });
|
|
let res = await getLabelSelectList({ page: 1, pageSize: 1000, type: 1 });
|
|
- // actionLabel.value = res.data.map((item) => ({
|
|
|
|
- // label: item.label,
|
|
|
|
- // value: item.label,
|
|
|
|
- // }));
|
|
|
|
actionLabel.value = res.data;
|
|
actionLabel.value = res.data;
|
|
let res1 = await getLabelSelectList({ page: 1, pageSize: 1000, type: 2 });
|
|
let res1 = await getLabelSelectList({ page: 1, pageSize: 1000, type: 2 });
|
|
actionLabelGroup.value = res1.data;
|
|
actionLabelGroup.value = res1.data;
|
|
- const result = await getWxList({ page: 1, pageSize: 50 });
|
|
|
|
- if (result.code == 0) {
|
|
|
|
- accountList.value = result.data.data.map((item) => ({
|
|
|
|
- label: item.nickname,
|
|
|
|
- value: item.wxid,
|
|
|
|
- }));
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ await loadAccountList(form.ctype);
|
|
|
|
+
|
|
if (unref(msgId)) {
|
|
if (unref(msgId)) {
|
|
await getBatchDetail(unref(msgId));
|
|
await getBatchDetail(unref(msgId));
|
|
btnDisabled.value = true;
|
|
btnDisabled.value = true;
|
|
@@ -265,7 +274,7 @@
|
|
} catch (error) {
|
|
} catch (error) {
|
|
console.error('初始化失败:', error);
|
|
console.error('初始化失败:', error);
|
|
} finally {
|
|
} finally {
|
|
- loading.value = false; // 数据加载完成,关闭 loading
|
|
|
|
|
|
+ loading.value = false;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
@@ -390,6 +399,7 @@
|
|
let parsedDate = dayjs(data.data.startTimeStr, 'YYYY-MM-DD HH:mm');
|
|
let parsedDate = dayjs(data.data.startTimeStr, 'YYYY-MM-DD HH:mm');
|
|
Object.assign(form, {
|
|
Object.assign(form, {
|
|
taskName: data.data.taskName,
|
|
taskName: data.data.taskName,
|
|
|
|
+ ctype: data.data.ctype || 1,
|
|
wxid: data.data.fromwxid,
|
|
wxid: data.data.fromwxid,
|
|
conditionOperator: data.data.sendTime !== null ? '2' : '1',
|
|
conditionOperator: data.data.sendTime !== null ? '2' : '1',
|
|
labels,
|
|
labels,
|
|
@@ -502,6 +512,26 @@
|
|
Object.assign(initialTaskForm, { ...taskForm });
|
|
Object.assign(initialTaskForm, { ...taskForm });
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ async function handleCtypeChange(value: number) {
|
|
|
|
+ form.wxid = '';
|
|
|
|
+ await loadAccountList(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ async function loadAccountList(ctype: number) {
|
|
|
|
+ try {
|
|
|
|
+ const result = await getWxList({ page: 1, pageSize: 50, ctype });
|
|
|
|
+ if (result.code == 0) {
|
|
|
|
+ accountList.value = result.data.data?.map((item) => ({
|
|
|
|
+ label: item.nickname,
|
|
|
|
+ value: item.wxid,
|
|
|
|
+ })) || [];
|
|
|
|
+ }
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.error('加载账号列表失败:', error);
|
|
|
|
+ accountList.value = [];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
</script>
|
|
</script>
|
|
<style scoped lang="less">
|
|
<style scoped lang="less">
|
|
.user-phase-drawer {
|
|
.user-phase-drawer {
|
|
@@ -514,15 +544,15 @@
|
|
}
|
|
}
|
|
|
|
|
|
.steps-action {
|
|
.steps-action {
|
|
- margin-top: 20px;
|
|
|
|
display: flex;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
justify-content: flex-end;
|
|
|
|
+ margin-top: 20px;
|
|
gap: 10px;
|
|
gap: 10px;
|
|
}
|
|
}
|
|
|
|
|
|
.step-style {
|
|
.step-style {
|
|
- margin: 0 auto;
|
|
|
|
width: 60%;
|
|
width: 60%;
|
|
|
|
+ margin: 0 auto;
|
|
}
|
|
}
|
|
|
|
|
|
.custom-step .ant-steps-item-title {
|
|
.custom-step .ant-steps-item-title {
|
|
@@ -530,29 +560,29 @@
|
|
}
|
|
}
|
|
|
|
|
|
.loading-style {
|
|
.loading-style {
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- z-index: 10;
|
|
|
|
|
|
+ display: flex;
|
|
position: fixed !important;
|
|
position: fixed !important;
|
|
|
|
+ z-index: 10;
|
|
top: 0;
|
|
top: 0;
|
|
left: 0;
|
|
left: 0;
|
|
- background: rgba(255, 255, 255, 0.7);
|
|
|
|
- display: flex;
|
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
- justify-content: center;
|
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ background: rgb(255 255 255 / 70%);
|
|
}
|
|
}
|
|
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin {
|
|
.ant-spin-nested-loading > div > .ant-spin {
|
|
max-height: 100% !important;
|
|
max-height: 100% !important;
|
|
- background: rgba(255, 255, 255, 0.7);
|
|
|
|
|
|
+ background: rgb(255 255 255 / 70%);
|
|
}
|
|
}
|
|
|
|
|
|
.warning-style {
|
|
.warning-style {
|
|
- color: #ff4949;
|
|
|
|
- font-size: 12px;
|
|
|
|
- margin-left: -240px;
|
|
|
|
position: absolute;
|
|
position: absolute;
|
|
bottom: -20px;
|
|
bottom: -20px;
|
|
|
|
+ margin-left: -240px;
|
|
|
|
+ color: #ff4949;
|
|
|
|
+ font-size: 12px;
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|