lzhe
2024-03-24 32ea29da90ecadc27a875926fc77f7c54f3c24f9
Merge branch 'master' of https://gitee.com/gaosp123/cps-web
已添加1个文件
已修改4个文件
247 ■■■■ 文件已修改
.env.production 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/model/basicdata.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/config/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicdata/machine/workstation.vue 209 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.production
@@ -1,8 +1,15 @@
###
 # @Date: 2024-03-23 09:49:06
 # @LastEditors: gaoshp
 # @LastEditTime: 2024-03-24 14:11:48
 # @FilePath: /cps-web/.env.production
###
# ç”Ÿäº§çŽ¯å¢ƒ
NODE_ENV = production
# æ ‡é¢˜
VUE_APP_TITLE = SCUI
VUE_APP_TITLE = CPS10.0
# æŽ¥å£åœ°å€
VUE_APP_API_BASEURL = https://mock.apifox.com/m1/4021385-0-default/api
VUE_APP_API_BASEURL = http://116.63.155.153:83
VUE_APP_API_MYBASEURL = http://116.63.155.153:83
src/api/model/basicdata.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 * @Date: 2024-03-24 11:37:47
 * @LastEditors: gaoshp
 * @LastEditTime: 2024-03-24 14:30:13
 * @FilePath: /cps-web/src/api/model/basicdata.js
 */
import config from "@/config"
import http from "@/utils/request"
export default {
    getWorkstationGroup: {
        url: `${config.API_URL}/blade-cps/group/list?groupType=group_workstation&groupCategory=1`,
        name: "获取工位组树",
        get: async function(params){
            return await http.get(this.url, params);
        }
    },
}
src/config/index.js
@@ -18,10 +18,10 @@
    TIMEOUT: 10000,
    //TokenName
    TOKEN_NAME: "Authorization",
    TOKEN_NAME: "Blade-Auth",
    //Token前缀,注意最后有个空格,如不需要需设置空字符串
    TOKEN_PREFIX: "Bearer ",
    TOKEN_PREFIX: "",
    //追加其他头
    HEADERS: {},
src/utils/request.js
@@ -12,12 +12,13 @@
axios.interceptors.request.use(
    (config) => {
        let token = tool.cookie.get("TOKEN");
        config.headers['Authorization'] = 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'
        if(token){
            config.headers[sysConfig.TOKEN_NAME] = sysConfig.TOKEN_PREFIX + token
        }
        if(!sysConfig.REQUEST_CACHE && config.method == 'get'){
            config.params = config.params || {};
            config.params['_'] = new Date().getTime();
            // config.params['_'] = new Date().getTime();
        }
        Object.assign(config.headers, sysConfig.HEADERS)
        return config;
@@ -144,7 +145,7 @@
            axios({
                method: 'post',
                url: url,
                headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8','Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'},
                headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
                data: qsStringify(data),
                ...config
            }).then((response) => {
src/views/basicdata/machine/workstation.vue
@@ -1,78 +1,78 @@
<template>
    <el-main>
        <el-card shadow="never">
            <el-tabs tab-position="top" class="custom-tabs">
                <el-tab-pane label="工位">
            <el-tabs tab-position="top" class="custom-tabs" v-model="activeName">
                <el-tab-pane label="工位" name="1">
                    <el-container>
            <el-aside width="200px" v-loading="showGrouploading">
                <el-container>
                    <el-header>
                        <el-input placeholder="输入关键字进行过滤" v-model="groupFilterText" clearable></el-input>
                    </el-header>
                    <el-main class="nopadding">
                        <el-tree ref="group" class="menu" node-key="id" :data="group" :current-node-key="''"
                            :highlight-current="true" :expand-on-click-node="false"
                            :filter-node-method="groupFilterNode" @node-click="groupClick"></el-tree>
                    </el-main>
                </el-container>
            </el-aside>
            <el-container>
                <el-header>
                    <div class="left-panel">
                        <el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
                        <el-button type="danger" plain icon="el-icon-delete" :disabled="selection.length == 0"
                            @click="batch_del"></el-button>
                        <el-button type="primary" plain :disabled="selection.length == 0">分配角色</el-button>
                        <el-button type="primary" plain :disabled="selection.length == 0">密码重置</el-button>
                    </div>
                    <div class="right-panel">
                        <div class="right-panel-search">
                            <el-input v-model="search.name" placeholder="登录账号 / å§“名" clearable></el-input>
                            <el-button type="primary" icon="el-icon-search" @click="upsearch"></el-button>
                        </div>
                    </div>
                </el-header>
                <el-main class="nopadding">
                    <scTable ref="table" :apiObj="apiObj" @selection-change="selectionChange" stripe remoteSort
                        remoteFilter>
                        <el-table-column type="selection" width="50"></el-table-column>
                        <el-table-column label="ID" prop="id" width="80" sortable='custom'></el-table-column>
                        <el-table-column label="头像" width="80" column-key="filterAvatar"
                            :filters="[{ text: '已上传', value: '1' }, { text: '未上传', value: '0' }]">
                            <template #default="scope">
                                <el-avatar :src="scope.row.avatar" size="small"></el-avatar>
                            </template>
                        </el-table-column>
                        <el-table-column label="登录账号" prop="userName" width="150" sortable='custom'
                            column-key="filterUserName"
                            :filters="[{ text: '系统账号', value: '1' }, { text: '普通账号', value: '0' }]"></el-table-column>
                        <el-table-column label="姓名" prop="name" width="150" sortable='custom'></el-table-column>
                        <el-table-column label="所属角色" prop="groupName" width="200" sortable='custom'></el-table-column>
                        <el-table-column label="加入时间" prop="date" width="170" sortable='custom'></el-table-column>
                        <el-table-column label="操作" fixed="right" align="right" width="160">
                            <template #default="scope">
                                <el-button-group>
                                    <el-button text type="primary" size="small"
                                        @click="table_show(scope.row, scope.$index)">查看</el-button>
                                    <el-button text type="primary" size="small"
                                        @click="table_edit(scope.row, scope.$index)">编辑</el-button>
                                    <el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
                                        <template #reference>
                                            <el-button text type="primary" size="small">删除</el-button>
                        <el-aside width="200px" v-loading="showGrouploading">
                            <el-container>
                                <el-main class="nopadding">
                                    <el-tree ref="group" class="menu" node-key="id" :data="group" :current-node-key="''"
                                        :highlight-current="true" :expand-on-click-node="false"
                                        :default-expanded-keys="[1]" :filter-node-method="groupFilterNode"
                                        @node-click="groupClick"></el-tree>
                                </el-main>
                            </el-container>
                        </el-aside>
                        <el-container>
                            <el-header>
                                <div class="left-panel">
                                    <el-button type="primary" icon="el-icon-plus"></el-button>
                                    <el-button type="danger" plain icon="el-icon-delete"></el-button>
                                    <el-button type="primary" plain>导入</el-button>
                                    <el-button type="primary" plain>批量操作</el-button>
                                </div>
                                <div class="right-panel">
                                    <div class="right-panel-search">
                                        <el-select v-model="value" placeholder="Select" style="width: 240px">
                                            <el-option v-for="item in options" :key="item.value" :label="item.label"
                                                :value="item.value" />
                                        </el-select>
                                        <el-select v-model="value" placeholder="Select" style="width: 240px">
                                            <el-option v-for="item in options" :key="item.value" :label="item.label"
                                                :value="item.value" />
                                        </el-select>
                                        <el-input style="width: 240px" placeholder="请输入工位名称/编号" clearable></el-input>
                                        <el-button type="primary" icon="el-icon-search"></el-button>
                                    </div>
                                </div>
                            </el-header>
                            <el-main class="nopadding">
                                <scTable ref="table" :apiObj="apiObj" @selection-change="selectionChange" stripe
                                    remoteSort remoteFilter>
                                    <el-table-column type="selection" width="50"></el-table-column>
                                    <el-table-column label="工位编号" prop="id" width="120"
                                        sortable='custom'></el-table-column>
                                    <el-table-column label="工位名称" prop="id" width="120"
                                        sortable='custom'></el-table-column>
                                    <el-table-column label="工位类型" prop="id" width="120"
                                        sortable='custom'></el-table-column>
                                    <el-table-column label="工位日历" prop="id" width="120"
                                        sortable='custom'></el-table-column>
                                    <el-table-column label="操作" fixed="right" align="right" width="160">
                                        <template #default="scope">
                                            <el-button-group>
                                                <el-button text type="primary" size="small"
                                                    @click="table_show(scope.row, scope.$index)">查看</el-button>
                                                <el-button text type="primary" size="small"
                                                    @click="table_edit(scope.row, scope.$index)">编辑</el-button>
                                                <el-popconfirm title="确定删除吗?"
                                                    @confirm="table_del(scope.row, scope.$index)">
                                                    <template #reference>
                                                        <el-button text type="primary" size="small">删除</el-button>
                                                    </template>
                                                </el-popconfirm>
                                            </el-button-group>
                                        </template>
                                    </el-popconfirm>
                                </el-button-group>
                            </template>
                        </el-table-column>
                                    </el-table-column>
                    </scTable>
                </el-main>
            </el-container>
        </el-container>
                                </scTable>
                            </el-main>
                        </el-container>
                    </el-container>
                </el-tab-pane>
                <el-tab-pane label="工位组">
                <el-tab-pane label="工位组" name="2">
                </el-tab-pane>
@@ -86,47 +86,43 @@
    name: 'system',
    data() {
        return {
            sys: {
                name: "SCUI",
                logoUrl: "",
                login: true,
                passwordRules: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$",
                copyright: "@SCUI"
            },
            msg: {
                open: true,
                appKey: "",
                secretKey: ""
            },
            setting: [
                {
                    key: "file_serve",
                    value: "https://file.scui.com",
                    category: "url",
                    title: "文件服务器地址"
                },
                {
                    key: "cloud_url",
                    value: "-",
                    category: "url",
                    title: "客户端地址"
                },
                {
                    key: "crm_url",
                    value: "-",
                    category: "url",
                    title: "CRM地址"
                },
                {
                    key: "autoSwitch",
                    value: true,
                    category: "user",
                    title: "自动判断boolean类型"
                }
            ]
            activeName: '1',
            group: [],
            groupFilterText: ''
        }
    },
    created() {
        this.$API.basicdata.getWorkstationGroup.get().then(res => {
            if (res.code == 200) {
                let data = this.formatData(res.data)
                this.group = data
            }
        })
    },
    methods: {
        formatData(data, current) {
            let newData = []
            if (!current) {
                newData = data.filter(item => item.parentId == 0).map(v => {
                    v.children = this.formatData(data, v)
                    return v
                })
            } else {
                let res = data.filter(v => v.parentId === current.id)
                res = res.map(item => {
                    item.children = this.formatData(data, item)
                    return item
                })
                return res
            }
            return newData
        },
        groupFilterNode() {
        },
        groupClick() {
        },
        table_add() {
            var newRow = {
                key: "",
@@ -150,5 +146,4 @@
}
</script>
<style>
</style>
<style></style>