cfort пре 2 година
родитељ
комит
110054b2ba

+ 15 - 6
src/assets/styles/pages/dashboard.scss

@@ -16,10 +16,20 @@ $transition: all .5s;
     .changeShadow {
         .pendingAssigneeClass {
             margin: 12px 0 !important;
-        }
-        
-        .item-headerH {
-            height: 21px;
+            cursor: pointer;
+            .item-header > p {
+                font-size: 18px;
+                white-space: nowrap;
+                overflow: hidden;
+                text-overflow: ellipsis;
+            }
+            .item-body {
+                margin-top: 15px;
+                & > span {
+                    font-size: 32px;
+                    font-weight: bold;
+                }
+            }
         }
         
         // box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .2) !important;
@@ -110,8 +120,7 @@ $transition: all .5s;
                 }
             }
             
-            .draw-enter-to,
-            .draw-leave {
+            .draw-enter-to, .draw-leave {
                 height: 200px;
             }
             

+ 7 - 6
src/components/ibps-crud/mixin/base.js

@@ -143,7 +143,7 @@ export default {
             const pkValue = this.getPkValue(row)
             for (var i = 0; i < this.ibpsData.length; i++) {
                 const data = this.ibpsData[i]
-                
+
                 if (this.getPkValue(data) === pkValue) {
                     this.$refs.elTable.toggleRowSelection(data, selected)
                 }
@@ -280,11 +280,12 @@ export default {
             } else { // 管理列
                 selection = data ? this.getPkValue(data) : null
             }
-            if(this.$utils.isArray(data)){
-                this.$emit('action-event', buttonKey, position, selection, this.selectionAll, index, action)
-            }else{
-                this.$emit('action-event', buttonKey, position, selection, data, index, action)
-            }
+            this.$emit('action-event', buttonKey, position, selection, data, index, action)
+            // if(this.$utils.isArray(data)){
+            //     this.$emit('action-event', buttonKey, position, selection, this.selectionAll, index, action)
+            // }else{
+            //     this.$emit('action-event', buttonKey, position, selection, data, index, action)
+            // }
         },
 
         /**

+ 2 - 6
src/views/platform/message/inner/receive.vue

@@ -166,7 +166,6 @@ export default {
                     },
                     { prop: 'ownerName', label: '发送人', width: '90' },
                     { prop: 'messageType', label: '消息类型', tags: typeOptions, width: '100' },
-                    // 接口未返回消息状态,仅增加了状态的
                     { prop: 'isRead', label: '消息状态', tags: typeMsg, width: '100' },
                     { prop: 'content', label: '消息内容', minWidth: '200' },
                     { prop: 'fileMsg', label: '有无附件', slotName: 'file', width: '90' },
@@ -336,12 +335,9 @@ export default {
         getFormatParams () {
             const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
             if (params.hasOwnProperty('Q^isRead^SN')) {
-                params.isRead = parseInt(params.isRead)
+                params['Q^isRead^SN'] = parseInt(params['Q^isRead^SN'])
             }
-            return ActionUtils.formatParams(
-                params,
-                this.pagination,
-                this.sorts)
+            return ActionUtils.formatParams(params, this.pagination, this.sorts)
         },
         /**
          * 处理回复

+ 58 - 7
src/views/platform/office/bpmInitiatedProcess/myDraft.vue

@@ -116,7 +116,7 @@ export default {
                     break
                 case 'remove':// 删除
                     ActionUtils.removeRecord(selection).then((ids) => {
-                        this.handleRemove(ids)
+                        this.handleRemove(data)
                     }).catch(() => { })
                     break
                 default:
@@ -126,12 +126,63 @@ export default {
         /**
          * 处理删除
          */
-        handleRemove (ids) {
-            removeDraft({ ids: ids }).then(response => {
-                ActionUtils.removeSuccessMessage()
-                this.search()
-            }).catch(() => {
-
+        // handleRemove (ids) {
+        //     removeDraft({ ids: ids }).then(response => {
+        //         ActionUtils.removeSuccessMessage()
+        //         this.search()
+        //     })
+        // },
+        handleRemove (datas, selection) {
+            this.$confirm('将删除选中暂存记录与对应数据表数据,删除之后无法恢复, 是否确定?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning',
+                showClose: false,
+                closeOnClickModal: false
+            }).then(() => {
+                const defKeyArr = []
+                const delList = {}
+                const idList = []
+                datas.forEach(item => {
+                    const { id, bizKey, procDefKey } = item
+                    idList.push(id)
+                    if (!delList[procDefKey]) {
+                        delList[procDefKey] = []
+                        defKeyArr.push(procDefKey)
+                    }
+                    delList[procDefKey].push(bizKey)
+                })
+                console.log(idList, delList, defKeyArr)
+                const sql = `select bo_code_, def_key_ from ibps_bpm_def where find_in_set(def_key_, '${defKeyArr.join(',')}')`
+                // const sql = `select a.bo_code_, b.key_ from ibps_form_bo a, ibps_form_def b where a.form_id_ = b.id_ and find_in_set(b.key_, '${formKeyArr.join(',')}')`
+                this.$common.request('sql', sql).then(res => {
+                    const { data = [] } = res.variables || {}
+                    if (!data.length) {
+                        return
+                    }
+                    const codes = {}
+                    data.forEach(item => {
+                        const { bo_code_, def_key_ } = item
+                        codes[def_key_] = bo_code_
+                    })
+                    // 删除选中记录
+                    removeDraft({ ids: idList.join(',') }).then(() => {
+                        ActionUtils.removeSuccessMessage()
+                        this.selection = []
+                        // 循环删除对应数据表数据
+                        defKeyArr.forEach(k => {
+                            const deleteParams = {
+                                tableName: `t_${codes[k]}`,
+                                paramWhere: { id_: delList[k].join(',') }
+                            }
+                            this.$common.request('delete', deleteParams, 'post', true)
+                        })
+                        this.$message.success('删除成功!')
+                        this.search()
+                    })
+                }).catch(() => {
+                    this.$message.error('获取数据表key值出错,请联系开发人员!')
+                })
             })
         }
     }

+ 1 - 1
src/views/platform/office/bpmInitiatedProcess/myRequest.vue

@@ -130,7 +130,7 @@ export default {
     mixins: [FixHeight, CommonData],
     data () {
         return {
-            title: '我启动的流程',
+            title: '我的发起',
             statusOptions: [],
             copyFlow: false,
             listConfig: {

+ 1 - 1
src/views/platform/office/bpmReceivedProcess/pendingManage/pending.vue

@@ -168,7 +168,7 @@ export default {
                 // 查询条件
                 searchForm: {
                     forms: [
-                        { prop: 'Q^proc_def_name_^SL', label: '事务名称' },
+                        // { prop: 'Q^proc_def_name_^SL', name: 'Q^temp.proc_def_name_^SL', label: '事务名称' },
                         { prop: 'Q^subject_^SL', name: 'Q^temp.subject_^SL', label: '事务说明' },
                         {
                             prop: ['Q^create_time_^DL', 'Q^create_time_^DG'],

+ 0 - 1
src/views/system/dashboard/components/util.js

@@ -470,7 +470,6 @@ export function buildComponent (name, column, preview, vm) {
                     this.navigationList = newSort
                     sortNavigation({ orders: this.navigationList.join(',') }).then(() => {
                         this.$message.success('排序成功!')
-                        console.log(this.quickNavigationData)
                     })
                 },
                 // 父组件调用该方法给日程添加数据

+ 26 - 26
src/views/system/dashboard/templates/notice.vue

@@ -11,37 +11,37 @@
         </div>
         <div ref="body" :style="{height: getHeight(-20), width: '100%'}">
             <el-scrollbar
-                style="height: 100%;width:100%;"
+                style="height: 100%; width:100%;"
                 wrap-class="ibps-scrollbar-wrapper"
             >
-                <ibps-marquee
+                <!-- <ibps-marquee
                     v-if="data && data.length"
                     :auto="false"
                     :speed="0"
-                >
-                    <ibps-list class="ibps-pr-10">
-                        <ibps-list-item
-                            v-for="(n, index) in data"
-                            :key="index"
-                            @click.native="handleApprove(n.id)"
-                        >
-                            <ibps-list-item-meta>
-                                <!-- <div slot="avatar"><ibps-icon name="bolt" style="color:#5cb85c;margin: 5px 0 0 5px;" /></div> -->
-                                <el-link slot="title" type="primary" :underline="false">{{ n.title }}
-                                    <img
-                                        v-if="showNewIcon(n.publicDate, 7)"
-                                        :src="newPng"
-                                        style="vertical-align: middle; height: 20px;"
-                                    >
-                                </el-link>
-                            </ibps-list-item-meta>
-                            <div slot="extra">
-                                <!-- <ibps-icon name="dot-circle-o" style="color:#36c6d3" /> -->
-                                {{ n.publicDate.slice(0, 10) }}
-                            </div>
-                        </ibps-list-item>
-                    </ibps-list>
-                </ibps-marquee>
+                > -->
+                <ibps-list v-if="data && data.length" class="ibps-pr-10">
+                    <ibps-list-item
+                        v-for="(n, index) in data"
+                        :key="index"
+                        @click.native="handleApprove(n.id)"
+                    >
+                        <ibps-list-item-meta>
+                            <!-- <div slot="avatar"><ibps-icon name="bolt" style="color:#5cb85c;margin: 5px 0 0 5px;" /></div> -->
+                            <el-link slot="title" type="primary" :underline="false" class="list-content">{{ n.title }}
+                                <img
+                                    v-if="showNewIcon(n.publicDate, 3)"
+                                    :src="newPng"
+                                    style="vertical-align: middle; height: 20px;"
+                                >
+                            </el-link>
+                        </ibps-list-item-meta>
+                        <div slot="extra">
+                            <!-- <ibps-icon name="dot-circle-o" style="color:#36c6d3" /> -->
+                            {{ n.publicDate.slice(0, 10) }}
+                        </div>
+                    </ibps-list-item>
+                </ibps-list>
+                <!-- </ibps-marquee> -->
                 <el-alert
                     v-else
                     :closable="false"

+ 3 - 2
src/views/system/dashboard/templates/paddingApprove.vue

@@ -8,10 +8,11 @@
                 <el-col v-for="item in data" :key="item.id" :span="24" :sm="6" :md="6" :lg="6" :xl="6">
                     <div :class="'bg-'+item.color" class="item pendingAssigneeClass" @click="openPlate(item.url)">
                         <div class="item-header">
-                            <p class="item-headerH">{{ item.dataContent }}</p>
+                            <p>{{ item.dataContent }}</p>
                         </div>
                         <div class="item-body">
-                            <h2><count-to :end-val="parseInt(item.dataText,10)" :duration="2000" /></h2>
+                            <count-to :end-val="parseInt(item.dataText, 10)" :duration="2000" />
+                            <!-- <h2><count-to :end-val="parseInt(item.dataText, 10)" :duration="2000" /></h2> -->
                         </div>
                         <p class="item-tip">{{ item.dataContent | firstStr }}</p>
                     </div>

+ 2 - 1
src/views/system/dashboard/templates/quickNavigation.vue

@@ -5,7 +5,7 @@
             <span>快捷导航</span>
             <ibps-desktop-toolbar
                 ref="toolbar"
-                :actions="[{ key: 'add' }]"
+                :actions="[{ key: 'add' }, { key: 'collapse' }]"
                 @action-event="handleActionEvent"
             />
         </div>
@@ -66,6 +66,7 @@
                         v-model="quickNavform.urlAddr"
                         type="textarea"
                         :autosize="{ minRows: 4, maxRows: 8 }"
+                        :maxlength="512"
                         autocomplete="off"
                         placeholder="请填写完整的URL地址,如https://www.szjyxt.com"
                     />

+ 7 - 2
src/views/system/homepage/index.vue

@@ -43,6 +43,7 @@
             title="消息明细"
             :readonly="true"
             :visible="ibpsMessageDialogVisible"
+            @callback="handleMessageCallback"
             @close="visible => (ibpsMessageDialogVisible = visible)"
         />
         <div v-if="initLoading">
@@ -262,7 +263,7 @@ export default {
         },
         // 抓取数据
         fetchData () {
-            initColumn(this.systemAlias)
+            initColumn(this.systemAlias, this)
             this.loading = true
             const interval = setInterval(() => {
                 if (isInit()) {
@@ -294,7 +295,6 @@ export default {
             // } else if (document.body.clientWidth <= 1366) {
             //     this.rowHeight = 23
             // }
-            console.log((h - 1) * (this.rowHeight + this.margin[1]) + this.margin[1])
             return (h - 1) * (this.rowHeight + this.margin[1]) + this.margin[1]
         },
         hasComponent (alias) {
@@ -374,6 +374,11 @@ export default {
         handleFlowCallback () {
             this.$refs[this.alias] ? this.$refs[this.alias][0].refreshData() : null
         },
+        handleMessageCallback (isRead) {
+            if (isRead && this.$refs.unreadMessage) {
+                this.$refs.unreadMessage[0].refreshData()
+            }
+        },
         initSystemUrl (url) {
             if (url.startsWith('http')) {
                 this.systemUrlType = 'iframe'