From d088628a4b421e7e0a8363b8b75529d8b2ecfe89 Mon Sep 17 00:00:00 2001 From: lyh <liuyuanheng@xalxzn.com> Date: 星期一, 24 二月 2025 10:07:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/flowable/test_demo/TestDemoList.vue | 311 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 311 insertions(+), 0 deletions(-) diff --git a/src/views/flowable/test_demo/TestDemoList.vue b/src/views/flowable/test_demo/TestDemoList.vue new file mode 100644 index 0000000..a53ace4 --- /dev/null +++ b/src/views/flowable/test_demo/TestDemoList.vue @@ -0,0 +1,311 @@ +<template> + <a-card :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鐢ㄦ埛鍚�"> + <a-input placeholder="璇疯緭鍏ョ敤鎴峰悕" v-model="queryParam.name"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鎬у埆"> + <j-dict-select-tag placeholder="璇烽�夋嫨鎬у埆" v-model="queryParam.sex" dictCode="sex"/> + </a-form-item> + </a-col> + <template v-if="toggleSearchStatus"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鐢熸棩"> + <j-date placeholder="璇烽�夋嫨鐢熸棩" v-model="queryParam.birthday"></j-date> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鐢ㄦ埛缂栫爜"> + <a-input placeholder="璇疯緭鍏ョ敤鎴风紪鐮�" v-model="queryParam.userCode"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鍩庡競"> + <j-area-linkage type="cascader" v-model="queryParam.chegnshi" placeholder="璇烽�夋嫨鐪佸競鍖�"/> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="checkbox"> + <j-dict-select-tag placeholder="璇烽�夋嫨checkbox" v-model="queryParam.ceck" dictCode="sex"/> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="涓嬫媺澶氶��"> + <j-multi-select-tag placeholder="璇烽�夋嫨涓嬫媺澶氶��" dictCode="sex" v-model="queryParam.xiamuti"/> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鎼滅储涓嬫媺"> + <j-search-select-tag placeholder="璇烽�夋嫨鎼滅储涓嬫媺" v-model="queryParam.searchSel" dict="sys_role,role_name,role_code"/> + </a-form-item> + </a-col> + </template> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + <a @click="handleToggleSearch" style="margin-left: 8px"> + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> + </a> + </span> + </a-col> + </a-row> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('娴嬭瘯鐢ㄦ埛琛�')">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import">瀵煎叆</a-button> + </a-upload> + <!-- 楂樼骇鏌ヨ鍖哄煙 --> + <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + </a-dropdown> + </div> + + <!-- table鍖哄煙-begin --> + <div> + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + class="j-table-force-nowrap" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="pcaSlot" slot-scope="text"> + <div>{{ getPcaText(text) }}</div> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + <a-divider type="vertical" ></a-divider> + <a @click="relationAct(record)">鍏宠仈娴佺▼</a> + <act-apply-btn @success="loadData" :data-id="record.id" + :variables="{ assigneeList:[]}"></act-apply-btn> + {{isCanApply(record)}} + <act-handle-btn @success="loadData" :data-id="record.id" :type="3" text="閲嶆柊鎻愪氦"></act-handle-btn> + {{isCanReApply(record)}} + <act-handle-btn @success="loadData" :data-id="record.id" :type="0" text="閫氳繃" + :candidate-users="[{username:'admin',realname:'绠$悊鍛�'},{username:'jeecg',realname:'jeecg璐﹀彿'}]" + ></act-handle-btn> + {{isCanPass(record)}} + <act-handle-btn @success="loadData" :data-id="record.id" :type="1" text="椹冲洖"></act-handle-btn> + {{isCanBacke(record)}} + <act-handle-btn @success="loadData" :data-id="record.id" :type="2" text="閫�鍥�" + @targetKeyChange="targetKeyChange" + :candidate-users="[{username:'admin',realname:'绠$悊鍛�'},{username:'jeecg',realname:'jeecg璐﹀彿'}]" + ></act-handle-btn> + {{isCanBacke(record)}} + <act-cancel-btn @success="loadData" :data-id="record.id"></act-cancel-btn> + {{isCanRecall(record)}} + <act-historic-detail-btn :data-id="record.id"></act-historic-detail-btn> + {{isCanHistoric(record)}} + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="handleDetail(record)">璇︽儏</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + + <test-demo-modal ref="modalForm" @ok="modalFormOk"></test-demo-modal> + </a-card> +</template> + +<script> + + import '@/assets/less/TableExpand.less' + import { mixinDevice } from '@/utils/mixin' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import TestDemoModal from './modules/TestDemoModal' + import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' + import Area from '@/components/_util/Area' + import {getAction} from "@api/manage"; + import ActApplyBtn from "@views/flowable/components/ActApplyBtn"; + import ActCancelBtn from "@views/flowable/components/ActCancelBtn"; + import ActHandleBtn from "@views/flowable/components/ActHandleBtn"; + import ActHistoricDetailBtn from "@views/flowable/components/ActHistoricDetailBtn"; + import {FlowableMixin} from "@views/flowable/mixin/FlowableMixin"; + + export default { + name: 'TestDemoList', + mixins:[JeecgListMixin, mixinDevice,FlowableMixin], + components: { + TestDemoModal, + ActApplyBtn, + ActCancelBtn, + ActHandleBtn, + ActHistoricDetailBtn + }, + data () { + return { + description: '娴嬭瘯鐢ㄦ埛琛ㄧ鐞嗛〉闈�', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title:'鐢ㄦ埛鍚�', + align:"center", + sorter: true, + dataIndex: 'name' + }, + { + title:'鎬у埆', + align:"center", + sorter: true, + dataIndex: 'sex_dictText' + }, + { + title:'骞撮緞', + align:"center", + dataIndex: 'age' + }, + { + title:'娴佺▼鐘舵��', + align:"center", + dataIndex: 'actStatus' + }, + { + title:'寰呭鐞嗚妭鐐�', + align:"center", + dataIndex: 'taskName' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align:"center", + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: "/test_demo/testDemo/list", + delete: "/test_demo/testDemo/delete", + deleteBatch: "/test_demo/testDemo/deleteBatch", + exportXlsUrl: "/test_demo/testDemo/exportXls", + importExcelUrl: "test_demo/testDemo/importExcel", + + }, + dictOptions:{}, + pcaData:'', + superFieldList:[], + } + }, + created() { + this.pcaData = new Area() + this.getSuperFieldList(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + }, + }, + methods: { + getPcaText(code){ + return this.pcaData.getText(code); + }, + initDictConfig(){ + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'id',text:'涓婚敭',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'鐢ㄦ埛鍚�',dictCode:''}) + fieldList.push({type:'string',value:'sex',text:'鎬у埆',dictCode:'sex'}) + fieldList.push({type:'int',value:'age',text:'骞撮緞',dictCode:''}) + fieldList.push({type:'string',value:'descc',text:'鎻忚堪',dictCode:''}) + fieldList.push({type:'date',value:'birthday',text:'鐢熸棩'}) + fieldList.push({type:'string',value:'userCode',text:'鐢ㄦ埛缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'topPic',text:'澶村儚',dictCode:''}) + fieldList.push({type:'string',value:'fileKk',text:'闄勪欢',dictCode:''}) + fieldList.push({type:'pca',value:'chegnshi',text:'鍩庡競'}) + fieldList.push({type:'string',value:'pop',text:'寮圭獥',dictCode:''}) + fieldList.push({type:'string',value:'ceck',text:'checkbox',dictCode:'sex'}) + fieldList.push({type:'list_multi',value:'xiamuti',text:'涓嬫媺澶氶��',dictTable:'', dictText:'', dictCode:'sex'}) + fieldList.push({type:'sel_search',value:'searchSel',text:'鎼滅储涓嬫媺',dictTable:'sys_role', dictText:'role_name', dictCode:'role_code'}) + fieldList.push({type:'sel_search',value:'selTable',text:'涓嬫媺瀛楀吀琛�',dictTable:'sys_user', dictText:'realname', dictCode:'username'}) + this.superFieldList = fieldList + }, + relationAct(r) { + getAction("/test_demo/testDemo/relationAct",{dataId:r.id}).then(res=>{ + if (res.success){ + this.$message.success("鎿嶄綔鎴愬姛") + this.loadData() + } else { + this.$message.error("鎿嶄綔澶辫触") + } + }) + }, + targetKeyChange(targetKey) { + // todo + console.log('targetKey鏀瑰彉锛屾敼鍙� :candidate-users 鍊欓�変汉',targetKey) + } + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; +</style> \ No newline at end of file -- Gitblit v1.9.3