From 76c68b73ec61c505ef91ae2e46ed4eeb704c130b Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期三, 12 六月 2024 09:20:49 +0800 Subject: [PATCH] 页面修改 --- src/utils/request.js | 1 .env.development | 4 build/index.js | 35 ++ vue.config.js | 3 src/layout/components/Sidebar/Logo.vue | 2 src/api/system/dict/data.js | 3 src/components/DictData/index.js | 1 src/views/iot/modelLibrary/index.vue | 118 +++++++ src/layout/components/Navbar.vue | 6 src/views/system/dict/data.vue | 695 ++++++++++++++++++++------------------------- src/views/iot/template/index.vue | 3 src/api/iot/modelLibrary.js | 11 12 files changed, 489 insertions(+), 393 deletions(-) diff --git a/.env.development b/.env.development index 35e3852..897712c 100644 --- a/.env.development +++ b/.env.development @@ -5,13 +5,13 @@ ENV = 'development' # 寮�鍙戠幆澧� -VUE_APP_BASE_API = '/dev-api' +VUE_APP_BASE_API = 'http://192.168.11.203/prod-api' # 璺敱鎳掑姞杞� VUE_CLI_BABEL_TRANSPILE_MODULES = true # 鍚庣鎺ュ彛鍦板潃 -VUE_APP_SERVER_API_URL = 'http://192.168.11.14:8080' +VUE_APP_SERVER_API_URL = 'http://192.168.11.203:80/prod-api/' # Mqtt娑堟伅鏈嶅姟鍣ㄨ繛鎺ュ湴鍧� VUE_APP_MQTT_SERVER_URL = 'ws://101.201.75.67:8083/mqtt' diff --git a/build/index.js b/build/index.js new file mode 100644 index 0000000..0c57de2 --- /dev/null +++ b/build/index.js @@ -0,0 +1,35 @@ +const { run } = require('runjs') +const chalk = require('chalk') +const config = require('../vue.config.js') +const rawArgv = process.argv.slice(2) +const args = rawArgv.join(' ') + +if (process.env.npm_config_preview || rawArgv.includes('--preview')) { + const report = rawArgv.includes('--report') + + run(`vue-cli-service build ${args}`) + + const port = 9526 + const publicPath = config.publicPath + + var connect = require('connect') + var serveStatic = require('serve-static') + const app = connect() + + app.use( + publicPath, + serveStatic('./dist', { + index: ['index.html', '/'] + }) + ) + + app.listen(port, function () { + console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) + if (report) { + console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) + } + + }) +} else { + run(`vue-cli-service build ${args}`) +} diff --git a/src/api/iot/modelLibrary.js b/src/api/iot/modelLibrary.js new file mode 100644 index 0000000..cb4fc39 --- /dev/null +++ b/src/api/iot/modelLibrary.js @@ -0,0 +1,11 @@ +import request from '@/utils/request' + +// 鏌ヨ閫氱敤鐗╂ā鍨嬪垪琛� +export function listModelLibrary(query) { + return request({ + url: '/iot/ModelLibrary/list', + method: 'get', + params: query + }) +} + diff --git a/src/api/system/dict/data.js b/src/api/system/dict/data.js index 6c9eb79..2f9a760 100644 --- a/src/api/system/dict/data.js +++ b/src/api/system/dict/data.js @@ -2,6 +2,7 @@ // 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 export function listData(query) { + console.log("listData",query); return request({ url: '/system/dict/data/list', method: 'get', @@ -11,6 +12,7 @@ // 鏌ヨ瀛楀吀鏁版嵁璇︾粏 export function getData(dictCode) { + console.log("listData",dictCode); return request({ url: '/system/dict/data/' + dictCode, method: 'get' @@ -19,6 +21,7 @@ // 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鏁版嵁淇℃伅 export function getDicts(dictType) { + return request({ url: '/system/dict/data/type/' + dictType, method: 'get' diff --git a/src/components/DictData/index.js b/src/components/DictData/index.js index 7b85d4a..c4fa976 100644 --- a/src/components/DictData/index.js +++ b/src/components/DictData/index.js @@ -31,6 +31,7 @@ } else { return new Promise((resolve, reject) => { getDicts(dictMeta.type).then(res => { + console.log("test",res); store.dispatch('dict/setDict', { key: dictMeta.type, value: res.data }) resolve(res.data) }).catch(error => { diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 39b3dad..f79de97 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -7,11 +7,11 @@ <div class="right-menu"> <template v-if="device!=='mobile'"> - <search id="header-search" class="right-menu-item" /> + <!-- <search id="header-search" class="right-menu-item" /> --> - <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom"> + <!-- <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom"> <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" /> - </el-tooltip> + </el-tooltip> --> <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom"> <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" /> diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index 0e7a4a3..880bddb 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -35,7 +35,7 @@ }, data() { return { - title: 'FastBee', + title: 'TerraDT', logo: logoImg } } diff --git a/src/utils/request.js b/src/utils/request.js index d1f0a05..bc94f72 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -13,6 +13,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 鍒涘缓axios瀹炰緥 +console.log( process.env.VUE_APP_BASE_API); const service = axios.create({ // axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎 baseURL: process.env.VUE_APP_BASE_API, diff --git a/src/views/iot/modelLibrary/index.vue b/src/views/iot/modelLibrary/index.vue new file mode 100644 index 0000000..cfc36db --- /dev/null +++ b/src/views/iot/modelLibrary/index.vue @@ -0,0 +1,118 @@ +<template> + <div v-loading="loading" class="modelLibiraryBox"> + <el-card> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px" style="margin-bottom: -20px"> + <el-form-item label="妯″瀷鍚嶇О" prop="templateName"> + <el-input v-model="queryParams.templateName" placeholder="璇疯緭鍏ユā鍨嬪悕绉�" clearable size="small" @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="妯″瀷绫诲埆" prop="type"> + <el-select v-model="queryParams.type" placeholder="璇烽�夋嫨妯″瀷绫诲埆" clearable size="small"> + <el-option v-for="dict in dict.type.iot_model_library_type" :key="dict.value" :label="dict.label" :value="dict.value" /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini">閲嶇疆</el-button> + </el-form-item> + <el-form-item style="float: right"> + <el-button type="primary" plain icon="el-icon-plus" size="mini" v-hasPermi="['iot:modelLibrary:add']">鏂板</el-button> + </el-form-item> + </el-form> + </el-card> + <el-card class="modelLibiraryContent"> + <div class="modelLibiraryTable"> + <el-table :data="templateList" border> + <el-table-column label="妯″瀷鍚嶇О" align="center" prop="name" /> + <el-table-column label="妯″瀷绫诲瀷" align="center" prop="type" /> + <el-table-column label="妯″瀷澶у皬" align="center" prop="type" /> + <el-table-column label="妯″瀷鍦板潃" align="center" prop="path" /> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createime" /> + <el-table-column label="鎻忚堪" align="center" prop="bak" /> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" width="200"> + <template slot-scope="scope"> + <el-button size="small" type="primary" style="padding: 5px" icon="el-icon-edit" v-hasPermi="['iot:template:query']" v-if="scope.row.isSys == '0' ? true : !isTenant">淇敼</el-button> + <el-button size="small" type="danger" style="padding: 5px" icon="el-icon-delete" v-hasPermi="['iot:template:remove']" v-if="scope.row.isSys == '0' ? true : !isTenant">鍒犻櫎</el-button> + <el-button size="small" type="warning" style="padding: 5px" icon="el-icon-download" v-hasPermi="['iot:template:query']" v-if="scope.row.isSys == '0' ? true : !isTenant">涓嬭浇</el-button> + </template> + </el-table-column> + </el-table> + <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> + </div> + </el-card> + <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false"></el-dialog> + </div> +</template> + +<script> +// import { listModelLibrary } from '@/api/iot/modelLibrary'; +export default { + name: 'modelLibirary', + dicts: ['iot_model_library_type'], + data() { + return { + loading: false, + queryParams: { + pageNum: 1, + pageSize: 10, + name: null, + type: null, + }, + // 鏄惁涓虹鎴� + isTenant: false, + templateList: [ + { + name: 'test', + }, + ], + // 鎬绘潯鏁� + total: 0, + title: '', + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + }; + }, + created() { + this.init(); + }, + methods: { + init() { + if (this.$store.state.user.roles.indexOf('tenant') !== -1) { + this.isTenant = true; + } + + this.getList(); + }, + getList() { + // listModelLibrary(this.queryParams).then((response) => { + // }) ; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.modelLibiraryBox { + padding: 6px; + width: 100%; + height: 100%; + position: absolute; + display: flex; + flex-direction: column; + .modelLibiraryContent { + margin: 6px 0px; + flex: 1; + position: relative; + + ::v-deep .el-card__body { + padding: 15px !important; + } + .modelLibiraryTable { + width: calc(100% - 30px); + height: calc(100% - 36px); + position: absolute; + display: flex; + flex-direction: column; + } + } +} +</style> diff --git a/src/views/iot/template/index.vue b/src/views/iot/template/index.vue index 9da8859..4d5eb52 100644 --- a/src/views/iot/template/index.vue +++ b/src/views/iot/template/index.vue @@ -450,6 +450,7 @@ created() { this.getList(); this.init(); + }, methods: { init() { @@ -461,10 +462,12 @@ getList() { this.loading = true; listTemplate(this.queryParams).then((response) => { + console.log(response); this.templateList = response.rows; this.total = response.total; this.loading = false; }); + ; }, // 鍙栨秷鎸夐挳 cancel() { diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue index 324bb64..ba3834e 100644 --- a/src/views/system/dict/data.vue +++ b/src/views/system/dict/data.vue @@ -1,402 +1,325 @@ <template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictType"> - <el-select v-model="queryParams.dictType"> - <el-option - v-for="item in typeOptions" - :key="item.dictId" - :label="item.dictName" - :value="item.dictType" - /> - </el-select> - </el-form-item> - <el-form-item label="瀛楀吀鏍囩" prop="dictLabel"> - <el-input - v-model="queryParams.dictLabel" - placeholder="璇疯緭鍏ュ瓧鍏告爣绛�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="鏁版嵁鐘舵��" clearable> - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="瀛楀吀鍚嶇О" prop="dictType"> + <el-select v-model="queryParams.dictType"> + <el-option v-for="item in typeOptions" :key="item.dictId" :label="item.dictName" :value="item.dictType" /> + </el-select> + </el-form-item> + <el-form-item label="瀛楀吀鏍囩" prop="dictLabel"> + <el-input v-model="queryParams.dictLabel" placeholder="璇疯緭鍏ュ瓧鍏告爣绛�" clearable @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="queryParams.status" placeholder="鏁版嵁鐘舵��" clearable> + <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dict:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:dict:export']" - >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-close" - size="mini" - @click="handleClose" - >鍏抽棴</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:dict:add']">鏂板</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:dict:edit']">淇敼</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:dict:remove']">鍒犻櫎</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:dict:export']">瀵煎嚭</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="warning" plain icon="el-icon-close" size="mini" @click="handleClose">鍏抽棴</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> - <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瀛楀吀缂栫爜" align="center" prop="dictCode" /> - <el-table-column label="瀛楀吀鏍囩" align="center" prop="dictLabel"> - <template slot-scope="scope"> - <span v-if="scope.row.listClass == '' || scope.row.listClass == 'default'">{{scope.row.dictLabel}}</span> - <el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">{{scope.row.dictLabel}}</el-tag> - </template> - </el-table-column> - <el-table-column label="瀛楀吀閿��" align="center" prop="dictValue" /> - <el-table-column label="瀛楀吀鎺掑簭" align="center" prop="dictSort" /> - <el-table-column label="鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> + <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="瀛楀吀缂栫爜" align="center" prop="dictCode" /> + <el-table-column label="瀛楀吀鏍囩" align="center" prop="dictLabel"> + <template slot-scope="scope"> + <span v-if="scope.row.listClass == '' || scope.row.listClass == 'default'">{{ scope.row.dictLabel }}</span> + <el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">{{ scope.row.dictLabel }}</el-tag> + </template> + </el-table-column> + <el-table-column label="瀛楀吀閿��" align="center" prop="dictValue" /> + <el-table-column label="瀛楀吀鎺掑簭" align="center" prop="dictSort" /> + <el-table-column label="鐘舵��" align="center" prop="status"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" /> + </template> + </el-table-column> + <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:dict:edit']">淇敼</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:dict:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> + <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> - <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="瀛楀吀绫诲瀷"> - <el-input v-model="form.dictType" :disabled="true" /> - </el-form-item> - <el-form-item label="鏁版嵁鏍囩" prop="dictLabel"> - <el-input v-model="form.dictLabel" placeholder="璇疯緭鍏ユ暟鎹爣绛�" /> - </el-form-item> - <el-form-item label="鏁版嵁閿��" prop="dictValue"> - <el-input v-model="form.dictValue" placeholder="璇疯緭鍏ユ暟鎹敭鍊�" /> - </el-form-item> - <el-form-item label="鏍峰紡灞炴��" prop="cssClass"> - <el-input v-model="form.cssClass" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" /> - </el-form-item> - <el-form-item label="鏄剧ず鎺掑簭" prop="dictSort"> - <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="鍥炴樉鏍峰紡" prop="listClass"> - <el-select v-model="form.listClass"> - <el-option - v-for="item in listClassOptions" - :key="item.value" - :label="item.label + '(' + item.value + ')'" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> + <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="瀛楀吀绫诲瀷"> + <el-input v-model="form.dictType" :disabled="true" /> + </el-form-item> + <el-form-item label="鏁版嵁鏍囩" prop="dictLabel"> + <el-input v-model="form.dictLabel" placeholder="璇疯緭鍏ユ暟鎹爣绛�" /> + </el-form-item> + <el-form-item label="鏁版嵁閿��" prop="dictValue"> + <el-input v-model="form.dictValue" placeholder="璇疯緭鍏ユ暟鎹敭鍊�" /> + </el-form-item> + <el-form-item label="鏍峰紡灞炴��" prop="cssClass"> + <el-input v-model="form.cssClass" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" /> + </el-form-item> + <el-form-item label="鏄剧ず鎺掑簭" prop="dictSort"> + <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> + </el-form-item> + <el-form-item label="鍥炴樉鏍峰紡" prop="listClass"> + <el-select v-model="form.listClass"> + <el-option v-for="item in listClassOptions" :key="item.value" :label="item.label + '(' + item.value + ')'" :value="item.value"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="澶囨敞" prop="remark"> + <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> </template> <script> -import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data"; -import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type"; +import { listData, getData, delData, addData, updateData } from '@/api/system/dict/data'; +import { optionselect as getDictOptionselect, getType } from '@/api/system/dict/type'; export default { - name: "Data", - dicts: ['sys_normal_disable'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 瀛楀吀琛ㄦ牸鏁版嵁 - dataList: [], - // 榛樿瀛楀吀绫诲瀷 - defaultDictType: "", - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏁版嵁鏍囩鍥炴樉鏍峰紡 - listClassOptions: [ - { - value: "default", - label: "榛樿" - }, - { - value: "primary", - label: "涓昏" - }, - { - value: "success", - label: "鎴愬姛" - }, - { - value: "info", - label: "淇℃伅" - }, - { - value: "warning", - label: "璀﹀憡" - }, - { - value: "danger", - label: "鍗遍櫓" - } - ], - // 绫诲瀷鏁版嵁瀛楀吀 - typeOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - dictName: undefined, - dictType: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - dictLabel: [ - { required: true, message: "鏁版嵁鏍囩涓嶈兘涓虹┖", trigger: "blur" } - ], - dictValue: [ - { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" } - ], - dictSort: [ - { required: true, message: "鏁版嵁椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - const dictId = this.$route.params && this.$route.params.dictId; - this.getType(dictId); - this.getTypeList(); - }, - methods: { - /** 鏌ヨ瀛楀吀绫诲瀷璇︾粏 */ - getType(dictId) { - getType(dictId).then(response => { - this.queryParams.dictType = response.data.dictType; - this.defaultDictType = response.data.dictType; - this.getList(); - }); + name: 'Data', + dicts: ['sys_normal_disable'], + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 瀛楀吀琛ㄦ牸鏁版嵁 + dataList: [], + // 榛樿瀛楀吀绫诲瀷 + defaultDictType: '', + // 寮瑰嚭灞傛爣棰� + title: '', + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏁版嵁鏍囩鍥炴樉鏍峰紡 + listClassOptions: [ + { + value: 'default', + label: '榛樿', + }, + { + value: 'primary', + label: '涓昏', + }, + { + value: 'success', + label: '鎴愬姛', + }, + { + value: 'info', + label: '淇℃伅', + }, + { + value: 'warning', + label: '璀﹀憡', + }, + { + value: 'danger', + label: '鍗遍櫓', + }, + ], + // 绫诲瀷鏁版嵁瀛楀吀 + typeOptions: [], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + dictName: undefined, + dictType: undefined, + status: undefined, + }, + // 琛ㄥ崟鍙傛暟 + form: {}, + // 琛ㄥ崟鏍¢獙 + rules: { + dictLabel: [{ required: true, message: '鏁版嵁鏍囩涓嶈兘涓虹┖', trigger: 'blur' }], + dictValue: [{ required: true, message: '鏁版嵁閿�间笉鑳戒负绌�', trigger: 'blur' }], + dictSort: [{ required: true, message: '鏁版嵁椤哄簭涓嶈兘涓虹┖', trigger: 'blur' }], + }, + }; }, - /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ - getTypeList() { - getDictOptionselect().then(response => { - this.typeOptions = response.data; - }); + created() { + this.getType('optionselect'); + this.getTypeList(); }, - /** 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 */ - getList() { - this.loading = true; - listData(this.queryParams).then(response => { - this.dataList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - dictCode: undefined, - dictLabel: undefined, - dictValue: undefined, - cssClass: undefined, - listClass: 'default', - dictSort: 0, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 杩斿洖鎸夐挳鎿嶄綔 */ - handleClose() { - const obj = { path: "/system/dict" }; - this.$tab.closeOpenPage(obj); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.queryParams.dictType = this.defaultDictType; - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞瀛楀吀鏁版嵁"; - this.form.dictType = this.queryParams.dictType; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.dictCode) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const dictCode = row.dictCode || this.ids - getData(dictCode).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼瀛楀吀鏁版嵁"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.dictCode != undefined) { - updateData(this.form).then(response => { - this.$store.dispatch('dict/removeDict', this.queryParams.dictType); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); + methods: { + /** 鏌ヨ瀛楀吀绫诲瀷璇︾粏 */ + getType(dictId) { + getType(dictId).then((response) => { + this.queryParams.dictType = response.data.dictType; + this.defaultDictType = response.data.dictType; + this.getList(); }); - } else { - addData(this.form).then(response => { - this.$store.dispatch('dict/removeDict', this.queryParams.dictType); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); + }, + /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ + getTypeList() { + getDictOptionselect().then((response) => { + this.typeOptions = response.data; }); - } - } - }); + }, + /** 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 */ + getList() { + this.loading = true; + listData(this.queryParams).then((response) => { + this.dataList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + dictCode: undefined, + dictLabel: undefined, + dictValue: undefined, + cssClass: undefined, + listClass: 'default', + dictSort: 0, + status: '0', + remark: undefined, + }; + this.resetForm('form'); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 杩斿洖鎸夐挳鎿嶄綔 */ + handleClose() { + const obj = { path: '/system/dict' }; + this.$tab.closeOpenPage(obj); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.resetForm('queryForm'); + this.queryParams.dictType = this.defaultDictType; + this.handleQuery(); + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = '娣诲姞瀛楀吀鏁版嵁'; + this.form.dictType = this.queryParams.dictType; + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.dictCode); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.reset(); + const dictCode = row.dictCode || this.ids; + getData(dictCode).then((response) => { + this.form = response.data; + this.open = true; + this.title = '淇敼瀛楀吀鏁版嵁'; + }); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm: function () { + this.$refs['form'].validate((valid) => { + if (valid) { + if (this.form.dictCode != undefined) { + updateData(this.form).then((response) => { + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + this.$modal.msgSuccess('淇敼鎴愬姛'); + this.open = false; + this.getList(); + }); + } else { + addData(this.form).then((response) => { + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + this.$modal.msgSuccess('鏂板鎴愬姛'); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const dictCodes = row.dictCode || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」锛�') + .then(function () { + return delData(dictCodes); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess('鍒犻櫎鎴愬姛'); + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + }) + .catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download( + 'system/dict/data/export', + { + ...this.queryParams, + }, + `data_${new Date().getTime()}.xlsx` + ); + }, }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const dictCodes = row.dictCode || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」锛�').then(function() { - return delData(dictCodes); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - this.$store.dispatch('dict/removeDict', this.queryParams.dictType); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/dict/data/export', { - ...this.queryParams - }, `data_${new Date().getTime()}.xlsx`) - } - } }; -</script> \ No newline at end of file +</script> diff --git a/vue.config.js b/vue.config.js index 0bb32f5..38204b0 100644 --- a/vue.config.js +++ b/vue.config.js @@ -6,11 +6,12 @@ } const CompressionPlugin = require('compression-webpack-plugin'); +const { log } = require('console'); const name = process.env.VUE_APP_TITLE || '娉扮憺宸ヤ笟鏁板瓧瀛敓绠$悊骞冲彴'; // 缃戦〉鏍囬 const port = process.env.port || process.env.npm_config_port || 80; // 绔彛 - +console.log( "123",process.env.VUE_APP_SERVER_API_URL); // vue.config.js 閰嶇疆璇存槑 //瀹樻柟vue.config.js 鍙傝�冩枃妗� https://cli.vuejs.org/zh/config/#css-loaderoptions // 杩欓噷鍙垪涓�閮ㄥ垎锛屽叿浣撻厤缃弬鑰冩枃妗� -- Gitblit v1.9.3