最近提交

master
Wangxubin 3 years ago
parent 4f796dc23d
commit 09654ca550

@ -26,7 +26,8 @@ module.exports = {
assetsPublicPath: "/", assetsPublicPath: "/",
proxyTable: { proxyTable: {
"/api": { "/api": {
target: "http://192.168.31.214:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地 // target: "http://192.168.31.214:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地
target: "http://192.168.31.177:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地
//target: "http://192.168.31.209:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地 //target: "http://192.168.31.209:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地
// target: "http://192.168.31.201:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地 // target: "http://192.168.31.201:8084/", //设置你调用的接口域名和端口号 别忘了加http 本地
// target: "http://139.9.185.131:8098/", //设置你调用的接口域名和端口号 别忘了加http 天懿达正式 // target: "http://139.9.185.131:8098/", //设置你调用的接口域名和端口号 别忘了加http 天懿达正式

@ -5,6 +5,8 @@ import {
localPath localPath
} from "./api.js"; } from "./api.js";
// 获取某门店参数 // 获取某门店参数
export function allStores(data){ export function allStores(data){
return service({ return service({
@ -14,6 +16,24 @@ export function allStores(data){
}) })
} }
// 获取超级密码验证码
export function getStoreId(data){
return service({
url: "/api" + '/demay/ssm/staffLogin/getDynamicPsw',
method: "post",
data
})
}
// 动态密码登录
export function DynamicLoginNews(data){
return service({
url: "/api" + '/demay/ssm/staffLogin/DynamicLoginNews',
method: "post",
data
})
}
// 同步总店数据 // 同步总店数据
export function totalData(params){ export function totalData(params){
return service({ return service({

@ -16,7 +16,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="form-input-width" v-if="editIndex != scope.$index" <div class="form-input-width" v-if="editIndex != scope.$index"
@click="openStaffRatio(scope.$index, scope.row)"> @click="openStaffRatio(scope.$index, scope.row)">
{{ scope.row.ratio }} {{ scope.row.ratio?scope.row.ratio.toFixed(2)*1:0 }}
<i class="el-icon-edit text-cyan" v-if="scope.$index != 0"></i> <i class="el-icon-edit text-cyan" v-if="scope.$index != 0"></i>
</div> </div>
<el-input v-focus class="form-input-width-xs" size="samll" type="number" v-else v-model="scope.row.ratio" @blur="endStaffRatio(scope.row, scope.$index)"></el-input> <el-input v-focus class="form-input-width-xs" size="samll" type="number" v-else v-model="scope.row.ratio" @blur="endStaffRatio(scope.row, scope.$index)"></el-input>

@ -0,0 +1,178 @@
<template>
<el-dialog
:title="title"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose">
<div class="maxbox">
<div class="center">
<el-form ref="form" label-width="40px" label-position='left'>
<el-form-item label="超级密码">
<el-input v-model="captCha" placeholder="请输入超级密码" style="width:150px"></el-input>
</el-form-item>
</el-form>
<el-button style="height:0.2rem;margin-left:10px" @click="getCode" :class="{'disabled-style':getCodeBtnDisable}" :disabled="getCodeBtnDisable" type="mini" :loading='codeload'>{{codeBtnWord}}</el-button>
</div>
<div class="bot">
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="handleCloseCancel"> </el-button>
<el-button size="mini" type="primary" @click="confirms" :loading='confirmLoad'> </el-button>
</span>
</div>
</div>
</el-dialog>
</template>
<script>
import { getStoreId,DynamicLoginNews } from "@/api/storeManage.js";
export default {
props:{
storeId:{
type:String,
default:""
},
mobilePhone:{
type:String,
default:''
},
password:{
type:String,
default:""
}
},
data () {
return {
captCha:'',
codeload:false,
confirmLoad:false,
dialogVisible:false,
timer:null,
codeBtnWord:"获取验证码",
waitTime:61 //
}
},
computed:{
title(){
return '超级密码'
},
//
getCodeBtnDisable:{
get(){
if(this.waitTime == 61){
return false
}
return true
},
// set
set(){}
}
},
methods:{
handleCloseCancel(){
// Object.assign(this.$data, this.$options.data())
this.codeBtnWord = '获取验证码'
this.getCodeBtnDisable = false
this.waitTime = 61
clearInterval(this.timer)
this.dialogVisible = false
},
handleClose(done){
done()
//
clearInterval(this.timer)
this.codeBtnWord = '获取验证码'
this.getCodeBtnDisable = false
this.waitTime = 61
Object.assign(this.$data, this.$options.data())
},
confirms(){
this.confirmLoad = true
let params = {
mobilePhone:this.mobilePhone,
dynamicPsw:this.captCha,
storeId:this.storeId,
password:this.password
}
DynamicLoginNews(params).then(res=>{
this.confirmLoad = false
if(res.code=='000000'){
this.$message.success({
message: "验证成功",
});
this.$emit('confirm')
}else{
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
})
},
getCode(){
this.codeload = true
getStoreId({id:this.storeId}).then(res=>{
this.codeload = false
if(res.code === '000000'){
this.$message.success({
message: "已发送验证码",
});
let that = this
that.waitTime--
that.getCodeBtnDisable = true
this.codeBtnWord = `${this.waitTime}s 后重新获取`
this.timer = setInterval(function(){
if(that.waitTime>1){
that.waitTime--
that.codeBtnWord = `${that.waitTime}s 后重新获取`
}else{
that.codeBtnWord = '获取验证码'
that.getCodeBtnDisable = false
that.waitTime = 61
clearInterval(that.timer)
}
},1000)
}
})
},
}
}
</script>
<style scoped>
.bot{
widows: 100%;
text-align: right;
}
.radio{
width: 100%;
margin-bottom: 15px;
}
.box{
height: 130px;
width: 100%;
text-align: center;
}
.center1{
display: flex;
}
.box1{
display: flex;
justify-content: space-between;
align-items: center;
text-align: center;
}
.center{
width: 100%;
display: flex;
}
.el-input{
flex: 1;
}
.el-button.disabled-style {
background-color: #EEEEEE;
color: #CCCCCC;
}
</style>

@ -60,17 +60,15 @@
</el-card> </el-card>
<choice ref="choice" @radioData="radioData"></choice> <choice ref="choice" @radioData="radioData"></choice>
<hiddens ref="hiddens" @hiddensData="hiddensData"></hiddens> <hiddens ref="hiddens" @hiddensData="hiddensData"></hiddens>
<super-password ref="superPassword" @confirm='confirm' :storeId="storeId" :mobilePhone='form.mobilePhone' :password='form.password'/>
</div> </div>
</template> </template>
<script> <script>
import { import {
phoneLogin,
phonePassLogin, phonePassLogin,
getSmsCode, getSmsCode,
staffls,
storeLists, storeLists,
getSmsCodesPassword,
phonePassLoginzd, phonePassLoginzd,
phonePassLoginNew, phonePassLoginNew,
phonePassLoginNews, phonePassLoginNews,
@ -85,8 +83,9 @@ import { setCookie, getCookie, delCookie } from "../utils/utils";
import { partten } from "../../partten/index"; import { partten } from "../../partten/index";
import choice from "./components/radio.vue"; import choice from "./components/radio.vue";
import hiddens from "./components/hiddens.vue"; import hiddens from "./components/hiddens.vue";
import superPassword from "./components/superPassword.vue";
export default { export default {
components: { choice, hiddens }, components: { choice, hiddens,superPassword },
data() { data() {
return { return {
loading: false, loading: false,
@ -110,9 +109,13 @@ export default {
passText: "", passText: "",
rowForm: {}, rowForm: {},
loginText: "", loginText: "",
res:null,
}; };
}, },
methods: { methods: {
confirm(){
this.toHome(this.res)
},
openPass() { openPass() {
this.$refs.password.focus(); this.$refs.password.focus();
this.$refs.password.select(); this.$refs.password.select();
@ -167,6 +170,7 @@ export default {
if (partten.phoneNum.test(this.form.mobilePhone)) { if (partten.phoneNum.test(this.form.mobilePhone)) {
phonePassLoginNew(this.form).then((res) => { phonePassLoginNew(this.form).then((res) => {
if (res.code == "000000") { if (res.code == "000000") {
// this.$refs.superPassword.dialogVisible = true
if (res.data.storeType == 2) { if (res.data.storeType == 2) {
localStorage.setItem("token", res.data.token); localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token); sessionStorage.setItem("token", res.data.token);
@ -211,10 +215,16 @@ export default {
localStorage.setItem("token", res.data.token); localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token); sessionStorage.setItem("token", res.data.token);
setCookie("token", res.data.token, 120); // setCookie("token", res.data.token, 120); //
this.toHome(res); // this.toHome(res);
} else { if(v.dynamicCheckPsw==1){
this.$refs.choice.show(res.data.baseStores); this.$refs.superPassword.dialogVisible = true
} this.res = res
}else{
this.toHome(res);
}
} else {
this.$refs.choice.show(res.data.baseStores);
}
} else { } else {
this.$alert(res.message, "提示", { this.$alert(res.message, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
@ -234,7 +244,13 @@ export default {
localStorage.setItem("token", res.data.token); localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token); sessionStorage.setItem("token", res.data.token);
setCookie("token", res.data.token, 120); // setCookie("token", res.data.token, 120); //
this.toHome(res); // this.toHome(res);
if(v.dynamicCheckPsw==1){
this.$refs.superPassword.dialogVisible = true
this.res = res
}else{
this.toHome(res);
}
} else { } else {
this.$refs.choice.show(res.data.baseStores); this.$refs.choice.show(res.data.baseStores);
} }
@ -255,6 +271,7 @@ export default {
radioData(v) { radioData(v) {
let form = { ...this.form }; let form = { ...this.form };
form.storeId = v.id; form.storeId = v.id;
this.storeId = v.id
form.storeName = v.storeName; form.storeName = v.storeName;
form.storeNum = v.storeNum; form.storeNum = v.storeNum;
if (this.showLogin == 0) { if (this.showLogin == 0) {
@ -263,7 +280,13 @@ export default {
localStorage.setItem("token", res.data.token); localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token); sessionStorage.setItem("token", res.data.token);
setCookie("token", res.data.token, 120); // setCookie("token", res.data.token, 120); //
this.toHome(res); if(v.dynamicCheckPsw==1){
this.$refs.superPassword.dialogVisible = true
this.res = res
// this.toHome(res);
}else{
this.toHome(res);
}
} else { } else {
this.$alert(res.message, "提示", { this.$alert(res.message, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
@ -282,7 +305,13 @@ export default {
localStorage.setItem("token", res.data.token); localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token); sessionStorage.setItem("token", res.data.token);
setCookie("token", res.data.token, 120); // setCookie("token", res.data.token, 120); //
this.toHome(res); // this.toHome(res);
if(v.dynamicCheckPsw==1){
this.$refs.superPassword.dialogVisible = true
this.res = res
}else{
this.toHome(res);
}
} else { } else {
this.$alert(res.message, "提示", { this.$alert(res.message, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
@ -331,7 +360,6 @@ export default {
}).then((res) => { }).then((res) => {
sessionStorage.setItem("storeInfo", JSON.stringify(res.data)); sessionStorage.setItem("storeInfo", JSON.stringify(res.data));
if (res.code == "000000") { if (res.code == "000000") {
console.log('存储进去了呀???',res.data)
if (res.data.parentId == null) { if (res.data.parentId == null) {
sessionStorage.setItem("parentId", res.data.id); sessionStorage.setItem("parentId", res.data.id);
sessionStorage.setItem("parentName", res.data.storeName); sessionStorage.setItem("parentName", res.data.storeName);

@ -78,14 +78,12 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="success" size="mini" @click="addRenew(scope.row,scope.$index)"></el-button> <el-button type="success" size="mini" @click="addRenew(scope.row,scope.$index)"></el-button>
<el-button type="success" size="mini" @click="openPro(addIndex=scope.$index)"></el-button> <el-button type="success" size="mini" @click="openPro(addIndex=scope.$index)"></el-button>
</el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="renew" label="操作" min-width="80"> <el-table-column align="center" prop="renew" label="操作" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="danger" size="mini" @click="del(scope.row,scope.$index)"></el-button> <el-button type="danger" size="mini" @click="del(scope.row,scope.$index)"></el-button>
</el-switch> </template>
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>

@ -13,7 +13,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="手机号码"> <el-form-item label="手机号码">
<el-input class="form-width-ms" style="padding-left:0px;" ref="" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" :maxlength="11" v-model="form.mobilePhone" @blur="query" @change="query"> <el-input class="form-width-ms" style="padding-left:0px;" ref="" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" :maxlength="11" v-model="form.mobilePhone" @change="query">
<el-button size="mini" slot="append" icon="el-icon-search" @click="openMember"></el-button> <el-button size="mini" slot="append" icon="el-icon-search" @click="openMember"></el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>

File diff suppressed because it is too large Load Diff

@ -17,7 +17,7 @@
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="handleClose"> </el-button> <el-button size="mini" type="primary" plain @click="handleClose"> </el-button>
<el-button size="mini" type="primary" @click="confirm()"> </el-button> <el-button size="mini" type="primary" @click="confirm"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>

@ -865,14 +865,9 @@ export default {
return time.getTime() > Date.now(); return time.getTime() > Date.now();
} }
}, },
useRecharge: useRecharge:JSON.parse(sessionStorage.getItem("sessionStorageData")).useRecharge *1,
JSON.parse(sessionStorage.getItem("sessionStorageData")).useRecharge * balance:JSON.parse(sessionStorage.getItem("sessionStorageData")).balance * 1 +0.01,
1, memberIntegral: JSON.parse(sessionStorage.getItem("sessionStorageData")).memberIntegral,
balance:
JSON.parse(sessionStorage.getItem("sessionStorageData")).balance * 1 +
0.01,
memberIntegral: JSON.parse(sessionStorage.getItem("sessionStorageData"))
.memberIntegral,
debtMoneys: 0, debtMoneys: 0,
list: [], // list: [], //
listCopy: [], listCopy: [],

@ -43,7 +43,6 @@ export default {
methods: { methods: {
// //
show(form) { show(form) {
console.log("🚀 ~ file: suit.vue ~ line 46 ~ show ~ form", form)
this.dataList = []; this.dataList = [];
this.form = { ...form }; this.form = { ...form };
if (form.promotionStores) { if (form.promotionStores) {
@ -52,6 +51,12 @@ export default {
arr.push(item.storeId); arr.push(item.storeId);
}); });
this.dataList = arr; this.dataList = arr;
}else if (form.rechargeTypeStoreList) {
let arr = [];
form.rechargeTypeStoreList.forEach((item) => {
arr.push(item.storeId);
});
this.dataList = arr;
} }
this.dialogVisible = true; this.dialogVisible = true;
this.getData(); this.getData();

@ -28,6 +28,19 @@
<el-input class="form-width" type="number" :disabled="title == '明细'" v-model.trim="form.firstAmount" autocomplete="off" placeholder="请输入首充金额"> <el-input class="form-width" type="number" :disabled="title == '明细'" v-model.trim="form.firstAmount" autocomplete="off" placeholder="请输入首充金额">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="适用门店:" required prop="storeType">
<el-radio-group v-model.trim="form.storeType" style="font-size: 14px">
<el-radio :label="0">所有门店</el-radio>
<el-radio :label="1">指定门店</el-radio>
<el-button
:disabled="!(form.storeType === 1)"
size="mini"
type="text"
@click="openSuitStore(form)"
><span>门店列表</span></el-button
>
</el-radio-group>
</el-form-item>
<el-divider content-position="left">充值</el-divider> <el-divider content-position="left">充值</el-divider>
<el-form-item required label="续充金额" prop="rechargeMoney"> <el-form-item required label="续充金额" prop="rechargeMoney">
<el-input class="form-width" type="number" :disabled="title == '明细'" v-model.trim="form.rechargeMoney" autocomplete="off" placeholder="请输入续充金额" maxlength="50"></el-input> <el-input class="form-width" type="number" :disabled="title == '明细'" v-model.trim="form.rechargeMoney" autocomplete="off" placeholder="请输入续充金额" maxlength="50"></el-input>
@ -60,12 +73,15 @@
<el-button size="mini" @click="close"> </el-button> <el-button size="mini" @click="close"> </el-button>
<el-button size="mini" type="primary" @click="save"> </el-button> <el-button size="mini" type="primary" @click="save"> </el-button>
</div> </div>
<suit ref="suit" @suitData="suitData"></suit>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { addrecType, editrecType } from "@/api/storeManage.js"; import { addrecType, editrecType } from "@/api/storeManage.js";
import suit from "../../components/suit";
export default { export default {
components: { suit },
data() { data() {
return { return {
form: {}, // form: {}, //
@ -168,6 +184,19 @@ export default {
}, },
created() {}, created() {},
methods: { methods: {
openSuitStore(row) {
this.$refs.suit.show(row);
},
suitData(v) {
let list = [];
v.forEach((item) => {
if (item.id) {
item.storeId = item.id;
list.push(item);
}
});
this.form.rechargeTypeStoreList = list;
},
// //
show(form) { show(form) {
if (form == "添加") { if (form == "添加") {

@ -29,6 +29,7 @@
{{scope.row.cashComm?scope.row.cashComm:'--'}} {{scope.row.cashComm?scope.row.cashComm:'--'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" min-width="120" prop="cooperationAchi" label="合作方业绩"></el-table-column>
<el-table-column align="center" min-width="80" prop="totalPerformance" label="总业绩"></el-table-column> <el-table-column align="center" min-width="80" prop="totalPerformance" label="总业绩"></el-table-column>
<el-table-column align="center" min-width="80" prop="totalCommission" label="总提成"></el-table-column> <el-table-column align="center" min-width="80" prop="totalCommission" label="总提成"></el-table-column>
</el-table> </el-table>

@ -104,6 +104,7 @@
{{scope.row.xftlcczhjyj?scope.row.xftlcczhjyj:'--'}} {{scope.row.xftlcczhjyj?scope.row.xftlcczhjyj:'--'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" min-width="120" prop="cooperationAchi" label="合作方业绩"></el-table-column>
<el-table-column align="center" min-width="120" prop="zyj" label="总业绩"></el-table-column> <el-table-column align="center" min-width="120" prop="zyj" label="总业绩"></el-table-column>
<el-table-column align="center" min-width="120" prop="totaltc" label="总提成"></el-table-column> <el-table-column align="center" min-width="120" prop="totaltc" label="总提成"></el-table-column>
<el-table-column align="center" min-width="120" prop="ntmoney" label="内调金额"></el-table-column> <el-table-column align="center" min-width="120" prop="ntmoney" label="内调金额"></el-table-column>

@ -112,6 +112,7 @@
</el-table-column> </el-table-column>
<el-table-column align="center" min-width="120" prop="ntmoney" label="内调金额"></el-table-column> <el-table-column align="center" min-width="120" prop="ntmoney" label="内调金额"></el-table-column>
<el-table-column align="center" min-width="120" prop="cooperationAchi" label="合作方业绩"></el-table-column>
<el-table-column align="center" min-width="120" prop="zyj" label="总业绩"></el-table-column> <el-table-column align="center" min-width="120" prop="zyj" label="总业绩"></el-table-column>
<el-table-column align="center" min-width="120" prop="totaltc" label="总提成"></el-table-column> <el-table-column align="center" min-width="120" prop="totaltc" label="总提成"></el-table-column>
<el-table-column align="center" min-width="120" prop="totalWages" label="结算"></el-table-column> <el-table-column align="center" min-width="120" prop="totalWages" label="结算"></el-table-column>

Loading…
Cancel
Save