Compare commits
7 Commits
576553e962
...
feature/rs
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50e56a9812 | ||
|
|
b64b102682 | ||
|
|
3f41df22a9 | ||
|
|
f9123942ca | ||
|
|
b67e30ce25 | ||
|
|
c43a8992fd | ||
|
|
705a252618 |
18
package.json
18
package.json
@@ -4,11 +4,11 @@
|
||||
"private": false,
|
||||
"author": "kubbo",
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve examples/main.js",
|
||||
"build": "vue-cli-service build",
|
||||
"oms": "vue-cli-service serve examples/main.js --mode oms",
|
||||
"dev": "rsbuild dev",
|
||||
"build": "rsbuild build",
|
||||
"oms": "rsbuild dev --mode oms",
|
||||
"sync": "node bin/appsSync.js",
|
||||
"preview": "node bin/build.js && vue-cli-service serve",
|
||||
"preview": "node bin/build.js && rsbuild dev",
|
||||
"predev": "node bin/scanApps.js",
|
||||
"preoms": "dotenv -e .env.oms node bin/scanApps.js"
|
||||
},
|
||||
@@ -41,16 +41,18 @@
|
||||
"@babel/plugin-proposal-logical-assignment-operators": "^7.10.4",
|
||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
|
||||
"@babel/plugin-proposal-optional-chaining": "^7.10.4",
|
||||
"@vue/cli-plugin-babel": "^3.6.0",
|
||||
"@vue/cli-plugin-eslint": "^3.6.0",
|
||||
"@vue/cli-service": "^3.6.0",
|
||||
"@rsbuild/core": "^1.0.17",
|
||||
"@rsbuild/plugin-babel": "^1.0.2",
|
||||
"@rsbuild/plugin-sass": "^1.0.4",
|
||||
"@rsbuild/plugin-vue2": "^1.0.1",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"axios": "^0.19.2",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"core-js": "^2.6.11",
|
||||
"dotenv-cli": "^7.4.2",
|
||||
"element-ui": "^2.15.9",
|
||||
"eslint": "^5.16.0",
|
||||
"eslint-plugin-vue": "^5.0.0",
|
||||
"fs-extra": "^11.2.0",
|
||||
"image-webpack-loader": "^6.0.0",
|
||||
"inquirer": "^6.5.2",
|
||||
"mockjs": "^1.1.0",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="AppFormReview">
|
||||
<div class="AppGridReview">
|
||||
<keep-alive :include="['List']">
|
||||
<component ref="component" :is="component" :permissions="permissions " @change="onChange" :params="params" :instance="instance" :dict="dict"></component>
|
||||
</keep-alive>
|
||||
@@ -11,7 +11,7 @@
|
||||
import Detail from './components/Detail'
|
||||
|
||||
export default {
|
||||
name: 'AppFormReview',
|
||||
name: 'AppGridReview',
|
||||
label: '网格动态',
|
||||
|
||||
props: {
|
||||
@@ -56,7 +56,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.AppFormReview {
|
||||
.AppGridReview {
|
||||
height: 100%;
|
||||
background: #F3F6F9;
|
||||
overflow: auto;
|
||||
@@ -14,11 +14,12 @@
|
||||
<template #content>
|
||||
<ai-wrapper label-width="120px">
|
||||
<ai-info-item label="内容" isLine :value="info.content"></ai-info-item>
|
||||
<ai-info-item label="类型" isLine >{{dict.getLabel("wyGirdNewsType", info.type)}}</ai-info-item>
|
||||
<ai-info-item label="所属网格" isLine :value="info.girdName"></ai-info-item>
|
||||
<ai-info-item label="网格员姓名" isLine :value="info.name"></ai-info-item>
|
||||
<ai-info-item label="状态" isLine >{{dict.getLabel("auditStatus", info.status)}}</ai-info-item>
|
||||
<ai-info-item label="发布时间" isLine :value="info.createTime"></ai-info-item>
|
||||
<ai-info-item label="类型" >{{dict.getLabel("wyGirdNewsType", info.type)}}</ai-info-item>
|
||||
<ai-info-item label="地址" >{{info.address}}</ai-info-item>
|
||||
<ai-info-item label="网格员姓名" :value="info.name"></ai-info-item>
|
||||
<ai-info-item label="状态" >{{dict.getLabel("auditStatus", info.status)}}</ai-info-item>
|
||||
<ai-info-item label="发布时间" :value="info.createTime"></ai-info-item>
|
||||
<ai-info-item label="图片" isLine>
|
||||
<div class="files">
|
||||
<div class="file-item" v-for="(item, index) in info.files" :key="index">
|
||||
@@ -28,6 +29,15 @@
|
||||
</ai-info-item>
|
||||
</ai-wrapper>
|
||||
</template>
|
||||
</ai-card>
|
||||
<ai-card title="审核信息" v-if="info.status != 0">
|
||||
<template #content>
|
||||
<ai-wrapper label-width="120px">
|
||||
<ai-info-item label="审批意见" isLine :value="info.examineOpinion"></ai-info-item>
|
||||
<ai-info-item label="审批人" :value="info.examineUserName"></ai-info-item>
|
||||
<ai-info-item label="审批时间" :value="info.examineTime"></ai-info-item>
|
||||
</ai-wrapper>
|
||||
</template>
|
||||
</ai-card>
|
||||
<ai-dialog
|
||||
:visible.sync="isShowExamine"
|
||||
@@ -42,10 +52,10 @@
|
||||
<el-radio label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="处理意见" prop="content" style="width: 100%;" :rules="[{ required: true, message: '请输入处理意见' }]">
|
||||
<el-input type="textarea" :rows="5" :maxlength="500" v-model="form.content" clearable placeholder="请输入处理意见" show-word-limit></el-input>
|
||||
<el-form-item label="审批意见" prop="opinion" style="width: 100%;" >
|
||||
<el-input type="textarea" :rows="5" :maxlength="500" v-model="form.opinion" clearable placeholder="请输入审批意见" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="图片" prop="files" style="width: 100%;">
|
||||
<!-- <el-form-item label="图片" prop="files" style="width: 100%;">
|
||||
<ai-uploader
|
||||
:instance="instance"
|
||||
isShowTip
|
||||
@@ -75,7 +85,7 @@
|
||||
info: {},
|
||||
id: '',
|
||||
isShowExamine: false,
|
||||
form: {status: ''}
|
||||
form: {status: '', opinion: ''}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -101,7 +111,7 @@
|
||||
handleEvent() {
|
||||
this.$refs.form.validate(v => {
|
||||
if (v) {
|
||||
this.instance.post(`/app/appgirdnews/examine?id=${this.params.id}&pass=${this.form.status}`).then(res => {
|
||||
this.instance.post(`/app/appgirdnews/examine?id=${this.params.id}&pass=${this.form.status}&opinion=${this.form.opinion}`).then(res => {
|
||||
if (res?.code == 0) {
|
||||
this.isShowExamine = false
|
||||
this.getDetail()
|
||||
@@ -129,8 +139,8 @@
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
.file-item {
|
||||
width: 240px;
|
||||
height: 240px;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin: 0 20px 20px 0;
|
||||
|
||||
img, video {
|
||||
|
||||
@@ -82,8 +82,9 @@
|
||||
total: 0,
|
||||
colConfigs: [
|
||||
{ prop: 'content', label: '内容', align: 'left', width: '200px' },
|
||||
{ prop: 'type', align: 'center', label: '类型', dict:"wyGirdNewsType"},
|
||||
{ prop: 'girdName', label: '所属网格', align: 'center' },
|
||||
{ prop: 'type', align: 'center', label: '类型', dict:"wyGirdNewsType"},
|
||||
{ prop: 'address', label: '地址', align: 'center' },
|
||||
{ prop: 'name', label: '网格员姓名', align: 'center' },
|
||||
{ prop: 'status', align: 'center', label: '状态', dict:"auditStatus"},
|
||||
{ prop: 'createTime', label: '发布时间', align: 'center' }
|
||||
|
||||
@@ -11,6 +11,12 @@
|
||||
<el-form-item style="width: 100%" label="店铺名称" prop="title" :rules="[{required: true, message: '请输入店铺名称', trigger: 'blur'}]">
|
||||
<el-input type="input" size="small" v-model="form.title" clearable placeholder="请输入店铺名称" :maxlength="50" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 50%" label="店家" prop="shopkeeper">
|
||||
<el-input type="input" size="small" v-model="form.shopkeeper" clearable placeholder="请输入店家名字" :maxlength="10" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 50%" label="联系电话" prop="phone" :rules="[{required: true, message: '请输入联系电话', trigger: 'blur'}]">
|
||||
<el-input type="number" size="small" v-model="form.phone" clearable placeholder="请输入联系电话" :maxlength="11" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%" label="店铺类型" prop="type" :rules="[{required: true, message: '请选择店铺类型', trigger: 'change'}]">
|
||||
<ai-select
|
||||
v-model="form.type"
|
||||
@@ -227,6 +233,8 @@
|
||||
isShow: false,
|
||||
form: {
|
||||
title: '',
|
||||
shopkeeper: '',
|
||||
phone: '',
|
||||
type: '',
|
||||
serviceType: '0',
|
||||
visibleNames: '',
|
||||
|
||||
@@ -4,18 +4,18 @@
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico"/>
|
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/viewerjs/1.11.6/viewer.css"/>
|
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.18/index.css">
|
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/jsoneditor/10.0.2/jsoneditor.min.css">
|
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/highlight/atom-one-dark.min.css">
|
||||
<script src="<%= BASE_URL %>cdn/jsoneditor/10.0.2/jsoneditor.min.js" charset="utf-8"></script>
|
||||
<script src="<%= BASE_URL %>cdn/viewerjs/1.11.6/viewer.min.js" charset="utf-8"></script>
|
||||
<script src="<%= BASE_URL %>cdn/avue/2.10.18/avue.min.js" charset="utf-8"></script>
|
||||
<script src="<%= BASE_URL %>cdn/echarts/echarts@5.5.0.min.js" charset="utf-8"></script>
|
||||
<script src="<%= BASE_URL %>cdn/echarts/echarts-gl@2.0.9.min.js" charset="utf-8"></script>
|
||||
<script src="<%= BASE_URL %>cdn/markdown-it/markdown-it.min.js" charset="utf-8"></script>
|
||||
<script src="<%= BASE_URL %>cdn/highlight/highlight.min.js" charset="utf-8"></script>
|
||||
<link rel="icon" href="<%= assetPrefix %>favicon.ico"/>
|
||||
<link rel="stylesheet" href="<%= assetPrefix %>cdn/viewerjs/1.11.6/viewer.css"/>
|
||||
<link rel="stylesheet" href="<%= assetPrefix %>cdn/avue/2.10.18/index.css">
|
||||
<link rel="stylesheet" href="<%= assetPrefix %>cdn/jsoneditor/10.0.2/jsoneditor.min.css">
|
||||
<link rel="stylesheet" href="<%= assetPrefix %>cdn/highlight/atom-one-dark.min.css">
|
||||
<script src="<%= assetPrefix %>cdn/jsoneditor/10.0.2/jsoneditor.min.js" charset="utf-8"></script>
|
||||
<script src="<%= assetPrefix %>cdn/viewerjs/1.11.6/viewer.min.js" charset="utf-8"></script>
|
||||
<script src="<%= assetPrefix %>cdn/avue/2.10.18/avue.min.js" charset="utf-8"></script>
|
||||
<script src="<%= assetPrefix %>cdn/echarts/echarts@5.5.0.min.js" charset="utf-8"></script>
|
||||
<script src="<%= assetPrefix %>cdn/echarts/echarts-gl@2.0.9.min.js" charset="utf-8"></script>
|
||||
<script src="<%= assetPrefix %>cdn/markdown-it/markdown-it.min.js" charset="utf-8"></script>
|
||||
<script src="<%= assetPrefix %>cdn/highlight/highlight.min.js" charset="utf-8"></script>
|
||||
<title>web端应用库-展示页面</title>
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" referrerpolicy="origin"></script>
|
||||
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js" referrerpolicy="origin"></script>
|
||||
|
||||
70
rsbuild.config.js
Normal file
70
rsbuild.config.js
Normal file
@@ -0,0 +1,70 @@
|
||||
import {defineConfig} from '@rsbuild/core';
|
||||
import {pluginVue2} from '@rsbuild/plugin-vue2';
|
||||
import {pluginSass} from '@rsbuild/plugin-sass';
|
||||
import {pluginBabel} from '@rsbuild/plugin-babel';
|
||||
import path from "path";
|
||||
|
||||
const proxy = process.env.VUE_APP_API || "http://192.168.1.87:9000"
|
||||
const port = process.env.VUE_APP_PORT || 7000
|
||||
const entry = process.env.NODE_ENV == "production" ? "./src/main.js" : "./examples/main.js"
|
||||
console.log("当前模式:", process.env.NODE_ENV)
|
||||
console.log("当前后台服务地址:", proxy, "\n")
|
||||
export default defineConfig({
|
||||
plugins: [pluginVue2(),
|
||||
pluginSass({
|
||||
sassLoaderOptions: {
|
||||
additionalData: `@import "~dui/lib/styles/vars.scss";`
|
||||
}
|
||||
}),
|
||||
// pluginBabel({
|
||||
// include: [
|
||||
// path.resolve(__dirname, 'packages'),
|
||||
// path.resolve(__dirname, 'project'),
|
||||
// path.resolve(__dirname, 'examples'),
|
||||
// path.resolve(__dirname, 'src'),
|
||||
// path.resolve(__dirname, 'ui/packages'),
|
||||
// path.resolve(__dirname, 'ui/dv'),
|
||||
// path.resolve(__dirname, 'ui/lib/js'),
|
||||
// ]
|
||||
// })
|
||||
],
|
||||
source: {
|
||||
// 指定入口文件
|
||||
entry: {
|
||||
index: entry,
|
||||
},
|
||||
alias: {
|
||||
'@packages': path.resolve(__dirname, 'packages'),
|
||||
'@project': path.resolve(__dirname, 'project'),
|
||||
'dui': path.resolve(__dirname, 'ui'),
|
||||
}
|
||||
},
|
||||
html: {
|
||||
template: './public/index.html',
|
||||
},
|
||||
server: {
|
||||
host: '0.0.0.0', //主机地址
|
||||
port, //端口号
|
||||
open: true,
|
||||
proxy: {
|
||||
//设置代理,可解决跨
|
||||
'/lan': {
|
||||
target: proxy,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
//地址重写
|
||||
'^/lan': '/'
|
||||
}
|
||||
},
|
||||
'/sse': {
|
||||
target: "http://192.168.1.87:10409/v1",
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
//地址重写
|
||||
'^/sse': '/'
|
||||
}
|
||||
},
|
||||
},
|
||||
disableHostCheck: true,
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user