zx 2 years ago
parent 358cd52a1f
commit a97dc7f69d

@ -19,3 +19,68 @@ export function getMyFileInfoExcel(params) {
} }
}) })
} }
// 获取用户信息
export function getUserData(params) {
let obj = Object.assign({action: 'getUserData'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'post',
data: obj,
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
})
}
// 更新用户信息
export function updUserData(params) {
let obj = Object.assign({action: 'updUserData'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'post',
data: obj,
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
})
}
// 发送验证码
export function getUserDataVERCode(params) {
let obj = Object.assign({action: 'getUserDataVERCode'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'post',
data: obj,
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
})
}
// 获取预警推送
export function getSwsQyWarningConf(params) {
let obj = Object.assign({action: 'getSwsQyWarningConf'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'post',
data: obj,
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
})
}
// 设置预警推送
export function saveSwsQyWarningConf(params) {
let obj = Object.assign({action: 'saveSwsQyWarningConf'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'post',
data: obj,
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
})
}

@ -156,11 +156,13 @@ export default {
// //
handleChange() { handleChange() {
if (this.form.sTimeType != 4) { if (this.form.sTimeType != 4) {
this.form.sStartTime = ""; // this.form.sStartTime = "";
this.form.sEndTime = ""; // this.form.sEndTime = "";
this.setCommTime({sTimeType: this.form.sTimeType}); // this.setCommTime({sTimeType: this.form.sTimeType}); //
this.selTime = null; this.selTime = null;
this.reload(); this.reload();
} else {
this.reload()
} }
this.setCtime2(this.form); this.setCtime2(this.form);
}, },

@ -144,6 +144,13 @@
color: #fff; color: #fff;
} }
.ant-time-picker-input {
background: #14335D !important;
color: #fff !important;
border-radius: 2px!important;
border: 1px solid #45B5F4!important;
}
.oddRow { .oddRow {
background: #14325d; background: #14325d;
color: #fff; color: #fff;

@ -11,10 +11,10 @@
<div class="lgf-login"> <div class="lgf-login">
<a-form-model layout="horizontal" :model="form" :rules="rules" ref="loginForm"> <a-form-model layout="horizontal" :model="form" :rules="rules" ref="loginForm">
<a-form-model-item label="用户名" prop="sUserName"> <a-form-model-item label="用户名" prop="sUserName">
<a-input v-model="form.sUserName" placeholder="请输入账号" autocomplete="off" :maxLength="30" /> <a-input v-model="form.sUserName" @keyup.enter.native="onSubmit" placeholder="请输入账号" autocomplete="off" :maxLength="30" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="密码" prop="sPwd"> <a-form-model-item label="密码" prop="sPwd">
<a-input v-model="form.sPwd" :type="pwdType" placeholder="请输入密码" autocomplete="off"> <a-input v-model="form.sPwd" @keyup.enter.native="onSubmit" :type="pwdType" placeholder="请输入密码" autocomplete="off">
<span slot="suffix" class="iconfont icon-zhengyan-21 login-eye" v-if="pwdType === 'password'" <span slot="suffix" class="iconfont icon-zhengyan-21 login-eye" v-if="pwdType === 'password'"
@click="changePwdType"></span> @click="changePwdType"></span>
<span slot="suffix" class="iconfont icon-in_biyan login-eye" v-else <span slot="suffix" class="iconfont icon-in_biyan login-eye" v-else
@ -22,7 +22,7 @@
</a-input> </a-input>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="验证码" prop="sVerifycode"> <a-form-model-item label="验证码" prop="sVerifycode">
<a-input v-model="form.sVerifycode" placeholder="请输入验证码" autocomplete="off"> <a-input v-model="form.sVerifycode" @keyup.enter.native="onSubmit" placeholder="请输入验证码" autocomplete="off">
<a-button slot="addonAfter" style="width: 100px" @click="getCode" v-if="!codeImg" <a-button slot="addonAfter" style="width: 100px" @click="getCode" v-if="!codeImg"
:loading="btnLoading">获取验证码</a-button> :loading="btnLoading">获取验证码</a-button>
<img style="width: 6rem; height: 2rem;cursor: pointer;" slot="addonAfter" :src="codeImg" <img style="width: 6rem; height: 2rem;cursor: pointer;" slot="addonAfter" :src="codeImg"

@ -16,7 +16,7 @@
</template> </template>
<script> <script>
import { getCountMKT0528C } from "@/api/MarketingComparison/index.js"; import { getCountMKT0528C } from "@/api/MarketingComparison/BbsType.js";
import { createSingleColumnar } from "@/utils/gol/singleColumnar"; import { createSingleColumnar } from "@/utils/gol/singleColumnar";
export default { export default {
name: "mcCTNF", name: "mcCTNF",

@ -22,6 +22,12 @@
<a-button type="primary" style="margin-left: 16px" @click="handlerPwd"> <a-button type="primary" style="margin-left: 16px" @click="handlerPwd">
修改密码 修改密码
</a-button> </a-button>
<a-button type="primary" style="margin-left: 16px" @click="infoChange">
信息修改
</a-button>
<a-button type="primary" style="margin-left: 16px" @click="pushSetting">
推送设置
</a-button>
</div> </div>
<span class="ss2">账户名</span> <span class="ss2">账户名</span>
</div> </div>
@ -78,13 +84,68 @@
</div> </div>
</div> </div>
</v-modal> </v-modal>
<v-modal :eleStyle="{ width: '700px', height: '560px' }" :visible.sync="icVisible" title="个人信息修改">
<div slot="body">
<a-form-model :label-col="{ span: 7 }" :wrapper-col="{ span: 11 }" :model="infoForm" :rules="rules" ref="registerForm">
<a-form-model-item label="用户名">
<a-input v-model="infoForm.UserName" placeholder="请输入用户名"></a-input>
</a-form-model-item>
<a-form-model-item label="手机号" prop="Phone">
<a-input v-model="infoForm.Phone" placeholder="请输入手机号"></a-input>
</a-form-model-item>
<a-form-model-item label="邮箱">
<a-input v-model="infoForm.Email" placeholder="请输入邮箱"></a-input>
</a-form-model-item>
<a-form-model-item label="公司名称">
<a-input v-model="infoForm.UnitName" placeholder="请输入公司名称"></a-input>
</a-form-model-item>
<a-form-model-item label="公司品牌">
<span style="color: #FAFAFA">{{MainBrand}}</span>
</a-form-model-item>
<a-form-model-item label="到期时间">
<span style="color: #FAFAFA">{{ValidTime}}</span>
</a-form-model-item>
<a-form-model-item label="验证码">
<a-input v-model="infoForm.Code" placeholder="请输入验证码" autocomplete="off">
<span class="fp-s1" slot="suffix" v-if="showCode" @click="getCode"></span>
<span class="fp-s1" slot="suffix" v-else>{{ count }}</span>
</a-input>
</a-form-model-item>
</a-form-model>
<div class="ms-footer" align="center" style="margin-top: 16px">
<div class="f-btn" @click="infoComfirm"></div>
</div>
</div>
</v-modal>
<a-modal :visible="pushVisible" :width="750" title="推送设置" :footer="null" @cancel="pushVisible = false">
<a-form-model :label-col="{ span: 5 }" :wrapper-col="{ span: 17 }">
<a-form-model-item label="公众号接收日期">
<a-checkbox-group v-model="wxDateArr" :options="pushGroup" @change="wxDateChange"></a-checkbox-group>
</a-form-model-item>
<a-form-model-item label="公众号接收时间">
<a-time-picker format="HH:mm" valueFormat="HH:mm" v-model="pushForm.WxStart"></a-time-picker><span style="color: #fff"> </span>
<a-time-picker format="HH:mm" valueFormat="HH:mm" v-model="pushForm.WxEnd"></a-time-picker>
</a-form-model-item>
<a-form-model-item label="邮箱接收日期">
<a-checkbox-group v-model="emDateArr" :options="pushGroup" @change="emDateChange"></a-checkbox-group>
</a-form-model-item>
<a-form-model-item label="邮箱接收时间">
<a-time-picker format="HH:mm" valueFormat="HH:mm" v-model="pushForm.EmailStart"></a-time-picker><span style="color: #fff"> </span>
<a-time-picker format="HH:mm" valueFormat="HH:mm" v-model="pushForm.EmailEnd"></a-time-picker>
</a-form-model-item>
</a-form-model>
<div class="ms-footer" align="center">
<div class="f-btn" @click="pushConfirm"></div>
</div>
</a-modal>
</div> </div>
</template> </template>
<script> <script>
import phoneForm from "./phoneForm"; import phoneForm from "./phoneForm";
import modifyForm from "./modifyForm"; import modifyForm from "./modifyForm";
import { getMyFileInfoExcel } from "@/api/mySelf"; import { getMyFileInfoExcel, getUserData, getUserDataVERCode, updUserData,
saveSwsQyWarningConf, getSwsQyWarningConf} from "@/api/mySelf";
export default { export default {
name: "Myself", name: "Myself",
components: { components: {
@ -92,12 +153,34 @@ export default {
modifyForm, modifyForm,
}, },
data() { data() {
const validatePhone = (rule, value, callback) => {
if (value === "") {
callback(new Error("请输入手机号"));
} else {
let reg = /^1\d{10}$/;
if (!reg.test(value)) {
callback(new Error("请输入正确的手机号"));
} else {
callback();
}
}
};
const validateInput = (rule, value, callback, msg) => {
if (value === "") {
callback(new Error(msg));
} else {
callback();
}
}
return { return {
modalObj: { modalObj: {
visible: false, visible: false,
current: 0, current: 0,
title: "修改密码", title: "修改密码",
}, },
showCode: true,
count: 0,
icVisible: false,
accout: { accout: {
sPhone: "", sPhone: "",
iCode: "", iCode: "",
@ -139,6 +222,40 @@ export default {
}, },
], ],
tbData: [], tbData: [],
infoForm: {
UserName: '',
Phone: '',
Email: '',
UnitName: '',
Code: '',
},
MainBrand: '',
ValidTime: '',
rules: {
UserName: [{ validator: (rule, value, callback) => validateInput(rule, value, callback, '请输入用户名!') }],
Phone: [{ validator: validatePhone }],
Email: [{ validator: (rule, value, callback) => validateInput(rule, value, callback, '请输入邮箱!') }],
},
pushVisible: false,
pushForm: {
WxWeek: '',
WxStart: '',
WxEnd: '',
EmailWeek: '',
EmailStart: '',
EmailEnd: '',
},
pushGroup: [
{label: '周一',value: '1'},
{label: '周二',value: '2'},
{label: '周三',value: '3'},
{label: '周四',value: '4'},
{label: '周五',value: '5'},
{label: '周六',value: '6'},
{label: '周日',value: '7'},
],
wxDateArr: [],
emDateArr: [],
}; };
}, },
created() { created() {
@ -200,6 +317,100 @@ export default {
this.pagination.current = iPageIndex; this.pagination.current = iPageIndex;
this.getTable(); this.getTable();
}, },
infoChange() {
this.icVisible = true;
getUserData({token: this.getToken}).then(res => {
let data = res.data;
this.infoForm.UserName = data.UserName;
this.infoForm.Phone = data.Phone;
this.infoForm.Email = data.Email;
this.infoForm.UnitName = data.UnitName;
this.MainBrand = data.MainBrand;
this.ValidTime = data.ValidTime;
})
},
pushSetting() {
this.pushVisible = true;
getSwsQyWarningConf({token: this.getToken}).then(res => {
let data = res.data[0];
this.pushForm = {
WxWeek: data.WxWeek,
WxStart: data.WxStart,
WxEnd: data.WxEnd,
EmailWeek: data.EmailWeek,
EmailStart: data.EmailStart,
EmailEnd: data.EmailEnd,
};
this.wxDateArr = data.WxWeek.split(',');
this.emDateArr = data.EmailWeek.split(',');
})
},
//
getCode() {
this.$refs.registerForm.validateField('Phone', errMsg => {
if (!errMsg) {
let obj = {
UserName: this.infoForm.UserName,
Phone: this.infoForm.Phone,
Email: this.infoForm.Email,
token: this.getToken,
}
getUserDataVERCode(obj).then(res => {
this.$message.success(res.msg);
this.countdown()
})
} else {
this.$message.error('验证失败')
}
})
},
//
countdown() {
const TIME_COUNT = 60;
if (!this.timer) {
this.count = TIME_COUNT;
this.showCode = false;
this.timer = setInterval(() => {
if (this.count > 0 && this.count <= TIME_COUNT) {
this.count--;
} else {
this.showCode = true;
clearInterval(this.timer);
this.timer = null;
}
}, 1000);
}
},
infoComfirm() {
let obj = Object.assign({token: this.getToken}, this.infoForm)
updUserData(obj).then(res => {
this.$message.success(res.msg);
this.timer = null;
this.icVisible = false;
this.infoForm.Code = '';
})
},
pushConfirm() {
let jsonData = JSON.stringify(this.pushForm)
let obj = {
token: this.getToken,
data: jsonData
}
saveSwsQyWarningConf(obj).then(res => {
if(res.msg == '成功') {
this.$message.success('修改成功');
this.pushVisible = false;
} else {
this.$message.error(res.msg);
}
})
},
wxDateChange(value) {
this.pushForm.WxWeek = value.join(',')
},
emDateChange(value) {
this.pushForm.EmailWeek = value.join(',')
},
}, },
}; };
</script> </script>
@ -288,4 +499,8 @@ export default {
margin-top: 12px; margin-top: 12px;
} }
} }
.fp-s1 {
cursor: pointer;
color: #698198;
}
</style> </style>

@ -21,7 +21,7 @@
:cont="item.value" :cont="item.value"
:percentage="((item.value / total) * 100).toFixed(2) + '%'" :percentage="((item.value / total) * 100).toFixed(2) + '%'"
:color="colors[index]" :color="colors[index]"
:eStyle="{ height: '8.54rem' }" :eStyle="{ height: '6.34rem' }"
></v-label-ctx> ></v-label-ctx>
</div> </div>
</div> </div>
@ -75,7 +75,7 @@ export default {
methods: { methods: {
getData() { getData() {
this.load = true; this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
getWtypeWeiBo0528(obj).then((res) => { getWtypeWeiBo0528(obj).then((res) => {
let data = res.data || []; let data = res.data || [];
this.doVal(data); this.doVal(data);

@ -22,7 +22,6 @@
<script> <script>
import {getUserRegionGroupBy} from "@/api/SpecialAnalize"; import {getUserRegionGroupBy} from "@/api/SpecialAnalize";
import { getRegionWeiBo } from "@/api/WeiboDetails";
import createOptD1 from "./opt1"; import createOptD1 from "./opt1";
import createOptD2 from "./opt2"; import createOptD2 from "./opt2";
export default { export default {
@ -46,18 +45,16 @@ export default {
methods: { methods: {
getData() { getData() {
this.load = true; this.load = true;
getRegionWeiBo(this.form).then((res) => { getUserRegionGroupBy(this.form).then((res) => {
let data = res.data || {}; let data = res.data || [];
let arr = this.toArr(data);
let dx = []; // let dx = []; //
let ds = []; // let ds = []; //
arr.forEach((ele) => { let dm = [];
ele.name = ele.name.replace('省','') data.forEach((ele) => {
let value = ele.value; dx.push(ele.Key);
dx.push(ele.name); ds.push(ele.Value);
ds.push(value); dm.push({name: ele.Key, value: ele.Value})
}); });
let dm = arr //
this.opt1 = createOptD1(dx, ds); this.opt1 = createOptD1(dx, ds);
this.opt2 = createOptD2(dm); this.opt2 = createOptD2(dm);
this.load = false; this.load = false;

Loading…
Cancel
Save