单位服务,新增bigInt处理
This commit is contained in:
parent
3332ab7194
commit
4d83cf8f54
|
|
@ -1,4 +1,4 @@
|
||||||
|
|
||||||
VUE_APP_API_BASE_URL=http://zxx4.f3322.net:46000
|
VUE_APP_API_BASE_URL=http://zxx4.f3322.net:46000
|
||||||
VUE_APP_USER_MODEL=AdminUser
|
VUE_APP_USER_MODEL2=AdminUser
|
||||||
VUE_APP_USER_MODEL2=BaseAdmin
|
VUE_APP_USER_MODEL=BaseAdmin
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"enquire.js": "^2.1.6",
|
"enquire.js": "^2.1.6",
|
||||||
"highlight.js": "^10.2.1",
|
"highlight.js": "^10.2.1",
|
||||||
"js-cookie": "^2.2.1",
|
"js-cookie": "^2.2.1",
|
||||||
|
"json-bigint": "^1.0.0",
|
||||||
"mockjs": "^1.1.0",
|
"mockjs": "^1.1.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"viser-vue": "^2.4.8",
|
"viser-vue": "^2.4.8",
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,49 @@
|
||||||
import { request } from '@/utils/request' // 加载request
|
import { request } from '@/utils/request' // 加载request
|
||||||
import modal from './modal' // 加载modal
|
import modal from './modal' // 加载modal
|
||||||
|
|
||||||
|
import JSONbig from 'json-bigint'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
||||||
// 提交post请求 ,获取数据
|
// 提交post请求 ,获取数据
|
||||||
post : function({url, data,loading , config}){ // post请求
|
post: function ({ url, data, loading, config, useBigInt }) { // post请求
|
||||||
|
|
||||||
return new Promise((resolve, reject)=>{ // 返回一个Promise
|
if (useBigInt) {
|
||||||
|
config = config || {};
|
||||||
|
config.headers = {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
};
|
||||||
|
data = JSONbig.stringify(data);
|
||||||
|
}
|
||||||
|
return new Promise((resolve, reject) => { // 返回一个Promise
|
||||||
|
|
||||||
if(loading){ // 如果需要加载
|
if (loading) { // 如果需要加载
|
||||||
modal.loading(loading); // 显示加载
|
modal.loading(loading); // 显示加载
|
||||||
}
|
}
|
||||||
request(url, 'post', data, config).then(response=>{ // 发送请求
|
request(url, 'post', data, config).then(response => { // 发送请求
|
||||||
if(!response){ // 如果没有返回
|
if (!response) { // 如果没有返回
|
||||||
reject && reject(response); // 返回错误
|
reject && reject(response); // 返回错误
|
||||||
return; // 返回
|
return; // 返回
|
||||||
}
|
}
|
||||||
var result = response.data; // 获取数据
|
var result = response.data; // 获取数据
|
||||||
if(!result){ // 如果没有数据
|
if (!result) { // 如果没有数据
|
||||||
reject && reject(response); // 返回错误
|
reject && reject(response); // 返回错误
|
||||||
return; // 返回
|
return; // 返回
|
||||||
}
|
}
|
||||||
if(loading){ // 如果需要加载
|
if (loading) { // 如果需要加载
|
||||||
modal.hideLoading(); // 隐藏加载
|
modal.hideLoading(); // 隐藏加载
|
||||||
}
|
}
|
||||||
if(result.code != 200){ // 如果返回的状态码不是200
|
if (result.code != 200) { // 如果返回的状态码不是200
|
||||||
if(reject){ // 如果有错误回调
|
if (reject) { // 如果有错误回调
|
||||||
reject(response); // 返回错误
|
reject(response); // 返回错误
|
||||||
}else{ // 如果没有错误回调
|
} else { // 如果没有错误回调
|
||||||
modal.error(result.msg); // 显示错误
|
modal.error(result.msg); // 显示错误
|
||||||
}
|
}
|
||||||
return; // 返回
|
return; // 返回
|
||||||
}
|
}
|
||||||
resolve(result); // 返回成功
|
resolve(result); // 返回成功
|
||||||
}).catch((error)=>{ // 如果出错
|
}).catch((error) => { // 如果出错
|
||||||
if(loading){ // 如果需要加载
|
if (loading) { // 如果需要加载
|
||||||
modal.hideLoading(); // 隐藏加载
|
modal.hideLoading(); // 隐藏加载
|
||||||
}
|
}
|
||||||
modal.error(error.toString()); // 显示错误
|
modal.error(error.toString()); // 显示错误
|
||||||
|
|
@ -44,44 +54,45 @@ export default {
|
||||||
|
|
||||||
|
|
||||||
// 获取分页数据
|
// 获取分页数据
|
||||||
getPagedData: function({url, method = 'post', data,callback, config}){ // 获取分页数据 默认post请求
|
getPagedData: function ({ url, method = 'post', data, callback, config }) { // 获取分页数据 默认post请求
|
||||||
|
|
||||||
return new Promise((resolve, reject)=>{ // 返回一个Promise
|
return new Promise((resolve, reject) => { // 返回一个Promise
|
||||||
|
|
||||||
if(data.start_time && typeof(data.start_time) == "string"){ // 如果开始时间是字符串
|
if (data.start_time && typeof (data.start_time) == "string") { // 如果开始时间是字符串
|
||||||
data.start_time = parseInt(new Date(data.start_time).getTime()/1000); // 转换为时间戳
|
data.start_time = parseInt(new Date(data.start_time).getTime() / 1000); // 转换为时间戳
|
||||||
}
|
}
|
||||||
if(data.end_time && typeof(data.end_time) == "string"){ // 如果结束时间是字符串
|
if (data.end_time && typeof (data.end_time) == "string") { // 如果结束时间是字符串
|
||||||
data.end_time =parseInt(new Date(data.end_time).getTime()/1000); // 转换为时间戳
|
data.end_time = parseInt(new Date(data.end_time).getTime() / 1000); // 转换为时间戳
|
||||||
}
|
}
|
||||||
request(url, method, data, config).then(response=>{ // 发送请求
|
request(url, method, data, config).then(response => { // 发送请求
|
||||||
if(!response){ // 如果没有返回
|
if (!response) { // 如果没有返回
|
||||||
reject && reject(response); // 返回错误
|
reject && reject(response); // 返回错误
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var result = response.data; // 获取数据
|
var result = response.data; // 获取数据
|
||||||
if(!result){ // 如果没有数据
|
if (!result) { // 如果没有数据
|
||||||
reject && reject(response); // 返回错误
|
reject && reject(response); // 返回错误
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(result.code != 200){ // 如果返回的状态码不是200
|
if (result.code != 200) { // 如果返回的状态码不是200
|
||||||
if(reject){ // 如果有错误回调
|
if (reject) { // 如果有错误回调
|
||||||
reject(response); // 返回错误
|
reject(response); // 返回错误
|
||||||
}else{ // 如果没有错误回调
|
} else { // 如果没有错误回调
|
||||||
modal.error(result.msg); // 显示错误
|
modal.error(result.msg); // 显示错误
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
console.log(result.data)
|
||||||
resolve(result.data); // 返回成功
|
resolve(result.data); // 返回成功
|
||||||
|
|
||||||
if(callback){ // 如果有回调
|
if (callback) { // 如果有回调
|
||||||
callback(result.data); // 执行回调
|
callback(result.data); // 执行回调
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
resolve({ // 返回一个空数据
|
resolve({ // 返回一个空数据
|
||||||
total:0, // 总数
|
total: 0, // 总数
|
||||||
list :[] // 列表
|
list: [] // 列表
|
||||||
});
|
});
|
||||||
modal.error(error.toString()); // 显示错误
|
modal.error(error.toString()); // 显示错误
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,320 @@
|
||||||
|
<template>
|
||||||
|
<page-layout :desc="desc">
|
||||||
|
<div class="page-body">
|
||||||
|
|
||||||
|
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||||
|
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||||
|
<!-- =========================== 自定义区域 Start ======================= -->
|
||||||
|
|
||||||
|
<!-- =========================== 自定义区域 End ======================= -->
|
||||||
|
</vxe-form>
|
||||||
|
|
||||||
|
<div class="mk-toolbar" v-if="isEdit">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footerbar">
|
||||||
|
<a-button type="primary" @click="ok">确定</a-button>
|
||||||
|
<a-button @click="cancel">取消</a-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</page-layout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BASE_URL from '@/services/mes/api.js';
|
||||||
|
import PageLayout from '@/layouts/PageLayout'
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
|
||||||
|
name: 'MesUnitUpdate',
|
||||||
|
i18n: require('./i18n'),
|
||||||
|
components: { PageLayout },
|
||||||
|
props: {
|
||||||
|
pageMode: {
|
||||||
|
type: String,
|
||||||
|
default: "edit"
|
||||||
|
},
|
||||||
|
dataId: {
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
|
||||||
|
// 页面数据变量
|
||||||
|
var pageData = {
|
||||||
|
// 当前项目名称
|
||||||
|
currentConfigName: "",
|
||||||
|
// 当前项目ID
|
||||||
|
currentBeid: 0,
|
||||||
|
|
||||||
|
uploadDefaultImg: null,
|
||||||
|
|
||||||
|
detailDataFieldName: "mes_unit",
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
// =============================== 接口地址 自动生成 Start ===============================
|
||||||
|
MesUnitList: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/list`, // 单位列表
|
||||||
|
MesUnitDetail: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/detail`, // 单位详情
|
||||||
|
MesUnitCreate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/create`, // 创建单位
|
||||||
|
MesUnitUpdate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/update`, // 更新单位
|
||||||
|
MesUnitDelete: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/detele`, // 删除单位
|
||||||
|
MesUnitBatchDelete: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/batchDelete`, // 批量删除单位
|
||||||
|
MesUnitBatchUpdate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/batchUpdate`, // 批量更新单位
|
||||||
|
MesUnitBatchCreate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/batchCreate`, // 批量创建单位
|
||||||
|
MesUnitExportExcel: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/export/excel`, // 导出单位数据到EXCEL
|
||||||
|
MesUnitImportExcel: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/import/excel`, // 批量导入EXCEL单位数据
|
||||||
|
|
||||||
|
// =============================== 接口地址 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
|
||||||
|
keyName: 'id',
|
||||||
|
// 是否编辑模式
|
||||||
|
isEdit: false,
|
||||||
|
// 表单数据
|
||||||
|
formOptions: {
|
||||||
|
data: {
|
||||||
|
// =============================== 表单数据 自动生成 Start ===============================
|
||||||
|
|
||||||
|
id: 0,
|
||||||
|
code: "",
|
||||||
|
title: "",
|
||||||
|
name: "",
|
||||||
|
create_uid: 0,
|
||||||
|
update_uid: 0,
|
||||||
|
create_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||||
|
update_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||||
|
|
||||||
|
// =============================== 表单数据 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
// 标题宽度
|
||||||
|
titleWidth: 100,
|
||||||
|
// 标题对齐方式
|
||||||
|
titleAlign: 'right',
|
||||||
|
|
||||||
|
// 表单校验规则
|
||||||
|
rules: {
|
||||||
|
// =============================== 表单校验 自动生成 Start ===============================
|
||||||
|
|
||||||
|
code: [
|
||||||
|
{ required: true, message: '请输入编码' }
|
||||||
|
],
|
||||||
|
title: [
|
||||||
|
{ required: true, message: '请输入单位名称' }
|
||||||
|
],
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入单位英文名称' }
|
||||||
|
],
|
||||||
|
|
||||||
|
// =============================== 表单校验 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
// 表单项
|
||||||
|
items: [
|
||||||
|
// =============================== 表单项 自动生成 Start ===============================
|
||||||
|
|
||||||
|
{ field: 'code', title: '编码', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'title', title: '单位名称', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'name', title: '单位英文名称', span: 12, itemRender: { name: '$input' } },
|
||||||
|
|
||||||
|
// =============================== 表单项 自动生成 End ===============================
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 新增模式表单项
|
||||||
|
addModeItems: [
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
pageData.actions.get = pageData.actions.MesUnitDetail;
|
||||||
|
pageData.actions.create = pageData.actions.MesUnitCreate;
|
||||||
|
pageData.actions.update = pageData.actions.MesUnitUpdate;
|
||||||
|
// 合并表单数据及配置
|
||||||
|
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||||
|
|
||||||
|
return pageData;
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
desc() {
|
||||||
|
return this.$t('editPageDesc')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
created() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 获取路由的id参数
|
||||||
|
let dataId = this.getDataId();
|
||||||
|
// 如果有id参数,说明是编辑模式
|
||||||
|
if (dataId) {
|
||||||
|
const json = `{"id":${dataId}}`;
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.get,
|
||||||
|
loading: "加载中...",
|
||||||
|
data: json,
|
||||||
|
config: {
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
// =============================== 时间字段判断 自动生成 Start ===============================
|
||||||
|
|
||||||
|
if (a.data[this.detailDataFieldName].create_time) {
|
||||||
|
a.data[this.detailDataFieldName].create_time = new Date(a.data[this.detailDataFieldName].create_time * 1000);
|
||||||
|
}
|
||||||
|
if (a.data[this.detailDataFieldName].update_time) {
|
||||||
|
a.data[this.detailDataFieldName].update_time = new Date(a.data[this.detailDataFieldName].update_time * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
// =============================== 时间字段判断 自动生成 End ===============================
|
||||||
|
this.formOptions.data = a.data[this.detailDataFieldName];
|
||||||
|
}).catch((a) => {
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.isEdit = true;
|
||||||
|
} else {
|
||||||
|
// 如果没有id参数,说明是新增模式
|
||||||
|
this.addModeItems.forEach(item => {
|
||||||
|
this.formOptions.items.push(item);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 函数
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
// 获取路由的id参数
|
||||||
|
getDataId() {
|
||||||
|
let dataId = this.dataId;
|
||||||
|
if (this.$route.params.id) {
|
||||||
|
dataId = this.$route.params.id;
|
||||||
|
}
|
||||||
|
if (!dataId) {
|
||||||
|
dataId = 0;
|
||||||
|
}
|
||||||
|
return dataId;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 返回
|
||||||
|
back() {
|
||||||
|
// 如果是新增模式,关闭当前页面
|
||||||
|
if (!this.isEdit) {
|
||||||
|
this.$closePage({
|
||||||
|
closeRoute: "/MesUnit/MesUnitAdd"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// 如果是编辑模式,关闭当前页面
|
||||||
|
this.$closePage({
|
||||||
|
closeRoute: "/MesUnit/MesUnitUpdate"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 打开列表页面
|
||||||
|
this.$openPage('/MesUnit/MesUnitList')
|
||||||
|
},
|
||||||
|
|
||||||
|
// 保存
|
||||||
|
ok() {
|
||||||
|
|
||||||
|
let save = () => {
|
||||||
|
|
||||||
|
|
||||||
|
// 如果是新增模式,提交新增接口 如果是编辑模式,提交编辑接口
|
||||||
|
let action = !this.isEdit ? this.actions.create : this.actions.update;
|
||||||
|
// 如果是新增模式,提交的数据中加入id 如果是编辑模式,提交的数据中不加入id
|
||||||
|
let postdata = Object.assign({}, this.formOptions.data);
|
||||||
|
console.log(postdata)
|
||||||
|
// 如果是编辑模式
|
||||||
|
if (this.isEdit) {
|
||||||
|
// postdata = { MesUnit: postdata }
|
||||||
|
}
|
||||||
|
// 格式化提交的数据
|
||||||
|
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
|
||||||
|
|
||||||
|
|
||||||
|
// 提交数据
|
||||||
|
this.$mk.post({
|
||||||
|
url: action,
|
||||||
|
loading: "保存中...",
|
||||||
|
data: postdata,
|
||||||
|
useBigInt: true,
|
||||||
|
}).then(() => { // 成功回调
|
||||||
|
this.$mk.success("保存成功");
|
||||||
|
if (!this.isEdit) { // 如果是新增模式,关闭当前页面
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
}).catch((a) => { // 失败回调
|
||||||
|
this.$mk.error(a.data.msg); // 显示错误信息
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 验证表单
|
||||||
|
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单
|
||||||
|
save(); // 提交保存
|
||||||
|
}).catch(count => { // 验证失败
|
||||||
|
this.$mk.error(`存在${count}项错误,请检查`);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 取消 返回
|
||||||
|
cancel() {
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 监听属性
|
||||||
|
watch: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.page-body {
|
||||||
|
padding: 30px;
|
||||||
|
background: @base-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formtabs .ant-tabs-tabpane {
|
||||||
|
/* background: white; */
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gridPanel {
|
||||||
|
height: calc(100vh - 600px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerbar {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imagePanel {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,353 @@
|
||||||
|
<template>
|
||||||
|
<div class="page-body">
|
||||||
|
|
||||||
|
<a-row type="flex">
|
||||||
|
<a-col :flex="$mk.config.ui.searchFlex">
|
||||||
|
<!-- 搜索区 -->
|
||||||
|
<vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
|
||||||
|
<template #date="{}">
|
||||||
|
<a-form-item label="创建时间" :style="{ display: 'inline-block', width: 120 }">
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :style="{ display: 'inline-block', width: 'calc(100% - 120px )' }">
|
||||||
|
<a-range-picker @change="onDateChange" />
|
||||||
|
</a-form-item>
|
||||||
|
</template>
|
||||||
|
</vxe-form>
|
||||||
|
</a-col>
|
||||||
|
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||||
|
<!-- 工具条 -->
|
||||||
|
<mk-toolbar @toolbarClick="toolbarClick"></mk-toolbar>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<vxe-toolbar ref="xToolbar" custom>
|
||||||
|
<template #buttons>
|
||||||
|
<a-button type="primary" icon="delete" @click="pageDelete()">批量删除</a-button>
|
||||||
|
</template>
|
||||||
|
</vxe-toolbar>
|
||||||
|
<!-- 表格区 -->
|
||||||
|
<div class="gridPanel">
|
||||||
|
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
||||||
|
|
||||||
|
<!-- =============================== 表格列 自动生成 Start =============================== -->
|
||||||
|
|
||||||
|
<!-- =============================== 表格列 自动生成 End =============================== -->
|
||||||
|
|
||||||
|
<template #op="{ row }">
|
||||||
|
<div class="oplinks">
|
||||||
|
<a @click.stop="pageEdit(row)" title="编辑"><a-icon type="edit" /></a>
|
||||||
|
<a @click.stop="pageDelete(row)" title="删除"><a-icon type="delete" /></a>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</vxe-grid>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BASE_URL from '@/services/mes/api.js';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'MesUnitList',
|
||||||
|
i18n: require('./i18n'), // 国际化
|
||||||
|
props: {
|
||||||
|
pageMode: {
|
||||||
|
type: String,
|
||||||
|
default: "edit"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
|
||||||
|
|
||||||
|
const listFieldName = 'MesUnit';
|
||||||
|
|
||||||
|
// 页面数据
|
||||||
|
var pageData = { // 页面数据变量
|
||||||
|
|
||||||
|
keyName: 'id', // 主键字段名
|
||||||
|
|
||||||
|
|
||||||
|
// 接口动作
|
||||||
|
actions: { // Api 接口地址
|
||||||
|
// =============================== 接口地址 自动生成 Start ===============================
|
||||||
|
MesUnitList: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/list`, // 单位列表
|
||||||
|
MesUnitDetail: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/detail`, // 单位详情
|
||||||
|
MesUnitCreate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/create`, // 创建单位
|
||||||
|
MesUnitUpdate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/update`, // 更新单位
|
||||||
|
MesUnitDelete: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/detele`, // 删除单位
|
||||||
|
MesUnitBatchDelete: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/batchDelete`, // 批量删除单位
|
||||||
|
MesUnitBatchUpdate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/batchUpdate`, // 批量更新单位
|
||||||
|
MesUnitBatchCreate: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/batchCreate`, // 批量创建单位
|
||||||
|
MesUnitExportExcel: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/export/excel`, // 导出单位数据到EXCEL
|
||||||
|
MesUnitImportExcel: `${BASE_URL.BASE_URL}/MesUnit/v1/mes/unit/import/excel`, // 批量导入EXCEL单位数据
|
||||||
|
|
||||||
|
// =============================== 接口地址 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
|
||||||
|
start_time: 0, // 开始时间
|
||||||
|
end_time: 0, // 结束时间
|
||||||
|
|
||||||
|
|
||||||
|
//搜索区
|
||||||
|
searchFormData: {
|
||||||
|
title: '',
|
||||||
|
desc: '',
|
||||||
|
},
|
||||||
|
// 搜索区配置
|
||||||
|
searchRules: [
|
||||||
|
{ key: "title", mode: "like" },
|
||||||
|
{ key: "desc", mode: "like" }
|
||||||
|
],
|
||||||
|
//搜索区
|
||||||
|
searchFormItems: [ // 子项
|
||||||
|
{ field: 'title', title: '标题', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入标题' } } },
|
||||||
|
{ field: 'desc', title: '描述', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入描述' } } },
|
||||||
|
{ span: 8, slots: { default: 'date' } }, // 自定义列
|
||||||
|
{
|
||||||
|
align: 'right', span: 4, itemRender: { // 按钮列
|
||||||
|
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, // 搜索按钮
|
||||||
|
{ props: { type: 'reset', content: '重置' } }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
//数据区
|
||||||
|
gridOptions: { // 表格配置
|
||||||
|
height: '100%', // 表格高度 100% 会自动撑满父容器
|
||||||
|
stripe: true, // 启用斑马纹
|
||||||
|
id: 'datagrid_1', // 表格唯一标识
|
||||||
|
|
||||||
|
// 接口获取数据
|
||||||
|
proxyConfig: { // 配置代理
|
||||||
|
sort: true, // 启用排序代理,当点击排序时会自动触发 query 行为
|
||||||
|
filter: true, // 启用筛选代理,当点击筛选时会自动触发 query 行为
|
||||||
|
props: {
|
||||||
|
result: listFieldName, // 配置响应结果列表字段
|
||||||
|
total: 'total' // 配置响应结果总页数字段
|
||||||
|
},
|
||||||
|
// 接收Promise
|
||||||
|
ajax: {
|
||||||
|
// 当点击工具栏查询按钮或者手动提交指令 query或reload 时会被触发
|
||||||
|
query: (options) => { // options 为当前表格的配置项
|
||||||
|
const { page, sorts } = options; // 获取当前页码、每页条数、排序信息
|
||||||
|
var params = {}; // 定义请求参数
|
||||||
|
params.page = page.currentPage; // 当前页码
|
||||||
|
params.limit = page.pageSize; // 每页条数
|
||||||
|
params.order_bys = []; // 排序信息
|
||||||
|
params.search_rules = this.getSearchParms(); // 搜索信息
|
||||||
|
if (sorts) { // 如果有排序信息
|
||||||
|
sorts.forEach((v) => { // 遍历排序信息
|
||||||
|
params.order_bys.push({ // 添加排序信息
|
||||||
|
column: v.property, // 字段名
|
||||||
|
order: v.order // 排序方式
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return this.loadData({ params }); // 返回请求结果
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 表格列配置
|
||||||
|
columns: [
|
||||||
|
{ type: 'checkbox', width: 50 }, // 多选框
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表格列 自动生成 Start ===============================
|
||||||
|
|
||||||
|
{ field: 'code', sortable: true, title: '编码', width: 250 }, // 编码
|
||||||
|
{ field: 'title', sortable: true, title: '单位名称', width: 250 }, // 单位名称
|
||||||
|
{ field: 'name', sortable: true, title: '单位英文名称', width: 250 }, // 单位英文名称
|
||||||
|
{ field: 'create_uid', sortable: true, title: '创建人', width: 80 }, // 创建人
|
||||||
|
{ field: 'update_uid', sortable: true, title: '更新人', width: 80 }, // 更新人
|
||||||
|
{ field: 'create_time', formatter: 'formatDate', width: 160, sortable: true, title: '创建时间', showHeaderOverflow: true }, // 创建时间
|
||||||
|
{ field: 'update_time', formatter: 'formatDate', width: 160, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间
|
||||||
|
|
||||||
|
// =============================== 表格列 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
{ title: '操作', slots: { default: 'op' }, width: 120 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
pageData.actions.getList = pageData.actions.MesUnitList;
|
||||||
|
pageData.actions.delete = pageData.actions.MesUnitBatchDelete;
|
||||||
|
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据
|
||||||
|
|
||||||
|
return pageData; // 返回页面数据
|
||||||
|
},
|
||||||
|
|
||||||
|
// 计算属性
|
||||||
|
computed: {
|
||||||
|
// 页面描述
|
||||||
|
desc() {
|
||||||
|
return this.$t('pageDesc')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 创建完成
|
||||||
|
created() {
|
||||||
|
this.$nextTick(() => { // 在下次 DOM 更新循环结束之后执行延迟回调
|
||||||
|
// 将表格和工具栏进行关联
|
||||||
|
this.$refs.xGrid.connect(this.$refs.xToolbar) // 将表格和工具栏进行关联
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 挂载完成
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// 动作
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 基于status进行开关 自动生成 Start ===============================
|
||||||
|
|
||||||
|
// =============================== 基于status进行开关 自动生成 End ===============================
|
||||||
|
|
||||||
|
// 修改日期
|
||||||
|
onDateChange(date) { // 日期选择器事件
|
||||||
|
if (date && date.length) { // 如果有值
|
||||||
|
this.start_time = parseInt(date[0]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||||
|
this.end_time = parseInt(date[1]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||||
|
} else { // 如果没有值
|
||||||
|
this.start_time = 0; // 将日期转换为时间戳
|
||||||
|
this.end_time = 0; // 将日期转换为时间戳
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取搜索参数
|
||||||
|
getSearchParms() { // 获取搜索参数
|
||||||
|
var rules = []; // 定义搜索参数
|
||||||
|
let findMode = k => { // 查找搜索模式
|
||||||
|
for (let i in this.searchRules) { // 遍历搜索规则
|
||||||
|
if (this.searchRules[i].key == k) return this.searchRules[i].mode; // 如果找到了就返回搜索模式
|
||||||
|
}
|
||||||
|
return "equal"; // 如果没有找到就返回等于
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let key in this.searchFormData) { // 遍历搜索表单数据
|
||||||
|
let value = this.searchFormData[key]; // 获取值
|
||||||
|
if (value) { // 如果有值
|
||||||
|
let mode = findMode(key); // 获取搜索模式
|
||||||
|
if (mode == "like") { // 如果是模糊搜索
|
||||||
|
value = "%" + value + "%"; // 如果是模糊搜索就在两边加上%
|
||||||
|
}
|
||||||
|
rules.push({ // 添加搜索参数
|
||||||
|
column: key, // 字段名
|
||||||
|
mode: mode, // 搜索模式
|
||||||
|
value: value // 值
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rules; // 返回搜索参数
|
||||||
|
},
|
||||||
|
// 获取选中行
|
||||||
|
getSelectdRow() { // 获取选中行
|
||||||
|
let row = this.$refs.xGrid.getCurrentRecord(); // 获取当前行
|
||||||
|
if (!row) { // 如果没有选中行
|
||||||
|
let rows = this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||||
|
if (rows && rows.length) { row = rows[0]; } // 如果有选中行就取第一行
|
||||||
|
}
|
||||||
|
return row; // 返回选中行
|
||||||
|
},
|
||||||
|
// 加载数据
|
||||||
|
loadData({ params }) {
|
||||||
|
params.start_time = this.start_time; // 开始时间
|
||||||
|
params.end_time = this.end_time; // 结束时间
|
||||||
|
return this.$mk.getPagedData({ url: this.actions.getList, data: params }); // 获取分页数据
|
||||||
|
},
|
||||||
|
|
||||||
|
// 工具栏点击事件 add / log / setting
|
||||||
|
toolbarClick(e) {
|
||||||
|
if (e.name == "add") { // 如果是添加
|
||||||
|
this.$openPage("/MesUnit/MesUnitAdd"); // 打开页面
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 编辑
|
||||||
|
pageEdit(row) {
|
||||||
|
if (!row) { // 如果没有选中行
|
||||||
|
this.$mk.msg("请选择行"); // 提示
|
||||||
|
return; // 返回
|
||||||
|
}
|
||||||
|
this.$openPage("/MesUnit/MesUnitUpdate/" + row[this.keyName]); // 打开页面
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除
|
||||||
|
pageDelete(row) {
|
||||||
|
let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||||
|
let ids = []; // 定义id数组
|
||||||
|
rows.forEach((row) => { // 遍历选中行
|
||||||
|
ids.push(row[this.keyName]); // 将选择行的id添加到id数组
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!ids.length) { // 如果没有选中行
|
||||||
|
this.$mk.error("请选择行"); // 提示
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$mk.confirm('您确定要删除吗?').then(type => { // 确认删除
|
||||||
|
if (type == 'confirm') { // 如果确认删除
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.delete, // 请求删除数据地址
|
||||||
|
loading: "删除中...", // 加载提示
|
||||||
|
data: {
|
||||||
|
ids: ids // 传递id数组
|
||||||
|
},
|
||||||
|
useBigInt : true
|
||||||
|
}).then(() => { // 成功
|
||||||
|
this.$mk.success("删除成功"); // 提示成功
|
||||||
|
this.onSearch(); // 重新加载数据
|
||||||
|
}).catch((a) => { // 失败
|
||||||
|
this.$mk.error(a.data.msg); // 提示错误信息
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 搜索
|
||||||
|
onSearch() {
|
||||||
|
this.$refs.xGrid.commitProxy('query') // 提交搜索
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// 监听属性
|
||||||
|
watch: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style scoped lang="less">
|
||||||
|
.page-body {
|
||||||
|
padding: 30px;
|
||||||
|
background: @base-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gridPanel {
|
||||||
|
height: calc(100vh - 400px);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.oplinks svg {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
module.exports = {
|
||||||
|
messages: {
|
||||||
|
CN: {
|
||||||
|
pageDesc:'单位管理'
|
||||||
|
},
|
||||||
|
HK: {
|
||||||
|
pageDesc:'单位管理'
|
||||||
|
},
|
||||||
|
US: {
|
||||||
|
pageDesc:'单位管理'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,321 @@
|
||||||
|
<template>
|
||||||
|
<page-layout :desc="desc">
|
||||||
|
<div class="page-body">
|
||||||
|
|
||||||
|
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||||
|
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||||
|
<!-- =========================== 自定义区域 Start ======================= -->
|
||||||
|
|
||||||
|
<!-- =========================== 自定义区域 End ======================= -->
|
||||||
|
</vxe-form>
|
||||||
|
|
||||||
|
<div class="mk-toolbar" v-if="isEdit">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footerbar">
|
||||||
|
<a-button type="primary" @click="ok">确定</a-button>
|
||||||
|
<a-button @click="cancel">取消</a-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</page-layout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BASE_URL from '@/services/mes/MesUnit/MesUnit.api.js';
|
||||||
|
import PageLayout from '@/layouts/PageLayout'
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
|
||||||
|
name: 'MesUnitLogUpdate',
|
||||||
|
i18n: require('./i18n'),
|
||||||
|
components: { PageLayout },
|
||||||
|
props: {
|
||||||
|
pageMode: {
|
||||||
|
type: String,
|
||||||
|
default: "edit"
|
||||||
|
},
|
||||||
|
dataId: {
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
|
||||||
|
// 页面数据变量
|
||||||
|
var pageData = {
|
||||||
|
// 当前项目名称
|
||||||
|
currentConfigName: "",
|
||||||
|
// 当前项目ID
|
||||||
|
currentBeid: 0,
|
||||||
|
|
||||||
|
uploadDefaultImg: null,
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
// =============================== 接口地址 自动生成 Start ===============================
|
||||||
|
LogList: `${BASE_URL.BASE_URL}/MesUnit/v1/log/list`, // 日志列表
|
||||||
|
LogDetail: `${BASE_URL.BASE_URL}/MesUnit/v1/log/detail`, // 日志详情
|
||||||
|
|
||||||
|
// =============================== 接口地址 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
|
||||||
|
keyName: 'id',
|
||||||
|
// 是否编辑模式
|
||||||
|
isEdit: false,
|
||||||
|
// 表单数据
|
||||||
|
formOptions: {
|
||||||
|
data: {
|
||||||
|
// =============================== 表单数据 自动生成 Start ===============================
|
||||||
|
|
||||||
|
company_id: 0,
|
||||||
|
store_id: 0,
|
||||||
|
uid: 0,
|
||||||
|
target_uid: 0,
|
||||||
|
service: "",
|
||||||
|
module: "",
|
||||||
|
type: "",
|
||||||
|
content: "",
|
||||||
|
create_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||||
|
update_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||||
|
|
||||||
|
// =============================== 表单数据 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
// 标题宽度
|
||||||
|
titleWidth: 100,
|
||||||
|
// 标题对齐方式
|
||||||
|
titleAlign: 'right',
|
||||||
|
|
||||||
|
// 表单校验规则
|
||||||
|
rules: {
|
||||||
|
// =============================== 表单校验 自动生成 Start ===============================
|
||||||
|
|
||||||
|
company_id: [
|
||||||
|
{ required: true, message: '请输入公司ID' }
|
||||||
|
],
|
||||||
|
store_id: [
|
||||||
|
{ required: true, message: '请输入门店ID' }
|
||||||
|
],
|
||||||
|
uid: [
|
||||||
|
{ required: true, message: '请输入用户ID' }
|
||||||
|
],
|
||||||
|
target_uid: [
|
||||||
|
{ required: true, message: '请输入目标用户ID' }
|
||||||
|
],
|
||||||
|
service: [
|
||||||
|
{ required: true, message: '请输入服务名称' }
|
||||||
|
],
|
||||||
|
module: [
|
||||||
|
{ required: true, message: '请输入模块名称' }
|
||||||
|
],
|
||||||
|
type: [
|
||||||
|
{ required: true, message: '请输入日志类型' }
|
||||||
|
],
|
||||||
|
content: [
|
||||||
|
{ required: true, message: '请输入日志内容' }
|
||||||
|
],
|
||||||
|
|
||||||
|
// =============================== 表单校验 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
// 表单项
|
||||||
|
items: [
|
||||||
|
// =============================== 表单项 自动生成 Start ===============================
|
||||||
|
|
||||||
|
{ field: 'company_id', title: '公司ID', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'store_id', title: '门店ID', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'uid', title: '用户ID', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'target_uid', title: '目标用户ID', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'service', title: '服务名称', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'module', title: '模块名称', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'type', title: '日志类型', span: 12, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'content', title: '日志内容', span: 12, itemRender: { name: '$input' } },
|
||||||
|
|
||||||
|
// =============================== 表单项 自动生成 End ===============================
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 新增模式表单项
|
||||||
|
addModeItems: [
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 合并表单数据及配置
|
||||||
|
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||||
|
|
||||||
|
return pageData;
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
desc() {
|
||||||
|
return this.$t('editPageDesc')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
created() {
|
||||||
|
|
||||||
|
|
||||||
|
// 获取路由的id参数
|
||||||
|
let dataId = this.getDataId();
|
||||||
|
|
||||||
|
// 如果有id参数,说明是编辑模式
|
||||||
|
if (dataId) {
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.get,
|
||||||
|
loading: "加载中...",
|
||||||
|
data: {
|
||||||
|
id: parseInt(dataId)
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
// =============================== 时间字段判断 自动生成 Start ===============================
|
||||||
|
|
||||||
|
if(a.data.MesUnitLog.create_time){
|
||||||
|
a.data.MesUnitLog.create_time = new Date(a.data.MesUnitLog.create_time * 1000);
|
||||||
|
}
|
||||||
|
if(a.data.MesUnitLog.update_time){
|
||||||
|
a.data.MesUnitLog.update_time = new Date(a.data.MesUnitLog.update_time * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
// =============================== 时间字段判断 自动生成 End ===============================
|
||||||
|
this.formOptions.data = a.data.MesUnitLog;
|
||||||
|
}).catch((a) => {
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.isEdit = true;
|
||||||
|
} else {
|
||||||
|
// 如果没有id参数,说明是新增模式
|
||||||
|
this.addModeItems.forEach(item => {
|
||||||
|
this.formOptions.items.push(item);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 函数
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
// 获取路由的id参数
|
||||||
|
getDataId() {
|
||||||
|
let dataId = this.dataId;
|
||||||
|
if (this.$route.params.id) {
|
||||||
|
dataId = this.$route.params.id;
|
||||||
|
}
|
||||||
|
return parseInt(dataId || 0);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 返回
|
||||||
|
back() {
|
||||||
|
// 如果是新增模式,关闭当前页面
|
||||||
|
if (!this.isEdit) {
|
||||||
|
this.$closePage({
|
||||||
|
closeRoute: "/MesUnit/MesUnitLogAdd"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// 如果是编辑模式,关闭当前页面
|
||||||
|
this.$closePage({
|
||||||
|
closeRoute: "/MesUnit/MesUnitLogUpdate"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 打开列表页面
|
||||||
|
this.$openPage('/MesUnit/MesUnitLogList')
|
||||||
|
},
|
||||||
|
|
||||||
|
// 保存
|
||||||
|
ok() {
|
||||||
|
|
||||||
|
let save = () => {
|
||||||
|
|
||||||
|
|
||||||
|
// 如果是新增模式,提交新增接口 如果是编辑模式,提交编辑接口
|
||||||
|
let action = !this.isEdit ? this.actions.create : this.actions.update;
|
||||||
|
// 如果是新增模式,提交的数据中加入id 如果是编辑模式,提交的数据中不加入id
|
||||||
|
let postdata = !this.isEdit ? Object.assign({ id: this.dataId }, this.formOptions.data) : Object.assign({}, this.formOptions.data);
|
||||||
|
// 如果是编辑模式
|
||||||
|
if (this.isEdit) {
|
||||||
|
// postdata = { MesUnitLog: postdata }
|
||||||
|
}
|
||||||
|
// 格式化提交的数据
|
||||||
|
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
|
||||||
|
|
||||||
|
|
||||||
|
// 提交数据
|
||||||
|
this.$mk.post({
|
||||||
|
url: action,
|
||||||
|
loading: "保存中...",
|
||||||
|
data: postdata,
|
||||||
|
}).then(() => { // 成功回调
|
||||||
|
this.$mk.success("保存成功");
|
||||||
|
if (!this.isEdit) { // 如果是新增模式,关闭当前页面
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
}).catch((a) => { // 失败回调
|
||||||
|
this.$mk.error(a.data.msg); // 显示错误信息
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 验证表单
|
||||||
|
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单
|
||||||
|
save(); // 提交保存
|
||||||
|
}).catch(count => { // 验证失败
|
||||||
|
this.$mk.error(`存在${count}项错误,请检查`);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 取消 返回
|
||||||
|
cancel() {
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 监听属性
|
||||||
|
watch: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.page-body {
|
||||||
|
padding: 30px;
|
||||||
|
background: @base-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formtabs .ant-tabs-tabpane {
|
||||||
|
/* background: white; */
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gridPanel {
|
||||||
|
height: calc(100vh - 600px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerbar {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imagePanel {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100px;
|
||||||
|
img {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,338 @@
|
||||||
|
<template>
|
||||||
|
<div class="page-body">
|
||||||
|
|
||||||
|
<a-row type="flex">
|
||||||
|
<a-col :flex="$mk.config.ui.searchFlex">
|
||||||
|
<!-- 搜索区 -->
|
||||||
|
<vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
|
||||||
|
<template #date="{}">
|
||||||
|
<a-form-item label="创建时间" :style="{ display: 'inline-block', width: 120 }">
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :style="{ display: 'inline-block', width: 'calc(100% - 120px )' }">
|
||||||
|
<a-range-picker @change="onDateChange" />
|
||||||
|
</a-form-item>
|
||||||
|
</template>
|
||||||
|
</vxe-form>
|
||||||
|
</a-col>
|
||||||
|
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||||
|
<!-- 工具条 -->
|
||||||
|
<mk-toolbar @toolbarClick="toolbarClick"></mk-toolbar>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<vxe-toolbar ref="xToolbar" custom>
|
||||||
|
<template #buttons>
|
||||||
|
<a-button type="primary" icon="delete" @click="pageDelete()">批量删除</a-button>
|
||||||
|
</template>
|
||||||
|
</vxe-toolbar>
|
||||||
|
<!-- 表格区 -->
|
||||||
|
<div class="gridPanel">
|
||||||
|
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
||||||
|
|
||||||
|
<!-- =============================== 表格列 自动生成 Start =============================== -->
|
||||||
|
|
||||||
|
<!-- =============================== 表格列 自动生成 End =============================== -->
|
||||||
|
|
||||||
|
<template #op="{ row }">
|
||||||
|
<div class="oplinks">
|
||||||
|
<a @click.stop="pageEdit(row)" title="编辑"><a-icon type="edit" /></a>
|
||||||
|
<a @click.stop="pageDelete(row)" title="删除"><a-icon type="delete" /></a>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</vxe-grid>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BASE_URL from '@/services/mes/MesUnit/MesUnit.api.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'MesUnitLogList',
|
||||||
|
i18n: require('./i18n'), // 国际化
|
||||||
|
props: {
|
||||||
|
pageMode: {
|
||||||
|
type: String,
|
||||||
|
default: "edit"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
|
||||||
|
// 页面数据
|
||||||
|
var pageData = { // 页面数据变量
|
||||||
|
|
||||||
|
keyName: 'id', // 主键字段名
|
||||||
|
|
||||||
|
|
||||||
|
// 接口动作
|
||||||
|
actions: { // Api 接口地址
|
||||||
|
// =============================== 接口地址 自动生成 Start ===============================
|
||||||
|
LogList: `${BASE_URL.BASE_URL}/MesUnit/v1/log/list`, // 日志列表
|
||||||
|
LogDetail: `${BASE_URL.BASE_URL}/MesUnit/v1/log/detail`, // 日志详情
|
||||||
|
|
||||||
|
// =============================== 接口地址 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
|
||||||
|
start_time: 0, // 开始时间
|
||||||
|
end_time: 0, // 结束时间
|
||||||
|
|
||||||
|
|
||||||
|
//搜索区
|
||||||
|
searchFormData: {
|
||||||
|
title: '',
|
||||||
|
desc: '',
|
||||||
|
},
|
||||||
|
// 搜索区配置
|
||||||
|
searchRules: [
|
||||||
|
{ key: "title", mode: "like" },
|
||||||
|
{ key: "desc", mode: "like" }
|
||||||
|
],
|
||||||
|
//搜索区
|
||||||
|
searchFormItems: [ // 子项
|
||||||
|
{ field: 'title', title: '标题', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入标题' } } },
|
||||||
|
{ field: 'desc', title: '描述', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入描述' } } },
|
||||||
|
{ span: 8, slots: { default: 'date' } }, // 自定义列
|
||||||
|
{
|
||||||
|
align: 'right', span: 4, itemRender: { // 按钮列
|
||||||
|
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, // 搜索按钮
|
||||||
|
{ props: { type: 'reset', content: '重置' } }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
//数据区
|
||||||
|
gridOptions: { // 表格配置
|
||||||
|
height: '100%', // 表格高度 100% 会自动撑满父容器
|
||||||
|
stripe: true, // 启用斑马纹
|
||||||
|
id: 'datagrid_1', // 表格唯一标识
|
||||||
|
|
||||||
|
// 接口获取数据
|
||||||
|
proxyConfig: { // 配置代理
|
||||||
|
sort: true, // 启用排序代理,当点击排序时会自动触发 query 行为
|
||||||
|
filter: true, // 启用筛选代理,当点击筛选时会自动触发 query 行为
|
||||||
|
props: {
|
||||||
|
result: 'list', // 配置响应结果列表字段
|
||||||
|
total: 'total' // 配置响应结果总页数字段
|
||||||
|
},
|
||||||
|
// 接收Promise
|
||||||
|
ajax: {
|
||||||
|
// 当点击工具栏查询按钮或者手动提交指令 query或reload 时会被触发
|
||||||
|
query: (options) => { // options 为当前表格的配置项
|
||||||
|
const { page, sorts } = options; // 获取当前页码、每页条数、排序信息
|
||||||
|
var params = {}; // 定义请求参数
|
||||||
|
params.page = page.currentPage; // 当前页码
|
||||||
|
params.limit = page.pageSize; // 每页条数
|
||||||
|
params.order_bys = []; // 排序信息
|
||||||
|
params.search_rules = this.getSearchParms(); // 搜索信息
|
||||||
|
if (sorts) { // 如果有排序信息
|
||||||
|
sorts.forEach((v) => { // 遍历排序信息
|
||||||
|
params.order_bys.push({ // 添加排序信息
|
||||||
|
column: v.property, // 字段名
|
||||||
|
order: v.order // 排序方式
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return this.loadData({ params }); // 返回请求结果
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 表格列配置
|
||||||
|
columns: [
|
||||||
|
{ type: 'checkbox', width: 50 }, // 多选框
|
||||||
|
{ type: 'seq', width: 30 }, // 序号
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表格列 自动生成 Start ===============================
|
||||||
|
|
||||||
|
{ field: 'company_id', sortable: true, title: '公司ID', width: 250 }, // 公司ID
|
||||||
|
{ field: 'store_id', sortable: true, title: '门店ID', width: 250 }, // 门店ID
|
||||||
|
{ field: 'uid', sortable: true, title: '用户ID', width: 250 }, // 用户ID
|
||||||
|
{ field: 'target_uid', sortable: true, title: '目标用户ID', width: 250 }, // 目标用户ID
|
||||||
|
{ field: 'service', sortable: true, title: '服务名称', width: 250 }, // 服务名称
|
||||||
|
{ field: 'module', sortable: true, title: '模块名称', width: 250 }, // 模块名称
|
||||||
|
{ field: 'type', sortable: true, title: '日志类型', width: 250 }, // 日志类型
|
||||||
|
{ field: 'content', sortable: true, title: '日志内容', width: 250 }, // 日志内容
|
||||||
|
{ field: 'create_time', formatter: 'formatDate', width: 160, sortable: true, title: '创建时间', showHeaderOverflow: true }, // 创建时间
|
||||||
|
{ field: 'update_time', formatter: 'formatDate', width: 160, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间
|
||||||
|
|
||||||
|
// =============================== 表格列 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
{ title: '操作', slots: { default: 'op' }, width: 120 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据
|
||||||
|
|
||||||
|
return pageData; // 返回页面数据
|
||||||
|
},
|
||||||
|
|
||||||
|
// 计算属性
|
||||||
|
computed: {
|
||||||
|
// 页面描述
|
||||||
|
desc() {
|
||||||
|
return this.$t('pageDesc')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 创建完成
|
||||||
|
created() {
|
||||||
|
this.$nextTick(() => { // 在下次 DOM 更新循环结束之后执行延迟回调
|
||||||
|
// 将表格和工具栏进行关联
|
||||||
|
this.$refs.xGrid.connect(this.$refs.xToolbar) // 将表格和工具栏进行关联
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 挂载完成
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
},
|
||||||
|
// 动作
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 基于status进行开关 自动生成 Start ===============================
|
||||||
|
|
||||||
|
// =============================== 基于status进行开关 自动生成 End ===============================
|
||||||
|
|
||||||
|
// 修改日期
|
||||||
|
onDateChange(date) { // 日期选择器事件
|
||||||
|
if (date && date.length) { // 如果有值
|
||||||
|
this.start_time = parseInt(date[0]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||||
|
this.end_time = parseInt(date[1]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||||
|
} else { // 如果没有值
|
||||||
|
this.start_time = 0; // 将日期转换为时间戳
|
||||||
|
this.end_time = 0; // 将日期转换为时间戳
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取搜索参数
|
||||||
|
getSearchParms() { // 获取搜索参数
|
||||||
|
var rules = []; // 定义搜索参数
|
||||||
|
let findMode = k => { // 查找搜索模式
|
||||||
|
for (let i in this.searchRules) { // 遍历搜索规则
|
||||||
|
if (this.searchRules[i].key == k) return this.searchRules[i].mode; // 如果找到了就返回搜索模式
|
||||||
|
}
|
||||||
|
return "equal"; // 如果没有找到就返回等于
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let key in this.searchFormData) { // 遍历搜索表单数据
|
||||||
|
let value = this.searchFormData[key]; // 获取值
|
||||||
|
if (value) { // 如果有值
|
||||||
|
let mode = findMode(key); // 获取搜索模式
|
||||||
|
if (mode == "like") { // 如果是模糊搜索
|
||||||
|
value = "%" + value + "%"; // 如果是模糊搜索就在两边加上%
|
||||||
|
}
|
||||||
|
rules.push({ // 添加搜索参数
|
||||||
|
column: key, // 字段名
|
||||||
|
mode: mode, // 搜索模式
|
||||||
|
value: value // 值
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rules; // 返回搜索参数
|
||||||
|
},
|
||||||
|
// 获取选中行
|
||||||
|
getSelectdRow() { // 获取选中行
|
||||||
|
let row = this.$refs.xGrid.getCurrentRecord(); // 获取当前行
|
||||||
|
if (!row) { // 如果没有选中行
|
||||||
|
let rows = this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||||
|
if (rows && rows.length) { row = rows[0]; } // 如果有选中行就取第一行
|
||||||
|
}
|
||||||
|
return row; // 返回选中行
|
||||||
|
},
|
||||||
|
// 加载数据
|
||||||
|
loadData({ params }) {
|
||||||
|
params.start_time = this.start_time; // 开始时间
|
||||||
|
params.end_time = this.end_time; // 结束时间
|
||||||
|
return this.$mk.getPagedData({ url: this.actions.getList, data: params }); // 获取分页数据
|
||||||
|
},
|
||||||
|
|
||||||
|
// 工具栏点击事件 add / log / setting
|
||||||
|
toolbarClick(e) {
|
||||||
|
if (e.name == "add") { // 如果是添加
|
||||||
|
this.$openPage("/MesUnit/MesUnitLogAdd"); // 打开页面
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 编辑
|
||||||
|
pageEdit(row) {
|
||||||
|
if (!row) { // 如果没有选中行
|
||||||
|
this.$mk.msg("请选择行"); // 提示
|
||||||
|
return; // 返回
|
||||||
|
}
|
||||||
|
this.$openPage("/MesUnit/MesUnitLogUpdate/" + row[this.keyName]); // 打开页面
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除
|
||||||
|
pageDelete(row) {
|
||||||
|
let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||||
|
let ids = []; // 定义id数组
|
||||||
|
rows.forEach((row) => { // 遍历选中行
|
||||||
|
ids.push(row[this.keyName]); // 将选择行的id添加到id数组
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!ids.length) { // 如果没有选中行
|
||||||
|
this.$mk.error("请选择行"); // 提示
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$mk.confirm('您确定要删除吗?').then(type => { // 确认删除
|
||||||
|
if (type == 'confirm') { // 如果确认删除
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.delete, // 请求删除数据地址
|
||||||
|
loading: "删除中...", // 加载提示
|
||||||
|
data: {
|
||||||
|
ids: ids // 传递id数组
|
||||||
|
}
|
||||||
|
}).then(() => { // 成功
|
||||||
|
this.$mk.success("删除成功"); // 提示成功
|
||||||
|
this.onSearch(); // 重新加载数据
|
||||||
|
}).catch((a) => { // 失败
|
||||||
|
this.$mk.error(a.data.msg); // 提示错误信息
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 搜索
|
||||||
|
onSearch() {
|
||||||
|
this.$refs.xGrid.commitProxy('query') // 提交搜索
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// 监听属性
|
||||||
|
watch: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style scoped lang="less">
|
||||||
|
.page-body {
|
||||||
|
padding: 30px;
|
||||||
|
background: @base-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gridPanel {
|
||||||
|
height: calc(100vh - 400px);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.oplinks svg {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,273 @@
|
||||||
|
<template>
|
||||||
|
<page-layout :desc="desc">
|
||||||
|
<div class="page-body">
|
||||||
|
|
||||||
|
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||||
|
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||||
|
<!-- =========================== 自定义区域 Start ======================= -->
|
||||||
|
|
||||||
|
<!-- =========================== 自定义区域 End ======================= -->
|
||||||
|
</vxe-form>
|
||||||
|
|
||||||
|
<div class="mk-toolbar" v-if="isEdit">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footerbar">
|
||||||
|
<a-button type="primary" @click="ok">确定</a-button>
|
||||||
|
<a-button @click="cancel">取消</a-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</page-layout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BASE_URL from '@/services/mes/MesUnit/MesUnit.api.js';
|
||||||
|
import PageLayout from '@/layouts/PageLayout'
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
|
||||||
|
name: 'MesUnitSettingsUpdate',
|
||||||
|
i18n: require('./i18n'),
|
||||||
|
components: { PageLayout },
|
||||||
|
props: {
|
||||||
|
pageMode: {
|
||||||
|
type: String,
|
||||||
|
default: "edit"
|
||||||
|
},
|
||||||
|
dataId: {
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
|
||||||
|
// 页面数据变量
|
||||||
|
var pageData = {
|
||||||
|
// 当前项目名称
|
||||||
|
currentConfigName: "",
|
||||||
|
// 当前项目ID
|
||||||
|
currentBeid: 0,
|
||||||
|
|
||||||
|
uploadDefaultImg: null,
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
// =============================== 接口地址 自动生成 Start ===============================
|
||||||
|
Settings: `${BASE_URL.BASE_URL}/MesUnit/v1/settings/list`, // 服务配置
|
||||||
|
SettingsUpdate: `${BASE_URL.BASE_URL}/MesUnit/v1/settings/update`, // 配置修改
|
||||||
|
|
||||||
|
// =============================== 接口地址 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
|
||||||
|
keyName: 'id',
|
||||||
|
// 是否编辑模式
|
||||||
|
isEdit: false,
|
||||||
|
// 表单数据
|
||||||
|
formOptions: {
|
||||||
|
data: {
|
||||||
|
// =============================== 表单数据 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表单数据 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
// 标题宽度
|
||||||
|
titleWidth: 100,
|
||||||
|
// 标题对齐方式
|
||||||
|
titleAlign: 'right',
|
||||||
|
|
||||||
|
// 表单校验规则
|
||||||
|
rules: {
|
||||||
|
// =============================== 表单校验 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表单校验 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
// 表单项
|
||||||
|
items: [
|
||||||
|
// =============================== 表单项 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表单项 自动生成 End ===============================
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 新增模式表单项
|
||||||
|
addModeItems: [
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 合并表单数据及配置
|
||||||
|
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||||
|
|
||||||
|
return pageData;
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
desc() {
|
||||||
|
return this.$t('editPageDesc')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
created() {
|
||||||
|
|
||||||
|
|
||||||
|
// 获取路由的id参数
|
||||||
|
let dataId = this.getDataId();
|
||||||
|
|
||||||
|
// 如果有id参数,说明是编辑模式
|
||||||
|
if (dataId) {
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.get,
|
||||||
|
loading: "加载中...",
|
||||||
|
data: {
|
||||||
|
id: parseInt(dataId)
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
// =============================== 时间字段判断 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 时间字段判断 自动生成 End ===============================
|
||||||
|
this.formOptions.data = a.data.MesUnitSettings;
|
||||||
|
}).catch((a) => {
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.isEdit = true;
|
||||||
|
} else {
|
||||||
|
// 如果没有id参数,说明是新增模式
|
||||||
|
this.addModeItems.forEach(item => {
|
||||||
|
this.formOptions.items.push(item);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 函数
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
// 获取路由的id参数
|
||||||
|
getDataId() {
|
||||||
|
let dataId = this.dataId;
|
||||||
|
if (this.$route.params.id) {
|
||||||
|
dataId = this.$route.params.id;
|
||||||
|
}
|
||||||
|
return parseInt(dataId || 0);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 返回
|
||||||
|
back() {
|
||||||
|
// 如果是新增模式,关闭当前页面
|
||||||
|
if (!this.isEdit) {
|
||||||
|
this.$closePage({
|
||||||
|
closeRoute: "/MesUnit/MesUnitSettingsAdd"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// 如果是编辑模式,关闭当前页面
|
||||||
|
this.$closePage({
|
||||||
|
closeRoute: "/MesUnit/MesUnitSettingsUpdate"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 打开列表页面
|
||||||
|
this.$openPage('/MesUnit/MesUnitSettingsList')
|
||||||
|
},
|
||||||
|
|
||||||
|
// 保存
|
||||||
|
ok() {
|
||||||
|
|
||||||
|
let save = () => {
|
||||||
|
|
||||||
|
|
||||||
|
// 如果是新增模式,提交新增接口 如果是编辑模式,提交编辑接口
|
||||||
|
let action = !this.isEdit ? this.actions.create : this.actions.update;
|
||||||
|
// 如果是新增模式,提交的数据中加入id 如果是编辑模式,提交的数据中不加入id
|
||||||
|
let postdata = !this.isEdit ? Object.assign({ id: this.dataId }, this.formOptions.data) : Object.assign({}, this.formOptions.data);
|
||||||
|
// 如果是编辑模式
|
||||||
|
if (this.isEdit) {
|
||||||
|
// postdata = { MesUnitSettings: postdata }
|
||||||
|
}
|
||||||
|
// 格式化提交的数据
|
||||||
|
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
|
||||||
|
|
||||||
|
|
||||||
|
// 提交数据
|
||||||
|
this.$mk.post({
|
||||||
|
url: action,
|
||||||
|
loading: "保存中...",
|
||||||
|
data: postdata,
|
||||||
|
}).then(() => { // 成功回调
|
||||||
|
this.$mk.success("保存成功");
|
||||||
|
if (!this.isEdit) { // 如果是新增模式,关闭当前页面
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
}).catch((a) => { // 失败回调
|
||||||
|
this.$mk.error(a.data.msg); // 显示错误信息
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 验证表单
|
||||||
|
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单
|
||||||
|
save(); // 提交保存
|
||||||
|
}).catch(count => { // 验证失败
|
||||||
|
this.$mk.error(`存在${count}项错误,请检查`);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 取消 返回
|
||||||
|
cancel() {
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 监听属性
|
||||||
|
watch: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.page-body {
|
||||||
|
padding: 30px;
|
||||||
|
background: @base-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formtabs .ant-tabs-tabpane {
|
||||||
|
/* background: white; */
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gridPanel {
|
||||||
|
height: calc(100vh - 600px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerbar {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imagePanel {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100px;
|
||||||
|
img {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,328 @@
|
||||||
|
<template>
|
||||||
|
<div class="page-body">
|
||||||
|
|
||||||
|
<a-row type="flex">
|
||||||
|
<a-col :flex="$mk.config.ui.searchFlex">
|
||||||
|
<!-- 搜索区 -->
|
||||||
|
<vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
|
||||||
|
<template #date="{}">
|
||||||
|
<a-form-item label="创建时间" :style="{ display: 'inline-block', width: 120 }">
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :style="{ display: 'inline-block', width: 'calc(100% - 120px )' }">
|
||||||
|
<a-range-picker @change="onDateChange" />
|
||||||
|
</a-form-item>
|
||||||
|
</template>
|
||||||
|
</vxe-form>
|
||||||
|
</a-col>
|
||||||
|
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||||
|
<!-- 工具条 -->
|
||||||
|
<mk-toolbar @toolbarClick="toolbarClick"></mk-toolbar>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<vxe-toolbar ref="xToolbar" custom>
|
||||||
|
<template #buttons>
|
||||||
|
<a-button type="primary" icon="delete" @click="pageDelete()">批量删除</a-button>
|
||||||
|
</template>
|
||||||
|
</vxe-toolbar>
|
||||||
|
<!-- 表格区 -->
|
||||||
|
<div class="gridPanel">
|
||||||
|
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
||||||
|
|
||||||
|
<!-- =============================== 表格列 自动生成 Start =============================== -->
|
||||||
|
|
||||||
|
<!-- =============================== 表格列 自动生成 End =============================== -->
|
||||||
|
|
||||||
|
<template #op="{ row }">
|
||||||
|
<div class="oplinks">
|
||||||
|
<a @click.stop="pageEdit(row)" title="编辑"><a-icon type="edit" /></a>
|
||||||
|
<a @click.stop="pageDelete(row)" title="删除"><a-icon type="delete" /></a>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</vxe-grid>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BASE_URL from '@/services/mes/MesUnit/MesUnit.api.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'MesUnitSettingsList',
|
||||||
|
i18n: require('./i18n'), // 国际化
|
||||||
|
props: {
|
||||||
|
pageMode: {
|
||||||
|
type: String,
|
||||||
|
default: "edit"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
|
||||||
|
// 页面数据
|
||||||
|
var pageData = { // 页面数据变量
|
||||||
|
|
||||||
|
keyName: 'id', // 主键字段名
|
||||||
|
|
||||||
|
|
||||||
|
// 接口动作
|
||||||
|
actions: { // Api 接口地址
|
||||||
|
// =============================== 接口地址 自动生成 Start ===============================
|
||||||
|
Settings: `${BASE_URL.BASE_URL}/MesUnit/v1/settings/list`, // 服务配置
|
||||||
|
SettingsUpdate: `${BASE_URL.BASE_URL}/MesUnit/v1/settings/update`, // 配置修改
|
||||||
|
|
||||||
|
// =============================== 接口地址 自动生成 End ===============================
|
||||||
|
},
|
||||||
|
|
||||||
|
start_time: 0, // 开始时间
|
||||||
|
end_time: 0, // 结束时间
|
||||||
|
|
||||||
|
|
||||||
|
//搜索区
|
||||||
|
searchFormData: {
|
||||||
|
title: '',
|
||||||
|
desc: '',
|
||||||
|
},
|
||||||
|
// 搜索区配置
|
||||||
|
searchRules: [
|
||||||
|
{ key: "title", mode: "like" },
|
||||||
|
{ key: "desc", mode: "like" }
|
||||||
|
],
|
||||||
|
//搜索区
|
||||||
|
searchFormItems: [ // 子项
|
||||||
|
{ field: 'title', title: '标题', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入标题' } } },
|
||||||
|
{ field: 'desc', title: '描述', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入描述' } } },
|
||||||
|
{ span: 8, slots: { default: 'date' } }, // 自定义列
|
||||||
|
{
|
||||||
|
align: 'right', span: 4, itemRender: { // 按钮列
|
||||||
|
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, // 搜索按钮
|
||||||
|
{ props: { type: 'reset', content: '重置' } }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
//数据区
|
||||||
|
gridOptions: { // 表格配置
|
||||||
|
height: '100%', // 表格高度 100% 会自动撑满父容器
|
||||||
|
stripe: true, // 启用斑马纹
|
||||||
|
id: 'datagrid_1', // 表格唯一标识
|
||||||
|
|
||||||
|
// 接口获取数据
|
||||||
|
proxyConfig: { // 配置代理
|
||||||
|
sort: true, // 启用排序代理,当点击排序时会自动触发 query 行为
|
||||||
|
filter: true, // 启用筛选代理,当点击筛选时会自动触发 query 行为
|
||||||
|
props: {
|
||||||
|
result: 'list', // 配置响应结果列表字段
|
||||||
|
total: 'total' // 配置响应结果总页数字段
|
||||||
|
},
|
||||||
|
// 接收Promise
|
||||||
|
ajax: {
|
||||||
|
// 当点击工具栏查询按钮或者手动提交指令 query或reload 时会被触发
|
||||||
|
query: (options) => { // options 为当前表格的配置项
|
||||||
|
const { page, sorts } = options; // 获取当前页码、每页条数、排序信息
|
||||||
|
var params = {}; // 定义请求参数
|
||||||
|
params.page = page.currentPage; // 当前页码
|
||||||
|
params.limit = page.pageSize; // 每页条数
|
||||||
|
params.order_bys = []; // 排序信息
|
||||||
|
params.search_rules = this.getSearchParms(); // 搜索信息
|
||||||
|
if (sorts) { // 如果有排序信息
|
||||||
|
sorts.forEach((v) => { // 遍历排序信息
|
||||||
|
params.order_bys.push({ // 添加排序信息
|
||||||
|
column: v.property, // 字段名
|
||||||
|
order: v.order // 排序方式
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return this.loadData({ params }); // 返回请求结果
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 表格列配置
|
||||||
|
columns: [
|
||||||
|
{ type: 'checkbox', width: 50 }, // 多选框
|
||||||
|
{ type: 'seq', width: 30 }, // 序号
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表格列 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 表格列 自动生成 Start ===============================
|
||||||
|
|
||||||
|
|
||||||
|
{ title: '操作', slots: { default: 'op' }, width: 120 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据
|
||||||
|
|
||||||
|
return pageData; // 返回页面数据
|
||||||
|
},
|
||||||
|
|
||||||
|
// 计算属性
|
||||||
|
computed: {
|
||||||
|
// 页面描述
|
||||||
|
desc() {
|
||||||
|
return this.$t('pageDesc')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 创建完成
|
||||||
|
created() {
|
||||||
|
this.$nextTick(() => { // 在下次 DOM 更新循环结束之后执行延迟回调
|
||||||
|
// 将表格和工具栏进行关联
|
||||||
|
this.$refs.xGrid.connect(this.$refs.xToolbar) // 将表格和工具栏进行关联
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 挂载完成
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
},
|
||||||
|
// 动作
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
// =============================== 基于status进行开关 自动生成 Start ===============================
|
||||||
|
|
||||||
|
// =============================== 基于status进行开关 自动生成 End ===============================
|
||||||
|
|
||||||
|
// 修改日期
|
||||||
|
onDateChange(date) { // 日期选择器事件
|
||||||
|
if (date && date.length) { // 如果有值
|
||||||
|
this.start_time = parseInt(date[0]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||||
|
this.end_time = parseInt(date[1]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||||
|
} else { // 如果没有值
|
||||||
|
this.start_time = 0; // 将日期转换为时间戳
|
||||||
|
this.end_time = 0; // 将日期转换为时间戳
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取搜索参数
|
||||||
|
getSearchParms() { // 获取搜索参数
|
||||||
|
var rules = []; // 定义搜索参数
|
||||||
|
let findMode = k => { // 查找搜索模式
|
||||||
|
for (let i in this.searchRules) { // 遍历搜索规则
|
||||||
|
if (this.searchRules[i].key == k) return this.searchRules[i].mode; // 如果找到了就返回搜索模式
|
||||||
|
}
|
||||||
|
return "equal"; // 如果没有找到就返回等于
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let key in this.searchFormData) { // 遍历搜索表单数据
|
||||||
|
let value = this.searchFormData[key]; // 获取值
|
||||||
|
if (value) { // 如果有值
|
||||||
|
let mode = findMode(key); // 获取搜索模式
|
||||||
|
if (mode == "like") { // 如果是模糊搜索
|
||||||
|
value = "%" + value + "%"; // 如果是模糊搜索就在两边加上%
|
||||||
|
}
|
||||||
|
rules.push({ // 添加搜索参数
|
||||||
|
column: key, // 字段名
|
||||||
|
mode: mode, // 搜索模式
|
||||||
|
value: value // 值
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rules; // 返回搜索参数
|
||||||
|
},
|
||||||
|
// 获取选中行
|
||||||
|
getSelectdRow() { // 获取选中行
|
||||||
|
let row = this.$refs.xGrid.getCurrentRecord(); // 获取当前行
|
||||||
|
if (!row) { // 如果没有选中行
|
||||||
|
let rows = this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||||
|
if (rows && rows.length) { row = rows[0]; } // 如果有选中行就取第一行
|
||||||
|
}
|
||||||
|
return row; // 返回选中行
|
||||||
|
},
|
||||||
|
// 加载数据
|
||||||
|
loadData({ params }) {
|
||||||
|
params.start_time = this.start_time; // 开始时间
|
||||||
|
params.end_time = this.end_time; // 结束时间
|
||||||
|
return this.$mk.getPagedData({ url: this.actions.getList, data: params }); // 获取分页数据
|
||||||
|
},
|
||||||
|
|
||||||
|
// 工具栏点击事件 add / log / setting
|
||||||
|
toolbarClick(e) {
|
||||||
|
if (e.name == "add") { // 如果是添加
|
||||||
|
this.$openPage("/MesUnit/MesUnitSettingsAdd"); // 打开页面
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 编辑
|
||||||
|
pageEdit(row) {
|
||||||
|
if (!row) { // 如果没有选中行
|
||||||
|
this.$mk.msg("请选择行"); // 提示
|
||||||
|
return; // 返回
|
||||||
|
}
|
||||||
|
this.$openPage("/MesUnit/MesUnitSettingsUpdate/" + row[this.keyName]); // 打开页面
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除
|
||||||
|
pageDelete(row) {
|
||||||
|
let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||||
|
let ids = []; // 定义id数组
|
||||||
|
rows.forEach((row) => { // 遍历选中行
|
||||||
|
ids.push(row[this.keyName]); // 将选择行的id添加到id数组
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!ids.length) { // 如果没有选中行
|
||||||
|
this.$mk.error("请选择行"); // 提示
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$mk.confirm('您确定要删除吗?').then(type => { // 确认删除
|
||||||
|
if (type == 'confirm') { // 如果确认删除
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.delete, // 请求删除数据地址
|
||||||
|
loading: "删除中...", // 加载提示
|
||||||
|
data: {
|
||||||
|
ids: ids // 传递id数组
|
||||||
|
}
|
||||||
|
}).then(() => { // 成功
|
||||||
|
this.$mk.success("删除成功"); // 提示成功
|
||||||
|
this.onSearch(); // 重新加载数据
|
||||||
|
}).catch((a) => { // 失败
|
||||||
|
this.$mk.error(a.data.msg); // 提示错误信息
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 搜索
|
||||||
|
onSearch() {
|
||||||
|
this.$refs.xGrid.commitProxy('query') // 提交搜索
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// 监听属性
|
||||||
|
watch: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style scoped lang="less">
|
||||||
|
.page-body {
|
||||||
|
padding: 30px;
|
||||||
|
background: @base-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gridPanel {
|
||||||
|
height: calc(100vh - 400px);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.oplinks svg {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 视图组件
|
||||||
|
const view = {
|
||||||
|
tabs: () => import('@/layouts/tabs'),
|
||||||
|
blank: () => import('@/layouts/BlankView'),
|
||||||
|
page: () => import('@/layouts/PageView')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 路由组件注册
|
||||||
|
const MesUnitRouterMap = {
|
||||||
|
MesUnit:{
|
||||||
|
name: '单位管理',
|
||||||
|
icon: 'idcard',
|
||||||
|
component: view.page,
|
||||||
|
meta: {
|
||||||
|
},
|
||||||
|
authority: {
|
||||||
|
permission:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
MesUnitList:{
|
||||||
|
name: '单位管理',
|
||||||
|
icon: 'idcard',
|
||||||
|
path: '/MesUnit/MesUnitList',
|
||||||
|
component: () => import('@/pages/Middle/Mes/MesUnit/MesUnit/List'),
|
||||||
|
authority: {
|
||||||
|
permission:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
MesUnitCreate:{
|
||||||
|
name: '单位管理',
|
||||||
|
icon: 'idcard',
|
||||||
|
path: '/MesUnit/MesUnitAdd',
|
||||||
|
component: () => import('@/pages/Middle/Mes/MesUnit/MesUnit/Edit'),
|
||||||
|
meta: {
|
||||||
|
invisible:true,
|
||||||
|
},
|
||||||
|
authority: {
|
||||||
|
permission:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
MesUnitUpdate:{
|
||||||
|
name: '单位管理',
|
||||||
|
icon: 'idcard',
|
||||||
|
path: '/MesUnit/MesUnitUpdate/:id',
|
||||||
|
component: () => import('@/pages/Middle/Mes/MesUnit/MesUnit/Edit'),
|
||||||
|
meta: {
|
||||||
|
invisible:true,
|
||||||
|
},
|
||||||
|
authority: {
|
||||||
|
permission:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
MesUnitDetail:{
|
||||||
|
meta: {
|
||||||
|
invisible:true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MesUnitRouterMap
|
||||||
|
|
@ -10,6 +10,8 @@ import BaseCompanyRouterMap from '@/router/Middle/Base/BaseCompany/router.map.js
|
||||||
import BasePermissionRouterMap from '@/router/Middle/Base/BasePermission/router.map.js'
|
import BasePermissionRouterMap from '@/router/Middle/Base/BasePermission/router.map.js'
|
||||||
import BaseAdminRouterMap from '@/router/Middle/Base/BaseAdmin/router.map.js'
|
import BaseAdminRouterMap from '@/router/Middle/Base/BaseAdmin/router.map.js'
|
||||||
|
|
||||||
|
import MesUnitRouterMap from '@/router/Middle/Mes/MesUnit/router.map.js'
|
||||||
|
|
||||||
|
|
||||||
// 合并BaseRouterMap ConfigRouterMap ServiceRouterMap
|
// 合并BaseRouterMap ConfigRouterMap ServiceRouterMap
|
||||||
const routerMap = Object.assign({},
|
const routerMap = Object.assign({},
|
||||||
|
|
@ -21,6 +23,9 @@ const routerMap = Object.assign({},
|
||||||
BaseCompanyRouterMap,
|
BaseCompanyRouterMap,
|
||||||
BasePermissionRouterMap,
|
BasePermissionRouterMap,
|
||||||
BaseAdminRouterMap,
|
BaseAdminRouterMap,
|
||||||
|
|
||||||
|
|
||||||
|
MesUnitRouterMap
|
||||||
)
|
)
|
||||||
|
|
||||||
export default routerMap
|
export default routerMap
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
const BASE_URL = process.env.VUE_APP_API_BASE_URL // 获取环境变量VUE_APP_API_BASE_URL
|
||||||
|
module.exports = {
|
||||||
|
BASE_URL
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import Cookie from 'js-cookie'
|
import Cookie from 'js-cookie'
|
||||||
|
import JSONbig from 'json-bigint'
|
||||||
const USER_MODEL = process.env.VUE_APP_USER_MODEL
|
const USER_MODEL = process.env.VUE_APP_USER_MODEL
|
||||||
const APP_BEID = process.env.VUE_APP_BEID
|
const APP_BEID = process.env.VUE_APP_BEID
|
||||||
|
|
||||||
|
|
@ -14,6 +14,14 @@ axios.defaults.xsrfHeaderName= xsrfHeaderName // 设置认证信息的名称
|
||||||
axios.defaults.xsrfCookieName= xsrfHeaderName // 设置认证信息的名称
|
axios.defaults.xsrfCookieName= xsrfHeaderName // 设置认证信息的名称
|
||||||
|
|
||||||
|
|
||||||
|
axios.defaults.transformResponse = [function (data) {
|
||||||
|
if (data && typeof(data) == "string") {
|
||||||
|
return JSONbig.parse(data)
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
}]
|
||||||
|
|
||||||
|
|
||||||
// 认证类型
|
// 认证类型
|
||||||
const AUTH_TYPE = {
|
const AUTH_TYPE = {
|
||||||
BEARER: 'Bearer', // Bearer 认证
|
BEARER: 'Bearer', // Bearer 认证
|
||||||
|
|
|
||||||
12
yarn.lock
12
yarn.lock
|
|
@ -2259,6 +2259,11 @@
|
||||||
"resolved" "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz"
|
"resolved" "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz"
|
||||||
"version" "5.2.2"
|
"version" "5.2.2"
|
||||||
|
|
||||||
|
"bignumber.js@^9.0.0":
|
||||||
|
"integrity" "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.1.tgz"
|
||||||
|
"version" "9.1.1"
|
||||||
|
|
||||||
"binary-extensions@^1.0.0":
|
"binary-extensions@^1.0.0":
|
||||||
"integrity" "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U="
|
"integrity" "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U="
|
||||||
"resolved" "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz"
|
"resolved" "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz"
|
||||||
|
|
@ -6285,6 +6290,13 @@
|
||||||
"resolved" "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz"
|
"resolved" "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz"
|
||||||
"version" "0.5.0"
|
"version" "0.5.0"
|
||||||
|
|
||||||
|
"json-bigint@^1.0.0":
|
||||||
|
"integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz"
|
||||||
|
"version" "1.0.0"
|
||||||
|
dependencies:
|
||||||
|
"bignumber.js" "^9.0.0"
|
||||||
|
|
||||||
"json-buffer@3.0.0":
|
"json-buffer@3.0.0":
|
||||||
"integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
|
"integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
|
||||||
"resolved" "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz"
|
"resolved" "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue