projects/mes-test #133

Merged
gtz217 merged 281 commits from projects/mes-test into projects/mes 2023-11-30 09:11:34 +08:00
36 changed files with 985 additions and 752 deletions
Showing only changes of commit 2b0579dc70 - Show all commits

View File

@ -1,7 +1,7 @@
### ###
# @Author: Do not edit # @Author: Do not edit
# @Date: 2023-08-29 09:40:39 # @Date: 2023-08-29 09:40:39
# @LastEditTime: 2023-11-15 17:25:58 # @LastEditTime: 2023-11-16 14:07:34
# @LastEditors: DY # @LastEditors: DY
# @Description: # @Description:
### ###
@ -18,7 +18,7 @@ VUE_APP_BASE_API = 'http://192.168.0.33:48082'
# VUE_APP_BASE_API = 'http://192.168.2.173:48080' # VUE_APP_BASE_API = 'http://192.168.2.173:48080'
# VUE_APP_BASE_API = 'http://192.168.1.49:48080' # VUE_APP_BASE_API = 'http://192.168.1.49:48080'
# VUE_APP_BASE_API = 'http://192.168.1.8:48080' # VUE_APP_BASE_API = 'http://192.168.1.8:48080'
# VUE_APP_BASE_API = 'http://192.168.0.33:48082' # VUE_APP_BASE_API = 'http://192.168.4.159:48080'
# VUE_APP_BASE_API = 'http://192.168.1.56:48080' # VUE_APP_BASE_API = 'http://192.168.1.56:48080'
# VUE_APP_BASE_API = 'http://192.168.4.159:48080' # VUE_APP_BASE_API = 'http://192.168.4.159:48080'
# 路由懒加载 # 路由懒加载

Binary file not shown.

View File

@ -6,6 +6,7 @@
@import './btn.scss'; @import './btn.scss';
body { body {
// min-height: 1024px;
height: 100%; height: 100%;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;

View File

@ -114,40 +114,61 @@ $buttonHeight: $buttonH * 1px;
} }
} }
.field { .field {
// background: #ccc3;
position: relative; position: relative;
padding-top: 196px; margin-top: 8%;
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
// justify-content: center;
align-items: center; align-items: center;
.pc-title { .pc-title {
width: 100%; width: 100%;
text-align: center; text-align: center;
clear: both; clear: both;
position: relative; position: relative;
top: -36px; top: -36px;
height: 128px;
// h3.title { .title {
// position: relative; margin: 0;
margin-left: 32px;
// &::before { font-weight: 400;
// content: ''; user-select: none;
// background: url($cnbmLogo) 100% / 100% no-repeat; color: #000;
// height: 48px; font-size: 36px;
// width: 48px; line-height: 54px;
// position: absolute; letter-spacing: 2px;
// left: 0px; }
// top: 4px;
// display: inline-block;
// }
// }
} }
.mobile-title, .mobile-title,
.mobile-switch { .mobile-switch {
display: none; display: none;
} }
.form-cont {
// height: 560px;
flex: 1;
overflow: hidden;
}
.footer {
user-select: none;
// 元素
margin: 12px 0;
height: 16px;
line-height: 16px;
font-size: 12px;
color: #8c8c8c;
a,
a:hover,
a:active {
color: inherit;
text-decoration: none;
}
}
.form { .form {
margin-top: 32px; margin-top: 32px;
box-sizing: border-box; box-sizing: border-box;
@ -283,24 +304,6 @@ $buttonHeight: $buttonH * 1px;
line-height: 14px; line-height: 14px;
} }
} }
.footer {
user-select: none;
// 元素
height: 16px;
line-height: 16px;
font-size: 12px;
color: #8c8c8c;
// 定位
position: absolute;
bottom: 30px;
a,
a:hover,
a:active {
color: inherit;
text-decoration: none;
}
}
} }
// - - - - - PC 最小尺寸设置 // - - - - - PC 最小尺寸设置

View File

@ -9,7 +9,7 @@ import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false }) NProgress.configure({ showSpinner: false })
// 增加三方登陆 update by 芋艿 // 增加三方登陆 update by 芋艿
const whiteList = ['/login', '/social-login', '/auth-redirect', '/bind', '/register', '/oauthLogin/gitee'] const whiteList = ['/login', '/social-login', '/auth-redirect', '/bind', '/register', '/oauthLogin/gitee', '/AGVBoard', '/coldBoard', '/processingBoard']
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()
@ -19,7 +19,12 @@ router.beforeEach((to, from, next) => {
if (to.path === '/login') { if (to.path === '/login') {
next({ path: '/' }) next({ path: '/' })
NProgress.done() NProgress.done()
} else { }
// else if (to.path === '/AGVBoard') {
// next({ path: '/AGVBoard' })
// NProgress.done()
// }
else {
if (store.getters.roles.length === 0) { if (store.getters.roles.length === 0) {
isRelogin.show = true isRelogin.show = true
// 获取字典数据 add by 芋艿 // 获取字典数据 add by 芋艿

View File

@ -91,7 +91,7 @@ export const constantRoutes = [
{ {
path: '/AGVBoard', path: '/AGVBoard',
name: 'AGVBoard', name: 'AGVBoard',
component: Layout, // component: Layout,
// route level code-splitting // route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route // this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited. // which is lazy-loaded when the route is visited.

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-07-19 15:18:30 * @Date: 2021-07-19 15:18:30
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2023-11-14 10:46:52 * @LastEditTime: 2023-11-15 16:04:06
* @Description: * @Description:
--> -->
<template> <template>
@ -727,21 +727,21 @@ export default {
} }
}, },
watch: { // watch: {
clientWidth(val) { // clientWidth(val) {
if (!this.timer) { // if (!this.timer) {
this.clientWidth = val // this.clientWidth = val
this.beilv2 = this.clientWidth / 1920 // this.beilv2 = this.clientWidth / 1920
this.timer = true // this.timer = true
let _this = this // let _this = this
setTimeout(function () { // setTimeout(function () {
_this.timer = false // _this.timer = false
}, 500) // }, 500)
} // }
// // //
this.windowWidth(val); // this.windowWidth(val);
} // }
}, // },
created() { created() {
// this.fetchList('exception-alarm') // this.fetchList('exception-alarm')
// this.fetchList('inAndOutOfEachLine') // this.fetchList('inAndOutOfEachLine')

View File

@ -1021,7 +1021,7 @@ export default {
top: 2em; top: 2em;
} }
.container-main { .container-main {
// padding: 10px; padding: 6px;
} }
} }

View File

@ -140,8 +140,8 @@ export default {
getDataList() { getDataList() {
this.dataListLoading = true; this.dataListLoading = true;
this.urlOptions.getDataListURL(this.listQuery).then(response => { this.urlOptions.getDataListURL(this.listQuery).then(response => {
// this.tableData = response.data.list; this.tableData = response.data.list;
this.getStatus(response.data.list) // this.getStatus(response.data.list)
this.listQuery.total = response.data.total; this.listQuery.total = response.data.total;
this.dataListLoading = false; this.dataListLoading = false;
}); });
@ -150,6 +150,7 @@ export default {
const ids = list.map((i) => { const ids = list.map((i) => {
return i.id; return i.id;
}); });
console.log('111', ids)
getStatus(ids).then((response) => { getStatus(ids).then((response) => {
response.forEach((a) => { response.forEach((a) => {
list.forEach((b) => { list.forEach((b) => {

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-11-18 14:16:25 * @Date: 2021-11-18 14:16:25
* @LastEditors: DY * @LastEditors: DY
* @LastEditTime: 2023-11-15 17:45:04 * @LastEditTime: 2023-11-16 09:14:35
* @Description: * @Description:
--> -->
<template> <template>
@ -41,12 +41,12 @@
<el-table-column prop="priority" label="优先级" /> <el-table-column prop="priority" label="优先级" />
<el-table-column prop="planAssignmentQuantity" label="计划分配数量" > <el-table-column prop="planAssignmentQuantity" label="计划分配数量" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.planAssignmentQuantity"></el-input> <el-input v-model="scope.row.planAssignmentQuantity" :disabled="scope.row.actualAssignmentQuantity"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="actualAssignmentQuantity" label="实际分配数量"> <el-table-column prop="actualAssignmentQuantity" label="实际分配数量">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.actualAssignmentQuantity"></el-input> <el-input v-model="scope.row.actualAssignmentQuantity" :disabled="scope.row.actualAssignmentQuantity"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-11-18 14:16:25 * @Date: 2021-11-18 14:16:25
* @LastEditors: DY * @LastEditors: DY
* @LastEditTime: 2023-11-15 14:18:38 * @LastEditTime: 2023-11-16 13:45:13
* @Description: * @Description:
--> -->
<template> <template>
@ -64,15 +64,15 @@
<div class="formContent"> <div class="formContent">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8">订单创建时间: <el-col :span="8">订单创建时间:
<span v-for="(item, index) in orderArray" :key="index" style="margin-right: 10px; white-space: normal">{{ item.createTime }}</span> <span v-for="(item, index) in orderArray" :key="index" style="margin-right: 10px; white-space: pre-wrap">{{ parseTime(item.createTime) }}</span>
</el-col> </el-col>
<el-col :span="8">计划开始时间:{{ dataForm.planStartTime }}</el-col> <el-col :span="8">计划开始时间:{{ parseTime(dataForm.planStartTime) }}</el-col>
<el-col :span="8">计划完成时间:{{ dataForm.planFinishTime }}</el-col> <el-col :span="8">计划完成时间:{{ parseTime(dataForm.planFinishTime) }}</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8">预计结束时间:{{ dataForm.computeFinishTime }}</el-col> <el-col :span="8">预计结束时间:{{ parseTime(dataForm.computeFinishTime) }}</el-col>
<el-col :span="8">实际开始时间:{{ dataForm.startProduceTime }}</el-col> <el-col :span="8">实际开始时间:{{ parseTime(dataForm.startProduceTime) }}</el-col>
<el-col :span="8">实际完成时间:{{ dataForm.finishProduceTime }}</el-col> <el-col :span="8">实际完成时间:{{ parseTime(dataForm.finishProduceTime) }}</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8">工单状态:{{ fitlerS(dataForm.status) }}</el-col> <el-col :span="8">工单状态:{{ fitlerS(dataForm.status) }}</el-col>
@ -147,6 +147,7 @@ import { orderList } from "@/api/base/orderManage";
import { getProcessFlowList } from '@/api/base/orderManage' import { getProcessFlowList } from '@/api/base/orderManage'
import SmallTitle from './SmallTitle'; import SmallTitle from './SmallTitle';
import { publicFormatter } from "@/utils/dict"; import { publicFormatter } from "@/utils/dict";
import { parseTime } from '@/utils/ruoyi'
const tableBtn = [ const tableBtn = [
{ {
@ -233,7 +234,7 @@ export default {
this.getDict() this.getDict()
}, },
mounted() { mounted() {
if (this.$route.query.woIdString) { if (this.$route.query.woIdString && this.$route.query.woIdString !== 'undefined') {
const idList = this.$route.query.woIdString.split(',') const idList = this.$route.query.woIdString.split(',')
getCoreWOListById(idList).then(res => { getCoreWOListById(idList).then(res => {
this.workOrderButton = res.data.map(work => { this.workOrderButton = res.data.map(work => {

View File

@ -348,20 +348,25 @@ export default {
id: val.data.id, id: val.data.id,
status: undefined status: undefined
} }
let opration = ''
if (val.type === 'active') { if (val.type === 'active') {
param.status = 2 param.status = 2
opration = '激活'
} }
if (val.type === 'pause') { if (val.type === 'pause') {
param.status = 3 param.status = 3
opration = '暂停'
} }
if (val.type === 'nullify') { if (val.type === 'nullify') {
param.status = 9 param.status = 9
opration = '报废'
} }
if (val.type === 'finish') { if (val.type === 'finish') {
param.status = 4 param.status = 4
opration = '完成'
} }
console.log('22',val) console.log('22',val)
this.$confirm(`确定${'[工单名称=' + val.data.name + ']'}进行${val.type}操作?`, "提示", { this.$confirm(`确定${opration}${'"工单' + val.data.name + '"'}?`, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
@ -369,7 +374,7 @@ export default {
.then(() => { .then(() => {
statusChange(param).then(({ data }) => { statusChange(param).then(({ data }) => {
this.$message({ this.$message({
message: '操作成功!', message: '操作成功!工单状态稍后将会更新!',
type: 'success', type: 'success',
duration: 1500, duration: 1500,
onClose: () => { onClose: () => {

View File

@ -1,5 +1,5 @@
<template> <template>
<el-drawer :visible.sync="drawer" :append-to-body="true" size="80%"> <el-drawer :visible.sync="drawer" :append-to-body="true" size="80%" >
<small-title slot="title" :no-padding="true"> <small-title slot="title" :no-padding="true">
<!-- <template v-for="demo in demoList"> --> <!-- <template v-for="demo in demoList"> -->
<!-- <el-button :key="demo.name" :type="demo.name === curDemo ? 'primary' : ' '" @click="curDemo = demo.name"> --> <!-- <el-button :key="demo.name" :type="demo.name === curDemo ? 'primary' : ' '" @click="curDemo = demo.name"> -->
@ -29,24 +29,13 @@
<el-col :span="20"> <el-col :span="20">
<!-- 纸张设置 --> <!-- 纸张设置 -->
<el-button-group style="margin:0 10px"> <el-button-group style="margin:0 10px">
<el-button <el-button v-for="(value,type) in paperTypes" :key="type" :type="curPaperType === type ? 'primary' : ' '"
v-for="(value,type) in paperTypes" @click="setPaper(type,value)">
:key="type"
:type="curPaperType === type ? 'primary' : ' '"
@click="setPaper(type,value)"
>
{{ type }} {{ type }}
</el-button> </el-button>
</el-button-group> </el-button-group>
<el-input-number <el-input-number style="margin:0 10px" :value="scaleValue " :precision="2" :step="0.1" :min="scaleMin"
style="margin:0 10px" :max="scaleMax" @change="changeScale" />
:value="scaleValue "
:precision="2"
:step="0.1"
:min="scaleMin"
:max="scaleMax"
@change="changeScale"
/>
<el-popover v-model="paperPopVisible" placement="bottom" width="300" title="设置纸张宽高(mm)"> <el-popover v-model="paperPopVisible" placement="bottom" width="300" title="设置纸张宽高(mm)">
<div style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 10px"> <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 10px">
<el-input v-model="paperWidth" type="number" style=" width: 100px; text-align: center" place="宽mm" />~ <el-input v-model="paperWidth" type="number" style=" width: 100px; text-align: center" place="宽mm" />~
@ -212,7 +201,7 @@ export default {
return type return type
} }
}, },
mounted() { created() {
this.init() this.init()
// console.log('aaaaaa') // console.log('aaaaaa')
// this.otherPaper() // this.otherPaper()
@ -224,6 +213,9 @@ export default {
// handleClose() { // handleClose() {
// $('.hiprintEpContainer').empty() // $('.hiprintEpContainer').empty()
// }, // },
closed() {
$('.hiprintEpContainer').empty()
},
init(data) { init(data) {
this.drawer = true this.drawer = true
this.modelData = data this.modelData = data
@ -264,6 +256,7 @@ export default {
// console.log(this.modelData) // console.log(this.modelData)
// console.log($('#hiprint-printTemplate').empty()) // console.log($('#hiprint-printTemplate').empty())
if (this.modelData) { if (this.modelData) {
// console.log(this.modelData);
$('.hiprintEpContainer').empty() $('.hiprintEpContainer').empty()
hiprint.PrintElementTypeManager.build('.hiprintEpContainer', provider.value) hiprint.PrintElementTypeManager.build('.hiprintEpContainer', provider.value)
$('.hiprint-printTemplate').empty() $('.hiprint-printTemplate').empty()
@ -278,7 +271,7 @@ export default {
$('.hiprint-printTemplate').empty() $('.hiprint-printTemplate').empty()
// const templates = this.$ls.get('KEY_TEMPLATES', {}) // const templates = this.$ls.get('KEY_TEMPLATES', {})
const template = provider.value const template = provider.value
console.log(template) // console.log(template)
hiprintTemplate = new hiprint.PrintTemplate({ hiprintTemplate = new hiprint.PrintTemplate({
template: template, template: template,
settingContainer: '#PrintElementOptionSetting', settingContainer: '#PrintElementOptionSetting',
@ -287,6 +280,7 @@ export default {
} }
// hiprintTemplate.design('#hiprint-printTemplate') // hiprintTemplate.design('#hiprint-printTemplate')
// console.log(hiprintTemplate) // console.log(hiprintTemplate)
console.log(hiprintTemplate);
hiprintTemplate.design('#hiprint-printTemplate', { grid: true }) hiprintTemplate.design('#hiprint-printTemplate', { grid: true })
// , zoomtrue // , zoomtrue
this.scaleValue = hiprintTemplate.editingPanel.scale || 1 this.scaleValue = hiprintTemplate.editingPanel.scale || 1

View File

@ -80,7 +80,7 @@ export default {
type: 'datePicker', type: 'datePicker',
label: '时间', label: '时间',
dateType: 'month', dateType: 'month',
format: 'yyyy-MM-dd', format: 'yyyy-MM',
valueFormat: 'yyyy-MM-dd HH:mm:ss', valueFormat: 'yyyy-MM-dd HH:mm:ss',
rangeSeparator: '-', rangeSeparator: '-',
startPlaceholder: '开始时间', startPlaceholder: '开始时间',

View File

@ -44,7 +44,7 @@
border-radius: 100%; border-radius: 100%;
background: #26b9de; background: #26b9de;
"></span> "></span>
产线生产监控系统 MES
</p> </p>
</div> </div>
<video <video
@ -67,18 +67,7 @@
<h3 class="title">中建材智能自动化研究院有限公司</h3> <h3 class="title">中建材智能自动化研究院有限公司</h3>
</h2> </h2>
<h2 class="pc-title" style=""> <h2 class="pc-title" style="">
<h3 <h3 class="title" style="">
class="title"
style="
margin: 0;
margin-left: 32px;
font-weight: 400;
user-select: none;
color: #000;
font-size: 36px;
line-height: 54px;
letter-spacing: 2px;
">
<img <img
src="../assets/logo/cnbm.png" src="../assets/logo/cnbm.png"
alt="cnbm_logo" alt="cnbm_logo"
@ -103,7 +92,7 @@
line-height: 54px; line-height: 54px;
letter-spacing: 2px; letter-spacing: 2px;
"> ">
产线生产监控系统 MES
</h3> </h3>
</h2> </h2>
@ -219,12 +208,14 @@
</div> </div>
<!-- 下方的登录按钮 --> <!-- 下方的登录按钮 -->
<el-form-item id="button-form-item" style="width: 100%; margin-top: 32px"> <el-form-item
id="button-form-item"
style="width: 100%; margin-top: 32px">
<el-button <el-button
:loading="loading" :loading="loading"
size="medium" size="medium"
type="primary" type="primary"
style="width: 100%; height: 66px; font-size: 18px;" style="width: 100%; height: 66px; font-size: 18px"
@click.native.prevent="getCode"> @click.native.prevent="getCode">
<span v-if="!loading"> </span> <span v-if="!loading"> </span>
<span v-else> 中...</span> <span v-else> 中...</span>
@ -358,6 +349,7 @@ export default {
}; };
}, },
created() { created() {
document.body.style['min-height'] = '1024px';
// //
this.tenantEnable = getTenantEnable(); this.tenantEnable = getTenantEnable();
if (this.tenantEnable) { if (this.tenantEnable) {
@ -377,6 +369,9 @@ export default {
: undefined; : undefined;
this.getCookie(); this.getCookie();
}, },
destroyed() {
document.body.style['min-height'] = 'unset';
},
methods: { methods: {
getCode() { getCode() {
// //

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="地区 & IP" url="https://doc.iocoder.cn/area-and-ip/" /> <!-- <doc-alert title="地区 & IP" url="https://doc.iocoder.cn/area-and-ip/" /> -->
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="异常处理(错误码)" url="https://doc.iocoder.cn/exception/" /> <!-- <doc-alert title="异常处理(错误码)" url="https://doc.iocoder.cn/exception/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="错误码类型" prop="type"> <el-form-item label="错误码类型" prop="type">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="系统日志" url="https://doc.iocoder.cn/system-log/" /> <!-- <doc-alert title="系统日志" url="https://doc.iocoder.cn/system-log/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="登录地址" prop="userIp"> <el-form-item label="登录地址" prop="userIp">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="邮件配置" url="https://doc.iocoder.cn/mail" /> <!-- <doc-alert title="邮件配置" url="https://doc.iocoder.cn/mail" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="邮件配置" url="https://doc.iocoder.cn/mail" /> <!-- <doc-alert title="邮件配置" url="https://doc.iocoder.cn/mail" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="邮件配置" url="https://doc.iocoder.cn/mail" /> <!-- <doc-alert title="邮件配置" url="https://doc.iocoder.cn/mail" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="功能权限" url="https://doc.iocoder.cn/resource-permission" /> <!-- <doc-alert title="功能权限" url="https://doc.iocoder.cn/resource-permission" />
<doc-alert title="菜单路由" url="https://doc.iocoder.cn/vue2/route/" /> <doc-alert title="菜单路由" url="https://doc.iocoder.cn/vue2/route/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="菜单名称" prop="name"> <el-form-item label="菜单名称" prop="name">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="站内信配置" url="https://doc.iocoder.cn/notify/" /> <!-- <doc-alert title="站内信配置" url="https://doc.iocoder.cn/notify/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户编号" prop="userId"> <el-form-item label="用户编号" prop="userId">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="站内信配置" url="https://doc.iocoder.cn/notify/" /> <!-- <doc-alert title="站内信配置" url="https://doc.iocoder.cn/notify/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="站内信配置" url="https://doc.iocoder.cn/notify/" /> <!-- <doc-alert title="站内信配置" url="https://doc.iocoder.cn/notify/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="OAuth 2.0SSO 单点登录)" url="https://doc.iocoder.cn/oauth2/" /> <!-- <doc-alert title="OAuth 2.0SSO 单点登录)" url="https://doc.iocoder.cn/oauth2/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="OAuth 2.0SSO 单点登录)" url="https://doc.iocoder.cn/oauth2/" /> <!-- <doc-alert title="OAuth 2.0SSO 单点登录)" url="https://doc.iocoder.cn/oauth2/" />
<doc-alert title="用户体系" url="https://doc.iocoder.cn/user-center/" /> <doc-alert title="用户体系" url="https://doc.iocoder.cn/user-center/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="系统日志" url="https://doc.iocoder.cn/system-log/" /> <!-- <doc-alert title="系统日志" url="https://doc.iocoder.cn/system-log/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="系统模块" prop="title"> <el-form-item label="系统模块" prop="title">

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="功能权限" url="https://doc.iocoder.cn/resource-permission" /> <!-- <doc-alert title="功能权限" url="https://doc.iocoder.cn/resource-permission" />
<doc-alert title="数据权限" url="https://doc.iocoder.cn/data-permission" /> <doc-alert title="数据权限" url="https://doc.iocoder.cn/data-permission" /> -->
<el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true"> <el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item label="角色名称" prop="name"> <el-form-item label="角色名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入角色名称" clearable size="small" style="width: 240px" <el-input v-model="queryParams.name" placeholder="请输入角色名称" clearable size="small" style="width: 240px"

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="敏感词" url="https://doc.iocoder.cn/sensitive-word" /> <!-- <doc-alert title="敏感词" url="https://doc.iocoder.cn/sensitive-word" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="敏感词" prop="name"> <el-form-item label="敏感词" prop="name">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="短信配置" url="https://doc.iocoder.cn/sms/" /> <!-- <doc-alert title="短信配置" url="https://doc.iocoder.cn/sms/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="短信签名" prop="signature"> <el-form-item label="短信签名" prop="signature">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="短信配置" url="https://doc.iocoder.cn/sms/" /> <!-- <doc-alert title="短信配置" url="https://doc.iocoder.cn/sms/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="手机号" prop="mobile"> <el-form-item label="手机号" prop="mobile">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="短信配置" url="https://doc.iocoder.cn/sms/" /> <!-- <doc-alert title="短信配置" url="https://doc.iocoder.cn/sms/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="150px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="150px">
<el-form-item label="短信类型" prop="type"> <el-form-item label="短信类型" prop="type">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="SaaS 多租户" url="https://doc.iocoder.cn/saas-tenant/" /> <!-- <doc-alert title="SaaS 多租户" url="https://doc.iocoder.cn/saas-tenant/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="租户名" prop="name"> <el-form-item label="租户名" prop="name">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="SaaS 多租户" url="https://doc.iocoder.cn/saas-tenant/" /> <!-- <doc-alert title="SaaS 多租户" url="https://doc.iocoder.cn/saas-tenant/" /> -->
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="套餐名" prop="name"> <el-form-item label="套餐名" prop="name">

File diff suppressed because it is too large Load Diff