Commit 7b232330 authored by 乐宝呗666's avatar 乐宝呗666

添加机顶盒基础管理的修改,修改 新增功能

parent 08e65384
......@@ -30,12 +30,30 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="机构地理位置:" prop="areaName">
<el-form-item label="机构地理位置:" prop="areaName" required>
<el-input
v-model="formItem.areaName"
disabled
></el-input>
</el-form-item>
<el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="formItem.permanent">
<el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio>
</el-radio-group>
<div v-if="!formItem.permanent">
<el-date-picker
class="mt16"
v-model="formItem.date"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
......@@ -57,6 +75,9 @@ export default {
orgId: [
{ required: true, message: "请选择所属单位", trigger: "change" },
],
permanent: [
{ required: true, message: "请选择账号有效期", trigger: "change" },
],
},
};
},
......@@ -70,7 +91,10 @@ export default {
// 新增
this.orgOptions = item;
this.title = "新增";
this.formItem = {};
this.formItem = {
permanent: true,
date: "",
};
},
// 关闭
close() {
......@@ -98,12 +122,22 @@ export default {
let _this = this;
_this.$refs.formItem.validate((valid) => {
if (valid) {
if (!this.formItem.permanent && !this.formItem.date) {
this.$message.error("请选择有效期");
return false;
}
let searchObj = {};
for (let key in _this.formItem) {
if (this.formItem[key]) {
searchObj[key] = _this.formItem[key]
}
}
if (!this.formItem.permanent) {
searchObj.effectiveDate = this.formItem.date[0];
searchObj.exiredDate = this.formItem.date[1];
}
delete searchObj.date
console.log(searchObj)
_this
.$https(
{
......
<template>
<el-dialog
custom-class="party-dialog"
title="修改"
width="468px"
:visible.sync="formVisible"
:before-close="close"
>
<div class="dialog-content">
<el-form
:model="formItem"
class="party-form"
ref="formItem"
label-width="125px"
label-position="top"
:rules="rules"
>
<el-form-item label="所属单位:" prop="orgId">
<el-input v-model="formItem.organName" disabled></el-input>
</el-form-item>
<el-form-item label="机构地理位置:" prop="areaName">
<el-input v-model="formItem.areaName" disabled></el-input>
</el-form-item>
<el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="formItem.permanent">
<el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio>
</el-radio-group>
<div v-if="!formItem.permanent">
<el-date-picker
class="mt16"
v-model="formItem.date"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button @click="close">取 消</el-button>
<el-button type="primary" @click="submitForm('formItem')">确定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
formVisible: false,
formItem: {
date:'',
permanent:true
},
rules: {
permanent: [
{ required: true, message: "请选择账号有效期", trigger: "change" },
],
},
};
},
mounted() {},
methods: {
backFn(item) {
this.formVisible = true;
for (let key in item) {
this.formItem[key] = item[key];
}
// 编辑
if (this.formItem.exiredDate) {
this.formItem.date = [this.formItem.effectiveDate, this.formItem.exiredDate];
this.formItem.permanent = false
}
this.formItem = {...this.formItem}
console.log(this.formItem);
},
// 关闭
close() {
this.formVisible = false;
for (let key in this.formItem) {
this.formItem[key] = null;
}
this.$refs["formItem"].resetFields();
},
// 保存编辑信息
submitForm() {
let _this = this;
if (!this.formItem.permanent && !this.formItem.date) {
this.$message.error("请选择有效期");
return false;
}
let searchObj = {};
for (let key in _this.formItem) {
if (this.formItem[key]) {
searchObj[key] = _this.formItem[key];
}
}
if (!this.formItem.permanent) {
searchObj.effectiveDate = this.formItem.date[0];
searchObj.exiredDate = this.formItem.date[1];
}
searchObj.orgName = searchObj.organName
delete searchObj.organName;
delete searchObj.date;
console.log(searchObj);
_this
.$https(
{
url: "tUser/boxUpdate",
method: "put",
authType: this.backToken,
},
searchObj
)
.then(
(res) => {
if (res.data.resultCode === "200") {
_this.$message.success(res.data.message);
_this.formVisible = false;
_this.$emit("refreshFn");
} else {
_this.$message.error(res.data.message);
}
},
(error) => {
console.log(error);
}
);
},
},
};
</script>
<style lang="less">
</style>
\ No newline at end of file
import addDialog from './addDialog.vue'
import editDialog from './editDialog.vue'
import stbTable from './table.vue'
export {
addDialog,
editDialog,
stbTable
}
<template>
<div class="party-table">
<el-table
border
:data="list"
style="width: 100%; height: 100%"
height="100%"
>
<el-table-column label="序号" align="center" width="100">
<template slot-scope="scope">
<span>{{ (currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
v-for="(item, index) in feildList"
:key="index"
:prop="item.prop"
:label="item.label"
:width="item.width"
>
<template slot-scope="scope">
<div v-if="item.isEdit" class="table-btn-group">
<el-tooltip
content="修改"
placement="top"
>
<el-button circle @click="handleOperate(scope.row, 'edit')">
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
</div>
<div v-else>
<span v-if="item.prop === 'exiredDate'">
{{ scope.row[item.prop] || '永久有效' }}
</span>
<span v-else>{{ scope.row[item.prop] }}</span>
</div>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
};
},
computed:{
userId(){
return localStorage.getItem('userId') || ''
}
},
props: {
currentPage: {
type: Number,
default: 1,
},
list: {
type: Array,
default: () => {
return [];
},
},
feildList: {
type: Array,
default: () => {
return [];
},
},
},
methods: {
handleOperate(row, type) {
this.handlEmitMsg(row, type);
},
handlEmitMsg(row, type) {
this.$emit("action", {
row: row,
type: type,
});
},
},
};
</script>
<style lang="less">
@import "~@/style/table.less";
</style>
\ No newline at end of file
......@@ -38,19 +38,20 @@
<div class="btn-group">
<el-button type="primary" @click="addBox">新建机顶盒账号</el-button>
</div>
<party-table :currentPage="page._index" :feildList="feildList" :list="tableData"/>
<party-pagination :page="page" @changePage="handleCurrentChange"/>
<stb-table :currentPage="page._index" :feildList="feildList" :list="tableData" @action="handleAction"/>
<party-pagination :page="page" @changePage="handleCurrentChange" />
</div>
<custom-dialog ref="formItem" @refreshFn="onSearch" />
<add-dialog ref="formItem" @refreshFn="onSearch" />
<edit-dialog ref="editform" @refreshFn="onSearch" />
</div>
</template>
<script>
import { partyPagination,partyTable} from "@/components/index";
import customDialog from "./components/dialog.vue";
import { partyPagination} from "@/components/index";
import { addDialog, editDialog ,stbTable } from "./components/index";
import { getAreas } from "@/config/area.js";
import { getOrgListWithOutPage } from "@/config/organ.js";
export default {
components: { partyPagination, customDialog,partyTable },
components: { partyPagination, addDialog,editDialog,stbTable },
data() {
return {
page: {
......@@ -60,7 +61,9 @@ export default {
},
feildList: [
{ prop: "mac", label: "MAC地址" },
{ prop: "organName", label: "所属单位" }
{ prop: "organName", label: "所属单位" },
{ prop: "exiredDate", label: "到期时间" },
{ prop: "", label: "操作", isEdit: true, width: 180 },
],
orgOptions: [], // 单位信息
areaOptions: [], //区域信息
......@@ -144,9 +147,25 @@ export default {
this.page._index = val;
this.getTableData();
},
handleAction(params) {
this.activeRow = params.row;
switch (params.type) {
case "detail":
this.handleDetail();
break;
case "edit":
this.handleEdit();
break;
default:
break;
}
},
// 编辑
handleEdit() {
this.$refs.editform.backFn(this.activeRow);
},
},
};
</script>
<style lang="less">
// @import "~@/style/table.less";
</style>
\ No newline at end of file
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