18 files modified
1 files added
| | |
| | | #VUE_APP_API_BASE_URL=https://api.zcpzi.com/ |
| | | #VUE_APP_API_BASE_URL=https://api.stockcardsnow.com/ |
| | | |
| | | VUE_APP_API_BASE_URL=http://localhost:8091/ |
| | | VUE_APP_API_BASE_URL=https://api.qitiana.cfd/ |
| | |
| | | VUE_APP_PREVIEW=true |
| | | #VUE_APP_API_BASE_URL=https://api.stockcardsnow.com/ |
| | | |
| | | VUE_APP_API_BASE_URL=http://localhost:8091/ |
| | | VUE_APP_API_BASE_URL=https://api.qitiana.cfd/ |
| | |
| | | NODE_ENV=production |
| | | VUE_APP_PREVIEW=true |
| | | VUE_APP_API_BASE_URL=http:localhost:8091 |
| | | VUE_APP_API_BASE_URL=https://api.qitiana.cfd/ |
| | |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <link rel="icon" href="<%= BASE_URL %>logo.png"> |
| | | <title>Stock Admin</title> |
| | | <title>东吴证卷-Admin</title> |
| | | <style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style> |
| | | <!-- require cdn assets css --> |
| | | <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %> |
| | |
| | | <div class="loading-wrp"> |
| | | <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span> |
| | | </div> |
| | | <div style="display: flex; justify-content: center; align-items: center;">Stock Admin</div> |
| | | <div style="display: flex; justify-content: center; align-items: center;">东吴证卷-Admin</div> |
| | | </div> |
| | | </div> |
| | | <!-- require cdn assets js --> |
| | |
| | | logtaskList: '/admin/log/taskList.do', // 定时任务列表 |
| | | logsmsList: '/admin/log/smsList.do', // 短信日志列表 |
| | | logmessageList: '/admin/log/messageList.do', |
| | | logsendMessage: '/admin/log/sendMessage.do', // 发送站内消息 |
| | | } |
| | | |
| | | /** |
| | |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function logsendMessage(parameter) { |
| | | return request({ |
| | | url: userApi.logsendMessage, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | |
| | | menu: { |
| | | locale: true |
| | | }, |
| | | title: 'Stock-Admin', |
| | | title: '东吴证卷-Admin', |
| | | pwa: false, |
| | | iconfontUrl: '', |
| | | production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true' |
| | |
| | | <div class="header"> |
| | | <a href="/"> |
| | | <img src="~@/assets/logo.png" class="logo" alt="logo"> |
| | | <span class="title">Stock-Admin</span> |
| | | <span class="title">东吴证卷-Admin</span> |
| | | </a> |
| | | </div> |
| | | |
| | |
| | | |
| | | 'layouts.usermenu.dialog.title': '信息', |
| | | 'layouts.usermenu.dialog.content': '您确定要注销吗?', |
| | | 'layouts.userLayout.title': 'Stock Admin 是西湖区最具影响力的 Web 设计规范', |
| | | 'layouts.userLayout.title': '东吴证卷-Admin 是西湖区最具影响力的 Web 设计规范', |
| | | ...components, |
| | | ...global, |
| | | ...menu, |
| | |
| | | |
| | | 'layouts.usermenu.dialog.title': '信息', |
| | | 'layouts.usermenu.dialog.content': '您确定要注销吗?', |
| | | 'layouts.userLayout.title': 'Stock Admin 是西湖区最具影响力的 Web 设计规范', |
| | | 'layouts.userLayout.title': '东吴证卷-Admin 是西湖区最具影响力的 Web 设计规范', |
| | | ...components, |
| | | ...global, |
| | | ...menu, |
| | |
| | | const titles = [ |
| | | 'Alipay', |
| | | 'Angular', |
| | | 'Stock Admin', |
| | | 'Stock Admin', |
| | | '东吴证卷-Admin', |
| | | '东吴证卷-Admin', |
| | | 'Bootstrap', |
| | | 'React', |
| | | 'Vue', |
| | |
| | | { |
| | | id: 3, |
| | | cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', |
| | | title: 'Stock Admin', |
| | | title: '东吴证卷-Admin', |
| | | description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', |
| | | status: 1, |
| | | updatedAt: '2018-07-26 00:00:00' |
| | |
| | | { |
| | | id: 4, |
| | | cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', |
| | | title: 'Stock Admin', |
| | | title: '东吴证卷-Admin', |
| | | description: '那时候我只会想自己想要什么,从不想自己拥有什么', |
| | | status: 1, |
| | | updatedAt: '2018-07-26 00:00:00' |
| | |
| | | <a slot="title" href="https://vue.ant.design/">{{ item.title }}</a> |
| | | <template slot="description"> |
| | | <span> |
| | | <a-tag>Stock Admin</a-tag> |
| | | <a-tag>东吴证卷-Admin</a-tag> |
| | | <a-tag>设计语言</a-tag> |
| | | <a-tag>蚂蚁金服</a-tag> |
| | | </span> |
| | |
| | | }, |
| | | methods: { |
| | | getlizhi() { |
| | | axios.get('https://saying.api.azwcl.com/saying/get').then(res => { |
| | | axios.get('https://api.qitiana.cfd/saying/get').then(res => { |
| | | this.lizhidetail = res.data.data |
| | | }) |
| | | }, |
| | |
| | | } |
| | | }) |
| | | data.push({ |
| | | title: 'Stock Admin', |
| | | title: '东吴证卷-Admin', |
| | | avatar: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', |
| | | description: '生命就像一盒巧克力,结果往往出人意料', |
| | | owner: '林东东', |
| | |
| | | } |
| | | }) |
| | | data.push({ |
| | | title: 'Stock Admin', |
| | | title: '东吴证卷-Admin', |
| | | avatar: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', |
| | | description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', |
| | | owner: '周星星', |
| | |
| | | <a slot="title" href="https://vue.ant.design/">{{ item.title }}</a> |
| | | <template slot="description"> |
| | | <span> |
| | | <a-tag>Stock Admin</a-tag> |
| | | <a-tag>东吴证卷-Admin</a-tag> |
| | | <a-tag>设计语言</a-tag> |
| | | <a-tag>蚂蚁金服</a-tag> |
| | | </span> |
| | |
| | | <template> |
| | | <page-header-wrapper> |
| | | <a-card :bordered="false"> |
| | | <div style="margin-bottom: 16px;"> |
| | | <a-button type="primary" @click="showSendDialog">发送站内消息</a-button> |
| | | </div> |
| | | <a-table bordered :loading="loading" :pagination="pagination" :columns="columns" :data-source="datalist" |
| | | rowKey="id"> |
| | | <span slot="status" slot-scope="text,record"> |
| | |
| | | </span> |
| | | </a-table> |
| | | </a-card> |
| | | |
| | | <!-- 发送消息对话框 --> |
| | | <a-modal |
| | | title="发送站内消息" |
| | | :visible="sendDialogVisible" |
| | | @ok="handleSendMessage" |
| | | @cancel="handleCancelSend" |
| | | :confirmLoading="sending" |
| | | > |
| | | <a-form :form="sendForm"> |
| | | <a-form-item label="接收用户" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }"> |
| | | <a-radio-group v-decorator="['sendType', { initialValue: 'all' }]" @change="handleSendTypeChange"> |
| | | <a-radio value="all">所有用户</a-radio> |
| | | <a-radio value="single">指定用户</a-radio> |
| | | </a-radio-group> |
| | | </a-form-item> |
| | | <a-form-item |
| | | v-if="sendType === 'single'" |
| | | label="用户ID" |
| | | :label-col="{ span: 6 }" |
| | | :wrapper-col="{ span: 16 }" |
| | | > |
| | | <a-input-number |
| | | v-decorator="['userId', { rules: [{ required: sendType === 'single', message: '请输入用户ID' }] }]" |
| | | :min="1" |
| | | placeholder="请输入用户ID" |
| | | style="width: 100%" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item label="消息类型" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }"> |
| | | <a-input |
| | | v-decorator="['typeName', { initialValue: '站内消息' }]" |
| | | placeholder="消息类型,如:站内消息、系统通知等" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item label="消息内容" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }"> |
| | | <a-textarea |
| | | v-decorator="['content', { rules: [{ required: true, message: '请输入消息内容' }] }]" |
| | | :rows="4" |
| | | placeholder="请输入消息内容" |
| | | /> |
| | | </a-form-item> |
| | | </a-form> |
| | | </a-modal> |
| | | </page-header-wrapper> |
| | | </template> |
| | | <script> |
| | | import { logmessageList } from '@/api/logmanage' |
| | | import { logmessageList, logsendMessage } from '@/api/logmanage' |
| | | import moment from 'moment' |
| | | export default { |
| | | name: 'smslog', |
| | | data() { |
| | | return { |
| | | sendDialogVisible: false, |
| | | sending: false, |
| | | sendType: 'all', |
| | | sendForm: this.$form.createForm(this), |
| | | columns: [ |
| | | { |
| | | title: '用户名称', |
| | |
| | | this.queryParam.pageSize = pageSize |
| | | this.getlist() |
| | | }, |
| | | showSendDialog() { |
| | | this.sendDialogVisible = true |
| | | this.sendForm.resetFields() |
| | | this.sendType = 'all' |
| | | }, |
| | | handleSendTypeChange(e) { |
| | | this.sendType = e.target.value |
| | | }, |
| | | handleCancelSend() { |
| | | this.sendDialogVisible = false |
| | | this.sendForm.resetFields() |
| | | }, |
| | | handleSendMessage() { |
| | | this.sendForm.validateFields((err, values) => { |
| | | if (!err) { |
| | | this.sending = true |
| | | const params = { |
| | | userId: this.sendType === 'all' ? 0 : values.userId, |
| | | content: values.content, |
| | | typeName: values.typeName || '站内消息' |
| | | } |
| | | logsendMessage(params).then(res => { |
| | | this.sending = false |
| | | if (res.status === 0) { |
| | | this.$message.success('发送成功') |
| | | this.sendDialogVisible = false |
| | | this.sendForm.resetFields() |
| | | this.getlist() |
| | | } else { |
| | | this.$message.error(res.msg || '发送失败') |
| | | } |
| | | }).catch(err => { |
| | | this.sending = false |
| | | this.$message.error('发送失败:' + (err.message || '未知错误')) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |