From 2daab7ffdbebb9d99d241045c1e0a36540351e57 Mon Sep 17 00:00:00 2001
From: lion <120344285@qq.com>
Date: Wed, 17 Sep 2025 19:04:10 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=20=E9=9B=86=E5=90=88?=
=?UTF-8?q?=E4=BB=98=E6=AC=BE=E7=99=BB=E8=AE=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/flow/components/payMx copy.vue | 529 ++++++++++++++++++++++
src/views/flow/components/payMx.vue | 486 ++++++++++++--------
src/views/flow/create.vue | 5 +-
src/views/flow/list.vue | 552 ++++++++++++++---------
4 files changed, 1174 insertions(+), 398 deletions(-)
create mode 100644 src/views/flow/components/payMx copy.vue
diff --git a/src/views/flow/components/payMx copy.vue b/src/views/flow/components/payMx copy.vue
new file mode 100644
index 0000000..d593e00
--- /dev/null
+++ b/src/views/flow/components/payMx copy.vue
@@ -0,0 +1,529 @@
+
+
+
$emit('update:isShow',e)">
+
+
+
历史支付记录查看
+
+
+
+
+ {{row.contract_id ? (row.contract?row.contract.name:'') : row.away.title}}
+
+
+
+
+ {{Number(row.apply_money).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,")}}
+
+
+
+
+ {{Number(row.act_money).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,")}}
+
+
+
+
+
+
+
+ [{{item.plan?item.plan.year:''}}] {{(item.plan && item.plan.pid_info) ? item.plan.pid_info.name: ''}}
+ - {{item.plan?item.plan.name:''}}
+
+ [使用金额] {{item.use_money}}元
+
+
+
+
+
+
+ 待审核
+ 已审核
+
+
+
+
+
+
+ {{flowStatus[item.flow_status]}}
+
+
+
+
+
+
+ {{row.contract_id ? row.pay_count : row.pay_count_away}}
+
+
+
+
+ 是
+ 否
+
+
+
+
+ {{row.admin?row.admin.name:''}}
+
+
+
+
+ {{row.department?row.department.name:''}}
+
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+
+ 设为已支付完毕
+
+
+
+
发起新的支付审批
+
+
+
+
+ *款项类型
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ 发起支付审批
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/flow/components/payMx.vue b/src/views/flow/components/payMx.vue
index c6411c9..04c168c 100644
--- a/src/views/flow/components/payMx.vue
+++ b/src/views/flow/components/payMx.vue
@@ -78,34 +78,37 @@
-
-
-
- 查看
-
-
-
-
@@ -188,7 +189,7 @@
import {
getItems,
detailContract,
- getFundLog,
+ getFundLog,
fundLogEnd
} from '@/api/flow/pay'
import {
@@ -205,13 +206,21 @@ import {getToken} from "@/utils/auth";
default: false,
required: true
},
+ // 新增:接收支付列表,包含各项的 out_contract_id
+ // payList: {
+ // type: Array,
+ // default: () => []
+ // }
},
data() {
return {
payId: '',
+ payList:[],
defaultModalSize,
zIndex: PopupManager.nextZIndex(),
list: [],
+ // 每个区块(pay.id)对应的表单:申请金额/类型/是否最后一笔
+ fundlogFormMap: {},
table_item: [],
flowDetail: {},
fundlogForm: {
@@ -231,7 +240,12 @@ import {getToken} from "@/utils/auth";
}
},
methods: {
+ // 获取某一 pay 的分组数据
+ getGroupList(flowId) {
+ return (this.list || []).filter(r => r.sourceFlowId === flowId)
+ },
async getConfig() {
+ // 改造:不再通过 view 接口获取,直接使用传入的 payList
const loading = this.$loading({
lock: true,
text: "拼命加载中",
@@ -239,45 +253,98 @@ import {getToken} from "@/utils/auth";
background: "rgba(0, 0, 0, 0.8)",
});
try {
- const res = await view(this.payId);
+ console.log('this.payList', this.payList)
+ // 初始化本地可编辑列表(聚合 payList 的各自明细:JSON.parse(data.caigoumingxi))
+ this.list = [];
+ (this.payList || []).forEach(pay => {
+ let subList = []
+ try {
+ subList = JSON.parse(pay?.data?.caigoumingxi || '[]')
+ } catch(e) {
+ subList = []
+ }
+ // 初始化每个区块的表单默认值
+ if (!this.fundlogFormMap[pay.id]) {
+ this.$set(this.fundlogFormMap, pay.id, {
+ applyMoney: 0,
+ type: '',
+ isLast: false
+ })
+ }
+ subList.forEach(item => {
+ const newItem = Object.assign({}, item, {
+ payNum: 0,
+ hasPayNum: 0,
+ sourceFlowId: pay.id
+ })
+ this.list.push(newItem)
+ })
+ })
+ console.log('this.list', this.list)
- const {
- fields
- } = res?.customModel;
- this.flowDetail = res?.flow
- const {
- data
- } = res?.flow
- fields.forEach((field) => {
- if (field.type === 'relation') {
- // 增加 自己提交的数量 和 已提交的数量
- this.list = JSON.parse(data[field.name])
- this.list.map(item => {
- item.payNum = 0
- item.hasPayNum = 0
+ // 组装逗号分隔的 flow_id / id 字符串用于 getItemNum
+ const ids = (this.payList || [])
+ .map(i => i && (i.id))
+ .filter(id => !!id)
+ .join(',')
+
+ if (ids) {
+ await this.getItemNum(ids)
+ }
+
+ // 获取字段配置:取第一条的 sub_custom_model_id
+ // const firstSubModelId = this.payList && this.payList[0] && (this.payList[0].sub_custom_model_id || this.payList[0].field?.sub_custom_model_id)
+ // if (firstSubModelId) {
+ await this.getFieldConfig(81)
+ // }
+
+ // 历史支付记录由 payList 汇总的 out_contract_id 直接获取
+ await this.getFundLogList()
+
+ // 确保子表渲染到最新数据
+ this.$nextTick(() => {
+ try {
+ (this.payList || []).forEach(pay => {
+ const refKey = 'table_' + pay.id
+ const tableRef = this.$refs[refKey]
+ const data = this.getGroupList(pay.id)
+ if (tableRef && data) {
+ if (typeof tableRef.reloadData === 'function') {
+ tableRef.reloadData(data)
+ } else if (typeof tableRef.loadData === 'function') {
+ tableRef.loadData(data)
+ }
+ }
})
- this.getItemNum(this.payId)
- this.getFieldConfig(field.sub_custom_model_id)
+ } catch(e) {
+ console.warn('vxe-table reloadData failed', e)
}
- });
- this.getFundLogList()
- console.log("this.list", this.list)
- loading.close();
+ })
+
+ loading.close()
} catch (err) {
console.error(err)
- this.$message.error("配置失败");
- loading.close();
+ this.$message.error("配置失败")
+ loading.close()
}
},
// 获取历史支付明细
async getFundLogList() {
- let payments =
- (
+ // 从传入的 payList 中汇总 out_contract_id,用逗号连接
+ const contractIds = (this.payList || [])
+ .map(i => i && i.out_contract_id)
+ .filter(id => !!id)
+ .join(',');
+
+ let payments = []
+ if (contractIds) {
+ payments = (
await getFundLog({
- contract_id: this.flowDetail.out_contract_id,
+ contract_id: contractIds,
show_type: 1
})
- )?.data || [];
+ )?.data || []
+ }
this.paymentsList = payments
console.log("paymentsList", this.paymentsList)
},
@@ -312,66 +379,61 @@ import {getToken} from "@/utils/auth";
item.forEach(item => {
itemMap.set(item.wuzicaigou_item_id, item.total_num);
});
- // 遍历 list 数组,根据 id 从 Map 中获取 total_num 并赋值给 hasPayNum
- this.list.forEach(item => {
- if (itemMap.has(item.id)) {
- item.hasPayNum = itemMap.get(item.id);
+ // 遍历合并后的 list,根据 id 从 Map 中获取 total_num 并赋值给 hasPayNum
+ this.list.forEach(row => {
+ if (itemMap.has(row.id)) {
+ row.hasPayNum = itemMap.get(row.id)
}
- });
+ })
}
} catch (err) {
console.error(err)
}
- },
- showDetail(row){
- let url = `/oa/#/flow/detail?module_name=oa&auth_token=${window.encodeURIComponent(getToken())}&isSinglePage=1&flow_id=`
- let pay = row.fund_log_flow_links.find(i => i.tag === 'pay')
- //url += `&to=/flow/detail?flow_id=${caigou.id}`
- url += pay?.flow_id
- this.oaUrl = url
- this.isShowOaModal = true
- },
- payClose(){
- this.$confirm('将此采购记录设为“已⽀付完毕”,同时会将最后⼀笔⽀付记录的“是否为最后⼀笔”属性设置为“是”,请确认是否要进⾏此操作', '提示', {
- confirmButtonText: '确定',
- callback: action => {
- if(action==='confirm'){
- fundLogEnd({
- contract_id:this.flowDetail.out_contract_id,
- }).then(res=>{
- this.$emit('update:isShow', false)
- this.$emit('refresh')
- })
- }
-
-
- // this.fundlogForm.isLast = true
- }
- });
+ },
+ showDetail(row){
+ let url = `/oa/#/flow/detail?module_name=oa&auth_token=${window.encodeURIComponent(getToken())}&isSinglePage=1&flow_id=`
+ let pay = row.fund_log_flow_links.find(i => i.tag === 'pay')
+ //url += `&to=/flow/detail?flow_id=${caigou.id}`
+ url += pay?.flow_id
+ this.oaUrl = url
+ this.isShowOaModal = true
+ },
+ payClose(){
+ this.$confirm('将此采购记录设为“已⽀付完毕”,同时会将最后⼀笔⽀付记录的“是否为最后⼀笔”属性设置为“是”,请确认是否要进⾏此操作', '提示', {
+ confirmButtonText: '确定',
+ callback: action => {
+ if(action==='confirm'){
+ fundLogEnd({
+ contract_id:this.flowDetail.out_contract_id,
+ }).then(res=>{
+ this.$emit('update:isShow', false)
+ this.$emit('refresh')
+ })
+ }
+
+
+ // this.fundlogForm.isLast = true
+ }
+ });
},
async submit() {
try {
- if (!this.fundlogForm.applyMoney) {
- this.$message({
- message: '请填写本次申请付款金额',
- duration: 2000,
- type: 'warning'
- })
- return
- }
- if (!this.fundlogForm.type) {
- this.$message({
- message: '请选择款项类型',
- duration: 2000,
- type: 'warning'
- })
- return
- }
- const records = this.$refs.table.getCheckboxRecords()
+
+ // 收集所有子表勾选记录
+ let records = []
+ this.payList.forEach(pay => {
+ const refKey = 'table_' + pay.id
+ let tableRef = this.$refs[refKey]
+ // 兼容 v-for 下 ref 可能为数组的情况
+ if (Array.isArray(tableRef)) tableRef = tableRef[0]
+ if (tableRef) {
+ const sel = typeof tableRef.getCheckboxRecords === 'function' ? (tableRef.getCheckboxRecords() || []) : []
+ const reserveSel = typeof tableRef.getCheckboxReserveRecords === 'function' ? (tableRef.getCheckboxReserveRecords() || []) : []
+ records = records.concat(sel, reserveSel)
+ }
+ })
console.log("records", records)
- let count = 0
- let totalCount = 0
- let allCount = 0 // 每一条本次报销数量+已报销数量 = 数量
+ // 分组逐块校验数量
if (records.length < 1) {
this.$message({
message: '请选择需要报销的明细',
@@ -380,20 +442,57 @@ import {getToken} from "@/utils/auth";
})
return
}
- records.map(item => {
- if (parseFloat(item.payNum) === 0 || parseFloat(item.payNum) > parseFloat(item.num)) {
- count++
+ // 校验每个分组(pay.id)的区块表单是否填写(金额、类型)
+ const idToTitle = {}
+ ;(this.payList || []).forEach(p => { idToTitle[p.id] = p.title })
+ const groupIds = Array.from(new Set(records.map(r => r.sourceFlowId)))
+ for (const gid of groupIds) {
+ const form = this.fundlogFormMap[gid] || {}
+ if (!form.applyMoney || Number(form.applyMoney) <= 0) {
+ this.$message({
+ message: `【${idToTitle[gid] || gid}】请填写本次申请付款金额`,
+ duration: 2000,
+ type: 'warning'
+ })
+ return
}
- if (parseFloat(item.payNum) + parseFloat(item.hasPayNum) > parseFloat(item.num)) {
- totalCount++
+ if (!form.type) {
+ this.$message({
+ message: `【${idToTitle[gid] || gid}】请选择款项类型`,
+ duration: 2000,
+ type: 'warning'
+ })
+ return
}
- if (parseFloat(item.payNum) + parseFloat(item.hasPayNum) === parseFloat(item.num)) {
- allCount++
+ }
+ // 数量校验:按分组逐块处理,并在“等于总数量”时自动设置该块为最后一笔
+ const groupMap = records.reduce((acc, row) => {
+ const gid = row.sourceFlowId
+ if (!acc[gid]) acc[gid] = []
+ acc[gid].push(row)
+ return acc
+ }, {})
+ const groupsToAutoEnd = []
+ for (const gid of Object.keys(groupMap)) {
+ const rows = groupMap[gid]
+ let count = 0
+ let totalCount = 0
+ let allToRemain = true
+ rows.forEach(item => {
+ const payNum = Number(item.payNum)
+ const num = Number(item.num)
+ const hasPay = Number(item.hasPayNum)
+ const remain = num - hasPay
+ if (isNaN(payNum) || payNum === 0 || payNum > num) count++
+ if (payNum + hasPay > num) totalCount++
+ // 判断是否每一条都“正好补齐剩余”
+ if (!(payNum > 0 && Math.abs(payNum - remain) < 1e-6)) {
+ allToRemain = false
}
})
if (count > 0) {
this.$message({
- message: '报销数量不能为0或报销数量大于总数量',
+ message: `【${idToTitle[gid] || gid}】报销数量不能为0或报销数量大于总数量`,
duration: 2000,
type: 'warning'
})
@@ -401,88 +500,111 @@ import {getToken} from "@/utils/auth";
}
if (totalCount > 0) {
this.$message({
- message: '本次报销数量大于剩余可报销数量',
+ message: `【${idToTitle[gid] || gid}】本次报销数量大于剩余可报销数量`,
duration: 2000,
type: 'warning'
})
return
}
- if (allCount === records.length) {
- this.$alert('本次报销数量已等于总数量,默认为最后一笔', '提示', {
- confirmButtonText: '确定',
- callback: action => {
- this.fundlogForm.isLast = true
- }
- });
+ // 记录需要自动置为“最后一笔”的分组,统一在提交前弹一次提示
+ if (allToRemain && this.fundlogFormMap[gid] && !this.fundlogFormMap[gid].isLast) {
+ groupsToAutoEnd.push(gid)
+ }
}
- // return
- //wuzicaigou_items 报销的物资明细数组
+ if (groupsToAutoEnd.length > 0) {
+ // 等待用户确认后再继续,避免先跳转
+ await this.$alert('本次报销数量已等于总数量,默认为最后一笔', '提示', {
+ confirmButtonText: '确定'
+ })
+ groupsToAutoEnd.forEach(gid => {
+ if (this.fundlogFormMap[gid]) this.$set(this.fundlogFormMap[gid], 'isLast', true)
+ })
+ }
+ // 组合成单个审批
let wuzicaigou_items = []
let zhifutitle = ''
- records.map(item => {
+ // 建立 flowId -> contractId 映射
+ const flowIdToContractId = {}
+ ;(this.payList || []).forEach(p => {
+ const fid = p.id
+ if (fid) flowIdToContractId[fid] = p.out_contract_id
+ })
+ records.forEach(item => {
+ const form = this.fundlogFormMap[item.sourceFlowId] || { applyMoney: 0, type: '', isLast: false }
wuzicaigou_items.push({
- flow_id: this.payId,
+ flow_id: item.sourceFlowId || this.payId,
+ contract_id: flowIdToContractId[item.sourceFlowId] || undefined,
wuzicaigou_id: item.belongs_id,
wuzicaigou_item_id: item.id,
name: item.pinminghuofuwuxuqiu,
num: item.payNum,
- total: item.num
+ total: item.num,
+ // 区块级的额外字段注入到每条明细,便于后端识别
+ apply_money: form.applyMoney,
+ type: form.type,
+ is_end: form.isLast ? 1 : 0
})
zhifutitle += item.pinminghuofuwuxuqiu + '*' + item.payNum + ','
})
+ console.log("wuzicaigou_items",wuzicaigou_items)
+ // return
+ // 聚合相关合同信息:从 payList 收集 contract_id,逐个请求 detailContract 并整合为数组
+ const contractIds = Array.from(new Set((this.payList || []).map(p => p.out_contract_id).filter(Boolean)))
+ let contracts = []
+ if (contractIds.length > 0) {
+ try {
+ contracts = await Promise.all(contractIds.map(id => detailContract({ id })))
+ } catch (e) {
+ console.warn('fetch contracts failed', e)
+ }
+ }
+ // 仍以第一份合同作为展示主合同(标题等),其余信息通过聚合参与计算
+ const mainContract = contracts && contracts.length > 0 ? contracts[0] : null
- // 跳转到支付审批流程
let payments = this.paymentsList;
- const actNumsTotal = () => {
- return payments.reduce((pre, cur) => {
- return pre + (!!Number(cur.act_money) ? Number(cur.act_money) : 0);
- }, 0);
- };
- let contract;
- if (this.flowDetail.out_contract_id) {
- contract = await detailContract({
- id: this.flowDetail.out_contract_id
- });
- }
+ const actNumsTotal = () => payments.reduce((pre, cur) => pre + (!!Number(cur.act_money) ? Number(cur.act_money) : 0), 0)
- // payments = this.paymentsList
- // (
- // await getFundLog({
- // contract_id: this.flowDetail.out_contract_id,
- // show_type: 1
- // })
- // )?.data || [];
- // 付款登记的字段
let zhifutitle2 = zhifutitle.slice(0, -1)
- zhifutitle += "(" + this.flowDetail.title + ')'
- let baseInfo = {
- "oaUrl": contract?.number,
- "zhifutitle": zhifutitle,
- // ?contract?.name
- "contract_id": contract.id,
- "type": this.fundlogForm.type,
- "is_end": this.fundlogForm.isLast ? 1 : 0,
- "amt": this.fundlogForm.applyMoney,
- // out_pay_id: row?.id,
- "xiangxishuoming": zhifutitle,
- "yifujine": actNumsTotal(),
- "xiangmuzonge": contract.money,
- "zhifucishu": contract?.sign_plan?.length,
- "cishu": payments.length,
+ if (mainContract?.name) zhifutitle += `(${mainContract.name} 等${contractIds.length}个合同)`
+
+ // 从明细中聚合主数据:合同ID串与金额合计
+ const contractIdStr = Array.from(new Set(wuzicaigou_items.map(i => i.contract_id).filter(Boolean))).join(',')
+ const amtTotal = wuzicaigou_items.reduce((sum, i) => sum + (Number(i.group_apply_money || i.apply_money) || 0), 0)
+
+ // 从合同列表聚合展示数据
+ const sumMoney = (contracts || []).reduce((sum, c) => sum + (Number(c?.money) || 0), 0)
+ const sumPlanLen = (contracts || []).reduce((sum, c) => sum + ((c?.sign_plan?.length) || 0), 0)
+ const plansNames = Array.from(new Set((contracts || []).flatMap(c => (c?.plans || []).map(p => p?.name)).filter(Boolean))).join(',')
+ const contractNos = (contracts || []).map(c => c?.number).filter(Boolean).join(',')
+ const relatedFlows = Array.from(new Set((contracts || []).flatMap(c => (c?.contract_flow_links || []).map(l => l?.flow_id)).filter(Boolean))).join(',')
+
+ const baseInfo = {
+ // oaUrl: mainContract?.number,
+ zhifutitle,
+ contract_id: contractIdStr,
+ type: '',
+ is_end: '',
+ amt: amtTotal,
+ xiangxishuoming: zhifutitle,
+ yifujine: actNumsTotal(),
+ cishu: payments.length,
- "liezhiqudao": contract?.plans.map(i => i.name)?.toString(),
- "contractno": contract?.number,
- "guanlianliucheng": contract?.contract_flow_links?.map(i => i.flow_id)?.toString(),
- "wuzicaigou_items": wuzicaigou_items
- };
- console.log(baseInfo, baseInfo)
- let url =
- `/flow/create?&module_name=oa&isSinglePage=1&module_id=75&default_json=${window.encodeURIComponent(JSON.stringify(baseInfo))}`;
- this.$router.push(
- url
- );
- // this.oaUrl = url;
- // this.isShowOaModal = true;
+ xiangmuzonge: sumMoney,
+ zhifucishu: sumPlanLen,
+ liezhiqudao: plansNames,
+ contractno: contractNos,
+ guanlianliucheng: relatedFlows,
+
+ // xiangmuzonge: mainContract?.money,
+ // zhifucishu: mainContract?.sign_plan?.length,
+ // liezhiqudao: mainContract?.plans.map(i => i.name)?.toString(),
+ // contractno: mainContract?.number,
+ // guanlianliucheng: mainContract?.contract_flow_links?.map(i => i.flow_id)?.toString(),
+
+ wuzicaigou_items
+ }
+ const url = `/flow/create?&module_name=oa&isSinglePage=1&module_id=75&default_json=${window.encodeURIComponent(JSON.stringify(baseInfo))}`
+ this.$router.push(url)
this.$emit('update:isShow', false)
} catch (err) {
console.error(err)
@@ -495,14 +617,16 @@ import {getToken} from "@/utils/auth";
if (newVal) {
this.zIndex = PopupManager.nextZIndex()
- if (this.payId) {
+ // 直接拉取历史支付记录(无需依赖 getConfig)
+ console.log("this.payList123", this.payList)
+ this.getFundLogList()
+ // 加载表格字段配置与数量统计(基于传入的 payList)
this.getConfig()
-
- }
} else {
this.list = []
this.payId = ''
this.oaUrl = ''
+ this.payList = []
this.isShowOaModal = false
this.table_item = []
this.paymentsList = []
@@ -523,4 +647,4 @@ import {getToken} from "@/utils/auth";
::v-deep .el-checkbox-group {
font-size: inherit;
}
-
+
diff --git a/src/views/flow/create.vue b/src/views/flow/create.vue
index b496104..1f35126 100644
--- a/src/views/flow/create.vue
+++ b/src/views/flow/create.vue
@@ -797,8 +797,9 @@ export default {
this.$message.warning('数据校验失败')
return
}
-
- copyForm = deepCopy(this.$refs["desktopForm"].form);
+ console.log("this.$refs['desktopForm'].form",this.$refs["desktopForm"].form)
+ // copyForm = deepCopy(this.$refs["desktopForm"].form);
+ copyForm = this.$refs["desktopForm"].form;
const uploadHandler = (form, fields) => {
let keys = Object.keys(form)
keys.forEach(key => {
diff --git a/src/views/flow/list.vue b/src/views/flow/list.vue
index 2dc7519..95145ae 100644
--- a/src/views/flow/list.vue
+++ b/src/views/flow/list.vue
@@ -53,7 +53,7 @@
>
-
+
导出导出
-
+ 批量支付
@@ -163,10 +181,20 @@
- {{ model.custom_model ? model.custom_model.name : '' }}{{ model.total }}
+ :effect="
+ select.custom_model_id === model.custom_model_id
+ ? 'dark'
+ : 'plain'
+ "
+ :type="['success', 'info', 'warning', 'danger'][index % 4]"
+ @click="
+ (select.custom_model_id = model.custom_model_id),
+ getFields(model.custom_model_id),
+ getList()
+ "
+ >
+ {{ model.custom_model ? model.custom_model.name : ""
+ }}{{ model.total }}
@@ -192,17 +220,28 @@
range: true,
checkMethod: ({ row }) => {
if ($route.path !== '/flow/list/todo') {
- return true
+ if ($route.path == '/flow/list/handled') {
+ if (
+ select.custom_model_id == 99 &&
+ row.custom_model_id === 99 &&
+ row.status === 1 &&
+ row.fund_log_is_end === 0
+ ) {
+ return true;
+ }
+ } else {
+ return true;
+ }
} else {
- if (!select.custom_model_id) return false
+ if (!select.custom_model_id) return false;
if (multiDealFlows.length === 0) {
- return true
+ return true;
} else {
- const firstFlow = multiDealFlows[0]
- return row.current_node.id === firstFlow.current_node.id
+ const firstFlow = multiDealFlows[0];
+ return row.current_node.id === firstFlow.current_node.id;
}
}
- }
+ },
}"
:row-config="{ keyField: 'id' }"
:custom-config="{ mode: 'popup' }"
@@ -215,77 +254,76 @@
@menu-click="contextMenuClickEvent"
>
-
+
-
- 流程名称
-
+
流程名称
- {{ row['custom_model'] ? row['custom_model']['name'] :'' }}
+ {{
+ row["custom_model"] ? row["custom_model"]["name"] : ""
+ }}
-
- 发起人
-
+
发起人
- {{ row['creator'] ? row['creator']['name'] :'' }}
+ {{ row["creator"] ? row["creator"]["name"] : "" }}
-
- 发起人
-
+
发起人
- {{ (row['last_log'] && row['last_log']['user']) ? row['last_log']['user']['name'] :'' }}
+ {{
+ row["last_log"] && row["last_log"]["user"]
+ ? row["last_log"]["user"]["name"]
+ : ""
+ }}
-
- 当前节点
-
+
当前节点
- {{ (row['current_node']) ? row['current_node']['name'] :'' }}
+ {{
+ row["current_node"] ? row["current_node"]["name"] : ""
+ }}
-
- 简要
-
+
简要
- {{ row['_simple'] }}
+ {{ row["_simple"] }}
-
- 发起日期
-
+
发起日期
- {{ row['created_at'] }}
+ {{ row["created_at"] }}
-
- 当前状态
-
+
当前状态
{{ myStatus.get(row.status) }}{{ myStatus.get(row.status) }}
-
- 我是否退回过
-
+
我是否退回过
- {{ row.flow_log_cancel?'是':'否' }}
+ {{ row.flow_log_cancel ? "是" : "否" }}
@@ -295,14 +333,14 @@
type="primary"
size="mini"
@click="handle(row)"
- >办理办理
抄送抄送
撤回撤回
删除删除
-
查看查看
@@ -334,7 +376,10 @@
field="title"
title="工作名称"
show-overflow
- :title-prefix="{ content: '点击工作名称查看简要。\n批量审批请先选择流程类型,并勾选同一节点的流程。' }"
+ :title-prefix="{
+ content:
+ '点击工作名称查看简要。\n批量审批请先选择流程类型,并勾选同一节点的流程。',
+ }"
>
- {{ row.flow_log_cancel?'是':'否' }}
+ {{ row.flow_log_cancel ? "是" : "否" }}
-
办理办理
抄送抄送
撤回撤回
删除删除
支付
+ >支付
删除删除
查看查看
@@ -534,7 +596,11 @@
:page-sizes="[10, 20, 30, 50, 100]"
:page-size.sync="select.page_size"
:small="$store.getters.device === 'mobile'"
- :layout="$store.getters.device === 'desktop' ? 'total, ->, prev, pager, next, sizes, jumper' : 'total, ->, prev, pager, next'"
+ :layout="
+ $store.getters.device === 'desktop'
+ ? 'total, ->, prev, pager, next, sizes, jumper'
+ : 'total, ->, prev, pager, next'
+ "
:total="total"
>
@@ -542,23 +608,43 @@
-
-
-
-
+
+
+
+