Commit 3ed3f636 authored by zhengke's avatar zhengke

修改

parent 8bc0ca92
......@@ -319,3 +319,28 @@ export function GetWebAdvisory(data) {
data
})
}
/**
* 修改咨询
*
*/
export function UpdateWebAdvisory(data) {
return request({
url: '/WebManager/UpdateWebAdvisory',
method: 'post',
data
})
}
/**
* 修改咨询状态
*
*/
export function RemoveWebAdvisoryStatus(data) {
return request({
url: '/WebManager/RemoveWebAdvisoryStatus',
method: 'post',
data
})
}
\ No newline at end of file
......@@ -2,35 +2,25 @@
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;">
<q-card-section>
<div class="text-h6">{{objOption.Id==0?'新增网站菜单':'修改网站菜单'}}</div>
<div class="text-h6">修改咨询</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="text-caption q-mb-lg q-px-md text-grey-6">网站菜单信息</div>
<div class="text-caption q-mb-lg q-px-md text-grey-6">咨询信息</div>
<div class="row wrap">
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.Name" ref="Name"
class="col-6 q-pr-lg q-pb-lg" label="菜单名称" :rules="[val => !!val || '请填写菜单名称']" />
<q-input filled stack-label maxlength="100" :dense="false" v-model="objOption.MenuUrl" ref="MenuUrl"
class="col-6 q-pb-lg" label="菜单地址" />
<q-select class="col-6 q-pr-lg q-pb-lg" v-model="objOption.MenuLevel" :options="MenuLevelOpts" emit-value
map-options label="菜单等级" @input="getFatherData(objOption.MenuLevel)" />
<q-select class="col-6 q-pb-lg" v-model="objOption.ParentId" option-value="Id" option-label="Name"
:options="FatherLevelOpts" emit-value map-options label="父级Id" />
<q-input filled stack-label maxlength="100" :dense="false" v-model="objOption.ClassName" ref="ClassName"
class="col-6 q-pb-lg q-pr-lg" label="样式" />
<q-input filled stack-label maxlength="100" :dense="false" @keyup.native="checkInteger(objOption,'SortNum')"
v-model="objOption.SortNum" ref="SortNum" class="col-6 q-pb-lg" label="排序" />
<div class="col-6 q-pb-lg q-pr-lg">
<q-uploader :style="{ backgroundImage: 'url(' + objOption.Icon + ')' }" style="width:auto;height:200px;background-repeat:no-repeat;background-size:cover;" flat
hide-upload-btn max-files="1" label="菜单图标" accept=".jpg, image/*" :factory="uploadFile" auto-upload>
</q-uploader>
</div>
<q-input filled stack-label maxlength="20" :dense="false" disable v-model="editObj.SourceName"
class="col-6 q-pr-lg q-pb-lg" label="项目名称" />
<q-input filled stack-label maxlength="100" :dense="false" disable v-model="editObj.LinkMan"
class="col-6 q-pb-lg" label="联系人" />
<q-input filled stack-label maxlength="100" :dense="false" disable v-model="editObj.LinkTel"
class="col-6 q-pr-lg q-pb-lg" label="联系电话" />
<q-input class="col-12 q-pb-lg" v-model="objOption.DealContent" filled type="textarea" placeholder="咨询内容" />
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" :loading="saveLoading"
@click="saveWebkitMenu" />
@click="saveConsult" />
</q-card-actions>
</q-card>
</q-dialog>
......@@ -39,12 +29,8 @@
<script>
import {
GetWebAdvisory,
GetWebMenu,
GetWebMenuList
UpdateWebAdvisory
} from '../../api/system/webkit'
import {
UploadSelfFile
} from "../../api/common/common";
export default {
props: {
saveObj: {
......@@ -54,39 +40,14 @@
},
data() {
return {
//菜单等级
MenuLevelOpts: [{
label: '全部',
value: -1
},
{
label: '一级',
value: 1
},
{
label: '二级',
value: 2
},
{
label: '三级',
value: 3
}
],
persistent: true,
objOption: {
Id: 0,
Name: '', //菜单名称
MenuUrl: '',
ParentId: 0,
MenuLevel: -1,
ClassName: '',
Icon: '',
SortNum: ''
DealContent: '', //内容
DealStatus: 1
},
editObj: {},
optionTitle: "",
//菜单列表
MenuList: [],
FatherLevelOpts: [],
saveLoading: false,
}
},
......@@ -94,53 +55,21 @@
this.initObj()
},
methods: {
//下拉切换父级数据
getFatherData() {
this.objOption.ParentId = 0;
this.FatherLevelOpts=[];
let msg = {
MenuLevel: Number(this.objOption.MenuLevel-1)
}
GetWebMenuList(msg).then(res => {
if (res.Code == 1) {
this.FatherLevelOpts = res.Data;
}
})
},
uploadFile(files) {
UploadSelfFile("course", files[0], res => {
if (res.Code == 1) {
this.objOption.Icon = res.FileUrl;
}
});
},
//初始化表单
initObj() {
if (this.saveObj && this.saveObj.Id > 0) {
GetWebMenu({
GetWebAdvisory({
Id: this.saveObj.Id
}).then(res => {
this.objOption.MenuLevel = res.Data.MenuLevel;
this.getFatherData();
if (res.Code == 1) {
this.editObj.SourceName = res.Data.SourceName;
this.editObj.LinkMan = res.Data.LinkMan;
this.editObj.LinkTel = res.Data.LinkTel;
this.objOption.Id = res.Data.Id;
this.objOption.Name = res.Data.Name;
this.objOption.MenuUrl = res.Data.MenuUrl;
this.objOption.ParentId = res.Data.ParentId;
this.objOption.ClassName = res.Data.ClassName;
this.objOption.Icon = res.Data.Icon;
this.objOption.SortNum = res.Data.SortNum;
this.objOption.DealContent = res.Data.DealContent;
}
console.log(res, '修改数据详情');
})
this.optionTitle = "修改网站菜单信息"
} else {
this.optionTitle = "新增网站菜单信息"
this.objOption.Id = 0;
this.objOption.Name = '';
this.objOption.MenuUrl = '';
this.objOption.ParentId = 0;
this.objOption.MenuLevel = -1;
this.objOption.ClassName = '';
this.objOption.Icon = '';
this.objOption.SortNum = 0;
}
},
//关闭弹窗
......@@ -149,11 +78,9 @@
this.persistent = false
},
//保存菜单
saveWebkitMenu() {
this.$refs.Name.validate();
if (!this.$refs.Name.hasError) {
saveConsult() {
this.saveLoading = true
SetWebMenu(this.objOption).then(res => {
UpdateWebAdvisory(this.objOption).then(res => {
this.saveLoading = false
this.$q.notify({
icon: 'iconfont icon-chenggong',
......@@ -168,7 +95,6 @@
this.saveLoading = false
})
}
}
},
}
......
......@@ -6,6 +6,10 @@
<q-input @change="resetSearch" clearable standout="bg-primary text-white" class="col-6 q-pr-lg q-pr-lg"
v-model="msg.Name" label="菜单名称" maxlength="20" @clear="resetSearch" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" class="col-6 q-pr-lg q-pr-lg"
v-model="msg.DealStatus" :options="DealStatusList" emit-value map-options label="处理状态" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" class="col-6 q-pr-lg q-pr-lg"
v-model="msg.Status" :options="ShowOpts" emit-value map-options label="状态" />
......@@ -17,10 +21,6 @@
separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">咨询信息</div>
<!-- <q-space />
<div class="page-option">
<q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增菜单" @click="EditMenu(null)" />
</div> -->
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
......@@ -28,12 +28,15 @@
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn flat size="xs" v-if="props.row.DealStatus==0" icon="edit" color="accent" style="font-weight:400" label="处理"
@click="EditMenu(props.row)" />
<q-btn flat size="xs" v-if="props.row.DealStatus==0" icon="edit" color="accent" style="font-weight:400"
label="处理" @click="EditConsult(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" style="font-weight:400"
label="删除" @click="delConsult(props.row)" />
</q-td>
</template>
</q-table>
<consult-form v-if="isShowMenuForm" :save-obj="menuObjOption" @close="closeMenuSaveForm" @success="refreshPage">
<consult-form v-if="isShowConsultForm" :save-obj="consultObjOption" @close="closeConsultForm"
@success="refreshPage">
</consult-form>
</div>
</div>
......@@ -41,7 +44,7 @@
<script>
import {
GetWebAdvisoryPage,
RemoveWebMenuStatus,
RemoveWebAdvisoryStatus
} from '../../api/system/webkit'
import consultForm from '../../components/system/consult-form'
export default {
......@@ -54,6 +57,11 @@
data() {
return {
columns: [{
name: 'SourceName',
label: '项目名称',
field: 'SourceName',
align: 'left'
}, {
name: 'LinkMan',
label: '客户',
field: 'LinkMan',
......@@ -97,6 +105,16 @@
],
data: [],
loading: true,
DealStatusList: [{
value: -1,
label: '全部'
}, {
value: 0,
label: '待处理'
}, {
value: 1,
label: '已处理'
}],
ShowOpts: [{
label: '全部',
value: -1
......@@ -114,56 +132,19 @@
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
LinkMan:'', //联系人
DealStatus:0, //处理状态(0-待处理,1-已处理)
LinkMan: '', //联系人
DealStatus: -1, //处理状态(0-待处理,1-已处理)
Status: -1
},
pageCount: 0,
isShowMenuForm: false,
menuObjOption: null,
isShowConsultForm: false,
consultObjOption: null,
}
},
mounted() {
this.getList()
},
methods: {
//修改菜单状态
DeleteMenu(obj) {
var that = this;
var delMsg = {
Id: obj.Id,
Status: obj.Status
};
var tipMsg = "";
if (delMsg.Status == 0) {
tipMsg = "是否启用【" + obj.Name + "】?";
} else {
tipMsg = "是否禁用【" + obj.Name + "】?";
}
this.$q.dialog({
title: '提示信息',
message: tipMsg,
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
RemoveWebMenuStatus(delMsg).then(res => {
if (res.Code == 1) {
that.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
that.getList();
}
})
}).onCancel(() => {
obj.Status = obj.Status == 1 ? 0 : 1;
});
},
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
......@@ -178,7 +159,6 @@
getList() {
this.loading = true;
GetWebAdvisoryPage(this.msg).then(res => {
console.log(res,'咨询数据');
this.loading = false
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
......@@ -188,26 +168,55 @@
},
//刷新页面
refreshPage() {
if (!this.menuObjOption) {
if (!this.consultObjOption) {
this.msg.pageIndex = 1;
this.msg.Name = "";
this.msg.Status = "-1";
this.msg.LinkMan = "";
this.msg.DealStatus = -1;
this.msg.Status = -1;
}
this.getList()
},
//新增修改菜单
EditMenu(obj) {
EditConsult(obj) {
if (obj) {
this.menuObjOption = obj
this.consultObjOption = obj
} else {
this.menuObjOption = null
this.consultObjOption = null
}
this.isShowMenuForm = true
this.isShowConsultForm = true
},
//关闭弹窗
closeMenuSaveForm() {
this.isShowMenuForm = false
closeConsultForm() {
this.isShowConsultForm = false
},
//删除
delConsult(obj) {
this.$q.dialog({
title: '提示信息',
message: '是否确定删除?',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
let delMsg = {
Id: obj.Id,
Status: 1
}
RemoveWebAdvisoryStatus(delMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
this.getList();
}
})
})
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment