Compare commits

..

No commits in common. "a6ac18c17f363859d715ad9e6fcba5d0d192cd2a" and "fce25d01589644a86d4a6145dbbbfa29bd574906" have entirely different histories.

8 changed files with 54 additions and 164 deletions

View File

@ -24,7 +24,7 @@ export default defineComponent({
default: () => [], default: () => [],
}, },
}, },
emits: ['change', 'update:value', 'upDictCode'], emits: ['change', 'update:value'],
setup(props, { emit }) { setup(props, { emit }) {
const attrs = useAttrs(); const attrs = useAttrs();
//checkbox //checkbox
@ -86,7 +86,6 @@ export default defineComponent({
if (res) { if (res) {
checkOptions.value = res.map((item) => ({ value: item.value, label: item.text, disabled: item.status == 1 && !checkboxArray.value.includes(item.value), color: item.color })); checkOptions.value = res.map((item) => ({ value: item.value, label: item.text, disabled: item.status == 1 && !checkboxArray.value.includes(item.value), color: item.color }));
//console.info('res', dictOptions.value); //console.info('res', dictOptions.value);
emit('upDictCode', checkOptions.value)
} else { } else {
console.error('getDictItems error: : ', res); console.error('getDictItems error: : ', res);
checkOptions.value = []; checkOptions.value = [];

View File

@ -34,8 +34,7 @@
<a-select-option :value="item.value" :disabled="!ignoreDisabled && item.disabled"> <a-select-option :value="item.value" :disabled="!ignoreDisabled && item.disabled">
<span :class="[useDicColor && item.color ? 'colorText' : '']" <span :class="[useDicColor && item.color ? 'colorText' : '']"
:style="{ backgroundColor: `${useDicColor && item.color}` }" :title="item.label"> :style="{ backgroundColor: `${useDicColor && item.color}` }" :title="item.label">
{{ item.label }}<span style="color:rgb(255 39 39);">{{ ignoreDisabled && item.disabled ? '(已停用)' : '' {{ item.label }}<span style="color:rgb(255 39 39);">{{ ignoreDisabled && item.disabled ? '(已停用)' : '' }}</span>
}}</span>
</span> </span>
</a-select-option> </a-select-option>
</template> </template>
@ -78,7 +77,7 @@ export default defineComponent({
style: propTypes.any, style: propTypes.any,
ignoreDisabled: propTypes.bool.def(false), ignoreDisabled: propTypes.bool.def(false),
}, },
emits: ['options-change', 'change', 'update:value', 'upDictCode'], emits: ['options-change', 'change', 'update:value'],
setup(props, { emit, refs }) { setup(props, { emit, refs }) {
const dictOptions = ref<any[]>([]); const dictOptions = ref<any[]>([]);
const attrs = useAttrs(); const attrs = useAttrs();
@ -141,7 +140,6 @@ export default defineComponent({
} }
return prev; return prev;
}, []); }, []);
emit('upDictCode', dictOptions.value)
} }
function handleChange(e) { function handleChange(e) {

View File

@ -74,15 +74,13 @@ import { ref, reactive } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage'; import { useListPage } from '/@/hooks/system/useListPage';
import { columns, superQuerySchema } from './InstructionTag.data'; import { columns, superQuerySchema } from './InstructionTag.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, saveOrUpdate } from './InstructionTag.api'; import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './InstructionTag.api';
import { downloadFile } from '/@/utils/common/renderUtils'; import { downloadFile } from '/@/utils/common/renderUtils';
import InstructionTagModal from './components/InstructionTagModal.vue' import InstructionTagModal from './components/InstructionTagModal.vue'
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue"; import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();
const formRef = ref(); const formRef = ref();
const queryParam = reactive<any>({}); const queryParam = reactive<any>({});
const toggleSearchStatus = ref<boolean>(false); const toggleSearchStatus = ref<boolean>(false);
@ -188,38 +186,19 @@ function handleSuccess() {
(selectedRowKeys.value = []) && reload(); (selectedRowKeys.value = []) && reload();
} }
//
function handleIzEnabled(record, izEnabled_) {
record.izEnabled = izEnabled_
saveOrUpdate(record, true).then((res) => {
if (res.success) {
createMessage.success(res.message);
reload();
} else {
createMessage.warning(res.message);
}
})
}
/** /**
* 操作栏 * 操作栏
*/ */
function getTableAction(record) { function getTableAction(record) {
return [ return [
{
label: '编辑',
onClick: handleEdit.bind(null, record)
},
{ {
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),
}, },
{
label: '启用',
onClick: handleIzEnabled.bind(null, record, '0'),
ifShow: record.izEnabled == 1
},
{
label: '停用',
onClick: handleIzEnabled.bind(null, record, '1'),
ifShow: record.izEnabled == 0
},
]; ];
} }

View File

@ -82,15 +82,13 @@ import { ref, reactive } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage'; import { useListPage } from '/@/hooks/system/useListPage';
import { columns, superQuerySchema } from './ConfigServiceCategory.data'; import { columns, superQuerySchema } from './ConfigServiceCategory.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, saveOrUpdate } from './ConfigServiceCategory.api'; import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './ConfigServiceCategory.api';
import { downloadFile } from '/@/utils/common/renderUtils'; import { downloadFile } from '/@/utils/common/renderUtils';
import ConfigServiceCategoryModal from './components/ConfigServiceCategoryModal.vue' import ConfigServiceCategoryModal from './components/ConfigServiceCategoryModal.vue'
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue"; import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();
const formRef = ref(); const formRef = ref();
const queryParam = reactive<any>({}); const queryParam = reactive<any>({});
const toggleSearchStatus = ref<boolean>(false); const toggleSearchStatus = ref<boolean>(false);
@ -196,38 +194,19 @@ function handleSuccess() {
(selectedRowKeys.value = []) && reload(); (selectedRowKeys.value = []) && reload();
} }
//
function handleIzEnabled(record, izEnabled_) {
record.izEnabled = izEnabled_
saveOrUpdate(record, true).then((res) => {
if (res.success) {
createMessage.success(res.message);
reload();
} else {
createMessage.warning(res.message);
}
})
}
/** /**
* 操作栏 * 操作栏
*/ */
function getTableAction(record) { function getTableAction(record) {
return [ return [
{
label: '编辑',
onClick: handleEdit.bind(null, record)
},
{ {
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),
}, },
{
label: '启用',
onClick: handleIzEnabled.bind(null, record, '0'),
ifShow: record.izEnabled == 1
},
{
label: '停用',
onClick: handleIzEnabled.bind(null, record, '1'),
ifShow: record.izEnabled == 0
},
]; ];
} }

View File

@ -100,12 +100,6 @@ export const columns: BasicColumn[] = [
dataIndex: 'serviceDuration', dataIndex: 'serviceDuration',
width: 135, width: 135,
}, },
{
title: '指令状态',
align: 'center',
dataIndex: 'status_dictText',
width: 100,
},
{ {
title: '是否启用', title: '是否启用',
align: 'center', align: 'center',

View File

@ -56,7 +56,7 @@
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="izEnabled"> <a-form-item name="izEnabled">
<template #label><span title="是否启用">是否启用</span></template> <template #label><span title="是否启用">是否启用</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.izEnabled" dictCode="iz_enabled" <j-dict-select-tag type='list' v-model:value="queryParam.izEnabled" dictCode="directive_status"
:ignoreDisabled="true" placeholder="请选择是否启用" allowClear /> :ignoreDisabled="true" placeholder="请选择是否启用" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>

View File

@ -10,31 +10,28 @@
id="ConfigServiceDirectiveForm-instructionTagId" name="instructionTagId"> id="ConfigServiceDirectiveForm-instructionTagId" name="instructionTagId">
<j-dict-select-tag v-model:value="formData.instructionTagId" <j-dict-select-tag v-model:value="formData.instructionTagId"
:dictCode="`nu_config_service_instruction_tag,instruction_name,id,del_flag = 0 order by sort asc`" :dictCode="`nu_config_service_instruction_tag,instruction_name,id,del_flag = 0 order by sort asc`"
placeholder="请选择分类标签" allowClear @upDictCode="upInstructionDictCode" placeholder="请选择分类标签" allowClear @upDictCode="upInstructionDictCode" />
:disabled="!!formData.id && formData.status == 0" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="服务类别" v-bind="validateInfos.categoryId" id="ConfigServiceDirectiveForm-categoryId" <a-form-item label="服务类别" v-bind="validateInfos.categoryId" id="ConfigServiceDirectiveForm-categoryId"
name="categoryId"> name="categoryId">
<j-dict-select-tag type="list" v-model:value="formData.categoryId" <j-dict-select-tag type="list" v-model:value="formData.categoryId"
:disabled="!formData.instructionTagId || (!!formData.id && formData.status == 0)" :disabled="!formData.instructionTagId" :dictCode="categoryDictCode" placeholder="请选择服务类别" allow-clear
:dictCode="categoryDictCode" placeholder="请选择服务类别" allow-clear @upDictCode="upCategoryDictCode" /> @upDictCode="upCategoryDictCode" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="服务类型" v-bind="validateInfos.typeId" id="ConfigServiceDirectiveForm-typeId" <a-form-item label="服务类型" v-bind="validateInfos.typeId" id="ConfigServiceDirectiveForm-typeId"
name="typeId"> name="typeId">
<j-dict-select-tag type="list" v-model:value="formData.typeId" :dictCode="typeDictCode" <j-dict-select-tag type="list" v-model:value="formData.typeId" :dictCode="typeDictCode"
:disabled="!formData.categoryId || (!!formData.id && formData.status == 0)" placeholder="请选择服务类型" :disabled="!formData.categoryId" placeholder="请选择服务类型" allowClear @upDictCode="upTypeDictCode" />
allowClear @upDictCode="upTypeDictCode" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="服务指令名称" v-bind="validateInfos.directiveName" <a-form-item label="服务指令名称" v-bind="validateInfos.directiveName"
id="ConfigServiceDirectiveForm-directiveName" name="directiveName"> id="ConfigServiceDirectiveForm-directiveName" name="directiveName">
<a-input v-model:value="formData.directiveName" placeholder="请输入服务指令名称" allow-clear <a-input v-model:value="formData.directiveName" placeholder="请输入服务指令名称" allow-clear></a-input>
:disabled="!!formData.id && formData.status == 0"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -69,8 +66,7 @@
<a-form-item label="周期类型" v-bind="validateInfos.cycleType" id="ConfigServiceDirectiveForm-cycleType" <a-form-item label="周期类型" v-bind="validateInfos.cycleType" id="ConfigServiceDirectiveForm-cycleType"
name="cycleType"> name="cycleType">
<j-dict-select-tag type="list" v-model:value="formData.cycleType" dictCode="period_type" <j-dict-select-tag type="list" v-model:value="formData.cycleType" dictCode="period_type"
placeholder="请选择周期类型" allowClear @upDictCode="upCycleTypeDictCode" placeholder="请选择周期类型" allowClear @upDictCode="upCycleTypeDictCode" />
:disabled="!!formData.id && formData.status == 0" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -86,31 +82,30 @@
<a-form-item label="体型标签" id="ConfigServiceDirectiveForm-typeId" :labelCol="labelCol2" <a-form-item label="体型标签" id="ConfigServiceDirectiveForm-typeId" :labelCol="labelCol2"
:wrapperCol="wrapperCol2" name="typeId"> :wrapperCol="wrapperCol2" name="typeId">
<JCheckbox v-model:value="formData.bodyTags" <JCheckbox v-model:value="formData.bodyTags"
:dictCode="`nu_config_body_tag,tag_name,id,del_flag = 0 order by sort asc`" :dictCode="`nu_config_body_tag,tag_name,id,del_flag = 0 order by sort asc`" />
@upDictCode="upBodyTagsDictCode" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="情绪标签" :labelCol="labelCol2" :wrapperCol="wrapperCol2" name="emoTags"> <a-form-item label="情绪标签" :labelCol="labelCol2" :wrapperCol="wrapperCol2" name="emoTags">
<JCheckbox v-model:value="formData.emotionTags" <JCheckbox v-model:value="formData.emotionTags"
:dictCode="`nu_config_emotion_tag,tag_name,id,del_flag = 0 order by sort asc`" :dictCode="`nu_config_emotion_tag,tag_name,id,del_flag = 0 order by sort asc`" />
@upDictCode="upEmotionTagsDictCode" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="是否启用" v-bind="validateInfos.izEnabled" id="ConfigServiceDirectiveForm-izEnabled" <a-form-item label="是否启用" v-bind="validateInfos.izEnabled" id="ConfigServiceDirectiveForm-izEnabled"
name="izEnabled"> name="izEnabled">
<j-dict-select-tag type='radio' v-model:value="formData.izEnabled" dictCode="iz_enabled" <span v-if="formData.izEnabled == 2">未授权</span>
<j-dict-select-tag v-else type='radio' v-model:value="formData.izEnabled" dictCode="iz_enabled"
placeholder="请选择是否启用"  allowClear /> placeholder="请选择是否启用"  allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row v-if="disabled"> <a-row v-if="formData.izEnabled == 0 || formData.izEnabled == 1">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="服务指令图片" v-bind="validateInfos.previewFile"> <a-form-item label="服务指令图片" v-bind="validateInfos.previewFile">
<span v-if="!formData.previewFile">无文件</span> <span v-if="!formData.previewFile">无文件</span>
<JImageUpload v-else :fileMax="1" v-model:value="formData.previewFile" disabled <JImageUpload v-else :fileMax="1" v-model:value="formData.previewFile" disabled
:bizPath="formComputedData.mediaFileSavePath"> :bizPath="directiveBizPath">
</JImageUpload> </JImageUpload>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -127,14 +122,14 @@
<a-form-item label="指令音频文件" v-bind="validateInfos.mp3File" id="ConfigServiceDirectiveForm-mp3File"> <a-form-item label="指令音频文件" v-bind="validateInfos.mp3File" id="ConfigServiceDirectiveForm-mp3File">
<span v-if="!formData.mp3File">无文件</span> <span v-if="!formData.mp3File">无文件</span>
<j-upload v-else v-model:value="formData.mp3File" accept=".mp3" :maxCount="1" disabled <j-upload v-else v-model:value="formData.mp3File" accept=".mp3" :maxCount="1" disabled
:bizPath="formComputedData.mediaFileSavePath"></j-upload> :bizPath="directiveBizPath"></j-upload>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="指令视频文件" v-bind="validateInfos.mp4File" id="ConfigServiceDirectiveForm-mp4File"> <a-form-item label="指令视频文件" v-bind="validateInfos.mp4File" id="ConfigServiceDirectiveForm-mp4File">
<span v-if="!formData.mp4File">无文件</span> <span v-if="!formData.mp4File">无文件</span>
<j-upload v-else v-model:value="formData.mp4File" accept=".mp4" :maxCount="1" disabled <j-upload v-else v-model:value="formData.mp4File" accept=".mp4" :maxCount="1" disabled
:bizPath="formComputedData.mediaFileSavePath"></j-upload> :bizPath="directiveBizPath"></j-upload>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-row> <a-row>
@ -143,7 +138,7 @@
</a-form> </a-form>
</template> </template>
</JFormContainer> </JFormContainer>
<JFormContainer v-if="disabled"> <JFormContainer v-if="formData.izEnabled == 0 || formData.izEnabled == 1">
<template #detail> <template #detail>
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol" <a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol"
name="ConfigServiceDirectiveForm"> name="ConfigServiceDirectiveForm">
@ -168,7 +163,7 @@
<a-form-item label="即时指令图标" v-bind="validateInfos.immediateFile"> <a-form-item label="即时指令图标" v-bind="validateInfos.immediateFile">
<span v-if="!formData.immediateFile">无文件</span> <span v-if="!formData.immediateFile">无文件</span>
<JImageUpload v-else :fileMax="1" v-model:value="formData.immediateFile" disabled <JImageUpload v-else :fileMax="1" v-model:value="formData.immediateFile" disabled
:bizPath="formComputedData.mediaFileSavePath"> :bizPath="directiveBizPath">
</JImageUpload> </JImageUpload>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -217,8 +212,7 @@ const formData = reactive<Record<string, any>>({
sort: 99, sort: 99,
serviceContent: '', serviceContent: '',
serviceDuration: '5', serviceDuration: '5',
status: '', izEnabled: '2',
izEnabled: '0',
createBy: '', createBy: '',
createTime: '', createTime: '',
updateBy: '', updateBy: '',
@ -235,10 +229,6 @@ const labelCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 3 } });
const wrapperCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 20 } }); const wrapperCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 20 } });
const confirmLoading = ref<boolean>(false); const confirmLoading = ref<boolean>(false);
const isEditMedia = ref(false) const isEditMedia = ref(false)
const instructionTagName = ref('')
const categoryName = ref('')
const typeName = ref('')
const cycleTypeName = ref('')
// //
const validatorRules = reactive({ const validatorRules = reactive({
categoryId: [{ required: true, message: '请选择服务类别!' },], categoryId: [{ required: true, message: '请选择服务类别!' },],
@ -306,62 +296,36 @@ function upInstructionDictCode(v_) {
const categoryComDictCode = ref([]) const categoryComDictCode = ref([])
function upCategoryDictCode(v_) { function upCategoryDictCode(v_) {
categoryComDictCode.value = v_ categoryComDictCode.value = v_
} }
// //
const typeComDictCode = ref([]) const typeComDictCode = ref([])
function upTypeDictCode(v_) { function upTypeDictCode(v_) {
typeComDictCode.value = v_ typeComDictCode.value = v_
} }
// //
const cycleTypeComDictCode = ref([]) const cycleTypeComDictCode = ref([])
function upCycleTypeDictCode(v_) { function upCycleTypeDictCode(v_) {
cycleTypeComDictCode.value = v_ cycleTypeComDictCode.value = v_
}
//
const upBodyTagsComDictCode = ref([])
function upBodyTagsDictCode(v_) {
upBodyTagsComDictCode.value = v_
}
//
const upEmotionTagsComDictCode = ref([])
function upEmotionTagsDictCode(v_) {
upEmotionTagsComDictCode.value = v_
} }
watch([instructionComDictCode, categoryComDictCode, typeComDictCode, cycleTypeComDictCode], () => {
watch([instructionComDictCode, categoryComDictCode, typeComDictCode, cycleTypeComDictCode, upBodyTagsComDictCode, upEmotionTagsComDictCode], () => { // directiveBizPath
// formComputedData
}, { deep: true }); }, { deep: true });
const bodyTagsObj = ref([]) const directiveBizPath = computed(() => {
const emotionTagsObj = ref([]) if (!canUploadPreviewImage.value) return '';
const formComputedData = computed(() => {
if (!canUploadPreviewImage.value) return {};
// //
const instructionName = instructionComDictCode.value.find(d => d.value == formData.instructionTagId)?.label || ''; const instructionTagName_ = instructionComDictCode.value.filter(d => d.value == formData.instructionTagId)?.[0]?.label;
const categoryName = categoryComDictCode.value.find(d => d.value == formData.categoryId)?.label || ''; const categoryName_ = categoryComDictCode.value.filter(d => d.value == formData.categoryId)?.[0]?.label;
const typeName = typeComDictCode.value.find(d => d.value == formData.typeId)?.label || ''; const typeName_ = typeComDictCode.value.filter(d => d.value == formData.typeId)?.[0]?.label;
const cycleTypeName = cycleTypeComDictCode.value.find(d => d.value == formData.cycleType)?.label || ''; const cycleTypeName_ = cycleTypeComDictCode.value.filter(d => d.value == formData.cycleType)?.[0]?.label;
// //
const processTags = (tags, dict) => { return 'directive/' + `${instructionTagName_}/${categoryName_}/${typeName_}/${formData.directiveName}/${cycleTypeName_}`;
if (!tags) return [];
return tags.split(',')
.map(id => dict.find(d => d.value === id))
.filter(Boolean)
.map(item => ({ id: item.value, label: item.label }));
};
return {
mediaFileSavePath: `directive/${instructionName}/${categoryName}/${typeName}/${formData.directiveName}/${cycleTypeName}`,
instructionName,
categoryName,
typeName,
cycleTypeName,
bodyTagsObj: JSON.stringify(processTags(formData.bodyTags, upBodyTagsComDictCode.value)),
emotionTagsObj: JSON.stringify(processTags(formData.emotionTags, upEmotionTagsComDictCode.value))
};
}); });
watch( watch(
@ -434,11 +398,7 @@ async function submitForm() {
confirmLoading.value = true; confirmLoading.value = true;
const isUpdate = ref<boolean>(false); const isUpdate = ref<boolean>(false);
// //
const computedData = formComputedData.value; let model = formData;
const model = {
...formData,
...computedData
};
if (model.id) { if (model.id) {
isUpdate.value = true; isUpdate.value = true;
} }
@ -458,9 +418,12 @@ async function submitForm() {
if (model.comPrice != 0 && model.tollPrice <= model.comPrice) { if (model.comPrice != 0 && model.tollPrice <= model.comPrice) {
createMessage.warning('提成价格不能高于收费价格!'); createMessage.warning('提成价格不能高于收费价格!');
confirmLoading.value = false; confirmLoading.value = false;
return retrun;
} }
//
model.mediaFileSavePath = directiveBizPath
await saveOrUpdate(model, isUpdate.value) await saveOrUpdate(model, isUpdate.value)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {

View File

@ -82,16 +82,14 @@ import { ref, reactive, computed, watch } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage'; import { useListPage } from '/@/hooks/system/useListPage';
import { columns, superQuerySchema } from './ConfigServiceType.data'; import { columns, superQuerySchema } from './ConfigServiceType.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, saveOrUpdate } from './ConfigServiceType.api'; import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './ConfigServiceType.api';
import { defHttp } from '/@/utils/http/axios'; import { defHttp } from '/@/utils/http/axios';
import { downloadFile } from '/@/utils/common/renderUtils'; import { downloadFile } from '/@/utils/common/renderUtils';
import ConfigServiceTypeModal from './components/ConfigServiceTypeModal.vue' import ConfigServiceTypeModal from './components/ConfigServiceTypeModal.vue'
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue"; import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();
const formRef = ref(); const formRef = ref();
const queryParam = reactive<any>({}); const queryParam = reactive<any>({});
const toggleSearchStatus = ref<boolean>(false); const toggleSearchStatus = ref<boolean>(false);
@ -209,38 +207,18 @@ function handleSuccess() {
(selectedRowKeys.value = []) && reload(); (selectedRowKeys.value = []) && reload();
} }
//
function handleIzEnabled(record, izEnabled_) {
record.izEnabled = izEnabled_
saveOrUpdate(record, true).then((res) => {
if (res.success) {
createMessage.success(res.message);
reload();
} else {
createMessage.warning(res.message);
}
})
}
/** /**
* 操作栏 * 操作栏
*/ */
function getTableAction(record) { function getTableAction(record) {
return [ return [
{ {
label: '编辑',
onClick: handleEdit.bind(null, record)
}, {
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),
}, }
{
label: '启用',
onClick: handleIzEnabled.bind(null, record, '0'),
ifShow: record.izEnabled == 1
},
{
label: '停用',
onClick: handleIzEnabled.bind(null, record, '1'),
ifShow: record.izEnabled == 0
},
]; ];
} }