|
|
|
|
<template>
|
|
|
|
|
<view class="dynamicModel-list-v">
|
|
|
|
|
<view class="head-warp com-dropdown">
|
|
|
|
|
<u-dropdown class="u-dropdown" ref="uDropdown" @open="openData" >
|
|
|
|
|
<u-dropdown-item title="排序">
|
|
|
|
|
<view class="dropdown-slot-content">
|
|
|
|
|
<view class="dropdown-slot-content-main">
|
|
|
|
|
<u-cell-group>
|
|
|
|
|
<u-cell-item @click="cellClick(item)" :arrow="false" :title="item.label"
|
|
|
|
|
v-for="(item, index) in sortOptions" :key="index" :title-style="{color: sortValue == item.value ? '#2979ff' : '#606266' }">
|
|
|
|
|
<u-icon v-if="sortValue == item.value" name="checkbox-mark" color="#2979ff" size="32"></u-icon>
|
|
|
|
|
</u-cell-item>
|
|
|
|
|
</u-cell-group>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</u-dropdown-item>
|
|
|
|
|
<u-dropdown-item title="筛选" >
|
|
|
|
|
<view class="dropdown-slot-content">
|
|
|
|
|
<view class="dropdown-slot-content-main search-main">
|
|
|
|
|
<scroll-view scroll-y="true" style="height: 1000rpx;">
|
|
|
|
|
<view class="u-p-l-20 u-p-r-20 search-form">
|
|
|
|
|
<u-form :model="searchForm" ref="searchForm" :errorType="['toast']" label-position="left" label-width="150">
|
|
|
|
|
</u-form>
|
|
|
|
|
</view>
|
|
|
|
|
</scroll-view>
|
|
|
|
|
<view class="buttom-actions">
|
|
|
|
|
<u-button class="buttom-btn" @click="reset">重置</u-button>
|
|
|
|
|
<u-button class="buttom-btn" type="primary" @click="closeDropdown">检索</u-button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="dropdown-slot-bg" @click="$refs.uDropdown.close()"></view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</u-dropdown-item>
|
|
|
|
|
</u-dropdown>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="list-warp">
|
|
|
|
|
<mescroll-uni ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :up="upOption" top="100">
|
|
|
|
|
<view class="list">
|
|
|
|
|
<view class="list-box">
|
|
|
|
|
<uni-swipe-action ref="swipeAction">
|
|
|
|
|
<uni-swipe-action-item v-for="(item, index) in list" :key="item.id" :threshold="0" :right-options="options">
|
|
|
|
|
<view class="item" @click="goDetail(item.id,item)">
|
|
|
|
|
<view class="u-line-1 item-cell" v-for="(column,i) in columnList" :key="i">
|
|
|
|
|
<view v-if="column.jnpfKey != 'table'">
|
|
|
|
|
<view class="" v-if="column.jnpfKey == 'relationForm'">
|
|
|
|
|
<text class="listTit u-line-1">{{column.label}}:</text>
|
|
|
|
|
<text class="listContent"
|
|
|
|
|
@click.stop="relationFormClick(item,column)"
|
|
|
|
|
style="color: blue;">{{item[column.prop]}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view v-else class="u-line-1">
|
|
|
|
|
<text class="listTit u-line-1">{{column.label}}:</text>
|
|
|
|
|
<text class="listContent" v-if="['calculate','inputNumber'].includes(column.jnpfKey) && column.thousands">{{toThousands(item[column.prop],column)}}</text>
|
|
|
|
|
<text class="listContent" v-else>{{item[column.prop]}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="collapse-box u-flex" v-else>
|
|
|
|
|
<tableCell :label="column.label" :childList="item[column.prop]" @cRelationForm="relationFormClick"
|
|
|
|
|
:children="column.children" ref="tableCell" :pageLen="3"></tableCell>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="item-cell">
|
|
|
|
|
<text>审批状态:</text>
|
|
|
|
|
<text :class="getFlowStatus(item.flowState).statusCss">
|
|
|
|
|
{{getFlowStatus(item.flowState).text}}
|
|
|
|
|
</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<template v-slot:right>
|
|
|
|
|
<view class="right-option-box">
|
|
|
|
|
<view class="right-option" v-for="(it,i) in options" @click="handleClick(index)"
|
|
|
|
|
:key="i">
|
|
|
|
|
<text>{{it.text}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</uni-swipe-action-item>
|
|
|
|
|
</uni-swipe-action>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</mescroll-uni>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="com-addBtn" @click="addPage()" >
|
|
|
|
|
<u-icon name="plus" size="60" color="#fff" />
|
|
|
|
|
</view>
|
|
|
|
|
<u-picker mode="selector" v-model="show" :default-selector="[0]" title="请选择流程" :range="templateList" range-key="fullName" @confirm="confirm"></u-picker>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<script>
|
|
|
|
|
import {
|
|
|
|
|
FlowJsonList
|
|
|
|
|
} from '@/api/workFlow/flowEngine'
|
|
|
|
|
import resources from '@/libs/resources.js'
|
|
|
|
|
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
|
|
|
|
|
import tableCell from '../dynamicModel/components/tableCell.vue'
|
|
|
|
|
import {getFormById} from '@/api/workFlow/workFlowForm'
|
|
|
|
|
import {
|
|
|
|
|
getDictionaryDataSelector,
|
|
|
|
|
getDataInterfaceRes,
|
|
|
|
|
getDefaultCurrentValueUserIdAsync,
|
|
|
|
|
getDefaultCurrentValueDepartmentIdAsync
|
|
|
|
|
} from '@/api/common'
|
|
|
|
|
import request from '@/utils/request'
|
|
|
|
|
export default {
|
|
|
|
|
mixins: [MescrollMixin],
|
|
|
|
|
components: {
|
|
|
|
|
tableCell
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
show: false,
|
|
|
|
|
templateList: [],
|
|
|
|
|
sortValue: '',
|
|
|
|
|
searchForm: {
|
|
|
|
|
},
|
|
|
|
|
downOption: {
|
|
|
|
|
use: true,
|
|
|
|
|
auto: false
|
|
|
|
|
},
|
|
|
|
|
dataOptions:{
|
|
|
|
|
},
|
|
|
|
|
upOption: {
|
|
|
|
|
page: {
|
|
|
|
|
num: 0,
|
|
|
|
|
size: 20,
|
|
|
|
|
time: null,
|
|
|
|
|
},
|
|
|
|
|
empty: {
|
|
|
|
|
use: true,
|
|
|
|
|
icon: resources.message.nodata,
|
|
|
|
|
tip: "暂无数据",
|
|
|
|
|
fixed: true,
|
|
|
|
|
top: "300rpx",
|
|
|
|
|
zIndex: 5,
|
|
|
|
|
},
|
|
|
|
|
textNoMore: '没有更多数据',
|
|
|
|
|
toTop: {
|
|
|
|
|
bottom: 250
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
list: [],
|
|
|
|
|
appColumnList:[{"jnpfKey":"billRule","fullName":"单据编号","label":"单据编号","sortable":false,"align":"center","__config__":{"formId":101,"visibility":["pc","app"],"jnpfKey":"billRule","noShow":false,"tipLabel":"","dragDisabled":false,"rule":"costCode","className":[],"label":"单据编号","trigger":"change","showLabel":true,"required":false,"tableName":"jg_cw_cost","renderKey":1711431698434,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"费用单","tag":"JnpfInput","span":8},"readonly":true,"prop":"code","width":0,"__vModel__":"code","style":{"width":"100%"},"fixed":"none","placeholder":"系统自动生成","id":"code"},{"filterable":false,"clearable":true,"jnpfKey":"organizeSelect","ableIds":[],"multiple":false,"fullName":"费用归属","label":"费用归属","sortable":false,"align":"center","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"organizeSelect","defaultValue":[],"noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"费用归属","trigger":"change","showLabel":true,"required":true,"tableName":"jg_cw_cost","renderKey":1711431745425,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-company","defaultCurrent":true,"tag":"JnpfOrganizeSelect","regList":[],"span":8},"prop":"institutionId","width":0,"__vModel__":"institutionId","style":{"width":"100%"},"disabled":false,"selectType":"all","fixed":"none","placeholder":"请选择","id":"institutionId","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"popupType":"dialog","hasPage":true,"pageSize":20,"columnOptions":[{"label":"类型","value":"subjectBasicTypes"},{"label":"名称","value":"name"}],"align":"center","templateJson":[],"__config__":{"formId":104,"visibility":["pc","app"],"jnpfKey":"popupSelect","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"往来单位","trigger":"change","showLabel":true,"required":true,"tableName":"jg_cw_cost","renderKey":1711431775699,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-popup","tag":"JnpfPopupSelect","regList":[],"span":8},"prop":"subjectId","__vModel__":"subjectId","disabled":false,"placeholder":"请选择","interfaceName":"费用单-查询所有一级客户供应商","id":"subjectId","popupWidth":"800px","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"},"clearable":true,"jnpfKey":"popupSelect","fullName":"往来单位","label":"往来单位","sortable":false,"relationField":"name","popupTitle":"选择数据","width":0,"style":{"width":"100%"},"interfaceHasPage":false,"fixed":"none","interfaceId":"542305697765799941","propsValue":"id"},{"clearable":true,"jnpfKey":"datePicker","format":"yyyy-MM-dd","fullName":"费用发生时间","label":"费用发生时间","sortable":false,"align":"center","type":"date","__config__":{"endRelationField":"","defaultValue":"","dragDisabled":false,"className":[],"showLabel":true,"required":true,"tableName":"jg_cw_cost","renderKey":1711432245869,"tagIcon":"icon-ym icon-ym-generator-date","startRelationField":"","defaultCurrent":true,"tag":"JnpfDatePicker","formId":105,"visibility":["pc","app"],"jnpfKey":"datePicker","noShow":false,"endTimeTarget":1,"tipLabel":"","startTimeType":1,"endTimeRule":false,"label":"费用发生时间","startTimeRule":false,"startTimeValue":"","trigger":"change","endTimeValue":"","endTimeType":1,"layout":"colFormItem","startTimeTarget":1,"regList":[],"span":8},"readonly":false,"prop":"costTime","width":0,"__vModel__":"costTime","style":{"width":"100%"},"disabled":false,"fixed":"none","placeholder":"请选择","id":"costTime","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"filt
|
|
|
|
|
listQuery: {
|
|
|
|
|
moduleId:'542307079671527429',
|
|
|
|
|
sort: 'desc',
|
|
|
|
|
sidx: '',
|
|
|
|
|
keyword: '',
|
|
|
|
|
json: ''
|
|
|
|
|
},
|
|
|
|
|
options: [
|
|
|
|
|
{
|
|
|
|
|
text: '删除',
|
|
|
|
|
style: {
|
|
|
|
|
backgroundColor: '#dd524d'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
sortOptions:[
|
|
|
|
|
],
|
|
|
|
|
ableAll:{
|
|
|
|
|
},
|
|
|
|
|
interfaceRes:{
|
|
|
|
|
},
|
|
|
|
|
menuId:'',
|
|
|
|
|
enCode: 'costCode',
|
|
|
|
|
formId: '542307079671527429',
|
|
|
|
|
columnList:[],
|
|
|
|
|
isTree:false,
|
|
|
|
|
type:'1',
|
|
|
|
|
key:new Date(),
|
|
|
|
|
dataValue:{},
|
|
|
|
|
userInfo:{},
|
|
|
|
|
firstInitSearchData:false,
|
|
|
|
|
thousandsField:[],
|
|
|
|
|
formatType:{"yyyy":"yyyy","yyyy-MM":"yyyy-mm","yyyy-MM-dd":"yyyy-mm-dd","yyyy-MM-dd HH:mm":"yyyy-mm-dd hh:MM","yyyy-MM-dd HH:mm:ss":"yyyy-mm-dd hh:MM:ss","HH:mm:ss":"hh:MM:ss","HH:mm":"hh:MM"},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onLoad(e){
|
|
|
|
|
this.userInfo = uni.getStorageSync('userInfo') || {}
|
|
|
|
|
this.menuId = e.menuId
|
|
|
|
|
uni.$on('refresh', () => {
|
|
|
|
|
this.list = [];
|
|
|
|
|
this.mescroll.resetUpScroll();
|
|
|
|
|
})
|
|
|
|
|
this.dataAll()
|
|
|
|
|
this.getColumnList()
|
|
|
|
|
this.getFormById()
|
|
|
|
|
},
|
|
|
|
|
onUnload() {
|
|
|
|
|
uni.$off('refresh')
|
|
|
|
|
},
|
|
|
|
|
methods:{
|
|
|
|
|
toThousands(val, column) {
|
|
|
|
|
let num = Number(val)
|
|
|
|
|
let newVal = this.thousandsField.includes(column.__vModel__) ? num.toLocaleString('zh', {maximumFractionDigits: '2',minimumFractionDigits: '2'}): num.toFixed(2);
|
|
|
|
|
return newVal
|
|
|
|
|
},
|
|
|
|
|
getJsonList() {
|
|
|
|
|
FlowJsonList(this.flowId,'1').then(res => {
|
|
|
|
|
this.templateList = res.data;
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getFormById() {
|
|
|
|
|
getFormById(this.formId).then(res => {
|
|
|
|
|
this.flowId = res.data&&res.data.id
|
|
|
|
|
this.enCode = res.data&&res.data.enCode
|
|
|
|
|
this.getJsonList()
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
dataAll(){
|
|
|
|
|
},
|
|
|
|
|
openData(e){
|
|
|
|
|
if(e==1){
|
|
|
|
|
//this.reset()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
//初始化查询的默认数据
|
|
|
|
|
async initSearchData() {
|
|
|
|
|
this.dataValue = JSON.parse(JSON.stringify(this.searchForm))
|
|
|
|
|
},
|
|
|
|
|
relationFormClick(item,column) {
|
|
|
|
|
let vModel = column.__vModel__?column.__vModel__+"_id":column.__vModel__
|
|
|
|
|
let id = item[vModel]
|
|
|
|
|
if(vModel){
|
|
|
|
|
let [attr,attr1]=vModel.split("_jnpf_")
|
|
|
|
|
if(attr&&attr1){
|
|
|
|
|
attr = attr.replace('jnpf_','')
|
|
|
|
|
id = item[attr]&&item[attr][attr1]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
let modelId = column.modelId
|
|
|
|
|
if (!id || !modelId) return
|
|
|
|
|
let config = {
|
|
|
|
|
modelId: modelId,
|
|
|
|
|
id: id,
|
|
|
|
|
formTitle: '详情',
|
|
|
|
|
noShowBtn: 1
|
|
|
|
|
}
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
const url ='/pages/apply/dynamicModel/detail?config=' + this.base64.encode(JSON.stringify(config),"UTF-8")
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: url
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
async upCallback(page) {
|
|
|
|
|
if(!this.firstInitSearchData) {
|
|
|
|
|
await this.initSearchData()
|
|
|
|
|
this.firstInitSearchData = true
|
|
|
|
|
}
|
|
|
|
|
const query = {
|
|
|
|
|
currentPage: page.num,
|
|
|
|
|
pageSize: page.size,
|
|
|
|
|
menuId : this.menuId,
|
|
|
|
|
...this.listQuery,
|
|
|
|
|
...this.searchForm,
|
|
|
|
|
dataType:0,
|
|
|
|
|
}
|
|
|
|
|
request({
|
|
|
|
|
url: '/api/scm/CwCost/getList',
|
|
|
|
|
method: 'post',
|
|
|
|
|
data: query,
|
|
|
|
|
}).then(res => {
|
|
|
|
|
let _list = this.columnList.length?res.data.list:[];
|
|
|
|
|
this.mescroll.endSuccess(_list.length);
|
|
|
|
|
if (page.num == 1) this.list = [];
|
|
|
|
|
const list = _list.map(o => ({
|
|
|
|
|
show: false,
|
|
|
|
|
...o
|
|
|
|
|
}));
|
|
|
|
|
this.list = this.list.concat(_list);
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.mescroll.endErr();
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleClick(index, index1) {
|
|
|
|
|
const item = this.list[index]
|
|
|
|
|
if([1,2,3,5].includes(item.flowState)){
|
|
|
|
|
this.$u.toast("流程正在审核,请勿删除")
|
|
|
|
|
this.list[index].show = false
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
request({
|
|
|
|
|
url: '/api/scm/CwCost/' + item.id,
|
|
|
|
|
method: 'delete'
|
|
|
|
|
}).then(res => {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: res.msg,
|
|
|
|
|
complete: () => {
|
|
|
|
|
this.$u.toast(res.msg)
|
|
|
|
|
this.mescroll.resetUpScroll()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
open(index) {
|
|
|
|
|
this.list[index].show = true;
|
|
|
|
|
this.list.map((val, idx) => {
|
|
|
|
|
if (index != idx) this.list[idx].show = false;
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
search() {
|
|
|
|
|
if (this.isPreview == '1') return
|
|
|
|
|
this.searchTimer && clearTimeout(this.searchTimer)
|
|
|
|
|
this.searchTimer = setTimeout(() => {
|
|
|
|
|
this.list = [];
|
|
|
|
|
this.mescroll.resetUpScroll();
|
|
|
|
|
}, 300)
|
|
|
|
|
},
|
|
|
|
|
goDetail(id, item) {
|
|
|
|
|
let flowtaskid = item.flowtaskid
|
|
|
|
|
let flowState =item.flowState
|
|
|
|
|
let flowId =item.flowId
|
|
|
|
|
let btnType = ''
|
|
|
|
|
let btnList = []
|
|
|
|
|
btnList.push('btn_edit')
|
|
|
|
|
btnList.push('btn_detail')
|
|
|
|
|
if(btnList.includes('btn_detail')){
|
|
|
|
|
btnType = "btn_detail"
|
|
|
|
|
}
|
|
|
|
|
if(btnList.includes('btn_edit')){
|
|
|
|
|
btnType = "btn_edit"
|
|
|
|
|
}
|
|
|
|
|
if(!btnType) return
|
|
|
|
|
let ids = flowtaskid?flowtaskid:id
|
|
|
|
|
this.flowId = flowId?flowId:this.templateList[0].id
|
|
|
|
|
this.jumPage(ids, flowState,btnType)
|
|
|
|
|
},
|
|
|
|
|
addPage() {
|
|
|
|
|
if (!this.templateList.length) return this.$u.toast('流程不存在')
|
|
|
|
|
if (this.templateList.length > 1) {
|
|
|
|
|
this.show = true
|
|
|
|
|
} else {
|
|
|
|
|
this.flowId = this.templateList[0].id
|
|
|
|
|
this.jumPage()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
confirm(e) {
|
|
|
|
|
this.flowId = this.templateList[e[0]].id
|
|
|
|
|
this.jumPage()
|
|
|
|
|
},
|
|
|
|
|
jumPage(id, status,btnType){
|
|
|
|
|
if (!id && !status) btnType = 'btn_add'
|
|
|
|
|
let _title=""
|
|
|
|
|
if(btnType=='btn_add'){
|
|
|
|
|
_title = "新增"
|
|
|
|
|
}
|
|
|
|
|
if(btnType=='btn_detail'){
|
|
|
|
|
_title = "详情"
|
|
|
|
|
}
|
|
|
|
|
if(btnType=='btn_edit'){
|
|
|
|
|
_title = "编辑"
|
|
|
|
|
}
|
|
|
|
|
let opType = '-1'
|
|
|
|
|
if ([1,2,5].includes(status)) opType = 0
|
|
|
|
|
const config = {
|
|
|
|
|
id: id || '',
|
|
|
|
|
enCode: this.enCode,
|
|
|
|
|
flowId: this.flowId,
|
|
|
|
|
formType: 1,
|
|
|
|
|
type: 1,
|
|
|
|
|
opType,
|
|
|
|
|
status: status || '',
|
|
|
|
|
fullName: _title,
|
|
|
|
|
jurisdictionType: btnType || ''
|
|
|
|
|
}
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/workFlow/flowBefore/index?config=' + this.base64.encode(JSON.stringify(config), "UTF-8")
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getFlowStatus(val) {
|
|
|
|
|
let status
|
|
|
|
|
switch (val) {
|
|
|
|
|
case 0:
|
|
|
|
|
status = {
|
|
|
|
|
text: '等待提交',
|
|
|
|
|
statusCss: 'u-type-info'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
status = {
|
|
|
|
|
text: '等待审核',
|
|
|
|
|
statusCss: 'u-type-primary'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
status = {
|
|
|
|
|
text: '审核通过',
|
|
|
|
|
statusCss: 'u-type-success'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
status = {
|
|
|
|
|
text: '审核驳回',
|
|
|
|
|
statusCss: 'u-type-error'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
status = {
|
|
|
|
|
text: '审核撤回',
|
|
|
|
|
statusCss: 'u-type-error'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
status = {
|
|
|
|
|
text: '审核终止',
|
|
|
|
|
statusCss: 'u-type-info'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
status = {
|
|
|
|
|
text: '等待提交',
|
|
|
|
|
statusCss: 'u-type-info'
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return status
|
|
|
|
|
},
|
|
|
|
|
getColumnList() {
|
|
|
|
|
let columnPermissionList = []
|
|
|
|
|
let _appColumnList =this.appColumnList
|
|
|
|
|
for (let i = 0; i < _appColumnList.length; i++) {
|
|
|
|
|
columnPermissionList.push(_appColumnList[i])
|
|
|
|
|
}
|
|
|
|
|
this.columnList = this.transformColumnList(columnPermissionList, this.dataOptions)
|
|
|
|
|
},
|
|
|
|
|
transformColumnList(columnList, dataOptions) {
|
|
|
|
|
let list = []
|
|
|
|
|
for (let i = 0; i < columnList.length; i++) {
|
|
|
|
|
let e = columnList[i]
|
|
|
|
|
let columProp = e.prop
|
|
|
|
|
let label = e.label
|
|
|
|
|
let option = null
|
|
|
|
|
let options = columProp + "Options"
|
|
|
|
|
if (!columProp.includes('-')) {
|
|
|
|
|
columProp = columProp
|
|
|
|
|
if(this.type=='4'){
|
|
|
|
|
columProp = columProp +"_name"
|
|
|
|
|
}
|
|
|
|
|
if(label.length>4){
|
|
|
|
|
label = label.substring(0, 4)
|
|
|
|
|
}
|
|
|
|
|
e.label = label
|
|
|
|
|
e.prop = columProp
|
|
|
|
|
e.option = option
|
|
|
|
|
list.push(e)
|
|
|
|
|
} else {
|
|
|
|
|
e.vModel = columProp.split('-')[1]
|
|
|
|
|
e.childLabel = e.label.split('-')[1]
|
|
|
|
|
options = e.vModel + "Options"
|
|
|
|
|
let prop = columProp.split('-')[0]
|
|
|
|
|
let label = e.label.split('-')[0]
|
|
|
|
|
let newItem = {
|
|
|
|
|
align: "center",
|
|
|
|
|
jnpfKey: "table",
|
|
|
|
|
prop,
|
|
|
|
|
label,
|
|
|
|
|
children: []
|
|
|
|
|
}
|
|
|
|
|
if (!list.some(o => o.prop === prop)) list.push(newItem)
|
|
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
|
|
|
if (list[i].prop === prop) {
|
|
|
|
|
e.prop = e.prop
|
|
|
|
|
e.vModel = e.vModel
|
|
|
|
|
if(this.type=='4'){
|
|
|
|
|
e.prop = e.prop+"_name"
|
|
|
|
|
e.vModel = e.vModel+"_name"
|
|
|
|
|
}
|
|
|
|
|
e.option = option
|
|
|
|
|
list[i].children.push(e)
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return list
|
|
|
|
|
},
|
|
|
|
|
cellClick(item) {
|
|
|
|
|
if (this.sortValue === item.value) return
|
|
|
|
|
this.listQuery.sort = item.sort
|
|
|
|
|
this.listQuery.sidx = item.sidx
|
|
|
|
|
this.sortValue = item.value
|
|
|
|
|
this.$refs.uDropdown.close();
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.list = [];
|
|
|
|
|
this.mescroll.resetUpScroll();
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
reset() {
|
|
|
|
|
this.searchForm = JSON.parse(JSON.stringify(this.dataValue))
|
|
|
|
|
this.key = new Date()
|
|
|
|
|
},
|
|
|
|
|
closeDropdown() {
|
|
|
|
|
this.$refs.uDropdown.close();
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.list = [];
|
|
|
|
|
this.mescroll.resetUpScroll();
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
dataList(data){
|
|
|
|
|
let _list =data.list
|
|
|
|
|
return _list;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
page {
|
|
|
|
|
background-color: #f0f2f6;
|
|
|
|
|
height: 100%;
|
|
|
|
|
/* #ifdef MP-ALIPAY */
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
/* #endif */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.right-option-box {
|
|
|
|
|
display: flex;
|
|
|
|
|
width: max-content;
|
|
|
|
|
|
|
|
|
|
.right-option {
|
|
|
|
|
width: 144rpx;
|
|
|
|
|
height: 100%;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
background-color: #dd524d;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.more-option {
|
|
|
|
|
background-color: #1890ff;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|