| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | * @Date: 2025-08-10 14:23:00 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-08-10 14:48:40 |
| | | * @FilePath: /mdmweb/src/views/flow/donelist.vue |
| | | --> |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" v-model="form" ref="crud" |
| | | @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange" |
| | | @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" > |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | <script> |
| | | import { getList} from '@/api/flow/todolist'; |
| | | import { mapGetters } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | option: { |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | columnBtn: false, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | dialogWidth: '60%', |
| | | border: true, |
| | | index: true, |
| | | selection: false, |
| | | // viewBtn: true, |
| | | menuWidth: 100, |
| | | column: [ |
| | | { |
| | | label: 'å
³é®å', |
| | | prop: 'keyword', |
| | | width: 300, |
| | | search: true, |
| | | searchType: 'input', |
| | | hide: true, |
| | | dicData: [ |
| | | { |
| | | label: 'æ¶å¯ç½ç¨åº', |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: 'å·¥æ§ç½è½¦åºç¨åº', |
| | | value: 2, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: 'æ é¢', |
| | | prop: '', |
| | | width: 100, |
| | | render: ({ row }) => { |
| | | return h('p', |
| | | { |
| | | attrs: {}, |
| | | class: {}, |
| | | style: {}, |
| | | }, row?.variables?.title) |
| | | } |
| | | }, |
| | | { |
| | | label: 'æµç¨åç§°', |
| | | prop: 'processDefinitionName', |
| | | width: 100, |
| | | },/* |
| | | { |
| | | label: 'æµç¨ç±»å', |
| | | width: 100, |
| | | prop: 'categoryName', |
| | | },*/ |
| | | |
| | | { |
| | | label: 'æºåº', |
| | | width: 100, |
| | | prop: '', |
| | | formatter: (val, value, label) => { |
| | | return `${val?.variables?.machineCode}`; |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å建人', |
| | | width: 100, |
| | | prop: 'startUserName', |
| | | }, |
| | | { |
| | | label: 'å建æ¶é´', |
| | | width: 200, |
| | | prop: 'processCreateTime', |
| | | type: 'datetime', |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | search: true, |
| | | searchRange: true, |
| | | searchSpan: 8, |
| | | // hide: true, |
| | | }, |
| | | { |
| | | label: 'ä¸ä¸æ¥ç¨æ·', |
| | | width: 200, |
| | | prop: '', |
| | | formatter: (val, value, label) => { |
| | | return `${val?.variables?.approveUserNickName || ''}`; |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å½åèç¹', |
| | | width: 200, |
| | | prop: 'taskName', |
| | | }, |
| | | { |
| | | label: 'æä»¶', |
| | | width: 200, |
| | | prop: 'file', |
| | | }, |
| | | { |
| | | label: 'å°è¾¾æ¶é´', |
| | | width: 200, |
| | | prop: 'createTime', |
| | | }, |
| | | { |
| | | label: 'å°è¾¾æè¿°', |
| | | width: 200, |
| | | prop: 'comment', |
| | | }, |
| | | |
| | | ], |
| | | }, |
| | | page: { |
| | | page: 1, |
| | | size: 10, |
| | | total: 0, |
| | | }, |
| | | form: {}, |
| | | data: [], |
| | | } |
| | | }, |
| | | methods: { |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | }, |
| | | searchChange(params, done) { |
| | | let data = {} |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | console.log('searchChange', params); |
| | | params.createTimeBegin = params?.processCreateTime?.[0] || ''; |
| | | params.createTimeEnd = params?.processCreateTime?.[1] || ''; |
| | | console.log(params); |
| | | // data = { |
| | | // createTimeBegin: dayjs(params.createTimeBegin).isValid() ? dayjs(params.createTimeBegin).format('YYYY-MM-DD') : '', |
| | | // createTimeEnd: dayjs(params.createTimeEnd).isValid() ? dayjs(params.createTimeEnd).format('YYYY-MM-DD') : '', |
| | | // keyword: params.keyword || '' |
| | | // } |
| | | data = { |
| | | createTimeBegin: params.createTimeBegin, |
| | | createTimeEnd: params.createTimeEnd, |
| | | keyword: params.keyword || '' |
| | | } |
| | | this.query = data |
| | | this.onLoad(this.page, data); |
| | | done(); |
| | | }, |
| | | searchReset () { |
| | | this.loading = true; |
| | | this.form = {}; |
| | | this.getList(); |
| | | }, |
| | | sizeChange() { |
| | | this.loading = true; |
| | | this.getList(); |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | const query = { |
| | | ...this.query, |
| | | // category: params.category ? flowCategory(params.category) : null, |
| | | }; |
| | | try { |
| | | delete query.processCreateTime; // å é¤ä¸å¿
è¦çæ¥è¯¢æ¡ä»¶ |
| | | } catch (error) { |
| | | console.error('æ¥ææ ¼å¼åé误', error); |
| | | } |
| | | |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(query, params)).then(res => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <!-- |
| | | * @Date: 2025-08-10 14:14:58 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-08-10 14:18:38 |
| | | * @LastEditTime: 2025-08-10 14:32:11 |
| | | * @FilePath: /mdmweb/src/views/flow/todoindex.vue |
| | | --> |
| | | <template> |
| | |
| | | <todolist></todolist> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="å·²å" name="done"> |
| | | |
| | | <donelist> </donelist> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </basic-container> |
| | | </template> |
| | | <script> |
| | | import todolist from './todolist.vue'; |
| | | import donelist from './donelist.vue'; |
| | | export default { |
| | | components: { |
| | | todolist, |
| | | donelist |
| | | }, |
| | | data() { |
| | | return { |