mirror of
https://gitee.com/ZhongBangKeJi/crmeb_java.git
synced 2026-04-24 20:28:33 +08:00
12.31开源admin代码更新
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
prefix-icon="el-icon-message"
|
||||
style="width: 90%"
|
||||
/>
|
||||
<el-button size="mini" :disabled=!this.canClick @click="cutDown">{{cutNUm}}</el-button>
|
||||
<el-button size="mini" :disabled=!this.canClick @click="cutDown" v-hasPermi="['admin:pass:send:code']">{{cutNUm}}</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
</template>
|
||||
<el-form-item class="maxInpt">
|
||||
<el-button v-if="current === 0" type="primary" @click="handleSubmit1('formInline',current)" class="mb20 width100">下一步</el-button>
|
||||
<el-button v-if="current === 1" type="primary" @click="handleSubmit2('formInline',current)" class="mb20 width100">提交</el-button>
|
||||
<el-button v-if="current === 1" type="primary" @click="handleSubmit2('formInline',current)" class="mb20 width100" v-hasPermi="['admin:pass:update:phone']">提交</el-button>
|
||||
<el-button v-if="current === 2" type="primary" @click="handleSubmit('formInline',current)" class="mb20 width100">登录</el-button>
|
||||
<el-button @click="returns('formInline')" class="width100" style="margin-left: 0px;">返回</el-button>
|
||||
</el-form-item>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
:key="passwordType"
|
||||
v-model="formInline.password"
|
||||
:type="passwordType"
|
||||
placeholder="请输入短信平台密码/token"
|
||||
placeholder="密码"
|
||||
tabindex="2"
|
||||
auto-complete="off"
|
||||
prefix-icon="el-icon-lock"
|
||||
@@ -43,11 +43,11 @@
|
||||
prefix-icon="el-icon-message"
|
||||
style="width: 90%"
|
||||
/>
|
||||
<el-button size="mini" :disabled=!this.canClick @click="cutDown">{{cutNUm}}</el-button>
|
||||
<el-button size="mini" :disabled=!this.canClick @click="cutDown" v-hasPermi="['admin:pass:send:code']">{{cutNUm}}</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-button :loading="loading" type="primary" style="width:100%;margin-bottom:20px;" @click="handleSubmit('formInline')">注册</el-button>
|
||||
<el-button type="primary" style="width:100%;margin-bottom:20px;" @click="changelogo">立即登录</el-button>
|
||||
<el-button :loading="loading" type="primary" style="width:100%;margin-bottom:20px;" @click="handleSubmit('formInline')" v-hasPermi="['admin:pass:register']">注册</el-button>
|
||||
<el-button type="primary" style="width:100%;margin-bottom:20px;" @click="changelogo" v-hasPermi="['admin:pass:login']">立即登录</el-button>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</el-tabs>
|
||||
<!--短信列表-->
|
||||
<div class="note" v-if="(tableFrom.type==='sms' && sms.open === 1) || (tableFrom.type==='expr_query' && query.open === 1) || (tableFrom.type==='copy' && copy.open === 1) || (tableFrom.type==='expr_dump' && dump.open === 1)">
|
||||
<div class="filter-container mb20" v-if="tableFrom.type === 'sms'">
|
||||
<div class="filter-container flex-between mb20" v-if="tableFrom.type === 'sms'">
|
||||
<div class="demo-input-suffix">
|
||||
<span class="seachTiele">短信状态:</span>
|
||||
<el-radio-group v-model="tableFrom.status" size="small" @change="getList" class="mr20">
|
||||
@@ -17,18 +17,20 @@
|
||||
<el-radio-button label="2">失败</el-radio-button>
|
||||
<el-radio-button label="0">发送中</el-radio-button>
|
||||
</el-radio-group>
|
||||
<router-link :to="{path: '/operation/systemSms/template'}">
|
||||
<el-button type="primary" size="mini" class="mr20">短信模板</el-button>
|
||||
</router-link>
|
||||
<el-button size="mini" @click="editSign">修改签名</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<router-link :to="{path: '/operation/systemSms/template'}">
|
||||
<el-button type="primary" class="mr20" v-hasPermi="['admin:sms:temps']">短信模板</el-button>
|
||||
</router-link>
|
||||
<el-button @click="editSign" v-hasPermi="['admin:sms:modify:sign']">修改签名</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="tableData.data"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
highlight-current-row
|
||||
:header-cell-style=" {fontWeight:'bold'}"
|
||||
>
|
||||
<el-table-column
|
||||
v-for="(item, index) in columns2" :key="index"
|
||||
@@ -149,6 +151,7 @@
|
||||
<el-input
|
||||
v-model="formInline.phone"
|
||||
placeholder="请输入您的手机号"
|
||||
:disabled="true"
|
||||
prefix-icon="el-icon-phone-outline"
|
||||
>
|
||||
</el-input>
|
||||
@@ -166,9 +169,12 @@
|
||||
prefix-icon="el-icon-message"
|
||||
style="width: 90%"
|
||||
/>
|
||||
<el-button size="mini" :disabled=!this.canClick @click="cutDown">{{cutNUm}}</el-button>
|
||||
<el-button size="mini" :disabled=!this.canClick @click="cutDown" v-hasPermi="['admin:pass:send:code']">{{cutNUm}}</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-alert title="短信签名提交后需要审核才会生效,请耐心等待或者联系客服" type="success"></el-alert>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="handleSubmit('formInline')">确 定</el-button>
|
||||
@@ -181,6 +187,8 @@
|
||||
import { smsLstApi, serviceOpenApi, exportTempApi, expressAllApi, captchaApi, smsSignApi } from '@/api/sms'
|
||||
import * as commFilter from '@/filters/commFilter';
|
||||
import Template from "../../../appSetting/wxAccount/wxTemplate/index";
|
||||
import { checkPermi } from "@/utils/permission"; // 权限判断函数
|
||||
import {Debounce} from '@/utils/validate'
|
||||
export default {
|
||||
name: 'TableList',
|
||||
props: {
|
||||
@@ -310,10 +318,11 @@ export default {
|
||||
editSign(){
|
||||
this.formInline.account = this.accountInfo.account;
|
||||
this.formInline.sign = this.accountInfo.sms.sign;
|
||||
this.formInline.phone = this.accountInfo.phone;
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
//修改签名
|
||||
handleSubmit (name) {
|
||||
handleSubmit:Debounce(function(name) {
|
||||
this.$refs[name].validate((valid) => {
|
||||
if (valid) {
|
||||
smsSignApi(this.formInline).then(async res => {
|
||||
@@ -325,7 +334,7 @@ export default {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
},
|
||||
}),
|
||||
// 短信验证码
|
||||
cutDown () {
|
||||
if (this.formInline.phone) {
|
||||
@@ -397,7 +406,7 @@ export default {
|
||||
},
|
||||
// 物流公司
|
||||
exportTempAllList () {
|
||||
expressAllApi().then(async res => {
|
||||
expressAllApi({type:'elec'}).then(async res => {
|
||||
this.exportList = res;
|
||||
})
|
||||
},
|
||||
@@ -443,7 +452,30 @@ export default {
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
smsLstApi(this.tableFrom).then(res => {
|
||||
this.tableData.data = res.data
|
||||
this.tableData.data = res.data;
|
||||
if(this.tableFrom.type == 'sms'){
|
||||
let obj = new Object();
|
||||
let newArr = new Array();
|
||||
res.data.forEach(item=>{
|
||||
obj = item;
|
||||
switch(item.status) {
|
||||
case 0:
|
||||
obj.status = '发送中'
|
||||
break;
|
||||
case 1:
|
||||
obj.status = '成功'
|
||||
break;
|
||||
case 2:
|
||||
obj.status = '失败'
|
||||
break;
|
||||
case 3:
|
||||
obj.status = '全部'
|
||||
break;
|
||||
}
|
||||
newArr.push(obj);
|
||||
this.tableData.data = newArr;
|
||||
})
|
||||
}
|
||||
this.tableData.total = res.count
|
||||
switch (this.tableFrom.type) {
|
||||
case 'sms':
|
||||
@@ -464,11 +496,11 @@ export default {
|
||||
key: 'add_time',
|
||||
minWidth: 150
|
||||
},
|
||||
{
|
||||
title: '状态码',
|
||||
key: '_resultcode',
|
||||
minWidth: 100
|
||||
}
|
||||
// {
|
||||
// title: '状态',
|
||||
// key: 'status',
|
||||
// minWidth: 100
|
||||
// }
|
||||
]
|
||||
break;
|
||||
case 'expr_dump':
|
||||
@@ -654,4 +686,8 @@ export default {
|
||||
text-align: left !important;
|
||||
}
|
||||
}
|
||||
.flex-between{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -8,18 +8,26 @@
|
||||
<div class="dashboard-workplace-header-tip">
|
||||
<div class="dashboard-workplace-header-tip-title">{{ smsAccount }},祝您每一天开心!</div>
|
||||
<div class="dashboard-workplace-header-tip-desc">
|
||||
<span class="mr10" @click="onChangePassswordIndex">修改密码</span>
|
||||
<span class="mr10" @click="onChangePhone">修改手机号</span>
|
||||
<span @click="signOut" class="mr10">退出登录</span>
|
||||
<el-tooltip class="item" effect="dark" content="
|
||||
<span class="mr10" @click="onChangePassswordIndex" v-if="checkPermi(['admin:pass:update:password'])">修改密码</span>
|
||||
<span class="mr10" @click="onChangePhone" v-if="checkPermi(['admin:pass:update:phone'])">修改手机号</span>
|
||||
<span @click="signOut" class="mr10" v-if="checkPermi(['admin:pass:logout'])">退出登录</span>
|
||||
<!-- <el-tooltip class="item" effect="dark" content="
|
||||
一号通为我司一个第三方平台
|
||||
专门提供短信 , 物流查询,商品复制,电子面单等个性化服务
|
||||
省去了自己单独接入功能的麻烦
|
||||
初次运行代码默认是没有账号的,需要自行注册,
|
||||
登录成功后根据提示购买自己需要用到的服务即可" placement="right">
|
||||
<span class="mr10">平台说明</span>
|
||||
</el-tooltip>
|
||||
|
||||
</el-tooltip> -->
|
||||
<template>
|
||||
<el-popover trigger="hover" placement="right" >
|
||||
<span class="mr10" slot="reference">平台说明</span>
|
||||
<div class="pup_card">
|
||||
一号通为我司一个第三方平台专门提供短信 , 物流查询,商品复制,电子面单等个性化服务省去了自己单独接入功能的麻烦初次运行代码默认是没有账号的,需要自行注册,
|
||||
登录成功后根据提示购买自己需要用到的服务即可
|
||||
</div>
|
||||
</el-popover>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -29,22 +37,22 @@
|
||||
<div class="header-extra">
|
||||
<p class="mb5"><span>短信条数</span></p>
|
||||
<p class="mb5">{{sms.num || 0}}</p>
|
||||
<el-button size="mini" type="primary" @click="sms.open ===0?onOpen('sms'):mealPay('sms')" v-text="sms.open ===0?'开通服务':'套餐购买'"></el-button>
|
||||
<el-button size="mini" type="primary" @click="sms.open ===0?onOpen('sms'):mealPay('sms')" v-text="sms.open ===0?'开通服务':'套餐购买'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
|
||||
</div>
|
||||
<div class="header-extra">
|
||||
<p class="mb5"><span>采集次数</span></p>
|
||||
<p class="mb5">{{copy.num || 0}}</p>
|
||||
<el-button size="mini" type="primary" @click="copy.open ===0?onOpen('copy'):mealPay('copy')" v-text="copy.open ===0?'开通服务':'套餐购买'"></el-button>
|
||||
<el-button size="mini" type="primary" @click="copy.open ===0?onOpen('copy'):mealPay('copy')" v-text="copy.open ===0?'开通服务':'套餐购买'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
|
||||
</div>
|
||||
<div class="header-extra">
|
||||
<p class="mb5"><span>物流查询次数</span></p>
|
||||
<p class="mb5">{{query.num || 0}}</p>
|
||||
<el-button size="mini" type="primary" @click="query.open ===0?onOpen('expr_query'):mealPay('expr_query')" v-text="query.open ===0?'开通服务':'套餐购买'"></el-button>
|
||||
<el-button size="mini" type="primary" @click="query.open ===0?onOpen('expr_query'):mealPay('expr_query')" v-text="query.open ===0?'开通服务':'套餐购买'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
|
||||
</div>
|
||||
<div class="header-extra" style="border: none;">
|
||||
<p class="mb5"><span>面单打印次数</span> </p>
|
||||
<p class="mb5">{{dump.num || 0}}</p>
|
||||
<el-button size="mini" type="primary" @click="dump.open ===0?onOpen('expr_dump'):mealPay('expr_dump')" v-text="dump.open ===0?'开通服务':'套餐购买'"></el-button>
|
||||
<el-button size="mini" type="primary" @click="dump.open ===0?onOpen('expr_dump'):mealPay('expr_dump')" v-text="dump.open ===0?'开通服务':'套餐购买'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,6 +78,7 @@ import forgetPassword from './components/forgetPassword';
|
||||
import forgetPhone from './components/forgetPhone';
|
||||
import { logoutApi, smsNumberApi, smsInfoApi } from '@/api/sms'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { checkPermi } from "@/utils/permission"; // 权限判断函数
|
||||
export default {
|
||||
name: 'SmsConfig',
|
||||
components: { tableList, loginFrom, registerFrom, forgetPassword, forgetPhone },
|
||||
@@ -91,7 +100,7 @@ export default {
|
||||
query: { open: 0 }, // 物流查询
|
||||
dump: { open: 0 }, // 电子面单打印
|
||||
copy: { open: 0 }, // 商品采集,
|
||||
infoData: {}
|
||||
infoData: {},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -108,6 +117,7 @@ export default {
|
||||
// }
|
||||
},
|
||||
methods: {
|
||||
checkPermi,
|
||||
// 开通服务
|
||||
openService (val) {
|
||||
this.getNumber();
|
||||
@@ -303,4 +313,17 @@ export default {
|
||||
font-size: 12px;
|
||||
color: #808695;
|
||||
}
|
||||
.text_overflow{
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.pup_card{
|
||||
width: 240px;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
box-sizing: border-box;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<div class="divBox relative">
|
||||
<el-card class="box-card">
|
||||
<router-link :to="{path:'/operation/onePass'}">
|
||||
<el-button class="mb35" size="mini" icon="el-icon-arrow-left">返回</el-button>
|
||||
</router-link>
|
||||
|
||||
<el-tabs v-model="tableFrom.type" @tab-click="onChangeType" class="mb20">
|
||||
<el-tab-pane label="短信" name="sms"></el-tab-pane>
|
||||
<el-tab-pane label="商品采集" name="copy"></el-tab-pane>
|
||||
<el-tab-pane label="物流查询" name="expr_query"></el-tab-pane>
|
||||
<el-tab-pane label="电子面单打印" name="expr_dump"></el-tab-pane>
|
||||
</el-tabs>
|
||||
<router-link :to="{path:'/operation/onePass'}">
|
||||
<el-button class="link_abs" size="mini" icon="el-icon-arrow-left">返回</el-button>
|
||||
</router-link>
|
||||
<el-row v-loading="fullscreenLoading" :gutter="16">
|
||||
<el-col :span="24" class="ivu-text-left mb20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
|
||||
<span class="ivu-text-right ivu-block">短信账户名称:</span>
|
||||
</el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
@@ -21,7 +20,7 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left mb20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
|
||||
<span class="ivu-text-right ivu-block">当前剩余条数:</span>
|
||||
</el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
@@ -29,7 +28,7 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left mb20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
|
||||
<span class="ivu-text-right ivu-block">选择套餐:</span>
|
||||
</el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
@@ -37,9 +36,8 @@
|
||||
<el-col
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
:xxl="4"
|
||||
:xl="8"
|
||||
:lg="8"
|
||||
:xl="6"
|
||||
:lg="6"
|
||||
:md="12"
|
||||
:sm="24"
|
||||
:xs="24"
|
||||
@@ -59,7 +57,7 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col v-if="checkList" :span="24" class="ivu-text-left mb20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
|
||||
<span class="ivu-text-right ivu-block">充值条数:</span>
|
||||
</el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
@@ -67,7 +65,7 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col v-if="checkList" :span="24" class="ivu-text-left mb20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
|
||||
<span class="ivu-text-right ivu-block">支付金额:</span>
|
||||
</el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
@@ -75,7 +73,7 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24" class="ivu-text-left mb20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
|
||||
<span class="ivu-text-right ivu-block">付款方式:</span>
|
||||
</el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
@@ -83,7 +81,7 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="3" class="mr20"> </el-col>
|
||||
<el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20"> </el-col>
|
||||
<el-col :xs="11" :sm="13" :md="19" :lg="20">
|
||||
<div class="list-goods-list-item-code mr20">
|
||||
<!-- <img :src="code.code_url">-->
|
||||
@@ -128,7 +126,7 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
if (!this.isLogin) {
|
||||
this.$router.push('/operation/onePass?url=' + this.$route.path)
|
||||
// this.$router.push('/operation/onePass?url=' + this.$route.path)
|
||||
} else {
|
||||
this.getNumber()
|
||||
this.getPrice()
|
||||
@@ -231,9 +229,13 @@ export default {
|
||||
}
|
||||
.list-goods-list-item{
|
||||
border: 1px solid #DADFE6;
|
||||
padding: 20px 10px;
|
||||
height: 118px;
|
||||
box-sizing: border-box;
|
||||
border-radius:3px;
|
||||
border-radius:4px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.list-goods-list{
|
||||
&-item{
|
||||
@@ -252,7 +254,7 @@ export default {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #0091FF;
|
||||
margin-bottom: 3px;
|
||||
margin-bottom: 15px;
|
||||
i{
|
||||
font-size: 30px;
|
||||
font-style: normal;
|
||||
@@ -260,7 +262,7 @@ export default {
|
||||
}
|
||||
&-desc{
|
||||
font-size: 14px;
|
||||
color: #808695;
|
||||
color: #303133;
|
||||
}
|
||||
&-price{
|
||||
font-size: 14px;
|
||||
@@ -292,4 +294,12 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.relative{
|
||||
position: relative;
|
||||
}
|
||||
.link_abs{
|
||||
position: absolute;
|
||||
top: 36px;
|
||||
right: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -87,6 +87,7 @@ import { smsTempLstApi, tempCreateApi } from '@/api/sms'
|
||||
import { roterPre } from '@/settings'
|
||||
import { mapGetters } from 'vuex'
|
||||
import zbParser from '@/components/FormGenerator/components/parser/ZBParser'
|
||||
import {Debounce} from '@/utils/validate'
|
||||
export default {
|
||||
name: 'SmsTemplate',
|
||||
components: { zbParser },
|
||||
@@ -144,14 +145,14 @@ export default {
|
||||
this.dialogVisible = false
|
||||
this.editData = {}
|
||||
},
|
||||
handlerSubmit(formValue) {
|
||||
handlerSubmit:Debounce(function(formValue) {
|
||||
tempCreateApi(formValue).then(data => {
|
||||
this.$message.success('新增成功')
|
||||
this.dialogVisible = false
|
||||
this.editData = {}
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
}),
|
||||
add() {
|
||||
this.dialogVisible = true
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user