| | |
| | | "@element-plus/icons-vue": "2.0.10", |
| | | "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", |
| | | "@tinymce/tinymce-vue": "5.0.0", |
| | | "avue-plugin-ueditor": "^1.0.3", |
| | | "axios": "1.3.4", |
| | | "codemirror": "5.65.5", |
| | | "core-js": "3.29.0", |
| | |
| | | import store from './store' |
| | | import App from './App.vue' |
| | | import { setupCalendar } from 'v-calendar'; |
| | | import AvueUeditor from 'avue-plugin-ueditor' |
| | | |
| | | const app = createApp(App); |
| | | |
| | | app.use(AvueUeditor); |
| | | app.use(setupCalendar, {}) |
| | | app.use(store); |
| | | app.use(router); |
| | |
| | | } |
| | | this.$HTTP.post("/api/blade-cps/group/groupWorkstation/type",obj).then(res=> { |
| | | if(res.code == 200) { |
| | | if (res.code == 200) { |
| | | var treeDisabled = this.addTreeDisable(res.data); |
| | | this.tableData = this.buildTree(treeDisabled); //仿平åå为æ ç¶ç»æ |
| | | this.$nextTick(()=> { |
| | | this.lastLevelId = this.getLastLevelIds(this.tableData).lastLevelId; |
| | | this.$refs.treeRef.setCurrentKey(this.lastLevelId); //第ä¸ä¸ªèç¹ç第ä¸ä¸ªåèç¹æåä¸çº§é»è®¤éä¸ |
| | | this.getlist(); //渲æåé¦å表 |
| | | }) |
| | | |
| | | } |
| | | var treeDisabled = this.addTreeDisable(res.data); |
| | | this.tableData = this.buildTree(treeDisabled); //仿平åå为æ ç¶ç»æ |
| | | this.$nextTick(()=> { |
| | | this.lastLevelId = this.getLastLevelIds(this.tableData).lastLevelId; |
| | | this.$refs.treeRef.setCurrentKey(this.lastLevelId); //第ä¸ä¸ªèç¹ç第ä¸ä¸ªåèç¹æåä¸çº§é»è®¤éä¸ |
| | | this.getlist(); //渲æåé¦å表 |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | * @Author: lzhe lzhe@example.com |
| | | * @Date: 2024-03-26 10:28:33 |
| | | * @LastEditors: lzhe lzhe@example.com |
| | | * @LastEditTime: 2024-04-19 18:18:19 |
| | | * @FilePath: /smart-web/src/views/master/person/main/index.vue |
| | | * @Description: è¿æ¯é»è®¤è®¾ç½®,请设置`customMade`, æå¼koroFileHeaderæ¥çé
ç½® è¿è¡è®¾ç½®: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | --> |
| | | <template> |
| | | <div class="aposcope-main"> |
| | | <div class="aposcope-left"> |
| | | <div class="left-title">ä¸å¡å表</div> |
| | | <el-tree :data="tableData" node-key="id" default-expand-all :expand-on-click-node="false" :props="defalutProps" @node-click="handleNodeClick" ref="treeRef" highlight-current> |
| | | <template #default="{ node, data }"> |
| | | <span>{{ node.label }}( {{ data.startCount }} )</span> |
| | | </template> |
| | | </el-tree> |
| | | </div> |
| | | <div class="aposcope-right"> |
| | | <div class="right-top"> |
| | | ä¸å¡æè¿°ï¼- |
| | | </div> |
| | | <div class="right-content"> |
| | | <div class="content-title"> |
| | | <span class="ct-span">éç¥æ¹å¼</span> |
| | | <el-icon><Setting /></el-icon> |
| | | </div> |
| | | <el-row class="template-content-box"> |
| | | <el-col :span="8" v-for="item in contentData"> |
| | | <el-checkbox v-model="checked1" label="éæ©" size="large" /> |
| | | <div class="box-top"> |
| | | <div>{{item.notifyName}}</div> |
| | | <div>{{item.notifyTemplateName}}</div> |
| | | <div> |
| | | <span><el-icon><EditPen /></el-icon>ç¼è¾</span> |
| | | <span><el-icon><Delete /></el-icon>å é¤</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="content-title"> |
| | | <span class="ct-span">é»è®¤å¯¹è±¡</span> |
| | | </div> |
| | | <div class="template-content-box"> |
| | | <el-radio-group v-model="radio1"> |
| | | <el-radio :label="1">é¨é¨</el-radio> |
| | | <el-radio :label="2">åå·¥</el-radio> |
| | | </el-radio-group> |
| | | <div class="content"> |
| | | <el-button type="primary" plain>ç¹å»æ·»å +</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- <save-dialog v-if="dialog.save" ref="saveDialog" :feedBackStatusList="feedBackStatusList" :workstationId="lastLevelId" @success="addfeedbackSuccess" @closed="dialog.save=false"></save-dialog> --> |
| | | </template> |
| | | <script> |
| | | import * as ElementPlusIconsVue from '@element-plus/icons-vue' |
| | | let icons = [] |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | | icons.push(key) |
| | | } |
| | | // import saveDialog from './add-feedback' |
| | | export default { |
| | | name: "business", |
| | | data(){ |
| | | return { |
| | | radio1: 1, |
| | | checked1: true, |
| | | tableData: [], |
| | | contentData: [], |
| | | dialog: { |
| | | save: false |
| | | }, |
| | | defalutProps: { |
| | | label: 'label', |
| | | children: 'children', |
| | | isLeaf: 'hasChildren', |
| | | disabled: 'disabled' |
| | | }, |
| | | lastLevelId: "", |
| | | current: "1", |
| | | size: "15", |
| | | } |
| | | }, |
| | | created(){ |
| | | |
| | | }, |
| | | mounted(){ |
| | | this.getTreeList(); |
| | | this.getbusiness(); |
| | | }, |
| | | components: { |
| | | ...ElementPlusIconsVue |
| | | //saveDialog |
| | | }, |
| | | methods: { |
| | | getbusiness() { |
| | | this.$HTTP.get("/api/blade-notify/business-notify?businessKey=maintenance").then(res=> { |
| | | if(res.code == 200) { |
| | | this.contentData = res.data.businessNotifyDTOList; |
| | | } |
| | | }) |
| | | }, |
| | | handleNodeClick(data) { |
| | | if(data.code) { |
| | | this.lastLevelId = data.id; |
| | | // this.$HTTP.post("/api/blade-cps/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> { |
| | | // if(res.code == 200) { |
| | | // this.searchDataList = res.data.records; |
| | | // } |
| | | // }) |
| | | } |
| | | }, |
| | | getTreeList() { |
| | | this.$HTTP.get("/api/blade-notify/business-notify/tree").then(res=> { |
| | | if(res.code == 200) { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData,123) |
| | | } |
| | | }) |
| | | }, |
| | | // table_del(row) { |
| | | // this.$confirm(`ç¡®å®å°éæ©æ°æ®å é¤?`, '', { |
| | | // type: 'warning' |
| | | // }).then(() => { |
| | | // var arr = [row.id] |
| | | // this.$HTTP.delete("/api/blade-cps/workstation-wcs-feedback",arr).then(res=> { |
| | | // if(res.code == 200) { |
| | | // this.$message.success("æä½æå"); |
| | | // this.getlist(); |
| | | // } |
| | | // }) |
| | | // }).catch(() => { |
| | | |
| | | // }) |
| | | // }, |
| | | addfeedbackSuccess() { |
| | | //this.getlist(); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .aposcope-main { |
| | | display: flex; |
| | | min-height: 100%; |
| | | margin: 8px; |
| | | } |
| | | .aposcope-left { |
| | | width: 240px; |
| | | margin-right: 8px; |
| | | padding: 4px; |
| | | background-color: #fff; |
| | | } |
| | | .aposcope-right { |
| | | flex: 1; |
| | | padding: 8px; |
| | | background-color: #fff; |
| | | } |
| | | .left-title { |
| | | font-size: 16px; |
| | | text-align: center; |
| | | height: 38px; |
| | | line-height: 38px; |
| | | border-bottom: 1px solid #e2e2e2; |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | border-radius: 2px 2px 0 0; |
| | | } |
| | | .right-content { |
| | | text-align: centefter; |
| | | } |
| | | .right-top { |
| | | width: 100%; |
| | | padding: 8px 16px; |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | font-size: 13px; |
| | | line-height: 18px; |
| | | } |
| | | .content-title { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin: 24px 0 0 0; |
| | | padding: 0 20px 0 10px; |
| | | border-left: 6px solid #3b8e8e; |
| | | } |
| | | .ct-span { |
| | | color: #101010; |
| | | font-size: 13px; |
| | | font-weight: 700; |
| | | } |
| | | .content-title i { |
| | | font-size: 20px; |
| | | color: #409eff; |
| | | cursor: pointer; |
| | | } |
| | | .template-content-box { |
| | | padding: 12px 0px 24px 20px; |
| | | } |
| | | .box-top { |
| | | height: 117px; |
| | | border-radius: 2px; |
| | | background: #fff; |
| | | margin-right: 20px; |
| | | box-shadow: 0 1px 3px rgba(0,0,0,.16); |
| | | } |
| | | .content { |
| | | padding: 10px; |
| | | border: 1px solid #409eff; |
| | | width: 500px; |
| | | height: 200px; |
| | | overflow: auto; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-dialog :title="titleMap[mode]" v-model="visible" :width="1000" destroy-on-close @closed="$emit('closed')"> |
| | | <el-form :model="addNoteForm" :rules="addNoteRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label=" å
¬åæ é¢" prop="title"> |
| | | <el-input v-model="addNoteForm.title" placeholder="åå
¸ç¼å·" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="å
¬åç±»å" prop="category"> |
| | | <el-select v-model="addNoteForm.category" style="width: 100%" @change="searchChange"> |
| | | <el-option v-for="item in categoryList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="å
¬åå
容" prop="content"> |
| | | <avue-ueditor v-model="addNoteForm.content" v-bind="options"></avue-ueditor> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <el-button @click="visible=false" >å æ¶</el-button> |
| | | <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="noteSubmit">ä¿ å</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | emits: ['success', 'closed'], |
| | | data() { |
| | | return { |
| | | options: { |
| | | //æ®éä¸ä¼ å°å |
| | | action: "/api/blade-resource/oss/endpoint/put-file", |
| | | customConfig: {},//wangEditorç¼è¾çé
ç½® |
| | | headers:{Authorization: "Basic c2FiZXI6c2FiZXJfc2VjcmV0"}, |
| | | data:{}, |
| | | propsHttp: { |
| | | home:'', |
| | | url:'url', |
| | | res: 'data' |
| | | }, |
| | | }, |
| | | categoryList: [], |
| | | value1: true, |
| | | mode: "add", |
| | | titleMap: { |
| | | add: 'æ°å»º', |
| | | edit: 'ä¿®æ¹', |
| | | show: 'æ¥ç' |
| | | }, |
| | | visible: false, |
| | | isSaveing: false, |
| | | //è¡¨åæ°æ® |
| | | addNoteForm: { |
| | | title: "", |
| | | }, |
| | | //éªè¯è§å |
| | | addNoteRules: { |
| | | title:[{required: true, message: '请è¾å
¥å
¬åæ é¢'}], |
| | | category:[{required: true, message: 'è¯·éæ©å
¬åç±»å',trigger: 'change'}], |
| | | sort:[{required: true, message: '请è¾å
¥åå
¸æåº'}] |
| | | }, |
| | | //æéæ°æ®é项 |
| | | groups: [], |
| | | groupsProps: { |
| | | value: "id", |
| | | multiple: true, |
| | | checkStrictly: true |
| | | }, |
| | | depts: [], |
| | | deptsProps: { |
| | | value: "id", |
| | | checkStrictly: true |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | }, |
| | | methods: { |
| | | //æ¾ç¤º |
| | | open(mode='add',categoryList){ |
| | | this.mode = mode; |
| | | this.visible = true; |
| | | this.categoryList = categoryList; |
| | | return this |
| | | }, |
| | | //表åæäº¤æ¹æ³ |
| | | noteSubmit(){ |
| | | var obj = Object.assign({},this.addNoteForm); |
| | | this.$refs.dialogForm.validate(async (valid) => { |
| | | if (valid) { |
| | | this.isSaveing = true; |
| | | if(this.mode == "edit") { |
| | | var url = "/api/blade-notify/notice/update"; |
| | | }else { |
| | | var url = "/api/blade-notify/notice/save"; |
| | | } |
| | | this.$HTTP.post(url,obj).then(res=> { |
| | | this.isSaveing = false; |
| | | if(res.code == 200) { |
| | | this.$emit('success', this.addNoteForm, this.mode); |
| | | this.visible = false; |
| | | this.$message.success("æä½æå"); |
| | | }else { |
| | | this.$alert(res.message, "æç¤º", {type: 'error'}); |
| | | } |
| | | }) |
| | | }else{ |
| | | return false; |
| | | } |
| | | }) |
| | | }, |
| | | //è¡¨åæ³¨å
¥æ°æ® |
| | | setData(data){ |
| | | //å¯ä»¥åä¸é¢ä¸æ ·å个注å
¥ï¼ä¹å¯ä»¥åä¸é¢ä¸æ ·ç´æ¥åå¹¶è¿å» |
| | | this.$HTTP.get(`/api/blade-notify/notice/detail?id=${data.id}`).then(res=> { |
| | | if(res.code == 200) { |
| | | res.data.category = String(res.data.category); |
| | | Object.assign(this.addNoteForm, res.data); |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | |
| | | <el-table-column prop="updateTime" label="å
¬åæ¶é´"></el-table-column> |
| | | <el-table-column fixed="right" label="æä½"> |
| | | <template #default="scope"> |
| | | <el-button type="text" size="small" @click="table_edit(scope.row, scope.$index)">æ¥ç</el-button> |
| | | <el-button type="text" size="small" @click="table_show(scope.row, scope.$index)">æ¥ç</el-button> |
| | | <el-button type="text" size="small" @click="table_edit(scope.row, scope.$index)">ç¼è¾</el-button> |
| | | <el-button type="text" size="small" @click="table_del(scope.row, scope.$index)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- <save-dialog v-if="dialog.save" ref="saveDialog" @success="addUserSuccess" @closed="dialog.save=false"></save-dialog> --> |
| | | <save-dialog v-if="dialog.save" ref="saveDialog" @success="addUserSuccess" @closed="dialog.save=false"></save-dialog> |
| | | </template> |
| | | <script> |
| | | // import saveDialog from './addUser' |
| | | import saveDialog from './addNote' |
| | | export default { |
| | | name: "bakalaka", |
| | | data(){ |
| | |
| | | this.getcategoryList(); |
| | | }, |
| | | components: { |
| | | //saveDialog |
| | | saveDialog |
| | | }, |
| | | methods: { |
| | | searchChange() { |
| | |
| | | }) |
| | | }, |
| | | addUserSuccess() { |
| | | |
| | | this.getData(); |
| | | }, |
| | | getData() { |
| | | var obj = {}; |
| | |
| | | } |
| | | }) |
| | | }, |
| | | //å é¤ |
| | | table_del(row) { |
| | | var that = this; |
| | | this.$confirm(`ç¡®å®å°éæ©æ°æ®å é¤?`, '', { |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$HTTP.post("/api/blade-notify/notice/remove?ids="+row.id).then(res=> { |
| | | if(res.code == 200) { |
| | | that.$message.success("æä½æå"); |
| | | that.getData(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | //æ·»å |
| | | addPerson(){ |
| | | this.dialog.save = true |
| | | this.$nextTick(() => { |
| | | this.$refs.saveDialog.open() |
| | | this.$refs.saveDialog.open('add',this.categoryList); |
| | | }) |
| | | }, |
| | | table_edit(row){ |
| | | this.dialog.save = true |
| | | this.$nextTick(() => { |
| | | this.$refs.saveDialog.open('edit').setData(row) |
| | | this.$refs.saveDialog.open('edit',this.categoryList).setData(row) |
| | | }) |
| | | }, |
| | | //æ¥ç |
| | | table_show(row){ |
| | | this.dialog.save = true |
| | | this.$nextTick(() => { |
| | | this.$refs.saveDialog.open('show').setData(row) |
| | | this.$refs.saveDialog.open('show',this.categoryList).setData(row) |
| | | }) |
| | | }, |
| | | handleSelectionChange(selection) { |