会员、门店修改,代码优化
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import request from '@/config/axios'
|
||||
|
||||
export interface JobVO {
|
||||
id: number
|
||||
id?: number
|
||||
name: string
|
||||
status: number
|
||||
handlerName: string
|
||||
|
@ -1,13 +1,28 @@
|
||||
import request from '@/config/axios'
|
||||
|
||||
export interface DiscountCouponVO {
|
||||
id: number
|
||||
name: string
|
||||
type: boolean
|
||||
regionInfo: string
|
||||
appoint: boolean
|
||||
appointInfo: string
|
||||
sort: number
|
||||
couponName: string
|
||||
couponScope: number
|
||||
couponType: number
|
||||
couponValue: string | null
|
||||
createTime: number
|
||||
creator: string
|
||||
deleted: false
|
||||
discount: number
|
||||
expirationDay: number
|
||||
expirationTime: number | null
|
||||
expirationType: number
|
||||
id?: number
|
||||
limitNumber: number
|
||||
number: number
|
||||
receiveType: number
|
||||
remark:string
|
||||
scopeValues: string | null
|
||||
status: number | null
|
||||
takingEffectTime: number | null
|
||||
threshold: number
|
||||
updateTime: number
|
||||
updater: string
|
||||
}
|
||||
|
||||
// 查询优惠券列表
|
||||
|
@ -93,7 +93,7 @@ const queryParams = reactive({
|
||||
})
|
||||
const total = ref(0)
|
||||
const list = ref([]);
|
||||
const multipleSelection = ref([])
|
||||
const multipleSelection = ref<CouponApi.DiscountCouponVO[]>([])
|
||||
const props = defineProps({
|
||||
selectedItems: {
|
||||
type: Array,
|
||||
|
@ -49,7 +49,17 @@ import * as JobApi from '@/api/infra/job'
|
||||
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const detailLoading = ref(false) // 表单的加载中
|
||||
const detailData = ref({}) // 详情数据
|
||||
const detailData = ref<JobApi.JobVO>({
|
||||
name: '',
|
||||
status: 0,
|
||||
handlerName: '',
|
||||
handlerParam: '',
|
||||
cronExpression: '',
|
||||
retryCount: 0,
|
||||
retryInterval: 0,
|
||||
monitorTimeout: 0,
|
||||
createTime: new Date(),
|
||||
}) // 详情数据
|
||||
const nextTimes = ref([]) // 下一轮执行时间的数组
|
||||
|
||||
/** 打开弹窗 */
|
||||
@ -69,3 +79,4 @@ const open = async (id: number) => {
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
</script>
|
||||
|
||||
|
@ -38,7 +38,19 @@ import * as JobLogApi from '@/api/infra/jobLog'
|
||||
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const detailLoading = ref(false) // 表单的加载中
|
||||
const detailData = ref({}) // 详情数据
|
||||
const detailData = ref({
|
||||
id: '',
|
||||
jobId: '',
|
||||
handlerName: '',
|
||||
handlerParam: '',
|
||||
executeIndex: '',
|
||||
beginTime: new Date(),
|
||||
endTime: new Date(),
|
||||
duration: '',
|
||||
status: '',
|
||||
}) // 详情数据
|
||||
|
||||
|
||||
|
||||
/** 打开弹窗 */
|
||||
const open = async (id: number) => {
|
||||
@ -55,3 +67,4 @@ const open = async (id: number) => {
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
</script>
|
||||
|
||||
|
@ -66,11 +66,13 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const linkData = ref({})
|
||||
const formData = ref({
|
||||
name: '',
|
||||
onlineTime: '',
|
||||
onlineTime: [],
|
||||
popupImage: '',
|
||||
buttonImage: '',
|
||||
type: 0,
|
||||
link: '',
|
||||
startTime: '',
|
||||
endTime: ''
|
||||
})
|
||||
const formRules = reactive({
|
||||
name: [
|
||||
@ -105,7 +107,7 @@ const open = async (type: string, id?: number) => {
|
||||
formLoading.value = false
|
||||
}
|
||||
} else {
|
||||
formData.onlineTime = []
|
||||
formData.value.onlineTime = []
|
||||
}
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
@ -145,11 +147,13 @@ const submitForm = async () => {
|
||||
const resetForm = () => {
|
||||
formData.value = {
|
||||
name: '',
|
||||
onlineTime: '',
|
||||
onlineTime: [],
|
||||
popupImage: '',
|
||||
buttonImage: '',
|
||||
type: 0,
|
||||
link: '',
|
||||
startTime: '',
|
||||
endTime: ''
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
@ -159,3 +163,4 @@ function typeChange () {
|
||||
linkData.value = {}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -163,6 +163,8 @@
|
||||
|
||||
<script setup lang="ts" name="User">
|
||||
import { dateFormatter } from '@/utils/formatTime'
|
||||
import { ref, reactive } from 'vue'
|
||||
|
||||
import download from '@/utils/download'
|
||||
import * as UserApi from '@/api/member/user'
|
||||
import UserForm from './UserForm.vue'
|
||||
|
@ -55,16 +55,42 @@ const { t } = useI18n() // 国际化
|
||||
// const message = useMessage() // 消息弹窗
|
||||
const dialogTitle = ref('') // 弹窗的标题
|
||||
const drawer = ref(false)
|
||||
const DetailData = ref({})
|
||||
const DetailData = ref({
|
||||
nickname: '',
|
||||
realName: '',
|
||||
userPhone: '',
|
||||
userAddress: '',
|
||||
orderId: '',
|
||||
statusStr: '',
|
||||
totalNum: '',
|
||||
cost: '',
|
||||
payPostage: '',
|
||||
couponPrice: '',
|
||||
useIntegral: '',
|
||||
payPrice: '',
|
||||
gainIntegral: '',
|
||||
createTime: new Date(),
|
||||
payTime: new Date(),
|
||||
payType: '',
|
||||
deliveryId: '',
|
||||
deliveryName: '',
|
||||
deliverySn: '',
|
||||
userRespVO: {
|
||||
nickname: ''
|
||||
}
|
||||
})
|
||||
const nickname = ref('')
|
||||
const logisticResult = ref({})
|
||||
interface LogisticResult {
|
||||
acceptTime: string;
|
||||
acceptStation: string;
|
||||
}
|
||||
const logisticResult = ref<LogisticResult[]>([])
|
||||
/** 打开弹窗 */
|
||||
const open = async (type: string, id?: number) => {
|
||||
const open = async (type: string, id: number) => {
|
||||
drawer.value = true
|
||||
dialogTitle.value = t('action.' + type)
|
||||
DetailData.value = await StoreOrderApi.getStoreOrder(id)
|
||||
nickname.value = DetailData.value.userRespVO.nickname
|
||||
console.log('aa:'+DetailData.value.userRespVO.nickname )
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
|
||||
|
@ -69,12 +69,12 @@
|
||||
<el-tag
|
||||
v-if="scope.row.status"
|
||||
type="success"
|
||||
size="mini"
|
||||
size="small"
|
||||
>开启</el-tag>
|
||||
<el-tag
|
||||
v-else
|
||||
type="danger"
|
||||
size="mini"
|
||||
size="small"
|
||||
>关闭</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -118,23 +118,35 @@
|
||||
|
||||
<script setup lang="ts" name="ShopAssistant">
|
||||
import { dateFormatter } from '@/utils/formatTime'
|
||||
// import download from '@/utils/download'
|
||||
import { ref, reactive } from 'vue'
|
||||
import * as ShopAssistantApi from '@/api/mall/shopAssistant'
|
||||
import ShopAssistantForm from './ShopAssistantForm.vue'
|
||||
|
||||
interface QueryParams {
|
||||
pageNo: number;
|
||||
pageSize: number;
|
||||
storeId: string | undefined;
|
||||
userId: string | undefined;
|
||||
name: string | undefined;
|
||||
phoneNo: string | undefined;
|
||||
status: string | undefined;
|
||||
createTime: any;
|
||||
}
|
||||
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const total = ref(0) // 列表的总页数
|
||||
const list = ref([]) // 列表的数据
|
||||
const queryParams = reactive({
|
||||
const queryParams:QueryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
storeId: null,
|
||||
userId: null,
|
||||
name: null,
|
||||
phoneNo: null,
|
||||
status: null,
|
||||
storeId: undefined,
|
||||
userId: undefined,
|
||||
name: undefined,
|
||||
phoneNo: undefined,
|
||||
status: undefined,
|
||||
createTime: []
|
||||
})
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
|
@ -69,16 +69,6 @@
|
||||
<Icon class="mr-5px" icon="ep:plus" />
|
||||
新增
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPermi="['system:role:export']"
|
||||
:loading="exportLoading"
|
||||
plain
|
||||
type="success"
|
||||
@click="handleExport"
|
||||
>
|
||||
<Icon class="mr-5px" icon="ep:download" />
|
||||
导出
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</ContentWrap>
|
||||
@ -164,7 +154,6 @@
|
||||
<script lang="ts" name="SystemRole" setup>
|
||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
import { dateFormatter } from '@/utils/formatTime'
|
||||
import download from '@/utils/download'
|
||||
import * as RoleApi from '@/api/system/role'
|
||||
import RoleForm from './RoleForm.vue'
|
||||
import RoleAssignMenuForm from './RoleAssignMenuForm.vue'
|
||||
@ -185,7 +174,6 @@ const queryParams = reactive({
|
||||
createTime: []
|
||||
})
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
const exportLoading = ref(false) // 导出的加载中
|
||||
|
||||
/** 查询角色列表 */
|
||||
const getList = async () => {
|
||||
@ -242,21 +230,6 @@ const handleDelete = async (id: number) => {
|
||||
} catch {}
|
||||
}
|
||||
|
||||
/** 导出按钮操作 */
|
||||
const handleExport = async () => {
|
||||
try {
|
||||
// 导出的二次确认
|
||||
await message.exportConfirm()
|
||||
// 发起导出
|
||||
exportLoading.value = true
|
||||
const data = await RoleApi.exportRole(queryParams)
|
||||
download.excel(data, '角色列表.xls')
|
||||
} catch {
|
||||
} finally {
|
||||
exportLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
/** 初始化 **/
|
||||
onMounted(() => {
|
||||
getList()
|
||||
|
@ -192,6 +192,11 @@ import download from '@/utils/download'
|
||||
import * as SmsChannelApi from '@/api/system/sms/smsChannel'
|
||||
import * as SmsLogApi from '@/api/system/sms/smsLog'
|
||||
import SmsLogDetail from './SmsLogDetail.vue'
|
||||
interface channelItem {
|
||||
id: string;
|
||||
signature: string;
|
||||
code: string;
|
||||
}
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
const loading = ref(false) // 列表的加载中
|
||||
@ -201,7 +206,7 @@ const queryFormRef = ref() // 搜索的表单
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
channelId: null,
|
||||
channelId: '',
|
||||
templateId: null,
|
||||
mobile: '',
|
||||
sendStatus: null,
|
||||
@ -210,7 +215,7 @@ const queryParams = reactive({
|
||||
receiveTime: []
|
||||
})
|
||||
const exportLoading = ref(false) // 导出的加载中
|
||||
const channelList = ref([]) // 短信渠道列表
|
||||
const channelList = ref<channelItem[]>([]) // 短信渠道列表
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
@ -264,3 +269,4 @@ onMounted(async () => {
|
||||
channelList.value = await SmsChannelApi.getSimpleSmsChannelList()
|
||||
})
|
||||
</script>
|
||||
|
||||
|
@ -145,7 +145,7 @@ const formRules = reactive({
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
const deptList = ref<Tree[]>([]) // 树形结构
|
||||
const postList = ref([]) // 岗位列表
|
||||
const postList = ref<PostApi.PostVO[]>([]) // 岗位列表
|
||||
|
||||
/** 打开弹窗 */
|
||||
const open = async (type: string, id?: number) => {
|
||||
|
Reference in New Issue
Block a user